应用于网络传输中的数据压缩的方法及装置制造方法

文档序号:7822122阅读:138来源:国知局
应用于网络传输中的数据压缩的方法及装置制造方法
【专利摘要】本发明公开了一种应用于网络传输中的数据压缩方法及装置。其中,该方法包括:获取用于对数据进行压缩的压缩规则;读取用于网络传输的数据流;判断数据流是否满足压缩规则定义的压缩条件;在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流。本发明解决了现有技术中通过网络传输大量数据导致带宽资源消耗量大,运维成本高的问题。
【专利说明】应用于网络传输中的数据压缩的方法及装置

【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种应用于网络传输中的数据压缩方法及装置。

【背景技术】
[0002]随着计算机互联网络的普及,在互联网上可以做越来越多的事情。例如可以进行聊天、玩游戏、观看视频、购物、工作和学习等活动,给生活、工作和学习都带来了翻天覆地的变化。
[0003]在各种的应用场景下,想要通过互联网实现上述功能都与互联网的数据传输密不可分。以视频统计数据采集为例,对于涉及需要发送大量连续相同字符数据的场景,如果使用原始数据内容进行发送,数据内容冗长,导致带宽资源消耗的增大,增加了运维成本。
[0004]针对现有技术中通过网络传输大量数据导致带宽资源消耗量大,运维成本高的问题,目前尚未提出有效的解决方案。


【发明内容】

[0005]本发明的主要目的在于提供一种应用于网络传输中的数据压缩的方法及装置,以解决现有技术中通过网络传输大量数据导致带宽资源消耗量大,运维成本高的问题。
[0006]为了实现上述目的,根据本发明实施例的一个方面,提供了一种应用于网络传输中的数据压缩方法。该方法包括:获取用于对数据进行压缩的压缩规则;读取用于网络传输的数据流;判断数据流是否满足压缩规则定义的压缩条件;在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流。
[0007]为了实现上述目的,根据本发明实施例的另一个方面,提供了一种应用于网络传输中的数据解压缩方法。该方法包括:获取用于对目标数据流进行解压缩的解压缩规则;读取目标数据流;按照解压缩规则对目标数据流进行解压缩,生成原始数据流。
[0008]为了实现上述目的,根据本发明实施例的另一方面,提供了一种应用于网络传输中的数据压缩装置,该装置包括:第一获取模块,用于获取用于对数据进行压缩的压缩规则;第一读取模块,用于读取用于网络传输的数据流;判断模块,用于判断数据流是否满足压缩规则定义的压缩条件;压缩模块,用于在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流。
[0009]为了实现上述目的,根据本发明实施例的另一方面,提供了一种应用于网络传输中的数据解压缩装置,该装置包括:第二获取模块,用于获取用于对目标数据流进行解压缩的解压缩规则;第二读取模块,用于读取目标数据流;解压缩模块,用于按照解压缩规则对目标数据流进行解压缩,生成原始数据流。
[0010]根据发明实施例,通过获取用于对数据进行压缩的压缩规则;读取用于网络传输的数据流;判断数据流是否满足压缩规则定义的压缩条件;在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流,解决了现有技术通过网络传输大量数据导致带宽资源消耗量大,运维成本高的问题。实现了在传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗,降低带宽成本的效果。

【专利附图】

【附图说明】
[0011]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012]图1是根据本发明实施例一的应用于网络传输中的数据压缩方法的流程图;
[0013]图2是根据本发明实施例二的应用于网络传输中的数据解压缩方法的流程图;
[0014]图3是根据本发明实施例三的应用于网络传输中的数据压缩装置的结构示意图;
[0015]图4是根据本发明实施例三可选的应用于网络传输中的数据压缩装置的结构示意图;
[0016]图5是根据本发明实施例四的应用于网络传输中的数据解压缩装置的结构示意图;以及
[0017]图6是根据本发明实施例四可选的应用于网络传输中的数据解压缩装置的结构示意图。

