测绘地理信息   2019, Vol. 44 Issue (2): 45-48
0
基于私有云的自然资源与地理空间综合信息库设计[PDF全文]
许大璐1, 彭瑞1, 陈进2, 秦红斌2    
1. 浙江省地理信息中心,浙江 杭州, 310012;
2. 北京天下图数据技术有限公司, 北京, 110037
摘要: 综合信息库是自然资源与地理空间数据库的核心数据库,数据来源广泛、种类丰富、内容充实,具有海量、多源、多时相等大数据特征。通过对综合信息库特点和云计算模型的分析,进行基于私有云的综合信息库设计,实现服务器、操作系统、数据库、存储等资源的高效整合,满足综合信息库数据存储管理与共享访问需求。
关键词: 云计算     数据库     OpenStack     大数据    
Design of Natural Resources and Geographic Space Integrated Database Based on Private Cloud
XU Dalu1, PENG Rui1, CHEN Jin2, QIN Hongbin2    
1. Geomatics Center of Zhejiang, Hangzhou 310012, China;
2. Peace Map Co., Ltd., Beijing 110037, China
Abstract: Synthetical information database is the core of Natural resources and geospatial fundamental database, its data are rich and various, having the feature of big data: mass, multi-source and multi-temporal. Through the analysis of the characteristics of the integrated information and the model of cloud computing, This paper has studied the design of natural resources and geographic space integrated database based on private cloud, and its design achieves integration of servers, operating systems, databases and storage, etc. efficiently, to meet the requirement of effective data storage management and shared access.
Key words: cloud computing     database     OpenStack     big data    

自然资源与地理空间综合信息库(简称综合信息库)是自然资源与地理空间数据库的核心数据库,数据来源广泛、种类丰富、内容充实,具有海量、多源、多时相等大数据特征。综合信息库不仅是海量数据,还是一种理念与思维,是在当前信息技术的支撑下,完成从大量、快速、复杂、多源的信息中提取有用价值的技术处理手段,其中,最为核心的是需要挖掘出数据中蕴含的潜在价值[1]

云计算是一种新兴的商业计算模型[2],通过融合大量存储资源、计算资源和应用,将高速网络作为其承载的基础架构,应用虚拟化技术[3]向消费者提供各种服务。目前,云计算技术已经成为IT技术发展的一个重要趋势[4]

基于云计算的综合信息库具有资源利用效率高、可弹性伸缩等优势[5]。云计算将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算、存储和信息服务[6-9], 有效杜绝资源浪费。

研究设计基于私有云的综合信息库,采用适宜的系统结构与云计算模式,可获得高效的数据存储管理与访问性能、消除信息孤岛,并能减少重复建设、促进基础设施标准化、满足用户数据共享需求[10]

1 综合信息库总体结构和需求分析

在云计算平台的基础上建设综合信息库,包括自然资源、可持续发展评价预警、生态环境评估、资源安全动态评估、遥感影像、基础地理与区划、重大基础设施及生态工程监测、资源环境遥感动态监测、自然灾害监测预警突发事件应急反应等9个内容,通过服务层,如Web地图服务(Web map server,WMS)、Web要素服务(Web feature server,WFS)和Web地图切片服务(Web map tile service,WMTS)等,向各用户单位提供数据访问服务。其总体结构如图 1所示。

图 1 综合信息库总体结构图 Fig.1 General Framework of Geographic Space Integrated Database

综合信息库中包含大量涉密数据,其安全风险涉及到包括数据安全、服务安全、虚拟化安全等诸多方面[11]。因此,综合信息库应部署在一个私有的云计算环境中[12]。相比公有云,除安全性以外,私有云可以更加方便地进行硬件资源的控制与调度。

云计算包括基础设施即服务、平台即服务、软件即服务和数据即服务4个层次。数据即服务是指与数据相关的任何服务都能够发生在一个集中化的位置,如聚合、数据质量管理、数据清洗等,再将数据提供给不同的系统和用户,而无需再考虑这些数据来自于哪些数据源,使用者无需购买数据,也无需关注数据如何更新、采集或维护,只需按流量的方式付费,可节约成本[13]

