1.一种无线网络中基于网络编码的缓存替换方法,其特征在于,包括以下步骤:
S1、源节点发送数据流时,先向下游节点和中间节点发送一个构建树的请求,成功构建树后,根据每棵树所遍历的节点寻找编码节点,编码节点向下游节点发送自己的身份信息和将要流经的数据流数量信息;
S2、下游节点根据编码节点发送的信息监听源节点,从源节点发出的数据流中选择有解码价值的数据包进行缓存,给每个缓存的数据包设置一个缓存时间,并将缓存的数据包信息反馈给中间节点;
S3、中间节点根据下游节点的反馈信息,从源节点发出的数据流中选择有编码价值的数据包进行缓存,并给每个缓存的数据包设置一个缓存时间,当出现编码机会时,利用缓存的有编码价值的数据包通过XOR运算生成编码包,并将编码包转发给下游节点;
S4、当下游节点收到编码包时,使用缓存的有解码价值的数据包对收到的编码包进行解码,当缓存数据包成功解码编码包时将该缓存数据包存入队首;当缓存数据包未能成功解码编码包时,将该缓存数据包存入队尾,监听到新的缓存数据包时将队尾的缓存数据包删除并将新的缓存数据包存入队首。
2.根据权利要求1所述的一种无线网络中基于网络编码的缓存替换方法,其特征在于,中间节点时刻监控缓存空间使用情况,并判断自身缓存空间是否已满,当缓存空间未满时,则执行中间节点的缓存替换操作;当缓存空间已满时,则执行中间节点的缓存删除操作;
所述中间节点的缓存替换操作包括:中间节点将已经参与过编码且缓存时间最长的数据包替换为新的有编码价值的数据包,如果没有替换对象则直接缓存新的有编码价值的数据包;所述中间节点的缓存删除操作包括:删除部分参与过编码且缓存时间较长的数据包。
3.根据权利要求2所述的一种无线网络中基于网络编码的缓存替换方法,其特征在于,中间节点判断自身缓存空间是否已满的具体方式包括:中间节点的缓存空间容量为M,节点缓存的数据包容量为U=∑Pi,当U<M时,即∑Pi<M,缓存空间未满,当U=M时,即∑Pi==M,缓存空间判断为已满,其中,U表示所有缓存数据包所占的容量,Pi表示单个缓存数据包的大小。
4.根据权利要求1所述的一种无线网络中基于网络编码的缓存替换方法,其特征在于,下游节点时刻监控缓存空间使用情况,并判断自身缓存空间是否已满,当缓存空间未满时,则执行下游节点的缓存替换操作;当缓存空间已满时,则执行下游节点的缓存删除操作;
所述下游节点的缓存替换操作包括:将未能成功解码且缓存时间最长的数据包替换为新的有价值数据包,如果没有替换对象则直接缓存新数据包;所述下游节点的缓存删除操作包括:下游节点将部分未能成功解码且缓存时间较长的数据包直接删除,保证节点正常工作。
5.根据权利要求4所述的一种无线网络中基于网络编码的缓存替换方法,其特征在于,下游节点判断自身缓存空间是否已满的具体方式包括:下游节点的缓存空间容量为M,节点缓存的数据包容量为U=∑Pi,当U<M时,即∑Pi<M,缓存空间未满,当U=M时,即∑Pi==M,缓存空间判断为已满,其中,U表示所有缓存数据包所占的容量,Pi表示单个缓存数据包的大小。
6.根据权利要求1所述的一种无线网络中基于网络编码的缓存替换方法,其特征在于,一个下游节点缓存的有解码价值的数据包包括两类:一类是该下游节点邻域内节点发送的数据包,如果监听到的数据包中存在经过编码节点的流中的数据包,该数据包就是有解码价值的数据包将被缓存,其他监听到的数据包为无效数据包;另一类是该下游节点本身发送的数据包,如果该下游节点发送的数据包和经过编码节点的数据流反向,则该类数据包就是有解码价值的数据包,将被缓存;反之为无效数据包。