CN117421111A - 一种消息任务的批处理方法、系统、设备及介质 - Google Patents
一种消息任务的批处理方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117421111A CN117421111A CN202311336947.5A CN202311336947A CN117421111A CN 117421111 A CN117421111 A CN 117421111A CN 202311336947 A CN202311336947 A CN 202311336947A CN 117421111 A CN117421111 A CN 117421111A
- Authority
- CN
- China
- Prior art keywords
- slicing
- tasks
- task
- batch processing
- message
- 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 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 40
- 239000012634 fragment Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000013307 optical fiber Substances 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
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
技术领域
本发明涉及任务处理技术领域,尤其是一种消息任务的批处理方法、系统、设备及介质。
背景技术
近年来,随着互联网行业的日益发展,各厂商保有的数据量在不断增多,需要批量操作场景越来越多,因此,异步批量处理技术愈发受到各厂商的青睐。
目前,现有的单机异步批处理方案通常是以单机串行的方式运行,该种方式的处理速度较慢,处理效率较低;另外,通过单机串行的方式进行异步批处理,其程序代码高度耦合在一起,代码复用性较差;还有,单个批次任务在某个流程步骤执行异常,或者,服务器资源紧张导致停机时,整个批次任务就会中断,进度卡顿,服务稳定性较低。
因此,现有技术存在的问题还亟需解决和优化。
发明内容
本发明的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
为此,本发明实施例的第一个目的在于提供一种消息任务的批处理方法,该方法可以有效提高批处理任务的处理效率,提高代码复用性和稳定性,有效减少进度卡顿的情况。
本申请实施例的第二个目的在于提供一种消息任务的批处理系统。
为了达到上述技术目的,本申请实施例所采取的技术方案包括:
第一方面,本申请实施例提供了一种消息任务的批处理方法,用于分片生成器,所述批处理方法包括:
获取来自业务端的批处理任务;
对所述批处理任务进行分片处理,得到若干个分片任务;
将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
另外,根据本申请上述实施例的消息任务的批处理方法,还可以具有以下附加的技术特征:
进一步地,在本申请的一个实施例中,所述对所述批处理任务进行分片处理,得到若干个分片任务,包括:
获取预设的任务分片规则;
根据所述任务分片规则,对所述批处理任务进行异步分片处理,得到若干个中间任务;
对若干个所述中间任务进行类目指定处理,得到若干个所述分片任务。
进一步地,在本申请的一个实施例中,所述批处理方法还包括:
获取预设的补偿规则,以及数据库中的第一分片任务的执行状态;
对所述补偿规则和所述第一分片任务的执行状态进行比较处理,得到比较结果;
若所述比较结果为是,则将所述第一分片任务重传至所述消息中间件。
第二方面,本申请实施例提供了一种消息任务的批处理方法,用于分片执行器,所述批处理方法包括:
接收并执行消息中间件并行分发的分片任务;
其中,所述分片任务通过以下步骤得到:
分片生成器获取来自业务端的批处理任务;
所述分片生成器对所述批处理任务进行分片处理,得到若干个所述分片任务;
所述分片生成器将若干个所述分片任务传输至所述消息中间件;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
进一步地,在本申请的一个实施例中,所述执行消息中间件并行分发的分片任务,包括:
对所述分片任务进行锁定处理,得到第二分片任务;
执行所述第二分片任务,并根据所述第二分片任务的执行进度更新数据库中的所述第二分片任务的执行状态。
进一步地,在本申请的一个实施例中,所述批处理方法还包括:
对当前的第二分片任务进行末任判断处理,得到判断结果;
若所述判断结果为是,则获取数据库中的所有所述第二分片任务的执行状态;
对所有所述第二分片任务的执行状态聚合处理,得到批处理结果。
进一步地,在本申请的一个实施例中,所述批处理方法,还包括:
获取预设的重试规则,所述重试规则包括重试次数、重试间隔和重试策略;
根据所述重试规则,对第三分片任务进行失败重试处理,得到重试结果,所述第三分片任务用于表征当前执行失败的分片任务;
若所述重试结果为失败,则移除所述第三分片任务,并根据所述重试结果更新数据库中的所述第三分片任务的执行状态。
第三方面,本申请实施例提供了一种消息任务的批处理系统,用于分片生成器,所述分片生成器用于和至少一个分片执行器通信连接,所述系统包括:
获取单元,用于获取来自业务端的批处理任务;
分片单元,用于对所述批处理任务进行分片处理,得到若干个分片任务;
传输单元,用于将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
第四方面,本申请实施例还提供了一种计算机设备,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述方面所述的方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由所述处理器执行时用于实现上述方面所述的方法。
本申请的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到:
本申请实施例所公开的一种消息任务的批处理方法、系统、设备及介质,其中,该批处理方法通过获取来自业务端的批处理任务;对所述批处理任务进行分片处理,得到若干个分片任务;将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。该批处理方法可以有效提高批处理任务的处理效率,提高代码复用性和稳定性,有效减少进度卡顿的情况。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表达本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本申请实施例提供的一种消息任务的批处理方法的流程示意图;
图2为本申请实施例提供的一种消息任务的批处理系统的结构示意图;
图3为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
目前,现有的单机异步批处理方案通常是以单机串行的方式运行,该种方式的处理速度较慢,处理效率较低;另外,通过单机串行的方式进行异步批处理,其程序代码高度耦合在一起,代码复用性较差;还有,单个批次任务在某个流程步骤执行异常,或者,服务器资源紧张导致停机时,整个批次任务就会中断,进度卡顿,服务稳定性较低。
有鉴于此,本发明实施例提供一种消息任务的批处理方法,该批处理方法可以有效提高批处理任务的处理效率,提高代码复用性和稳定性,有效减少进度卡顿的情况。
参照图1,本申请实施例中,一种消息任务的批处理方法,用于分片生成器,所述批处理方法包括:
步骤110、获取来自业务端的批处理任务;
在本申请实施例中,批处理方法可以通过Apache Kafka平台、Apache Pulsar平台等实现。具体地,可以通过浏览器调用统一的批处理任务生成接口,然后,根据接口请求参数中的type类型字段,生成对应type类型的批处理任务和任务id,接着,将对应类型的批处理任务传输至分片生成器中。
步骤120、对所述批处理任务进行分片处理,得到若干个分片任务;
所述步骤120、对所述批处理任务进行分片处理,得到若干个分片任务,包括:
步骤121、获取预设的任务分片规则;
步骤122、根据所述任务分片规则,对所述批处理任务进行异步分片处理,得到若干个中间任务;
步骤123、对若干个所述中间任务进行类目指定处理,得到若干个所述分片任务。
可以理解的是,在对分片任务进行分片时,先获取来自用户预先设置的任务分片规则,该任务分片规则包括批处理任务具体的拆分逻辑,以及分片任务的保存机制和分片进度更新机制。具体地,在本申请实施例中,首先,在对批处理任务进行异步分片处理之前,先将该批处理任务传输至数据库中进行存储;然后,在对批处理任务进行异步分片处理时,可以根据具体的拆分逻辑对批处理任务进行异步分片,同时,将每个中间任务本身以及对应的执行状态传输至数据库中进行存储(分片任务的保存机制),以及将批任务处理的分片进度传输至数据库中进行存储(分片进度更新机制),最后,对每个中间任务进行类目(topic)指定处理,得到分片任务,以使得分片任务根据指定的类目(topic)传输至消息中间件中的类目(topic)中。
步骤130、将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
可以理解的是,不同业务的分片执行器对应的类目不同,故一个分片执行器与一个类目对应,分片执行器执行消息中间件对应类目的分片任务。还有,在本申请实施例中,若干个A分片任务和若干个B类目中,若干个A和若干个B并不一定相等,在一些特殊情况下,例如,有两个及以上的分片任务被划分为同一个类目,此时若干个A的具体数值大于若干个B的具体数值。
在一些实施例中,所述批处理方法还包括:
步骤140、获取预设的补偿规则,以及数据库中的第一分片任务的执行状态;
步骤150、对所述补偿规则和所述第一分片任务的执行状态进行比较处理,得到比较结果;
步骤160、若所述比较结果为是,则将所述第一分片任务重传至所述消息中间件。
可以理解的是,预设的补偿规则包括时间规则,状态规则等,第一分片任务可以是批处理任务在分片过程中,存储至数据库中的分片任务。可以理解的是,获取到的第一分片任务的执行状态至少包括第一分片任务id、具体执行状态,本申请在此就不再多余赘述。
具体地,在本申请实施例中,首先,可以获取第一分片任务的执行状态,该执行状态可以有待执行及等待时间,执行中及执行持续时间,已执行及执行结束时间等状态类别,然后,通过比较第一分片任务的执行状态是否满足处于待执行(状态规则),以及等待时间超过30分钟(时间规则),得到比较结果,当比较结果为是时,分片生成器获取数据库中的第一分片任务,并将该第一分片任务重传至消息中间件。值得一提的是,本申请示例仅作说明,并非对本申请作出任何限制,补偿规则可以根据实际需求设置,满足实际需求即可。
本申请实施例中,一种消息任务的批处理方法,用于分片执行器,所述批处理方法包括:
步骤210、接收并执行消息中间件并行分发的分片任务;
其中,所述分片任务通过以下步骤得到:
分片生成器获取来自业务端的批处理任务;
所述分片生成器对所述批处理任务进行分片处理,得到若干个所述分片任务;
所述分片生成器将若干个所述分片任务传输至所述消息中间件;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
所述步骤210、接收并执行消息中间件并行分发的分片任务,包括:
步骤211、对所述分片任务进行锁定处理,得到第二分片任务;
步骤212、执行所述第二分片任务,并根据所述第二分片任务的执行进度更新数据库中的所述第二分片任务的执行状态。
在本申请实施例中,每个分片执行器接收在消息中间件中对应类目下的分片任务,实现各个分片任务独立运行,以及各个批处理任务之间的并行执行。可以理解的是,锁定处理可以通过分布式锁的形式,锁定当前的分片任务,得到第二分片任务,以避免单个分片任务在统一时间内重复执行。接着,通过获取数据库第二分片任务的执行状态,根据第二分片任务的执行状态执行第二分片任务,具体地,当第二分片任务的执行状态为待执行或者执行失败时,分片执行器才执行第二分片任务,并在执行过程中,根据第二分片任务的执行进度更新数据库中第二分片任务的执行状态。
还可以理解的是,在本申请实施例中,第一分片任务、第二分片任务和第三分片任务可以指代的是阶段不同的同一个分片任务,名称上作区别仅为方便理解。例如,第一分片任务的执行状态是某个分片任务在分片生成器分片补偿阶段传输至数据库中存储的执行状态,第二分片任务的执行状态是某个分片任务在分片执行器分片执行阶段传输至数据库中存储的执行状态,而第三分片任务的执行状态是某个分片任务在分片执行器分片重试阶段传输至数据库中存储的执行状态,本申请在此就不再多余赘述。
在一些实施例中,所述批处理方法还包括:
步骤220、对当前的第二分片任务进行末任判断处理,得到判断结果;
步骤230、若所述判断结果为是,则获取数据库中的所有所述第二分片任务的执行状态;
步骤240、对所有所述第二分片任务的执行状态聚合处理,得到批处理结果。
在本申请实施例中,末任判断处理可以是通过判断当前的第二分片任务是否为某一批次的批处理任务中的最后一个分片任务,若当前的第二分片任务为分片执行器中的最后一个分片任务(其余第二分片任务已执行完,或者因执行失败被移除出分片执行器),在当前的第二分片任务已执行完或因执行失败移除出分片执行器后,获取数据库中所有第二分片任务的执行状态,并对所有第二分片任务的执行状态进行整理聚合,获得批处理结果并保存,以便相关工作人员检查批处理任务的具体处理情况。
在一些实施例中,所述批处理方法还包括:
步骤250、获取预设的重试规则,所述重试规则包括重试次数、重试间隔和重试策略;
步骤260、根据所述重试规则,对第三分片任务进行失败重试处理,得到重试结果,所述第三分片任务用于表征当前执行失败的分片任务;
步骤270、若所述重试结果为失败,则移除所述第三分片任务,并根据所述重试结果更新数据库中的所述第三分片任务的执行状态。
在本申请实施例中,可以基于spring kafka失败重试机制,通过@RetryableTopic注解配置第三分片任务消费失败的重试次数、重试间隔和重试策略,具体地,重试次数可以是5、10、20等中的任意一种,重试间隔可以是5秒、10秒、20秒中的任意一种,重试策略可以是变更执行第三分片任务的分片执行器等,然后根据重试规则对第三分片任务进行失败重试,若重试结果为失败,则将重试结果更新数据库中的第三分片任务的执行状态。具体地,若第三分片任务的失败重试次数满足重试次数的条件,则将该第三分片任务发送至预设的死信队列,分片执行器订阅该死信队列得到该第三分片任务的重试结果,然后移除在分片执行器的第三分片任务。
综上所述,本申请实施例通过分片生成器实现对批处理任务的拆分,分片执行器实现了分片任务的独立运行,使得各个批处理任务对应的分片任务可在不同微服务架构之间并行执行,互不影响,同事引入了补偿规则和重试规则保证了数据的最终一致性,从而有效提高批处理任务的处理效率,提高代码复用性和稳定性,有效减少进度卡顿的情况。
参照图2,本申请实施例还提供了一种消息任务的批处理系统,用于分片生成器,所述分片生成器用于和至少一个分片执行器通信连接,所述系统包括:
获取单元101,用于获取来自业务端的批处理任务;
分片单元102,用于对所述批处理任务进行分片处理,得到若干个分片任务;
传输单元103,用于将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
可以理解的是,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
参照图3,本申请实施例还提供了一种计算机设备,包括:
至少一个处理器201;
至少一个存储器202,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器201执行,使得所述至少一个处理器201实现上述的方法实施例。
同理,可以理解的是,上述方法实施例中的内容均适用于本设备实施例中,本设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本申请实施例还提供了一种计算机可读存储介质,其中存储有处理器201可执行的程序,处理器201可执行的程序在由所述处理器201执行时用于实现上述的方法实施例。
同理,上述方法实施例中的内容均适用于本计算机可读存储介质实施例中,本计算机可读存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种消息任务的批处理方法,其特征在于,用于分片生成器,所述批处理方法包括:
获取来自业务端的批处理任务;
对所述批处理任务进行分片处理,得到若干个分片任务;
将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
2.根据权利要求1所述的消息任务的批处理方法,其特征在于,所述对所述批处理任务进行分片处理,得到若干个分片任务,包括:
获取预设的任务分片规则;
根据所述任务分片规则,对所述批处理任务进行异步分片处理,得到若干个中间任务;
对若干个所述中间任务进行类目指定处理,得到若干个所述分片任务。
3.根据权利要求1所述的消息任务的批处理方法,其特征在于,所述批处理方法还包括:
获取预设的补偿规则,以及数据库中的第一分片任务的执行状态;
对所述补偿规则和所述第一分片任务的执行状态进行比较处理,得到比较结果;
若所述比较结果为是,则将所述第一分片任务重传至所述消息中间件。
4.一种消息任务的批处理方法,其特征在于,用于分片执行器,所述批处理方法包括:
接收并执行消息中间件并行分发的分片任务;
其中,所述分片任务通过以下步骤得到:
分片生成器获取来自业务端的批处理任务;
所述分片生成器对所述批处理任务进行分片处理,得到若干个所述分片任务;
所述分片生成器将若干个所述分片任务传输至所述消息中间件;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
5.根据权利要求4所述的消息任务的批处理方法,其特征在于,所述执行消息中间件并行分发的分片任务,包括:
对所述分片任务进行锁定处理,得到第二分片任务;
执行所述第二分片任务,并根据所述第二分片任务的执行进度更新数据库中的所述第二分片任务的执行状态。
6.根据权利要求5所述的消息任务的批处理方法,其特征在于,所述批处理方法还包括:
对当前的第二分片任务进行末任判断处理,得到判断结果;
若所述判断结果为是,则获取数据库中的所有所述第二分片任务的执行状态;
对所有所述第二分片任务的执行状态聚合处理,得到批处理结果。
7.根据权利要求4所述的消息任务的批处理方法,其特征在于,所述批处理方法还包括:
获取预设的重试规则,所述重试规则包括重试次数、重试间隔和重试策略;
根据所述重试规则,对第三分片任务进行失败重试处理,得到重试结果,所述第三分片任务用于表征当前执行失败的分片任务;
若所述重试结果为失败,则移除所述第三分片任务,并根据所述重试结果更新数据库中的所述第三分片任务的执行状态。
8.一种消息任务的批处理系统,其特征在于,用于分片生成器,所述分片生成器用于和至少一个分片执行器通信连接,所述系统包括:
获取单元,用于获取来自业务端的批处理任务;
分片单元,用于对所述批处理任务进行分片处理,得到若干个分片任务;
传输单元,用于将若干个所述分片任务传输至消息中间件,以使得所述消息中间件将若干个所述分片任务并行分发至分片执行器中执行;
其中,若干个所述分片任务,划分为所述消息中间件中的若干个类目,确定出若干个所述分片执行器,每个所述分片执行器和一个所述类目对应。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336947.5A CN117421111A (zh) | 2023-10-16 | 2023-10-16 | 一种消息任务的批处理方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336947.5A CN117421111A (zh) | 2023-10-16 | 2023-10-16 | 一种消息任务的批处理方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117421111A true CN117421111A (zh) | 2024-01-19 |
Family
ID=89531761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311336947.5A Pending CN117421111A (zh) | 2023-10-16 | 2023-10-16 | 一种消息任务的批处理方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117421111A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161549A1 (en) * | 2008-12-19 | 2010-06-24 | Microsoft Corporation | Masterless distributed batch scheduling engine |
CN112118315A (zh) * | 2020-09-18 | 2020-12-22 | 北京有竹居网络技术有限公司 | 数据处理系统、方法、装置、电子设备和存储介质 |
CN112148505A (zh) * | 2020-09-18 | 2020-12-29 | 京东数字科技控股股份有限公司 | 数据跑批系统、方法、电子设备和存储介质 |
CN115170321A (zh) * | 2022-07-27 | 2022-10-11 | 中国工商银行股份有限公司 | 批量交易数据的处理方法和装置 |
CN116089035A (zh) * | 2022-12-29 | 2023-05-09 | 中国人民财产保险股份有限公司 | 一种用于再保业务的数据分片及并行数据处理方法、装置 |
CN116414540A (zh) * | 2023-04-24 | 2023-07-11 | 北京值得买科技股份有限公司 | 分布式任务的调度方法、装置、系统、设备及介质 |
-
2023
- 2023-10-16 CN CN202311336947.5A patent/CN117421111A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161549A1 (en) * | 2008-12-19 | 2010-06-24 | Microsoft Corporation | Masterless distributed batch scheduling engine |
CN112118315A (zh) * | 2020-09-18 | 2020-12-22 | 北京有竹居网络技术有限公司 | 数据处理系统、方法、装置、电子设备和存储介质 |
CN112148505A (zh) * | 2020-09-18 | 2020-12-29 | 京东数字科技控股股份有限公司 | 数据跑批系统、方法、电子设备和存储介质 |
CN115170321A (zh) * | 2022-07-27 | 2022-10-11 | 中国工商银行股份有限公司 | 批量交易数据的处理方法和装置 |
CN116089035A (zh) * | 2022-12-29 | 2023-05-09 | 中国人民财产保险股份有限公司 | 一种用于再保业务的数据分片及并行数据处理方法、装置 |
CN116414540A (zh) * | 2023-04-24 | 2023-07-11 | 北京值得买科技股份有限公司 | 分布式任务的调度方法、装置、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147240B (zh) | 基于云存储的应用程序安装方法、系统及存储介质 | |
CN111045933B (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
WO2010044790A1 (en) | Batch processing system | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN101778004B (zh) | 用于执行基于门限值调度的设备管理的终端和方法 | |
CN112749221A (zh) | 数据任务调度方法、装置、存储介质及调度工具 | |
CN110175165A (zh) | 交易对账方法、装置、计算机设备及存储介质 | |
CN111400011A (zh) | 一种实时任务调度方法、系统、设备及可读存储介质 | |
CN113485806A (zh) | 处理任务的方法、装置、设备和计算机可读介质 | |
CN111142929A (zh) | 一种设备生产过程中的固件配置方法、装置、设备及介质 | |
CN110602229A (zh) | 基于动态切片的终端系统版本下载方法、装置及系统 | |
CN108463813B (zh) | 一种进行数据处理的方法和装置 | |
CN117421111A (zh) | 一种消息任务的批处理方法、系统、设备及介质 | |
CN111082964B (zh) | 一种配置信息的分发方法和装置 | |
CN108628901A (zh) | 一种数据更新方法及装置 | |
CN115437766A (zh) | 一种任务处理方法和装置 | |
CN111885159B (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN110113187B (zh) | 一种配置更新方法、装置、配置服务器及配置系统 | |
CN113220869A (zh) | 银行外围系统的文本处理装置及方法 | |
CN110147379B (zh) | 基于数据锁的信息采集方法、装置、计算机设备 | |
CN108683612B (zh) | 一种消息获取方法和装置 | |
CN111459521A (zh) | 集群升级方法及装置 | |
CN110716972A (zh) | 高频率调用外部接口出错的处理方法和装置 | |
CN116545941B (zh) | 一种指令发送方法、系统、智能终端及存储介质 | |
CN113806069B (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 |