一种基于喷泉码的车联网远距离数据通信中继代理方法与流程

文档序号:11327816阅读:302来源:国知局
一种基于喷泉码的车联网远距离数据通信中继代理方法与流程

本发明涉及无线通信领域,具体涉及一种基于喷泉码的车联网远距离数据通信中继代理方法。



背景技术:

现今车辆自组织网络(vehicularad-hocnetworks,vanets)也称为车联网,是一种以车辆和路边设施为节点而形成的自组织无线通信网络,主要包括车与车(v2v)和车与基础设施(v2i)通信,是智能交通系统的重要组成部分。在车联网中,车辆的运动造成网络拓扑的不稳定,通信节点间频繁发生连接建立和断开,使得车联网的网络可靠性较差。在这样的环境下,现有的基于自动重传请求(automaticrepeat-request,arq)的可靠传输协议(如tcp等)会因超时和丢包的频繁发生而不断触发重传,导致期望转发次数高,产生较大的时延和消耗大量的通信资源,造成传输效率低下。

喷泉码是一种在删除信道下进行数据恢复的编码方法,其发送方式类似喷泉,可以将原始业务数据编码成无限多的编码报文进行发送,接收方只需接收到足够多的编码报文即可译码还原出原始数据,而与具体接收到哪些编码报文无关。只有当译码完成时,才向发送端发送一个反馈,在车联网的远距离数据传输中,其可靠性和效率仍然有待提高。

lt码(lubytransformcodes)是一种典型的喷泉码,虽然它采用合理的度分布函数能达到较高的译码效率,但其译码复杂度成非线性增长。要获取最后几个原始数据,必须要从具有高度数的编码报文进行译码,其编译码复杂度高,在相同译码开销下译码成功率较低。



技术实现要素:

本发明的目的在于克服上述现有技术的不足,提供一种基于喷泉码的车联网远距离数据中继通信代理方法。

为实现上述目的,本发明采用以下技术方案:

一种基于喷泉码的车联网远距离数据通信中继代理方法,包括以下步骤:

s1、发送端车辆节点用喷泉码将需要发送的数据进行编码;

s2、中继节点转发喷泉码报文,路边单元rsu作为代理进行喷泉译码;

s3、代理节点将译码成功后的报文重新进行喷泉编码;

s4、接收端车辆节点接收喷泉编码报文并进行喷泉译码。

进一步地,所述步骤s1具体为:发送端车辆节点将需要发送的原始数据等分成m组,每组包含k个最小数据单元,依次对每组的k个数据进行raptor喷泉编码,产生喷泉编码报文。

进一步地,所述喷泉码采用raptor码。

进一步地,所述步骤s2包括以下具体步骤:

s21、发送端车辆节点依据基于地理位置的路由算法进行路径规划,中继节点向接收端车辆转发喷泉码分组;

s22、选取距离发送端最近的rsu作为中继入口,记为rsuin,以及距离接收端车辆最近的rsu作为中继出口,记为rsuout,在rsu通信范围内,车辆节点与它进行v2i通信,车辆中继节点间进行v2v通信;

s23、选取rsuout成为中继代理,转发喷泉码报文的同时缓存喷泉码报文,当代理节点接收到略大于k个喷泉码报文后,尝试喷泉译码,如果中继节点中只包含一个rsu,则该rsu就被选作代理;

s24、当代理节点译码成功时,向发送端车辆节点发送译码成功的确认信号,表明已成功译码该组数据,发送端车辆节点收到该信号后停止发送该组喷泉码报文并开始下一组报文的发送;若译码不成功,则继续接收编码报文并尝试译码;

s25、当代理节点向发送端发出确认信号后仍然收到该组数据的编码报文,则每收到一个多余的报文就向发送端再发送一个确认信号,直到不再收到该组数据的编码报文。

进一步地,所述步骤s21所述路径规划优先选择用rsu作为中继节点进行转发,路径中包含有至少一个rsu。

进一步地,所述步骤s3具体为:代理节点根据喷泉译码获得的一组原始数据,重新进行喷泉编码,并按照路由算法规划的路径发送给邻居车辆节点。

进一步地,所述步骤s4具体包括以下步骤:

s41、中继节点继续转发喷泉码报文,当接收端车辆节点收集到略大于k个喷泉码报文后,进行喷泉译码以恢复原始数据;

s42、当接收端节点译码成功时,向代理节点发送译码成功的确认信号,代理节点停止发送该组喷泉码报文;若不成功则继续接收喷泉码分组并尝试译码;

s43、若接收端在发送了确认信号后仍然收到该组的编码报文,则每收到一个多余的报文就向代理节点再发送一个确认信号,直到不再收到来自代理节点的该组编码报文;