【具体实施方式】
[0018]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0019]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0020]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0021]实施例1
[0022]本发明实施例提供了一种应用于网络传输中的数据压缩方法。
[0023]图1是根据本发明实施例的应用于网络传输中的数据压缩方法的流程图。如图1所示,该方法包括步骤如下:
[0024]步骤S11,获取用于对数据进行压缩的压缩规则。
[0025]具体的,通过上述步骤S11,获取用于对网络传输中数据进行压缩的压缩规则。通过压缩规则,对网络传输中的数据进行压缩。减小数据的体积,从而实现提高传输效率的目的。
[0026]步骤S13,读取用于网络传输的数据流。
[0027]具体的,通过上述步骤S13,读取需要通过网络进行传输的数据流。其中,数据流是在网络中进行传输的事先规定好的顺序被读取一次的数据序列。数据流可以用来传输语音、文本或者视频等数据。
[0028]步骤S15,判断数据流是否满足压缩规则定义的压缩条件。
[0029]具体的,通过上述步骤S15,根据获取到的压缩规则,对读取到的用于网络传输的数据流进行判断,判断数据流是否满足压缩规则定义的对其进行压缩的条件。
[0030]步骤S17,在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流。
[0031]具体的,通过上述步骤S17,对满足压缩规则定义的压缩条件的数据流按照压缩规则进行压缩,生成目标数据流。将压缩过的目标数据流用于网络数据的传输。
[0032]通过上述步骤Sll至步骤S17,首先获取用来对数据流进行压缩的压缩规则。进而通过压缩规则对符合压缩规则定义的压缩条件的数据流进行压缩,最后得到用来传输的目标数据流。
[0033]在实际应用当中,以用来传输视频的数据流为例进行说明。在对视频统计数据的采集过程中,对于涉及有可能需要发送大量的,且有可能在数据流中具有连续相同字符数据特性的应用场景,可以选择对这种数据进行压缩,减小发送数据流的容量。这样,就可以在传输过程中使用压缩后的数据格式对数据进行发送,减小数据内容发送的带宽消耗,降低使用成本。
[0034]综上可知,本发明解决了现有技术中通过网络传输大量数据导致带宽资源消耗量大,运维成本高的问题,实现了在传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗,降低带宽成本的效果。
[0035]优选的,本申请上述实施例中,在步骤S15判断数据流是否满足压缩规则定义的压缩条件中,的步骤包括:
[0036]步骤S151,读取数据流所包含的字符串。
[0037]步骤S153,按照字符串中的字符排列顺序,确定在数据流中具有相同的字段位数的字符串。
[0038]步骤S155,判断字段位数是否大于等于预先设置的第一压缩阈值。
[0039]其中,当字段位数大于等于第一压缩阈值时,确定数据流满足压缩规则定义的压缩条件。
[0040]具体的,通过上述步骤S151至步骤S155,对数据流中所包含的字符串进行分析,按照字符串中字符的排列顺序,确定在数据流的字符串中,具有连续相同字符的字段及其字段位数。当具有连续相同字符的字段位数超过第一压缩阈值时,确定数据流中的字段满足压缩规则所定义的压缩条件,通过压缩规则对数据流中的字段进行压缩。
[0041]在实际应用当中,以视频统计数据采集为例,需要发送具有大量连续相同字符的数据流。使用原始数据内容进行发送,发送的数据流中的字符串数据,例如:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0042]此时,首先,对上述字符串进行分析,确定上述字符串中一共具有6个具有连续相同字符的字段,分别为第一字段:“1111111111111”、第二字段:“22222222”、第三字段:“33”、第四字段:“22222222222222”、第五字段:“1111111111”和第六字段:“00000000000000000000000”,同时确定上述各个字段中的字段位数。通过对各个字段的字段位数与预先设置的第一压缩阈值判断,当字段位数大于第一压缩阈值时,则数据流中的该字段满足压缩规则定义的压缩条件。
[0043]优选的,本申请上述实施例中,在步骤S17数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流中,步骤包括:
[0044]步骤S171a,将字段按照压缩规则进行压缩,得到目标字段。
[0045]步骤S173a,用目标字段对数据流中的字段进行替换,生成目标数据流。
[0046]具体的,通过上述步骤S171a至步骤S173a,数据流中具有连续相同字符的字段按照压缩规则进行压缩,得到压缩后的目标字段。使用压缩后的目标字段对数据流中的与目标字段对应的字段进行替换,生成用于传输的目标数据流。
[0047]优选的,本申请上述实施例中,在步骤S17数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流中,步骤包括:
[0048]步骤S171b,读取数据流所包含的字符串。
[0049]步骤S172b,按照字符串中的字符排列顺序,确定在数据流中具有相同的字段位数的字符串。
[0050]步骤S173b,判断字段位数是否大于等于预先设置的第二压缩阈值。
[0051]步骤S174b,当字段位数大于等于第二压缩阈值时,将字段分为第一字段和第二字段。
[0052]步骤S175b,将第一字段和第二字段分别按照压缩规则进行压缩,得到第一目标字段和第二目标字段。
[0053]步骤S176b,根据第一目标字段和第二目标字段,生成目标字段。
[0054]步骤S177b,用目标字段对数据流中的字段进行替换,生成目标数据流。
[0055]具体的,通过上述步骤S171b至步骤S177b,对需要压缩的字符串的位数使用第二压缩阈值进行限定。当数据流中字符串的位数大于等于第二压缩阈值时,将字符串拆分为第一字段和第二字段分别进行压缩,得到第一目标字段和第二目标字段。然后将第一目标字段和第二目标字段进行合并,得到最终的目标字段。最后将目标字段对数据流中的字段进行替换,生成用于传输的目标数据流。
[0056]优选的,本申请上述实施例中,在步骤Sll获取用于对数据进行压缩的压缩规则之前,方法还包括:
[0057]步骤S10,创建压缩规则,压缩规则为在目标字段的第一位加入预先设定的压缩标识符,目标字段的第二位用于表征字段的字符重复的位数,目标字段的第三位加入字段的重复的字符。
[0058]优选的,本申请上述实施例中,压缩规则包括:
[0059]在目标字段的第一位,采用#表征压缩标识符。
[0060]目标字段的第二位,由O至9表征字符段中的字符重复O至9次;由A至Z表征字段中的字符重复10至35次;由a至Z表征字段中的字符重复36至61次。
[0061]目标字段的第三位,用来表征字段的重复的字符。
[0062]具体的,压缩规则以“#”号为压缩的起始符号,第二位字符表示重复的位数,该值取值为O?9、A?Z、a?z,0?9依次对应表示重复了 O?9次,A?Z依次对应表示重复了 10?35次,a?z依次对应表不重复了 36?61次,第三位表不重复的内容。例如“#B3”表示重复了 11次的“3”,即“33333333333”,这样三位字符最多可以表示61位重复的字符,在这种情况下,可以将第二压缩阈值设置为62。如果重复字符不足3位,则无需压缩,在这种情况下,可以将上述第一压缩阈值设定为3。如果重复字符超过61位,例如有100位的“1”,则可以把字段拆分成字段位数为61位的第一字段和字段位数为39位的第二字段。先压缩第一字段的61位,生成第一目标字段“#zl”。之后再压缩第二字段的39位,生成第二目标字段“Ml ”,最后将第一目标字段和第二目标字段进行合并,生成目标字段,即表示为“ #zl#dl”。
[0063]通过这种压缩方式,上述实施例中出现的数据流中的字符串数据1111111111111222222223322222222222222111111111100000000000000000000000”
[0064]可以表示为:“#D1#8233#E2#A1#N0”。将数据流中的字符串位数从70位减少到了17位。
[0065]上述方法适用于需要发送大量连续相同字符数据的场景。连续相同字符越多,压缩效果越明显。
[0066]在发送传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗,提高传输效率,降低带宽成本。
[0067]综上所述,上述方法的实质是通过压缩格式进行发送,减小发送的带宽消耗。所以通过其他压缩规则实现的压缩方法(非本文中介绍的压缩算法等),能够到达这一目的应该均可实现。
[0068]实施例2
[0069]本发明实施例还提供了一种应用于网络传输中的数据解压缩方法,如图2所示,该装置可以包括:
[0070]步骤S21,获取用于对目标数据流进行解压缩的解压缩规则。
[0071]步骤S23,读取目标数据流。
[0072]步骤S25,按照解压缩规则对目标数据流进行解压缩,生成原始数据流。
[0073]具体的,通过步骤S21至步骤S25,获取接收到的通过网络传输的数据流和与压缩规则对应的解压缩规则。将获取到的数据流按照解压缩规则进行解压缩,得到压缩之前的原始数据流。
[0074]优选的,本申请上述实施例中,在步骤S25按照解压缩规则对目标数据流进行解压缩,生成原始数据流中,步骤包括:
[0075]步骤S251,读取目标数据流所包含的字符串。
[0076]步骤S253,按照字符串中的字符排列顺序,识别字符串中包含的经过压缩的目标字段。
[0077]步骤S255,通过解压缩规则对目标字段进行解压缩,得到原始字段。
[0078]步骤S257,用原始字段对目标数据流中的目标字段进行替换,生成原始数据流。
[0079]具体的,通过上述步骤S251至步骤S257,对读取到的目标数据流中的字符串进行识别,识别目标数据流中包含的字符串中经过压缩的目标字段。将目标字段按照与压缩规则对应的解压缩规则进行解压缩,得到原始字段。用原始字段对目标数据流中经过压缩的目标字段进行替换,得到原始数据流。
[0080]优选的,本申请上述实施例中,在步骤S253按照字符串中的字符排列顺序,识别字符串中包含的经过压缩的目标字段中,步骤包括:
[0081]步骤S2531,识别字符串中的解压缩标示符,其中,街压缩标示符为压缩过程中在字符串中加入的压缩标不符。
[0082]步骤S2533,读取以解压缩标示符为起始,包括解压缩标示符在内的预定位数的目标字段。
[0083]步骤S2535,根据解压缩规则对目标字段进行解压缩,生成原始字段。
[0084]具体的,上述步骤S2531至步骤S2535,通过识别字符串中的解压缩标示符,对目标数据流中经过压缩的目标字段进行确定。并根据与压缩规则对应的解压缩规则对目标字段进行解压缩,生成原始字段。
[0085]优选的,本申请上述实施例中,在步骤S21获取用于对目标数据流进行解压缩的解压缩规则之前,方法还包括:
[0086]步骤S20,创建解压缩规则,解压缩规则为在目标字段的第一位为预先设定的压缩标识符,目标字段的第二位为原始字段中的字符重复的位数,目标字段的第三位为原始字段的重复的字符。
[0087]具体的,通过上述步骤S20,创建与压缩规则对应的解压缩规则。
[0088]在实际应用当中,目标字段的第一位为采用#表征的解压缩标识符。
[0089]目标字段的第二位,字符段中的字符重复O至9次时,由O至9进行表征;字符段中的字符重复10至35次时,由A至Z进行表征;字符段中的字符重复36至61次时,由a至z进行表征。
[0090]目标字段的第三位,用来表征字段的重复的字符。
[0091]通过上述方式,对由“#D1#8233#E2#A1#N0”标示的目标字段进行解压缩的步骤为:
[0092]当读到第I个字符为“ # ”时,则向后读两位是“D1”,故表示13个“I”;继续读下一位为“#”,则向后读两位是“82”,得到8个“2”;继续读下一位为“3”,不是压缩字符,得到“3”;继续读下一位为“3”,不是压缩字符,得到“3”;继续读下一位为“#”,则往后读两位是“E2”,得到14个“2”;继续读下一位为“#”,则往后读两位是“Al”,得到10个“I”;继续读下一位为“#”,则往后读两位是“NO”,得到23个“O”。
[0093]通过上述步骤,最终将目标字符串“#D1#8233#E2#A1#N0”还原为原始字符串:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0094]在实际应用当中,解压缩规则与压缩规则相对应,通过压缩规则来确定所使用的解压缩规则。
[0095]通过上述方法,在发送传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗。提高了数据的传输效率。
[0096]实施例3
[0097]本发明实施例还提供了一种应用于网络传输中的数据压缩装置,如图3所示,该装置可以包括:第一获取模块31、第一读取模块33、判断模块35和压缩模块37。
[0098]其中,第一获取模块31,用于获取用于对数据进行压缩的压缩规则。
[0099]具体的,通过上述第一获取模块31,获取用于对网络传输中数据进行压缩的压缩规则。通过压缩规则,对网络传输中的数据进行压缩。减小数据的体积,从而实现提高传输效率的目的。
[0100]第一读取模块33,用于读取用于网络传输的数据流。
[0101]具体的,通过上述第一读取模块33,读取需要通过网络进行传输的数据流。其中,数据流是在网络中进行传输的事先规定好的顺序被读取一次的数据序列。数据流可以用来传输语音、文本或者视频等数据。
[0102]判断模块35,用于判断数据流是否满足压缩规则定义的压缩条件。
[0103]具体的,上述判断模块35,根据获取到的压缩规则,对读取到的用于网络传输的数据流进行判断,判断数据流是否满足压缩规则定义的对其进行压缩的条件。
[0104]压缩模块37,用于在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流。
[0105]具体的,通过上述压缩模块37,对满足压缩规则定义的压缩条件的数据流按照压缩规则进行压缩,生成目标数据流。将压缩过的目标数据流用于网络数据的传输。
[0106]通过上述第一获取模块31、第一读取模块33、判断模块35和压缩模块37,首先获取用来对数据流进行压缩的压缩规则。进而通过压缩规则对符合压缩规则定义的压缩条件的数据流进行压缩,最后得到用来传输的目标数据流。
[0107]在实际应用当中,以用来传输视频的数据流为例进行说明。在对视频统计数据的采集过程中,对于涉及有可能需要发送大量的,且有可能在数据流中具有连续相同字符数据特性的应用场景,可以选择对这种数据进行压缩,减小发送数据流的容量。这样,就可以在传输过程中使用压缩后的数据格式对数据进行发送,减小数据内容发送的带宽消耗,降低使用成本。
[0108]综上可知,本发明解决了现有技术中通过网络传输大量数据导致带宽资源消耗量大,运维成本高的问题,实现了在传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗,降低带宽成本的效果。
[0109]进一步的,判断模块35在判断数据流是否满足压缩规则定义的压缩条件的步骤中,可以包括如下步骤:
[0110]步骤A,读取数据流所包含的字符串。
[0111]步骤B,按照字符串中的字符排列顺序,确定在数据流中具有相同的字段位数的字符串。
[0112]步骤C,判断字段位数是否大于等于预先设置的第一压缩阈值。
[0113]其中,当字段位数大于等于第一压缩阈值时,确定数据流满足压缩规则定义的压缩条件。
[0114]具体的,通过判断模块35执行上述步骤,对数据流中所包含的字符串进行分析,按照字符串中字符的排列顺序,确定在数据流的字符串中,具有连续相同字符的字段及其字段位数。当具有连续相同字符的字段位数超过第一压缩阈值时,确定数据流中的字段满足压缩规则所定义的压缩条件,通过压缩规则对数据流中的字段进行压缩。
[0115]在实际应用当中,以视频统计数据采集为例,需要发送具有大量连续相同字符的数据流。使用原始数据内容进行发送,发送的数据流中的字符串数据,例如:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0116]此时,首先,对上述字符串进行分析,确定上述字符串中一共具有6个具有连续相同字符的字段,分别为第一字段:“1111111111111”、第二字段:“22222222”、第三字段:“33”、第四字段:“22222222222222”、第五字段:“1111111111”和第六字段:“00000000000000000000000”,同时确定上述各个字段中的字段位数。通过对各个字段的字段位数与预先设置的第一压缩阈值判断,当字段位数大于第一压缩阈值时,则数据流中的该字段满足压缩规则定义的压缩条件。
[0117]进一步的,压缩模块37在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流的步骤中,可以包括如下步骤:
[0118]步骤A,将字段按照压缩规则进行压缩,得到目标字段。
[0119]步骤B,用目标字段对数据流中的字段进行替换,生成目标数据流。
[0120]具体的,压缩模块37通过执行上述步骤,将数据流中具有连续相同字符的字段按照压缩规则进行压缩,得到压缩后的目标字段。使用压缩后的目标字段对数据流中的与目标字段对应的字段进行替换,生成用于传输的目标数据流。
[0121]进一步的,压缩模块37在数据流满足压缩条件时,按照压缩规则对数据流进行压缩,生成目标数据流的步骤中,还可以包括如下步骤:
[0122]步骤A’,读取数据流所包含的字符串。
[0123]步骤B’,按照字符串中的字符排列顺序,确定在数据流中具有相同的字段位数的字符串。
[0124]步骤C’,判断字段位数是否大于等于预先设置的第二压缩阈值。
[0125]步骤D’,当字段位数大于等于第二压缩阈值时,将字段分为第一字段和第二字段。
[0126]步骤E’,将第一字段和第二字段分别按照压缩规则进行压缩,得到第一目标字段和第二目标字段。
[0127]步骤F’,根据第一目标字段和第二目标字段,生成目标字段。
[0128]步骤G’,用目标字段对数据流中的字段进行替换,生成目标数据流。
[0129]具体的,压缩模块37通过执行上述步骤,对需要压缩的字符串的位数使用第二压缩阈值进行限定。当数据流中字符串的位数大于等于第二压缩阈值时,将字符串拆分为第一字段和第二字段分别进行压缩,得到第一目标字段和第二目标字段。然后将第一目标字段和第二目标字段进行合并,得到最终的目标字段。最后将目标字段对数据流中的字段进行替换,生成用于传输的目标数据流。
[0130]优选的,本申请上述实施例中,如图4所示,装置还包括:第一创建模块30。
[0131]其中,第一创建模块30,用于创建压缩规则,压缩规则为在目标字段的第一位加入预先设定的压缩标识符,目标字段的第二位用于表征字段的字符重复的位数,目标字段的第三位加入字段的重复的字符。
[0132]具体的,通过上述第一创建模块30创建的压缩规则可以是:压缩规则以“#”号为压缩的起始符号,第二位字符表示重复的位数,该值取值为O?9、A?Z、a?z,0?9依次对应表示重复了 O?9次,A?Z依次对应表示重复了 10?35次,a?z依次对应表示重复了 36?61次,第三位表示重复的内容。例如“#B3”表示重复了 11次的“3”,即“33333333333”,这样三位字符最多可以表示61位重复的字符,在这种情况下,可以将第二压缩阈值设置为62。如果重复字符不足3位,则无需压缩,在这种情况下,可以将上述第一压缩阈值设定为3。如果重复字符超过61位,例如有100位的“1”,则可以把字段拆分成字段位数为61位的第一字段和字段位数为39位的第二字段。先压缩第一字段的61位,生成第一目标字段“#zl”。之后再压缩第二字段的39位,生成第二目标字段“#dl”,最后将第一目标字段和第二目标字段进行合并,生成目标字段,即表示为“#zl#dl ”。
[0133]通过这种压缩方式,上述实施例中出现的数据流中的字符串数据:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0134]可以表示为:“#D1#8233#E2#A1#N0”。将数据流中的字符串位数从70位减少到了17位。
[0135]上述方法适用于需要发送大量连续相同字符数据的场景。连续相同字符越多,压缩效果越明显。
[0136]在发送传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗,提高传输效率,降低带宽成本。
[0137]综上所述,上述方法的实质是通过压缩格式进行发送,减小发送的带宽消耗。所以通过其他压缩规则实现的压缩方法(非本文中介绍的压缩算法等),能够到达这一目的应该均可实现。
[0138]实施例4
[0139]本发明实施例还提供了一种应用于网络传输中的数据解压缩装置,如图5所示,该装置可以包括:第二获取模块41、第二读取模块43和解压缩模块45。
[0140]其中,第二获取模块41,用于获取用于对目标数据流进行解压缩的解压缩规则。
[0141 ] 第二读取模块43,用于读取目标数据流。
[0142]解压缩模块45,用于按照解压缩规则对目标数据流进行解压缩,生成原始数据流。
[0143]具体的,通过上述第二获取模块41、第二读取模块43和解压缩模块45,获取接收到的通过网络传输的数据流和与压缩规则对应的解压缩规则。将获取到的数据流按照解压缩规则进行解压缩,得到压缩之前的原始数据流。
[0144]进一步的,解压缩模块45在按照解压缩规则对目标数据流进行解压缩,生成原始数据流的步骤中,可以包括如下步骤:
[0145]步骤A,读取目标数据流所包含的字符串。
[0146]步骤B,按照字符串中的字符排列顺序,识别字符串中包含的经过压缩的目标字段。
[0147]步骤C,通过解压缩规则对目标字段进行解压缩,得到原始字段。
[0148]步骤D,用原始字段对目标数据流中的目标字段进行替换,生成原始数据流。
[0149]具体的,解压缩模块45通过上述步骤,对读取到的目标数据流中的字符串进行识另IJ,识别目标数据流中包含的字符串中经过压缩的目标字段。将目标字段按照与压缩规则对应的解压缩规则进行解压缩,得到原始字段。用原始字段对目标数据流中经过压缩的目标字段进行替换,得到原始数据流。
[0150]优选的,本申请上述实施例中,如图6所示,装置还包括:第二创建模块40。
[0151]其中,第二创建模块40,用于创建解压缩规则,解压缩规则为在目标字段的第一位为预先设定的压缩标识符,目标字段的第二位为原始字段中的字符重复的位数,目标字段的第三位为原始字段的重复的字符。
[0152]具体的,通过上述第二创建模块40,创建与压缩规则对应的解压缩规则。
[0153]在实际应用当中,目标字段的第一位为采用#表征的解压缩标识符。
[0154]目标字段的第二位,字符段中的字符重复O至9次时,由O至9进行表征;字符段中的字符重复10至35次时,由A至Z进行表征;字符段中的字符重复36至61次时,由a至z进行表征。
[0155]目标字段的第三位,用来表征字段的重复的字符。
[0156]通过上述方式,对由“#D1#8233#E2#A1#N0”标示的目标字段进行解压缩的步骤为:
[0157]当读到第I个字符为“ # ”时,则向后读两位是“D1”,故表示13个“I”;继续读下一位为“#”,则向后读两位是“82”,得到8个“2”;继续读下一位为“3”,不是压缩字符,得到“3”;继续读下一位为“3”,不是压缩字符,得到“3”;继续读下一位为“#”,则往后读两位是“E2”,得到14个“2”;继续读下一位为“#”,则往后读两位是“Al”,得到10个“I”;继续读下一位为“#”,则往后读两位是“NO”,得到23个“O”。
[0158]通过上述步骤,最终将目标字符串“#D1#8233#E2#A1#N0”还原为原始字符串:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0159]在实际应用当中,解压缩规则与压缩规则相对应,通过压缩规则来确定所使用的解压缩规则。
[0160]通过上述方法,在发送传输过程中使用压缩格式进行发送,减小了数据内容发送的带宽消耗。提高了数据的传输效率。
[0161]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0162]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0163]在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0164]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0165]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0166]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0167]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种应用于网络传输中的数据压缩方法,其特征在于,包括: 获取用于对数据进行压缩的压缩规则; 读取用于网络传输的数据流; 判断所述数据流是否满足所述压缩规则定义的压缩条件; 在所述数据流满足所述压缩条件时,按照所述压缩规则对所述数据流进行压缩,生成目标数据流。
2.根据权利要求1所述的方法,其特征在于,判断所述数据流是否满足所述压缩规则定义的压缩条件的步骤包括: 读取所述数据流所包含的字符串; 按照所述字符串中的字符排列顺序,确定在所述数据流中具有相同的字段位数的字符串; 判断所述字段位数是否大于等于预先设置的第一压缩阈值; 其中,当所述字段位数大于等于所述第一压缩阈值时,确定所述数据流满足所述压缩规则定义的压缩条件。
3.根据权利要求2所述的方法,其特征在于,在所述数据流满足所述压缩条件时,按照所述压缩规则对所述数据流进行压缩,生成目标数据流的步骤包括: 将所述字段按照所述压缩规则进行压缩,得到目标字段; 用所述目标字段对所述数据流中的所述字段进行替换,生成目标数据流。
4.根据权利要求1所述的方法,其特征在于,在所述数据流满足所述压缩条件时,按照所述压缩规则对所述数据流进行压缩,生成目标数据流的步骤包括: 读取所述数据流所包含的字符串; 按照所述字符串中的字符排列顺序,确定在所述数据流中具有相同的字段位数的字符串; 判断所述字段位数是否大于等于预先设置的第二压缩阈值; 当所述字段位数大于等于第二压缩阈值时,将所述字段分为第一字段和第二字段; 将所述第一字段和所述第二字段分别按照所述压缩规则进行压缩,得到第一目标字段和第二目标字段; 根据所述第一目标字段和第二目标字段,生成目标字段; 用所述目标字段对所述数据流中的所述字段进行替换,生成所述目标数据流。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,在获取用于对数据进行压缩的压缩规则之前,所述方法还包括: 创建所述压缩规则,所述压缩规则为在所述目标字段的第一位加入预先设定的压缩标识符,所述目标字段的第二位用于表征所述字段的字符重复的位数,所述目标字段的第三位加入所述字段的重复的字符。
6.根据权利要求5所述的方法,其特征在于,所述压缩规则包括: 在所述目标字段的第一位,采用#表征所述压缩标识符; 所述目标字段的第二位,由0至9表征所述字符段中的字符重复0至9次;由A至Z表征所述字段中的字符重复10至35次;由a至ζ表征所述字段中的字符重复36至61次;所述目标字段的第三位,用来表征所述字段的重复的字符。
7.—种应用于网络传输中的数据解压缩方法,其特征在于,对所述权利要求1至6中任意一项所述方法所生成的目标数据流进行解压缩,所述解压缩方法包括如下步骤: 获取用于对所述目标数据流进行解压缩的解压缩规则; 读取所述目标数据流; 按照所述解压缩规则对所述目标数据流进行解压缩,生成原始数据流。
8.根据权利要求7所述的方法,其特征在于,所述按照所述解压缩规则对所述目标数据流进行解压缩,生成原始数据流的步骤包括: 读取所述目标数据流所包含的字符串; 按照所述字符串中的字符排列顺序,识别所述字符串中包含的经过压缩的目标字段; 通过所述解压缩规则对所述目标字段进行解压缩,得到原始字段; 用所述原始字段对所述目标数据流中的所述目标字段进行替换,生成原始数据流。
9.根据权利要求8所述的方法,其特征在于,所述按照所述字符串中的字符排列顺序,识别所述字符串中包含的经过压缩的目标字段的步骤包括: 识别所述字符串中的解压缩标示符,其中,所述解压缩标示符为压缩过程中在所述字符串中加入的压缩标不符; 读取以所述解压缩标示符为起始,包括所述解压缩标示符在内的预定位数的目标字段; 根据所述解压缩规则对所述目标字段进行解压缩,生成所述原始字段。
10.根据权利要求7至9中任意一项所述的方法,其特征在于,在所述获取用于对所述目标数据流进行解压缩的解压缩规则之前,所述方法还包括: 创建所述解压缩规则,所述解压缩规则为在所述目标字段的第一位为预先设定的压缩标识符,所述目标字段的第二位为所述原始字段中的字符重复的位数,所述目标字段的第三位为所述原始字段的重复的字符。
11.一种应用于网络传输中的数据压缩装置,其特征在于,包括: 第一获取模块,用于获取用于对数据进行压缩的压缩规则; 第一读取模块,用于读取用于网络传输的数据流; 判断模块,用于判断所述数据流是否满足所述压缩规则定义的压缩条件; 压缩模块,用于在所述数据流满足所述压缩条件时,按照所述压缩规则对所述数据流进行压缩,生成目标数据流。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括: 第一创建模块,用于创建所述压缩规则,所述压缩规则为在目标字段的第一位加入预先设定的压缩标识符,所述目标字段的第二位用于表征所述字段的字符重复的位数,所述目标字段的第三位加入所述字段的重复的字符。
13.—种应用于网络传输中的数据解压缩装置,其特征在于,对所述权利要求11至12中任意一项所述装置所生成的目标数据流进行解压缩,所述装置包括: 第二获取模块,用于获取用于对所述目标数据流进行解压缩的解压缩规则; 第二读取模块,用于读取所述目标数据流; 解压缩模块,用于按照所述解压缩规则对所述目标数据流进行解压缩,生成原始数据流。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括: 第二创建模块,用于创建所述解压缩规则,所述解压缩规则为在所述目标字段的第一位为预先设定的压缩标识符,所述目标字段的第二位为原始字段中的字符重复的位数,所述目标字段的第三位为所述原始字段的重复的字符。
【文档编号】H04L29/06GK104468044SQ201410740716
【公开日】2015年3月25日 申请日期:2014年12月5日 优先权日:2014年12月5日
【发明者】林斐, 李鑫 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1