一种基于索引进行文件比对的方法和装置制造方法

文档序号:6499732阅读:209来源:国知局
一种基于索引进行文件比对的方法和装置制造方法
【专利摘要】本发明公开一种基于索引进行文件比对的方法和装置,该文件由多个记录组成。该方法包括以下步骤:获取第一文件和第二文件中的记录的主键,根据获取的主键,为所述第一文件和第二文件中的记录建立索引,按照索引,匹配所述第一文件和第二文件中的记录的主键,将主键匹配的记录进行比对,并且将比对结果写入结果文件。
【专利说明】—种基于索引进行文件比对的方法和装置
【技术领域】
[0001]本发明涉及文件比对,并且尤其涉及基于索引进行文件比对的方法和装置。
【背景技术】
[0002]目前,在进行文件比对通常会读取整个文件,将整个文件装入内存逐个记录或逐行进行比较,需要对双边文件进行两次遍历,耗时较长,占用系统资源较大,效率较低。而且,现有技术中的文件比对方法不能对文件中的记录进行排序,在处理记录乱序文件的时候无法有效找出异同记录,对于两个记录相同,但是记录顺序不同的文件无法进行有效比较,甚至出现错误的比对结果。

【发明内容】

[0003]根据本发明的一个目的,公开一种基于索引进行文件比对的方法,该文件由多个记录组成,该方法包括以下步骤:
获取第一文件和第二文件中的记录的主键,
根据获取的主键,为所述第一文件和第二文件中的记录建立索引,
按照索引,匹配所述第一文件和第二文件中的记录的主键,
将主键匹配的记录进行比对,并且将比对结果写入结果文件。
[0004]优选地,将主键不匹配的索引信息写入结果文件。
[0005]优选地,根据预置的主键解析规则从第一文件和第二文件中的记录获取主键。
[0006]优选地,所述索引还包括与获取的主键对应的记录在文件中的行号。
[0007]优选地,根据匹配的主键获取记录的行号,根据行号定位文件中的该记录。
[0008]根据本发明的另一个目的,公开一种基于索引进行文件比对的装置,该文件由多个记录组成,该装置包括:
文件比对器和索引生成器,其中,
索引生成器被配置成:
获取第一文件和第二文件中的记录的主键,
根据获取的主键,为所述第一文件和第二文件中的记录建立索引,
文件比对器被配置成:
按照索引,匹配所述第一文件和第二文件中的记录的主键,
将主键匹配的记录进行比对,并且将比对结果写入结果文件。
[0009]优选地,索引生成器进一步被配置成:
将主键不匹配的索引信息写入结果文件。
[0010]优选地,索引生成器进一步被配置成:
根据预置的主键解析规则从第一文件和第二文件中的记录获取主键。
[0011]优选地,所述索引还包括与获取的主键对应的记录在文件中的行号。
[0012]优选地,文件比对器进一步被配置成: 根据匹配的主键获取记录的行号,根据行号定位文件中的该记录。
[0013]本发明通过对文件进行预处理,建立索引,然后再按照索引比对文件。本发明的一个优势在于可以在文件比对之前对文件中的记录进行排序,实现对于记录乱序的文件的比对。本发明的另一个优势在于是能够对文件进行预处理,找出单边不存在(双方不匹配)的记录不对其进行比对,节约了系统资源也节约了重复比对的时间成本。本发明的另一个优势在于按照索引进行排序避免按照行内容进行排序,节省了内存空间,缩短了排序时间,提高了比对效率。
【专利附图】

