文章信息
- 谭娟, 白鹤峰, 陈勇, 王士成
- TAN Juan, Bai Hefeng, CHEN Yong, WANG Shicheng
- 开放式遥感数据服务系统架构技术研究
- Research on Open Remote Sensing Data Service System Architecture Technology
- 武汉大学学报·信息科学版, 2015, 40(7): 950-956
- Geomatics and Information Science of Wuhan University, 2015, 40(7): 950-956
- http://dx.doi.org/10.13203/j.whugis20130548
-
文章历史
- 收稿日期:2013-10-14
2. 中国电子科技集团公司第五十四研究所, 河北 石家庄, 050081
2. The 54th Research Institute of CETC, Shijiazhuang, Shijiazhuang 050081, China
当前,随着遥感技术的日趋成熟,遥感数据已成为国土调查、作物估产、环境保护和城市规划等领域[1]的重要信息来源。随着卫星数量、性能指标的提升,用户需求、数据容量的扩展,对新一代遥感数据服务系统的功能多样性、数据异构性、流程定制性、服务即时性、用户扩展性等方面都提出了严峻挑战。
早期的遥感数据应用服务系统多采用C/S架构,利用关系数据库集中存储数据,系统研发主要以扩展已有软件平台为主[2]。软件模块之间耦合性强、可复用度低、可扩展性差、系统维护困难。
互联网技术和Web服务技术的发展和普及促使遥感数据服务系统架构从单一的C/S模式发展为B/S模式,并逐渐发展为以面向服务架构(service-oriented architecture,SOA)为主[3]。Web服务技术能够实现分布式异构网络环境下的互操作,面向服务的软件体系架构能最大限度地降低软件模块之间的耦合性,提升模块的复用性[4]。此外,Web服务技术能很好地解决遥感数据服务中的数据共享和互操作问题,为实现元数据 共享和标准遥感数据产品的共享提供了新的思路[5]。
近10年来,传统Web技术、数据存储与管理技术无法满足PB级海量数据存储和服务的需求,云计算技术的出现为解决这些问题提供了新的技术途径。目前,地球综合观测系统公共基础设施(GCI)正在推动云计算平台的实施,为用户提供空间资源服务[6]。全球观测组织(GEO)也在亚马逊弹性云计算(EC2)平台上部署了GEOSS元数据信息交换系统[7]。云计算的出现为解决大量空间数据的访问、检索、索引和分析提供了技术手段[8],为大数据背景下的空间资源的高效利用带来了潜在的解决方案,为应对地理科学中的挑战带来了可能性[9]。本文在需求分析的基础上,设计了一种基于云计算技术的遥感数据服务系统架构,具有扩展性强、可靠性高等特点,能够适应系统需求变化、功能扩展以及第三方构件集成等系统建设要求,可为建设规模适度,且能灵活扩充和滚动发展的开发式遥感数据服务系统提供有力支持。
1 遥感数据服务需求新一代遥感数据服务系统,在传统系统功能需求,如用户需求处理、数据存储管理、数据查询检索、数据订阅分发等业务能力的基础上,对系统构建提出了更高的要求。这主要表现在以下几个方面。
1) 卫星资源可扩展:随着国家实力的提升和科学技术的进步,更多数量、更多类型的卫星将投入使用,为了充分地利用卫星资源为更多的业务部门提供服务,要求遥感数据服务系统支持观测资源动态增加和统筹管理。
2) 数据产品可扩充:遥感数据服务系统初始设计建设时可支持共享的数据通常以已有的载荷标准产品为主。随着各种新型卫星资源的纳入和用户需求的挖掘,遥感数据产品种类日渐丰富,需要遥感数据服务系统支持新型数据产品的存储、描述和共享。
3) 用户数量可增加:遥感数据面向用户服务过程是一个良性发展的过程,海量的数据资源应用发布必将吸引不断增长的用户群体,因此,遥感数据服务系统作为一个核心的数据共享枢纽应支持系统规模可扩展。
4) 算法插件可集成:新型卫星资源的加入,新型遥感数据产品的出现,新型服务方式的拓展,需要新的遥感处理算法的支持,因此,要求系统对新型业务处理算法具有动态集成能力。
5) 业务流程可配置:随着资源、产品和用户种类增加,系统所需支持的遥感数据产品的生产和服务流程将有更多个性化需求,系统应具有适应不同需求的业务流程定制和执行的能力。
2 系统架构设计利用云计算的虚拟化技术、分布式存储技术、并行计算框架,结合面向服务的软件架构[10]以及工作流技术,本文提出了一种开放式遥感数据服务系统架构,如图 1所示。整个架构采用逐层向上提供服务与支撑的机制:第一层为基础设施服务层,统一管理计算资源、存储资源、网络资源等基础软硬件;第二层为平台服务层,基于基础设施服务层构建遥感数据服务系统运行所需的公共平台服务;第三层为应用服务层,基于平 台服务层实现各种业务服务功能构件;第四层为面向用户的交互层。
基础设施服务层用于在基础设施层面整合计算资源、存储资源和网络资源。利用虚拟资源管理技术将元数据服务器、遥感数据共享服务器等硬件设备,转变为逻辑上的虚拟化资源,向上层提供虚拟化计算环境。这样,既可以克服传统方式下各种业务独占计算资源,资源无法统筹调配的缺点;同时,也能在用户数量增加、数据产品扩充、卫星资源进一步扩展情况下,统筹考虑增加必要的硬件设备,来满足计算能力增长的需求,并且保证资源的动态加入。利用分布式存储技术实现非结构化遥感数据文件的分布式存储,既满足了遥感数据的持续扩充需求,同时也支持了平台服务层中并行处理平台、数据资源平台的高效访问。
平台服务层是各种平台资源的具体体现。虚拟平台是根据具体需求配置出各种规模的遥感数据服务虚拟计算环境;门户平台负责对外提供遥感数据服务系统门户,便于用户访问系统的各种功能;并行处理平台为大规模遥感数据处理提供并行处理能力,支持多用户需求并行分析、海量元数据查询、遥感影像数据并行分发等;数据资源平台提供对海量遥感数据文件、元数据记录和业务数据记录的存取服务。
应用服务层的作用是实现系统的共用服务和业务服务,为应用系统的集成实现提供即插即用、灵活组配的业务功能构件。基于面向服务架构技术设计用户需求分析、元数据查询、数据分发等业务功能,并将其实例化为可即插即用的软件构件;根据业务需求自动分析、选取需要的构件,利用企业服务总线技术( Enterprise Service Bus,ESB)[11]进行组配和集成,以实现可配置的遥感数据服务流程,适应不同用户对遥感数据的服务需求。
用户交互层在基础设施服务层、平台服务层、应用服务层的基础上,面向用户提供遥感数据查询、检索、共享、处理、展现等交互窗口,满足不断增长的个性化用户的需求。
3 系统架构技术途径 3.1 遥感数据服务资源池构建技术遥感数据服务资源池利用资源虚拟化技术屏蔽底层异构硬件差异,将遥感数据服务“基础设施”中的处理器、内存、磁盘、网络等通用硬件资源抽象化,组织成虚拟的元数据服务器、遥感数据共享服务器、遥感数据产品制作服务器等虚拟设备。在此基础上,利用虚拟资源管理系统对资源池进行统一管理,构建具备高度可扩展性,并能够自由分割按需配置的资源池。
虚拟资源管理主要包括任务调度、资源调配、镜像管理、性能监控、安全管理等5个核心模块。任务调度模块负责接收平台服务层的请求,提供配置有不同性能级别CPU、内存、磁盘等的计算和存储资源,保证任务和虚拟化资源之间的分配的公平性;资源调配模块对虚拟机资源进行管理,实现对虚拟机资源的生成、分配、迁移和回收,实现资源的负载均衡,并保证系统性能的最优;镜像管理模块提供虚拟机镜像的存取服务;性能监控模块实现系统状态监控、性能数据收集和系统警报等;安全服务模块主要实现用户的身份管理,以及数据完整性和机密性的保护。
3.2 遥感数据分布式存储技术为解决传统集中存储方式不易扩展和容错性差的缺点,遥感数据分布式存储系统基于Hadoop分布式文件系统(hadoop distributed file system,HDFS)进行设计。该系统采用了主从架构模型,由存储了遥感元数据索引信息的名称节点(NameNode)和若干个存储了遥感数据块的数据节点(DataNode)组成。其中,名称节点作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;数据节点管理存储的数据。该系统可支持遥感数据节点的在线扩充,可实现遥感数据存储容量的即时增加,而且同一遥感影像数据文件可以多个副本的形式存在,大大增强了系统的容错能力。
另外,本文设计的架构拓展了传统HDFS中备份名称节点的能力[12],在原来备份主名称节点系统信息的基础上,增加了元数据索引能力。这样主、备名称节点均可以双机或多机集群的方式进行元数据索引映射表维护,有效地避免了单点故障,提升系统的可靠性。其工作原理如图 2所示。
3.3 遥感数据服务并行处理技术遥感数据服务并行处理技术采用MapReduce并行处理架构基于分布式文件系统实现。在MapReduce并行处理架构的支持下,遥感数据服务并行处理软件只需要根据具体业务功能设计实现相应的Map函数和Reduce函数,其他如作业调度、负载均衡、容错处理等复杂问题均由MapReduce框架负责。
在开发过程中,软件开发人员将用户需求、轨道计算等大运算量业务所需数据切分成独立的数据块,由以Map函数实现的业务处理算法在多个计算节点上并行处理,然后各个计算节点将处理结果输出给Reduce函数,由其进行结果汇总,实现计算密集型业务的快速并行处理。其中,Map 函数和Reduce函数的输入、输出数据均存储在包括名称节点和数据节点的分布式文件系统中。
3.4 遥感数据服务工作流定制技术遥感数据服务工作流定制技术基于SOA和ESB技术实现各类遥感数据服务之间的松耦合、动态集成,以支持遥感数据服务系统业务流程的灵活组配,两者的结合方式如图 3所示。
本架构将需求解析、元数据查询、观测需求分析、遥感数据分发等遥感数据服务按照WSDL、UDDI 、SOAP等技术规范进行定义和描述,在 SOA技术架构的支持下实现遥感数据服务的注 册、发布、调用、维护。在此基础上,通过ESB集中管理服务的调用和协调,可应用工作流技术针对不同业务构建不同的逻辑流程,并基于ESB的消息通信能力实现服务间的消息交换和协议转换,支持业务流程的动态调整。
4 试验验证 4.1 试验系统试验系统硬件部署如图 4所示,该环境由服务器、微机及磁盘阵列组成,通过千兆以太网链接在一起,构成了系统的基础设施服务层,基于这些设备分别构建遥感数据服务虚拟平台、并行处理平台及门户平台。
其中,虚拟平台部署Citrix Xenserver云操作系统,提供适应各种计算规模要求的虚拟元数据服务器、数据管理服务器、遥感数据共享服务器、遥感数据共享业务管理服务器等虚拟设备。在虚拟元数据服务器上部署元数据查询服务;在数据管理服务器上部署数据归一化服务;在遥感数据共享服务器上部署遥感数据分发服务;在遥感数据共享业务管理服务器上部署需求解析、观测需求分析等服务;在共用虚拟服务器上部署JBoss ESB和JBOSS-jBPM,形成企业服务器总线和工作流引擎服务器。并行计算及分布式存储平台部署有Hadoop,支持分布式存储和MapReduce并行计算模式,部署了观测需求分析等计算密集型应用服务。门户平台部署有IIS,在此基础上部署了用户登录、需求提交、需求处理进度查询、数据下载等BS架构应用软件,以实现系统的信息门户功能。
4.2 试验内容1) 计算资源动态配置能力
以试验系统为背景,对比新增物理服务器和虚拟服务器两种方式扩充服务能力的时效性。试验以新增任务调度服务能力、需求管理能力和数据维护能力为例进行。进行试验前,相关功能已实现为基于Web服务的虚拟机镜像文件。试验时统计在物理服务器上安装操作系统、配置应用环境、部署业务的时间,以及在虚拟化平台中扩充虚拟服务器的时间,并对试验结果进行对比分析。试验表明,遥感数据服务资源虚拟化在节约投资的同时,效率较传统服务器架构提高近200倍,如表 1所示。
2) 并行处理能力
以观测需求分析业务为例测试系统架构的并行处理能力,试验分别以传统的单机处理模式和多机并行处理方式对观测需求分析业务进行计算处理。并行处理试验平台基于MapReduce框架,使用6台虚拟机构建,遵循Map/Reduce的并行处理机制将观测需求分析功能以Map函数和Reduce函数的形式实现。Map函数完成独立观测需求的分析业务;Reduce函数将各个计算节点计算获得的观测需求分析结果进行汇集,并按照时间优先、空间优先等策略进行排序。试验结果表明,MapReduce并行处理机制能够在同一时间在多机上并行执行多个任务,效率较传统模式平均提升约64%,如图 5所示。
3) 业务服务组配能力
试验系统实现需求解析、元数据查询、观测需求分析、遥感数据获取、遥感数据分发等业务服务,利用东方通工作流引擎,针对不同用户需求,自动组配编程数据服务流程和存档数据服务流程。
采用“自顶向下”的开发模式,首先创建需求分析、元数据查询、观测需求分析、遥感数据分发等Web服务的WSDL文件,根据WSDL文件描述的定义使用Axis2 Code Generator代码生成插件生成各种Web服务,形成Web服务库。按照用户需求的类型,从Web服务库中选择合适的Web 服务构建编程数据服务和存档数据服务业务流程,完成数据生产与发布。图 6是针对一个用户编程数据需求创建业务流程的组配过程,在可视化的人机界面上,用户将所需的业务Web服务逐个拖拽到一起,组成一个完整的业务流程,然后通过执行业务流程实现数据产品的生产。
5 结语本文利用云计算的虚拟化技术、分布式存储技术、并行处理技术,并结合工作流技术设计了一种开放式遥感数据服务系统,它具有扩展方便、资源按需配置、业务流程灵活可变的特点,能够很好地满足新一代遥感数据服务系统在卫星资源扩展、数据产品扩充、用户数量增加、算法插件集成和业务流程配置方面的需求,为遥感数据服务系统的建设提供了一条新的技术途径。
[1] | Zhang Zhaoxia, Zhu Longwen. Production of Ortho-Imagery Map Series based on Remote Sensing Satellites[J].Image Technology, 2004(3):39-42 (张兆霞, 朱龙文.基于遥感卫星的系列正射影像图制作[J].影像技术, 2004(3):39-42) |
[2] | Jiang Weiping, Liu Hongfei, Liu Wanke, et al. CORS Development for Xilongchi Dam Deformation Monitoring[J]. Geomatics and Information Science of Wuhan University, 2012, 37(8):949-952(姜卫平, 刘鸿飞, 刘万科, 等.西龙池上水库GPS变形监测系统研究及实现[J]. 武汉大学学报·信息科学版, 2012, 37(8):949-952) |
[3] | Yang Hui, Sheng Yehua, Wen Yongning, et al. Distributed Geographic Models Sharing Method Based on Web Services[J]. Geomatics and Information Science of Wuhan University, 2009, 34(2):142-145(杨慧, 盛业华, 温永宁, 等.基于Web Services的地理模型分布式共享方法[J]. 武汉大学学报·信息科学版, 2009, 34(2):142-145) |
[4] | Zhu Yunqiang, Feng Min, Song Jia, et al. Research on Earth System Scientific Data Sharing Platform Based on SOA[C].The World Congress on Software Engineering, Xiamen, China, 2009 |
[5] | Dai Qin, Liu Jianbo, Liu Shibin. Key Techniques of Massive Remote Sensing Data Sharing[J]. Computer Engineering, 2008, 34(6):283-285(戴芹, 刘建波, 刘士彬.海量卫星遥感数据共享的关键技术[J]. 计算机工程, 2008, 34(6):283-285) |
[6] | Yang C, Raskin R, Goodchild M, et al. Geospatial Cyber Infrastructure:Past, Present and Future[J]. Computers, Environment and Urban Systems, 2010, 34(4):264-277 |
[7] | Huang Q, Yang C, Nebert D, et al. Cloud Computing for Geosciences:Deployment of GEOSS Clearinghouse on Amazon's EC2[C]. The ACM SIGSPATIAL International Workshop on High Performance and Distributed Geographic Information Systems, ACM, Piscataway, N J, 2010 |
[8] | Wang Y, Wang S, Zhou D. Retrieving and Indexing Spatial Data in the Cloud Computing Environment[M]. Berlin, Heidelberg:Springer-Verlag, 2009 |
[9] | Yang C, Goodchild M, Huang Q, et al. Spatial Cloud Computing:How can the Geospatial Sciences Use and Help Shape Cloud Computing[J]. International Journal of Digital Earth, 2011, 4(4):305-329 |
[10] | Wang Lianbei, Ben Jin. Architecture of Remote Sense Image Sharing Based on SOA[J]. Geomatics and Information Science of Wuhan University, 2010, 35 (11):1 314-1 317(王连备, 贲进, 基于SOA的遥感影像共享架构研究[J]. 武汉大学学报·信息科学版, 2010, 35 (11):1 314-1 317) |
[11] | Yin Jianwei, Chen Hanwei, Deng Shuiguang, et al. A Dependable ESB Framework for Service Integration[J]. IEEE Internet Computing, 2009(13):26-34 |
[12] | Dean J, Ghemawat S.Map Reduce:Simplified Data Processing on Large Clusters[J]. Communications of the ACM, 2008, 51(1):107-113 |