CN116467085A - 任务处理方法、系统、电子设备及存储介质 - Google Patents
任务处理方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116467085A CN116467085A CN202310470741.5A CN202310470741A CN116467085A CN 116467085 A CN116467085 A CN 116467085A CN 202310470741 A CN202310470741 A CN 202310470741A CN 116467085 A CN116467085 A CN 116467085A
- Authority
- CN
- China
- Prior art keywords
- sub
- job
- execution
- task
- server
- 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 29
- 238000012545 processing Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000010453 quartz Substances 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral 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/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
- G06F9/505—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 considering the load
-
- 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/23—Updating
-
- 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/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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/5018—Thread allocation
-
- 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种任务处理方法、系统、电子设备及存储介质,可以用于金融领域。该方法包括:将批处理作业任务拆分为多个子作业任务;为各子作业任务分配对应的目标服务器,在第一数据库表中记录各子作业任务的分配情况和各子作业任务的第一执行进度;下发与空余线程数量匹配的子作业任务至各目标服务器;获取第二数据库表中记录的各子作业任务的第二执行进度,在第一数据库表中更新第一执行进度;根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。通过数据库表的形式记录各子作业任务的分配以及执行进度,根据更新后的数据库表分配待执行的子作业任务,可以有效降低重复执行子作业任务的几率,且简单易行。
Description
技术领域
本申请涉及金融领域,尤其涉及一种任务处理方法、系统、电子设备及存储介质。
背景技术
批处理作业是一种在各种互联网产品中应用广泛任务处理方法,通过将所有的输入数据预先设置于程序或命令行参数中,计算机可以在无需人工干预的情况下进行一系列程序的作业。
目前,针对批处理作业,大多采用Terracotta的开源作业调度框架执行,通过开源作业调度框架中的定时器来将批处理作业任务分发至不同的服务器执行,如果定时器的分发频率过快,某些任务将会被重复分发执行处理,导致出现异常的响应结果。
发明内容
本申请提供一种任务处理方法、系统、电子设备及存储介质,用以解决在批处理作业过程中某些任务将会被重复分发执行处理的问题。
第一方面,本申请提供一种任务处理方法,任务处理系统包括一个主控服务器和多个执行服务器,所述方法应用于所述主控服务器,所述方法包括:
获取待执行的批处理作业任务,并将所述批处理作业任务拆分为多个子作业任务;
根据所述主控服务器和所述执行服务器的负载情况,从所述主控服务器和所述执行服务器中为各所述子作业任务分配对应的目标服务器,并在所述批处理作业任务对应的第一数据库表中记录各所述子作业任务的分配情况和各子作业任务的第一执行进度;
获取各目标服务器的空余线程数量,下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,以使各所述目标服务器处理对应的子作业任务;其中,各所述目标服务器在接收并执行对应的子作业任务时,在各自的所述批处理作业任务对应的第二数据库表中记录对应的子作业任务,以及,所述目标服务器对所述子作业任务的第二执行进度;
获取所述第二数据库表中记录的各子作业任务的第二执行进度,在所述第一数据库表中进行更新所述第一执行进度;
根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。
可选的,所述获取待执行的批处理作业任务,并将所述批处理作业任务拆分为多个子作业任务,包括:
响应于在所述任务处理系统的前端页面输入的批处理作业信息,根据所述批处理作业信息确定待执行的批处理作业任务;
根据预设的拆分规则对所述批处理作业任务进行拆分,得到所述多个子作业任务;其中,所述拆分规则为下述规则中的一种;
均匀拆分、固定数量拆分。
所述下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,包括:
获取各所述子作业任务的拆分时间;
按照各所述子作业任务的拆分时间的先后顺序,生成各所述目标服务器的子作业任务处理队列;
根据所述目标服务器的空余线程数量,依次将所述子作业任务处理队列中的子作业任务下发至所述目标服务器。
所述根据各服务器的负载情况,分配各所述子作业任务对应的目标服务器,包括:
通过心跳注册确定所述任务处理系统中的多个可用的所述执行服务器;
根据所述主控服务器和可用的所述执行服务器的负载情况,从所述主控服务器和可用的所述执行服务器中为各所述子作业任务分配对应的目标服务器。
若所述子作业任务更新后的第一执行进度为执行失败,所述方法还包括:
获取所述子作业任务的下发次数,若所述下发次数小于或等于预设次数,则将所述子作业任务写入至对应的子作业任务处理队列的队尾,并将对应的第一执行进度更新为已分配;
若所述下发次数大于预设次数,则停止执行所述子作业任务,输出告警信息。
所述第一执行进度包括下述中的一种:已分配、已下发、待执行、执行中、执行成功、执行失败;
所述第二执行进度包括下述中的一种:待执行、执行中、执行成功、执行失败。
第二方面,本申请提供一种任务处理方法,任务处理系统包括一个主控服务器和多个执行服务器,所述方法应用于所述执行服务器,所述方法包括,
接收主控服务器下发的至少一个子作业任务;
在第二数据库表中记录该子作业任务的信息,所述信息包括子作业任务的标识和对应的第二执行进度;
执行所述子作业任务,并更新所述第二执行进度;
在所述子作业任务执行成功时,向所述主控服务器返回执行结果。
第三方面,本申请提供一种任务处理系统,包括:主控服务器和多个执行服务器;
所述主控服务器,用于获取待执行的批处理作业任务,将所述批处理作业任务拆分为多个子作业任务;将多个所述子作业任务进行分发;并通过第一数据库表记录各所述子作业任务的第一执行进度;
所述执行服务器,用于接收所述执行服务器分发的所述子作业任务,执行所述子作业任务,并通过第二数据库表记录所述子作业任务的第二执行进度。
可选的,所述任务处理系统可以执行上述任一方面的任务处理方法。
第四方面,本申请提供一种电子设备,包括:存储器和处理器;
存储器用于存储计算机指令;处理器用于运行存储器存储的计算机指令实现第一方面和/或第二方面中任一项的方法。
第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面和/或第二方面中任一项的方法。
第六方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面和/或第二方面中任一项的方法。
本申请提供的任务处理方法、系统、电子设备及存储介质,通过将批处理作业任务拆分为多个子作业任务;为各子作业任务分配对应的目标服务器,在第一数据库表中记录各子作业任务的分配情况和各子作业任务的第一执行进度;下发与空余线程数量匹配的子作业任务至各目标服务器;获取第二数据库表中记录的各子作业任务的第二执行进度,在第一数据库表中更新第一执行进度;根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。通过数据库表的形式记录各子作业任务的分配以及执行进度,根据更新后的数据库表分配待执行的子作业任务,可以有效降低重复执行子作业任务的几率,且简单易行。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的场景示意图;
图2为本申请实施例提供的任务处理方法的流程示意图一;
图3为本申请实施例提供的任务处理方法的流程示意图二;
图4为本申请实施例提供的任务处理系统的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请提供的任务处理方法、系统、电子设备及存储介质可用于金融领域,也可用于除金融领域之外的任意领域,本申请提供的任务处理方法、系统、电子设备及存储介质的应用领域不做限定。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
批处理作业是一种在各种互联网产品中应用广泛任务处理方法,通过将所有的输入数据预先设置于程序或命令行参数中,计算机可以在无需人工干预的情况下进行一系列程序的作业。
目前,针对批处理作业,大多采用基于Terracotta的Quartz开源作业调度框架执行,通过开源作业调度框架中的定时器来将批处理作业任务分发至不同的服务器执行。如果服务器执行某一作业的时间超过了定时器的分发时间间隔,Quartz开源作业调度框架会启用新的线程执行该作业。
在该情况下,某些任务将会被重复分发执行处理,导致出现异常的响应结果。为防止出现异常的响应结果,需要开发者在代码中实现互斥锁,实现过程复杂,容易出现错误。
有鉴于此,本申请实施例提供一种任务处理方法、系统、电子设备和存储介质,通过数据库表的形式记录批处理作业的每个子作业的分发及执行进度,并通过主控服务器与各执行服务器的交互实时更新每个子作业的分发及执行进度,从而,可以防止重复执行子作业的情况,简单易行。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请实施例的应用场景示意图,如图1所示,任务处理系统包括主控服务器101和多个执行服务器102。
其中,主控服务器101可以和每个执行服务器102进行交互,向每个执行服务器102发送数据,以及,获取每个执行服务器102上传的结果,或者,从每个执行服务器102中读取对应的数据。即,主控服务器101可以和多个执行服务器102构成分布式系统。
本申请实施例中,主控服务器101在获取到用户输入的待执行的批处理作业任务时,可以将批处理作业任务进行拆分,得到多个子作业任务,并将该多个子作业任务分配至每个执行服务器102中,以使每个执行服务器102执行接收到的子作业任务。
可以理解的是,任务处理系统可以包括用于面向用户的客户端,以使用户通过客户端输入需要执行的批处理作业任务。
主控服务器101在对批处理作业任务进行拆分,将该子作业任务分发至每个执行服务器102时,可以在主控服务器101中数据库表中记录子作业任务的分发情况,并获取每个执行服务器102的执行进度并在数据库表中更新。
上面对本申请实施例的应用场景进行了介绍,下面以应用为图1中的主控服务器为例,对本申请实施例提供的任务处理方法进行说明。
图2为本申请实施例提供的任务处理方法的流程示意图,如图2所示,包括如下步骤:
S201、获取待执行的批处理作业任务,并将所述批处理作业任务拆分为多个子作业任务。
本申请实施例中,批处理又称为批量处理,可以是一种对大量数据一次性进行业务逻辑处理的过程。批处理作业任务可以为需要批量处理的作业任务。例如,对500张图片进行格式更改和重命名。即,批处理作业任务中可以包括多个子作业任务,每一个子作业任务都完全独立于其他的子作业任务。
示例性的,主控服务器可以通过对应的客户端接收用户输入的需要执行的批处理作业任务。或者,通过预先设置的批处理作业任务存储地址,获取需要执行的批处理作业任务。本申请实施例对获取批处理作业任务的方式不进行限制。
示例性的,主控服务器获取到批处理作业任务时,可以按照预设的拆分规则对批处理作业任务进行拆分,得到多个子作业任务。例如,预设的拆分规则可以为均匀拆分、根据任务处理系统允许的最大处理能力拆分、或者哈希拆分等,本申请对预设的拆分规则不进行限制。
S202、根据所述主控服务器和所述执行服务器的负载情况,从所述主控服务器和所述执行服务器中为各所述子作业任务分配对应的目标服务器,并在所述批处理作业任务对应的第一数据库表中记录各所述子作业任务的分配情况和各子作业任务的第一执行进度。
本申请实施例中,主控服务器和执行服务器的负载情况可以为描述主控服务器和执行服务器当前工作量的度量,负载越高,当前正在处理的工作量越多。
为保证各子作业任务的执行响应速度,主控服务器需要根据自身和执行服务器的负载情况进行子作业任务分配,负载越高,分配的子作业任务越少。即,给每个子作业任务分配对应的目标服务器。
示例性的,任务处理系统包括1个主控服务器和4个执行服务器A、B、C、D,批处理作业任务拆分为100个子作业任务。主控服务器当前的负载为70%、执行服务器A当前的负载为50%、执行服务器B当前的负载为30%、执行服务器C当前的负载为60%、执行服务器D当前的负载为90%。则,主控服务器可以给执行服务器A分配25个子作业任务、主控服务器可以给执行服务器B分配40个子作业任务、主控服务器可以给执行服务器C分配20个子作业任务、主控服务器可以给执行服务器D分配5个子作业任务、主控服务器可以给自身分配10个子作业任务。
示例性的,主控服务器在分配完各子作业任务的目标服务器中,可以在第一数据库表中记录各所述子作业任务的分配情况和各子作业任务的第一执行进度。其中,一个批处理作业任务对应一个数据库表。第一数据库表存储于主控服务器中。
示例性的,第一数据库表可以如下所示:
子作业任务名称 | 目标服务器 | 执行进度 |
子作业任务1 | 执行服务器A | 已分配 |
子作业任务2 | 执行服务器B | 已分配 |
子作业任务3 | 执行服务器C | 已分配 |
…… | …… | …… |
子作业任务100 | 主控服务器 | 已分配 |
S203、获取各目标服务器的空余线程数量,下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,以使各所述目标服务器处理对应的子作业任务;其中,各所述目标服务器在接收并执行对应的子作业任务时,在各自的所述批处理作业任务对应的第二数据库表中记录对应的子作业任务,以及,所述目标服务器对所述子作业任务的第二执行进度。
本申请实施例中,线程可以为服务器中可以用于执行任务的单元,例如,一段程序、一个函数等。主控服务器可以根据各目标服务器中的空余线程数量下发子作业任务。
示例性的,执行服务器A为20个子作业任务的目标服务器,执行服务器A的空余线程数量为5,则主控服务器可以先下发5个子作业任务至执行服务器A,以使执行服务器A执行该子作业任务。
本申请实施例中,各目标服务器接收到主控服务器下发的子作业任务时,可以在第二数据库表中记录接收到的各子作业任务以及处理进度。各目标服务器中均有各自的第二数据库表。
示例性的,执行服务器A在接收到5个子作业任务时,将5个子作业任务写入对应的第二数据库表中,此时,5个子作业任务的执行进度可以为待执行。执行服务器A在执行各子作业任务时,可以将对应的执行进度更新为执行中,在执行完成后,将执行进度更新为执行成功,或者,执行失败。
S204、获取所述第二数据库表中记录的各子作业任务的第二执行进度,在所述第一数据库表中进行更新所述第一执行进度。
本申请实施例中,主控服务器可以根据与各目标服务器的交互,获取第二数据库表中记录的各子作业任务的第二执行进度。例如,每10秒钟获取一次第二数据库表中记录的各子作业任务的第二执行进度。根据各目标服务器的第二执行进度更新第一数据库表中的第一执行进度。
可以理解的是,主控服务器自身的子作业任务的执行进度更新时,可以实时在第一数据库表中进行更新。或者,主控服务器也可以生成相应的第二数据库表,通过第二数据库表中记录的第二执行进度更新第一执行进度。
S205、根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。
本申请实施例中,若更新后第一执行进度中有执行成功时,则表示对应的目标服务器中有空余线程可以执行新的子作业任务,则可以根据相应的执行成功的数量分配新的子作业任务。
示例性的,执行服务器A共有20个需要执行的子作业任务,第一次向执行服务器A分配了5个子作业任务,在更新第一执行进度后,该5个子作业任务中,有3个子作业任务的执行进度为执行成功,2个子作业任务的执行进度为执行中。则可以向执行服务器A继续分配3个子作业任务,以使执行服务器A继续执行新分配的3个子作业任务。
本申请实施例提供的任务处理方法,在接收到批处理任务时,将批处理任务拆分成多个子任务,并根据各服务器的负载情况分配相应的子作业任务,通过数据库表的形式记录各子作业任务的分配以及执行进度,并可以对执行进度进行实时更新,根据更新后的数据库表中的执行进度分配待执行的子作业任务。可以有效降低重复执行子作业任务的几率,且简单易行。
图3为本申请实施例提供的任务处理方法的流程示意图二,在图2所示实施例的基础上,进一步对本申请实施例提供的任务处理方法进行说明,如图3所示,包括:
S301、获取待执行的批处理作业任务,并将所述批处理作业任务拆分为多个子作业任务。
本申请实施例中,待执行的批处理作业任务可以为用户通过相应的客户端输入。
示例性的,响应于在所述任务处理系统的前端页面输入的批处理作业信息,根据所述批处理作业信息确定待执行的批处理作业任务。
任务处理系统还可以包括对应的前端页面(客户端),用于用户输入需要执行的批处理作业信息,以及,显示批处理任务的执行结果。
主控服务器可以对接收到的批处理作业信息进行解析,确定其中包括的待执行的批处理作业任务。
在一种可能的实现方式中,批处理作业信息也可以包括待执行的批处理作业任务的统一资源定位符(Uniform Resource Locator,URL),主控服务器获取到URL后,可以访问该URL获取到待执行的批处理作业任务。
主控服务器获取到待执行的批处理作业任务,可以根据如下所示方式对批处理作业任务进行拆分:
示例性的,根据预设的拆分规则对所述批处理作业任务进行拆分,得到所述多个子作业任务;其中,所述拆分规则为下述规则中的一种;均匀拆分、固定数量拆分。
均匀拆分可以为拆分后的每个子作业任务的大小相同。固定数量拆分可以为不论该批处理作业任务的大小,将其拆分成固定数量的子作业任务。
在一种可能的实现方式中,预设的拆分规则还可以其他拆分规则,例如,哈希拆分、键值拆分等,本申请实施例对预设的拆分规则不进行限制。
S302、确定可用的执行服务器,根据所述主控服务器和可用的所述执行服务器的负载情况,从所述主控服务器和可用的所述执行服务器中为各所述子作业任务分配对应的目标服务器。
本申请实施例中,为确保各子作业任务可以成功执行,需要确定任务处理系统中的各执行服务器是否可用。
示例性的,通过心跳注册确定所述任务处理系统中的多个可用的所述执行服务器。
主控服务器可以向各执行服务器发送心跳检测信号,若接收到对应的执行服务器返回的应答信号,则可以确定该执行服务器可用。
在一种可能的实现方式中,主控服务器和各执行服务器可以通过心跳注册来注册到同一个注册中心consul中。主控服务器将consul中注册成功的执行服务器作为可用服务器,在使用consul时,主控服务器可以通过套接字Socket与各执行服务器进行通信。
可选的,在一些实施例中,确定可用的执行服务器时,主控服务器可以配置各执行服务器的最大连接数和各执行服务器执行每个子作业任务的重试次数。其中,最大连接数可以为执行服务器可以同时接收的子作业任务数量。
本申请实施例中,主控服务器得到多个子作业任务时,为提高各子作业任务的处理效率,可以对主控服务器和可用的执行服务器进行负载均衡分配。即。根据所述主控服务器和可用的所述执行服务器的负载情况,从所述主控服务器和可用的所述执行服务器中为各所述子作业任务分配对应的目标服务器。其具体实现方式可以参见图2所示实施例中S202的实现方式,此处不再赘述。
S303、根据各目标服务器的空余线程数量,下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,以使各所述目标服务器处理对应的子作业任务。
本申请实施例中,主控服务器将各子作业任务下发至对应的目标服务器时,可以根据各执行服务器当前的空余线程数量进行分发,例如,目标服务器A分配了20个子作业任务,当前的空余线程数量为5,则可以先下发5个子作业任务,后续若有空余线程,则继续根据空余线程的数量进行其他子作业任务的下发。
示例性的,获取各所述子作业任务的拆分时间;按照各所述子作业任务的拆分时间的先后顺序,生成各所述目标服务器的子作业任务处理队列;根据所述目标服务器的空余线程数量,依次将所述子作业任务处理队列中的子作业任务下发至所述目标服务器。
本申请实施例中,针对任一目标服务器,可以获取分配至该目标服务器的每个子作业任务的拆分时间,按照每个子作业任务的拆分时间的先后顺序,对每个子作业任务进行排序,形成该目标服务器的子作业任务处理队列。在下发子作业任务时,按照子作业任务处理队列中的先后顺序,从子作业任务处理队列中拿出对应的子作业任务依次下发。通过任务处理队列,可以有效提升主控服务器下发子作业任务的效率。其中,主控服务器可以在拆分批处理任务时,将各子作业任务的拆分时间记录在相应的日志中,或者配置文件中。
在一种可能的实现方式中,为保证各目标服务器执行效率,防止同时运行的线程数量过多,导致服务器运行出现卡顿。在下发子作业任务数量时,可以按照空余线程数量一定的比例进行下发。例如,下发的子作业任务数量可以为空余线程数量的90%。
S304、在批处理作业任务对应的第一数据库表中记录各子作业任务的分配情况和各子作业任务的第一执行进度。
本申请实施例中,各子作业任务的分配情况可以为各子作业任务分配的目标服务器的详细情况。第一执行进度可以为目标服务器处理对应的子作业任务的进度。
示例性的,所述第一执行进度包括下述中的一种:已分配、已下发、待执行、执行中、执行成功、执行失败。
本申请实施例中,主控服务器在接收到批处理任务时,可以根据该批处理作业任务生成对应的第一数据库表,在拆分得到多个子作业时,可以将多个子作业任务写入第一数据库表。在为各所述子作业任务分配对应的目标服务器时,可以在第一数据库表中记录各子作业任务对应的目标服务器,并将各子作业任务的第一执行进度设置为已分配,形成类似与图2所示实施例中S202的第一数据库表。执行服务器在将子作业任务下发至对应的目标服务器时,可以将第一执行进度从已分配更新为已下发。
可选的,在一种可能的实现方式中,第一数据库表在记录各子作业任务的第一执行进度时,可以根据目标服务器将各子作业任务分栏记录,即,每一栏对应第一目标服务器和相应的子作业任务的第一执行进度。
可选的,在一些实施例中,主控服务器还可以将第一数据库表推送至任务处理系统的前端页面,以使用户实时了解到批处理任务的执行进度。
可以理解的是,待执行、执行中、执行成功、执行失败均为主控服务器根据各目标服务器执行子作业任务时的进度对已下发进行更新后确定的。
可以理解的是,S303所示步骤与S304所示步骤没有严格的执行顺序,可以同时执行,也可以互为先后执行。本申请实施例对此不进行限制。
S305、各目标服务器接收执行服务器下发的子作业任务,并在第二数据库中记录对应的第二执行进度。
示例性的,接收主控服务器下发的至少一个子作业任务;在第二数据库表中记录该子作业任务的信息,所述信息包括子作业任务的标识和对应的第二执行进度;执行所述子作业任务,并更新所述第二执行进度。
示例性的,所述第二执行进度包括下述中的一种:待执行、执行中、执行成功、执行失败。
本申请实施例中,子作业任务的标识可以为各子作业任务的名称,例如,子作业任务1、子作业任务2等。各目标服务器首次接收执行服务器下发的子作业任务时,可以子根据作业任务的标识根据成对应的第二数据库表,并记录接收到子作业任务,同时可以将各子作业任务的第二执行进度设置为待执行。
目标服务器在执行接收到的子作业任务时,可以将对应的第二执行进度由待执行更新为执行中。在执行结束后,可以根据执行的情况继续更新对应的第二执行进度。例如,将执行中更新为执行成功,或者,执行中更新为执行失败。
可选的,在一些实施例中,目标服务器在所述子作业任务执行成功时,向所述主控服务器返回执行结果。
S306、获取第二执行进度,根据所述第二执行进度更新所述第一执行进度。
本申请实施例中,主控服务器可以按照预设的时间周期读取第二数据库表,以获取其中记录的第二执行进度。例如,每10秒获取一次第二执行进度,根据第二执行进度更新对应的第一执行进度。
示例性的,第一执行进度中,子作业任务1至子作业任务5的执行进度均为已下发。获取到第二执行进度时,子作业任务1至子作业任务3的执行进度为执行中,子作业任务4和子作业任务5的执行进度为执行成功。则在第一数据库表中,将子作业任务1至子作业任务3的执行进度由已下发更新为执行中,子作业任务4和子作业任务5的执行进度由已下发更新为执行成功。
在一种可能的实现方式中,第二数据库表中记录的第二执行进度也可以由目标服务器发送至主控服务器的。主控服务器接收到各目标服务器发送的第二执行进度后,可以根据接收到的第二执行进度更新第一执行进度。其中,各目标服务器可以预设的时间周期发送第二执行进度,也可以在更新一次第二执行进度时,发送一次更新后的第二执行进度。本申请实施例对获取第二执行进度的方式不进行限定。
S307、根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。
本申请实施例中,若更新后的第一执行进度中包括执行成功时,则表示对应的目标服务器中出现空余线程,则执行服务器可以根据对应的执行成功的数量,下发相匹配数量的子作业任务至对应的目标服务器。其中,下发相匹配数量的子作业任务至对应的目标服务的具体实现方式与第一次下发的具体实现方式类似,此处不再赘述。
可选的,在一种可能的实现方式中,在二次下发子作业任务时,主控服务器还可以再次获取对应的目标服务器的当前空余线程,若空余线程有所增加,则可以根据增加的数量下发对应数量的子作业任务,以提高处理批量作业任务的效率。
为提升批量作业任务的完成度,在每一个子作业任务执行失败时,可以对执行失败的子作业任务进行多次重复执行。
示例性的,获取所述子作业任务的下发次数,若所述下发次数小于或等于预设次数,则将所述子作业任务写入至对应的子作业任务处理队列的队尾,并将对应的第一执行进度更新为已分配;若所述下发次数大于预设次数,则停止执行所述子作业任务,输出告警信息。
本申请实施例中,若主控服务器更新第一执行进度时,某一子作业任务对应的执行进度为执行失败,则需要重新执行该子作业任务。每一个子作业任务都有预先设置的最大重复执行次数(预设次数),在重新执行该子作业任务时,主控服务器可以获取该子作业任务的下发次数,若下发次数小于或等于最大重复执行次数,则可以将该子作业任务重新放入对应的子作业处理队列的队尾,并在第一数据库表中将对应的第一执行进度更新为已分配。以使主控服务器可以重新将该子作业任务下发至对应的目标服务器,以提高该子作业任务的执行成功率。其中,每一个子作业任务下发时,主控服务器可以在相应的日志中,或者配置文件中记录对应的下发次数。
若该子作业任务的下发次数大于最大重复执行次数,则通过任务处理系统的前端页面输出告警信息,以提示用户当前的异常情况。
本申请实施例提供的任务处理方法,通过对批处理作业任务进行拆分,并根据任务处理系统中的各服务器的负载情况进行子作业任务的分配,可以提升子作业任务的执行效率。通过第一数据库表和第二数据库表记录并更新各子作业任务的分配情况及执行进度,待处理的子作业任务根据第一数据库表中记录的各子作业任务的执行进度进行下发执行。可以有效降低同一子作业任务被重复执行,方法简单易行,执行效率较高。
本申请实施例还提供一种任务处理系统。
图4为本申请实施例提供的任务处理系统400的结构示意图,如图4所示,包括:主控服务器401和执行服务器402。
主控服务器401,用于获取待执行的批处理作业任务,将所述批处理作业任务拆分为多个子作业任务;将多个所述子作业任务进行分发;并通过第一数据库表记录各所述子作业任务的第一执行进度。
执行服务器402,用于接收所述执行服务器分发的所述子作业任务,执行所述子作业任务,并通过第二数据库表记录所述子作业任务的第二执行进度。
可选的,主控服务器401,还用于根据所述主控服务器和所述执行服务器的负载情况,从所述主控服务器和所述执行服务器中为各所述子作业任务分配对应的目标服务器,并在所述批处理作业任务对应的第一数据库表中记录各所述子作业任务的分配情况和各子作业任务的第一执行进度;获取各目标服务器的空余线程数量,下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,以使各所述目标服务器处理对应的子作业任务;其中,各所述目标服务器在接收并执行对应的子作业任务时,在各自的所述批处理作业任务对应的第二数据库表中记录对应的子作业任务,以及,所述目标服务器对所述子作业任务的第二执行进度;获取所述第二数据库表中记录的各子作业任务的第二执行进度,在所述第一数据库表中进行更新所述第一执行进度;根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。
可选的,主控服务器401,还用于响应于在所述任务处理系统的前端页面输入的批处理作业信息,根据所述批处理作业信息确定待执行的批处理作业任务;根据预设的拆分规则对所述批处理作业任务进行拆分,得到所述多个子作业任务;其中,所述拆分规则为下述规则中的一种;均匀拆分、固定数量拆分。
可选的,主控服务器401,还用于获取各所述子作业任务的拆分时间;按照各所述子作业任务的拆分时间的先后顺序,生成各所述目标服务器的子作业任务处理队列;根据所述目标服务器的空余线程数量,依次将所述子作业任务处理队列中的子作业任务下发至所述目标服务器。
可选的,主控服务器401,还用于通过心跳注册确定所述任务处理系统中的多个可用的所述执行服务器;根据所述主控服务器和可用的所述执行服务器的负载情况,从所述主控服务器和可用的所述执行服务器中为各所述子作业任务分配对应的目标服务器。
可选的,主控服务器401,还用于若所述子作业任务更新后的第一执行进度为执行失败,获取所述子作业任务的下发次数,若所述下发次数小于或等于预设次数,则将所述子作业任务写入至对应的子作业任务处理队列的队尾,并将对应的第一执行进度更新为已分配;若所述下发次数大于预设次数,则停止执行所述子作业任务,输出告警信息。
可选的,执行服务器402,还用于接收主控服务器下发的至少一个子作业任务;在第二数据库表中记录该子作业任务的信息,所述信息包括子作业任务的标识和对应的第二执行进度;执行所述子作业任务,并更新所述第二执行进度;在所述子作业任务执行成功时,向所述主控服务器返回执行结果。
本申请实施例提供的任务处理系统可以执行上述任一实施例中所示的任务处理方法的技术方案,其原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种电子设备。
图5为本申请实施例提供的电子设备500的结构示意图,如图5所示,包括:
处理器501。
存储器502,用于存储终端设备的可执行指令。
具体的,程序可以包括程序代码,程序代码包括计算机操作指令。存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现前述方法实施例所描述的任务处理方法实施例的技术方案。
其中,处理器501可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,电子设备50在执行任务处理方法实施例的技术方案时,电子设备50还可以包括显示装置503。
显示装置503用于向用户提供输入接口,以使用户通过输入接口输入待执行的批处理任务信息。
显示装置503还用于向用户展示批处理任务的执行过程以及执行结果。并在出现执行失败时,向用户显示告警信息。
可选的,电子设备50还可以包括通信接口504,以通过通信接口504可以与外部设备进行通信交互,外部设备例如可以是用户终端(例如,手机、平板)。在具体实现上,如果通信接口504、存储器502和处理器501独立实现,则通信接口504、存储器502和处理器501可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(IndustryStandard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口504、存储器502和处理器501集成在一块芯片上实现,则通信接口504、存储器502和处理器501可以通过内部接口完成通信。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例所述方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种任务处理方法,其特征在于,任务处理系统包括一个主控服务器和多个执行服务器,所述方法应用于所述主控服务器,所述方法包括:
获取待执行的批处理作业任务,并将所述批处理作业任务拆分为多个子作业任务;
根据所述主控服务器和所述执行服务器的负载情况,从所述主控服务器和所述执行服务器中为各所述子作业任务分配对应的目标服务器,并在所述批处理作业任务对应的第一数据库表中记录各所述子作业任务的分配情况和各子作业任务的第一执行进度;
获取各目标服务器的空余线程数量,下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,以使各所述目标服务器处理对应的子作业任务;其中,各所述目标服务器在接收并执行对应的子作业任务时,在各自的所述批处理作业任务对应的第二数据库表中记录对应的子作业任务,以及,所述目标服务器对所述子作业任务的第二执行进度;
获取所述第二数据库表中记录的各子作业任务的第二执行进度,在所述第一数据库表中进行更新所述第一执行进度;
根据更新后第一执行进度向各目标服务器继续分配待执行的子作业任务。
2.根据权利要求1所述的任务处理方法,其特征在于,所述获取待执行的批处理作业任务,并将所述批处理作业任务拆分为多个子作业任务,包括:
响应于在所述任务处理系统的前端页面输入的批处理作业信息,根据所述批处理作业信息确定待执行的批处理作业任务;
根据预设的拆分规则对所述批处理作业任务进行拆分,得到所述多个子作业任务;其中,所述拆分规则为下述规则中的一种;
均匀拆分、固定数量拆分。
3.根据权利要求2所述的任务处理方法,其特征在于,所述下发与所述空余线程数量匹配的子作业任务至各所述目标服务器,包括:
获取各所述子作业任务的拆分时间;
按照各所述子作业任务的拆分时间的先后顺序,生成各所述目标服务器的子作业任务处理队列;
根据所述目标服务器的空余线程数量,依次将所述子作业任务处理队列中的子作业任务下发至所述目标服务器。
4.根据权利要求3所述的任务处理方法,其特征在于,所述根据各服务器的负载情况,分配各所述子作业任务对应的目标服务器,包括:
通过心跳注册确定所述任务处理系统中的多个可用的所述执行服务器;
根据所述主控服务器和可用的所述执行服务器的负载情况,从所述主控服务器和可用的所述执行服务器中为各所述子作业任务分配对应的目标服务器。
5.根据权利要求4所述的任务处理方法,其特征在于,若所述子作业任务更新后的第一执行进度为执行失败,所述方法还包括:
获取所述子作业任务的下发次数,若所述下发次数小于或等于预设次数,则将所述子作业任务写入至对应的子作业任务处理队列的队尾,并将对应的第一执行进度更新为已分配;
若所述下发次数大于预设次数,则停止执行所述子作业任务,输出告警信息。
6.根据权利要求5所述的方法,其特征在于,所述第一执行进度包括下述中的一种:已分配、已下发、待执行、执行中、执行成功、执行失败;
所述第二执行进度包括下述中的一种:待执行、执行中、执行成功、执行失败。
7.一种任务处理方法,其特征在于,任务处理系统包括一个主控服务器和多个执行服务器,所述方法应用于所述执行服务器,所述方法包括,
接收主控服务器下发的至少一个子作业任务;
在第二数据库表中记录该子作业任务的信息,所述信息包括子作业任务的标识和对应的第二执行进度;
执行所述子作业任务,并更新所述第二执行进度;
在所述子作业任务执行成功时,向所述主控服务器返回执行结果。
8.一种任务处理系统,其特征在于,包括:主控服务器和多个执行服务器;
所述主控服务器,用于执行如权利1-6中任一项所述的方法;
所述执行服务器,用于执行如权利要求7中所述的方法。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6或者权利要求7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6或者权利要求7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310470741.5A CN116467085A (zh) | 2023-04-27 | 2023-04-27 | 任务处理方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310470741.5A CN116467085A (zh) | 2023-04-27 | 2023-04-27 | 任务处理方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467085A true CN116467085A (zh) | 2023-07-21 |
Family
ID=87182360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310470741.5A Pending CN116467085A (zh) | 2023-04-27 | 2023-04-27 | 任务处理方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467085A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251274A (zh) * | 2023-11-14 | 2023-12-19 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
-
2023
- 2023-04-27 CN CN202310470741.5A patent/CN116467085A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251274A (zh) * | 2023-11-14 | 2023-12-19 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
CN117251274B (zh) * | 2023-11-14 | 2024-02-20 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068964B2 (en) | Method and device for processing service request | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
CN107436799B (zh) | 分布式事务一致性实现方法及装置 | |
CN110445828B (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
CN111199379A (zh) | 工作流引擎的审批方法、审批设备及存储介质 | |
US20150254117A1 (en) | Apparatus and method for executing agent | |
CN111125106B (zh) | 一种跑批任务执行方法、装置、服务器和存储介质 | |
CN110633977A (zh) | 支付异常处理方法、装置及终端设备 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN116467085A (zh) | 任务处理方法、系统、电子设备及存储介质 | |
CN111143074B (zh) | 一种翻译文件的分配方法和装置 | |
CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109885431B (zh) | 用于备份数据的方法和装置 | |
CN108520401B (zh) | 用户名单管理方法、装置、平台及存储介质 | |
CN111767533A (zh) | 离线模式用户授权方法、装置、电子装置及存储介质 | |
CN113535087A (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN111367694B (zh) | 事件处理方法、服务器及计算机存储介质 | |
JP2001229058A (ja) | データベースサーバ処理方法 | |
CN115578180A (zh) | 银行网点的现金资源的管理方法及装置 | |
CN114661523A (zh) | 数据备份方法、装置、程序产品、介质及电子设备 | |
CN107967549B (zh) | 多流程任务处理装置与方法 | |
CN111611066A (zh) | 任务执行方法、任务执行服务器和存储介质 | |
CN113094415A (zh) | 数据抽取方法、装置、计算机可读介质及电子设备 | |
CN115103020B (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 |