综合信息库可以归类为云计算的数据即服务DaaS(data as a service),并可以在逻辑与实际部署上分为数据层、服务层两部分内容。

1) 数据层分析。数据层是海量空间信息存储和访问的主容器,数据层具有高数据IO(input output)、高数据吞吐量的特点,是典型的数据密集型操作,数据层应提供足够的吞吐带宽及低延迟随机IO响应能力。另外,数据层还应能够灵活横向扩展存储空间与访问能力,以满足数据量持续增长。

2) 服务层分析。服务层位于外部的应用系统与数据层之间,是外部应用系统访问数据的关键中间媒介。服务层包括访问协议解析、数据聚合与动态渲染两项内容。一般协议解析CPU(central pocessing unit)计算压力不大,但数据聚合及动态渲染是一个计算密集型操作,可以在瞬间占用大量的CPU计算资源,特别是当大量多用户并发时,需要进行队列控制与负载均衡。

2 云计算模型分析 2.1 服务器整合模式

服务器整合模型是基于服务器虚拟化Xen架构而衍生出来的云计算模式。Xen使用虚拟化技术,在同一台机器的硬件上,同时运行多套OS(operate system)及部署不同的应用。各个应用之间既能共享硬件的资源,又互不干扰对方的运行,进而达到提高资源利用率的目的。

服务器整合模型的优势是可以提高硬件资源的利用率,虚拟的OS可以在不同的物理服务器之间进行迁移,具有负载平衡能力,并易于横向扩展。缺点是存在一定的性能损耗,需要控制好单个物理服务器的负载,特别是数据IO密集型负载,连续负载过大时易导致整个服务器出现响应迟缓甚至宕机。

2.2 操作系统整合模式

操作系统整合模型是操作系统不虚拟化,在一个操作系统中安装一个或多个数据库系统实例,并由操作系统管理与分配存储空间。不同物理服务器的数据库系统通过中央控制系统,可以组成一个逻辑上分布式的、池化的大型数据库系统,可以在不同的物理服务器间进行负载均衡与故障转移。由于其直接运行在在物理服务器上,不受虚拟服务器性能缺陷的限制,可以具有更高的性能与稳定性。

这种模式是在数据库服务层面,解决海量结构化数据并行存储与访问而形成的逻辑分布式云数据库,具有良好的可伸缩性。

所谓逻辑分布式是指各数据库间的数据是相对独立的,数据在不同数据库间的存储分配以及访问需要通过一个中间层,即中央控制系统来调度,所有对数据的访问请求由中间层进行接收与转发。

2.3 数据库整合模式

数据库整合模型通过一个高度整合、协调一致的数据库集群系统实现的云计算模型。数据库整合模型具有以下3个重要特点:①各分布式节点的存储由数据库直接管理与分配;②各分布式节点通过超低延迟、超高带宽的硬件网络互联,如Infiniband 40 GB网络实现了数据访问请求在各分布式节点间的快速流动与分配;③各分布式节点采用对等结构,不存在固定的中央节点,具有非常高的可用性。目前,OracleRAC、Microsoft Azure SQL等属于采用此种模式的代表性系统软件。

综上所述,不同的云计算模型,适应于不同的使用环境。服务器整合模型基于服务器级别完成云资源调度和管理,更多适用于需要快速部署和变更系统的场景;操作系统整合模型实际上是将服务器集群管理与数据库分离结合起来的模式,即利用服务器集群提高可用性,将各应用软件使用的数据库资源相互独立;数据库整合模型是整合度最高、性能最佳的云数据库模型,但配置受硬件与系统软件成本的限制。

3 综合信息库设计 3.1 物理架构

基于综合信息库运行特点,考虑建设成本与性能,本文选择合适的云计算模式和开源软件进行基于私有云的综合信息库设计,其物理架构设计如图 2所示。

