一种用于文件装载的方法和装置的制作方法

文档序号:6422876阅读:181来源:国知局
专利名称:一种用于文件装载的方法和装置的制作方法
技术领域
本发明涉及文件装载的并发处理和断点续装,并且尤其涉及用于文件装载的方法和装置。
背景技术
在金融或电信等系统中,将应用参数录入到系统,即文件装载,是保持业务正确运行的前提,尤其地,在联机系统中快速装入参数是及时准确响应服务的必要前提。现有技术中,常见的参数录入方式有人工逐参数录入或者通过数据库工具导入与数据库所要求的格式匹配的参数文件。现有技术中的这些方式有如下缺点耗时、对参数录入以及参数文件格式要求较高、出错几率大,以及出错后的修复十分麻烦。因此,需要一种能够实现文件的快速装载、对文件格式要求较低、出错几率小以及修复简单的方法和装置。

发明内容
为解决现有技术的上述问题和其它问题,本发明的一个目的在于提供一种文件装载方法,包括以下步骤,根据文件中的记录数,将文件分成一个或多个段,利用两个或者更多个工作单元并发处理一个或多个段,其中,两个或者更多个工作单元的每一个每次在处理完对应的段中的预定数量的记录后就更新各自的工作状态,工作状态用于为异常处理提供信息。优选地,将对应于一个或多个段的段信息分配给两个或者更多个工作单元,每个工作单元根据被分配到的段信息处理相应的段。优选地,段信息包括用于指示相应的段的开始记录和结束记录的指针。优选地,工作状态包括对预定数量的记录的处理结果。优选地,工作状态进一步包括发生异常的记录的指针。优选地,当工作状态指示处理结果为异常,从发生异常的记录的指针处开始恢复 处理。优选地,采用轮询模式监控工作状态。优选地,上述方法进一步包括向外部系统发送关于工作状态的信息,并将来自外部系统的响应信息更新到工作状态中。优选地,工作状态被存储在文件中,以及两个或者更多个工作单元共同维护一个工作状态文件或者两个或者更多个工作单元分别维护各自的工作状态文件。优选地,文件是参数文件,记录是参数,处理是将参数文件中的参数录入到系统的数据库中。优选地,处理通过将参数直接装载到正式参数表来完成录入。根据本发明的另一个目的,提供了一种文件装载装置,包括
预处理模块,用于根据文件中的记录数,将文件分成一个或多个段,工作单元模块,包括两个或者更多个工作单元,用于并发处理一个或多个段,异常处理模块,用于进行异常处理,其中,两个或者更多个工作单元的每一个每次在处理完对应的段中的预定数量的记录后就更新各自的工作状态,工作状态用于为异常处理模块提供信息。优选地,预处理模块将对应于一个或多个段的段信息分配给两个或者更多个工作单元,每个工作单元根据被分配到的段信息处理相应的段。优选地,段信息包括用于指示相应的段的开始记录和结束记录的指针,工作状态包括对预定数量的记录的处理结果和发生异常情况的记录的指针,
异常处理模块被配置成监控工作单元的工作状态,当工作状态指示处理结果为异常时,从发生异常的记录开始恢复处理。优选地,该装置进一步包括文件反馈处理模块,用于向外部系统发送关于工作状态的信息,并将来自外部系统的响应信息更新到工作状态中。优选地,该装置进一步包括文件控制模块,用于文件的预处理和工作单元的处理装载进行监控。本文提出了一种支持并发和断点续装的参数文件装载方法和装置。这种方法针对到文件读写的效率比较低,不能满足大记录数下短时间内解析并实时装载的需求,提出了并发装载,如采用的多线程或者多线程并发的方式。对待装载文件首先根据文件大小决定文件并发的数目,对每一个工作单元(相应的线程或者进程)分配不同的文件段,不同线程在各自的段内独立工作互不影响,这种并发装载的设计有效地克服了文件串行处理以及I/0上的低效率的缺陷。现有技术中的文件装载通常先将参数慢慢装入临时表,处理好后再统一导入正式表。本发明针对大记录数文件装载时间长,并且在期间发生磁盘、数据库、网络、主机掉电等异常时恢复起来麻烦的缺陷,本发明的方法将参数直接装载到正式参数表,提高参数的时效性,并实时记录每个工作单元已处理工作点的方式。因此即使发生了异常也能够从断点处迅速恢复,不会出现大面积重做或者正式表记录已经有前面处理的冗余数据问题。本发明的技术方案在应用金融信息等系统的参数文件装载中能够缩短业务数据生效时间、提高服务质量和异常恢复能力。


