GeoQoS
—QoS感知的空间信息服务组合建模工具
2016-06-01谭振宇张明达张锡宁
谭振宇,乐 鹏,张明达,张锡宁
(1. 武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079; 2. 武汉大学计算机学院,湖北 武汉 430079)
GeoQoS
—QoS感知的空间信息服务组合建模工具
谭振宇1,乐鹏1,张明达1,张锡宁2
(1. 武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079; 2. 武汉大学计算机学院,湖北 武汉 430079)
GeoQoS—A Tool for QoS-aware Geospatial Information Services Composition
TAN Zhenyu,YUE Peng,ZHANG Mingda,ZHANG Xining
摘要:基于服务质量(QoS)的服务评价和服务链优化,是空间信息服务的核心技术之一。然而,由于QoS数据的量测、发布和获取缺乏相关标准及软件工具的支持,在实践中难以形成一个完善的QoS应用体系,现有空间信息服务组合建模软件很少提供基于QoS的评价和选择功能。本文设计了基于QoS的空间信息服务组合建模软件架构,开发了QoS感知的空间信息服务组合建模开源工具——GeoQoS,实现了服务综合评价、服务组合建模及服务链优化等功能,为QoS在空间信息网络服务中的应用提供了参考。
关键词:服务质量(QoS);空间信息服务;服务链;地理信息系统(GIS)
面向服务架构(service oriented architecture,SOA)和Web Services技术的出现,带来了地理信息系统(GIS)从传统Web GIS向空间信息服务的过渡。随着网络环境下大量服务的开发与注册,不可避免地会出现许多具有相同或相似功能的服务。为了提供更优的服务体验,学术界就基于服务质量(quality of service,QoS)的服务评价和选择作了大量研究,产出了许多理论成果。
一般的,服务质量可理解为“一个综合评价服务的要素集合,用于衡量使用一个服务的满意程度”[1]。现阶段关于服务质量的研究主要集中在以下几个方面:支持QoS的网络服务体系架构研究[2-4];基于QoS的服务评价模型和推荐算法研究[5-7];基于QoS的服务组合优化策略及算法研究[8-10]等。但由于QoS要素的定义存在领域差异性,QoS数据的量测、发布和获取缺乏相关标准的支持,现有工作中鲜有将QoS应用于实际网络服务的案例。
本文针对地理信息领域的网络处理服务,基于服务综合评价模型和服务链优化模型,采用跨平台语言Java开发了一套空间信息服务组合建模原型工具——GeoQoS。通过将QoS应用于空间信息服务的实际使用过程中,GeoQoS有助于快速选择合适的网络服务,提升服务链整体性能。
一、系统设计
1. 功能与架构
GeoQoS工具允许用户根据需求创建抽象空间处理工作流,然后通过对服务注册中心提供的处理服务组件进行QoS评估,自动选择合适的服务组件与抽象原子服务绑定,形成可执行的服务链,最后执行远程服务得到处理结果。GeoQoS的核心功能模块包括:①空间处理工作流创建;②服务评估与服务链优化;③服务绑定与执行;④空间数据可视化等。
GeoQoS工具由模型层、部件层和表现层组成,如图1所示。模型层位于最底层,提供原子服务及工作流的抽象表示,是部件层的基础;部件层是对工作流创建、原子服务QoS评价、服务链优化及服务组件绑定执行等业务功能的具体实现;表现层主要负责工作流的可视化,以及空间数据和服务QoS信息等的可视化。
图1 GeoQoS系统架构
系统涉及5个交互角色:服务提供者、服务注册中心、服务代理中心、服务消费者和服务链工具,各个角色协同作用共同完成一次复杂空间处理任务。服务提供者在服务注册中心对空间信息处理服务进行注册。服务代理中心对注册服务QoS要素进行测试和监控,获取用户评价信息。服务链建模工具可以对空间信息服务进行查询、构建工作流、绑定执行服务,还可以基于代理中心对服务链进行优化,选择最佳服务组合,并在运行过程中监控服务QoS变化,动态调整服务绑定,同时记录空间数据的溯源信息。图2是各个角色之间的UML交互图,详细说明了完成一次基于QoS的服务链优化及服务绑定和调用过程中各角色的交互活动。
2. 服务代理
传统的空间信息处理服务遵循“发布—发现—绑定”模式[11],服务提供者在注册中心注册发布服务,服务消费者查询发现服务,将具体服务与抽象服务模型绑定,执行服务得到最终处理结果。在传统的网络服务中增加对QoS的支持有3种途径[12]:①扩展UDDI(universal description, discovery and integration)目录服务增加QoS信息;②扩展网络服务描述语言WSDL(web service description language)增加QoS信息,扩展SOAP(simple object access protocol)协议支持基于QoS的发现;③增加服务代理机制,提供QoS信息。本文采用第3种方式,提出服务代理作为第三方公证用于空间信息服务质量QoS要素值的评测,用户通过代理中心提供的对外接口获取QoS数据。基于服务代理的QoS信息量测与获取无需对现有标准进行修改,而且增加了QoS数据的可信度。
服务注册中心和服务代理中心共同组成了一个大型的“服务超市”,提供了丰富的服务元数据和服务质量元数据。而GeoQoS作为一个客户端工具,通过服务搜索查询及质量评估,辅助用户快速合理地选择服务,调用远程服务完成处理任务。
图2 系统各角色交互图
二、QoS评价与优化
1. 服务评价
要准确评价一个网络服务,首先需要明确定义服务的QoS要素。目前,对于网络服务QoS要素的确定没有统一标准,不同领域不同组织都有自己的定义。具有代表性的是国际万维网联盟(World Wide Web,W3C)针对通用网络服务提出的推荐QoS要素集[12],包括性能、可靠性、可伸缩性、负载、鲁棒性、容错性、完整性、可访问性、可用性、互操作性、安全性及网络相关要素。
然而,空间信息处理服务不同于一般的网络服务,其特殊性体现在服务处理对象为空间数据[8]。一方面空间数据本身具有其特殊性,数据量大,对I/O吞吐要求高,数据多源、异质、异构的特点加大了处理算法的复杂度;另一方面空间信息处理服务的输出往往也是空间数据,结果数据的精准度是对服务质量的直接体现。因此对于空间信息处理服务,笔者将空间数据产品的质量作为评估空间信息服务质量的要素之一,结合通用网络服务要素形成可扩展的服务评价体系。
QoS要素按要素属性可分为两类:客观要素和主观要素。对于客观要素(如性能、可用性、可靠性),服务代理中心可测试和发布QoS要素值,并对其进行定期检查和更新。对于主观要素(如信誉度、互操作性),可由用户参与评价并将结果提交到服务代理中心,服务代理中心对评价结果进行过滤和统计。
在得到空间信息处理服务各要素值的基础上可以进行服务的综合评价,评估过程大致可分为3步: ①通过服务代理中心获取服务QoS要素原始值。由于空间信息处理服务QoS要素值在取值范围和量纲上的不一致,在进行综合评价之前必须首先对各要素值原始值进行归一化处理。②根据用户偏好确定各要素值的权重。典型的权重确定方法有主观经验法、专家打分法、德尔菲(Delphi)法及层次分析法(AHP)[13]。层次分析法是一种定性和定量相结合的系统的层次化分析方法,该方法对各要素之间重要程度的量化更具科学性。③选择适当的数学模型进行综合评价。常用的综合评价模型有简单线性加权法和模糊综合评价法等[13]。简单线性加权法易于实现,模糊综合评价适合边界不清、不易定量表述的质量要素。
2. 服务链优化
当用户需要完成复杂的地理计算或处理任务时,往往需要将单个的空间服务组合起来形成服务链路,各个原子服务协同完成任务[14]。空间信息处理服务链优化是指对空间处理工作流中每个抽象原子服务从对应的候选服务集中选择合适的服务组件与之进行绑定,使组合后服务链整体性能达到最优的过程。空间信息服务链优化策略包括服务链构建过程中的静态优化和执行过程中的动态优化[9]。
(1) 静态优化
静态优化策略包括局部优化和全局优化[8]。局部优化对服务链中每个抽象原子服务依次从各自候选服务集中选择QoS最优的服务组件。全局优化通过计算服务组件组合整体的QoS值,选择候选服务组合中QoS最高的组合,以确保服务链整体性能最优。
在服务链全局优化中,用户会设定诸如响应时间较短、可靠性较好、数据质量较高等多个目标,这是一个典型的多目标优化问题。多目标优化问题求解往往通过线性加权的方法简化为单目标优化问题,最后运用相应的规划方法进行求解。
下面是服务链全局优化的数学模型。设定空间信息服务链优化目标函数为式(1),用户对服务QoS约束条件为Consi(i表示QoS要素),则优化问题可表述为在用户多目标约束条件Consi下求目标函数的最大值maxf(g)。式(2)给出了整个优化模型的形式化表示。
maxf(Q)=Wperformance·Qperformance+Wavailability·Qavailability+
Wreliability·Qreliability+Wreputation·Qreputation+Wspatial·Qspatial
(1)
(2)
式中,W为服务链QoS要素对应的权重,其值根据用户偏好得到;Q为空间信息处理服务链QoS值,服务链QoS值按照一定的运算法则对服务链中各原子服务QoS值计算获得。常见服务链结构有顺序、选择、并行和循环4种[10],针对不同链结构,运用相应聚合公式可以计算链的QoS要素值。
基于QoS的服务链优化问题属于NP难题,通常使用启发式算法进行模型的近似求解。常用的优化算法有遗传算法(genetic algorithm,GA)、粒子群优化算法(particle swarm optimization,PSO)、蚁群算法(ant colony optimization,ACO)等[15]。遗传算法是一种基于生物进化过程的计算模型,通过模拟基因变化搜索最优解的方法。遗传算法原理简单、易于实现、通用性强,且具有并行处理和全局搜索能力,本文采用遗传算法进行模型求解。
(2) 动态优化
动态优化策略是针对服务链运行过程中动态监控发现的服务失效、连接异常、负载失衡等QoS异常变化情况进行重新规划,确保服务链能在满足QoS约束的状态顺利执行。此外,在服务链运行过程中通过扩展OGC WFS(web feature service)和WCS(web coverage service)服务追踪记录了空间数据的溯源信息[16],在一定程度上可为后续空间数据质量的评价提供参考。
三、系统实现
1. 服务代理中心
本文在GeoPW空间信息处理服务平台[14]的基础上,开发了服务代理中心。代理中心采用B/S架构,不但支持WPS(web processing service)服务QoS数据的存储与获取,而且集成了对WPS服务的注册、查找、执行及反馈评价等功能。代理中心后台数据库使用PostgreSQL,数据库表结构参照OASIS的ebRIM(ebXML registry information model)模型设计并进行扩展以支持QoS信息的存储。服务注册时用户提供WPS的URL,系统通过发送OGC标准的GetCapabilities请求,将服务Capabilities文档提供的元数据映射为ebRIM数据模型存储在数据库中,用户可通过服务代理平台查询WPS服务元数据信息。此外,服务代理中心还支持用户对服务进行评价。GeoQoS工具可以通过代理平台提供的接口获取这些QoS数据进行服务链优化。
2. GeoQoS工具
GeoQoS是在前期开发的开源服务链工具GeoJModelBuilder[17]的基础上通过扩展增加对QoS的支持实现的。GeoJModelBuilder采用Java Swing技术进行开发,允许用户以拖拽的方式创建服务链模型,绑定服务组件,执行服务链。扩展了QoS评价和优化的GeoQoS同样作为开源工具发布在SourceForge网站(http:∥sourceforge.net /projects/ geoqos/)。下面是GeoQoS的一些实现细节:
1) 单个服务评价:指针对某一特定地理处理服务对应的具有相同或相似功能的服务集合中的服务组件的评价。GeoQoS系统原型的实现选取了性能、可用性、可靠性、信誉度和空间数据质量5个要素作为空间信息处理服务评价的要素集。用户可以根据工具提供的向导设置关键词查询单个抽象服务的候选服务组件集;然后选择自己感兴趣的QoS要素,确定要素权重;最后工具会根据用户的选择和从代理中心获取的QoS数据进行候选服务集中各个服务综合值的计算。
2) 服务链优化:GeoQoS 采用局部优化和全局优化的混合策略。用户创建抽象服务链模型以后,根据优化向导,先进入局部优化,对每个原子服务设定关键词、QoS约束条件,系统会筛选出每个原子服务满足条件的候选服务;然后进入全局优化,设定服务链QoS约束,工具通过优化算法完成全局优化给出最佳服务组合并将服务链模型与优化结果进行动态绑定。此外用户还可以对每个原子服务设定运行时间阈值,服务链在执行过程中系统会从候选服务中选择QoS最高的服务对超时的服务进行动态替换,确保服务链整体不会因为某个原子服务不可用或未响应导致服务链整体运行失败。
3. 应用实例
(1) 遗传算法模拟试验
本文通过模拟试验验证遗传算法用于服务链优化的可行性和有效性。试验的软硬件环境如下:计算机CPU为Intel Core i3,主频3.07 GHz,内存8 GB,操作系统为Windows 7,开发语言为Java。试验中随机生成服务QoS数据,基因编码采用简单一维编码,设定初始种群大小为50,基因交叉概率为0.8,突变概率为0.02,后代选择综合轮盘赌法和优秀个体保存法。
图3(a)模拟了10个原子服务组成的服务链,当每个原子服务包含50和100个候选服务时,经过不同遗传代数后个体的最大适应度,终止条件为20代内没有更优的个体出现,可以看到遗传代数在100代的时候趋于稳定。选定遗传代数为100代,遗传终止条件为最大遗传代数为200代或20代内没有更优个体,图3(b)给出了候选服务规模与算法执行的时间。可以看到随着候选服务的增多,运行时间并没有显著的增加,一般保持在30~60 ms之间。
(2) 服务链优化实例
下面通过提取某城市新兴商业区建筑物的实例演示服务链优化的全过程。现有如下数据:时间久远但数据精度较高的城区建筑物矢量数据A;时间较新但精度较低的该城区建筑物数据B;该城区老商业区域数据C。为了提取新兴商业区建筑物构造如下服务链:①数据A和B融合(conflation)得到高精度的新城区建筑物数据B′;②老商业区C进行缓冲区分析(buffer)得到扩展的新商业区C′;③新城区建筑物B′和新商业区C′进行叠置分析(overlay)得到位于新商业区内的建筑物D。
图3 遗传算法模拟试验结果
图4是该案例在GeoQoS中进行服务链构建及优化的整体流程,案例中的空间信息处理服务来自GeoPW平台提供的WPS服务。首先,在GeoQoS中创建抽象服务链模型,如图4(a)所示。然后运行优化向导进行服务链优化。在图4(b)局部优化中,对融合服务设定关键词conflation,服务可用性和可靠性设置为大于等于0.7,信誉度大于3星,结果显示融合服务有3个可用的候选服务。同样的,对缓冲区分析和叠置分析分别设定合适的关键词和质量约束筛选出各自候选服务。在图4(c)全局优化中设定QoS要素及其权重、全局QoS约束,通过优化算法得到抽象服务链的一个最佳候选服务组合,点击模型可查看每个服务的具体绑定信息。图4(d)是服务链在三维环境中的可视化。由此可见,在服务组合建模中,用户利用GeoQoS工具可以很容易地从大量网络服务中选择优化的服务组合,提升服务使用体验。
图4 服务链优化
四、结束语
随着互联网的不断渗透和云计算的广泛使用,今后越来越多的地理处理算法或GIS功能组件都会以空间信息服务的形式呈现,用户会更加注重服务的非功能参数——服务质量。本文研究了空间信息处理服务的评价模型和基于QoS的空间信息服务链优化问题,开发了QoS感知的服务组合建模工具GeoQoS。下面是基于本文工作对空间信息服务质量的几点思考:
1)QoS要素模型。对于不同类型的服务,用户关注的QoS要素有所不同,应该制定一个可扩展的抽象QoS要素模型。不同领域、不同类型的服务可以进行QoS要素的具体定制。如在地理信息领域对信息处理服务和空间数据服务进行评价时,处理服务往往侧重服务算法的效率和结果的准确度,而数据服务侧重于数据的精准度、分辨率、时效性等。
2) 空间数据质量。对于空间数据质量的评价,本文通过模糊综合评价得到综合反映数据质量的评价结果。但模糊综合评价是建立在用户对数据质量要素有一定了解的基础上,对于没有专业背景的用户很难对数据进行客观的评价。本文尝试在WFS服务中扩展记录空间数据的溯源信息,在一定程度上可以为用户对数据质量的评价提供参考。
3) 服务链静态优化。服务链静态优化过程中的QoS数据都是基于历史量测信息的,不能准确反映服务当前所处的状态。此外,由于服务器、带宽等的影响,不同地区、不同用户对于服务质量的感受会有所不同。后续研究中可尝试在服务链局部优化过程中通过基于位置的协同过滤推荐算法获取局部候选服务集。
4) 多目标优化。服务链的全局优化问题是一个多目标优化问题,本文通过常规的加权法将多目标问题转换为单目标问题,后续研究中可对其他多目标优化方法进行尝试。此外,对于优化算法的选择,本文采用了常规的遗传算法,对于其他算法的有效性和适用性有待进一步研究。
参考文献:
[1]赵生慧,吴国新,张三峰,等.SOA的QoS研究综述[J].计算机科学,2009,36(4):16-20.
[2]MENASCED.QoSIssuesinWebServices[J].IEEEInternetComputing, 2002, 6(6): 72-75.
[3]LIUY,NGUAH,ZENGLZ.QoSComputationandPolicinginDynamicWebServiceSelection[C]∥Proceedingsofthe13thInternationalWorldWideWebConferenceonAlternateTrackPapers&Posters. [S.l.]:ACM, 2004: 66-73.
[4]吴华意, 章汉武. 地理信息服务质量(QoGIS):概念和研究框架[J]. 武汉大学学报(信息科学版),2007,32(5):385-388.
[5]ZHENGZ,ZHANGY,LYUMR.DistributedQoSEvaluationforReal-worldWebServices[C]∥2010IEEEInternationalConferenceonWebServices(ICWS).[S.l.]:IEEE, 2010: 83-90.
[6]GAOS,MIOCD,YIX.TheMeasurementofGeospatialWebServiceQualityinSDIs[C]∥2009 17thInternationalConferenceonGeoinformatics.[S.l.]:IEEE, 2009: 1-6.
[7]高冉, 邬群勇. 地理信息服务质量 (QoGIS) 模型的构建研究[J]. 测绘与空间地理信息, 2012, 35(9): 145-147.
[8]ALRIFAIM,RISSET.CombiningGlobalOptimizationwithLocalSelectionforEfficientQoS-awareServiceComposition[C]∥Proceedingsofthe18thInternationalConferenceonWorldWideWeb.[S.l.]:ACM, 2009: 881-890.
[9]ARDAGNAD,PERNICIB.AdaptiveServiceCompositioninFlexibleProcesses[J].IEEETransactionsonSoftwareEngineering, 2007, 33(6): 369-384.
[10]GUIZ,WUH,LIUW,etal.TheResearchonQoSAssessmentandOptimizationforGeospatialServiceChain[C]∥2009 17thInternationalConferenceonGeoinformatics. [S.l.]:IEEE, 2009: 1-5.
[11]李景霞, 侯紫峰.Web服务组合综述[J]. 计算机应用研究, 2005, 12(4): 4-7.
[12]W3C, 2003.QoSforWebServices:RequirementsandPossibleApproaches[EB/OL].[2003-09-25].http:∥www.w3c.or.kr/kr-office/TR/2003/ws-qos.
[13]葛文. 地理信息服务发现方法研究[D]. 郑州:信息工程大学, 2012.
[14]YUEP,GONGJ,DIL,etal.GeoPW:LayingBlocksfortheGeospatialProcessingWeb[J].TransactionsinGIS, 2010, 14(6): 755-772.
[15]李金忠, 夏洁武, 唐卫东, 等. 基于QoS的Web服务选择算法综述[J]. 计算机应用研究, 2010 (10): 3622-3627.
[16]HEL,YUEP,DIL,etal.AddingGeospatialDataProvenanceintoSDI—AService-orientedApproach[J].SelectedTopicsinAppliedEarthObservations,2015,8(2):926-936.
[17]YUEP,ZHANGM,TANZ.AGeoprocessingWorkflowSystemforEnvironmentalMonitoringandIntegratedModelling[J].EnvironmentalModelling&Software, 2015(69): 128-140.
中图分类号:P208
文献标识码:B
文章编号:0494-0911(2016)04-0043-06
作者简介:谭振宇(1990—),男,硕士生,主要研究方向为网络地理信息系统与服务。E-mail:tanzhenyu@whu.edu.cn
基金项目:国家重点基础研究发展计划(2011CB707105);国家自然科学基金(41271397;91438203);湖北省科技支撑计划(2014BAA087);教育部新世纪优秀人才项目(NCET-13-0435)
收稿日期:2015-05-09
引文格式: 谭振宇,乐鹏,张明达,等. GeoQoS—QoS感知的空间信息服务组合建模工具[J].测绘通报,2016(4):43-48.DOI:10.13474/j.cnki.11-2246.2016.0118.