发明名称 面向矩阵式无线传感器网络分配权重的随机路由选择方法
摘要 本发明公开了面向矩阵式无线传感器网络分配权重的随机路由选择方法:(1)设定网络中传感器节点被选作路径开启节点的概率;(2)以根据概率随机选择的传感器节点为路径开启节点和准备发送数据包的节点;(3)准备发送数据包的节点根据判断该节点编号选择接收其数据包的下一跳节点;(4)准备发送数据包的节点将其数据包发送至选定的下一跳节点;下一跳节点在接收到数据包后判断数据包的编号信息中是否存在该下一跳节点的自身编号,由此更新该下一跳节点所接收到的数据包或以接收到的数据包作为其准备发送的数据包;接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(3);(5)汇聚节点接收到数据包,随机路由选择结束。
申请公布号 CN101895957B 申请公布日期 2012.11.21
申请号 CN201010235468.0 申请日期 2010.07.23
申请人 浙江大学 发明人 夏羽;王晓;赵志峰;张宏纲;赵宁
分类号 H04L12/28(2006.01)I;H04W40/14(2009.01)I;H04L29/06(2006.01)I 主分类号 H04L12/28(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 陈昱彤
主权项 1.一种面向矩阵式无线传感器网络分配权重的随机路由选择方法,其特征是:所述网络中包含N个传感器节点和一个汇聚节点,其中<img file="FDA00001800522500011.GIF" wi="83" he="57" />为正整数,所述N个传感器节点的拓扑为矩阵形状,所述汇聚节点位于N个传感器节点所覆盖的区域的外部:若汇聚节点位于N个传感器节点所覆盖的区域的上方或下方,则所述网络中传感器节点的编号为:距离汇聚节点最远一行的传感器节点的编号从一端到另一端依次为<img file="FDA00001800522500012.GIF" wi="332" he="61" />其中编号为1的传感器节点所在行为第一行,该编号为1的传感器节点所在列为第一列;位于所述网络中第I行、第J列的传感器节点的编号为<img file="FDA00001800522500013.GIF" wi="323" he="63" />其中,<img file="FDA00001800522500014.GIF" wi="290" he="62" />I,J均为正整数;若汇聚节点位于N个传感器节点所覆盖的区域的左方或右方,则所述网络中传感器节点的编号为:距离汇聚节点最远一列的传感器节点的编号从一端到另一端依次为<img file="FDA00001800522500015.GIF" wi="332" he="60" />其中编号为1的传感器节点所在行为第一行,该编号为1的传感器节点所在列为第一列,位于所述网络中第I行、第J列的传感器节点的编号为<img file="FDA00001800522500016.GIF" wi="323" he="62" />其中,<img file="FDA00001800522500017.GIF" wi="290" he="61" />I,J均为正整数;进行所述路由选择时包括如下步骤:(1)将所述网络中的传感器节点被选作路径开启节点的概率设定为P<sub>I</sub>或<img file="FDA00001800522500018.GIF" wi="97" he="58" />且P<sub>I</sub>和<img file="FDA00001800522500019.GIF" wi="72" he="58" />分别满足如式(1)和式(2)所示的关系式:<maths num="0001"><![CDATA[<math><mrow><msub><mi>P</mi><mi>I</mi></msub><mo>=</mo><msup><mi>&alpha;</mi><mi>I</mi></msup><mo>/</mo><msqrt><mi>N</mi></msqrt><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msub><mi>P</mi><msqrt><mi>N</mi></msqrt></msub><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>I</mi><mo>=</mo><mn>1</mn></mrow><mrow><msqrt><mi>N</mi></msqrt><mo>-</mo><mn>1</mn></mrow></munderover><msup><mi>&alpha;</mi><mi>I</mi></msup><mo>)</mo></mrow><mo>/</mo><msqrt><mi>N</mi></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>在式(1)和(2)中,当汇聚节点位于N个传感器节点所覆盖的区域的上方或下方时,P<sub>I</sub>表示位于所述网络中第I行的传感器节点被选作路径开启节点的概率,<img file="FDA00001800522500021.GIF" wi="73" he="58" />表示位于所述网络中第<img file="FDA00001800522500022.GIF" wi="83" he="57" />行的传感器节点被选作路径开启节点的概率;当汇聚节点位于N个传感器节点所覆盖的区域的左方或右方时,P<sub>I</sub>表示位于所述网络中第I列的传感器节点被选作路径开启节点的概率,<img file="FDA00001800522500023.GIF" wi="73" he="58" />表示位于所述网络中第<img file="FDA00001800522500024.GIF" wi="83" he="56" />列的传感器节点被选作路径开启节点的概率;<img file="FDA00001800522500025.GIF" wi="370" he="60" />α=0.5,为权重参数;(2)所述网络以上述设定的概率随机选择网络中的传感器节点为路径开启节点并作为准备发送数据包的节点,各被选中的准备发送数据包的节点的数据包中所包含的信息为该节点的编号信息和该节点的运算信息,所述运算信息为该节点获取的检测对象的信息与生成的随机数的乘积;(3)准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:判断准备发送数据包的节点的编号是否为N,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(5);否则,判断该节点编号是否属于区间<img file="FDA00001800522500026.GIF" wi="476" he="62" />或是否能被<img file="FDA00001800522500027.GIF" wi="83" he="56" />整除:若该节点编号属于区间<img file="FDA00001800522500028.GIF" wi="502" he="63" />则选择编号为该节点编号加1的节点或者汇聚节点为下一跳节点:如果汇聚节点被选中则执行步骤(5),否则执行步骤(4);若该节点编号能被<img file="FDA00001800522500029.GIF" wi="82" he="57" />整除,则选择编号为该节点编号减L的节点为接收其数据包的下一跳节点,其中L为区间<img file="FDA000018005225000210.GIF" wi="278" he="122" />内的任意正整数;若该节点编号既不属于区间<img file="FDA000018005225000211.GIF" wi="476" he="63" />也不能被<img file="FDA000018005225000212.GIF" wi="83" he="57" />整除,则选择编号为该节点编号加1的节点或者编号为该节点编号加<img file="FDA000018005225000213.GIF" wi="83" he="57" />的节点为接收其数据包的下一跳节点;(4)准备发送数据包的节点将其数据包发送至步骤(3)选定的下一跳节点;该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号,若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包;若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(3);(5)汇聚节点接收到数据包,所述随机路由选择结束。
地址 310027 浙江省杭州市西湖区浙大路38号