CN107832130A - 一种银行系统的作业流调度执行方法、装置及电子设备 - Google Patents
一种银行系统的作业流调度执行方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107832130A CN107832130A CN201711043719.3A CN201711043719A CN107832130A CN 107832130 A CN107832130 A CN 107832130A CN 201711043719 A CN201711043719 A CN 201711043719A CN 107832130 A CN107832130 A CN 107832130A
- Authority
- CN
- China
- Prior art keywords
- job
- current scheduled
- scheduled job
- current
- group number
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种银行系统的作业流调度执行方法、装置及电子设备,其中,方法包括:读取作业流程配置文件进行解析;执行当前被调度作业,执行完成后,利用作业返回码判断当前被调度作业的执行结果,如果执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;获得当前被调度作业的组号以及作业名,根据当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定后面作业调度的逻辑。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种银行系统的作业流自动调度执行方法、装置及电子设备。
背景技术
商业银行进行信息系统维护、程序更新及版本投产,需要停止对外服务,而大型商业银行因为涉及客户数量巨大、业务类型复杂,如何能够最大限度的减少系统维护升级的时间窗口对于银行的服务能力与用户体验的提升至关重要。
目前大型商业银行普遍使用IBM大型主机作为信息系统的基础平台,在应用版本投产过程中涉及大量作业流的执行,包括备份、拷贝、新程序BIND、参数更新、数据库更新、数据转换、数据迁移等,作业与作业之间的基本关系有两种,有些作业可以并行提交,相互之间没有数据或者逻辑上的耦合,而有些作业流具有明确的前驱作业,该作业必须等到其所有前驱作业成功完成后才可以执行,即他们之间的关系为串行关系,必须严格按照其逻辑顺序执行。
现有Tivoli Workload Scheduler(TWS)调度系统使用大量系统级的功能调用,如通过JES2作为消息通信的主要底层机制,在访问控制权限严格的商业银行生产系统中,应用用户一般没有使用的权限,且TWS工具适用于“一次配置,长久使用”的场景,如商业银行夜间批量流程的调度等,但是对于其他如版本部署与升级、数据提取等应用场景,往往是“一次配置,一次使用”,TWS工具在使用前需提前配置作业流程、配置执行时间、生成执行计划等步骤,学习曲线陡峭且配置复杂,成本高昂,缺乏足够的灵活性。
发明内容
本申请实施方式的目的是提供一种银行系统的作业流自动调度执行方法、装置及电子设备,本技术方案实现了一种大型主机系统平台上作业流自动调度执行的解决方案,在大型主机平台版本自动化部署、数据提取、作业流测试等应用场景能够极大提升效率,降低人力成本。
为实现上述目的,本申请实施方式提供一种银行系统的作业流调度执行方法,包括:
读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
根据作业调度逻辑执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
获得当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
优选地,所述告知当前被调度作业已成功执行完成的方法为:
基于z/OS系统中ISPF组件下的File Tailor技术,通过调用不同的FT模板来动态生成消息通信步骤,所述消息通讯步骤在当前被调度作业执行完成后继续调起执行,判断当前被调度作业的执行结果是否与当前被调度的作业的配置文件中的返回码信息是否一致,如果一致,则通过管道返回当前被调度的作业的组号以及作业名告知当前被调度的作业已成功执行完毕。
优选地,所述确定当前被调度作业之后的作业调度逻辑的步骤包括:
读取到当前被调度作业的组号以及作业名,将当前被调度作业归入已成功执行完成的作业集合中,并判断当前被调度作业是否为结束作业;
当前被调度作业不是结束作业时,寻找当前被调度作业的所有直接后继作业,并将当前被调度作业的所有直接后继作业放入直接后继作业集合中;
对所述直接后继作业集合中的所有元素进行遍历,获得第一直接后继作业,根据所述第一直接后继作业遍历直接前驱作业集合,如果没有获得第一直接后继作业的直接前驱作业,则将所述第一直接后继作业被调度执行。
优选地,还包括:
在所述管道中写入命令来干预作业调度逻辑。
优选地,所述管道具有在z/OS系统上基于组件UNIX Systems Services所提供的命名管道特性。
为实现上述目的,本申请实施方式还提供了一种银行系统的作业流调度执行装置,包括:
解析单元,用于读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
作业执行单元,用于根据作业调度逻辑执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
作业调度单元,用于获得将当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
优选地,所述作业执行单元基于z/OS系统中ISPF组件下的File Tailor技术,通过调用不同的FT模板来动态生成消息通信步骤,所述消息通讯步骤在当前被调度作业执行完成后继续调起执行,判断当前被调度作业的执行结果是否与当前被调度作业的配置文件中的返回码信息是否一致,如果一致,则通过管道返回当前被调度作业的组号以及作业名告知当前被调度作业已成功执行完毕。
优选地,所述作业调度单元包括:
第一调度模块,用于读取到当前被调度作业的组号以及作业名,将当前被调度作业归入已成功执行完成的作业集合中,并判断当前被调度作业是否为结束作业;
第二调度模块,用于当前被调度作业不是结束作业时,寻找当前被调度作业的所有直接后继作业,并将当前被调度作业的所有直接后继作业放入直接后继作业集合中;
第三调度模块,用于对所述直接后继作业集合中的所有元素进行遍历,获得第一直接后继作业,根据所述第一直接后继作业遍历直接前驱作业集合,如果没有获得第一直接后继作业的直接前驱作业,则将所述第一直接后继作业被调度执行。
优选地,还包括:
干预单元,用于在所述管道中写入命令来干预作业调度逻辑;其中,所述管道具有在z/OS系统上基于组件UNIX Systems Services所提供的命名管道特性。
为实现上述目的,本申请实施方式还提供一种电子设备,包括:
处理器,适于实现各指令;以及
存储器,适于存储多条指令,所述指令适于由所述处理器加载并执行:
读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
获得将当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
上述技术方案具有如下有益效果:
某个作业流中的各支作业都有其各自的前驱作业和后继作业关系,本技术方案能够根据用户的配置自动化的进行作业流执行调度,能够在很大程度上减少人工干预,提升作业流程调度运行的自动化程度,提高作业流执行效率和系统资源使用效率。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提出一种银行系统的作业流调度执行装置功能框图;
图2为本发明实施例的调度执行示意图;
图3为本发明实施例提出一种银行系统的作业流调度执行方法流程图;
图4为本发明实施例提出的一种电子设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
本技术方案是一种大型主机系统平台上作业流自动调度执行的解决方案,只需要在配置文件中将作业流中的作业按照各个作业的执行逻辑关系进行分组编号并配置好,提交至调度器调度即可自动执行,适用于大型主机系统作业流执行的各个场景,并且为用户提供了方便快捷的调度器交互通信接口,用户可以通过向调度器发送消息的方式调整调度器的运行,易于上手,学习成本相较TWS调度系统有极大降低。
考虑到本技术方案应用的场景及技术平台,有以下需求点需要考虑:首先需要为用户提供方便的干预调度器工作的接口,可以方便的重新提交作业、重新出发调度器执行等;另外一个即采用哪种进程间通信的方式。一般来说进程间通信的方式有以下几种:共享内存、套接字、管道等,在这里选择半双工的管道通信方式支持用户命令、被调度作业向调度器进程发送消息,可以很好的满足需求,在确定好各个步骤与调度器的通信消息格式后,用户进程、被调度作业等即可通过写管道消息的方式与调度器进行通信。
由上述工作原理,本发明实施例提出一种银行系统的作业流调度执行装置,如图1所示。包括:
解析单元101,用于读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码。
在本实施例中,解析单元101读取用户作业流程配置文件并对配置文件进行解析,解析结果用于作业流程调度。配置文件格式为(组号作业名后继组号作业返回码)。
对于作业流程中的每个作业均有一条配置,每个作业属于一个组,组是一个作业的集合,组内的作业可以并行提交,相互之间没有前后继关系。配置文件中后继组号为当前调度作业成功执行完成后可以调度的作业集合。当前调度作业是否成功完成的判断标准以作业返回码配置指定。
一个作业流的分组没有固定的规则,在保证作业流程执行顺序正确的条件下,用户可以根据系统资源、时间窗口等进行配置文件的定制化,根据系统负载程度进行灵活调整,例如在系统资源使用率较高的情况下,过高的并发可能会降低作业流执行的效率,故可以将一个组内作业分散在多个组中,以提高作业流执行效率。
作业执行单元102,用于根据作业调度逻辑执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成。
在本实施例中,作业调度单元103在确定调度作业逻辑之后,将作业逻辑指令传输到作业执行单元102,作业执行单元102不会修改作业源代码,而是根据作业调度逻辑执行当前被调度作业。并且,基于z/OS系统中ISPF组件下的File Tailor技术,通过调用不同的FT模板来动态生成消息通信步骤,即动态的生成一个临时作业,这个临时作业是在当前被调度作业末端追加消息通信步骤,该步骤用来调用通信管道,将作业执行成功的消息发送给作业调度单元103。作业执行单元102在执行完成当前被调度作业之后会将这个临时作业调起执行。追加的消息通信步骤是依据需求选择模板来生成的,需求选择模板根据与作业调度单元103约定的消息格式来构建,故可以根据不同的消息格式来创建不同的消息模板,追加的消息通信步骤通过替换消息模板中的作业组号,作业名及作业返回码而适配到不同的作业。在追加的消息通信步骤中,会判断该当前被调度作业的执行结果。如果各步骤的执行结果符合配置文件中该作业返回码的配置,则将此作业的组号及作业名通过管道传递给作业调度单元103,通知作业调度单元103当前被调度作业已成功执行完成,从而唤醒作业调度单元103继续执行后面作业的调度。
作业调度单元103是本作业流调度的核心单元,它维护了全局的作业流逻辑关系以及作业流中各个作业的调度执行状态,它由接收被调度作业结果、用户命令来驱动调度算法执行调度逻辑,作业调度单元103用于获得将当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
在本实施例中,作业调度单元103的调度基于消息驱动的设计模式实现,依赖于IBM主机平台USS服务提供的管道服务,当前被调度作业在成功执行结束之后会将执行成功或失败的消息写入管道,作业调度单元103会监听管道,在收到被调度作业执行成功的消息之后设置该作业状态并判断调起后续可调度执行的作业,在接收到失败的消息后挂起调度流程,等待用户的干预,用户在解决问题后通过发送命令的方式重新唤起调度流程。
作业调度单元103实现了作业调度的主逻辑,它监控维护作业状态并进行作业的动态提交。该模块主要维护三个作业集合,分别为:
Sf:已成功执行完成的作业集合;
PostA:A作业的直接后继作业集合;
PreX:X作业的直接前驱作业集合。
在初始化完成集合Sf后,作业调度单元103调起起始的DUMMY作业STA后阻塞读取消息,作业STA并不实现任何的业务逻辑,只是作为作业调度单元103调度的起点调起用户作业流程。当作业调度单元103读取到作业A完成的消息后被唤醒,判断作业A是否为结束作业JOBEND,若为结束作业则流程调度完成,作业调度单元103退出,否则,将作业A加入到已完成作业集合Sf,同时找到作业A的所有直接后继作业放入集合PostA,对于集合PostA中的所有元素进行遍历,假设其中一个作业X为A的直接后继作业,则找到作业X的所有直接前驱作业放入集合PreX,若集合PreX中的所有作业均已成功结束,则X作业可执行,作业调度单元103即调用作业执行单元102执行作业X,作业调度单元103算法的伪代码如下:
如图2所示,为本实施例的调度执行示意图。由图2可知,在作业执行单元102和作业调度单元103之间的通信可以通过管道实现。通讯管道基于IBM大型机的命名管道特性构建,它提供了作业调度单元103与作业执行单元102、与用户命令之间的进程间通信桥梁,作业调度单元103通过阻塞读取管道消息可以获取作业执行信息,同时用户也可以通过手工向管道中写入命令的方式干预作业调度单元103的运行,如:置作业成功状态、跳过作业执行等。本技术方案以消息驱动为主要设计架构,在传统的进程间通信模型中,一般可采用的方式有采用共享内存、套接字等方式。在z/OS系统上,我们使用组件UNIX SystemsServices(USS)所提供的命名管道特性来完成进程间的通信。命名管道是一种先进先出的特殊文件,可以用来从一个进程发送数据至另一个进程,从而完成进程间的消息通信。
由上述描述可知,本技术方案基于IBM大型主机平台进行构建,由一个全局的调度器进程统一进行作业状态的监控,基于消息驱动的设计模式构建的调度器具有高效率、系统资源占用少的特点,通过捕捉作业返回的信息及用户命令输入进行作业流调度,实现了一个应用层的、配置简单、效率高、适用场景灵活的作业流程调度装置,在大型主机平台版本自动化部署、数据提取、作业流测试等应用场景能够极大提升效率,降低人力成本。
如图3所示,为本发明实施例提出的一种银行系统的作业流调度执行方法流程图。包括:
步骤301):读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
步骤302):根据作业调度逻辑执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
步骤303):获得当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
优选地,所述告知当前被调度作业已成功执行完成的方法为:
基于z/OS系统中ISPF组件下的File Tailor技术,通过调用不同的FT模板来动态生成消息通信步骤,所述消息通讯步骤在当前被调度作业执行完成后继续调起执行,判断当前被调度作业的执行结果是否与当前被调度的作业的配置文件中的返回码信息是否一致,如果一致,则通过管道返回当前被调度的作业的组号以及作业名告知当前被调度的作业已成功执行完毕。
优选地,所述确定当前被调度作业之后的作业调度逻辑的步骤包括:
读取到当前被调度作业的组号以及作业名,将当前被调度作业归入已成功执行完成的作业集合中,并判断当前被调度作业是否为结束作业;
当前被调度作业不是结束作业时,寻找当前被调度作业的所有直接后继作业,并将当前被调度作业的所有直接后继作业放入直接后继作业集合中;
对所述直接后继作业集合中的所有元素进行遍历,获得第一直接后继作业,根据所述第一直接后继作业遍历直接前驱作业集合,如果没有获得第一直接后继作业的直接前驱作业,则将所述第一直接后继作业被调度执行。
优选地,还包括:
在所述管道中写入命令来干预作业调度逻辑。
优选地,所述管道具有在z/OS系统上基于组件UNIX Systems Services所提供的命名管道特性。
如图4所示,为本发明实施例提出的一种电子设备示意图。包括:
处理器a,适于实现各指令;以及
存储器b,适于存储多条指令,所述指令适于由所述处理器加载并执行:
读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
获得将当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端、服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端、服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端、服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (10)
1.一种银行系统的作业流调度执行方法,其特征在于,包括:
读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
根据作业调度逻辑执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
获得当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
2.如权利要求1所述的方法,其特征在于,所述告知当前被调度作业已成功执行完成的方法为:
基于z/OS系统中ISPF组件下的File Tailor技术,通过调用不同的FT模板来动态生成消息通信步骤,所述消息通讯步骤在当前被调度作业执行完成后继续调起执行,判断当前被调度作业的执行结果是否与当前被调度的作业的配置文件中的返回码信息是否一致,如果一致,则通过管道返回当前被调度的作业的组号以及作业名告知当前被调度的作业已成功执行完毕。
3.如权利要求1所述的方法,其特征在于,所述确定当前被调度作业之后的作业调度逻辑的步骤包括:
读取到当前被调度作业的组号以及作业名,将当前被调度作业归入已成功执行完成的作业集合中,并判断当前被调度作业是否为结束作业;
当前被调度作业不是结束作业时,寻找当前被调度作业的所有直接后继作业,并将当前被调度作业的所有直接后继作业放入直接后继作业集合中;
对所述直接后继作业集合中的所有元素进行遍历,获得第一直接后继作业,根据所述第一直接后继作业遍历直接前驱作业集合,如果没有获得第一直接后继作业的直接前驱作业,则将所述第一直接后继作业被调度执行。
4.如权利要求2所述的方法,其特征在于,还包括:
在所述管道中写入命令来干预作业调度逻辑。
5.如权利要求1所述的方法,其特征在于,所述管道具有在z/OS系统上基于组件UNIXSystems Services所提供的命名管道特性。
6.一种银行系统的作业流调度执行装置,其特征在于,包括:
解析单元,用于读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
作业执行单元,用于根据作业调度逻辑执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
作业调度单元,用于获得将当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
7.如权利要求6所述的装置,其特征在于,所述作业执行单元基于z/OS系统中ISPF组件下的File Tailor技术,通过调用不同的FT模板来动态生成消息通信步骤,所述消息通讯步骤在当前被调度作业执行完成后继续调起执行,判断当前被调度作业的执行结果是否与当前被调度作业的配置文件中的返回码信息是否一致,如果一致,则通过管道返回当前被调度作业的组号以及作业名告知当前被调度作业已成功执行完毕。
8.如权利要求6所述的装置,其特征在于,所述作业调度单元包括:
第一调度模块,用于读取到当前被调度作业的组号以及作业名,将当前被调度作业归入已成功执行完成的作业集合中,并判断当前被调度作业是否为结束作业;
第二调度模块,用于当前被调度作业不是结束作业时,寻找当前被调度作业的所有直接后继作业,并将当前被调度作业的所有直接后继作业放入直接后继作业集合中;
第三调度模块,用于对所述直接后继作业集合中的所有元素进行遍历,获得第一直接后继作业,根据所述第一直接后继作业遍历直接前驱作业集合,如果没有获得第一直接后继作业的直接前驱作业,则将所述第一直接后继作业被调度执行。
9.如权利要求7所述的装置,其特征在于,还包括:
干预单元,用于在所述管道中写入命令来干预作业调度逻辑;其中,所述管道具有在z/OS系统上基于组件UNIX Systems Services所提供的命名管道特性。
10.一种电子设备,其特征在于,包括:
处理器,适于实现各指令;以及
存储器,适于存储多条指令,所述指令适于由所述处理器加载并执行:
读取作业流程配置文件,对所述作业流程配置文件进行解析,获取作业的组号、作业名、后继组号以及作业返回码;
执行当前被调度作业,执行完成后,利用所述作业返回码判断当前被调度作业的执行结果,如果所述执行结果与当前被调度作业的配置文件中的作业返回码相同,则告知当前被调度作业已成功执行完成;
获得将当前被调度作业的组号以及作业名,根据所述当前被调度作业的组号以及作业名,确定当前被调度作业的后继组号,利用所述当前被调度作业的后继组号确定当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业;并根据当前被调度作业的直接后继作业以及当前被调度作业的直接后继作业的直接前驱作业确定当前被调度作业之后的作业调度逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711043719.3A CN107832130A (zh) | 2017-10-31 | 2017-10-31 | 一种银行系统的作业流调度执行方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711043719.3A CN107832130A (zh) | 2017-10-31 | 2017-10-31 | 一种银行系统的作业流调度执行方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107832130A true CN107832130A (zh) | 2018-03-23 |
Family
ID=61650993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711043719.3A Pending CN107832130A (zh) | 2017-10-31 | 2017-10-31 | 一种银行系统的作业流调度执行方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832130A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734572A (zh) * | 2018-05-29 | 2018-11-02 | 中国建设银行股份有限公司 | 冲还贷处理方法及相关装置 |
CN109472680A (zh) * | 2018-10-26 | 2019-03-15 | 中国银行股份有限公司 | 一种账务处理方法及系统 |
CN109615138A (zh) * | 2018-12-13 | 2019-04-12 | 中国银行股份有限公司 | 一种作业流程调优方法及装置 |
CN110515864A (zh) * | 2019-08-14 | 2019-11-29 | 中国建设银行股份有限公司 | 基于运维终端向大型主机自动提交作业的方法及装置 |
CN110825535A (zh) * | 2019-10-12 | 2020-02-21 | 中国建设银行股份有限公司 | 一种作业调度的方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681894A (zh) * | 2011-03-09 | 2012-09-19 | 中兴通讯股份有限公司 | 一种多任务并发调度方法及系统 |
CN103164189A (zh) * | 2011-12-16 | 2013-06-19 | 伊姆西公司 | 用于实时数据处理的方法和设备 |
CN103473134A (zh) * | 2013-09-23 | 2013-12-25 | 哈尔滨工程大学 | 一种异构多核处理器的依赖任务调度方法 |
CN103617066A (zh) * | 2013-12-16 | 2014-03-05 | 中国农业银行股份有限公司 | 一种工作流引擎及其实现方法 |
CN106547613A (zh) * | 2016-10-20 | 2017-03-29 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
-
2017
- 2017-10-31 CN CN201711043719.3A patent/CN107832130A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681894A (zh) * | 2011-03-09 | 2012-09-19 | 中兴通讯股份有限公司 | 一种多任务并发调度方法及系统 |
CN103164189A (zh) * | 2011-12-16 | 2013-06-19 | 伊姆西公司 | 用于实时数据处理的方法和设备 |
CN103473134A (zh) * | 2013-09-23 | 2013-12-25 | 哈尔滨工程大学 | 一种异构多核处理器的依赖任务调度方法 |
CN103617066A (zh) * | 2013-12-16 | 2014-03-05 | 中国农业银行股份有限公司 | 一种工作流引擎及其实现方法 |
CN106547613A (zh) * | 2016-10-20 | 2017-03-29 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
Non-Patent Citations (2)
Title |
---|
张德贤 等: "《网络技术与应用教程》", 31 August 2004 * |
徐德民: "《操作系统原理Linux篇》", 31 January 2004 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734572A (zh) * | 2018-05-29 | 2018-11-02 | 中国建设银行股份有限公司 | 冲还贷处理方法及相关装置 |
CN109472680A (zh) * | 2018-10-26 | 2019-03-15 | 中国银行股份有限公司 | 一种账务处理方法及系统 |
CN109615138A (zh) * | 2018-12-13 | 2019-04-12 | 中国银行股份有限公司 | 一种作业流程调优方法及装置 |
CN109615138B (zh) * | 2018-12-13 | 2023-01-20 | 中国银行股份有限公司 | 一种作业流程调优方法及装置 |
CN110515864A (zh) * | 2019-08-14 | 2019-11-29 | 中国建设银行股份有限公司 | 基于运维终端向大型主机自动提交作业的方法及装置 |
CN110515864B (zh) * | 2019-08-14 | 2020-12-04 | 中国建设银行股份有限公司 | 基于运维终端向大型主机自动提交作业的方法及装置 |
CN110825535A (zh) * | 2019-10-12 | 2020-02-21 | 中国建设银行股份有限公司 | 一种作业调度的方法和系统 |
CN110825535B (zh) * | 2019-10-12 | 2022-06-28 | 中国建设银行股份有限公司 | 一种作业调度的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832130A (zh) | 一种银行系统的作业流调度执行方法、装置及电子设备 | |
CN109313739B (zh) | 用于提供工作流程的可视化的系统和方法 | |
CN101707399B (zh) | 电能信息采集方法及系统 | |
CN104216785B (zh) | 通用策略任务系统及其实现方法 | |
CN109992407B (zh) | 一种yarn集群gpu资源调度方法、装置和介质 | |
CN104115124B (zh) | 对在多个计算节点上执行的源代码实施更新 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
CN101388904B (zh) | Gis服务聚合方法、装置及系统 | |
CN111694888A (zh) | 基于微服务架构的分布式etl数据交换系统及方法 | |
CN109284184A (zh) | 一种基于容器化技术的分布式机器学习平台的搭建方法 | |
CN107918556A (zh) | 一种定时任务在多个服务器的并行执行方法和装置 | |
CN104572290A (zh) | 消息处理线程的控制方法及装置 | |
CN105700937A (zh) | 多线程任务处理方法和装置 | |
CN107943577A (zh) | 用于调度任务的方法和装置 | |
CN101135981A (zh) | 一种实现批量报表生成的方法及装置 | |
CN110427252A (zh) | 基于任务依赖关系的任务调度方法、装置及存储介质 | |
CN106663021A (zh) | 虚拟化环境中的智能gpu调度 | |
CN105677465B (zh) | 应用于银行跑批处理的数据处理方法及装置 | |
CN111400011B (zh) | 一种实时任务调度方法、系统、设备及可读存储介质 | |
CN110825535A (zh) | 一种作业调度的方法和系统 | |
CN109298868A (zh) | 测绘影像数据处理软件智能动态部署及卸载方法 | |
CN109978392B (zh) | 敏捷软件开发管理方法、装置、电子设备、存储介质 | |
WO2020186836A1 (zh) | 任务调度 | |
CN112363913B (zh) | 一种并行测试任务调度寻优的方法、装置和计算设备 | |
CN110177146A (zh) | 一种基于异步事件驱动的非阻塞Restful通信方法、装置和设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180323 |