图 2 物理架构图 Fig.2 Physical Framework of Geographic Space Integrated Database

整个物理架构由计算节点群、数据节点群、数据网络、服务网络、应用网络组成,每个节点计算机均配置两块网卡,计算节点没有存储需求,仅配置普通硬盘,每个数据节点内置RAID(redundant arrays of independent disks)磁盘阵列。

1) 计算节点。运行中间件,提供计算服务。

2) 数据节点。运行数据库系统,提供数据服务。

3) 应用网络。计算节点通过该网络与外部应用系统交互。

4) 服务网络。计算节点间通过服务网络交互,计算节点与数据节点间通过服务网络交互。

5) 数据网络。数据节点间的专用交互网络。

本物理架构的一个重要特点是采用了3层物理网络模式,每个节点群拥有独立的内部高速网络链路,集群节点间的高速数据交换、集群间的数据访问通过不同的网络链路进行,可有效避免网络IO争用、降低网络访问延时、提高数据吞吐能力,并对应用、服务、数据间的网络链接具有隔离控制能力,增强了安全性。

3.2 软件架构

综合信息库的软件架构设计如图 3所示。

图 3 软件架构图 Fig.3 Soft Framework of Geographic Space Integrated Database

1) 云计算模式选择。软件架构包括服务层、数据层两部分,服务层主要运行计算服务,故采用服务器整合的云计算模式,以虚拟化方式实现弹性计算;数据层提供数据存储访问,属于IO密集型,故采用操作系统整合的云计算模式,采用本地大内存存储,以高速缓存提高性能,通过横向扩充物理主机实现弹性。

2) 服务层设计。服务层主要包括OpenStack组件、RD(receive delivery)服务、GeoServer服务和linux虚拟机。

RD服务即接收与转发服务,运行在Linux虚拟机中。该服务具有两项重要功能:①监听服务层所有GeoServer服务节点的运行状态,包括可用性与负载;②接收、转发外部应用系统的访问请求,并根据GeoServer服务节点的负载情况进行负载均衡。为避免单点失效,目前RD服务采用Active-Standby的双节点冗余的模式,两个RD服务节点运行于不同的Linux虚拟机之上,为提高可用性,可将Linux虚拟机部署在不同的物理机上。

GeoServer服务提供了具体的空间数据访问协议,每个Linux虚拟机中运行一个GeoServer服务实例。Linux虚拟机运行在OpenStack平台之上。

3) 数据层设计。解决数据库扩展能力的方法主要有数据分片(sharding)和读写分离。

① 数据分片的原理就是将数据做水平切分,类似于Hash分区的原理,通过应用架构解决访问路由和数据合并的问题。通过横向扩展来突破单节点数据库服务器的IO能力限制,解决数据库扩展性问题。

② 读写分离将数据的写入、读取操作分离到不同的专用数据库节点中。写入数据库只提供新数据的写入操作,只读数据库只提供数据访问服务。通过减少IO冲突提高数据库的处理能力与响应速度,也可以在写入与只读数据库上应用数据分片策略。采用读写分离的缺点是数据一致性延迟问题。更新到写入数据库的数据,在后台同步到只读数据库时,存在着时间延迟。

数据层设计中采用了逻辑读写分离和大颗粒度数据冗余分片的策略。

① 逻辑读写分离。不将数据库节点固定分为写入数据库与只读数据库,所有数据库节点都可以写入。只是在进行写入操作时,通过DMC(database manager center)服务按照冗余度、当前可用节点数等参数,锁定特定的多个数据库节点进行写入操作,写入完成后再解除锁定,这些数据库节点可以继续提供数据访问服务。这种模式的优点是写入完成后不需要做数据同步。缺点是写入过程中,锁定数据库节点不提供外部数据访问服务。这种模式比较适合自然资源库这种按照一定时间周期进行密集数据更新的场景。

