更新状态指示信息的方法、装置、设备、介质及产品与流程

allin2025-02-05  70


本发明涉及云计算,具体涉及更新状态指示信息的方法、装置、设备、介质及产品。


背景技术:

1、在云计算技术领域中,容器编排平台,极大地简化了容器化应用的部署、管理和扩展。平台即服务(platform as a service,paas)作为云计算三层服务模型(iaas、paas、saas)之一,提供了一种高效、便捷的应用开发、部署和运行环境,使得开发者无需关注底层基础设施的复杂性,专注于业务逻辑的实现。其中,云计算三层服务模型分别是基础设施即服务(infrastructure as a service,iaas)、paas和软件即服务(software as aservice,saas)。

2、在当前的容器编排平台中,相关技术中一般是使用 operator监测paas应用的状态,将paas应用程序的状态更新到用户资源(custom resource,cr)上,用户通过查看cr的详细信息就可以知道paas应用程序的实时状态。其中,operator是一种专门为kubernetes环境设计的自动化工具,通过扩展kubernetes的应用程序编程接口(applicationprogramming interfaces,apis)和控制平面,实现对特定应用程序或服务的自动化管理。

3、但是,相关技术中cr中的状态字段仅反映应用程序的高层状态(例如,是否正在运行中),导致技术人员无法准确定位和解决故障。另外,由于不同的operator使用不同的方式来表示应用程序的状态,导致状态字段的结构和语义不一致,导致无法对多种paas应用程序进行统一管理。例如,一个operator可能使用status.phase表示状态,而另一个operator可能使用status.state。


技术实现思路

1、有鉴于此,本发明提供了一种更新状态指示信息的方法、装置、设备、介质及产品,以解决技术人员无法准确定位和解决故障的问题。

2、第一方面,本发明提供了一种更新状态指示信息的方法,所述方法应用于云平台,所述云平台存储有目标数据库,所述目标数据库中包括至少一个应用程序的部署信息,所述方法包括:

3、获取第一监测指令,其中,所述第一监测指令中包括第一应用程序的第一标识信息;

4、根据所述第一标识信息,在所述目标数据库中确定出所述第一应用程序的第一部署信息,其中,所述第一部署信息中包括所述第一标识信息、第一容器组标签、第一容器组数量、第一时间戳和第一状态指示信息;

5、根据所述第一标识信息、所述第一容器组标签、所述第一容器组数量和所述第一时间戳中的一个或多个元素,确定所述第一应用程序当前的第二状态指示信息;

6、确定所述第一状态指示信息和所述第二状态指示信息是否相同;

7、当确定所述第一状态指示信息和所述第二状态指示信息不相同时,将所述第一部署信息中的所述第一状态指示信息更新为所述第二状态指示信息。

8、本发明提供的一种更新状态指示信息的方法,具有如下优点:

9、本方案通过目标数据库对云平台的应用程序的部署信息进行统一管理,在每次更新状态指示信息时,都可以对目标数据库相应的状态指示信息进行更新,这样,无论是哪一种服务类型的应用程序,使用的状态字段都是相同的,可以简化对多种应用程序的管理难度。另外,本方案根据标识信息、容器组标签、容器组数量和时间戳中的一个或多个元素,确定状态指示信息,这使得状态指示信息中可以包括容器组的相关信息,技术人员可以根据状态指示信息,定位具体问题所在,及时进行解决。

10、在一种可选的实施方式中,所述根据所述第一标识信息、所述第一容器组标签、所述第一容器组数量和所述第一时间戳中的一个或多个元素,确定所述第一应用程序当前的第二状态指示信息,包括:

11、根据所述第一标识信息,确定所述云平台是否已部署与所述第一标识信息对应的用户资源;

12、当确定所述云平台已部署与所述第一标识信息对应的用户资源时,确定是否存在与所述第一容器组标签对应的至少一个容器组;

13、当确定不存在与所述第一容器组标签对应的容器组时,将第一预设状态确定为所述第二状态指示信息,其中,所述第一预设状态用于指示所述云平台已创建完成与所述第一标识信息对应的用户资源,且未开始创建与所述第一容器组标签对应的容器组。具体地,当用户资源已创建但尚未创建任何相关联的容器组时,云平台可以将第一应用程序标记为一种特定状态(第一预设状态)。这种状态定义有助于用户和管理员清楚地理解应用程序的部署进度。

