发明名称 无线传感器网络中移动sink节点的自主移动方法
摘要 本发明公开了一种无线传感器网络中移动sink节点的自主移动方法,属于无线传感器网络技术领域。该方法基于无线传感器网络树形路由多跳互连模型,首先以当前sink节点各一跳邻居节点为子树根,划分子树并组成子树集合,sink节点获取一定范围内各子树中每条数据传播路径中传感器节点剩余能量的最大和最小值;然后根据一定条件,生成正在死亡节点序列和sink可行移动位置序列;sink节点则在序列中选择合适的位置进行移动。序列长期保存在sink节点中,并根据下一轮节点能量情况进行更新。这样,既可以通过实时掌握一定范围内网络能量的极值,指导sink节点进行移动,逐步实现网络节点间的能量均衡;同时有效的减少大量重复查询带来的时间开销和能量开销。
申请公布号 CN103987101A 申请公布日期 2014.08.13
申请号 CN201410156122.X 申请日期 2014.04.17
申请人 南京邮电大学 发明人 付雄;汤中睿;程春玲
分类号 H04W40/10(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W40/10(2009.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 杨楠
主权项 无线传感器网络中移动sink节点的自主移动方法,所述无线传感器网络包括多个传感器节点和一个可移动的sink节点,其特征在于,所述sink节点按照以下方法进行自主移动:步骤A、所述sink节点移动到一个新位置后,首先建立为以自身为根节点的树形多跳互连路由结构的网络连接,并开始接收并处理各传感器节点发送的感知数据;步骤B、距sink节点在2跳范围内的传感器节点定期将自身的当前剩余能量信息传递给sink节点,sink节点判断其中当前剩余能量小于一预设能量阈值的传感器节点的比例是否达到预设的比例阈值,如是,则转至步骤C;如否,则sink节点在当前位置继续接收并处理各传感器节点发送的感知数据;步骤C、sink节点首先获取自身所保存的正在死亡节点序列中各传感器节点的当前剩余能量,判断正在死亡节点序列中是否存在当前剩余能量低于最低警戒能量阈值且与sink节点距离<img file="201410156122X100001dest_path_image002.GIF" wi="48" he="25" />的传感器节点,如存在,则sink节点直接移动到其中距离最近的传感器节点处,并将该传感器节点冻结;如不存在,则sink节点接着在自身所保存的sink可行移动位置序列中搜索与sink节点距离<img file="194714dest_path_image002.GIF" wi="48" he="25" />的传感器节点,并以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置,如sink可行移动位置序列中不存在与sink节点距离<img file="174171dest_path_image002.GIF" wi="48" he="25" />的传感器节点,则转至步骤D;其中,<img file="201410156122X100001dest_path_image004.GIF" wi="36" he="25" />表示所述sink节点的单次最大移动半径;某个节点的一跳邻居节点是指在该节点所在子树中距离该节点一跳并且与该节点距离<img file="327810dest_path_image002.GIF" wi="48" he="25" />的所有节点,以及位于其它子树中与该节点距离<img file="536068dest_path_image002.GIF" wi="48" he="25" />的所有节点;步骤D、sink节点在每一条数据传播路径中距sink节点<img file="412757dest_path_image002.GIF" wi="48" he="25" />的传感器节点集合中,以及每一条路径中距sink节点<img file="201410156122X100001dest_path_image006.GIF" wi="56" he="25" />的传感器节点集合中,分别搜索出其中当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点;然后在距sink节点<img file="422171dest_path_image002.GIF" wi="48" he="25" />的当前剩余能量最小的所有传感器节点中,查询是否存在当前剩余能量低于最低警戒能量阈值的传感器节点:如只存在一个这样的传感器节点,则sink节点直接移动到该传感器节点处,并将该传感器节点冻结;如存在一个以上这样的传感器节点,则sink节点直接移动到其中距离最近的传感器节点处,冻结该传感器节点,并将所查询出的其余传感器节点按照当前剩余能量由小到大的顺序组成序列,更新当前的正在死亡节点序列;如不存在这样的节点,则转步骤E;步骤E、sink节点对步骤D中所得到的每一条路径中距sink节点<img file="63105dest_path_image006.GIF" wi="56" he="25" />的当前剩余能量最大的各传感器节点,分别获取其一跳邻居节点的能量信息,然后从中筛选出其一跳邻居节点的数量大于等于预设的邻居节点数阈值且其一跳邻居节点的当前剩余能量的平均值大于步骤B中所述能量阈值的传感器节点,并按照一跳邻居节点的当前剩余能量的平均值从大到小的将这些传感器节点进行排序,所得序列用于更新当前的sink可行移动位置序列;最后判断sink可行移动位置序列中是否存在与sink节点的距离<img file="324322dest_path_image002.GIF" wi="48" he="25" />的传感器节点,如存在这样的节点,则以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置;如不存在这样的节点,则确定sink可行移动位置序列中一跳邻居节点的当前剩余能量的平均值最大的传感器节点所在的子树,然后从步骤D中所得到的每一条路径中距sink节点<img file="806250dest_path_image002.GIF" wi="48" he="25" />的当前剩余能量最大的各传感器节点中找出位于该子树中的传感器节点,获取所找出的这些传感器节点的一跳邻居节点的能量信息,并判断其中是否存在其一跳邻居节点的数量大于等于预设的邻居节点数阈值且其一跳邻居节点的当前剩余能量的平均值大于步骤B中所述能量阈值的传感器节点,如存在这样的传感器节点,则从这样的传感器节点中选择距离sink节点最远的传感器节点位置作为sink节点下次移动位置;如不存在这样的传感器节点,则降低所述能量阈值后转至步骤D,重新查找sink节点的下次移动位置;步骤F、sink节点完成本次移动,转至步骤A。
地址 210046 江苏省南京市新模范马路66号