基于云计算的物化探信息服务系统应用研究
2019-01-16吴文鹂王永志郭盈宇陈小红
冯 斌, 吴文鹂, 王永志, 梁 萌, 郭盈宇, 陈小红
(1.中国地质科学院 地球物理地球化学勘查研究所,廊坊 065000; 2.吉林大学 仪器科学与电气工程学院,长春 130061;3. 北京超维创想信息技术有限公司,北京 100086)
0 引言
物化探数据与其他地质调查专业数据相比,有着数据类型繁多、格式复杂和数据量大等特点[2]。随着地质调查工作的不断开展、数据采集技术的不断进步,原有的物化探数据管理、应用与服务,也面临着新的需求,主要表现在:
1)多源异构物化探数据管理的需求。物化探工作手段多样,仪器种类庞杂,存储格式各异,数据存在很多异构的问题,如何满足结构化和非结构化的存储和管理成为亟待解决的问题。
2)海量物化探数据高效存储的需求。随着业务的不断开展,数据的不断累积,传统的单机版服务器所能提供的有限资源往往不能满足数据存储的要求。
3)物化探资料挖掘与二次开发利用的需求。随着物化探资料的不断积累,形成了大规模的数据集,这些资料如果不进行深度开发和利用,其潜在的价值就无法被挖掘出来。
4)物化探信息服务的需求。物化探数据种类繁多、数据量增长迅速、应用复杂,给物化探信息的共享和服务提出新挑战[3]。
云计算技术作为目前最新的高性能计算技术,具有成本灵活可控、资源利用率高、弹性计算和存储等多方面优点,使其在存储、处理复杂结构的数据时具有较大的优势[4]。中国地质调查局于2017年初启动了“地质云”建设,旨在依托云计算、互联网+、大数据等信息技术,消除数字鸿沟,整合共享数据资源,建成国内权威的地质大数据中心和“地质云”服务平台体系,实现地质信息的开放与共享。物化探数据作为地质大数据的重要内容,是“地质云”建设不可缺少的一部分。
参照组使用基础护理,保持患者的病室干净整洁,定期消毒,提供心理护理,实验组除了以上的护理内容还增加了优质护理,主要有以下一些护理内容:①对传统护理观念进行转变。对护理人员进行要求,以人为本,加强护理人员的健康培训,建立以患者为中心的护理思想,和患者沟通交流,了解患者的需求[3]。②保为患者提供舒适安静的治疗和护理环境。③强化责任护理以及优质护理。早班护理每组有 名护理人员,组内护理工作3有组织分配,管理协调,将护理计划进行划分,分层次和等级[4]。
为此笔者面向物化探数据管理和共享的应用需求,结合地质云对专业节点建设的相关要求,在云计算框架下,对物化探信息服务系统进行了设计,实现了各类物化探数据的入库、管理、检索、GIS制图、可视化、分析等应用服务。
1 物化探数据情况分析
依托地质调查工作获得了丰富的地球物理、地球化学勘查数据,根据调查和研究工作的阶段不同,物化探数据又可以划分为原始数据和产品。原始数据主要有地面物探数据(重力、瞬变电磁测深、大地电磁测深、磁测、地震)、航空物探数据(航磁、航电、航放)、物性数据(密度、磁化率、极化率、剩磁强度等)、地球物理测井数据、土地质量地球化学数据及区域地球化学数据;对原始数据二次开发利用后形成的主要产品有物探基础图件(重力异常图、重力推断解释图、磁异常剖面图、电阻率断面图、地球物理测井综合图、地震解释剖面图等)、化探基础图件(地球化学等值线图、地球化学异常图等)及成果报告。具体内容及类型如图1所示。在数据格式方面,有MapGIS和 ArcGIS 矢量数据、关系型数据库、SEG-Y、GRID、文档和图片等。
图1 物化探数据分类Fig.1 The classification of geophysical-geochemical exploration data
图2 物化探信息服务云架构Fig.2 Cloud computing architecture of geophysical-geochemical exploration information platform
2 系统设计
2.1 物化探信息服务云架构设计
根据“地质云”节点建设的需求,以及对物化探数据情况的分析,物化探信息服务平台的整个架构层次从底向上分为基础设施即服务层(IaaS)、数据即服务层(DaaS)、平台即服务层(PaaS)、软件即服务层(SaaS)[5-7](图2)。
1)IaaS层:负责提供基础设施资源,包括计算资源、数据存储资源和网络资源。该层分为物理资源层和虚拟资源层。其中,物理资源层由服务器、存储设备、网络设备组成;虚拟资源层由操作系统内核、虚拟机及虚拟化工具组成,通过虚拟化工具把物理资源层的物理设备变成统一的虚拟资源池,供上层服务调用[8]。
2)PaaS层:是指将软件研发的平台作为一种服务,为云应用提供开发、运行、管理和监控的环境[9],云平台的用户就可以申请这些计算单元用以部署和运行应用程序。
3)DaaS层:该层为数据中心,主要是结构化数据和非结构化数据的存储和管理,包括基础地理、重磁电勘探数据、地震勘探数据、地球化学测试分析数据、成果图件、专题报告等。
4)SaaS层:这层的作用是将产品和数据以基于Web的方式提供给用户。
从用户角度而言,这四层服务之间关系是独立的,因为它们提供的服务是完全不同的,而且面对的用户也不尽相同。但从技术角度而言,这四层之间的关系并不是独立的,而是有一定依赖关系的,SaaS层的产品和服务不仅需要使用到SaaS层本身的技术,而且还依赖PaaS层所提供的开发和部署平台或者直接部署于IaaS层所提供的计算资源上, PaaS层的服务是建立在DaaS层的数据和IaaS层的基础设施服务之上的,同样,DaaS层的构建也依赖于IaaS层的基础设施。
2.2 系统功能设计
建成后的系统应集数据入库、管理、计算和共享服务于一体,具有对各类物化探数据的入库、查询、检索、处理、审批、下载等功能,满足现有数据管理需求,同时支持多用户、多任务并发访问,满足不同用户对数据资源的快速检索需求。检索方式包括目录导航、关键词查询、地图查询等方式查询自己所需要的资源。元数据搜索可提供语义匹配的关键词搜索,元数据检索支持基于工作程度、形成时间和资料类别的检索与筛选功能,检索结果以列表的形式呈现。地图搜索提供多边形查询、关键词语义匹配的元数据检索功能,并以地图空间可视化的方式呈现搜索结果的空间分布。系统可根据用户搜索的情况,自动推荐相关数据资料信息。系统应能够对物化探数据进行分布式计算处理,解决复杂算法对大内存、大计算的计算需求。
2.3 数据存储设计
数据层主要包括结构化和非结构化数据的存储,主要包括基础地理、地震勘探、地面重磁电探测、航空物探数据(电、磁、放射性)、化探数据(岩石、水系沉积物、土壤)、文献等数据的存储。采用具有空间扩展的大型数据库(Oracle、SQLServer)来存储结构化数据。空间矢量数据库(ArcGIS、MapGIS)存储各类地学数据矢量数据,采用NoSQL数据库(HBase、MongoDB)保存非结构化数据(文档、图件、原始地震数据SEG-Y)[10](图3)。
图3 数据存储方式Fig.3 Data storage mode of platform
2.4 数据服务接口设计
数据服务构建于数据库之上,实现对数据库的访问,对外提供数据服务。数据服务与数据库的关系,可以是一对一,也可以是多对一 (多个数据服务,单个数据库),还可以是多对一(一个数据服务,多个数据库),其适应范围相当灵活。具体配置的选择需要根据提供数据的规模和访问要求进行灵活配置[11]。物化探信息服务按数据类型有空间数据服务、非空间数据服务;按网域范围有内部服务接口、外部服务接口;按接口技术分为WCF、WFS、WMS、WMTS等。表1列出了多级、各类服务接口列表。
3 系统实现
3.1 云计算中心基础设施环境
本文搭建了物化探数据云计算中心的基础设施环境,共配置了四台服务器、一套存储设备、一套云管软件和网络设备若干(交换机和防火墙等),共同构成了融合资源池的基础架构。其中两台服务器用于管理节点配置,两台服务器用于节点计算,存储设备用于云存储。云管软件用于云平台资源的虚拟化和资源管理,本次工作采用的云软件为华为FusionSphere。通过云软件,对计算、存储、网络等物理资源进行虚拟化,提供了统一的计算、存储、网络资源池,同时提供了本地的基础运维能力,包括对本地基础设施的告警、性能、拓扑和监控等。
3.2数据服务系统
在云服务中心基础设施环境的基础上,开发和部署了基于C/S和B/S架构的物化探数据服务系统。开发工作以Visual Studio 2010作为开发工具,基于.NET的Web Service编程实现;数据存储采用ArcSDE空间数据引擎、SQLServer大型关系数据库及NoSQL数据库;地图服务器采用ArcGIS Server,发布各类地图服务到服务器,将所有的服务统一注册到服务中心。B/S架构的数据服务系统通过网络浏览器提供基于电子地图的空间数据服务。
浏览器端通过HTTP、SOAP等协议与云数据服务中心进行通信、交互,服务中心通过HTTP协议调用服务,将结果返回前端,浏览器端对服务调用返回的结果进行处理后以地图、表格、文档等多种形式显示(图4);C/S架构的数据管理客户端为物化探数据提供了便捷、友好的数据录入、编辑、自定制格式批量导入、数据查询、可视化分析、统计和下载等功能, 使用户能够方便、快捷地将数据录入到数据中心, 并且对数据进行检索和共享(图5)[19]。
表1 物化探信息服务接口列表Tab.1 Services lists of geophysical-geochemical exploration information
图4 物化探数据服务界面Fig.4 Interface of geophysical-geochemical exploration data service
3.3 数据计算分析系统
在云计算中心环境的基础上,使用虚拟化技术创建了12台虚拟机(每台24核处理器,64GB内存),基于容器技术(Docker)搭建了可实现并行计算所需的弹性虚拟化集群,并采用开源容器编排工具将地球物理并行程序部署在该集群上,实现了地球物理数据分布式计算系统[20]。
通过在分布式计算系统部署大地电磁法(MT)三维有限差分反演并行程序(图6), 并用实测数据进行计算测试后,发现基于分布式多节点运行机制, 有效的提高了计算效率。解决了对大内存、大计算的计算需求, 可为科研和调查提供支撑。
图5 物化探数据管理界面Fig.5 Interface of geophysical-geochemical exploration data management
图6 基于分布式计算集群的MT三维反演Fig.6 MT 3-D inversion software based on distributed computing cluster system
4 物化探数据服务系统关键技术
4.1 虚拟化技术和Docker
虚拟化是一种资源管理技术。它是将计算机的各种实体资源,如:服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用更好的方式来利用这些资源[12]。虚拟化的目的是为了在同一个主机上运行多个系统或应用,从而提高系统资源的利用率,并带来降低成本、方便管理和容错容灾等好处。本文搭建的物化探信息服务云平台提供了基础的计算、存储和网络虚拟化能力。通过虚拟化软件(华为FusionSphere),对计算、存储、网络等物理资源进行虚拟化,提供了统一的计算、存储、网络资源池。
从实现形式上虚拟化技术分为硬件虚拟化技术和软件虚拟化技术。而Docker属于软件虚拟化技术中的操作系统层虚拟化技术,它是一个应用容器引擎,Docker让开发者可以打包他们的应用及依赖环境到一个可移植的容器中,然后可以将这个容器快速部署开发、测试或生产环境中。在物化探信息服务云平台中,Docker为创建分布式计算节点提供了容器,从而利用更加节省的硬件资源提供了更多的计算资源。
4.2 信息服务汇聚及协同计算
云计算服务中心采用“一站式”服务模式实现来物化探信息服务管理。云服务中心包括物化探数据存储中心和云服务计算中心。所有的空间服务、非空间服务统一注册在云计算中心,形成了一个虚拟资源池,统一管理所有的虚拟化资源,可对外提供数据服务和计算服务[12-14]。其中数据服务实现对后台云存储内数据访问,计算服务既可以是数据服务的消费者,也能直接访问后台数据。云计算服务中心的资源汇聚模式,由云计算服务资源管理中心(FusionSphere)统一管理各种资源的生命周期,服务资源可以是GIS服务器、数据库服务器、应用服务器等[15],GIS服务器提供图形服务,数据库服务器提供数据存储等服务,应用服务器提供信息检索、制图及可视化、数据挖掘等计算服务。这些服务汇聚于云计算中心上,提供统一出口。所有这些服务通过云计算服务中心来进行协同。以空间服务为例,空间服务部署在图形服务器上,采用OGC标准的空间服务,由云计算服务中心完成各类空间服务资源注册、搜索、更新、销毁等全生命周期统一管理。客户端不用关心服务资源扫描、解析、访问、跳转、计算等过程,更不关注后台数据访问和处理方法,呈现数据资源、计算资源的虚拟化,从而达到与数据来源、格式及内容无关,实现跨平台的、跨域的数据信息服务。
4.3 物化探数据云存储
物化探数据包括结构化和非结构化数据,在云平台中采用Oracle、SQL Server等大型商业数据库存储结构化数据,采用NoSQL数据库(如HDFS、Mongo、HBase等)保存非结构化类型的物化探数据。NoSQL是一个云计算背景下蓬勃发展的分布式、非关系型数据库系统,支持半结构化、结构化数据的高并发读写,存储Key-Value键值、列族、文档、图等多种数据类型,其产生就是为了解决大规模数据集合多重数据种类带来的挑战[16-17]。NoSQL本质上就是为分布式系统设计的,支持横向扩展,能够适应飞速增长的海量数据,并且在分布式架构下可以达到很好的性能。NoSQL的以上特性对于解决多源异构物化探数据的存储与管理问题是非常有适合的。
4.4 物化探数据云分析
物化探数据的云分析是指在云平台上运行数据处理与分析算法,发现隐藏在物化探数据中的潜在价值的过程。在云数据中心存储的各类异构数据构成了数据分析的原始数据,基本过程包括数据准备、数据处理、解释和知识运用。数据处理是整个分析过程的关键,根据数据的类型和处理的目标要求选定合适的算法,从原始数据中提取并转换成用户需要的知识。就云计算框架而言,现有物化探数据处理算法不能直接在云计算平台下运行[18],因此需要将传统的数据处理算法改造为基于云计算平台的并行处理算法。
5 与“地质云”平台的对接
中国地质科学院地球物理地球化学勘查研究所作为“地质云”建设的物化探专业节点,建立的物化探信息服务系统平台应与“地质云”平台实现应用对接,并持续向地质云推送数据和产品。对接以注册接口的形式完成。
5.1 物化探数据服务云接口
将全国地球化学基准数据、全国岩石物性数据库、东部平原土壤基准值数据、东部岩石地壳丰度值等基础数据库发布为空间数据服务,提供多边形查询接口,可对区域内数据进行分页查询,返回JSON格式结果数据,供“地质云”平台进行集成对接(图7)。物化探数据服务云接口包括:关系型数据库服务接口(增、删、改、查)、空间型数据服务接口(WMS接口、WMTS接口、空间查询接口)和文件传输服务接口(数据下载接口、数据上传接口)。
5.2 物化探信息产品服务云接口
根据“地质云”接口要求,按照产品分类和数据结构规范,开发了物化探图件(GIS)、地质图件(图像)、地学科普(视频)、软件、仪器设备(元数据)、技术方法与标准、出版物(文档)等物化探信息产品服务接口,供“地质云”平台进行集成对接。物化探信息服务产品云接口包括产品元数据、下载、产品高清切片浏览等接口。
6 结论
笔者面向物化探调查和研究工作的应用需求,为了实现多源异构物化探数据存储、管理和服务,利用云计算技术构建了物化探数据云服务架构,实现了物探、化探数据的入库、管理、检索、计算、 下载等服务,并完成了与中国地质调查局“地质云”应用对接,实现了物化探数据和产品在“地质云”平台的共享服务,为全国基础地质研究、矿产资源规划部署以及生态环境评价等领域提供了便捷的云端物化探数据服务。
图7 全国地球化学基准数据在地质云平台的服务Fig.7 National geochemistry benchmark data in geocloud platform service