CN116401028A - 任务处理方法、***、计算机设备和程序产品 - Google Patents
任务处理方法、***、计算机设备和程序产品 Download PDFInfo
- Publication number
- CN116401028A CN116401028A CN202310337320.5A CN202310337320A CN116401028A CN 116401028 A CN116401028 A CN 116401028A CN 202310337320 A CN202310337320 A CN 202310337320A CN 116401028 A CN116401028 A CN 116401028A
- Authority
- CN
- China
- Prior art keywords
- znode
- application
- target
- batch
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 200
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000004590 computer program Methods 0.000 claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000012423 maintenance Methods 0.000 claims description 109
- 230000001960 triggered effect Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种任务处理方法、***、计算机设备、可读存储介质和计算机程序产品。所述方法包括:向需要停机的目标批处理应用发送拟停机指令;在基于目标批处理应用的目标应用名称和目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定目标列表ZNode节点下的任务未被处理的情况下,为目标列表ZNode节点创建第一***;根据拟停机指令、以及第一***对目标列表ZNode节点下的任务处理的监听情况,向目标批处理应用发送目标停机指令,以使得目标批处理应用基于目标停机指令停止接收新任务。采用本方法能够降低任务处理的失败率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种任务处理方法、装置、***、计算机设备、可读存储介质和计算机程序产品。
背景技术
在通过批处理应用对批量任务进行处理时,批处理应用通常使用集群部署方式,分别部署在全局单元和业务单元内,工作方式通常为部署在全局单元的批处理应用(下称全局单元批处理应用)负责分解批量任务并分发至部署在业务单元内的批处理应用(下称业务单元批处理应用),由业务单元内的批处理应用执行对应单元的批量任务。
然而,遇到运维场景中需要停机的情况,存在难以协同管控多应用停机,导致批量任务处理中断,使得任务处理的失败率高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低任务失败率的任务处理方法和***。
第一方面,本申请提供了一种任务处理方法。所述方法包括:
向需要停机的目标批处理应用发送拟停机指令;
在基于所述目标批处理应用的目标应用名称和所述目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定所述目标列表ZNode节点下的任务未被处理的情况下,为所述目标列表ZNode节点创建第一***;
根据所述拟停机指令、以及所述第一***对所述目标列表ZNode节点下的任务处理的监听情况,向所述目标批处理应用发送目标停机指令,以使得所述目标批处理应用基于所述目标停机指令停止接收新任务。
在一个实施例中,所述目标批处理应用包括至少一个第一业务单元批处理应用,所述目标应用名称包括业务应用名称,所述目标列表ZNode节点包括业务列表ZNode节点;
所述根据所述拟停机指令、以及所述第一***对所述目标列表ZNode节点下的任务处理的监听情况,向所述目标批处理应用发送目标停机指令,包括:
在根据所述拟停机指令确定所述至少一个第一业务单元批处理应用基于所述业务应用名称创建对应的业务临时ZNode节点的情况下,若基于所述第一***监听到所述业务列表ZNode节点下的子任务已被全部处理,则向所述至少一个第一业务单元批处理应用发送目标停机指令;其中,所述子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务。
在一个实施例中,所述目标批处理应用还包括所述全局单元批处理应用,所述目标应用名称包括全局应用名称,所述目标列表ZNode节点包括全局列表ZNode节点;所述方法还包括:
在根据所述拟停机指令确定所述全局单元批处理应用基于所述全局应用名称创建对应的全局临时ZNode节点的情况下,若基于所述第一***监听到所述全局列表ZNode节点下的所述批量任务分组后的所有子任务已被处理,则向所述全局单元批处理应用发送目标停机指令。
第二方面,本申请提供一种任务处理方法,应用于至少一个第一业务单元批处理应用,所述方法包括:
获取来自运维平台的拟停机指令;
基于所述拟停机指令,根据所述业务单元批处理应用的业务应用名称对应的业务名称ZNode节点,为所述业务名称ZNode节点创建ZNode子节点,获得业务临时ZNode节点;其中,目标应用名称包括所述业务应用名称;
在根据所述业务应用名称和所述业务应用名称下的业务任务列表、对应的业务列表ZNode节点,确定所述业务列表ZNode节点下的子任务未被处理的情况下,根据所述业务应用名称和所述业务任务列表,创建对应的业务任务批次号ZNode节点;所述子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务;其中,目标列表ZNode节点包括所述业务列表ZNode节点;
在基于对所述业务任务批次号ZNode节点的处理操作而触发第一***监听到所述子任务的处理情况时,基于所述运维平台确认所述业务临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,使得所述业务单元批处理应用基于所述目标停机指令停止接收新子任务。
在一个实施例中,所述在基于对所述业务任务批次号ZNode节点的处理操作而触发第一***监听到所述子任务的处理情况时,基于所述运维平台确认所述业务临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,包括:
在基于对所述业务任务批次号ZNode节点的删除操作而触发所述第一***监听到所述子任务已被全部处理时,若所述运维平台根据所述业务应用名称确定对应的所述业务临时ZNode节点存在,从所述运维平台获得所述目标停机指令。
第三方面,本申请提供一种任务处理方法,应用于全局单元批处理应用,所述方法包括:
获取来自运维平台的拟停机指令;
基于所述拟停机指令,根据所述全局单元批处理应用的全局应用名称对应的全局名称ZNode节点,为所述全局名称ZNode节点创建ZNode子节点,获得全局临时ZNode节点;其中,目标应用名称包括所述全局应用名称;
在根据所述全局应用名称和所述全局应用名称下的全局任务列表、对应的全局列表ZNode节点,确定所述全局列表ZNode节点下的批量任务分组后的所有子任务未被全部处理的情况下,根据所述批量任务对应的任务批次号、以及所述全局应用名称和所述全局任务列表对应的全局列表ZNode节点,为所述全局列表ZNode节点创建ZNode子节点,获得全局任务批次号ZNode节点;其中,目标列表ZNode节点包括所述全局列表ZNode节点;
在将所述批量任务分组后的至少一个子任务分配到至少一个目标业务单元批处理应用时,根据所述至少一个目标业务单元批处理应用的单元号,为所述全局任务批次号ZNode节点创建ZNode子节点,获得单元号ZNode节点;所述至少一个目标业务单元批处理应用包括至少一个第一业务单元批处理应用;
基于第二***获取所述至少一个目标业务单元批处理应用对对应的目标任务批次号ZNode节点下的所述子任务的处理情况;所述目标任务批次号ZNode节点根据所述至少一个目标业务单元批处理应用的应用名称、所述应用名称下的任务列表、以及所述任务批次号确定;
在根据所述处理情况对所述单元号ZNode节点进行处理而触发第一***监听到所述批量任务的处理情况时,基于所述运维平台确定全局临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,使得所述全局单元批处理应用基于所述目标停机指令停止接收新批量任务。
在一个实施例中,所述在根据所述处理情况对所述单元号ZNode节点进行处理而触发第一***监听到所述批量任务的处理情况时,基于所述运维平台确定所述全局临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,包括:
在所述处理情况为所述至少一个目标业务单元批处理应用将对应的目标业务任务批次号ZNode节点下的所述子任务全部处理时,删除所述单元号ZNode节点;所述子任务包括分配到至少一个第一业务单元批处理应用中的至少一个子任务;
在基于对所述单元号ZNode节点的删除操作的情况下,若所述运维平台根据所述全局应用名称确定所述全局临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令。
第四方面,本申请提供一种任务处理***,所述***包括运维平台、全局单元批处理应用以及至少一个第一业务单元批处理应用,其中:
所述运维平台用于执行如权利要求第一方面或第一方面中任一个实施例中所述的方法的步骤;
所述至少一个第一业务单元批处理应用,用于执行第二方面或第二方面中任一个实施例中所述的方法的步骤;
所述全局单元批处理应用,用于执行第三方面或第三方面中任一个实施例中所述的方法的步骤。
上述任务处理方法和***,运维平台通过向需要停机的目标批处理应用发送拟停机指令,使得可以提醒目标批处理应用将要进行停机维护,避免发生目标批处理应用接收任务的情况;在基于目标批处理应用的目标应用名称和目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定目标列表ZNode节点下的任务未被处理的情况下,为目标列表ZNode节点创建第一***,使得可以基于第一***对目标列表ZNode节点下的任务处理情况进行监听,避免出现批处理应用在任务处理过程中被停机的情况;运维平台根据拟停机指令可以确定是不是需要停机的批处理应用,避免将不需要停机的批处理应用进行停机;并根据第一***对目标列表ZNode节点下的任务处理的监听情况,从而可以根据任务处理情况确定目标批处理应用是否可以进行停机维护,从而避免任务处理过程被中断,降低了任务处理失败率。
附图说明
图1为一个实施例中任务处理方法的应用环境图;
图2为一个实施例中任务处理方法的流程示意图;
图3为另一个实施例中任务处理方法的流程示意图;
图4为另一个实施例中任务处理方法的流程示意图;
图5为一个实施例中在根据处理情况对单元号ZNode节点进行处理而触发第一***监听到批量任务的处理情况时,基于运维平台确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令的流程示意图;
图6为一个实施例中任务处理装置的结构框图;
图7为另一个实施例中任务处理装置的结构框图;
图8为另一个实施例中任务处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的任务处理方法,可以应用于如图1所示的应用环境中。其中,任务处理***100包括运维平台102、全局单元104和至少一个业务单元106;全局单元104中部署全局单元批处理应用;业务单元106部署至少一个目标业务单元批处理应用,在本实施例中,至少一个目标业务单元批处理应用包括不需要进行停机的第二业务单元批处理应用和需要进行停机的至少一个第一业务单元批处理应用;具体的,全局单元批处理应用负责对批量任务进行分组并分配到至少一个目标业务单元批处理应用,至少一个目标业务单元批处理应用用于执行批量任务分组后的子任务;运维平台102可以基于分布式协调装置对全局单元和至少一个业务单元进行控制,为了便于描述,后续以分布式协调装置为ZooKeeper为例进行示例性说明。
在一个实施例中,如图2所示,提供了一种任务处理方法,以该方法应用于图1中的运维平台100为例,可以包括以下步骤:
S202,向需要停机的目标批处理应用发送拟停机指令。
在本实施例中,可以基于运维需求确定需要停机的目标批处理应用,运维需求指的是对批处理应用进行维护的需求;具体的,可以获得至少一个批处理应用的运行时长,将至少一个批处理应用的运行时长中大于预设时长的批处理应用确定为需要停机的目标批处理应用;进而向目标批处理应用发送拟停机指令,拟停机指令用于提醒批处理应用将要进行停机,以使批处理应用不会接收新任务。
S204,在基于目标批处理应用的目标应用名称和目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定目标列表ZNode节点下的任务未被处理的情况下,为目标列表ZNode节点创建第一***。
其中,目标列表ZNode节点的路径可以表示为“/{应用当前实例名}/task”,应用当前实例名指的是目标批处理应用的目标应用名称,task指的是目标应用名称下的目标任务列表,不同应用名称下的任务列表不同;运维平台可以按照路径“/{应用当前实例名}/task”访问目标列表ZNode节点,若目标列表ZNode节点下的任务未被处理,为了避免任务处理过程被中断而导致任务失败,通过为目标列表ZNode节点创建第一***,使得可以基于第一***对目标列表ZNode节点下的任务处理情况进行监听,已在目标列表ZNode节点下的任务全部被处理时,通过向目标批处理应用发送停机指令,进而对目标批处理应用进行停机维护。
S206,根据拟停机指令、以及第一***对目标列表ZNode节点下的任务处理的监听情况,向目标批处理应用发送目标停机指令,以使得目标批处理应用基于目标停机指令停止接收新任务。
其中,运维平台根据拟停机指令可以确定是不是需要停机的批处理应用,以及根据第一***对目标列表ZNode节点下的任务处理的监听情况,可以确定目标批处理应用是否可以进行停机维护,从而避免发生任务处理被中断的情况,降低了任务处理失败率。
综上,基于图2所示的方法,运维平台通过向需要停机的目标批处理应用发送拟停机指令,使得可以提醒目标批处理应用将要进行停机维护,避免发生目标批处理应用接收任务的情况;在基于目标批处理应用的目标应用名称和目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定目标列表ZNode节点下的任务未被处理的情况下,为目标列表ZNode节点创建第一***,使得可以基于第一***对目标列表ZNode节点下的任务处理情况进行监听,避免出现批处理应用在任务处理过程中被停机的情况;运维平台根据拟停机指令可以确定是不是需要停机的批处理应用,避免将不需要停机的批处理应用进行停机;并根据第一***对目标列表ZNode节点下的任务处理的监听情况,从而可以根据任务处理情况确定目标批处理应用是否可以进行停机维护,从而避免任务处理过程被中断,降低了任务处理失败率。
在一个实施例中,目标批处理应用包括至少一个第一业务单元批处理应用,目标应用名称包括业务应用名称,目标列表ZNode节点包括业务列表ZNode节点;具体的,根据第一***对目标列表ZNode节点下的任务处理的监听情况,以及拟停机指令,向目标批处理应用发送目标停机指令,包括:
在根据拟停机指令确定至少一个第一业务单元批处理应用基于业务应用名称创建对应的业务临时ZNode节点的情况下,若基于第一***监听到业务列表ZNode节点下的子任务已被全部处理,则向至少一个第一业务单元批处理应用发送目标停机指令。
其中,至少一个第一业务单元批处理对应的业务列表ZNode节点下的子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务;业务临时ZNode节点的路径可以表示为“/{应用当前实例名}/preshutdown”,应用当前实例名指的是业务单元批处理应用的业务应用名称,“preshutdown”指的是业务单元批处理应用基于拟停机指令所创建的名称,“preshutdown”对应的值可以设置为true。
具体的,至少一个业务单元批处理接收到来自运维平台的拟停机指令时,至少一个业务单元批处理会根据对应的业务应用名称创建对应的业务临时ZNode节点;这样,运维平台确定至少一个第一业务单元批处理应用对应的业务临时ZNode节点存在的情况下,可以确定至少一个第一业务单元批处理应用接收到了拟停机指令,即,至少一个第一业务单元批处理应用是需要停机的批处理应用;进而,在运维平台通过第一***监听到业务列表ZNode节点下的子任务已被全部处理时,即使向至少一个第一业务单元批处理应用发送目标停机指令,也不会导致至少一个第一业务单元批处理应用的任务处理失败,从而降低了任务处理的失败率。
进一步的,在一个实施例中,目标批处理应用还包括全局单元批处理应用,目标应用名称包括全局应用名称,目标列表ZNode节点包括全局列表ZNode节点,所述方法还包括:
在根据拟停机指令确定全局单元批处理应用基于全局应用名称创建对应的全局临时ZNode节点的情况下,若基于第一***监听到全局列表ZNode节点下的批量任务分组后的所有子任务已被处理,则向全局单元批处理应用发送目标停机指令。
具体的,全局单元批处理接收到来自运维平台的拟停机指令时,全局单元批处理会根据对应的全局应用名称,创建对应的全局临时ZNode节点;这样,运维平台确定全局单元批处理应用对应的全局临时ZNode节点存在的情况下,可以确定全局单元批处理应用接收到了拟停机指令,即全局单元批处理应用为需要停机的批处理应用;进而,在运维平台通过第一***监听到全局列表ZNode节点下的批量任务分组后的所有子任务已被处理时,即使向全局单元批处理应用发送目标停机指令,也不会导致任务处理失败,从而降低了任务处理的失败率。
可以理解,全局单元批处理应用对批量任务分组后,可能一部分分组后的子任务分配到需要进行停机的至少一个第一业务单元批处理应用,另一部分分组后的子任务分配到不需要停机的第二业务单元批处理应用;对于至少一个第一业务单元批处理应用来说,仅处理的是分配的子任务;但对于全局单元批处理应用来说,则需要在保证分配的子任务已被全部处理时才可以进行停机;因此,全局单元批处理应用的停机时间会比至少一个第一业务单元批处理应用的停机时间晚。
其中,对于全局单元批处理应用所分配的子任务已被全部处理,可以理解为,全局单元批处理应用从业务单元批处理应用获得子任务的处理状态,该子任务的处理状态可以为全部处理成功,或者,该子任务的处理状态可以包括部分子任务处理成功、以及部分子任务处理失败;即,全局单元批处理应用从业务单元批处理应用获得所有子任务的处理状态后才进行停机。
其中,对于子任务的处理状态可以包括部分子任务处理成功、以及部分子任务处理失败的情况,全局单元批处理应用可以将处理失败的子任务重新分配到与首次处理该子任务的业务单元批处理应用不同的业务单元批处理应用,以保证处理失败的子任务可以被处理成功。
在一个实施例中,在一个实施例中,如图3所示,提供了一种任务处理方法,以该方法应用于图1中的业务单元批处理应用104为例,可以包括以下步骤:
S302,获取来自运维平台的拟停机指令。
S304,基于拟停机指令,根据业务单元批处理应用的业务应用名称对应的业务名称ZNode节点,为业务名称ZNode节点创建ZNode子节点,获得业务临时ZNode节点。
在本实施例中,结合图2所示的内容,目标应用名称包括业务应用名称;业务名称ZNode节点根据业务单元批处理应用的业务应用名称确定,业务名称ZNode节点的路径可以表示为“/{应用当前实例名}”;可以理解,业务单元批处理应用基于拟停机指令创建对应的业务临时ZNode节点,这样,运维平台基于业务临时ZNode节点,可以确定业务单元批处理应用为需要停机的批处理应用,从而可以避免将不需要停机的批处理应用进行停机,降低了任务处理的失败率。
S306,在根据业务应用名称和业务应用名称下的业务任务列表、对应的业务列表ZNode节点,确定业务列表ZNode节点下的子任务未被处理的情况下,根据业务应用名称和业务任务列表,创建对应的业务任务批次号ZNode节点;子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务。
在本实施例中,结合图2所示的内容,目标列表ZNode节点包括业务列表ZNode节点;任务批次号指的是批量任务的任务标识,例如,批量任务包括任务1、任务2和任务3,则数字“1”、“2”以及“3”为批量任务对应的任务标识;全局单元批处理应用对批量任务(如任务1、任务2和任务3)进行分组,可以将分组后的子任务分配至对应的业务单元批处理应用;业务单元批处理应用在接收到分配的子任务时,会记录所分配的子任务对应的任务批次号,这样,基于该任务批次号,可以在接收到拟停机指令且确定子任务未被处理时,创建对应的业务任务批次号ZNode节点。
可以理解,为避免发生业务单元批处理应用的子任务在未被处理时进行停机而导致任务处理被中断的情况,通过对业务任务批次号ZNode节点进行监控,来确定业务单元批处理应用的子任务是否被处理。
其中,业务任务批次号ZNode节点的路径可以表示为“/{应用当前实例名}/tasks/{任务批次号};应用当前实例名指的是业务单元批处理应用的业务应用名称;tasks指的是业务应用名称下的业务任务列表,不同的业务应用名称下的业务任务列表不同。
S308,在基于对业务任务批次号ZNode节点的处理操作而触发第一***监听到子任务的处理情况时,基于运维平台确认业务临时ZNode节点存在的情况下,从运维平台获取目标停机指令,使得业务单元批处理应用基于目标停机指令停止接收新子任务。
在本实施例中,运维平台通过第一***可以监听到业务列表ZNode节点下任务批次号对应的子任务的处理情况,具体的,在更新业务列表ZNode节点下的任务处理情况时,运维平台通过第一***可以监听到更新情况。
综上,基于图3所示的方法,业务单元批处理应用从运维平台接收拟停机指令时,可以根据拟停机指令创建对应的业务临时ZNode节点,使得运维平台基于业务临时ZNode节点可以确定业务单元批处理应用为需要停机的批处理应用,避免发生将不需要停机的批处理应用进行停机的情况;并在确定业务列表ZNode节点下的子任务未被处理时,通过创建对应的业务任务批次号ZNode节点,使得运维平台可以通过第一***对业务任务批次号ZNode节点进行监控,来获得业务单元批处理应用对分配的子任务的处理情况,以确定向业务单元批处理应用发送目标停机指令的时机,避免发生业务单元批处理应用的子任务未被处理而对业务单元批处理应用进行停机的情况,降低了任务处理的失败率。
在一个实施例中,在基于对业务任务批次号ZNode节点的处理操作而触发第一***监听到子任务的处理情况时,基于运维平台确认业务临时ZNode节点存在的情况下,从运维平台获取目标停机指令,包括:
在基于对业务任务批次号ZNode节点的删除操作而触发第一***监听到子任务已被全部处理时,若运维平台根据业务应用名称确定对应的业务临时ZNode节点存在,从运维平台获得目标停机指令。
在本实施例中,业务单元批处理应用通过删除业务任务批次号ZNode节点,可以向运维平台告知其子任务已全部被处理,这样,运维平台向业务单元批处理应用发送目标停机指令时,不会发生业务单元批处理应用的任务处理被中断的情况,从而可以降低任务处理的失败率。
在一个实施例中,在一个实施例中,如图4所示,提供了一种任务处理方法,以该方法应用于图1中的全局单元批处理应用102为例,可以包括以下步骤:
S402,获取来自运维平台的拟停机指令。
S404,基于拟停机指令,根据全局单元批处理应用的全局应用名称对应的全局名称ZNode节点,为全局名称ZNode节点创建ZNode子节点,获得全局临时ZNode节点。
在本实施例中,结合图2所示的内容,目标应用名称包括全局应用名称;全局名称ZNode节点根据全局单元批处理应用的全局应用名称确定,全局名称ZNode节点的路径可以表示为“/{应用当前实例名}”,全局临时ZNode节点的路径可以表示为“/{应用当前实例名}/preshutdown”;其中,应用当前实例名指的是全局单元批处理应用的全局应用名称,“preshutdown”指的是全局单元批处理应用基于拟停机指令所创建的名称,“preshutdown”对应的值可以设置为true。
可以理解,全局单元批处理应用基于拟停机指令创建对应的全局临时ZNode节点时,运维平台基于全局临时ZNode节点可以确定全局单元批处理应用为需要停机的批处理应用,从而可以避免将不需要停机的批处理应用进行停机,降低了任务处理的失败率。
S406,在根据全局应用名称和全局应用名称下的全局任务列表、对应的全局列表ZNode节点,确定全局列表ZNode节点下的批量任务分组后的所有子任务未被全部处理的情况下,根据批量任务对应的任务批次号、以及全局应用名称和全局任务列表对应的全局列表ZNode节点,为全局列表ZNode节点创建ZNode子节点,获得全局任务批次号ZNode节点。
在本实施例中,结合图2所示的内容,目标列表ZNode节点包括全局列表ZNode节点;全局单元批处理应用接收到批量任务时,会为批量任务设置对应的任务标识,即任务批次号指的是批量任务对应的任务标识;例如,批量任务包括任务1、任务2和任务3,则数字“1”、“2”以及“3”为批量任务对应的任务批次号。
在本实施例中,全局列表ZNode节点根据全局单元批处理应用的全局应用名称、以及全局应用名称下的全局任务列表确定,全局列表ZNode节点的路径可以表示为“/{应用当前实例名}/task”;进一步的,全局任务批次号ZNode节点根据全局应用名称、全局任务列表以及任务批次号确定,全局任务批次号ZNode节点的路径可以表示为“/{应用当前实例名}/task/任务批次号”;其中,应用当前实例名指的是全局应用名称,task指的是全局应用名称下的全局任务列表,任务批次号指的是批量任务对应的任务标识。
S408,在将批量任务分组后的至少一个子任务分配到至少一个目标业务单元批处理应用时,根据至少一个目标业务单元批处理应用的单元号,为全局任务批次号ZNode节点创建ZNode子节点,获得单元号ZNode节点;至少一个目标业务单元批处理应用包括至少一个第一业务单元批处理应用。
在本实施例中,至少一个目标业务单元批处理应用包括不需要进行停机的第二业务单元批处理应用、以及需要进行停机的至少一个第一业务单元批处理应用;单元号用于唯一标识业务单元批处理应用,单元号ZNode节点的路径可以表示为“/{应用当前实例名}/tasks/{任务批次号}/{单元号}”;其中,应用当前实例名指的是全局应用名称,task指的是全局应用名称下的全局任务列表,任务批次号指的是批量任务的任务标识,单元号指的是批量任务分组后的子任务所分配的业务单元批处理应用对应的标识。
S410,基于第二***获取至少一个目标业务单元批处理应用对对应的目标任务批次号ZNode节点下的子任务的处理情况;目标任务批次号ZNode节点根据至少一个目标业务单元批处理应用的应用名称、应用名称下的任务列表、以及任务批次号确定。
在本实施例中,目标业务任务批次号ZNode节点的路径可以表示为“/{应用当前实例名}/tasks/{任务批次号};应用当前实例名指的是目标业务单元批处理应用的应用名称,tasks指的是该应用名称下的业务任务列表,任务批次号为批量任务分组后的子任务对应的任务批次号。
可以理解,通过第二***监听至少一个目标业务单元批处理应用对应的目标业务任务批次号ZNode节点下的子任务,使得全局单元批处理应用可以确定向至少一个目标业务单元批处理应用分配的子任务是否已被全部处理,从而保证在向全局单元批处理应用发送停机指令时,不会出现对于处理失败的子任务无法重新分配到与首次处理该子任务的业务单元批处理应用不同的业务单元批处理应用的情况,降低了任务处理的失败率。
S412,在根据处理情况对单元号ZNode节点进行处理而触发第一***监听到批量任务的处理情况时,基于运维平台确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令,使得全局单元批处理应用基于目标停机指令停止接收新批量任务。
在本实施例中,运维平台通过第一***可以监听到全局列表ZNode节点下任务批次号对应的子任务在至少一个目标业务单元批处理应用的处理情况,从而可以确定至少一个目标业务单元批处理应用是否已将分组后的所有子任务进行处理,使得运维平台即使向全局单元批处理应用发送停机指令,也不会导致全局单元批处理应用无法进行相应任务处理过程(如全局单元批处理应用将处理失败的子任务重新分配到与首次处理该子任务的业务单元批处理应用不同的业务单元批处理应用的过程),降低了任务处理的失败率。
综上,基于图4所示的方法,全局单元批处理应用从运维平台接收拟停机指令时,可以根据拟停机指令创建对应的全局临时ZNode节点,使得运维平台基于全局临时ZNode节点可以确定全局单元批处理应用为需要停机的批处理应用,从而避免将不需要停机的批处理应用进行停机;并在确定全局列表ZNode节点下的批量任务分组后的所有子任务未被全部处理时,通过创建对应的全局任务批次号ZNode节点、以及全局任务批次号ZNode节点对应的单元号ZNode节点,使得第二***可以获取至少一个目标业务单元批处理应用对对应的目标业务任务批次号ZNode节点下的子任务的处理情况;这样,在根据处理情况对单元号ZNode节点进行处理而触发第一***监听到批量任务的处理情况时,运维平台可以确定全局单元批处理应用的批量任务分组后的所有子任务是否已被处理,从而保证在向全局单元批处理应用发送停机指令时,不会出现对于处理失败的子任务无法重新分配到与首次处理该子任务的业务单元批处理应用不同的业务单元批处理应用的情况,降低了任务处理的失败率。
在一个实施例中,如图5所示,提供了一种在根据处理情况对单元号ZNode节点进行处理而触发第一***监听到批量任务的处理情况时,基于运维平台确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令的流程示意图,以该方法应用于图1中的全局单元批处理应用102为例,可以包括以下步骤:
S502,在处理情况为至少一个目标业务单元批处理应用对对应的目标业务任务批次号ZNode节点下的子任务处理完成时,删除单元号ZNode节点;子任务包括分配到至少一个第一业务单元批处理应用中的至少一个子任务。
S504,在基于对单元号ZNode节点的删除操作的情况下,若运维平台根据全局应用名称确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令。
在本实施例中,全局单元批处理应用通过删除单元号ZNode节点,可以向运维平台告知其分配到业务单元批处理应用的子任务已被全部处理,这样,运维平台向全局单元批处理应用发送目标停机指令时,不会发生全局单元批处理应用的任务处理被中断的情况,从而可以降低任务处理的失败率。
结合上述内容,在一个实施例中,提供了一种任务处理方法,具体内容如下所示:
运维平台向需要停机的目标批处理应用发送拟停机指令,目标批处理应用包括全局单元批处理应用和至少一个第一业务单元批处理应用;进一步的,全局单元批处理应用和至少一个第一业务单元批处理应用分别执行如下过程:
1)至少一个第一业务单元批处理应用接收到拟停机指令时,会根据业务单元批处理应用的业务应用名称对应的业务名称ZNode节点,为业务名称ZNode节点创建ZNode子节点,获得业务临时ZNode节点;在根据业务应用名称和业务应用名称下的业务任务列表、对应的业务列表ZNode节点,确定业务列表ZNode节点下的子任务未被处理的情况下,根据业务应用名称和业务任务列表,创建对应的业务任务批次号ZNode节点;在基于对业务任务批次号ZNode节点的删除操作而触发第一***监听到子任务已被全部处理时,若运维平台根据业务应用名称确定对应的业务临时ZNode节点存在,至少一个第一业务单元批处理应用从运维平台获得目标停机指令,以使得至少一个业务单元批处理应用基于目标停机指令不会再停止接收新任务。
可以理解,至少一个业务单元批处理应用将全局单元批处理应用所分配的子任务全部处理后,就可以触发运维平台发送停机指令,从而在接收到目标停机指令后进行停机,进而实现对至少一个业务单元批处理应用的停机维护。
2)全局单元批处理应用接收到拟停机指令时,会根据全局单元批处理应用的全局应用名称对应的全局名称ZNode节点,为全局名称ZNode节点创建ZNode子节点,获得全局临时ZNode节点;并根据全局应用名称和全局应用名称下的全局任务列表、对应的全局列表ZNode节点,确定全局列表ZNode节点下的批量任务分组后的所有子任务未被全部处理的情况下,根据批量任务对应的任务批次号、以及全局应用名称和全局任务列表对应的全局列表ZNode节点,为全局列表ZNode节点创建ZNode子节点,获得全局任务批次号ZNode节点;在将批量任务分组后的至少一个子任务分配到至少一个目标业务单元批处理应用时,根据至少一个目标业务单元批处理应用的单元号,为全局任务批次号ZNode节点创建ZNode子节点,获得单元号ZNode节点;并基于第二***获取至少一个目标业务单元批处理应用对对应的目标任务批次号ZNode节点下的子任务的处理情况,使得在处理情况为至少一个目标业务单元批处理应用将对应的目标业务任务批次号ZNode节点下的子任务全部处理时,删除单元号ZNode节点;这样,在基于对单元号ZNode节点的删除操作的情况下,若运维平台根据全局应用名称确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令,以使得全局单元批处理应用基于目标停机指令不会再停止接收新任务。
需要说明的是,至少一个目标业务单元批处理应用包括不需要进行停机的第二业务单元批处理应用、以及需要进行停机的至少一个第一业务单元批处理应用;因此,全局单元批处理应用是在确定需要进行停机的至少一个第一业务单元批处理应用所分配的子任务全部被处理,以及在确定不需要进行停机的第二业务单元批处理应用的所分配的子任务全部被处理的情况下,才会触发运维平台向全局单元批处理应用发送停机指令,以使得全局单元批处理应用基于目标停机指令不会再停止接收新任务,进而实现对全局单元批处理应用的停机维护。因此,本申请提供的方法可以协同一致对全局单元批处理应用和至少一个第一业务单元批处理应用进行分批次优雅停机,并最大程度保障处理批量任务的连续性和完整性,避免因停机导致批量任务的处理过程被中断或发生异常等问题。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的任务处理方法的任务处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个任务处理装置实施例中的具体限定可以参见上文中对于任务处理方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种任务处理装置,包括:通知指令发送模块602、任务处理情况确定模块604和停机指令发送模块606,其中:
通知指令发送模块602,用于向需要停机的目标批处理应用发送拟停机指令。
任务处理情况确定模块604,用于在基于目标批处理应用的目标应用名称和目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定目标列表ZNode节点下的任务未被处理的情况下,为目标列表ZNode节点创建第一***。
停机指令发送模块606,用于根据拟停机指令、以及第一***对目标列表ZNode节点下的任务处理的监听情况,向目标批处理应用发送目标停机指令,以使得目标批处理应用基于目标停机指令停止接收新任务。
在一个实施例中,目标批处理应用包括至少一个第一业务单元批处理应用,目标应用名称包括业务应用名称,目标列表ZNode节点包括业务列表ZNode节点;停机指令发送模块606,还用于:在根据拟停机指令确定至少一个第一业务单元批处理应用基于业务应用名称创建对应的业务临时ZNode节点的情况下,若基于第一***监听到业务列表ZNode节点下的子任务已被全部处理,则向至少一个第一业务单元批处理应用发送目标停机指令;其中,子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务。
在一个实施例中,目标批处理应用还包括全局单元批处理应用,目标应用名称包括全局应用名称,目标列表ZNode节点包括全局列表ZNode节点;停机指令发送模块606,还用于:在根据拟停机指令确定全局单元批处理应用基于全局应用名称创建对应的全局临时ZNode节点的情况下,若基于第一***监听到全局列表ZNode节点下的批量任务分组后的所有子任务已被处理,则向全局单元批处理应用发送目标停机指令。
在一个实施例中,如图7所示,提供了一种任务处理装置,包括:第一通知指令接收模块702、第一临时节点创建模块704、第一任务批次号节点创建模块706和第一停机指令接收模块708,其中:
第一通知指令接收模块702,用于获取来自运维平台的拟停机指令;
第一临时节点创建模块704,用于基于拟停机指令,根据业务单元批处理应用的业务应用名称对应的业务名称ZNode节点,为业务名称ZNode节点创建ZNode子节点,获得业务临时ZNode节点;其中,目标应用名称包括业务应用名称;
第一任务批次号节点创建模块706,用于在根据业务应用名称和业务应用名称下的业务任务列表、对应的业务列表ZNode节点,确定业务列表ZNode节点下的子任务未被处理的情况下,根据业务应用名称和业务任务列表,创建对应的业务任务批次号ZNode节点;子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务;其中,目标列表ZNode节点包括业务列表ZNode节点;
第一停机指令接收模块708,用于在基于对业务任务批次号ZNode节点的处理操作而触发第一***监听到子任务的处理情况时,基于运维平台确认业务临时ZNode节点存在的情况下,从运维平台获取目标停机指令,使得业务单元批处理应用基于目标停机指令停止接收新子任务。
在一个实施例中,第一停机指令接收模块708,还用于:在基于对业务任务批次号ZNode节点的删除操作而触发第一***监听到子任务已被全部处理时,若运维平台根据业务应用名称确定对应的业务临时ZNode节点存在,从运维平台获得目标停机指令。
在一个实施例中,如图8所示,提供了一种任务处理装置,包括:第二通知指令接收模块802、第二临时节点创建模块804、第二任务批次号节点创建模块806、单元号节点创建模块808、处理情况获取模块810和第二停机指令接收模块712,其中:
第二通知指令接收模块802,用于获取来自运维平台的拟停机指令。
第二临时节点创建模块804,用于基于拟停机指令,根据全局单元批处理应用的全局应用名称对应的全局名称ZNode节点,为全局名称ZNode节点创建ZNode子节点,获得全局临时ZNode节点;其中,目标应用名称包括全局应用名称。
第二任务批次号节点创建模块806,用于:在根据全局应用名称和全局应用名称下的全局任务列表、对应的全局列表ZNode节点,确定全局列表ZNode节点下的批量任务分组后的所有子任务未被全部处理的情况下,根据批量任务对应的任务批次号、以及全局应用名称和全局任务列表对应的全局列表ZNode节点,为全局列表ZNode节点创建ZNode子节点,获得全局任务批次号ZNode节点;其中,目标列表ZNode节点包括全局列表ZNode节点;
单元号节点创建模块808,用于在将批量任务分组后的至少一个子任务分配到至少一个目标业务单元批处理应用时,根据至少一个目标业务单元批处理应用的单元号,为全局任务批次号ZNode节点创建ZNode子节点,获得单元号ZNode节点;至少一个目标业务单元批处理应用包括至少一个第一业务单元批处理应用;
处理情况获取模块810,用于基于第二***获取至少一个目标业务单元批处理应用对对应的目标任务批次号ZNode节点下的子任务的处理情况;目标任务批次号ZNode节点根据至少一个目标业务单元批处理应用的应用名称、应用名称下的任务列表、以及任务批次号确定;
第二停机指令接收模块812,用于:在根据处理情况对单元号ZNode节点进行处理而触发第一***监听到批量任务的处理情况时,基于运维平台确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令,使得全局单元批处理应用基于目标停机指令停止接收新批量任务。
在一个实施例中,第二停机指令接收模块812,还用于:在处理情况为至少一个目标业务单元批处理应用将对应的目标业务任务批次号ZNode节点下的子任务全部处理时,删除单元号ZNode节点;子任务包括分配到至少一个第一业务单元批处理应用中的至少一个子任务;在基于对单元号ZNode节点的删除操作的情况下,若运维平台根据全局应用名称确定全局临时ZNode节点存在的情况下,从运维平台获取目标停机指令。
上述任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储批量任务。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种任务处理方法,其特征在于,应用于运维平台,所述方法包括:
向需要停机的目标批处理应用发送拟停机指令;
在基于所述目标批处理应用的目标应用名称和所述目标应用名称下的目标任务列表、对应的目标列表ZNode节点,确定所述目标列表ZNode节点下的任务未被处理的情况下,为所述目标列表ZNode节点创建第一***;
根据所述拟停机指令、以及所述第一***对所述目标列表ZNode节点下的任务处理的监听情况,向所述目标批处理应用发送目标停机指令,以使得所述目标批处理应用基于所述目标停机指令停止接收新任务。
2.根据权利要求1所述的方法,其特征在于,所述目标批处理应用包括至少一个第一业务单元批处理应用,所述目标应用名称包括业务应用名称,所述目标列表ZNode节点包括业务列表ZNode节点;
所述根据所述拟停机指令、以及所述第一***对所述目标列表ZNode节点下的任务处理的监听情况,向所述目标批处理应用发送目标停机指令,包括:
在根据所述拟停机指令确定所述至少一个第一业务单元批处理应用基于所述业务应用名称创建对应的业务临时ZNode节点的情况下,若基于所述第一***监听到所述业务列表ZNode节点下的子任务已被全部处理,则向所述至少一个第一业务单元批处理应用发送目标停机指令;其中,所述子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务。
3.根据权利要求2所述的方法,其特征在于,所述目标批处理应用还包括所述全局单元批处理应用,所述目标应用名称包括全局应用名称,所述目标列表ZNode节点包括全局列表ZNode节点;所述方法还包括:
在根据所述拟停机指令确定所述全局单元批处理应用基于所述全局应用名称创建对应的全局临时ZNode节点的情况下,若基于所述第一***监听到所述全局列表ZNode节点下的所述批量任务分组后的所有子任务已被处理,则向所述全局单元批处理应用发送目标停机指令。
4.一种任务处理方法,其特征在于,应用于至少一个第一业务单元批处理应用,所述方法包括:
获取来自运维平台的拟停机指令;
基于所述拟停机指令,根据所述业务单元批处理应用的业务应用名称对应的业务名称ZNode节点,为所述业务名称ZNode节点创建ZNode子节点,获得业务临时ZNode节点;其中,目标应用名称包括所述业务应用名称;
在根据所述业务应用名称和所述业务应用名称下的业务任务列表、对应的业务列表ZNode节点,确定所述业务列表ZNode节点下的子任务未被处理的情况下,根据所述业务应用名称和所述业务任务列表,创建对应的业务任务批次号ZNode节点;所述子任务包括全局单元批处理应用对批量任务分组后的至少一个子任务;其中,目标列表ZNode节点包括所述业务列表ZNode节点;
在基于对所述业务任务批次号ZNode节点的处理操作而触发第一***监听到所述子任务的处理情况时,基于所述运维平台确认所述业务临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,使得所述业务单元批处理应用基于所述目标停机指令停止接收新子任务。
5.根据权利要求4所述的方法,其特征在于,所述在基于对所述业务任务批次号ZNode节点的处理操作而触发第一***监听到所述子任务的处理情况时,基于所述运维平台确认所述业务临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,包括:
在基于对所述业务任务批次号ZNode节点的删除操作而触发所述第一***监听到所述子任务已被全部处理时,若所述运维平台根据所述业务应用名称确定对应的所述业务临时ZNode节点存在,从所述运维平台获得所述目标停机指令。
6.一种任务处理方法,其特征在于,应用于全局单元批处理应用,所述方法包括:
获取来自运维平台的拟停机指令;
基于所述拟停机指令,根据所述全局单元批处理应用的全局应用名称对应的全局名称ZNode节点,为所述全局名称ZNode节点创建ZNode子节点,获得全局临时ZNode节点;其中,目标应用名称包括所述全局应用名称;
在根据所述全局应用名称和所述全局应用名称下的全局任务列表、对应的全局列表ZNode节点,确定所述全局列表ZNode节点下的批量任务分组后的所有子任务未被全部处理的情况下,根据所述批量任务对应的任务批次号、以及所述全局应用名称和所述全局任务列表对应的全局列表ZNode节点,为所述全局列表ZNode节点创建ZNode子节点,获得全局任务批次号ZNode节点;其中,目标列表ZNode节点包括所述全局列表ZNode节点;
在将所述批量任务分组后的至少一个子任务分配到至少一个目标业务单元批处理应用时,根据所述至少一个目标业务单元批处理应用的单元号,为所述全局任务批次号ZNode节点创建ZNode子节点,获得单元号ZNode节点;所述至少一个目标业务单元批处理应用包括至少一个第一业务单元批处理应用;
基于第二***获取所述至少一个目标业务单元批处理应用对对应的目标任务批次号ZNode节点下的所述子任务的处理情况;所述目标任务批次号ZNode节点根据所述至少一个目标业务单元批处理应用的应用名称、所述应用名称下的任务列表、以及所述任务批次号确定;
在根据所述处理情况对所述单元号ZNode节点进行处理而触发第一***监听到所述批量任务的处理情况时,基于所述运维平台确定全局临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,使得所述全局单元批处理应用基于所述目标停机指令停止接收新批量任务。
7.根据权利要求6所述的方法,其特征在于,
所述在根据所述处理情况对所述单元号ZNode节点进行处理而触发第一***监听到所述批量任务的处理情况时,基于所述运维平台确定所述全局临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令,包括:
在所述处理情况为所述至少一个目标业务单元批处理应用将对应的目标业务任务批次号ZNode节点下的所述子任务全部处理时,删除所述单元号ZNode节点;所述子任务包括分配到至少一个第一业务单元批处理应用中的至少一个子任务;
在基于对所述单元号ZNode节点的删除操作的情况下,若所述运维平台根据所述全局应用名称确定所述全局临时ZNode节点存在的情况下,从所述运维平台获取目标停机指令。
8.一种任务处理***,所述***包括运维平台、全局单元批处理应用以及至少一个第一业务单元批处理应用,其中:
所述运维平台用于执行如权利要求1至3任一项所述的方法的步骤;
所述至少一个第一业务单元批处理应用,用于执行如权利要求4或5所述的方法的步骤;
所述全局单元批处理应用,用于执行如权利要求6或7所述的方法的步骤。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310337320.5A CN116401028A (zh) | 2023-03-31 | 2023-03-31 | 任务处理方法、***、计算机设备和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310337320.5A CN116401028A (zh) | 2023-03-31 | 2023-03-31 | 任务处理方法、***、计算机设备和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116401028A true CN116401028A (zh) | 2023-07-07 |
Family
ID=87009761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310337320.5A Pending CN116401028A (zh) | 2023-03-31 | 2023-03-31 | 任务处理方法、***、计算机设备和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401028A (zh) |
-
2023
- 2023-03-31 CN CN202310337320.5A patent/CN116401028A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111190753B (zh) | 分布式任务处理方法、装置、存储介质和计算机设备 | |
CN111045811A (zh) | 一种任务分配方法、装置、电子设备及存储介质 | |
CN114528085A (zh) | 资源调度方法、装置、计算机设备、存储介质和程序产品 | |
CN111258741B (zh) | 仓库任务执行的方法、分布式服务器集群及计算机设备 | |
US9832137B1 (en) | Provisioning system and method for a distributed computing environment using a map reduce process | |
CN116401028A (zh) | 任务处理方法、***、计算机设备和程序产品 | |
CN111427689B (zh) | 集群保活方法、装置及存储介质 | |
CN116233144A (zh) | 一种云场景下强制同节点云主机批量撤离方法与*** | |
WO2023160418A1 (zh) | 资源处理方法及资源调度方法 | |
CN114513498B (zh) | 文件传输校验方法、装置、计算机设备和存储介质 | |
CN113992509B (zh) | Sdn网络业务配置下发方法、装置及存储介质 | |
CN115291891A (zh) | 一种集群管理的方法、装置及电子设备 | |
CN114860266A (zh) | 一种多方安全计算模型的部署方法和*** | |
JP2022070579A (ja) | 分散台帳管理方法、分散台帳システム、およびノード | |
CN112115311A (zh) | 一种图数据库的弹性扩缩容方法、装置、设备及存储介质 | |
CN117149534B (zh) | 分布式数据库现主节点选举方法、装置、设备及存储介质 | |
CN117931789B (zh) | 数据回收任务的有序处理方法、***、计算机设备 | |
CN115495284A (zh) | 数据处理***、方法、计算机设备、存储介质 | |
CN117675500A (zh) | 一种设备批量管理方法、装置、设备及机器可读存储介质 | |
CN110474978B (zh) | 虚拟消息处理方调度方法、装置、计算机设备和存储介质 | |
CN118337671A (zh) | 网关中间件的状态监测处理方法、装置、设备、存储介质和程序产品 | |
CN112905109A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN115102962A (zh) | 集群管理方法、装置、计算机设备和存储介质 | |
CN115237682A (zh) | 区块链节点故障同步方法、装置、计算机设备和存储介质 | |
CN116680474A (zh) | 数据处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |