CN111767151A - 批量负载处理方法、批量系统、计算机系统和介质 - Google Patents
批量负载处理方法、批量系统、计算机系统和介质 Download PDFInfo
- Publication number
- CN111767151A CN111767151A CN202010654488.5A CN202010654488A CN111767151A CN 111767151 A CN111767151 A CN 111767151A CN 202010654488 A CN202010654488 A CN 202010654488A CN 111767151 A CN111767151 A CN 111767151A
- Authority
- CN
- China
- Prior art keywords
- batch
- host
- job
- programs
- 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.)
- Granted
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/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/508—Monitor
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)
- Hardware Redundancy (AREA)
Abstract
本公开提供了一种批量负载处理方法,应用于批量系统,批量系统包括第一主机和第二主机,第一主机包括主排程控制器。上述方法包括:由主排程控制器控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业,M为大于等于1的整数;以及,响应于第一预定切换事件,由主排程控制器控制第二主机中的多个第二批量程序执行批量负载中尚未被执行的N个作业,N为大于等于1的整数。本公开还提供了一种批量系统、计算机系统和介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种批量负载处理方法、批量系统、计算机系统和介质。
背景技术
银行业务主要采用两种处理模式:联机交易和批量处理。联机交易是一种实时的数据处理,适合交互式实时要求高的业务,比如存取款、实时转账、银行卡刷卡消费等,适用于少量的数据处理。批量处理是一种非实时的数据处理,适合实时要求不高的业务,比如定期还款、代发工资、结息等,适用于海量的数据处理。为了保障联机高峰期系统的高性能,批量业务一般安排在夜间,以均衡对主机资源的使用并提高对联机业务和批量处理的高效性。
如何部署一套双活批量系统,用于实现计划内和计划外(灾难情况下)批量跨站点快速平滑接管和实现批量数据零丢失,已成为当前亟待解决的关键问题。
发明内容
本公开的一个方面提供了一种批量负载处理方法,应用于批量系统,批量系统包括第一主机和第二主机,第一主机包括主排程控制器。上述方法包括:由主排程控制器控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业,M为大于等于1的整数;以及,响应于第一预定切换事件,由主排程控制器控制第二主机中的多个第二批量程序执行批量负载中尚未被执行的N个作业,N为大于等于1的整数。
可选地,上述M个作业和上述N个作业中的每个作业包括P个作业步,P为大于等于1的整数。上述控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业包括:针对所述M个作业中的第i个作业,调用所述第一主机中的X个第一批量程序和所述第二主机中的Y个第二批量程序分别执行所述第i个作业中的P个作业步,i为大于等于1且小于等于M的整数,X为大于等于0且小于等于P的整数,Y为大于等于0或小于等于P的整数,X与Y之和等于P。上述控制第二主机中的多个第二批量程序执行批量负载中尚未被执行的N个作业包括:针对N个作业中的第j个作业,调用第二主机中的P个第二批量程序分别执行第j个作业中的P个作业步,j为大于等于1且小于等于N的整数。
可选地,第一主机还包括多个第一作业监控器,第二主机还包括多个第二作业监控器。上述调用第一主机中的X个第一批量程序和第二主机中的Y个第二批量程序分别执行所述第i个作业中的P个作业步包括:选择所述多个第一作业监控器中的X个第一作业监控器;选择所述多个第二作业监控器中的Y个第二作业监控器;在X大于0的情况下,由所述X个第一作业监控器将所述P个作业步中的X个作业步分别提交至所述X个第一批量程序,以由所述X个第一批量程序分别运行所述X个作业步;以及,在Y大于0的情况下,由所述Y个第二作业监控器将所述P个作业步中除所述X个作业步之外的Y个作业步分别提交至所述Y个第二批量程序,以由所述Y个第二批量程序分别运行所述Y个作业步。
可选地,第二主机还包括多个第二作业监控器。上述调用第二主机中的P个第二批量程序分别执行第j个作业中的P个作业步包括:选择多个第二作业监控器中的P个第二作业监控器;以及,由P个第二作业监控器分别将P个作业步提交至P个第二批量程序,以由所述P个第二批量程序分别运行所述P个作业步。
可选地,第一主机还包括第一文件库和第一数据库,第二主机还包括镜像排程控制器、第二文件库和第二数据库。上述方法还包括:每隔预定时段,将所述第一数据库中的数据复制至所述第二数据库;响应于第二预定切换事件,停止运行所述主排程控制器,并将所述第一文件库中的文件复制至所述第二文件库;基于所述第二文件库,启动所述镜像排程控制器;以及,由所述镜像排程控制器基于所述第二数据库,控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未执行的作业。
可选地,上述方法还包括:在将P个作业步分别提交至所述X个第一批量程序和所述Y个第二批量程序之后,由所述X个第一作业监控器和所述Y个第二作业监控器分别监控所述P个作业步各自的运行状态;以及,基于所述P个作业步各自的运行状态,确定所述第i个作业的运行状态,并将所述第i个作业的运行状态存储至所述第一数据库中。
可选地,上述方法还包括:在控制第二主机中的多个第二批量程序执行所述批量负载中尚未执行的作业之前,基于所述第二数据库,确定运行状态表征运行中断的一个或多个待补帐作业;基于批量排程拓扑关系,确定所述一个或多个待补帐作业的执行顺序;按照所述执行顺序,由所述镜像排程控制器控制所述第二主机中的多个第二批量程序执行所述一个或多个待补帐作业。其中,上述控制所述第二主机中的多个第二批量程序执行所述一个或多个待补帐作业包括:针对所述一个或多个待补帐作业中的第k个待补帐作业,根据所述第二数据库确定所述第k个待补帐作业运行中断时针对的作业步,将所述作业步提交至一个第二批量程序进行运行,k为大于等于1的整数。
可选地,上述将第一数据库中的数据复制至第二数据库包括:采用QRep复制方式将所述第一数据库中的数据复制至所述第二数据库。
可选地,上述将第一文件库中的文件复制至第二文件库包括:采用PPRC复制方式将所述第一文件库中的文件复制为中间文件;以及,采用FC复制方式将所述中间文件复制至所述第二文件库。
本公开的另一方面提供了一种批量系统,批量系统包括:第一主机,第一主机包括主排程控制器和多个第一批量程序;以及,第二主机,所述第二主机包括多个第二批量程序。主排程控制器配置为控制所述第一主机中的多个第一批量程序执行批量负载中的M个作业,M为大于等于1的整数;以及,响应于第一预定切换事件,控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未被执行的N个作业,N为大于等于1的整数。
可选地,所述主排程控制器还配置为响应于第二预定切换事件,停止运行。所述第二主机还包括镜像排程控制器,所述镜像排程控制器配置为响应于第二预定切换事件,控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未被执行的作业。
可选地,第一主机和第二主机经由SNA网络连接。
本公开的另一方面提供了一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开实施例的批量负载处理方法通过第一主机和第二主机实现批量负载的处理,实现批量排程系统的跨站点部署,实现站点级高可用。并且,可以根据需求将批量负载在双站点间灵活运行,可以用于实现计划内的批量跨站点接管,使得计划内的切换事件发生时,批量负载的处理过程不被影响。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的批量负载处理方法的流程图;
图2示意性示出了根据本公开实施例的批量系统的示例架构图;
图3示意性示出了根据本公开另一实施例的批量负载处理方法的示例流程图;
图4示意性示出了根据本公开另一实施例的批量系统的示例架构图;
图5示意性示出了根据本公开实施例的批量作业的运行状态示意图;
图6示意性示出了根据本公开实施例的自动化补账过程的示例流程图;
图7示意性示出了根据本公开实施例的批量系统的框图;以及
图8示意性示出了根据本公开实施例的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种批量负载处理方法和批量系统。批量系统包括第一主机和第二主机,第一主机包括主排程控制器。该批量负载处理方法应用于批量系统,可以包括第一执行过程和第二执行过程。在第一执行过程中,由主排程控制器控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业,M为大于等于1的整数。响应于第一预定切换事件,进行第二执行过程,由主排程控制器控制第二主机中的多个第二批量程序执行批量负载中尚未被执行的N个作业。N为大于等于1的整数。
银行业务主要采用两种处理模式:联机交易和批量处理。联机交易是一种实时的数据处理,适合交互式实时要求高的业务,比如存取款、实时转账、银行卡刷卡消费等,适用于少量的数据处理。批量处理是一种非实时的数据处理,适合实时要求不高的业务,比如定期还款、代发工资、结息等,适用于海量的数据处理。为了保障联机高峰期系统的高性能,批量业务一般安排在夜间,以均衡对主机资源的使用并提高对联机业务和批量处理的高效性。
批量系统是一个完整的系统流程,通常采用批量排程系统来进行作业调度,构成批量的基本单元是作业(JOB)(即任务),这些作业调用不同的程序来实现对数据的处理,数据一般存储在数据库或文件中。银行业务数据庞大且复杂,各项综合业务之间还存在一定联系,所以批量作业间通过前后项关系、定时、ETT(事件触发)、SR(资源触发)等设置形成错综复杂的批量流程。业内通过批量排程系统,来实现对批量系统的管理运行。银行核心批量流程包含数以十万记的作业,并发处理能力在批量高峰期能带到数千级别,为海量数据的高效有序处理提供了有力的技术支撑。
随着信息科技的高速发展,同城双活数据中心与异地灾备中心架构越来越普遍地被银行业所使用。该架构对提升业务连续性、高可用性起着至关重要的作用。主机系统作为银行业核心业务处理系统,也是双活建设的重点内容,同时也是其他技术架构规划和应用系统开发设计考虑的重点前提。批量系统设计也成为双活数据中心建设中重要的一环,如何部署一套双活批量系统,用于实现计划内和计划外(灾难情况下)批量跨站点快速平滑接管和实现批量数据零丢失,已成为当前亟待解决的关键问题。
根据本公开的实施例,提供了一种批量负载处理方法。下面结合附图进行示例性说明。应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图1示意性示出了根据本公开实施例的批量负载处理方法的流程图。该批量负载处理方法可以应用于批量系统,本例中,批量系统可以包括第一主机和第二主机,第一主机包括主排程控制器。
如图1所示,该批量负载处理方法可以包括操作S101~S102。
在操作S101,由主排程控制器控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业。
其中,M为大于等于1的整数。示例性地,主排程控制器可以根据批量负载中多个作业的拓扑关系,来确定执行顺序和执行方式。从而控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序根据所确定的执行顺序和执行方式来执行批量负载中的作业。在发生第一预定切换事件前,已执行M个作业。
根据本公开的实施例,第一主机和第二主机各自可以包括多个系统,每个系统可称为逻辑分区(LPAR)。上述多个第一批量程序分别运行在第一主机的多个系统中。上述多个第二批量程序分别运行在第二主机的多个系统中。第一主机的多个系统和第二主机的多个系统可以连接在一起而组成并行耦合体(SYSPLEX)。在进行批量负载处理时,SYSPLEX可以将批量负载分配到各个LPAR上运行,可以保障批量系统的高可用性和高并发处理能力。
在操作S102,响应于第一预定切换事件,由主排程控制器控制第二主机中的多个第二批量程序执行批量负载中尚未被执行的N个作业。
其中,N为大于等于1的整数,上述M个作业和上述N个作业无重复。第一预定切换事件为计划内切换事件,例如第一主机的定期维护事件等。响应于计划内切换事件,主排程控制器停止向第一主机中的第一批量程序分配作业,而将待处于的批量负载中的作业分配至第二主机中的第二批量程序进行运行,不影响批量负载处理过程的进行。示例性地,主排程控制器控制第二主机中的多个第二批量程序根据所上述确定的作业的执行顺序和执行方式来执行批量负载中的作业。
本领域技术人员可以理解,根据本公开实施例的批量负载处理方法通过第一主机和第二主机实现批量负载的处理,实现批量排程系统的跨站点部署,实现站点级高可用。并且,可以根据需求将批量负载在双站点间灵活运行,可以用于实现计划内的批量跨站点接管,使得计划内的切换事件发生时,批量负载的处理过程不被影响。
根据本公开的实施例,批量负载中的每个作业可以包括P个作业步(STEP),P为大于等于1的整数。上述操作S101主排程控制器控制第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业的过程可以按照如下方式实施:以M个作业中的第i个作业为例进行说明,针对第i个作业,调用第一主机中的X个第一批量程序和第二主机中的Y个第二批量程序分别执行第i个作业中的P个作业步。其中,i为大于等于1且小于等于M的整数,X为大于等于0且小于等于P的整数,Y为大于等于0或小于等于P的整数,X与Y之和等于P。上述操作S102控制第二主机中的多个第二批量程序执行批量负载中尚未被执行的N个作业包括:针对N个作业中的第j个作业,调用第二主机中的P个第二批量程序分别执行第j个作业中的P个作业步,j为大于等于1且小于等于N的整数。
下面结合批量系统的示例性架构对根据本公开实施例的批量负载处理方法进行示例性说明。
图2示意性示出了根据本公开实施例的批量系统的示例架构图。
如图2所示,展示了批量系统200的总体部署。批量系统200包括A站点(第一主机)210和B站点(第二主机)220。批量系统200的主排程控制器(Controller)211部署在A站点,用于负责排程调度。在A、B站点分别部署多个作业监控器(Tracker)212和222,用于负责作业提交和作业状态跟踪。双站点间可以通过SNA网络进行连接。
根据本公开的实施例,在未发生任何切换事件的日常情况下,可使用A站点的主排程控制器211控制A站点的多个作业控制器212进行作业的提交和跟踪,也可使用A站点的主排程控制器控制B站点的多个作业控制器222进行作业的提交和跟踪。
示例性地,针对批量负载中的任一作业,以上述包含P个作业步的第i个作业为例,主排程控制器211可以根据第i个作业的参数和定义,从A站点的多个作业监控器212(第一作业监控器)中选择X个第一作业监控器,并从B站点的多个作业监控器222(第二作业监控器)中选择Y个第二作业监控器,X和Y均为大于等于0的整数,且X与Y之和为P。在X大于0的情况下,主排程控制器211控制X个第一作业监控器将第i个作业中的P个作业步中的X个作业步分别提交至所述X个第一批量程序,以由X个第一批量程序分别运行该X个作业步。并且,在Y大于0的情况下,主排程控制器211控制Y个第二作业监控器将P个作业步中除上述X个作业步之外的Y个作业步分别提交至Y个第二批量程序,以由Y个第二批量程序分别运行Y个作业步。
此外,为监控每个作业的运行状态,还可以通过上述X个第一作业监控器和Y个第二作业监控器分别监控各个作业步的运行状态,从而确定相应的作业的运行状态。例如,在上述X个第一作业监控器和Y个第二作业监控器分别将第i个作业的P个作业步分别提交至X个第一批量程序和Y个第二批量程序之后,由X个第一作业监控器和Y个第二作业监控器分别监控所述P个作业步各自的运行状态。主排程控制器211基于该P个作业步各自的运行状态,确定第i个作业的运行状态,并可以将第i个作业的运行状态存储至批量系统的预定存储区域。
在发生计划内切换事件的情况下,例如图2中主站点从A切换到B。由于该情况下A、B站点仍然保持双活状态,只需将批量负载配置到B站点的多个作业监控器222进行作业提交即可,A站点的多个作业监控器212将不再提交作业。示例性地,响应于第一预定切换事件,主排程控制器211停止控制使用A站点的多个作业监控器212。针对批量负载中待处理的任一作业,以上述包含P个作业步的第j个作业为例,主排程控制器211选择多个作业监控器222中的P个作业监控器222,并控制P个第二作业监控器分别将第j个作业中的P个作业步提交至P个第二批量程序,以由P个第二批量程序分别运行P个作业步。
如图2所示,根据本公开的实施例,在B站点中还部署有A站点的镜像排程控制器221,用于站点级切换的批量接管,在日常情况下不启动。A、B站点对等部署有数据库213、223和文件库214、224。文件库可以包括:程序库、作业库、参数库、批量控制命令库、批量应用文件、排程系统文件等。
在未发生任何切换事件的日常情况下,主排程控制器211可以将批量负载中各个作业的运行状态记录至数据库213(第一数据库)中。为使得切换情况下B站点对批量负载的顺利接管,根据本公开实施例的批量负载处理方法还可以包括:每隔预定时段,将数据库213中的数据复制至数据库223(第二数据库),即日常情况下可以实现两个数据库的基本同步。示例性地,可以采用数据库Qrep(Quick Replication,快速复制)工具完成A、B站点的数据复制。其中,Qrep技术为数据库Q复制技术,用于实现同城甚至异地远距离数据库复制。
在发生第二预定切换事件的情况下,例如A站点出现异常等灾难状况,停止运行主排程控制器211,并将文件库214(第一文件库)中的文件复制至文件库224(第二文件库),即进行文件库的同步过程。在完成同步后,可以基于第二文件库,启动镜像排程控制器221。由镜像排程控制器221基于第二数据库,控制B站点中的多个第二批量程序执行批量负载中尚未执行的作业。示例性地,可以采用主机PPRC(Peer to Peer Remote Copy,点对点远程复制)磁盘复制技术完成A、B站点的文件复制。其中,PPRC技术为以存储为基础、实时的与应用无关的数据远程磁盘镜像技术。
图3示意性示出了根据本公开另一实施例的批量负载处理方法的示例流程图。
如图3所示,批量负载处理过程开始后,在操作S301,当发生切换事件时,启动站点切换。
在操作S302,确定本次切换为计划内切换事件还是计划外切换事件。如果是计划内切换事件,则执行操作S303。如果是计划外切换事件,则执行操作S305~S307。
在操作S303,将批量负载配置修改为由B站点的作业监控器进行作业提交,A站点的作业监控器将不再提交作业。
在操作S304,刷新批量当前计划。计划内切换事件的应对流程上文中已详细说明,在此不再赘述。
当发生计划外主备站点切换时,在操作S305,B站点文件系统核对并上线。在操作S306,启动B站点数据库。在操作S307,启动B站点镜像排程控制器。
下面结合具体实施例对上述操作S305~S307进行示例性说明。
响应于第二预定切换事件(计划外切换事件),例如图2中主站点从A切换到B,由于A站点可能发生灾难不能正常运行,启动备用B站点全面接管A站点事物。该切换过程请参考图4。
图4示意性示出了根据本公开另一实施例的批量系统的示例架构图。
如图4所示,通过FC(Fast Copy,快速复制)方式将PPRC复制过来的批量相关文件(包括程序库、作业库、参数库、批量应用文件、批量控制命令、排程系统文件等)同步到B站点。使用FC后的文件启动B站点的镜像批量排程控制器221,启动挂接B站点数据库223(日常使用QRep复制A站点数据库数据到B站点)。以使B站点全面接管批量负载处理事务。
应用批量由众多事务单元组成,各事务单元间逻辑关系错综复杂、处理数据量巨大,在灾难情况下,原站点批量数据与运行状态丢失,应用批量将被迫中断,且无法继续运行。由于批量的固有特性,使其难以在短时间内经人工修复运行,运行到一半的批量也无法回退,这将会严重影响帐务处理,导致银行被迫停止提供对外服务,造成重大影响和损失。
由于A、B站点数据复制存在一定延时,文件系统与数据库系统又采用了不同的复制方式,文件系统的延迟在毫秒级、数据库系统复制延迟在秒级,备份站点的数据库数据落后于文件系统,需要进行数据库补帐追平数据处理,可称为补账过程。
由于批量是海量数据处理,特别在高峰期并发度上千(作业)的情况下,每秒对数据的修改数量都很可观,故人工补帐存在较大难度且耗时较长。根据本公开的实施例,可以采用自动化补账过程。参考图3,在操作S308,执行自动化补账过程。接着在操作S309,打开批量开关继续运行批量,即继续进行批量负载的处理过程。
下面针对自动化补账过程的实施方式进行示例性说明。
根据本公开的实施例,可以构建批量控制表,用于记录所有批量负载作业的运行状态,如表1所示。
表1
作业名 | 是否作业结束 | 已完成作业步 |
JOB1(作业1) | Y(是) | STEP D(作业步D) |
JOB2(作业2) | N(否) | NULL(无) |
JOB3(作业3) | N(否) | STEP B(作业步B) |
… | … | … |
… | … | … |
每个批量作业由一个或多个作业步组成,按顺序执行各作业步内容,作业步通过调起不同的批量程序完成对数据的处理并将结果入数据库。批量控制表用于记录每一个批量作业运行状态,存储在数据库中。所有批量作业可以根据需要按照如图5所示格式进行改造,在每一个作业步完成之后、进行数据入库之时,一并对批量控制表进行更新,使应用数据入库和批量控制表更新同频。
图5示意性示出了根据本公开实施例的批量作业的运行状态示意图。
如图5所示,对于作业1(JOB1)来说,当该作业1的STEP A运行结束后,可以更新批量控制表,在批量控制表中记录:该作业1的完成作业步为STEP A。同理,当该作业1的STEPB运行结束后,可以再次更新批量控制表,在批量控制表中记录:该作业1的完成作业步为STEPB。以此类推,直至该作业1的最后一步运行完成,此时可以在批量控制表中添加作业1的作业结束标示“Y”。
可以理解,基于批量控制表中的记录,可以明确地获知在发生计划外切换事件之前,主排程控制器211所处理的所有作业的运行状态。从而可以确定在发生计划外切换事件时,被中断运行的待补账的作业,并可以确定每个待补账的作业的详细运行情况,例如已经运行完成到第几个作业步等。故可以根据这些信息来进行自动化补账过程。
图6示意性示出了根据本公开实施例的自动化补账过程的示例流程图。
如图6所示,自动化补帐流程主要分为:对账、补帐和结果检查三部分。在操作S601,开始集中对账。在操作S602,对账过程找出:批量控制表中状态落后于批量排程工具中状态的作业,以在操作S604将符合条件的作业放入待补账列表,形成待补帐作业清单。并在S603确定不符合上述条件的作业无需进行补账。在操作S605,通过计算批量排程拓扑关系,生成待补帐作业执行顺序。然后在操作S606依序断点重提待补帐作业,其中,断点表示作业中断时的作业步,即批量状态表中,标识该作业运行完成的作业步的下一步。所有待补帐作业均运行完毕后,执行操作S607,启动数据检查操作,核对补账结果。数据检查通过后,B站点其他基础环境就绪,就可以开启批量开关继续运行批量了。
基于上述各实施例,本公开实施例提供了一种数据零丢失的跨站点批量恢复机制,实现了批量跨站点快速平滑接管,极大的保障了银行业务处理的连续性。
图7示意性示出了根据本公开实施例的批量系统的框图。
如图7所示,该批量系统700可以包括:第一主机710和第二主机720。
第一主机710可以包括主排程控制器711和多个第一批量程序712。第二主机720包括多个第二批量程序722。
主排程控制器711配置为控制多个第一批量程序712和多个第二批量程序722执行批量负载中的M个作业,M为大于等于1的整数,以及,响应于第一预定切换事件,控制多个第二批量程序722执行批量负载中尚未被执行的N个作业,N为大于等于1的整数。
根据本公开的实施例,如图7所示,第二主机还可以包括镜像排程控制器721。
主排程控制器711还配置为响应于第二预定切换事件,停止运行。
镜像排程控制器721配置为响应于第二预定切换事件,控制多个第二批量程序722执行批量负载中尚未被执行的作业。
根据本公开的实施例,第一主机710和第二主机720经由SNA网络连接。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,根据本公开实施例的计算机系统800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有系统800操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。系统800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (14)
1.一种批量负载处理方法,应用于批量系统,所述批量系统包括第一主机和第二主机,所述第一主机包括主排程控制器,所述方法包括:
由所述主排程控制器控制所述第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业,M为大于等于1的整数;以及
响应于第一预定切换事件,由所述主排程控制器控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未被执行的N个作业,N为大于等于1的整数。
2.根据权利要求1所述的方法,其中,所述M个作业和所述N个作业中的每个作业包括P个作业步,P为大于等于1的整数;
所述控制所述第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业包括:针对所述M个作业中的第i个作业,调用所述第一主机中的X个第一批量程序和所述第二主机中的Y个第二批量程序分别执行所述第i个作业中的P个作业步,i为大于等于1且小于等于M的整数,X为大于等于0且小于等于P的整数,Y为大于等于0或小于等于P的整数,X与Y之和等于P;
所述控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未被执行的N个作业包括:针对所述N个作业中的第j个作业,调用所述第二主机中的P个第二批量程序分别执行所述第j个作业中的P个作业步,j为大于等于1且小于等于N的整数。
3.根据权利要求2所述的方法,其中,所述第一主机还包括多个第一作业监控器,所述第二主机还包括多个第二作业监控器;
所述调用所述第一主机中的X个第一批量程序和所述第二主机中的Y个第二批量程序分别执行所述第i个作业中的P个作业步包括:
选择所述多个第一作业监控器中的X个第一作业监控器;
选择所述多个第二作业监控器中的Y个第二作业监控器;
在X大于0的情况下,由所述X个第一作业监控器将所述P个作业步中的X个作业步分别提交至所述X个第一批量程序,以由所述X个第一批量程序分别运行所述X个作业步;以及
在Y大于0的情况下,由所述Y个第二作业监控器将所述P个作业步中除所述X个作业步之外的Y个作业步分别提交至所述Y个第二批量程序,以由所述Y个第二批量程序分别运行所述Y个作业步。
4.根据权利要求3所述的方法,其中,所述调用所述第二主机中的P个第二批量程序分别执行所述第j个作业中的P个作业步包括:
选择所述多个第二作业监控器中的P个第二作业监控器;以及
由所述P个第二作业监控器分别将所述P个作业步提交至所述P个第二批量程序,以由所述P个第二批量程序分别运行所述P个作业步。
5.根据权利要求4所述的方法,其中,所述第一主机还包括第一文件库和第一数据库,所述第二主机还包括镜像排程控制器、第二文件库和第二数据库;
所述方法还包括:
每隔预定时段,将所述第一数据库中的数据复制至所述第二数据库;
响应于第二预定切换事件,停止运行所述主排程控制器,并将所述第一文件库中的文件复制至所述第二文件库;
基于所述第二文件库,启动所述镜像排程控制器;以及
由所述镜像排程控制器基于所述第二数据库,控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未执行的作业。
6.根据权利要求5所述的方法,还包括:
在将所述P个作业步提交至所述X个第一批量程序和所述Y个第二批量程序之后,由所述X个第一作业监控器和所述Y个第二作业监控器分别监控所述P个作业步各自的运行状态;以及
基于所述P个作业步各自的运行状态,确定所述第i个作业的运行状态,并将所述第i个作业的运行状态存储至所述第一数据库中。
7.根据权利要求6所述的方法,还包括:
在所述控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未执行的作业之前,
基于所述第二数据库,确定运行状态表征运行中断的一个或多个待补帐作业;
基于批量排程拓扑关系,确定所述一个或多个待补帐作业的执行顺序;
按照所述执行顺序,由所述镜像排程控制器控制所述第二主机中的多个第二批量程序执行所述一个或多个待补帐作业,
其中,所述控制所述第二主机中的多个第二批量程序执行所述一个或多个待补帐作业包括:针对所述一个或多个待补帐作业中的第k个待补帐作业,根据所述第二数据库确定所述第k个待补帐作业运行中断时针对的作业步,将所述作业步提交至一个第二批量程序进行运行,k为大于等于1的整数。
8.根据权利要求5所述的方法,其中,所述将所述第一数据库中的数据复制至所述第二数据库包括:
采用QRep复制方式将所述第一数据库中的数据复制至所述第二数据库。
9.根据权利要求5所述的方法,其中,所述将所述第一文件库中的文件复制至所述第二文件库包括:
采用PPRC复制方式将所述第一文件库中的文件复制为中间文件;以及
采用FC复制方式将所述中间文件复制至所述第二文件库。
10.一种批量系统,所述批量系统包括:
第一主机,所述第一主机包括主排程控制器和多个第一批量程序;以及
第二主机,所述第二主机包括多个第二批量程序;
所述主排程控制器,配置为控制所述第一主机中的多个第一批量程序和第二主机中的多个第二批量程序执行批量负载中的M个作业,M为大于等于1的整数;以及,
响应于第一预定切换事件,控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未被执行的N个作业,N为大于等于1的整数。
11.根据权利要求10所述的批量系统,其中,
所述主排程控制器,还配置为响应于第二预定切换事件,停止运行;
所述第二主机还包括镜像排程控制器,所述镜像排程控制器配置为响应于第二预定切换事件,控制所述第二主机中的多个第二批量程序执行所述批量负载中尚未被执行的作业。
12.根据权利要求10所述的批量系统,其中,所述第一主机和所述第二主机经由SNA网络连接。
13.一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~9任一项所述的方法。
14.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如权利要求1~9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010654488.5A CN111767151B (zh) | 2020-07-08 | 2020-07-08 | 批量负载处理方法、批量系统、计算机系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010654488.5A CN111767151B (zh) | 2020-07-08 | 2020-07-08 | 批量负载处理方法、批量系统、计算机系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767151A true CN111767151A (zh) | 2020-10-13 |
CN111767151B CN111767151B (zh) | 2023-09-15 |
Family
ID=72726611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010654488.5A Active CN111767151B (zh) | 2020-07-08 | 2020-07-08 | 批量负载处理方法、批量系统、计算机系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767151B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615511A (zh) * | 2015-02-05 | 2015-05-13 | 中国工商银行股份有限公司 | 一种基于双中心的主机批量恢复处理方法及装置 |
CN109101364A (zh) * | 2018-07-20 | 2018-12-28 | 中国邮政储蓄银行股份有限公司 | 双中心双活数据处理系统和方法 |
CN109451189A (zh) * | 2018-09-25 | 2019-03-08 | 国家电网有限公司客户服务中心 | 一种基于事件驱动的95598异地双活系统全景切换系统及方法 |
US20200026786A1 (en) * | 2018-07-18 | 2020-01-23 | International Business Machines Corporation | Management and synchronization of batch workloads with active/active sites using proxy replication engines |
-
2020
- 2020-07-08 CN CN202010654488.5A patent/CN111767151B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615511A (zh) * | 2015-02-05 | 2015-05-13 | 中国工商银行股份有限公司 | 一种基于双中心的主机批量恢复处理方法及装置 |
US20200026786A1 (en) * | 2018-07-18 | 2020-01-23 | International Business Machines Corporation | Management and synchronization of batch workloads with active/active sites using proxy replication engines |
CN109101364A (zh) * | 2018-07-20 | 2018-12-28 | 中国邮政储蓄银行股份有限公司 | 双中心双活数据处理系统和方法 |
CN109451189A (zh) * | 2018-09-25 | 2019-03-08 | 国家电网有限公司客户服务中心 | 一种基于事件驱动的95598异地双活系统全景切换系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111767151B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10541870B2 (en) | Unified work backlog | |
US7779298B2 (en) | Distributed job manager recovery | |
CN112069265B (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
US6834358B2 (en) | Restartable database loads using parallel data streams | |
US20100131792A1 (en) | Analysis leading to automatic action | |
US8621472B2 (en) | Job scheduling with optimization of power consumption | |
CN110727539A (zh) | 批处理任务中的异常处理方法、系统及电子设备 | |
WO2006130514A1 (en) | Method and system for scheduling jobs in a computer system | |
CN112286661B (zh) | 任务调度方法及装置、存储介质、终端 | |
US7650347B2 (en) | System and method for job scheduling and distributing job scheduling | |
CN116777182B (zh) | 半导体晶圆制造执行任务派工方法 | |
US8171474B2 (en) | System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface | |
US10803010B2 (en) | Message affinity in geographically dispersed disaster restart systems | |
CN111767151B (zh) | 批量负载处理方法、批量系统、计算机系统和介质 | |
EP3811227B1 (en) | Methods, devices and systems for non-disruptive upgrades to a distributed coordination engine in a distributed computing environment | |
US10891205B1 (en) | Geographically dispersed disaster restart multitenancy systems | |
CN110276153A (zh) | 并行离散时间仿真的非一致时间余度非严格时间管理方法 | |
CN116719623A (zh) | 作业调度方法、作业结果处理方法及其装置 | |
CN110276152A (zh) | 一种并行离散时间仿真的带时间余度非严格时间管理方法 | |
JP2007265043A (ja) | スケジューラプログラム、サーバシステム、スケジューラ装置 | |
CN114244894A (zh) | 停复机业务处理方法、系统、计算机存储介质和电子设备 | |
CN117099083A (zh) | 用于行星级计算系统的调度器 | |
US20220137950A1 (en) | Software update management device and software update management method | |
US7502899B2 (en) | Write set boundary management in support of asynchronous update of secondary storage | |
KR100843539B1 (ko) | 데이터 저장 시스템, 기입 세트 및 기입 세트 경계 유지 방법 및 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |