《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 基于注册服务的分布式并行遥感影像处理系统模型研究与实验

基于注册服务的分布式并行遥感影像处理系统模型研究与实验

2008-09-01
作者:马伟锋1, 雷运发1, 郑月锋2

  摘 要: 提出了一种基于注册服务的分布式并行遥感影像处理系统模型,利用注册机制实现各类资源的集成,实现系统的可扩展性,同时给出了该模型详细的逻辑框架和工作流程设计以及具体的关键技术实现。给出了OTSU分割算法在实验系统运行的实例。
  关键词: 分布式遥感图像处理" title="图像处理">图像处理 分布式计算 并行计算" title="并行计算">并行计算 注册机制


  随着空间遥感技术、对地观测技术的不断进步,一个以多时相、多分辨率、多传感器、多波段为特征的多层、立体、多角度、全方位和全天候遥感对地观测数据获取体系正在形成,能够获取巨量的对地观测空间数据,同时这些数据每天还在以TB级的速度增长。快速实时性、空间无限性以及成本低廉性,使遥感栅格数据日益成为数字地球重要的数据源。例如,仅美国航空航天管理局(NASA)的对地观测系统每天可发回的卫星图像数据" title="图像数据">图像数据就达1012字节之多。长期以来,虽然人们积累了各种大量的图像数据,但由于缺少有效快速的处理方法,使得决策者们在进行目标识别、信息提取等决策分析工作时发现可供参考的有用信息寥寥无几。传统的集中式遥感图像处理模式在处理能力、异地资源共享等方面存在着不足,已成为遥感图像处理系统" title="图像处理系统">图像处理系统的一个瓶颈,无法适应遥感图像处理技术发展的需要。因此,遥感图像数据的快速网络化、并行化" title="并行化">并行化处理技术就显得异常重要。
  本文从遥感图像处理系统存在的问题入手,提出了利用分布式技术、并行计算来构建分布式环境下高性能遥感图像处理系统的方案,并将注册机制引入到原型系统,实现各类资源的集成。同时,详细分析了该原型系统的逻辑框架、工作流程设计以及关键技术的实现,并给出OTSU分割算法在实验系统里运行的实例。
1 实验系统逻辑框架设计
  根据实际的研究工作以及对相关技术的分析,借鉴了XML-RPC、CORBA、RMI等分布式体系结构,并基于中间件、JSP/Servlet、XML以及数据库等技术,设计和实现了一个基于MPI并行计算以及简单过程调用RPC机制的高性能遥感图像处理实验系统,并集成若干遥感图像处理算法。为了使系统具有较高的动态扩展性,设计了一个基于注册服务的机制,将图像处理算法、数据等资源以某种统一的服务描述形式发布到注册中心,自由组合满足所需要的功能,从而使系统具有很高的松耦合性。
  图1描述了分布式环境下高性能遥感图像处理系统的逻辑框架。


  从图1可以看出,从下至上五层模型主要包括基础层、构建层、资源服务层、系统应用层以及用户接口层。
  基础层即为网络基础设施,包括高速传输网络基础框架、主机及硬件环境、系统软件支撑系统等,为分布式环境下的整个应用系统提供物理运行平台。
  构建层主要在基础层上构建一个分布式并行计算的支撑环境,并通过向上层提供底层的编程接口API、SDK服务包以及一些技术规范,支持应用系统开发和运作。如向上层资源层的算法资源提供并行编程平台MPI标准的MPI库函数“mpi.h”和“libmpi.a”等。这一层是构建优秀应用系统的关键。
  资源服务层根据构建层提供的支持,通过将所有网上的资源,如数据资源、算法资源、计算资源、知识资源等抽象为服务,建立自己的服务资源层,为上层系统应用层提供基础服务。
  系统应用层主要功能是针对具体应用,在资源服务层和构建层的基础上构建适合自己需求的应用系统,并提供给用户。
  用户接口层提供用户与应用系统交互的接口。
  在此模型的基础上,构建了遥感图像处理系统的各个逻辑功能模块,主要包括遥感图像的预处理、图像分析、结果显示等几部分。
  遥感图像的预处理主要是一些基本的图像处理操作,并对需要分析的图像进行适当的优化和预处理。
  图像分析部分主要由图像分割、图像分类以及目标的表达与分析组成。由于系统中要集成大量的图像分割算法,通过图像分割,系统将原始的遥感图像数据转变为用于下一步目标识别的特征,并通过特征和知识库中的先验知识,对目标进行识别、分类。然后,对目标识别所得的各种地物目标进行分析,并基于目标对象的视觉知识、目标地物周围的环境知识,以及目标地物间的协同知识对已识别的目标地物进行正确性判定,提供上层决策使用。最后,将目标识别的结果及其各种特征存放到特征数据库中。该模块汇聚了大量的图像处理算法,而这些图像处理算法所消耗的时间较多,是系统的一个瓶颈。本文对部分计算复杂度高的算法采用了并行计算。
  显示模块显示处理得到的图像结果,而对于地物特征主要通过虚拟地理环境、虚拟现实、三维显示等手段进行显示。
  各个逻辑功能模块的算法以服务的形式在不同的服务器节点上实现,并通过服务注册机制提供给客户。这样,不同的客户在实际应用时就可以通过服务发现并应用不同服务器节点上的服务,就像使用本地的资源一样,实现真正意义上的分布式。