【附图说明】
[0014]在参照附图阅读了本发明的【具体实施方式】以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合【具体实施方式】说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。其中,
图1是根据本发明实施例的基于索引进行文件比对的方法的示意图。
[0015]图2是根据本发明实施例的索引生成示例。
[0016]图3是根据本发明实施例的基于索引进行文件比对的方法的步骤示意图。
【具体实施方式】
[0017]下面参照附图,对本发明的【具体实施方式】作进一步的详细描述。在下面的描述中,为了解释的目的,陈述许多具体细节以便提供对实施例的一个或多个方面的透彻理解。然而,对于本领域技术人员可以显而易见的是,可以这些具体细节的较少程度来实践各实施例的一个或多个方面。因此下面的描述不被视为局限性的,而是通过所附权利要求来限定保护范围。
[0018]图1是根据本发明实施例的基于索引进行文件比对的方法的示意图。如图1所示,基于索引进行文件比对总体上可以分为两个步骤,即文件比对和索引生成。在索引生成的步骤中,首先分别从文件I和文件2获取主键,这里的主键对应于文件I和文件2中的记录。可以分别对文件I的主键和文件2的主键排序,然后生成索引。
[0019]如图2所示,图2是根据本发明实施例的一个索引生成示例。从图中可以看出,文件I的主键和文件2的主键根据字母顺序被排序。按照索引,匹配文件I和文件2中的记录的主键,结果前3条记录匹配成功,文件I和文件2中的最后一条记录匹配失败。再参考图1,在一个示例中,在索引生成之后,可以再生成主键匹配的索引。主键匹配的索引不包括在文件I和文件2中单边存在的记录的主键而仅包括主键匹配的记录的索引。可以理解,在文件比对过程中,也可以直接参考初始生成的索引进行文件的比对。
[0020]进一步参考图2,生成的索引结构还可以包括与主键对应的记录的行号。由此,在文件比对的步骤中,可以通过参考索引中的主键所对应的记录的行号,快速定位文件中的记录,从而迅速读取记录进行比对。
[0021]返回参考图1,在文件比对过程中,将主键匹配的记录进行比对,并且将比对结果写入结果文件。而在索引生成的步骤,可以将主键不匹配的索引信息写入结果文件。
[0022]图3是根据本发明实施例的基于索引进行文件比对的方法的步骤示意图。该方法包括以下步骤: S1:获取第一文件和第二文件中的记录的主键。在该步骤中,可以根据预置的主键解析规则从第一文件和第二文件中的记录获取主键。可以通过参数配置的方式定义主键解析规贝U。例如,可以选择一条记录中的多个字段的组合作为主键,也可以选择记录中特殊字符前后的字段作为主键,或者还可以根据文件中记录的格式和分隔符来选择主键。
[0023]S2:根据获取的主键,为所述第一文件和第二文件中的记录建立索引。在该步骤中,所述索引还可以包括与获取的主键对应的记录在文件中的行号。根据匹配的主键获取记录的行号,可以根据行号定位文件中的记录。
[0024]S3:按照索引,匹配所述第一文件和第二文件中的记录的主键。作为示例,可以将匹配成功的主键的索引信息(例如,主键、行号、排序信息)保留在内存中作为上文所述的主键匹配的索引,以及将匹配不成功的主键的索引信息从内存中删除。
[0025]S4:将主键匹配的记录进行比对,并且将比对结果写入结果文件。
[0026]以下描述根据本发明实施例的一种基于索引进行文件比对的装置,该文件由多个记录组成,该装置包括:文件比对器和索引生成器,其中,索引生成器被配置成:获取第一文件和第二文件中的记录的主键,根据获取的主键,为所述第一文件和第二文件中的记录建立索引。文件比对器被配置成:按照索引,匹配所述第一文件和第二文件中的记录的主键,将主键匹配的记录进行比对,并且将比对结果写入结果文件。索引生成器可以进一步被配置成:将主键不匹配的索引信息写入结果文件。索引生成器可以进一步被配置成:根据预置的主键解析规则从第一文件和第二文件中的记录获取主键。所述索引还可以包括与获取的主键对应的记录在文件中的行号。文件比对器可以进一步被配置成:根据匹配的主键获取记录的行号,根据行号定位文件中的该记录。
[0027]通过以上实施方式的描述,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的【具体实施方式】作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
【权利要求】
1.一种基于索引进行文件比对的方法,该文件由多个记录组成,其特征在于,该方法包括以下步骤: 获取第一文件和第二文件中的记录的主键, 根据获取的主键,为所述第一文件和第二文件中的记录建立索引, 按照索引,匹配所述第一文件和第二文件中的记录的主键, 将主键匹配的记录进行比对,并且将比对结果写入结果文件。
2.如权利要求1所述的方法,其特征在于, 将主键不匹配的索引信息写入结果文件。
3.如权利要求1所述的方法,其特征在于, 根据预置的主键解析规则从第一文件和第二文件中的记录获取主键。
4.如权利要求1所述的方法,其特征在于, 所述索引还包括与获取的主键对应的记录在文件中的行号。
5.如权利要求4所述的方法,其特征在于, 根据匹配的主键获取记录的行号,根据行号定位文件中的该记录。
6.一种基于索引进行文件比对的装置,该文件由多个记录组成,其特征在于,该装置包括: 文件比对器和索引生成器,其中, 索引生成器被配置成: 获取第一文件和第二文件中的记录的主键, 根据获取的主键,为所述第一文件和第二文件中的记录建立索引, 文件比对器被配置成: 按照索引,匹配所述第一文件和第二文件中的记录的主键, 将主键匹配的记录进行比对,并且将比对结果写入结果文件。
7.如权利要求6所述的装置,其特征在于, 索引生成器进一步被配置成: 将主键不匹配的索引信息写入结果文件。
8.如权利要求6所述的装置,其特征在于, 索引生成器进一步被配置成: 根据预置的主键解析规则从第一文件和第二文件中的记录获取主键。
9.如权利要求6所述的装置,其特征在于, 所述索引还包括与获取的主键对应的记录在文件中的行号。
10.如权利要求9所述的装置,其特征在于, 文件比对器进一步被配置成: 根据匹配的主键获取记录的行号,根据行号定位文件中的该记录。
【文档编号】G06F17/30GK103970792SQ201310042343
【公开日】2014年8月6日 申请日期:2013年2月4日 优先权日:2013年2月4日
【发明者】张逊, 李岭, 吴金坛, 吕苏, 马军 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1