数据压缩中数据分段方法及设备技术

技术编号:6242703 阅读:301 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种数据压缩中数据分段方法及设备。该方法包括根据待压缩的数据流中当前未分段数据流的长度,获取与所述当前未分段数据流的长度对应的分段规则,其中,随着未分段数据流的长度的增加,对应的分段规则得到满足的概率单调递增,且,第一长度对应的分段规则得到满足时,第二长度对应的分段规则一定也得到满足,第一长度和第二长度为未分段数据流的长度,且第一长度小于第二长度;采用所述分段规则对所述待压缩的数据流进行数据分段。本发明专利技术实施例可以有效控制数据分段的长度,提高字典使用效率。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,尤其涉及一种数据压缩中数据分段方法及设备
技术介绍
数据压缩是在数据的存储和传输中被广泛应用的一种技术。对于传输的数据而言,由于存在大量的冗余数据,发送端的网络设备对数据进行压缩之后再传输,可以有效地减少网络上传输的数据量,并降低传输时延。相应地,在接收端的网络设备首先需要进行解压缩。目前数据传输的压缩技术可以分为两大类,一种是基于LZ(Lempel-Ziv)类算法的压缩技术,另一种称为冗余数据消除技术。其中,LZ压缩技术通常是发送端在数据块内部通过滑动窗口进行匹配,生成压缩字典并进行压缩,接收端生成相应的压缩字典并进行解压缩。冗余数据消除技术是利用数据传输过程中的存在大块的重复数据,由网络设备保存经过的大数据块,将其作为字典条目,在后续发送过程中,发现重复的数据块就使用字典中的短的编码索引进行替换。接收端根据收到的编码索引及所存储的字典条目将原始数据恢复出来。如果把网络中传输的数据看作字节流,那么网络设备需要对经过的字节流进行适当的分段,把这些数据分段作为字典条目,以实现压缩。数据分段的长度对字典的使用效率及压缩比有影响,过大会降低字典的使用效率,过小会降低压缩比。如果采用固定字节的分段方法,那么当某个分段的数据改变后,其后的数据分段的边界均将改变,使得根据后续数据分段建立的字典条目不能被有效利用。为了解决固定分段产生的问题,现有技术可以采用内容指纹(Fingerprint)的方式,采用大小为W的滑动窗口,在待处理数据流中滑动,其中可以是逐字节或者逐双字节的滑动,在每次滑动过程中,计算窗口中的数据块的内容指纹,当该内容指纹符合预定的规则时,将该窗口的滑动方向上的边界点作为分段点,否则继续滑动窗口继续计算内容指纹直到确定出分段点。在实现本专利技术过程中,专利技术人发现现有技术至少存在如下问题:采用上述分段方法可能会造成数据分段的长度过大,过大的数据分段会导致匹配概率的下降,降低了字典的使用效率。
技术实现思路
本专利技术实施例是提供一种数据压缩中数据分段方法及设备,用以解决现有技术中存在的数据分段的长度多大的问题。本专利技术实施例提供了一种数据压缩中数据分段方法,包括:根据待压缩的数据流中当前未分段数据流的长度,获取与所述当前未分段数据流的长度对应的分段规则,其中,随着未分段数据流的长度的增加,对应的分段规则得到满足的概率单调递增,且,第一长度对应的分段规则得到满足时,第二长度对应的分段规则一定也得到满足,第一长度和第二长度为未分段数据流的长度,且第一长度小于第二长度;-->采用所述分段规则对所述待压缩的数据流进行数据分段。本专利技术实施例提供一种数据压缩中数据分段设备,包括:获取模块,用于根据待压缩的数据流中当前未分段数据流的长度,获取与所述当前未分段数据流的长度对应的分段规则,其中,随着未分段数据流的长度的增加,对应的分段规则得到满足的概率单调递增,且,第一长度对应的分段规则得到满足时,第二长度对应的分段规则一定也得到满足,第一长度和第二长度为未分段数据流的长度,且第一长度小于第二长度;分段模块,用于采用所述分段规则对所述待压缩的数据流进行数据分段。由上述技术方案可知,本专利技术实施例通过获取与未分段数据流的长度对应的分段规则,并且当分段规则满足上述条件时,可以使得当该长度越大时,分段规则发生的概率越大,因此,更容易被分段,所以可以有效地控制数据分段的长度,提高了匹配概率及字典的使用效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例的方法流程示意图;图2为本专利技术第二实施例的方法流程示意图;图3为本专利技术第三实施例的方法流程示意图;图4为本专利技术实施例中第一数据流的数据分段示意图;图5为本专利技术实施例中在第一数据流的基础上增加数据后的一种数据分段示意图;图6a为本专利技术实施例中在第一数据流的基础上增加数据后的另一种数据分段示意图;图6b为本专利技术实施例中在第一数据流的基础上增加数据后的再一种数据分段示意图;图7为本专利技术实施例中第一数据分段示意图;图8为本专利技术实施例中在第一数据分段增加数据后的示意图;图9为本专利技术实施例中将第一数据分段再次分段后的示意图;图10为本专利技术实施例中在第一数据分段再次分段后增加数据后的示意图;图11为本专利技术第四实施例的设备结构示意图;图12为本专利技术第五实施例的设备结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员-->在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术第一实施例的方法流程示意图,包括:步骤11:根据待压缩的数据流中当前未分段的数据流的长度,获取与所述当前未分段数据流的长度对应的分段规则,其中,随着未分段数据流的长度的增加,对应的分段规则得到满足的概率单调递增,且,第一长度对应的分段规则得到满足时,第二长度对应的分段规则一定也得到满足,第一长度和第二长度为未分段数据流的长度,且第一长度小于第二长度。其中,可以在接收到待压缩的数据流后,缓存该待压缩的数据流,在未分段之前,记录缓存的数据流的长度,因此可以得到未分段的数据流的长度。其中,可以预先设置未分段数据流的长度与分段规则的对应关系,根据该对应关系获取对应的分段规则;或者,也可以是设置一个关系式作为分段规则。上述两种分段规则的实现可以分别参见下述的第二实施例和第三实施例。步骤12:采用所述分段规则对所述待压缩的数据流进行数据分段。其中,本专利技术实施例是通过匹配内容指纹与分段规则来确定分段点。具体为,该内容指纹为当前滑动窗内的数据内容的内容指纹,当该内容指纹满足对应的分段规则时,则将该当前滑动窗的第一端点作为分段点,该第一端点为与滑动方向相同的该当前滑动窗的端点。例如,当滑动窗由序号小的数据端向序号大的数据端滑动时,第一端点为序号大的数据对应的端点。本实施例获取与未分段数据流的长度对应的分段规则,当该长度越大时,分段规则被满足的概率单调递增,因此,更容易被分段;并且,当较小的长度对应的分段规则得到满足时,较大的长度对应的分段规则一定也得到满足,与采用与未分段数据流的长度无关的固定分段规则相比,可以使得采用固定分段规则得到的分段点依旧是分段点。通过增大分段的发生概率及保证原来的分段点依旧是分段点,可以有效地控制数据分段的长度,提高了匹配概率及字典的使用效率。图2为本专利技术第二实施例的方法流程示意图,本实施例以预先设置对应关系为例。参见图2,包括:步骤21:获取待压缩的数据流中当前未分段数据流的长度k。步骤22:获取预先设置的未分段数据流的长度与分段规则的对应关系。其中,该对应关系可以如表1所示:  未分段数  据流的长  度(字节) [0,512] (512,1024](1024,1536]  (1536,2048]  其他  分段规则 RF(SK)的 低7bit本文档来自技高网
...

