陈志辉 李显良,2
(1.湖南体育职业学院,湖南长沙410019;2.中南林业科技大学,湖南长沙410004)
体育场馆空间信息云存储与服务技术研究①
陈志辉1李显良1,2
(1.湖南体育职业学院,湖南长沙410019;2.中南林业科技大学,湖南长沙410004)
基于移动互联网的体育场馆管理与服务应用平台中需要海量的空间信息数据作为支撑.空间信息中包括海量的非关系型数据,传统的关系型数据库显然无法满足海量空间信息存储与服务的需要,而基于云计算的非关系型数据库与分布式文件系统却是有效的解决办法.针对体育场馆空间信息不同的数据形式,分别采用了不同的数据模型,同时为了提高数据的存储与服务性能,采用了集群技术.文章提出的体育场馆空间信息的存储与服务解决方案为体育场馆智能化管理与服务提供了有力的技术支撑.
体育场馆,空间信息,云存储,云服务,集群
随着移动互联网的发展与普及,人们对体育场馆的应用提出了更高的要求,各种基于移动互联网的体育场馆App应运而生,与其他行业一样,智慧体育的概念也逐步提上了日程.在智慧体育中,体育场馆的运营与管理是其中的一个十分关键的环节,关系到国家全面体育健身国家战略基础设施建设的规划与布局,同时也关系到普通大众如何方便快捷地享受到健身场地带来的各种便利服务,因此,体育场馆的信息化与智慧化就尤为重要而迫切.
综合各种关于智能型体育场馆的界定,智能型体育场馆是具备数字化、网络化与智能化的特点新型体育场馆,具备在线预订与移动支付、定位导航路径指引、WIFI室内自动定位、室外GPS无缝连接、兴趣目标位置查询搜索、车位查询、泊车服务、好友位置查询、移动社交、运动装备、视频教程、体育信息、赛事活动与个性化推荐服务等功能服务.综合以上提到的服务功能可以将智能型体育场馆的服务功能归结为到移动支付功能、体育场馆智能引导功能、信息查询平台与场馆信息管理平台功能等[1].
无论是体育场馆本身所处于的位置,还是在体育场馆内提供的路径导航功能与通过移动终端定位与导航周边体育场馆以及包括餐饮、泊车等在内的功能,都需要海量的地理位置信息作为数据支撑[2],而且需要对这些海量的空间信息进行高效的运算,这对数据库与服务器提出了很高的要求.传统的空间数据存储系统以及集中式存储管理,横向扩展困难、计算性能不足以提供高效的海量空间数据处理和服务能力[3].因此,需要借助云计算的分布式存储以及并行计算来解决体育场馆海量空间数据的存储与服务的需要.
基于云计算的体育场馆空间信息存储与服务模型是为解决海量体育场馆空间信息存储管理、多用户并发访问下的高效体育场馆信息服务以及体育场馆信息服务的稳定运行问题.云计算环境能够提供基础的、可靠的运行环境,但是针对具体的应用领域还需要构建相应的存储与服务系统.
体育场馆空间信息云存储与服务系统采用计算机集群技术作为基础软硬件基础设施,在云计算环境下构建基于分布式模式的海量空间数据存储、分析和服务集群系统,消除海量空间数据存储、高性能空间信息服务以及稳定性和健壮性等方面的瓶颈,实现高性能的空间信息服务[3].
系统由前端网关、分布式缓存、负载均衡器和内容分发系统构成,后端由空间数据存储集群、空间信息服务集群和空间分析处理集群构成(图1),结点之间通过千兆以太网进行连接[4].
图1 体育场馆空间信息云存储与服务总体架构
海量的体育场馆空间信息可以分为三大类型,一是以矢量与属性数据为代表的结构化数据,由于目前关系型数据库仍然是最适合存储结构化数据的数据库,因此将相关的结构化数据采用关系型数据库存储的形式,而对地形等栅格数据非结构化数据在进行瓦片化后采用NoSQL数据库存储,而对海量的视频等影像数据采用云计算的分布式文件系统来存储.
为了保障效率、提高资源利用率,对内容缓存、空间信息服务与空间数据存储在等众多服务采取负载均衡策略,因此在系统中设置了主备两台负载均衡设备.云计算的优势之一是高容错性,通过对关键节点实时监控以及设置备份节点的策略保障服务不中断.为了避免频繁地重复的I/O和CPU计算以造成系统性能下降造成阻塞等情况的发生,通过设置内容缓存集群缓存用户最近频繁访问的热点数据,以避免请求直接提交到后端.空间数据存储集群实现分布式的空间数据存储管理,并实现空间数据的冗余备份,保证海量空间数据的存储管理和高效的访问.空间信息服务集群以服务的方式提供空间信息功能,同时集群技术也保证空间服务功能的高效性和稳定性[5].
空间数据可以分为矢量数据与栅格数据,根据两类数据各自的特点以及系统对数据的应用要求,采取不同的存储形式.同时针对体育场馆空间信息服务高并发的要求,采取数据库的集群的形式来实现海量空间信息的存储与服务.
2.1 矢量数据库集群
矢量数据和属性数据是结构化数据,并且查询检索复杂,因此采用分布式数据库集群的方式进行存储.系统采用读写分离的主从数据库集群模式,系统架构如图2所示.集群由一个读写(R/W)节点和N个只读(R)节点构成.
图2 矢量数据库集群架构
R/W节点可以执行数据的查询、读取、写入和更新操作,R节点仅能执行数据的查询和读取.R/W节点之间通过数据同步技术实现R/W节点数据到R节点的数据同步.多个R节点通过负载均衡器(Load Balance,LB)构成负载均衡集群.LB节点负责将用户查询请求分发到后端的R节点之上,通过多个R数据库的并行处理来提高存储系统用户并发性,多个R节点自动实现数据冗余[6].
2.2 栅格数据存储集群
图3 栅格金字塔模型结构图
在体育场馆信息中,有相当数量的平面图数据,而在使用这些数据时,往往并不需要一次性调取与计算整个平面图而至需要其中的一部分或者不同分辨率下的数据,如果采取直接存储图片的方法就会导致数据的读取与调用缓慢从而大大降低系统的性能.金字塔式的分层分片数据格式对数据进行处理后的存储与管理可以大大提高系统的效率.本文对体育场馆空间信息中的栅格数据采用栅格金子塔组织模式,将不同分辨率的栅格数据进行逐级四等分,由顶向底构成数据分辨率逐渐增高的金字塔模型如图3.
栅格金字塔数据结构简单、数据量大、访问量大,采用Key/Value类型NoSQL数据进行存储管理.金字塔中每一幅图像成为一个瓦片(Tile).NoSQL中,Key为瓦片在金字塔模型中的编码,Value为瓦片图像数据本身[7].
2.3 影像数据分布式存储集群
图4 栅格金字塔在NoSQL数据库中的存储模型
场馆空间信息中的矢量属性数据与地形瓦片数据分别采用数据库存储集群的模式来满足海量数据的存储以及高并发的需要,而对于海量的影像数据,本文采用云计算分布式文件系统存储技术.Riak是高可用性键值存储库,是一种高度可扩展的分布式数据存储,与另外两种流行的MongoDB和Cassandra分布式数据库相比,它在组织数据方面摒弃了向量时钟和相容散列等特性,Riak的数据模型更加灵活.在Riak中,在第一次访问 bucket时会动态创建这些bucket,Cassandra的数据模型是在 XML 文件中定义的,因此在修改它们过后需要重启整个群集.另一方面,Map/Reduce 作业只能使用 Erlang或JavaScript编写,Riak用Erlang编写的,而MongoDB和Cassandra是用通用语言(分别为 C++和Java)编写,Erlang从一开始就支持分布式、容错应用程序,所以Riak更加适用于开发NoSQL数据存储等应用程序以及支持并行计算.
场馆切片影像在Riak中以〈Key,Value〉对的方式存,Key为影像数据在金字塔模型中的编码,Value为影像数据本身.影像数据通过Riak数据库的分布式哈希算法散布在Riak集群的各个节点上.当用户访问影像数据时,根据Key的值在Riak中进行检索,然后提取Value的值,再将其返回给客户端.影像存储集群对影像数据进行存储和管理,实际数据存储对用户是透明的[8],如图4.
基于Riak分布式数据库的影像存储集群具有以下优点:(1)海量数据分布式存储.(2)高可扩展性和伸缩性:满足未来数据快速积累对存储系统扩展的要求.(3)自动数据备份:集群节点崩溃的情况下,仍然可根据备份恢复数据,避免数据的丢失.(4)高可用性:单个节点的失效不会影响整个存储集群的服务.(5)高性能:多节点协同计算,避免单个服务器计算资源、I/O资源和带宽资源的瓶颈,能够提供更高性能的服务.
图5 空间信息服务软件架构
体育场馆空间信息服务内核实现了基础资源的管理,包括服务资源、数据库资源、数据资源等,具体的服务则通过插件的方式进行实现,这种架构具有良好的可扩展性,当需要开发新的功能时候,仅需要开发新的服务插件,并注册到服务中,即可实现空间信息服务的扩展.同时,在服务软件内核中实现资源的管理也有效地保证了服务的运行的高效性.空间信息服务功能采用插件模式,便于系统功能的扩展,并以OGC标准服务贵方的方式发布.空间信息服务支持的功能包括WMS服务即空间制图服务;WFS服务即空间数据服务;WPS服务即空间分析服务以及WMS-T服务即栅格地图服务[9].
空间信息服务软件框架如图5所示.空间信息服务主要由以下模块构成:安全模块、管理模块与服务模块组成.安全模块负责系统安全认证,包括用户权限认证模块,权限管理模块和用户管理模块;管理模块负责空间信息服务的管理工作,由系统配置、运行时、系统监控、资源调度、日志管理等子模块构成;服务模块接收用户请求,并将其转发到后端的处理模块上进行处理.服务模块中,资源在资源池中运行,其生命周期由空间信息服务器进行管理.服务模块采用资源池的方式对资源的生命周期、资源调度等进行管理.资源池包括进程池、服务池、连接池等.资源池中的资源实现共享,由此节约系统资源,提升系统的服务能力[10].
前面提到为了提高数据的存储与运算效率,采用了数据集群的方式进行数据的存储.在体育场馆的空间信息存储与服务中,空间信息服务采用集群架构,以解决海量空间数据和多用户并发访问对空间信息服务带来的巨大压力,并获得高系统稳定性.空间信息服务集群架构如图6所示,集群主要由管理节点、服务节点、负载均衡、数据缓存、热备节点以及空间数据存储集群构成.
空间信息服务架构底层是连接的空间数据存储集群,管理节点负责集群服务的管理,包括服务管理、图层管理、数据源管理等.管理节点实现了完全集群化的管理,一处更新全网更新;服务节点提供具体的空间信息服务,如地图影像服务、WMS服务、WFS服务与WCS服务等;负载均衡服务结点通过负载均衡器连接起来,形成负载均衡集群,用户请求被分发到后端服务节点上面;数据缓存节点缓存频繁访问的空间数据,特别是瓦片地图服务的静态数据,数据缓存热点数据,避免请求提交到后端服务上,从而提高服务的性能;对于管理节点配置热备节点,备份节点监控主节点运行情况,在主节点宕机的情况下,接管主节点提供服务[11].
图6 空间信息服务集群架构
在体育场馆的智能化服务与管理平台中基于位置服务的应用需要以海量的地理空间数据为基础,面对海量的地理空间数据信息采用传统的数据存取与服务的方式根本无法满足高并发与实时性的需求,而基于云计算的分布式数据库存储、分布式文件系统以及在分布式基础上的并行计算已经在多个领域行业证明了其可行性与高可用性.本论文在分析了体育场馆空间数据的特点基础上,针对矢量属性数据、栅格数据以及影像数据采取了不同的数据存储方案,同时为了提高数据读写的效率采用了数据库集群技术.在空间信息服务方面,为提高空间信息服务的效率减少重复开发,设计了空间信息服务软件架构,新服务的开发采用开发插件的方式并注册服务即可实现.
[1] 周然.北京市体育场馆公共服务网络平台的功能开发研究[D].北京:北京体育大学,2015.
[2] Location-Aware Applications.LBS应用开发[M].北京:人民邮电出版社,2012.
[3] Barroso LA,Dean J,Holzle U.Web search for a planet:The Google cluster architecture[J].IEEE Micro,2003,23(2): 22-28.
[4] Marinm,Rodriguezma.A meta-index for querying distributed moving object database servers[J].Information Systems,2010,35(6):637-661.
[5] 王意洁,孙伟东.云计算环境下的分布存储关键技术[J].软件学报,2012,23(4):962-986.
[6] Lin J X,Chen C C, etal.Geo Ksgrid:A geographical knowledge grid with functions of spatial data mining and spatial decision[C].2011 IEEE International Conference on Spatial Data Mining and Geographical Knowledge Services(ICSDM),2011:121-126.
[7] 霍亮,杨耀东.瓦片金字塔模型技术的研究与实践[J].测绘学报,2012,37(6):144-146.
[8] 池子文,张丰.一种基于影像块组织的遥感数据分布式存储方法[J].浙江大学学报:理学版,2014,41(1):95-100.
[9] 陈崇成,林剑峰.基于NoSQL的海量空间数据云存储与服务方法[J].地球信息科学学报,2013,15(2):166-174.
[10] Schäffer B,Baranski B, Foerster T.Towards spatial data infrastructures in the clouds[J].Geospatial Thinking,2010,1(1):399-418.
[11] 章华军,朱美正.地理空间信息服务集群技术研究与实现[J].微计算机信息:测控自动化,2009,25(12-1):134-136.
Research on the Technology of Cloud Storage and Service for Stadium Spatial Information
CHEN Zhi-hui1LI Xian-liang1,2
(1.Hunan Sports Vocational College, Changsha 410019, China;2.Central South University of Forestry and Technology, Changsha 410004, China)
The management and service application platform for stadium, which is based on the mobile Internet, relies on massive spatial information data. There is massive non-relational data in the spatial information, while traditional relational database is obviously unable to satisfy the storage and service of spatial information. Consequently, based on the cloud computing, the non-relational database and the distributed file system come into being as an effective solution. Different data models are adopted to meet the needs of different data forms of the stadium spatial information. Meanwhile, the cluster technology is adopted in order to improve the storage and service performance of the data. The storage and service solution of the stadium spatial information provided by the article provides powerful technical support for the intelligent management and service of stadium.
stadium, spatial information, cloud storage, cloud service, cluster
2017-04-17
教育部人文社会科学研究规划基金项目(14YJAZH011);湖南省科技厅重点研发项目(2015SK2056);湖南省教育厅科研项目(14C0750)资助
陈志辉,E-mail:466792240@qq.com.
G818
A
1672-6634(2017)02-0094-06