14、在一种可选的实施方式中,当确定存在与所述第一容器组标签对应的至少一个容器组时,所述方法还包括:

15、确定与所述第一容器组标签对应的容器组的数量是否等于所述第一容器组数量;

16、当确定与所述第一容器组标签对应的容器组的数量小于所述第一容器组数量时,将第二预设状态确定为所述第二状态指示信息,其中,所述第二预设状态用于指示所述第一应用程序正在创建与所述第一容器组标签对应的容器组。

17、具体地,当用户资源已创建,并且已创建部分相关联的容器组时,云平台可以将第一应用程序标记为一种特定状态(第二预设状态)。这种状态定义有助于用户和管理员清楚地理解应用程序的部署进度。

18、在一种可选的实施方式中,当确定与所述第一容器组标签对应的容器组的数量等于所述第一容器组数量时,所述方法还包括:

19、获取每一个所述容器组中记录的时间戳,以及每一个所述容器组的状态;

20、根据目标容器组的时间戳和所述第一时间戳,确定所述目标容器组是否为最新的容器组,其中,所述目标容器组为至少一个所述容器组中的任一个容器组;

21、当确定至少一个所述容器组中所有容器组均为最新的容器组,且至少一个所述容器组中所有容器组的状态均为运行状态时,将第三预设状态确定为所述第二状态指示信息,其中,所述第三预设状态用于指示所述第一应用程序已完成部署,能够正常使用。

22、具体地,当已创建完或者已更新完所有相关联的容器组并成功运行所有的容器组时,云平台可以将第一应用程序标记为一种特定状态(第三预设状态)。这种状态定义有助于用户和管理员清楚地理解应用程序的部署进度。

23、在一种可选的实施方式中,当确定至少一个所述容器组中存在任一容器组并非为最新的容器组,或者,确定至少一个所述容器组中存在任一容器组的状态并非为所述运行状态时,所述方法还包括:

24、将第四预设状态确定为所述第二状态指示信息,其中,所述第四预设状态用于指示所述第一应用程序正在部署中。

25、具体地,当未更新完所有相关联的容器组或者无法成功运行所有的容器组时,云平台可以将第一应用程序标记为一种特定状态(第四预设状态)。这种状态定义有助于用户和管理员清楚地理解应用程序的部署进度。

26、在一种可选的实施方式中,所述获取第一监测指令之前,所述方法还包括:

27、接收对所述第一应用程序的创建指令,其中,所述创建指令中包括第一服务类型、所述第一容器组标签和所述第一容器组数量;

28、根据预构建的标识生成器生成所述第一标识信息,其中,所述第一标识信息为通用唯一识别码;

29、获取接收所述创建指令的第一时刻,并将所述第一时刻作为所述第一时间戳;

30、根据所述第一服务类型、所述第一标识信息、所述第一容器组标签和所述第一容器组数量,生成所述用户资源;

31、在所述用户资源中添加目标注解,并将添加所述目标注解的所述用户资源部署在所述云平台,其中,所述目标注解为键值对,所述键值对中的键为时间字段名称,所述键值对中的值为所述第一时间戳。

32、具体地,通过接收到创建指令之后,在用户资源中添加目标注解,使得生成的容器组中可以携带有时间戳信息,便于后续确定容器组的版本,也即确定容器组是否为最新的容器组。

33、在一种可选的实施方式中,所述在所述用户资源中添加目标注解,并将添加所述目标注解的所述用户资源部署在所述云平台之后,所述方法还包括:

34、根据添加所述目标注解后的所述用户资源,创建与所述第一容器组数量等同数量的容器组,其中,与所述第一容器组数量等同数量的容器组中均包括所述第一时间戳。

35、具体地,根据第二用户资源创建容器组,可以使得创建的容器组中携带有时间戳信息,便于后续确定容器组的版本,也即确定容器组是否为最新的容器组。

36、在一种可选的实施方式中,当确定所述云平台未部署与所述第一标识信息对应的用户资源时,所述方法还包括:

37、将第五预设状态确定为所述第二状态指示信息,其中,所述第五预设状态用于指示所述第一应用程序部署失败。

