logo资料库

论文研究-基于iBeacon的地理围栏服务系统 .pdf

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
中国科技论文在线 http://www.paper.edu.cn 基于 iBeacon 的地理围栏服务系统# 金保可,孙岩,罗红** (北京邮电大学计算机学院,北京 100876) 摘要:iBeacon 是苹果公司发布的一种可应用于室内的位置感知服务体系,可通过预先部署 iBeacon 节点 ,向目 标区域内 用户进行信息推送。但部署的 iBeacon 节点 会出现覆盖 复重 和 覆盖盲区问题。本文给出了一种实现地理围栏服务的系统方案,提出了一种基于 Voronoi 图的覆盖盲区检测算法和 iBeacon 节点 选择的优化算法。该算法可以有效判断目 标区域存在 的覆盖漏洞,当目 标区域的覆盖冗余度较高时,可有效减少推送节点 的数量,降低通信负 载。 关键词:物联网;iBeacon;位置信息服务;地理围栏 中图分类号:TP311.1 Geo-fencing service system based on iBeacon (School of Computer Science, Beijing University of Posts and Telecommunications, Beijing JIN Baoke, SUN Yan, LUO Hong 100876) Abstract: iBeacon is a kind of service that Apple released to used in indoor location-aware service system. It could push information to the user in the target area through deployed iBeacon nodes. But the deployed iBeacon node may have the problem of overwrite duplication and coverage holes. This paper presents a systematic project to implement geo-fencing service and provides a detecting algorithm based on the coverage of Voronoi diagram and a optimization algorithm relating to the choice of iBeacon nodes.The algorithm can determine the presence of the coverage holes in the target area, when a high coverage redundancy appears in the target area,it could effectively reduce the number of nodes to reduce the traffic load. Key words: thing of internet; iBeacon; LBS; geo-fencing 0 引言 随着互联网技术的发展和智能移动终端设备的大规模普及,近年来基于位置服务(LBS, Location Based Service)的业务取得了迅速的发展,各种形式的应用开始出现,并对我们生 活中的各个领域产生了深刻的影响,其中最受瞩目的一项应用就是地理围栏[1]。所谓地理围 栏,就是指用一个虚拟的栅栏围出一个虚拟地理边界,当人们持智能设备进入、离开某个特 定地理区域,或在该区域内活动时,可以接收自动通知和警告,目前理围栏技术被广泛地应 用于推荐系统、广告推送等服务中[2]。 iBeacon 最早是苹果公司去年发布的移动设备在 OS(iOS7)上配备的新功能。其工作 方式是,配备有低功耗蓝牙(BLE)通信功能的设备使用 BLE 技术向周围发送自己特有的 MAC 地址,当用户的移动互联网设备靠近 iBeacon 时可以感应到其 MAC 地址,并根据该 MAC 地址进行相应的操作。 5 10 15 20 25 30 35 本文在已有的室内地图的基础上,提出了一种基于 iBeacon 的地理围栏服务系统的设计 方案。利用室内地图技术,可以将部署的 iBeacon 节点的地理位置信息存储在服务器上,这 40 基金项目:教育部博士点基金 (20110005110007) 作者简介:金保可(1992-),男,硕士研究生,主要研究方向:物联网技术 通信联系人:孙岩(1970-),女,教授,主要研究方向:传感器网络和移动通信网络. E-mail: sunyan@bupt.edu.cn - 1 -
中国科技论文在线 http://www.paper.edu.cn 是实现地理围栏服务的前提。当用户在室内地图上划定推送信息的目标区域后,系统会根据 目标区域的地理位置信息,查询该区域内部署的 iBeacon 节点,依据一种检测节点覆盖盲区 的检测算法,判断区域内的 iBeacon 节点是否可以将目标区域完全覆盖,在完全覆盖的基础 上,依据节点优化选择算法,对需要进行信息推送的 iBeacon 的选择进行优化。 1 iBeacon 技术简介 我们先来了解一下 iBeacon 技术的基本原理,其使用的是蓝牙低能耗(BLE,Bluetooth Low Energy)技术,具体而言,利用的是一种名为“通告帧”(Advertising)的广播帧[3]。 通告帧是定期发送的帧,只要是支持 BLE 的设备就可以接收到。 iBeacon 通过在这种通告帧的有效负载部分嵌入自主格式的数据来实现,主要包括以下几种 数据:MAC、Coverage、Frequency、Power、UUID、Major、Minor。其中 MAC 是指 iBeacon 的物理地址,采用十六进制数表示,共六个字节;Coverage 是指 iBeacon 的广播信号的覆盖 范围,通常从 3 米到 30 米不等;Frequency 是指 iBeacon 的广播频率,通常每分钟 10~200 次不等,与 Coverage 一样,视不同的应用场景来设置具体的值;Power 是指 iBeacon 的当前 电量;UUID、Major 和 Minor 是可以由 iBeacon 的使用者自行设定的,UUID 是 128 位标识 符,Major 和 Minor 是 16 位的标识符,比如在店铺中部署 iBeacon 时,可以在 Major 中写入 位置信息,在 Minor 中写入店铺的 ID 等,在家电中嵌入 iBeacon 功能时,可以用 Major 表 示产品型号,用 Minor 表示错误代码,用来向外部通知故障[4]。 一套 iBeacon 的部署由一个或多个在一定范围内发射传输他们唯一的识别码 iBeacon 信标的 设备组成。接收设备上的软件可以查找 iBeacon 并实现信息推送。事实上,推送的消息并不 是通过 iBeacon 设备本身下发的,通常 iBeacon 仅提供位置服务,推送消息功能需要智能终 端软件使用从 iBeacon 接收到的信号来实现推送消息的获取。例如,进入 iBeacon 广播范围 的智能设备可以收到商场打折促销的优惠信息,这些收到的推送信息是由智能设备上的应用 去获取的,而不是保存在 iBeacon 里。 2 地理围栏服务系统的设计 45 50 55 60 65 2.1 整体架构 本文设计的地理围栏服务系统,主要由推送区域选择模块、地理围栏服务模块、应用客 户端三部分实现,各模块间的组织关系如图 1 所示,下面详细介绍各模块的功能。 - 2 -
中国科技论文在线 http://www.paper.edu.cn 地理围栏服务模块 推送区 域选择 模块 安 全 策 略 盲 区 检 测 节 点 选 择 业 务 实 现 数据库 模块 应用 客户端1 应用 客户端2 图 1 系统架构 Fig.1 Architecture of System 数据库模块:负责室内地图相关信息、iBeacon 节点信息、推送的消息以及其他信息的 持久化存储。 推送区域选择模块:通过 Web 界面的形式,使用户能够在室内地图上选择需要进行消 息推送的目标区域,并填写推送信息。 应用客户端:安装在用户移动智能设备上的应用。当用户持智能设备进入 iBeacon 覆 盖范围,智能设备上的应用感应到 iBeacon 后,就会将该 iBeacon 的 MAC 发送给地理围栏 服务模块,其会去数据库中查询该 iBeacon 推送的信息,获取后返回给应用客户端。 地理围栏服务模块:该模块又可以细分为四个部分,分别是安全策略、盲区检测、节点 选择、业务实现。其与推送区域选择模块的交互流程图如图 2 所示。 推送区域模块 安全策略 盲区检测 节点选择 业务实现类 发送请求 对目标区域 进行盲区检测 返回响应 选择进行 信息推送的 iBeacon节点 处理结果加密 处理业务逻辑 并生成处理结果 推送区域模块 安全策略 盲区检测 节点选择 图 2 流程图 Fig.2 Process Chart 业务实现类 当安全策略部分收到推送区域模块发送的请求后,进行是否具有权限、是否存在 SQL 注入、入参是否合法的判断。通过安全策略的过滤后,请求转发到盲区检测部分,根据目标 区域的位置信息和部署的 iBeacon 节点信息,结合盲区检测算法判断目标区域内是否具有覆 - 3 - 70 75 80 85
中国科技论文在线 http://www.paper.edu.cn 盖漏洞。如果目标区域被部署的 iBeacon 节点完全覆盖,由节点选择部分针对目标区域内不 同的 iBeacon 节点之间存在的覆盖冗余问题,对 iBeacon 节点的选择进行优化,计算出需要 进行消息推送的 iBeacon 的最优选择方案,最后由业务实现部分将推送的信息以及需要推送 信息的 iBeacon 节点等内容存储到数据库的相关表中,并生成响应报文。 90 地理围栏服务模块与应用客户端之间的交互较为简单,其流程如图 3 所示。当应用客户 端感应到某个 iBeacon 后,将 iBeacon 的 MAC 地址发送给地理围栏服务模块,请求经过安 全策略过滤后,由业务实现部分负责去数据库中查询是否具有推送的消息,并生成响应报文。 应用客户端 安全策略 业务实现类 发送请求 返回响应 处理业务逻辑 并生成处理结果 处理结果加密 95 100 105 110 应用客户端 2.2 数据库模块设计 安全策略 图 3 流程图 Fig.3 Process Chart 业务实现类 数据库主要负责存储 iBeacon 节点信息、需要推送的信息以及两者对应的关系。iBeacon 节点信息主要包括:MAC、Coverage、Frequency、Power、UUID、Major、Minor、Building、 Floor、X、Y。其中 Building、Floor、X、Y 用来标识 iBeacon 节点部署的地理位置信息,其 余是 iBeacon 本身的属性信息。需要推送的信息主要包括:ID、Title、Desription、Content、 Url。其中 ID 为主键标识该调信息,Title 为主标题,Description 为副标题,Content 为推送 信息的简要内容、Url 为推送信息的超链接。Web 页面和应用客户端上信息展示需要的数据 通过数据库模块读取数据库,数据库使用的是 MySQL,这是一种高性能、轻量级、跨平台 的开源数据库。 3 盲区检测与节点选择 3.1 问题描述 在由 iBeacon 节点构成的传感网络中,每个 iBeacon 节点的覆盖范围(即 iBeacon 节点所 能覆盖的最大空间范围,通常认为是一个圆形区域)有限,为保证整个区域都在覆盖范围之 内,需要在目标区域内部署 iBeacon 节点,它是保证地理围栏服务能够继续进行的基础。我 们需要考虑以下两个问题: 1、目标区域内布置的 iBeacon 节点是否覆盖了整个目标区域; 2、如何选择目标区域内的 iBeacon 节点实现地理围栏服务。 针对以上两个问题,本文提出了基于 Voronoi 图的盲区检测算法和 iBeacon 节点选择算法, 并对 iBeacon 节点选择算法进行了优化。 115 - 4 -
中国科技论文在线 3.2 voronoi 图 http://www.paper.edu.cn voronoi 图是一种常用于解决覆盖问题的有效方法,它与目标点的覆盖情况存在对应关 系,可以有效确定覆盖盲区,Voronoi 图是由一系列的泰森多边形组成的[5][6]。泰森多边形 具有以下性质: 120 性质 1、每个泰森多边形内仅含有一个离散点数据; 性质 2、泰森多边形内的点到相应离散点的距离最近; 性质 3、位于泰森多边形边上的点到其两边的离散点的距离相等。 125 图 2 泰森多边形 Fig.2 Thiessen Polygon 若干个离散节点生成的泰森多边形如上图所示,泰森多边形的生成算法可以参考文献[7], 在此不再详述。 3.3 覆盖盲区检测算法 以整个区域内所有的 iBeacon 节点为离散点,根据泰森多边形的生成算法,形成各个泰 130 森多边形。针对于目标区域内是否存在覆盖盲区,我们采用如下的检测算法: (1)、将整个区域内部署的 iBeacon 节点加入到点集 E 中。 (2)、以点集 E 内的点为离散点,整个区域的边界为限度,生成 voronoi 图。 (3)、将每个泰森多边形的顶点加入到点集 V 中。 (4)、对点集 V 中的每一个点 v,查找以点 v 为顶点的泰森多边形,将每个泰森多边 135 形内的离散点加入点集 P; (5)、计算点 v 到点集 P 中每个点 p 的距离,如果每个距离都大于点 p 处 iBeacon 的 覆盖半径,则给出存在覆盖盲区的提示。 3.4 节点选择算法 3.4.1 点与多边形位置关系算法 140 本文将点与多边形的关系划分为两种,即点在多边形内部、点在多边形外部,当点在多 边形上时认为其是点在多边形内部的一种特殊情况。采用水平/垂直交叉点数判别法,来判 断坐标点 P 与指定的多边形的位置关系,算法思路如下: (1)、遍历多边形的每一条边 E,判断点 P 是否在 E 上,若点 P 在 E 上,遍历结束, 返回点 P 在多边形内;若对于每一条边 E,点 P 不在其上,进行下一步。 145 (2)、以点 P 为端点向左做一条水平的射线 r。 - 5 -
中国科技论文在线 http://www.paper.edu.cn (3)、遍历多边形的每一条边 E,求射线 r 与多边形交点的个数 n(不包括点 P)。 (4)、如果 n 为奇数,返回点 P 在多边形内部;如果 n 为偶数(包括 0),返回点 P 在多边形外部。 3.4.2 节点选择算法及其优化 150 155 160 165 算法思路如下: (1)、将整个区域内部署的 iBeacon 节点加入到点集 E 中。 (2)、对于点集 E 中的每一个点,如果它在目标区域内,则将该点加入到点集 V 中。 (3)、对于点集 E 中的每一个点,如果它到目标区域的最短距离小于该 iBeacon 节点 的覆盖半径,则将该点加入到点集 V 中。 点集 V 即为所求的推送信息的 iBeacon 的集合。当某些区域内部署了大量的 iBeacon 时, 不同 iBeacon 之间的覆盖区域存在大范围的重叠,冗余度较高,很多 iBeacon 节点不需要进 行信息推送。为了降低通信负载和能耗、提高用户体验,我们需要对上述选出的集合进行优 化。算法思路如下: (1)、利用盲区检测算法进行盲区检测,若不存在覆盖盲区则进行下一步。 (2)、利用节点选择算法,求出点集 V。 (3)、计算点集 V 内的每一个离散点的泰森多边形的面积,并按升序排序。 (4)、按照升序遍历点集 V 内的每一个点 v:对不包含当前点的点集 V 进行盲区检测, 若存在覆盖盲区,则对下一个点 v 进行处理,若不存在覆盖盲区,则将该节点删除,重新生 成 voronoi 图后返回第 3 步。 4 实例研究 我们对在某一展览馆内实现地理围栏服务进行研究。根据该场馆内的 iBeacon 部署情况 生成的 voronoi 图、以及每个 iBeacon 的覆盖范围如图 3 所示: - 6 -
中国科技论文在线 http://www.paper.edu.cn 图 3 分布图 Fig.3 Distribution diagram 通过管理系统的 Web 界面,我们选择要推送信息的目标区域,并输入要推送的信息。 如果采用未优化的 iBeacon 选择算法,需要进行信息推送的 iBeacon 节点数为 39 个,经过优 化算法处理后,需要进行信息推送的 iBeacon 节点数为 17 个,明显减少了需要工作的 iBeacon 的数量。当用户持安装有应用客户端的智能设备进入到目标区域时,可以接收到所推送的信 息。 为进一步验证 iBeacon 节点选择优化算法的有效性,在保证目标区域能够完全覆盖的前 提下,我们对两个不同的目标区域进行了两组实验。 在第一组实验中,我们在目标区域 a 内部署了 30 个 iBeacon 节点,每个 iBeacon 节点的 覆盖半径设置为 5m,优化前的选择算法选择了其中的 27 个节点进行信息推送,而优化后的 选择算法只选择了 21 个节点进行信息推送。我们在目标区域中每次增加 5 个部署的 iBeacon 节点,其覆盖半径保持为 5m 不变,共进行了六次实验,得到的实验数据如图 4 所示。在目 标区域被完全覆盖的前提下,随着目标区域内部署的 iBeacon 节点的增加,未经过优化的算 法选择的节点数量成线性增长的趋势,而经过优化的算法选择的节点数量较为稳定,基本保 持不变。 170 175 180 185 - 7 -
中国科技论文在线 http://www.paper.edu.cn 图 4 选择节点数量与节点部署量的关系 Fig.4 Relationship between selected nodes and deployed nodes 190 195 在第二组实验中,我们在目标区域 b 中部署了 55 个 iBeacon 节点,每个 iBeacon 节点的 初始覆盖半径设置为 5m,优化前的选择算法选择了其中的 47 个节点进行信息推送,而优化 后的选择算法只选择了 31 个节点进行信息推送。同时保持目标区域内的 iBeacon 节点的数 量不变,我们将目标区域内的 iBeacon 节点覆盖半径分别设置为 8m、10m、12m、15m、20m 进行实验,得到的实验数据如图 5 所示。在目标区域被完全覆盖的前提下,随着目标区域内 部署的 iBeacon 节点的覆盖半径增加,未经过优化的算法选择的节点数量未出现变化,而经 过优化的算法选择的节点数量则在逐渐减少。 200 5 结论 图 5 选择节点数量与节点覆盖范围的关系 Fig.5 Relationship between selected nodes and node’s coverage 本文给出了一种地理围栏服务的实现方式,利用部署的 iBeacon 节点可以实现基于位置 - 8 -
分享到:
收藏