基于移动Agent的地理信息公共服务平台研究与设计
2014-04-29李天鸣
李天鸣
摘 要: 阐述了基于移动Agent的空间信息服务以及移动Agent与空间信息服务结合的优势,在此基础上,对基于移动Agent的地理信息公共服务平台框架和空间信息服务集成流程的实现方式进行了研究与设计。该套框架和流程能够使各级地理信息公共服务平台在不同层面上实现共享与互操作,并为空间信息服务和其他应用/服务之间提供有效的集成机制。
关键词: 移动Agent; 空间信息服务; 地理信息公共服务平台
中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2014)07-26-03
Abstract: The spatial information service based on mobile Agent is introduced. The advantages of integrating mobile Agent and spatial information service are discussed. The geographic information public service platform framework based on mobile Agent and the integration process are studied. This framework and process can make geographic information public service share and interoperate at all levels. An effective integration mechanism between the spatial information service and other applications services is provided.
Key words: mobile agent; spatial information service; geographic information public service platform
0 引言
传统的地理信息系统提供了对地理空间数据的输入、存储、检索、管理、维护、分析与表现等功能,但是由于其采用高度集中式的体系结构,缺乏灵活的互操作性、模块性和可扩展性,使得传统的系统不能适应在分布、异构环境下对地理空间信息进行有效的处理。随着Internet的普及和网络通信技术的飞速发展,地理空间信息处理与应用方式也逐渐产生变化,采用地理空间信息服务来解决分布式空间信息集成、处理成为一种新的解决方案。在以往数据集成研究中,集成对象主要是分布的空间数据文件、异构的空间数据库系统等,但在服务体系结构下,集成对象是分布于Web上的多种空间数据服务,在数据访问方法、查询接口和应用模式等方面存在很大的不同。例如,由于空间数据服务之间的数据传输代价往往较大,基于数据仓库模型进行空间数据服务集成便难以实现,又由于空间数据服务的查询能力受限,传统的查询分解与重构方法不能直接应用,因此,本文提出了一种基于移动Agent的地理信息公共服务平台,并对其实现方式进行了研究与设计。
1 基于移动Agent的空间信息服务
Agent技术是人工智能的一个重要分支,目前已融入主流计算机的各个领域,被誉为是“软件开发的又一重大突破”,“软件界的革命”。Agent是处于某个环境中的一个封装好的计算实体,具有社交能力、反应能力、主动能力、学习能力和协商能力。移动Agent是Agent技术与分布式计算技术相结合的产物,是Agent的一个新的研究方向,除具有Agent的基本特性外,还具有移动性、协作性、自主性、共享和互操作性等特性[1]。
⑴ 移动性:移动Agent能够在某一台机器上暂停执行,然后根据要求或者在动态决定了迁移路线之后,在网络上由一台机器迁移到另一台机器上再次运行。
⑵ 协作性:Agent之间具有高度协作性,既能根据自己的需要发送有关信息给其他Agent,也能接收、理解和处理来自其他Agent的消息,并能够通过一定的机制共同完成复杂任务。
⑶ 自主性:移动Agent能在没有人或其他Agent直接干涉和指导的情况下持续运行,并能控制其内部状态和动作。
⑷ 共享和互操作性:移动Agent为构件(处理单元)共享和互操作提供了有效途径。
由于移动Agent所具有的这些特点和优势,使得基于移动Agent的空间信息服务模式能够克服现有地理信息系统的一些不足之处,更好地服务于地理信息公共服务平台这样的综合性复杂的系统,这主要体现在以下几个方面。
⑴ 基于移动Agent的空间信息服务能很好地适应开发式的网络环境。
由于Agent本来就是为网络而提出的,对于网络环境有着天然的适应性。带有移动特性的Agent使得计算单元能在尽量靠近数据源的地方进行相关的处理,实现从地理信息数据的网络迁移到地理数据服务网络迁移的转变,从而避免了大量地理信息数据的网络传输;避免了信息处理过程中长时间持续性网络连接的出现;降低了运行系统对网络性能和质量的要求。
基于Agent 的分布式计算模式以及Agent之间灵活有效的协作模式为地理信息服务共享平台在分布式网络环境下分布式问题和需要协作的复杂问题提供了良好的解决途径,主要协作模式包括结构化组织模式、合约模式、多Agent规划模式和协商模式等[2]。
⑵ 能够提供粒度适宜的空间信息服务。
移动Agent的按需装配特性令其能够把各种空间信息处理功能按需动态地装配起来,为不同的应用提供不同粒度的空间信息服务。这种装配模式比组件模式拥有更高的灵活度和智能型。只要系统的用户或开发人员把符合开发规范的组件按规定正确地注册到系统的构件管理器,Agent就能在执行过程中根据实际需求主动加载和调用这些构件,而无需开发人员和用户的过多干预。从某种意义上说,这种模式已屏蔽了组件层的信息,体现出更高层次的智能型和解决问题的自主性和主动性。
⑶ 能够提供灵活多样的应用和集成模式。
基于移动Agent的空间信息服务可以被符合Agent领域有关标准的Agent系统进行调用和集成。这种模式是最根本的工作模式,其优势是可以充分发挥Agent系统的优势以及Agent之间灵活有效的协作模式来解决问题。
基于移动Agent的空间信息服务可以被包装称Web服务被各种基于Internet的应用系统按照标准Web服务的模式进行有效的调用和集成,包括WMS、WFS、WCS、KML、GeoRSS、REST等多种主流服务都可以实现轻松的服务发布和服务集成。
⑷ 良好的共享和互操作机制[3]。
只要特定功能的服务构件符合相应的接口,并按照规定的机制注册到服务构件注册管理器中,移动Agent就能够利用这些服务构件来完成相应的任务,并为不同开发人员所开发的服务构件之间的交互带来良好的途径,从而实现服务构件层次的共享和互操作性。移动Agent和Web服务的集合,使得基于移动Agent的空间信息服务能够和采用其他机制实现的空间信息服务或者非空间信息服务以Web服务的模式进行交互和集成,从而实现服务或者应用层面的互操作。此外,对于一些历史遗留系统,还可以利用包装Agent(Wrapper Agent)来进行包装,然后通过包装Agent和移动Agent以Agent的模式进行交互,实现新型空间信息服务和遗留系统之间的互操作。这些优势将使得基于移动Agent的空间信息服务能够克服现有地理信息系统的一些不足,打破系统之间相对孤立的状态,以一种更灵活有效的模式融入到各级地理信息共享平台,在更多的领域和层次发挥相应的作用。
2 基于移动Agent的地理信息公共服务平台框架设计
针对分布式空间信息服务集成和网格计算的特点,设计和实现了全新的地理信息公共服务平台集成框架,该框架由用户接口层、应用层、服务层构成,如图1所示。
⑴ 接口层:用户接口Agent是代替用户参与任务的软件Agent,用户接口Agent应该充分了解用户的需求、偏好等相关信息,负责将各种需求结构化为标准的XML或者REST流,将用户需求准确地传递给应用层Agent。
⑵ 应用层:应用Agent提供面向分布式空间信息集成功能模块,它针对特定的功能需求并提供解决方法,引入领域本体(Ontology)对应用Agent之间实现语义层面空间数据集成,并利用本体信息动态调整法,力图解决移动Agent与本地Agent多次通讯时的接口异构、动态构造等问题。
⑶ 服务层:服务Agent(Service Agent)定义为多个不同领域的应用的共同需求抽象成基本的元服务,并以Agent方式实现,我们称这类Agent为服务Agent(Service Agent)。这两类Agent之间没有截然明确的划分界限,只是粒度大小的区别。多个服务Agent可以一起互相通讯,相互协作完成复杂的任务。位于服务层的服务可以分为三类:注册服务,数据服务,操作服务,相应的服务层的Agent也就分成三类:Registry Agent、Data Agent和Process Agent。
Registry Agent在服务层提供了名称和目录服务。它允许元服务Agent注册,描述和维护自身元服务信息,同时提供元服务信息的查询、检索和定位服务。我们需要定义一个能为计算机解析和理解的对GIS元服务的能力,服务方式的清晰无歧义的描述机制。
Data Agent一般与一个特定的空间信息服务关联,提供该空间信息服务指定部分的访问和传输服务。Data Agent包含的元数据项对Data Agent的行为和作用起到关键的指导作用,通过其空间操作元数据集,Data Agent可以清晰地知道自身关联的服务,可以接收哪些Process Agent请求,适合与哪些Process Agent交互,这样就架设起Data Agent与Process Agent之间的桥梁。
Process Agent[4]:负责数据集成和空间处理。Process Agent提供的数据集成与空间操作功能均不跟特定的空间信息服务相关,Process Agent接受Task Agent的派遣与调配。通过元数据Data Agent和Process Agent可以相互了解对方对数据格式、访问方式及处理方式等需求,可通过互相协作来完成不同的GIS作业。Process Agent可以根据运行环境要求,判断是否自身迁移到Data Agent所在目的节点,还是双方(Data Agent、Process Agent)迁移到能够同时容纳两者的第三方节点上[5]。
3 基于移动Agent的空间信息服务集成流程
基于Agent的空间信息服务集成流程为:
⑴ 对于用户提交的一个任务,接口Agent处理用户的输入;
⑵ 任务Agent接受来自接口Agent的任务请求,并与资源管理Agent 通信提交完成任务所需的资源请求, 需要根据当前数据服务的分布情况制定一个执行策略[6];
⑶ 移动空间信息服务代理MSAgent通过调度Agent查找最优化全局资源Agent,并通过解析WSDL来获取实际空间信息服务资源的调用参数,将分析处理的请求(来自任务Agent)发送到特定网格节点中(其他公共平台节点或GIS在线服务平台),激活远程服务并收集处理结果,并将结果反馈给用户。 如图2所示。
4 结束语
本文提出了一种基于移动Agent的地理信息公共服务平台,并对其实现进行了研究与设计,该体系能够充分利用移动Agent和空间信息服务的特点与优势,克服现有地理信息系统在应用模式和集成模式等方面的不足,更好地满足跨地区、跨部门的地理信息系统之间的空间信息共享和集成,为数字城市中各种相关应用灵活地调用、集成各种粒度适应、易于装配与集成的空间信息服务提供了良好的机制。
在后续研究中,还需要根据Agent领域和Web服务领域的最新研究进展,进一步研究移动Agent之间的协作机制,以及移动Agent与云服务之间的集成等内容。
参考文献:
[1] 卫肖珺,雒翠萍,张其斌,刘光明.基于Web服务和移动Agent的GIS动态服务技术[J].甘肃科技,2010.26(13):19-22
[2] Nwana H S, Lee L, Jennings N R. Co-ordination in Multi-AgentSystems. In: H.S. Nwana, N. Azarmi,eds.Software Agents and Soft Computing[C];Towards Enhancing Machine Intelligence, Lecture Notes in Artificial Intelligence 1198, Springer-Verlag, Berlin and Heidelberg,1996.
[3] 黄晓斌,李琦,董宝青.基于GeoAgent和Web服务的空间信息服务及应用集成体系[J].计算机科学,2004.31(9):72-74
[4] Hesam Chiniforooshan Esfahani, Seyed Hassan Mirian Hosseinabadi,Amirreza Abdolrashidi. Process Agent: A Solution for Workflow Automation [R]. In:12th International CSI Computer Conference(CSICC'07). Shahid Beheshti University, Tehran, Iran, 20-22 February 2007.
[5] 曹振宇,杨军,甘泉,刘建川.基于移动Agent的地理信息公共服务平台研究与设计[J].测绘通报,2012.8.
[6] 袁存忠.基础地理信息公共平台的设计和实现[J].地理空间信息,2009.1.