一种面向物联网数据的分布式Top-k查询方法

文档序号:8490481阅读:281来源:国知局
一种面向物联网数据的分布式Top-k查询方法
【技术领域】
[0001] 本发明设及物联网数据处理技术,具体设及一种面向物联网数据的分布式Top-k 查询方法。
【背景技术】
[0002] 物联网是通过各种传感器设备,将物品与网络连接起来,进行信息交换与通信W 及实现智能化识别、定位、跟踪、监控和管理的一种网络。作为物联网感知层的重要组成部 分,传感器节点在信息获取与处理过程中发挥了重大作用。
[0003] Top-k查询作为物联网查询应用的重要内容,在多个领域已得到广泛应用,如环境 污染监测、动物保护及目标跟踪等;用户可根据自身需要查询监测区域内前k个最大(或最 小)感知值,如温度、污染指数等,从而起到森林预警、判断污染程度较高地区的作用,然而 传感器节点能量严格受限,因此设计高效的查询算法对降低网络能耗、延长传感器节点寿 命至关重要。
[0004] 目前提出的分布式Top-k查询方法大都是基于某种逻辑拓扑树,按照拓扑树进行 数据汇聚查询能减少大量通信开销。如Wu等人基于最短路径树SPT提出的FILA算法,SPT Wsink为根节点,其余节点均有到sink的最短路径,但FILA算法忽略了各节点接收探测 信息的能耗,与实际不符,每一轮查询,若节点感知值没有超出过滤范围,则不向sink发送 更新值,故查询结果不准确。
[0005] 为了满足查询准确性,Balijeet等提出了基于支配集树DST的查询算法EXT0K,该 算法为每个节点设置过滤阔值来决定其下一轮是否向sink发送更新值,但其DST的构建主 要选择邻节点多的作为支配节点,未考虑节点自身能量和与邻节点通信开销,当查询次数、 k值增大时,存在sink附近节点能耗不均,过早死亡的问题,且EXT0K算法中TM-node需每 轮向sink发送更新值,导致一些值的无效发送。
[0006] 汤等人基于层次索引树提出了新颖的top-k查询算法,同样存在头结点选取未考 虑自身能量而过早死亡等问题。

【发明内容】

