Page 250 - 《软件学报》2021年第9期
P. 250

2874                                 Journal of Software  软件学报 Vol.32, No.9,  September 2021

         锚点加入锚点队列.重复上述过程,直到分区内每个节点都有相对应的锚点.
             此时,锚点队列 A 即为分区内选择的所有锚点,该队列中所有锚点的最短迁移路径 L tsp 可根据 TSP 问题计
         算得出.若 L tsp ≤L b ,L b 为 DCV 的迁移路径上限,则锚点队列 A 即为最终锚点选取队列;否则,移除队列 A 中具有
         最小权重的传感器节点,重新计算队列 A 的最短迁移路径,直到 L tsp 满足路径约束 L b .
             由于锚点选择方案与其 k 跳之内邻居节点的个数和能量相关,参考文献[18]的设置,将 k 设为 3.在图 3 的基
         础上,同样选取 200 个可充电传感器节点均匀的传感区域内,通过网络分区方案 NP-NSD,每个区域内锚点选择
         示例结果如图 4 所示.黑色虚线代表锚点构成的 TSP 路径,带有标号的点表示本次执行过程中选择的锚点.图中
         共有 4 个 TSP 路径,分别代表各个分区内的所有锚点的最短路径.






















                                     Fig.4    Sample diagram of anchor selection
                                            图 4   锚点选择示例图
         3.2   数据传输路径

             当 DCV 停留在锚点 a 处时,停留时长记为τ a .在这段时间内,锚点以单跳路由的形式向 DCV 传输数据.聚类
         内其他节点以多跳静态路由的形式向锚点传输数据.DCV 一旦达到在锚点 a 处的固定停留时长,它立即前往下
         一锚点进行数据收集.
             聚类内其他传感器节点向锚点传输数据过程中,节点并不是向与其相连的所有物理链路发送数据,而是具
         有一定的规则.
             锚点 a 向 DCV 传输数据过程中,以锚点 a 为根节点,将其一跳范围内所有传感器节点视为每个锚点的子节
         点.锚点的子节点记为一级节点,且每个锚点的一级节点集合不包含其他锚点.重复此过程,直到计算出锚点 a 的
         第 k 跳传感器节点,即 k 级节点.每级传感器节点均不包含其上级节点.此时,每个传感器节点的数据传输路径设
         置完毕,且每个锚点均没有父节点只有子节点,k 级节点只有父节点不存在子节点,一个节点可能属于多个聚类,
         但不影响节点之间数据的传输.
             图 5 给出了一个网络数据传输示例图,图中包含 17 个传感器节点,其中有 3 个节点被选为锚点,节点编号
         1,3,15 用于收集其聚类内节点产生的数据.一个传感器节点可以向不同的锚点传输数据,如节点 14,它可以向锚
         点 3,15 同时传输数据.
             •   当 DCV 停留在锚点 3 处时,节点 14 向锚点 3 传输数据;
             •   当 DCV 移动至 15 号节点时,节点 14 先将数据传输至节点 2;随后,节点 2 将收集到的数据转发至锚点
                15;锚点 15 将收集到的数据传至 DCV.
   245   246   247   248   249   250   251   252   253   254   255