② 大颗粒度数据冗余分片。在数据的水平切分上,不是以数据库文件数据块为颗粒度在不同数据库节点上散列,而是以图层级的空间数据集为最小数据切分单位,把数据分散到不同的数据库节点中。同时,根据冗余度设定每个切分单位的镜像数据库节点数量。

数据层从结构上包含以下4个部分。

① DMC服务。提供所有数据库节点的管理服务,并维护一个内部元数据库,该库记录了数据在所有数据库节点中的分布情况。并在数据访问与写入操作期间,动态进行数据库节点的调度与负载均衡。

② 采用PostgreSQL提供空间数据库实例服务。

③ 空间数据存在本地存储设备中。

④ X86架构计算机及Linux主机操作系统。

数据层与服务层运行于虚拟机中不同,数据层直接运行在物理机宿主操作系统中,以保证最高的数据IO效率。数据层在部署上可以与服务层分开位于不同的物理机中,也可以把数据层、服务层部署在同一个物理机中。部署在同一个物理机中可以充分利用计算机硬件资源,避免资源闲置。

4 结束语

考虑到对数据的安全性和服务质量的有效控制,本研究采用了一种基于自有数据中心私有云建立云空间数据库的技术方案,其主要优势是度灵活高且扩展性好,具有较好的可靠性与安全性,可完全满足综合信息库海量空间数据高效存储、管理与数据访问需求。同时,也为自然资源与地理空间的数据分析挖掘应用提供更好的运行环境。

此技术方案对实施人员以及运维人员的技术水平的要求比较高,随着大数据和云计算技术的发展,私有云部署将成为类似综合信息库云部署的重要方向,用户能够轻松打造融合多种虚拟化和基础架构技术的私有云方案,其部署成本也会随之降低。

参考文献
[1]
边馥苓, 杜江毅, 孟小亮. 时空大数据处理的需求、应用与挑战[J]. 测绘地理信息, 2016, 41(6): 1-4.
[2]
张浩.MapReduce编程模型在云海量视频转码中的研究[D].成都: 成都理工大学, 2012 http://cdmd.cnki.com.cn/Article/CDMD-10616-1012499824.htm
[3]
Armbrust M, Fox A, Griffith R.Above the Clouds: A Berkeley View of Cloud Computing[D].Berldey: University of California, 2009 http://cn.bing.com/academic/profile?id=c110dea559560d0515e789656aa098ea&encoded=0&v=paper_preview&mkt=zh-cn
[4]
Weiss A. Computing in Clouds[J]. Net Worker, 2007, 11(4): 16-25.
[5]
孟凡荣. 浅谈基于云计算的GIS[J]. 科技创新与应用, 2013(19): 84.
[6]
Zhang Liang, Zhou Qun.Cloud Computing Open Architecture[C]. IEEE International Conference on Web Services, Baltimore, 2009
[7]
王鹏. 云计算的关键技术与应用实例[M]. 北京: 人民邮电出版社, 2010.
[8]
廖芳, 罗海燕. 地理国情普查数据库管理及服务系统建设设计[J]. 测绘地理信息, 2016, 41(4): 77-79.
[9]
陈志军, 许毅. 地理国情普查样本点影像处理软件开发浅谈[J]. 测绘地理信息, 2016, 41(4): 80-82.
[10]
卢耀武. 省级自然资源和地理空间基础信息库探索与建设[J]. 测绘与空间地理信息, 2012, 35(12): 83-85. DOI:10.3969/j.issn.1672-5867.2012.12.026
[11]
郭晶晶, 张秀山, 方堃, 等. 云计算及其安全性分析[J]. 信息与电脑(理论版), 2012(7): 31-32.
[12]
宋志丹. 云计算在共享服务平台中的应用[J]. 测绘地理信息, 2013, 38(1): 70-72.
[13]
吴边, 吴信才. Cloud GIS关键技术研究[J]. 计算机工程与设计, 2011, 32(4): 1342-1346.