基于数据盒的多源空间数据敏捷集成方法

2021-07-14 00:14王士成贾向阳
无线电工程 2021年7期
关键词:灌装空间数据蜂巢

李 峰,王士成,邱 政,杨 勇,贾向阳

(1.中国电子科技集团公司航天信息应用技术重点实验室,河北 石家庄 050081;2.武汉大学 计算机学院,湖北 武汉 430072)

0 引言

随着我国对地观测技术的发展,一方面造成了遥感数据体量的爆炸式增长,遥感产品种类、数据不断增加,另一方面也为遥感数据的存储管理、数据处理及共享服务带来了巨大挑战。当前我国遥感数据分散存储在多个数据中心,例如对地资源观测数据存储在中国资源卫星应用中心,气象观测数据存储在气象卫星应用中心,海洋观测数据存储在卫星海洋应用中心,不同卫星的遥感数据在存储格式、组织方式等方面存在较大差异[1-3]。

然而,在环保、减灾、农业、林业、地质和国土等行业中,数据需求广泛而多样,常常需要集成来自不同数据中心的不同类型的对地观测数据。集成方式通常首先使用在线文件下载或者离线复制等方式从不同的中心下载各种不同类型的数据,然后将数据汇聚在一起进行使用。将海量、多源、异构的数据集成在一起是一项工作量巨大的工作,一方面,需要对各种形式描述的元数据进行抽取、转换、融合,并对时空和属性信息进行索引支持高效查询;另一方面,需要对遥感、无人机等影像文件进行汇聚存储索引,切割为瓦片金字塔以供可视化展示;对矢量数据进行坐标转换、存入空间数据库、发布数据服务;对关系型数据库进行数据导入、去重、纠错,发布查询服务,抽取矢量信息支持可视化。这些汇聚工作常常需要进行各种定制化开发和大量的数据检查、清洗等工作[4-6]。

随着对地观测数据的极速增长,这种需要大量人工的数据集成已经很难满足很多应用领域的数据需求。特别是对于一些需要快速响应的应用场景,迫切需要更加敏捷的数据集成方式。因此,如何快速地聚合多源数据、构筑应用服务,满足遥感数据在不同领域的应用处理与共享分发需求,成为当前空间数据管理与共享服务领域亟需解决的一个问题[7-8]。

针对这种需求,提出了一种基于“数据盒”的“即插即用”的数据集成方法。“数据盒”是一个独立部署、一键式运行的软件实体,可以将需要集成的数据与相关应用进行一体化罐装,对外提供数据查询、管理、下载和瓦片等数据服务。不同数据中心可以定制化罐装“数据盒”,然后分发给数据集成单位。数据集成单位通过一个“数据蜂巢”平台,将来自不同数据中心的“数据盒”进行自动集成:各个“数据盒”的元数据自动汇聚在“数据蜂巢”,形成统一的数据视图;各个“数据盒”的数据服务通过“数据蜂巢”进行统一代理和访问,形成统一的服务视图。

基于“数据盒”和“数据蜂巢”的数据集成模式,数据与服务分布式存储在各个数据中心分发的“数据盒”中。“数据盒”启动后数据和服务就可以被实时集成,关闭后数据和服务被自动关闭,实现了“即插即用”的自动化集成。

1 方法概述

基于“数据盒”和“数据蜂巢”的数据集成框架如图1所示。“数据盒”是将数据与相关应用进行一体化封装而成的可自主运行的软件实体。在“数据盒”中提供异构数据的存储索引机制,实现对矢量、影像文件、结构化数据的存储以及支持对元数据的存储和索引。在“数据盒”内,可以定制化安装各种应用,例如元数据管理、数据汇聚、文件下载、矢量服务、瓦片服务、数据分发等各种类型的应用程序。“数据盒”可以独立运行,通过内置应用实现对盒内数据的查询、管理、下载和服务访问。

图1 基于“数据盒”和“数据蜂巢”的数据集成框架示意

