CN103684718B - 一种差错容忍的网络冗余消除实现方法 - Google Patents
一种差错容忍的网络冗余消除实现方法 Download PDFInfo
- Publication number
- CN103684718B CN103684718B CN201310645795.7A CN201310645795A CN103684718B CN 103684718 B CN103684718 B CN 103684718B CN 201310645795 A CN201310645795 A CN 201310645795A CN 103684718 B CN103684718 B CN 103684718B
- Authority
- CN
- China
- Prior art keywords
- finger
- packet
- redundant data
- print codes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供一种差错容忍的网络冗余消除实现方法,属于网络技术领域,用于解决现有的数据冗余消除过程中容易产生误码的问题,该方法为:首先对待发送的数据包中的冗余数据片段进行指纹编码;接着发送端将指纹编码后的数据包传输给接收端或者下游节点;最后接收端或者下游节点对数据包进行译码。本发明能在网络传输差错的情况下,下游节点也能及时准确的提取指纹信息,并正确的解码还原原始分组数据。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种差错容忍的网络冗余消除实现方法。
背景技术
由于互联网上大量相同或相似的内容被网络边缘的用户多次请求,造成了数据在网络上的重复传输,导致了大量的冗余流量,不但消耗网络带宽,而且降低了互联网的效率。随着存储设备容量不断扩大,运算设备性能不断提高、价格不断降低,在互联网引入网内存储设施,使网络具有记忆功能已经成为可能,具有存储功能的互联网能够实现网络冗余流量消除技术,它记录网络上传输的数据,识别被重复传输的数据,从而消除冗余传输,起到减少网络流量、提高网络性能的作用。但是,在数据冗余消除(Data RedundancyElimination,DRE)过程中,编码的指纹信息在传输过程中会产生误码、超时等现象,网络环境越是复杂,该现象越是明显,致使接收端或者下游节点接收到错误的指纹信息,无法正常译码。
为解决现有的数据冗余消除技术容易产生误码,导致下游节点无法正常译码的问题,现有技术中主要有以下几种解决机制:
1、基于重传的解决机制:下游节点检测接收数据情况,发现错误则要求发送端重新发送数据包。该方法存在的问题:严重浪费网络资源,尤其对于无线传输环境,重复传输的次数会非常多,严重影响了网络传输效率。
2、ACK侦听:下游节点在接收到数据包后将数据包是否正常的情况反馈给发送端。若数据信息正常,发送端可以根据此信息确认该数据包确实正常发送到下游节点。若数据包信息不正常,则发送端则将该条信息缓存到“黑名单”中(该“黑名单”记录曾经出现传输错误的数据包的信息),因此,如果同一数据包再次发生错误,发送端通过该“黑名单”可以快速查找到出现错误的数据包。该方法存在两点问题:其一,接收端或者下游节点接收到正常的数据包并且发送了确认信息,但是由于网络延迟的原因发送端没有收到确认信息而误认为接收端或者下游节点没有成功接收数据,发送端会再次发送本来已经成功接收的数据信息而造成信息误传,从而浪费网络资源。其二,该方法无法适用于没有反馈确认机制的协议中,比如UDP协议(用户数据包协议)。
综上所述,现有的数据冗余消除技术存在在传输过程中容易产生误码导致接收端或者下游节点无法正确译码,网络传输效率慢,网络资源浪费严重的问题。
发明内容
本发明的目的在于提供一种差错容忍的网络冗余消除实现方法,以解决现有技术在解决编码的指纹信息在传输过程中产生误码的问题时,利用基于重传的解决机制检测错误则要求发送端重新发送数据包,严重浪费了网络资源,也很难保证消息的实时性传输的问题;而利用ACK侦听的方法需要反馈确认信息,无法适用于不存在反馈确认机制的传输协议,并且如果反馈确认信息由于网络延迟等原因不能及时传输到发送端导致发送端重复发送数据包的现象会造成严重的资源浪费问题。
为解决上述技术问题,本发明提供的一种差错容忍的网络冗余消除实现方法,包括:对待发送的数据包中的冗余数据片段进行指纹编码;发送端将指纹编码后的数据包传输给接收端或者下游节点;接收端或者下游节点对数据包进行译码。
优选地,所述对待发送的数据包中的冗余数据片段进行指纹编码,其具体步骤为:
从当前待发送的数据包中选出冗余数据片段;
通过哈希函数计算第一个冗余数据片段至第M个冗余数据片段的HASH值H1至HM;其中,M为当前待发送的数据包中选出的冗余数据片段的总数,且M>1;
将当前选出的第一个冗余数据片段指纹编码为HMH1H2,将当前选出的第M个冗余数据片段指纹编码为HM-1HMH1,将当前选出的第n个冗余数据片段指纹编码为Hn-1HnHn+1,其中,n为大于1小于M的正整数;
将当前待发送数据包中的冗余数据片段用其对应的指纹编码替换。
优选地,所述接收端或者下游节点对数据包进行译码之前,在所述接收端或者下游节点预先缓存一张HASH值与冗余数据片段对应的表。
优选地,所述接收端或者下游节点对数据包进行译码,具体步骤为:按顺序提取数据包中的所有指纹编码;确定各指纹编码对应的冗余数据片段的正确HASH值;根据各冗余数据片段的HASH值,从缓存中HASH值与数据片段对应的表中提取出相应的数据片段;将数据包中的各指纹编码用其对应的数据片段替换,完成对数据包的译码工作。
优选地,所述确定每个指纹编码对应的冗余数据片段的正确HASH值的具体方法为:
S1:提取当前指纹编码中的第二个HASH值,将其记为H;
S2:判断是否能在所述缓存中HASH值与冗余数据片段对应的表中找到H对应的冗余数据片段,是则将H作为当前指纹编码对应的冗余冗余数据片段的正确HASH值,结束数据包译码流程;否则继续执行S3;
S3:在当前指纹编码的前一个指纹编码和后一个指纹编码中分别提取当前指纹编码对应的冗余数据片段的HASH,分别记为HF、HL,随后执行S4;其中,若当前指纹编码为当前数据包中顺序提取出的第一个指纹编码,则将当前数据包中顺序提取出的最后一个指纹编码作为所述第一个指纹编码的前一个指纹编码;若当前指纹编码为当前数据包中顺序提取出的最后一个指纹编码,则将当前数据包中顺序提取出的第一个指纹编码作为所述最后一个指纹编码的后一个指纹编码;
S4:判断在所述HASH值与数据片段对应的表中是否能找到HF或HL对应的数据片段,是则将对应于该数据片段的HASH值作为当前指纹编码对应的冗余数据片段的正确HASH值,否则结束数据包译码流程,要求发送端重新发送该数据包。
本发明的上述技术方案的有益效果如下:
1、本发明提供的方法通过采用当前冗余数据片段及其前后冗余数据片段的HASH值结合对各冗余数据片段进行指纹编码,使得由于传输错误导致接收端或者下游节点或者下游节点无法正常译码时,只需要通过当前需要译码的冗余数据片段的前一冗余数据片段或者后一冗余数据片段的指纹编码即可得到当前需要译码的冗余数据片段的正确HASH值,从而获取到该HASH对应的数据片段,因此一般不必要求发送端再次发送数据,提高了网络传输效率、节省了网络带宽。
2、对于传输条件比较恶劣的网络环境,传输误码的概率比较大,本发明提供的方法中接收端或者下游节点可以正常译码时,在接收端或者下游节点就可以根据前后指纹信息对所接收的信息及时进行确认,解决了现有的反馈确认的方法由于确认信息延迟使得发送端也有可能无法正常接收到接收端或者下游节点的确认信息而造成数据包重复发送的问题。
附图说明
图1为本发明实施例提供的一种差错容忍的网络冗余消除实现方法流程示意图;
图2为图1中对待发送的数据包中的冗余数据片段进行指纹编码的流程示意图;
图3为当前待发送数据包中的冗余数据片段指纹编码示意图;
图4为HASH值与冗余数据片段对应的表示意图;
图5为图1中步骤S13的流程示意图;
图6为获取各指纹编码对应的冗余数据片段的正确HASH值的流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
图1所示为本发明实施例提供的一种差错容忍的网络冗余消除实现方法,包括:
S11:对待发送的数据包中的冗余数据片段进行指纹编码;
S12:发送端将指纹编码后的数据包传输给接收端或者下游节点;
S13:接收端或者下游节点对数据包进行译码。
图2为图1中对待发送的数据包中的冗余数据片段进行指纹编码的流程示意图,即S11具体包括如下步骤:
S21:从当前待发送的数据包中选出冗余数据片段。
S22:通过哈希函数计算当前选出的第一个冗余数据片段至第M个冗余数据片段的HASH值H1至HM;其中,M为当前待发送的数据包中选出的冗余数据片段的总数,且且M>1。
S23:对冗余数据片段进行指纹编码:将当前选出的第一个冗余数据片段指纹编码为HMH1H2,将当前选出的第M个冗余数据片段指纹编码为HM-1HMH1,将当前选出的第n个冗余数据片段指纹编码为Hn-1HnHn+1,其中,n为大于1小于M的正整数。
S24:将当前待发送数据包中的冗余数据片段用其对应的指纹编码替换,完成对当前待发送的数据包的指纹编码工作。
图3为当前待发送数据包中的冗余数据片段指纹编码示意图,其中M为数据冗余片断的总数,n为大于1小于M的正整数;“HASH值”对应的行显示了每个冗余数据片段对应的HASH值;“指纹编码”的行显示了根据每个数据冗余片断的HASH值及其前后的冗余片断的HASH值生成的指纹编码。
优选地,图1中的步骤S13之前,还包括步骤:在接收端或者下游节点预先缓存一张HASH值与冗余数据片段对应的表,如图4所示为HASH值与数据片段对应的表。
优选地,如图5所示,图1中的步骤S13具体包括以下步骤:
S51:提取数据包中的所有指纹编码;
S52:根据所提取的所有指纹编码,确定各指纹编码对应的冗余数据片段的正确HASH值;
S53:根据各冗余数据片段的HASH值,从缓存中HASH值与数据片段对应的表中提取出相应的数据片段;
S54:将数据包中的各指纹编码用其对应的数据片段替换,完成对数据包的译码工作。
优选地,确定每个指纹编码对应的冗余数据片段的正确HASH值的具体方法如图6所示:
S61:提取当前指纹编码中的第二个HASH值,将其记为H;
S62:判断是否能在HASH值与数据片段对应的表中找到H对应的冗余数据片段,是则执行S67;否则继续执行S63;
S63:在当前指纹编码的前一个指纹编码和后一个指纹编码中分别提取当前指纹编码对应的冗余数据片段的HASH值,分别记为HF、HL,随后执行S64;其中,若当前指纹编码为当前数据包中顺序提取出的第一个指纹编码,则将当前数据包中顺序提取出的最后一个指纹编码作为所述第一个指纹编码的前一个指纹编码;若当前指纹编码为当前数据包中顺序提取出的最后一个指纹编码,则将当前数据包中顺序提取出的第一个指纹编码作为所述最后一个指纹编码的后一个指纹编;
S64:判断在HASH值与数据片段对应的表中是否能找到HF或HL对应的数据片段,是则执行S66;否则执行S65;
S65:结束数据包译码流程,并发送提示信息给发送端,告知其接收端或者下游节点无法正常译码,要求发送端重新发送该数据包;
S66:将对应于该数据片段的HASH值作为当前指纹编码对应的冗余数据片段的正确HASH值返回;
S67:将H作为当前指纹编码对应的冗余数据片段的正确HASH值返回。
例如,假设当前接收端要对当前接收的数据包中的第二个指纹编码H1H2H3进行译码,其前一指纹编码为H10H1H2,其后一指纹编码为编H2H3H4,则首先从指纹编码H1H2H3中提取出HASH值H2,然后在图4的HSAH值与数据片段对应的表中找到H2对应的数据片段,即完成该指纹编码的正确译码过程。若当前接收的数据包中的第二个指纹编码中的第二个HASH值码字发生错误,即在图4的HSAH值与数据片段对应的表中找不到从当前接收的数据包中的第二个指纹编码中提取出的第二个HASH值,则提取出其前一指纹编码中的第三个HASH值,并提取出其后一指纹编码中的第一个HASH值,若在HSAH值与数据片段对应的表中能够找到其前一指纹编码中的第三个HASH值和其后一指纹编码中的第一个HASH值中的任一个HASH值,则当前接收端可以直接根据第一个指纹编码和第三个指纹编码的H2段进行译码,而不必要求发送方重新传输。
综上,本发明在网络传输差错的情况下,下游节点也能及时准确的提取指纹信息,并正确的解码还原原始分组数据。具体地,本发明提供的方法通过采用当前冗余数据片段及其前后冗余数据片段的HASH值结合对各冗余数据片段进行指纹编码,使得由于传输误导致接收端或者下游节点无法正常译码时,只需要通过当前需要译码的冗余数据片段的前一冗余数据片段或者后一冗余数据片段的指纹编码即可得到当前需要译码的冗余数据片段的正确HASH值,从而获取到该HASH对应的数据片段,因此一般不必要求发送端再次发送数据,提高了网络传输效率、节省了网络带宽。此外,对于传输条件比较恶劣的网络环境,传输误码的概率比较大,本发明提供的方法中接收端或者下游节点可以正常译码时,在接收端或者下游节点就可以根据前后指纹信息对所接收的信息及时进行确认,解决了现有的反馈确认的方法由于确认信息延迟使得发送端也有可能无法正常接收到接收端或者下游节点的确认信息而造成数据包重复发送的问题。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种差错容忍的网络冗余消除实现方法,其特征在于,包括:
对待发送的数据包中的冗余数据片段进行指纹编码;
发送端将指纹编码后的数据包传输给接收端或者下游节点;
接收端或者下游节点对数据包进行译码;
其中,所述对待发送的数据包中的冗余数据片段进行指纹编码,其具体步骤为:
从当前待发送的数据包中选出冗余数据片段;
通过哈希函数计算第一个冗余数据片段至第M个冗余数据片段的HASH值H1至HM;其中,M为当前待发送的数据包中选出的冗余数据片段的总数,且M>1;
将当前选出的第一个冗余数据片段指纹编码为HMH1H2,将当前选出的第M个冗余数据片段指纹编码为HM-1HMH1,将当前选出的第n个冗余数据片段指纹编码为Hn-1HnHn+1,其中,n为大于1小于M的正整数;
将当前待发送数据包中的冗余数据片段用其对应的指纹编码替换。
2.根据权利要求1所述的一种差错容忍的网络冗余消除实现方法,其特征在于,所述接收端或者下游节点对数据包进行译码之前,在所述接收端或者下游节点预先缓存一张HASH值与冗余数据片段对应的表。
3.根据权利要求2所述的一种差错容忍的网络冗余消除实现方法,其特征在于,所述接收端或者下游节点对数据包进行译码,具体步骤为:
按顺序提取数据包中的所有指纹编码;
确定各指纹编码对应的冗余数据片段的正确HASH值;
根据各冗余数据片段的正确HASH值,从缓存中HASH值与数据片段对应的表中提取出相应的数据片段;
将数据包中的各指纹编码用其对应的数据片段替换,完成对数据包的译码工作。
4.根据权利要求3所述的一种差错容忍的网络冗余消除实现方法,其特征在于,所述确定每个指纹编码对应的冗余数据片段的正确HASH值的具体方法为:
S1:提取当前指纹编码中的第二个HASH值,将其记为H;
S2:判断是否能在所述缓存中HASH值与冗余数据片段对应的表中找到H对应的冗余数据片段,是则将H作为当前指纹编码对应的冗余数据片段的正确HASH值,结束数据包译码流程;否则继续执行S3;
S3:在当前指纹编码的前一个指纹编码和后一个指纹编码中分别提取当前指纹编码对应的冗余数据片段的HASH,分别记为HF、HL,随后执行S4;其中,若当前指纹编码为当前数据包中顺序提取出的第一个指纹编码,则将当前数据包中顺序提取出的最后一个指纹编码作为所述第一个指纹编码的前一个指纹编码;若当前指纹编码为当前数据包中顺序提取出的最后一个指纹编码,则将当前数据包中顺序提取出的第一个指纹编码作为所述最后一个指纹编码的后一个指纹编码;
S4:判断在所述HASH值与数据片段对应的表中是否能找到HF或HL对应的数据片段,是则将对应于该数据片段的HASH值作为当前指纹编码对应的冗余数据片段的正确HASH值,否则结束数据包译码流程,要求发送端重新发送该数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310645795.7A CN103684718B (zh) | 2013-12-04 | 2013-12-04 | 一种差错容忍的网络冗余消除实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310645795.7A CN103684718B (zh) | 2013-12-04 | 2013-12-04 | 一种差错容忍的网络冗余消除实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103684718A CN103684718A (zh) | 2014-03-26 |
CN103684718B true CN103684718B (zh) | 2017-01-18 |
Family
ID=50321121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310645795.7A Expired - Fee Related CN103684718B (zh) | 2013-12-04 | 2013-12-04 | 一种差错容忍的网络冗余消除实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684718B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608396A (en) * | 1995-02-28 | 1997-03-04 | International Business Machines Corporation | Efficient Ziv-Lempel LZI data compression system using variable code fields |
EP2521311A1 (en) * | 2010-03-05 | 2012-11-07 | Huawei Technologies Co., Ltd. | Resource control method, apparatus and system in peer-to-peer network |
CN103036642A (zh) * | 2011-10-09 | 2013-04-10 | 华为技术有限公司 | 一种数据的传输方法及发送端和接收端 |
CN103401795A (zh) * | 2013-08-07 | 2013-11-20 | 电子科技大学 | 一种内容中心网络中传输内容冗余的消除方法 |
-
2013
- 2013-12-04 CN CN201310645795.7A patent/CN103684718B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608396A (en) * | 1995-02-28 | 1997-03-04 | International Business Machines Corporation | Efficient Ziv-Lempel LZI data compression system using variable code fields |
EP2521311A1 (en) * | 2010-03-05 | 2012-11-07 | Huawei Technologies Co., Ltd. | Resource control method, apparatus and system in peer-to-peer network |
CN103036642A (zh) * | 2011-10-09 | 2013-04-10 | 华为技术有限公司 | 一种数据的传输方法及发送端和接收端 |
CN103401795A (zh) * | 2013-08-07 | 2013-11-20 | 电子科技大学 | 一种内容中心网络中传输内容冗余的消除方法 |
Non-Patent Citations (1)
Title |
---|
端到端冗余流量消除技术的指纹选择算法研究;陈静怡;《计算机工程与设计》;20111231;第32卷(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103684718A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8386901B2 (en) | Method, device and software application for transmitting data packets in a communication system | |
CN102694636B (zh) | 采用喷泉码的harq技术的发送、接收方法及*** | |
CN110943800A (zh) | 数据包的发送方法、装置及***、存储介质、电子装置 | |
US20150117468A1 (en) | Apparatus and method for transmitting data | |
CN103078707B (zh) | 一种深空通信中的文件传输方法 | |
CN110855402A (zh) | 一种网络实时视频传输方法及装置 | |
WO2010001474A1 (ja) | 符号化装置、復号化装置、符号化方法、および復号化方法 | |
CN103716130A (zh) | 提高网络传输可靠性的物理层自适应处理方法 | |
CN1238075A (zh) | 自动请求重发***的检错方案 | |
CN113132063B (zh) | 一种物理层重传控制方法 | |
CN103580773A (zh) | 数据帧的传输方法及装置 | |
KR102002939B1 (ko) | 주문형 파일 복구 방법 및 시스템 | |
CN105681342A (zh) | 一种基于h264的多路视频会议***的抗误码方法及*** | |
KR101506770B1 (ko) | 데이터 전송 장치 및 방법 | |
CN104092707A (zh) | 基于分块校验与确认的卫星网络tcp协议性能增强方法 | |
CN107181576B (zh) | 一种适用于5g中ldpc码的ir-harq传输方法 | |
CN110545161B (zh) | 一种具有冗余的多媒体数据实时传输方法 | |
KR101631738B1 (ko) | 브로드캐스팅 환경에서 파운틴 부호 차수 분포 최적화 방법 | |
CN103684718B (zh) | 一种差错容忍的网络冗余消除实现方法 | |
CN114401208B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN111246428A (zh) | 一种网络可靠通信方法、***、装置及存储介质 | |
CN101867439B (zh) | 比特映射方式的指示方法 | |
WO2014100988A1 (zh) | 一种喷泉编码的中继方法和设备 | |
CN108322285A (zh) | 数据的发送方法、接收方法和装置 | |
CN107800509A (zh) | 一种下行控制信令的反馈与重传方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170118 Termination date: 20211204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |