《一种多对一分簇无线传感器网络环境下节点睡眠调度方法.pdf》由会员分享,可在线阅读,更多相关《一种多对一分簇无线传感器网络环境下节点睡眠调度方法.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102946626 A (43)申请公布日 2013.02.27 C N 1 0 2 9 4 6 6 2 6 A *CN102946626A* (21)申请号 201210464455.X (22)申请日 2012.11.16 H04W 40/04(2009.01) H04W 52/02(2009.01) H04W 84/18(2009.01) (71)申请人北京航空航天大学 地址 100191 北京市海淀区学院路37号 (72)发明人徐桢 侯宏宇 张涛 (74)专利代理机构北京永创新实专利事务所 11121 代理人赵文利 (54) 发明名称 一种多对一分簇无线传感器。
2、网络环境下节点 睡眠调度方法 (57) 摘要 本发明公开了一种多对一分簇无线传感器 网络环境下节点睡眠调度方法,包括1:网络初始 化;2、获取无线传感器网络的数据聚合树,得到 路由矩阵R;3、确定簇头节点的周期运行方法,构 建基于能耗的跨层优化模型,获取每一个簇头节 点的睡眠调度方法;4、开始运行,向父节点上传 数据;5、当每个节点进入睡眠状态之前,获取该 节点下一次的节点睡眠调度方法;6、判断簇头节 点的能量是否耗尽;7、如果骨干网络中有簇头节 点能量耗尽,采用路由查找算法,判断当前剩余的 骨干网络节点是否能够重新构建数据聚合树,若 能够重新构建数据聚合树,则返回步骤2,否则结 束。本发明最。
3、大程度的减少节点状态转换的次数, 避免了空闲侦听的能量损耗。 (51)Int.Cl. 权利要求书7页 说明书9页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 7 页 说明书 9 页 附图 2 页 1/7页 2 1.一种多对一分簇无线传感器网络环境下节点睡眠调度方法,包括以下几个步骤: 步骤1:进行网络初始化; 对无线传感器网络环境进行初始化,完成网络中节点的部署、分簇,部署后,得到节点 分布信息,分簇后,每个簇内有一个簇头节点,所有簇头节点构成骨干网络; 设定数据聚合树中SINK节点的编号为1,骨干网络节点的编号在节点部署时随机分 配; 步骤2、根据路由查。
4、找算法,获取无线传感器网络的数据聚合树,得到路由矩阵R; 将骨干网络节点分布信息作为输入,根据路由查找算法,得到适应于无线传感器网络 的数据聚合树,树的顶点为SINK节点,根据数据聚合树得到路由矩阵R; 根据路由矩阵R,获取父节点矩阵FN、子节点矩阵CN、层矩阵L、兄弟矩阵BN,具体为: 路由矩阵R为: 其中 其中:N表示N个骨干网络中簇头节点的数量,r ij 表示簇头节点i到簇头节点j的链 路通断情况; 父节点矩阵FN: 簇头节点i的父节点编号用fn i 表示,则父节点矩阵为:FNfn 1 fn 2 fn N ;若簇 头节点j是簇头节点i的父节点,路由矩阵中r ij 1,则fn i j,若簇。
5、头节点i没有父节 点则fn i 为0; 子节点矩阵CN: 簇头节点i的子节点编号用表示,中各个子节点的编号按递增顺序排列,则子节 点矩阵为没有子节点的位置和其他空余位置均补0;根据路由 矩阵R,若簇头节点j是簇头节点i的子节点,有r ij -1,则 层矩阵L: 簇头节点i在数据汇聚树中的层数用L i 表示,即LL 1 L 2 L N ;其中,设定sink 节点编号为1,位于第一层,即L 1 1;根据子节点矩阵,获得每个簇头节点的子节点,若一 个簇头节点的层数为l,则其子节点的层数为l+1,以此类推,得到出所有节点的层数; 兄弟节点矩阵BN: 簇头节点i的兄弟节点编号用表示,中各个兄弟节点的编号。
6、按递增顺序排列,即 没有兄弟节点的位置和其他空余位置均补0;根据父节点矩阵 和子节点矩阵,每个簇头节点获得与该节点有着相同父节点的所有子节点编号,即为该节 点的兄弟节点编号; 步骤3、确定簇头节点的周期运行方法,构建基于能耗的跨层优化模型,获取每一个簇 头节点的睡眠调度方法; (1)确定簇头节点的周期运行方法; 权 利 要 求 书CN 102946626 A 2/7页 3 每个簇头节点的运行方法为: 1、簇头节点处于睡眠状态,当簇头节点需要收发数据时,将簇头节点由睡眠状态切换 至工作状态; 簇头节点的状态转换时间为:父节点比第一个子节点晚唤醒T,保证父节点可以开 始收子节点数据的时候,该子节点。
7、已经准备好发送数据;兄弟节点之间,后面的子节点要依 次比前一个子节点晚唤醒t,保证在前一个子节点完成发送数据后,该子节点恰好准备好 向父节点发送数据; 2、簇头节点收集簇内数据; 簇头节点收集簇内节点在一个周期内的感知数据;簇内节点在对应簇头节点开始工作 后,将一个周期内感知的数据上传给簇头节点,由簇头节点经由骨干网络的数据聚合树将 数据汇聚到SINK节点; 3、如果簇头节点有子节点,则簇头节点收集子节点数据; 骨干网络中簇头节点收集数据聚合树中其子节点的数据; 4、簇头节点向父节点发送数据; 骨干网络簇头节点收集数据完毕之后,经过数据聚合,将自己存储的数据上传给父节 点,子节点向父节点发送数。
8、据之前,要和父节点进行同步,周期性的向父节点发送同步请求 包,得到父节点确认包后,再开始数据发送;数据发送完毕后,子节点需要等待父节点发送 的反馈包,来判断数据是否发送成功,若本次数据发送失败,存储数据,等待簇头节点下一 次唤醒时优先重新发送本次数据; 5、簇头节点进入睡眠; 骨干网络簇头节点完成数据的收集与发送工作后,将节点切换为睡眠状态; (2)构建基于能耗的跨层优化模型; 1、获取参数: 丢包率矩阵P为: 当r ij 0时,p ij 0 其中:p ij 表示簇头节点i到簇头节点j的链路上的丢包率; 数据传输率矩阵F为: 当r ij 0时,f ij 0 其中:f ij 表示簇头节点i到簇头。
9、节点j的链路上的数据传输率; 能耗矩阵E为: 权 利 要 求 书CN 102946626 A 3/7页 4 其中:i表示簇头节点编号,j表示节点的能量属性编号,E i1 表示簇头节点i的状态转 换能耗;E i2 表示簇头节点i的收簇内数据的能耗;E i3 表示簇头节点i的收子节点数据的能 耗;E i4 表示簇头节点i的发送数据的能耗;E i5 表示簇头节点i的睡眠能耗;E i6 表示簇头节 点i的数据处理能耗; 第i个节点的能耗为所有节点的总能耗为 睡眠调度矩阵T: 其中:i表示簇头节点编号,j表示节点的时间属性编号,t i1 表示簇头节点i的下次唤 醒的时间;t i2 表示簇头节点i的下次收。
10、簇内数据的时间;t i3 表示簇头节点i的下次收子节 点数据的时间;t i4 表示簇头节点i的下次发送数据的时间; 数据聚合率矩阵AG: 簇头节点i的数据聚合率为ag i ,即AGag 1 ag 2 ag N ; 基本功耗: 状态转换一次能耗为E change ,进行一次数据聚合的能耗为E agg ,发送数据功耗为P send ,接 收数据功耗为P rec ,空闲侦听功耗为P idle ,睡眠功耗为P sleep ; 反馈矩阵FB: 簇头节点i上一次发送数据的反馈情况用fb i 表示,当需要重新发送数据时,fb i 记录 为需要重新发送的数据量;初始化时fb i 均为0; FBfb 1 fb 。
11、2 fb 3 fb N ,其中 由于节点i向父节点发送数据的丢包率为故fb i S send,i 的概率为S send,i 表 示需要重新发送的数据量;当节点i的数据发送成功时,节点i将收到反馈信息ACK,则fb i 0;当节点i的数据发送失败时,节点i将收到反馈信息NAK或者收不到反馈信息,则fb i S send,i ,其中,S send,i 表示节点i本次发送的数据量; 设定其他参数: t brc_i 表示簇头节点i可以开始接收子节点数据的时刻; t bs_i t i1 +t i2 +t i3 表示簇头节点i可以开始向父节点发送数据的时刻; S SYN 表示SYN包的大小; S ACK 。
12、表示ACK包的大小; S FB 表示FB包的大小; 2.构建基于能耗的跨层优化模型 权 利 要 求 书CN 102946626 A 4/7页 5 各部分能耗的计算: 对于簇头节点i,有E i E i1 +E i2 +E i3 +E i4 +E i5 +E i6 ,表示节点i在一个周期内的能耗,具体 计算如下; (1)E i1 :状态转换能耗 若按照之前的规划,节点i在一个周期内唤醒一次,故E i1 E change ; (2)E i2 :收簇内数据的能耗 骨干节点i就表示网络中第i个簇,设簇内有K i 个节点,每个节点的数据到达率为 ik ,簇内网络运行周期为T i_ch ,簇内划分为G i 。
13、个组,则每组工作时间为T i_ch /G i ,也就是簇头 节点i的工作周期T i T i_ch /G i ; 则节点i在一个工作周期内需要在簇内采集的数据量为若簇内数据上传时 的数据传输率为 i ,则节点i收簇内数据的时间为 故: (3)E i3 :收子节点数据的能耗 设节点i共有M i 个子节点,根据节点周期运行方法,得到节点i接收第m个子节点的 能耗为:E i3,m E wait_SYN,m +E rec_SYN,m +E ACK,m +E receive,m +E FB,m ; 其中,E wait_SYN,m 为等待同步的能耗,E rec_SYN,m 为接收同步包的能耗,E ACK,m。
14、 为发送ACK的能 耗,E receive,m 为接收数据的能耗,E FB 为发送反馈的能耗;具体计算如下: 等待同步的能耗:E wait_SYN,m P idle t wait_SYN,m 其中,为等待同步的时间; 其中,表示节点i的第m个子节点准备好向父节点发送数据的 时刻,分别表示节点i的第m个子节点的第1、2、3个时间属性,t SYN 表示节 点发送/接收同步请求包的时间,t inter_SYN 表示两次发送请求包的时间间隔; 表示节点i准备好接收第 m个子节点数据的时刻,其中,t ACK 表示节点发送/接收确认包的时间,t rec,m-1 表示节点i第 m-1个子节点接收数据的时间,。
15、t FB 表示节点发送/接收反馈包的时间; 表示节点i的第m个子节点进行同步时发送的未收到回复包的同 步包的数量; 接收同步包的能耗:其中,表示簇头节点i的第m个子节点到 簇头节点i的链路上的数据传输率; 发送确认包的能耗:其中,表示簇头节点i到簇头节点i的第m个 权 利 要 求 书CN 102946626 A 5/7页 6 子节点的链路上的数据传输率; 接收数据的能耗: 用表示接收的数据包大小,则 发送反馈的能耗: (4)E i4 :发送数据的能耗 根据节点周期运行方法,有: E i4 E SYN +E inter_SYN +E rec_ACK +E send +E ec_FB 其中,E S。
16、YN 为发送同步请求包的能耗,E inter_SYN 为同步请求间隔能耗,E rec_ACK 为接收确认 包的能耗,E send 为发送数据的能耗,E rec_FB 为接收反馈包的能耗;具体计算如下: 节点i的父节点为fn i ,i为fn i 的第c个子节点,节点i准备发送数据的时刻为t bs_i , 父节点准备接收其数据的时刻为则有: 发送同步请求包的能耗:E SYN P send (s i +1)t SYN 其中,表示发送同步请求包的时间,表示从簇头节点i到父节点的链路的 数据传输率,表示节点i请求同步过程中发送的未得到回复的同步包的 数量; 同步请求间隔能耗:E inter_SYN P 。
17、idle s i t inter_SYN ; 接收确认包的能耗:E ACK P rec t ACK ,其中 发送数据的能耗: 发送的数据包括两部分,簇内采集的数据和从子节点收集的数据;如果节点上一次数 据发送不成功,则需要优先发送上一次的数据,再发送本次采集的数据; 簇内采集的数据和从子节点收集的数据需要进过数据聚合后再发送,设经数据聚合 后,节点i需要向父节点发送的数据量为 则发送数据的能耗为: 接收反馈的能耗:E FB P rec t FB ,其中 (5)E i5 :睡眠能耗 每个节点在进行下一次睡眠调度方法时,当前的睡眠调度矩阵为T,下一次的睡眠调度 矩阵为T,完成睡眠调度方法进入睡眠状。
18、态之前,令T=T,T清空; 则节点i在下一个周期内睡眠时间为:t sleep t i1 -(t i1 +t i2 +t i3 +t i4 ); 节点i在下一个周期内的睡眠能耗为:E i5 P sleep t sleep ; (6)E i6 :数据处理能耗 数据处理能耗是指节点进行数据聚合过程中的能量损耗,每个节点在一个周期内进行 权 利 要 求 书CN 102946626 A 6/7页 7 一次数据聚合,故E i6 E agg ; 综上,得到网络在一个周期内的总能耗为: 可以得到优化模型为: minE total 0ag i 1(0iN) 约束条件中,表示父节点与其第一个子节点的唤醒时刻的时间。
19、差, 表示簇头节点与其第一个兄弟节点的唤醒时刻的时间差,1, 0ag i 1(0iN)表示簇头节点i的数据聚合率的范围,表示簇头节 点i的数据到达率要小于该节点向父节点发送数据的数据传输率,其中,M i 表示簇头节点i 所在簇的簇内节点数量,表示簇头节点i所在簇的簇内节点平均数据到达率,表示簇 头节点i到父节点的链路的数据传输率; 根据约束条件,求解E total 最小值,得到睡眠调度矩阵T,通过睡眠调度矩阵T确定每个 簇头节点的下次唤醒的时间、下次收簇内数据的时间、下次收子节点数据的时间、下次发送 数据的时间; (3)获取每一个簇头节点首次的睡眠调度方法; 通过步骤(2)中得到的基于能耗的跨。
20、层优化模型,确定了步骤(1)中簇头节点的周期 运行方法中的时间,得到了每一个节点的首次的睡眠调度方法,每一个簇头节点首次的睡 权 利 要 求 书CN 102946626 A 7/7页 8 眠调度方法由SINK节点完成,并且依次告知无线传感器网络中其他簇头节点; 步骤4、无线传感器网络根据节点睡眠调度方法,每一个节点根据该节点的睡眠调度方 法开始运行,向父节点上传数据; 步骤5、当每个节点在向父节点发送数据之后,进入睡眠状态之前,根据当前无线传感 器网络状态,获取基于能耗的跨层优化模型的输入,采用步骤3中(2)构建的基于能耗的跨 层优化模型,获取该节点下一次的节点睡眠调度方法,并将该方法告知该节。
21、点的父节点和 兄弟节点; 步骤6、无线传感器网络判断簇头节点的能量是否耗尽,如果是,转入步骤7,否则,返 回步骤4; 步骤7、如果骨干网络中有簇头节点能量耗尽,采用路由查找算法,判断当前剩余的骨 干网络节点是否能够重新构建数据聚合树,若能够重新构建数据聚合树,则返回步骤2,否 则骨干网络能量耗尽,无线传感器网络终止运行。 权 利 要 求 书CN 102946626 A 1/9页 9 一种多对一分簇无线传感器网络环境下节点睡眠调度方法 技术领域 0001 本发明涉及一种多对一分簇无线传感器网络环境下节点睡眠调度方法,属于无线 传感器网络技术领域。 背景技术 0002 无线传感器网络是一种无基础设。
22、施的无线网络,能够实时监测、感知和采集网络 分布区域内的各种环境或监测对象的信息,并对这些数据进行处理,最后将信息通过自组 织网络传送给用户。 0003 传感器网络节点数量庞大,而且往往分布在环境恶劣的地区,不方便随时充电或 更换电池,但是网络又要求具有较长的寿命,因此,如何合理利用传感器节点能量,设计低 能耗的网络协议,延长传感器网络寿命,是无线传感器网络研究的一个重要问题。 0004 无线传感器节点的无线传输可以分为空闲侦听、接收数据、发送数据和睡眠四种 状态。一般情况下空闲侦听和传输时消耗的功率差别不大,是睡眠状态的10 3 10 4 倍。由于 网络环境所产生数据的时间并不固定,很多节点。
23、会长期处于空闲侦听的状态,消耗了大量 的能量。 0005 现有的睡眠调度算法中,核心思想都是减少节点处于空闲侦听状态的时间,让节 点尽可能多的处于睡眠状态,但有两方面缺陷:(1)部分睡眠调度算法中,只是单纯的将 完成数据发送与接收工作的节点从空闲侦听状态切换到睡眠状态,虽然这样可以最大程度 的保证节点睡眠时间,但是,频繁的状态切换,也会消耗很多能量,总能耗不一定降低,而 且,频繁的切换状态,使节点相关工作器件频繁关闭、启动,也会一定程度上降低节点寿命; (2)有的睡眠调度算法中,也考虑到上述问题,采取了根据数据传输情况,减小状态切换次 数的方式,降低状态转换部分的能耗,但这样的规划,不能最大程。
24、度的减少空闲侦听,根据 规划,有些节点处于空闲侦听时将不会切换到睡眠状态。 发明内容 0006 本发明的目的是为了解决上述问题,提出一种多对一分簇无线传感器网络环境 下节点睡眠调度方法,本发明在保证网络数据传输的前提下,将处于空闲侦听状态的节点 休眠,节省大量的能量消耗,通过构建基于能耗的跨层优化模型,得到簇头节点睡眠调度方 法,降低网络能耗,保证骨干网络中各个节点能耗的均匀分布,延长网络寿命。 0007 一种多对一分簇无线传感器网络环境下节点睡眠调度方法,包括以下几个步骤: 0008 步骤1:进行网络初始化; 0009 步骤2、根据路由查找算法,获取无线传感器网络的数据聚合树,得到路由矩阵R。
25、; 0010 步骤3、确定簇头节点的周期运行方法,构建基于能耗的跨层优化模型,获取每一 个簇头节点的睡眠调度方法; 0011 步骤4、无线传感器网络根据节点睡眠调度方法,每一个节点根据该节点的睡眠调 度方法开始运行,向父节点上传数据; 说 明 书CN 102946626 A 2/9页 10 0012 步骤5、当每个节点在向父节点发送数据之后,进入睡眠状态之前,根据当前无线 传感器网络状态,获取基于能耗的跨层优化模型的输入,采用步骤3中(2)构建的基于能耗 的跨层优化模型,获取该节点下一次的节点睡眠调度方法,并将该方法告知该节点的父节 点和兄弟节点; 0013 步骤6、无线传感器网络判断簇头节点。
26、的能量是否耗尽,如果是,转入步骤7,否 则,返回步骤4; 0014 步骤7、如果骨干网络中有簇头节点能量耗尽,采用路由查找算法,判断当前剩余 的骨干网络节点是否能够重新构建数据聚合树,若能够重新构建数据聚合树,则返回步骤 2,否则骨干网络能量耗尽,无线传感器网络终止运行。 0015 本发明的优点在于: 0016 (1)本发明设计了节能的簇头节点的周期运行方法,将节点睡眠调度算法融入到 骨干网络的TDMA(Time Division Multiple Access,时分多址)规划中。根据所设计的方 法,可以保证在一个周期内,每个节点只唤醒一次,唤醒后完成收集簇内数据、收集子节点 数据、发送数据等。
27、工作,更新规划后进入睡眠状态。这样,一方面可以最大程度的减少节点 状态转换的次数;另一方面,规划中根据网络路由情况,对父节点和子节点及兄弟节点的唤 醒时间进行了适应性调整,可以尽可能多的将节点的空闲侦听状态转换为睡眠状态,避免 了空闲侦听的能量损耗。 0017 (2)本发明中,骨干网络的路由结构是算法的输入条件,因此,算法可以针对不同 的路由结构计算出最适合的方案。同时,发明中的规划在网络运行过程中是实时更新的,因 此算法可以适用于静态路由和动态路由。 0018 (3)本发明中设计了基于能耗的跨层优化模型,模型中综合考虑了物理层、MAC层、 网络层的各项因子,可以更好的根据网络实际情况计算出能。
28、耗最优的规划方案,避免了单 方面考虑某些因子带来的弊端。 附图说明 0019 图1为本发明中的骨干网络簇头节点运行周期图; 0020 图2为本发明的总体流程图; 具体实施方式 0021 下面将结合附图和实施例对本发明作进一步的详细说明。 0022 本发明是一种多对一分簇无线传感器网络环境下节点睡眠调度方法,设计节能的 节点运行周期图,根据节点运行周期图及物理层、MAC层、网络层参量构建基于能耗的跨层 优化模型,保证每个骨干网络节点在一个周期内只唤醒一次,减少节点处于空闲侦听的时 间,降低网络能耗,通过调节各个节点的数据聚合率,保证能耗均匀分布于骨干网络的各个 节点上,延长网络寿命,方法流程如图。
29、2所示,主要包括以下几个步骤: 0023 步骤1:进行网络初始化; 0024 对无线传感器网络环境进行初始化,完成网络中节点的部署、分簇,部署后,得到 节点分布信息,分簇后,每个簇内有一个簇头节点,所有簇头节点构成骨干网络。 0025 设定数据聚合树中SINK(汇聚节点)节点的编号为1,骨干网络节点的编号在节点 说 明 书CN 102946626 A 10 3/9页 11 部署时随机分配。 0026 步骤2、根据路由查找算法,获取无线传感器网络的数据聚合树,得到路由矩阵R; 0027 选取现有的一种路由查找算法(例如:OSPF,Open Shortest Path First开放式最 短路径优。
30、先),将骨干网络节点分布信息作为输入,得到适应于无线传感器网络的数据聚合 树,树的顶点为SINK节点。根据数据聚合树得到路由矩阵R。 0028 根据路由矩阵R,获取父节点矩阵FN、子节点矩阵CN、层矩阵L、兄弟矩阵BN,用于 后续能耗计算中父节点、子节点、层数、兄弟节点的查找。具体为: 0029 路由矩阵R为: 0030 其中 0031 其中:N表示N个骨干网络中簇头节点的数量,r ij 表示簇头节点i到簇头节点j的 链路通断情况。 0032 路由矩阵R具有下述特点:对角线为0,对称位置为相反数,r i .表示簇头节点i与 其他簇头节点的连通关系,由于是树形结构,所以每个簇头节点只有一个父节点。
31、,有多个子 节点,则r i .中只有一个为+1,其余为0或-1,-1的数量为子节点的数量。 0033 父节点矩阵FN: 0034 簇头节点i的父节点编号用fn i 表示,则父节点矩阵为:FNfn 1 fn 2 fn N 。 0035 若簇头节点j是簇头节点i的父节点,路由矩阵中r ij 1,则fn i j,若簇头节 点i没有父节点则fn i 为0。 0036 子节点矩阵CN: 0037 簇头节点i的子节点编号用表示,中各个子节点的编号按递增顺序排列,则 子节点矩阵为没有子节点的位置和其他空余位置均补0。 0038 根据路由矩阵R,若簇头节点j是簇头节点i的子节点,有r ij -1,则 0039。
32、 层矩阵L: 0040 簇头节点i在数据汇聚树中的层数用L i 表示,即LL 1 L 2 L N 。 0041 其中,设定sink节点编号为1,位于第一层,即L 1 1。 0042 根据子节点矩阵,可以获得每个簇头节点的子节点,若一个簇头节点的层数为l, 则其子节点的层数为l+1,以此类推,可以计算出所有节点的层数。 0043 兄弟节点矩阵BN: 0044 簇头节点i的兄弟节点编号用表示,中各个兄弟节点的编号按递增顺序排 列,即没有兄弟节点的位置和其他空余位置均补0。 0045 根据父节点矩阵和子节点矩阵,每个簇头节点可以获得与该节点有着相同父节点 的所有子节点编号,即为该节点的兄弟节点编号。。
33、 0046 步骤3、确定簇头节点的周期运行方法,构建基于能耗的跨层优化模型,获取每一 个簇头节点的睡眠调度方法。 说 明 书CN 102946626 A 11 4/9页 12 0047 (1)确定簇头节点的周期运行方法; 0048 簇头节点运行周期如图1所示,每个簇头节点的运行方法为: 0049 1、簇头节点处于睡眠状态,当簇头节点需要收发数据时,将簇头节点由睡眠状态 切换至工作状态; 0050 簇头节点的状态转换(SC)时间为:父节点比第一个子节点晚唤醒T,保证父节 点可以开始收子节点数据的时候,该子节点已经准备好发送数据;兄弟节点之间,后面的子 节点要依次比前一个子节点晚唤醒t,保证在前一。
34、个子节点完成发送数据后,该子节点恰 好准备好向父节点发送数据。 0051 2、簇头节点收集簇内数据; 0052 簇头节点收集簇内节点在一个周期内的感知数据。簇内节点是提前部署好的、只 用于感知数据并将数据上传给簇头节点,不具备路由与网关的功能。簇内节点在对应簇头 节点开始工作后,将一个周期内感知的数据上传给簇头节点,由簇头节点经由骨干网络的 数据聚合树将数据汇聚到SINK节点。 0053 3、如果簇头节点有子节点,则簇头节点收集子节点数据; 0054 骨干网络中簇头节点收集数据聚合树中其子节点的数据,子节点也是骨干网络中 的簇头节点,这时骨干网络簇头节点的作用是转发其他簇头节点的数据。 005。
35、5 4、簇头节点向父节点发送数据; 0056 骨干网络簇头节点收集数据完毕之后,经过数据聚合,将自己存储的数据上传给 父节点,由父节点担任数据转发的职责。子节点向父节点发送数据之前,要和父节点进行同 步,周期性的向父节点发送同步请求包(SYN),得到父节点确认包(ACK)后,再开始数据发 送。数据发送完毕后,子节点需要等待父节点发送的反馈包(FB),来判断数据是否发送成 功,若本次数据发送失败,存储数据,等待簇头节点下一次唤醒(由睡眠状态切换至工作状 态)时优先重新发送本次数据。 0057 5、簇头节点进入睡眠; 0058 骨干网络簇头节点完成数据的收集与发送工作后,避免不必要的空闲侦听带来的。
36、 能耗损耗,将节点切换为睡眠状态,降低节点能耗。 0059 (2)构建基于能耗的跨层优化模型; 0060 1、获取参数: 0061 丢包率矩阵P为: 0062 当r ij 0时,p ij 0 0063 其中:p ij 表示簇头节点i到簇头节点j的链路上的丢包率。 0064 数据传输率矩阵F为: 0065 当r ij 0时,f ij 0 说 明 书CN 102946626 A 12 5/9页 13 0066 其中:f ij 表示簇头节点i到簇头节点j的链路上的数据传输率。 0067 能耗矩阵E为: 0068 0069 其中:i表示簇头节点编号,j表示节点的能量属性编号,E i1 表示簇头节点i的。
37、状 态转换能耗;E i2 表示簇头节点i的收簇内数据的能耗;E i3 表示簇头节点i的收子节点数据 的能耗;E i4 表示簇头节点i的发送数据的能耗;E i5 表示簇头节点i的睡眠能耗;E i6 表示簇 头节点i的数据处理能耗。 0070 第i个节点的能耗为所有节点的总能耗为 0071 睡眠调度矩阵T: 0072 0073 其中:i表示簇头节点编号,j表示节点的时间属性编号,t i1 表示簇头节点i的下 次唤醒的时间;t i2 表示簇头节点i的下次收簇内数据的时间;t i3 表示簇头节点i的下次收 子节点数据的时间;t i4 表示簇头节点i的下次发送数据的时间。 0074 数据聚合率矩阵AG:。
38、 0075 由于网络为数据聚合树结构,容易发现,越靠近SINK节点的骨干网络节点,需要 转发的数据量越大,能量消耗也就越大,有可能导致靠近SINK节点的骨干节点能耗过早耗 尽,进而整个网络瘫痪的情况。因此,需要在网络中加入数据聚合的策略,根据节点需要传 输的数据量不同,设定不同的数据聚合率,一定程度上降低靠近SINK节点的骨干节点需要 传输的数据量,尽可能使骨干网络中各个节点的能耗均匀。 0076 簇头节点i的数据聚合率为ag i ,即AGa g1 ag 2 ag N 。 0077 基本功耗: 0078 状态转换一次能耗为E change ,进行一次数据聚合的能耗为E agg ,发送数据功耗为。
39、 P send ,接收数据功耗为P rec ,空闲侦听功耗为P idle ,睡眠功耗为P sleep 。 0079 反馈矩阵FB: 0080 簇头节点i上一次发送数据的反馈情况用fb i 表示,当需要重新发送数据时,fb i 记录为需要重新发送的数据量。初始化时fb i 均为0。 0081 FBfb 1 fb 2 fb 3 fb N ,其中 0082 由于节点i向父节点发送数据的丢包率为故fb i S send,i 的概率为S send, i 表示需要重新发送的数据量。当节点i的数据发送成功时,节点i将收到反馈信息ACK,则 fb i 0;当节点i的数据发送失败时,节点i将收到反馈信息NAK或。
40、者收不到反馈信息,则 说 明 书CN 102946626 A 13 6/9页 14 fb i S send,i ,其中,S send,i 表示节点i本次发送的数据量。 0083 设定其他参数: 0084 t brc_i 表示簇头节点i可以开始接收子节点数据的时刻; 0085 t bs_i t i1 +t i2 +t i3 表示簇头节点i可以开始向父节点发送数据的时刻。 0086 S SYN 表示SYN包的大小; 0087 S ACK 表示ACK包的大小; 0088 S FB 表示FB包的大小; 0089 2、推导过程 0090 各部分能耗的计算: 0091 对于簇头节点i,有E i E i1 。
41、+E i2 +E i3 +E i4 +E i5 +E i6 ,表示节点i在一个周期内的能耗, 具体计算如下。 0092 (1)E i1 :状态转换能耗 0093 若按照之前的规划,节点i在一个周期内唤醒一次,故E i1 E change 。 0094 (2)E i2 :收簇内数据的能耗 0095 骨干节点i就表示网络中第i个簇,设簇内有K i 个节点,每个节点的数据到达率 为 ik (bit/s),簇内网络运行周期为T i_ch ,簇内划分为G i 个组,则每组工作时间为T i_ch /G i , 也就是簇头节点i的工作周期T i T i_ch /G i 。 0096 则节点i在一个工作周期内。
42、需要在簇内采集的数据量为若簇内数 据上传时的数据传输率为 i (bit/s),则节点i收簇内数据的时间为 0097 故: 0098 (3)E i3 :收子节点数据的能耗 0099 设节点i共有M i 个子节点,根据节点运行周期图,可以写出节点i接收第m个子 节点的能耗为:E i3,m E wait_SYN,m +E rec_SYN,m +E ACK,m +E receive,m +E FB,m 。 0100 其中,E wait_SYN,m 为等待同步的能耗,E rec_SYN,m 为接收同步包的能耗,E ACK,m 为发送ACK 的能耗,E receive,m 为接收数据的能耗,E FB 为发。
43、送反馈的能耗。具体计算如下: 0101 等待同步的能耗:E wait_SYN,m P idle t wait_SYN,m 0102 其中,为等待同步的时 间。 0103 其中,表示节点i的第m个子节点准备好向父节点发送数 据的时刻,分别表示节点i的第m个子节点的第1、2、3个时间属性,t SYN 表 示节点发送/接收同步请求包(SYN)的时间,t inter_SYN 表示两次发送SYN的时间间隔; 0104 表示节点i准备好接 收第m个子节点数据的时刻,其中,t ACK 表示节点发送/接收确认包(ACK)的时间,t rec,m-1 表 示节点i第m-1个子节点接收数据的时间,t FB 表示节点。
44、发送/接收反馈包(FB)的时间; 说 明 书CN 102946626 A 14 7/9页 15 0105 表示节点i的第m个子节点进行同步时发送的未收到回复包 的同步包的数量。 0106 接收同步包的能耗:其中,表示簇头节点i的第m个子节 点到簇头节点i的链路上的数据传输率。 0107 发送ACK的能耗:其中,表示簇头节点i到簇头节点i的第m个 子节点的链路上的数据传输率。 0108 接收数据的能耗: 0109 用表示接收的数据包大小,则 0110 发送反馈的能耗: 0111 (4)E i4 :发送数据的能耗 0112 根据节点运行周期图,可以写出: 0113 E i4 E SYN +E in。
45、ter_SYN +E rec_ACK +E send +E rec_FB 0114 其中,E SYN 为发送同步请求包(SYN)的能耗,E inter_SYN 为同步请求间隔能耗,E rec_ACK 为接收确认包(ACK)的能耗,E send 为发送数据的能耗,E rec_FB 为接收反馈包(FB)的能耗。具 体计算如下: 0115 节点i的父节点为fn i ,i为fn i 的第c个子节点,节点i准备发送数据的时刻为 t bs_i ,父节点准备接收其数据的时刻为则有: 0116 发送同步请求包的能耗:E SYN P send (s i +1)t SYN 0117 其中,表示发送同步请求包(SY。
46、N)的时间,表示从簇头节点i到父节 点的链路的数据传输率,表示节点i请求同步过程中发送的未得到回复 的同步包的数量。 0118 同步请求间隔能耗:E inter_SYN P idle s i t inter_SYN 。 0119 接收ACK的能耗:E ACK P rec t ACK ,其中 0120 发送数据的能耗: 0121 这里发送的数据包括两部分,簇内采集的数据和从子节点收集的数据。如果节点 上一次数据发送不成功,则需要优先发送上一次的数据,再发送本次采集的数据。 0122 簇内采集的数据和从子节点收集的数据需要进过数据聚合后再发送,设经数据聚 合后,节点i需要向父节点发送的数据量为 说。
47、 明 书CN 102946626 A 15 8/9页 16 0123 则发送数据的能耗为 0124 接收反馈的能耗:E FB P rec tF B,其中 0125 (5)E i5 :睡眠能耗 0126 每个节点在进行下一睡眠调度方法时,暂不删除当前睡眠调度矩阵T,因为T要作 为下一次规划的依据。当前的矩阵为T,下一次的矩阵为T,完成规划进入睡眠状态之前, 令T=T,T清空。 0127 则节点i在下一个周期内睡眠时间为t sleep t i1 -(t i1 +t i2 +t i3 +t i4 )。 0128 节点i在下一个周期内的睡眠能耗为E i5 P sleep t sleep 。 0129 。
48、(6)E i6 :数据处理能耗 0130 数据处理能耗是指节点进行数据聚合过程中的能量损耗,每个节点在一个周期内 进行一次数据聚合,故E i6 E agg 。 0131 综上,可以计算出网络在一个周期内的总能耗为: 0132 0133 0134 0135 0136 0137 0138 0139 0140 可以得到优化模型为: 0141 minE total 0142 0143 0144 0ag i 1(0iN) 0145 0146 约束条件中,表示父节点与其第一个子节点的唤醒时刻的时间差, 说 明 书CN 102946626 A 16 9/9页 17 表示簇头节点与其第一个兄弟节点的唤醒时刻的时间差,1,0ag i 1(0iN)表示簇头节点i的数据聚合率的范围,表示簇头节点i的数据 到达率要小于该节点向父节点发送数据的数据传输率,其中,M i 表示簇头节点i所在簇的簇 内节点数量,表示簇头节点i所在簇的簇内节点平均数据到达率,表示簇头节点i到父 节点的链路的数据传输率。 0147 根据约束条件,求解E tot。