【技术保护点】
1.一种数据压缩中数据分段方法,其特征在于,包括:根据待压缩的数据流中当前未分段数据流的长度,获取与所述当前未分段数据流的长度对应的分段规则,其中,随着未分段数据流的长度的增加,对应的分段规则得到满足的概率单调递增,且,第一长度对应的分段规则得到满足时,第二长度对应的分段规则一定也得到满足,第一长度和第二长度为未分段数据流的长度,且第一长度小于第二长度;采用所述分段规则对所述待压缩的数据流进行数据分段。

【技术特征摘要】
1.一种数据压缩中数据分段方法,其特征在于,包括:根据待压缩的数据流中当前未分段数据流的长度,获取与所述当前未分段数据流的长度对应的分段规则,其中,随着未分段数据流的长度的增加,对应的分段规则得到满足的概率单调递增,且,第一长度对应的分段规则得到满足时,第二长度对应的分段规则一定也得到满足,第一长度和第二长度为未分段数据流的长度,且第一长度小于第二长度;采用所述分段规则对所述待压缩的数据流进行数据分段。2.根据权利要求1所述的方法,其特征在于,所述采用所述分段规则对所述待压缩的数据流进行数据分段,包括:计算所述当前未分段数据流内的当前滑动窗内的数据内容的内容指纹;判断所述内容指纹是否符合所述对应的分段规则;当所述内容指纹符合所述对应的分段规则时,将所述当前滑动窗的第一端点作为分段点,所述第一端点为所述当前滑动窗的与滑动方向相同的端点。3.根据权利要求2所述的方法,其特征在于,所述获取与所述当前未分段数据流的长度对应的分段规则,包括:获取预先设置的未分段数据流的长度与分段规则的对应关系;查找所述对应关系获取与所述当前未分段数据流的长度对应的分段规则。4.根据权利要求2所述的方法,其特征在于,所述分段规则为如下关系式:RF(SK)MOD2[(Mk)]=cMOD2[(Mk)];]]>其中,SK为当前滑动窗内的数据内容,RF(SK)为当前滑动窗内的数据内容的内容指纹,c为预先设定的常量,M为预先设定的最大分段长度,k为未分段数据流的长度,MOD表示取模运算;[*]表示向下取整运算。5.根据权利要求2所述的方法,其特征在于,所述与所述当前未分段数据流的长度对应的分段规则,包括:内容指纹的低N位全为1;或者,内容指纹的低N位全为0;其中,SK为当前滑动窗内的数据内容,RF(SK)为当前滑动窗内的数据内容的内容指纹,且随着当前未分段数据流的长度的增加,N单调递减。6.一种数据压缩中数据分段设备,其特征在于,包括:获取模块,用于根据待...

【专利技术属性】
技术研发人员:李春强黄志钢李峰郑宇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1