CN102508916A - 一种海量数据的文件指纹分析方法 - Google Patents
一种海量数据的文件指纹分析方法 Download PDFInfo
- Publication number
- CN102508916A CN102508916A CN2011103692439A CN201110369243A CN102508916A CN 102508916 A CN102508916 A CN 102508916A CN 2011103692439 A CN2011103692439 A CN 2011103692439A CN 201110369243 A CN201110369243 A CN 201110369243A CN 102508916 A CN102508916 A CN 102508916A
- Authority
- CN
- China
- Prior art keywords
- file
- file fingerprint
- network node
- centroid
- fingerprint
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种海量数据的文件指纹分析方法,具体包括:构建并行计算模型,生成文件指纹,传输文件指纹,存储文件指纹,比对文件指纹,分析比对结果。本发明的文件指纹分析方法借助并行计算模型,利用文件系统属性和数据内容生成的文件指纹,充分利用网了络节点计算机的并行计算能力,提高了整体的计算性能,简化了异构系统下的大规模海量数据的分析处理过程,提高了海量数据处理的效率,降低了错误率。本发明的方法适用于分布式系统、数据中心、云存储等领域。
Description
技术领域
本发明属于计算机数据存储、数据管理、数据分析领域,具体涉及在海量数据下,解析数据的文件结构和内容,生成文件指纹,并对文件指纹分析的一种方法。
背景技术
随着计算机存储技术和网络技术的飞速发展,数据的增长速度也成倍加快;海量数据的存储通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。所以,当面对异构下系统的大数据量时,如何快速比对、识别数据及文件的内容变动,并作出相应的反馈,成为部署大规模服务的瓶颈。
现有的文件比对方法,都只针对个人计算机上的单个或者多个文件通过加密算法,得出一个32位的十六进制数(校验和)。待校验文件的文件名和后缀名都可以更改,不影响校验结果。校验和生成后,用于本地文件和服务端文件的比对,从而得出文件的改变情况。但是现有的文件比对方法只能在个人计算机上进行本地校验,然后再将校验和上传至服务器,服务器比较后,再将比对结果返回至个人计算机,个人计算机的单个程序获得比对结果后,再进行后续操作。现有的文件比对方法采用顺序解析文件的方法,对文件及文件结构逐级比对,适应于个人计算机对小规模文件比对的要求,比对服务器也只适应请求服务量小的情况,但是在面对海量数据、大并发请求的情况下,现有的文件比对方法会使得比对速度显著下降,服务器对请求的处理严重滞后,从而导致比对错误率上升,误差、冗余度大。
发明内容
本发明的目的是为了解决现有的海量数据下进行文件比对时存在的上述问题,提出一种海量数据的文件指纹分析方法。
本发明的技术方案是:一种海量数据的文件指纹分析方法,包括如下步骤:
S1.构建并行计算模型,所述并行计算模型的网络节点即是参数的输入点,中心节点即是数据的运算点;
S2.生成文件指纹,具体过程为:网络节点获取需要分析的文件,即获取目标文件,将目标文件的系统属性、文件生成日期、文件名、数据内容字符串获取后,向中心节点发出编码请求,中心节点在获取请求后,返回给网络节点加密算法的编号,网络节点在获得加密算法的编号后,选定编号对应的编码因子作为文件指纹的加密方式,然后读取目标文件数据内容字符串,将内容字符串转化为数组,最后将数组的内容进行加密,加密完后,将数组中指定的连续数组元素作为文件指纹;
S3.传输文件指纹,网络节点将步骤S2获得的文件指纹传输至中心节点,网络节点在传输前,发出请求,并将文件指纹传输到中心节点,中心节点在捕获到请求后,立即响应请求,并获取传输过来的文件指纹,同时中心节点给每个请求编号;
S4.存储文件指纹,中心节点将需要管理的文件指纹存储在中心节点中,存储成功后,将编号返回给网络节点,网络节点存储这个编号;
S5.比对文件指纹,当存储在网络节点中的文件或者文件夹改动时,对改动的文件或文件夹进行比对,以发现改动的部分;
S6.分析比对结果,利用并行计算模型同时分析网络节点中的文件指纹和中心节点存储的文件指纹,把两个节点中所有标记过的文件指纹和文件目录结构读出,并生成结果文件。
进一步的,步骤S5所述的比对文件指纹的具体过程如下:
网络节点向中心节点发起比对请求,网络节点按照步骤S2再次对存储在网络节点上的文件或文件夹生成文件指纹,并将文件指纹和步骤S4中保存的编号一起发送至中心节点,中心节点根据编号找到对应的文件指纹,然后开始比对;
在比对过程中,根据文件目录结构和文件指纹对网络节点中的文件指纹和中心节点的文件指纹进行标记,标记规则如下所述:
若网络节点中的文件指纹和中心节点的文件指纹文件目录结构相同,且文件指纹相同,则不标记;
若网络节点中的文件指纹和中心节点的文件指纹文件目录结构相同,且文件指纹不同,则同时将两个文件指纹标记为已修改;
若文件目录结构在网络节点文件目录结构中存在,且不存在于中心节点文件目录结构中时,则在网络节点文件目录结构中标记此文件或文件夹为新增;
若文件目录结构在中心节点文件目录结构中存在,且不存在于网络节点文件目录结构时,则在中心节点文件目录结构中标记此文件或文件夹为已删除。
本发明的有益效果:本发明的方法借助并行计算模型,利用文件系统属性和数据内容生成的文件指纹,充分利用网了络节点计算机的并行计算能力,提高了整体的计算性能,简化了异构系统下的大规模海量数据的分析处理过程,提高了海量数据处理的效率,降低了错误率。
附图说明
图1本发明海量数据的文件指纹分析方法的流程示意图。
图2本发明的并行计算模型示意图。
图3为实施例中二叉树存储形式结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明作进一步的阐述。
在介绍实施例之前,先对一些基本的概念和基本思路作简要说明。
并行计算模型:并行计算模型通常指从并行算法的设计和分析出发,将各种并行计算机(至少某一类并行计算机)的基本特征抽象出来,形成一个抽象的计算模型。从更广的意义上说,并行计算模型为并行计算提供了硬件和软件界面,在该界面的约定下,并行系统硬件设计者和软件设计者可以开发对并行性的支持机制,从而提高系统的性能。
单台计算机和由多台计算机组成的计算机系统使用网络互相连接,每台计算机和计算机系统的硬件、软件、操作系统都不一定相同,把这样的单台计算机和计算机系统称之为异构系统,异构系统通过网络连接,通过相应的计算机应用软件可以保证异构系统之间能够相互通信,所涉及的每个异构系统,可视为网络中的一个网络节点,本发明将在网络中搭建若干个大型计算机系统作为中心节点(大于等于2个),用以连接所有的网络节点,每个网络节点上都运行前面所述的计算机应用软件,网络节点可以接收需要分析的文件或文件夹,当分析的是文件时,直接生成文件指纹,保存为XML文件形式,当分析的是文件夹时,将分析文件夹内所有的文件,保存文件夹的目录结构和文件指纹,同样保存为XML文件形式,运行在网络节点上的程序在生成完XML文件后,将XML文件交由中心节点处理、存储,当网络节点的文件或者文件夹发生变化时,再次对同一文件或者文件夹比较,再生成文件或者文件夹的文件指纹,网络节点将新的XML文件返回至中心节点,中心节点通过并行计算模型就行并行比对,最后将比对结果返回给网络节点,网络节点利用比对结果对相应的文件进行管理。下面进行具体说明。
本发明的海量数据的文件指纹分析方法的流程示意图如图1所示,包括如下步骤:
S1.构建并行计算模型,并行计算模型的示意图如图2所示,所述并行计算模型的网络节点即是参数的输入点,中心节点即是数据的运算点。
这里并行计算模型可以采用如下几种模式:随机存取并行机器(Parallel Random AccessMachine,PRAM)模型、整体同步并行计算模型(Bulk Synchronous Parallel Computing Model,BSP)模型、LogP模型、块分布存储(Block Distributed Model,BDM)模型。
并行计算模型是本领域公知的技术,在这里不再详细展开描述。
S2.生成文件指纹,具体过程为:网络节点获取需要分析的文件,称之为目标文件,将目标文件的系统属性、文件生成日期、文件名、数据内容字符串获取后,向中心节点发出编码请求,中心节点在获取请求后,返回给网络节点加密算法的编号,网络节点在获得加密算法的编号后,选定编号对应的编码因子作为文件指纹的加密方式,这里可以选取MD5,SHA1等加密算法,然后读取目标文件数据内容字符串,将内容字符串转化为数组,最后将数组的内容进行加密,加密完后,将数组中指定的连续数组元素作为文件指纹。这里,可以从数组的第一个元素开始截取数组中连续的部分数组元素作为文件指纹,元素的个数可以预先由系统配置。
S3.传输文件指纹,网络节点将步骤S2获得的文件指纹传输至中心节点,网络节点在传输前,发出请求,并将文件指纹传输到中心节点,中心节点在捕获到请求后,立即响应请求,并获取传输过来的文件指纹,同时,中心节点给每个请求编号。这里,请求编号全局唯一。
S4.存储文件指纹,中心节点将需要管理的文件指纹存储在中心节点中,存储成功后,将编号返回给网络节点,网络节点存储这个编号。这里的存储以二叉树的形式分层存储。二叉树的根节点利用步骤S3生成的编号进行标识,具体如图3所示,其中,数据文件中包含了文件指纹,文件目录结构可以理解成路径,即可根据路径找到数据。
S5.比对文件指纹,当存储在网络节点中的文件或者文件夹改动时,对改动的文件或文件夹进行比对,以发现改动的部分。
比对文件指纹的可以采用如下过程进行实施:
网络节点向中心节点发起比对请求,网络节点按照步骤S2,再次对存储在网络节点上的文件或文件夹生成文件指纹,并将文件指纹和步骤S4中保存的编号一起发送至中心节点,中心节点根据编号找到对应的文件指纹,然后开始比对。
由于文件指纹的存储结构为树形结构,故可使用二叉树遍历的一般算法,一般算法包括:NLR:前序遍历(Preorder Traversal)、LNR:中序遍历(Inorder Traversal)、LRN:后序遍历(Postorder Traversal)。由于以上算法是本领域内的公认算法,故不再详细描述。
在比对过程中,根据文件目录结构和文件指纹对网络节点中的文件指纹和中心节点的文件指纹进行标记,标记规则如下所述:
若网络节点中的文件指纹和中心节点的文件指纹文件目录结构相同,且文件指纹相同,则不标记。
若网络节点中的文件指纹和中心节点的文件指纹文件目录结构相同,且文件指纹不同,则同时将两个文件指纹标记为已修改。
若文件目录结构在网络节点文件目录结构中存在,且不存在于中心节点文件目录结构时,则在网络节点文件目录结构中标记此文件或文件夹为新增。
若文件目录结构在中心节点文件目录结构中存在,且不存在于网络节点文件目录结构时,则在中心节点文件目录结构中标记此文件或文件夹为已删除。
S6.分析比对结果。
利用并行计算模型同时分析网络节点中的文件指纹和中心节点存储的文件指纹,把两个节点中所有标记过的文件指纹和文件目录结构读出,并生成结果文件。这里,结果文件可以以XML文件的格式进行存储。
结果文件包含了更改过的文件或文件夹,新增的文件或文件夹,删除的文件或文件夹,网络节点和中心节点可利用分析结果进行数据同步、数据恢复、数据删除等操作。
可以看出,本发明的方法借助了并行计算模型,利用文件系统属性和数据内容生成的文件指纹,充分利用网了络节点计算机的并行计算能力,提高了整体的计算性能,简化了异构系统下的大规模海量数据的分析处理过程,提高了海量数据处理的效率,降低了错误率。
本发明的方法可以适用于分布式系统、数据中心、云存储等领域。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (6)
1.一种海量数据的文件指纹分析方法,包括如下步骤:
S1.构建并行计算模型,所述并行计算模型的网络节点即是参数的输入点,中心节点即是数据的运算点;
S2.生成文件指纹,具体过程为:网络节点获取需要分析的文件,即获取目标文件,将目标文件的系统属性、文件生成日期、文件名、数据内容字符串获取后,向中心节点发出编码请求,中心节点在获取请求后,返回给网络节点加密算法的编号,网络节点在获得加密算法的编号后,选定编号对应的编码因子作为文件指纹的加密方式,然后读取目标文件数据内容字符串,将内容字符串转化为数组,最后将数组的内容进行加密,加密完后,将数组中指定的连续数组元素作为文件指纹;
S3.传输文件指纹,网络节点将步骤S2获得的文件指纹传输至中心节点,网络节点在传输前,发出请求,并将文件指纹传输到中心节点,中心节点在捕获到请求后,立即响应请求,并获取传输过来的文件指纹,同时中心节点给每个请求编号;
S4.存储文件指纹,中心节点将需要管理的文件指纹存储在中心节点中,存储成功后,将编号返回给网络节点,网络节点存储这个编号;
S5.比对文件指纹,当存储在网络节点中的文件或者文件夹改动时,对改动的文件或文件夹进行比对,以发现改动的部分;
S6.分析比对结果,利用并行计算模型同时分析网络节点中的文件指纹和中心节点存储的文件指纹,把两个节点中所有标记过的文件指纹和文件目录结构读出,并生成结果文件。
2.根据权利要求1所述的海量数据的文件指纹分析方法,其特征在于,步骤S5所述的比对文件指纹的具体过程如下:
网络节点向中心节点发起比对请求,网络节点按照步骤S2再次对存储在网络节点上的文件或文件夹生成文件指纹,并将文件指纹和步骤S4中保存的编号一起发送至中心节点,中心节点根据编号找到对应的文件指纹,然后开始比对;
在比对过程中,根据文件目录结构和文件指纹对网络节点中的文件指纹和中心节点的文件指纹进行标记,标记规则如下所述:
若网络节点中的文件指纹和中心节点的文件指纹文件目录结构相同,且文件指纹相同,则不标记;
若网络节点中的文件指纹和中心节点的文件指纹文件目录结构相同,且文件指纹不同,则同时将两个文件指纹标记为已修改;
若文件目录结构在网络节点文件目录结构中存在,且不存于在中心节点文件目录结构时,则在网络节点文件目录结构中标记此文件或文件夹为新增;
若文件目录结构在中心节点文件目录结构中存在,且不存在于网络节点文件目录结构时,则在中心节点文件目录结构中标记此文件或文件夹为已删除。
3.根据权利要求1或2所述的海量数据的文件指纹分析方法,其特征在于,所述的并行计算模型为随机存取并行机器模型、整体同步并行计算模型模型、LogP模型或块分布存储模型。
4.根据权利要求1或2所述的海量数据的文件指纹分析方法,其特征在于,步骤S2所述的加密算法为MD5或SHA1。
5.根据权利要求1或2所述的海量数据的文件指纹分析方法,其特征在于,步骤S4所述的存储文件指纹是以二叉树的形式分层存储。
6.根据权利要求1或2所述的海量数据的文件指纹分析方法,其特征在于,步骤S6所述的结果文件可以以XML文件的格式进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110369243 CN102508916B (zh) | 2011-11-21 | 2011-11-21 | 一种海量数据的文件指纹分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110369243 CN102508916B (zh) | 2011-11-21 | 2011-11-21 | 一种海量数据的文件指纹分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508916A true CN102508916A (zh) | 2012-06-20 |
CN102508916B CN102508916B (zh) | 2013-08-14 |
Family
ID=46221002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110369243 Active CN102508916B (zh) | 2011-11-21 | 2011-11-21 | 一种海量数据的文件指纹分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508916B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021142A (zh) * | 2014-05-14 | 2014-09-03 | 陕西上讯信息技术有限公司 | 防篡改系统网页文件指纹的存储和查询方法 |
CN105511814A (zh) * | 2015-12-11 | 2016-04-20 | 上海爱数信息技术股份有限公司 | 一种静态数据文件的存储方法 |
CN106469219A (zh) * | 2016-09-09 | 2017-03-01 | 武汉长光科技有限公司 | 一种嵌入式设备配置文件同步比较的方法 |
CN107066601A (zh) * | 2017-04-20 | 2017-08-18 | 北京古盘创世科技发展有限公司 | 文件对比管理方法及系统 |
CN112580322A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 文件指纹比对方法、装置、设备及存储介质 |
WO2023093079A1 (zh) * | 2021-11-26 | 2023-06-01 | 浪潮通信信息系统有限公司 | 一种分布式边缘云边节点的一致性核查方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592906A (zh) * | 2000-07-31 | 2005-03-09 | 沙扎姆娱乐有限公司 | 用于在强噪声和失真下识别声音和音乐信号的系统和方法 |
CN1596399A (zh) * | 2001-11-28 | 2005-03-16 | 奥罗卡斯特公司 | 确定内容对象目录中的冗余 |
CN101567858A (zh) * | 2008-04-21 | 2009-10-28 | 联想(北京)有限公司 | 一种数据同步的方法和系统 |
-
2011
- 2011-11-21 CN CN 201110369243 patent/CN102508916B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592906A (zh) * | 2000-07-31 | 2005-03-09 | 沙扎姆娱乐有限公司 | 用于在强噪声和失真下识别声音和音乐信号的系统和方法 |
CN1596399A (zh) * | 2001-11-28 | 2005-03-16 | 奥罗卡斯特公司 | 确定内容对象目录中的冗余 |
CN101567858A (zh) * | 2008-04-21 | 2009-10-28 | 联想(北京)有限公司 | 一种数据同步的方法和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021142A (zh) * | 2014-05-14 | 2014-09-03 | 陕西上讯信息技术有限公司 | 防篡改系统网页文件指纹的存储和查询方法 |
CN104021142B (zh) * | 2014-05-14 | 2018-06-01 | 陕西上讯信息技术有限公司 | 防篡改系统网页文件指纹的存储和查询方法 |
CN105511814A (zh) * | 2015-12-11 | 2016-04-20 | 上海爱数信息技术股份有限公司 | 一种静态数据文件的存储方法 |
CN106469219A (zh) * | 2016-09-09 | 2017-03-01 | 武汉长光科技有限公司 | 一种嵌入式设备配置文件同步比较的方法 |
CN107066601A (zh) * | 2017-04-20 | 2017-08-18 | 北京古盘创世科技发展有限公司 | 文件对比管理方法及系统 |
CN112580322A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 文件指纹比对方法、装置、设备及存储介质 |
WO2023093079A1 (zh) * | 2021-11-26 | 2023-06-01 | 浪潮通信信息系统有限公司 | 一种分布式边缘云边节点的一致性核查方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102508916B (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074377B (zh) | 用于实时处理数据流的受管理功能执行 | |
CN102508916B (zh) | 一种海量数据的文件指纹分析方法 | |
Das et al. | Big data analytics: A framework for unstructured data analysis | |
CA2923068C (en) | Method and system for metadata synchronization | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
Wang et al. | Research and implementation on spatial data storage and operation based on Hadoop platform | |
CN103473696A (zh) | 一种收集、分析和分发网络商业信息的方法和系统 | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
WO2015070674A1 (zh) | 一种操作数据的方法和系统 | |
CN113900810A (zh) | 分布式图处理方法、系统及存储介质 | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN103810272A (zh) | 一种数据处理方法和系统 | |
Al-Khasawneh et al. | MapReduce a comprehensive review | |
Senger et al. | BSP cost and scalability analysis for MapReduce operations | |
Chen et al. | Big data storage | |
Changtong | An improved HDFS for small file | |
CN111708807A (zh) | 数据扁平化处理方法、装置、设备及存储介质 | |
CN112035466B (zh) | 一种区块链查询外置索引开发框架 | |
CN113721856A (zh) | 一种数字化社区管理数据存储系统 | |
CN103699627A (zh) | 一种基于Hadoop集群的超大文件并行数据块定位方法 | |
Singh et al. | An improved integrated Grid and MapReduce‐Hadoop architecture for spatial data: Hilbert TGS R‐Tree–based IGSIM | |
Tripathi et al. | A comparative analysis of conventional hadoop with proposed cloud enabled hadoop framework for spatial big data processing | |
Rossi Tisbeni et al. | A Big Data Platform for heterogeneous data collection and analysis in large-scale data centres | |
US11816081B1 (en) | Efficient query optimization on distributed data sets | |
Liu et al. | Research on it architecture of heterogeneous big data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |