动态数据压缩技术的制作方法

文档序号:7513189阅读:366来源:国知局
专利名称:动态数据压缩技术的制作方法
技术领域
本发明涉及一种数据压缩技术,特别涉及一种通过对数据流作压缩测 试以选择恰当压缩策略来平衡系统负载、以达到在既定系统能力下提升广 域网间数据转发速度的动态数据压缩技术。
背景技术
随着互联网的迅速普及和网民数量的不断飙升,获取信息的速度快慢 已经成为制约互联网发展的重要因素。如何在现有的网络资源下提高用户获取信息的速度,已成为困扰众多数据中心、ISP和企业的一大难题。因此网络加速产品应运而生,而且将成为未来互联网上不可或缺的一部分。网络上传输的80。/。以上数据都是基于HTTP/HTTPS的超文本数据,因而网 络加速产品也主要针对这部分进行加速处理。目前主要的网络加速技术有数据压缩传输、缓存和使用SSL加速器等, 这些技术在节省网络带宽、缩短网络传输时间和减少服务器运算负担方面 有着显著的成效,可以在一定程度上加快网络访问速度。另外,在高丢包 率高延迟的网络环境下使用TCP上层应用时,不少网络加速产品也采用对 具体应用层协议甚至TCP协议本身进行优化的方法,以达到加速的效果。发明内容本发明的目的在于克服上述现有技术中的不足之处,提供一种通过特 征提取方法快速识别网络输入数据,并依据数据流仓库将重复的数据替换 成有效的编码,在远端的流cache设备会将编码翻译回原来的数据,从而 减少了在广域网上传输的数据量。由于数据流仓库很大(可通过硬盘保存, 几百兆到几百千GB不等),可保存比通常压缩方法更多的重复模式。因此, 可在数据流库中找到绝大多数的冗余信息,大幅降低网络数据传输量,提 高带宽利用率的一种通过流缓存实现网间数据传输加速的动态数据压缩技 术。本发明的目的在于提供一种通过对数据流作压缩测试以选择恰当的压縮策略来平衡系统负载、以达到在既定系统能力下提升广域网间的动态数据压缩技术。它包括压缩算法的动态选择和压缩测试轮次的动态计算压 缩算法的动态选择对于每轮将要回发给客户端的缓冲,根据其上次压缩 状态,作新一轮的动态压缩测试,根据测试结果动态选择压縮算法,和决 定下一轮压缩测试轮次。压缩测试轮次的计算当压缩测试效果较差时, 认为测试失败,下一个测试轮次将会是step次之后,若连续失败N次,则 下一个测试轮次定在更大的跨步,例如ITstep次之后。 本发明的目的可以通过以下措施来达到这种动态数据压缩技术(压缩算法的动态选择和压缩测试轮次的动态 计算),其特殊之处在于,它包括以下步骤 (D初始化(步骤101);(2)提取连接的压缩状态S ,检查轮次T(步骤102); (s)检测S是否为待选算法中的一种(步骤103); (4)若S不为待选算法中的一种则检测当前是否为检查轮次(步骤104); (s)若步骤104的检测结果为否,则发送未压缩数据(步骤110);(6) 若步骤104的检测结果为是,则依次用所有待选算法压缩数据,检 查其压缩比(步骤105);(7) 检测其压缩比是否达到最小要求(步骤106);(8) 若步骤106的检测结果为是,则更新S , 一发送此算法压缩后的数 据(步骤107)后,结束(步骤115);(9) 若步骤106的检测结果为否,则检测是否还有待选算法(步骤108); 袖若步骤108的检测结果为是,则返回步骤105 ;(")若步骤108的检测结果为否,则调整T到更大的跨步(步骤109);(12) 发送未压缩数据(步骤110)至结束(步骤115);(13) 若S为待选算法中的一种,则采用对应算法压縮数据(步骤111);(14) 检测压缩比是否达到最小要求(步骤112);d5)若步骤112的检测结果为是,则发送压缩后的数据(步骤113); (16)若步骤112的检测结果为否,则把S和T重新初始化(步骤114),并发送未压缩数据(步骤114);(17)结束(步骤115)本发明具有如下优点1 .相对于现有的加速技术,本发明最大的特点在于实现简单、实施成 本低。它不像缓存技术或硬件加速器等在实施时需要高成本的设备投入, 也不像协议优化等需要深入底层了解各种复杂的协议原理。本发明在实现 上充分利用基于同一连接的数据传输的自身特点,只需了解压缩算法的特 点即可。2. 本发明充分利用了基于同一连接的数据传输的特点,对不同的连接 采用了恰当的压缩策略,从而在既定系统能力下提高了数据转发速度,大 大增强了用户体验。3. 动态压缩技术还可以很方便地跟现有的加速技术结合使用,以更进 一步提升网络速度。实施时只需在客户端部署一客户端程序,在应用服务 端部署AppProxy服务器即可,可以广泛应用于代理服务器、各种VPN产 品或其他基于C/S的系统中。4 .本发明开发了一种应用代理系统AppProxy ,并在网络数据的压缩 技术的研究与开发过程中,对各种压缩算法作了测试实验。实验结果表明, 在同样的运行环境下,对不同类型的数据,不同的算法在压缩比和占用系 统负载方面会有较大的差距。最有代表性的是对超文本数据,算法2相对 算法1有较大的压缩比差距和较大的系统负载占用差距,而对其它一些测 试数据,压缩比差距就要小许多。5.在传输技术的研究与开发过程中,对大量的基于连接的网络传输作 了测试统计,统计结果表明,同一连接内所传输的数据流,若把它们按定 长X分成多块,则在相近转发的多块数据的压縮方面的特性基本上是一致 的,包括是否具有压缩价值,和采用的压缩算法能够达到的压缩比率等。


图1是本发明的动态数据压缩技术的流程图。图2是本发明的一个较佳实施例的流程图。
具体实施方式
本发明下面将结合附图作进一步详述 请参阅附图所示,所述动态数据压缩技术,包括以下步骤 (DAppProxy开始转连接时,把以下数据与连接关联 上次压缩状态S-无压缩,回发数据轮次A=0 ; 下次检查轮次已=1 ;连续失败次数「=1 (步骤201);(2) 当步骤201的连接上有新一轮服务端数据回发客户端之前,设数据 长度为X ; A则递增一,即A++ (步骤202);(3) 判断压缩状态S(步骤203);(4) 若步骤203的判断结果为否,则进一步判断数据轮次A的值是否与 检查轮次B的值相同(步骤204);(5) 若步骤204的判断结果为否,则转发无压缩数据(步骤205); (e)若步骤204的判断结果为是,则作算法1压缩,得长度Y(步骤206);(7) 判断数据长度X是否大于系统指定的最小压缩比m与作算法1压缩, 所得长度Y的乘积(步骤207);(8) 若步骤207的判断结果为否,则认为测试失败,下一个测试轮次将 会在st印次之后若连续失败F次则下一个测试轮次定在Pst印次之后, 即B+=*F , F十+(步骤208);(g)转发无压缩数据(步骤205);do)若步骤207的判断结果为是,则作算法2压缩,得长度Z(步骤209); (")判断数据长度X是否大于系统指定的最小压缩比m与m、步骤209 长度Z的乘积(步骤210);(12) 若步骤210的判断结果为否则转发算法1压缩数据S:算法1(步骤 213);(13) 若步骤210的判断结果为是则转发算法2压缩数据S-算法2(步骤 217);(14) 若步骤203的判断结果为是,则先使用算法1测试,作算法1压缩 得长度Y(步骤211);(15) 判断压缩率是否达到最小要求,即数据长度X是否大于系统指定的 最小压缩比m与步骤211长度Y的乘积(步骤212);(16) 若步骤212的判断结果为是,则转发算法1压缩数据,S-算法1(步 骤213);(17) 若步骤212的判断结果为否,则转发无压缩数据,3=无压缩,检查 轮次B-数据轮次A+step ,连续失败次数卩=1(步骤214);(is)若步骤212的判断结果为否,在算法1测试失败后,使用算法2压 缩,得长度Z(步骤215);(19)判断压缩率是否达到最小要求,即数据长度X是否大于系统指定最 小压缩比m与m、步骤215长度Z的乘积(步骤216);(2Q)若步骤216的判断结果为否,则转发无压缩数据,3=无压缩,检查 轮次已=数据轮次A+st印,连续失败次数F4(步骤214);(21)若步骤216的判断结果为是,则转发算法2压缩数据S-算法2(步 骤217)。以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的 均等变化与修饰,皆应属本发明权利要求的涵盖范围。
权利要求
1、一种动态数据压缩技术,其特征在于,它包括以下步骤(1)初始化(步骤101);(2)提取连接的压缩状态S,检查轮次T(步骤102);(3)检测S是否为待选算法中的一种(步骤103);(4)若S不为待选算法中的一种,则检测当前是否为检查轮次(步骤104);(5)若步骤104的检测结果为否,则发送未压缩数据(步骤110);(6)若步骤104的检测结果为是,则依次用所有待选算法压缩数据,检查其压缩比(步骤105);(7)检测其压缩比是否达到最小要求(步骤106);(8)若步骤106的检测结果为是,则更新S,并发送此算法压缩后的数据(步骤107)后,结束(步骤115);(9)若步骤106的检测结果为否,则检测是否还有待选算法(步骤108);(10)若步骤108的检测结果为是,则返回步骤105;(11)若步骤108的检测结果为否,则调整T到更大的跨步(步骤109);(12)发送未压缩数据(步骤110)至结束(步骤115);(13)若S为待选算法中的一种,则采用对应算法压缩数据(步骤111);(14)检测压缩比是否达到最小要求(步骤112);(15)若步骤112的检测结果为是,则发送压缩后的数据(步骤113);(16)若步骤112的检测结果为否,则把S和T重新初始化(步骤114),并发送未压缩数据(步骤114);(17)结束(步骤115)。
全文摘要
本发明涉及一种动态数据压缩技术,是通过对数据流作压缩测试以选择恰当的压缩策略来平衡系统负载、以达到在既定系统能力下提升广域网间数据转发速度的方法。该动态数据压缩技术包含的主要步骤如下(1)压缩算法的动态选择对于每轮将要回发给客户端的缓冲,根据其上次压缩状态,作新一轮的动态压缩测试,根据测试结果动态选择压缩算法,和决定下一轮压缩测试轮次。(2)压缩测试轮次的计算当压缩测试效果较差时,认为测试失败,下一个测试轮次将会是step次之后,若连续失败N次,则下一个测试轮次定在N*step次之后。该动态数据压缩技术可广泛应用于代理服务器、各种VPN产品或其它基于C/S的系统中。
文档编号H03M7/30GK101237301SQ20081006539
公开日2008年8月6日 申请日期2008年2月22日 优先权日2008年2月22日
发明者李伟浩 申请人:深圳市深信服电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1