数据集成需要汇聚来自不同数据中心的数据,这个集成工作是通过数据蜂巢整合多个“数据盒”来完成的。如图1所示,来自于不同数据中心的3个“数据盒”通过“数据蜂巢”集成在一起。“数据蜂巢”提供了服务网关用来代理每个“数据盒”的应用服务请求;提供了数据管理平台,可以汇聚各个“数据盒”的元数据,形成所有“数据盒”的数据全局视图;提供数据访问代理,实现对各个“数据盒”数据的统一访问。

“数据蜂巢”可以支持“数据盒”的全生命周期管理,完成“数据盒”的上线、下线和实时状态监控,面向业务应用提供统一的数据服务和数据访问,实现多个数据中心数据的“分布式存储、一体化管理、可拔插式自动化集成”。

2 关键技术

2.1 基于容器技术的“数据盒”定制化罐装

“数据盒”的定制化罐装主要是基于容器技术实现数据和自主程序的一体化封装,并在新数据产生后及时更新“数据盒”,其灌装过程如图2所示,“数据盒”支持权限控制,防止非法使用。灌装后的“数据盒”镜像可以通过网络传输,也可以通过离线的移动存储设备复制,并可注册到“数据蜂巢”中实现多源空间数据的虚拟组织和一体化检索。

图2 “数据盒”灌装过程示意

“数据盒”的灌装主要分3步,首先通过“数据盒”模版创建一组容器,分别对应存放的自主应用,包括元数据管理、对象存储、数据服务发布、数据切片、结构化数据存储与访问等,同时还包括“数据盒”的运维管理与安全管理2个自主应用。当容器创建成功后,接下来将数据灌装到容器中,灌装的数据和元数据以文件形式作为灌装的输入。在完成数据灌装后,各类异构的数据和元数据存储在容器的数据卷中,将各个自主应用的镜像文件连同数据卷对应的文件夹进行整体打包,生成一个可以独立部署运行的“数据盒”镜像,完成“数据盒”灌装。

2.2 多源空间数据的汇聚整合

“数据盒”针对不同空间数据源汇聚各类空间数据,利用统一的遥感共享元数据规范进行描述,实现多源异构信息的规范化统一表示,以及描述信息的去重、补全和集成。在此基础上进一步实现聚合和虚拟化组织,将信息按照不同的主题进行聚类,动态关联不同类型空间数据。“数据蜂巢”可以对分布式动态接入的“数据盒”元数据进行汇集,如图3所示,并通过数据关联映射、数据聚类、元数据规范转换,构建数据的全局索引,基于全局索引实现一体化的数据检索,检索出分散在各个数据盒中的数据。

图3 多源异构空间数据汇聚示意

多源空间数据的汇聚整合主要包括多源遥感共享信息规范化、信息聚合和虚拟化组织。其中,多源遥感共享信息规范化主要包括多源异构信息的统一表示,以及描述信息的去重、补全和集成[11-13]。多源遥感共享信息规范化以ISO19115和ISO19115-2规范为参考依据,构建多源异构空间数据统一表示规范,完成多源异构信息的统一表示,筛除重复的信息、补全缺失信息,将描述同一个对象不同属性的信息进行集成,提高空间数据的规范性和完整性,为信息整合提供统一的遥感信息基础。信息聚合和虚拟化组织主要是将规范化后的空间数据按照不同的主题进行聚类,并为空间数据定义不同的标签,建立各类数据之间的关联关系,按照不同的应用需求,形成不同的虚拟化文件,动态关联不同类型空间数据,从而提高信息的组织效率。

2.3 基于微服务发现与监控技术的“数据盒”云化集成

“数据蜂巢”完成“数据盒”的全生命周期管理,基于微服务发现与监控机制,通过“数据盒”的注册,完成“数据盒”上线、数据汇聚和状态监控;通过“数据盒”的注销,完成“数据盒”下线、数据撤销;通过动态调度,实现“数据盒”的集群调度,支撑海量高并发的应用场景。

