And the device of the invention discloses a generating method of Deflate based on independent joint compression block wherein the method comprises the following steps: in the unrelated two compression block boundaries between fixed, to determine the line before the LZ77 transform to find [length] distance matching symbol selective anti LZ77 transformation check; [distance length], symbols are the contents of the documents at the line before, found in the [length], symbol distance, the contents of the documents at the boundary of the previous output, use the original input text to replace the data symbols as selective LZ77 inverse transform; the output of selective LZ77 inverse transform distribution LZ77 output buffer storage; and generate compressed data blocks according to the LZ77 data output buffer. The invention can realize the unrelated data between adjacent containers, and can not interrupt the operation when the container is switched, and can improve the stability of the system.
【技术实现步骤摘要】
基于Deflate的无关联压缩块的生成方法及装置
本专利技术涉及数据处理
,尤其涉及一种基于Deflate的无关联压缩块的生成方法及装置。
技术介绍
目前,很多存储设备一般使用固定长度的存储空间来存储数据。我们统一把固定长度的存储空间称作容器。容器的长度在不同的存储设备中可以是不同,比如有的存储设备选择4K字节,有的选择1M字节。当原始数据压缩后比允许的容器长度更大的时候,能够在当前容器边界上截断输出,把后半部分原始数据存到下一个容器中去。在很多存储系统中,容器和容器之间希望没有状态关联。换句话说,当用户访问一个容器时,他并不希望要访问另一个容器才能知道当前容器的一些信息。原始的Deflate算法在数据块之间是有状态关联的。前一个数据块的内容会在后一个数据块的滑动窗口里,后一个数据块的[距离,长度]符号可能指向前一个数据块的内容。在同一个容器内部,连续的压缩数据块是希望有状态关联的,也就是说,后一个压缩数据块用前一个压缩数据块的原文作为滑动窗口,这样可以增加LZ77变换匹配的可能。但是容器与容器之间是希望没有状态关联的。为了保证容器之间没有状态关联,现有技术 ...
【技术保护点】
一种基于Deflate的无关联压缩块的生成方法,其特征在于,所述基于Deflate的无关联压缩块的生成方法包括:在无关联的两个压缩块之间的分界线确定时,对确定分界线以前经LZ77变换找到的[距离,长度]匹配符号进行选择性的LZ77反变换;检查符号数据是否指向分界线以前的文件内容,在任一符号数据指向分界线以前的文件内容时,使用原输入文本替换该符号数据作为输出;分配一LZ77反输出缓冲区对选择性的LZ77反变换的输出进行暂存;以及根据LZ77反输出缓冲区的数据产生压缩数据块。
【技术特征摘要】
1.一种基于Deflate的无关联压缩块的生成方法,其特征在于,所述基于Deflate的无关联压缩块的生成方法包括:在无关联的两个压缩块之间的分界线确定时,对确定分界线以前经LZ77变换找到的[距离,长度]匹配符号进行选择性的LZ77反变换;检查符号数据是否指向分界线以前的文件内容,在任一符号数据指向分界线以前的文件内容时,使用原输入文本替换该符号数据作为输出;分配一LZ77反输出缓冲区对选择性的LZ77反变换的输出进行暂存;以及根据LZ77反输出缓冲区的数据产生压缩数据块。2.如权利要求1所述的基于Deflate的无关联压缩块的生成方法,其特征在于,在确定无关联的两个压缩块之间的分界线的步骤之前还包括:根据容器的大小确定无关联的两个压缩块之间的分界线。3.如权利要求1所述的基于Deflate的无关联压缩块的生成方法,其特征在于,所述对确定分界线以前经LZ77变换找到的符号数据进行LZ77反变换具体包括:从LZ77变换的输出缓冲区中划分出一待定区;对确定分界线之前LZ77变换找到的符号数据进行标记并归入待定区;以及对待定区中所有符号数据进行选择性的LZ77反变换。4.如权利要求3所述的基于Deflate的无关联压缩块的生成方法,其特征在于,所述选择性的LZ77反变换具体包括:解析待定区的所有符号数据;计算所有[距离,长度]匹配符号与输入数据对应的绝对偏移,并将所有[距离,长度]匹配符号的绝对偏移与分界线的绝对偏移进行比较得出比较结果;如果[距离,长度]匹配符号指向分界线以前的文件内容,则用[距离,长度]匹配符号所指的文件内容来恢复原文;如果[距离,长度]匹配符号指向分界线以后的文件内容,则保留[距离,长度]匹配符号。5.如权利要求1所述的基于Deflate的无关联压缩块的生成方法,其特征在于,所述对确定分界线以前经LZ77变换找到的[距离,长度]匹配符号进行选择性的LZ77反变换的步骤之前还包括:将经LZ77变换保存的分界线之前的滑动窗口全部作废,其中,所述滑动窗口为任意的字节序列。6.一种基于Deflate的无关联压缩块的...
【专利技术属性】
技术研发人员:张宇弘,王界兵,张伟,董迪马,耿涛,黄嘉乐,
申请(专利权)人:深圳前海信息技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。