CN110806933B - 一种批量任务处理方法、装置、设备和存储介质 - Google Patents
一种批量任务处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110806933B CN110806933B CN201911072107.6A CN201911072107A CN110806933B CN 110806933 B CN110806933 B CN 110806933B CN 201911072107 A CN201911072107 A CN 201911072107A CN 110806933 B CN110806933 B CN 110806933B
- Authority
- CN
- China
- Prior art keywords
- task
- batch
- execution
- target
- queue
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种批量任务处理方法、装置、设备和存储介质,批量任务处理方法包括:获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;确定批量任务队列中的目标任务的执行步骤;若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。本发明实施例将目标任务中可并列执行的步骤同时分配给不同的执行节点,避免对于单个任务的每个执行步骤都需要进行顺序执行,减少目标任务的执行时间。多执行节点并发处理任务提高批量任务处理的效率,并实现均衡各个执行节点的任务分配的效果。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种批量任务处理方法、装置、设备和存储介质。
背景技术
批量任务广泛存在于各类数据处理系统中。批量任务一般具有数据量大、任务多、非实时响应、执行时间长以及重复执行等特点。随着经济的发展,银行业务越来越广泛的进入人们的日常生活当中,并且银行也为人们提供越来越多的业务,如基金和理财产品等。这就使得银行业务系统需要面临处理业务的批量任务请求。
现有的对批量任务进行处理的方法是使用任务调度工具,如Control-M等。任务调度工具属于跨平台的批量作业调度管理软件,需要在服务器上安装Enterprise Manager(企业管理器),在被控主机上安装agent。agent可以在主机上提交由任务调度工具定义好的任务作业流,并返回由服务器担任执行节点的根据任务作业流得到的运行结果。可以实现按照业务逻辑自动调度和提交相关作业;实时监控和分析作业运行状态和运行结果;基于运行结果自动进行作业的后续处理。
然而,现有的任务调度工具需要采用C/S(Client/Server,客户机/服务器)模式,使用之前需要进行安装,安装流程繁复,影响作业效率。对于单个任务的每个执行步骤需要进行顺序执行,导致每个任务的执行速度慢,并且如果单个任务的执行步骤较多时,会造成各个执行节点的任务分配难以均衡的问题。
发明内容
本发明实施例提供一种批量任务处理方法、装置、设备和存储介质,以提高批量任务处理的效率,并实现均衡各个执行节点的任务分配的效果。
第一方面,本发明实施例提供了一种批量任务处理方法,包括:
获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
确定批量任务队列中的目标任务的执行步骤;
若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
第二方面,本发明实施例还提供了一种批量任务处理装置,包括:
批量任务队列获取模块,用于获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
执行步骤确定模块,用于确定批量任务队列中的目标任务的执行步骤;
执行节点分配模块,用于若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
第三方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的批量任务处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的批量任务处理方法。
本发明实施例基于对批量任务队列中目标任务的执行步骤的判断,将目标任务中可并列执行的步骤同时分配给不同的执行节点,避免对于单个任务的每个执行步骤都需要进行顺序执行,减少目标任务的执行时间。多执行节点并发处理任务提高批量任务处理的效率,并实现均衡各个执行节点的任务分配的效果。
附图说明
图1是本发明实施例一中的批量任务处理方法的流程图;
图2是本发明实施例二中的批量任务处理方法的流程图;
图3是本发明实施例三中的批量任务处理装置的结构示意图;
图4是本发明实施例四中的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1是本发明实施例一中的批量任务处理方法的流程图,本实施例可适用于对于处理大量批量任务时需要提高批量任务处理效率的情况。该方法可以由批量任务处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可配置在计算机设备中,例如计算机设备可以是后台服务器等具有通信和计算能力的设备。如图1所示,该方法具体包括:
步骤101、获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成。
其中,批量任务是指基于一定的输入执行指令所执行的一系列的任务,批量任务广泛存在于各类数据处理系统中,且批量任务一般具有数据量大、任务多、非实时响应、执行时间长和重复执行等特点。例如,批量任务可以是用户向银行系统提交的业务办理请求,如开户、认购、申购、分红、赎回和基金理财产品购买。待处理任务是指需要由担任执行节点的服务器进行处理的任务,如银行需要对用户提交的开户信息进行验证通过处理,则待处理任务是指上传到服务器中的用户开户提交请求。批量任务队列是指对待处理的批量任务进行生成并汇总在队列中以供执行节点进行处理,例如,执行节点需要对银行的开户信息进行处理以及对用户购买基金的请求进行处理,则批量任务队列中包括用户提交的开户请求以及购买基金的请求。
具体的,在执行节点处理批量任务时,需要先获取批量任务队列,可选的,批量任务队列可存储在服务器中。批量处理队列中的任务作为需要执行节点进行处理的待执行任务。
步骤102、确定批量任务队列中的目标任务的执行步骤。
其中,目标任务是指执行节点所要处理的批量任务队列中的任意一个任务,可选的,目标任务可以是按照批量任务队列中的顺序由执行节点进行依次执行的每条任务。执行步骤是指预先设置的每条批量任务执行完成需要执行的步骤,可选的,执行步骤可以通过步骤队列获取,步骤队列是指针对任务队列中的每条任务将其对应的所有步骤进行汇总的队列。
具体的,当执行节点从批量任务队列中确定目标任务后,从步骤队列中找到该目标任务相应的所有执行步骤信息。
可选的,确定批量任务队列中的目标任务的执行步骤,包括:
获取批量任务队列中的目标任务的任务信息;其中,任务信息包括:任务类型、任务允许开始时间、任务允许结束时间、任务是否可作废和任务优先级中的至少一种;
根据所述目标任务的任务信息确定所述目标任务是否为可执行目标任务;
若是,则确定目标任务的执行步骤。
其中,任务信息是指表征批量任务性质的信息,以便根据任务信息对批量任务进行相应的执行动作。任务类型是指批量任务的性质,如批量任务所属种类,包括:开户类型、认购类型、申购类型、分红类型、赎回类型和基金理财产品购买类型等。任务允许开始时间是指批量任务所允许执行节点对其进行处理的开始时间,若开始时间不满足当前时间,则该批量任务不能被执行节点进行处理,可以根据任务允许开始时间对批量任务进行判断是否可以执行。任务允许结束时间是指批量任务所允许的被执行节点所执行的最晚时间,若超过允许结束时间,则该批量任务可以被暂停或作废,可选的,可以根据任务允许结束时间对批量任务进行判断是否可以结束执行。
任务是否可作废是指批量任务对放置在批量任务队列中待执行时或者被执行节点正在执行或者等待执行时是否可以删除该批量任务,可选的,当发现某批量任务生成错误或者执行重复时,可以根据任务是否可作废这一信息对批量任务进行删除,若可作废则对该批量任务进行删除;若不可作废则不能对该批量任务进行删除。任务优先级是指对批量任务进行设置的处理顺序,可以根据任务优先级确定批量任务被执行节点处理的顺序,执行节点对优先级高的批量任务进行优先处理。可执行目标任务是指根据任务信息进行判断的当前可被执行节点进行处理的任务,例如,根据优先级判断,选择批量任务队列中优先级最高的批量任务作为可执行目标任务;或者根据任务允许开始时间进行判断,若任务允许时间到达当前时间,则该批量任务可作为可执行目标任务。
具体的,执行节点中的任务调度主控轮询批量任务队列,并根据队列中的任务确定其任务信息,根据任务信息中具体信息判断是否将所述目标任务确定为可执行任务,若为可执行任务,则启动其任务执行器线程。示例性的,根据批量任务的任务状态,如待处理、暂停或前置任务完成,将相应的任务确定为可执行目标任务;并且根据任务信息中任务优先级确定可执行目标任务的执行先后顺序。根据任务信息对批量任务队列中的目标任务进行判断是否可执行,并利用空闲执行节点对可执行任务进行处理,避免执行节点的资源被任务信息不满足条件的任务浪费,提高批量任务被执行节点处理的效率。
其中,任务调度主控是指调用任务执行器组件对相应任务进行处理的主控件,可以用于查询可以执行的批量任务。任务执行器用于获取待处理批量任务的所有步骤执行器处理相应步骤。步骤执行器用于查询相应步骤的配置,实现对相应步骤的执行。
步骤103、若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
其中,步骤属性是指各个任务类型对应的处理流程步骤所对应的处理方法信息。可选的,步骤属性包括步骤所属任务类型、步骤名称、步骤序号、步骤处理方法、前置步骤和并发数中的至少一种。步骤所属任务类型是指该步骤对应的任务所属任务类型,用于对该步骤进行判断;步骤名称是指所要执行步骤对应的执行方法名称;步骤序号是指该步骤在所属任务中的所在序号,用于根据步骤序号判断该步骤的执行顺序;步骤处理方法是指该步骤对应的具体执行方法,用于根据处理方法对步骤进行具体执行;前置步骤是指该步骤被执行的所需要的前提,即在其前置步骤完成的情况下该步骤才能被执行,若该步骤无前置步骤说明该步骤可以与其他步骤同时执行;并发数是指该步骤可以与其他步骤同时执行的数量,用于根据并发数判断可同时执行的步骤。
可并列执行步骤是指根据步骤属性判断可与其他步骤同时执行的步骤,可并列执行步骤之间不需要互相之间的步骤处理结果作为其执行前提。示例性的,待执行目标任务的下属步骤中存在至少两个无前置步骤的步骤,则无前置步骤的步骤为可并列执行步骤。
具体的,根据可执行目标任务确定其执行步骤,对执行步骤的步骤属性判断是否有前置步骤,若该可执行目标任务中存在至少两个无前置步骤的可并列执行步骤,则将可并列执行步骤分配至不同的执行节点进行处理,避免将一个可执行目标任务的步骤均分配给同一个执行节点进行处理,减少该可执行目标任务的处理时间。可选的,当可执行目标任务中存在至少两个执行步骤的前置步骤为同一个步骤,则将该步骤执行完成后,所述至少两个执行步骤为可并列执行步骤。
可选的,将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务,包括:
查询至少两个执行节点的负载状态;
根据所述负载状态,将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
其中,负载状态是指由该执行节点正在执行的任务及步骤数量造成的执行节点的负担状态,可选的,执行节点的负载状态包括忙碌或者空闲。先确定该执行节点所能执行的最大任务步骤数量,再获取该执行节点正在执行的任务步骤数量,若该任务步骤数量接近最大任务步骤数量,则该执行节点的负载状态为空闲。
具体的,查询所有执行节点的负载状态,确定其中负载状态为空闲的至少两个执行节点,将可并列执行步骤按照该执行节点的负载数量进行分配,例如,若可并列执行步骤的数量为五个,有两个空闲的执行节点,其中一号执行节点正在执行的步骤数量为5个,二号执行节点正在执行的步骤数量为2个,则可根据实际情况为一号执行节点分配1个可并列执行步骤,为二号执行步骤分配4个可并列执行步骤。
可选的,一个待执行目标任务开始执行后,其所属的执行步骤对所有执行节点均可见,各执行节点通过修改步骤属性中的执行时间来表示对该步骤已执行,防止不同节点对同一个执行步骤重复执行,提高步骤的执行效率。并且各执行节点采用优先级策略,保证同一个待执行目标任务的执行步骤均衡分布在不同的执行节点,满足执行节点负载均衡的要求,避免大部分执行步骤堆积在同一个执行节点或某几个执行节点,造成执行节点处理效率低。执行步骤并发处理提高了批量任务的执行效率。
本发明实施例基于对批量任务队列中目标任务的执行步骤的判断,将目标任务中可并列执行的步骤同时分配给不同的执行节点,避免对于单个任务的每个执行步骤都需要进行顺序执行,减少目标任务的执行时间。多执行节点并发处理任务提高批量任务处理的效率,并实现均衡各个执行节点的任务分配的效果。并且步骤并发处理提高了对所属批量任务的执行效率。
实施例二
图2是本发明实施例二中的批量任务处理方法的流程图,本实施例二在实施例一的基础上进行进一步地优化。如图2所示,所述方法包括:
步骤201、根据预先设置的任务配置表查询待处理任务请求。
其中,任务配置表是指存放所有批量任务的生成控制信息的表,生成控制信息用于对批量任务队列中的任务进行生成控制。其中,生成控制信息包括主键、定时任务类型、定时任务开始时间、定时任务结束时间、任务是否重复、任务时间间隔、任务上次执行日期和任务上次执行时间等。待处理任务请求是指用户上传的任务请求,可以是用户向银行系统提交的开户请求或者基金购买请求等。
具体的,预先将所要执行的所有任务以及其任务生成控制信息存放在任务配置表中,执行节点通过对任务配置表中待处理请求的轮询,查询其对应任务的生成控制信息。直至对任务配置表中所有待处理任务查询完毕。示例性的,当执行节点需要处理的待处理任务请求为基金购买请求时,在任务配置表中查询基金购买任务的生成控制信息,如基金购买任务的任务类型、任务开始时间、任务是否重复、任务时间间隔和任务上次执行日期等。
可选的,在执行节点对待处理任务请求进行处理之前,还包括根据配置参数表对当前日期的任务进行查询,以及对当前执行任务组别进行查询。对当前日期任务进行查询便于执行节点根据当前日期对任务进行处理,当前日期完成后即可生成下一个日期的任务,支持任务的灵活生成策略和执行策略。因当前任务执行完成后无需等待日期更替后才生成下一个日期的任务,改善了当前日期任务无法完成影响下一个日期任务生成和执行的状况。
步骤202、待处理任务请求中是否存在满足任务生成条件的任务请求,若存在,执行步骤203;若不存在,则返回步骤201继续查询。
其中,任务生成条件用于根据查询到的待处理任务请求的生成控制信息对是否生成当前待处理任务请求进行判断,可选的,所述任务生成条件包括待处理任务请求的目标执行时间条件,和/或,待处理任务请求的目标执行次数条件。
具体的,判断当前时间是否在当前处理的待处理任务请求的定时任务开始时间和定时任务结束时间内,若不在,则跳过该条待处理任务请求,对下一条任务请求进行判断。若在,则判断该待处理任务请求是否允许重复执行,如果不允许,判断当前日期是否等于任务上次执行日期,若相等,说明该请求不需被处理则直接跳过处理下一条任务请求;若不相等,则根据定时任务类型生成对应的批量任务,执行步骤203。若果该待处理任务请求允许重复执行,则先判断该任务请求的任务上次执行时间是否为空,若为空,则直接根据当前待处理任务的任务类型生成批量任务;若不为空,则判断当前时间是否大于等于任务上次执行时间加上任务时间间隔,若满足条件则根据定时任务类型生成对应批量任务;若不满足条件则跳过该条任务请求处理下一条。
通过对任务生成条件的判断,实现了对生成任务的控制,使得生成任务符合条件,提高对任务执行的效率,避免执行不必要的任务对整体流程带来错误。
步骤203、生成任务并添加到批量任务队列中。
具体的,当待处理任务请求满足任务生成条件后,将待处理任务请求添加到批量任务队列中,等待执行节点处理。
可选的,生成任务并添加到批量任务队列中,包括:
从预先设置的任务配置表中获取任务信息,并生成任务;
将所生成的任务以及任务信息添加到批量任务队列中。
具体的,当待处理任务请求满足任务生成条件后,从任务配置表中获取该任务请求对应的任务信息,并将该待处理任务请求和任务信息均添加到批量任务队列中。批量任务队列中保存批量任务以及其任务信息,避免后期对任务信息的调取,减少对任务信息获取的时间,有利于提高批量任务执行的效率。
可选的,将所生成的任务以及任务信息添加到批量任务队列中之后,还包括:将所生成的任务对应的步骤以及步骤信息添加到步骤队列中。
具体的,生成任务后从步骤信息配置表中查询该任务类型对应的步骤,并将步骤以及其步骤属性添加到步骤队列中,以供后续对任务执行时直接从步骤队列中查询相应步骤信息,减少步骤执行的时间,提高任务执行的效率。其中,步骤信息配置表为预先设置的记录各个批量任务类型对应的处理流程步骤以及每个步骤对应的处理方法信息等。
步骤204、获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成。
步骤205、确定批量任务队列中的目标任务的执行步骤。
步骤206、若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
可选的,当目标任务被执行节点开始处理后,修改该目标任务对应的任务处理状态和任务开始时间,并从步骤队列中查询其对应的步骤,启动步骤执行器对步骤进行处理,当任务执行完毕后,修改任务的处理状态和任务完成时间。并且当步骤分配给不同执行节点处理后,修改步骤记录时间,避免多执行节点对同一个任务和步骤重复执行。
可选的,支持人工对执行步骤结果进行确认,确认后方可执行后续步骤。以便于对批量任务处理结果进行监控,并提高批量任务处理结果的准确性。也支持在非工作日取消人工确认过程,批量任务和步骤自动执行或跳过相应任务,提高任务执行的效率。并且支持对批量任务处理过程进行实时监控与管理,通过图形化的方式对批量任务进行展示,以便用户对批量任务执行进度以及调度策略进行监控。并且通过监控可以实现对批量任务的暂停、作废、失败任务步骤重新执行以及批量任务执行结果确认等操作。
可选的,基于数据库实现对批量任务以及步骤的配置,包括,配置参数表、任务配置表、步骤信息配置表、批量任务队列以及步骤队列的实现。实现快速对批量任务配置信息进行复制修改删除,任务配置变更后只需重新导入新的任务配置信息或对任务配置表进行增加、删除和修改就可即时生效,便于对批量任务的管理。
本发明实施例支持多执行节点进行分布式部署,对批量任务进行处理,并且多执行节点同时对批量任务队列进行轮询处理,提高批量任务的处理效率。并且一个执行节点支持多任务并发执行,提高执行节点的执行效率。在执行节点对批量任务处理之前对批量任务进行生成,得到批量任务队列以及步骤队列,提高批量任务和步骤执行效率。
实施例三
图3是本发明实施例三中的批量任务处理装置的结构示意图,本实施例可适用于对于处理大量批量任务时需要提高批量任务处理效率的情况。如图3所示,该装置包括:
批量任务队列获取模块310,用于获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
执行步骤确定模块320,用于确定批量任务队列中的目标任务的执行步骤;
执行节点分配模块330,用于若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
本发明实施例基于对批量任务队列中目标任务的执行步骤的判断,将目标任务中可并列执行的步骤同时分配给不同的执行节点,避免对于单个任务的每个执行步骤都需要进行顺序执行,减少目标任务的执行时间。多执行节点并发处理任务提高批量任务处理的效率,并实现均衡各个执行节点的任务分配的效果。并且步骤并发处理提高了对所属批量任务的执行效率。
可选的,执行步骤确定模块320,具体用于:
获取批量任务队列中的目标任务的任务信息;其中,任务信息包括:任务类型、任务允许开始时间、任务允许结束时间、任务是否可作废和任务优先级中的至少一种;
根据所述目标任务的任务信息确定所述目标任务是否为可执行目标任务;
若是,则确定目标任务的执行步骤。
可选的,所述装置还包括:
任务生成条件判断模块,用于根据预先设置的任务配置表查询待处理任务请求中是否存在满足任务生成条件的任务请求;
任务生成模块,用于若存在,则生成任务并添加到批量任务队列中。
可选的,所述任务生成条件包括待处理任务请求的目标执行时间条件,和/或,待处理任务请求的目标执行次数条件。
可选的,所述执行步骤的步骤属性包括步骤所属任务类型、步骤名称、步骤序号、步骤处理方法、前置步骤和并发数中的至少一种。
可选的,任务生成模块,具体用于:
从预先设置的任务配置表中获取任务信息,并生成任务;
将所生成的任务以及任务信息添加到批量任务队列中。
可选的,执行节点分配模块,具体用于:
查询至少两个执行节点的负载状态;
根据所述负载状态,将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
本发明实施例所提供的批量任务处理装置可执行本发明任意实施例所提供的批量任务处理方法,具备执行批量任务处理方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储装置28,连接不同系统组件(包括系统存储装置28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储装置总线或者存储装置控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储装置28可以包括易失性存储装置形式的计算机系统可读介质,例如随机存取存储装置(RAM)30和/或高速缓存存储装置32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储装置28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储装置28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储装置28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的批量任务处理方法,包括:
获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
确定批量任务队列中的目标任务的执行步骤;
若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的批量任务处理方法,包括:
获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
确定批量任务队列中的目标任务的执行步骤;
若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种批量任务处理方法,其特征在于,包括:
获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
确定批量任务队列中的目标任务的执行步骤;
若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务;
其中,所述将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务,包括:
查询至少两个执行节点的负载状态;
根据所述负载状态,将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务;
其中,所述根据所述负载状态,将所述至少两个可并列执行步骤分配至至少两个执行节点,包括:确定所述负载状态为空闲的所述至少两个执行节点,将所述可并列执行步骤按照所述执行节点的负载数量进行分配。
2.根据权利要求1所述的方法,其特征在于,确定批量任务队列中的目标任务的执行步骤,包括:
获取批量任务队列中的目标任务的任务信息;其中,任务信息包括:任务类型、任务允许开始时间、任务允许结束时间、任务是否可作废和任务优先级中的至少一种;
根据所述目标任务的任务信息确定所述目标任务是否为可执行目标任务;
若是,则确定目标任务的执行步骤。
3.根据权利要求1所述的方法,其特征在于,在获取待执行的批量任务队列之前,所述方法还包括:
根据预先设置的任务配置表查询待处理任务请求中是否存在满足任务生成条件的任务请求;
若存在,则生成任务并添加到批量任务队列中。
4.根据权利要求3所述的方法,其特征在于,所述任务生成条件包括待处理任务请求的目标执行时间条件,和/或,待处理任务请求的目标执行次数条件。
5.根据权利要求1所述的方法,其特征在于,所述执行步骤的步骤属性包括步骤所属任务类型、步骤名称、步骤序号、步骤处理方法、前置步骤和并发数中的至少一种。
6.根据权利要求3所述的方法,其特征在于,生成任务并添加到批量任务队列中,包括:
从预先设置的任务配置表中获取任务信息,并生成任务;
将所生成的任务以及任务信息添加到批量任务队列中。
7.一种批量任务处理装置,其特征在于,包括:
批量任务队列获取模块,用于获取待执行的批量任务队列,其中,批量任务队列由至少一个待执行任务组成;
执行步骤确定模块,用于确定批量任务队列中的目标任务的执行步骤;
执行节点分配模块,用于若根据执行步骤的步骤属性确定存在至少两个可并列执行步骤,则将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务;
其中,所述执行节点分配模块,具体用于:
查询至少两个执行节点的负载状态;
根据所述负载状态,将所述至少两个可并列执行步骤分配至至少两个执行节点,以执行批量任务队列中的所述目标任务;
其中,所述根据所述负载状态,将所述至少两个可并列执行步骤分配至至少两个执行节点,包括:确定所述负载状态为空闲的所述至少两个执行节点,将所述可并列执行步骤按照所述执行节点的负载数量进行分配。
8.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的批量任务处理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的批量任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072107.6A CN110806933B (zh) | 2019-11-05 | 2019-11-05 | 一种批量任务处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072107.6A CN110806933B (zh) | 2019-11-05 | 2019-11-05 | 一种批量任务处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110806933A CN110806933A (zh) | 2020-02-18 |
CN110806933B true CN110806933B (zh) | 2022-06-10 |
Family
ID=69501278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911072107.6A Active CN110806933B (zh) | 2019-11-05 | 2019-11-05 | 一种批量任务处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110806933B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427694A (zh) * | 2020-03-26 | 2020-07-17 | 北京金山云网络技术有限公司 | 任务执行方法、装置、系统和服务器 |
CN113703933A (zh) * | 2020-05-22 | 2021-11-26 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN111782373B (zh) * | 2020-07-01 | 2023-03-07 | 上海乾臻信息科技有限公司 | 作业调度方法及装置 |
CN112416727A (zh) * | 2020-11-23 | 2021-02-26 | 中国建设银行股份有限公司 | 批处理作业的检核方法、装置、设备及介质 |
CN113761416A (zh) * | 2020-12-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种请求处理方法、装置、服务器和存储介质 |
CN113238843B (zh) * | 2021-05-13 | 2024-07-16 | 北京京东振世信息技术有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN113296912B (zh) * | 2021-05-25 | 2024-08-20 | 北京京东振世信息技术有限公司 | 任务处理方法及装置、系统、存储介质、电子设备 |
CN113590278A (zh) * | 2021-07-05 | 2021-11-02 | 杭州智家通科技有限公司 | 去除重复执行任务的方法、装置、设备及存储介质 |
CN113419836B (zh) * | 2021-07-07 | 2023-02-21 | 深圳市珍爱捷云信息技术有限公司 | 任务处理方法、装置、电子设备和计算机可读存储介质 |
CN113971519B (zh) * | 2021-10-25 | 2023-06-23 | 上海擎朗智能科技有限公司 | 一种机器人调度方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389209A (zh) * | 2015-12-25 | 2016-03-09 | 中国建设银行股份有限公司 | 一种异步批量任务处理方法及系统 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
CN108829506A (zh) * | 2018-07-04 | 2018-11-16 | 中国建设银行股份有限公司 | 批量任务处理方法、装置及服务系统 |
-
2019
- 2019-11-05 CN CN201911072107.6A patent/CN110806933B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389209A (zh) * | 2015-12-25 | 2016-03-09 | 中国建设银行股份有限公司 | 一种异步批量任务处理方法及系统 |
CN106126354A (zh) * | 2016-06-21 | 2016-11-16 | 中国建设银行股份有限公司 | 一种异步批量处理方法及系统 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
CN108829506A (zh) * | 2018-07-04 | 2018-11-16 | 中国建设银行股份有限公司 | 批量任务处理方法、装置及服务系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110806933A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806933B (zh) | 一种批量任务处理方法、装置、设备和存储介质 | |
US11704224B2 (en) | Long running workflows for robotic process automation | |
JP5448032B2 (ja) | リソース管理装置、リソース管理プログラム、およびリソース管理方法 | |
JP2016541056A (ja) | ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置 | |
US9529651B2 (en) | Apparatus and method for executing agent | |
CN111125106B (zh) | 一种跑批任务执行方法、装置、服务器和存储介质 | |
US10732841B2 (en) | Tracking ownership of memory in a data processing system through use of a memory monitor | |
KR20140097815A (ko) | 자원 할당 방법 및 그 장치 | |
US8060885B2 (en) | Creating task queries for concrete resources using alias selection fields specifying formal resources and formal relationships | |
US7657590B2 (en) | Load balancing system and method | |
US8656395B2 (en) | Method and system for optimizing a job scheduler in an operating system | |
US20160162331A1 (en) | Prioritizing Cloud-based Computing Tasks | |
US11797511B2 (en) | On-line transaction processing database wait time estimation using linear regression model | |
US8554798B2 (en) | Asynchronous state engine with plug-ins for flexible application development | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
JPH0844670A (ja) | ファイル管理方法およびそれを用いた計算機システムならびにその計算機システムの運用方法 | |
CN110765098B (zh) | 流程运行预测系统及方法 | |
US11816621B2 (en) | Multi-computer tool for tracking and analysis of bot performance | |
US11488123B2 (en) | Blockchain payment notification system | |
CN117149381A (zh) | 一种分布式任务管理方法、系统、计算设备及存储介质 | |
CN114816433A (zh) | 基于异步编程在项目中的编码方法、系统、设备及介质 | |
JPH11110452A (ja) | 金融情報処理システム、金融情報処理方法及び金融情報処理プログラムを記録した記録媒体 | |
JPH09330256A (ja) | バッファ最適化によるデータベースシステムの性能監視方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220915 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Patentee after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Patentee before: CHINA CONSTRUCTION BANK Corp. Patentee before: Jianxin Financial Science and Technology Co.,Ltd. |