一种交易文件勾对系统和方法

文档序号:8430774阅读:172来源:国知局
一种交易文件勾对系统和方法
【技术领域】
[0001]本发明涉及交易文件勾对系统和方法。
【背景技术】
[0002]目前,金融、电信、互联网等行业都会按笔核对已发生的交易明细(例如,包括交易金额、手续费、用户名、帐号、交易发生时间等),此类过程统称为交易勾对。交易勾对用于验证不同系统间对交易接收以及处理的一致性,从而提升数据处理结果的可靠性。
[0003]随着各行业的发展,业务量激增,每日发生的交易数量已经达到千万甚至亿级别,系统在进行自动化交易勾兑时,生产耗时越来越长。目前对两个交易文件(例如,文件A和文件B)的明细勾对的方案包括以下几种:
一、对A和B两个文件中的交易记录(流水记录)分别排序,然后顺序读取进行记录比对。
[0004]这种方案的缺点如下:
O文件排序比较耗时;
2)数据量极大的文件(比如100G)无法加载入内存,还需要考虑外部排序;
3)排序过程中需要较高的内存空间;
4)单进程耗时较大;
二、遍历一个文件,并对每一条交易记录在另一个文件中进行查找。
[0005]这种方案的缺点如下:
O虽然不需要进行排序,但是每一笔交易都要在大数据量中进行查找,耗时严重;
2)数据量极大的文件无法直接加载入内存,查找比较复杂;
3)如果要勾对两个文件的全量不一致数据,不仅要做A文件交易在B文件查找,还需要再做B文件记录在A文件查找,仍然耗时;
4)单进程耗时较大
三、文件A和文件B都被装载到数据库表中,然后用数据库表记录关联进行勾对。
[0006]这种方案的缺点如下:
O需要做文件装载,数据量大时耗时较多;
2)需要使用数据库,不易复用和迁移;
3)耗费存储空间;

【发明内容】

