发明内容
本发明的目的在于提出一种无线传感器网络管理的方法、装置以及系统,能够提高传感器网络网络管理的信息交换效率和成功率,全面提高网络管理质量的问题。
为达此目的,本发明采用以下技术方案:
本发明公开了一种无线传感器网络管理的方法,包括:
S1.抓取无线传感器所有节点的邻居信息及其ETX信息并保存,形成静态的传感器节点信息;
S2.导入所有静态的传感器节点信息,生成一个无向图G(V,E),其中V表示传感器节点,E表示两个传感器之间的连接;
S3.从所有的静态的传感器节点信息选择多个诊断中心;
S4.分别从多个诊断中心寻找层次独立路径,发送探测包,通过所述的探测包的测试的回执来表明路径或目的地节点相关的信息。
在本发明所述的无线传感器网络管理的方法中,所述的层次独立路径是通过在所述的无向图中划分为多个层次图,在每一层,在广度上的深度是固定的,然后计算每一个层次图的独立路径,并且产生封锁节点列表,因为每个节点只能被访问一次,直到已经不存在到诊断中心的路径时,算法结束,从而寻找到的。
在本发明所述的无线传感器网络管理的方法中,所述的传感器的节点在部署后的物理位置是静态的。
本发明公开了一种无线传感器网络管理的装置,包括:
信息抓取单元,用于抓取无线传感器所有节点的邻居信息及其ETX(Expected Transmission Count,期待传送值)信息并保存,形成静态的传感器节点信息;
无向图生成单元,用于导入所有静态的传感器节点信息,生成一个无向图G(V,E),其中V表示传感器节点,E表示两个传感器之间的连接;
多个诊断中心选择单元,用于从所有的静态的传感器节点信息选择多个诊断中心;
独立路径寻找单元.用于分别从多个诊断中心寻找层次独立路径,发送探测包,通过所述的探测包的测试的回执来表明路径或目的地节点相关的信息。
在本发明所述的无线传感器网络管理的装置中,所述的独立路径寻找单元包括层次图分成子单元,用于在所述的无向图中划分为多个层次图,在每一层,在广度上的深度是固定的,然后计算每一个层次图的独立路径,并且产生封锁节点列表,因为每个节点只能被访问一次,直到已经不存在到诊断中心的路径时,寻找独立路径算法结束。
在本发明所述的无线传感器网络管理的装置中,所述的传感器的节点在部署后的物理位置是静态的。
本发明公开了一种无线传感器网络管理的系统,包括多个传感器,信息接收终端,其中,多个传感器将测试的信息传送到信息接收终端,所述的无线传感器网络管理的系统还包括连接于所述的传感器与信息接收终端间的如上述的无线传感器网络管理的装置.
在本发明所述的无线传感器网络管理的系统中,所述的信息接收终端包括智能手机、电脑。
在本发明所述的无线传感器网络管理的系统中,所述的多无线传感器网络管理的装置通过wifi或3G或gprs与所述的信息接收终端相通讯。
区别于现有技术的无线传感器网络管理只有一个管理中心的技术,本技术方案中提供了基于大规模传感器网络的多中心的网络管理方案,多个管理中心通过协作使得可管理节点的数目尽可能的多,提高了传感器网络网络管理的信息交换效率和成功率,全面提高了网络管理质量。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
请参阅图1,本发明的较佳实施例,一种无线传感器网络管理的方法,包括:
S1.抓取无线传感器所有节点的邻居信息及其ETX信息并保存,形成静态的传感器节点信息;
S2.导入所有静态的传感器节点信息,生成一个无向图G(V,E),其中V表示传感器节点,E表示两个传感器之间的连接;
S3.从所有的静态的传感器节点信息选择多个诊断中心;
S4.分别从多个诊断中心寻找层次独立路径,发送探测包,通过所述的探测包的测试的回执来表明路径或目的地节点相关的信息。
其中,所述的层次独立路径是通过在所述的无向图中划分为多个层次图,在每一层,在广度上的深度是固定的,然后计算每一个层次图的独立路径,并且产生封锁节点列表,因为每个节点只能被访问一次,直到已经不存在到诊断中心的路径时,算法结束,从而寻找到的。
所述的传感器的节点在部署后的物理位置是静态的。
下文进行详细说明:
实际上,网络管理的性能是大大依赖于管理中心与节点之间的交互质量的。而单管理中心的方案经常无法满足交互质量的要求。因此,我们提出了评价及提高管理中心与节点之间交互质量的方法。使用基于探测的诊断技术作为一个示例,提出了基于大规模传感器网络的多中心的网络管理方案。首先,从实际部署系统抽象出不确定网络模型,然后提出可能管理节点的概念,最后在不同的限制条件下,提供了最优和启发式算法来计算得出多管理中心的分布方案。其中,多个管理中心通过协作使得可管理节点的数目尽可能的多。
为解决以上挑战,首先,定义可达性(reachability)来衡量管理中心与节点之间的交互通信的质量,其中同时包含了链路质量以及尽可能多的路径数目。如果一个节点的可达性超过了阈值,那么称其为可管理节点(manageablenode)。紧接着,引入了诊断质量的概念,诊断质量是所有可管理节点的数目与所有节点数目的比例。这个参数是作为一个衡量管理系统的健壮性的指标,同时也可以作为一个间接反映管理系统的开销的一个指标。其次,从实际部署系统中抽象出不确定网络模型及两个实际问题,最后,同时提出了最优和启发式的算法来计算得出管理中心的分布。
问题形式化
根据实际系统的需求,首先给出一些问题的假设,然后描述了几个核心概念的定义。最后两个实际的问题被提出。
1.1问题假设
诊断中心的分布实际上与许多因素相关,例如路由类型,系统内部发生错误的种类等等。因此做出以下假设:
(1)网络动态性。假设传感器网络是用于进行感知数据采取与获取的,其中传感器节点在部署后的物理位置是静态的。每个节点周期性给将自己的感知数据通过多跳传输至基站节点。为简化问题,假设节点之间的连接是对称的。当诊断探测包从基站发送其他节点时采用源地址路由(source routing)。对网络平时运行的路由协议则没有限制。
(2)错误类型。诊断中心的数量和位置都依赖于需要检测与定位的错误类型。网络相关的最典型错误是节点失效和连接失效。并且覆盖所有节点失效和所有连接失效所需要诊断中心的数目是不一样的。在本文中,集中处理节点失效。
(3)诊断质量。与现有许多方法使用最多同时发生k个错误相比,定义诊断质量为可管理节点的数目与所有节点的数目的比例,以此来反映诊断中心的有效性。详细定义见下一小节。
(4)网络拓扑。不假设任何拓扑限制。通过定义可达性来衡量交互通信的质量而不是独立路径的数目。因为独立路径数目的限制是无法运行在一些特殊拓扑的情况下,例如链式拓扑或是稀疏树状拓扑。
(5)诊断中心初始化。与静态诊断中心初始化相比,虽然动态诊断中心初始化可以带来更大的灵活性。但是动态初始化在重新部署诊断中心会造成过大的消耗。因此,假设诊断中心的初始化为静态。
1.2不确定网络模型
首先给出几个概念的定义,然后给出研究的目标。
假设无线传感器网络是一个无向图G(V,E),其中V表示传感器节点,E表示两个传感器之间的连接,|V|、|E|分别表示节点数目和连接数目,连接e(x,y)表示节点x与节点y之间的连接,每条连接都有相应的ETX值。由此可以看出,仅需要所有节点的邻居信息及其ETX信息就可以构造整个图。
假设一条路径从源节点s到目的节点t,中间节点为{V1,V1,…,Vn},那么它可以表示为P(s,t)或P(s,V1,V1,…,Vn,t),其中两个连续的点构成一个连接。并且假设路径中不存在环路,也就是说不会存在一个点两次出现在路径中,路径的长度就是连接的个数。如果两条路径中除了源节点和目的节点以外,不存在其他任何相同的节点,那么两条路径称为顶点不相交路径或独立路径。
一个探测包是一个测试,其路径是从诊断中心发出,目的地为某个节点。通过测试的回执来表明路径或目的地节点相关的信息。
给定诊断中心及诊断节点。可以定义以下几个概念。
(1)定义1:一个连接的ETR(Expect Transmission Ratio)是两个顶点x与y之间ETX的倒数
ETR[Link(x,y)]=1/ETX[Link(x,y)] (1)
(2)定义2:一条路径P(v1,v1,….,vn)的ETR(Expect Transmission Ratio)
(3)定义3:假设一个诊断节点到所有诊断中心的层次式独立路径集合为S={p1,p2,...PN},其路径数目为N,那么可以得出该诊断节点的可达性(reachability)
(4)定义4:如果给定可达性阈值为RH,那么可达性超过该阈值的节点称为可管理节点。
(5)定义5:一组诊断中心的诊断质量定义为可管理节点数目与所有诊断节点数目之比。
有了以上定义,那么假设给定
一个无向图G(V,E);
可达性阈值RH;
诊断中心需从V中选取,非诊断中心节点为诊断节点。
这样一来,可以将实际应用中的需求形式化成以下两个问题:
(1)问题1:给定诊断中心的数目M,使得诊断质量最大化的诊断中心位置方案。
(2)问题2:给定诊断质量阈值DQH,寻找满足此阈值的诊断中心最小数目及其位置方案。
多诊断中心算法
根据上一小节给定的假设及问题,首先提出一个算法来解决这两个问题共同的子问题,然后基于该算法,提出两个算法分别解决问题1及问题2,但是由于这两个问题的最优解复杂度过高,因此,又提出一个统一的启发式近似算法来同时解决问题1及问题2,不过启发式算法并不能保证找到最优解。
2.1IBS算法
根据分析,可以看出问题1和问题2包含了同一个子问题结构,因此先给出算法解决该子问题,该子问题定义如下。
(1)给定诊断中心数目及其位置,寻找给定节点x到诊断中心的层次式独立路径。
为解决该子问题,提出增量式广度优先搜索算法(IncrementalBreadth-first Search)IBS。在IBS中,将原图库划分为各个层次图,在每一层,在广度上的深度是固定的。然后计算每一个层次图的独立路径,并且产生封锁节点列表,因为每个节点只能被访问一次。直到已经不存在到诊断中心的路径时,也就是所有节点的Dist值都为无穷大时,算法结束。
如表1所示,VLabel数组表示封锁节点信息,如果该值等以-1表示被封锁,如果该值等于0,表示可以访问。IBS算法的两个重要子过程为Construct孔不入Layer Graph子过程以及Find Path子过程。Construct Layer Graph子过程如表2所示,用于生成层次图。需要遵守的是每个节点只能被访问一次来保证路径之间的独立性。Dist数组用来表示每个节点到源节点x的深度距离。每个层次图之间最大的区别在于深度不同,也就是从节点x到诊断中心的最短跳数。如表3所示,在Find Path子过程中,再次使用广度优先算法进行搜索来寻找独立路径。如果一条独立路径被找到,那么路径上的所有节点都需要加入封锁节点列表。
表1 IBS算法
表2 ConstructLayerGraph子过程
紧接着分析一下IBS算法的时间复杂度。在构建层次图子过程中,广度优先搜索至多被执行|E|次,而总共有M个诊断中心,因此构建层次图的子过程时间复杂度为O(ME)。类似地,可以得到寻找路径子过程的时间复杂度也为O(ME)。接下来需要明确的就是需要进行多少轮的构建层次图和寻找路径过程。在这里,假设需要进行X轮的循环运算,有两个值得注意的点是:第一,层次图的深度是非递减的;第二,在第k轮至少封锁k个节点,因为路径的长度不可能低于k。因此经过X轮运算,至少[1+2+…+X]个节点被封锁。同时最多被封锁节点数目为|V|-2,因为至少需要一个源节点和一个诊断中心。这样一来可以得到一个不等式
从这个不等式容易推出X不可能超过V1/2,因此IBS的算法的时间复杂度为O(MEV1/2)。
表3 FindPath子过程
2.2MDQ算法
基于上一小节的IBS算法,给出最大诊断质量算法(Maximum DiagnosisQuality)MDQ来解决问题1。
如算法4所示,使用了一种简单的搜索算法。通过枚举所有可能性的组合,将每个组合的诊断质量进行计算,最后选取最大诊断质量的那个组合。通过前面的讨论,知道计算一个诊断节点的可达性的时间复杂度为O(MEV1/2),而有总共候选方案,因此,MDQ算法的时间复杂度为即
表4MDQ算法
2.3MCP算法
为解决问题2,提出最小中心数目位置算法(Minimum Center Placement)MCP来寻找符合诊断质量阈值的最小数目诊断中心的位置方案。
如算法5所示,由于目标为最小数目的诊断中心,因此从单个诊断中心开始,逐步增加诊断中心的数目来枚举所有可能。值得注意的是,这里设置了Mc作为一个附加的程序终止条件,这是因为如果诊断质量阈值设置过高,可能会发生诊断中心的数目大于诊断节点数目这样的情形,而这在实际中是不允许的。从算法5中可以看到,整个组合搜索的空间为在O(VMc)以内,而一次可达性计算的时间复杂度为O(McEV1/2),因此MCP的算法复杂度为
表5MCP算法
2.4ICS算法
尽管前面已经为问题1和问题2提出了相应的算法,但它们的时间复杂度都较高,这是由于集合搜索空间过大造成的,因此这里提出一个增量式中心选择算法(Incremental Center Selection)ICS。这是一个启发式的算法,可以同时解决问题1与问题2。该方法的特点是增量式寻找“最优”的诊断中心位置,而不是进行集合空间搜索。
如算法6所示,初始阶段诊断中心集合为空,然后选取一个“最优”的诊断中心位置,这个位置的选取标准是具有最多连接到非可管理节点的合格边的数目。一条边是否合格的依据在于它是否超过连接质量阈值ETXlink。在这里,同时强调合格边以及最大数目,这是因为希望从直观以上不仅希望存在更多到非可管理节点的路径存在,也同时希望能够抛弃那些“坏”的边,因为它们对于增加节点的可达性的帮助很少。另外一个值得注意的是,希望每增加一个诊断中心,都会使得可管理节点的数目增加,因为不是计算所有的边是否合格,而是那些一段为非可管理节点的边。很明显,该算法对于诊断质量来说,每一轮都是在逐步提高的。可以看出,“最优”节点的选取最多进行M轮,因此算法6的时间复杂度为O(M2EV1/2)。尽管ICS算法并不能保证知道最优的位置组合来达到最大化诊断质量或是最小化诊断中心数目,在系统实验中,它的性能是可以接受的。
表6ICS算法
请参阅图2、一种无线传感器网络管理的装置1,其特征在于,包括:
信息抓取单元10,用于抓取无线传感器所有节点的邻居信息及其ETX信息并保存,形成静态的传感器节点信息;
无向图生成单元20,用于导入所有静态的传感器节点信息,生成一个无向图G(V,E),其中V表示传感器节点,E表示两个传感器之间的连接;
多个诊断中心选择单元30,用于从所有的静态的传感器节点信息选择多个诊断中心;
独立路径寻找单元40,用于分别从多个诊断中心寻找层次独立路径,发送探测包,通过所述的探测包的测试的回执来表明路径或目的地节点相关的信息。
进一步地,独立路径寻找单元40包括层次图分成子单元,用于在所述的无向图中划分为多个层次图,在每一层,在广度上的深度是固定的,然后计算每一个层次图的独立路径,并且产生封锁节点列表,因为每个节点只能被访问一次,直到已经不存在到诊断中心的路径时,寻找独立路径算法结束,所述的传感器的节点在部署后的物理位置是静态的。
请参阅图3、一种无线传感器网络管理的系统300,包括多个无线传感器400,信息接收终端500,其中,多个传感器400将测试的信息传送到信息接收终端500,无线传感器网络管理的系统还包括连接于传感器400与信息接收终端间500的上述的无线传感器网络管理的装置1。
进一步地,信息接收终端500包括智能手机、电脑,所述的多无线传感器网络管理的装置通过wifi或3G或gprs与信息接收终端500相通讯.
本技术方案的实质在于,首先,从实际部署系统抽象出不确定网络模型,然后提出可能管理节点的概念,最后在不同的限制条件下,提供了最优和启发式算法来计算得出多管理中心的分布方案。其中,多个管理中心通过协作使得可管理节点的数目尽可能的多。
为解决以上挑战,首先,定义可达性(reachability)来衡量管理中心与节点之间的交互通信的质量,其中同时包含了链路质量以及尽可能多的路径数目。如果一个节点的可达性超过了阈值,那么称其为可管理节点(manageablenode)。紧接着,引入了诊断质量的概念,诊断质量是所有可管理节点的数目与所有节点数目的比例。这个参数是作为一个衡量管理系统的健壮性的指标,同时也可以作为一个间接反映管理系统的开销的一个指标。其次,从实际部署系统中抽象出不确定网络模型及两个实际问题,最后,同时提出了最优和启发式的算法来计算得出管理中心的分布。
从一个目前正在运行的城市环境监控系统(CitySee)中取得一些实际数据进行了我们还进行了数据仿真实验,从中选取了两个片段数据,片段1包含了494个节点,共有1021个连接,时间跨度1天;片段2包含了494个节点,共有2468个连接,时间跨度3天。
我们比较单个诊断中心与的ICS算法方案,这是系统的逻辑拓扑图,其中诊断中心标记为黄色,可管理节点标记为红色,不可管理节点标记为蓝色,诊断路径标记为粉红色,其余路径标记为天蓝色,设置可达性阈值为0.9。在图3中,单个诊断中心的方法在片段1中达到了34%的诊断质量,ICS的9个诊断中心的方案达到80%的诊断质量在片段2中,而片段2是一个比片段1来说更为大的网络,因为连接数较多。
图4a和图4b为算法1的示例,在第一轮中,1个深度为3的层次图被构建好。然后基与此层次图进行搜索,寻找到{0,2,5,8}和{0,3,6,9}两条路径。与此同时,{2,3,5,6}加入封锁节点。第一轮过后,继续构造出深度为4的层次图,此时路径{0,1,4,7,8}被找到,同时{1,4,7}被加入封锁列表。在第三轮中,所有节点到x的距离都为无穷大,因此算法结束。
经实践证实,从一个目前正在运行的城市环境监控系统(CitySee)中取得一些实际数据进行了我们还进行了数据仿真实验,从中选取了两个片段数据,片段1包含了494个节点,共有1021个连接,时间跨度1天;片段2包含了494个节点,共有2468个连接,时间跨度3天。
我们比较单个诊断中心与的本技术方案,设置可达性阈值为0.9。片段1只有单个诊断中心,单个诊断中心的方法在片段1中达到了34%的诊断质量,片段2中,9个诊断中心的方案达到80%的诊断质量,而片段2是一个比片段1来说更为大的网络,因为连接数较多。
本发明的一种无线传感器网络管理的装置以及系统,有益效果在于:
区别于现有技术的无线传感器网络管理只有一个管理中心的技术,本技术方案中提供了基于大规模传感器网络的多中心的网络管理方案,多个管理中心通过协作使得可管理节点的数目尽可能的多,提高了传感器网络网络管理的信息交换效率和成功率,全面提高了网络管理质量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。