用于数据传输中数据压缩解压缩的装置和方法 技术领域:
本发明涉及数字通信领域,实现数据压缩解压缩处理的方法,尤其涉及多通道快速压缩解压缩处理的装置和方法,同时也支持多用户。
背景技术:
目前,无线通信设备种类、数量越来越多,数据处理速度越来越快,为适应这种设备的需要,无线数据传输能力也要相应大幅提高,为此需用更宽的带宽资源,而空中射频带宽资源越来越趋于紧张,每类产品的分配带宽极其有限,而且带宽资源一旦分配之后,为了上述的原因增加带宽受到极大的限制,为了充分利用现有的带宽资源,而又提高数据的传输速度,对数据进行压缩后再传输,是非常有效的一种方法。
要提高数据压缩的速度,除应用快速压缩算法外,对压缩处理器的性能要求极高,否则难以实现数据流量的提高,目前常用地方法,在通用处理器中或DSP(数字信号处理)器件中用软件的方法来实现,测试的结果数据流量只有几兆到十几兆,难以满足大数据流量处理的快速和实时性要求。目前虽有一些公司(如HIFN)推出专用芯片,但其主要功能还是放在数据的加密、解密上,数据压缩、解压缩只是其附带的功能,市场上也没有批量投入,价格极高,而且资料保密,对我国进行限制应用。目前无线移动数据分组业务,要求每用户数据流量为1Mb/s以上,甚至更高,为了支持数以万计的用户接入,要求总的数据流量更大,因此本发明提出了一种提高压缩解压缩的方案,以满足数据业务的要求。
发明内容:
本发明主要解决的技术问题是为了克服了现有技术中的压缩数据传输速率低、支持用户少的缺点,提出了一种实现多通道、支持多用户的数据压缩解压缩的装置和方法。
为实现本发明要解决的技术问题,本发明用于数据传输中数据压缩装置包括接收数据的数据通道均衡分配模块、用于压缩来自数据通道均衡分配模块分配的数据的多路压缩通道,每一路压缩通道包括:用于存储数据的数据输入缓存器、用于压缩来自数据输入缓存器数据的数据压缩处理模块、用于存储压缩数据的压缩数据历史存储器、将压缩的数据输出至数据通道均衡分配模块的数据输出缓存器。
为实现本发明要解决的技术问题,本发明用于数据传输中数据的压缩方法包括:
1)数据通道均衡分配模块从接口接收高速数据,根据用户的用户标识ID号把数据分送到各相应的压缩通道;
2)每路压缩通道先把数据缓存入数据输入缓存器,然后以字节流的方式把数据送入到数据压缩处理模块;
3)数据压缩处理模块进行数据分段压缩处理,压缩完的数据长度若小于压缩前的数据长度,则将压缩后数据输出到数据输出缓存器,否则把压缩前的数据输出到数据输出缓存器;
4)数据通道均衡分配模块再把数据输出缓存器中的数据输出。
为实现本发明要解决的技术问题,本发明用于数据传输中数据的解压缩装置包括:接收数据流的数据通道均衡分配模块、解压缩来自数据通道均衡分配模块分配的数据的多路解压缩通道,每一路解压缩通道包括存储数据的数据输入缓存器、用于解压缩数据的数据解压缩处理模块、用于存储解压缩数据的解压缩数据历史存储器、将解压缩的数据输出至数据通道均衡分配模块的数据输出缓存器。
为实现本发明要解决的技术问题,本发明用于数据传输中数据的解压缩方法包括:
1)数据通道均衡分配模块从接收数据,根据用户的用户标识ID号,把数据分送到各相应的通道;
2)每路相应通道先把数据缓存入数据输入缓存器,然后以字节流的方式把数据送入到该通道的数据解压缩处理模块;
3)数据解压缩处理模块从数据输入缓存器中读取数据,然后与解压缩数据历史存储器中先前解压缩过的数据进行相关性运算,解压缩后的数据存到解压缩历史存储器中先前解压缩过的数据的后面;
4)判断数据输入缓存器中的数据是否已处理完,若没有,跳到第3)步继续处理;若已处理完,执行第5)步;
5)把解压缩历史存储器中解压缩处理后的数据输出到数据输出缓存器中;
6)数据通道均衡分配模块再把解压缩的数据从数据输出缓存器中输出。
采用本发明所述的装置和方法,与现有该技术相比,由于采取了多通道均衡处理特点,把数据进行均衡分配,能够有效提高总的数据处理的速度;每通道由于采用了分段数据相关运算,提高了单通道数据处理的速度;由于采用了数据存储器,根据用户ID对应其相应的历史缓存器,达到了支持多用户的效果。
附图说明:
图1是本发明用于数据传输中数据的压缩装置示意图;
图2是本发明用于数据传输中数据的压缩方法流程图;
图3是本发明用于数据传输中数据的解压缩装置示意图;
图4是本发明用于数据传输中数据的解压缩方法流程图。
具体实施方式:
下面结合附图,对技术方案的实施作进一步的详细描述。
图1是本发明用于数据传输中数据的压缩装置,该数据压缩装置包括:接收数据的数据通道均衡分配模块A、用于压缩来自数据通道均衡分配模块分配的数据的多路压缩通道1、2..N。每一路压缩通道包括用于存储数据的数据输入缓存器B、用于压缩数据的数据压缩处理模块D1、用于存储压缩数据的压缩数据历史存储器E1、将压缩的数据输出至数据通道均衡分配模块A的数据输出缓存器C。用于临时数据缓存和存放索引数据的临时缓冲区及索引表模块F
功能如下:数据通道均衡分配模块A完成数据的分配;数据输入缓存器B对输入的数据进行缓存;数据输出缓存器C对输出的数据进行缓存;数据压缩处理模块D1主要进行数据压缩处理;压缩数据历史存储器E1存放历史缓冲区数据;临时缓冲区及索引表模块F作为临时数据缓存和存放索引数据。
对每路压缩通道,数据的方向是:
10:数据先进入A;
11:A中数据再送入B缓存;
12:D1从B中读取数据进行压缩处理;
13:处理过程中需把数据放入E1中;
14:同时在F中查找和建立索引数据;
15:处理后把数据送入C;
16:然后再输出到A;
17:最后数据输出。
图2是本发明用于数据传输中数据的压缩方法流程图,说明了单通道中把数据进行压缩及压缩后数据进行输出的流程。
详细说明如下:
本发明所述的实现快速多通道多用户数据压缩方法如下,每个通道都在并行处理:
第一步 A模块接收接口送来的数据和该用户的标识号ID;
第二步 根据各通道的负荷情况和数据用户的标识号ID及把数据暂存入B;
第三步 D1模块从B中读取数据,经判断,若E1有足够的空间,则把数据存入E1中先前数据的后面,否则,清空E1,然后放入数据;
第四步 首先把E1中新读入的数据分段,按一定长度进行一种映射运算,根据先前的运算结果建立一个数据索引表,存入F,根据当前的运算结果从F中取出索引值,然后再根据此索引值在E1中索引出具有相关性的数据,同时当前的运算结果也存入F中,与E1中先前数据进行相关性运算,具有相关性的数据(超过某一阈值Δ)进行压缩处理,无相关性的数据(小于某一阈值Δ)进行另一种编码处理。
第五步 把第四步处理后的数据先存入F中,判断新读入的数据是否已处理完,若没有,跳到第四步继续处理;若已处理完,执行第六步;
第六步 判断F中的数据长度与压缩前的数据的长度的差异,若小于压缩前的数据长度,则把F中的数据输出到C中,否则把压缩前的数据输出到C中;
第七步 C中的数据通过A模块输出,跳到第一步。
如上所述的压缩处理方法,其特征在于,所述第三步D1从B读取数据进一步包括:
1、D1模块从B中读取数据;
2、经判断,若E1有足够的空间,则把数据存入E1中先前压缩过的数据的后面,否则,清空E1,然后放入数据;
如上所述的压缩处理方法,其特征在于,所述第四步把E1新读入的数据与E1中先前压缩过的数据进行相关性运算进一步包括:
1、首先把E1中新读入的数据分段,按一定长度进行一种映射运算;
2、根据先前的运算结果建立一个数据索引表;
3、根据当前的运算结果从F中取出索引值,然后再根据此索引值在E1中索引出具有相关性的数据,同时当前的运算结果也存入F中;
4、与E1中先前压缩过的数据进行相关性运算,有相关性的数据(超过某一阈值Δ)进行压缩处理,无相关性的数据(小于某一阈值Δ)进行另一种编码处理;
图3是本发明用于数据传输中数据的解压缩装置示意图,用于说明解压缩各个通道的连接关系。该解压缩装置包括:接收数据流的数据通道均衡分配模块A2、解压缩来自数据通道均衡分配模块分配的数据的多路解压缩通道1’、2’..N’。每一路解压缩通道包括存储数据的数据输入缓存器B2、用于解压缩数据的数据解压缩处理模块D2、用于存储解压缩数据的解压缩数据历史存储器E2、将解压缩的数据输出至数据通道均衡分配模块A2的数据输出缓存器C2。
对每路解压缩通道,数据的方向是:
30:数据送入A2;
31:数据送入B2缓存;
32:D2从B2中读取数据进行解压缩处理;
33:处理过程中数据存入E2和从E2读出;
34:处理后把数据送入C2;
35:把数据输出到A;
36:输出数据。
图4是本发明用于数据传输中数据的解压缩方法流程图,说明了单通道中把压缩数据进行还原处理的过程。
详细说明如下:
本发明所述的实现快速多通道多用户数据解压缩方法如下,每个通道都在并行处理:
第一步 A2模块接收接口送来的数据和用户的标识号ID;
第二步 根据各个通道的数据负荷情况和用户的标识号ID号,A2把数据分配到相应的通道中去,暂存在B2中;
第三步 D2从B2中读取数据,然后与E2中先前压缩过的数据进行相关运算即进行解压缩处理,解压缩后的数据存到E2中先前压缩过的数据的后面;
第四步 判断B2中的数据是否已处理完,若没有,跳到第三步继续处理;若已处理完,执行第五步;
第五步 把E2中刚解压缩处理的数据输出到C2中;
第六步 C2中的数据通过A输出,跳到第一步。
本发明在第三代移动通信系统中得到了很好的应用,在其它的通信系统中也同样适用,也包括实时性较强的图象等信号的压缩解压缩处理;而且本发明没有限制数据的长度,对任意长的数据包都适用;随着客户量的增加,通道数可相应增加,以达到更高数据流量,适应未来业务量不断增长的需要。