CN116450318A - 任务调度方法、装置、设备、介质及程序产品 - Google Patents
任务调度方法、装置、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN116450318A CN116450318A CN202310423317.5A CN202310423317A CN116450318A CN 116450318 A CN116450318 A CN 116450318A CN 202310423317 A CN202310423317 A CN 202310423317A CN 116450318 A CN116450318 A CN 116450318A
- Authority
- CN
- China
- Prior art keywords
- task
- processing
- target
- data
- executor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 245
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种任务调度方法、装置、设备、介质及程序产品,涉及金融科技领域或其他相关领域。该方法包括:当检测到正在执行初始任务的执行器离线时,协调器获取执行器存储在数据库中的初始任务的处理进度,根据初始任务,从分布式系统的其他执行器中确定出目标执行器,根据初始任务以及处理进度,生成目标任务,并将目标任务发送给目标执行器。目标执行器接收分布式系统的协调器发送的目标任务,按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。本技术方案有效的节约了处理时间,提高了处理效率。
Description
技术领域
本申请涉及金融科技领域或其他相关领域,尤其涉及一种任务调度方法、装置、设备、介质及程序产品。
背景技术
随着大型网站中越来越多的高并发访问场景以及海量数据处理场景,普通的单机系统无法满足迅速增长的业务量,主要通过分布式系统来实现大型网站的高可用性、易伸缩性、可扩展性以及安全性,分布式系统还能够根据业务需求不断的横向扩展系统来提升系统的性能。
目前,分布式系统包括控制器、协调器以及多个执行器,其中,控制器负责向协调器下发任务,协调器用于将控制器下发的任务分发给能够处理该任务的且在线的执行器,执行器则用于接收并处理该任务。若执行器执行任务过程中突然离线,协调器则将该任务重新发送给其他任一个在线的且能够处理该任务的执行器进行执行。
然而,现有技术存在任务执行效率较低的问题。
发明内容
本申请提供一种任务调度方法、装置、设备、介质及程序产品,用以解决现有技术存在的任务执行效率较低的问题。
第一方面,本申请提供一种任务调度方法,应用于分布式系统的协调器,所述方法包括:
当检测到正在执行初始任务的执行器离线时,获取所述执行器存储在数据库中的所述初始任务的处理进度,所述初始任务包括多条数据及每个数据对应的处理操作,所述处理进度为所述多条数据中已被处理的数据以及对应的处理子结果;
根据所述初始任务,从分布式系统的其他执行器中确定出目标执行器,所述目标执行器是所述其他执行器中在线的且能够处理所述初始任务的执行器;
根据所述初始任务以及所述处理进度,生成目标任务,所述目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作;
将所述目标任务发送给所述目标执行器。
第二方面,本申请提供一种任务调度方法,应用于分布式系统的目标执行器,所述方法包括:
接收所述分布式系统的协调器发送的目标任务,所述目标任务包括初始任务中未被处理的数据及每个未被处理的数据对应的处理操作,所述初始任务包括多条数据及每个数据对应的处理操作;
按照所述目标任务中各未被处理的数据的处理顺序,依次对所述目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
第三方面,本申请提供一种任务调度装置,应用于分布式系统的协调器,所述装置包括:
获取模块,用于当检测到正在执行初始任务的执行器离线时,获取所述执行器存储在数据库中的所述初始任务的处理进度,所述初始任务包括多条数据及每个数据对应的处理操作,所述处理进度为所述多条数据中已被处理的数据以及对应的处理子结果;
第一处理模块,用于根据所述初始任务,从分布式系统的其他执行器中确定出目标执行器,所述目标执行器是所述其他执行器中在线的且能够处理所述初始任务的执行器;
第二处理模块,用于根据所述初始任务以及所述处理进度,生成目标任务,所述目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作;
发送模块,用于将所述目标任务发送给所述目标执行器。
第四方面,本申请提供一种任务调度装置,应用于分布式系统的目标执行器,所述装置包括:
接收模块,用于接收所述分布式系统的协调器发送的目标任务,所述目标任务包括初始任务中未被处理的数据及每个未被处理的数据对应的处理操作,所述初始任务包括多条数据及每个数据对应的处理操作;
处理模块,用于按照所述目标任务中各未被处理的数据的处理顺序,依次对所述目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
第五方面,本申请提供一种协调器,包括:处理器,通信接口,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面以及各可能设计提供的方法。
第六方面,本申请提供一种执行器,包括:处理器,通信接口,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现第二方面以及各可能设计提供的方法。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面、第二方面以及各可能设计提供的方法。
第八方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面、第二方面以及各可能设计提供的方法。
本申请提供的任务调度方法、装置、设备、介质及程序产品,当检测到正在执行初始任务的执行器离线时,协调器获取执行器存储在数据库中的初始任务的处理进度,根据初始任务,从分布式系统的其他执行器中确定出目标执行器,根据初始任务以及处理进度,生成目标任务,并将目标任务发送给目标执行器。目标执行器接收分布式系统的协调器发送的目标任务,按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。其中,初始任务包括多条数据及每个数据对应的处理操作,处理进度为多条数据中已被处理的数据以及对应的处理子结果,目标执行器是其他执行器中在线的且能够处理初始任务的执行器,目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作。本技术方案在初始任务执行中断后,协调器可以获取离线执行器对该初始任务的处理进度,从而确定出该初始任务中未被处理的数据,将该未被处理的数据通过新的执行器进行继续处理,有效节约了处理时间,提高了处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的分布式系统的结构示意图;
图2为本申请实施例提供的任务调度方法实施例一的流程示意图;
图3为本申请实施例提供的任务调度方法实施例二的流程示意图;
图4为本申请实施例提供的任务调度方法实施例三的流程示意图;
图5为本申请实施例提供的任务调度装置实施例一的结构示意图;
图6为本申请实施例提供的任务调度装置实施例二的结构示意图;
图7为本申请实施例提供的一种协调器的结构示意图;
图8为本申请实施例提供的一种执行器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请提供的任务调度方法、装置、设备、介质及程序产品可用于金融科技领域,也可用于除金融科技领域之外的任意领域,本申请不对任务调度方法、装置、设备、介质及程序产品的应用领域进行限定。
在介绍本申请的实施例之前,首先对本申请实施例的应用背景进行解释:
分布式系统是指以全局的方式管理计算机资源,可以为用户任意调度网络资源的系统,也就是当用户提交一个任务时,分布式系统的控制器将该任务下发给协调器,该协调器选择合适的执行器,将该任务提交到该执行器进行处理。该执行器执行完任务后,将执行结果发送给协调器,协调器接收该执行器发送的执行结果,并将该执行结果发送给控制器,以使控制器将该执行结果反馈给用户。
现有技术中,执行器在执行任务时,若受到网络、停电等环境因素的影响离线后,则不能继续处理该任务。协调器在检测到执行器离线后,则将该任务转发给其他在线的且可处理该任务的执行器重新进行处理。
然而,执行器在离线之前,已经耗费了一定的时间,处理了该任务中的一部分数据。若在该执行器后通过新的执行器重新处理该任务,则新的执行器需要重复执行离线执行器之前处理过的那部分数据,浪费了处理时间,处理效率较低。
本申请提供的任务调度方法,旨在解决现有技术的如上技术问题。本申请的技术构思如下:分布式系统中通常部署有数据库,用于存储分布式系统运行时产生的相关数据。执行器在执行任务时,需要依次对任务中的各数据进行处理,从而获取各数据对应的处理子结果。那么,在对每个数据进行处理时,可以将每个数据对应的处理子结果存储至数据库中。这样,在该执行器离线后,协调器可以根据数据库中存储的该任务对应的处理子结果,确定该任务中哪一部分数据是已被处理的,哪一部分数据是未被处理的,仅需要根据未被处理的数据生成新的任务并发送给新的执行器继续处理,无需对已被处理的数据进行重新处理,有效的节约了处理时间,提高了处理效率。
示例性的,本申请实施例提供的任务调度方法可以应用于图1所示的系统示意图中。图1为本申请实施例提供的分布式系统的结构示意图。如图1所示,分布式系统10包括控制器11、协调器12以及多个执行器(图1示出了三个执行器,分别为执行器131、执行器132、执行器133)。
可选的,协调器12与每个执行器之间均可以通过长链接进行通信,同样,控制器11与协调器12之间可以通过长链接进行通信。
应理解,分布式系统10包含的执行器的数量可以根据实际情况进行确定,本申请实施例仅以3个为例进行举例说明,对此不进行具体限制。
在本申请实施例中,控制器11在获取初始任务时,将该初始任务发送给协调器12。协调器12则接收控制器11发送的初始任务,确定用于处理该初始任务的执行器(例如图1中的执行器131),将该初始任务发送给执行器131进行处理,并实时检测执行器131的在线状态。执行器131接收到协调器12发送的初始任务,对该初始任务中的数据依次进行处理,并将该初始任务的处理进度存储至数据库14中,该存储进度包括该初始任务中已被执行器131处理的数据以及对应的处理子结果。
进一步的,协调器12在检测到执行器131离线后,从数据库14中获取初始任务的处理进度,确定出初始任务中未被处理的数据,生成包括初始任务中未被处理的数据的目标任务。进一步的,协调器12重新确定新的执行器(例如图1中的执行器133),将该目标任务发送给执行器133,并实时检测执行器133的在线状态。执行器133则接收协调器12发送的目标任务,对该目标任务中各未被处理的数据依次进行处理,并将对应的处理子结果存储至数据库14中,直至目标任务中所有的数据均被处理完。
需要说明的是,附图1仅是本申请实施例提供的一种应用场景的示意图,本申请实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。例如,在图1中,数据库14相对协调器12可以是外部存储器,在其它情况下,也可以将数据库14置于协调器12中。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
接下来,将对协调器侧的任务调度方法以及目标执行器侧的任务调度方法进行分开说明。
协调器侧的任务调度方法
图2为本申请实施例提供的任务调度方法实施例一的流程示意图。如图2所示,该任务调度方法可以包括如下步骤:
S201、当检测到正在执行初始任务的执行器离线时,获取执行器存储在数据库中的初始任务的处理进度。
在本步骤中,为了保证任务的处理效率,协调器可以检测处理该任务的执行器的在线状态,以便在处理该任务的执行器离线后,及时对该任务重新进行处理。由于任务包括多条数据,协调器在检测到正在执行任务的执行器离线时,需要通过新的执行器从中断处继续执行该任务,也就是说,需要确定该任务中哪些数据已经被离线执行器处理完,哪些数据还未被离线执行器处理。而离线执行器在处理该任务时,会将该任务的处理进度存储至数据库,该处理进度为该任务的多条数据中已被处理的数据以及对应的处理子结果。因此可以获取该执行器存储在数据库中的该任务的处理进度,从而确定该任务中未被处理的数据。
其中,初始任务包括多条数据及每个数据对应的处理操作,处理进度为多条数据中已被处理的数据以及对应的处理子结果。
可选的,处理操作可以为求平均、求和、求差等,还可以为一些其他的复杂的组合运算,可以根据实际情况进行确定,本申请实施例对此不进行具体限制。
可选的,协调器可以实时检测执行初始任务的执行器,还可以按照一定频率检测执行初始任务的执行器,例如一秒一次,五秒一次,十秒一次等,本申请不对检测初始任务的执行器的频率进行具体限制。
在一种可能的实现方式中,S201可以通过以下步骤(1)至步骤(3)实现:
步骤(1)、将初始任务发送至执行器。
其中,该执行器为分布式系统中在线的且能够处理该初始任务的执行器。
可选的,可以根据协调器中存在的临时节点确定哪些执行器是在线的。具体的,在执行器启动后,建立用于与协调器进行通讯的长链接,协调器则生成该执行器对应的临时节点。同样,在执行器离线后,该执行器与协调器之间的长链接会断开,协调器则会删除离线执行器对应的临时节点。
可选的,协调器可以通过与该执行器之间建立的长链接,将该初始任务发送给该执行器。
步骤(2)、实时检测执行器对应的临时节点是否被删除。
其中,可以通过实时检测该执行器对应的临时节点是否被删除,从而判断该执行器是否处于在线状态,以便在该临时节点被删除后,及时对该初始任务进行后续处理。
步骤(3)、若执行器的临时节点被删除,则获取执行器存储在数据库中的初始任务的处理进度。
在上述实现方式中,通过检测执行器对应的临时节点是否被删除,从而确定该执行器是否在线,无需进行其他的交互操作,有效的提高了处理效率。
S202、根据初始任务,从分布式系统的其他执行器中确定出目标执行器。
在本步骤中,在初始任务执行中断后,需要从分布式系统的其他执行器中确定出目标执行器,用以处理初始任务中未被处理的数据。其中,其他执行器为分布式系统中除执行初始任务的执行器之外的执行器,目标执行器是其他执行器中在线的且能够处理初始任务的执行器。
应理解,判断其他执行器是否在线可以参考S201中的相关内容,此处不再赘述。
在一种可能的实现方式中,S202可以通过以下步骤(4)至步骤(5)实现:
步骤(4)、将存在临时节点的其他的执行器确定为在线执行器。
其中,临时节点是协调器与执行器建立长链接时生成的,该执行器对应的标识。
步骤(5)、将能够处理初始任务的在线执行器,确定为目标执行器。
S203、根据初始任务以及处理进度,生成目标任务。
在本步骤中,在确定出目标执行器后,需要根据处理进度中的已被处理的数据,从初始任务包含的各数据中确定出未被处理的数据,根据该未被处理的数据生成目标任务。其中,目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作。
其中,各未被处理的数据对应的处理操作可以相同,也可以不同,可以根据实际情况进行确定,本申请实施例对此不进行具体限制。
S204、将目标任务发送给目标执行器。
在本步骤中,协调器和目标执行器之间建立有长链接,协调器可以通过该长链接将该目标任务发送给目标执行器。
可选的,还可以将处理进度在数据库中的存储路径,发送给目标执行器,以便后续目标执行器将目标任务中各数据对应的处理子结果存储至该存储路径中,形成初始任务的处理结果。
本申请实施例提供的任务调度方法,当检测到正在执行初始任务的执行器离线时,协调器获取执行器存储在数据库中的初始任务的处理进度,根据初始任务,从分布式系统的其他执行器中确定出目标执行器,根据初始任务以及处理进度,生成目标任务,并将目标任务发送给目标执行器。其中,初始任务包括多条数据及每个数据对应的处理操作,处理进度为多条数据中已被处理的数据以及对应的处理子结果,目标执行器是其他执行器中在线的且能够处理初始任务的执行器,目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作。本技术方案在初始任务执行中断后,可以获取离线执行器对该初始任务的处理进度,从而确定出该初始任务中未被处理的数据,将该未被处理的数据通过新的执行器进行继续处理,有效节约了处理时间,提高了处理效率。
目标执行器侧的任务调度方法
图3为本申请实施例提供的任务调度方法实施例二的流程示意图。如图3所示,该任务调度方法可以包括如下步骤:
S301、接收分布式系统的协调器发送的目标任务。
在本步骤中,分布式系统的目标执行器可以通过与协调器之间建立的长链接,接收协调器发送的目标任务。
可选的,在S301之后,还可以接收协调器发送的存储路径,存储路径为数据库中用于存储初始任务的处理进度的路径,处理进度为初始任务的多条数据中已被处理的数据以及对应的处理子结果。
S302、按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
在本步骤中,目标执行器在接收到目标任务后,需要依次对目标任务中的数据执行对应的处理操作,直至所有的数据均被处理完后停止,从而获取各数据对应的处理子结果。其中,目标任务中的数据即为初始任务中未被处理的数据,通过对目标任务进行处理,实现了对初始任务从中断处继续执行的目的。
可选的,该处理顺序可以是目标任务中携带的,也可以是执行器中预先设定的,例如按照数据类型排序,按照数据名称排序或随机排序等,本申请实施例不对处理顺序进行限制。
在一种可能的实现方式中,S302可以通过以下步骤(6)至步骤(7)实现:
步骤(6)、按照处理顺序,依次对目标任务中的各未被处理的数据执行对应的处理操作,获取每个未被处理的数据对应的处理子结果。
步骤(7)、按照预设条件,将目标任务中的各未被处理的数据的处理子结果存储至数据库的存储路径中。
其中,预设条件与预设处理时长或预设的处理子结果数量有关。示例性的,预设条件可以为在对目标任务执行过程中,处理时长每达到半个小时(预设处理时长),就将处理得到的处理子结果存储至上述存储路径中;预设条件还可以为在对目标任务执行过程中,每处理10个数据(预设的处理子结果数量),就将处理得到的处理子结果存储至上述存储路径中;预设条件还可以为在对目标任务执行过程中,将处理得到的处理子结果实时存储至上述存储路径中。
可选的,可以根据上述存储路径,确定用于存储初始任务的处理进度的数据表,并将目标任务中的处理子结果紧接着初始任务的处理进度进行存储。也就是说,将初始任务中已被处理的数据的处理子结果与目标任务中各数据对应的处理子结果进行合并。这样,在目标任务处理完后,该数据表即存储有初始任务的处理结果,该处理结果包括初始任务中全部数据中各数据对应的处理子结果。
本申请实施例提供的任务调度方法,目标执行器接收分布式系统的协调器发送的目标任务,按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。在本技术方案中,目标执行器在处理目标任务中的各数据时,会将各数据对应的处理子结果存储至数据库中,也就是将目标任务的处理进度存储至数据库中,以防止后续在目标任务出现问题时,其他的执行器可以继续执行该目标任务,提高后续的任务处理效率。
图4为本申请实施例提供的任务调度方法实施例三的流程示意图。如图4所示,该任务调度方法包括以下步骤:
S401、当检测到正在执行初始任务的执行器离线时,协调器获取执行器存储在数据库中的初始任务的处理进度。
其中,初始任务包括多条数据及每个数据对应的处理操作,处理进度为多条数据中已被处理的数据以及对应的处理子结果。
S402、协调器根据初始任务,从分布式系统的其他执行器中确定出目标执行器。
目标执行器是其他执行器中在线的且能够处理初始任务的执行器
S403、协调器根据初始任务以及处理进度,生成目标任务。
目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作。
S404、协调器将目标任务发送给目标执行器。
相应的,目标执行器则接收协调器发送的目标任务
S405、目标执行器按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
可选的,协调器还可以实时检测目标执行器的在线状态,以便在目标执行器离线后,能够根据目标任务中该目标协调器已处理的数据,生成新的目标任务,该新的目标任务包括目标任务中该目标协调器未处理的数据,并将该新的目标任务发送给新的目标执行器,以实现对目标任务从中断点处继续执行的目的。
本申请实施例提供的任务调度方法,当检测到正在执行初始任务的执行器离线时,协调器获取执行器存储在数据库中的初始任务的处理进度,根据初始任务,从分布式系统的其他执行器中确定出目标执行器,根据初始任务以及处理进度,生成目标任务,并将目标任务发送给目标执行器。目标执行器接收分布式系统的协调器发送的目标任务,按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。其中,初始任务包括多条数据及每个数据对应的处理操作,处理进度为多条数据中已被处理的数据以及对应的处理子结果,目标执行器是其他执行器中在线的且能够处理初始任务的执行器,目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作。本技术方案在初始任务执行中断后,协调器可以获取离线执行器对该初始任务的处理进度,从而确定出该初始任务中未被处理的数据,将该未被处理的数据通过新的执行器进行继续处理,有效节约了处理时间,提高了处理效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5为本申请实施例提供的任务调度装置实施例一的结构示意图。如图5所示,该任务调度装置500包括:
获取模块501,用于当检测到正在执行初始任务的执行器离线时,获取执行器存储在数据库中的初始任务的处理进度,初始任务包括多条数据及每个数据对应的处理操作,处理进度为多条数据中已被处理的数据以及对应的处理子结果。
第一处理模块502,用于根据初始任务,从分布式系统的其他执行器中确定出目标执行器,目标执行器是其他执行器中在线的且能够处理初始任务的执行器。
第二处理模块502,用于根据初始任务以及处理进度,生成目标任务,目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作。
发送模块503,用于将目标任务发送给目标执行器。
在本申请实施例的一种可能设计中,第一处理模块502,具体用于:
将存在临时节点的其他的执行器确定为在线执行器,临时节点是协调器与执行器建立长链接时生成的执行器对应的标识。
将能够处理初始任务的在线执行器,确定为目标执行器。
在本申请实施例的一种可能设计中,获取模块501,具体用于:
将初始任务发送至执行器。
实时检测执行器对应的临时节点是否被删除。
若执行器的临时节点被删除,则获取执行器存储在数据库中的初始任务的处理进度。
在本申请实施例的一种可能设计中,发送模块503,还用于:
将处理进度在数据库中的存储路径,发送给目标执行器。
本申请实施例提供的任务调度装置,可用于执行上述任一实施例中协调器侧的任务调度方法,其实现原理和技术效果类似,在此不再赘述。
图6为本申请实施例提供的任务调度装置实施例二的结构示意图。如图6所示,该任务调度装置600包括:
接收模块601,用于接收分布式系统的协调器发送的目标任务,目标任务包括初始任务中未被处理的数据及每个未被处理的数据对应的处理操作,初始任务包括多条数据及每个数据对应的处理操作。
处理模块602,用于按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
在本申请实施例的一种可能设计中,在按照目标任务中各未被处理的数据的处理顺序,依次对目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中之前,接收模块601,还用于:
接收协调器发送的存储路径,存储路径为数据库中用于存储初始任务的处理进度的路径,处理进度为初始任务的多条数据中已被处理的数据以及对应的处理子结果。
在本申请实施例的一种可能设计中,接收模块601,具体用于:
按照处理顺序,依次对目标任务中的各未被处理的数据执行对应的处理操作,获取每个未被处理的数据对应的处理子结果。
按照预设条件,将目标任务中的各未被处理的数据的处理子结果存储至数据库的存储路径中,预设条件与预设处理时长或预设的处理子结果数量有关。
本申请实施例提供的任务调度装置,可用于执行上述任一实施例中目标执行器侧的任务调度方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现。也可以全部以硬件的形式实现。还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外,这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图7为本申请实施例提供的一种协调器的结构示意图。如图7所示,该协调器12包括:
处理器701,存储器702,以及通信接口703。
存储器702用于存储处理器701的可执行指令。
其中,处理器701配置为经由执行可执行指令来执行前述任一方法实施例中的协调器侧的技术方案。
可选的,存储器702既可以是独立的,也可以跟处理器701集成在一起。
可选的,当存储器702是独立于处理器701之外的器件时,协调器12还可以包括:
总线,用于将上述器件连接起来。
该协调器用于执行前述任一方法实施例中协调器侧的技术方案,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的一种执行器的结构示意图。如图8所示,该执行器13包括:
处理器801,存储器802,显示器803以及通信接口804。
存储器802用于存储处理器的可执行指令。
其中,处理器801配置为经由执行可执行指令来执行前述任一实施例提供目标执行器侧的技术方案。
可选的,存储器802既可以是独立的,也可以跟处理器801集成在一起。
可选的,当存储器802是独立于处理器801之外的器件时,执行器13还可以包括:
总线,用于将上述器件连接起来。
该执行器用于执行前述任一方法实施例中目标执行器侧的技术方案,其实现原理和技术效果类似,在此不再赘述。
应理解,处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器可能包括随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤。而前述的存储器(存储介质)包括:只读存储器(read-only memory,ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(magnetic tape)、软盘(floppy disk)、光盘(optical disc)及其任意组合。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当该计算机执行指令在计算机上运行时,使得计算机执行上述任务调度方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
可选的,将可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中读取该计算机程序,至少一个处理器执行计算机程序时可实现上述任务调度方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种任务调度方法,其特征在于,应用于分布式系统的协调器,所述方法包括:
当检测到正在执行初始任务的执行器离线时,获取所述执行器存储在数据库中的所述初始任务的处理进度,所述初始任务包括多条数据及每个数据对应的处理操作,所述处理进度为所述多条数据中已被处理的数据以及对应的处理子结果;
根据所述初始任务,从分布式系统的其他执行器中确定出目标执行器,所述目标执行器是所述其他执行器中在线的且能够处理所述初始任务的执行器;
根据所述初始任务以及所述处理进度,生成目标任务,所述目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作;
将所述目标任务发送给所述目标执行器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初始任务,从分布式系统的其他执行器中确定出目标执行器,包括:
将存在临时节点的其他的执行器确定为在线执行器,所述临时节点是所述协调器与执行器建立长链接时生成的所述执行器对应的标识;
将能够处理所述初始任务的在线执行器,确定为所述目标执行器。
3.根据权利要求2所述的方法,其特征在于,所述当检测到正在执行初始任务的执行器离线时,获取所述执行器存储在数据库中的所述初始任务的处理进度,包括:
将所述初始任务发送至所述执行器;
实时检测所述执行器对应的临时节点是否被删除;
若所述执行器的临时节点被删除,则获取所述执行器存储在所述数据库中的所述初始任务的处理进度。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
将所述处理进度在所述数据库中的存储路径,发送给所述目标执行器。
5.一种任务调度方法,其特征在于,应用于分布式系统的目标执行器,所述方法包括:
接收所述分布式系统的协调器发送的目标任务,所述目标任务包括初始任务中未被处理的数据及每个未被处理的数据对应的处理操作,所述初始任务包括多条数据及每个数据对应的处理操作;
按照所述目标任务中各未被处理的数据的处理顺序,依次对所述目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
6.根据权利要求5所述的方法,其特征在于,在所述按照所述目标任务中各未被处理的数据的处理顺序,依次对所述目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中之前,所述方法还包括:
接收所述协调器发送的存储路径,所述存储路径为所述数据库中用于存储所述初始任务的处理进度的路径,所述处理进度为所述初始任务的多条数据中已被处理的数据以及对应的处理子结果。
7.根据权利要求6所述的方法,其特征在于,所述按照所述目标任务中各未被处理的数据的处理顺序,依次对所述目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中,包括:
按照所述处理顺序,依次对所述目标任务中的各未被处理的数据执行对应的处理操作,获取每个未被处理的数据对应的处理子结果;
按照预设条件,将所述目标任务中的各未被处理的数据的处理子结果存储至所述数据库的所述存储路径中,所述预设条件与预设处理时长或预设的处理子结果数量有关。
8.一种任务调度装置,其特征在于,应用于分布式系统的协调器,所述装置包括:
获取模块,用于当检测到正在执行初始任务的执行器离线时,获取所述执行器存储在数据库中的所述初始任务的处理进度,所述初始任务包括多条数据及每个数据对应的处理操作,所述处理进度为所述多条数据中已被处理的数据以及对应的处理子结果;
第一处理模块,用于根据所述初始任务,从分布式系统的其他执行器中确定出目标执行器,所述目标执行器是所述其他执行器中在线的且能够处理所述初始任务的执行器;
第二处理模块,用于根据所述初始任务以及所述处理进度,生成目标任务,所述目标任务包括初始任务中未被处理的数据以及每个未被处理的数据对应的处理操作;
发送模块,用于将所述目标任务发送给所述目标执行器。
9.一种任务调度装置,其特征在于,应用于分布式系统的目标执行器,所述装置包括:
接收模块,用于接收所述分布式系统的协调器发送的目标任务,所述目标任务包括初始任务中未被处理的数据及每个未被处理的数据对应的处理操作,所述初始任务包括多条数据及每个数据对应的处理操作;
处理模块,用于按照所述目标任务中各未被处理的数据的处理顺序,依次对所述目标任务中各未被处理的数据执行对应的处理操作,将各未被处理的数据对应的处理子结果存储至数据库中。
10.一种协调器,其特征在于,包括:处理器,通信接口,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至4任一项所述的方法。
11.一种执行器,其特征在于,包括:处理器,通信接口,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求5至7任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310423317.5A CN116450318A (zh) | 2023-04-19 | 2023-04-19 | 任务调度方法、装置、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310423317.5A CN116450318A (zh) | 2023-04-19 | 2023-04-19 | 任务调度方法、装置、设备、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450318A true CN116450318A (zh) | 2023-07-18 |
Family
ID=87119898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310423317.5A Pending CN116450318A (zh) | 2023-04-19 | 2023-04-19 | 任务调度方法、装置、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450318A (zh) |
-
2023
- 2023-04-19 CN CN202310423317.5A patent/CN116450318A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245900B (zh) | 一种分布式消息发送的处理系统及其处理方法 | |
CN103164523A (zh) | 数据一致性检查方法、装置及系统 | |
CN112446786A (zh) | 一种异常交易处理方法、装置、电子设备和可读存储介质 | |
CN111240892A (zh) | 数据备份方法及装置 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN111522744A (zh) | 业务测试方法、装置及计算机可读存储介质 | |
CN111541762A (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
CN110209556B (zh) | 容灾测试方法、支付方法、装置、介质及服务设备 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN111159298B (zh) | 业务请求处理方法、装置、电子设备及存储介质 | |
CN114691473A (zh) | 一种测试方法、装置与电子设备 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN110609707B (zh) | 在线数据处理系统生成方法、装置及设备 | |
CN116450318A (zh) | 任务调度方法、装置、设备、介质及程序产品 | |
CN111367694B (zh) | 事件处理方法、服务器及计算机存储介质 | |
CN105790975A (zh) | 一种业务处理操作的执行方法及装置 | |
CN114995982A (zh) | 任务处理方法、装置及存储介质 | |
CN114363211A (zh) | 一种灾备系统网络的网络连通验证方法及相关设备 | |
CN110085237B (zh) | 交互过程的恢复方法、装置及设备 | |
CN109446212B (zh) | 一种双活主机系统切换方法及系统 | |
CN108804214B (zh) | 一种异步任务的调度方法、装置以及电子设备 | |
CN110502460B (zh) | 数据处理的方法和节点 | |
CN110908821A (zh) | 任务失败管理的方法、装置、设备和存储介质 | |
CN113742093A (zh) | 一种消息处理方法、装置、设备和存储介质 | |
CN110704301A (zh) | Tpc-e自动化测试方法以及tpc-e测试系统 |
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 |