一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

集群应用处理方法、装置及电子设备与流程

2022-06-05 15:30:56 来源:中国专利 TAG:


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.其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
47.第四方面,本技术实施例提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的方法。
48.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
49.基于目标任务针对的集群应用的配置信息确定用于集群应用匹配的目标任务执行策略,基于集群应用在目标任务对应的评价指标的指标数据创建包含有待处理应用实例的任务列表,可以实现对待处理应用实例的自动化编排;进一步地,基于目标任务执行策略和任务列表对集群应用执行目标任务,实现目标任务的自动化执行,整个过程不需要人工参与,无需依赖于执行人员的经验,从而可以提高对集群应用执行目标任务的效率和成功率。在此基础上,对集群应用执行目标任务的过程中采用多线程方式,进一步提高了目标任务的执行效率。
附图说明
50.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
51.图1为本技术实施例涉及的集群应用的运行过程的示意图;
52.图2为本技术实施例提供的一种集群应用处理方法的流程图;
53.图3为本技术实施例提供的另一种集群应用处理方法的流程图;
54.图4为本技术实施例提供的又一种集群应用处理方法的流程图;
55.图5为本技术实施例提供的一种电子设备的结构示意图;
56.图6为本技术实施例提供的一种集群应用处理装置的结构示意图。
具体实施方式
57.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
58.以下结合附图,详细说明本技术各实施例提供的技术方案。
59.在对本技术各实施例提供的技术方案进行说明之前,首先对本技术实施例涉及的集群应用进行介绍。请参见图1,图1是本技术实施例涉及的集群应用的运行过程的示意图。如图1所示,集群应用通常部署在集群环境下的不同主机上运行,每个主机上部署该集群应用对应的一个或多个应用实例。对集群应用的重启,是指先阻断与集群应用相关的业务的接入,然后停止部分或全部主机上部署的应用实例,最后重新启动这部分主机上部署的应用实例的过程;对集群应用的灰度发布,是指先阻断与集群应用相关的业务的接入,然后停止部分或全部主机上部署的应用实例,删除这部分应用实例对应的应用文件并上传新的应用文件,最后重新启动这部分应用实例的过程。
60.图1仅以集群应用对应的集群中包含主机1至主机n以及数据库1和数据库2示意,可以理解的是,实际应用中,集群中包含的主机的数量可以大于n,或者也可以小于n;同样
地,集群中包含的数据的数量可以大于2,或者也可以小于2。另外,上述集群中还可以包括其他类型的节点,本技术实施例对此不做限定。
61.相关技术中,在对集群应用执行重启或灰度发布等任务时,通常是由执行人员依据经验确定待处理的应用实例并根据确定出的应用实例手动编排相应的任务列表,应用系统再根据该任务列表对集群应用执行上述任务。由于该方式需要执行人员参与,且依赖于执行人员的经验,使得上述任务的执行效率和成功率无法得到保证,影响集群应用的正常运行。
62.为了解决上述存在的问题,本技术实施例提供一种集群应用处理方法、装置及电子设备,基于集群应用的配置信息确定与集群应用匹配的目标任务执行策略,基于集群应用在相应任务对应的评价指标的指标数据和集群应用对应的应用实例信息,创建相应的任务列表,实现对任务列表的自动化创建;最后,基于目标任务执行策略和任务列表,通过多线程方式对集群应用执行该相应任务,整个过程无需人工参与且采用多线程,相较于相关技术的方式,可以提高对集群应用执行相应任务的效率和成功率。
63.请参考图2,本技术实施例提供一种集群应用处理方法,该方法可由上述应用系统执行,其中,上述应用系统可以部署在电子设备中。如图2所示,该方法可以包括以下步骤:
64.s22,获取目标任务针对的集群应用的配置信息,目标任务用于对集群应用进行灰度发布或重启。
65.其中,集群应用的配置信息可以包括集群应用的类型、对应集群中包含的主机的ip地址及端口信息等。例如,集群应用的类型包括但不限于以下类型中的一种或多种的组合:base-web、base-itf、base-bat、irsc、customer、salecenter等。
66.s24,基于集群应用的配置信息,确定与集群应用匹配的目标任务执行策略。
67.其中,目标任务执行策略是指用于限定目标任务的执行过程。目标任务执行策略包括但不限于目标任务内容、目标任务执行时间、执行顺序等。例如,目标任务包括多个阶段子任务,目标任务执行策略指示了各个阶段子任务可以按照一定的顺序执行。
68.具体来说,可基于目标任务针对的集群应用的配置信息,查询集群应用的配置信息、目标任务及任务执行策略之间的预设对应关系,确定与集群应用匹配的目标任务执行策略。例如,表1示出了一种上述预设对应关系的示例。
69.表1
[0070][0071]
s26,监控集群应用在目标任务对应的评价指标的指标数据。
[0072]
其中,集群应用在目标任务对应的评价指标可以包括但不限于:主机指标、数据库指标、网络指标以及应用指标等。其中,主机指标用于反映集群应用对应的集群中包含的主机的运行状态,主机指标具体可以包括但不限于主机的空间使用率、文件句柄数量、处理器使用率、内存使用率及io延迟等;数据库指标用于反映集群应用对应的集群中包含的数据库的运行状态,数据库指标具体可以包括但不限于数据库的连接数、连接时长等;网络指标用于反映主机的网络状况,网络指标具体可以包括但不限于主机的网络ping时长等;应用指标用于反映集群应用的属性信息,应用指标具体可以包括但不限于:集群应用的忙闲时段、设定优先级以及应用实例数量阈值等。例如,表2示出了一种不同集群应用在目标任务对应的应用指标示例,其中,设定优先级的数值越小,表明设定优先级越高。
[0073]
表2
[0074]
设定优先级集群应用应用实例数量阈值1base-itf402base-web243base-bat84irsc85customer86salecenter8
………………
[0075]
进一步地,由于不同类型的集群应用实现的功能不同,因而不同类型的集群应用在同一目标任务对应的评价指标可以不同。例如,对于base-bat这类集群应用,其在目标任
务对应的评价指标可以包括但不限于:集群应用对应的集群中包含的主机的空间使用率,文件句柄数,ssh(secure shell,安全外壳协议)登录时长、网络ping时长以及零售库存中心数据库、订单中心数据库、客户中心数据库及开通中心数据库等各数据库的上述数据库指标等;对于customer这类集群应用,其在目标任务对应的评价指标可以包括但不限于:集群应用对应的集群中包含的主机的空间使用率,文件句柄数,ssh(secure shell,安全外壳协议)登录时长、网络ping时长以及零售库存中心数据库、客户中心数据库等各数据库的上述数据库指标。
[0076]
s28,基于集群应用在目标任务对应的评价指标的指标数据和集群应用对应的应用实例信息,创建任务列表。
[0077]
其中,任务列表包括集群应用对应的待处理应用实例。集群应用对应的应用实例信息可以例如包括但不限于集群应用对应的各应用实例的标识信息、各应用实例所在主机的运行状态等。
[0078]
通过集群应用在目标任务对应的评价指标的指标数据,可以对集群应用对应的应用实例进行评估,从而确定出待处理的应用实例,并创建包含了集群应用对应的待处理应用实例的任务列表。
[0079]
s30,基于目标任务执行策略和任务列表,通过多线程对集群应用执行目标任务。
[0080]
具体来说,在通过上述步骤得到目标任务执行策略和任务列表中,可启用多线程,采用目标任务执行策略对任务列表中集群应用对应的应用实例执行目标任务。例如,若目标任务为对集群应用进行重启,则可启用多线程,采用目标任务执行策略,先阻断与集群应用相关的业务的接入,然后停止该集群应用对应的待处理应用实例,最后触发待处理应用实例所在的主机重新启动待处理应用实例。又如,若目标任务为对集群应用进行灰度发布,则可启动多线程,采用目标任务执行策略,先阻断与集群应用相关的业务的接入,然后停止该集群应用对应的待处理应用实例,删除待处理应用实例对应的应用文件并上传新的应用文件,最后触发待处理应用实例所在的主机上重启待处理实例。
[0081]
通过本技术实施例提供的集群应用的处理方法,基于目标任务针对的集群应用的配置信息确定用于集群应用匹配的目标任务执行策略,基于集群应用在目标任务对应的评价指标的指标数据创建包含有待处理应用实例的任务列表,可以实现对待处理应用实例的自动化编排;进一步地,基于目标任务执行策略和任务列表对集群应用执行目标任务,实现目标任务的自动化执行,整个过程不需要人工参与,无需依赖于执行人员的经验,从而可以提高对集群应用执行目标任务的效率和成功率。在此基础上,对集群应用执行目标任务的过程中采用多线程方式,进一步提高了目标任务的执行效率。
[0082]
为了使本领域技术人员更加理解本技术实施例提供的集群应用处理方法,下面对上述集群应用处理方法中的各步骤进行详细说明。
[0083]
对于上述步骤s28,在可选的方案中,考虑到不同应用实例所在主机的运行状态不同,而主机的运行状态会对应用实例的目标任务执行过程产生影响,从而影响对整个集群应用的目标任务的执行成功率,因此,可基于集群应用对应的应用实例信息中包含的应用实例所在主机的运行状态,确定集群应用对应的待处理应用实例,进而创建相应的任务列表。
[0084]
具体来说,如图3所示,上述步骤s28可以包括:
[0085]
s281,在集群应用在目标任务对应的评价指标的指标数据满足设定的目标任务执行条件时,从集群应用对应的所有主机中,查找运行状态满足设定状态条件的主机。
[0086]
其中,目标任务执行条件可以包括针对各个评价指标的执行子条件。例如,以网络指标这一评价指标为例,与该评价指标对应的执行子条件为网络ping时长小于设定时长,其中,设定时长可根据实际需要自定义设置,本技术实施例对设定时长的数值不做具体限定。
[0087]
设定状态条件是指用于限制对主机上部署的应用实例执行目标任务的条件。例如,设定状态条件可以为主机的运行状态指示主机运行正常。
[0088]
s282,将查找到的主机上部署的应用实例,确定为集群应用对应的待处理应用实例。
[0089]
在监控结果指示集群应用在目标任务对应的每一平均指标的指标数据均满足对应的执行子条件的情况下,集群应用对应的集群中各节点(如主机、数据库等)足以支撑对该集群应用执行目标任务的操作,因而对集群应用执行目标任务的成功率较高,而此时对运行状态满足设定状态条件的主机上部署的应用实例执行目标任务,能够进一步保证对集群应用执行目标任务的成功率。基于此,可将通过上述步骤s281查找到的主机上部署的应用实例确定为集群应用对应的待处理应用实例。
[0090]
需要说明的是,查找到的主机上部署的应用实例的数量可以为一个,或者也可以为多个。
[0091]
在查找到的主机上部署的应用实例的数量为多个的情况下,为了保证这些主机上的其他业务的正常运行,在更为优选的方案中,可基于集群应用对应的应用实例数量阈值,从这些应用实例中选取出的相应数量的应用实例,作为集群应用对应的待处理应用实例。例如,以上述表2示出的不同集群应用与应用实例数量阈值之间的对应关系为例,对于集群应用base-itf,可从上述主机上部署的应用实例中,选取出40个应用实例作为该集群应用对应的待处理应用实例。
[0092]
s283,基于集群应用对应的待处理应用实例创建任务列表。
[0093]
其中,所创建的任务列表中包含集群应用对应的待处理应用实例。
[0094]
可以理解,本实施方案中,在集群应用在目标任务对应的评价指标的指标数据满足设定的目标任务执行条件时,基于各应用实例所在主机的运行状态选取出待处理应用实例并创建任务列表,实现对待处理应用实例的自动化编排,并且使得基于所创建的任务列表对集群应用执行目标任务的成功率更高。
[0095]
本技术实施例中,目标任务针对的集群应用的数量可以是一个,或者也可以是多个。在目标任务针对的集群应用的数量为多个的情况下,为进一步提高整个目标任务的执行效率,可按照一定的处理顺序对各集群应用执行目标任务。具体来说,在基于集群应用对应的待处理应用实例创建任务列表之前,本技术实施例提供的集群应用处理方法还可以包括:基于各集群应用的设定优先级,确定各个集群应用的处理顺序,然后基于各个集群应用的处理顺序及对应的待处理应用实例,创建任务列表。相应地,所创建的任务列表还指示了各集群应用对应的待处理应用实例的处理顺序。在上述步骤s30中,则基于与各个集群应用匹配的目标任务执行策略,依次对任务列表中各个集群应用对应的待处理应用实例执行目标任务。
[0096]
例如,以目标任务针对的集群应用包括上述表2所示的集群应用及其对应的设定优先级为例,由此可确定各集群应用的处理顺序为按照设定优先级由高到低的顺序。在创建完成任务列表后,首先,可从任务列表中读取集群应用base-itf对应的待处理应用实例并对读取出的待处理应用实例执行目标任务,直到目标任务执行完毕;接着,从任务列表中读取集群应用base-web对应的待处理应用实例并对读取出的待处理应用实例执行目标任务,直到目标任务执行完毕;依次类推,直到对集群应用salecenter对应的待处理应用实例执行目标任务完毕。接着,循环执行上述创建任务列表至通过多线程对集群应用执行目标任务的步骤。
[0097]
可以理解,在本实施方案中,在目标任务针对的集群应用的数量为多个的情况下,基于各个集群应用的设定优先级确定各集群应用的处理顺序,进一步基于各集群应用的处理顺序及对应的待处理应用实例创建任务列表,使得创建出的任务列表不仅指示了待代理应用实例,还指示了待处理应用实例的处理顺序,进而基于与各集群应用匹配的目标任务执行策略,依次对任务列表中各集群应用对应的待处理应用实例执行目标任务,使得对各应用集群执行的目标任务能够有序进行,从而进一步提高目标任务的执行效率。
[0098]
对于上述步骤s30,对集群应用执行目标任务采用的多线程的线程数可以根据实际需要自定义设置,例如,上述线程数可以为一固定值,且在目标任务针对的集群应用的数量为多个的情况下,为各个集群应用分别设置一固定的线程数,各个集群应用对应的线程数可以相同,或者也可以不同。
[0099]
考虑到在集群应用在不同时段所处的忙闲状态不同,如果在集群应用忙时为集群应用分配的线程数过多,则可能影响集群应用对应的部分应用实例的正常运行,从而影响用户对相关业务的使用,而如果在集群应用闲时为集群应用分配的线程数过少,则可能影响对整个集群应用执行目标任务的效率。有鉴于此,在更为优选的方案中,可基于对集群应用执行目标任务的时间段来确定所需的线程数,进而调用相应线程数的线程对集群应用执行目标任务。
[0100]
具体来说,如图3所示,上述步骤s30可以包括:
[0101]
s31,确定对集群应用执行目标任务的时间段。
[0102]
s32,基于所述时间段,确定执行目标任务所需的线程数。
[0103]
更为具体地,可以基于对集群应用执行目标任务的时间段,查询时间段与线程数之间的预设对应关系,由此得到执行目标任务所需的线程数。例如,表3示出了一种时间段与线程数之间的预设对应关系示例。
[0104]
表3
[0105][0106]
需要说明的是,考虑到不同集群应用的忙闲时段不同,因此,可针对不同的集群设置不同的上述对应关系。
[0107]
s33,基于所需的线程数为集群应用分配相应的线程。
[0108]
s34,调用所分配的线程对集群应用对应的待处理应用实例执行目标任务。
[0109]
在确定出所需的线程数后,可为集群应用分配该线程数的多个线程,由此调用所分配的多个线程对集群应用对应的待处理应用实例执行目标任务。
[0110]
可以理解,通过本实施方案,基于对集群应用执行目标任务的时间段,为集群应用分配相应数量的线程来对集群应用对应的待处理应用实例执行目标任务,使得对集群应用执行目标任务的过程充分考虑了集群应用的忙闲时状态,进而能够在保证集群应用对应的部分应用实例的正常运行的同时,保证对整个集群应用执行目标任务的效率。
[0111]
为了便于对集群应用对应的应用实例进行管理,以使执行人员能够方便、快速地获知对集群应用执行目标任务的具体情况,在本技术的另一个实施例中,在上述步骤s26之后,本技术实施例提供的集群应用处理方法还可以包括:在集群应用的指标数据不满足设定的目标任务执行条件时,将集群应用对应的应用实例添加至预先建立的异常池中。
[0112]
其中,异常池中存储有未执行目标任务的应用实例和/或执行目标任务失败的应用实例。
[0113]
在集群应用在目标任务对应的评价指标的指标数据不满足设定的目标任务执行条件时,集群应用对应的集群中各节点(如主机、数据库等)不足以支撑对该集群应用执行目标任务的操作,因而可将该集群应用对应的应用实例添加至异常池中,以等待后续在该集群应用中各节点能够支撑对该集群应用执行目标任务的操作的情况下,再次对这类应用实例执行目标任务。
[0114]
为了进一步便于对集群应用对应的应用实例进行管理,以使执行人员能够方便、快速地获知对集群应用执行目标任务的具体情况,在本技术的另一个实施例中,在上述步骤s30之后,本技术实施例提供的集群应用处理方法还可以包括:获取集群应用对应的目标任务执行结果,其中,目标任务执行结果用于指示对集群应用对应的各待处理应用实例执行目标任务是否成功;接着,将目标任务执行结果中指示执行失败的待处理应用实例添加至预先建立的异常池中。由此,相关人员可通过查看异常池中存储的应用实例,即可获知集
群应用对应的执行失败的应用实例,以便及时采取相应措施,做出调整。
[0115]
通常情况下,对于集群应用对应的未执行或执行失败的应用实例,相关技术中通常需要执行人员对这类应用实例进行手动恢复,以再次执行目标任务,这一过程耗时较长,尤其是这类应用实例的数量较多时,从而影响整个集群应用的目标任务执行效率。对此,在本技术的另一个实施例中,为了保证对集群应用执行目标任务的正常进行,本技术实施例提供的集群应用处理方法还可以包括:监控集群应用的上述指标数据是否满足上述设定的目标任务执行条件,在监控结果为是的情况下,基于与集群应用匹配的目标任务执行策略,对异常池中存储的集群应用对应的应用实例执行目标任务。
[0116]
可以理解,通过本实施例提供的集群应用处理方法,引入对集群应用的异常处理机制,在监控到集群用户在目标任务对应的评价指标的指标数据恢复目标任务执行条件时,再次对异常池中该集群应用对应的应用实例执行目标任务,从而实现异常池中存储的应用实例的自动、智能化恢复,相较于相关技术中手动恢复的方式,保证了整个集群应用的目标任务执行效率以及对集群应用执行目标任务的正常进行。
[0117]
进一步地,为了对不同执行结果的应用实例进行归类和整理,以便于相关人员快速获知对集群应用执行目标任务的结果,在获取到对集群应用对应的目标任务执行结果之后,本技术实施例提供的集群应用处理方法还可以包括:将目标任务执行结果中指示执行成功的待处理应用实例,添加至预先建立的正常池中。
[0118]
在本技术的另一个实施例中,为了进一步便于相关人员快速获知对集群应用执行目标任务的结果,在获取到对集群应用对应的目标任务执行结果之后,本技术实施例提供的集群应用处理方法还包括:基于获取到的目标任务执行结果,生成集群应用对应的目标任务执行报告。其中,集群应用对应的目标任务执行报告中记录的信息包括但不限于:对集群应用对应的每个应用实例执行目标任务的时间点、执行耗时、执行结果、执行目标任务后所在主机上的业务接入情况等。
[0119]
为了使本领域技术人员对上述本技术的各个实施例提供的集群应用处理方法有更加深入和全面的理解,下面以目标任务针对的集群应用的数量为多个的情况为例,对上述集群应用处理方法的实现过程进行详细说明。
[0120]
如图4所示,首先,可获取目标任务针对的各个集群应用的配置信息,并基于各个集群应用的配置信息,确定与各个集群应用匹配的目标任务执行策略。与此同时,还监控各个集群应用分别在目标任务对应的评价指标的指标数据,并基于各个集群应用分别对应的上述指标数据,确定各个集群应用对应的待处理应用实例,以及基于各个集群应用的设定优先级,确定各个集群应用的处理顺序。接着,可基于各个集群应用的处理顺序及对应的待处理应用实例,创建相应的任务列表。然后,可确定对各集群应用执行目标任务的时间段,基于得到的时间段为各集群应用分配相应数量的线程及与各集群应用匹配的目标任务执行策略,并按照任务列表指示的处理顺序,启用为各集群应用分配的线程依次对各集群应用对应的待处理应用实例执行目标任务。进一步地,对应每一个集群应用,若该集群应用的上述指标数据不满足设定的目标任务执行条件,则将该集群应用对应的待处理应用实例添加至预先建立的异常池中,以及将该集群应用对应的执行失败的应用实例添加至该异常池中,并将该集群应用对应的执行成功的应用实例添加至该异常池中。最后,重复对异常池中存储的应用实例再次执行上述步骤。
[0121]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0122]
图5是本技术的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0123]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0124]
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0125]
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成集群应用处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
[0126]
获取目标任务针对的集群应用的配置信息,所述目标任务用于对所述集群应用进行灰度发布或重启;
[0127]
基于所述集群应用的配置信息,确定与所述集群应用匹配的目标任务执行策略;
[0128]
监控所述集群应用在所述目标任务对应的评价指标的指标数据;
[0129]
基于所述集群应用的所述指标数据和所述集群应用对应的应用实例信息,创建任务列表,所述任务列表包括所述集群应用对应的待处理应用实例;
[0130]
基于所述目标任务执行策略和所述任务列表,通过多线程对所述集群应用执行所述目标任务。
[0131]
上述如本技术图2所示实施例揭示的集群应用处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完
成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0132]
该电子设备还可执行图2的方法,并实现集群应用处理装置在图2至图4所示实施例的功能,本技术实施例在此不再赘述。
[0133]
当然,除了软件实现方式之外,本技术的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0134]
本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2所示实施例的方法,并具体用于执行以下操作:
[0135]
获取目标任务针对的集群应用的配置信息,所述目标任务用于对所述集群应用进行灰度发布或重启;
[0136]
基于所述集群应用的配置信息,确定与所述集群应用匹配的目标任务执行策略;
[0137]
监控所述集群应用在所述目标任务对应的评价指标的指标数据;
[0138]
基于所述集群应用的所述指标数据和所述集群应用对应的应用实例信息,创建任务列表,所述任务列表包括所述集群应用对应的待处理应用实例;
[0139]
基于所述目标任务执行策略和所述任务列表,通过多线程对所述集群应用执行所述目标任务。
[0140]
图6是本技术的一个实施例集群应用处理装置的结构示意图。请参考图6,在一种软件实施方式中,集群应用处理装置600可包括:
[0141]
第一获取模块610,用于获取目标任务针对的集群应用的配置信息,所述目标任务用于对所述集群应用进行灰度发布或重启;
[0142]
策略确定模块620,用于基于所述集群应用的配置信息,确定与所述集群应用匹配的目标任务执行策略;
[0143]
指标监控模块630,用于监控所述集群应用在所述目标任务对应的评价指标的指标数据;
[0144]
任务列表创建模块640,用于基于所述集群应用的所述指标数据和所述集群应用对应的应用实例信息,创建任务列表,所述任务列表包括所述集群应用对应的待处理应用实例;
[0145]
任务处理模块650,用于基于所述目标任务执行策略和所述任务列表,通过多线程对所述集群应用执行所述目标任务。
[0146]
可选地,所述任务处理模块包括:
[0147]
时间段确定子模块,用于确定对所述集群应用执行所述目标任务的时间段;
[0148]
线程数确定子模块,用于基于所述时间段,确定执行所述目标任务所需的线程数;
[0149]
线程分配子模块,用于基于所述线程数为所述集群应用分配相应的线程;
[0150]
调用子模块,用于调用所分配的线程对所述集群应用对应的待处理应用实例执行
所述目标任务。
[0151]
可选地,所述应用实例信息包括应用实例所在主机的运行状态;
[0152]
所述任务列表创建模块包括:
[0153]
查找子模块,用于在所述集群应用的所述指标数据满足设定的目标任务执行条件时,从所述集群应用对应的所有主机中,查找运行状态满足设定状态条件的主机;
[0154]
应用实例确定子模块,用于将查找到的主机上部署的应用实例,确定为所述集群应用对应的待处理应用实例;
[0155]
创建子模块,用于基于所述集群应用对应的待处理应用实例创建所述任务列表。
[0156]
可选地,所述装置还包括:
[0157]
处理顺序确定模块,用于在所述集群应用的数量为多个的情况下,基于各个所述集群应用的设定优先级,确定各个所述集群应用的处理顺序;
[0158]
所述创建子模块,具体用于基于各个所述集群应用的处理顺序及对应的待处理应用实例,创建任务列表;
[0159]
所述任务处理模块包括:
[0160]
处理子模块,用于基于与各个所述集群应用匹配的目标任务执行策略,依次对所述任务列表中各个所述集群应用对应的待处理应用实例执行所述目标任务。
[0161]
可选地,所述装置还包括:
[0162]
第一添加模块,用于在所述集群应用的所述指标数据不满足设定的目标任务执行条件时,将所述集群应用对应的应用实例添加至预先建立的异常池中;
[0163]
所述指标监控模块还用于在监控所述集群应用在所述目标任务对应的评价指标的指标数据之后,触发所述第一添加模块。
[0164]
可选地,所述装置还包括:
[0165]
第二获取模块,用于获取所述集群应用对应的目标任务执行结果;
[0166]
第二添加模块,用于将所述目标任务执行结果中指示执行失败的待处理应用实例,添加至预先建立的异常池中;
[0167]
所述任务处理模块还用于在基于所述目标任务执行策略和所述任务列表,通过多线程对所述集群应用执行所述目标任务之后,触发所述第二获取模块。
[0168]
可选地,所述指标监控模块,还用于在所述目标任务执行结束之后,监控所述集群应用的所述指标数据是否满足设定的目标任务执行条件;
[0169]
所述装置还包括:
[0170]
异常处理模块,用于在所述指标监控模块监控到所述集群应用的所述指标数据满足设定的目标任务执行条件时,基于所述目标任务执行策略,对所述异常池中所述集群应用对应的应用实例执行所述目标任务。
[0171]
可选地,所述装置还包括:
[0172]
报告生成模块,用于基于所述目标任务执行结果,生成所述集群应用对应的目标任务执行报告;
[0173]
所述第二获取模块,还用于在获取所述集群应用对应的目标任务执行结果之后,触发所述报告生成模块。
[0174]
总之,以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0175]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0176]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0177]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0178]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献