数据处理方法及数据处理设备技术

技术编号:7788975 阅读:150 留言:0更新日期:2012-09-21 23:09
本发明专利技术实施例提供了数据处理方法及数据处理设备,如果待压缩的数据中包含了与重复数据库中的可变块的前半部分相同并且与可变块的后半部分不同的数据片段,则能够生成粒度小于发生匹配的可变块的新的可变块,并将新的可变块添加到重复数据库。新的可变块粒度较小,提高了后续的待压缩数据与更新后的重复数据库发生匹配的概率,进而提高了压缩的效率。

【技术实现步骤摘要】

本专利技术涉及报文处理技术,尤其涉及ー种数据处理方法及数据处理设备
技术介绍
数据压缩是对报文内容进行算法处理,减小数据量,但不影响信息传递的过程。数据压缩是为了达到节约网络传送带宽、实现应用加速的目的。根据CDC(Content-Defined Chunking)可变块 算法生成包含可变块、可变块的指纹以及可变块的摘要的重复数据库。生成重复数据库后,如果待压缩的数据中包含了与可变块的前半部分相同并且与可变块的后半部分不同的数据片段,则数据片段的指纹与可变块的指纹匹配,则数据片段的摘要与可变块的摘要不匹配。CDC算法认为重复数据库需要进行更新,并使用定界滑窗机制生成新的可变块。新的可变块粒度可能比较大,降低了后续的待压缩数据与更新后的重复数据库发生匹配的概率。以上可能导致压缩效率下降。
技术实现思路
本专利技术实施例提供ー种数据处理方法及数据处理设备,用于提高数据压缩效率。一方面,本专利技术实施例提供了ー种数据处理方法,包括根据指纹算法计算待压缩数据中的第一片段的第一指紋,所述第一片段的起始位置与所述待压缩数据的起始位置相同,所述第一片段的长度与第一滑窗的长度相同;在第一本地重复数据库中查找所述第一指纹,所述第一本地重复数据库用于存储重复数据、所述重复数据的指纹以及所述重复数据的摘要;如果所述第一本地重复数据库中存在所述第一指紋,则根据所述第一指纹获取所述第一本地重复数据库中的第一可变块以及所述第一可变块的摘要,所述第一指纹与根据所述指纹算法计算得到的所述第一可变块中的第一初始块的指纹相同,所述第一初始块的起始位置与所述第一可边块的起始位置相同,所述第一初始块的长度与所述第一滑窗的长度相同,所述第一可变块的摘要为根据摘要算法对所述第一可变块的摘要进行计算得到的;根据所述摘要算法计算所述待压缩数据中的第二片段的摘要,所述第二片段的起始位置与所述待压缩数据的起始位置相同,所述第二片段的长度与所述第一可变块的长度相同;比较所述第二片段的摘要与所述第一可变块的摘要;如果所述第二片段的摘要与所述第一可变块的摘要不同,则获取所述第二片段中的第一子片段,所述第一子片段与所述第一可变块中的第一子可变块相同,所述第一子片段的起始位置与所述第二片段的起始位置相同,所述第一子可变块的起始位置与所述第一可变块的起始位置相同,所述第二片段中的第二比特与所述第一可变块中的第一比特不同,所述第二比特为所述第二片段中所述第一子片段的下一个比特,所述第一比特为所述第一可变块中所述第一子可变块的下一个比特;将所述第一子片段、所述第一子片段的指纹以及所述第一子片段的摘要添加到所述第一本地重复数据库,生成第二本地重复数据库,所述第一子片段的指纹与所述第一指纹相同,所述第一子片段的摘要为根据所述摘要算法对所述第一子片段的摘要进行计算得到的。另ー方面,本专利技术实施例还提供了ー种数据压缩设备,包括第一指纹计算単元,用于根据指纹算法计算待压缩数据中的第一片段的第一指纹,所述第一片段的起始位置与所述待压缩数据的起始位置相同,所述第一片段的长度与第一滑窗的长度相同;查找单元,用于在第一本地重复数据库中查找所述第一 指纹,所述第一本地重复数据库用于存储重复数据、所述重复数据的指纹以及所述重复数据的摘要;重复内容获取单元,用于如果所述第一本地重复数据库中存在所述第一指纹,则根据所述第一指纹获取所述第一本地重复数据库中的第一可变块以及所述第一可变块的摘要,所述第一指纹与根据所述指纹算法计算得到的所述第一可变块中的第一初始块的指纹相同,所述第一初始块的起始位置与所述第一可边块的起始位置相同,所述第一初始块的长度与所述第一滑窗的长度相同,所述第一可变块的摘要为根据摘要算法对所述第一可变块的摘要进行计算得到的;摘要计算单元,用于根据所述摘要算法计算所述待压缩数据中的第二片段的摘要,所述第二片段的起始位置与所述待压缩数据的起始位置相同,所述第二片段的长度与所述第一可变块的长度相同;摘要比较单元,用于比较所述第二片段的摘要与所述第一可变块的摘要;第一子片段获取単元,用于如果所述第二片段的摘要与所述第一可变块的摘要不同,则获取所述第二片段中的第一子片段,所述第一子片段与所述第一可变块中的第一子可变块相同,所述第一子片段的起始位置与所述第二片段的起始位置相同,所述第一子可变块的起始位置与所述第一可变块的起始位置相同,所述第二片段中的第二比特与所述第一可变块中的第ー比特不同,所述第二比特为所述第二片段中所述第一子片段的下一个比特,所述第一比特为所述第一可变块中所述第一子可变块的下一个比特;第一添加単元,用于将所述第一子片段、所述第一子片段的指纹以及所述第一子片段的摘要添加到所述第一本地重复数据库,生成第二本地重复数据库,所述第一子片段的指纹与所述第一指纹相同,所述第一子片段的摘要为根据所述摘要算法对所述第一子片段的摘要进行计算得到的。又一方面,本专利技术实施例还提供了 ー种数据解压缩设备,包括第一指纹计算単元,用于根据指纹算法计算待压缩数据中的第一片段的第一指纹,所述第一片段的起始位置与所述待压缩数据的起始位置相同,所述第一片段的长度与第一滑窗的长度相同;查找单元,用于在第一本地重复数据库中查找所述第一指纹,所述第一本地重复数据库用于存储重复数据、所述重复数据的指纹以及所述重复数据的摘要;重复内容获取单元,用于如果所述第一本地重复数据库中存在所述第一指纹,则根据所述第一指纹获取所述第一本地重复数据库中的第一可变块以及所述第一可变块的摘要,所述第一指纹与根据所述指纹算法计算得到的所述第一可变块中的第一初始块的指纹相同,所述第一初始块的起始位置与所述第一可边块的起始位置相同,所述第一初始块的长度与所述第一滑窗的长度相同,所述第一可变块的摘要为根据摘要算法对所述第一可变块的摘要进行计算得到的;摘要计算单元,用于根据所述摘要算法计算所述待压缩数据中的第二片段的摘要,所述第二片段的起始位置与所述待压缩数据的起始位置相同,所述第二片段的长度与所述第一可变块的长度相同;摘要比较单元,用于比较所述第二片段的摘要与所述 第一可变块的摘要;第一子片段获取単元,用于如果所述第二片段的摘要与所述第一可变块的摘要不同,则获取所述第二片段中的第一子片段,所述第一子片段与所述第一可变块中的第一子可变块相同,所述第一子片段的起始位置与所述第二片段的起始位置相同,所述第一子可变块的起始位置与所述第一可变块的起始位置相同,所述第二片段中的第二比特与所述第一可变块中的第ー比特不同,所述第二比特为所述第二片段中所述第一子片段的下一个比特,所述第一比特为所述第一可变块中所述第一子可变块的下一个比特;第一添加単元,用于将所述第一子片段、所述第一子片段的指纹以及所述第一子片段的摘要添加到所述第一本地重复数据库,生成第二本地重复数据库,所述第一子片段的指纹与所述第一指纹相同,所述第一子片段的摘要为根据所述摘要算法对所述第一子片段的摘要进行计算得到的。根据本专利技术实施例提供的技术方案,如果待压缩的数据中包含了与重复数据库中的可变块的前半部分相同并且与可变块的后半部分不同的数据片段,则能够生成粒度小于发生匹配的可变块的新的可变块,并将新的可变块添加到重复数据库。新的可变块粒度较小,提高了后续的待压缩数据与更新后的重复数据库发生匹配本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据数据处理方法,其特征在于,包括 根据指纹算法计算待压缩数据中的第一片段的第一指纹,所述第一片段的起始位置与所述待压缩数据的起始位置相同,所述第一片段的长度与第一滑窗的长度相同; 在第一本地重复数据库中查找所述第一指纹,所述第一本地重复数据库用于存储重复数据、所述重复数据的指纹以及所述重复数据的摘要; 如果所述第一本地重复数据库中存在所述第一指纹,则根据所述第一指纹获取所述第一本地重复数据库中的第一可变块以及所述第一可变块的摘要,所述第一指纹与根据所述指纹算法计算得到的所述第一可变块中的第一初始块的指纹相同,所述第一初始块的起始位置与所述第一可边块的起始位置相同,所述第一初始块的长度与所述第一滑窗的长度相同,所述第一可变块的摘要为根据摘要算法对所述第一可变块的摘要进行计算得到的; 根据所述摘要算法计算所述待压缩数据中的第二片段的摘要,所述第二片段的起始位置与所述待压缩数据的起始位置相同,所述第二片段的长度与所述第一可变块的长度相同; 比较所述第二片段的摘要与所述第一可变块的摘要; 如果所述第二片段的摘要与所述第一可变块的摘要不同,则获取所述第二片段中的第一子片段,所述第一子片段与所述第一可变块中的第一子可变块相同,所述第一子片段的起始位置与所述第二片段的起始位置相同,所述第一子可变块的起始位置与所述第一可变块的起始位置相同,所述第二片段中的第二比特与所述第一可变块中的第一比特不同,所述第二比特为所述第二片段中所述第一子片段的下一个比特,所述第一比特为所述第一可变块中所述第一子可变块的下一个比特; 将所述第一子片段、所述第一子片段的指纹以及所述第一子片段的摘要添加到所述第一本地重复数据库,生成第二本地重复数据库,所述第一子片段的指纹与所述第一指纹相同,所述第一子片段的摘要为根据所述摘要算法对所述第一子片段的摘要进行计算得到的。2.根据权利要求I所述方法,其特征在于,还包括 接收第一报文,所述第一报文包括第一报文头与第一净荷,所述第一净荷包含第一净荷片段,所述第一净荷片段的长度与所述第一子片段的长度相同; 根据所述指纹算法计算所述第一净荷片段中第二初始块的指纹,所述第二初始块的起始位置与所述第一净荷片段的起始位置相同,所述第二初始块的长度与所述第一滑窗的长度相冋; 根据所述摘要算法计算所述第一净荷片段的摘要; 如果所述第二初始块的指纹与所述第二本地重复数据库中的所述第一子片段的指纹相等,并且所述第一净荷片段的摘要与所述第一子片段的摘要相等,则删除所述第一报文中的所述第一净荷片段,生成第二报文,所述第二报文中包括第二报文头与第二净荷,所述第二报文头与所述第一报文头相同,所述第二净荷包括所述第一子片段的指纹。3.根据权利要求2所述方法,其特征在于,所述第二净荷还包括所述第一子片段在所述第一报文中的位置信息。4.根据权利要求I所述方法,其特征在于,所述获取所述第二片段中的第一子片段之后,所述方法还包括根据所述指纹算法计算所述待压缩数据中的第二子片段的第三初始块的指纹,所述第二子片段的起始位置为所述第二比特,所述第二子片段的结束位置与所述待压缩数据的结束位置相同;所述第三初始块的起始位置为所述第二比特,所述第三初始块的长度等于所述第一滑窗的长度; 根据第二滑窗获取第二子可变块中的第一检测块,所述第二滑窗的起始位置与所述第二子可变块中的第三比特对应,所述第三比特为介于第二子可变块的起始位置与所述第二子可变块的结束位置之间的比特,所述第二滑窗的长度等于所述第一滑窗的长度,所述第二子可变块的起始位置为所述第一比特,所述第二子可变块的结束位置与所述第一可变块的结束位置相同; 根据所述指纹算法计算所述第一检测块的指纹; 比较所述第三初始块的指纹与所述第一检测块的指纹; 如果所述第三初始块的指纹与所述第一检测块的指纹相同,则比较所述第二子可变块中的第三子可变块的摘要与所述第二子片段中的第三子片段的摘要,所述第三子可变块的起始位置与所述第一检测块的起始位置相同,所述第三子可变块的结束位置与所述第一可变块的结束位置相同,所述第三子片段的起始位置与所述第二子片段的起始位置相同,所述第三子片段的长度与所述第三子可变块的长度相等,所述第三子可变块的摘要为根据所述摘要算法对所述第三子可变块的摘要进行计算得到的; 如果所述第三子片段的摘要与所述第三子可变块的摘要相等,则将所述第三子片段、所述第三子片段的指纹以及所述第三子片段的摘要添加到所述第二本地重复数据库,生成第三本地重复数据库,所述第三子片段的指纹等于所述第三初始块的指纹,所述第三子片段的摘要为根据所述摘要算法对所述第三子片段的摘要进行计算得到的。5.根据权利要求4所述方法,其特征在于,还包括 接收第三报文,所述第三报文包括第三报文头与第三净荷,所述第三净荷包含第二净荷片段以及第三净荷片段,所述第二净荷片段的长度与所述第一子片段的长度相同,所述第三净荷片段的长度与所述第三子片段的长度相同; 根据所述指纹算法计算所述第二净荷片段中第四初始块的指纹,根据所述指纹算法计算所述第三净荷片段中第五初始块的指纹,所述第四初始块的起始位置与所述第二净荷片段的起始位置相同,所述第四初始块的长度与所述第一滑窗的长度相同,所述第五初始块的起始位置与所述第三净荷片段的起始位置相同,所述第五初始块的长度与所述第一滑窗的长度相同; 根据所述摘要算法计算所述第二净荷片段的摘要,根据所述摘要算法计算所述第三净荷片段的摘要; 如果所述第四初始块的指纹与所述第三本地重复数据库中的所述第一子片段的指纹相等,并且所述第二净荷片段的摘要与所述第一子片段的摘要相等,则删除所述第三报文中的所述第二净荷片段,如果所述第五初始块的指纹与所述第三本地重复数据库中的所述第三子片段的指纹相等,并且所述第三净荷片段的摘要与所述第三子片段的摘要相等,则删除所述第三报文中的所述第三净荷片段,生成第四报文,所述第四报文中包括第四报文头与第四净荷,所述第四报文头与所述第三报文头相同,所述第四净荷包括所述第一子片段的指纹以及所述第三子片段的指纹。6.根据权利要求4所述方法,其特征在于,所述第四净荷还包括所述第一子片段在所述第三报文中的位置信息、所述第三子片段在所述第三报文中的位置信息。7.根据权利要求I所述方法,其特征在于,所述方法还包括 根据所述指纹算法计算所述第一可变块中的第四子可变块的第六初始块的指纹,所述第四子可变块的起始位置为所述第一比特,所述第四子可变块的结束位置与所述第一可变块的结束位置相同,所述第六初始块的起始位置为所述第一比特,所述第六初始块的长度等于所述第一滑窗的长度; 获取第四子片段中的第二检测块,所述第二检测块的起始位置与所述第四子片段中的第四比特对应,所述第四比特为介于第三片段的起始位置与所述第三片段的结束位置之间的比特,所述第二检测块的长度等于所述第一滑窗的长度,所述第三片段的起始位置为所述第二比特,所述第三片段的结束位置通过定界算法确定,所述第三片段为所述待压缩数据中的片段,所述第四子片段为所述第三片段中的子片段,所述第四子片段的起始位置与所述第二检测块的起始位置相同,所述第四子片段的长度与所述第四子可变块的长度相同; 根据所述指纹算法计算所述第二检测块的指纹; 比较所述第六初始块的指纹与所述第二检测块的指纹; 如果所述第六初始块的指纹与所述第二检测块的指纹相同,则比较所述第四子可变块的摘要与所述第四子片段的摘要,所述第四子可变块的摘要为根据所述摘要算法对所述第四子可变块的摘要进行计算得到的,所述第四子片段的摘要为根据所述摘要算法对所述第四子片段的摘要进行计算得到的; 如果所述第四子片段的摘要与所述第四子可变块的摘要相同,则将所述第四子片段、所述第四子片段的指纹以及所述第四子片段的摘要添加到所述第二本地重复数据库,生成第四本地重复数据库,所述第四子片段的指纹与所述第六初始块的指纹相同。8.根据权利要求7所述方法,其特征在于,还包括 接收第五报文,所述第五报文包括第五报文头与第五净荷,所述第五净荷包含第四净荷片度以及第五净荷片段,所述第四净荷片度的长度与所述第一子片段相同,所述第五净荷片段的长度与所述第四子片段的长度相同; 根据所述指纹算法计算所述第四净荷片段中第七初始块的指纹,根据所述指纹算法计算所述第五净荷片段中第八初始块的指纹,所述第七初始块的起始位置与所述第四净荷片段的起始位置相同,所述第七初始块的长度与所述第一滑窗的长度相同,所述第八初始块的起始位置与所述第五净荷片段的起始位置相同,所述第八初始块的长度与所述第一滑窗的长度相同; 根据所述摘要算法计算所述第四净荷片段的摘要,根据所述摘要算法计算所述第五净荷片段的摘要; 如果所述第七初始块的指纹与所述第四本地重复数据库中的所述第一子片段的指纹相等,并且所述第四净荷片段的摘要与所述第一子片段的摘要相等,则删除所述第五报文中的所述第四净荷片段,如果所述第八初始块的指纹与所述第四本地重复数据库中的所述第四子片段的指纹相等,并且所述第五净荷片段的摘要与所述第四子片段的摘要相等,则删除所述第五报文中的所述第五净荷片段,生成第六报文,所述第六报文中包括第六报文头与第六净荷,所述第六报文头与所述第五报文头相同,所述第六净荷包括所述第一子片段的指纹以及所述第四子片段的指纹。9.根据权利要求8所述方法,其特征在于,所述第六净荷还包括所述第一子片段在所述第五报文中的位置信息、所述第四子片段在所述第五报文中的位置信息。10.根据权利要求7所述方法,其特征在于,所述第三片段的结束位置通过定界算法确定,包括 从所述第二比特开始向后滑动所述定界算法中的第三滑窗,并判断所述第三滑窗对应的数据是否符合所述定界算法中的定界条件,当首次出现所述第三滑窗对应的数据符合所述定界条件时,在第一距离内继续向后滑动所述第三滑窗,并判断所述第三滑窗对应的数据是否符合所述定界条件,如果出现所述第三滑窗对应的第一数据符合所述定界条件的情况时,则确定所述第一数据的结束位置为所述第三片段的结束位置,所述第三滑窗的长度与所述第一滑窗的长度相同,所述第一距离的长度与所述第一滑窗的长度相同。11.根据权利要求I所述方法,其特征在于,还包括将所述第一子片段的指纹以及所述第一子片段的摘要同步到压缩侧的重复数据库。12.根据权利要求1-10任一项所述方法,其特征在于,还包括将所述第一子片段、所述第一子片段的指纹以及所述第一子片段的摘要同步到解压缩侧的重复数据库。13.根据权利要求I所述方法,其特征在于,还包括 删除所述待压缩数据中的所述第一子片段,将所述第一子片段的指纹、所述第一子片段的长度及所述第一子片段在所述待压缩数据中的位置信息添加到第七报文的净荷中,所述待压缩数据为所述第七报文的净荷。14.一种数据压缩设备,其特征在于,包括 第一指纹计算单元,用于根据指纹算法计算待压缩数据中的第一片段的第一指纹,所述第一片段的起始位置与所述待压缩数据的起始位置相同,所述第一片段的长度与第一滑窗的长度相同; 查找单元,用于在第一本地重复数据库中查找所述第一指纹,所述第一本地重复数据库用于存储重复数据、所述重复数据的指纹以及所述重复数据的摘要; 重复内容获取单元,用于如果所述第一本地重复数据库中存在所述第一指纹,则根据所述第一指纹获取所述第一本地重复数据库中的第一可变块以及所述第一可变块的摘要,所述第一指纹与根据所述指纹算法计算得到的所述第一可变块中的第一初始块的指纹相同,所述第一初始块的起始位置与所述第一可边块的起始位置相同,所述第一初始块的长度与所述第一滑窗的长度相同,所述第一可变块的摘要为根据摘要算法对所述第一可变块的摘要进行计算得到的; 摘要计算单元,用于根据所述摘要算法计算所述待压缩数据中的第二片段的摘要,所述第二片段的起始位置与所述待压缩数据的起始位置相同,所述第二片段的长度与所述第一可变块的长度相同; 摘要比较单元,用于比较所述第二片段的摘要与所述第一可变块的摘要; 第一子片段获取单元,用于如果所述第二片段的摘要与所述第一可变块的摘要不同,则获取所述第二片段中的第一子片段,所述第一子片段与所述第一可变块中的第一子可变块相同,所述第一子片段的起始位置与所述第...

【专利技术属性】
技术研发人员:滕新东
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1