摘 要: 在分析了遥感影像数据及数据使用现状的基础上,综合考虑了云计算技术在遥感应用领域使用的必要性和可行性,设计了基于云计算的多源遥感数据服务系统。阐述了基于云计算的多源遥感数据服务系统体系结构及关键业务流程,包括遥感数据云存储、遥感数据云处理、遥感数据应用服务及遥感业务注册组装等。最后,通过原型系统的实现验证了系统设计既能保护原始数据的安全,又能降低数据使用的成本,同时还能够提高数据的共享率和用户使用率。
关键词: 遥感数据处理; 云计算; 遥感数据服务; 海量数据管理
中图分类号: TN911⁃34; TP3 文献标识码: A 文章编号: 1004⁃373X(2015)03⁃0090⁃05
Research on multi⁃source remote sensing data service system based on cloud computing
ZHANG Shu⁃fan1, WU Xin⁃qiao2, CAO Yu3, WANG Ying⁃jie2, ZHANG Gui⁃feng2
(1. Space Star Technology Co., Ltd., Beijing 100086, China; 2. Electric Power Research Institute, Guangzhou 510080, China;
3. China Resources Satellite Data and Application Centre, Beijing 100094, China)
Abstract: Based on analysis of remote sensing image data and data usage status, a multi⁃source remote sensing data service system based on cloud computing was designed in consideration of the necessity and feasibility of cloud computing technology application in remote sensing field. The architecture and key business process of the multi⁃source remote sensing data service system are described, including remote sensing data cloud storage, remote sensing data cloud processing, remote sensing data application service and remote sensing business registration. The application of the prototype system proves that the system can protect the original data, reduce the cost of data application, and improve data sharing rate and usage rate.
Keywords: remote sensing data processing; cloud computing; remote sensing data service; massive data administration
0 引 言
遥感技术凭借其具有的全球性、高动态、连续性、全天候、全天时、多样化数据获取特点,已被广泛应用于农业、林业、水利、测绘、交通、气象、海洋等领域。经过多年的发展,我国遥感信息获取、处理及应用技术取得了显著的成绩,逐步形成了气象、资源、海洋、环境减灾四大民用遥感卫星系列。在“863”计划、高分专项、陆海规划、“623”规划等大型课题的推动下,我国遥感应用研究进入了大型化、快速化的发展阶段。我国卫星遥感地面站接收的数据目前已经超过300 TB,很快将会达到PB级,并将以TB/天的速率增长。随着各个专项建设进度的不断推进,必将进一步产生大量的遥感影像资料,海量遥感数据和简单的数据服务方式之间矛盾突出[1⁃2]。随着互联网技术的发展,IT资源的使用、应用和服务模式不断地发生演变。云计算技术以其弹性服务、资源池化、按需服务、服务计费、泛在接入五大特点,成为近年来IT界的一个研究热点。
云计算已经成为目前用来解决高性能计算、海量数据存储、分布式应用、异构服务集成、按需提供服务等问题的主要途径。云计算遥感应用方面,也有许多积极的探索,ESRI、Google、中国科学院遥感应用研究所、中国科学院计算技术研究所等都进行了探索性和基础性的研究工作,证实了云计算技术应用于遥感领域的可行性。基于云计算技术,可将遥感数据、信息产品、处理技术与计算资源打包成类似公共设施(如自来水和电力等)的可计量的服务,提供给用户通过网络或移动终端随时随地按需使用,解决遥感应用中的数据、技术、设备、成本和人员的瓶颈,实现遥感信息技术在政府和公众日常业务中的普及应用[3]。
本文充分利用了云计算技术所具有的按需计算能力及动态可扩容能力,设计了一种适合于遥感数据管理和分发部门的数据共享分发系统,并在HDFS,YARN,Xen Server等开源云计算软件的基础上实现了基于云计算的多源遥感数据服务系统原型系统。该系统为用户提供原始数据、计算能力以及业务按需组装调度能力,使得用户在不直接接触原始数据的前提下,以使用数据服务的方式分享数据的使用价值,降低数据使用成本,提高数据的使用共享率。
1 数据服务方式
云计算提供了一种按需计费、按使用量计费的服务方式,这种方式恰好适用于数据费用较高的卫星遥感数据的分发共享[4⁃5]。常规的遥感数据付费下载一般按照数据的长久使用权考量的数据费用,云计算基础的上述特点可以提供一种按次使用,非长久持有的数据付费方式。这种数据付费使用方式下,原始数据的保有权一直留存在数据分发单位,不会丧失,同时可以降低数据使用的单价,有利于扩大数据的共享使用范围。尤其,对于科研性质的原始数据使用,这种情况下项目资金有限,并且数据的使用时间有限,上述模式将是一种更佳的选择,如图1所示。
实现上述的遥感数据服务模式,需要提供数据分发服务和算法注册服务,让用户能够提交自己的算法在系统内部获取原始数据完成计算,并下载计算后的结果,按照数据使用数量和业务执行次数进行计费。本文设计的基于云计算的多源遥感数据服务系统就是对这种遥感数据服务模式的一个探索。
2 系统总体功能
针对遥感技术发展带来的海量数据存储和处理需求,构建基于云服务的多源载荷数据处理与应用原型系统。系统建设内容包括海量数据归档与存储、遥感数据处理任务分布式并行计算、基于云服务的多源载荷数据处理应用集成技术。
海量数据归档与存储用于解决海量遥感数据条件下难以保证数据的海量吞吐量、难以动态无限扩容且造价高的问题。
遥感数据处理任务分布式并行计算解决海量数据条件下高性能快速计算需求。
基于云服务的多源载荷数据处理应用集成技术解决多源载荷数据处理应用多样,快速集成困难的问题。
结合业务需要,综合上述技术内容设计的基于云服务的原型系统应当具备以下功能:
(1) 实现数据处理算法和多源载荷应用示范产品等系统软件模块的集成框架,支持新算法注册及远程算法调度,为多源载荷数据综合处理及管理、多源空间信息综合互补应用提供系统集成服务;
(2) 实现基于分布式云存储技术的国产遥感卫星数据的存储管理。基于可靠性要求和访问控制需要,提供虚拟文件系统组织与管理、数据副本管理、负载均衡、数据完整性检测、数据迁移与恢复和存储集群管理等分布式云存储服务功能;
(3) 提供分布式并行计算服务,为多源载荷数据综合处理及管理、多源空间信息综合互补应用技术开发的模块、软件提供并行化计算服务;
(4) 提供符合工业标准的通信协议以及模块集成接口,以便二次开发人员开发新的特定的通信协议,以及实现多源载荷应用示范软件的集成;
(5) 提供门户服务系统,对外提供产品分发定制、处理流程监视、产品数据展示、新算法注册的入口及示例程序演示等功能。
3 系统体系结构
基于云服务的原型系统在云平台的基础上提供多源遥感数据间辐射校正、国产遥感影像正射校正、多源空间数据融合、高分辨率光学影像的无云产品生产、作物面积监测、森林火灾综合监测、土壤含水量协同反演、地理数据动态更新、海洋灾害监测与应急、土地变化信息提取、应急安全监测功能,构建农业、林业、水利、测绘、海洋、安全等领域应用示范服务能力。上述服务以及对上述应用示范产品的数据分发服务直接面向云端用户使用,对应于云计算的云端应用服务层(即SaaS)。
数据管理分系统、并行处理分系统向多源数据处理应用示范软件提供数据归档、数据检索、数据提取、并行任务调度、任务管理、算法注册等服务,对应于云计算的基础平台服务层(即PaaS)。
集群管理服务由基础设施层(即IaaS)提供,通过在操作系统层之下虚拟化的方式对集群主机硬件状态进行监视和控制(包括计算能力分配、动态内存管理、在线迁移等),能够进行服务部署,并对平台上部署的服务进行监控。
基于云服务的原型系统架构方案如图2所示。
4 系统组成
从基于云服务的原型系统应当具备的功能出发,将原型系统划分为数据管理分系统、并行处理分系统、应用服务分系统3个分系统。基于云服务的原型系统组成方案如图3所示。
图3 系统组成图
数据管理分系统提供分布式数据管理能力,提供对结构化数据、非结构化数据等海量数据的归档、检索及提取服务,并对云服务原型系统中其他模块屏蔽存储方式等信息,降低了数据处理及各类典型应用模块的开发难度,提高了原型系统的扩展性。数据管理分系统可存储多个数据源提供的原始数据,提供TB级以上数据的存储服务能力,在系统运行过程中,数据管理分系统需要统一管理所有应用示范的各类资源的编目信息、各类遥感数据产品、多源载荷应用示范产品等数据。
并行处理分系统实现对已集成多源载荷应用示范软件的多任务并行处理功能。并行处理分系统根据各个节点资源情况动态分配处理节点,通过将生产任务指派到不同的数据处理节点实现任务的并行处理,同时实现分布式文件存储位置感知功能,将生产任务尽可能的指派给数据所在节点,减少了计算节点之间数据的迁移,从而达到降低整体数据I/O量提高生产效率的目的。
应用服务分系统是基于云服务的原型系统各类产品的分发与订制门户。应用服务分系统主要任务是数据分发及产品生产任务定制。数据分发功能完成多源遥感数据产品以及农业、林业、水利、测绘、海洋、区域等综合应用示范产品的分发,为用户提供产品数据的查询检索、浏览等服务。产品生产任务定制提供对农业、林业、水利、测绘、海洋、区域等综合应用示范产品的生产任务定制服务,同时应用服务分系统还提供算法注册功能,实现多源载荷数据处理应用的集成功能。
5 系统集成方案
基于云服务的原型系统软件提供集成框架,为多源载荷应用示范软件提供生产任务的并行化调度服务。基于云服务的原型系统软件并行化调度工作由并行处理分系统负责,通过感知数据存储位置及计算节点任务负载信息实现任务并行化调度均衡。
多源载荷应用示范软件在原型系统中直接集成于并行处理分系统,部署于分布式计算节点。多源载荷应用示范产品生产任务的定制通过应用服务分系统提交生产订单的方式实现。生产任务首先由并行处理分系统接收,并行处理分系统再将生产任务调度给部署于某一个数据计算节点上的相应的多源载荷应用示范软件进行生产。
多源载荷应用示范软件生产开始时依据订单内容从数据存储节点提取所需数据,生产结束时将生成的产品归档到数据存储节点形成闭环。多源载荷应用示范软件归档后的产品数据通过应用服务分系统进行检索和分发。
多源载荷应用示范软件与各个分系统之间的接口考虑支持服务调用方式、文件订单方式、数据自动触发等形式综合提供,以提高系统的可集成度。
多源载荷应用示范软件与原型系统软件的集成方案如图4所示。
图4 基于云服务的原型系统集成方案图
6 关键业务流程
系统关键业务流程按其功能可分为四个功能上关联而又相对独立的子流程,下文将详细介绍每个子流程的功能及具体过程。
(1) 遥感业务注册组装流程
系统用户可以上传业务算法,与系统内部算法组装成特定的业务流程,并提交平台进行生产。用户算法由应用服务分系统直接推送到并行处理分系统,生成流程调度文件,在产品生产过程中自动实现业务流程在多个业务算法之间的流转。算法推送采用数据感知技术,将业务算法推送到距离数据最近的生产节点,减小数据访问过程中的带宽占用和时间消耗。
(2) 遥感数据云存储流程
遥感数据云存储流程描述了遥感卫星数据或系统产品数据归档入库的流程。首先,拷贝到生产工作空间的数据被数据管理分系统扫描到并提取元数据信息。数据管理分系统将数据元数据入库到关系数据库,将数据归档到分布式云存储系统。最后将元数据信息推送至应用服务分系统,进行新产品或数据信息的发布。
(3) 遥感数据云处理流程
遥感数据云处理流程描述了应用示范软件根据用户订单中对产品的需求,获取相关数据进行加工,运行用户指定业务流程生产用户所指定产品的流程。首先,应用服务分系统依据用户选择的产品业务流程以及输入的生产参数信息,生成产品生产订单,并将产品生产订单发送到并行处理分系统。并行处理分系统自动感知数据位置,分配适当的生产节点进行产品生产。产品生产完成后,首先等待后台用户对生产结果进行核查,防止原始数据被直接作为产品被用户下载。最后,向应用服务分系统发送生产完成报告。
(4) 遥感数据应用服务流程
遥感数据应用服务流程描述了应用服务分系统获取相应产品数据进行分发的流程。该流程开始时,首先用户向应用服务分系统输入数据需求,应用服务分系统返回符合条件的数据列表。然后,用户在数据列表中选择需要的数据,生成数据订购单。应用服务分系统向数据管理分系统发出数据提取请求,数据管理分系统提取完数据后,发送数据提取任务单完成报告,应用服务分系统更新订单完成状态,用户下载所需数据。
7 原型部署方案
基于云服务的多源遥感数据服务系统原型系统集成基础遥感数据处理软件及用户注册业务软件,并向其提供数据归档、提取、并行任务调度以及产品展示、分发服务,同时提供云存储和云计算基础设施。应用服务分系统和并行处理分系统及数据管理分系统部署于同一台计算机,GIS地图服务器单独部署于1台计算机,用来存储遥感数据元信息、应用示范产品元数据及空间信息。云存储和云计算基础设施使用5台计算机,提供云存储和云计算服务。主节点使用1台计算机,从节点使用4台计算机,从节点部署Xen Server提供计算虚拟化支持。为了减小分布式并行计算过程中算法移动带来的额外时间开销,各种示范应用软件算法在每个云存储节点上分别部署一套。
基于云服务的原型系统部署方案如图5所示。
图5 原型部署方案
8 系统原型实现
系统数据分发界面原型如图6所示,业务运行流程监控界面原型如图7所示。
图6 系统数据分发界面原型
9 结 语
计算机技术的发展给遥感数据处理及服务带来了更广阔的想象空间。尤其是云计算技术快速发展的今天,人们也在不断地探寻遥感与云计算技术的结合方式,探寻云计算技术可以给遥感技术带来何种优势[6⁃10]。
本文提出的基于云计算的多源遥感数据服务系统充分集成了云计算技术云存储、云计算、云服务的特点,提供了一种遥感数据共享的新方式,即提供原始数据及计算能力的方式,降低数据使用的门槛,提高数据的共享广度。然而,本文提出的设计仍然需要进一步的改进和探索,才能使这种方式更好地为遥感数据使用、共享领域带来真正的效益。
图7 业务运行流程监控界面原型
参考文献
[1] 赖积保,罗晓丽,余涛,等.一种支持云计算的遥感影像数据组织模型研究[J].计算机科学,2013,40(7):80⁃83.
[2] 赵晋霞,李明辉,马赛潇.海量海洋遥感影像数据库建设研究[J].海洋测绘,2012,32(3):44⁃46.
[3] 任伏虎,王晋年.遥感云平台技术研究与实验[J].遥感学报,2012,16(6):1331⁃1336.
[4] 刘异,呙维,江万寿,等.一种基于云计算模型的遥感处理服务模式研究与实现[J].计算机应用研究,2009,26(9):3428⁃3431.
[5] 石永阁,边馥苓.基于云平台的遥感信息公共服务研究[J].地理信息世界,2011,9(3):26⁃29.
[6] 杨志和,胡虚怀,郭观七.海量遥感数据处理架构与并行算法研究[J].计算机应用与软件,2014,31(4):281⁃284.
[7] 赵颖辉,蒋从锋.遥感影像的高性能并行处理技术研究[J].计算机技术与发展,2014,24(7):201⁃205.
[8] 付天新,刘正军,闫浩文.基于MapReduce模型的生物量遥感并行反演方法研究[J].干旱区资源与环境,2013,27(1):130⁃136.
[9] 李先涛,曾志,张丰,等.基于集群的海洋遥感图像融合并行计算策略[J].计算机应用与软件,2012,29(1):84⁃87.
[10] 艾海滨,张剑清.基于中间件的高分辨率卫星影像正射纠正的分布式处理[J].测绘科学,2009,34(4):158⁃160.