38、具体地,当未成功部署用户资源时,云平台可以将第一应用程序标记为一种特定状态(第五预设状态)。这种状态定义有助于用户和管理员清楚地理解应用程序的部署进度。

39、在一种可选的实施方式中,所述方法还包括:

40、当监测到所述用户资源部署成功后,开始进行计时;

41、当计时时长达到第一预设时长且确定与所述第一容器组标签对应的容器组的数量小于所述第一容器组数量,或者,当所述计时时长达到第二预设时长且确定至少一个所述容器组中存在至少一个未处于运行状态的容器组时,将所述第五预设状态确定为所述第二状态指示信息。

42、具体地,当未成功部署用户资源时,云平台可以将第一应用程序标记为一种特定状态(第五预设状态)。这种状态定义有助于用户和管理员清楚地理解应用程序的部署进度。

43、在一种可选的实施方式中,所述获取接收所述创建指令的第一时刻,并将所述第一时刻作为所述第一时间戳之后,所述方法还包括:

44、根据所述第一服务类型、所述第一标识信息、所述第一容器组标签、所述第一容器组数量和所述第一时间戳,生成所述第一部署信息;

45、将所述第一部署信息添加到所述目标数据库中。

46、具体地,通过创建目标数据库,可以统一所有服务类型的应用程序的部署信息的格式,无需一种服务类型使用一个operator,可以实现对不同服务类型的应用程序的管理,减少管理工具的数量,进而降低运维成本。

47、在一种可选的实施方式中,所述方法还包括:

48、接收对所述第一应用程序的更新指令;

49、根据所述更新指令,对添加所述目标注解后的所述用户资源进行更新;

50、获取接收所述更新指令的第二时刻,将所述第二时刻作为第二时间戳;

51、将所述目标注解中的所述第一时间戳修改为所述第二时间戳,以及将所述第一部署信息中的所述第一时间戳修改为所述第二时间戳;

52、根据修改时间戳后的所述用户资源,对至少一个所述容器组进行更新和重启,以使每一个所述容器组中的所述第一时间戳均更新为所述第二时间戳。

53、具体地,在接收到对第一应用程序的更新指令时,云平台通过对用户资源的时间戳进行更新,实现对容器组的时间戳的更新,便于后续确定容器组是否为最新的容器组,更加准确地确定出第一应用程序的部署状态。

54、在一种可选的实施方式中,所述第一部署信息还包括错误原因信息;

55、当确定所述云平台未部署与所述第一标识信息对应的用户资源时,所述方法还包括:

56、将所述第一部署信息的错误原因信息修改为所述用户资源创建失败。

57、具体地,除了状态指示信息,云平台还可以在部署信息中填写对错误原因信息,便于技术人员了解细节原因,及时解决相关问题。

58、在一种可选的实施方式中,所述第一部署信息还包括错误信息字段,当所述计时时长达到所述预设时长且确定与所述第一容器组标签对应的容器组的数量小于所述第一容器组数量,或者,当所述计时时长达到所述预设时长且确定至少一个所述容器组中存在至少一个未处于运行状态的容器组时,所述方法还包括:

59、将所述第一部署信息的错误原因信息修改为容器组部署超时。

60、具体地,除了状态指示信息,云平台还可以在部署信息中填写对错误原因信息,便于技术人员了解细节原因,及时解决相关问题。

61、在一种可选的实施方式中,所述第一部署信息还包括错误信息字段,所述当确定至少一个所述容器组中所有容器组均为最新的容器组,且至少一个所述容器组中所有容器组的状态均为运行状态时,将第三预设状态确定为所述第二状态指示信息之后,所述方法还包括:

62、当监测到与至少一个所述容器组中的任一容器组运行出错时,将所述第一部署信息中的所述第三预设状态修改为第五预设状态;

63、将所述第一部署信息的错误原因信息修改为容器组运行失败。

64、具体地,除了状态指示信息,云平台还可以在部署信息中填写对错误原因信息,便于技术人员了解细节原因,及时解决相关问题。

65、在一种可选的实施方式中,所述第一监测指令为接收到所述创建指令后周期性生成的。

66、具体地,在创建第一应用程序的过程中,可以实时监测创建过程,便于技术人员及时了解第一应用程序的部署状态。

67、在一种可选的实施方式中,所述方法还包括:

