CN111857984A - 银行系统中的作业调用处理方法、装置和计算机设备 - Google Patents
银行系统中的作业调用处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111857984A CN111857984A CN202010483887.XA CN202010483887A CN111857984A CN 111857984 A CN111857984 A CN 111857984A CN 202010483887 A CN202010483887 A CN 202010483887A CN 111857984 A CN111857984 A CN 111857984A
- Authority
- CN
- China
- Prior art keywords
- job
- execution
- group
- level
- jobs
- 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 14
- 238000000034 method Methods 0.000 claims abstract description 120
- 230000008569 process Effects 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000007717 exclusion Effects 0.000 claims description 25
- 230000001419 dependent effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008878 coupling Effects 0.000 abstract description 6
- 238000010168 coupling process Methods 0.000 abstract description 6
- 238000005859 coupling reaction Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种银行系统中的作业调用处理方法、装置、计算机设备和存储介质。方法包括:获取银行系统中包含的作业组以及每个作业组包含的作业,获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序,获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序,根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。通过上述处理,在银行业务流程执行时,按层级顺序来执行各作业,作业的执行顺序只需要依赖关系的约束,降低了业务系统与调度过程的耦合,减小调度过程中出错可能性,从而提高银行业务流程的处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种银行系统中的作业调用处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,在银行系统流程的实现过程中出现了数据批量调度技术,银行系统现有的批量调度大多都基于配置作业固定序号或者基于队列的方式来约束作业间的执行顺序。顺序太固定修改起来特别麻烦,还会影响后续固定序号的作业序号修改本身的顺序号。作业并发完全依靠业务系统的业务划分进行并发,与业务强耦合的并发。
如银行核心系统中的批量任务,各个作业间按照顺序号约定执行的前后关系,根据业务系统的机构划分进行并发处理,作业调度平台与业务系统耦合性非常大,顺序号修改起来过程复杂,作业调度速度慢且容易出错,导致业务流程处理效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高作业调度速度,减小出错可能性的银行系统中的作业调用处理方法、装置、计算机设备和存储介质。
一种银行系统中的作业调用处理方法,方法包括:
获取银行系统中包含的作业组以及每个作业组包含的作业;
获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序;
获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序;
根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。
在其中一个实施例中,根据作业组依赖关系,确定各作业组的执行层级顺序包括:
根据作业组依赖关系,查找其执行依赖于当前作业组执行层级中各作业组的待配置作业组;
将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级。
在其中一个实施例中,方法还包括:
识别初始作业组,其中,初始作业组的执行不依赖于其他作业组;
将初始作业组的作业组执行层级设置为最先执行层级。
在其中一个实施例中,将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级,包括:
为待配置作业组配置与当前作业组执行层级的下一层级对应的作业组执行层级标识。
在其中一个实施例中,获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序包括:
根据作业依赖关系,查找其执行依赖于当前作业执行层级中各作业的待配置作业;
将待配置作业的作业执行层级配置为当前作业执行层级的下一层级。
在其中一个实施例中,方法还包括:
识别初始作业,其中,初始作业的执行不依赖于其他作业;
将初始作业的作业执行层级设置为最先执行层级。
在其中一个实施例中,将待配置作业的作业执行层级配置为当前作业执行层级的下一层级,包括:
为待配置作业配置与当前作业执行层级的下一层级对应的作业执行层级标识。
在其中一个实施例中,方法还包括:
若待配置作业的执行依赖于多个作业,则将待配置作业的作业执行层级配置为被依赖的多个作业对应的作业执行层级中最低层级的下一层级。
在其中一个实施例中,根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划包括:
根据作业组的执行层级顺序,配置作业组的开始执行条件,作业组的开始执行条件为前一作业组层级中的各作业组执行完成;
根据作业组中各作业对应的执行层级顺序,配置同一作业组中各作业的开始执行条件,其中,作业组中的初始作业的开始执行条件与作业组的开始执行条件相同,作业组中的非初始作业的开始执行条件为前一作业执行层级中的各作业执行完成;
生成包含执行层级顺序与开始执行条件的作业执行计划。
在其中一个实施例中,前一作业组层级中的各作业组执行完成的确定过程包括:
获取前一作业组层级的作业组中执行层级顺序最后的目标作业的执行进度;
若各目标作业的执行进度均为执行结束,则确定前一作业组层级中的各作业组执行完成。
在其中一个实施例中,作业执行计划被调用,执行银行业务流程的过程包括:
根据作业组执行层级顺序及各作业组的执行条件,并发执行各层级作业组;
各层级作业组的执行过程包括:
根据作业执行层级顺序及各作业的执行条件,并发执行作业组中各层级作业。
在其中一个实施例中,并发执行作业组中各层级作业包括:
若各层级作业中存在具有互斥关系的作业,则根据作业触发时间顺序执行具有互斥关系的作业。
一种银行系统中的作业调用处理装置,装置包括:
作业组与作业获取模块,用于获取银行系统中包含的作业组以及每个作业组包含的作业;
作业组执行层级顺序确定模块,用于获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序;
作业执行层级顺序确定模块,用于获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序;
作业执行计划生成模块,用于根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取银行系统中包含的作业组以及每个作业组包含的作业;
获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序;
获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序;
根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取银行系统中包含的作业组以及每个作业组包含的作业;
获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序;
获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序;
根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。
上述银行系统中的作业调用处理方法、装置、计算机设备和存储介质,通过获取银行系统中包含的作业组以及每个作业组包含的作业,并根据作业组依赖关系,确定作业组的执行层级顺序,实现执行顺序的初步确定,然后获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序,实现执行顺序的细化确定,最后根据作业组以及作业组中各作业的执行层级顺序,生成作业执行计划,以使得通过调用作业执行计划来执行银行业务流程,通过上述处理,一方面,通过调用作业执行计划,按严格紧凑的层级顺序来执行各作业,能够实现同一层级各作业的执行,提升分布式支持能力,提高作业执行效率,缩短作业执行时间,另一方面,作业的执行顺序只需要依赖于作业以及作业组的依赖关系的约束,降低了业务系统与调度过程的耦合,减小调度过程中出错可能性,从而提高银行业务流程的处理效率。
附图说明
图1为一个实施例中银行系统中的作业调用处理方法的应用环境图;
图2为一个实施例中银行系统中的作业调用处理方法的流程示意图;
图3为一个实施例中银行系统中的作业调用处理方法中的作业组间的依赖关系与互斥关系的示意图;
图4为另一个实施例中银行系统中的作业调用处理方法的流程示意图;
图5为又一个实施例中银行系统中的作业调用处理方法的流程示意图;
图6为再一个实施例中银行系统中的作业调用处理方法的流程示意图;
图7为一个实施例中银行系统中的作业调用处理方法中的作业组间的关系以及作业间的关系的示意图;
图8为一个实施例中银行系统中的作业调用处理方法的作业执行计划的示意图;
图9为一个实施例中银行系统中的作业调用处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在银行系统中,传统的业务流程的执行,大多都基于配置作业固定序号或者基于队列的方式来约束作业间的执行顺序。顺序太固定修改起来特别麻烦,还会影响后续固定序号的作业序号修改本身的顺序号。作业并发完全依靠业务系统的业务划分进行并发,与业务强耦合的并发。以银行核心系统中的批量任务为例,各个作业间按照顺序号约定执行的前后关系,根据业务系统的机构划分进行并发处理,作业调度平台与业务系统耦合性非常大,顺序号修改起来特别麻烦。如果原有作业顺序为作业B必须在作业A完成后才能执行。传统的处理方式为给作业指定固定序号。如作业A序号为1,作业B序号为10,中间会预留部分序号供后续需要在A、B之间执行的作业使用。但是存在的问题是每次修改起来特别麻烦,预留区间太小会导致后续大量作业需要修改序号,加大了出错几率。
为解决上述问题,本申请提供了一种银行系统中的作业调用处理方法,可以应用于如图1所示的应用环境中,该应用环境具体为银行系统的作业调度平台,该作业调度平台能够获取银行系统中包含的作业组以及每个作业组包含的作业,获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序,获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序,根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。
在其中一个实施例中,作业调度平台包括作业管控中心、调度中心、监控中心、作业注册和执行协调中心以及多个作业执行节点。其中,作业管控中心可以根据上述处理过程,生成作业执行计划,作业管控中心还具有服务逻辑分片能力和后台管理功能,作业调度中心具有发起作业开始执行的控制能力,作业执行调用发起的方式有手动发起,自动发起,定时发起等等。作业注册和协调中心用来对作业的增删改进行管控,并管理有业务流程中涉及作业执行节点,以及协调各作业执行节点的状态,上报各作业执行监控信息以及触发实际业务逻辑过程的执行等。作业执行节点是能够执行业务逻辑处理的单独服务器进程,作业执行节点包含作业执行器和作业逻辑实体两部分,作业执行器是由作业调度平台提供,作业逻辑实体是基于客户业务流程需求开发实际代码逻辑,基于实际代码逻辑,可以确定作业所属作业组的标识以及与其他作业的作业关系,例如与其他作业逻辑实体的依赖关系以及与其他作业逻辑实体的互斥关系。监控中心接收各作业执行节点通过作业注册和作业执行协调中心上报各自的健康状况,作业执行情况以及当前执行的进度等。
在实施例中,各作业执行节点构成分布式结构,多个作业执行节点也可以通过服务器中多个可并发执行的数据处理线程来实现。在其他实施例中,多个作业执行节点可以通过多个服务器协调实现,通过对多个服务器的调用实现多个作业的并发执行,以避免多个线程并发执行时由于硬件设备造成的执行效率的瓶颈问题。在本实施例中,业务流程的执行可通过作业关系灵活的进行配置。作业组与作业组之间、作业与作业之间都是通过依赖关系进行执行顺序的约束。作业组间的关系以及作业间关系可以随时添加随时解除,两个作业组或两个作业间的关系添加删除操作对其他的作业没有任何影响,其他作业也不需要做任何修改。在调度过程中,调度对象为作业,与业务系统没有任何入侵。基于作业关系并发执行作业,处理速度更快。通过作业调度平台自身的配置关系设置就可达到作业的并发处理,加快数据处理速度。其中,没有依赖关系的作业组可以同时并发处理,组内没有依赖关系的作业也可同时并发处理。同时,业务系统也可保留自身并发方式处理,没有任何影响。
其中,作业调度平台可以通过应用于包括终端和服务器的系统、终端或是服务器来实现,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种银行系统中的作业调用处理方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现,包括以下步骤210至步骤240。
步骤210,获取银行系统中包含的作业组以及每个作业组包含的作业。
在银行系统业务的实现过程中,需要依赖于银行业务流程,银行业务流程是指在执行一项银行系统的任务时,按照时间顺序依次执行各个设定的作业的过程。在实施例中,银行业务流程可以划分为多个作业组,每个作业组中包括多个作业,这里的作业是银行业务流程中的最小执行单元。通过依次执行银行业务流程所需的作业,即可实现银行业务流程的执行。
在实施例中,银行业务流程的作业组用于表征整个流程中的框架结构以及整体的数据处理流向,是对用于实现同一功能的多个作业的集中归纳,一个作业组中可以包含1个或多个作业,若包含的作业为多个,则该作业组在执行时,其包含的多个作业也需要按照设定的先后顺序依次执行。
在银行业务流程中,其调用对象为作业组中的每一个作业,在定义每一个作业时,定义的信息包括该作业所属的作业组以及该作业与同一作业组内其他作业的作业关系,通过遍历识别各作业携带的作业组标识,可以确定各作业组包含的作业。
步骤220,获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序。
作业组与作业组之间具有严格的执行先后要求,例如,作业组B必须在作业组A完成的条件下进行,这种执行先后要求被配置为作业组依赖关系,即,作业组A对作业组B具有作业组依赖关系。具体来说,作业组依赖关系的下一步的执行必须依赖于上一步的执行结束,是一种单向依赖关系,也就是说,上一个作业组必须执行完成之后,下一个作业组才开始执行。在实施例中,在定义每一个作业组时,会同时定义该作业组与其他作业组的依赖关系,以避免在执行过程中出现流程错误的问题,从而减低执行过程中的错误率。
在实施例中,作业组可以依赖于其他作业组,也可以被其他作业组依赖,为方便描述,在实施例中,与其他作业组存在作业组依赖关系是指被其他作业组依赖,例如,与作业组A存在作业组依赖关系的作业组B,是指作业组B依赖于作业组A,或者说,作业组A被作业组B依赖。
在其他实施例中,银行系统中除了作业组依赖关系,还包括作业组互斥关系。作业组互斥关系是指两个作业组不能同步执行,也就是说,具有互斥关系的两个作业组,当一个作业组在运行的过程中,有互斥关系的另一个作业组不能运行。
作业组关系可以包括依赖关系和互斥关系中的一个或两个,也可以与其他作业组间的关系为空,即为独立的作业组。如图3所示,作业组F和作业组B依赖于作业组A,作业组D依赖于作业组B和作业组C,作业组B与作业组C互斥,作业组N依赖于作业组F和作业组D,作业组F与作业组D互斥。
在一个实施例中,如图4所示,获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序包括步骤410至步骤430。
步骤410,获取银行系统中的作业组依赖关系。
步骤420,根据作业组依赖关系,查找其执行依赖于当前作业组执行层级中各作业组的待配置作业组。
步骤430,将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级。
根据作业组依赖关系,可以将作业组划分为多个作业组执行层级,同一作业组执行层级中的各个作业组之间不具有依赖关系,可以并发执行。在确定各作业组的执行层级顺序时,需要配置各个作业组对应的作业组层级标识。
当前作业组执行层级是指已经确定对应的作业组的执行层级,基于当前作业组执行层级中各作业组,根据作业组依赖关系,查找得到其执行依赖于当前作业组执行层级中各作业组的待配置作业组。将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级,从而得到当前作业组执行层级的下一层级的各作业组。
在一个实施例中,方法还包括:识别初始作业组,其中,初始作业组的执行不依赖于其他作业组,将初始作业组的作业组执行层级设置为最先执行层级。
初始作业组的识别是基于作业组依赖关系来实现的,通过识别执行不依赖于其他作业组的作业组,得到识别目标:初始作业组。初始作业组的执行不依赖于其他作业组,通过将初始作业组的作业组执行层级设置为最先执行层级,确保初始作业组能够最先执行。
在一个实施例中,将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级,包括:
为待配置作业组配置与当前作业组执行层级的下一层级对应的作业组执行层级标识。
作业组执行层级标识用于表征作业组的执行层级顺序。举例来说,初始作业组对应的作业组执行层级可以为标识为1,其中,1是最先执行层级,初始作业组执行层级的下一层级的层级标识可以配置为2。在实施例中,当前作业组执行层级的下一层级的层级标识可以配置为当前层级标识的层级数加同一数值。例如,若增加的数值为1,初始作业组对应的层级标识为1,则各层的层级标识依次为1、2、3……N(N为自然数)。若增加的数值为2,初始作业组对应的层级标识为1,则各层的层级标识依次为1、3、5……M(M为奇数)。
根据每一作业组配置的作业组执行层级标识,确定各作业组的执行层级顺序。
在一个实施例中,在识别初始作业组并完成初始作业组的作业组执行层级设置之后,通过查找其执行依赖于初始作业组的待配置作业组,将待配置作业组的作业组执行层级配置为初始作业组的作业组执行层级的下一层级,并为待配置作业组配置与当前作业组执行层级的下一层级对应的作业组执行层级标识。然后将该下一层级作为当前作业组执行层级,循环执行“根据作业组依赖关系,查找其执行依赖于当前作业组执行层级中各作业组的待配置作业组,将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级,并为待配置作业组配置与当前作业组执行层级的下一层级对应的作业组执行层级标识”的过程,得到各作业组对应的作业组执行层级标识,基于作业组执行层级标识对应的层级顺序,即可确定各作业组的执行层级顺序。
在一个实施例中,根据作业组依赖关系识别得到执行不依赖于其他作业组的初始作业组,初始作业组内的作业最先执行。如作业组A、B的执行不依赖任何其他作业组,作业组A、B会被识别获取到,并为作业组A和作业组B配置作业组执行层级标识“作业组层级1”,根据作业组依赖关系,得到执行依赖于作业组A、B的作业组,如作业组C依赖于作业组A,作业组D、E依赖于作业组B,则作业组C、D、E会被获取到,并为作业组C、D、E配置作业组执行层级标识“作业组层级2”,。依次递归执行上述过程,每次都能获取到依赖于上一步的作业组,直到最后一个作业组没有被依赖为止。具有相同作业组执行层级标识的作业组是并发执行的。按照各层级标识对对应的执行层级顺序,可以构建成有执行顺序的作业组执行计划。需要强调的是,作业组执行计划中不能出现对作业组的循环调用,必须有开始和结束。
步骤230,获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序。
与作业组间的关系类似,作业间的关系也包括作业依赖关系和作业互斥关系,需要注意的是,作业间的关系的配置,只可以在同一作业组内建立关系,不能跨作业组配置。
同一作业组中的各个作业的执行层级顺序的确定过程与上述作业组的执行层级顺序的确定过程相似。
具体来说,在一个实施例中,如图5所示,获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序包括步骤510至步骤530。
步骤510,获取同一作业组中各作业的作业依赖关系。
步骤520,根据作业依赖关系,查找其执行依赖于当前作业执行层级中各作业的待配置作业。
步骤530,将待配置作业的作业执行层级配置为当前作业执行层级的下一层级。
根据作业依赖关系,可以将同一作业组中的作业划分为多个作业执行层级,同一作业执行层级中的各个作业之间不具有依赖关系,可以并发执行。在确定各作业的执行层级顺序时,需要配置各个作业对应的作业层级标识。
当前作业执行层级是指已经确定对应的作业的执行层级,基于当前作业执行层级中各作业,根据作业依赖关系,查找得到其执行依赖于当前作业执行层级中各作业的待配置作业。将待配置作业的作业执行层级配置为当前作业执行层级的下一层级,从而得到当前作业执行层级的下一层级的各作业。
在一个实施例中,对于任意作业组,方法还包括:识别初始作业,其中,初始作业的执行不依赖于其他作业,将初始作业的作业执行层级设置为最先执行层级。
初始作业的识别是基于作业依赖关系来实现的,通过识别执行不依赖于其他作业的作业,得到识别目标:初始作业。初始作业的执行不依赖于其他作业,通过将初始作业的作业执行层级设置为作业组中的最先执行层级,确保初始作业能够在该作业组中最先执行。
在一个实施例中,将待配置作业的作业执行层级配置为当前作业执行层级的下一层级,包括:
为待配置作业配置与当前作业执行层级的下一层级对应的作业执行层级标识。
作业执行层级标识用于表征作业在作业组中的执行层级顺序。举例来说,初始作业对应的作业执行层级可以为标识为1,其中,1是最先执行层级,初始作业执行层级的下一层级的层级标识可以配置为2。在实施例中,当前作业执行层级的下一层级的层级标识可以配置为当前层级标识的层级数加同一数值。例如,若增加的数值为1,初始作业对应的层级标识为1,则各层的层级标识依次为1、2、3……n(n为自然数)。若增加的数值为2,初始作业对应的层级标识为1,则各层的层级标识依次为1、3、5……m(m为奇数)。
根据每一作业配置的作业执行层级标识,确定各作业的执行层级顺序。
在一个实施例中,在识别初始作业并完成初始作业的作业执行层级设置之后,通过查找其执行依赖于初始作业的待配置作业,将待配置作业的作业执行层级配置为初始作业的作业执行层级的下一层级,并为待配置作业配置与当前作业执行层级的下一层级对应的作业执行层级标识。然后将该下一层级作为当前作业执行层级,循环执行“根据作业依赖关系,查找其执行依赖于当前作业执行层级中各作业的待配置作业,将待配置作业的作业执行层级配置为当前作业执行层级的下一层级,并为待配置作业配置与当前作业执行层级的下一层级对应的作业执行层级标识”的过程,得到各作业对应的作业执行层级标识,基于作业执行层级标识对应的层级顺序,即可确定同一作业组中各作业的执行层级顺序。
同一作业组中初始作业是不依赖于其他作业的作业,具体可以是独立的作业,也可以是被其他作业依赖的作业。最先执行层级中的初始作业是该作业组中最先被执行的作业,该层级中的各个作业可以被并发执行。为清楚描述作业的执行层级顺序的确定过程,通过当前层级来对方案进行描述,从最先执行层级开始,首先根据最先执行层级中的各个初始作业,查找执行依赖于该初始作业的待配置作业,如作业a、b没有依赖任何作业,被识别为该作业组的初始作业,并为作业A和作业B配置作业执行层级标识“作业层级1”,基于作业依赖关系,查找到作业c依赖于作业a,作业d、e依赖于作业b,则为作业c、d、e配置作业执行层级标识“作业层级2”。同理,将执行依赖于作业层级2中各作业的作业,配置作业执行层级标识“作业层级3”,以相同的处理方式进行递归处理,直至该作业组中各作业均配置有对应的作业执行层级标识,根据各作业执行层级标识的顺序,确定作业组中各作业对应的执行层级顺序。
在一个实施例中,方法还包括:若待配置作业的执行依赖于多个作业,则将待配置作业的作业执行层级配置为被依赖的多个作业对应的作业执行层级中最低层级的下一层级。
具体来说,若待配置作业的执行依赖于一个作业,则将待配置作业的作业执行层级配置为该依赖的作业对应的作业执行层级的下一层级。若待配置作业的执行依赖于多个作业,则先确定被依赖的多个作业对应的作业执行层级中最低层级的一个目标作业,并将待配置作业的作业执行层级配置为该目标作业对应的作业执行层级的下一层级。
在对作业进行作业执行层级配置时,取决于作业的依赖对象,在大多数情况下,作业一般仅依赖于一个作业,此时,只需要将待配置作业的作业执行层级配置为当前作业执行层级的下一层级即可。在实施例中,还存在一个作业同时依赖于多个作业的情况,每一个依赖关系,都对应一条作业依赖链,对于这种情况,在确配置该作业的作业执行层级时,需要按照最长的作业依赖链来确定,即根据多个作业依赖关系,获取该作业依赖的各作业,并确定依赖的各作业的作业执行层级,通过比较各作业执行层级的执行层级顺序的先后,确定作业执行层级中执行层级最低即执行顺序最后的目标作业,并将待配置作业的作业执行层级配置为该目标作业对应的作业执行层级的下一层级,实现一个作业同时依赖于多个作业的情况时对作业的作业执行层级的配置。
步骤240,根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划。
作业执行计划通过调用来执行银行业务流程。根据作业组的执行层级顺序,可以配置作业组的开始执行条件,根据作业组中各作业对应的执行层级顺序,可以同一作业组中各作业的开始执行条件,综合作业组的开始执行条件和每一个作业组中各作业的开始执行条件,得到业务流程对应的作业执行计划。
在一个实施例中,作业执行计划可以是基于作业组间的关系和作业组内的作业间的关系生成的具有层级关系的树状图,通过树状图中的节点表征作业组和作业组内的作业,通过依赖关系和互斥关系来表征树状图中各个作业组之间以及作业组内的各个作业间的关系,即树状图节点间的关系,通过调用该树状图,基于树状图中各节点以及节点间的关系,执行业务流程。
在另一个实施例中,作业执行计划可以也具有层级关系的顺序表,通过调用该顺序表,基于顺序表中各作业对应的顺序先后,执行业务流程。可以理解,顺序表可以直接基于作业组间的关系和作业组内的作业间的关系生成,也可以基于树状图来生成。
在作业组依赖关系和作业依赖关系确定的情况下,可以根据银行系统中包含的作业组以及每个作业组包含的作业生成作业执行计划,作业执行计划是相对固定不变的,只有当银行系统中包含的作业组以及每个作业组包含的作业、或是作业组间的关系与作业间的关系进行了调整时,才需要更新作业执行计划,在更新作业执行计划时,作业组间的关系以及作业间关系可以根据更新要求随时添加或随时解除,两个作业组或两个作业间的关系添加删除操作只影响该关系对应的两个作业组或是两个作业,对其他的作业组或作业没有任何影响,也不需要做任何修改,作业执行计划的更新过程简单方便。当作业执行计划没有发生更新时,作业执行计划可以作为每一次调用的前置条件,在需要执行银行业务流程时,只需要通过调用作业执行计划即可实现。
在一个实施例中,如图6所示,根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划包括步骤610至步骤630。
步骤610,根据作业组的执行层级顺序,配置作业组的开始执行条件。
作业组的开始执行条件为前一作业组层级中的各作业组执行完成。前一作业组层级中的各作业组执行完成的确定过程包括:获取前一作业组层级的作业组中执行层级顺序最后的目标作业的执行进度;若各目标作业的执行进度均为执行结束,则确定前一作业组层级中的各作业组执行完成。
在一个实施例中,根据作业组中各作业的执行层级顺序,将执行层级顺序最后的作业标记为作业组对应的目标作业,根据作业组的执行层级顺序,将前一作业组执行层级中的作业组对应的目标作业均执行结束的执行结果,作为当前作业组执行层级中各作业组的执行条件。
步骤620,根据作业组中各作业对应的执行层级顺序,配置同一作业组中各作业的开始执行条件。
其中,作业组中的初始作业的开始执行条件与作业组的开始执行条件相同,作业组中的非初始作业的开始执行条件为前一作业执行层级中的各作业执行完成。
步骤630,生成包含执行层级顺序与开始执行条件的作业执行计划。
在根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划时,需要考虑各作业组以及各作业的开始执行条件。由于不同作业组的作业间是不具有依赖关系或互斥关系的,因此需要确定每一个作业组的初始作业的执行条件,当满足执行条件时,启动该作业组的作业执行计划。作业组的初始作业的执行需要依赖于该作业组所依赖的上一作业组的完成,只有当上一作业组的所有作业均执行完毕时,才开始执行下一作业组的作业执行计划,基于将作业组的开始执行条件作为作业组中初始作业的作业执行条件,可以完成所有作业组的作业间的连接,从而生成与业务流程对应的完整作业执行计划。
在一个具体的实施例中,如图7所示,作业组A包括作业1、作业2、作业3、作业4、作业7以及作业11,其关系如图中所示,在确定执行层级顺序时,作业1和作业2存在依赖关系,作业2必须等作业1完成之后再开始执行,作业7是一个没有任何依赖和互斥关系的作业,会在发起调用的时候开始执行,和作业1、作业4一起执行,作业11和作业2互斥关系,不能和作业2同时执行,两个作业在同一时间内只能执行一个。作业组B的执行层级顺序在作业组A之后,所以,作业组B需要在作业组A中的所有作业完成之后才能开始,作业组B包括作业5、作业9以及作业12,其中,作业5和作业9具有作业依赖关系,作业5必须等作业9完成之后再开始执行,作业12是一个没有任何依赖和互斥关系的作业,会在发起作业组B调用的时候开始执行,作业12和作业9并发执行。其他作业组以及作业组中的各个作业的执行规律与作业组A和作业B类似,在此不再赘述。
根据图7所示的作业组依赖关系、作业依赖关系以及作业互斥关系,生成作业执行计划如图8所示,level1中包括作业1、作业4、作业7以及作业11;level2中包括作业2;level3中包括作业3;level4中包括作业9和作业12;level5中包括作业5,以此类推,生成完整的作业执行计划。
上述银行系统中的作业调用处理方法,通过获取银行系统中包含的作业组以及每个作业组包含的作业,并根据作业组依赖关系,确定作业组的执行层级顺序,实现执行顺序的初步确定,然后获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序,实现执行顺序的细化确定,最后根据作业组以及作业组中各作业的执行层级顺序,生成作业执行计划,以使得通过调用作业执行计划来执行银行业务流程,通过上述处理,一方面,通过调用作业执行计划,按严格紧凑的层级顺序来执行各作业,能够实现同一层级各作业的执行,提升分布式支持能力,提高作业执行效率,缩短作业执行时间,另一方面,作业的执行顺序只需要依赖于作业以及作业组的依赖关系的约束,降低了业务系统与调度过程的耦合,减小调度过程中出错可能性,从而提高银行业务流程的处理效率。
在一个实施例中,银行系统中的作业调用处理方法还包括业务流程的处理过程,作业执行计划被调用,执行银行业务流程的过程,具体包括:根据作业组执行层级顺序及各作业组的执行条件,并发执行各层级作业组。
其中,各层级作业组的执行过程包括:根据作业执行层级顺序及各作业的执行条件,并发执行作业组中各层级作业。
在一个实施例中,作业调度平台通过获取业务流程启动指令,调用业务流程对应的作业执行计划。以作业执行计划中的初始作业组的初始层级为当前执行层级,并发执行当前执行层级的作业。当前执行层级的各作业均执行结束时,根据作业执行计划中的作业执行层级顺序,跳转至下一层级,判断作业执行计划中各层级的作业是否均执行结束,当判断结果为否时,以下一层级为更新的当前执行层级,递归循环,直至作业执行计划中各层级的作业均执行结束。结束作业执行计划的调用,生成业务流程完成信息。
在生成了与业务流程对应的作业执行计划之后,在每一次需要启动业务流程时,均可以通过调用生成的作业执行计划来进行。可以理解,在其他实施例中,也可以通过实时生成作业执行计划来执行业务流程。例如,可以通过检测作业组间的关系以及作业间的关系是否发生更新,来确定是否需要重新生成作业执行计划,如果发生更新,则可以基于更新后的作业组间的关系以及作业间的关系,实时生成作业执行计划,然后通过对实时生成的作业执行计划的调用,实现业务流程的执行。
在实施例中,首先执行各作业组中执行层级顺序最前的作业组中的处于初始层级的作业,当一个作业组完成之后,即可根据作业组之间的依赖关系,确定下一个执行的作业组。对于同一个作业组中的作业,需要在当前执行层级的各作业均执行结束时,根据作业执行计划中的执行层级顺序,跳转至下一层级进行,直至各作业执行层级的作业均执行结束。当作业执行计划中各作业执行层级的作业均执行结束时,结束作业执行计划的调用,生成业务流程完成信息。
在一个实施例中,作业间的关系除了作业依赖关系,还包括作业互斥关系。并发执行作业组中各层级作业包括:若各层级作业中存在具有互斥关系的作业,则根据作业触发时间顺序执行具有互斥关系的作业
由于在业务流程中,存在不能同时执行的互斥作业,对于不存在依赖关系但存在互斥关系的两个作业,按照依赖关系进行层级划分时,存在容易导致两个互斥的作业在同一层级的情况,而同一层级的作业是可以并发执行的,就出现了矛盾,为解决这一问题,通过查找当前执行层级中携带有作业互斥关系的作业,根据互斥的两个作业构成的互斥作业组合,按照触发时间的先后,来确定先执行互斥作业组合中的哪一个。举例来说,某一作业执行层级包括作业A、作业B、作业C以及作业D,其中,作业A与作业B互斥,在执行该层级中的各作业时,当作业A比作业B先触发时,则先执行作业A,当作业A执行完毕时,再执行作业B,此外,在执行作业A的同时,还会执行作业C以及作业D。同理,当作业B比作业A先触发时,则先执行作业B,当作业B执行完毕时,再执行作业A,通过设置互斥关系,可以根据实际运行情况判定作业A与作业B的执行先后,相较于直接确定具有互斥关系的作业A和作业B的先后顺序的方式,更具有执行灵活性,在不扰乱依赖关系的前提下,保证了不会因为作业不能同时执行的限制条件导致的执行流程错误,降低错误率。
在一个实施例中,银行系统中的作业调用处理方法还包括:监控作业执行计划的执行过程中的执行状态信息,执行状态信息至少包括各作业能否正常执行、各作业执行结果以及作业执行计划执行进度中的一项。
通过对作业执行计划的执行过程进行监控,能准确定位业务流程中的问题,便于有针对性地进行解决。在实施例中,在作业执行计划中,不存在循环的依赖关系,因此,作业执行节点中也不会循环执行,通过这样的设置方式,在作业执行计划中各个作业调用时,用的是作业逻辑相同但节点位置不同的作业执行节点,当其中一个作业执行节点出现故障,无法运行时,可以通过作业逻辑相同的作业执行节点执行该节点的数据处理,以保证业务流程对应作业执行计划的顺利执行。
应该理解的是,虽然图2、图4-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种银行系统中的作业调用处理装置,包括:作业组与作业获取模块910、作业组执行层级顺序确定模块920、作业执行层级顺序确定模块930和作业执行计划生成模块940,其中:
作业组与作业获取模块910,用于获取银行系统中包含的作业组以及每个作业组包含的作业。
作业组执行层级顺序确定模块920,用于获取银行系统中的作业组依赖关系,根据作业组依赖关系,确定各作业组的执行层级顺序。
作业执行层级顺序确定模块930,用于获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序。
作业执行计划生成模块940,用于根据作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,作业执行计划通过调用来执行银行业务流程。
在一个实施例中,作业组执行层级顺序确定模块还用于根据作业组依赖关系,查找其执行依赖于当前作业组执行层级中各作业组的待配置作业组;将待配置作业组的作业组执行层级配置为当前作业组执行层级的下一层级。
在一个实施例中,作业组执行层级顺序确定模块还用于识别初始作业组,其中,初始作业组的执行不依赖于其他作业组;将初始作业组的作业组执行层级设置为最先执行层级。
在一个实施例中,作业组执行层级顺序确定模块还用于为待配置作业组配置与当前作业组执行层级的下一层级对应的作业组执行层级标识。
在一个实施例中,作业执行层级顺序确定模块还用于根据作业依赖关系,查找其执行依赖于当前作业执行层级中各作业的待配置作业;将待配置作业的作业执行层级配置为当前作业执行层级的下一层级。
在一个实施例中,作业执行层级顺序确定模块还用于识别初始作业,其中,初始作业的执行不依赖于其他作业;将初始作业的作业执行层级设置为最先执行层级。
在一个实施例中,作业执行层级顺序确定模块还用于为待配置作业配置与当前作业执行层级的下一层级对应的作业执行层级标识。
在一个实施例中,作业执行层级顺序确定模块还用于若待配置作业的执行依赖于多个作业,则将待配置作业的作业执行层级配置为被依赖的多个作业对应的作业执行层级中最低层级的下一层级。
在一个实施例中,作业执行计划生成模块还用于根据作业组的执行层级顺序,配置作业组的开始执行条件,作业组的开始执行条件为前一作业组层级中的各作业组执行完成;根据作业组中各作业对应的执行层级顺序,配置同一作业组中各作业的开始执行条件,其中,作业组中的初始作业的开始执行条件与作业组的开始执行条件相同,作业组中的非初始作业的开始执行条件为前一作业执行层级中的各作业执行完成;生成包含执行层级顺序与开始执行条件的作业执行计划。
在一个实施例中,作业执行计划生成模块还用于获取前一作业组层级的作业组中执行层级顺序最后的目标作业的执行进度;若各目标作业的执行进度均为执行结束,则确定前一作业组层级中的各作业组执行完成。
在一个实施例中,银行系统中的作业调用处理还包括作业调用模块,用于根据作业组执行层级顺序及各作业组的执行条件,并发执行各层级作业组;根据作业执行层级顺序及各作业的执行条件,并发执行作业组中各层级作业。
在一个实施例中,作业调用模块还用于若各层级作业中存在具有互斥关系的作业,则根据作业触发时间顺序执行具有互斥关系的作业。
上述银行系统中的作业调用处理装置,通过获取银行系统中包含的作业组以及每个作业组包含的作业,并根据作业组依赖关系,确定作业组的执行层级顺序,实现执行顺序的初步确定,然后获取同一作业组中各作业的作业依赖关系,确定作业组中各作业对应的执行层级顺序,实现执行顺序的细化确定,最后根据作业组以及作业组中各作业的执行层级顺序,生成作业执行计划,以使得通过调用作业执行计划来执行银行业务流程,通过上述处理,一方面,通过调用作业执行计划,按严格紧凑的层级顺序来执行各作业,能够实现同一层级各作业的执行,提升分布式支持能力,提高作业执行效率,缩短作业执行时间,另一方面,作业的执行顺序只需要依赖于作业以及作业组的依赖关系的约束,降低了业务系统与调度过程的耦合,减小调度过程中出错可能性,从而提高银行业务流程的处理效率。
关于银行系统中的作业调用处理装置的具体限定可以参见上文中对于银行系统中的作业调用处理方法的限定,在此不再赘述。上述银行系统中的作业调用处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于作业执行计划数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种银行系统中的作业调用处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种银行系统中的作业调用处理方法,其特征在于,所述方法包括:
获取银行系统中包含的作业组以及每个作业组包含的作业;
获取所述银行系统中的作业组依赖关系,根据所述作业组依赖关系,确定各作业组的执行层级顺序;
获取同一作业组中各作业的作业依赖关系,确定所述作业组中各作业对应的执行层级顺序;
根据所述作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,所述作业执行计划通过调用来执行银行业务流程。
2.根据权利要求1所述的方法,其特征在于,所述根据所述作业组依赖关系,确定各作业组的执行层级顺序包括:
根据所述作业组依赖关系,查找其执行依赖于当前作业组执行层级中各作业组的待配置作业组;
将所述待配置作业组的作业组执行层级配置为所述当前作业组执行层级的下一层级。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
识别初始作业组,其中,所述初始作业组的执行不依赖于其他作业组;
将所述初始作业组的作业组执行层级设置为最先执行层级。
4.根据权利要求2所述的方法,其特征在于,所述将所述待配置作业组的作业组执行层级配置为所述当前作业组执行层级的下一层级,包括:
为所述待配置作业组配置与所述当前作业组执行层级的下一层级对应的作业组执行层级标识。
5.根据权利要求1所述的方法,其特征在于,所述获取同一作业组中各作业的作业依赖关系,确定所述作业组中各作业对应的执行层级顺序包括:
根据所述作业依赖关系,查找其执行依赖于当前作业执行层级中各作业的待配置作业;
将所述待配置作业的作业执行层级配置为所述当前作业执行层级的下一层级。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
识别初始作业,其中,所述初始作业的执行不依赖于其他作业;
将所述初始作业的作业执行层级设置为最先执行层级。
7.根据权利要求5所述的方法,其特征在于,所述将所述待配置作业的作业执行层级配置为所述当前作业执行层级的下一层级,包括:
为所述待配置作业配置与所述当前作业执行层级的下一层级对应的作业执行层级标识。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述待配置作业的执行依赖于多个作业,则将所述待配置作业的作业执行层级配置为被依赖的多个作业对应的作业执行层级中最低层级的下一层级。
9.根据权利要求1所述的方法,其特征在于,所述根据所述作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划包括:
根据所述作业组的执行层级顺序,配置作业组的开始执行条件,所述作业组的开始执行条件为前一作业组层级中的各作业组执行完成;
根据作业组中各作业对应的执行层级顺序,配置同一作业组中各作业的开始执行条件,其中,作业组中的初始作业的开始执行条件与作业组的开始执行条件相同,作业组中的非初始作业的开始执行条件为前一作业执行层级中的各作业执行完成;
生成包含执行层级顺序与开始执行条件的作业执行计划。
10.根据权利要求9所述的方法,其特征在于,所述前一作业组层级中的各作业组执行完成的确定过程包括:
获取前一作业组层级的作业组中执行层级顺序最后的目标作业的执行进度;
若各目标作业的执行进度均为执行结束,则确定所述前一作业组层级中的各作业组执行完成。
11.根据权利要求1所述的方法,其特征在于,作业执行计划被调用,执行银行业务流程的过程包括:
根据所述作业组执行层级顺序及所述各作业组的执行条件,并发执行各层级作业组;
所述各层级作业组的执行过程包括:
根据所述作业执行层级顺序及所述各作业的执行条件,并发执行作业组中各层级作业。
12.根据权利要求11所述的方法,其特征在于,所述并发执行作业组中各层级作业包括:
若所述各层级作业中存在具有互斥关系的作业,则根据作业触发时间顺序执行所述具有互斥关系的作业。
13.一种银行系统中的作业调用处理装置,其特征在于,所述装置包括:
作业组与作业获取模块,用于获取银行系统中包含的作业组以及每个作业组包含的作业;
作业组执行层级顺序确定模块,用于获取所述银行系统中的作业组依赖关系,根据所述作业组依赖关系,确定各作业组的执行层级顺序;
作业执行层级顺序确定模块,用于获取同一作业组中各作业的作业依赖关系,确定所述作业组中各作业对应的执行层级顺序;
作业执行计划生成模块,用于根据所述作业组的执行层级顺序以及作业组中各作业对应的执行层级顺序,生成作业执行计划,所述作业执行计划通过调用来执行银行业务流程。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010483887.XA CN111857984A (zh) | 2020-06-01 | 2020-06-01 | 银行系统中的作业调用处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010483887.XA CN111857984A (zh) | 2020-06-01 | 2020-06-01 | 银行系统中的作业调用处理方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857984A true CN111857984A (zh) | 2020-10-30 |
Family
ID=72985314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010483887.XA Pending CN111857984A (zh) | 2020-06-01 | 2020-06-01 | 银行系统中的作业调用处理方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857984A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766907A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 业务数据的处理方法、装置和服务器 |
CN113516458A (zh) * | 2021-09-09 | 2021-10-19 | 中电金信软件有限公司 | 一种对批量作业进行分组处理的方法及装置 |
CN113626037A (zh) * | 2021-08-10 | 2021-11-09 | 平安普惠企业管理有限公司 | 任务依赖全景图展示方法、装置、计算机设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567013A (zh) * | 2009-06-02 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 一种etl调度的实现方法及装置 |
US20110113429A1 (en) * | 2009-11-10 | 2011-05-12 | Takuya Oda | Incident management method and operation management server |
US20120166726A1 (en) * | 2010-12-27 | 2012-06-28 | Frederik De Schrijver | Hierarchical, distributed object storage system |
CN103838621A (zh) * | 2012-11-27 | 2014-06-04 | 中国电信股份有限公司 | 用于调度例行作业的方法和系统、调度节点 |
US20150067688A1 (en) * | 2013-08-30 | 2015-03-05 | Fujitsu Limited | Method and apparatus for controlling job schedule |
CN108920134A (zh) * | 2018-06-27 | 2018-11-30 | 中国建设银行股份有限公司 | 自动生成设计文档的方法及装置 |
CN109615138A (zh) * | 2018-12-13 | 2019-04-12 | 中国银行股份有限公司 | 一种作业流程调优方法及装置 |
CN110188023A (zh) * | 2019-05-21 | 2019-08-30 | 联想(北京)有限公司 | 资源健康检查方法和资源健康检查装置 |
CN110275765A (zh) * | 2019-06-14 | 2019-09-24 | 中国人民解放军国防科技大学 | 基于分支dag依赖的数据并行作业调度方法 |
CN110647387A (zh) * | 2019-08-29 | 2020-01-03 | 武汉天喻教育科技有限公司 | 一种教育云大数据任务调度方法与系统 |
-
2020
- 2020-06-01 CN CN202010483887.XA patent/CN111857984A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567013A (zh) * | 2009-06-02 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 一种etl调度的实现方法及装置 |
US20110113429A1 (en) * | 2009-11-10 | 2011-05-12 | Takuya Oda | Incident management method and operation management server |
US20120166726A1 (en) * | 2010-12-27 | 2012-06-28 | Frederik De Schrijver | Hierarchical, distributed object storage system |
CN103838621A (zh) * | 2012-11-27 | 2014-06-04 | 中国电信股份有限公司 | 用于调度例行作业的方法和系统、调度节点 |
US20150067688A1 (en) * | 2013-08-30 | 2015-03-05 | Fujitsu Limited | Method and apparatus for controlling job schedule |
CN108920134A (zh) * | 2018-06-27 | 2018-11-30 | 中国建设银行股份有限公司 | 自动生成设计文档的方法及装置 |
CN109615138A (zh) * | 2018-12-13 | 2019-04-12 | 中国银行股份有限公司 | 一种作业流程调优方法及装置 |
CN110188023A (zh) * | 2019-05-21 | 2019-08-30 | 联想(北京)有限公司 | 资源健康检查方法和资源健康检查装置 |
CN110275765A (zh) * | 2019-06-14 | 2019-09-24 | 中国人民解放军国防科技大学 | 基于分支dag依赖的数据并行作业调度方法 |
CN110647387A (zh) * | 2019-08-29 | 2020-01-03 | 武汉天喻教育科技有限公司 | 一种教育云大数据任务调度方法与系统 |
Non-Patent Citations (4)
Title |
---|
CHANG YAO: "Scaling distributed transaction processing and recovery based on dependency logging", THE VLDB JOURNAL, vol. 27, 7 June 2018 (2018-06-07), pages 347 - 368, XP058409085, DOI: 10.1007/s00778-018-0500-2 * |
汤滨 著: "《大数据定义智能运维》", 30 January 2020, 机械工业出版社 , pages: 79 - 81 * |
谢涛;董滔;: "基于混合GA算法的工作流作业调度队列优化", 计算机工程与应用, no. 24, pages 85 - 90 * |
陈兰;黄永忠;陈海勇;李永才;: "机群环境中一种基于工作流关系的作业调度算法", 信息工程大学学报, no. 02, pages 103 - 106 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766907A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 业务数据的处理方法、装置和服务器 |
CN113626037A (zh) * | 2021-08-10 | 2021-11-09 | 平安普惠企业管理有限公司 | 任务依赖全景图展示方法、装置、计算机设备及存储介质 |
CN113516458A (zh) * | 2021-09-09 | 2021-10-19 | 中电金信软件有限公司 | 一种对批量作业进行分组处理的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857984A (zh) | 银行系统中的作业调用处理方法、装置和计算机设备 | |
US7912804B1 (en) | Change management in a distributed system based on triggered policy rules | |
US6988139B1 (en) | Distributed computing of a job corresponding to a plurality of predefined tasks | |
US10360523B2 (en) | System and method for executing business services and enhancing business performance through a business process modeling notation | |
CN108280150B (zh) | 一种分布式异步业务分发方法及系统 | |
CN110597606B (zh) | 一种高速缓存友好的用户级线程调度方法 | |
US20030188300A1 (en) | Parallel processing system design and architecture | |
Gulisano et al. | Efficient data streaming multiway aggregation through concurrent algorithmic designs and new abstract data types | |
CN112783760B (zh) | 测试用例的处理方法、装置和存储介质 | |
US10817285B1 (en) | Transactional migration system | |
CN114691658A (zh) | 一种数据回溯方法、装置、电子设备及存储介质 | |
CN107391539B (zh) | 事务处理方法、服务器和存储介质 | |
CN112035230A (zh) | 一种任务调度文件生成方法、装置及存储介质 | |
CN112000670B (zh) | 一种多线程程序数据统一管理方法、系统及电子设备 | |
US20200356885A1 (en) | Service management in a dbms | |
CN113157426A (zh) | 一种任务调度方法、系统、设备及存储介质 | |
CN112650563A (zh) | 业务处理方法、装置及电子设备 | |
CN116382929A (zh) | 分布式锁处理方法、装置、电子设备和存储介质 | |
CN109976881B (zh) | 事务识别方法和装置、存储介质以及电子装置 | |
US20110191775A1 (en) | Array-based thread countdown | |
CN115757172A (zh) | 测试执行方法、装置、存储介质及计算机设备 | |
CN114020506A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN113553098A (zh) | Flink SQL作业的提交方法、装置及计算机设备 | |
CN111767155A (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 | ||
CB02 | Change of applicant information |
Address after: 100089 Room 401, building 4, area C, Dongsheng Science Park, 66 xixiaokou Road, Haidian District, Beijing Applicant after: Zhongdian Jinxin Software Co.,Ltd. Address before: 100089 Room 401, building 4, area C, Dongsheng Science Park, 66 xixiaokou Road, Haidian District, Beijing Applicant before: Beijing Wensi Haihui Jinxin Software Co.,Ltd. |
|
CB02 | Change of applicant information |