1.一种机会式网络编码搜寻最优关联包的重传方法,其特征在于,包括以下步骤:
101、初始化,获取网络中用户的丢包信息,发送端依据反馈信息生成丢包矩阵,设该矩阵有M行N列,其中N列列向量Pi(1≤i≤N)代表数据包,M行行向量Rj代表接收端(1≤j≤M),其中当PLM(i,j)=1时,表示接收端Rj正确接收到数据包Pi,而当PLM(i,j)=0,表示接收端Rj丢失数据包Pi,发送端记录每个接收端的状态后,进入丢包恢复阶段,在丢包矩阵中利用最大团算法搜索可以编码的关联包,生成编码包组,找出可以编码的关联包所在的列,依据这些列生成邻接矩阵;
102、在邻接矩阵中,计算步骤101所述的编码包组的编码增益,若编码包组的编码增益是编码包组中最大的则传输该编码包组,则跳转至步骤103;否则返回重新计算寻找最大的编码增益对应的编码包组;
103、更新丢包对应的邻接矩阵,判断邻接矩阵中是否有可以进行编码的关联包组,若是则返回步骤102重新计算编码包组的编码增益,若没有则发送端根据邻接矩阵进行数据包的重传,结束。
2.根据权利要求1所述的机会式网络编码搜寻最优关联包的重传方法,其特征在于,所述步骤101中最大团算法具体包括以下步骤:一个无向图G=(V,E),V是点集,E是边集,取V的一个子集U,若对于U中任意两个点u和v,有边(u,v)∈E,那么称U是G的一个完全子图,U是一个团当且仅当U不被包含在一个更大的完全子图中,其中的G即为邻接矩阵所构成,V为原始的数据包的顶点,两包之间存在的关联性映射为无向图的边即顶点的无序对,这一关系构成了最大团中各个顶点的连接关系;G的最大团指的是定点数最多的一个团,计算团数为(2-4)个的最大团,在2-4个时编码增益最优;
从一个点u开始,把这个点加入集合U中,将编号比它大的且和它相连的点加入集合S1中,为了方便,将集合S1中的点有序,让他们从小到大排列,进行第一遍DFS;
第一遍DFS:
从S1中选择一个点u1,遍历S1中,所有编号比u1大且和u1相连的点,其实也就是排在u1后面,并且和u1相连的点,将它们加入集合S2中;同理,让S2中的点也按照编号也从小到大排列;将u1加入集合U中进行第二遍DFS;
第二遍DFS:
从S2中选择一个点u2,遍历S2中,所有排在u2后面且和u2相连的点,并把它们加入集合S3中,让S3中的点按照编号从小到大排列,将u2加入集合U中进行第三遍DFS;
第三遍DFS:
从S3中选择一个点u3,遍历S3中,所有排在u3后面且和u3相连的点,并把它们加入集合S4中,让S4中的点按照编号从小到大排列,将u3加入集合U中进行第四遍DFS;
第四遍DFS:
当集合S1或集合S2或集合S3为空时,DFS过程结束,得到一个只用后面几个点构成的完全子图,并用它去更新只用后面几个点构成的最大团,退出当前DFS,返回上层DFS,接着找下一个完全子图,直到找完所有的完全子图。
3.根据权利要求1所述的机会式网络编码搜寻最优关联包的重传方法,其特征在于,所述步骤102中判断编码包组的编码增益是编码包组中最大的采用逐一比较法,选择编码增益Eg最大值所对应的编码包组进行重传。
4.根据权利要求1所述的机会式网络编码搜寻最优关联包的重传方法,其特征在于,所述丢包矩阵采用0-1进行表示,若丢包矩阵中的对应列全1表示接收端已成功获得数据包,若有0则表示未成功获得数据包。
5.根据权利要求1所述的机会式网络编码搜寻最优关联包的重传方法,其特征在于,所述步骤102中计算编码包组的编码增益的计算公式为:其中Eg为计算出的编码增益,PI为对应的各个丢失的数据包个数,EPj(2≤j≤4)为生成的编码包组的个数,优先计算j=4时的编码包组目的在于尽可能多的恢复丢包,选择Eg最大值所对应的编码包组行重传。