[0007] 发明目的:本发明的目的在于解决现有技术存在的不足,提供一种面向物联网数 据的分布式Top-k查询方法,本发明从构建逻辑拓扑树和基于树设计top-k查询方法两方 面来提供一种能量均衡、高效的物联网分布式数据Top-k查询方法。
[000引技术方案:本发明所述的一种面向物联网数据的分布式Top-k查询方法,包括W下步骤:
[0009] (1)构建最优查询树:
[0010] (11)网络骨干节点选取,即网络支配节点的选取,具体过程如下:
[0011] (111)节点状态和能量信息的初始化,各节点初始均为未处理状态,即flag= 0, 并通过能量代价函数算得相应的能量代价值,该能量代价函数综合考虑了节点度数、自身 剩余能量w及与邻节点通信开销,是最后所得查询结果更加精准;
[0012] (112)代价信息交换:各节点发送hello消息包和能量代价消息包,并与其邻节点 交换代价信息;
[0013] (113)节点状态信息广播;
[0014] (12)连通支配集构造;包括支配信息存储和连接节点选择;
[001引(蝴根节点选择,即sink节点的选择,包括W下步骤:
[0016] (131)在步骤(12)所得连通支配集基础上,保留支配节点与其被支配节点之间的 边,其余边均去除;
[0017] (132)若一个被支配节点同时被两个支配节点支配,则优先选择有较少被支配节 点的节点作为其支配节点,其次再选择距离近的节点作为其支配节点;
[001引 (13如最优查询树根节点由各节点按ID号轮流担任,打破了W往查询过程中sink节点唯一的传统;
[0019] (2)基于步骤(1)所得的最优查询树进行top-k查询:
[0020] (21)查询初始化,其具体过程为:
[0021] (211)数据汇聚发送:在最优查询树中,各叶子节点将感知值发送至其父亲节点 汇聚,先由父亲节点在本地进行Top-k查询,再将查询结果发送至其父节点,如此汇聚发送 到达根节点;
[0022] (212)首轮top-k查询;根节点收到孩子节点发送的汇聚感知值后,将其降序排序 得到k个最大值;
[0023](213)过滤值发送;根节点将第k个最大值设为过滤值T,并广播发送给各孩子节 点,过滤值T用于抑制连续top-k查询中的数据更新值发送;
[0024] (214)节点状态初始化;首轮查询结果中,top-k值中的节点成为TM-node即监测 节点,而非top-k值中的节点成为F-node即过滤节点;
[0025] (22)数据更新值发送,依次包括监测节点数据更新、过滤节点数据更新W及根节 点发送探测信息S个步骤,其中当监测节点、过滤节点数据更新值value〉T时才向根节点 发送更新值;
[0026] (23)sink节点top-k查询,根节点将接收到的所有更新值降序排序,并设置新过 滤值T' =min(top-k),即top-k中最小值,将T'发送至各节点,同时各节点更新状态。
[0027]进一步的,所述步骤(111)中各节点初始状态标志flag= 0,均表示为未处理节 点,某节点Vi的能量代价值计算公式为:
[002引
【主权项】
1. 一种面向物联网数据的分布式Top-k查询方法,其特征在于:包括以下步骤: (1) 构建最优查询树: (11) 网络骨干节点选取,即网络支配节点的选取,具体过程如下: (111) 节点状态和能量信息的初始化,各节点初始均为未处理状态,即flag=0,并通 过能量代价函数算得相应的能量代价值; (112) 代价信息交换:各节点发送hello消息包和能量代价消息包,并与其邻节点交换 代价信息; (113) 节点状态信息广播: (12) 连通支配集构造;包括支配信息存储和连接节点选择; (13) 根节点选择,即sink节点的选择,包括以下步骤: (131) 在步骤(12)所得连通支配集基础上,保留支配节点与其被支配节点之间的边, 其余边均去除; (132) 若一个被支配节点同时被两个节点支配,则先选择有较少被支配的节点为其支 配节点,其次再选择距离近的节点作为其支配节点; (133) 最优查询树根节点由各节点按ID号轮流担任; (2) 基于步骤(1)所得的最优查询树进行top-k查询: (21) 查询初始化,其具体过程为: (211) 数据汇聚发送:在最优查询树中,各叶子节点将感知值发送至其父亲节点汇聚, 先由父亲节点在本地进行Top-k查询,再将查询结果发送至其父节点,如此汇聚发送到达 根节点; (212) 首轮top-k查询:根节点收到孩子节点发送的汇聚感知值后,将其降序排列得到 k个最大值; (213) 过滤值发送:根节点将第k个最大值设为过滤值t,并广播发送给各孩子节点, 过滤值t用于抑制连续top-k查询中的数据更新值发送; (214) 节点状态初始化:首轮查询结果中,top-k值中的节点成为TM-node即监测节点, 而非top-k值中的节点成为F-node即过滤节点; (22) 数据更新值发送,依次包括监测节点数据更新、过滤节点数据更新以及根节点发 送探测信息三个步骤,其中当监测节点、过滤节点数据更新值value〉t时才向根节点发送 更新值; (23) sink节点top-k查询,根节点将接收到的所有更新值降序排序并设置新过滤值 t' =min(top-k),即top-k中最小值,将t'发送至各节点,同时各节点更新状态。
2. 根据权利要求1所述的面向物联网数据的分布式Top-k查询方法,其特征在于,所述 步骤(111)中各节点初始状态标志flag=0,均表示为未处理节点,某节点Vi的能量代价 值计算公式为:
其中NBj(Vi)表示节点Vi的第j个邻节点,n(vJ为节点Vi的度数,即邻节点个数, EtoithiGi)为初始乘Ij余能量
示节点Vi与其邻节点的通信开销包 括发送和接收数据能量消耗,计算公式为:
上述a、c分别表示物联网发射和接收电路消耗的能量,b为功率放大消耗的能量,匕为 一个数据包的比特数,d(Vi,NBj(Vi))为节点Vi与其第j个邻节点的距离。
3. 根据权利要求1所述的面向物联网数据的分布式Top-k查询方法,其特征在于,所述 步骤(112)中在进行代价信息交换时,若节点Vi满足: Ec〇st(Vi)<min(Ecost(NB(vj))), 则Vi成为支配节点,即flag(v) =1。
4. 根据权利要求1所述的面向物联网数据的分布式Top-k查询方法,其特征在于,所述 步骤(113)的具体过程为: 支配节点Vi向邻节点广播支配信息,若邻节点vj收到支配信息后且flag(vj) =0, 成为被支配节点,并向其邻节点广播被支配信息,若节点vk收到被支配信息后且flag(vk) =〇,若其邻节点中已没有未处理节点,即满足flag(NB(vk)) = 1,则vk成为支配节点, ;^8(¥15)=1;否则比较£&^(¥ 15)〈1]1;[11伍&^(?(¥15)))是否成立,若成立,则¥ 15成为支配节点, 否则P(vk)中能量代价最小的成为支配节点;其中P(vk)表示vk的未处理邻节点。
5. 根据权利要求1所述的面向物联网数据的分布式Top-k查询方法,其特征在于:所 述步骤(12)中,所述支配信息以列表形式存储阶段存储被支配节点一跳、两跳及三跳范围 内支配节点信息;所述连接节点选择阶段选择能量代价较小的节点,使每个节点都有一条 到达最其近支配节点的代价最小路径。
6. 根据权利要求1所述的面向物联网数据的分布式Top-k查询方法,其特征在于:所 述步骤(22)中,根节点发送探测信息过程是在k'<k成立时执行,其中k'为根节点接收到的 更新值总数,k为需要查询数目;根节点先发送探测信息至剩余TM-node收集其top-(k-k') 值,再设置探测值probe=min(top-(k-k')),并发送给剩余F-node,F_node将大于探测值 的更新值发送至根节点。
【专利摘要】本发明公开一种面向物联网数据的分布式Top-k查询方法,包括以下步骤:(1)构建最优查询树,该步骤包括网络骨干节点选取、连接节点选择,以及每轮查询各节点按ID号轮流担任根节点三个过程;(2)基于最优查询树进行Top-k查询,该步骤包括查询初始化、数据更新值发送、sink节点top-k查询三个过程。本发明在构建最优查询树时充分考虑节点度数、自身能量以及与邻节点通信开销,选择能量代价小的作为支配节点,有效均衡节点能耗,进一步解决了传统查询树根节点唯一带来的其附近节点过早死亡的问题,大大延长物联网的生命周期,且查询算法中通过设置过滤值来抑制每轮无效更新值的发送,有效降低平均每轮的查询能耗。
【IPC分类】H04W40-10, H04W84-18
【公开号】CN104812015
【申请号】CN201510244016
【发明人】邬海琴, 王良民, 汤金娥, 陈向益, 周从华
【申请人】江苏大学
【公开日】2015年7月29日
【申请日】2015年5月14日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1