68、接收客户端发送的状态查询指令,其中,所述查询指令中包括第一标识信息;

69、根据所述第一标识信息,在所述目标数据库中获取与所述第一标识信息对应的第一部署信息;

70、从所述第一部署信息的状态字段提取出第一应用程序最新的目标状态指示信息,反馈至客户端。

71、具体地,通过使用唯一标识信息(第一标识信息),云平台可以精准地定位到具体的部署记录,从而提供精确的状态反馈给客户端。

72、第二方面,本发明提供了一种更新状态指示信息的装置,所述装置应用于云平台,所述云平台存储有目标数据库,所述目标数据库中包括至少一个应用程序的部署信息,所述装置包括:

73、获取模块,用于获取第一监测指令,其中,所述第一监测指令中包括第一应用程序的第一标识信息;

74、确定模块,用于根据所述第一标识信息,在所述目标数据库中确定出所述第一应用程序的第一部署信息,其中,所述第一部署信息中包括所述第一标识信息、第一容器组标签、第一容器组数量、第一时间戳和第一状态指示信息;根据所述第一标识信息、所述第一容器组标签、所述第一容器组数量和所述第一时间戳中的一个或多个元素,确定所述第一应用程序当前的第二状态指示信息;确定所述第一状态指示信息和所述第二状态指示信息是否相同;

75、更新模块,用于当确定所述第一状态指示信息和所述第二状态指示信息不相同时,将所述第一部署信息中的所述第一状态指示信息更新为所述第二状态指示信息。

76、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的更新状态指示信息的方法。

77、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的更新状态指示信息的方法。

78、第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的更新状态指示信息的方法。


技术特征:

1.一种更新状态指示信息的方法,其特征在于,所述方法应用于云平台,所述云平台存储有目标数据库,所述目标数据库中包括至少一个应用程序的部署信息,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一标识信息、所述第一容器组标签、所述第一容器组数量和所述第一时间戳中的一个或多个元素,确定所述第一应用程序当前的第二状态指示信息,包括:

3.根据权利要求2所述的方法,其特征在于,当确定存在与所述第一容器组标签对应的至少一个容器组时,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,当确定与所述第一容器组标签对应的容器组的数量等于所述第一容器组数量时,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,当确定至少一个所述容器组中存在任一容器组并非为最新的容器组,或者,确定至少一个所述容器组中存在任一容器组的状态并非为所述运行状态时,所述方法还包括:

6.根据权利要求2至5任一项所述的方法,其特征在于,所述获取第一监测指令之前,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述在所述用户资源中添加目标注解,并将添加所述目标注解的所述用户资源部署在所述云平台之后,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,当确定所述云平台未部署与所述第一标识信息对应的用户资源时,所述方法还包括:

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:

10.根据权利要求6所述的方法,其特征在于,所述获取接收所述创建指令的第一时刻,并将所述第一时刻作为所述第一时间戳之后,所述方法还包括:

11.根据权利要求6所述的方法,其特征在于,所述方法还包括:

12.一种更新状态指示信息的装置,其特征在于,所述装置应用于云平台,所述云平台存储有目标数据库,所述目标数据库中包括至少一个应用程序的部署信息,所述装置包括:

13.一种计算机设备,其特征在于,包括:

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至11中任一项所述的更新状态指示信息的方法。

15.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1至11中任一项所述的更新状态指示信息的方法。


技术总结
本发明涉及云计算技术领域,公开了更新状态指示信息的方法、装置、设备、介质及产品,包括:获取第一监测指令,其中,第一监测指令中包括第一应用程序的第一标识信息;根据第一标识信息,在目标数据库中确定出第一应用程序的第一部署信息;根据第一部署信息中的第一标识信息、第一容器组标签、第一容器组数量和第一时间戳中的一个或多个元素,确定第一应用程序当前的第二状态指示信息;确定第一状态指示信息和第二状态指示信息是否相同;当确定第一状态指示信息和第二状态指示信息不相同时,将第一部署信息中的第一状态指示信息更新为第二状态指示信息。本发明可以便于技术人员定位和解决故障,以及对应用程序的管理。

技术研发人员:李少凯,张东,亓开元,徐冠群,杨勇,王志国,李龙峰
受保护的技术使用者:济南浪潮数据技术有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-18275.html

最新回复(0)