CN113449505A - 一种文件比对方法 - Google Patents
一种文件比对方法 Download PDFInfo
- Publication number
- CN113449505A CN113449505A CN202110746335.8A CN202110746335A CN113449505A CN 113449505 A CN113449505 A CN 113449505A CN 202110746335 A CN202110746335 A CN 202110746335A CN 113449505 A CN113449505 A CN 113449505A
- Authority
- CN
- China
- Prior art keywords
- file
- compared
- content identification
- content
- column
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明特别涉及一种文件比对方法。该文件比对方法,基准文件和待比对文件均为具备列分隔符的文本文件,文件存在一列或者多列,各列能够组合成为唯一标识,且待比对文件和基准文件列顺序和列数一致;比对时先指定基准文件和待比对文件中参与比对的列序号,并对参与比对的列进行哈希计算得到内容标识编码;将基准文件和待比对文件的内容标识编码进行比对,若两者不相同则表明与基准文件相比,待比对文件的内容或者属性发生了改变。该文件比对方法,通过对对待比对文件和基准文件的内容标识编码进行比对形成比对差异清单,为大数据资源信息变更情况分析、端设备上报信息等场景提供了高价值的基础数据支撑。
Description
技术领域
本发明涉及大数据文件比对技术领域,特别涉及一种文件比对方法。
背景技术
在云化、边缘化、智能化时代,大量智能终端产生的数据量将会爆炸式增长,传统模式将各个边缘设备数据及网络设备数据统一上传至中心节点,利用中心节点大集群进行计算及管理。
随着端节点、边缘节点、网络节点的不断增加,数据类型及量级不断扩大,导致网络带宽以及集中计算的瓶颈越显突出,亟需提供去中心化的计算能力,即需要在端、边缘及网络节点上部署小规模或者便携式的计算中心,实现终端请求的本地化处理,减少与中心的数据交互。
随着智能终端大规模商用的展开,网络节点、边缘节点、端节点的计算能力也越来越成为可能。通常智能设备会周期性的上报很多信息,但上报信息与上一周期相比,变更信息相对较少,包括如业务配置信息、虚拟机器内存调整、设备上下线以及网络状态等变更信息。
掌握全量周期数据的关键是在不变数据的基础上,掌握周期的变更结果,先在设备端先差异比对,输出变更结果,将变更结果与中心同步,减少端设备与中心通信交互量,解决端节点、边缘节点、网络节点与中心节点传输汇聚流量过大、时延过长等问题,最终可以实现在大数据环境下的轻量处理,以及面向中心节点的快速变更回传。
而传统的比对方式,包括文件对比、基于数据库的SQL对比方式,都基于按整行数据进行冒泡检索。此种方式,在大数据量时,对计算能力有很高需求,不适合在网络节点、边缘节点、端节点场景,并且对比处理的时延会很大,影响实时性效果。即使按照整行编码的方式,同样会存在弊端:
1、基于整行进行合并编码,只能输出变更或者删除记录,无法利用变更区分是新增还是变更;
2、周期性的变化数据包含时间字段,而包含时间字段的行记录合并编码时,所有记录都会识别为变更,与实际业务期望不符合。
基于上述问题,本发明提出了一种文件比对方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的文件比对方法。
本发明是通过如下技术方案实现的:
一种文件比对方法,其特征在于:基准文件和待比对文件均为具备列分隔符的文本文件,文件存在一列或者多列,各列能够组合成为唯一标识,且待比对文件和基准文件列顺序和列数一致;
包括以下步骤:
第一步,指定基准文件和待比对文件中参与比对的列序号;
第二步,对参与比对的列进行哈希计算得到内容标识编码;
第三步,将基准文件和待比对文件的内容标识编码进行比对,若两者不相同则表明与基准文件相比,待比对文件的内容或者属性发生了改变。
所述第一步中,通过外部参数文件,指定该类型的文件主键的列序号和参与比对属性的列序号;所述第二步中,分别对文件主键的列和参与比对属性的列进行哈希计算,得到文件主键列的内容标识编码KEY与参与比对属性的列的内容标识编码VALUE。
所述第二步中,获取文件主键的列序号和参与比对属性的列序号,并分别将对应的列合并后进行哈希计算,得到文件主键的列hash MD5值作为主键列的内容标识编码KEY,得到参与比对属性的列hash MD5值作为参与比对属性的列的内容标识编码VALUE。
所述第三步中,分别提取基准文件和待比对文件的内容标识编码,包括内容标识编码KEY和内容标识编码VALUE,并进行比对;
若基准文件和待比对文件的内容标识编码KEY不同,说明与基准文件相比,待比对文件中存在删除或新增;
若基准文件和待比对文件的内容标识编码KEY相同,基准文件和待比对文件的内容标识编码VALUE不同,则说明与基准文件相比,待比对文件的属性发生了改变。
所述第三步中,先将基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY进行比对,若基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY相同,再对基准文件对应的内容标识编码VALUE与待比对文件对应的内容标识编码VALUE进行比对。
所述第三步中,若基准文件对应的内容标识编码KEY比待比对文件对应的的内容标识编码KEY记录多时,说明与基准文件相比,待比对文件中存在历史内容被删除,找出对应的记录存入删除记录文件中。
所述第三步中,若基准文件对应的内容标识编码KEY比待比对文件对应的的内容标识编码KEY记录少时,说明与基准文件相比,待比对文件中存在新增内容,找出对应的记录存入新增记录文件中。
所述第三步中,若基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY相同,说明与基准文件相比,待比对文件中没有删除或者新增内容,待比对文件中记载的主键列的内容与基准文件中记载的主键列的内容一致;
确定待比对文件中记载的主键列的内容与基准文件中记载的主键列的内容一致后,对基准文件对应的内容标识编码VALUE与待比对文件对应的内容标识编码VALUE进行比对,若基准文件和待比对文件的内容标识编码VALUE不同,则说明与基准文件相比,待比对文件的属性发生了改变,利用内容标识编码KEY到待比对文件中找出对应的记录,存入记录属性变化的记录文件中。
本发明的有益效果是:该文件比对方法,通过对对待比对文件和基准文件的内容标识编码进行比对形成比对差异清单,为大数据资源信息变更情况分析、端设备上报信息等场景提供了高价值的基础数据支撑。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明文件比对方法示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该文件比对方法,基准文件和待比对文件均为具备列分隔符的文本文件,文件存在一列或者多列,各列能够组合成为唯一标识,且待比对文件和基准文件列顺序和列数一致;
包括以下步骤:
第一步,指定基准文件和待比对文件中参与比对的列序号;
第二步,对参与比对的列进行哈希计算得到内容标识编码;
第三步,将基准文件和待比对文件的内容标识编码进行比对,若两者不相同则表明与基准文件相比,待比对文件的内容或者属性发生了改变。
所述第一步中,通过外部参数文件,指定该类型的文件主键的列序号和参与比对属性的列序号;所述第二步中,分别对文件主键的列和参与比对属性的列进行哈希计算,得到文件主键列的内容标识编码KEY与参与比对属性的列的内容标识编码VALUE。
所述第二步中,获取文件主键的列序号和参与比对属性的列序号,并分别将对应的列合并后进行哈希计算,得到文件主键的列hash MD5值作为主键列的内容标识编码KEY,得到参与比对属性的列hash MD5值作为参与比对属性的列的内容标识编码VALUE。
所述第三步中,分别提取基准文件和待比对文件的内容标识编码,包括内容标识编码KEY和内容标识编码VALUE,并进行比对;
若基准文件和待比对文件的内容标识编码KEY不同,说明与基准文件相比,待比对文件中存在删除或新增;
若基准文件和待比对文件的内容标识编码KEY相同,基准文件和待比对文件的内容标识编码VALUE不同,则说明与基准文件相比,待比对文件的属性发生了改变。
所述第三步中,先将基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY进行比对,若基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY相同,再对基准文件对应的内容标识编码VALUE与待比对文件对应的内容标识编码VALUE进行比对。
所述第三步中,若基准文件对应的内容标识编码KEY比待比对文件对应的的内容标识编码KEY记录多时,说明与基准文件相比,待比对文件中存在历史内容被删除,找出对应的记录存入删除记录文件中。
所述第三步中,若基准文件对应的内容标识编码KEY比待比对文件对应的的内容标识编码KEY记录少时,说明与基准文件相比,待比对文件中存在新增内容,找出对应的记录存入新增记录文件中。
所述第三步中,若基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY相同,说明与基准文件相比,待比对文件中没有删除或者新增内容,待比对文件中记载的主键列的内容与基准文件中记载的主键列的内容一致;
确定待比对文件中记载的主键列的内容与基准文件中记载的主键列的内容一致后,对基准文件对应的内容标识编码VALUE与待比对文件对应的内容标识编码VALUE进行比对,若基准文件和待比对文件的内容标识编码VALUE不同,则说明与基准文件相比,待比对文件的属性发生了改变,利用内容标识编码KEY到待比对文件中找出对应的记录,存入记录属性变化的记录文件中。
与目前的现有技术相比,该文件比对方法,具有以下特点:
第一、针对具备列分割符格式的文件,将文件比对的计算下沉至端节点、边缘节点、网络节点等末端,在末端输出变更结果,减少了端节点、边缘节点、网络节点等末端与中心的通信交互量,解决了末端与中心的传输汇聚流量过大、时延过长问题。
第二、通过设置内容标识编码,包括主键列的内容标识编码KEY与参与比对属性的列的内容标识编码VALUE,可支持配置化指定比对的列范围,有效针对属性对比列的差异点;通常百万级数据量,变更差异只在千数量级,与已有的全量数据传输对应的数据量相比,数据压缩为1%,极大的减少了网络数据传输流量。
第三、采用hash数组内存比对,大大提高了比对速度,与数据库库内比对效率差异巨大,百万级别数据量在数据库比对需要耗时5分钟以上,而采用该方法比对只需20秒即可。
第四、有效解决了现有技术中只能基于整行合并后md5编码的问题,不仅能输出变更或者删除记录,还能区分是新增还是变更;同时可解决数据中时间信息经过编码后导致对比结果均为新增,网络数据传输量过大、变更消息时延过大等问题。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种文件比对方法,其特征在于:基准文件和待比对文件均为具备列分隔符的文本文件,文件存在一列或者多列,各列能够组合成为唯一标识,且待比对文件和基准文件列顺序和列数一致;
包括以下步骤:
第一步,指定基准文件和待比对文件中参与比对的列序号;
第二步,对参与比对的列进行哈希计算得到内容标识编码;
第三步,将基准文件和待比对文件的内容标识编码进行比对,若两者不相同则表明与基准文件相比,待比对文件的内容或者属性发生了改变。
2.根据权利要求1所述的文件比对方法,其特征在于:所述第一步中,通过外部参数文件,指定该类型的文件主键的列序号和参与比对属性的列序号;所述第二步中,分别对文件主键的列和参与比对属性的列进行哈希计算,得到文件主键列的内容标识编码KEY与参与比对属性的列的内容标识编码VALUE。
3.根据权利要求2所述的文件比对方法,其特征在于:所述第二步中,获取文件主键的列序号和参与比对属性的列序号,并分别将对应的列合并后进行哈希计算,得到文件主键的列hash MD5值作为主键列的内容标识编码KEY,得到参与比对属性的列hash MD5值作为参与比对属性的列的内容标识编码VALUE。
4.根据权利要求2或3所述的文件比对方法,其特征在于:所述第三步中,分别提取基准文件和待比对文件的内容标识编码,包括内容标识编码KEY和内容标识编码VALUE,并进行比对;
若基准文件和待比对文件的内容标识编码KEY不同,说明与基准文件相比,待比对文件中存在删除或新增;
若基准文件和待比对文件的内容标识编码KEY相同,基准文件和待比对文件的内容标识编码VALUE不同,则说明与基准文件相比,待比对文件的属性发生了改变。
5.根据权利要求4所述的文件比对方法,其特征在于:所述第三步中,先将基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY进行比对,若基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY相同,再对基准文件对应的内容标识编码VALUE与待比对文件对应的内容标识编码VALUE进行比对。
6.根据权利要求4所述的文件比对方法,其特征在于:所述第三步中,若基准文件对应的内容标识编码KEY比待比对文件对应的的内容标识编码KEY记录多时,说明与基准文件相比,待比对文件中存在历史内容被删除,找出对应的记录存入删除记录文件中。
7.根据权利要求4所述的文件比对方法,其特征在于:所述第三步中,若基准文件对应的内容标识编码KEY比待比对文件对应的的内容标识编码KEY记录少时,说明与基准文件相比,待比对文件中存在新增内容,找出对应的记录存入新增记录文件中。
8.根据权利要求5所述的文件比对方法,其特征在于:所述第三步中,若基准文件对应的内容标识编码KEY与待比对文件对应的内容标识编码KEY相同,说明与基准文件相比,待比对文件中没有删除或者新增内容,待比对文件中记载的主键列的内容与基准文件中记载的主键列的内容一致;
确定待比对文件中记载的主键列的内容与基准文件中记载的主键列的内容一致后,对基准文件对应的内容标识编码VALUE与待比对文件对应的内容标识编码VALUE进行比对,若基准文件和待比对文件的内容标识编码VALUE不同,则说明与基准文件相比,待比对文件的属性发生了改变,利用内容标识编码KEY到待比对文件中找出对应的记录,存入记录属性变化的记录文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110746335.8A CN113449505A (zh) | 2021-07-01 | 2021-07-01 | 一种文件比对方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110746335.8A CN113449505A (zh) | 2021-07-01 | 2021-07-01 | 一种文件比对方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113449505A true CN113449505A (zh) | 2021-09-28 |
Family
ID=77814768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110746335.8A Pending CN113449505A (zh) | 2021-07-01 | 2021-07-01 | 一种文件比对方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023093079A1 (zh) * | 2021-11-26 | 2023-06-01 | 浪潮通信信息系统有限公司 | 一种分布式边缘云边节点的一致性核查方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215783A (ja) * | 2010-03-31 | 2011-10-27 | Nec Corp | ログ情報差分抽出管理装置、方法及びプログラム |
CN104021132A (zh) * | 2013-12-08 | 2014-09-03 | 郑州正信科技发展股份有限公司 | 主备数据库数据一致性核查备份方法及其系统 |
CN105138635A (zh) * | 2015-08-21 | 2015-12-09 | 中国人民解放军装备学院 | 一种利用哈希值比对进行数据增量复制的方法 |
CN106649646A (zh) * | 2016-12-09 | 2017-05-10 | 北京锐安科技有限公司 | 一种数据去重的方法及装置 |
CN112948389A (zh) * | 2021-03-05 | 2021-06-11 | 上海上讯信息技术股份有限公司 | 基于md5的数据库表数据比对方法及设备 |
-
2021
- 2021-07-01 CN CN202110746335.8A patent/CN113449505A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215783A (ja) * | 2010-03-31 | 2011-10-27 | Nec Corp | ログ情報差分抽出管理装置、方法及びプログラム |
CN104021132A (zh) * | 2013-12-08 | 2014-09-03 | 郑州正信科技发展股份有限公司 | 主备数据库数据一致性核查备份方法及其系统 |
CN105138635A (zh) * | 2015-08-21 | 2015-12-09 | 中国人民解放军装备学院 | 一种利用哈希值比对进行数据增量复制的方法 |
CN106649646A (zh) * | 2016-12-09 | 2017-05-10 | 北京锐安科技有限公司 | 一种数据去重的方法及装置 |
CN112948389A (zh) * | 2021-03-05 | 2021-06-11 | 上海上讯信息技术股份有限公司 | 基于md5的数据库表数据比对方法及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023093079A1 (zh) * | 2021-11-26 | 2023-06-01 | 浪潮通信信息系统有限公司 | 一种分布式边缘云边节点的一致性核查方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106682077B (zh) | 一种基于Hadoop技术的海量时序数据存储实现方法 | |
CN112769605B (zh) | 一种异构多云的运维管理方法及混合云平台 | |
CN114077602B (zh) | 数据迁移方法和装置、电子设备、存储介质 | |
CN109189658B (zh) | 一种日志存储方法、控制节点及计算机可读存储介质 | |
CN110955704A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
CN115878421B (zh) | 一种数据中心设备级故障预测方法、系统及介质 | |
CN112686418B (zh) | 一种履约时效预测方法和装置 | |
CN113612306A (zh) | 一种分布式配电柜及其控制系统 | |
CN118017564B (zh) | 一种基于开源鸿蒙系统的储能方法 | |
CN113449505A (zh) | 一种文件比对方法 | |
CN114978684A (zh) | 基于改进凝聚型层次聚类的pbft共识方法 | |
CN109769027B (zh) | 一种消息推送方法、装置及设备 | |
CN111488362A (zh) | 一种服务器的资源信息查询方法、系统、设备以及介质 | |
CN107463540B (zh) | 电能质量数据的处理方法及电能质量监测装置 | |
CN112115206A (zh) | 一种处理对象存储元数据的方法和装置 | |
CN115525603A (zh) | 存储统计方法、装置、计算机可读存储介质与ai设备 | |
CN105718485B (zh) | 一种将数据录入数据库的方法及装置 | |
CN113282568A (zh) | 一种iot大数据实时时序流分析应用技术方法 | |
CN102652425B (zh) | 一种大规模网络的数据采集方法和网络节点 | |
CN110895450A (zh) | 一种数据存储方法及装置、存储介质和计算机设备 | |
CN111310260A (zh) | 基于分布式存储架构的bim模型版本存贮转换方法 | |
CN117271480B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN118012952B (zh) | 一种数据处理方法和装置、电子设备及存储介质 | |
CN116644039B (zh) | 一种基于大数据的在线能力运营日志自动采集分析的方法 | |
CN115942269A (zh) | 一种话单删重方法、装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210928 |