2 实验系统运行时的流程设计
  图2描述了处理系统运行时的工作流程。


  从图2中可以看出,本系统中有三种不同的角色:(1)Client(用户),使用已经发布的方法服务;(2)Node(节点)由算法提供者建立,主要用来发布和执行方法服务。复杂的算法和大数据量处理时,采用基于MPI的本地节点并行计算处理。(3)注册中心,主要用来提供方法服务的注册、查询以及对用户、方法服务等动态管理。算法提供者在提供算法的同时将该算法的一些信息,包括算法的位置、算法所需的参数以及其他一些信息发布到该注册中心,并可随时更改自己的算法及相关信息。通过设立注册机制,可使系统变得开放、容易扩展。
  该系统设计的主要工作流程包括算法的注册和算法的使用两部分。
  算法的注册:(1)算法提供者访问算法注册区,填写描述该算法基本信息的表单并注册;(2)注册中心生成一个“ServiceID.xml”的文件进行算法信息的登记,并返回注册结果。如图2虚线。
  算法的使用:(1)用户访问注册中心,查询需要的算法服务;(2)注册中心返回查询结果,如果算法服务状态栏显示正常,说明当前可以使用该算法服务;(3)注册中心得到使用命令后,找到相应方法服务的所在位置,并与节点A交互。节点A远程解析在注册中心该方法服务的参数描述文件(ServiceID.xml),并生成界面提供给用户。用户填写完参数,提交给A,然后A执行该方法服务;(4)最后将结果发送给用户。如图2实线。
3 原型系统实现
3.1 分布式系统环境设计

  客户端,原型系统前端利用JSP和JAVA Applet,通过IE浏览器与用户交互。
  服务器建设,Tomcat作为免费的、开放源码的JSP/Servlet容器和Web服务器,被部署在各个服务器节点上。一些功能和业务逻辑采用中间件技术(主要是COM)以及Java Servlet实现。
  注册中心除安装了Tomcat服务器软件外,还安装了SQL Server 2000,以支持大数据量的并发操作。
3.2 算法并行化处理策略
  由于遥感图像处理系统所要处理的图像数据量大,一般都在几兆、几百兆甚至上千兆字节,而且某些处理算法计算相当复杂、耗时多,因此对某些复杂的处理算法,在算法提供的服务器端采用了本地并行化计算的策略。同时,考虑到实际情况,并行计算硬件环境采用了局域的CLUSTER集群结构设计,并辅以基于MPI的MPICH软件环境。
  基本思想就是采用了数据划分的策略,如图3。首先由主进程主机将待处理的图像数据划分成若干个子区(可以是均等,也可以不均等,根据具体情况而定),每个子区作为一个单独的处理对象分配到不同主机上,每个主机运行相同代码,最后将每个主机处理的结果汇总,得到最终的处理结果。最后,归结和设计了三类图像并行处理算法:基于影像像素单元、基于影像窗口空间以及基于影像全局区域。
