掌桥专利:专业的专利平台
掌桥专利
首页

一种基于喷泉码的逐跳式数据可靠传输系统及其方法

文献发布时间:2024-04-18 19:58:26


一种基于喷泉码的逐跳式数据可靠传输系统及其方法

技术领域

本发明涉及数据可靠传输技术领域,尤其是涉及一种基于喷泉码的逐跳式数据可靠传输系统及其方法。

背景技术

无线自组织网络(MANET)是一种无中心的自组织网络,无线自组织网络不需要物理基地站,各主机相互连通,主机即可充当服务器。由于不依赖固定的通信基础设施,MANET通信技术在许多恶劣的通信环境中得到了广泛应用,例如战术协作和紧急救援。在这些通信场景中,许多应用需要以较高的吞吐量实现100%的可靠传输,比如作战信令的传输和战况文件的实时传输。由于信道衰减、信道波动、长时延、带宽有限等特点,在无线自组织网络中进行高效的可靠传输是一项极具挑战性的工作。

为了在自组织网络中实现端到端的可靠传输,目前主要有两类传输机制。一是传统的端到端传输机制,主要用于典型的移动通信网络;二是逐跳传输机制,其关键是利用了自组网中间节点对数据的可编码特性。其中,端到端机制通过源节点与目的节点间的确认机制来实现可靠传输,然而,无线自组网源节点与目的节点之间的长时延延长了源节点等待来自目的节点的确认消息的时间,这制约了端到端传输机制的传输效率;与端到端机制不同的是,逐跳机制由距离最近的中间节点向源数据端进行确认,确认消息的传输路径由多跳降为一跳,这极大地降低了确认消息传输的时延,同时也增加了可靠性。由于具有无码率及低复杂度等特点,喷泉码成为一种普遍的、逼近信道容量的前向纠错码的实现方案。特别地,喷泉码凭借其无码率特性,在信道动态变化的无线自组织网络中具有很大的应用潜力。

然而,喷泉码的设计是针对单个擦除信道,不能直接应用于多跳网络。若将喷泉码用于多跳网络,中间节点需要对数据块进行完全解码,然后再进行编码,最后将编码包传输给下一跳。虽然喷泉码解码和编码的过程简单,与端到端时延相比,编解码过程的产生时延可以忽略不计,但由于同一数据块的编码包到达中间节点具有随机性,完全解码的时延由所需的最后一个编码包到达的时间决定。中间节点需要接收到足够数量的编码包才能实现完全解码。若网络出现拥塞,编码包可能丢失或延迟到达。而由于中间节点需要数据块完全解码后才能向下一跳发送编码包,等待数据块完全解码的过程将带来额外的传输时延,从而使网络传输性能恶化。

现有研究提出适用于多跳网络的逐跳传输协议,中间节点仅对数据包进行线性编码,解码工作全部交给目的节点,因此在一定程度上减少了中间节点因等待完全解码所造成的时延,然而这是以增加目的节点的解码时延为代价,并且未考虑无线自组织网络信道波动与长时延的特点。此外,一些研究工作提出将喷泉码与选择重传结合的混合机制,该混合传输机制在网络状态良好的情况下能够降低传输冗余,提高网络的吞吐量和带宽利用率。然而在网络条件恶化且动态变化时,需要对未成功解码的数据进行大量选择性重传,这将引入更多的时延,同时也可能造成反馈风暴。为了同时实现较好的时延和吞吐量性能,研究者们开始利用信道估计信息,对通信路径上的每一跳链路计算最优的传输冗余。然而,此种最优化方法依赖于准确的信道状态信息,而在信道估计过程中,周期性发送的探针序列将挤占过多原本在无线自组网中有限的带宽资源。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于喷泉码的逐跳式数据可靠传输系统及其方法,以解决无线自组网络中数据可靠传输面临的高时延、低效率的问题。

本发明的目的可以通过以下技术方案来实现:一种基于喷泉码的逐跳式数据可靠传输系统,包括:

喷泉码编码模块,用于对数据流分块,并结合中间节点和目的节点的反馈信息,利用喷泉码按照顺序对数据块进行编码,将产生的编码包发送给下一跳;

再编码模块,在多跳网络的中间节点上部署运行,用于向中间节点转发、备份编码数据包,然后进行重编码,向下一跳发送重编码数据;

