《一种基于云计算模型的遥感处理服务模式研究与实现.pdf》由会员分享,可在线阅读,更多相关《一种基于云计算模型的遥感处理服务模式研究与实现.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 收稿日期:2009201208;修回日期:2009202216 基金项目:国家“863”计划资助项目(2007AA120203)作者简介:刘异(19832),女,江西人,博士研究生,主要研究方向为分布式地理信息系统、P2P、遥感服务框架、GeoSimulation等().一种基于云计算模型的遥感处理服务模式研究与实现3刘 异,呙 维,江万寿,龚健雅(武汉大学 测绘遥感信息工程国家重点实验室,武汉430074)摘 要:随着空间遥感技术、对地观测技术的不断发展,一个以多时相、多分辨率、多传感器、多波段为特征的多层、立体、多角度、全方位和全天候遥感对地观测数据获取与处理体系正在形成。该体系必然会带
2、来海量、多源的遥感数据。提出了采用目前商业上成功的云计算模型来实现一个高性能、高可扩展性、高可用的遥感处理服务,并结合原型系统,详细阐述了该处理系统的组成与关键技术。关键词:分布式计算;遥感;MapReduce;并行;服务模型;云计算中图分类号:TP208 文献标志码:A 文章编号:100123695(2009)0923428204doi:10.3969/j.issn.100123695.2009.09.064Research of remote sensing service based on cloud computing modeL IU Yi,GUO Wei,J IANGWan2sho
3、u,GONG Jian2ya(State Key Laboratory for Infor mation Engineering in Surveying,M apping&Remote Sensing,W uhan University,W uhan430074,China)Abstract:As the development of technologies of earth observation,receiving and processing systems for earth2observed dataare emerging.Managing the large volume a
4、nd multi2source data is a key problem for the earth observation system.This paperanalyzed severalmodesof remote sensing service and proposed adopting the cloud computingmode to implement remote sensingservice for better scalability,performance and stability.Showed the prototype system named OpenRS2C
5、loud to illustrate thesystem framework and key technologies.Key words:distributed computing;remote sensing;MapReduce;parallel computing;service mode;cloud computing 引言20062020年的 国家中长期科技发展规划纲要 中明确指出:发展基于卫星、飞机和平流层飞艇的高分辨率先进对地观测系统,发射一系列的高分辨率遥感对地观测卫星,建立覆盖可见光、红外、多光谱、超光谱、微波、激光等观测谱段的、高中低轨道结合的、具有全天时、全天候、全球观测
6、能力的大气、陆地、海洋先进观测体系。到2020年,建成稳定的运行系统,提高我国空间数据的自给率,形成空间信息产业链条1。在这样的环境和要求下,建立一个能快速、高效、并行、并功能可扩展的遥感处理服务是必需的,也是必要的。而之前的各种遥感处理系统有些虽然具备了海量数据并行处理能力,但是其系统并不开放,并且并行实现手段多基于高耦合性的MPI24,算法本身和并行模型强耦合并没有从框架上考虑第三方算法的集成5,6。而目前主流IT界提出的云计算模型7,是一种具备处理规模化、管理集中化、功能开放化、存储海量化和客户端轻量化等特点的新型服务计算模型,最初由Google发起8,目前已经得到微软、雅虎、亚马逊等I
7、T各大主流公司的支持,在通用IT领域取得了极大的成功。本文将详细讨论在云计算模型下的遥感处理服务的必要性、系统的组成和实现技术,为大规模遥感处理服务的实现提供一种新的思路。遥感处理云计算模式的必要性虽然云计算在通用IT领域已经取得了极大的成功,但是在探讨遥感领域的云计算模式前,需要详细地讨论遥感处理领域是否需要云计算。可以将遥感处理领域的相关人员分为四类,即平台架构者、算法开发者、数据提供者和最终用户。平台架构者侧重于提供基础的遥感数据读写、通用处理算法和用户界面等;算法开发者侧重于实现算法逻辑,实现过程中可采用平台提供的通用方法;数据提供者侧重于提供原始数据;最终用户在平台架构者提供的界面上
8、,通过算法提供者的算法来处理数据提供者所提供的数据,形成最终所需要的数据文件。图1阐述了四者之间的关系。虽然现在的遥感平台有很多,但是都符合上述模型,只是第26卷第9期2009年9月 计 算 机 应 用 研 究Application Research of ComputersVol.26 No.9Sep.2009有些平台比较封闭,并不支持第三方算法插件。目前绝大部分遥感平台有一个共同点,就是并不提供网络服务,都是以桌面软件形式提供给用户使用,而网络服务的形式已经在GIS领域被广泛研究和使用,如著名的ArcGIS软件已经成功地实现将原桌面版本的所有功能移植成为Web服务。众所周知,网络服务比普通
9、单机桌面版具有更强大的处理能力,更易集成和更开放,但是目前遥感处理为什么没有服务的大量涌现,笔者认为主要有如下几个原因:a)资源紧缺。遥感处理涉及到海量数据和庞大的计算能力,普通的单服务器计算模式并不能满足要求,需要采用集群环境,而普通开发者并没有适合的硬件环境。b)开发困难。缺乏适合遥感处理的Web开发平台。目前GIS服务多数基于Web service相关平台。由于微软、Sun等公司提供了一个简单利用的Web service开发环境,开发比较简单。但是普通的Web service只针对单个请求的响应时间比较短的情况,而单个遥感处理请求可能需要10 min或更长的处理时间,普通的Web ser
10、vice开发环境并不适合。c)缺乏统一平台级商业模式。商业模式对于注重算法产权的遥感领域是很重要的。而长期以来,如何保护普通算法开发者权益的问题一直没得到重视和解决。只有统一的平台级商业模式才能引导遥感处理领域的算法发展。上述问题是阻碍遥感处理服务发展的根本原因。针对上述三个问题,如果采用云计算模式,可以得到良好的解决。1)资源紧缺 云计算提供统一并强大的计算环境和硬件资源,普通算法开发者可以将自己的算法按照接口规范提交到平台即可,而无须自己架构网站。2)开发困难 云计算提供的统一接口可使算法开发变得简单,算法开发者无须知道网络通信相关知识即可被最终用户所调用。针对这点,后面将详细阐述Open
11、RS2Cloud的解决方案。3)缺乏统一平台级商业模式 云计算的商业模式已经得到成功,亚马逊公司已经盈利上亿美金。在云计算中,数据提供者、算法提供者和平台提供者将从最终用户的每次请求中获利,进行合理的分成,最终用户也拥有了更多的算法和数据选择权利。结合前面对云计算特点的描述,有理由相信将云计算应用于遥感处理是可行的。下面将详细阐述遥感处理云计算的系统构成与关键技术。遥感处理云计算系统构成根据上面的分析,本章提出一种遥感处理的云计算模式,并在后面利用原型系统加以验证。图2是设想的遥感云计算模式。从图2中可以看出该模式分为下面几个系统:a)Web入口系统。该系统主要面向最终用户,利用Ajax、Fl
12、ash或Slivelight技术,为用户提供一个直接在Web浏览器上就能使用的用户界面。b)多任务并行作业系统。该系统采用Google云计算的并行模式MapReduce,通过集成大量的服务器或普通PC机提供一个针对海量用户的分布式任务调度和管理环境。c)WebGIS数据发布与管理系统。由于待处理的影像是通过浏览器展示给用户的,需要WebGIS系统来进行数据的发布和元数据查询。d)算法插件系统。为算法提供者制订统一的接口方式和插件开发方法。e)分布式数据存储系统。由于云计算涉及的数据庞大,需要类似Google的分布式文件系统来进行数据的存储和管理。数据提供者调用该系统来发布自己的数据,而WebG
13、IS数据发布系统会根据分布式数据存储系统的变化定时发布新的数据到网络上。f)计费系统。当最终用户享用数据下载或数据计算服务后,需要付一定的费用,而这些费用将按照一定的比例分配给算法提供者、数据提供者和平台系统。这种商业模式已经被Google、亚马逊成功应用。上述几大系统是遥感处理云计算平台的基础系统,缺一不可,通过这些系统提供的数据发布、数据搜索、多用户计算、海量存储和Web浏览器访问来为其他三类用户提供良好的生态环境。最终用户得到了一个不断扩展功能,并且拥有海量处理能力和存储能力的系统;算法提供者不用关心计算能力和硬件条件的缺乏,而只需关注本身算法的有效性,并且底层的数据读取、通用算法、矩阵
14、等操作均由平台提供;数据提供者利用平台提供的工具上传数据,平台将自动进行元数据录入和数据发布;当最终用户付给相应的费用后,三方均能得到一定的收益。遥感处理云计算平台并不以建立算法完备的系统为目标,而是希望建立一个良好的具有计算能力、存储能力和发布能力的生态环境来吸引用户群。除了上面的基础系统外,一个上线运行的系统还需配置其他辅助子系统,如用户权限管理、数据上传下载系统等。后面将结合OpenRS2Cloud原型系统来详细介绍各个系统的实现方法、采用的技术手段和界面设计。符合遥感处理云计算模式的原型系统设计与实现上面阐述了遥感处理云计算模式的基本组成,本章将结合名为OpenRS2Cloud原型系统
15、作更深入的阐述。OpenRS(开放式遥感处理平台)系统是国家“863”十一重点项目多源遥感数据综合处理与服务系统第二课题的研究目标。OpenRS2Cloud是OpenRS的子项目,希望可以利用廉价PC机群进行高性能9243第9期刘 异,等:一种基于云计算模型的遥感处理服务模式研究与实现遥感数据处理的云计算系统,主要提供任务并行化处理、Web监控、分布式存储、算法插件化和多语言接口等功能。OpenRS2Cloud的系统架构是符合遥感处理云计算模式的,拥有五大核心系统(目前未实现计费系统)。下面将阐述OpenRS2Cloud五大核心系统的实现方法和技术手段。1 入口系统Web入 口 系 统 是 最
16、 终 用 户 与 其 他 子 系 统 的 桥 梁。OpenRS2Cloud提供了一个基于Web浏览器、利用Google WebToolkit开发的Ajax用户界面。从图3中可以看出,整个界面分为任务管理、插件管理、数据文件选择和元数据搜索四个部分。任务管理主要负责计算任务的算法选择、参数输入、任务状态监控和相关信息查看,如图4所示。插件管理主要负责管理和注册用户的插件系统,用户可以通过该界面上传的第三方插件到服务器集群系统上来进行相关处理,如图5所示。数据文件选择的主体是一张全球地图,而图上的每个红点代表一份原始影像数据,每个影像数据具有覆盖范围、地点、描述、缩略图和提供者等信息,这些数据全部
17、位于后台的分布式存储系统中,通过后台的WebGIS系统(目前采用GoogleMap)发布在地图上(目前采用K ML),每个数据文件可通过点击来作为算法输入参数参与计算,这种方式取代了传统遥感软件的本地目录查找与选择,结合地图搜索和元数据搜索能让用户更方便地查找所需数据,如图3所示。元数据搜索采用全文搜索技术,在通过针对各个元数据的描述信息进行倒排索引后,可提供全文搜索能力。该项功能可以与地图位置搜索联合使用,实现空间与属性的联合查询。OpenRS2Cloud提供了一个简单有效的界面模式,目前没有考虑算法本身(如交互式地物提取)更加复杂的交互功能,但是对于遥感处理的大多数算法已经适合。针对某些交
18、互性强的特定算法,可采用Flash或Slivelight等富客户端技术来实现。1 算法插件系统OpenRS2Cloud的底层算法插件系统采用OpenRS系统。OpenRS系统是一个具备可扩展能力的插件系统。该系统分为如图6所示的四个层次,即内核插件系统、服务插件、对象插件和应用程序。详细描述参见文献9。1)插件系统 提供四大基础服务,这里的服务概念是指在整个OpenRS运行生命周期内惟一的对象,可创建其他对象。2)服务插件 提供通用服务功能,如序列化、空间参考、矩阵计算等。3)对象插件 提供可创建式对象,实现文件读取、分类等各种算法。插件对象管理采用插件层次树的形式,如图7所示,每个对象都根据
19、其接口继承关系位于插件树上。OpenRS系统采用纯接口开发,算法提供者能很方便地实现符合OpenRS接口规范的各种算法插件,并且每个算法提供者还可以利用平台提供或其他用户提供的算法插件。4)应用程序 桌面级应用,提供桌面级的支持可扩展性点的GU I界面。OpenRS2Cloud能直接调用实现了orsIExecute或orsIParal2lelExecute接口的OpenRS算法插件。orsIExecute是指非并行算法,算法的输入和输出为具有XML类似层次接口的属性。在计算过程中,算法可以输出进度和日志信息。这些信息将直接反馈给Web用户。orsIParallelExecute是指那些可以进行
20、子任务分解和合并的并行算法,这些算法分解的子任务将会并行运行在由多任务并行作业系统所分配的节点机上,每个子任务依然可以输出进度和日志信息,orsIExecute可以看做是orsIPa2rallelExecute的特例。在OpenRS系统中,算法参数的输入和输出采用XML描述。因为采用XML参数描述,可以让OpenRS2Cloud系统自动地生成参数界面系统,如图3所示。目前OpenRS插件系统内置支持整数、浮点、字符串、文件名、数组和矩阵几种类型,并且可方便地扩展到空间点、线、面和用户自定义类型的支持,Web入口系统可根据参数类型生成相应的界面元素。从上述描述可以看出,算法实现者并不需要关心网络
21、通信与资源分布情况,只需实现算法逻辑即可。实际上实现了orsIExecute或orsIParallelExecute的算法不仅可以在OpenRS2Cloud中运行,也可以在桌面版的OpenRS系统中运行,这正是本文采用的纯接口的方式而带来的网络化与桌面化运行的无缝集成。1 多任务并行作业系统多任务并行作业系统是OpenRS2Cloud系统的计算核心,设计模 型采用MapReduce模型。MapReduce模型最早被Google资深科学家JeffDean用于分布式计算,他在处理Google的日常工作时,认识到Google所需的绝大部分数据处理都可以归结为一个简单的并行算法:MapReduce。这
22、个算法能够在0343计 算 机 应 用 研 究 第26卷很多种计算中达到相当高的效率,而且是可扩展的。MapRe2duce的两个主要概念是map(映射)和reduce(化简),主要思想是从函数式编程语言里借来的。简单而言,map函数是用来把一组键值对映射成一组新的键值对,用于子任务执行;而re2duce函数是用来保证所有映射的键值对中的每一个共享相同的键组,用于子任务处理结果的合并。MapReduce会生成大量的临时文件,为了提高效率,一般采用分布式文件系统来管理和访问这些文件。多任务并行作业系统通过结合OpenRS插件系统与MapReduce并行计算模型,为各种遥感算法提供一个通用的并行算法
23、开发环境。系统的任务执行流程分为三个阶段,即任务分解、子任务执行(map过程)和子任务合并(reduce过程),如图8所示。在多任务并行作业系统中,笔者将任务称为job,而子任务称为task。每个job在经过任务分解过程后,形成多个task,每个task具有分离输入(inputSpilit),系统根据优先级将子任务发送到各个处理服务器进行并行处理,最终结果汇集在一台服务器来做最终的合并工作。在上述过程中,map所产生的中间结果存储在分布式文件系统中,用于最终reduce操作的数据读取和处理。图9是任务运行界面图。从图中可以看出,每个用户提交的任务执行情况非常清楚,如同桌面系统一样,惟一不同的是
24、各个任务同时运行在后台多个节点机上。1 数据发布与管理系统WebGIS数据发布与管理系统主要提供数据底图的显示、元数据的查找和数据发布。目前数据底图采用Google map。后台的元数据服务按照相关地图浏览或查询指令自动生成K ML显示在Google map上。本系统为成熟的WebGIS系统,这里不再详细阐述。1 分布式数据存储系统分布式数据存储系统采用Hadoop的HDFS分布式文件存储系统。由于目前遥感处理算法开发包只针对本地文件系统,而不能直接访问HDFS分布式文件存储系统,需要将hdfs映射为本地文件系统。该技术可采用WebDAV(Web2based distribu2ted auth
25、oring and versioning)。该协议是基于HTTP 1.1的一个通信协议。它为HTTP 1.1添加了一些扩展,使得应用程序可以直接将文件写到Web server上,并且在写文件时可以对文件加锁,写完后对文件解锁,还可以支持对文件所做的版本控制。由于该技术与IT领域的Cloud计算完全一致,不作更多阐述。遥感云计算与网格计算虽然OpenRS2Cloud是一整套云计算系统,与网格计算在模式上有所不同,但是从技术上而言,是完全可以与之共存的。因为网格计算以集成Web service服务见长,所以OpenRS2Cloud可通过提供一套以WSDL定义的任务提交与状态查询接口来作为网格计算的
26、一个节点参与到网格计算中。具体的实现模式如图10所示。结束语云计算作为目前IT领域的新兴技术,极大地吸引了各种IT厂商、普通开发者和使用者,在短短的时间内形成一种崭新的商业模式,并取得了极大的成功,这是之前单纯的Webservice或者网格计算技术所没有达到的。作为遥感处理专业领域,如何进行海量数据存储与处理、系统的扩展与开放等是该领域长期的瓶颈,云计算模式的出现给解决这些问题带来了希望。本文详细探讨遥感云计算的系统构成和实现方法,并以一个具体的原型系统展现了遥感云计算模式的用户界面、技术手段与运行流程。参考文献:1国家中长期科学和技术发展规划纲要(20062020)EB/OL.http:/
27、EB/OL.http:/en.wikipedia.org/wiki/Cloud _compu2ting.8 JEFFREYD,SANJAY G.MapReduce:simplified data processingonlarge clusters C /Proc of the 6th Symposium on Operating SystemDesign and I mplementation.San Francisco,CA:s.n.,2004.9OpenRS插件系统 EB/OL.http:/www.openrs.org/.10 沈占峰.高分辨率遥感影像并行处理数据分配策略研究J.哈尔滨工业大学学报,2006,38(11):196821971,1976.1343第9期刘 异,等:一种基于云计算模型的遥感处理服务模式研究与实现