刘建川,杨 军,甘 泉,谭明建
(四川省基础地理信息中心,四川成都610041)
一种地理信息服务聚合软件框架的设计与实现
刘建川,杨 军,甘 泉,谭明建
(四川省基础地理信息中心,四川成都610041)
在分析国内外GIS服务聚合的研究状况和地理信息公共服务平台发展趋势的基础上,设计一种面向服务群的地理信息服务聚合软件框架。并在此基础上,设计聚合服务质量评价模型,该模型实现了GIS元服务质量的动态记录和评价,可有效支持GIS服务聚合流程的执行、监控及服务选择等操作,提高聚合后的地理信息服务的健壮性。该软件框架已广泛应用于四川省地理信息公共服务平台和多个数字城市地理空间框架建设中,并聚合了天地图、ArcGIS、SuperMAP、MapGIS、NewMAP等多种格式的地理信息服务,验证了该软件框架的实用性。
GIS;服务聚合;服务群;软件框架;服务质量;评价模型
目前,国家、省、市地理信息公共服务平台正在有条不紊地建设中,如何将国家、省、市分布式的地理信息服务聚合起来,实现三级纵向互联互通,是目前公共服务平台研究的热点。通过分析发现,国家公共服务平台(天地图)采用的是以GeoGlobe作为基础的GIS软件,而各省、市由于自身建设基础和条件的不同,采用了各种各样的基础GIS软件,如ArcGIS、SuperMap、MapGIS、NewMap等,而这些软件所使用的数据、服务接口和对服务的管理方式也都有着自己的特点。与普通Web服务不同,这些异构的GIS服务面向的是复杂的分布式空间处理功能与分布式空间数据,因此,具有计算密集和数据密集等特点。GIS服务聚合应用中各个组件服务的任何异常和错误都可能造成聚合流程执行的失败,从而造成计算资源的极大浪费。
基于此,本文通过将各种相同功能的地理信息服务划归为一个地理信息服务群,设计了基于地理信息服务群的地理信息服务聚合软件框架。该软件框架首先通过服务接口的方式将服务聚合流程模型与服务发布和管理模型分离,服务聚合流程模型通过不同的服务群采用自适应的方式进行服务聚合;其次采用统一的服务发布和管理模型发布服务,用户无需了解该聚合服务是哪几种底层元服务聚合而成,只需要一个URL地址就能调用该地理信息服务;然后对地理信息服务的质量评价模型进行了详细设计,从服务本身、网络环境和服务消费者3个层次出发对元服务的服务质量(quality of service,QoS)进行描述和记录,并通过服务质量评价模型实时向聚合服务引擎提供最优的元服务,从而保证了聚合服务的健壮性;最后通过具体的实例说明该软件框架是有效的。
1.GIS服务群描述
要完成不同地理信息服务之间的聚合,最重要的是将各种不同地理信息服务按照功能和服务范围分成不同的地理信息服务群。所谓服务群,是指由不同服务提供商提供的,具有相同调用接口,能够实现相同功能且服务范围相同的一组地理信息服务。
服务群可表示为一个七元组。其中,ID表示服务群的标识;Name表示服务群名称;Description表示服务群描述;Operation表示服务群提供操作的名称;Input表示服务群中服务的输入参数;Output表示服务群中服务的输出参数;Capability表示服务群中服务的能力描述(如对于空间信息数据服务,能力描述包括数据范围、提供的数据类型等)。
同一服务群中的服务具有相同的功能和调用接口,所不同的是各个服务网址和服务的QoS属性(非功能属性)。服务群中的每一个地理信息服务被称作该服务群的元服务。对于元服务的常规描述可以表示为一个八元组,即MS=(ID,Name,SGID,Description,URL,Token,Range,Qos)。其中,ID表示元服务的标识;Name表示元服务名称; Description表示元服务描述;SGID表示元服务所属的服务群标识;URL表示元服务的调用网址;Token表示元服务使用授权标识,元服务分为公开服务和授权服务,对于授权服务应使用授权标识才能使用该服务;Range表示元服务的服务范围;Qos表示对元服务的服务质量描述,在后续会详细论述。
2.GIS服务聚合软件框架设计
笔者以服务群和元服务描述为基础,设计了基于服务群的GIS服务聚合软件框架(如图1所示),主要分为几个部分:异构服务转换模型、抽象的服务接口、服务注册中心、聚合服务群、服务聚合流程模型。下面对这些部分作详细介绍。
图1 基于服务群的GIS服务聚合软件框架图
(1)异构服务转换模型
在进行服务聚合时常常遇到的问题是服务的接口不同,不同的软件厂商对同一类服务定义了不同的服务接口,如果直接对这些服务进行聚合处理,编程难度和工作量相当大。因此,笔者设计了异构服务转换模型将这些异构的服务接口,通过一定的算法和动态类库,转换为抽象的GIS服务接口,这样就大大简化了服务的映射过程,降低了聚合的难度。
(2)抽象的服务接口
通过对地理信息服务进行研究,对其进行分类,分为地图缓存服务、地名搜索服务、网络分析服务、要素查询服务、拓扑分析服务等抽象接口。通过抽象接口将基础GIS软件与平台的应用服务接口进行分离,使得平台服务不依赖于具体的GIS软件。在数字城市和公共平台的建设过程中,可以根据需要更换任意的基础GIS软件,而平台的二次开发用户使用的是平台的服务接口,不会发现这些变化,不需要更改自己的业务系统。
(3)服务注册中心
设计了统一的服务群和元服务注册中心,用户(管理员)可以注册各种类型的服务群和元服务,然后将这些描述信息统一使用XML语言的形式进行表达,形成服务聚合的元服务描述库。最后,通过读取这些元服务的描述信息,将元服务加入到不同的服务群中,为服务聚合打下基础。
(4)聚合服务群
将相同类型的地理信息服务组成一个服务群,如缓存地图服务群、地名搜索服务群、网络分析服务群、要素查询服务群、拓扑分析服务群等。服务群中有一个或多个相同的GIS元服务,在服务聚合时,服务聚合模型通过对服务群中的元服务的QoS进行查询,从中选择出最佳的元服务进行聚合,从而保证了服务聚合的质量和服务的健壮性。
(5)服务聚合流程模型
根据用户对聚合后的服务的要求,并根据服务群的类型,聚合出各种满足用户需求的地理信息服务。主要分为单一聚合服务和复合聚合服务。单一服务主要用于国家、省、市之间的基础地理信息服务的聚合,如地名搜索时,以详尽程度优先原则,在国家层面搜索1∶5万的地名库,在省服务中搜索1∶1万的地名库,在市服务中搜索1∶2000、1∶500的地名库,然后进行综合取舍,向用户返回最终的结果。复合服务主要用于横向与各政府部门之间进行服务聚合,如省统计局提供了详细的各区市县的统计数据,聚合服务通过流程模型,将基础地理信息服务与统计专题数据服务相聚合,向用户提供各种统计专题地图服务。
总之,服务聚合通过具体的聚合服务流程模型设计与编程实现,形成具体的软件模块和聚合类库,加入到聚合服务软件框架中,最终实现各种服务聚合实例。
1.GIS元服务的QoS
QoS是描述一个产品或者服务满足消费者需求的能力,是GIS元服务能否被服务聚合实例成功使用的关键。如何保证为服务聚合实例提供最佳元服务,成为研究的热点。
对于GIS服务,应从服务本身(服务软件和服务宿主)、网络环境和服务消费者3个方面对QoS进行定义,可以表示为一个六元组。QoS=(Time,Cost,Reliability,Bandwidth,ServerCapability,Throughput-Capacity)。其中:
1)执行时间(Time,T)表示从发出GIS服务调用请求到获得该服务处理结果所花的时间。执行时间是描述GIS服务的动态性质量的最重要的参数,它具有动态性和不确定性的特征,受到服务器性能和网络传输等多方面的影响。
2)执行费用(Cost,C)表示消费者调用GIS服务所需支付的费用。该参数为GIS服务的静态性参数。
3)可靠性(Reliability,R)表示GIS服务调用成功并执行的概率。该参数是GIS服务的动态性质量的最重要的参数。
4)可用网络带宽(Bandwidth,B)表示GIS服务所在网络的当前可用带宽。该参数是GIS服务的动态性参数。
5)服务器性能(Server Capability,SC)表示服务宿主的性能信息。该参数是GIS服务的动态性参数。
6)吞吐量(Throughput Capacity,TC)表示服务所支持的最大用户数。该参数是GIS服务的静态性参数。
2.聚合服务质量评价模型实现机制
在服务的聚合流程模型中,为了提高聚合后的服务的健壮性和有效性,在具体的聚合服务实例运行中,聚合服务质量评价模型可分为聚合服务执行前对元服务的选择、执行中对元服务的调用和执行后对元服务的动态QoS进行实时保存等过程(如图2所示)。
图2 聚合服务质量评价模型实现机制逻辑图
1)在聚合服务执行之前,聚合服务选择引擎先在同一服务群的一组元服务中选择最有效的元服务进行服务聚合。
2)在聚合服务执行中,聚合服务执行引擎按照服务聚合流程模型调用服务群中最有效的元服务完成服务聚合操作。
3)在聚合服务执行完成后,将所使用的元服务的最新QoS信息记录到元服务质量评价(QoS)数据库中,使得在下一次服务聚合实例执行过程中,可以根据最新的服务质量评价(QoS)选择服务群中的最佳元服务进行聚合,聚合后的服务始终是使用的最佳的元服务进行聚合操作,从而保证了聚合服务的质量。
在实际工作中,笔者采用.NET Framework编程环境实现了该服务聚合软件框架,并将其应用到四川省地理信息公共服务平台和多个数字城市建设中,验证了该软件框架的有效性。
四川省地理信息公共服务平台作为国家地理信息公共服务平台建设的省级节点,首先需要与国家地理信息公共服务平台(天地图)之间实现GIS服务的聚合,然后需要与省内的数据城市建设(信息基地)之间实现GIS服务聚合。在具体实现中,首先将天地图服务、省平台使用的ArcGIS服务、数字绵阳使用的ArcGIS、数字宜宾使用的MapGIS、数字雅安使用的SuperMap等异构GIS服务,统一转换为抽象的服务接口;然后按照不同的服务类型和范围等信息将这些GIS服务分成了不同的服务群;最后实现不同的服务群之间的聚合,聚合实例如图3所示。
图3 省平台聚合天地图的GIS服务
本文根据国家地理信息公共服务平台的建设要求和异构GIS服务之间的聚合实际存在的问题,设计了基于服务群的地理信息服务聚合软件框架。该软件框架通过设计标准抽象服务接口的方式将异构GIS服务转换为统一的、标准的服务接口,从而实现服务聚合模型与基础GIS软件的分离,用户无需了解该聚合服务是哪几种底层元服务聚合而成的,只需要一个URL地址就能调用该地理信息服务。在此基础上,设计了聚合服务质量评价模型的实现机制,从而保证了聚合后的服务的健壮性和有效性。该软件框架已广泛应用于四川省地理信息公共服务平台和多个数字城市地理空间框架建设中,验证了该软件框架的实用性。
[1] 王勇,代桂平,侯亚.信任感知的聚合动态选择方法[J].计算机学报,2009,32(8):1668-1675.
[2] 刘书雷,刘云翔,张帆,等.一种服务聚合中QoS全局最优服务动态选择算法[J].软件学报,2007,18(3): 646-656.
[3] 宋现锋,刘军志.OoS支持下的GIS服务链最优化问题研究[J].电子科技大学学报,2010,39(2):298-301.
[4] ZENG Liangzhao,BENATALLAH B,DUMAS M.Quality Driven Web Service Aggregation[C]∥Proceeding of WWW.Budapest:[s.n.],2003.
[5] KÖKSALAN M M,ZIONTS S,Multiple Criteria Decision Making in the New Millennium[M].[S.l.]:Spinger-Verlag,2001.
[6] YOON K.Multiple Criteria Decision Making.Lecture Notes in Economics and Mathematical Systems[M].[S.l.]:Springer-Verlag,1981.
A Software Architecture of GIS Web Service Aggregation: Design and Realization
LIU Jianchuan,YANG Jun,GAN Quan,TAN Mingjian
0494-0911(2012)08-0065-04
P208
B
2011-08-19
刘建川(1977—),男,四川成都人,硕士,主要研究方向为GIS开发和3S技术及应用。