一种基于网络字典的无损数据压缩方法

文档序号:7769033阅读:628来源:国知局
专利名称:一种基于网络字典的无损数据压缩方法
技术领域
本发明涉及一种无损数据压缩方法,特别是一种基于网络字典的无损数据压缩方 法。
背景技术
压缩技术大致可以分为有损压缩和无损压缩,有损压缩通常用于多媒体数据压 缩,而无损压缩则通常用于通用数据压缩,无损压缩又可分为基于统计模型的压缩方法和 基于字典模型的压缩方法,前者的代表为Huffman编码和算术编码,后者的代表为LZ77、 LZ78、LZW等。现在市面上流行的通用无损压缩软件通常采用基于字典的压缩方法,例如 ZIP、LHarC、ARJ等,然而这些压缩算法的字典均为本地基于源文件而生成的,现有的基于字 典的压缩方法,其字典无论是静态字典还是动态生成,均处在本地,通常压缩效率有限。

发明内容
本发明其目的就在于提供一种基于网络字典的无损数据压缩方法,可以有效提升 压缩效率,极限情况下压缩效率接近100%。实现上述目的而采取的技术方案,包括压缩算法的字典,所述的字典源于服务器 端保存有的压缩数据字典,客户端将文件摘要或者文件块与服务器端字典进行比对,查询 匹配值作为压缩结果的方法。与现有技术相比本发明具有以下优点。由于采用了专用服务器保存的各种类型的字典,并建立了字典索引或者字典地址 列表的技术,因而可以有效提升压缩效率,极限情况下压缩效率接近100%。
具体实施例方式包括压缩算法的字典,所述的字典源于服务器端保存有的压缩数据字典,客户端 将文件摘要或者文件块与服务器端字典进行比对,查询匹配值作为压缩结果的方法。服务器端压缩数据字典可以包括以下两类之一或者全部一类是包含文件名称、 文件内容、Hash值建立的全文字典,另一类是根据定长特征数据或者变长函数值生成的字
Fffi. 所述的客户端将文件摘要与服务器端字典进行比对,是指客户端将客户端欲压缩 文件经过Hash计算后生成的报文摘要或者报文摘要+文件名与服务器端进行比对,其中报 文摘要进行精确匹配,文件名进行模糊匹配。 所述客户端将文件块与服务器端进行比对,可以是精确匹配,也可以是近似匹配, 之后返回的匹配值,包含服务器端字典索引值和客户端文件与服务器端文件的差分值或者 压缩后的差分值。本发明是基于网络字典的无损数据压缩方法,现有的基于字典的压缩方法,其字 典无论是静态字典还是动态生成,均处在本地。本压缩方法的不同点关键在于有专用的服务器保存了各种类型的字典,并建立了字典索引或者字典地址列表。其工作原理如下建立专用的服务器用以保存全文字典、分块字典以及摘要等信息,针对全文压缩时,将欲压缩之源文件经过Hash计算,生成定长摘要,传至服务器与服务 器摘要进行对比,如匹配则以服务器中数据的索引作为压缩结果返回;针对分块文档压缩 时,将欲压缩之分块与服务器端分块字典进行比对,找出相似度最大之数据,然后返回此数 据索引并将差分值以现有压缩方法压缩后发回客户端。这两种方法结合,可以有效提升压 缩效率,实施例压缩方法一因为许多文件有太多的副本,所以以文件为单位定义字典,则压缩的 时间效率和空间效率会高很多,具体实现时可以采用HASH算法将原文件形成定长摘要,与 服务器端进行比对,如果二者相同,则可以建立一一对应关系。其压缩过程描述如下①客户端对源文件进行HASH计算,生成定长摘要;②客户端将摘要或者摘要+文件名传输至服务器端;③服务器端将摘要或者摘要+文件名与摘要字典进行匹配,其中摘要进行精确匹 配,文件名进行模糊匹配,如果匹配成功,则建立一一映射,并将映射结果传回客户端,否则 转⑤;④客户端获得文件映射结果,将结果作为压缩文件保存,压缩完毕;⑤服务器端选择性的将客户端提交的摘要或者摘要+文件名以及源文件添加进 字典中;⑥客户端选用下述压缩方法二或者传统压缩方法进行压缩。压缩方法二客户端在压缩时,可将数据原文或者经过初始压缩的数据分割成块, 其分割过程可以是定长分割,也可以是变长分割,再将各个分块与服务器字典比对,如果相 同则只需记录此数据块在字典中的编号或者地址,如果不同则采用现行压缩算法进行压 缩,服务器端可以选择性的将此数据加入数据字典中。其压缩过程描述如下①客户端对原始数据进行初始压缩(可选项);②客户端将原始数据或者初始压缩后的数据进行分割;③客户端将分割后的数据块依次与服务器端字典进行比对,或者将数据块提交给 服务器端进行比对,如果在字典中找到相同数据块,则转④,否则转⑤;④客户端获得数据块在服务器端索引编号或者地址,并将其作为此数据块的压缩 结果。如果后续还有数据块,则转③,否则转⑥;⑤服务器端选择性的将客户端提交的数据添加进字典中,客户端则使用现有算法 压缩数据块。如果后续还有数据块,则转③;⑥将各数据块的压缩结果组合成最终压缩文件。现有的数据压缩算法认为,本质上压缩数据是因为数据自身具有冗余性。数据压 缩是利用各种算法将数据冗余压缩到最小,并尽可能地减少失真,从而提高传输效率和节 约存储空间。而“基于网络字典的无损数据压缩方法”却并不单纯考虑数据自身的冗余性, 而将着眼点更高地看到了文件之间的冗余。如果说现有数据压缩算法是考虑如何复用程序内部的小规模子程序的话,那么“基于网络字典的无损数据压缩方法”考虑的就是如何复用大型的构件。其主要特点在于通过服务器端保存了大量的字典,而字典的分类可以采用各 种索引方法,例如文件名、文件类型等,针对数据的压缩可以分为针对整个客户端文件的压缩和针对客户端文件的分块压缩,下述方法一为针对整个文件的压缩,方法二为针对文件分块压缩。压缩方法一因为许多文件有太多的副本,所以以文件为单位定义字典,则压缩的时间效率和空间效率会高很多,具体实现时可以采用Hash算法将原文件形成定长摘要,与 服务器端进行比对,如果二者相同,则可以建立一一对应关系。其压缩过程描述如下⑦客户端对源文件进行Hash计算,生成定长摘要;⑧客户端将摘要或者摘要+文件名传输至服务器端;⑨服务器端将摘要或者摘要+文件名与摘要字典进行匹配,其中摘要进行精确匹配,文件名进行模糊匹配,如果匹配成功,则建立一一映射,并将映射结果传回客户端,否则 转⑤;⑩客户端获得文件映射结果,将结果作为压缩文件保存,压缩完毕;□服务器端选择性的将客户端提交的摘要或者摘要+文件名以及源文件添加进 字典中;□客户端选用下述压缩方法二或者传统压缩方法进行压缩。压缩方法二客户端在压缩时,可将数据原文或者经过初始压缩的数据分割成块,其分割过程可以是定长分割,也可以是变长分割,再将各个分块与服务器字典比对,如果相 同则只需记录此数据块在字典中的编号或者地址,如果不同则采用现行压缩算法进行压 缩,服务器端可以选择性的将此数据加入数据字典中。其压缩过程描述如下⑦客户端对原始数据进行初始压缩(可选项);⑧客户端将原始数据或者初始压缩后的数据进行分割;⑨客户端将分割后的数据块依次与服务器端字典进行比对,或者将数据块提交给 服务器端进行比对,如果在字典中找到相同数据块,则转④,否则转⑤;⑩客户端获得数据块在服务器端索引编号或者地址,并将其作为此数据块的压缩 结果。如果后续还有数据块,则转③,否则转⑥;□服务器端选择性的将客户端提交的数据添加进字典中,客户端则使用现有算法 压缩数据块。如果后续还有数据块,则转③;□将各数据块的压缩结果组合成最终压缩文件。
权利要求
一种基于网络字典的无损数据压缩方法,包括压缩算法的字典,其特征在于,所述的字典源于服务器端保存有的压缩数据字典,客户端将文件摘要或者文件块与服务器端字典进行比对,查询匹配值作为压缩结果的方法。
2.根据权利要求1所述的一种基于网络字典的无损数据压缩方法,其特征在于,服务 器端压缩数据字典可以包括以下两类之一或者全部一类是包含文件名称、文件内容、Hash 值建立的全文字典,另一类是根据定长特征数据或者变长函数值生成的字典。
3.根据权利要求1所述的一种基于网络字典的无损数据压缩方法,其特征在于,所述 的客户端将文件摘要与服务器端字典进行比对,是指客户端将客户端欲压缩文件经过Hash 计算后生成的报文摘要或者报文摘要+文件名与服务器端进行比对,其中报文摘要进行精 确匹配,文件名进行模糊匹配。
4.根据权利要求1所述的一种基于网络字典的无损数据压缩方法,其特征在于,所述 客户端将文件块与服务器端进行比对,可以是精确匹配,也可以是近似匹配,之后返回的匹 配值,包含服务器端字典索引值和客户端文件与服务器端文件的差分值或者压缩后的差分 值。
全文摘要
本发明涉及一种基于网络字典的无损数据压缩方法,包括压缩算法的字典,所述的字典源于服务器端保存有的压缩数据字典,客户端将文件摘要或者文件块与服务器端字典进行比对,查询匹配值作为压缩结果的方法。从而可以有效提升压缩效率,特别适用于网络上有大量副本之文件。
文档编号H04L29/06GK101800761SQ20091018680
公开日2010年8月11日 申请日期2009年12月25日 优先权日2009年12月25日
发明者冯小辉, 刘鹏, 吴昊, 虞芬, 陈宏欣 申请人:吴昊
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1