基于随机线性网络编码与卡尔曼滤波算法的文件传输方法

文档序号:32746469发布日期:2022-12-30 22:23阅读:来源:国知局

技术特征:
1.一种基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,包括:步骤(1)、资源节点发送文件传输连接请求,创建文件传输通道并获取目标节点返回的文件编码系数和下一跳节点返回的数据包编码系数,其中文件编码系数x和y分别表示文件编码矩阵的行数和列数、数据包编码系数n和k分别表示数据包编码矩阵的行数和列数;步骤(2)、资源节点根据文件编码系数和数据包编码系数,从文件中读取一组y
×
k
×
1024大小的分组文件数据,根据文件编码系数对分组文件进行加载、分片和编码;根据数据包编码系数对文件分片进行切割、编码和封装,并将封装好的数据包发送到网络;步骤(3)、中间节点接收到上一跳节点发送的足够多相同分片的数据包,结合下一跳节点预测的节点间的数据包编码系数实现数据包的再编码;如果接收节点超时没有接收到足够多有效的数据包,则直接丢弃当前分片数据包;步骤(4)、目标节点接收相同分片数据包,根据数据包编码系数n和k实现数据包解码得到分片数据;目标节点接收到足够多分片数据,根据文件编码系数x和y解码分片数据获得原始文件信息并写入文件;如果目标节点超时未能接收到足够多分片数据,则请求重传丢失的分片数据;若超时没有接收到重传数据,则进行超时重传;步骤(5)、目标节点完成一组文件的解码后,目标节点和中间节点采用卡尔曼滤波算法计算最新的数据包编码系数,目标节点根据分片的最差丢失率计算文件编码系数,并返回给上一跳节点;返回迭代步骤(2)至步骤(5),直至整个文件传输完成。2.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,所述步骤(1)包括:资源节点发送包含文件名、文件长度的文件信息的连接请求数据包;目标节点接收到请求数据包之后将根据文件信息和当前网络状态,计算文件编码系数和数据包编码系数,并返回给中间节点和资源节点。3.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,所述步骤(2)中,根据文件编码系数对分组文件进行加载、分片和编码;根据数据包编码系数对文件分片进行切割、编码和封装,包括:资源节点根据文件编码系数y和数据包编码系数k读取特定长度的文件数据进入发送文件缓冲区;对发送文件缓冲区中数据进行分片得到分片数据;结合文件编码系数对分片数据进行随机线性编码得到编码后的分片数据;根据数据包编码系数k将编码后的分片数据切割成多个数据包,结合第一数据包编码系数对数据包进行随机线性编码,得到最终发送的数据包。4.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,所述步骤(2)包括:1)资源节点文件编码,资源节点根据的文件编码系数x和y,生成x
×
y阶的文件编码矩阵m,结合数据包编码系数k,从文件中读取y
×
k
×
1024大小的数据,将数据切分为y片,得到分片文件矩阵f=[f
1 f2…
f
y
];利用文件编码矩阵m对分片数据矩阵f进行编码得到编码后的分片矩阵c
f