3.3 服务描述
  本次实验主要针对算法服务做了一定描述,具体所描述的内容如表1。当服务发布时,注册中心将获取该算法服务的基本信息存入注册中心的数据库表里,并将自动产生一个名为“服务代号.XML”的XML文件,用来保存该算法服务所需的参数信息。同时,根据图像处理算法的特点,制定了六类参数:整型、浮点型,一维数组(整型和浮点型)、二维数组(整型和浮点型)、字符串以及文件类型。对OTSU图像分割算法服务化描述的XML片断如下:
  <service ID=“服务号”TYPE=(exe com servlet rpc)> //确定服务及其类型
  <localExe>d:myserviceotsu.exe</localExe>//确定服务在节点上的具体位置
  <url>http:192.168.34.25:8080virRoot</url> //确定节点位置
  <method NAME=“otsu”> //具体方法
   <des></des>//服务描述
   <sup>BSQ</sup> //支持处理的图像格式
   <input NUM=“0”/>//输入参数描述
   <output NUM=“1”> //输出参数描述
   <file type=“BSQ”> //文件参数
   </output>
  </method>
  </service>


3.4 系统通信
  为了使实验系统具有较高的扩展性和兼容性,在设计客户端与服务器、节点与服务器间通信时,采用了具有良好跨平台性的XML文件格式以及SOAP协议。系统向后可以兼容服务形式的方法,如web services、grid services等,同时,通过在节点处设立代理服务层使得系统能向前兼容如微软操作系统下的COM、EXE、DLL等方法。考虑到图像处理中通常涉及图像二进制文件的传输,采用了SUN公司的带附件的SOAP传输协议包SAAJ(SOAP with Attachments API for Java),并通过对数据的分块传输来提高大数据量图像数据传输的速度。
4 算法运行实例
  考虑到当前的研究工作,图像处理算法一般都是在VC环境下开发,通过对图像处理算法进行DLL以及EXE(支持MPI并行计算)形式封装,可以轻松地发布和集成到本系统中。
  图4显示了集成到实验系统中的OTSU算法服务对一幅交通图像进行分割后的结果。


  利用快速网络化、并行化的遥感图像处理技术能廉价地获取超出单机处理能力的高性能服务,大幅提高遥感图像处理的速度和共享资源的能力。而本次实验就是以此为指导,结合遥感图像处理的具体研究工作,研究和设计了基于注册服务机制的分布式并行遥感图像处理系统模型,并进行了实验。结果表明,分布式技术、并行计算技术以及遥感图像处理的结合是可行的,而且基于注册服务机制的系统模型有效地整合了分散的遥感图像数据、处理算法和计算机的处理能力,改变了集中式的处理模式,收到较好的实验效果。
参考文献
1 李德仁,李 军. 分布式遥感图像处理中的若干关键技术.遥感学报,1999;24(1):15~19
2 伍祥生. Java技术在图像处理中的演变.中国图像图形学报,1999;(10)
3 童小阳,高培文.基于分布式应用的系统注册服务Register的实现. 小型微型计算机系统,2004;09(21):925~927
4 莫崇惠,陈玉健. 基于注册服务的教育资源集成框架.计算机工程与应用,2003;(15):188~190
5 马伟锋,王卫红,蔡家楣,骆剑承,沈占锋. 基于网格的遥感图像处理系统设计与实现. 计算机工程与应用,2004;(24):134~136
6 郑 江,骆剑承. 基于网格计算环境的高分辨率遥感影像并行分割. 兰州:高分辨率卫星遥感数据处理与应用研讨会, 2003;9

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。