混合确认模块,用于实现源端与目的端之间端到端确认机制,以及相邻两个中间节点之间逐跳确认机制;

喷泉码解码模块,用于持续接收数据包,并逐数据块进行喷泉码解码,解码成功后开始下一个数据块的解码;若出现解码乱序,则发送快速数据请求消息以获取指定数据块的数据包。

进一步地,所述喷泉码编码模块中,若发送端节点收到来自目的端节点的端到端的确认消息,则清空对应数据块的缓存数据、并确认已开始新的更大序号的数据块的编码传输;

若收到来自中间节点的单跳的确认消息,则开始下一个数据块的处理。

进一步地,所述再编码模块中,中间节点首先作为路由器,需要自动转发收到的数据包,同时作为对等节点缓存备份收到的数据包,对于缓存的数据包,按照设定的方式,随机抽取数据包进行异或编码,并将产生的度值更低的编码包发送给下一跳。

进一步地,所述混合确认模块中,源端与目的端之间端到端确认机制的执行过程为:在目的端成功解码数据块后,向源发送端反馈一个端到端的确认消息,发送端收到确认消息后,清空该数据块的所有缓存数据,并确认已经开始更大序号数据块的处理;

相邻两个中间节点之间逐跳确认机制的执行过程为:中间节点在缓存备份了设定数量的某数据块编码包后,向上一跳发送单跳的确认消息,收到该单跳消息的中间节点将清空该数据的缓存,并开始下一个数据块的传输。

进一步地,所述喷泉码解码模块中,目的端节点在成功解码某数据块后,分别向其上一跳发送单跳确认消息,向源发送端节点发送多跳端到端确认消息,所述确认消息中包含数据块的序号信息。

一种基于喷泉码的逐跳式数据可靠传输方法,包括喷泉码编码流程、中间节点运行流程、喷泉码解码流程和混合确认流程。

进一步地,所述喷泉码编码流程具体为:首先将数据流分块,每个数据块含有K个源数据单元;

然后根据喷泉码的度分布,抽取度值d,随机的从K个源符号中选取d个源数据单元进行异或计算,将计算结果产生的编码包发送给下一跳;

若第i个数据块在编码过程中,发送端节点收到来自反馈信道该数据块确认消息,则开始第i+1个数据块的编码。

进一步地,所述中间节点运行流程具体为:中间节点转发、缓存备份收到的编码包,并通过再编码算法向下一跳节点发送重编码包,其中,再编码算法通过设定合适的时间间隔τ,记录在τ时间间隔内接收的编码包,对这些编码包进行增量的异或编码计算,保留度值更低的编码包并发送给下一跳。

进一步地,所述喷泉码解码流程具体为:解码端只要接收到对应数据块i的编码包就执行解码操作,直到数据块i的所有源数据单元都都解码出来,则进入下一个数据块i+1的解码,其中,目的端在成功解码后,向上一跳及源节点分别发送req与ack消息;若解码端出现了解码乱序,则发送快速数据请求freq消息以获取指定数据块的数据包。

进一步地,所述混合确认流程具体为:源节点与目的节点之间执行端到端确认机制,即在目的端成功解码数据块后,向源发送端反馈一个端到端的确认消息,发送端收到确认消息后,清空该数据块的所有缓存数据,并确认已经开始更大序号数据块的处理;

相邻中间节点之间执行逐跳确认机制,即中间节点在缓存备份了设定数量的某数据块编码包后,向上一跳发送单跳的确认消息,收到该单跳消息的中间节点将清空该数据的缓存,并开始下一个数据块的传输,其中,中间节点对于来自目的节点的反馈确认消息仅做路由转发处理,对来自下一跳节点的单跳确认消息进行解析,得到数据块序号。

与现有技术相比,本发明具有以下优点:

一、本发明通过设计喷泉码编码模块、再编码模块、混合确认模块和喷泉码解码模块,利用喷泉码编码模块对数据流分块,并利用喷泉码按照顺序对数据块进行编码,将产生的编码包发送给下一跳;利用再编码模块在多跳网络的中间节点上部署运行,以向中间节点转发、备份编码数据包,然后进行重编码,向下一跳发送重编码数据,能够充分利用链路资源,加快接收端的解码速率,通过重编码能够向下一跳发送更多编码数据、从而加速目的端节点解码;利用混合确认模块分别实现源端与目的端之间端到端确认机制,以及相邻两个中间节点之间逐跳确认机制,一方面在源端与目的端部署端到端确认机制,为数据传输提供可靠性的最后保证,另一方面在相邻两个中间节点上部署逐跳确认机制,能够在可靠传输的同时提高传输效率;利用喷泉码解码模块接收数据包并逐数据块进行喷泉码解码。由此实现一种适用于多跳无线自组织网络的低复杂度可靠传输方案,能够有效解决无线自组网络中数据可靠传输面临的高时延、低效率的问题。

二、本发明设计混合确认流程以及包含再编码算法的中间节点运行流程,在现有端到端传输机制的基础上,利用中间节点的可编码优势,加入了逐跳确认机制,源发送端只要收到其下一跳节点(而不是目的节点)的确认消息就可以开始下一个数据块的传输,因此提高了传输效率,减少了等待端到端确认消息的时延。此外,目的端节点未成功解码前,中间节点还可以结合当前链路的状态,向链路中发送更多的编码包,分担发送节点的编码压力,同时利用单跳确认消息来进行连续传输,加速传输进程。由此在相邻跳之间通过一跳的确认与重传机制,降低了中间节点对上一数据块的等待时延,实现了更低时延的可靠传输;还通过一种低复杂度的重编码算法,使得中间节点在尚未对数据块完全解码的情况下依然能够产生有效的编码包,发送给下一跳,这种方式提高了吞吐量,信道带宽得到了更充分的利用。

附图说明

图1为本发明的系统整体架构示意图;

图2为本发明中喷泉码编码流程示意图;

图3为本发明中中间节点运行流程示意图;

图4为本发明中再编码算法示意图;

图5为本发明中喷泉码解码流程示意图;

图6为本发明中混合确认机制示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

如图1所示,一种基于喷泉码的逐跳式数据可靠传输系统,包括:

模块1——喷泉码编码模块:首先将数据流分块,并结合中间节点和目的节点的反馈信息,利用喷泉码按照顺序对数据块进行编码,然后发送给下一跳;

模块2——再编码模块:为了充分利用链路资源,加快接收端的解码速率,由中间节点转发、备份编码数据包,然后进行重编码,向下一跳发送更多的编码数据,以加速目的端节点解码;

模块3——混合确认模块:源端与目的端部署端到端确认机制,为数据传输提供可靠性的最后保证,在目的端成功解码数据块后,向源发送端反馈一个端到端的确认消息,发送端收到确认消息后,清空该数据块的所有缓存数据,并确认已经开始更大序号数据块的处理;

相邻中间节点之间部署逐跳确认机制,中间节点在缓存备份了足够数量的某数据块编码包后,向上一跳发送单跳的确认消息,收到该单跳消息的中间节点(非发送端节点)则将清空该数据的缓存,并开始下一个数据块的传输;

模块4——喷泉码解码模块:持续接收数据包,并逐数据块进行喷泉码解码,解码成功后开始下一个数据块的解码;若出现解码乱序,则发送快速数据请求消息以获取指定数据块的数据包。

在喷泉码编码模块中,若发送端节点收到来自目的端节点的端到端的确认消息,则清空对应数据块的缓存数据、并确认已开始新的更大序号的数据块的编码传输;若收到来自中间节点的单跳的确认消息,则开始下一个数据块的处理。

在再编码模块中,中间节点首先作为路由器,需要自动转发收到的数据包。同时,作为对等节点,缓存备份收到的数据包。对于缓存的数据包,按照设定的方式,随机抽取数据包进行异或编码,并将产生的度值更低的编码包发送给下一跳。

在混合确认模块中,混合确认机制中的端到端机制采用现有方式,而逐跳传输机制不对该端到端机制进行任何改变。

在喷泉码解码模块中,目的端节点在成功解码某数据块后,需要分别向其上一跳发送单跳确认消息,向源发送端节点发送多跳端到端确认消息。确认消息中应包含数据块的序号信息。