在参照附图阅读了本发明的具体实施方式
以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合具体实施方式
说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。其中,图I是根据本发明实施例的文件装载装置的结构示意图。
具体实施例方式下面参照附图,对本发明的具体实施方式
作进一步的详细描述。如图I所示,文件装载装置可以包括预处理模块、工作单元模块、异常处理模块、控制模块和文件反馈处理模块。
预处理模块模块是文件装载的入口,负责接收来自外部系统的调用指令,并将调用指令进行解析和预处理。其根据调用指令装载文件或参数文件的记录,并且根据文件中的记录数,将文件分成一个或多个段。在一个实施例中,预处理模块可以将对应于一个或多个段的段信息分配给两个或者更多个工作单元,每个工作单元根据被分配到的段信息处理相应的段。在一个实施例中,段信息可以包括待处理文件的记录的指针,指示相应的段的开始记录和结束记录。也就是说,段信息可以包含待处理参数文件的指针,指示段的始末位置。进一步,可以控制单个文件的分段数量。当可被并发处理的段的数量达到预定上限时,则等待至前面被派发出去的段由工作单元处理完成,即直到有工作单元闲置的时候再继续分配段。后文将详细描述工作单元的处理。这里,预处理模块将单个文件拆分成一个或多个段并让多个工作单元并发处理的优点在于,一方面,分段并发处理可以充分利用当前主机系统的并发特性,大幅度地提升装载文件的速度;另一方面,如本文后面将详细描述的,分段并发处理能够降低异常处理的颗 粒度。当某个段异常时,只需重做该段,从而提升装载文件的效率。本领域的技术人员可以理解的本发明不限于将参数文件内数据提取到参数数据库,还可以被应用于任何文件的装载或者对于文件的任何处理。工作单元模块包括两个或者更多个工作单元,用于并发处理所述一个或多个段以完成每个文件段的装置任务。在一个实施例中,两个或者更多个工作单元的每一个每次在处理完对应的段中的预定数量的记录后就更新工作状态,工作状态可以被用于为后文将描述的异常处理模块提供信息。例如,工作单元每解析装载段内的预定数量的数据则提交数据库并更新记录工作单元的工作状态。这里,工作状态可以被存储在文件中,工作单元可以共同维护一个工作状态文件或者分别维护各自的工作状态文件。作为文件记录的工作状态可以被用于实现参数文件的断点续传。举例来说,段内具有1000条记录,而“预定数量”可以被设定为10条,SP工作单元处理好10条后更新工作状态。如此,更新越频繁后续出现异常时断点续装中重复处理记录的数量越少。在一个实施例中,工作状态进可以包括发生异常情况的记录的指针来指示恢复操作的起点。在一个实施例中,工作状态可以包括对所述预定数量的记录的处理结果,该处理结果可以包括正常情况和异常情况。异常处理模块,用于进行异常处理,对工作状态为异常的段进行异常排查,待异常处理完毕,将工作状态更新为正常。在一个实施例中,当工作状态指示处理结果为异常时,异常处理模块从发生异常情况的记录开始恢复处理。例如,工作单元异常终止或者主机断电等应用重启后,均从工作单元状态的文件记录的断点处,即发生异常的记录处开始恢复。如此能够缩减重复处理概率和异常恢复所需要时间,例如,当10000条记录已经处理了 9990条记录时,则该重启后根据上次保留的工作状态,需要重做的记录数目是10条,而无需从头文件开始处重新处理。在一个实施例中,异常处理模块可以采用轮询模式监控工作状态。可选地,文件装载装置可以包括控制模块,用于对文件装载请求的处理状态以及各个工作单元的处理进行监控。当发现文件分段调度完成并且所有被调度工作单元已完成时,控制模块启动下一步文件处理。本领域的技术人员可以理解的还可以利用其它已知的各种技术来实现对反馈文件生成流程的监控和/或触发响应。可选地,文件装载装置可以包括文件反馈处理模块,用于向外部系统发送关于工作状态的信息,并将来自外部系统的响应信息更新到工作状态中。反馈处理模块可以作为反馈文件生成过程中的对外“出口”。本领域的技术人员可以理解的还可以利用其它已知的各种技术来实现文件反馈的功能。本发明的上述的模块都可以设计成多进程并发模式,通过将单一参数文件任务拆分成多段的装载任务、任务并发执行、可单任务重做,配合各个任务在任务状态可实现异常时从断点处重装,即可实现高效、高可用的文件装载。本发明的支持并发和断点续装的文件装载方法和装置,充分利用了系统资源、进程间通信以及数据库资源,提高了文件装载的效率和异常恢复能力,尤其在大记录数(如十万到千万级的记录)时,实时将参数文件装载直接装载到正式表的性能与异常恢复方面 具有很高的价值。正常情况下所用时间近似为非并发下的“并发数分之一”,而无断点续装机制的情形下,异常恢复并完成装载的时间大于正常装载时间,有断点续装机制的情形下异常恢复并完成装载的时间约为正常装载时间减异常前已处理时间。通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式
作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
权利要求
1.一种文件装载方法,其特征在于, 根据文件中的记录数,将文件分成一个或多个段, 利用两个或者更多个工作单元并发处理所述一个或多个段, 其中,所述两个或者更多个工作单元的每一个每次在处理完对应的段中的预定数量的记录后就更新各自的工作状态,所述工作状态用于为异常处理提供信息。
2.如权利要求I所述的方法,其特征在于,将对应于所述一个或多个段的段信息分配给所述两个或者更多个工作单元,每个工作单元根据被分配到的段信息处理相应的段。
3.如权利要求2所述的方法,其特征在于,所述段信息包括用于指示所述相应的段的开始记录和结束记录的指针。
4.如权利要求I所述的方法,其特征在于,所述工作状态包括对所述预定数量的记录的处理结果。
5.如权利要求4所述的方法,其特征在于,所述工作状态进一步包括发生异常的记录的指针。
6.如权利要求5所述的方法,其特征在于,当工作状态指示处理结果为异常,从发生异常的记录的指针处开始恢复处理。
7.如权利要求6所述的方法,其特征在于,采用轮询模式监控工作状态。
8.如权利要求I所述的方法,其特征在于,进一步包括向外部系统发送关于工作状态的信息,并将来自外部系统的响应信息更新到工作状态中。
9.如权利要求I所述的方法,其特征在于,所述工作状态被存储在文件中,以及所述两个或者更多个工作单元共同维护一个工作状态文件或者所述两个或者更多个工作单元分别维护各自的工作状态文件。
10.如权利要求I所述的方法,其特征在于,所述文件是参数文件,所述记录是参数,所述处理是将所述参数文件中的参数录入到系统的数据库中。
11.如权利要求10所述的方法,其特征在于,所述处理通过将所述参数直接装载到正式参数表来完成录入。
12.—种文件装载装置,其特征在于,包括, 预处理模块,用于根据文件中的记录数,将文件分成一个或多个段, 工作单元模块,包括两个或者更多个工作单元,用于并发处理所述一个或多个段, 异常处理模块,用于进行异常处理, 其中,所述两个或者更多个工作单元的每一个每次在处理完对应的段中的预定数量的记录后就更新各自的工作状态,所述工作状态用于为异常处理模块提供信息。
13.如权利要求12所述的装置,其特征在于,所述预处理模块将对应于所述一个或多个段的段信息分配给所述两个或者更多个工作单元,每个工作单元根据被分配到的段信息处理相应的段。
14.如权利要求13所述的装置,其特征在于,所述段信息包括用于指示所述相应的段的开始记录和结束记录的指针,所述工作状态包括对所述预定数量的记录的处理结果和发生异常情况的记录的指针, 所述异常处理模块被配置成监控工作单元的工作状态,当工作状态指示处理结果为异常时,从发生异常的记录开始恢复处理。
15.如权利要求12所述的装置,其特征在于,进一步包括文件反馈处理模块,用于向外部系统发送关于工作状态的信息,并将来自外部系统的响应信息更新到工作状态中。
16.如权利要求12所述的装置,其特征在于,进一步包括文件控制模块,用于对文件的预处理和工作单元的处理装载进行监控。
全文摘要
本发明提供一种文件装载方法,根据文件中的记录数,将文件分成一个或多个段,利用两个或者更多个工作单元并发处理所述一个或多个段,其中,所述两个或者更多个工作单元的每一个每次在处理完对应的段中的预定数量的记录后就更新工作状态,所述工作状态用于为异常处理提供信息。
文档编号G06F9/445GK102750159SQ201110101178
公开日2012年10月24日 申请日期2011年4月21日 优先权日2011年4月21日
发明者华锦芝, 杨燕明, 茅毓铭, 陈林, 鲁志军 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1