CN104021179A - 一种大数据集下相似性数据的快速识别算法 - Google Patents
一种大数据集下相似性数据的快速识别算法 Download PDFInfo
- Publication number
- CN104021179A CN104021179A CN201410247704.9A CN201410247704A CN104021179A CN 104021179 A CN104021179 A CN 104021179A CN 201410247704 A CN201410247704 A CN 201410247704A CN 104021179 A CN104021179 A CN 104021179A
- Authority
- CN
- China
- Prior art keywords
- data
- similarity
- sample survey
- file
- piece
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种大数据下相似性数据快速识别算法,包括下述步骤:数据文件长度的修正;计算抽样数据块之间的距离;计算抽样数据块的位置;抽取数据块;在数据文件首尾各抽取一个数据块;计算抽取数据块的特征值;通过集合运算判断数据的相似性。一方面,本发明的时空开销不随着数据文件大小的增加而增长;其次,本发明通过位置影响因子修正数据文件的长度,避免抽样数据块位置偏移而导致相似性数据识别失败;另外一方面,本发明通过信息检索的方法有效的保证了本发明在相似性数据识别方面的有效性和准确性。
Description
技术领域
本发明涉及大数据处理的技术领域,特别涉及一种大数据集下相似性数据的快速识别算法。
背景技术
在2013年IDC预测到2014年全球的数据总量将会到达4ZB,与2012年相比数据增长量到达50%。IBM用了4V:volume、variety、value、veracity来描述这些数据的特性,这直接说明了这些数据非常复杂。比如,在这些数据中存在着大量结构化、半结构化和非结构化的数据。正是因为这些复杂的特性,导致现有的数据处理方法仍然有许多问题未得到解决。其中,文件相似性在数据处理方法中具有非常重要的作用。比如,数据挖掘中的聚类分析、剽窃检测、远程文件备份、文件系统中相似数据的识别、热点数据的识别等等。
尽管之前在相似性数据识别方面已经有非常多的研究,但是仍然有非常多的问题没有解决:
1.减小相似性数据识别的开销:传统的相似性数据识别算法属于IO密集型和CPU密集型任务。当使用传统相似性数据识别算法计算数据的摘要需要占用大量的CPU时间和大量的内存空间,同时也会导致大量的磁盘IO。需要指出的是这些磁盘访问是随机的,这就严重的降低相似性数据识别的性能。此外,传统相思数据识别算法的计算开销随着数据集的增长而增长。
2.缩短相似性数据识别的时间:在数据集下,传统的相似性数据识别算法需要大量的时间进行相似数据的识别,这直接导致了非常严重的延迟。对于一些实时和高吞吐量的应用来说,这样的延迟是无法接受的。
3.保证相似性识别的有效性和准确性:如何在识别出相似性数据的同时保证识别的有效性和准确是一个挑战。传统的相似性算法常常在这两者时间进行折衷。
虽然典型的相似性算法Shingle和Simhash的确能够有效识别相似性数据,但是在大数据集这两个算法时空开销非常大,特别的这个两个算法的时空开销随着数据文件大小增加而成倍增加。因此,在大数据集下这个两个典型的相似性算法并不能有效解决上述挑战。
传统的抽样相似性算法虽然识别时间较短,而且开销固定,不随着数据文件长度的增加而增加,但是传统的抽样相似性算法对于数据文件内容的修改非常敏感。比如,数据文件内容一个字节的修改就会导致传统的相似性识别算法检测失败。
因此,我们亟须一种在大数据集下低开销、检测时间短和同时保证算法的有效性和准确性的相似性数据识别算法。
发明内容
本发明的目的是实现一个针对大数据集下低开销、检测时间短和能够保证有效性和准确性的相似性数据识别算法。本发明抽取固定数量的数据块,可以保证算法的开销不会随着数据文件内容的增长而增加;通过集合运算结合内存数据数据库保证检测时间较短;通过信息检索的方法,保证算法的有效性和准确性。
为了达到上述目的,本发明采用以下技术方案:
一种大数据下相似性数据快速识别算法,包括:
(1)、数据文件长度的修正,在对数据文件进行相似性判断之前,首先获取数据文件的长度,将数据文件的长度除以一个位置影响因子,然后将得到的商乘以位置影响因子,最后将所得的积作为修正后的数据文件长度;
(2)、计算抽样数据块之间的距离;
(3)、计算抽样数据块的位置,根据抽取顺序、抽样数据块之间的距离和抽样数据的长度进行计算;
(4)、抽取数据块,根据计算出来的抽样数据块的位置,设置数据文件的读取位置,然后抽取长度等于抽样数据块长度的数据块;
(5)、在数据文件首尾各抽取一个数据块;
(6)、计算抽取数据块的特征值,通过将每一个抽取的数据通过哈希函数计算一个出哈希值,用这个哈希值代表该数据块;
(7)、通过集合运算判断数据的相似性,将计算出来的哈希值集合同已经存储的哈希值集合进行集合运算,得到值作为两个数据的相似程度值T;T值大于等于0,小于等于1;当T接近0时,代表这个两个数据相似程度非常低;当T接近1时,代表这两个数据相似程度非常高。
优选的,步骤(1)中,所述位置影响因子是避免因为数据文件内容修改造成抽样数据块位置偏移的算法参数,位置影响因子是一个大于等于1的数字,可以选取一个固定的值,也可以根据当前数据集的特性动态的调整。
优选的,步骤(2)中,计算抽样数据块之间的距离的步骤为:将修正后的数据文件长度减去抽样数据长度乘以抽样数据数量的乘积,然后将得到的差值除以抽样数据块数量减一,将得到的商作为抽样数据块之间的距离;最后,判断这个值是否大于0,如果小于0,则使抽样数据块之间的距离等于0;反之,不做任何处理。
优选的,步骤(3)中,计算抽样数据块的位置具体为:对于第i个数据数块,其中:1=<i<抽样数据块数量,将i减一后乘以抽样数据块长度加上抽样数据块之间距离的和,最后将得到的乘积作为第i块抽样数据块在数据文件中位置偏移值。
优选的,步骤(4)中,具体是在数据文件的首和数据的文件尾各抽取一个数据块。
优选的,步骤(5)中,还包括判断数据读取是否完整和是否出现错误的步骤。
优选的,步骤(6)中,对于每一个抽样数据块的哈希值,只取其数据的高8位。
优选的,步骤(7)中,进行集合运算的具体步骤为:
首先进行集合交运算,然后进行集合并运算,最后将交集的成员个数除以并集的成员个数,得到的值作为两个数据的相似程度值。
本发明与现有技术相比,具有如下优点和有益效果:
(1)、本发明主要用于大数据集下相似性数据的快速识别,与其他同类算法相比,本发明计算开销固定,不会随着数据文件大小的增加而增加。非常适合大数据集下相似性数据的快速识别。
(2)、本发明避免了传统抽样相似性识别算法的弊端,不会因为数据文件内容的修改而导致抽样数据块位置的偏移,而导致相似性检测失败。
(3)、本发明应用信息检索的方法保证了相似性检测的有效性和准确性。通过信息的检索方法的指标召回率和准确率,来保证和作为相似性临界值选取的依据。
附图说明
图1为本发明的快速识别算法流程图;
图2为本发明抽取数据块的示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本发明的算法流程如下步骤:
(1)、数据文件长度的修正,在对数据文件进行相似性判断之前,首先获取数据文件的长度,将数据文件的长度除以一个位置影响因子,然后将得到的商乘以位置影响因子,最后将所得的积作为修正后的数据文件长度。数据文件长度的修正是为了避免因为数据文件的修改,造成抽样数据位置的偏移而导致相似性数据识别失败。
(2)、计算抽样数据块之间的距离,将修正后的数据文件长度减去抽样数据长度乘以抽样数据块数量的乘积,然后将得到的差值除以抽样数据块数量减一的差,将得到的商作为抽样数据块之间的距离。最后判断这个值是否大于0,如果小于0,则使抽样数据块之间的距离等于0;反之不做任何处理。
(3)、计算抽样数据块的位置,对于第i块抽样数据块(抽样数据块数量>i>=1),将i减一后乘以抽样数据块长度加上抽样数据块之间距离的和,最后将得到的乘积作为第i块抽样数据块在数据文件中的位置偏移值。
(4)、抽取数据块,根据计算出来的抽样数据块的位置,设置数据文件的读取位置,然后抽取长度等于抽样数据块长度的数据块。在这里要防止数据块抽取不完整或者抽取错误。
(5)、在数据文件首尾各抽取一个数据块,为了使本算法能够有效的识别出相似的数据文件,本算法在数据文件的首和数据的文件尾各抽取一个数据块。
(6)、计算抽取数据块的特征值,通过直接比较抽取的数据块,首先不仅仅需要占用大量的存储空间,另外数据块一个个字节的比较将会导致相似性数据识别的速度大大减慢。本算法将每一个抽取的数据通过哈希函数计算一个出哈希值,用这个哈希值代表该数据块。另外为了进一步减小空间的占用,对于每一个指纹,本算法只取其高8位。
(7)、通过集合运算判断数据的相似性,将计算出来的哈希值集合同已经存储的哈希值集合进行集合运算,首先进行集合交运算,然后进行集合并运算,最后将交集的成员个数除以并集的成员个数,得到的值便作为两个数据的相似程度值T。这个T值大于等于0,小于等于1。当这个T值接近0时,代表这个两个数据相似程度非常低;当这个T值接近1时,代表这两个数据相似程度非常高。
通过上述步骤便可以避免数据文件内容的修改造成抽样数据块的位置的偏移,如图2所示。通过修正文件长度之后,就可以保证抽样数据块位置不偏移,同时为了提高识别的准确性,在文件头和文件尾各抽取一个数据块。举例来说,文件A和文件B相似,我们可以认为文件B在文件A的基础之上增加内容得来,在这里我们增加5K的内容得到文件B,文件B1、B2、B3分别对应文件头、文件中、文件尾的修改情况。当选取位置影响因子为28K时,可以得到如图的2抽样示意位置和对应的抽样数据块。
另外本算法可以用如下的伪代码来描述:
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种大数据下相似性数据快速识别算法,其特征在于,包括:
(1)、数据文件长度的修正,在对数据文件进行相似性判断之前,首先获取数据文件的长度,将数据文件的长度除以一个位置影响因子,然后将得到的商乘以位置影响因子,最后将所得的积作为修正后的数据文件长度;
(2)、计算抽样数据块之间的距离;
(3)、计算抽样数据块的位置,根据抽取顺序、抽样数据块之间的距离和抽样数据的长度进行计算;
(4)、抽取数据块,根据计算出来的抽样数据块的位置,设置数据文件的读取位置,然后抽取长度等于抽样数据块长度的数据块;
(5)、在数据文件首尾各抽取一个数据块;
(6)、计算抽取数据块的特征值,通过将每一个抽取的数据通过哈希函数计算一个出哈希值,用这个哈希值代表该数据块;
(7)、通过集合运算判断数据的相似性,将计算出来的哈希值集合同已经存储的哈希值集合进行集合运算,得到值作为两个数据的相似程度值T;T值大于等于0,小于等于1;当T接近0时,代表这个两个数据相似程度非常低;当T接近1时,代表这两个数据相似程度非常高。
2.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(1)中,所述位置影响因子是避免因为数据文件内容修改造成抽样数据块位置偏移的算法参数,位置影响因子是一个大于等于1的数字,可以选取一个固定的值,也可以根据当前数据集的特性动态的调整。
3.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(2)中,计算抽样数据块之间的距离的步骤为:将修正后的数据文件长度减去抽样数据长度乘以抽样数据数量的乘积,然后将得到的差值除以抽样数据块数量减一,将得到的商作为抽样数据块之间的距离;最后,判断这个值是否大于0,如果小于0,则使抽样数据块之间的距离等于0;反之,不做任何处理。
4.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(3)中,计算抽样数据块的位置具体为:对于第i个数据数块,其中:1=<i<抽样数据块数量,将i减一后乘以抽样数据块长度加上抽样数据块之间距离的和,最后将得到的乘积作为第i块抽样数据块在数据文件中位置偏移值。
5.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(4)中,具体是在数据文件的首和数据的文件尾各抽取一个数据块。
6.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(5)中,还包括判断数据读取是否完整和是否出现错误的步骤。
7.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(6)中,对于每一个抽样数据块的哈希值,只取其数据的高8位。
8.根据权利要求1所述的大数据下相似性数据快速识别算法,其特征在于,步骤(7)中,进行集合运算的具体步骤为:
首先进行集合交运算,然后进行集合并运算,最后将交集的成员个数除以并集的成员个数,得到的值作为两个数据的相似程度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247704.9A CN104021179B (zh) | 2014-06-05 | 2014-06-05 | 一种大数据集下相似性数据的快速识别算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247704.9A CN104021179B (zh) | 2014-06-05 | 2014-06-05 | 一种大数据集下相似性数据的快速识别算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021179A true CN104021179A (zh) | 2014-09-03 |
CN104021179B CN104021179B (zh) | 2017-05-31 |
Family
ID=51437933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410247704.9A Active CN104021179B (zh) | 2014-06-05 | 2014-06-05 | 一种大数据集下相似性数据的快速识别算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021179B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677645A (zh) * | 2014-11-17 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种数据表比对方法和装置 |
CN109522239A (zh) * | 2018-09-30 | 2019-03-26 | 上海恺英网络科技有限公司 | 一种共同特征数据确定的方法及设备 |
CN110210217A (zh) * | 2018-04-26 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种文件的识别方法、设备以及计算机可读存储介质 |
CN111368122A (zh) * | 2020-02-14 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 一种图片去重的方法及装置 |
CN113220943A (zh) * | 2021-06-04 | 2021-08-06 | 上海天旦网络科技发展有限公司 | 一种半结构化流量数据中的目标信息定位方法及系统 |
WO2022021849A1 (zh) * | 2020-07-30 | 2022-02-03 | 苏州浪潮智能科技有限公司 | 一种基于icc的数据一致性检验方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1234939A (zh) * | 1997-05-28 | 1999-11-10 | 索尼公司 | 减少数据块失真的方法和装置及编码数据的方法和装置 |
US20100088315A1 (en) * | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale filtering and/or sorting for querying of column based data encoded structures |
CN102362504A (zh) * | 2009-09-25 | 2012-02-22 | 松下电器产业株式会社 | 记录介质、再现装置以及集成电路 |
-
2014
- 2014-06-05 CN CN201410247704.9A patent/CN104021179B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1234939A (zh) * | 1997-05-28 | 1999-11-10 | 索尼公司 | 减少数据块失真的方法和装置及编码数据的方法和装置 |
US20100088315A1 (en) * | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale filtering and/or sorting for querying of column based data encoded structures |
CN102362504A (zh) * | 2009-09-25 | 2012-02-22 | 松下电器产业株式会社 | 记录介质、再现装置以及集成电路 |
Non-Patent Citations (5)
Title |
---|
廖海生: "基于重复数据删除技术的数据容灾系统的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
张帆: "数据流挖掘中聚类算法的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
王灿: "基于在线重复数据消除的海量数据处理关键技术研究", 《中国博士学位论文全文数据库 信息科技辑 》 * |
符永铨: "基于拓扑感知和无偏抽样的快速数据分发研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
魏建生: "高性能重复数据检测与删除技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677645A (zh) * | 2014-11-17 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种数据表比对方法和装置 |
CN105677645B (zh) * | 2014-11-17 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种数据表比对方法和装置 |
CN110210217A (zh) * | 2018-04-26 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种文件的识别方法、设备以及计算机可读存储介质 |
CN109522239A (zh) * | 2018-09-30 | 2019-03-26 | 上海恺英网络科技有限公司 | 一种共同特征数据确定的方法及设备 |
CN111368122A (zh) * | 2020-02-14 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 一种图片去重的方法及装置 |
WO2022021849A1 (zh) * | 2020-07-30 | 2022-02-03 | 苏州浪潮智能科技有限公司 | 一种基于icc的数据一致性检验方法及系统 |
CN113220943A (zh) * | 2021-06-04 | 2021-08-06 | 上海天旦网络科技发展有限公司 | 一种半结构化流量数据中的目标信息定位方法及系统 |
CN113220943B (zh) * | 2021-06-04 | 2022-09-30 | 上海天旦网络科技发展有限公司 | 一种半结构化流量数据中的目标信息定位方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104021179B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104021179A (zh) | 一种大数据集下相似性数据的快速识别算法 | |
CN105718506B (zh) | 一种科技项目查重对比的方法 | |
US9954895B2 (en) | System and method for identifying phishing website | |
WO2019218699A1 (zh) | 欺诈交易判断方法、装置、计算机设备和存储介质 | |
CN105069056B (zh) | 基于字符串匹配的身份证住址信息解析方法及系统 | |
WO2019075969A1 (zh) | 表格信息结构化提取方法、电子设备及计算机可读存储介质 | |
CN110427612B (zh) | 基于多语言的实体消歧方法、装置、设备和存储介质 | |
CN105630765A (zh) | 地名地址识别方法 | |
WO2015003421A1 (zh) | 一种可以快速进行字符串匹配的算法 | |
WO2019148712A1 (zh) | 钓鱼网站检测方法、装置、计算机设备和存储介质 | |
CN113761880B (zh) | 一种用于文本校验的数据处理方法、电子设备及存储介质 | |
CN104636319A (zh) | 一种文本去重方法和装置 | |
US20150347493A1 (en) | System and method for processing data | |
CN102142282A (zh) | 一种NAND Flash存储芯片ECC校验算法的识别方法 | |
CN103164515A (zh) | 计算机系统涉密文件知识库搜索方法 | |
CN104714950A (zh) | 用于对数据库中的信息进行修正及补充的方法及系统 | |
KR20140053888A (ko) | 판식 파일중 구조화 정보 획득방법 및 장치 | |
CN103366120A (zh) | 基于脚本的漏洞攻击图生成方法 | |
CN113553854A (zh) | 实体关系的联合抽取方法和联合抽取装置 | |
CN111178203B (zh) | 签名审核方法、装置、计算机设备和存储介质 | |
CN112182337B (zh) | 从海量短新闻中识别相似新闻的方法及相关设备 | |
CN103235791A (zh) | 一种基于秩次的指纹匹配优化定位方法 | |
CN106095808B (zh) | 一种mdb文件碎片恢复的方法和装置 | |
US7849037B2 (en) | Method for using the fundamental homotopy group in assessing the similarity of sets of data | |
CN114220113A (zh) | 一种论文质量检测方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190729 Address after: 511400 Room 3102, 82 Hanxing East Road, Zhongcun Street, Panyu District, Guangzhou, Guangdong Province Patentee after: Guangzhou Mo wing Mdt InfoTech Ltd Address before: 510632 West Whampoa Road, Guangdong, Guangzhou, No. 601 Patentee before: Jinan University |