1.一种基于网络编码的飞行自组网多路径数据传输方法,所述的飞行自组网包含源节点、目的节点和若干中间节点,其特征在于,所述多路径数据传输方法包含以下步骤:步骤1),目的节点广播RREQ数据包,通过RREQ数据包的传递,告知源节点发出传输路由请求,所述的RREQ数据包包含源节点ID、目的节点ID和Path Accumulation,所述Path Accumulation用于在RREQ数据包的传递路径中、按照顺序添加上其路过中间节点的ID;
步骤2),源节点通过接收到的各个RREQ数据包获知到达目的端的各条路径后进行反馈RACK数据包、即构建路由,优先选择不相交多径中的中间节点不相交多径;当中间节点不相交路径数量不能满足数据传输的要求时,再选择链路不相交多径路由作为补充;所述RACK数据包包含源节点ID、目的节点ID和各个中间节点的ID;所述RREQ数据包通过构造的MPR集合来进行传递;
步骤3),网络编码操作:在源节点、相交节点处、目的节点,执行网络编码的编解码操作以提高数据传输的吞吐量;
步骤3.1),源节点编码:
步骤3.1.1),源节点根据待传输数据X的大小将其分割成m个原始数据组,即X=[X1,T
X2,…,Xm],其中数据块Xi是一个n维的向量,即Xi=[xi1,xi2,…,xin],m、n均为大于等于1的自然数;
q
步骤3.1.2),源节点从编码域GF(2)上随机选取编码向量gi=[gi1 gi2…gim](gij∈GFq
(2))后,按以下公式对X进行线性编码运算得到编码后的数据块Yi:Yi=gi×X=[yi1 yi2...yin]步骤3.1.3),将Yi打包后沿着路由转发给路由上的下一跳节点;
步骤3.2),中间节点编码:
步骤3.2.1),中间节点r收到k个同一组标识的数据包后,重新对数据包进行再编码,r、k均为大于等于1的自然数:
记数据包为Y1,Y2......Yk,第i个数据包的编码向量记为gi,1,gi,2......gi,m,随机从GFq
(2)中选取k×Cpath个编码向量,Cpath为中间节点r的OLSR多径链路数,每组编码向量中有k个元素,记第i组编码向量记为 则数据和向量经过以下公式编码计算出k×Cpath个新的编码数据块 和新的编码向量:步骤3.2.2),中间节点r将组标识、新编码产生的数据块和其对应的新码向量打包后,沿着各个多径链路分别传输k个数据包至下一跳;
步骤3.2.3),重复步骤3.2.1)至步骤3.2.2),直至目的节点;
步骤3.3),目的节点解码:目的节点收到具有同一组标识的数据包时,先存储起来,当收到的数据包数量大于等于m个时根据编码系数和编码结果建立线性方程组,采用高斯消去方法求解该方程组,解码得到原始数据。
2.根据权利要求1所述的基于网络编码的飞行自组网多路径数据传输方法,其特征在于,所述步骤1)中,飞行自组网中各个节点间通过构造MPR集合获取其与周围邻居节点的通信链路情况。
3.根据权利要求2所述的基于网络编码的飞行自组网多路径数据传输方法,其特征在于,飞行自组网中各个节点通过周期性的向外广播自己的心跳信息Hello来构造MPR集合。