一种批处理程序的中断重入方法及系统与流程

文档序号:15445030发布日期:2018-09-14 23:15阅读:245来源:国知局
本发明涉及计算机应用程序的重入
技术领域
,尤其涉及一种批处理程序的中断重入方法及系统。
背景技术
:在核心银行主机的批量处理程序的运行中,由于数据异常、系统异常会造成批量处理程序运行的中断。而批量处理程序的时间窗口的每一分钟都是非常宝贵的,其关系到银行是否能及时营业等关键事件。因此需要在故障排除后,恢复批处程序的断点,对断点的后续数据进行数据重入。断点重入(或称中断重入)是指批处理程序在运行中突入中断,利用重入机制从该断点出重新恢复运行。现有技术中数据重入主要问题是对输出文件的重入。断点重入机制是根据记录的最近commit的数据表的主键来重入输入数据和输出数据。但是对于文件的断点重入,由于输出文件数目不固定,而且输入文件和输出文件均不带有主键值,无法记录输入文件的唯一性。如果要强行推行键值的方法,则需要重新对多个不同的输入文件进行结构改造,人为地加入唯一主键值。该技术方案提高了文件重入的复杂度,并且不具有通用性及处理效率低。其中,commit是指批处理程序往数据库中更新数据时,需要下达“commit”命令,数据才能真正在数据库中生效,主键值是能唯一确定一条输入文件记录的信息。因此,如何为文件提供通用性好及效率高的断点重入技术是亟待解决的技术问题。技术实现要素:为了解决现有技术中的缺陷,本发明提供了一种批处理程序的中断重入方法及系统,通过文件的记录恢复断点的文件重入,具有通用性好及效率高的技术效果。为了实现上述目的,本发明提供的批处理程序的中断重入方法,包括:在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号;将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。本发明还提供了一种批处理程序的中断重入方法,该方法包括:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,输出文件中的所有输出文件记录顺序编号,各输入文件并行进行批处理;将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。本发明还提供了一种批处理程序的中断重入系统,该系统包括:输入/输出文件记录获取单元,用于在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号;断点表更新单元,用于将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;中断重入单元,用于当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号;将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号;将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,输出文件中的所有输出文件记录顺序编号,各输入文件并行进行批处理;将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,输出文件中的所有输出文件记录顺序编号,各输入文件并行进行批处理;将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。本发明的有益效果在于:本发明在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。本发明通过提供的批处理程序的中断重入方法及系统,根据存储的输入文件记录及输出文件记录恢复断点的输入文件及输出文件的重入,具有通用性好及效率高的有益效果。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的一种批处理程序的中断重入方法流程图;图2是本发明一实施例中的批处理程序的中断重入方法流程图;图3是本发明一实施例中的批处理程序的中断重入方法流程图;图4是本发明一实施例中的输出文件p的结构示意图;图5是本发明一实施例中的更新后的输出文件p的结构示意图;图6是本发明一实施例中的输入文件a的结构示意图;图7是本发明一实施例中的输入文件记录a04处理成功后的输出文件p的结构示意图;图8是本发明一实施例中的部分输入文件记录与输出文件记录的对应关系图;图9是本发明一实施例中的更新断点表的流程图;图10是本发明一实施例中的输入文件及输出文件中断重入的流程图;图11是本发明提供的另一种批处理程序的中断重入方法流程图;图12是本发明提供的一种批处理程序的中断重入系统的结构框图;图13是本发明提供的一实施例中的断点表更新单元的结构框图;图14是本发明提供的一实施例中的中断重入单元的结构框图;图15是本发明提供的另一实施例中的断点表更新单元的结构框图;图16是本发明提供的另一实施例中的中断重入单元的结构框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。关于本文中所使用的“电性耦接”,可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,而“电性耦接”还可指两个或多个元件相互操作或动作。关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附加图式的方向。因此,使用的方向用语是用来说明并非用来限制本案。针对现有技术中存在的缺陷,本发明提供了一种批处理程序的中断重入方法,其流程图如图1所示,该方法包括:s101:在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号。s102:将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中。s103:当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。图1所示的批处理程序的中断重入方法的执行主体可以为银行后台服务器,由图1所示的流程可知,输入文件中的各条输入文件记录依次被执行,每条输入文件记录被执行后生成对应的至少一条输出文件记录,并将生成的输出文件记录通过追加的方式顺序存储到一输出文件中,存储成功后认为该条输入记录处理完成,然后处理输入文件中的下一条输入文件记录直到所有输入文件记录均被执行完毕。其中,该输出文件中的所有输出文件记录顺序编号,每次新存储的输出文件记录从输出文件中最后一条输出文件记录后开始顺序追加,并更新输出文件。并按照指定的周期,将最后处理成功的输入文件记录的序号,及该输入文件记录对应的最后一条输出文件记录的序号更新到断点表中。当批处理程序发生中断时,根据断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对输入文件及输出文件执行中断重入。本发明根据存储的输入文件记录及输出文件记录恢复断点的输入文件及输出文件的重入,具有通用性好及效率高的有益效果。例如输入文件为a,包括的各输入文件记录的序号为a01,a02,……,an,n为正整数。输出文件为p,存储的各输出文件记录的序号为p01,p02,……,pm,n为正整数。其中,每条输入文件记录被执行后生成的对应的输出文件记录的条数是不确定的,即a01的输入文件记录被执行后,生成的对应的输出文件记录为p01至p08;a02的输入文件记录被执行后,生成的对应的输出文件记录为p09至p10,a03的输入文件记录被执行后,生成的对应的输出文件记录为p11至p15,a04的输入文件记录被执行后,生成的对应的输出文件记录为p16至p21,a05的输入文件记录被执行后,生成的对应的输出文件记录为p22至p25,a06的输入文件记录被执行后,生成的对应的输出文件记录为p26至p35等,本发明不以此为限。在一个实施例中,如图2所示,s102将输入文件记录的序号及最后一条输出文件记录的序号周期性的更新到断点表中,包括如下步骤:s201:将输入文件记录的序号及最后一条输出文件记录的序号实时更新到横截面数据表中。s201具体实施时,将每一条输入文件记录处理成功后,获得的输入文件记录的序号及对应的输出文件中最后一条输出文件记录的序号,记为横截面数据。将实时记录横截面数据的数据表记为横截面数据表。表1为输入文件记录a01处理成功后的横截面数据表,如表1所示,输入文件记录a01处理成功后,对应的最后一条输出文件记录序号为p08,将输入文件的横截面数据a01及输出文件的横截面数据p08实时的更新到横截面数据表中。表2为输入文件记录a02处理成功后的横截面数据表,如表2所示,输入文件记录a02处理成功后,对应的最后一条输出文件记录序号为p10,将输入文件的横截面数据a02及输出文件的横截面数据p10实时的更新到横截面数据表中。以此类推,在当前输入文件记录处理成功后,将当前输入文件记录的序号及对应的最后一条输出文件记录的序号实时的更新到横截面数据表中。表1输入文件的横截面数据输出文件的横截面数据a01p08表2输入文件的横截面数据输出文件的横截面数据a02p10s202:将横截面数据表中的输入文件记录的序号及对应的最后一条输出文件记录的序号周期性的更新到断点表中。s202具体实施时,按照指定的周期,将横截面数据表中记载的输入文件记录的序号及对应的最后一条输出文件记录的序号更新到断点表中。其中,指定的周期可以为在对输入文件中每k条输入文件记录处理完成后,将最新获取的输入文件记录的序号及对应的最后一条输出文件记录的序号更新到断点表中。例如每成功处理输入文件a的k=3条输入文件记录后,就将横截面数据表中记载的输入文件记录的序号a03及对应的最后一条输出文件记录的序号p15更新到断点表中。断点表在第一次更新数据后的数据如表3所示,在输入文件a的输入文件记录a06处理成功后,将横截面数据表中记载的输入文件记录a06及输入文件记录a06对应的最后一条输出文件记录的序号更新到断点表中。依次类推,每成功处理输入文件a的3条输入文件记录后,更新一次断点表内的数据。其中k的具体选定通常为输入文件中输入文件记录的一公约数条数,考虑批处理的效率和性能,k的值可是上当选择输入文件记录的较大的公约数。表3输入文件记录的序号输出文件记录的序号a03p15设定在输入文件记录a05的处理时发生了批处理程序的中断,此时由于输入文件记录a05处理失败,因此横截面数据表中仅存储了a04处理成功时的横截面数据。同时输入文件记录a05的部分输出文件记录已经存储到了输出文件p中。由于k=3,因此当输入文件记录a06处理成功后,才更新断点表的数据,因此在输入文件记录a05处理失败时,断点表内的数据仍然如表3所示。在一个实施例中,如图3所示,步骤s103根据断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对输入文件及输出文件执行中断重入,包括:s301:根据所述最后一条输出文件记录的序号,删除所述输出文件中对应的输出文件记录之后的输出文件记录,得到更新后的输出文件。图4为输出文件p的结构示意图。s301具体实施时,如图4所示,设定当输入文件记录a05处理中批处理程序发生中断,此时从断点表中获取存储的输出文件记录的序号p15,并删除输出文件中的输出文件记录p16以及其后的所有输出文件记录(由于输入文件记录a04的已经生成了输出文件记录p16至p21及a05已经生成了部分输出文件记录),更新输出文件。图5为更新后的输出文件p的结构,如图5所示,更新后的输出文件p仅存储了输出文件记录p01至p15。s302:根据所述输入文件记录的序号,从所述输入文件中对应的输入文件记录的下一条输入文件记录开始处理,并将处理后生成的对应的输出文件记录追加到更新后的输出文件中。图6为输入文件a的结构示意图,图7为输入文件记录a04处理成功后的输出文件p的结构。具体实施时,如图6所示,设定当输入文件记录a05处理中批处理程序发生中断,执行输入文件的重入,此时从断点表中获取存储的输入文件记录的序号a03,从输入文件中的输入文件记录a03的下一条输入文件记录a04开始重新进行批处理,并将输入文件记录a04处理后生成的对应的输出文件记录追加到更新后的输出文件p中,输入文件记录a04处理后生成的对应的输出文件记录的序号从p16开始顺序编号,存储到更新后的输出文件p中,如图7所示。然后依次对输入文件的其余输入文件记录a05,a06,a07等进行处理,从而实现了输出文件的重入。在一个实施例中,输入文件为多个,各输入文件并行进行批处理;其中,以输入文件记录的条数最多的输入文件为主文件。具体实施时,设定输入文件为a、b、c,输出文件为p,批处理程序同时对输入文件a、b、c进行并行的处理。所谓并行处理是指输入文件a的输入文件记录a01处理成功后,生成的对应的输出文件记录为p01至p08;再处理输入文件b的输入文件记录b01,生成的对应的输出文件记录为p09至p10;输入文件记录b01处理成功后,处理输入文件c的输入文件记录c01,生成的对应的输出文件记录为p11至p13,然后依次执行输入文件记录a02、输入文件记录b02、输入文件记录c02、输入文件记录a03、输入文件记录b03、输入文件记录c03,以此类推对各输入文件进行并行处理。各输入文件间为并行处理的关系,但每条输入文件记录的处理过程为串行处理的关系,将每条输入文件记录生成的对应的输出文件记录追加生成到输出文件中。其中以输入文件记录的条数最多的输入文件为主文件,设定本申请中输入文件为a的输入文件记录的条数为9条,输入文件为b的输入文件记录的条数为20条,输入文件为a的输入文件记录的条数为8条,因此本申请中输入文件b为主文件,但处理输入文件的顺序可以按照输入文件的顺序a、b、c,也可以按照输入文件记录的条数由多到少顺序处理,本发明不以此为限。本发明按照输入文件a、b、c的顺序并行处理各输入文件。在一个实施例中,步骤s101获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号,包括;在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号。具体实施时,图8为部分输入文件记录与输出文件记录的对应关系图,如图8所示,输入文件的输入文件记录a01、b01、c01处理完成后,各输入文件记录对应的输出文件p中的最后一条输出文件记录的序号为p08、p10、p13。输入文件记录a02处理完成后,生成的输出记录从p14开始追加到输出文件p中,输入文件记录b02处理完成后,生成的输出记录从输入文件记录a02生成的对应的输出文件记录后开始追加到输出文件p中,输入文件记录c02处理完成后,生成的输出记录从输入文件记录b02生成的对应的输出文件记录后开始追加到输出文件p中,以此类推。在一个实施例中,如图9所示,步骤s102将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中,包括:s901:将各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号实时更新到横截面数据表中。具体实施时,将各输入文件的一条输入文件记录处理成功后,获得的各输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号,记为横截面数据。将实时记录横截面数据的数据表记为横截面数据表。表4为输入文件记录a01、b01、c01处理成功后的横截面数据表,如表4所示。表4s902:将所述横截面数据表中的各输入文件记录的序号及最后一条输出文件记录的序号周期性的更新到断点表中。具体实施时,设定由于输入文件b的输入文件记录的条数最多,因此输入文件b为主文件。以主文件设定的周期为更新断点表中数据的周期,将横截面数据表中的各输入文件记录的序号及最后一条输出文件记录的序号更新到断点表中。在一个实施例中,步骤s102将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中,包括:在对所述主文件的设定条数的输入文件记录处理完成后,将最新获取的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号更新到断点表中。具体实施时,以主文件b的周期为更新更新断点表的周期。其中主文件b的周期设定参考步骤s202的具体实施过程。设定主文件b的设定的周期为每5条输入文件记录处理完成后更新断点表中的数据。为了便于展示和计算,该实施例中取输入文件a的输入文件记录为a01-a09,共9条数输入文件记录,设定的周期为每3条输入文件记录处理完成后更新断点表中的数据。输入文件b的输入文件记录为b01-a20,共20条数输入文件记录,设定的周期为每5条输入文件记录处理完成后更新断点表中的数据。输入文件c的输入文件记录为c01-c08,共8条数输入文件记录,设定的周期为每4条输入文件记录处理完成后更新断点表中的数据。在并行处理输入文件a、b、c时,当输入文件记录a05、b05、c05处理完成后,将输入文件记录的序号a05、b05、c05,及输入文件记录a05、b05、c05处理完成后最后生成的输出文件中的最后一条输出文件记录pk更新到断点表中,如表5所示。表5当输入文件记录a08、b08、c08处理完成后,输入文件c处理完毕,但是不更新断点表,继续执行批处理程序,直到输入文件记录b10处理完成后,将输入文件记录的序号a09、b10、c08,及输入文件记录a09、b10、c08处理完成后最后生成的输出文件中的最后一条输出文件记录(设定b10对应的最后一条输出文件记录的序号为pj)更新到断点表中,如表6所示。表6由于输入文件a及c的输入文件记录已经处理完毕,直到输入文件记录b20处理完成后,每次仅将输入文件记录的序号及处理完成的所有输入文件记录对应的输入输出文件中的最后一条输出文件记录更新到断点表中,输入文件a及c的输入文件记录的序号不会再更新。在一个实施例中,如图10所示,步骤s103根据断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入,包括:s1001:根据所述最后一条输出文件记录的序号,删除所述输出文件中对应的输出文件记录之后的输出文件记录,得到更新后的输出文件。具体实施时,设定当输入文件记录b06处理中批处理程序发生中断,此时从断点表中获取存储的输出文件记录的序号pk,并删除输出文件中的输出文件记录p(k+1)以及其后的所有输出文件记录,更新输出文件。s1002:根据各输入文件的输入文件记录的序号,分别从各输入文件对应的输入文件记录的下一条输入文件记录开始处理,并将处理后生成的对应的输出文件记录追加到更新后的输出文件中。具体实施时,设定当输入文件记录b06处理中批处理程序发生中断,执行输入文件的重入,此时从断点表中获取存储的输入文件记录a05、b05、c05,从输入文件中a的输入文件记录a05的下一条输入文件记录a06开始重新进行批处理,并将输入文件记录a06处理后生成的对应的输出文件记录追加到更新后的输出文件p中,输入文件记录a06处理后生成的对应的输出文件记录的序号从p(k+1)开始顺序编号,存储到更新后的输出文件p中。然后依次处理输入文件b的输入文件记录b05的下一条输入文件记录b06,输入文件记录b06处理成功后,处理输入文件c的输入文件记录c05的下一条输入文件记录c06,对各输入文件并行执行批处理,从而实现了输出文件的重入。本发明还提供了一种批处理程序的中断重入方法,其流程图如图11所示,该方法包括:s1101:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,输出文件中的所有输出文件记录顺序编号,各输入文件并行进行批处理。s1102:将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;s1103:当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。图11所示的批处理程序的中断重入方法的执行主体可以为银行后台服务器。由图11所示的流程可知,在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号。将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中。当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。本发明根据存储的多个输入文件的输入文件记录,及所有处理完成的输入文件记录对应的输出文件记录恢复断点的各输入文件及输出文件的重入,具有通用性好及效率高的有益效果。本申请设定输入文件为a,b,c,输出文件为p,批处理程序同时对输入文件为a,b及c进行并行的处理。所谓并行处理是指输入文件a的输入文件记录a01处理成功后,生成的对应的输出文件记录为p01至p08;再处理输入文件b的输入文件记录b01,生成的对应的输出文件记录为p09至p10;输入文件记录b01处理成功后,处理输入文件c的输入文件记录c01,生成的对应的输出文件记录为p11至p13,然后依次执行输入文件记录a02、输入文件记录b02、输入文件记录c02、输入文件记录a03、输入文件记录b03、输入文件记录c03,以此类推对各输入文件进行并行处理。各输入文件间为并行处理的关系,但每条输入文件记录的处理为串行处理的关系,每条输入文件记录生成的对应的输出文件记录追加生成到输出文件中。图8为部分输入文件记录与输出文件记录的对应关系图,如图8所示,输入文件的输入文件记录a01、b01、c01处理完成后,各输入文件记录对应的输出文件p中的最后一条输出文件记录的序号为p08、p10、p13。输入文件记录a02处理完成后,生成的输出记录从p14开始追加到输出文件p中,输入文件记录b02处理完成后,生成的输出记录从输入文件记录a02生成的对应的输出文件记录后开始追加到输出文件p中,输入文件记录c02处理完成后,生成的输出记录从输入文件记录b02生成的对应的输出文件记录后开始追加到输出文件p中,以此类推,本发明不以此为限。在一个实施例中,如图9所示,步骤s1102将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中,包括:s901:将各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号实时更新到横截面数据表中。具体实施过程与前文中s901的实现过程相同,此处不再赘述。s902:将所述横截面数据表中的各输入文件记录的序号及最后一条输出文件记录的序号周期性的更新到断点表中。具体实施过程与前文中s902的实现过程相同,此处不再赘述。在一个实施例中,步骤s1102将输入文件记录的条数最多的输入文件定义为主文件;所述将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中,包括:在对所述主文件的设定条数的输入文件记录处理完成后,将最新获取的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号更新到断点表中。具体实施时,其中以输入文件记录条数最多的输入文件为主文件,设定本申请中输入文件b为主文件。以主文件b的周期为更新更新断点表的周期。其中主文件b的周期设定参考步骤s202的具体实施过程。设定主文件b的设定的周期为每5条输入文件记录处理完成后更新断点表中的数据。为了便于展示和计算,该实施例中取输入文件a的输入文件记录为a01-a09,共9条数输入文件记录,设定的周期为每3条输入文件记录处理完成后更新断点表中的数据。输入文件b的输入文件记录为b01-a20,共20条数输入文件记录,设定的周期为每5条输入文件记录处理完成后更新断点表中的数据。输入文件c的输入文件记录为c01-c08,共8条数输入文件记录,设定的周期为每4条输入文件记录处理完成后更新断点表中的数据。在并行处理输入文件a、b、c时,当输入文件记录a05、b05、c05处理完成后,将输入文件记录的序号a05、b05、c05,及输入文件记录a05、b05、c05处理完成后最后生成的输出文件中的最后一条输出文件记录pk更新到断点表中,如表5所示。当输入文件记录a08、b08、c08处理完成后,输入文件c处理完毕,但是不更新断点表,继续执行批处理程序,直到输入文件记录b10处理完成后,将输入文件记录的序号a09、b10、c08,及输入文件记录a09、b10、c08处理完成后最后生成的输出文件中的最后一条输出文件记录(设定b10对应的最后一条输出文件记录的序号为pj)更新到断点表中,如表6所示。由于输入文件a及c的输入文件记录已经处理完毕,直到输入文件记录b20处理完成后,每次仅将输入文件记录的序号及处理完成的所有输入文件记录对应的输入输出文件中的最后一条输出文件记录更新到断点表中,输入文件a及c的输入文件记录的序号不会再更新。在一个实施例中,如图10所示,步骤s1103根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入,包括:s1001:根据所述最后一条输出文件记录的序号,删除所述输出文件中对应的输出文件记录之后的输出文件记录,得到更新后的输出文件。具体实施过程与前文中s1001的实现过程相同,此处不再赘述。s1002:根据各输入文件的输入文件记录的序号,分别从各输入文件对应的输入文件记录的下一条输入文件记录开始处理,并将处理后生成的对应的输出文件记录追加到更新后的输出文件中。具体实施过程与前文中s1002的实现过程相同,此处不再赘述。基于与上述批处理程序的中断重入方法相同的申请构思,本发明还提供了一种批处理程序的中断重入系统,如下面实施例所述。由于该批处理程序的中断重入系统解决问题的原理与批处理程序的中断重入方法相似,因此该批处理程序的中断重入系统的实施可以参见批处理程序的中断重入方法的实施,重复之处不再赘述。图12为本申请实施例的批处理程序的中断重入系统的结构示意图,如图12所示,该批处理程序的中断重入系统包括:输入/输出文件记录获取单元1201、断点表更新单元1202及中断重入单元1203。输入/输出文件记录获取单元1201,用于在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号。断点表更新单元1202,用于将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中。中断重入单元1203,用于当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。在一个实施例中,如图13所示,断点表更新单元1202包括:第一横截面数据表更新模块1301及第一断点表更新模块1302。第一横截面数据表更新模块1301,用于将所述输入文件记录的序号及所述最后一条输出文件记录的序号实时更新到横截面数据表中;第一断点表更新模块1302,用于将所述横截面数据表中的输入文件记录的序号及对应的最后一条输出文件记录的序号周期性的更新到断点表中。在一个实施例中,断点表更新单元1202具体用于:在对所述输入文件的设定条数的输入文件记录处理完成后,将最新获取的输入文件记录的序号及对应的最后一条输出文件记录的序号更新到断点表中。在一个实施例中,如图14所示,中断重入单元1203包括:第一输出文件更新模块1401及第一输入文件记录处理模块1402。第一输出文件更新模块1401,用于根据所述最后一条输出文件记录的序号,删除所述输出文件中对应的输出文件记录之后的输出文件记录,得到更新后的输出文件;第一输入文件记录处理模块1402,用于根据所述输入文件记录的序号,从所述输入文件中对应的输入文件记录的下一条输入文件记录开始处理,并将处理后生成的对应的输出文件记录追加到更新后的输出文件中。在一个实施例中,输入/输出文件记录获取单元1201具体用于:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所述输入文件为多个,各输入文件并行进行批处理,以输入文件记录的条数最多的输入文件为主文件。在一个实施例中,如图15所示,断点表更新单元1202包括:第二横截面数据表更新模块1501及第二断点表更新模块1502。第二横截面数据表更新模块1501,用于将各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号实时更新到横截面数据表中;第二断点表更新模块1502,用于将所述横截面数据表中的各输入文件记录的序号及最后一条输出文件记录的序号周期性的更新到断点表中。在一个实施例中,断点表更新单元1202具体用于:在对所述主文件的设定条数的输入文件记录处理完成后,将最新获取的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号更新到断点表中。在一个实施例中,如图16所示,中断重入单元1203包括:第二输出文件更新模块1601及第二输入文件记录处理模块1602。第二输出文件更新模块1601,用于根据所述最后一条输出文件记录的序号,删除所述输出文件中对应的输出文件记录之后的输出文件记录,得到更新后的输出文件;第二输入文件记录处理模块1602,用于根据各输入文件的输入文件记录的序号,分别从各输入文件对应的输入文件记录的下一条输入文件记录开始处理,并将处理后生成的对应的输出文件记录追加到更新后的输出文件中。基于与上述批处理程序的中断重入方法相同的申请构思,本申请提供一种计算机设备,如下面实施例所述。由于该计算机设备解决问题的原理与批处理程序的中断重入方法相似,因此该计算机设备的实施可以参见批处理程序的中断重入方法的实施,重复之处不再赘述。在一个实施例中,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,如图1所示,所述处理器执行所述计算机程序时实现以下步骤:s101:在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号。s102:将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中。s103:当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。基于与上述批处理程序的中断重入方法相同的申请构思,本申请提供一种计算机可读存储介质,如下面实施例所述。由于该计算机可读存储介质解决问题的原理与批处理程序的中断重入方法相似,因此该计算机可读存储介质的实施可以参见批处理程序的中断重入方法的实施,重复之处不再赘述。在一个实施例中,计算机可读存储介质上存储有计算机程序,如图1所示,该计算机程序被处理器执行时实现以下步骤:s101:在对输入文件中的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,所有输出文件记录存储在输出文件中并顺序编号。s102:将所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中。s103:当批处理程序发生中断时,根据所述断点表中记录的输入文件记录的序号及对应的最后一条输出文件记录的序号对所述输入文件及所述输出文件执行中断重入。基于与上述另一种批处理程序的中断重入方法相同的申请构思,本申请还提供一种计算机设备,如下面实施例所述。由于该计算机设备解决问题的原理与另一种批处理程序的中断重入方法相似,因此该计算机设备的实施可以参见另一种批处理程序的中断重入方法的实施,重复之处不再赘述。在一个实施例中,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,如图11所示,所述处理器执行所述计算机程序时实现以下步骤:s1101:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,输出文件中的所有输出文件记录顺序编号,各输入文件并行进行批处理。s1102:将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;s1103:当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。基于与上述另一种批处理程序的中断重入方法相同的申请构思,本申请还提供一种计算机可读存储介质,如下面实施例所述。由于该计算机可读存储介质解决问题的原理与另一种批处理程序的中断重入方法相似,因此该计算机可读存储介质的实施可以参见另一种批处理程序的中断重入方法的实施,重复之处不再赘述。在一个实施例中,计算机可读存储介质上存储有计算机程序,如图11所示,该计算机程序被处理器执行时实现以下步骤:s1101:在对各输入文件的输入文件记录进行批处理过程中,每条输入文件记录处理完成后,获取处理完成的各输入文件对应的输入文件记录的序号及处理完成的所有输入文件记录得到的最后一条输出文件记录的序号;其中,输出文件中的所有输出文件记录顺序编号,各输入文件并行进行批处理。s1102:将各所述输入文件记录的序号及所述最后一条输出文件记录的序号周期性的更新到断点表中;s1103:当批处理程序发生中断时,根据所述断点表中记录的各输入文件的输入文件记录的序号及最后一条输出文件记录的序号分别对所述各输入文件及所述输出文件执行中断重入。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1