北斗智慧景区位置服务系统的位置数据管理
2016-02-07郑迎春袁永卫张晓旭
郑迎春,王 腾,袁永卫,杜 凯,张晓旭
(1.卫星导航系统与装备技术国家重点实验室,河北 石家庄 050081;2.中国电子科技集团公司第五十四研究所,河北 石家庄 050081)
北斗智慧景区位置服务系统的位置数据管理
郑迎春1,2,王 腾1,2,袁永卫1,2,杜 凯1,2,张晓旭1,2
(1.卫星导航系统与装备技术国家重点实验室,河北 石家庄 050081;2.中国电子科技集团公司第五十四研究所,河北 石家庄 050081)
位置数据管理是北斗智慧景区位置服务系统的核心组成部分,支撑着整个系统的顺利运行。结合九寨沟智慧景区建设的业务需求,就智慧景区位置服务系统中高效数据插入、高效的位置查询等关键技术给出相应的解决方案,最终将关键技术解决方案集成到九寨沟北斗智慧景区位置服务系统中。通过九寨沟北斗智慧景区位置服务系统的测试和运行,证明了所提出解决方案的有效性。
北斗卫星导航系统;智慧景区;位置服务;景区管理
0 引言
随着经济的发展,旅游已成为人们休闲娱乐的主要方式。为此,国家提出了发展智慧旅游的发展战略[1-2],希望借助大数据[3]、云计算[4]、物联网[5]和移动互联网[6]等新兴技术完成智慧旅游相关系统[7]的建设,提高景区综合管理能力和游客服务水平。
基于上述背景,以九寨沟需求为基础,设计和研发了北斗智慧景区位置服务系统。该系统以典型位置服务架构[8]为基础,结合移动位置服务[9]、分布式位置服务[10]思想,实现了景区日常管理和应急处理需求,同时提高景区游客服务水平。
由于景区具有业务逻辑复杂、游客量大的特点,为了满足游客位置服务的客观需求,使系统具有可用性,该系统必须具备高效的数据管理。在该系统中,高效的数据管理主要涵盖以下几个方面:数据交换、高效数据检索和高效的数据存储。其中,高效的数据交换是整个系统高效率运行的基础,通过高效的数据交换能实现终端与后台服务之间的实时信息通信、实时的位置信息接收;高效数据检索是实现高效位置查询的基础,是提高游客位置服务体验的重要保障;高效的数据存储是系统容量的保证,确保系统具备接入大量北斗终端的能力。
1 数据管理模块组成
在系统中,数据管理模块包括3个子模块,如图1所示。通信与信息格式转换模块负责信息格式的转换以及系统之间的信息交互;实时数据管理模块实现最新位置数据的管理,该模块同时完成实时位置数据相关的数据查询;数据存储模块负责数据的永久存储,同时支持历史位置数据查询,该模块也是未来数据分析的基础。
图1 数据管理模块组成
2 通信与数据交换
通信与数据交换模块实现系统与终端的信息交互,主要完成信息的接收和发送。通信与数据交换模块需要满足高效的信息交互,关系到系统性能是否能满足实际使用需求。因此,在通信与数据交换模块设计实现中,需要完成数据交换协议的设计。
数据交换协议的设计需要考虑如下主要因素:开发是否方便、接口是否容易发布、是否需要考虑带宽占用成本、序列化和反序列化的性能、接口协议的扩展性等等。本系统以XML标记语言[11]为基础实现数据交换协议设计。
XML是一种允许用户对自己的标记语言进行定义的源语言。该语言具备7项优点:开放性、简单性、自我描述性、互操作性、结构、分开结构和内容以及可扩展性。本系统分别从协议结构、触发更新和节点属性3个方面对协议进行描述。
以实时位置信息为例,对应实时位置信息协议。
(1) 协议结构
(2) 触发更新
M08M09M10M11M12->M05
(3) 节点属性
① Message头部属性,如表1所示。
表1 Message头部属性
② CoordinateStation节点属性,如表2所示。
表2 Coordinate Station节点属性
3 实时位置数据管理
系统中服务端软件为终端提供相关位置查询服务是服务端软件的主要功能之一。需提供的位置查询服务包括两类:基于实时位置查询服务和基于历史位置的查询服务。基于实时位置的查询服务包括指定终端位置查询、附近终端查询、分类终端实时位置查询以及游客分布查询等;基于历史位置查询服务主要为历史轨迹查询等。系统采用实时数据缓存策略提高系统实时位置查询服务效率。
在系统使用过程中,对实时位置信息的查询、统计操作相当频繁,同时查询、统计操作之后的其他操作响应时间相对较长(例如arcgis上大量位置信息显示)。为了确保操作响应的及时性,需要缩短实时位置信息查询时间,同时在进行实时信息查询时不能影响实时位置信息更新。
基于上述分析,通过在实时位置信息上建立索引来实现位置信息的高速查询、统计及更新。在景区管理平台中,实时位置信息查询操作包括两类:指定终端id的终端实时位置信息查询和指定区域的终端位置信息查询。针对这几类典型操作,通过建立集合区域和终端id号的索引方式来实现实时位置信息的管理。
3.1 基于区域的索引
由于九寨沟景区为Y字型分布,可以对其进行连续网格化分,保证网格不相交。每个网格构成一个区域,包括上下左右4个顶点的经纬度信息,划分示意图如图2所示。在获取终端实时位置信息后,可以根据终端实时位置信息的经纬度来判断该终端属于哪一个区域。在进行指定网格内终端数目统计时,可以根据区域内终端来进行统计。
根据由于区域是自上向下连续划分,且九寨沟景区为Y字型,因此可以根据每个区域的最大精度、纬度建立索引。对于一个新的位置信息,根据其经纬度,可以通过二分查找法获取其所在区域。查找复杂度为logN1,N1为纵向划分区域数。
图2 景区网格化分示意
当确定实时位置信息所在区域后,在内存中将区域与区域内终端进行关联如图3所示。
图3 区域与区域所含终端关联
当进行指定区域内终端数量查询时,可以直接根据区域与区域内终端关联关系获取。在实际使用中,用户可以通过勾画地图区域进行查询,用户勾画的区域可能覆盖多个区域网格,同样可以根据勾画区域的最大最小经纬度,获取其所覆盖的网格区域,从而获取勾画区域内终端信息。
3.2 基于终端id的索引
在景区管理平台中,各类型id的命名方式为MXXYYYYYYY,XX表示终端类型,YYYYYYY表示该终端编号。例如第1号手持管理终编号为M090000001,“09”为手持管理终端类别号,“0000001”为该手持管理终端的序号。根据终端编号命名特点,以终端类型号索引。如图4所示。
图4中,每个终端类别号对应的内存区域连续、有序存放该类别终端的信息,信息包括终端id号、经纬度以及所属区域。当进行指定终端位置查询时,根据终端类别可找到该类别终端实时位置存储内存物理区域,同类型终端在存储区域内按顺序排列。在查找特定终端时,只需进行1+logn次寻址即可找到,n为指定类型终端数。
图4 基于终端id索引
基于终端id索引能较快地对指定终端位置进行查询,同时也支持某一类终端的实时位置信息的查询。
当新的终端位置信息到来时,通过基于终端id的索引获取该终端所属的历史区域,查找该历史区域经纬度,如果该终端还属于该区域,则直接修改终端的位置信息,如该终端不属于该区域,判断该终端是否属于该区域的临近区域,通常情况下根据终端位置信息上报频率,终端所处的新区域一般为其最近所处区域的临近区域。
通过利用九寨沟旅游风景区的特点以及终端id号的特点,景区管理平台建立了两种有效的索引机制,实现终端实时位置信息查询与统计分析的快速处理,为景区管理平台其他应用打下较好的基础。
4 位置数据存储
系统中的数据存储服务器一方面需要完成位置数据以及业务数据的存储,另一方面需要向终端、PC客户端提供相应的查询服务。系统顺利运行需要数据存储服务器在效率上能支撑上述功能的完成。由数据存储服务器所需提供的功能可知,大部分查询和插入工作集中在同一数据表上完成,因此当数据插入频繁发生时,会导致数据库表产生锁操作,从而降低服务质量,特别是在客户端存在数据分析相关需求时。特别是,当系统持久运行时,数据库中数据增加,将极大地降低数据服务效率。因此,系统如何高效地实现数据存储是系统能否顺利运行的关键。
4.1 数据库表结构设计
本系统数据库表结构设计原则如下:
① 确保数据服务效率,对数据表进行水平划分;
② 由外部程序来确保数据一致性;
③ 根据数据特点,设计表字段存储格式,避免不必要的存储开销。
结合上述设计原则,将数据库表分为两类:基础业务信息表和位置数据表。对位置数据表按照时间字段进行水平数据划分,本系统结合数据库管理系统的实际能力,将历史位置信息表水平划分,每5天创建一个历史位置信息表,更好地避免了查询过程中表数据被锁的情形,提高查询效率。
4.2 位置数据高效插入
随着终端使用量增加,单位时间内上报的位置信息会不断增加。结合业务需求:历史数据统计分析并不需要较高的响应时间,位置数据实现高效插入应遵循如下原则:
① 节省系统资源,避免滥用数据库连接;
② 降低数据库查询操作失败带来的资源消耗。
根据上述原则,利用数据库新特性[12],采用批量数据插入的方式完成了数据的高效存储。
5 结束语
目前,上述解决方案已经顺利地集成到九寨沟北斗智慧景区位置服务系统中,系统已经正常运行。在系统容量方面,当前系统已具备顺利接入大于50 000终端的能力;在位置查询方面,系统每秒能完成12 000左右实时位置查询能力,且查询响应时间小于2 s。通过上述解决方案的实施,九寨沟北斗智慧景区位置服务系统已经达到景区位置服务的需要。
位置数据管理是位置服务系统的关键内容。位置数据管理的有效性直接影响位置服务系统的系统可用性,也直接影响位置服务质量。在“北斗智慧景区位置服务系统”中,通过有效的信息协议设计、实时数据管理和位置数据高效存储等关键问题的解决,该系统实现了有效的位置数据管理,通过有效的数据管理,实现了景区内车辆、人员、基础设施的无缝连接和协调,提升了景区的管理效率和游客服务质量,为景区的信息化发展、智慧景区建设打下了坚实的基础。
[1] 陶 云,朱 芳.基于游客体验的智慧景区建设探讨一以自然景区为例[J].当代旅游,2013,3(10):34-39.
[2] 裴盈盈,袁国宏.智慧旅游浅析[J].当代经济,2012,8(5):356-371.
[3] 孟小峰,慈 祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(1):146-169.
[4] 陈 康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009,20(5):1 337-1 348.
[5] 陈海明,崔 莉,谢开斌.物联网体系结构与实现方法的比较研究[J].计算机学报,2013,36(1):168-188.
[6] 罗军舟,吴文甲,杨 明.移动互联网:终端、网络与服务[J].计算机学报.2011.11,34(11),2 029-2 051.
[7] 金 波.浅谈智慧景区标准化建设[J].中国标准化,2014(3):96-99.
[8] 周傲英,杨 彬,金澈清,等.基于位置的服务:架构与进展[J].计算机学报,2011,34(7):1 165-1 171.
[9] Rao B,MIINAKAKI L.Evolution of Mobile Location-based Services[J].Commmunications of The ACM,2003,46(12):61-65.
[10]RANKIN P J,GRIFFITHS J C.Distributed Location Based Service System:US,US6879838 B2[P],2005.
[11]DUI D,EMMERICH W.Compatibility of XML Language Versions[J].Lecture Notes in Computer Science,2003,2649:148-162.
[12]NIELSEN P,PARUI U.Microsoft SQL Server 2008 Bible[M].John Wiley & Sons,2011.
郑迎春 女,(1987—),硕士,工程师。主要研究方向:位置服务。
王 腾 男,(1980—),博士,高级工程师。主要研究方向:数据管理、位置服务。
Location Data Management in Beidou Smart Scenic Spot Location-based Service System
ZHENG Ying-chun1,2,WANG Teng1,2,YUAN Yong-wei1,2,DU Kai1,2,ZHANG Xiao-xu1,2
(1.StateKeyLaboratoryofSatelliteNavigationSystemandEquipmentTechnology,ShijiazhuangHebei050081,China;2.The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China)
The location data management is a key componet in Beidou scenic spot location based service system and supports the whole system operating.In view of service requirements in developing Jiuzhai Valley Beidou smart scenic location service system,this paper proposes the corresponding solutions for such key technologies as high-speed data insertion and high-efficency location query,and integrates these solutions into Jiuzhai Valley Beidou smart scenic location-based service system.The test and running results prove the availability of the proposed solutions.
Beidou satellite navigation system;smart scenic spot;LBS;scenic spot management
10.3969/j.issn.1003-3106.2016.11.04
郑迎春,王 腾,袁永卫,等.北斗智慧景区位置服务系统的位置数据管理[J].无线电工程,2016,46(11):13-16.
2016-08-15
国家高技术研究发展计划(“863”计划)基金资助项目(2015AA124001)。
F426.5
A
1003-3106(2016)11-0013-04