CN101656603A - 采用重传和编码协商实现数据传输的方法、装置及系统 - Google Patents
采用重传和编码协商实现数据传输的方法、装置及系统 Download PDFInfo
- Publication number
- CN101656603A CN101656603A CN200910092477A CN200910092477A CN101656603A CN 101656603 A CN101656603 A CN 101656603A CN 200910092477 A CN200910092477 A CN 200910092477A CN 200910092477 A CN200910092477 A CN 200910092477A CN 101656603 A CN101656603 A CN 101656603A
- Authority
- CN
- China
- Prior art keywords
- transmitting apparatus
- message
- data
- coding
- request
- 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.)
- Pending
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种采用重传和编码协商实现数据传输的方法、装置及系统。该方法包括当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。该装置包括重传请求模块和协商请求模块。本发明技术方案可以在发送设备和接收设备之间通过重传和编码协商来实现数据的传输,在保证数据传输可靠性的同时,提高数据传输的效率。
Description
技术领域
本发明涉及数据传输技术,特别是涉及一种采用重传和编码协商实现数据传输的方法、装置及系统。
背景技术
网络数据在通信线路上进行传输时,可能会由于通信线路所依赖的信道不可靠而导致数据包传输过程中出现错误,接收端接收到的数据包或多或少不同于发送端发出的数据包,使得接收到的数据包的数据不可用,而这种数据包发生错误的现象也称为误码,造成误码的原因很多,如无线电传输中的电磁干扰、电传输链路中的电流浪涌或光传输链路中的信号强弱等,均可能造成通信线路的信道不可靠,导致数据链路传输中出现突发性误码。其中,低速串行链路上的误码现象更为严重,比特误码率严重时可达10-3,其意味着通信链路上传输的报文长度超过1000字节时,平均报文错误率可达100%,使得通信线路无法进行数据包的传输。因此,如何保证通信链路上数据传输的准确性和可靠性是一个需要解决的技术问题。
现有技术中对于数据包传输中出现的误码现象,一般均采用重传机制来恢复数据,即在接收到的数据解码出现错误时,接收设备向发送设备发起重传请求,请求发送设备重新发送数据,利用重传数据来进行数据的恢复。但是,频繁的重传会占用大量的网络带宽,导致网络带宽被严重消耗,特别是对于低速、误码率较高的通信链路,重传占用的资源过多将会严重影响整个通信链路数据传输的效率。此外,现有技术中还提出了自适应前向纠错编码方法,其主要是通过根据当前的网络状态在发送设备和接收设备之间建立合适的编码参数,以降低数据传输中编码强度,降低编码后的冗余数据的数据量,减少通信系统中带宽资源的占用率,提高数据传输的效率。
但是,现有技术数据传输中,单一的采用前向纠错编码算法无法适应网络环境容易变化的情况,如突发性故障网络环境中,采用单一的编码算法在网络环境发生变化时可能无法保证数据传输的准确性,或者,单一的采用重传机制会占用大量的网络带宽,网络带宽消耗严重,影响数据传输的效率。
发明内容
本发明的目的是提供一种采用重传和编码协商实现数据传输的方法、装置及系统,通过将重传和编码协商结合实现数据传输,可有效适应网络变化频繁场合下数据的传输,提高数据传输的效率,保证数据传输的可靠性和准确性。
为实现上述目的,本发明提供了一种采用重传和编码协商实现数据传输的方法,包括:
当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;
对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。
其中,所述对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求包括:
对从所述发送设备接收到的重传报文进行解码,若解码有误时,判断发送重传请求信息的次数是否超过预设阈值,是则停止发送重传请求,向所述发送设备发起编码协商请求。若对从所述发送设备接收到的重传报文进行解码有误,且发送重传请求信息的次数未超过所述预设阈值时,继续向所述发送设备发送重传请求。
所述向所述发送设备发起编码协商请求包括:
根据当前网络状态,向所述发送设备发起编码协商请求,所述编码协商请求包括编码算法。
本发明提供了一种采用重传和编码协商实现数据传输的装置,包括:
重传请求模块,用于当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;
协商请求模块,用于对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。
本发明还提供了一种采用重传和编码协商实现数据传输的系统,包括发送设备和接收设备,其中,
所述接收设备,用于当对接收到的报文解码有误时,向通信链路上的所述发送设备发起重传请求信息,请求重新发送报文,并对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求;
所述发送设备,用于根据所述接收设备发起的所述重传请求信息,向所述发送设备发送所述重传报文,并对从所述接收设备发起的编码协商请求进行处理。
本发明技术方案通过将重传和编码协商机制结合起来实现数据的传输,在网络环境易变化的场合下,特别是对于网络易产生偶发性故障的场景,可通过重传来恢复解码错误的数据,提高数据传输的效率,同时,当采用重传仍旧出现解码错误时,还可进一步地通过编码协商来重新建立数据传输时采用的编码算法,减少数据传输时的误码率,保证数据传输的准确性和可靠性,提高数据传输的效率。
附图说明
图1为本发明采用重传和编码协商实现数据传输的方法实施例一的流程示意图;
图2为本发明采用重传和编码协商实现数据传输的方法实施例二的流程示意图;
图3为基于PPP协议进行数据传输的示意图;
图4为PPP协议协商阶段的示意图;
图5为FCP中Reset-Request和Reset-Ack报文编码格式的示意图;
图6为FCP中XOR编码算法的报文格式示意图;
图7为FCP中RS编码算法的报文格式示意图;
图8为本发明实施例通过FCP进行编码算法协商的工作阶段示意图;
图9为本发明采用重传和编码协商实现数据传输的装置实施例的结构示意图;
图10为本发明采用重传和编码协商实现数据传输的装置实施例中协商请求模块的结构示意图;
图11为本发明采用重传和编码协商实现数据传输的系统实施例的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例可应用于基于前向纠错技术进行报文传输的网络中,其通过采用重传和编码协商相结合的方法来实现数据的传输,当通信链路中的接收设备对接收到的报文进行解码有误时,可首先向发送设备发起重传请求,请求发送设备重发报文来恢复数据,若重传仍旧无法恢复数据时,再通过编码协商来实现数据传输,减少数据传输时的误码率,保证数据传输的准确性,其中,所述的编码协商即接收设备可根据自身网络状态主动向发送设备发起编码协商请求,在发送设备和接收设备之间建立合适的编码算法,并在协商后的编码算法下进行前向纠错编码数据传输,发送设备和接收设备之间的通信可以同步,不当可以降低数据传输中的误码率,同时还可有效保证数据传输的效率。其中,本发明实施例可应用于基于采用点对点协议(Point toPoint,PPP)进行报文传输的通信链路上数据报文的传输中。
图1为本发明采用重传和编码协商实现数据传输的方法实施例一的流程示意图。本发明实施例方法包括以下步骤:
步骤101、当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;
步骤102、对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。
本发明实施例技术方案中,当接收设备对接收到的报文进行解码有误时,可首先通过向报文的发送设备发起重传请求,请求重传数据来恢复解码错误的数据报文,但是,当对接收到的重传报文进行解码仍旧有错误时,接收设备即可根据当前网络状态向发送设备发起编码协商请求,以在发送设备和接收设备之间建立合适的编码算法,使得发送设备和接收设备在该协商后的编码算法下进行数据传输,可有效降低数据传输时的误码率,保证接收设备对接收的数据进行解码的准确性和可靠性。具体地,由于网络中经常发生偶发性故障,数据传输的网络环境发生变化,导致数据传输中出现误码,使得接收设备在对接收到的数据进行解码时出现错误,因此,对于这种偶发性故障可采用重传机制来恢复数据,但是,若采用重传机制仍旧无法获得正确的解码数据时,说明当前网络不是偶发性故障,网络状态变差,此种情况下,需要通过重新协商发送设备和接收设备之间采用的编码算法,以使得在新的编码算法下可有效降低数据传输时的误码率,保证接收设备解码的准确性和可靠性。
可以看出,本发明实施例通过将重传和编码协商机制结合起来实现数据的传输,在网络环境易变化的场合下,特别是对于网络易产生偶发性故障的场景,可通过重传机制来恢复解码错误的数据,提高数据传输的准确性,同时,采用重传机制仍旧出现解码错误时,可通过编码协商来重新建立数据传输采用的编码算法,减少数据传输时的误码率,可有效保证数据传输的准确性和可靠性,特别适用于易出现偶发性故障的网络环境中,提高整个网络的数据传输效率。
图2为本发明采用重传和编码协商实现数据传输的方法实施例二的流程示意图。本发明实施例方法包括以下步骤:
步骤201、对从所述发送设备接收的报文进行解码有误时,向所述发送设备发送重传请求信息。
步骤202、对接收到的发送设备发送的重传报文进行解码,判断解码是否错误,是则执行步骤203,否则,结束。
步骤203、判断发送重传请求信息的次数是否超过了预设阈值,是则停止发送重传请求,执行步骤204,否则,继续发送重传请求,执行步骤202。
步骤204、根据当前网络状态,向通信链路上的报文发送设备发起编码协商请求。
步骤205、接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
本实施例技术方案中,接收设备对接收到的数据进行解码错误时,首先向发送设备发送重传请求,请求重传数据,当发送重传请求的次数超过一定值而解码数据仍旧有误时,再向发送设备发起编码协商请求。具体地,当接收设备对接收到的报文进行解码发现有错误时,可首先向发送设备发送重传请求信息,请求发送设备重新发送数据,以保证接收数据的准确性,这样,当网络由于偶发性故障而导致数据接收错误,则可以通过重传来恢复数据,但是,经过多次重传后,接收设备对接收到的数据进行解码后仍旧是错误的,则表示此时网络状态下按照现有的编码算法进行数据传输无法保证数据接收的准确性,因此,可在重传次数超过预设阈值时,向发送设备发送编码协商请求信息,重新协商新的编码算法或者编码参数,以满足现有网络环境条件下数据传输的准确性和可靠性,其中,重传次数的预设阈值可以为根据实际的需要而设定。
可以看出,本发明实施例在将重传机制和编码协商机制结合起来实现数据传输中,只有在重传次数超过预设阈值后才进行编码算法的协商,可以避免不必要的频繁的协商,特别是对于网络偶发性故障较多的网络应用中,可有效减少编码协商的次数,在降低数据传输的误码率,保证数据传输的可靠性的同时,可有效提高整个通信链路和通信系统的数据传输效率。
上述各实施例中,接收设备在向发送设备发起编码协商请求时,编码协商请求中可包括协商请求的编码算法以及与编码算法对应的编码参数,从而在发送设备和接收设备之间建立合适的编码算法,并通过编码参数确定编码后的冗余数据的大小,当然,根据实际的需要,在进行编码协商时,也可只协商发送设备和接收设备之间编码时采用的合适的编码参数,保证一定的编码强度,减少数据传输的误码率。
为对本发明技术方案有更好的了解,下面对上述发送设备和接收设备之间进行编码协商机制,在双方之间建立合适的编码算法的过程进行说明。具体地,下面以在采用PPP协议的通信链路上实现编码协商机制为例进行说明。
其中,发送设备向接收设备发送编码协商请求,在发送设备和接收设备之间建立协商机制实现编码协商的过程可包括:根据当前的网络状态,接收设备向通信链路上的报文发送设备发起编码协商请求,所述编码协商请求包括编码算法;接收设备接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。具体地,在采用前向纠错编码进行的数据传输的通信系统中,数据传输中的接收设备可根据自身的网络状态,如信道的实际误码率或测量得到的误码率、带宽、延迟、可用性、用户需求等,确定适合于当前网络状态,且可满足数据传输可靠性的编码算法,并将该编码算法携带在编码协商请求中发送给数据传输中的发送设备,在双方之间建立采用合适的编码算法实现数据的传输,使得利用该编码算法进行前行纠错数据传输时,可有效保证数据传输的可靠性,降低数据传输的误码率,降低数据传输时带宽的占用率,提高数据传输的效率。当接收设备将携带编码算法的编码协商请求发送至发送设备时,发送设备接收到该编码协商请求后,可根据自身的条件或网络环境,如是否支持该编码算法等,响应该编码协商请求,若同意该编码协商请求中的编码算法,则向接收设备返回编码协商确认信息,表示同意以该编码协商请求信息中的编码算法进行数据传输,然后发送设备和接收设备即可按照该协商的编码算法对数据进行处理,完成数据的发送和接收,即发送设备即可按照该协商后的编码算法对数据进行处理并发送,而接收设备则可按照该编码算法对从发送设备接收到的数据进行相应的解码处理。
上述编码协商机制可在基于PPP协议的通信链路上实现,具体地,可在PPP链路的发送设备和接收设备上分别配置FEC纠错算法协议(FEC ControlProtocol,FCP)来实现发送设备和接收设备之间的编码协商,FCP可用来标识纠错编码和编码采用的编码算法,因此,可通过FCP协商发送设备和接收设备之间的在进行前向纠错编码传输数据时采用的编码算法,在发送设备和接收设备之间实现编码协商机制。实际应用中,接收设备或发送设备可以根据自身网络的需要向数据传输的另一端协商合适的编码算法,以提高数据传输的效率和数据传输的可靠性。其中,FCP为网络层协商协议,FCP可使用与LCP相同的报文交互机制,只有当PPP到达网络层协议阶段才能交换FCP报文。
下面首先对采用PPP协议进行通信的过程进行说明。图3为基于PPP协议进行数据传输的示意图;图4为PPP协议协商阶段的示意图。低速通信链路中,如无线电台、卫星通信等链路,报文的传输一般采用PPP协议进行链路控制、数据压缩控制、网络层协议控制和数据封装,这使得PPP协议成为低速链路数据通信的首选,而对于误码率较高,或者虽然误码率不高但对数据传输可靠性要求较高的高速链路,如光纤通信系统,PPP协议也被广泛应用,因此,有必要在PPP协议的基础上扩展对报文纠错的控制。其中,基于PPP协议的协商过程如下:
(1)当PPP链路激活(UP)后,进入链路建立(Establish)阶段,具体地,基于PPP协议标准,由链路控制协议(Link Control Protocol,LCP)通过交换Configure报文来建立连接,当接收到Configure-Ack报文后,协商交互完成并进入LCP Open状态,使LCP处于打开(Opened)状态。
(2)链路建立阶段结束后,进入认证(Authenticate)阶段,该认证阶段为可选的,如果通信双方配置了认证选项,则PPP协议实体要求对方在进行网络层协议报文交换之前进行认证,此时,只有链路双方通过彼此的认证后才能进入到下一个阶段的协商。
(3)在认证阶段结束后,进入网络(Network)层协议协商阶段,根据PPP协议标准,首先对压缩控制协议(Compression Control Protocol,CCP)协商,CCP负责在PPP链路的两端配置、使能和关闭数据压缩算法,还可以一种可靠的方式通告压缩/解压缩机制的失效,其中,CCP协商也是可选的。
由于大多数的数据传输均使用IP协议,因此,在CCP协商完成后,网络层协议协商的一个重要部分就是使用IP控制协议(IP Control Protocol,IPCP)在PPP链路的两端来配置、使能和关闭I P协议模块,且IPCP使用与LCP相同的报文交换机制,其中,本发明实施例技术方案中即可在采用PPP协议的通信链路上来实现编码协商。
下面对FCP协议进行说明,具体地,FCP协议与LCP除了以下不同之外,其它均具有与LCP相同:
(1)帧格式的不同。
FCP报文的帧格式与LCP在链路建立阶段协商时所使用的帧格式不同,具体地,对其中某些域的值进行了修改,可见以下各域不同之处的说明。
(2)数据链路协议域不同。
PPP信息域中封装了一个FCP报文,此时PPP协议域的类型号为803D,表示对应于FCP。
(3)代码域(Code Field)不同。
除了代码1~7,即Configure-Request,Configure-Ack,Configure-Nak,Configure-Reject,Terminate-Request,Terminate-Ack和Code-Reject,FCP中还加入了两个额外的编码14和15,即Reset-Request和Reset-Ack。此外,其它编码应该被视作不认识并回应Code-Rejects。
(4)超时操作不同。
FCP报文只有当PPP已经到达网络层协议阶段才能开始交换,实现时,应该先等待认证和链路质量判定(Link Quality Determination)已经结束后开始进行Configure-Ack或其它响应的超时操作,具体实现时,建议只有当用户干预或等待了一个可配置的时间后才放弃继续等待响应。
(5)配置选项类型(Configuration Option Types)不同。
FCP协议有自己的配置选项,具体将在后面介绍。
(6)发送FEC编码数据报文(Sending Fec-coded Datagrams)不同。
在任何FEC编码报文可以通讯前,PPP必须到达网络层协议阶段,FCP必须处于Opend状态。
一个或多个FEC编码报文封装在PPP信息域,PPP协议域类型的十六进制值为003D,即对应于FEC编码报文。每一种FEC编码算法可以使用不同的机制来表明在一个数据链路层帧(Data Link Layer frame)中包含了一个或多个未编码的报文,以用于确认前面的解码报文是否正确,或者用于编码同步等。
在PPP链路的每个方向一次只能使用一种主要的FEC编码算法,具体使用何种算法以及相应的编码算法参数是在报文交互之间协商完成,FEC编码报文的PPP协议域表明该帧是FEC编码的,但不表明具体使用的是何种FEC编码算法及相关的编码算法参数。
在PPP链路上传递的FEC编码报文的最大长度与PPP封装报文的信息域(Information field)的最大长度相同,而更长的报文可以用不编码的方式发送,如可使用标准格式,或者,如果FEC编码算法支持则可用多个报文发送。在本协议约定中,未使用FEC编码的正常报文可以使用协议域类型为003F的PPP帧进行封装发送,以便于FEC编码的同步或其它需要。
鉴于FEC编码算法可以从报文中的编码信息中判断所收到的数据是否正确,因此,FEC算法并不要求底层PPP数据发送是可靠的,但FEC编码算法必须有机制可以判断编码的报文在编码和解码双方是否同步。
FCP的报文格式和基本机制与LCP协议中的定义相同,而在FCP中FCP的代码域(Code field)的最新值为003D、003F,用于报文的收发,且在FCP中加入了以下的FCP代码域值:
14Reset-Request
15Reset-Ack
为了在通信链路的一个方向上提供一种表明解码失效的机制而不影响另一个方向的流量,FCP提供Reset-Request和Reset-Ack码,解码失效可通过解码时的出错数据块数大于当前编码纠错能力来判断,而出错数据块可以通过数据块后附加的CRC校验值来判断。
如果FCP实现希望指示解码失效,可发送一个代码域为14,即Reset-Request的FCP报文,并且在数据域填入任何想要的数据。当发送了Reset-Request后,任何收到的FEC编码的报文都应该丢弃,并发送另一个Reset-Request,直到收到一个合法的Reset-Ack。收到Reset-Request后,发送方FEC编码器返回初始状态,即重新初始化编码算法的相关参数,此时,FEC须发送一个代码域为15,即Reset-Ack的FEC报文作为应答,其id域,即标识符域与Reset-Request中的id相同,数据域填入任何想要的数据。如果收到Reset-Request或Reset-Ack的FCP报文,接收者应该判断本地解码是否出现致命错误,如果出现致命错误,则应该关闭FCP,向对方发送代码域为Terminate-Request的FCP报文,如果出现非致命的错误,则可以发送Configure-Request报文,要求与对方返回到链路建立阶段。
图5为FCP中Reset-Request和Reset-Ack报文编码格式的示意图。具体地,如图5所示,Reset-Request和Reset-Ack报文编码格式中相应的报文域从左至右传输,其中,
代码(Code)中,14表示Reset-Request,15表示Reset-Ack;在传输时,当数据域的内容改变和收到一个关于先前的请求(Request)的合法回复(reply)时必须改变id域,即标识符(Identifier)域,当收到Reset-Request报文时,Reset-Request的id域应拷贝到Reset-Ack报文的id域;数据(Data)域为0个或多个字节,包含给发送者的不可解释的数据,数据可以包含任何二进制值,长度可以是任意长度,从0到对方的MRU值-4。
下面对FCP配置选项进行说明。FCP配置选项允许协商压缩算法及相应的算法参数,FCP使用与LCP协议相同的配置选项格式,但选项的内容不同。FCP中配置选项指出接收设备所用的编码算法,接收设备根据该编码算法愿意或能够解码出由发送设备发送的数据,假定系统可以提供多种算法,可协商并采用其中一种算法。由于数据的收发双方可能无法对所有的纠错算法(即前向纠错编码算法)达成一致,此时可能无法使用纠错算法,因此,通信链路必须在没有纠错的方式下达成一致,当LCP再次协商时,则必须重新协商FCP状态。此外,由于许多用户均可以使用自己专有的算法,此时用户也可根据自己的编码来设定一个编号,且该编号与后面FCP协议给出的编号不同,即用户也可以自定义算法及FCP中相应的编号。
实际应用中,如果配置选项不能被接收方识别就发送Configure-Reject,若所有的FEC编码算法接收者均不识别,则表明在这条通信链路的这个方向上不能使用FEC编码。如果配置选项能够被接收方识别,但由于选项值不能被接收方接受,或者没有选项参数,则须发送一个Configure-NAK,其中包含修改过的选项值,Configure-NAK必须只包含可以接受的选项。当发送者接收到一个Configure-NAK时应该发送一个新的Configure-Request,其中选项值修改为接收方想要的值,由此,即可在双方之间达成一致的编码算法。
具体地,FCP选项类型域可支持以下选项值:
FCP Option FEC Coding Type
2 XOR
3 RS
4 RAID6-Like
5 涡轮码
6 卷积码
7 低集成度奇偶校验码
8-15 未赋值码
255 Reserved
上述各选项类型域的选项值1~7对应的编码算法均为常用的编码算法,未赋值码可以为用户专有的FEC编码算法,且用于专有的FEC编码算法可以不需要许可授权,相应的选项值可以由用户自己定义。
为对本发明实施例中编码算法应用于FCP中有较好的理解,下面给出XOR和RS编码算法的编码方式进行说明:
(1)XOR编码算法。
图6为FCP中XOR编码算法的报文格式示意图。具体地,如图6所示,该配置选项提供了一种协商使用XOR编码算法的方式,XOR是一种典型的区块码,由于一个区段(segment)内只能包含一个纠错块(即冗余码),而一个纠错只能纠正一个区段内一个块的错,因此,它的纠错能力完全取决于区段内的分块数,即一个纠错块对应的原始数据块的数目。对于XOR编码而言,编码参数包括原始数据分块大小(block size,BS)和分段数(segment size,SS),单位为字节。一个分段内的分块数为BS/SS。此外,对于每个原始数据块,需要一个或多个校验字节以验证该数据块接收后的正确性,校验方式为CRC8或CRC16,即8位或16位的循环冗余校验。
下面对XOR编码算法的报文格式中各报文域进行说明:
Type数值为2,表示采用的是XOR编码算法;Length数值为8;BS代表每个编码块的大小,单位为字节,块尾附加一个CRC校验;SS代表每个编码段的大小,单位为字节,段尾附加一个XOR编码的纠错块,其中,SS为0,表示将整个数据作为一个分段,SS一般为BS的整倍数,如果为非整倍数,则段尾的最后一个块要补齐0后再进行编码;CRC bits表示每个编码块后的CRC校验的位数,其值通常为8(即1个字节)或16(即2个字节),采用CRC8或CRC16校验。
(2)RS编码算法。
图7为FCP中RS编码算法的报文格式示意图。具体地,如图7所示,该配置选项提供了一种协商使用RS编码算法的方式,与XOR码一样,RS编码也是一种典型的区块码,但RS编码的纠错能力要大大高于XOR码,根据国际电信联盟ITU-T的建议,RS编码格式可以表示为(n,k,d),其中n=2m-1,d=n-k+1,m为正整数,RS编码算法可以纠正t=(d-1)/2个m进制的码错。一般而言,m=8,即通常的RS8编码时,其可纠正长度为t个字节的突发码错,由于是区块码,还必须对编码的数据块长度和分段长度进行说明,这与XOR编码相同,数据块的校验也使用CRC校验。
下面对RS编码算法的报文格式中各报文域进行说明:
Type数值为3,表示采用的是RS编码算法;Length对应的数值为14;Coded size(n)用来表示当前编码的取值范围,即全部符号的数量,由于RS编码是在有限域的基础上得到,有限域,即伽罗华域,是指元素个数有限的域,域中的元素个数称为域的阶,通过用GF(q),RS编码的符号取值域均在GF(q)域内,其长为n=q-1;Data size(k)对应的数值K表示编码前的原始信息符号的数量;Minimum Distance(d)对应的数值d表示RS编码的最小汉明距离,d应该满足d=n-k+1=2t+1,t是指能纠错的错误数,因此在实际传输中,如果接收方收到的d值不能满足以上条件应该默认丢弃该报文;BS表示每个编码块的大小,单位为字节,块尾附加一个CRC校验;SS表示每个编码段的大小,单位为字节,根据所采用的编码,段尾附加一个或多个RS纠错块,SS为0表示将整个数据作为一个分段,SS一般为BS的整倍数,如果为非整数倍,则段尾的最后要补齐0后再进行编码;CRC bits表示每个编码块后的CRC校验的位数,其值通常为8(即1个字节)或16(即2个字节)。
图8为本发明实施例通过FCP进行编码算法协商的工作阶段示意图。具体地,发送设备和接收设备之间采用PPP协议通信,且利用上述的FCP进行收发双方的编码算法协商时,其工作阶段可如图8所示,整个PPP协议中包括有链路控制协商、口令认证协商、压缩控制协商、FEC控制协商和IP控制协商,其中控制报文交互的类型可以从1~15,其中,14为Reset-Request,15为Reset-Ack。可以看出,在PPP协议通信过程中,在原有的链路控制协商、口令认证协商、压缩控制协商和IP控制协商之外,还可通过FEC控制协商,即FCP协商来达到接收设备和发送设备之间的编码算法的一致。可以看出,通过FCP协商可以实现发送设备和接收设备之间采用的编码算法的同步,可有效保证数据传输的准确性和可靠性。
此外本发明实施例中还提出了一种网络中进行数据通信是纠错能力的确定方法,其是假定网络数据传输中数据出错的概率p确定的情况下,最佳的编码原始数据分段长度为n,纠错编码部分的长度为k。
接收设备可根据数据传输的情况,计算数据报文丢失的概率为p,对数据进行编码后报文的总长度为n+k,则由概率论可知,接收设备接收到的报文中有i个错误的概率为Pi:
经过FEC纠错修复后,实际包错误概率可以近似用以下公式计算:
从公式(2)可知,接收设备完全正确接收的概率由网络传输的数据报文丢失的概率p和报文长度n+k决定,由于k是一个常量,所以最佳的报文长度由n决定。但公式(2)不便于转换成解析表达式,本实施例中用近似方法来确定n的值。
由于每个报文解码后错误数目i服从参数为n+k的二项分布,根据概率论可知,报文的出错数目i的数学期望为:
E(i)=(n+k)p (3)
因此,可以得到每个报文中出错数目小于k对应的报文原始数据长度n应为:
其中,n只能为整数,所以:
实际使用中,根据公式(5)可得到原始数据长度n,并可根据用户对实际数据丢失概率(即丢包率)的具体需要对n进行适当的修正,并可使用FCP协议由收发双方重新协商最适合的块大小和分段大小,以获得合适的编码算法和相应的编码参数。
实际上,根据公式(1),可有:
因此,当p很小时,而n合适时,显然pi>pi+1,因此,报文错误概率随着错误的增加而呈现迅速减少的趋势。
图9为本发明采用重传和编码协商实现数据传输的装置实施例的结构示意图。如图9所示,本实施例装置包括重传请求模块11和协商请求模块12,其中,
重传请求模块11,用于当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;
协商请求模块12,用于对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。
图10为本发明采用重传和编码协商实现数据传输的装置实施例中协商请求模块的结构示意图。实际应用中,如图10所示,协商请求模块12具体可包括:判断模块121和协商请求发送模块122,其中,
判断模块121,用于对从所述发送设备接收到的重传报文进行解码,若解码有误时,判断发送重传请求信息的次数是否超过预设阈值;
协商请求发送模块122,用于所述判断模块121判断发送重传请求信息的次数超过预设阈值时,向所述发送设备发起编码协商请求,所述编码协商请求包括编码算法。
此外,本发明实施例装置还可包括:协商确认处理模块,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。具体地,当协商请求模块向发送设备发起协商请求时,发送设备可对接收到的协商请求进行确认,当其同意协商请求携带的编码算法时,会返回编码协商确认信息,此时,协商确认处理模块即可根据该编码协商确认信息对接收到的报文进行处理,同时,若发送设备不同意协商请求携带的编码算法时,协商请求模块还可重新向发送设备发起携带新的编码算法的编码协商请求,并最终与发送设备之间建立合适的编码算法。
本发明实施例可作为通信链路中发送设备的一部分,通过将重传和编码协商结合起来实现数据的传输,其具体实现过程可参考上述本发明采用重传和编码协商实现数据传输的方法实施例的步骤,在此不再赘述。
本发明实施例通过将重传和编码协商机制结合起来实现数据的传输,在网络环境易变化的场合下,特别是对于网络易产生偶发性故障的场景,可通过重传来恢复解码错误的数据,提高数据传输的效率,同时,当采用重传仍旧出现解码错误时,可通过编码协商来重新建立数据传输采用的编码,保证数据传输的准确性和可靠性,特别适用于易出现偶发性故障的网络环境中,以提高整个网络数据传输的效率。
图11为本发明采用重传和编码协商实现数据传输的系统实施例的结构示意图。具体地,如图11所示,本实施例系统包括发送设备2和接收设备1,其中,
所述接收设备1,用于当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文,并对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求;
所述发送设备2,用于根据所述接收设备发起的所述重传请求信息,向所述发送设备发送所述重传报文,并对从所述接收设备发起的编码协商请求进行处理。
本发明实施例发送设备和接收设备之间可以通过重传和编码协商结合实现数据的传输,可适用于各种网络环境下数据的传输,特别是对于网络环境易变化的场合,可有效提高数据传输的效率,降低数据传输中占用的网络资源的带宽,其中接收设备可包括上述本发明采用重传和编码协商实现数据传输的装置实施例中的各功能模块,在此不再说明。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (10)
1、一种采用重传和编码协商实现数据传输的方法,其特征在于,包括:
当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;
对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。
2、根据权利要求1所述的采用重传和编码协商实现数据传输的方法,其特征在于,所述对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求包括:
对从所述发送设备接收到的重传报文进行解码,若解码有误时,判断发送重传请求信息的次数是否超过预设阈值,是则停止发送重传请求,向所述发送设备发起编码协商请求。
3、根据权利要求2所述的采用重传和编码协商实现数据传输的方法,其特征在于,还包括:
若对从所述发送设备接收到的重传报文进行解码有误,且发送重传请求信息的次数未超过所述预设阈值时,继续向所述发送设备发送重传请求。
4、根据权利要求1所述的采用重传和编码协商实现数据传输的方法,其特征在于,所述向所述发送设备发起编码协商请求包括:
根据当前网络状态,向所述发送设备发起编码协商请求,所述编码协商请求包括编码算法。
5、根据权利要求4所述的采用重传和编码协商实现数据传输的方法,其特征在于,还包括:
接收所述发送设备根据所述编码协商请求返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
6、根据权利要求5所述的采用重传和编码协商实现数据传输的方法,其特征在于,还包括:
若接收到所述发送设备返回的重协商请求时,根据所述重协商请求向所述发送设备重新发起编码协商请求,其中,所述重协商请求为所述发送设备不同意所述编码算法时,返回的包含新的编码算法的响应信息。
7、一种采用重传和编码协商实现数据传输的装置,其特征在于,包括:
重传请求模块,用于当对接收到的报文解码有误时,向通信链路上的报文发送设备发起重传请求信息,请求重新发送报文;
协商请求模块,用于对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求。
8、根据权利要求7所述的采用重传和编码协商实现数据传输的装置,其特征在于,所述协商请求模块包括:
判断模块,用于对从所述发送设备接收到的重传报文进行解码,若解码有误时,判断发送重传请求信息的次数是否超过预设阈值;
协商请求发送模块,用于所述判断模块判断发送重传请求信息的次数超过所述预设阈值时,向所述发送设备发起编码协商请求,所述编码协商请求包括编码算法。
9、根据权利要求7或8所述的采用重传和编码协商实现数据传输的装置,其特征在于,还包括:
协商确认处理模块,用于接收所述发送设备返回的编码协商确认信息,并根据所述编码算法对从所述发送设备接收到的报文进行解码处理。
10、一种采用重传和编码协商实现数据传输的系统,包括发送设备和接收设备,其特征在于,
所述接收设备,用于当对接收到的报文解码有误时,向通信链路上的所述发送设备发起重传请求信息,请求重新发送报文,并对从所述发送设备接收到的重传报文进行解码有误时,向所述发送设备发起编码协商请求;
所述发送设备,用于根据所述接收设备发起的所述重传请求信息,向所述发送设备发送所述重传报文,并对从所述接收设备发起的编码协商请求进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910092477A CN101656603A (zh) | 2009-09-15 | 2009-09-15 | 采用重传和编码协商实现数据传输的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910092477A CN101656603A (zh) | 2009-09-15 | 2009-09-15 | 采用重传和编码协商实现数据传输的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101656603A true CN101656603A (zh) | 2010-02-24 |
Family
ID=41710712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910092477A Pending CN101656603A (zh) | 2009-09-15 | 2009-09-15 | 采用重传和编码协商实现数据传输的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101656603A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629898A (zh) * | 2012-04-11 | 2012-08-08 | 华为技术有限公司 | 数据传输方法、设备及系统 |
CN103944817A (zh) * | 2013-01-23 | 2014-07-23 | 中国银联股份有限公司 | 一种联机系统中的报文转接方法、转接设备以及终端设备 |
CN105791739A (zh) * | 2014-12-23 | 2016-07-20 | 中国移动通信集团公司 | 视频会话协商方法及装置 |
CN106067846A (zh) * | 2016-07-26 | 2016-11-02 | 中国船舶重工集团公司第七二四研究所 | 一种预置多路输入的自适应纠错编码切换方法 |
CN109964429A (zh) * | 2016-11-16 | 2019-07-02 | 代傲表计系统有限公司 | 用于发送家用数据的方法和装置 |
-
2009
- 2009-09-15 CN CN200910092477A patent/CN101656603A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629898A (zh) * | 2012-04-11 | 2012-08-08 | 华为技术有限公司 | 数据传输方法、设备及系统 |
WO2013152585A1 (zh) * | 2012-04-11 | 2013-10-17 | 华为技术有限公司 | 数据传输方法、设备及系统 |
CN102629898B (zh) * | 2012-04-11 | 2014-12-10 | 华为技术有限公司 | 数据传输方法、设备及系统 |
US9148264B2 (en) | 2012-04-11 | 2015-09-29 | Huawei Technologies Co., Ltd. | Data transmission method, device and system |
CN103944817A (zh) * | 2013-01-23 | 2014-07-23 | 中国银联股份有限公司 | 一种联机系统中的报文转接方法、转接设备以及终端设备 |
CN105791739A (zh) * | 2014-12-23 | 2016-07-20 | 中国移动通信集团公司 | 视频会话协商方法及装置 |
CN106067846A (zh) * | 2016-07-26 | 2016-11-02 | 中国船舶重工集团公司第七二四研究所 | 一种预置多路输入的自适应纠错编码切换方法 |
CN109964429A (zh) * | 2016-11-16 | 2019-07-02 | 代傲表计系统有限公司 | 用于发送家用数据的方法和装置 |
CN109964429B (zh) * | 2016-11-16 | 2022-07-01 | 代傲表计系统有限公司 | 用于发送家用数据的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101651519A (zh) | 自适应动态前向纠错编码方法、装置及系统 | |
US8004992B2 (en) | Adding hybrid ARQ to WLAN protocols with MAC based feedback | |
KR101405927B1 (ko) | 이동 통신 시스템에서의 통신 방법 | |
US6778558B2 (en) | System and method for incremental redundancy transmission in a communication system | |
EP1317811B1 (en) | Hybrid arq for packet data transmission | |
JP4703310B2 (ja) | 通信方法および通信システム | |
EP2218204B1 (en) | Method and system for data transmission in a data network | |
US8266488B2 (en) | Encoding and decoding systems with header and data transmission success indication | |
CN103201976A (zh) | 聚合分组传输中的分组级擦除保护编码 | |
CN101395836A (zh) | 用于在无线通信系统中发送和接收数据块的方法和装置 | |
CN106817192B (zh) | 一种错误估计的方法、基站及终端 | |
CN113273084B (zh) | 无线网络中的数据重传 | |
CN102694636A (zh) | 采用喷泉码的harq技术的发送、接收方法及系统 | |
CN101656603A (zh) | 采用重传和编码协商实现数据传输的方法、装置及系统 | |
CN102396195A (zh) | 改进的盲调制检测 | |
JP2010537506A (ja) | デコード不能パケットを送信するための装置および方法 | |
US8306545B2 (en) | Method and system for reassigning traffic channel configuration in wireless communication system | |
JP2007509510A (ja) | Hsdpa通信システムにおけるarq制御 | |
EP3821552A1 (en) | Device and method for supporting harq for wi-fi | |
CN104579573A (zh) | 数据传输的反馈信息的编码、解码方法及发送端和接收端 | |
Huang et al. | Principles of FECs with evaluating different types of FEC used in the Internet and wireless networks | |
KR100331884B1 (ko) | 무선 비동기 전송 모드 통신 시스템의 에러 정정 방법 및장치 | |
RU2343629C1 (ru) | Способ передачи информации | |
Gagnaire et al. | An intelligent hybrid type-II ARQ/FEC logical link control protocol for GSM mobile communication system | |
WO2015137854A1 (en) | Method and devices for providing feedback in a communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100224 |