s44、当接收端车辆节点成功译码m组喷泉码报文得到所有的原始数据后,该车辆自组织网络便成功地完成了一次完整的车联网远距离数据的传输。

采用上述技术方案后,本发明与背景技术相比,具有如下优点:

1、简化编码过程并提高译码成功率。本发明将raptor喷泉编码应用于车联网发送数据的编码过程,编解码复杂度较基于lt码的传输方案更低,对传输编码报文的数量要求更低,译码成功率更高。

2、改善数据传输的期望转发次数。本发明通过选定rsu作为中继代理节点的方式,克服了车联网中各节点之间的不可靠连接问题,减少了数据报文的期望转发次数,节省了通信资源开销。

3、提高了数据传输效率。本发明的中继代理可根据实时情况进行转移,适应车辆节点的快速移动和网络拓扑变化,满足了车联网中各节点进行远距离高效的可靠数据传输的要求,提高了车联网中数据传输的时延以及吞吐量等关键性能指标,从而提高了数据传输效率。

附图说明

图1为本发明的实现流程图

图2为具体实施方式中车联网数据传输应用场景

图3为具体实施方式中车辆目的节点发生移动导致数据路由变化的场景

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

本实施例采用喷泉码raptorq编码(raptor编码的最新版本)在车辆自组织网络中传输数据,通过在多条传输中选取合理的rsu中继节点作为代理,进一步提高数据传输效率,并且改善数据传输的期望转发次数。

一种基于喷泉码的车联网远距离数据通信中继代理方法,包括以下步骤:

s1、发送端车辆节点用喷泉码将需要发送的数据进行编码;

发送端车辆节点将需要发送的原始数据等分成m组,每组包含k个最小数据单元,依次对每组的k个数据进行raptor喷泉编码,产生喷泉编码报文。

s2、中继节点转发喷泉码报文,路边单元rsu作为代理进行喷泉译码;

s21、发送端车辆节点依据基于地理位置的路由算法进行路径规划,中继节点向接收端车辆转发喷泉码分组;

s22、选取距离发送端最近的rsu作为rsu中继入口,记为rsuin,以及距离接收端车辆最近的rsu作为rsu中继出口,记为rsuout,在这两个rsu通信范围内,其他中继车辆节点与它们进行车与网通信;

s23、选取rsuout成为中继代理,转发喷泉码报文的同时缓存喷泉码报文,当代理节点接收到略大于k个喷泉码报文后,尝试喷泉译码,如果中继节点中只包含一个rsu,则该rsu就被选作代理;

s24、当代理节点译码成功时,向发送端车辆节点发送译码成功的确认信号,表明已成功译码该组数据,发送端车辆节点收到该信号后停止发送该组喷泉码报文并开始下一组报文的发送;若译码不成功,则继续接收编码报文并尝试译码;

s25、当代理节点向发送端发出确认信号后仍然收到该组数据的编码报文,则每收到一个多余的报文就向发送端再发送一个确认信号,直到不再收到来自该组数据的编码报文。

其中,步骤s21所述路径规划优先选择用rsu作为中继节点进行转发,路径中包含有至少一个rsu。

s3、代理节点将译码成功后的报文重新进行喷泉编码;

代理节点根据喷泉译码获得的一组原始数据,重新进行喷泉编码,并按照路由算法规划的路径发送给邻居车辆节点。

s4、接收端车辆节点接收喷泉编码报文并进行喷泉译码;

s41、中继节点继续转发喷泉码报文,当接收端车辆节点收集到略大于k个喷泉码报文后,进行喷泉译码以恢复原始数据;

s42、当接收端节点译码成功时,向代理节点发送译码成功的确认信号,代理节点停止发送该组喷泉码报文;若不成功则继续接收喷泉码分组并尝试译码;

s43、若接收端在发送了确认信号后仍然收到该组的编码报文,则每收到一个多余的报文就向代理节点再发送一个确认信号,直到不再收到来自代理节点的该组编码报文;

s44、当接收端车辆节点成功译码m组喷泉码报文得到所有的原始数据后,该车辆自组织网络便成功地完成了一次完整的车联网远距离数据的传输。

图1所示为本发明的实现流程图,其具体的编译码过程如下:首先将要发送的数据内容等分割成m个源区块(sourceblock),不同的源区块编码相互独立;每个源区块再进一步被分割成k个最小数据单位符号。

同一源区块的所有符号送入喷泉码编码器后即可得到用于发送的编码符号。在编码报文中,报头字段添加源区块编号(sourceblocknumber,sbn)区别来自不同源区块的符号。同时,为避免收到相同的编码符号,不同的编码符号间也用不同的编码报文编号(encodingsymbolid)加以区别。

