专利名称:一种用于可分类数据批处理的方法及装置的制作方法
技术领域:
本发明涉及数据处理领域,特别是涉及批处理作业的数据处理领域。
背景技术:
在银行业、证券业和保险业等的业务处理系统中,一般采用核心系统处理自己的各种相关业务,核心系统中可以提供两种数据处理环境联机环境和批处理环境。它们是两类不同特性的数据处理环境,通常基于不同的中间件平台之上。
批处理是批量数据处理的环境,可以支持整批的数据处理进程,通常是在自动控制的流程中递交批处理的作业,用来处理数据库或文件的批量访问或更新。在自动控制流程完善的条件下,整个批处理过程可以无需人工干预的完成一批作业处理。例如,在银行核心系统中,每日日终后,有许多批量的数据加工和处理,如生成各类会计报表、银行计息、自动转存和自动还款等,还例如保险公司的保单续保等。
在数据集中之前,各部门存储的数据分别由各部门的单独进行处理,各部门数据单独核算,总部不能清楚了解各部门的数据,不便统一进行管理,也造成数据资源不能共享、数据安全性、完整性的风险大和维护费用多等问题,而且各部门均需自备备份主机及相应设备,硬件资源利用率低。
在数据集中存储后,即把待处理数据由原来的分散在各部门,并由各部门单独处理,改变为把各部门的数据进行集中存储,所述数据可以按部门进行分类,并集中进行数据处理。数据集中克服了分散带来的问题,但在集中点需要处理的数据量很大,现有的使用统一批处理作业数据处理方式对这些来自不同部门的数据进行处理时,存在下面的问题1、需要处理的数据量大,批处理作业执行时,执行时间过长,不能及时得到处理结果,影响数据处理效率,数据处理结果实效性差,2、由于不同部门业务的差异,对各自部门的数据处理的要求也不同,需要针对每个部门的不同业务做出判断处理,现有统一批处理作业数据处理方式不能很好的满足数据处理的要求。
3、对于每个部门的数据来说,在具体的数据处理的步骤上有前后依赖关系,即部分数据需要先处理,其结果用于参与另一些数据的处理,采用现有统一批处理作业数据处理方式进行处理时,在批处理运行过程中,可能会交叉处理不同部门的数据,造成数据依赖关系复杂,影响批处理作业执行的稳定性。
可见,现有的使用统一批处理作业进行数据处理方式存在着效率低、不能很好的满足数据处理的要求和处理过程中稳定性差的问题。如何设计一个新的满足数据集中后业务运营和发展的要求的批处理系统架构以及调度方法,成为了在大型机应用开发者面前的一个需要解决的课题。
发明内容
本发明所要解决的技术问题是提供一种用于可分类数据批处理的方法及装置,以解决现有技术中效率低、不能很好的满足数据处理的要求和处理过程中稳定性差的问题。
为了解决上述技术问题,本发明公开了一种用于可分类数据批处理的方法,包括将分散存储的数据进行按分类集中存储;设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类数据的分类批处理作业;根据所述模板作业和所述参数集生成不同分类数据的分类批处理作业;执行所述分类批处理作业。
优选的,所述方法还包括,对所述分类批处理作业进行作业调度。
优选的,所述作业调度采用无环路多层次树型结构逻辑控制技术、多管道路由技术或者优先级队列调度算法。
优选的,所述方法还包括,对所述分类批处理作业的执行进行出错控制。
优选的,所述可分类数据是银行系统各分行数据,所述分类批处理作业是银行系统各分行数据批处理作业。
优选的,所述各分行数据批处理作业按照时段对所述分行数据进行处理。
本发明还提供了一种用于可分类数据批处理的装置,包括数据集中单元,用于将分散存储的数据进行按分类集中存储;
设置单元,用于设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类的分类批处理作业;存储单元,用于保存所述模板作业及所述参数集;生成单元,用于根据所述模板作业和所述参数集生成不同分类的分类批处理作业;执行单元,用于执行所述分类批处理作业。
优选的,所述装置还包括,调度处理单元,用于对所述分类批处理作业进行作业调度。
优选的,所述调度处理单元采用无环路多层次树型结构逻辑控制技术、多管道路由技术或者优先级队列调度算法。
优选的,所述装置还包括,出错处理单元,用于对所述分类批处理作业的执行进行出错控制。
与现有技术相比,本发明具有以下优点1、采用不同的分类批处理作业分别处理不同分类的数据,每个批处理作业所要处理的数据量小,处理速度快,并行处理方式进一步减少了完成全部数据处理需要的时间,提高了数据处理的效率,数据处理实效性好。
2、采用模版作业和分类处理参数来生成各分类数据的批处理作业,可以根据不同的业务配置不同参数,生成不同的批处理作业,适应不同部门的业务差异,更好的满足各部门数据处理的要求。
3、各分类的批处理作业只处理本分类的数据,可以按先后顺序处理,更好的保证数据处理过程中数据的依赖关系,保证批处理作业执行的稳定性,保证处理结果的正确性。
4、采用统一的模版作业和分类参数相结合的方式生成各分类的批处理作业,维护人员只需要维护模版作业和各分类的参数文件,维护工作量小。
5、采用无环路多层次树形结构逻辑控制技术、多管道路由技术和优先级队列作业调度算法对运行中的批处理作业进行调度,提高了系统中并行运行的作业数,合理的利用了系统资源,加快了批处理作业的运行速度。
图1是本发明的方法实施例1流程图;
图2是本发明的方法实施例2流程图;图3是本发明的生成分行批处理作业的流程图;图4是本发明的批处理作业的执行的流程图;图5是本发明的批处理作业调度流程图;图6是本发明的装置实施例框图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
参见图1,是本发明的方法实施例1流程图,包括步骤101,将分散存储的数据进行按分类集中存储。
在数据集中后,即把待处理数据由原来的分散在各部门,并由各部门单独处理的情况,改变为把各部门的数据进行集中存储,所述数据可以按部门进行分类,并集中进行数据处理的方式。然而,在集中点需要处理的数据量很大,使用统一批处理作业数据处理方式对这些来自不同部门的数据进行处理时,存在着需要处理的数据量大,批处理作业执行时间过长,不能及时得到处理结果,不能很好的满足各分类数据的特殊处理的要求;在批处理运行过程中,可能会交叉处理不同部门的数据,造成数据依赖关系复杂,影响批处理作业执行的稳定性。采用下面的步骤102到步骤104可以克服这些问题。
步骤102,设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类数据的分类批处理作业。
所述分类数据是集中存储的、可以按照某种分类方法对其分开进行处理,例如,可以根据某个字段的值把所述的分类数据分离开,如可以是按不同的部门、不同的来源等属性进行分类,分类后的数据相互之间没有依赖关系。由于用于分类的属性值不同,分类后的数据需要进行处理的具体过程可以有所不同,可以把分类后的数据要进行的数据处理的具体参数设置在参数集中,参数集可以中包含多个分类的处理参数。另设置一模版作业,模版作业中的特定位置的参数由变量代替,可以根据参数集中不同的参数进行替换,从而生成每个分类的分类批处理作业。
步骤103,根据所述模板作业和所述参数集生成不同分类数据的分类批处理作业。
把模板作业中的变量用参数集中的参数替换,生成对不同分类数据进行处理的批处理作业。在本步骤中,不同分类的批处理作业使用同一个模板作业生成,维护人员只需要维护模板作业和参数集,减少了维护人员的工作量。
步骤104,执行所述分类批处理作业。
所述生成的分类批处理作业,可以在批处理环境下执行,执行时可以根据需要先后执行或者并行执行。分类批处理作业开始执行后,可以分别对各分类的数据进行数据处理。
优选的,还包括,对所述分类批处理作业进行作业调度。
通过对系统中的作业进行调度处理,可以合理的对分类批处理作业及子作业的执行顺序进行控制、提高系统中并发执行的作业数量、按照作业的优先级别对正在运行的作业分配系统资源,从而可以提高作业的运行速度,减少数据处理的时间。
优选的,还包括,采用无环路多层次树型结构逻辑控制技术对所述分类批处理作业进行控制。
在分类批处理作业的执行过程中,通过批处理作业流控制表采用无环路多层次树型结构逻辑控制技术对批处理作业进行调度,批处理作业流控制表中记录了由分类批处理作业引导执行的分作业的执行的先后顺序,分类批处理作业执行时,可以分成若干的时段,每一时段完成特定的数据处理,特定时段的数据处理过程可以由若干子作业完成,在每一时段中,子作业的数量可能多达70-80个,可以使用批处理作业流控制表来对它们进行调度处理,使用起始层和结束层来控制每个时段批处理作业的执行和完成。
优选的,还包括,采用多管道路由技术对所述分类批处理作业进行控制。
在控制批处理作业的并行运行时,可以采用多管道路由技术,例如,可以设定10个管道,并行执行10个批处理作业,每个管道的批处理作业执行完后,再调度另外一个批处理作业进行执行,提高批处理环境中并行执行的作业数,提高批处理作业的执行效率,保证数据处理结果的实效性。
优选的,还包括,采用优先级队列作业调度算法对所述分类批处理作业进行控制。
在批处理作业的并行执行中,必然会对CPU、内存、磁盘、数据库或者文件进行争抢使用,本发明采用对每个需要执行的批处理作业设定优先级的方法来确定对资源使用,高优先级别的批处理作业获得的系统资源高于低优先级别的作业,通过获得更多的CPU等资源,缩短高优先级别的作业执行的时间,从而继续后续的处理,使系统资源得到充分的利用。
优选的,还包括,对所述分类批处理作业的执行进行出错控制。
在多个作业并行处理的中,很可能会有作业执行出错,当系统检测到作业出错时,执行出错控制功能,在批处理系统中提示相应的出错信息,并根据相应的作业资料参数来由异常处理器技术来处理,例如,可以自动的重新执行或者提过处理等。
优选的,所述可分类数据是银行系统各分行数据,所述生成的分类批处理作业是银行系统各分行数据批处理作业。
对于银行业务系统,在数据集中后,各分行的数据集中存储,但它们之间仍旧可以按照不同分行分类分别进行处理,可以按照不同的分行的业务特定按照模板作业和参数集生成各自分行的批处理作业,分别进行各自分行的数据处理。
优选的,还包括,所述各分行数据批处理作业按照时段对所述分行数据进行处理。
所述不同分行的批处理作业的处理流程主要分为T1、T2、TN、TC时段,这4个时段的信息需要顺次处理。
参见图2,是本发明的方法实施例2流程图,包括步骤201,设置模板作业。
模板作业是生成分行作业的母作业,在模板作业中设置若干参数,使用参数值替换参数后,可以生成分行批处理作业。例如,可以设置下面的模板作业//%%VBRHCODE.CI701D JOB A,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)%%VSCHENV.
//SET1 SET BRH=%%VBRHCODE.
//STEP100 EXECIMSBATCH,PSB=PCI BFB,MBR=GBMPHEAD,LIB=′UTILITY.LOAD′,
// NBA=%%NBA1.20,OBA=%%OBA1.30,DIRCA=%%DCA1.20//SYSOUT DD SYSOUT=*//DFSHALDB DD*HALDB PCB=(BCI AMSP,%%VBRHCODE.I AMS1)//PARMIN DD*GCIB701M,0010,PCIBFB,,,1,,%%VBRHCODE.CI701D/*//FSYSIN1 DD*003/*其中%%开始,以’.’结束的部分就是参数,如%%VBRHCODE.以及%%VSCHENV.等,这些参数可以被替换成具体的参数值。
步骤202,设置参数集。
例如,可以设置参数集中的一组具体参数值为VSCHENV=,SCHENV=BATCHD REPL C 14VBRHCODE=BJREPL C 2等等,其中‘REPL C 2‘表示将作业中的%%VBRHCODE.替换为BJ。
参数集中可以包含多组参数,用于各分行的数据处理。
步骤203,生成分行批处理作业。
例如由前面步骤设置的模板作业和参数集,通过克隆的方式,生成北京行的作业如下//BJCI701D JOB A,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),SCHENV=BATCHD//SET1 SET BRH=BJ//STEP100EXECIMSBATCH,PSB=PCIBFB,MBR=GBMPHEAD,LIB=′UTILITY.LOAD′,// NBA=20,OBA=30,DIRCA=20//SYSOUT DD SYSOUT=*//DFSHALDB DD*HALDB PCB=(BCIAMSP,BJIAMS1)
//PARMINDD*GCIB701M,0010,PCIBFB,,,1,,BJCI701D/*//FSYSIN1 DD*003/*参见图3,是上述生成分行批处理作业的流程图,具体包括由模板作业根据分行参数分别生成北京行作业、辽宁行作业和新疆行作业等。
步骤204,执行分行批处理作业,对分行数据进行处理。
参见图4,是批处理作业的执行的流程图,具体介绍如下分行的批处理作业流程主要分为T1、T2、TN、TC时段,T1时段主要是处理代理、24小时切换成OFFLINE、清算等业务数据,T2时段主要是进行总分核对、过总帐、计算并输出当天的报表等处理,TN时段主要是进行数据清理以及数据库的DELETE/DEFINE(数据删除/数据定义),TC时段是进行24小时切换成ONLINE、次日工前准备工作(如自动转存、自动还款、预约代理等)以及24小时追帐等业务的数据处理。
每个分行都有一套单独的批处理作业系统,每个分行的批处理作业单独执行,例如流水的切换、清算数据的产生、过总帐、总分核对等数据处理都由各分行单独的批处理作业进行单独控制,避免了各分行之间的在数据处理上的联系。但对于营业日期的切换以及一部分可以集中处理的内容上,仍由统一的批处理作业进行操作,可以由各分行的批处理作业调用统一的批处理模块来完成。
在本步骤中,把各分行的数据分开进行处理,若数据处理上出现错误,便于查找相应分行的数据,及时进行错误处理,如果所有分行数据统一进行处理,若出现问题,则不易发现是哪个分行的问题。
各分行的批处理作业执行时,可以并行执行,也可以先后执行,不影响各自分行的数据处理。
步骤205,对正在执行的作业进行作业调度控制。
对于批处理作业的执行,可以充分利用批处理系统中提供的多作业并行处理的执行方式,提高执行的效率;并行处理方式的有效进行,依赖于对当前系统中正在执行的作业进行作业调度。
本发明作业调度主要采用无环路多层次树型结构逻辑控制技术、多管道路由技术、优先级队列作业调度算法等技术,综合使用前述技术可以使当前主机系统中作业数能更为合理、执行的速度更快。
无环路多层次树型结构逻辑控制技术是指批处理作业的执行顺序是一层一层来执行的,每一层都可以有很多作业,有起始层和结束层来控制批处理某个时段的完成。例如,对于分行批处理作业,在每个时段的处理中,都会带出并行执行的多个子作业,可以在每个时段处理上设置起始层和结束层,起始层可以看作是执行作业的树冠,当作业全部执行完后,进入结束层,结束层可以看做树根。
多管道路由技术满足了批处理运行的时候,同时对多个作业进行处理。例如可以采用10个管道的并行处理,同时运行10个作业,当某个管道中的作业执行完毕后,再根据批处理作业流控制表执行下一个作业。
优先级队列作业调度算法是指作业运行的时候有CLASS级别的划分,可以根据作业的优先等级来使得该作业运行在不同的CLASS级别上,从而获得不同的系统资源等。例如,多个作业可能会都需要使用主机的CPU和内存资源,可以在批处理作业流控制表中设定各个作业的优先级别,用于确定对资源的使用的优先级别,通过获得更多的CPU等资源,缩短高优先级别的作业执行的时间,从而继续后续的处理,使系统资源得到充分的利用。对于文件、输入输出设备等,都存在争用的问题。
在本实施例中,对作业执行的先后关系是通过CTL(作业控制流,由用户使用作业控制语言编写,用于对作业的执行进行控制)来实现的。一个需要执行的作业可能有前键作业和后继作业,前键作业是指在运行本作业之前已经正常结束的作业,本作业有可能需要前键作业的执行结果作为输入数据,同样,后继作业也必需在本作业正常结束后才能执行,三者之间有一定的依赖关系,在本系统中,为了更好的提高作业的执行效率,避免当前系统中由于并发作业过多而使每个作业的执行速度变慢,前键作业和后继作业的总数有一定的限制,例如可以限制为总数不能超过100个,也可以限制为其他的经验数值。
在本实施例中,对正在执行的作业进行作业调度控制具体可以采用下面的方法实现。
参见图5,是批处理作业调度流程图,包括首先进入批处理的菜单界面,在菜单界面中选择批处理选项,再选择执行日终的T1时段作业的选择项;系统执行日终的T1时段作业,完成后将相应的作业执行信息写入批处理管道文件中;根据批处理管道中该作业的执行信息来更新CTL(批处理作业控制流)的动态信息文件;如果该作业执行信息中的返回码大于4,则说明该作业执行错误,在批处理菜单中显示出错信息。此时需要通过调用异常处理来对该作业进行处理,可以采用重新递交作业或者跳过该作业等处理方式;如果该作业返回码小于等于4,则表明该作业已经正确完成,此时根据CTL(批处理作业控制流)的动态信息文件的内容来确定后继作业。若有后继作业,则通过批处理管道将后继作业调度到批处理执行队列;作业队列中批处理作业执行结束后,将相应的作业执行信息写入批处理管道文件中,继续对系统中其它的作业进行调度直至整个调度过程结束。
步骤206,对出错的作业进行出错处理。
出错处理可以和信息提示、风险控制联合起来工作。若有运行的作业出错,信息提示则会工作,在批处理界面中产生相应的错误信息,通过异常处理器技术进行相应的处理(包括重新运行、提过处理等)。风险控制机制可以设定作业流的一般属性,例如能否被跳过、能否重跑、是否为断点等,这些属性可以作为进行错误处理时的处理参数。
参见图6,是本发明的装置实施例框图,具体包括数据集中单元600,用于将分散存储的数据进行按分类集中存储;设置单元601,用于设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类的分类批处理作业;存储单元602,用于保存所述模板作业及所述参数集;生成单元603,用于根据所述模板作业和所述参数集生成不同分类的分类批处理作业;执行单元604,用于并行执行所述分类批处理作业。
通过设置单元601设置模板作业和参数集,所述模板作业和参数集保存在存储单元602中,生成单元603根据存储单元602中保存的模板作业和参数集生成分类数据的分类1批处理作业,执行单元604运行所述生成的分类批处理作业。
优选的,还包括,调度处理单元605,用于对所述分类批处理作业进行作业调度。
通过对系统中的作业进行调度处理,可以合理的分配系统资源、控制作业执行的先后次序以及提高系统并发的作业数量,从而可以提高作业的运行速度,减少数据处理的时间。
优选的,所述调度处理单元采用无环路多层次树型结构逻辑控制技术、多管道路由技术或者优先级队列调度算法。
优选的,还包括,出错处理单元606,用于对所述分类批处理作业的执行进行出错控制。
在多个作业并行处理的中,很可能会有作业执行出错,当检测到作业出错时,执行出错控制功能,在批处理系统中提示相应的出错信息,并同过相应的作业资料参数来由异常处理器技术来处理。
以上对本发明所提供的一种用于可分类数据批处理的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种用于可分类数据批处理的方法,包括将分散存储的数据进行按分类集中存储;设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类数据的分类批处理作业;根据所述模板作业和所述参数集生成不同分类数据的分类批处理作业;执行所述分类批处理作业。
2.根据权利要求1所述的方法,其特征在于,在所述方法后,还包括,对所述分类批处理作业进行作业调度。
3.根据权利要求2所述的方法,其特征在于,所述作业调度采用无环路多层次树型结构逻辑控制技术、多管道路由技术或者优先级队列调度算法。
4.根据权利要求1或2所述的方法,其特征在于,在所述方法后,还包括,对所述分类批处理作业的执行进行出错控制。
5.根据权利要求1所述的方法,其特征在于,所述可分类数据是银行系统各分行数据,所述分类批处理作业是银行系统各分行数据批处理作业。
6.根据权利要求5所述的方法,其特征在于,所述各分行数据批处理作业按照时段对所述分行数据进行处理。
7.一种用于可分类数据批处理的装置,包括,数据集中单元,用于将分散存储的数据进行按分类集中存储;设置单元,用于设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类的分类批处理作业;存储单元,用于保存所述模板作业及所述参数集;生成单元,用于根据所述模板作业和所述参数集生成不同分类的分类批处理作业;执行单元,用于执行所述分类批处理作业。
8.根据权利要求7所述的装置,其特征在于,还包括,调度处理单元,用于对所述分类批处理作业进行作业调度。
9.根据权利要求7所述的装置,其特征在于,所述调度处理单元采用无环路多层次树型结构逻辑控制技术、多管道路由技术或者优先级队列调度算法。
10.根据权利要求7所述的装置,其特征在于,还包括,出错处理单元,用于对所述分类批处理作业的执行进行出错控制。
全文摘要
本发明公开了一种用于可分类数据批处理的方法及装置,其中所述方法包括下列步骤将分散存储的数据进行按分类集中存储;设置模板作业及参数集,所述参数集用于保存不同分类数据的处理参数,所述模板作业用于生成不同分类数据的分类批处理作业;根据所述模板作业和所述参数集生成不同分类数据的分类批处理作业;执行所述分类批处理作业。本发明提高了数据处理的效率,数据处理实效性好,可以生成不同的批处理作业,适应不同部门的业务差异,更好的满足各部门数据处理的要求,本发明还保证了批处理作业执行的稳定性,保证处理结果的正确性,提高了系统中并行运行的作业数,合理的利用了系统资源,加快了批处理作业的运行速度。
文档编号G06F9/46GK101017546SQ20071007944
公开日2007年8月15日 申请日期2007年3月12日 优先权日2007年3月12日
发明者林志农, 戚桂凤, 徐浩, 朱洪梅, 洪延生, 吴奔, 孙玉华, 马婕, 顾凌, 顾蓓 申请人:中国建设银行股份有限公司