“数据蜂巢”通过服务网关完成“数据盒”的动态调度,如图4所示。通过服务网关的反向代理功能,实现内部各“数据盒”应用的统一访问,保障数据访问的安全性;利用服务网关的集群调度功能,对于同一“数据盒”的多个副本,可以通过负载均衡访问来支持更高的访问需求;利用节点动态更新功能,在“数据盒”上线和下线时动态更新代理映射和集群节点,保障数据访问的可靠性。

图4 基于服务网关的“数据盒”动态调度

3 原型系统与应用试验

基于“数据盒”的多源空间数据敏捷集成方法研制了原型系统,该原型系统包括“数据盒”运维平台和“数据蜂巢”管理平台。“数据盒”运维平台用来支持“数据盒”的应用安装、配置、制作镜像;“数据蜂巢”管理平台用来对多个“数据盒”进行可拔插式敏捷集成。

原型系统选取应急前出指挥车的数据集成作为应用试验场景,展示“数据盒”与“数据蜂巢”的集成模式。应急前出指挥车需要赴某地区执行应急任务,整合该地区的遥感影像、路网数据以及气象数据。其中,遥感影像来自于国土卫星遥感应用中心,气象数据来自于国家气象局,路网数据来自于OpenStreetMap网站。

3.1 “数据盒”灌装

针对这3个来源的数据,通过3个数据盒完成各自数据的灌装,数据灌装过程分为应用安装、数据灌装、数据盒打包3个步骤,灌装完成后得到遥感影像、路网数据以及气象数据3个数据盒。详细过程如下:

(1) 应用安装:数据灌装人员启动“数据盒”运维平台,在运维平台中的“应用”管理模块,从“应用市场”中选择一个应用点击安装进行安装。应用市场中的每个应用都包括一组容器镜像,以及这些容器镜像的docker-compose配置文件。安装应用时,自动创建并启动各个应用的各个容器,实现一键式安装。安装后的应用可以在“我的应用”部分进行查看,如图5所示。

图5 数据盒应用安装

(2) 数据灌装:“数据盒”的数据灌装功能是通过“数据管理应用GeoPortal”提供的。在该应用中,提供了“数据汇集”模块,使用数据汇聚模块,提供文件夹扫描、API拉取等方式将外部的遥感、矢量和关系型数据灌装到数据盒中。图6的示例中创建了一个文件夹扫描任务,可以将指定文件夹中的数据文件导入到数据盒内。

图6 “数据盒”数据灌装:使用文件夹扫描方式灌装遥感数据

不同类型数据文件的元数据格式各异,可以通过配置一个数据模型来实现元数据的自动转换。在GeoPortal中使用ElasticSearch存放元数据,使用Minio Server存放文件数据,使用Clickhouse存放关系数据,这些灌装后的数据都存放在数据盒所指定的本地文件夹中。

(3) “数据盒”打包:在“数据盒”打包时会将内置的应用与数据进行一体化打包,打包后会生成“数据盒”镜像文件存储在本地磁盘上。一个“数据盒”镜像中包括内部应用的容器镜像文件,以及启动这些镜像的docker-compose文件,同时包括所有灌装的数据文件。应用打包的过程把各个内置应用的docker-compose配置文件进行合并,生成统一的“数据盒”容器配置文件,并配置好数据文件的数据卷映射,形成可以一键式启动的“数据盒”镜像。

3.2 “数据盒”在“数据蜂巢”中的集成

“数据盒”灌装完成后,得到遥感影像、路网数据以及气象数据3个“数据盒”,“数据盒”可以通过“数据蜂巢”进行即插即用的集成。

(1)“数据盒”的动态发现:启动“数据盒”成功后,会根据配置的“数据蜂巢”地址自动连接“数据蜂巢”,实现“数据盒”的自动注册与动态发现。在“数据蜂巢”中可以看到3个已经成功启动的“数据盒”。“数据蜂巢”会持续监听“数据盒”的心跳信息。当某个“数据盒”关闭后,在蜂巢中可以看到“数据盒”的状态变成下线状态,如图7所示。

图7 “数据盒”在“数据蜂巢”中的动态发现与管理

