[发明专利]一种适用于容迟容断网络的数据订阅分发方法有效
申请号: | 201410539430.0 | 申请日: | 2014-10-13 |
公开(公告)号: | CN104301237A | 公开(公告)日: | 2015-01-21 |
发明(设计)人: | 夏奕;王孝斌;白桂银 | 申请(专利权)人: | 湖北交通职业技术学院 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L1/16 |
代理公司: | 湖州金卫知识产权代理事务所(普通合伙) 33232 | 代理人: | 裴金华 |
地址: | 430079 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 容迟容断 网络 数据 订阅 分发 方法 | ||
1.一种适用于容迟容断网络的数据订阅分发方法,其特征在于,
假定信源传输的数据包括P={p1,p2,…pn}等n个主题数据包,每个主题数据包由一串不定长度的二进制位构成pi=b1b2b3…bm;
该种数据分发方法的具体步骤包括:
(1)信源节点按如下步骤进行数据包编码发布:
(1.1)信源探测邻接节点,计算信源节点输出路径数k。
2.若k=0,则继续探测直至出现邻接节点;
(1.2)将主题数据包的二进制数据串pi=b1b2b3…bm等分为k个长度为1024的子串{pi1,pi2,…pik};若k>10,则将pi截断,分批次进行编码计算和传输;若k≤10,则转(1.3);
(1.3)若最后一个数据子串pik的长度小于1024,则将pik的高位用0补齐,然后进行编码计算。
3.否则转(1.4);
(1.4)信源产生一个k*k的对角矩阵Ak,计算Ak*[pi1,pi2,…pik],产生k个编码向量和编码值;
(1.5)设置包最大中继次数,在包转发前计算数据包在本节点的滞留时间,并将数据包属性中的TTL减去节点滞留时间;
(1.6)按数据包格式封装k个编码数据包,将产生的编码包向k条输出路径转发;
(2)中继节点按如下步骤进行编码转发处理:
(2.1)中继节点接收主题号topic和批次号packageNo的编码包;
(2.2)将编码包按主题号topic和批次号packageNo存入主题数据发布列表中;
(2.3)从主题数据发布列表中选择所有主题为topic批次号为packageNo的编码包{d1,d2,…dt},对应的编码向量和编码值分别为di.codevector,di.value;
(2.4)中继节点探测邻接节点,并为每条输出路径outputi随机生成一个向量长度为t的编码向量Ci={ci1,ci2…cit};
(2.5)计算数据包的编码值Vi=[ d1.value, d2.value,…dt.value]*[ ci1,ci2…cit]T,数据包的编码向量,并将数据包属性中的包中继次数加1,构建对应于每条输出路径outputi的编码数据包;
(2.6)查询该中继节点中订阅列表,若没有该主题的订阅包,则将产生的编码数据包向所有对应的输出路径转发,执行步骤(2.9),若订阅列表中有该主题数据的订阅包,则执行步骤(2.7);
(2.7)计算数据包在本节点滞留时间,将数据包的剩余生存时间减去节点滞留时间;
(2.8)选择投递概率较高的订阅包,沿订阅包的订阅路径向信宿投递编码数据包;
(2.9)判断主题数据包的最大中继次数,若达到最大中继次数,则数据包不再转发,并转(2.11)执行,若没有,则转步骤(2.10)执行;
(2.10)探测邻接节点,向邻接节点转发数据编码包;
(2.11)更新节点中订阅包和主题数据包列表,若主题包的剩余生存时间为0,则将主题包删除,并按步骤(5)清理节点主题数据发布表;
(3)信宿按如下步骤发布主题订阅包:
(3.1)信宿根据信息主体需求产生主题信息订阅包,并将本节点标记到订阅包的订阅转发路径中;
(3.2)信宿节点探测邻接连通节点;
(3.3)信宿向邻接连通节点转发主题订阅包;
(4)中继节点按如下步骤对主题订阅包进行处理:
(4.1)中继节点接收主题订阅包,并将本节点标记到订阅包的订阅转发路径中;
(4.2)根据收到的订阅包的数据信息,计算订阅路径的投递概率,并更新该订阅包的投递概率值;
(4.3)判断主题订阅表是否已满,若已满则按步骤(5)清理节点主题数据发布表,否则转(4.4);
(4.4)中继节点将接收到的订阅包根据订阅包的主题信息存储到对应的主题订阅列表中;
(4.5)根据主题号匹配节点中的主题发布表和主题订阅表,若存在相匹配的发布和订阅信息,则按中继节点主题发布数据包转发流程进行数据转发;
(4.6)判断主题订阅包是否达到最大中继次数或剩余生存时间为0,若未达到,则继续向邻接节点转发订阅包;
(4.7)更新主题订阅列表,清理订阅列表中的订阅数据包;
(5)中继节点按如下步骤对主题数据发布表和主题信息订阅表进行拥塞控制处理:
(5.1)主题数据发布表存储途径本节点的所有主题发布数据,数据发布表按主题和主题批次以链表进行存储和检索;
(5.1.1)遍历主题数据发布表,若存在剩余生存时间为0或接收到数据包ACK的主题数据包,则将该主题数据包标记为删除,转(5.1.3);否则,执行下一步;
(5.1.2)判断主题发布队列是否已满,若数据存储队列已满,则查找列表中节点中滞留时间最长和订阅次数最少的数据包,标记为删除;
(5.1.3)将主题发布队列中标记为删除的数据包删除;
(5.2)主题数据订阅表存储所有途径本节点的主题订阅包,主题订阅表按主题以链表进行存储和检索;
(5.2.1)遍历主题信息订阅表,若存在剩余生存时间为0或接收到数据包ACK的主题订阅包,则将该主题订阅包标记为删除,转(5.2.3);否则,执行下一步;
(5.2.2)判断主题订阅队列是否已满,若订阅存储队列已满,则查找列表中节点中滞留时间最长的订阅包,标记为删除;
(5.2.3)将主题订阅队列中标记为删除的订阅包删除;
(6)信宿节点按如下步骤进行数据解码处理:
(6.1)信宿节点接收主题编码数据包;
(6.2)判断接收到的同一主题同一批次的数据编码包个数是否达到数据编码向量的长度,若没有达到则转(6.1),否则按如下步骤进行数据解码;
(6.3)将同一主题同一批次的数据编码包的编码向量组成一个编码矩阵,判断该编码矩阵是否满秩,若不为满秩,则转(6.1);若为满秩,则执行后续步骤进行数据译码操作;
(6.4)将编码矩阵以及编码包的编码值形成一个线性矩阵方程组,按高斯消元法解矩阵方程组获得原始数据段信息;
(6.5)将原始数据段信息按相应的标号位置进行拼接,形成原始的数据信息串;
(6.6)若数据解码完成,则构建数据包接收完成数据包ACK,向邻接节点发送主题数据接收完成ACK数据包;
(7)中继节点按如下步骤对ACK数据包进行处理:
(7.1)中继节点接收ACK数据包;
(7.2)遍历主题数据订阅表,查找同主题号的主题数据订阅包,将该包删除;
(7.3)遍历主题数据发布表,查找同主题同批次的主题数据发布包,将该数据包删除;
(7.4)向邻接节点转发ACK数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北交通职业技术学院,未经湖北交通职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410539430.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种制冷系统及冰淇淋机
- 下一篇:一种笼式永磁加热装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置