基于上述系统架构,实现一种基于喷泉码的逐跳式数据可靠传输方法,首先是喷泉码编码过程,如图2所示,发送端节点将数据流分块,并结合中间节点和目的节点的反馈信息,按照顺序对数据块进行编码,然后发送给下一跳,并对来自目的端节点和下一跳节点的反馈消息分别进行处理;具体的,首先将数据流分块,每个块含有K个源数据单元,然后根据喷泉码的度分布,抽取度值d,随机的从K个源符号中选取d个源数据单元进行异或计算,计算结果产生的编码包发送给下一跳;若第i个数据块在编码过程中,发送端节点收到来自反馈信道该数据块确认消息,则开始第i+1个数据块的编码。

之后,如图3所示,中间节点转发、缓存备份收到的编码包,并通过如图4所示的再编码算法向下一跳节点发送重编码包,中间节点对于来自目的节点的反馈确认消息仅做路由转发处理,对来自下一跳节点的单跳确认消息进行解析,得到数据块序号,这意味着该数据块已经成功被下一跳完整接收,其中,再编码算法需要设定合适的时间间隔τ,记录在τ时间间隔内接收的编码包,对这些编码包进行增量的异或编码计算,保留度值更低的编码包并发送给下一跳;如图5所示,对于目的端,节点持续接收数据包,并按照顺序进行喷泉码解码。解码成功后开始下一个数据块的解码,并分别向上一跳及源发送节点反馈解码成功的确认消息;最后,传输可靠性的由混合确认机制保证。如图6所示,目的端在成功解码后,向上一跳及源节点分别发送req与ack消息。若解码端出现了解码错序(小序号数据块尚未解码但大序号数据块的编码包已提前到达),则发送快速数据请求freq消息以获取指定数据块的数据包。

考虑到实际网络中,大多是有线链路与无线链路混合的通信网络,且由于无线环境的动态变化、衰落等特征,带宽通常具有动态变化特征。因此为验证本方案的有效性,本实施例仿真了多跳无线网络场景,并设置了相应的信道参数以模拟真实的信道条件,比较参数是数据传输过程中的时延和吞吐量。仿真结果显示本方案的传输时延要明显低于现有经典的方法(TCP等)。此外,本实施例还在实际网络环境中进行了测试。

在校园网与实验室局域网组成的有线/无线混合的多跳网络中,采用网络损伤仪控制了各跳链路的丢包和时延。按照本方案的步骤,进行了如下具体实施例:在发送端以一定的速率发送数据包,根据模块1的方法过程对数据流进行分块,并按照块进行喷泉码编码,然后发送。然后根据图3,中间节点转发、备份编码数据包,然后按照模块2的再编码算法进行重编码,向下一跳发送更多的编码数据。随后,目的端节点端按照模块3的流程进行解码。在整个流程中,源节点、中间节点、目的节点根据模块4的混合确认机制进行反馈确认。为了验证本方案在实际网络中对于不同速率业务的性能,本实施例采取动态变化发送端的数据率的方式,并且进行100次重复测量,取平均值作为最终的测试结果。

综上所述,本方案提出了一种新的适用于多跳无线自组织网络中的低复杂度的可靠传输方案,该方案是一种基于喷泉码、将传统端到端机制与逐跳机制结合的混合传输方式。端到端机制用于对数据可靠传输提供端到端的兜底保证,这一点和端到端机制的典型应用场景一致,而逐跳机制则在保证逐跳可靠传输的同时,进一步提高整体的传输性能。即在现有端到端传输机制的基础上,利用中间节点的可编码优势,加入了逐跳确认机制,源发送端只要收到其下一跳节点(而不是目的节点)的确认消息就可以开始下一个数据块的传输,因此提高了传输效率,减少了等待端到端确认消息的时延。通过在相邻跳之间通过一跳的确认与重传机制,降低了中间节点对上一数据块的等待时延,实现了更低时延的可靠传输。此外,还通过一种低复杂度的重编码算法,使得中间节点在尚未对数据块完全解码的情况下依然能够产生有效的编码包,发送给下一跳,这种方式提高了吞吐量,信道带宽得到了更充分的利用。

相关技术
  • 一种基于数据传输系统的数据传输方法、装置及系统
  • 一种鲁棒的逐跳可靠数据传输方法、装置及系统
  • 一种鲁棒的逐跳可靠数据传输方法、装置及系统
技术分类

06120116489629