网络拓扑结构动态自适应的压缩感知数据收集方法与流程

文档序号:20202771发布日期:2020-03-27 20:48阅读:来源:国知局

技术特征:

1.一种网络拓扑结构动态自适应的压缩感知数据收集方法,其特征在于,包括以下步骤:

(1)初始化阶段,进行传感器节点部署,并且分别为每个网络节点,生成一个节点层次编号layerid和两个邻居节点集合,这两个邻居节点集合分别是上一层邻居节点集合su和同层邻居节点集合sc;

(2)双重随机游走:每一次测量过程中,网络最外两层节点中,随机选择部分节点作为双重随机游走起点,并基于各个节点的层次编号(layerid)和两类邻居节点集合(su和sc),进行同层随机游走和跨层随机游走;进行同层随机游走时,其下一跳节点来自于同层邻居节点集合sc,进行跨层随机游走时,其下一跳节点来自于上一层邻居节点集合su;通过同层随机游走和跨层随机游走的串联组合,实现双重随机游走;各条双重随机游走路径都结束于sink节点;

(3)基于双重随机游走的压缩感知测量过程:压缩感知测量过程,与双重随机游走过程同步进行;压缩感知测量结果是双重随机游走路径节点数据的加权之和,权值系数由测量系数列表(flaglist)决定;每条双重随机游走所对应的压缩感知测量结果,将沿着双重随机游走路径传输到sink节点;

(4)sink节点利用从各条双重随机游走路径上收集到压缩感知测量结果,采用现有的压缩感知数据恢复技术进行数据恢复。

2.根据权利要求1所述的网络拓扑结构动态自适应的压缩感知数据收集方法,其特征在于,所述步骤(1)具体步骤如下:

(1.1)sink节点设定自己在环形网络拓扑结构中的层次编号为1,并向外广播自己的层次编号;

(1.2)每个节点根据其第一次收到的消息确定自身的层次编号,具体方法为:将该消息中的层次编号加1,作为自己的层次编号,并把消息发送方添加到自己的上一层邻居节点集合su中,再进行适当延时后广播自己的层次编号;

(1.3)每个节点依据接受到的消息中层次编号的大小,来确定自己的两个邻居节点集合(即su和sc)中的内容;具体方法为:若当前节点还没设置自己的层次编号,则将第一次收到消息的发送方加入自己的上一层邻居节点集合su中;若当前节点已经设置自己的层次编号,并且消息中的层次编号小于自己的层次编号,则将消息发送方添加到自己的上一层邻居节点集合su中;若当前节点已经设置自己的层次编号,并且若消息中的层次编号等于自己的层次编号,则将消息发送方添加到自己的同层邻居节点集合sc中。

3.根据权利要求1所述的网络拓扑结构动态自适应的压缩感知数据收集方法,其特征在于,所述步骤(2)步骤如下:

(2.1)双重随机游走起始点的设定:所有最外面2层节点,各自独立随机地决定自己是否作为随机游走起始节点;即,最外面2层的节点独立产生一个服从[0,1]均匀分布的随机数ρ,然后比较随机数ρ与某个预定义阈值的大小关系;该阈值等于最外面两层节点总数的倒数;如果随机数ρ大于该阈值,则当前节点作为起始节点发起双重随机游走;

(2.2)每个随机游走起始节点,分别初始化一个辅助决策变量cntcurr,初始值分别0;后续的双重随机游走过程中,同一条随机游走路径上的所有节点,将按照第2.3步中预定义规则修改cntcurr的值,并将修改后的cntcurr发送给下一跳节点;

(2.3)双重随机游走过程如下:

(2.3.1)如果当前节点是sink节点,则结束双重随机游走;否则接收并提取cntcurr的值;

(2.3.2)如果cntcurr小于k×layerid+b(其中k和b是模型参数),则进行同层随机游走,即从同层邻居节点集合中随机选择一个节点作为下一跳,并将cntcurr=cntcurr+1发送给下一跳节点;

否则进行跨层随机游走,即从上一层邻居节点集合中随机选择一个节点作为下一跳,并将cntcurr=0发送给下一跳节点;

(2.3.3)上一步中,如果进行同层随机游走时,发现当前节点的同层节点集合中为空,则修改为进行跨层随机游走,以防止随机游走意外中断;同理,如果进行跨层随机游走时,发现当前节点的跨层随机游走节点集合为空集,则修改为发起同层随机游走;

(2.3.4)重复第2.3.1步、2.3.2步和2.3.3步,直到到达sink节点。

4.根据权利要求1所述的网络拓扑结构动态自适应的压缩感知数据收集方法,其特征在于,所述步骤(3)具体为:每个双重随机游走起始点,分别将各自的路径节点编号列表(idlist)和相应节点的测量系数列表(flaglist)初始化为空值;每个双重随机游走起始点将其压缩感知测量结果data初始化为0;从双重随机游走路径起始点开始,双重随机游走路径上的各个节点按照如下方式,协作完成基于双重随机游走的压缩感知测量过程:

首先,双重随机游走路径上的当前节点等概率地随机选择-1或者+1作为测量系数flag,更新压缩感知测量结果为:data=∑i∈idlistdata(i)×flag(i),并把自身的id和所选择的系数分别添加到idlist和flaglist中,其中data(i)表示该条随机游走路径上第i个节点采集的数据,flag(i)为该条随机游走路径上第i个节点选择的测量系数;

然后,双重随机游走路径上的当前节点,将更新后的idlist、flaglist和data一同发送给双重随机游走的下一跳节点;

最后,重复前述两步,直到当前节点变成sink节点。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1