为克服一个或多个缺点,本发明提供交易文件勾对系统和方法。
[0007]根据本发明的一个方面,所述交易文件包括源文件和目标文件,该系统包括文件分割装置和文件勾对装置,其中,所述文件分割装置用于对源文件和目标文件分别进行分害I],得到由N个源子文件组成的源文件分割集合和由N个目标子文件组成的目标文件分割集合,N为大于I的自然数,所述文件勾对装置用于勾对相对应的第一源子文件和第一目标子文件,其中将该第一源子文件和第一目标子文件中的交易记录映射到预先配置的存储空间来进行比对。
[0008]根据本发明的一个方面,所述交易文件包括源文件和目标文件,该方法包括:对源文件和目标文件分别进行分割,得到由N个源子文件组成的源文件分割集合和由N个目标子文件组成的目标文件分割集合,N为大于I的自然数,勾对相对应的第一源子文件和第一目标子文件,其中将该第一源子文件和第一目标子文件中的交易记录映射到预先配置的存储空间来进行比对。
[0009]本发明的一些优势包括以下至少一个:
本提案对不同系统或模块生成的不同大数据量明细流水文件使用哈希手段拆分为多个子文件,再多进程并发处理同一哈希结果的子文件交易勾对。勾对过程中不使用数据库,并且无需排序,仅遍历文件交易记录一次。
[0010]使用本系统,与传统系统对比,有以下优势:轻量级的结构,易于复用;无需使用数据库,易于迁移;内存使用较少;勾对过程无需排序,系统处理性能得到高。
【附图说明】
[0011]在参照附图阅读了本发明的【具体实施方式】以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合【具体实施方式】说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。
[0012]图1是根据本发明的一个方面的交易文件勾对系统的示意图。
[0013]图2是根据本发明的一个示例的交易文件勾对操作示意图。
[0014]图3是根据本发明的一个方面的交易文件勾对方法的示意图。
【具体实施方式】
[0015]下面参照附图,对本发明的【具体实施方式】作进一步的详细描述。在下面的描述中,为了解释的目的,陈述许多具体细节以便提供对实施例的一个或多个方面的透彻理解。然而,对于本领域技术人员可以显而易见的是,可以这些具体细节的较少程度来实践各实施例的一个或多个方面。因此下面的描述不被视为局限性的,而是通过所附权利要求来限定保护范围。
[0016]图1是根据本发明的一个方面的交易文件勾对系统的示意图。如图1所示,交易文件勾对系统可以包括文件分割装置和文件勾对装置。文件分割装置用于对源文件和目标文件分别进行分割,得到由N个源子文件组成的源文件分割集合和由N个目标子文件组成的目标文件分割集合,N为大于I的自然数。文件勾对装置用于勾对相对应的第一源子文件和第一目标子文件,其中将该第一源子文件和第一目标子文件中的交易记录映射到预先配置的存储空间来进行比对。
[0017]图2是根据本发明的一个示例的交易文件勾对操作示意图。在该示例中,文件分割装置分别对源文件和目标文件进行分割,其中将源文件分割为N个源子文件,将目标文件分割为N个目标子文件,形成源子文件集合和目标子文件集合。另一方面,针对源子文件集合和目标子文件集合,文件勾对装置例如将源子文件I和目标子文件I进行勾对比较,将源子文件2和目标子文件2进行勾对比较,将源子文件N和目标子文件N进行勾对比较。如上所述,被进行勾对的两个子文件中的交易记录可以被映射到预先配置的存储空间来进行比对,最后根据比对结果产生反馈文件。
[0018]在一个示例中,文件分割装置根据交易记录流水号对源文件和目标文件分别进行分割,其中源文件和目标文件中的相同的交易记录流水号被分别映射到对应的源子文件和目标子文件。
[0019]例如,一个源文件可以包括交易记录如下:
流水号交易时间交易金额
010123 20130515 780
029140 20130515 1290
005910 20130515 90
781311 20130515 400190
035910 20130515 5000
000911 20130515 120
117000 20130515 2980
200100 20130515 12000
600143 20130515 200
002409 20130515 10
011901 20130515 3800
430007 20130515 9100
经过文件分割后,可以生成如下源文件分割集合:
文件F_01
029140 20130515 1290 000911 20130515 120 200100 20130515 12000 002409 20130515 10 文件F_02
010123 20130515 780 035910 20130515 5000 600143 20130515 200 011901 20130515 3800 文件F_03
005910 20130515 90 781311 20130515 400190 117000 20130515 2980 430007 20130515 9100
对于目标文件也使用相同的过程。可以理解的是,源文件和目标文件中的相同的交易记录流水号被分别映射到对应的源子文件和目标子文件,然而在分割之后,源子文件可能包括没有与目标子文件中的交易记录流水号相同的交易记录。
[0020]在一个示例中,文件分割装置使用HASH算法将源文件和目标文件中的交易记录分别映射到相应的源子文件和目标子文件。这里,HASH算法可以以交易记录流水号作为映射源,以子文件作为映射结果。
[0021]在一个示例中,预先配置的存储空间的存储空间元素为交易记录,文件勾对装置被配置成:将具有相同交易记录流水号的第一源子文件的第一交易记录和第一目标子文件的第一交易记录映射到存储空间的相同的位置来进行比对。这里,文件勾对装置也可以使用HASH算法将具有相同交易记录流水号的第一源子文件的第一交易记录和第一目标子文件的第一交易记录映射到存储空间的相同的位置。
[0022]在另一个示例中,文件勾对装置被配置成:
读取第一源子文件中的交易记录,根据交易记录流水号将交易记录映射到存储空间的相应的位置,在该位置存储交易记录,
读取第一目标子文件中的交易记录,根据交易记录流水号将交易记录映射到存储空间的相应的位置,将交易记录的值取反后累加到该相应的位置。
[0023]如上所述,具有相同交易记录流水号的第一源子文件的第一交易记录和第一目标子文件的第一交易记录将具有相同的位置,因此将该相同位置的源子文件中的交易记录的值和目标子文件中的交易记录的值相加后,将得到的结果存储在该相同位置,作为该相同位置所指示的交易记录流水号的勾对结果。
[0024]根据本发明的一些方面的交易文件勾对系统还可以包括反馈装置,反馈装置判断文件勾对装置完成勾对后的存储空间的存储空间元素的值是否为0,其中将存储空间元素的值不为O的交易记录写入反馈文件,作为勾对不成功的交易记录。例如,源子文件中的交易记录交易金额的值为100,目标子文件中的交易记录的交易金额的值为120,则根据上述的示例,特定存储位置存储的初始值为100,将目标子文件中的交易记录的交易金额的值120取反后为-120,最后该特定存储位置的值为-20,其表示交易勾对失败。
[0025]为增加勾对效率,文件勾对装置可以使用M个进程分别处理N个源子文件和N个目标子文件中的相对应的源子文件和目标子文件的勾对,M为大于I的自然数。在一个示例中,M可以等于N。
[0026]上述的存储空间可以例如是内存,优选的为存储空间是内存中的数组
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1