一种无线传感器网络中多属性查询方法_3

文档序号:9601379阅读:来源:国知局
LEACH:
[0080]low-energyadaptiveclusteringhierarchy),每个区域都作为一个聚族,通过 网络中最佳可能头结点随机来进行选择。同时,在该发明中,给予靠近聚簇中心位置的传感 器节点更大的优先权成为头结点。
[0081] 6)合并树节点。
[0082] 依次计算相邻节点间的权值,不断进行合并,形成索引树根节点。节点相邻,即该 两个节点中存在相邻的网格,网格相邻即两个网格处于地理位置上的相邻,拥有相同的一 个网格边。然后选取相邻节点间具有最大的权值的两个节点,合并合成新的节点,新节点的 倒排文件则是由该两节点的倒排文件进行合并而得。
[0083] 7)构造索引树。
[0084] 上面的合并节点和头结点的选择过程一直循环到形成索引树的根节点,如此,便 一步一步的得到该索引树。图4即为基于图3所构造的索引树结构,其中Ri(i= 1,2……) 是由网格构成的(子)区域,网格均以其ID来表示。对应该索引树中的倒排文件如表7所 不。
[0085] 表6对应于图3的网格倒排文件
[0087] 表7基于图4索引树的倒排文件
[0088]
[0089] 相邻树节点权值计算方法:
[0090] 对于给定的一组树节点集合,首先选取两个不同的树节点,判断它们是否相邻,相 邻即是节点中存在任意两个网格相邻。对于相邻的节点,计算其节点间进行传递信息的权 值,这个权值是该两节点中相邻网格中可交流信息的传感器节点的信息传递总权值。
[0091] 该两节点中相邻网格的权值计算过程为:对于两个网格,如果它们相邻,那么首先 分别得到该网格中的传感器节点集合SNsetl,SNset2。如果属于SNsetl的传感器节点snl 和属于SNset2的传感器节点sn2之间的集合距离小于或等于r,则计算它们之间传递大小 为k比特的数据包时所消耗的能量,并将该能量值加到该两个网格之间传递信息的能量消 耗值中。能量计算公式即取自上面所述的能量消耗计算模型,dis函数即为两个传感器节点 几何距离的计算。如果该两个网格的用于传递信息(包括发送和接受)的能量消耗越大, 则这两个网格之间的权值就越小,网格关于能量的耦合度越小。计算初相邻节点所有相邻 网格的权值后,进行累和作为该两个相邻节点的权值。每次都是选取具有最大权值的两个 节点作为下一次索引树构造中的合并节点。
[0092] 空间索引查询:
[0093] 在该发明中,假定每一个传感器节点都有一个点位置,包括横坐标和纵坐标,和感 知属性信息。所以每一个传感器都可以用一个三维向量来表示,包括ID,坐标和属性,而 WSN则是这样的传感器的集合,即HWSN。下面给出该HWSN的定义。
[0094] HWSN定义:多属性无线传感器网络D是由一系列传感器组成,对于每一个传感器 〇eD,〇被定义为一个三维向量:(〇.id, 〇.loc, 〇.attr),其中〇.id代表传感器的唯一标示 ID,o.loc是传感器的地理位置,o.attr则是传感器的属性。
[0095] 在该发明中,基于某一给定区域,该区域可以是整个网络覆盖区域,也可以是某一 子区域,在该区域中查询某一单属性或者多个属性的传感器。给定查询定义如下:
[0096] 查询定义:假设给定一个查询输入q=〈Φ,qr>,其中q.Φ代表所要查询的属性, 它可为单属性也可为多属性,q.qr代表所要查询的区域,它由该区域的起点横纵坐标和宽 高四个参数〈minx,miny,width,height〉设定,它可设为整个区域,或者某个区域。
[0097] 基于上一章所构造的索引树,可以将上面的查询分为四种类型的查询,分别是: 整个领域单属性查询(Single-AttributeQueryintheWholeRegion,SAQWR),整个 领域多属性查询(Multi-AttributeQueryintheWholeRegion,MAQWR),子区域单 属性查询(Single-AttributeQueryintheSub-Region,SAQSR),子区域多属性查询 (Multi-AttributeQueryintheSub-Region,MAQSR)〇
[0098] 令整个区域单属性查询(SAQWR):给定一个SAQWR查询q=〈Φ,qr>,其中q.Φ代 表所要查询的单属性,q.qr代表整个网络覆盖区域。查询q的结果q(D)是D的子集,对于 任意传感器〇eq(D),满足o.attr=Φ,并且〇_1〇?:Gqr%.换句话说,SAQWR查询返回整个 领域中属性为q.Φ的传感器。
[0099] 令子区域单属性查询(SAQSR):给定一个SAQSR查询q=〈Φ,qr>,其中q.Φ代表 所要查询的单属性,q.qr代表整个网络覆盖区域中的某个子区域。查询q的结果q(D)是 D的子集,对于任意传感器〇eq(D),满足〇·attr=Φ,并且〇:.1繼£qn换句话说,SAQSR 查询返回某个子区域中属性为q.Φ的传感器。SAQSR与SAQWR的区别仅在于查询区域的不 同。
[0100] 令整个区域多属性查询(MAQWR):给定一个MAQWR查询q=〈Φ,qr>,其中q.Φ代 表所要查询的多属性,q.qr代表整个网络覆盖区域。查询q的结果q(D)是D的子集,对于 任意传感器〇eq(D),满足〇.attreφ,并且.o.loceqiv换句话说,MAQWR查询返回整个 领域中属性为任意属于q.Φ的传感器。
[0101] 令子区域单属性查询(MAQSR):给定一个MAQSR查询q=〈Φ,qr>,其中q.Φ代表 所要查询的多属性,q.qr代表整个网络覆盖区域中的某个子区域。查询q的结果q(D)是D 的子集,对于任意传感器〇eq(D),满足0.attreφ,并且〇,_1魏_e.ipv换句话说,MAQSR 查询返回某个子区域中属性为任意属于q.Φ的传感器。MAQSR与MAQWR的区别仅在于查询 区域的不同。
[0102] 基于上一章所构造的索引树,对于整个区域或者子区域中单多属性的传感器节点 的查询实际上也还是一种对于二叉树的遍历,该发明里采用的是前序遍历。结合倒排文件 可以很快地得知某一节点及其孩子是否存在所需查询属性的传感器,并且可以尽可能早地 排除掉不存在所需查询属性的节点,避免不必要的查询来节省能量的消耗。下面将详细介 绍该查询方法。首先以查询流程图5来进行说明。该查询机制主要分为以下几步:
[0103] (1)用户根据需求设定查询区域和查询属性。
[0104] (2)基于构造的索引树,设定查询根节点。该节点初始化为根据查询区域得到的查 询节点,并将从该节点开始进行查询。
[0105] (3)根据倒排文件判断该节点是否包含所需查询的传感器。如果不包含则在该节 点的查询结束,如果最开始查询的根节点就不包含所需查询属性的传感器,则直接退出查 询,返回结果为空;否则,再判断该节点是否为叶节点,如果是则将查询到的传感器数据写 入结果,如果不为叶节点,则继续查询该节点的左右孩子,以左右孩子作为查询节点,继续 (3)的查询操作。
[0106] (4)返回查询结果集,即得到所需查询区域内的所需查询属性的传感器数据。
[0107] 单属性查询是指在某个区域中进行单个属性的传感器节点的查询,它可以在整个 区域也可以在某个子区域,由查询区域参数决定。
[0108] 该算法首先设定查询区域和查询属性,以递归方式,不断地对该开始查询节点的 左右孩子进行查询,通过比较节点的倒排文件和查询属性,直到查询到不包含该属性的节 点,或者到达叶子节点停止查询。并将得到的包含该属性的叶子节点加入结果集,查询到传 感器的属性为所要查询的属性,即将该传感器节点加入到最后的传感器结果集合当中。最 后即可得到在查询区域中包含属性为a的传感器节点的网格集合,以及在查询区域中属性 为a的传感器节点集合。根据其查询区域的不同,又可将该单属性查询分为整个区域单属 性传感器查询(SAQWR)和子区域单属性传感器查询(SAQSR)。
[0109] 多属性查询是指在某个区域中进行多个属性传感器节点的查询,它可以在整个区 域也可以在某个子区域,由查询区域参数决定。
[0110] 该算法与进行单属性的传感器节点查询类似,也是首先设定查询区域、查询属性, 然后不断地对该开始查询节点的左右孩子进行查询,通过比较节点的倒排文件和查询属性 集合,直到查询到不包含该属性集合中任一属性的节点,或者到达叶子节点停止查询。并将 得到的包含该属性集合中的任一属性的叶子节点加入结果集,查询到的传感器的属性属于 所要查询的属性集合,即将该传感器节点加入到最后的传感器结果集合当中。最后即可得 到在查询区域中包含任一存在于属性集合中的传感器节点的网格集合,以及在查询区域中 属性为aset中任一属性的传感器节点集合。根据其查询区域的不同,又可将该多属性查询 分为整个区域多属性传感器查询(MAQWR)和子区域多属性传感器查询(MAQSR)。
[0111] 实验模拟分析:
[0112] 本发明中的索引树是通过循环合并传递相同大小信息包耗能最小的相邻节点对, 相邻节点间的传递信息包耗能大小是通过上面所详述的能量消耗模型来计算的。将整个区 域划分为一系列的等大小网格集群,也就是将这些网格看作树的叶节点,基于能量消耗最 小化的原则,进行合并相邻节点,形成更大的区域节点,直到形成该索引树的根节点
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1