(2) “数据盒”的数据访问:“数据盒”启动后,会自动将盒内数据的元数据注册到“数据蜂巢”的数据管理平台中,从而在“数据蜂巢”中可以对各个“数据盒”进行全局的数据检索和查看。数据体本身存放在各个“数据盒”中,通过“数据蜂巢”的网关进行代理访问。在“数据蜂巢”的数管平台中,可以对“数据盒”内的数据进行统一的检索、下载、浏览、分发,实现数据的分布式存储和统一访问。

(3) “数据盒”的应用访问:“数据盒”启动后,应用都处于运行状态,然而由于“数据盒”部署在服务器网内,没有对外的访问接口,因此需要通过“数据蜂巢”的网关进行统一代理来访问。在“数据蜂巢”界面(图7)中,可以点击进入某个“数据盒”的运维页面,以及各个应用的页面,实现“数据盒”应用的统一访问。

3.3 与传统数据集成方式的比较

基于“数据盒”的多源空间数据敏捷集成方法与传统集成方法[4,10-14]相比,具有如下优势:

(1) 即插即用的集成:传统集成方式需要大量的人力来实现数据的汇聚、集成。在指挥车例子中,如果使用传统方法,来自不同单位的异构数据,都需要单独编写代码进行数据与元数据的转换入库,需要人工发布数据服务,来支持数据查询与可视化。利用“数据盒”技术,由于各个数据提供单位已经将“数据盒”内数据灌装完成,交付的是一个可以支持访问数据、提供数据服务的软件实体,通过“数据蜂巢”可以实现全自动的即插即用的集成。同时,数据提供单位也可以利用“数据盒”进行“一次灌装、多方分发”,将最新的数据分发到多个数据使用单位。

(2) 数据应用一体化集成:传统数据集成方式只关心数据集成,但实际上不同类型的数据需要多样化的服务模式,卫星遥感数据、海洋监测数据、测绘数据、矢量数据、视频影像,以及针对领域定制的专题产品需要特殊的展示和使用方法,这些都需要相关应用的支撑才能完成。“数据盒”提供了数据应用一体化集成的能力,这种能力为更加有效地使用数据提供了更多的可能性。

(3) 分布自治的数据管理:传统集成方式中,数据提供单位提供的数据体支持分发给集成单位,进行集中时的数据存储与管理。而使用“数据盒”来进行数据集成,数据分布式存储在各个“数据盒”内部,由“数据盒”内的应用进行自治管理。这种数据的自治性一方面可以提供灵活的数据快速装配、定制和分发能力,另一方面也提供了更多可能的数据管理能力,数据提供方可以在“数据盒”中进行数据的访问控制、流量统计、动态更新,从而实现更安全、可靠、易用的数据服务。

4 结束语

海量、异构、多源的空间数据集成是一项任务量繁重的工作,常规方法需要大量的编码实现数据的接入、转换、索引、存储和服务来完成数据集成。针对这一问题,提出了一种基于“数据盒”的多源空间数据敏捷集成方法。各个数据中心可以将数据和应用进行一体化封装成为拆包即用的“数据盒”。不同来源的“数据盒”可以通过一个“数据蜂巢”实现即插即用的自动化集成。给出了“数据盒”的架构和技术原理,给出了数据盒灌装、基于“数据蜂巢”云化集成与多源数据汇聚融合关键技术。通过案例展示了“数据盒”的灌装和“数据蜂巢”集成过程。与传统集成方案相比,基于“数据盒”的集成方案具有即插即用的集成、应用数据一体化的集成、分布自治的数据管理的优势。

在未来工作中,将扩展“数据盒”与“数据蜂巢”的能力,在数据安全性、运行可靠性、数据动态更新、可控的数据分发等方面进行增强,并在生产应用中推广使用。

猜你喜欢
灌装空间数据蜂巢
带有反馈补偿方式的灌装系统
基于PLC的饮料灌装流水线设计
GIS空间数据与地图制图融合技术
走进科学
基于S7-200PLC的液体灌装及搬运系统的实现
KHS新型瓶装水专用灌装系统
换蜂巢
火星上的“蜂巢”
网格化存储的几项关键技术分析