发明名称 贪婪地理路由协议切线切换空洞处理的路由方法
摘要 本发明公开了贪婪地理路由协议切线切换空洞处理的路由方法,主要解决贪婪地理路由协议在遇到路由空洞后采用边缘恢复算法,路由具有盲目性问题。其实现方案是:如果贪婪地理路由协议寻找目地节点遇到路由空洞,进入边缘恢复模式时同时使用左手和右手规则,从第2个空洞节点开始,加入切线判断的3个条件,若满足条件,恢复成贪婪转发模式,比较左、右手法则下的路由跳数,选出数据转发的最优路径。本发明与贪婪地理路由协议相比,减少了路由跳数,与基于路标分布式迭代提取和剔除的自适应空洞处理算法相比,降低了控制开销,可用于移动无线传感器网络。
申请公布号 CN105933947A 申请公布日期 2016.09.07
申请号 CN201610256710.X 申请日期 2016.04.24
申请人 江西理工大学 发明人 温卫;巫光福;王俊岭;王振东
分类号 H04W40/20(2009.01)I 主分类号 H04W40/20(2009.01)I
代理机构 代理人
主权项 贪婪地理路由协议切线切换空洞处理的路由方法,具体步骤为:1)移动无线传感器网络中的节点用自己的节点标识号、位置信息构造Hello分组,向自己的一跳邻居周期性广播Hello分组,接收到Hello分组的节点将分组信息存储在自己的邻居节点链表中,目标节点也会周期性地向全网广播自己的位置信息;2)从源节点开始,首先从邻居节点链表中获得邻居节点的位置信息,选出邻居节点到目标节点的距离比当前节点到目标节点的距离更近的节点,此节点作为下一跳节点;3)贪婪地理路由协议寻找目地节点时,如果所有邻居节点比当前节点到目的节点的距离更大,当前节点即为路由空洞节点,否则返回步骤(2);4)对网络拓扑图进行GG算法平面化处理,贪婪地理路由协议进入边缘恢复模式,同时使用左、右手规则,从空洞节点依次沿着与空洞节点和目的节点形成的直线相交的面转发该数据分组。转换规则为:在一个面内,当按照右手或左手法则选择的下一条边与空洞节点和目的节点形成的直线相交时,就进入下一个面;5)从第2个空洞节点开始,空洞节点经历次数等于1时,在选择下一跳节点时,如果是采用右手法则,加入切线判断的3个条件:①判断当前节点为空洞的凸点;②当前节点和目的节点的连线若与当前节点相切;③判断从当前节点到上一跳节点构成的有向线段1和从当前节点到空洞处理算法找到的下一跳节点构成的有向线段2是否都为从目的节点到当前节点构成的有向线段3向左拐得到的线段,则恢复成贪婪算法;如果是采用左手规则,加入切线判断的3个条件:①判断当前节点为空洞的凸点;②当前节点和目的节点的连线若与当前节点相切;③判断从当前节点到上一跳节点构成的有向线段1和从当前节点到空洞处理算法找到的下一跳节点构成的有向线段2是否都为从目的节点到当前节点构成的有向线段3向右拐得到的线段,也恢复成贪婪算法,否则执行步骤(4)。如果空洞节点经历次数大于1,即空洞处出现环路,使用与预定法则相反的法则进行空洞处理;空洞的凸点指沿空洞边界上相邻的三个节点:当前节点、前一节点和下一节点,这3个节点形成的夹角是锐角。当前节点和目的节点的连线与当前节点相切的判断:当<img file="FDA0000972897390000011.GIF" wi="1315" he="66" />时成立,则点n<sub>d</sub>和点n<sub>now</sub>的连线与空洞在边界点n<sub>now</sub>相切。其中,前一节点n<sub>past</sub>,当前节点n<sub>now</sub>、下一节点n<sub>next</sub>,n<sub>d</sub>为目标节点,<img file="FDA0000972897390000021.GIF" wi="48" he="47" />是叉乘。在计算机中实现时,设前一节点n<sub>past</sub>的坐标为x1,y1;当前节点n<sub>now</sub>的坐标为x2,y2;下一节点n<sub>next</sub>的坐标为x3,y3;目标节点n<sub>d</sub>的坐标为x4,y4.有a1=x1‑x3;b1=y1‑y3;c1=x2‑x3;a2=x4‑x3;b2=y4‑y3;c2=y2‑y3;denom1=a1*b2‑a2*b1;denom2=c1*b2‑a2*c2;denom=denom1*denom2;满足条件denom&gt;=0时成立。从当前节点到上一跳节点构成的有向线段1和从当前节点到空洞处理算法找到的下一跳节点构成的有向线段2是否都为从目的节点到当前节点构成的有向线段3向左拐得到的线段的判断:当<img file="FDA0000972897390000022.GIF" wi="671" he="67" />和<img file="FDA0000972897390000023.GIF" wi="603" he="71" />同时成立,则点n<sub>d</sub>和点n<sub>now</sub>的连线与空洞在边界点n<sub>now</sub>处切线左拐。在计算机中实现时,有a1=x1‑x4;b1=y1‑y4;c1=x2‑x4;a2=x3‑x4;b2=y3‑y4;c2=y2‑y4;denom1=a1*b2‑a2*b1;denom2=c1*b2‑a2*c2;满足条件denom1&gt;=0并且denom2&gt;=0时成立。从当前节点到上一跳节点构成的有向线段1和从当前节点到空洞处理算法找到的下一跳节点构成的有向线段2是否都为从目的节点到当前节点构成的有向线段3向右拐得到的线段的判断:当<img file="FDA0000972897390000024.GIF" wi="677" he="63" />和<img file="FDA0000972897390000025.GIF" wi="676" he="64" />同时成立,则点n<sub>d</sub>和点n<sub>now</sub>的连线与空洞在边界点n<sub>now</sub>处切线右拐。在计算机中实现时,有a1=x1‑x4;b1=y1‑y4;c1=x2‑x4;a2=x3‑x4;b2=y3‑y4;c2=y2‑y4;denom1=a1*b2‑a2*b1;denom2=c1*b2‑a2*c2;满足条件denom1&lt;=0并且denom2&lt;=0时成立。6)如果使用左手规则和右手规则都能恢复成贪婪算法,比较左手和右手法则下从空洞节点到边缘恢复模式结束转为贪婪转发时的路由跳数的大小,选择跳数更少的路径作为最终的路由。如果只能使用左手规则或只能使用右手规则选择下一跳,则选择这唯一路径为最终的路由。
地址 341000 江西省赣州市章贡区红旗大道86号