本发明涉及网络通信技术领域,尤其涉及在无线通信链路上,实现对路由报文信息进行自适应回溯压缩传输的一种方法。
背景技术:
压缩技术分为有损压缩以及无损压缩。有损压缩主要应用于图像处理及视频处理方面,无损压缩则只要运用于通信数据、文本、数据库等方面。
对于通信网络中,必须要将数据在发送的一方进行压缩处理,再通过各种链路发送至接收方,然后再通过接收方进行解压缩,从而提升在链路上(尤其是无线窄带链路)的传输性能。
现有的压缩算法几乎都是通过压缩算法本身来提升压缩效率,各种压缩算法一般都是针对了特定的应用场景,在网络通信领域中,现有的压缩技术一般都是基于单个报文进行压缩传输,如下图所示,在发送端(路由器a),先对路由报文进行分片后进行压缩传输,然后在接收端路由器b对每片报文进行解压缩后进行分片组装。
对路由报文进行分片,然后再进行压缩处理后进行传输,是最容易实现的,也不会改变原有结构,但是这种方法相对比较低效。一方面,由于对路由报文分片再进行传输,会使得在网络中传输的每片报文长度较小,分片数并未减少;另一方面,在进行报文压缩时,一般而言,报文越长,压缩率会越高,由于是针对路由报文分片进行压缩,每片的压缩率会相对较低。正因如此,这种方法虽然能提升网络性能,但是仍存在不足。
技术实现要素:
本发明针对上述存在的问题与不足,提出了一种在无线链路上进行路由报文传输时,在不分割路由的前提下通过自适应回溯试探的方式进行数据压缩传输的方法。为了实现该方法,需要4个模块,包括:路由协议注册模块、自适应调节模块、回溯试探模块、压缩/解压缩模块。
所述路由协议注册模块,负责进行路由协议注册,匹配相应的路由协议解析操作,新增路由协议需要增加新的路由协议解析。
所述自适应调节模块,负责根据历史平均压缩率、压缩失败情况、平均回溯试探次数进行自适应调节处理。
所述回溯试探模块,负责对路由报文进行压缩时的回溯试探,每次回溯都会调用一次压缩模块,确保在不分割路由的条件下,尽量使压缩后的长度趋近于最大分片长度。
压缩/解压缩模块,包括压缩接口函数和解压缩接口函数,可以是通用的压缩算法,负责对报文进行压缩和解压缩处理。
实现自适应回溯压缩的方法为:1)路由协议注册;2)自适应调节参数,发送端根据历史记录(平均压缩率、压缩失败情况、平均回溯次数)来调节对应的参数;3)回溯试探压缩,发送端根据2)中的参数,在不分割路由的前提下进行回溯试探压缩,尽量将压缩后的长度趋近于最大分片长度,并发送至接收端;4)接收端解压缩,接收端负责对收到的压缩后报文进行解压缩还原,并进行分片组装。
本发明的有效技术效果是:一方面,通过增加回溯试探的机制可以让压缩后的路由报文都趋近最大分片长度,从而可以有效的减少网络中传输的路由分片数;另一方面,发送端会记录一定时间或一定数量的路由报文平均压缩率,基于此动态调节回溯距离,从而提高回溯试探的成功率;再者,发送端会记录一定时间或一定数量的路由报文的压缩失败情况(压缩之后的数据大于或等于压缩之前),动态的调整过滤需要压缩的报文长度,可以有效的减少压缩的频次。故可以有效的提高网络设备的可用性,进而提升整体网络传输性能。
附图说明
图1为各模块之间的关系图;
图2为路由报文自适应回溯压缩流程图;
图3为自适应调节机制流程图。
具体实施方式
为了实现本发明的发明目的,本发明提供了一种用于无线链路传输时,在不分割路由的条件下,对路由报文数据进行自适应回溯压缩的通用压缩平台。该平台包括4个模块,包括:路由协议注册模块、自适应调节模块、回溯试探模块、压缩/解压缩模块,模块间的关系可以参考图1。
为了使本发明的目的、技术方案以及优点更加明确,下面结合附图,对本发明作进一步的详细说明。主要包括以下步骤,流程可参考图2:
路由协议注册:这是一个相对比较独立的过程,在启用某些协议的压缩功能之前,必须进行注册。通过注册路由协议,本压缩平台可以识别不同的路由协议并进行相应解析操作,如果不需要支持某种路由协议,取消注册即可。
自适应参数调节机制(流程可参考图3):
a)通过对历史路由报文的压缩失败情况(压缩后长度大于等于压缩之前)进行统计,记录压缩失败平均长度alf(压缩前长度),确定压缩长度阈值clt,clt=alf+修正值;
b)通过对历史路由报文的压缩成功情况(压缩后长度小于压缩之前),记录压缩成功的平均压缩率acr;
c)基于历史路由报文的回溯压缩试探成功情况(回溯次数)进行统计,记录压缩时的平均回溯次数,根据历史平均回溯次数动态修正调节因子aj。如果历史平均回溯次数大于期望回溯次数,则aj增加;反之则减少。
回溯试探压缩:在保证路由信息不被分割的前提下,第一次进行试探首部偏移量为off=msl*(1/acr),其中msl为最大分片长度,acr为历史平均压缩率;如果回溯试探压缩后的长度不超过最大分片长度,直接输出并发送至接收端;如果回溯试探压缩后的长度超过了最大分片长度,此时令off=off-df*(1/ccr+aj),其中df为分片压缩后长度与最大分片长度之差,ccr为当前路由报文压缩率,aj为回溯调节因子,偏移off之后进行回溯压缩处理,直至压缩后长度不超过最大分片长度,并发送至接收端。
解压缩:在接收端对数据进行解压缩还原,并进行分片组装。