CN105357775B - 一种无线传感器网络中多属性查询方法 - Google Patents
一种无线传感器网络中多属性查询方法 Download PDFInfo
- Publication number
- CN105357775B CN105357775B CN201510628919.XA CN201510628919A CN105357775B CN 105357775 B CN105357775 B CN 105357775B CN 201510628919 A CN201510628919 A CN 201510628919A CN 105357775 B CN105357775 B CN 105357775B
- Authority
- CN
- China
- Prior art keywords
- node
- sensor
- grid
- attribute
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种无线传感器网络中多属性查询方法,包括以下步骤(1)根据用户需求设定查询区域和查询属性;(2)基于索引树初始化查询节点为根节点;(3)根据倒排文件判断该节点是否包含所需查询的传感器,如果不包含则在该节点的查询结束,如果最开始查询的根节点就不包含所需查询属性的传感器,则直接退出查询,返回结果为空;如果包含所需查询的传感器,再判断该节点是否为叶节点,如果是,则将查询到的传感器数据写入查询结果集,如果不为叶节点,则继续查询该节点的左右孩子节点,以左右孩子节点作为查询节点,继续查询操作;(4)返回查询结果集,即得到所需查询区域内的所需查询属性的传感器数据。本发明能量消耗小且查询效率高。
Description
技术领域
本发明涉及一种无线传感器网络中多属性查询方法,在传感器分布不均匀的无线传感器网络(WSN)中,能够低能耗地进行单属性或多属性传感器数据的查询,属于物联网下的无线传感器网络技术领域。
背景技术
WSN应用在现实生活中,根据特定用户的特定需求,可能在某一指定领域里包含有不同种类属性的传感器节点,这些传感器节点联合起来实现该用户的需求。此时,该WSN也就是一个多属性传感器构成的无线传感器网络(HWSN,Heterogeneous Wireless SensorNetworks)。在该HWSN中,用户根据应用需求,可能只是对部分区域中特定属性的传感器感兴趣。所以,如何高效低能耗的进行多属性传感器数据的选择性收集是一个难题。而目前对于多属性查询,尤其是当部分属性被感兴趣,只是选择性的考虑一种或多种属性的传感器数据收集,并未被考虑到。
发明内容
针对现有技术存在的不足,本发明目的是提供一种能量消耗小、查询效率高的无线传感器网络中多属性查询方法。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的一种无线传感器网络中多属性查询方法,包括以下几个步骤:
(1)根据用户需求设定查询区域和查询属性;
(2)基于构造的索引树,初始化查询节点为根节点;
(3)根据倒排文件判断该节点是否包含所需查询的传感器,如果不包含则在该节点的查询结束,如果最开始查询的根节点就不包含所需查询属性的传感器,则直接退出查询,返回结果为空;如果包含所需查询的传感器,再判断该节点是否为叶节点,如果是,则将查询到的传感器数据写入查询结果集,如果不为叶节点,则继续查询该节点的左右孩子节点,以左右孩子节点作为查询节点,继续查询操作;
(4)返回所述查询结果集,即得到所需查询区域内的所需查询属性的传感器数据。
步骤(2)中,所述索引树的构造方法如下:
(2-1)定义传感器节点类和网格单元类:所述传感器节点类包括节点横纵坐标和属性,所述属性即为该传感器节点所感知的信息属性(如测量温度的传感器,其属性即为温度);所述网格单元类包括该网格内的传感器节点集合和倒排文件;
(2-2)网格化传感器网络区域:将整个传感器分布的区域划分为等大小的网格,所述网格都是正方形,并且网格的边长都是r是传感器节点与传感器节点间可交流信息的半径长度;
(2-3)采用一个二维矩阵来表示网格矩阵;
(2-4)构造索引树的树节点类;
(2-5)选择树节点的头结点:为每一个树节点选择头结点来进行数据的聚合和查询的传递,选择最接近聚簇几何中心位置的传感器节点最大的优先权成为头结点;
(2-6)树节点合并:依次计算相邻节点间的权值,不断进行合并,形成索引树根节点;
(2-7)构造索引树:将合并节点和头结点的选择过程一直循环到形成索引树的根节点,从而得到该索引树。
步骤(2-3)中,采用一个二维矩阵来表示网格矩阵的方法如下:
设pi代表不同的传感器节点,网格数组中的每个网格都包含有不同数量的一种或者多种属性传感器节点,遍历每个网格中所包含的传感器节点,建立每个网格关于传感器属性的倒排文件;用不同的形状来代表不同属性的传感器节点,总共有a1,a2,a3三种属性的传感器节点,分别对应着矩形、圆形和三角形节点;
对应于不同网格划分的网格倒排文件表,其中第一列代表网格ID,是由网格矩阵的行row及列col,和网格矩阵的列数cols来计算的,即ID=row×cols+col,第二列是网格在网格矩阵中的坐标,第三列则是对应于每个网格的倒排文件,它由一系列的条目组成,每个条目都包括属性,标记a,属性a的频率,属性为a的传感器节点序列。
步骤(2-4)中,所述索引树的树节点类构造方法如下:
每个树节点包括其自身的Id、父节点、子节点、倒排文件、头结点,初始叶节点父节点和子节点为空,自身Id即为其网格的Id,倒排文件即构成它的网格的倒排文件;由具有倒排文件和网格编号ID的网格集合构造该索引树的初始叶节点,此时树节点的数目即叶子节点的数目,即整个领域中划分网格的数量。
步骤(2-6)中,节点相邻,即该两个节点中存在相邻的网格,网格相邻即两个网格处于地理位置上的相邻,拥有相同的一个网格边;然后选取相邻节点间具有最大的权值的两个节点,合并合成新的节点,并将该两个节点设为新节点的孩子节点,新节点设为该两节点的父亲节点,新节点的倒排文件也是由该两节点的倒排文件进行合并而得。
本发明基于能量消耗最小化的原则,构造索引树,从而本发明的查询方法能量消耗小;另外,结合倒排文件进行某一区域的单属性或者多属性的传感器查询,来达到多属性传感器的高效查询。
附图说明
图1城市传感器偏斜分布示例图;
图2是偏斜分布示意图(1000个节点,偏斜度为40%);
图3是偏斜分布下的网格划分;
图4是基于图3的空间索引树;
图5是查询流程图;
图6是10,000个传感器节点构成的索引树结构图;
图7是整个领域查找单属性传感器能量消耗对比图;
图8是查询多属性传感器能量消耗对比图;
图9是两个子区域查询耗能对比图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
1、本发明提出传感器节点偏斜分布的索引机制,使HWSN更接近于现实中传感器的分布。并且由于传感器分布的不均匀,在构造索引树的过程中,使得对于能量交换代价高的区域具有较短的查询路径。由于使用的是同一种能量消耗模型,不同区域中能量的消耗主要取决于传感器节点的数量,和分布的距离,这样就使得分布较密集的区域传感器交换信息消耗能量更大,其在索引树中查询的路径更短,达到一种查询耗能最小化的结果。
2、提出传感器节点感知信息的属性,这样就构造了一种更接近于现实的多属性混合的HWSN。该传感器网络也就相当于多个传统的单属性传感器网络叠合而成,关于这些单属性的传感器网络中传感器节点的独立查询,就可通过对该多属性混合的传感器网络的一次性操作完成,使得索引的过程中总的能量消耗更少,具有更高的效率和一定的现实意义。
3、引用倒排文件对多属性的传感器节点进行管理,使得在索引树中对查询节点可以及时的判断是否含有所需查询的属性的传感器,并及早排除不含有所需属性传感器的节点。该方法是将传感器节点的感知信息存储为一种属性,从而构建倒排文件。通过该倒排索引,可以根据属性值快速获取包含该属性的记录,获得传感器节点的信息。
4、提出了一种基于网格进行能量有效分层聚类空间索引机制的构建技术,该索引方法将处于偏斜分布的传感器节点首先进行网格划分,通过计算网格之间的权重,采用聚类的方法组合网格单元,自底向上地构建空间索引树,对于新形成的子区域,需要计算子区域之间的权重,直至最终聚类形成索引树的根节点。在树的构建过程中,权重的计算是基于传感器节点之间传递相同大小数据包所消耗的能量,所消耗的能量越小,权重越大。通过实验模拟该分层聚类空间索引树,理论分析该树为一棵不平衡的能量消耗最小化的二叉树。
基本思想:
将整个网络覆盖区域划分为等大小的网格,并作为构建索引树的叶节点。其次,选取合适能量消耗模型,基于能量消耗最小化的原则,通过循环合并具有最大权值的相邻节点来形成新的节点,直到形成索引树的根节点。每一个节点实际代表一个(子)区域,相邻节点的权值与该两个节点所在区域中的传感器相互传递等大小数据包所消耗的能量成反比,致使传递等大小信息包耗能越大的离根节点越近,查询所走路径越短,从而节省总的查询耗能。其次,为达到对基于单属性或者多属性传感器的高效查询,对索引树的每个节点添加基于属性的倒排文件,以尽早排除不包含查询要求的节点,节省查询耗能。最后,基于该索引树进行查询区域和查询属性不同的四种类型查询,并进行模拟仿真实验。
技术方案:
HWSN偏斜分布机制:
在真实情况下,因不同环境对具有不同属性的传感器需要不同,如在一个校园里,化学生物实验室的一些仪器设备或者实验动物等,对于外界环境具有较高的要求,那么该领域内的温度、湿度、压力等监测传感器也将分布得更密集,而对于宿舍楼教学楼而言,这些地方关于火灾等的传感器分布可能就较密集。所以,HWSN中具有不同属性的传感器应该是不均匀的分布。并且总体而言,所有的传感器节点也应该是处于不均匀分布。
从一个大的领域来说,空间传感器节点处于偏斜分布状态。例如在一个城市里,包含有城市中心和其周围郊区的区域中,城市中心的车辆比较密集,而郊区由于人口稀疏,相应的车辆也处于稀少状态,为了有效的预测交通状况,需要在车辆上安装传感器节点,在城市中心的区域便会有大量密集传感器节点分布,郊区分布有较少的传感器节点,包含城市中心和郊区的区域整体上处于偏斜分布状态。如图1所示,即为城市整体的传感器分布示意图。
偏斜分布度SD(Skewness Drgree)由空间对象(本发明中为传感器节点)分布密集区域(Dense Region)中的总数DN和分布稀疏区域(Sparse Region)中的总数SN计算,其计算公式为:
其中N为整个区域中传感器节点的总数。
在该发明中,首先将整个区域划分为4个等大小的子区域,以其中处于一个对角线的两个子区域为分布密集区域,另一个对角线的两个子区域为稀疏区域。给定偏斜度SD和整个领域分布传感器节点总数N,则首先将N×(1-SD)个传感器节点平均分布在整个领域,再将剩余的N×SD个传感器节点随机分布在处于一个对角线的密集区域。这样即可使传感器节点处于一种偏斜分布,且分布偏斜度为SD。例如,在100m长和100m宽的区域里,总共分布有N=1000个传感器节点,如果令传感器分布偏斜度为SD=40%,则首先将N×(1-SD)=1000×(1-40%)=600个传感器节点平均分布在整个领域,再讲剩下的N×SD=1000×40%=400个传感器节点分布在密集区域,形成偏斜度为40%的偏斜分布。图2即为分布所示图。
不同传感器对不同的环境信息有不同的感知能力,例如光敏传感器只对光源信息敏感,将传感器收集不同种类信息的能力作为它们的属性,例如,感知温度的传感器,其属性就是温度。此时,传感器节点具有地理位置和感知属性两个方面的信息。目前大多数研究都使用由同一种属性的传感器组成的传感器网络,例如监测湿度、温度的传感器网络,这些网络在各方面也均具有良好的表现。然而对于某些复杂的事件,需要多种不同属性的传感器同时进行监测,来达到信息比较完整的反映。所以,构造一种多属性的传感器网路更具有实用性和现实意义。将多个单属性的传感器网络并合成一个多属性的传感器网络,,即构成HWSN(Heterogeneous Wireless Sensor Networks,多属性无线传感网络),也将得到的更高的查询效率和更低的能量消耗。
倒排文件:
倒排文件,是目前文件检索最有效的数据结构,简单来讲就是“以文档的关键字作为索引,文档作为索引目标”一种数据结构。倒排索引主要由两个部分组成:单词词典和倒排表。每个倒排表都与单词词典中某一个条目相对应,并且由一系列记录组成,每个记录中都包含描述中出现该单词条目的对象的标识符,以及该单词条目出现在该对象的描述中的频率。该发明主要运用基于属性的倒排文件。假设一个文件里存放着许多条记录,每一条记录又可以分为一条条的记录,假如是查找在某个或某些属性上满足一定条件的记录集合,称这一类的检索为基于属性的检索。以该发明的实验环境为例,如下表2所示:
表2传感器节点信息表
ID | X坐标 | Y坐标 | 感知属性 | 剩余能量(%) | 所在网格编号 |
0 | 1.0 | 1.0 | 温度 | 40 | 0 |
1 | 3.0 | 3.0 | 风力 | 60 | 0 |
2 | 5.0 | 1.0 | 温度 | 45 | 1 |
3 | 4.8 | 1.9 | 风力 | 70 | 1 |
4 | 5.1 | 3.2 | 风力 | 55 | 1 |
5 | 7.0 | 3.8 | 风力 | 20 | 1 |
6 | 3.3 | 3.2 | 温度 | 60 | 0 |
7 | 1.6 | 2.1 | 温度 | 50 | 0 |
8 | 2.8 | 1.7 | 温度 | 55 | 0 |
…… | …… | …… | …… | …… | …… |
假如进行这样的一些查询:找出属性为风力的所有传感器节点(简单查询),找出网格编号为0和1的所有传感器节点(范围查询),查找感知属性为温度,剩余能量在50%以上的传感器节点(逻辑查询)等等,如果不用倒排表,则查询是顺序的从头至尾的一条条记录进行遍历检查记录,判断是否符合查询条件。当文件很大时,即记录条数很多时,采用这种顺序查找将耗费相当大的时间,效率也将急剧下降。如果采用倒排文件,将大大提高查询效率,就上面的情况,建立的倒排表应该是如下表3、表4、表5所示:
表3感知属性倒排表
感知属性 | 倒排文件 |
温度 | (0,4,{0,6,7,8})(1,1,{2})…… |
风力 | (0,1,{1})(1,3,{3,4,5})…… |
…… | …… |
表4所在网格编号倒排表
所在网格编号 | 倒排文件 |
0 | (温度,4,{0,6,7,8})(风力,1,{1})…… |
1 | (温度,1,{2})(风力,3,{3,4,5})…… |
…… | …… |
表5剩余能量倒排表
剩余能量(%) | 倒排文件 |
[20,30) | (1,1,{5})…… |
[30,40) | …… |
[40,50) | (0,1,{0})(1,1,{2})…… |
[50,60) | (0,2,{7,8})(1,1,{4})…… |
[60,70) | (0,2,{1,6})…… |
[70,80) | (1,1,{3})…… |
…… | …… |
例如对于表3,其倒排文件是由一系列与感知属性相对应的(网格编号,频率,传感器序列)这样的记录组成的,代表该属性出现在某网格中几次,分别是哪些传感器。例如对于第一行(温度,(0,4,{0,6,7,8})),可得感知属性为温度的传感器,在网格0中出现4次,并且分别为0,6,7,8。同理,表4和5也是这样的一些倒排表,不过针对的对象不同。
建立这样的一些倒排表之后,对之前的查询就要简单的多。例如查找属性为风力的所有传感器节点(简单查询),对比表3,即感知属性倒排表可得结果为ID为1、3、4、5……这样的一些传感器节点;查找网格编号为0和1的所有传感器节点(范围查询),则是将所在网格编号倒排表中网格标号为0和网格编号为1的传感器节点进行相并运算,可得结果是ID为0、1、6、7、8、1、3、4、5……这样的一些传感器节点;查找感知属性为温度,剩余能量在50%以上的传感器节点(逻辑查询),则是先找出感知属性倒排表中属性为温度的传感器节点,然后再将剩余能量倒排表中剩余能量在[50,60)、[60,70)、[70,80)……这样的一些节点进行相并运算,得到剩余能量在50%以上的传感器节点,最后将这两个传感器节点集合进行相交运算,即可得属性为温度,剩余能量在50%以上的传感器节点。
由上可知,倒排文件可以将复杂的查询变为几个简单的查询的交并运算的结果,也避免了因依次读取文件记录所带来的巨大运算代价和时间消耗,由此可使得查询效率大大提高。
构造空间索引树:
为了使受能量限制的传感器节点可以在HWSN中进行高效地收集和传递数据,并达到查询能量消耗的最小化,HWSN寿命的最大化,在该发明中构建了一种基于网格分层聚类空间索引结构。
将整个HWSN领域分成等大小的一系列网格,这样每个网格中都坐落有不等数量的传感器节点。依次选取相邻两个网格,计算该相邻网格间传递信息能量消耗值,该能量消耗值就是由之前所介绍的能量消耗模型来计算,将传递数据能量消耗值最小的两个子区域进行合并形成新的子区域,如此循环,直至整个领域形成一个区域,也就是形成了本发明的网格分层聚类空间索引树的根节点。
利用该基于分层网格聚类的空间索引结构,可以进行HWSN整个区域或者某个区域中,关于某一单属性或者多个属性的传感器节点的查询。考虑到传感器节点有两个属性:地理位置和感知信息属性,采用在该基于分层聚类的空间索引树中的每个节点加入倒排文件,来实现查询某个属性或多个属性时,及早排除不是要查询属性的传感器节点。
具体实施方式:
根据上面所述的基本发明设计思想,可以得到具体的实施步骤如下所示:
1)定义传感器节点和网格单元类。
构造传感器节点类,包括节点横纵坐标和属性;构造网格单元类,包括该网格内的传感器节点集合和倒排文件。首先,在空间中随机偏斜分布着具有不同属性的传感器,如图3,为方便介绍索引树构造过程,仅以10个传感器节点做例,整个区域的传感器节点分布有两个相对密集的区域(左下和右上),两个相对稀疏的区域(左上和右下)。
2)网格化传感器网络区域。
将整个区域划分为等大小的网格。这些网格都是正方形,并且网格的边长都是√2r,r是传感器节点与传感器节点间可交流信息的半径长度。对于不同数目、不同密度、不同基站数量的WSN,最优聚簇大小均为一跳距离大小,在此选择√2r作为网格大小,这样可使每个网格中处于中心位置的头结点传感器与其他传感器节点均可通过一跳传递信息,并且相邻网格中的传感器节点也可一跳传递信息。
3)用一个二维矩阵来表示网格矩阵。
如图3所示,其中pi(i=1,2……)代表不同的传感器节点。其中网格数组中的每个网格都包含有不同数量的一种或者多种属性传感器节点,遍历每个网格中所包含的的传感器节点,建立每个网格关于传感器属性的倒排文件。例如图3中用不同的形状来代表不同属性的传感器节点,总共有三种属性(a1,a2,a3)的传感器节点,分别对应着图3中的矩形、圆形和三角形节点。下表6即为对应于不同网格的倒排文件,其中第一列代表网格ID,是由i)网格矩阵的行row和列col,和ii)网格矩阵的列数cols来计算的,即ID=row×cols+col,第二列是网格在网格矩阵中的坐标,第三列则是对应于每个网格的倒排文件,它由一系列的条目组成,每个条目都包括属性(标记a),属性a的频率,属性为a的传感器节点序列。例如对于表6中的第一行,对应的第一列的值(即0)就是网格的ID,(0,0)就是网格坐标,(a2,1,p1)就是倒排文件,说明该网格包含属性为a2的传感器,有且仅有一个,即为传感器p1。
4)构造索引树的树节点类。
每一个树节点包括其自身的Id、父节点、子节点、倒排文件、头结点,初始叶节点父节点和子节点为空,自身Id即为其网格的Id,倒排文件即构成它的网格的倒排文件。由具有倒排文件和网格编号ID的网格集合构造该索引树的初始叶节点,此时树节点的数目即叶子节点的数目,即整个领域中划分网格的数量。
5)选择树节点头结点。
实际上每个节点即代表一个区域,叶子节点即网格区域。在每一个节点中都应选择头结点来进行数据的聚合和查询的传递。依据头结点的选择方法(LEACH:low-energyadaptive clustering hierarchy),每个区域都作为一个聚簇,通过网络中最佳可能头结点随机来进行选择。同时,在该发明中,给予靠近聚簇中心位置的传感器节点更大的优先权成为头结点。
6)合并树节点。
依次计算相邻节点间的权值,不断进行合并,形成索引树根节点。节点相邻,即该两个节点中存在相邻的网格,网格相邻即两个网格处于地理位置上的相邻,拥有相同的一个网格边。然后选取相邻节点间具有最大的权值的两个节点,合并合成新的节点,新节点的倒排文件则是由该两节点的倒排文件进行合并而得。
7)构造索引树。
上面的合并节点和头结点的选择过程一直循环到形成索引树的根节点,如此,便一步一步的得到该索引树。图4即为基于图3所构造的索引树结构,其中Ri(i=1,2……)是由网格构成的(子)区域,网格均以其ID来表示。对应该索引树中的倒排文件如表7所示。
表6对应于图3的网格倒排文件
ID | Coordinates | Inverted List |
0 | (0,0) | (a2,1,p1) |
1 | (0,1) | (a3,3,p8p9p10) |
2 | (1,0) | (a1,1,p3),(a2,3,p2p4p5) |
3 | (1,1) | (a1,2,p6p7) |
表7基于图4索引树的倒排文件
IF | a1 | a2 | a3 |
IF-root | R3 | R2R3 | R2 |
IF-R2 | (1,p1) | (3,p8p9p10) | |
IF-R3 | (3,p3p6p7) | (3,p2p4p5) |
相邻树节点权值计算方法:
对于给定的一组树节点集合,首先选取两个不同的树节点,判断它们是否相邻,相邻即是节点中存在任意两个网格相邻。对于相邻的节点,计算其节点间进行传递信息的权值,这个权值是该两节点中相邻网格中可交流信息的传感器节点的信息传递总权值。
该两节点中相邻网格的权值计算过程为:对于两个网格,如果它们相邻,那么首先分别得到该网格中的传感器节点集合SNset1,SNset2。如果属于SNset1的传感器节点sn1和属于SNset2的传感器节点sn2之间的集合距离小于或等于r,则计算它们之间传递大小为k比特的数据包时所消耗的能量,并将该能量值加到该两个网格之间传递信息的能量消耗值中。能量计算公式即取自上面所述的能量消耗计算模型,dis函数即为两个传感器节点几何距离的计算。如果该两个网格的用于传递信息(包括发送和接受)的能量消耗越大,则这两个网格之间的权值就越小,网格关于能量的耦合度越小。计算初相邻节点所有相邻网格的权值后,进行累和作为该两个相邻节点的权值。每次都是选取具有最大权值的两个节点作为下一次索引树构造中的合并节点。
空间索引查询:
在该发明中,假定每一个传感器节点都有一个点位置,包括横坐标和纵坐标,和感知属性信息。所以每一个传感器都可以用一个三维向量来表示,包括ID,坐标和属性,而WSN则是这样的传感器的集合,即HWSN。下面给出该HWSN的定义。
HWSN定义:多属性无线传感器网络D是由一系列传感器组成,对于每一个传感器o∈D,o被定义为一个三维向量:(o.id,o.loc,o.attr),其中o.id代表传感器的唯一标示ID,o.loc是传感器的地理位置,o.attr则是传感器的属性。
在该发明中,基于某一给定区域,该区域可以是整个网络覆盖区域,也可以是某一子区域,在该区域中查询某一单属性或者多个属性的传感器。给定查询定义如下:
查询定义:假设给定一个查询输入q=<ψ,qr>,其中q.ψ代表所要查询的属性,它可为单属性也可为多属性,q.qr代表所要查询的区域,它由该区域的起点横纵坐标和宽高四个参数<minx,miny,width,height>设定,它可设为整个区域,或者某个区域。
基于上一章所构造的索引树,可以将上面的查询分为四种类型的查询,分别是:整个领域单属性查询(Single-Attribute Query in the Whole Region,SAQWR),整个领域多属性查询(Multi-Attribute Query in the Whole Region,MAQWR),子区域单属性查询(Single-Attribute Query in the Sub-Region,SAQSR),子区域多属性查询(Multi-Attribute Query in the Sub-Region,MAQSR)。
整个区域单属性查询(SAQWR):给定一个SAQWR查询q=<ψ,qr>,其中q.ψ代表所要查询的单属性,q.qr代表整个网络覆盖区域。查询q的结果q(D)是D的子集,对于任意传感器o∈q(D),满足o.attr=ψ,并且换句话说,SAQWR查询返回整个领域中属性为q.ψ的传感器。
子区域单属性查询(SAQSR):给定一个SAQSR查询q=<ψ,qr>,其中q.ψ代表所要查询的单属性,q.qr代表整个网络覆盖区域中的某个子区域。查询q的结果q(D)是D的子集,对于任意传感器o∈q(D),满足o.attr=ψ,并且换句话说,SAQSR查询返回某个子区域中属性为q.ψ的传感器。SAQSR与SAQWR的区别仅在于查询区域的不同。
整个区域多属性查询(MAQWR):给定一个MAQWR查询q=<ψ,qr>,其中q.ψ代表所要查询的多属性,q.qr代表整个网络覆盖区域。查询q的结果q(D)是D的子集,对于任意传感器o∈q(D),满足o.attr∈ψ,并且换句话说,MAQWR查询返回整个领域中属性为任意属于q.ψ的传感器。
子区域单属性查询(MAQSR):给定一个MAQSR查询q=<ψ,qr>,其中q.ψ代表所要查询的多属性,q.qr代表整个网络覆盖区域中的某个子区域。查询q的结果q(D)是D的子集,对于任意传感器o∈q(D),满足o.attr∈ψ,并且换句话说,MAQSR查询返回某个子区域中属性为任意属于q.ψ的传感器。MAQSR与MAQWR的区别仅在于查询区域的不同。
基于上一章所构造的索引树,对于整个区域或者子区域中单多属性的传感器节点的查询实际上也还是一种对于二叉树的遍历,该发明里采用的是前序遍历。结合倒排文件可以很快地得知某一节点及其孩子是否存在所需查询属性的传感器,并且可以尽可能早地排除掉不存在所需查询属性的节点,避免不必要的查询来节省能量的消耗。下面将详细介绍该查询方法。首先以查询流程图5来进行说明。该查询机制主要分为以下几步:
(1)用户根据需求设定查询区域和查询属性。
(2)基于构造的索引树,设定查询根节点。该节点初始化为根据查询区域得到的查询节点,并将从该节点开始进行查询。
(3)根据倒排文件判断该节点是否包含所需查询的传感器。如果不包含则在该节点的查询结束,如果最开始查询的根节点就不包含所需查询属性的传感器,则直接退出查询,返回结果为空;否则,再判断该节点是否为叶节点,如果是则将查询到的传感器数据写入结果,如果不为叶节点,则继续查询该节点的左右孩子,以左右孩子作为查询节点,继续(3)的查询操作。
(4)返回查询结果集,即得到所需查询区域内的所需查询属性的传感器数据。
单属性查询是指在某个区域中进行单个属性的传感器节点的查询,它可以在整个区域也可以在某个子区域,由查询区域参数决定。
该算法首先设定查询区域和查询属性,以递归方式,不断地对该开始查询节点的左右孩子进行查询,通过比较节点的倒排文件和查询属性,直到查询到不包含该属性的节点,或者到达叶子节点停止查询。并将得到的包含该属性的叶子节点加入结果集,查询到传感器的属性为所要查询的属性,即将该传感器节点加入到最后的传感器结果集合当中。最后即可得到在查询区域中包含属性为a的传感器节点的网格集合,以及在查询区域中属性为a的传感器节点集合。根据其查询区域的不同,又可将该单属性查询分为整个区域单属性传感器查询(SAQWR)和子区域单属性传感器查询(SAQSR)。
多属性查询是指在某个区域中进行多个属性传感器节点的查询,它可以在整个区域也可以在某个子区域,由查询区域参数决定。
该算法与进行单属性的传感器节点查询类似,也是首先设定查询区域、查询属性,然后不断地对该开始查询节点的左右孩子进行查询,通过比较节点的倒排文件和查询属性集合,直到查询到不包含该属性集合中任一属性的节点,或者到达叶子节点停止查询。并将得到的包含该属性集合中的任一属性的叶子节点加入结果集,查询到的传感器的属性属于所要查询的属性集合,即将该传感器节点加入到最后的传感器结果集合当中。最后即可得到在查询区域中包含任一存在于属性集合中的传感器节点的网格集合,以及在查询区域中属性为aset中任一属性的传感器节点集合。根据其查询区域的不同,又可将该多属性查询分为整个区域多属性传感器查询(MAQWR)和子区域多属性传感器查询(MAQSR)。
实验模拟分析:
本发明中的索引树是通过循环合并传递相同大小信息包耗能最小的相邻节点对,相邻节点间的传递信息包耗能大小是通过上面所详述的能量消耗模型来计算的。将整个区域划分为一系列的等大小网格集群,也就是将这些网格看作树的叶节点,基于能量消耗最小化的原则,进行合并相邻节点,形成更大的区域节点,直到形成该索引树的根节点。构成索引树的HWSN是由10,000个传感器构成,以偏斜度60%来分布在350m×200m的区域内,关于其他的一些参数可参见实验参数变量说明。图中Ri(i=1,2……)代表由一系列网格构成的节点,网格则是由他们的ID来代表。
由图6可以看出该索引树是一个不平衡的二叉树,这是因为每次都是合并传递相同大小信息包耗能最小的相邻节点对,这也致使具有更大传递信息耗能的节点更靠近索引树的根节点,以此实现在该索引树中传递信息包时具有最小的总的耗能大小。所以从理论上分析,该索引树可实现响应查询需求和传递查询结果所需消耗能量的最小化。
本发明中所有伪代码都是用java语言编写,为保证实验结果的可比较性,均在同一台机器上运行。机器为32位Windows7旗舰版系统,配置的处理器为Intel(R)Core(TM)i5-2400CPU@3.10GHz,内存为4.00GB。
用于实验的HWSN由1000、2000、4000、6000、8000以及10000个传感器节点分别进行构造,这些传感器节点分布在350m×200m的区域中,偏斜度为20%至80%。根据HWSN查询属性的需求,查询属性的类别不可涉于过多,所以设置在HWSN中随机分布有10种感知属性。每个传感器随机设置有0-9中的一个数值来表示不同的属性。
同样假设两个节点间距离至多为r=50m时才可以进行信息的交流与传递,即设置r=50m,也就是每个网格的大小大致为70.7m。传感器节点分布的偏斜度在20%到80%之间。在能量消耗模型中,选择Eelec=50,εamp=0.1,n=2,设传感器节点与节点之间传递的数据包大小均为单位比特。并且该实验中的能量的单位都是nJ(n焦耳),1nJ=10E-9J(焦耳)。其参数列表如下:
表8实验设置参数表
参数名 | 参数值 |
分布区域 | 350m×200m |
节点数目 | 1,000至10,000 |
偏斜度 | 20%至80% |
属性数量 | 10 |
传感器交流半径 | 50m |
信息包比特数 | 1 |
传播衰减指数 | 2 |
发射装置和接收电路每发送或接收单位比特信息的耗能 | 50nJ/bit |
发射放大器将每比特信息传送单位平方米所耗的能量 | 0.1nJ/(bit×m2) |
为分析构造的基于网格分层聚类空间索引树的查询效率,进行了三种实验比较。图7为具有不同传感器个数的传感器网络在不同偏斜度下,进行整个领域查找关于某一个属性的传感器节点的能量消耗情况。由图7可看出,传感器网络中分布有相同数量的传感器节点时,其查找某一单属性的传感器节点的能量消耗随偏斜度的增大而增多。在生活实际中,如前文所介绍,更多的是这种传感器分布不均的情形,所以该查询更适用于真实WSN的情况。
图8为在由1000个传感器节点构成的HWSN,在不同的偏斜度下,分别查询1、3、5、7和9个不同属性的传感器节点时所消耗的能量情况。HWSN在以更大的偏斜度分布时,其查询相同属性个数的传感器节点消耗的能量更少,进一步辅助说明该索引树更适用于分布不均的情况,或者说是接近于真实的传感器网络。并且由图还可以看出,在查询属性个数增多时,传感器网络在相同传感器节点个数和分布偏斜度下,其能量消耗并未随之大幅增多,由此可见,该结合多种感知属性的传感器节点所构成的传感器网络,比只由一种属性所构成的传感器网络更加的节省能量。该结合多种感知属性的传感器所构成的传感器网络,可看做是多个只由一种属性所构成的传感器网络合并而成,在这些只由一种属性所构成的传感器网络中分别进行的单属性查询,可由该结合多种感知属性的传感器所构成的传感器网络一次性完成,其耗费的能量也将大大减少。
图9是基于整个领域中左下角传感器节点分布稀疏领域和右下角分布相对较密集区域的查询。整个区域偏斜分布为60%,在查询1、3、5、7以及9种属性的传感器节点时,两个子区域的能量消耗情况如图所示。查询区域以四个参数定义,例如对于稀疏区域(0,0,140,100)表示以(0,0)为起点,即区域的左下角,长宽分别为140m和100m的区域。图中所比较区域均为140m×100m,传感器节点分布稠密的区域比稀疏的区域查询节点消耗能量更少,这是由于稠密区域网格与网格之间的权值更小,查询时依据基于分层网格聚类的空间索引树所走的深度更小,所费能量更少,从而达到索引树的高效性。并且还可以从图中看出,在两个子区域中查询时所消耗的能量,并不随查询属性的个数更加而大幅增多,这也佐证了上面所说的,该结合多种感知属性的传感器节点所构成的传感器网络,比只由一种属性所构成的传感器网络更加的节省能量。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (1)
1.一种无线传感器网络中多属性查询方法,其特征在于,包括以下几个步骤:
(1)根据用户需求设定查询区域和查询属性;
(2)基于构造的索引树,初始化查询节点为根节点;
(3)根据倒排文件判断该节点是否包含所需查询的传感器,如果不包含则在该节点的查询结束,如果最开始查询的根节点就不包含所需查询属性的传感器,则直接退出查询,返回结果为空;如果包含所需查询的传感器,再判断该节点是否为叶节点,如果是,则将查询到的传感器数据写入查询结果集,如果不为叶节点,则继续查询该节点的左右孩子节点,以左右孩子节点作为查询节点,继续查询操作;
(4)返回所述查询结果集,即得到所需查询区域内的所需查询属性的传感器数据;
步骤(2)中,所述索引树的构造方法如下:
(2-1)定义传感器节点类和网格单元类:所述传感器节点类包括节点横纵坐标和属性,所述属性即为该传感器节点所感知的信息属性;所述网格单元类包括该网格内的传感器节点集合和倒排文件;
(2-2)网格化传感器网络区域:将整个传感器分布的区域划分为等大小的网格,所述网格都是正方形,并且网格的边长都是r是传感器节点与传感器节点间可交流信息的半径长度;
(2-3)采用一个二维矩阵来表示网格矩阵;
(2-4)构造索引树的树节点类;
(2-5)选择树节点的头结点:为每一个树节点选择头结点来进行数据的聚合和查询的传递,选择最接近聚簇几何中心位置的传感器节点最大的优先权成为头结点;
(2-6)树节点合并:依次计算相邻节点间的权值,不断进行合并,形成索引树根节点;
(2-7)构造索引树:将合并节点和头结点的选择过程一直循环到形成索引树的根节点,从而得到该索引树;
步骤(2-3)中,采用一个二维矩阵来表示网格矩阵的方法如下:
设pi代表不同的传感器节点,网格数组中的每个网格都包含有不同数量的一种或者多种属性传感器节点,遍历每个网格中所包含的传感器节点,建立每个网格关于传感器属性的倒排文件;用不同的形状来代表不同属性的传感器节点,总共有a1,a2,a3三种属性的传感器节点,分别对应着矩形、圆形和三角形节点;
对应于不同网格划分的网格倒排文件表,其中第一列代表网格ID,是由网格矩阵的行row及列col,和网格矩阵的列数cols来计算的,即ID=row×cols+col,第二列是网格在网格矩阵中的坐标,第三列则是对应于每个网格的倒排文件,它由一系列的条目组成,每个条目都包括属性,标记a,属性a的频率,属性为a的传感器节点序列;
步骤(2-4)中,所述索引树的树节点类构造方法如下:
每个树节点包括其自身的Id、父节点、子节点、倒排文件、头结点,初始叶节点父节点和子节点为空,自身Id即为其网格的Id,倒排文件即构成它的网格的倒排文件;由具有倒排文件和网格编号ID的网格集合构造该索引树的初始叶节点,此时树节点的数目即叶子节点的数目,即整个领域中划分网格的数量;
步骤(2-6)中,节点相邻,即两个节点中存在相邻的网格,网格相邻即两个网格处于地理位置上的相邻,拥有相同的一个网格边;然后选取相邻节点间具有最大的权值的两个节点,合并合成新的节点,并将该两个节点设为新节点的孩子节点,新节点设为该两节点的父亲节点,新节点的倒排文件也是由该两节点的倒排文件进行合并而得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510628919.XA CN105357775B (zh) | 2015-09-25 | 2015-09-25 | 一种无线传感器网络中多属性查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510628919.XA CN105357775B (zh) | 2015-09-25 | 2015-09-25 | 一种无线传感器网络中多属性查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105357775A CN105357775A (zh) | 2016-02-24 |
CN105357775B true CN105357775B (zh) | 2018-10-02 |
Family
ID=55333596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510628919.XA Expired - Fee Related CN105357775B (zh) | 2015-09-25 | 2015-09-25 | 一种无线传感器网络中多属性查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105357775B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101835237A (zh) * | 2010-05-14 | 2010-09-15 | 南京邮电大学 | 一种无线传感器网络中的数据融合方法 |
CN101895419A (zh) * | 2010-07-13 | 2010-11-24 | 北京航空航天大学 | 基于树形结构的具有可靠性保证的数据聚合方法 |
CN101902772A (zh) * | 2009-05-25 | 2010-12-01 | 北京时代凌宇科技有限公司 | 基于异构分簇无线传感网多源监测数据融合的方法及系统 |
WO2012115353A2 (ko) * | 2011-02-22 | 2012-08-30 | 서울대학교산학협력단 | 무선 센서 네트워크의 자가구성 시스템 및 이를 이용한 무선 센서 네트워크의 자가구성 방법 |
-
2015
- 2015-09-25 CN CN201510628919.XA patent/CN105357775B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902772A (zh) * | 2009-05-25 | 2010-12-01 | 北京时代凌宇科技有限公司 | 基于异构分簇无线传感网多源监测数据融合的方法及系统 |
CN101835237A (zh) * | 2010-05-14 | 2010-09-15 | 南京邮电大学 | 一种无线传感器网络中的数据融合方法 |
CN101895419A (zh) * | 2010-07-13 | 2010-11-24 | 北京航空航天大学 | 基于树形结构的具有可靠性保证的数据聚合方法 |
WO2012115353A2 (ko) * | 2011-02-22 | 2012-08-30 | 서울대학교산학협력단 | 무선 센서 네트워크의 자가구성 시스템 및 이를 이용한 무선 센서 네트워크의 자가구성 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN105357775A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Incentive mechanism for multiple cooperative tasks with compatible users in mobile crowd sensing via online communities | |
CN109272170B (zh) | 一种基于Louvain算法的交通小区划分系统 | |
Pham et al. | A general model for out-of-town region recommendation | |
Jiao et al. | A novel next new point-of-interest recommendation system based on simulated user travel decision-making process | |
CN106056455A (zh) | 一种基于位置和社交关系的群组与地点推荐方法 | |
CN106651247A (zh) | 基于gis拓扑分析的地址匹配区域块方法和系统 | |
CN108799844B (zh) | 一种基于模糊集的供水管网压力监测点选址方法 | |
Xu et al. | A framework for urban land use classification by integrating the spatial context of points of interest and graph convolutional neural network method | |
Liu et al. | An integrated approach of remote sensing, GIS and swarm intelligence for zoning protected ecological areas | |
EP2179385A2 (en) | Routing methods for multiple geographical entities | |
Mohajeri et al. | Evolution and entropy in the organization of urban street patterns | |
CN107742169A (zh) | 一种基于复杂网络的城市公交网络系统构建方法及性能评估方法 | |
Mnasri et al. | A hybrid ant-genetic algorithm to solve a real deployment problem: a case study with experimental validation | |
Tang et al. | An energy-aware spatial index tree for multi-region attribute query aggregation processing in wireless sensor networks | |
Nguyen et al. | Load balancing for mitigating hotspot problem in wireless sensor network based on enhanced diversity pollen | |
Chen et al. | Bisecting k-means based fingerprint indoor localization | |
Sheng et al. | Community detection based on human social behavior | |
Li et al. | Ant intelligence for solving optimal path‐covering problems with multi‐objectives | |
Zhang et al. | Topic discovery of clusters from documents with geographical location | |
Shoaib et al. | Data aggregation for Vehicular Ad-hoc Network using particle swarm optimization | |
CN105357775B (zh) | 一种无线传感器网络中多属性查询方法 | |
CN112800111A (zh) | 一种基于训练数据挖掘的位置预测方法 | |
Modiri et al. | Urban growth dynamics modeling through urban dna in tehran metropolitan region | |
Niyomubyeyi et al. | An improved non-dominated sorting biogeography-based optimization algorithm for multi-objective land-use allocation: a case study in Kigali-Rwanda | |
Wu et al. | Urban functional area recognition based on unbalanced clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181002 Termination date: 20190925 |
|
CF01 | Termination of patent right due to non-payment of annual fee |