接下来使用raptorq码对k个原始符号先进行预编码。假设信道的删除率为预编码过程将原始输入符号通过ldpc码(即低密度奇偶校验码)将k个原始符号转换为个中间编码校验单元,再将个中间编码校验单元输入到弱化的lt编码器进行喷泉码编码。

接收端收到编码报文后,首先用lt码技术进行解码,恢复固定比例的中间编码校验单元,再利用ldpc纠错码的解码性质恢复所有的原始输入符号。预编码让raptorq码的译码复杂度降为o(k),接收端在收到k+2个编码报文后解码失败的概率低于10-6

图2表示本实施例中车联网数据传输应用场景。其车联网由路边单元(rsu1、rsu2和rsu3),数据发送端车辆源节点s,数据接收端车辆目的节点d,以及7个中继车辆节点(v1,v2,...,v7)组成。

源节点s根据基于地理位置信息的路由协议规划至目的节点d的路径:

s,v1,v2,rsu1,rsu2,v6,v7,d

我们先考虑一个源区块的数据发送情况,即s节点将需要发送的k个原始符号进行喷泉编码,其形成的raptorq编码报文的报头字段包含如下信息:源节点id,目的节点id,源区块编号,编码符号编号,代理节点地址(具体说明见如下表1)。其后,s节点向其邻居中继车辆节点发送raptorq编码报文,中继节点接收到raptorq编码报文后依照路由算法规划的路径进行转发。

表1raptorq编码报文的报头字段说明

当raptorq编码报文到达路边单元rsu1时,rsu1通过有线网络将其转发至rsu2,此时rsu2成为代理节点。rsu2首先根据报文的报头字段(源节点id,目的节点id,源区块编号,编码符号编号,代理节点地址)建立一个缓存,由该五元组唯一确定一次可靠传输。rsu2在收到喷泉编码报文后,依据路由协议规划的路径将其转发至邻居中继车辆节点,同时将该报文保存至对应的缓存中。

一旦rsu2接收到k+2的raptorq编码报文后,开始尝试喷泉译码。当其译码成功后,它向源节点s发送一个停止发送该源区块报文的信号。此时由rsu2重新对该源区块生成新的喷泉编码报文,并依照路由算法规划的路径转发至目的节点d。源节点s则开始进行下一个源区块的报文编码和发送。

当d节点接收到k+2个raptorq编码报文后开始尝试喷泉译码,一边继续接收喷泉编码报文,直到译码成功,向代理节点rsu2发送停止发送该源区块的报文。此时完成节点s向节点d的一个源区块的传输。然后,节点d开始接收下一个源区块的编码报文。

由于车联网中的节点通常处于不断的运动中,导致从目的节点d到源节点s的路由在一次数据传输过程中可能会发生变化。假设由于车辆节点的移动或路由断裂导致数据传输路径发生了改变,在新的路径中中继节点rsu2变成了rsu3,如图3所示。此时,在当前源区块未完全译码成功的情况下,由s节点发送的raptorq编码报文中的代理节点地址仍保持原先的rsu2地址不变。当编码报文依据路由路径转发至rsu3时,rsu3首先根据路由算法规划的路径向其邻居中继节点转发喷泉编码报文,同时复制一份编码报文转发给报头字段指定的代理节点rsu2。其原因是为了确保一个代理节点rsu能接到足够多的编码报文进行成功译码,避免编码报文分散在两个不同的rsu上而都无法进行成功译码的情况,从而保证代理的成功率和总体的传输效率。rsu2译码成功即将该源区块数据有线传输给rsu3。在源节点s收到来自rsu3的当前源区块译码成功的确认信号后,便将代理节点的地址更换为rsu3,开始下一个源区块报文的发送。

一旦代理节点接收到足够多的喷泉编码报文并且译码成功后,代理节将向节点s发送译码成功的确认信号,让节点s停止发送报文,直到不再接收到来自节点s的报文。同时,代理节点将重新生成新的喷泉编码报文,由其继续发挥代理节点的性质,向目的节点d发送喷泉编码报文。当目的节点d接收到足够多的喷泉编码报文并译码成功后,它将向代理节点发送源区块译码成功的确认信号,让其停止发送该源区块的报文,直到不再接收到该源区块的报文。此时完成节点s向节点d的一个源区块的传输。

当源节点或代理节点收到m个源区块的译码成功确认信号后,便停止所有报文的发送,此时完成该车辆自组织网络中远距离数据通信。

上述实施过程中的喷泉码编码方式采用raptorq码实现,车辆自组织网络中节点路由算法可使用greedyperimeterstatelessrouting(gpsr)等基于地理位置信息的车联网路由协议。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1