2)将文件编码矩阵m与编码后的分片矩阵c
f
拼接,得到最终的分片数据矩阵s;s=[m c
f
]3)生成n
×
k阶的数据包编码矩阵w,将s中的每一个分片数据拆分为k个长度相同的数据包,得到数据包矩阵p=[p
1 p2…
p
k
];同样以矩阵乘的方式实现数据包的编码,利用数据包编码矩阵w对数据包矩阵p进行编码得到编码后数据矩阵c
p
;c
p
=w
×
p4)将数据包编码矩阵w和编码后数据矩阵c
p
拼接得到最终数据矩阵g=[w c
p
],对g进行头部数据封装得到最终发送的数据包;5)同一组文件全部发送后,等待目标节点接收确认,若成功接收则继续下一组文件传输,若传输失败,则重传丢失的分片数据。5.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,所述步骤(3)包括:1)中间节点接收数据包,根据数据包的序号间隔设定周期统计一次数据包丢包率;2)验证数据包的有效性,通过文件分组序号、分片序号和偏移量来判断数据包是否有效,同分片并且未接收的数据包保存在数据包缓冲区;3)当中间节点接收到k个线性独立的数据包后开始数据包的重新编码;包括:数据包由数据包头部、数据包编码矩阵和编码后数据三个部分组成;从数据包中提取出数据包编码矩阵和编码后数据矩阵[w c
p
],根据第i个中间节点的数据包编码系数,随机生成第i个中间节点的编码矩阵w
i
完成第i个中间节点的重新编码;中间节点编码公式如下:g
i
=w
i
×
[w c
p
]4)对于新生成的最终数据矩阵g
i
,重新添加头部信息,其中头部信息根据中间节点的数据包序号重新对头部信息中包序号赋值;最后将最新生成的数据包发送给下一节点;5)在接收到目标节点返回的确认信息包后,中间节点根据之前统计的数据丢包状况,预测当前环境下的最优系统丢包率并计算中间节点的数据编码系数;将当前最优值传递给上一跳节点,保证中间节点能够以最合适的数据包编码系数进行编码。6.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,步骤(4)包括:目标节点接收相同分片数据包,基于数据包编码系数通过逆矩阵相乘的方式对数据包进行解码得到分片数据,解码出的分片数据保存到文件接收数据缓冲区;其次,目标节点在获得足够多分片数据后,基于文件编码系数通过逆矩阵乘的方式对分片数据进行解码得到原始文件数据;最后,如果目标节点超时没有接收到足够多的分片数据,采用请求重传和超时重传的方式确保文件传输的最终可靠性。7.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,
其特征在于,所述步骤(4),包括:1)数据包解码:假设中间节点共有x个,当获取到k个线性无关的数据包后,从最终数据矩阵g
x
中提取出最终的数据包编码矩阵和最终的编码后数据矩阵通过逆矩阵相乘的方式解码出数据包矩阵p,解码公式如下:其中表示x个中间节点的编码矩阵w
i
累乘;此时解码出的数据包矩阵p就是当前文件分组的一个分片,将解码后的分片数据保存在缓冲区中,当接收到y个分片数据后进行下一步分片解码操作;2)分片解码,分片解码方式和数据包解码方式一样,从接收到的分片数据矩阵s中获取文件编码矩阵m和编码后的分片矩阵c
f
;采用逆矩阵的特性实现文件数据的解码得到分片文件矩阵f=[f
1 f2…
f
y
]:3)当目标节点超时没有接收到足够多有效的分片数据,或者当目标节点接收到最后一个分片数据后还没有接收到足够多有效的分片数据时,则认为分片数据丢失,目标节点向资源节点发送负反馈请求,重传丢失的分片数据;同时,为了保证负反馈请求能够成功发送到资源节点,采用超时重传机制来保证负反馈数据包的传输可靠性;整个系统超时时间统一采用2倍传输往返时延;4)当完成该组文件的解码后,预测当前的最优网络丢包率,计算与上一节点间数据包编码的编码系数n和k;同时,统计文件分片的最差丢失率,计算下一组文件的文件编码系数x和y;5)目标节点返回确认数据包。8.根据权利要求1所述的基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,其特征在于,采用卡尔曼滤波算法计算最新的文件编码系数和数据包编码系数包括:结合当前网络丢包率,通过卡尔曼滤波算法预测当前最优网络丢包率,基于预测得到的当前最优网络丢包率计算数据包编码系数;根据最差分片丢失率计算文件编码系数:1)基于sigma准则的低峰值过滤:对收集的丢包率的数据集o=(o
1 o2…
o
j
)进行基于sigma准则的异常的低峰值过滤:
其中j代表丢包率的数据集大小,a代表丢包率数据集中的第a个丢包率;当平均丢包率与第a个丢包率o
a
的差值的绝对值大于sigma时,根据正太分布中的sigma原则,当前峰值为异常值的概率为68.72%,过滤掉异常值,得到过滤后的丢包率的数据集o

=(o

1 o
′2…
o

j
),其中数据集o

即为当前网络实际测量结果;2)基于卡尔曼滤波的丢包率预测,得到当前最优网络丢包率:1、系统最优值预测,根据上一时刻的系统最优状态r
j-1
和误差协方差q
j-1
,通过状态转移矩阵a和控制输入矩阵b预测当前时刻系统最优状态和误差协方差在丢包率的预测中,使用上一时刻的最优状态预测下一时刻的最优状态,因此a和b的值为1:测中,使用上一时刻的最优状态预测下一时刻的最优状态,因此a和b的值为1:其中,u
j
为输入控制量,a
t
表示a的转置矩阵,d示过程噪声协方差;2、最优预测结果更新,通过当前网络实际测量结果o

,将预测的系统状态进行最优化处理,计算当前环境下的卡尔曼增益值i
j
,并根据i
j
更新当前预测的系统最优状态和误差协方差得到当前时刻的系统最优状态r
j
和误差协方差q
j
;由于网络丢包率的测量结果就是实际结果,测量矩阵h的值为1:就是实际结果,测量矩阵h的值为1:就是实际结果,测量矩阵h的值为1:其中v表示测量噪声协方差,h
t
表示h的转置矩阵;卡尔曼滤波算法是一个自回归的算法过程,以上步骤就是对数据集o

的一个自回归运算,r
j
是最后一次运算的结果,将此刻的系统最优状态r
j
作为当前网络丢包率的最优结果;3)基于二项式分布的编码系数计算:数据包编码系数对应关系值:文件编码系数对应关系值:其中t
j
表示统计出来的最差分片丢失率。
9.一种基于随机线性网络编码与卡尔曼滤波算法的文件传输装置,其特征在于,包括处理器及存储介质;所述存储介质用于存储指令;所述处理器用于根据所述指令进行操作以执行根据权利要求1至8任一项所述方法的步骤。10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。

技术总结
本发明公开了一种基于随机线性网络编码与卡尔曼滤波算法的文件传输方法,方法包括:资源节点读取文件数据进入文件发送缓冲区,采用双重编码机制对缓冲区数据进行随机线性编码得到数据包,并将数据包发送给中间节点;中间节点接收上一跳节点发送的有效数据包,结合节点间的数据包编码系数实现数据包的再编码;中间节点和目标节点结合当前网络丢包率,通过卡尔曼滤波算法预测当前最优网络丢包率,计算数据包编码系数;目标节点根据最差分片丢失率计算文件编码系数;目标节点接收数据,实现数据包解码,以及文件传输可靠性保证。以及文件传输可靠性保证。以及文件传输可靠性保证。


技术研发人员:王磊 肖宏武 李欢欢 宗浩楠 陈昊 刘峥
受保护的技术使用者:南京邮电大学
技术研发日:2022.09.29
技术公布日:2022/12/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1