CN116860421A - 任务处理方法及任务处理系统 - Google Patents
任务处理方法及任务处理系统 Download PDFInfo
- Publication number
- CN116860421A CN116860421A CN202311135223.4A CN202311135223A CN116860421A CN 116860421 A CN116860421 A CN 116860421A CN 202311135223 A CN202311135223 A CN 202311135223A CN 116860421 A CN116860421 A CN 116860421A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- data identification
- execution
- scheduling
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 71
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 239000012634 fragment Substances 0.000 claims abstract description 56
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 23
- 230000004083 survival effect Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive 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
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了任务处理方法及任务处理系统。任务调度主机确定出执行目标批量任务的多个目标任务执行机,向多个目标任务执行机发送调度任务;目标任务执行机将构成目标批量任务的多个子任务依次作为目标子任务,基于目标子任务对应的第一数据标识集合生成第二数据标识集合,将目标子任务划分为多个任务分片,基于第二数据标识集合生成每个任务分片的第三数据标识集合,基于多线程机制执行多个任务分片,生成执行结果,在多个任务分片完成执行后,对执行结果进行合并。基于本申请公开的方案,能够极大地提高针对批量任务的处理效率。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种任务处理方法及任务处理系统。
背景技术
金融机构中广泛存在批量任务(也就是批处理任务)。例如:金融机构在每次切日后的封账期间,需要针对海量的用户执行息费计算、息费结息、生成账单等批量任务。目前,主要采用单机部署的方式处理批量任务,该方式存在处理速度较慢、执行时间较长的问题,也就是说,针对批量任务存在处理效率较低的问题。
发明内容
有鉴于此,本申请的目的在于提供一种任务处理方法及任务处理系统,以提高针对批量任务的处理效率。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请提供一种任务处理方法,任务处理系统包括任务调度主机和多个任务执行机,所述任务处理方法包括:
在满足预设条件的情况下,所述任务调度主机启动针对目标批量任务的任务调度服务,其中,所述目标批量任务由多个子任务构成;
所述任务调度主机确定出执行所述目标批量任务的多个目标任务执行机;
所述任务调度主机向所述多个目标任务执行机发送调度任务;
所述多个目标任务执行机响应所述调度任务,并行执行:
获取目标子任务对应的第一数据标识集合,基于所述第一数据标识集合生成第二数据标识集合,其中,将所述多个子任务中的各个子任务依次作为目标子任务,所述第二数据标识集合中的数据标识为所述第一数据标识集合中的数据标识的一部分,所述第一数据标识集合中任意一个数据标识仅属于一个所述第二数据标识集合;将所述目标子任务划分为多个任务分片,基于所述第二数据标识集合生成每个任务分片的第三数据标识集合,所述第三数据标识集合中的数据标识为所述第二数据标识集合中的数据标识的一部分,所述第二数据标识集合中任意一个数据标识仅属于一个所述任务分片的第三数据标识集合;基于多线程机制执行所述多个任务分片,其中,在执行任意一个任务分片的过程中,基于所述任务分片的第三数据标识集合获取业务数据,针对每条业务数据进行处理,生成执行结果;在所述多个任务分片完成执行后,对所述执行结果进行合并。
可选的,所述任务处理系统中的任务执行机配置有执行组名称,并且所述任务调度主机存储有所述任务执行机的执行组名称;
所述任务调度主机确定出执行所述目标批量任务的多个目标任务执行机,包括:所述任务调度主机获得所述目标批量任务的调度配置信息,所述调度配置信息包括目标执行组名称;所述任务调度主机将具有所述目标执行组名称的任务执行机确定为备选任务执行机;所述任务调度主机确定所述备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
可选的,在上述任务处理方法的基础上,进一步设置:
所述任务执行机向所述任务调度主机发送注册请求,所述注册请求包括所述任务执行机的执行组名称和网际互连协议地址;
所述任务调度主机保存所述任务执行机的执行组名称和网际互连协议地址。
可选的,所述任务调度主机保存所述任务执行机的执行组名称和网际互连协议地址,包括:
所述任务调度主机将具有相同执行组名称的任务执行机的网际互连协议地址保存于同一个地址集合中,且以所述执行组名称作为所述地址集合的标识。
可选的,所述基于所述第一数据标识集合生成第二数据标识集合,包括:
确定出所述第一数据标识集合中每个数据标识的取模序号,其中,所述数据标识的取模序号为:所述数据标识的哈希值与所述目标任务执行机的数量的取模运算的结果;
基于所述目标任务执行机的机器序号和所述第一数据标识集合中各个数据标识的取模序号,生成所述目标任务执行机的第二数据标识集合,其中,所述目标任务执行机的第二数据标识集合包含的数据标识的取模序号均为所述目标任务执行机的机器序号;
其中,各个目标任务执行机的机器序号依次为0,1,2,…,M-1,M为目标任务执行机的数量。
可选的,在上述任务处理方法的基础上,进一步设置:
所述目标任务执行机向所述任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息;
所述任务调度主机基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息。
第二方面,本申请提供一种任务处理系统,包括任务调度主机和多个任务执行机;
所述任务调度主机包括:
调度管理模块,用于在满足预设条件的情况下,启动针对目标批量任务的任务调度服务,其中,所述目标批量任务由多个子任务构成;确定出执行所述目标批量任务的多个目标任务执行机;向所述多个目标任务执行机发送调度任务;
所述任务执行机包括:
任务执行模块,用于响应所述调度任务,获取目标子任务对应的第一数据标识集合,基于所述第一数据标识集合生成第二数据标识集合,其中,将所述多个子任务中的各个子任务依次作为目标子任务,所述第二数据标识集合中的数据标识为所述第一数据标识集合中的数据标识的一部分,所述第一数据标识集合中任意一个数据标识仅属于一个所述第二数据标识集合;将所述目标子任务划分为多个任务分片,基于所述第二数据标识集合生成每个任务分片的第三数据标识集合,所述第三数据标识集合中的数据标识为所述第二数据标识集合中的数据标识的一部分,所述第二数据标识集合中任意一个数据标识仅属于一个所述任务分片的第三数据标识集合;基于多线程机制执行所述多个任务分片,其中,在执行任意一个任务分片的过程中,基于所述任务分片的第三数据标识集合获取业务数据,针对每条业务数据进行处理,生成执行结果;在所述多个任务分片完成执行后,对所述执行结果进行合并。
可选的,所述任务处理系统中的任务执行机配置有执行组名称,并且所述任务调度主机存储有所述任务执行机的执行组名称;所述调度管理模块确定执行所述目标批量任务的多个目标任务执行机,具体为:
获得所述目标批量任务的调度配置信息,所述调度配置信息包括目标执行组名称;将具有所述目标执行组名称的任务执行机确定为备选任务执行机;确定所述备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
可选的,所述任务调度主机还包括注册管理模块,所述任务执行机还包括注册模块;
所述注册模块用于:向所述任务调度主机发送注册请求,所述注册请求包括所述任务执行机的执行组名称和网际互连协议地址;
所述注册管理模块用于:保存所述任务执行机的执行组名称和网际互连协议地址。
可选的,所述任务调度主机还包括进度管理模块,所述任务执行机还包括信息管理模块;
所述信息管理模块用于:向所述任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息;
所述进度管理模块用于:基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息。
由此可见,本申请的有益效果为:
本申请公开的任务处理方法,在面对批量任务的情况下,任务调度主机确定出执行批量任务的多个任务执行机,向多个任务执行机发送调度任务,由多个任务执行机同时处理批量任务所涉及的业务数据,能够充分利用各个任务执行机的算力;并且,任务执行机将子任务划分为多个任务分片,基于多线程机制执行多个任务分片,能够最大化的使用单个任务执行机的算力。因此,基于本申请公开的任务处理方法,能够极大提高针对批量任务的处理效率。另外,能够很方便地进行横向扩展(设置更多的任务执行机处理批量任务)。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种任务处理系统的结构示意图;
图2为本申请公开的一种任务处理方法的流程图;
图3为本申请公开的另一种任务处理方法的流程图;
图4为本申请公开的任务处理系统中任务调度主机的结构示意图;
图5为本申请公开的任务处理系统中任务执行机的结构示意图。
具体实施方式
本申请公开一种任务处理方法及任务处理系统,以提高针对批量任务的处理效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
对本申请中出现的术语进行介绍:
切日:每日定时进行会计记账日期的切换;
封账:不进行联机交易记账处理;
RPC:Remote Procedure Call,远程过程调用;
IP:Internet Protocol,网际互连协议。
参见图1和图2,图1为本申请公开的一种任务处理系统的结构示意图,图2为本申请公开的一种任务处理方法的流程图。
图1所示的任务处理系统包括任务调度主机和多个任务执行机,其中,将任务调度主机记为100,将多个任务执行机依次记为201、202、…、20N,N为不小于2的整数。图1中还示出了数据库,数据库用于存储数据,数据库存储的数据至少包括与目标批量任务相关的业务数据,还包括下文中出现的第一数据标识集合。本申请不对数据库的类型进行限定。任务处理系统中的任务调度主机和任务执行机可以为实体计算设备,也可以为运行于实体计算设备中的软件。
本申请公开的任务处理方法包括:
S101:在满足预设条件的情况下,任务调度主机启动针对目标批量任务的任务调度服务。
本申请中,将待处理的批量任务称为目标批量任务。其中,目标批量任务由多个子任务构成。本申请中的子任务可以理解为目标批量任务所包含的任务步骤。例如:核息批量任务至少包括利息计提子任务和罚息计提子任务。
S102:任务调度主机确定出执行目标批量任务的多个目标任务执行机。
可以理解的是,目标任务执行机是任务处理系统所包含的任务执行机中,具备执行目标批量任务的能力的任务执行机。
S103:任务调度主机向多个目标任务执行机发送调度任务。
S104:目标任务执行机响应调度任务,将多个子任务中的一个子任务作为目标子任务。
S105:目标任务执行机获取目标子任务对应的第一数据标识集合,基于第一数据标识集合生成第二数据标识集合。
其中,第二数据标识集合中的数据标识为第一数据标识集合中的数据标识的一部分,第一数据标识集合中任意一个数据标识仅属于一个第二数据标识集合。也就是说,针对当前的目标子任务,每个目标任务执行机基于第一数据标识集合生成一个第二数据标识集合,第一数据标识集合中的任意一个数据标识仅属于一个第二数据标识集合,多个第二数据标识集合之间不存在重复的数据标识。
可选的,各目标任务执行机按照平均原则生成第二数据标识集合。也就是说,各个目标任务执行机的第二数据标识集合包含的数据标识的数量相同,或者存在允许的差值。可以理解的是,该差值是由第一数据标识集合包含的数据标识的数量不能被目标任务执行机的数量整除导致的。
实施中,构成目标批量任务的各个子任务,其对应的第一数据标识集合存储于数据库。相应的,目标任务执行机从数据库获取目标子任务对应的第一数据标识集合。
S106:目标任务执行机将目标子任务划分为多个任务分片,基于第二数据标识集合生成每个任务分片的第三数据标识集合。
其中,第三数据标识集合中的数据标识为第二数据标识集合中的数据标识的一部分,第二数据标识集合中任意一个数据标识仅属于一个任务分片的第三数据标识集合。也就是说,每个目标任务执行机将当前的目标子任务划分为多个任务分片,基于第二数据标识集合生成每个任务分片的第三数据标识集合,每个第二数据标识集合中任意一个数据标识仅属于一个任务分片的第三数据标识集合,多个第三数据标识集合之间不存在重复的数据标识。
可选的,目标任务执行机按照平均原则生成每个任务分片的第三数据标识集合。也就是说,同一个目标任务执行机中,各个任务分片的第三数据标识集合包含的数据标识的数量相同,或者存在允许的差值。可以理解的是,该差值是由第二数据标识集合包含的数据标识的数量不能被任务分片的数量整除导致的。
S107:目标任务执行机基于多线程机制执行多个任务分片。
其中,在执行任意一个任务分片的过程中,基于任务分片的第三数据标识集合从数据库获取业务数据,针对每条业务数据进行处理,生成执行结果。
S108:目标任务执行机在多个任务分片完成执行后,对执行结果进行合并。
S109:目标任务执行机判断目标批量任务是否有未处理的子任务,如果有未处理的子任务,则将一个未处理的子任务作为新的目标子任务,执行步骤S105。
需要说明的是,多个目标任务执行机并行执行上述的步骤S104至步骤S109。也就是说,多个目标任务执行机响应调度任务,并行执行:获取目标子任务对应的第一数据标识集合,基于第一数据标识集合生成第二数据标识集合,其中,将多个子任务中的各个子任务依次作为目标子任务;将目标子任务划分为多个任务分片,基于第二数据标识集合生成每个任务分片的第三数据标识集合;基于多线程机制执行多个任务分片,其中,在执行任意一个任务分片的过程中,基于任务分片的第三数据标识集合获取业务数据,针对每条业务数据进行处理,生成执行结果;在多个任务分片完成执行后,对执行结果进行合并。
本申请公开的任务处理方法,在面对批量任务的情况下,任务调度主机确定出执行批量任务的多个任务执行机,向多个任务执行机发送调度任务,由多个任务执行机同时处理批量任务所涉及的业务数据,能够充分利用各个任务执行机的算力;并且,任务执行机将子任务划分为多个任务分片,基于多线程机制执行多个任务分片,能够最大化的使用单个任务执行机的算力。因此,基于本申请公开的任务处理方法,能够极大提高针对批量任务的处理效率。另外,能够很方便地进行横向扩展(设置更多的任务执行机处理批量任务)。
在本申请公开的关于任务处理方法的另一个实施例中,任务处理系统中的任务执行机配置有执行组名称,并且,任务调度主机存储有任务执行机的执行组名称。
相应的,任务调度主机确定出执行目标批量任务的多个目标任务执行机,采用如下方案:
第一,任务调度主机获得目标批量任务的调度配置信息,调度配置信息包括目标执行组名称;
第二,任务调度主机将具有目标执行组名称的任务执行机确定为备选任务执行机;
第三,任务调度主机确定备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
可选的,任务调度主机向各备选任务执行机发送心跳请求,以确定各备选任务执行机是否处于存活状态。
在上述实施例中,技术人员基于任务执行机具备的功能配置其执行组名称,并且预先设置各个批量任务的调度配置信息,该调度配置信息至少包含目标执行组名称(即用于执行该批量任务的执行组名称)。任务调度主机启动针对目标批量任务的任务调度服务后,获得目标批量任务的调度配置信息,将具有调度配置信息所包含的目标执行组名称的任务执行机确定为备选任务执行机,进一步确定备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。基于上述技术方案,任务调度主机能够简单、快速地确定出执行目标批量任务的目标任务执行机。
可选的,在上述实施例的基础上,进一步设置:
任务执行机向任务调度主机发送注册请求,该注册请求包括任务执行机的执行组名称和IP地址;
任务调度主机保存任务执行机的执行组名称和IP地址。
也就是说,任务执行机在注册过程中,将自身的执行组名称和IP地址上报给任务调度主机,以便任务调度主机基于目标执行组名称查找备选任务执行机。
可选的,任务调度主机保存任务执行机的执行组名称和IP地址,采用如下方案:任务调度主机将具有相同执行组名称的任务执行机的IP地址保存于同一个地址集合,并且以前述相同的执行组名称作为该地址集合的标识。
需要说明的是,前述的地址集合还可以包含任务执行机的其他信息,例如,包含任务执行机的机器序号。
基于上述方案,任务调度主机获得目标执行组名称后,在存储的地址集合中查找以该目标执行组名称为标识的地址集合,就可以获取到备选任务执行机的IP地址,向各备选任务执行机发送心跳请求,以确定出各备选任务执行机是否处于存活状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
当然,在实施中,任务执行机也可以在其他时间节点向任务调度主机发送自身的执行组名称和IP地址。
作为另一种可选的实施方式,预先配置目标任务执行机的数量。相应的,任务调度主机确定出备选任务执行机的状态后,如果处于存活状态的备选任务执行机的数量超过前述配置的数量,那么从处于存活状态的备选任务执行机中选出前述数量的备选任务执行机,将选出的备选任务执行机确定为目标任务执行机。
在本申请公开的关于任务处理方法的另一个实施例中,目标任务执行机基于第一数据标识集合生成第二数据标识集合,采用如下方案:
第一,目标任务执行机确定出第一数据标识集合中每个数据标识的取模序号。其中,数据标识的取模序号为:数据标识的哈希值与目标任务执行机的数量的取模运算的结果。目标任务执行机的数量也就是目标任务执行机的总量。
第二,目标任务执行机基于自身的机器序号和第一数据标识集合中各个数据标识的取模序号,生成该目标任务执行机的第二数据标识集合。其中,目标任务执行机的第二数据标识集合包含的数据标识的取模序号均为该目标任务执行机的机器序号。各个目标任务执行机的机器序号依次为0,1,2,…,M-1,M为目标任务执行机的数量。
也就是说,各个目标任务执行机分别执行:针对第一数据标识集合中的每个数据标识,计算该数据标识的哈希值,对该数据标识的哈希值和目标任务执行机的数量进行取模运算,将取模运算的结果作为该数据标识的取模序号;如果数据标识的取模序号与自身的机器序号相同,那么将该数据标识加入自身的第二数据标识集合。例如:如果数据标识的取模序号为0,那么机器序号为0的目标任务执行机将该数据标识加入自身的第二数据标识集合;如果数据标识的取模序号为1,那么机器序号为1的目标任务执行机将该数据标识加入自身的第二数据标识集合。
需要说明的是,任务调度主机确定出执行目标批量任务的多个目标任务执行机后,在目标任务执行机仅包含备选任务执行机中的一部分的情况下,进一步设置以下步骤:任务调度主机向各目标任务执行机发送更新指示,更新指示包含目标任务执行机的新的机器序号,其中,各目标任务执行机新的机器序号依次为0,1,2,…,M-1,M为目标任务执行机的数量;各目标任务执行机基于接收到的更新指示所包含的机器序号更新自身的机器序号。
在上述实施例中,第一数据标识集合中的数据标识被均衡地分配到多个第二数据标识集合,且第一数据标识集合中的每个数据标识只会被分配到一个第二数据标识集合。基于此,多个目标任务执行机所需处理的业务数据的数量是均衡的,能够充分利用各个目标任务执行机的算力,提高了数据处理效率,且不会发生冲突。
在本申请公开的关于任务处理方法的另一个实施例中,还包括以下步骤:
目标任务执行机向任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息;
任务调度主机基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息。
可选的,在上述任务处理方法的基础上,进一步设置:
任务调度主机响应进度查询指令,输出任务处理进度信息。
其中,进度查询指令基于技术人员的操作产生。例如,任务调度主机的人机交互界面包含进度查询控件,技术人员选中该进度查询控件,从而产生进度查询指令。
可选的,任务调度主机输出任务处理进度信息包括以下操作中的一项或多项:通过人机交互界面显示任务处理进度信息;将任务处理进度信息发送至指定的终端。
可选的,子任务的执行状态信息包括指示子任务完成执行的信息。子任务的执行状态信息还可以包括:指示子任务执行超时或执行失败的信息。
可选的,任务分片的执行状态信息包括指示任务分片完成执行的信息。任务分片的执行状态信息还可以包括:指示任务分片执行超时或者执行失败的信息。
在上述实施例中,各个目标任务执行机向任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息,以便任务调度主机基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息,便于技术人员了解批量任务的处理进度。
下面对本申请公开的任务处理方法进行更详细的说明。参见图3,图3为本申请公开的另一种任务处理方法的流程图。
S301:任务执行机注册至任务调度主机。
任务执行机在服务启动时加载配置信息,该配置信息包括任务调度主机的IP地址、任务调度主机的端口号、任务执行机的执行组名称、以及注册方式。
任务执行机根据配置信息中的注册方式向任务调度主机发送RPC注册请求。其中,注册方式包括自动注册和手动注册。如果配置信息中的注册方式为自动注册,那么任务执行机自动向任务调度主机发送RPC注册请求。如果配置信息中的注册方式为手动注册,那么任务执行机在接收到技术人员执行的指示注册的操作后,向任务调度主机发送RPC注册请求。任务执行机发送的RPC注册请求包括任务执行机的执行组名称和IP地址。
任务调度主机接收到RPC注册请求后,保存该任务执行机的执行组名称、IP地址和机器序号。如果注册失败,那么任务执行机无法启动服务。无论注册是否成功,任务调度主机均将注册结果保存至注册日志。
可选的,任务调度主机将具有相同执行组名称的任务执行机的IP地址和机器序号保存于同一个地址集合中,以该执行组名称作为该地址集合的标识。
这里对任务执行机的机器序号进行说明。具有相同执行组名称的多个任务执行机,按照注册的先后顺序,机器序号依次为0,1,2,…,P-1,其中P为具有相同执行组名称的任务执行机的数量。可选的,由任务调度主机确定任务执行机的机器序号。可选的,任务调度主机向任务执行机发送其注册序号,由任务执行机基于该注册序号生成自身的机器序号。
S302:在满足预设条件时,任务调度主机启动针对目标批量任务的任务调度服务。
在一种可能的实现方式中,任务调度主机根据调度配置信息中的调度时间定时启动针对目标批量任务的调度服务。其中,调度配置信息包括:调度名称、调度时间、调度策略算法(指示批量任务由多机执行或者由单机执行)、目标执行组名称、调度任务执行处理类和调度任务参数。调度配置信息还可以包括超时时间和阻塞方式。
在另一种可能的实现方式中,任务调度主机响应任务处理请求,启动针对目标批量任务的任务调度服务。例如,技术人员根据需求向任务调度主机发送任务处理请求,以触发任务调度主机启动针对目标批量任务的任务调度服务。其中,任务处理请求携带有调度策略算法、目标执行组名称、调度任务执行处理类和调度任务参数。调度配置信息还可以包括超时时间和阻塞方式。
其中,目标执行组名称是指:执行批量任务所需的执行组的名称。调度任务执行处理类用于监听任务调度主机的任务执行请求,并进行任务执行处理。超时时间是指:如果在该超时时间内未接收到任务执行机的响应,则确定调度失败。阻塞方式包括丢弃请求和覆盖请求。丢弃请求是指:当任务调度主机发起调度任务时,如果任务执行机有处理中的调度任务,则任务调度主机不再发起该调度任务。覆盖请求是指:当任务调度主机发起调度任务时,如果任务执行机有处理中的调度任务,则覆盖任务执行机正在处理的调度任务,向任务执行机发起新的调度任务。调度任务参数至少包括批量日期、回调任务实例序号和随机数。
S303:任务调度主机确定出执行目标批量任务的目标任务执行机。
S304:任务调度主机向目标任务执行机发送调度任务。
1)、任务调度主机查找备选任务执行机。其中,将具有前述目标执行组名称的任务执行机作为备选任务执行机。如果任务调度主机查找到备选任务执行机,则执行后续操作,如果任务调度主机未查找到备选任务执行机,则本次任务调度失败。无论是否查找到备选任务执行机,任务调度主机均将查找结果保存至任务调度日志。
可选的,任务调度主机查找以目标执行组名称为标识的地址集合。如果任务调度主机获取到以目标执行组名称为标识的地址集合,则执行后续操作,如果任务调度主机未获取到以目标执行组名称为标识的地址集合,则本次任务调度失败。
2)、任务调度主机在查找到备选任务执行机的情况下,判断调度策略算法是否为数据分发广播请求。
3)、如果调度策略算法不是数据分发广播请求(也就是说,指示批量任务由单机执行),那么任务调度主机从前述备选任务执行机中随机选取一个备选任务执行机,判断选取的备选任务执行机是否处于存活状态,如果处于存活状态,则向该备选任务执行机发送调度任务,如果未处于存活状态,则本次任务调度失败。在等待预设时长后,任务调度主机再次执行从前述备选任务执行机中随机选取一个备选任务执行机,判断选取的备选任务执行机是否处于存活状态的操作,直至选取的备选任务执行机处于存活状态,向该备选任务执行机发送调度任务。
其中,任务调度主机发送的调度任务携带有调度参数,该调度参数包括:调度策略算法、调度任务执行处理类和调度任务参数。
4)、如果调度策略算法是数据分发广播请求(也就是说,指示批量任务由多机执行),那么任务调度主机确定出前述备选任务执行机中处于存活状态的任务执行机,分别向各个处于存活状态的任务执行机(即目标任务执行机)发送调度任务。
作为一种可选的实施方式,任务调度主机向各备选任务执行机发送心跳请求,以确定各备选任务执行机是否处于存活状态。
可选的,任务调度主机按照机器序号从大到小或从小到大的顺序,对多个目标任务执行机进行排序,向排序后的多个目标任务执行机逐个发送调度任务。
其中,任务调度主机向目标任务执行机发送的调度任务携带有调度参数,该调度参数包括:调度策略算法、调度任务执行处理类、调度任务参数、目标执行组名称、目标任务执行机的数量、以及目标任务执行机的机器序号。
S305:目标任务执行机响应接收到的调度任务,执行调度任务。
以其中一个目标任务执行机执行调度任务为例,包括:
目标任务执行机判断该调度任务的调度参数中的调度策略算法是否为数据分发广播请求。
如果不是数据分发广播请求(即指示由单机执行目标批量任务),那么目标任务执行机将调度参数中的调度任务参数添加至任务执行上下文的数据参数中,基于新的任务执行上下文执行任务。任务执行上下文可以理解为:任务执行模块的任务执行代码上下文处理,穿插在整个任务执行期间。
如果是数据分发广播请求(即指示由多机执行目标批量任务),那么目标任务执行机将调度参数中的调度任务参数、目标任务执行机的数量和本机的机器序号添加至任务执行上下文的数据参数中。之后,目标任务执行机将构成目标批量任务的多个子任务中的一个子任务作为目标子任务,从数据库获取该目标子任务对应的第一数据标识集合,基于第一数据标识集合、目标任务执行机的数量和本机的机器序号,生成本机的第二数据标识集合。
需要说明的是,在调度策略算法是数据分发广播请求的情况下,任务调度主机分别向各个目标任务执行机发送调度任务,通常情况下,目标任务执行机的数量为多个。也就是说,在调度策略算法是数据分发广播请求的情况下,将会由多个任务执行机来处理目标批量任务。
可以理解的是,第一数据标识集合包含与目标批量任务相关的全部业务数据的标识,而每个目标任务执行机生成的第二数据标识集合仅包含第一数据标识集合中的部分数据标识。需要说明的是,各个目标任务执行机生成的第二数据标识集合之间,不存在重复的数据标识,也就是说,第一数据标识集合中的数据标识只存在于一个目标任务执行机生成的第二数据标识集合中。
这里以目标批量任务为针对目标用户的核息批量任务为例,核息批量任务至少包括利息计提子任务和罚息计提子任务,其中,利息计提子任务包括针对10万个用户的利息计提,罚息计提子任务包括针对2万个用户的罚息计提。假设目标任务执行机的数量为5个,当前的目标子任务为利息计提子任务,第一数据标识集合包括10万个用户的业务数据的标识,那么每个目标任务执行机生成的第二数据标识集合包括2万个用户的业务数据的标识,且各个目标任务执行机生成的第二数据标识集合之间,不存在重复的数据标识。
作为一种可能的实现方式,目标任务执行机基于第一数据标识集合、目标任务执行机的数量和本机的机器序号,生成本机的第二数据标识集合,采用如下方案:
1)、创建第二数据标识集合。可以理解的是,初始状态下,第二数据标识集合为空。
2)、针对第一数据标识集合中的每个数据标识,对该数据标识的哈希值和目标任务执行机的数量进行取模运算,将取模运算的结果作为数据标识的取模序号。
3)、将取模序号与本机的机器序号相同的数据标识添加入第二数据标识集合。
需要说明的是,任务调度主机确定出执行目标批量任务的多个目标任务执行机后,在目标任务执行机仅包含备选任务执行机中的一部分的情况下,进一步设置以下步骤:任务调度主机向各目标任务执行机发送更新指示,更新指示包含目标任务执行机的新的机器序号,其中,各目标任务执行机新的机器序号依次为0,1,2,…,M-1,M为目标任务执行机的数量;各目标任务执行机基于接收到的更新指示所包含的机器序号更新自身的机器序号。
基于上述方案,目标批量任务相关的业务数据的标识被均衡地分配给多个目标任务执行机,且每个业务数据的标识只会被分配给一个目标任务执行机,基于此,能够充分利用各个目标任务执行机的算力,提高了数据处理效率,而且不会发生冲突。
目标任务执行机基于多线程机制,对第二数据标识集合包含的数据标识所指示的业务数据分别进行处理。具体的:
1)、目标任务执行机判断是否对当前的目标子任务进行任务分片处理。
实施中,基于配置信息确定是否对目标子任务进行任务分片处理。该配置信息由技术人员设定。如果不需要进行任务分片处理,则直接执行目标子任务。如果需要进行任务分片处理,则执行2)。
2)、目标任务执行机按照预设的分片规则将目标子任务划分为多个任务分片。
需要说明的是,针对目标子任务划分得到的多个任务分片,基于相同的逻辑运算规则对业务数据进行处理,并生成执行结果。例如,针对利息计提子任务划分得到的多个任务分片,用于核算用户的利息。任务分片的数量是预先配置的。
3)、目标任务执行机基于第二数据标识集合生成每个任务分片的第三数据标识集合,保存各个任务分片的标识与第三数据标识集合的对应关系。
例如,目标任务执行机按照平均原则,基于第二数据标识集合生成每个任务分片的第三数据标识集合。
可选的,目标任务执行机基于第二数据标识集合生成每个任务分片的第三数据标识集合,采用如下方案:
A1:目标任务执行机确定出第二数据标识集合包含的数据标识的数量。
A2:目标任务执行机确定出每个任务分片所需处理数据的数量。
A3:任务执行机生成每个任务分片的标识,并基于每个任务分片所需处理数据的数量,确定出每个任务分片对应的第三数据标识集合。
可选的,第一个任务分片至第Q-1个任务分片所需处理数据的数量为:第二数据标识集合包含的数据标识的数量与任务分片的数量的比值再加1。第Q个任务分片所需处理数据的数量为:第二数据标识集合包含的数据标识的数量减去第一个任务分片至第Q-1个任务分片所需处理数据的数量的总和。其中,Q为任务分片的数量。
例如:第二数据标识集合包含10000条业务数据的标识,任务分片的数量为5。那么第一个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为0至2000的数据标识;第二个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为2001至4001的数据标识;第三个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为4002至6002的数据标识;第四个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为6003至8003的数据标识;第五个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为8004至9999的数据标识。
可选的,第一个任务分片至第Q-1个任务分片所需处理数据的数量为:第二数据标识集合包含的数据标识的数量与任务分片的数量的比值。第Q个任务分片所需处理的数据的数量为:第二数据标识集合包含的数据标识的数量减去第一个任务分片至第Q-1个任务分片所需处理数据的数量的总和。
例如:第二数据标识集合包含10000条业务数据的标识,任务分片的数量为5。那么第一个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为0至1999的数据标识;第二个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为2000至3999的数据标识;第三个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为4000至5999的数据标识;第四个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为6000至7999的数据标识;第五个任务分片对应的第三数据标识集合所包含的数据标识为:第二数据标识集合中序号为8000至9999的数据标识。
4)、目标任务执行机将任务分片放置入线程池,基于多线程机制执行多个任务分片。其中,在执行任意一个任务分片的过程中,基于任务分片的第三数据标识集合从数据库获取业务数据,针对每条业务数据进行处理,生成执行结果。
5)、目标任务处理机对各任务分片的执行结果进行合并,以形成针对当前的目标子任务的执行结果。
之后,目标任务执行机判断目标批量任务是否还有未处理的子任务,如果有未处理的子任务,则将未处理的子任务作为新的目标子任务,执行前文中公开的处理过程。
需要说明的是,目标任务执行机需要等待各任务分片的执行结果,对各任务分片的执行结果进行合并,以生成当前的目标子任务的执行结果。如果其中的一个任务分片执行失败,则当前的目标子任务执行失败,终止当前的目标子任务的执行,如果全部任务分片均执行成功,则当前的目标子任务执行成功,进行下一子任务的处理。
以核息批量任务为例,目标任务执行机先将利息计提子任务作为目标子任务,基于前文公开的方案处理利息计提子任务;目标任务执行机完成针对核息计提子任务的处理后,将罚息计提子任务作为新的目标子任务,基于前文公开的方案处理罚息计提子任务;目标任务执行机完成针对罚息计提子任务的处理后,将构成核息批量任务的另一子任务作为新的目标子任务,以此类推。
本申请还公开一种任务处理系统,包括任务调度主机和多个任务执行机。参见图4和图5,图4为本申请公开的任务处理系统中任务调度主机的结构示意图,图5为本申请公开的任务处理系统中任务执行机的结构示意图。
任务调度主机包括调度管理模块1001。
调度管理模块1001用于:在满足预设条件的情况下,启动针对目标批量任务的任务调度服务,其中,目标批量任务由多个子任务构成;确定出执行目标批量任务的多个目标任务执行机;向多个目标任务执行机发送调度任务。
任务执行机包括任务执行模块2001。
任务执行模块2001用于:响应调度任务,获取目标子任务对应的第一数据标识集合,基于第一数据标识集合生成第二数据标识集合,其中,将多个子任务中的各个子任务依次作为目标子任务,第二数据标识集合中的数据标识为第一数据标识集合中的数据标识的一部分,第一数据标识集合中任意一个数据标识仅属于一个第二数据标识集合;将目标子任务划分为多个任务分片,基于第二数据标识集合生成每个任务分片的第三数据标识集合,第三数据标识集合中的数据标识为第二数据标识集合中的数据标识的一部分,第二数据标识集合中任意一个数据标识仅属于一个任务分片的第三数据标识集合;基于多线程机制执行多个任务分片,其中,在执行任意一个任务分片的过程中,基于任务分片的第三数据标识集合获取业务数据,针对每条业务数据进行处理,生成执行结果;在多个任务分片完成执行后,对执行结果进行合并。
可选的,任务处理系统中的任务执行机配置有执行组名称,并且任务调度主机存储有各个任务执行机的执行组名称。
相应的,调度管理模块1001确定执行目标批量任务的多个目标任务执行机,具体为:获得目标批量任务的调度配置信息,调度配置信息包括目标执行组名称;将具有目标执行组名称的任务执行机确定为备选任务执行机;确定备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
可选的,任务调度主机还包括注册管理模块1002,任务执行机还包括注册模块2002。
注册模块2002用于:向任务调度主机发送注册请求,注册请求包括任务执行机的执行组名称和IP地址。
注册管理模块1002用于:保存任务执行机的执行组名称和IP地址。
可选的,注册管理模块1002具体用于:将具有相同执行组名称的任务执行机的IP地址保存于同一个地址集合中,且以该执行组名称作为地址集合的标识。
可选的,任务调度主机还包括进度管理模块1003,任务执行机还包括信息管理模块2003。
信息管理模块2003用于:向任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息。
进度管理模块1003用于:基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息。
可选的,子任务的执行状态信息包括指示子任务完成执行的信息。子任务的执行状态信息还可以包括:指示子任务执行超时或执行失败的信息。
可选的,任务分片的执行状态信息包括指示任务分片完成执行的信息。任务分片的执行状态信息还可以包括:指示任务分片执行超时或者执行失败的信息。
可选的,进度管理模块1003还用于:响应进度查询指令,输出任务处理进度信息。
可选的,任务执行模块2001基于第一数据标识集合生成第二数据标识集合,具体为:
确定出第一数据标识集合中每个数据标识的取模序号,其中,数据标识的取模序号为:数据标识的哈希值与目标任务执行机的数量的取模运算的结果;基于目标任务执行机的机器序号和第一数据标识集合中各个数据标识的取模序号,生成目标任务执行机的第二数据标识集合,其中,目标任务执行机的第二数据标识集合包含的数据标识的取模序号均为该目标任务执行机的机器序号;其中,各个目标任务执行机的机器序号依次为0,1,2,…,M-1,M为目标任务执行机的数量。
需要说明的是,说明书中的各个实施例记载的技术特征可以相互替代或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请各实施例装置及设备中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。各个实施例中的各技术特征可以排列组合构成新的实施例。对于实施例公开的任务处理系统而言,由于其与实施例公开的任务处理方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种任务处理方法,其特征在于,任务处理系统包括任务调度主机和多个任务执行机,所述任务处理方法包括:
在满足预设条件的情况下,所述任务调度主机启动针对目标批量任务的任务调度服务,其中,所述目标批量任务由多个子任务构成;
所述任务调度主机确定出执行所述目标批量任务的多个目标任务执行机;
所述任务调度主机向所述多个目标任务执行机发送调度任务;
所述多个目标任务执行机响应所述调度任务,并行执行:
获取目标子任务对应的第一数据标识集合,基于所述第一数据标识集合生成第二数据标识集合,其中,将所述多个子任务中的各个子任务依次作为目标子任务,所述第二数据标识集合中的数据标识为所述第一数据标识集合中的数据标识的一部分,所述第一数据标识集合中任意一个数据标识仅属于一个所述第二数据标识集合;将所述目标子任务划分为多个任务分片,基于所述第二数据标识集合生成每个任务分片的第三数据标识集合,所述第三数据标识集合中的数据标识为所述第二数据标识集合中的数据标识的一部分,所述第二数据标识集合中任意一个数据标识仅属于一个所述任务分片的第三数据标识集合;基于多线程机制执行所述多个任务分片,其中,在执行任意一个任务分片的过程中,基于所述任务分片的第三数据标识集合获取业务数据,针对每条业务数据进行处理,生成执行结果;在所述多个任务分片完成执行后,对所述执行结果进行合并。
2.根据权利要求1所述的任务处理方法,其特征在于,所述任务处理系统中的任务执行机配置有执行组名称,并且所述任务调度主机存储有所述任务执行机的执行组名称;
所述任务调度主机确定出执行所述目标批量任务的多个目标任务执行机,包括:所述任务调度主机获得所述目标批量任务的调度配置信息,所述调度配置信息包括目标执行组名称;所述任务调度主机将具有所述目标执行组名称的任务执行机确定为备选任务执行机;所述任务调度主机确定所述备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
3.根据权利要求2所述的任务处理方法,其特征在于,还包括:
所述任务执行机向所述任务调度主机发送注册请求,所述注册请求包括所述任务执行机的执行组名称和网际互连协议地址;
所述任务调度主机保存所述任务执行机的执行组名称和网际互连协议地址。
4.根据权利要求3所述的任务处理方法,其特征在于,所述任务调度主机保存所述任务执行机的执行组名称和网际互连协议地址,包括:
所述任务调度主机将具有相同执行组名称的任务执行机的网际互连协议地址保存于同一个地址集合中,且以所述执行组名称作为所述地址集合的标识。
5.根据权利要求1所述的任务处理方法,其特征在于,所述基于所述第一数据标识集合生成第二数据标识集合,包括:
确定出所述第一数据标识集合中每个数据标识的取模序号,其中,所述数据标识的取模序号为:所述数据标识的哈希值与所述目标任务执行机的数量的取模运算的结果;
基于所述目标任务执行机的机器序号和所述第一数据标识集合中各个数据标识的取模序号,生成所述目标任务执行机的第二数据标识集合,其中,所述目标任务执行机的第二数据标识集合包含的数据标识的取模序号均为所述目标任务执行机的机器序号;
其中,各个目标任务执行机的机器序号依次为0,1,2,…,M-1,M为目标任务执行机的数量。
6.根据权利要求1所述的任务处理方法,其特征在于,还包括:
所述目标任务执行机向所述任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息;
所述任务调度主机基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息。
7.一种任务处理系统,其特征在于,包括任务调度主机和多个任务执行机;
所述任务调度主机包括:
调度管理模块,用于在满足预设条件的情况下,启动针对目标批量任务的任务调度服务,其中,所述目标批量任务由多个子任务构成;确定出执行所述目标批量任务的多个目标任务执行机;向所述多个目标任务执行机发送调度任务;
所述任务执行机包括:
任务执行模块,用于响应所述调度任务,获取目标子任务对应的第一数据标识集合,基于所述第一数据标识集合生成第二数据标识集合,其中,将所述多个子任务中的各个子任务依次作为目标子任务,所述第二数据标识集合中的数据标识为所述第一数据标识集合中的数据标识的一部分,所述第一数据标识集合中任意一个数据标识仅属于一个所述第二数据标识集合;将所述目标子任务划分为多个任务分片,基于所述第二数据标识集合生成每个任务分片的第三数据标识集合,所述第三数据标识集合中的数据标识为所述第二数据标识集合中的数据标识的一部分,所述第二数据标识集合中任意一个数据标识仅属于一个所述任务分片的第三数据标识集合;基于多线程机制执行所述多个任务分片,其中,在执行任意一个任务分片的过程中,基于所述任务分片的第三数据标识集合获取业务数据,针对每条业务数据进行处理,生成执行结果;在所述多个任务分片完成执行后,对所述执行结果进行合并。
8.根据权利要求7所述的任务处理系统,其特征在于,所述任务处理系统中的任务执行机配置有执行组名称,并且所述任务调度主机存储有所述任务执行机的执行组名称;所述调度管理模块确定执行所述目标批量任务的多个目标任务执行机,具体为:
获得所述目标批量任务的调度配置信息,所述调度配置信息包括目标执行组名称;将具有所述目标执行组名称的任务执行机确定为备选任务执行机;确定所述备选任务执行机的状态,将处于存活状态的备选任务执行机确定为目标任务执行机。
9.根据权利要求8所述的任务处理系统,其特征在于,所述任务调度主机还包括注册管理模块,所述任务执行机还包括注册模块;
所述注册模块用于:向所述任务调度主机发送注册请求,所述注册请求包括所述任务执行机的执行组名称和网际互连协议地址;
所述注册管理模块用于:保存所述任务执行机的执行组名称和网际互连协议地址。
10.根据权利要求7所述的任务处理系统,其特征在于,所述任务调度主机还包括进度管理模块,所述任务执行机还包括信息管理模块;
所述信息管理模块用于:向所述任务调度主机发送子任务的执行状态信息和任务分片的执行状态信息;
所述进度管理模块用于:基于接收到的子任务的执行状态信息和任务分片的执行状态信息生成任务处理进度信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311135223.4A CN116860421B (zh) | 2023-09-05 | 2023-09-05 | 任务处理方法及任务处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311135223.4A CN116860421B (zh) | 2023-09-05 | 2023-09-05 | 任务处理方法及任务处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116860421A true CN116860421A (zh) | 2023-10-10 |
CN116860421B CN116860421B (zh) | 2024-07-12 |
Family
ID=88219486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311135223.4A Active CN116860421B (zh) | 2023-09-05 | 2023-09-05 | 任务处理方法及任务处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860421B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155930A (zh) * | 2023-11-01 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 分布式系统的节点确定方法、任务处理方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427670A (zh) * | 2019-01-09 | 2020-07-17 | 北京京东尚科信息技术有限公司 | 任务调度方法和系统 |
US20230025917A1 (en) * | 2020-04-01 | 2023-01-26 | Huawei Technologies Co., Ltd. | Task scheduling method and apparatus |
CN116010065A (zh) * | 2023-02-10 | 2023-04-25 | 北京百度网讯科技有限公司 | 分布式任务调度方法、装置以及设备 |
-
2023
- 2023-09-05 CN CN202311135223.4A patent/CN116860421B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427670A (zh) * | 2019-01-09 | 2020-07-17 | 北京京东尚科信息技术有限公司 | 任务调度方法和系统 |
US20230025917A1 (en) * | 2020-04-01 | 2023-01-26 | Huawei Technologies Co., Ltd. | Task scheduling method and apparatus |
CN116010065A (zh) * | 2023-02-10 | 2023-04-25 | 北京百度网讯科技有限公司 | 分布式任务调度方法、装置以及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155930A (zh) * | 2023-11-01 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 分布式系统的节点确定方法、任务处理方法及相关装置 |
CN117155930B (zh) * | 2023-11-01 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 分布式系统的节点确定方法、任务处理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116860421B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958920B (zh) | 一种分布式任务调度方法及系统 | |
CN116860421B (zh) | 任务处理方法及任务处理系统 | |
CN108156236B (zh) | 业务请求处理方法、装置、计算机设备和存储介质 | |
US9218210B2 (en) | Distributed processing system | |
CN111526186A (zh) | 基于Raft的分布式服务器集群配置方法 | |
WO2001065357A1 (en) | Processing load distribution techniques for call centers and other processing systems | |
CN107861811B (zh) | 工作流系统中的任务信息传输方法、装置和计算机设备 | |
CN111478795B (zh) | 一种基于混合拜占庭容错的联盟区块链网络共识方法 | |
CN110830608B (zh) | 一种全局唯一标识符生成方法、装置、设备及存储介质 | |
CN112073483A (zh) | 基于信誉与委员会背书机制的权威证明共识方法及系统 | |
CN106407395B (zh) | 数据查询的处理方法及装置 | |
CN101610173A (zh) | 一种对多网元进行数据配置的方法和网管服务器 | |
CN109213584B (zh) | 任务执行方法、装置、电子设备及计算机可读存储介质 | |
CN111210340A (zh) | 一种自动任务处理方法、装置、服务器及存储介质 | |
CN113064696A (zh) | 集群的系统扩容方法、设备及介质 | |
CN113342526A (zh) | 云计算移动网络资源动态管控方法、系统、终端及介质 | |
CN117252554A (zh) | 基于决策引擎的业务流程互斥控制方法以及系统 | |
CN114912839B (zh) | 工单并发调度方法、装置、设备及存储介质 | |
CN114493602B (zh) | 区块链交易的执行方法、装置、电子设备和存储介质 | |
CN111309397B (zh) | 数据分配方法、装置、服务器及存储介质 | |
CN109725994B (zh) | 数据抽取任务执行方法、装置、终端及可读存储介质 | |
CN111984424A (zh) | 任务处理方法、装置、设备及计算机可读存储介质 | |
CN113204434B (zh) | 基于k8s的计划任务执行方法、装置及计算机设备 | |
CN112612590A (zh) | 批量调度系统 | |
CN111309467A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |