CN107783990A - 一种数据压缩方法及终端 - Google Patents

一种数据压缩方法及终端 Download PDF

Info

Publication number
CN107783990A
CN107783990A CN201610729693.7A CN201610729693A CN107783990A CN 107783990 A CN107783990 A CN 107783990A CN 201610729693 A CN201610729693 A CN 201610729693A CN 107783990 A CN107783990 A CN 107783990A
Authority
CN
China
Prior art keywords
data block
compressed
value
storehouse
data
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
Application number
CN201610729693.7A
Other languages
English (en)
Other versions
CN107783990B (zh
Inventor
冷继南
关坤
沈建强
王工艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610729693.7A priority Critical patent/CN107783990B/zh
Priority to PCT/CN2017/092525 priority patent/WO2018036290A1/zh
Publication of CN107783990A publication Critical patent/CN107783990A/zh
Application granted granted Critical
Publication of CN107783990B publication Critical patent/CN107783990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例公开了一种数据压缩方法及终端,该方法包括:终端通过第一计算策略计算待压缩数据块的第一特征值;所述终端判断第一查找库中是否存在第一参考值;若存在所述第一参考值,则所述终端通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;若不存在所述第一参考值,则所述终端通过第二计算策略计算所述待压缩数据块的第二特征值;所述终端判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值;若存在所述第二参考值,则所述终端通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。采用本发明,能够提高压缩率。

Description

一种数据压缩方法及终端
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据压缩方法及终端。
背景技术
数据存储是计算机系统中不可或缺的部分,磁盘、磁带、闪存、非易失性内存、云存储等都可以用来存储数据。全世界每天都会产生巨量的数据,如果对这些数据进行未经处理的原始保存会占用较大的存储空间,成本开销很高;为了有效地保存这些数据,通常会采用数据缩减技术对这些数据进行压缩,常用的数据缩减技术包括重复数据删除、通用无损压缩、相似压缩等技术。
以备份场景为例,连续的两个备份文件之间通常会存在大量的相同数据,可以通过重删技术有效的缩减备份文件的实际存盘数量,即后一个备份文件只保存与前一个备份文件“不同的数据”,从而起到了节省存储成本和降低网络传输的数据量的效果。然而,数据库应用中大量的操作是修改查询,大部分需要下盘的“不同的数据”都是由修改产生。这些修改产生的“不同的数据”与修改前备份的数据之间存在“相似性”,可以通过Delta压缩技术对存在相似性的数据做进一步的压缩,Delta压缩技术的压缩原理如下:
首先为待压缩的数据选择相似数据,然后使用Delta压缩技术参照该相似数据对该待压缩的数据压缩,相似度越高压缩效果越好;现有技术的缺陷在于,该待压缩的数据由多个数据块组成,各个数据块之间的差异性较大,如果通过较高相似度标准为这些数据块选择参考数据块,那么某些数据块可能找不到参考数据块,导致该数据块无法基于Delta压缩技术压缩,如果通过较低相似度标准为这些数据选择参考数据块,那么为某些数据块筛选的参考数据块与该数据块的相似度角度较低,导致该数据块的压缩效果不好。
发明内容
本发明实施例公开了一种数据压缩方法及终端,能够提高压缩率。
第一方面,本发明实施例提供了一种数据压缩方法,该方法包括:终端通过第一计算策略计算待压缩数据块的第一特征值;所述终端判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;若存在所述第一参考值,则所述终端通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;若不存在所述第一参考值,则所述终端通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;所述终端判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;若存在所述第二参考值,则所述终端通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
通过执行上述步骤,终端以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
结合第一方面,在第一方面的第一种可能的实现方式中,所述终端通过第一计算策略计算预设的待压缩数据块的第一特征值之前,所述方法还包括:所述终端从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;所述终端通过第一计算策略计算预设的待压缩数据块的第一特征值,包括:将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;所述终端通过第二计算策略计算所述待压缩数据块的第二特征值,包括:将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
结合第一方面,或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,对所述待压缩数据块压缩之后,所述方法还包括:所述终端将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:所述终端将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述终端通过第一计算策略计算待压缩数据块的第一特征值之前,所述方法还包括:所述终端统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;所述终端根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则执行所述终端通过第一计算策略计算待压缩数据块的第一特征值的步骤。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述终端通过第二计算策略计算所述待压缩数据块的第二特征值之前,所述方法还包括:所述终端统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;所述终端根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;当所述第二中标率低于预设的第二中标阈值时,执行所述若不存在所述第一参考值,则所述终端通过第二计算策略计算所述待压缩数据块的第二特征值的步骤。
第二方面,本发明实施例提供一种终端,该终端包括:第一计算单元,用于通过第一计算策略计算待压缩数据块的第一特征值;第一判断单元,用于判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;第一压缩单元,用于在所述第一判断单元判断出存在所述第一参考值时,通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;第二计算单元,用于在所述第一判断单元判断出不存在所述第一参考值时,通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;第二判断单元,用于判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;第二压缩单元,用于在所述第二判断单元判断出存在所述第二参考值时,通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
通过执行上述操作,终端以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
结合第二方面,在第二方面的第一种可能的实现方式,所述终端还包括:划分单元,用于在所述第一计算单元通过第一计算策略计算预设的待压缩数据块的第一特征值之前,从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;所述第一计算单元具体用于将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;所述第二计算单元具体用于将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
结合第二方面,或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述终端还包括:添加单元,用于将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述终端还包括:删除单元,用于将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述方法还包括:第一统计单元,用于在所述第一计算单元通过第一计算策略计算待压缩数据块的第一特征值之前,统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;第三计算单元,用于根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则触发所述第一计算单元通过第一计算策略计算待压缩数据块的第一特征值。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,所述终端还包括:第二统计单元,用于在所述第一计算单元通过第二计算策略计算所述待压缩数据块的第二特征值之前所述终端统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;第四计算单元,用于根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;当所述第二中标率低于预设的第二中标阈值时,触发所述第二计算单元在不存在所述第一参考值时,通过第二计算策略计算所述待压缩数据块的第二特征值。
第三方面,本发明实施例提供一种终端,所述终端包括处理器和存储器:所述存储器用于存储数据和程序;所述处理器调用所述存储器中的程序用于执行如下操作:通过第一计算策略计算待压缩数据块的第一特征值;判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;若存在所述第一参考值,则通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;若不存在所述第一参考值,则通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;若存在所述第二参考值,则通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
通过执行上述操作,终端以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器通过第一计算策略计算预设的待压缩数据块的第一特征值之前,还用于:从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;所述处理器通过第一计算策略计算预设的待压缩数据块的第一特征值,具体为:将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;所述处理器通过第二计算策略计算所述待压缩数据块的第二特征值,具体为:将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
结合第三方面,或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,对所述待压缩数据块压缩之后,所述处理器还用于:将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器通过第一计算策略计算待压缩数据块的第一特征值之前,还用于:统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则执行通过第一计算策略计算待压缩数据块的第一特征值的操作。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器通过第二计算策略计算所述待压缩数据块的第二特征值之前,还用于:统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;当所述第二中标率低于预设的第二中标阈值时,执行所述若不存在所述第一参考值,则通过第二计算策略计算所述待压缩数据块的第二特征值的操作。
通过实施本发明实施例,终端以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据压缩方法的流程示意图;
图2是本发明实施例提供的又一种数据压缩方法的流程示意图;
图3是本发明实施例提供的一种生成特征值的场景示意图;
图4是本发明实施例提供的又一种生成特征值的场景示意图;
图5是本发明实施例提供的一种按照优先级选择参考数据块的场景示意图;
图6是本发明实施例提供的又一种数据压缩方法的流程示意图;
图7是本发明实施例提供的又一种数据压缩方法的流程示意图;
图8是本发明实施例提供的一种终端的结构示意图;
图9是本发明实施例提供的又一种终端的结构示意图。
具体实施方式
下面将附图对本发明实施例中的技术方案进行清楚、完整地描述。本发明的总体思想是将相似压缩(即Delta压缩)技术中“相似”的标准划分为至少两个等级(或称作“优先级”),在有数据要压缩时,先通过等级更高的“相似”评判标准来查找与待压缩的数据相似的数据,若未找到则通过等级稍低的“相似”评判标准来查找与该待压缩的数据相似的数据,依次类推,直至找到与该待压缩数据相似的数据,并通过Delta压缩技术参照该相似的数据对待压缩的数据进行压缩。本发明实施例中,压缩率等于数据压缩之前的大小除以数据压缩之后的大小,因此压缩率越大表明压缩后的数据越小,压缩效果越理想。
请参见图1,图1是本发明实施例提供的一种数据压缩方法的流程示意图,该方法包括但不限于如下步骤。
步骤S101:终端通过第一计算策略计算待压缩数据块的第一特征值。
具体地,该终端可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(英文:mobile internet device,简称:MID)、可穿戴设备(例如智能手表(如iWatch等)、智能手环、计步器等)或其他涉及到数据压缩的终端设备。在对数据压缩时可以以数据块为单位进行压缩,数据块常用的大小有4K、8K等,该待压缩数据块是指当前即将要进行压缩的数据块。
在本发明实施例中,可以预先设置多个计算策略且每个计算策略均可以对数据块进行计算以得到一个特征值,该特征值用于体现被计算的数据块的特征,两个数据块越相似则通过该计算策略计算出的这两个数据块的特征值越接近。
该多个计算策略之间存在优先级,任意两个相邻优先级的计算策略中,优先级较高的计算策略刻称为第一计算策略,优先级较低的计算策略可称为第二计算策略,该第一计算策略与该第二计算策略之间存在如下关系:两个数据块的相似度高于第一相似阈值时,通过该第一计算策略计算出的该两个数据块的特征值相同;两个数据块的相似度高于第二相似阈值时,通过该第二计算策略计算出的该两个数据块的特征值相同,该第一相似阈值高于该第二相似阈值。也即是说,基于更高优先级的计算策略衡量两个数据块相似的标准,比基于更低优先级的计算策略衡量连个数据块相似的标识更高。
在本发明实施例中,该终端会基于该第一计算策略计算待压缩数据块的特征值,可称计算得到的特征值为第一特征值。通过该第一计算策略计算待压缩数据块的具体方式此处暂不作限定,以下参照图2例举一种可选的实现方式。
第一步:该终端从待压缩数据块中划分出M个数据单元,该M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;例如,可以以4字节(byte)长度为单位,将该待压缩数据块划分成M个部分,划分出的每部分称为数据单元,通过预设的哈希函数为这M个数据单元中每个数据单元计算出一个哈希值,计算出的该哈希值即为该初始参考值,第i个数据单元的初始参考值可以表示为h(xi),i大于等于1小于等于M。
第二步:该终端将该M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算该待压缩数据块的第一特征值,P大于等于2。具体实现可以如下:
1、配置P组参数,该P组参数中的第j组参数可以表示为:{Sj,pj,qj},j大于等于1小于等于P,Sj为抽样比,(pj,qj)为线性参数组;
2、从{h(x1),h(x2),…h(xi)…,h(xM)}中按照抽样比Sj进行抽样得到抽样序列{h(x1j),h(x2j),…h(xkj)},k大于等于1小于等于M;
3、以基于参数组(pj,qj)构建的过滤函数f(kj)=h(xkj)×pj+qj,对抽样序列{h(x1j),h(x2j),…,h(xkj)}中每个元素分别进行计算,得到计算序列{f(1j),f(2j),…,f(kj)}。
4、获取计算序列{f(1j),f(2j),…f(kj)}中的最大值,可表示为f(j)max
5、第一特征值HP={f(1)max,f(2)max,……,f(P)max}。
为了更好地理解上述公式所表达的含义,以下提供具体数值来举例说明,假设P等于3,M等于5,K=3,即要配置三组参数{S1,p1,q1}、{S1,p2,q2}和{S3,p3,q3},基于S1、S1和S3抽样得到的抽样序列均为{h(x1),h(x2),h(x3)}。
假设基于上述参数的计算结果如下:
f(11)=h(x1)×p1+q1=6;f(21)=h(x2)×p1+q1=9;f(31)=h(x2)×p1+q1=1;
f(12)=h(x1)×p2+q2=1;f(22)=h(x2)×p2+q2=4;f(32)=h(x2)×p2+q2=5;
f(13)=h(x1)×p3+q3=3;f(23)=h(x2)×p3+q3=2;f(33)=h(x2)×p3+q3=7;
那么,计算序列{f(11),f(21),…f(31)}中的最大值f(1)max为9,计算序列{f(12),f(22),…f(32)}中的最大值f(2)max为5,计算序列{f(13),f(23),…f(33)}中的最大值f(3)max为7,因此第一特征值HP={9,5,7}。在一种可选的方案中,P个过滤函数中每个过滤函数的输入均为{h(x1),h(x2),…h(xi)…,h(xM)},图3为对应的场景示意图;在又一种可选的方案中,P个过滤函数中有一个过滤函数的输入为{h(x1),h(x2),…h(xi)…,h(xM)},该过滤函数的输出作为另一个过滤函数的输入,该另一个过滤函数的输出作为又一个过滤函数的输入,依次类推,图4为对应的场景示意图。
需要说明的是,基于第一计算策略计算其他数据块的特征值的方式,可以参照基于该第一计算策略计算该待压缩数据块的第一特征值的方式。
步骤S102:该终端判断第一查找库中是否存在第一参考值,该第一参考值为与该第一特征值相同的特征值,该第一查找库包含N个特征值且每个特征值为基于该第一计算策略对该特征值对应的数据块计算得到,该第一查找库中的该N个特征值一一对应N个数据块,N大于等于1。
具体地,每个计算策略对应有一个查找库,为了方便区分可以将第一计算策略对应的查找库称为第一查找库,将第二计算策略对应的查找库称为第二查找库,其余依次类推。下面以第一查找库为例讲述查找库的特点,该第一查找库中包含了特征值与数据块的对应关系,该第一查找库中每个特征值均为通过该第一计算策略基于该特征值对应的数据块计算得到,假设该查找库中包含N个特征值,那么该N个特征值与N个数据块一一对应。该N个数据块可以为在该带压缩数据块之前已经被压缩过的数据块。该第二查找库中也包含N个特征值与该N个数据块一一对应,只不过该第二查找库中的这N个特征值是通过该第二计算策略对该N个数据块计算得到的。
该终端需要判断该第一查找库中是否包含与第一特征值相同的特征值,若有则可称该相同的特征值为第一参考值以方便后续描述。
步骤S103:若存在该第一参考值,则该终端通过相似压缩技术以该第一参考值对应的数据块为参考数据块对该待压缩数据块压缩。
具体地,如果该第一查找库中存在第一参考值则表明存在与该待压缩数据块相似的数据块,因为只有两个相似的数据块基于该第一计算策略计算得到的特征值才可能相同。
步骤S104:若不存在该第一参考值,则该终端通过第二计算策略计算该待压缩数据块的第二特征值。
具体地,使用第二计算策略计算待压缩数据块的特征值的方式,与使用第一计算策略计算待压缩数据块的特征值的原理类似。在一种可选的方案中,当该终端通过第一计算策略计算预设的待压缩数据块的第一特征值,具体为:将该M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算该待压缩数据块的第一特征值时,该终端通过第二计算策略计算该待压缩数据块的第二特征值,具体为:将该M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算该待压缩数据块的第二特征值,该P个过滤函数包括该Q个过滤函数。参照以上P等于3,M等于5,K=3所举的例子,假设Q=2,那么第二特征值可能为HQ={9,5}。
步骤S105:该终端判断第二查找库中是否存在第二参考值,该第二参考值为与该第二特征值相同的特征值,该第二查找库包含N个特征值且每个特征值为基于该第二计算策略对该特征值对应的数据块计算得到,该第二查找库中的该N个特征值一一对应该N个数据块;
具体地,该终端需要判断该第二查找库中是否包含与第二特征值相同的特征值,若有则可称该相同的特征值为第二参考值以方便后续描述。
步骤S106:若存在该第二参考值,则该终端通过相似压缩技术以该第二参考值对应的数据块为参考数据块对该待压缩数据块压缩。
具体地,如果该第二查找库中存在第二参考值则表明存在与该待压缩数据块相似的数据块,因为只有两个相似的数据块基于该第二计算策略计算得到的特征值才可能相同。
通过上述方法可知,如果存在第一参考值则表明存在较高相似度的数据块,因此参照该相似度较高的数据块压缩;如果不存在第一参考值而存在第二参考值则表明存在较低相似度的数据块,因此参照该相似度较低的数据块压缩,提高了总体压缩率。图5为本发明实施例提供的一种数据压缩的流程示意图,图中示意了多个计算策略且计算策略从上到下优先级依次降低。
在一种可选的方案中,对该待压缩数据块压缩之后,该方法还包括:该终端将该第一特征值加入到该第一查找库中,以及将该第二特征值加入到该第二查找库中,在该第一查找库中该第一特征值对应的数据块为该待压缩数据块,在该第二查找库中该第二特征值对应的数据块为该待压缩数据块。也即是说,压缩过的数据块可用作后续压缩时的参考数据块。
在又一种可选的方案中,该方法还包括:该终端将存在于该第一查找库中的时间超过预设时间阈值的特征值从该第一查找库中删除,以及将存在于该第二查找库中的时间超过该预设时间阈值的特征值从该第二查找库中删除。该预设时间阈值可以根据实际需要预先设定好,也即是说,可以将存在时间较长特征值从查找库中删除,因为存在时间较久远的特征值对应的数据块很可能不具备参考价值,因此将其删掉以腾出更多存储空间,可选的,在删除时还可以先判断该特征值对应的数据块是否从未被用作参考数据块,若该特征值存在的时间较长且对应的数据块未被用作参考数据块,则将该特征值从查找库中删除。图6示出了一种详细的流程示意图。
在又一种可选的方案中,该终端通过第一计算策略计算待压缩数据块的第一特征值之前,该方法还包括:该终端统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定该第二查找库和该多个特征值中存在相同特征值的数量,历史压缩过程中未通过该第一计算策略计算该多个数据块的特征值;该终端根据该多个特征值中特征值的数量以及该相同特征值的数量计算第一中标率;当该第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则执行该终端通过第一计算策略计算待压缩数据块的第一特征值的步骤。
具体地,该可选方案中的第一计算策略为多个计算策略中优先级最高的计算策略,该可选的方案讲述了如何将该第一计算策略加入到该多个计算策略中,在该第一计算策略未加入到该多个计算策略中时,该第二计算策略为优先级最高的计算策略,因此,该终端会通过该第二计算策略计算数据块的特征值而不会通过该第一计算策略计算该数据块的特征值。假设统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值的数量为X,以及确定该第二查找库和该多个特征值中存在相同特征值的数量Y,那么,该第一中标率可以为Y除以X,当该第一中标率高于预设的第一中标阈值,则表明该第二查找库中有很多特征值对应的数据块可用作参考数据块,这反映了该第二计算策略衡量两个数据块相似的标准可能过低,因此需要向该多个计算策略中添加优先级更高的计算策略,即该第一计算策略。
在又一种可选的方案中,该终端通过第二计算策略计算该待压缩数据块的第二特征值之前,该方法还包括:该终端统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定该第一查找库和该多个特征值中存在相同特征值的数量;历史压缩过程中未通过该第二计算策略计算该多个数据块的特征值;该终端根据该多个特征值中特征值的数量以及该相同特征值的数量计算第二中标率;当该第二中标率低于预设的第二中标阈值时,执行该若不存在该第一参考值,则该终端通过第二计算策略计算该待压缩数据块的第二特征值的步骤。
具体地,该可选方案中的第二计算策略为多个计算策略中优先级最低的计算策略,该可选的方案讲述了如何将该第二计算策略加入到该多个计算策略中,在该第二计算策略未加入到该多个计算策略中时,该第一计算策略为优先级最低的计算策略,因此,该终端会通过该第一计算策略计算数据块的特征值而不会通过该第二计算策略计算该数据块的特征值。假设统计历史压缩过程中通过第一计算策略对多个数据块计算得到的多个特征值的数量为S,以及确定该第一查找库和该多个特征值中存在相同特征值的数量T,那么,该第二中标率可以为T除以S,当该第二中标率低于预设的第二中标阈值,则表明该第一查找库中有较少特征值对应的数据块可用作参考数据块,这反映了该第一计算策略衡量两个数据块相似的标准可能过高,因此需要向该多个计算策略中添加优先级更低的计算策略,即该第二计算策略。
基于上述增加第一计算策略和第二计算策略的两种可选的方案,还可以衍生出其他方案,例如,参照基于第一计算策略计算第二中标率以及基于第二计算策略计算第一中标率的原理,计算出上述多个计算策略中每个计算策略各自的中标率,当其中优先级最高的计算策略的中标率高于预先设定的上限阈值TH时,则表明该计算策略衡量两个数据块相似的标准比较低,因此在该多个计算策略中添加更高一级的计算策略以供后续使用(新添加的计算策略比原先已有的任意一个计算策略的计算等级都高);当其中优先级最高的计算策略的中标率不高于预先设定的上限阈值TH时,进一步判断是否所有的计算策略的中标率均小于预先设定的下限阈值TL,若所有的计算策略的中标率均小于下限阈值TL,则表明这些计算策略衡量两个数据块相似的标准比较高,因此向该多个计算策略中添加优先级更低一级的计算策略(新添加的计算策略比原先已有的任意一个计算策略的计算等级都低),若不是所有的计算策略的中标率均小于下限阈值TL,则保持该多个计算策略不变;图7为对应的流程示意图。
在图1所描述的方法中,终端以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
上述详细阐述了本发明实施例的方法,为了便于更好地实施本发明实施例的上述方案,相应地,下面提供了本发明实施例的装置。
请参见图8,图8是本发明实施例提供的一种终端80的结构示意图,该终端80可以包括第一计算单元801、第一判断单元802、第一压缩单元803、第二计算单元804、第二判断单元805和第二压缩单元806,其中,各个单元的详细描述如下。
第一计算单元801用于通过第一计算策略计算待压缩数据块的第一特征值;
第一判断单元802用于判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;
第一压缩单元803用于在所述第一判断单元802判断出存在所述第一参考值时,通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;
第二计算单元804用于在所述第一判断单元802判断出不存在所述第一参考值时,通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;
第二判断单元805用于判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;
第二压缩单元806用于在所述第二判断单元805判断出存在所述第二参考值时,通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
通过运行上述单元,终端80以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
在一种可选的方案中,所述终端还包括:
划分单元,用于在所述第一计算单元801通过第一计算策略计算预设的待压缩数据块的第一特征值之前,从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;
所述第一计算单元801具体用于将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;
所述第二计算单元804具体用于将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
在又一种可选的方案中,所述终端还包括:
添加单元,用于将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
在又一种可选的方案中,所述终端还包括:
删除单元,用于将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
在又一种可选的方案中,所述终端还包括:
第一统计单元,用于在所述第一计算单元通过第一计算策略计算待压缩数据块的第一特征值之前,统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;
第三计算单元,用于根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则触发所述第一计算单元通过第一计算策略计算待压缩数据块的第一特征值。
在又一种可选的方案中,所述终端还包括:
第二统计单元,用于在所述第一计算单元通过第二计算策略计算所述待压缩数据块的第二特征值之前所述终端统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;
第四计算单元,用于根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;当所述第二中标率低于预设的第二中标阈值时,触发所述第二计算单元在不存在所述第一参考值时,通过第二计算策略计算所述待压缩数据块的第二特征值。
需要说明的是,在本发明实施例中,各个单元的具体实现还可以对应参照图1所示的方法实施例的相应描述。
在图8所描述的终端80中,终端80以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
请参见图9,图9是本发明实施例提供的一种终端90,该终端90包括处理器901和存储器902,所述处理器901和存储器902通过总线相互连接。
存储器902包括但不限于是随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、或便携式只读存储器(CD-ROM),该存储器902用于相关指令及数据。
处理器901可以是一个或多个中央处理器(英文:Central Processing Unit,简称:CPU),在处理器901是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
所述终端90中的处理器901用于读取所述存储器902中存储的程序代码,执行以下操作:
通过第一计算策略计算待压缩数据块的第一特征值;判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;若存在所述第一参考值,则通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;若不存在所述第一参考值,则通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;若存在所述第二参考值,则通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
通过执行上述操作,终端90以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
在一种可选的方案中,所述处理器901通过第一计算策略计算预设的待压缩数据块的第一特征值之前,还用于:从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;所述处理器901通过第一计算策略计算预设的待压缩数据块的第一特征值,具体为:将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;所述处理器901通过第二计算策略计算所述待压缩数据块的第二特征值,具体为:将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
在又一种可选的方案中,对所述待压缩数据块压缩之后,所述处理器901还用于:将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
在又一种可选的方案中,所述处理器901还用于:将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
在又一种可选的方案中,所述处理器901通过第一计算策略计算待压缩数据块的第一特征值之前,还用于:统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则执行通过第一计算策略计算待压缩数据块的第一特征值的操作。
在又一种可选的方案中,所述处理器901通过第二计算策略计算所述待压缩数据块的第二特征值之前,还用于:统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;当所述第二中标率低于预设的第二中标阈值时,执行所述若不存在所述第一参考值,则通过第二计算策略计算所述待压缩数据块的第二特征值的操作。
需要说明的是,在本发明实施例中,各个单元的具体实现还可以对应参照图2所示的方法实施例的相应描述。
在图9所描述的终端中,终端90以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
综上所述,通过实施本发明实施例,终端以数据块为单位对数据进行压缩,在压缩时先判断是否存在与待压缩数据块相似度较高的参考数据块,若存在则参照该较高相似度的参考数据块对该待压缩数据块压缩,若不存在则判断是否存在与该待压缩数据块相似度较低的参考数据块,若存在则参照该较低相似度的参考数据块对该待压缩数据块压缩;也即是说,本发明实施例通过多级相似度标准从高到底来选择参考数据块,总体提升了数据压缩时的压缩率,节省了存储空间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅揭露了本发明中较佳实施例,不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (12)

1.一种数据压缩方法,其特征在于,包括:
终端通过第一计算策略计算待压缩数据块的第一特征值;
所述终端判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;
若存在所述第一参考值,则所述终端通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;
若不存在所述第一参考值,则所述终端通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;
所述终端判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;
若存在所述第二参考值,则所述终端通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
2.根据权利要求1所述的方法,其特征在于,所述终端通过第一计算策略计算预设的待压缩数据块的第一特征值之前,所述方法还包括:
所述终端从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;
所述终端通过第一计算策略计算预设的待压缩数据块的第一特征值,包括:
将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;
所述终端通过第二计算策略计算所述待压缩数据块的第二特征值,包括:
将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
3.根据权利要求1或2所述的方法,其特征在于,对所述待压缩数据块压缩之后,所述方法还包括:
所述终端将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述终端将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述终端通过第一计算策略计算待压缩数据块的第一特征值之前,所述方法还包括:
所述终端统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;
所述终端根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;
当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则执行所述终端通过第一计算策略计算待压缩数据块的第一特征值的步骤。
6.根据权利要求1~4任一项所述的方法,其特征在于,所述终端通过第二计算策略计算所述待压缩数据块的第二特征值之前,所述方法还包括:
所述终端统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;
所述终端根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;
当所述第二中标率低于预设的第二中标阈值时,执行所述若不存在所述第一参考值,则所述终端通过第二计算策略计算所述待压缩数据块的第二特征值的步骤。
7.一种终端,其特征在于,包括:
第一计算单元,用于通过第一计算策略计算待压缩数据块的第一特征值;
第一判断单元,用于判断第一查找库中是否存在第一参考值,所述第一参考值为与所述第一特征值相同的特征值,所述第一查找库包含N个特征值且每个特征值为基于所述第一计算策略对所述特征值对应的数据块计算得到,所述第一查找库中的所述N个特征值一一对应N个数据块,N大于等于1;
第一压缩单元,用于在所述第一判断单元判断出存在所述第一参考值时,通过相似压缩技术以所述第一参考值对应的数据块为参考数据块对所述待压缩数据块压缩;
第二计算单元,用于在所述第一判断单元判断出不存在所述第一参考值时,通过第二计算策略计算所述待压缩数据块的第二特征值,两个数据块的相似度高于第一相似阈值时,通过所述第一计算策略计算出的所述两个数据块的特征值相同;所述两个数据块的相似度高于第二相似阈值时,通过所述第二计算策略计算出的所述两个数据块的特征值相同,所述第一相似阈值高于所述第二相似阈值;
第二判断单元,用于判断第二查找库中是否存在第二参考值,所述第二参考值为与所述第二特征值相同的特征值,所述第二查找库包含N个特征值且每个特征值为基于所述第二计算策略对所述特征值对应的数据块计算得到,所述第二查找库中的所述N个特征值一一对应所述N个数据块;
第二压缩单元,用于在所述第二判断单元判断出存在所述第二参考值时,通过相似压缩技术以所述第二参考值对应的数据块为参考数据块对所述待压缩数据块压缩。
8.根据权利要求7所述的终端,其特征在于,所述终端还包括:
划分单元,用于在所述第一计算单元通过第一计算策略计算预设的待压缩数据块的第一特征值之前,从待压缩数据块中划分出M个数据单元,所述M个数据单元中每个数据单元对应有各自的初始参考值,M大于等于1;
所述第一计算单元具体用于将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的P个过滤函数中计算所述待压缩数据块的第一特征值,P大于等于2;
所述第二计算单元具体用于将所述M个数据单元中至少两个数据单元的初始参考值代入到预设的Q个过滤函数中计算所述待压缩数据块的第二特征值,所述P个过滤函数包括所述Q个过滤函数。
9.根据权利要求7或8所述的终端,其特征在于,所述终端还包括:
添加单元,用于将所述第一特征值加入到所述第一查找库中,以及将所述第二特征值加入到所述第二查找库中,在所述第一查找库中所述第一特征值对应的数据块为所述待压缩数据块,在所述第二查找库中所述第二特征值对应的数据块为所述待压缩数据块。
10.根据权利要求9所述的终端,其特征在于,所述终端还包括:
删除单元,用于将存在于所述第一查找库中的时间超过预设时间阈值的特征值从所述第一查找库中删除,以及将存在于所述第二查找库中的时间超过所述预设时间阈值的特征值从所述第二查找库中删除。
11.根据权利要求7~10任一项所述的终端,其特征在于,所述终端还包括:
第一统计单元,用于在所述第一计算单元通过第一计算策略计算待压缩数据块的第一特征值之前,统计历史压缩过程中通过第二计算策略对多个数据块计算得到的多个特征值,以及确定所述第二查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第一计算策略计算所述多个数据块的特征值;
第三计算单元,用于根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第一中标率;当所述第一中标率高于预设的第一中标阈值时,若存在待压缩数据块,则触发所述第一计算单元通过第一计算策略计算待压缩数据块的第一特征值。
12.根据权利要求7~10任一项所述的终端,其特征在于,所述终端还包括:
第二统计单元,用于在所述第一计算单元通过第二计算策略计算所述待压缩数据块的第二特征值之前所述终端统计历史压缩过程中通过第一计算策略对多个数据块压缩得到的多个特征值,以及确定所述第一查找库和所述多个特征值中存在相同特征值的数量;历史压缩过程中未通过所述第二计算策略计算所述多个数据块的特征值;
第四计算单元,用于根据所述多个特征值中特征值的数量以及所述相同特征值的数量计算第二中标率;当所述第二中标率低于预设的第二中标阈值时,触发所述第二计算单元在不存在所述第一参考值时,通过第二计算策略计算所述待压缩数据块的第二特征值。
CN201610729693.7A 2016-08-26 2016-08-26 一种数据压缩方法及终端 Active CN107783990B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610729693.7A CN107783990B (zh) 2016-08-26 2016-08-26 一种数据压缩方法及终端
PCT/CN2017/092525 WO2018036290A1 (zh) 2016-08-26 2017-07-11 一种数据压缩方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610729693.7A CN107783990B (zh) 2016-08-26 2016-08-26 一种数据压缩方法及终端

Publications (2)

Publication Number Publication Date
CN107783990A true CN107783990A (zh) 2018-03-09
CN107783990B CN107783990B (zh) 2021-11-19

Family

ID=61245421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610729693.7A Active CN107783990B (zh) 2016-08-26 2016-08-26 一种数据压缩方法及终端

Country Status (2)

Country Link
CN (1) CN107783990B (zh)
WO (1) WO2018036290A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784227A (zh) * 2019-10-21 2020-02-11 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN111010189A (zh) * 2019-10-21 2020-04-14 清华大学 一种对数据集的多路压缩方法、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
CN1144583A (zh) * 1994-04-01 1997-03-05 多尔拜实验特许公司 用于编码器/译码器系统的紧凑型源编码表
US6804676B1 (en) * 1999-08-31 2004-10-12 International Business Machines Corporation System and method in a data processing system for generating compressed affinity records from data records
CN102103630A (zh) * 2010-12-08 2011-06-22 中国联合网络通信集团有限公司 数据压缩方法和装置以及数据解压缩方法和装置
EP2444909A2 (en) * 2004-04-15 2012-04-25 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
CN102831222A (zh) * 2012-08-24 2012-12-19 华中科技大学 一种基于重复数据删除的差量压缩方法
CN105426413A (zh) * 2015-10-31 2016-03-23 华为技术有限公司 一种编码方法及装置
CN105630999A (zh) * 2015-12-28 2016-06-01 华为技术有限公司 服务器压缩数据的方法和装置
CN105743509A (zh) * 2016-01-26 2016-07-06 华为技术有限公司 数据压缩装置及方法
CN106557777A (zh) * 2016-10-17 2017-04-05 中国互联网络信息中心 一种基于SimHash改进的Kmeans聚类方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751462B2 (en) * 2008-11-14 2014-06-10 Emc Corporation Delta compression after identity deduplication
CN102609491A (zh) * 2012-01-20 2012-07-25 东华大学 一种基于列存储的区级数据压缩方法
US9141301B1 (en) * 2012-06-13 2015-09-22 Emc Corporation Method for cleaning a delta storage system
CN104348490B (zh) * 2014-11-14 2017-09-19 北京东方国信科技股份有限公司 一种基于效果优选的组合数据压缩方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
CN1144583A (zh) * 1994-04-01 1997-03-05 多尔拜实验特许公司 用于编码器/译码器系统的紧凑型源编码表
US6804676B1 (en) * 1999-08-31 2004-10-12 International Business Machines Corporation System and method in a data processing system for generating compressed affinity records from data records
EP2444909A2 (en) * 2004-04-15 2012-04-25 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
CN102103630A (zh) * 2010-12-08 2011-06-22 中国联合网络通信集团有限公司 数据压缩方法和装置以及数据解压缩方法和装置
CN102831222A (zh) * 2012-08-24 2012-12-19 华中科技大学 一种基于重复数据删除的差量压缩方法
CN105426413A (zh) * 2015-10-31 2016-03-23 华为技术有限公司 一种编码方法及装置
CN105630999A (zh) * 2015-12-28 2016-06-01 华为技术有限公司 服务器压缩数据的方法和装置
CN105743509A (zh) * 2016-01-26 2016-07-06 华为技术有限公司 数据压缩装置及方法
CN106557777A (zh) * 2016-10-17 2017-04-05 中国互联网络信息中心 一种基于SimHash改进的Kmeans聚类方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784227A (zh) * 2019-10-21 2020-02-11 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN111010189A (zh) * 2019-10-21 2020-04-14 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN110784227B (zh) * 2019-10-21 2021-07-30 清华大学 一种对数据集的多路压缩方法、装置及存储介质
CN111010189B (zh) * 2019-10-21 2021-10-26 清华大学 一种对数据集的多路压缩方法、装置及存储介质

Also Published As

Publication number Publication date
WO2018036290A1 (zh) 2018-03-01
CN107783990B (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN107430602B (zh) 重复数据删除方法及存储设备
Gueniche et al. Compact prediction tree: A lossless model for accurate sequence prediction
US9251159B1 (en) Partial block allocation for file system block compression using virtual block metadata
Fu et al. Aa-dedupe: An application-aware source deduplication approach for cloud backup services in the personal computing environment
CN107918612B (zh) 键值存储系统数据结构的实现方法和装置
Edel et al. MRAMFS: A compressing file system for non-volatile RAM
US7240069B2 (en) System and method for building a large index
CN103488709B (zh) 一种索引建立方法及系统、检索方法及系统
CN104331269B (zh) 一种嵌入式系统可执行代码压缩方法及代码解压缩系统
CN109716658A (zh) 一种基于相似性的重复数据删除方法和系统
CN105204781A (zh) 压缩方法、装置和设备
CN107729406B (zh) 一种数据分类存储方法及装置
CN104410424B (zh) 嵌入式设备内存数据的快速无损压缩方法
CN104427341A (zh) 一种图像处理方法、装置及终端
CN107783990A (zh) 一种数据压缩方法及终端
Przymus et al. Dynamic compression strategy for time series database using GPU
CN104462334A (zh) 一种列存数据库的数据压缩方法及装置
CN112463784A (zh) 数据去重方法、装置、设备及计算机可读存储介质
WO2021082926A1 (zh) 一种数据压缩的方法及装置
Zhang et al. Recovering SQLite data from fragmented flash pages
CN104077272B (zh) 一种字典压缩的方法和装置
CN113051568A (zh) 一种病毒检测方法、装置、电子设备及存储介质
Wang et al. A cost‐efficient resemblance detection scheme for post‐deduplication delta compression in backup systems
AU2017248412A1 (en) Information processing apparatus, and data management method
CN110032432B (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
GR01 Patent grant
GR01 Patent grant