APP下载

满足QoS约束的Web服务部署技术研究

2019-03-14王子珍赵建新解志斌朱子薇张宏映

火力与指挥控制 2019年2期
关键词:服务提供者代理信息系统

王子珍,赵建新,解志斌,朱子薇,张宏映

(北方自动控制技术研究所,太原 030006)

0 引言

如今信息技术正在快速发展,由于当代战争中的实践应用及推广,信息化战争正渐渐取代传统形式的机械化战争,当今战争的主要作战样式已变为各军兵种的联合作战[1],战争的主流早也已从原始意义中作战部队力量的拼杀和指挥员脑力的比拼转变为更加重要的作战两方指挥信息系统之间的较量。传统指挥信息系统采用“烟囱式”系统架构,无法实现各军兵种分系统的互联、互通及互操作,因此,基于SOA的新型指挥信息系统应运而生。

SOA以其松散耦合和支持业务流程随需而变等特点,已经成为了指挥信息系统新的解决方案。服务部署是基于SOA的指挥信息系统研究的重要内容之一。随着指挥流程的变迁、任务量的变化,导致网络上的服务部署方案无法持续满足用户的QoS需求,部署优化问题亟待解决。

本文针对以上情况,在分析Web服务和QoS指标后,结合指挥信息系统架构的实际状况,对服务部署方案进行优化,以满足用户的非功能性指标。

1 Web服务及QoS描述

1.1 Web服务

SOA(Service Oriented Architecture,面向服务的架构)是一种有效组织和利用分布式资源的架构,是一种松散耦合、可动态化和重用扩展的分布式的组件模型。SOA拥有开放的接口和协议,可灵活实现系统的重构,代表了当前指挥信息系统的发展方向。

Web服务是SOA的核心概念,服务是无状态自包含的一种业务功能,通过对接口标准的良好定义,同时接受多方请求,并返回一个或多个的响应。Web服务之间是相互独立的,并不依赖于其他服务,且与使用的技术无关[2]。Web服务具有以下特性:

1.1.1 Web服务是松耦合的

服务之间相互独立,不会因一个服务变化而对另一个服务造成较大影响。服务之间交互只需提供必要的接口信息,而不用提供内部具体的功能实现信息。

1.1.2 Web服务是可组合的

通过服务之间的组合可在原有基础服务之上构建新的服务,以满足更复杂的需求,这正是SOA架构的一大特点[3-5]。

1.1.3 Web服务是无状态的

服务的无状态是指服务在满足需求之后,将处理结果返回给使用者,其自身并不保存任何状态结果信息。

1.2 QoS及指标

在Web服务领域,一般认为Qos(Quality of Service,服务质量)指的是Web服务的一种能力,它能响应用户的服务请求,以一定的服务质量完成服务的执行,并提供的服务质量符合服务提供者的宣称和用户的预期。目前它已经成为Web服务使用效用的重要标准,用来区分不同等级的服务提供者[6]。本文从以下角度提出了关于Qos的属性指标:

1)响应时间:指服务的请求者向服务提供者发出调用请求到获得其回应所需的时间间隔,包括Web服务的执行时间和服务请求者与服务提供者通信所需的时间。单位:ms。

2)可靠性:指Web服务按照它所宣称的功能正常稳定运行的能力,它代表Web服务能正常执行的概率。通常采用平均无故障时间和平均故障恢复时间等指标来加以描述。单位:百分比。

3)信誉度:代表了该Web服务的可信程度,也就是该服务在功能属性和服务质量等方面的实际表现与发布该服务时所宣称状况的相符程度。该属性只能根据服务用户的反馈数据求得,是一个主观性很强的效益型指标。单位:百分比。

以上3个指标的具体量化方式如表1所示。

表1 QoS指标的量化方式

2 服务部署优化

2.1 服务部署结构设计

在指挥系统软件中,用户的请求可由多个基础服务组合而成,这些基础服务通过一定的规范和交互规则,共同完成用户的调用[7]。在本研究中,服务部署问题主要解决如何选择最佳服务及服务器来完成用户的需求。目前为止,常用的服务部署方法有固定部署法、轮循部署法等。以上方法虽能保证系统业务功能的实现,但无法满足服务使用者更高的需求,当服务性能相差较大时,采用现有方法无法根据用户对当前服务的要求对服务部署流程实现个性化定制,容易造成系统负载的不平衡。

因此,本文在现有指挥系统软件结构的基础上,提出两种解决方案。

1)在服务请求者与服务提供者之间增加服务部署节点计算机,并配置服务代理模块,专门负责对所需服务进行筛选和确定,以确定最佳服务部署方案。其结构如下页图1所示。

采用此结构对服务部署方案进行优化会存在以下风险:首先,服务代理计算机会因故障或遭到攻击而瘫痪,从而导致整个指挥信息系统无法正常工作,其后果不堪设想。其次,设立多台服务代理计算机共同实现对服务部署方案的选择,可在一定程度上避免因服务代理计算机单点失效而导致整个系统瘫痪,但设立多台计算机会导致指挥信息系统中物理节点出现冗余,可能在较长时间内只有一台服务代理计算机被使用,造成了节点资源的浪费[8]。

图1 方案1的服务部署结构图

2)在服务请求者与服务提供者之间增加服务代理模块,该模块在客户端中运行,独立于服务请求者。其结构如图2所示。

图2 方案2的服务部署结构图

服务代理模块一方面负责接收服务请求,另一方面感知服务提供者的QoS变化,将所需服务通过数学计算和合理的选择与管理,最终确定优化的部署流程,完成服务请求。采用此种方案避免了因服务代理计算机的单点失效而造成的系统瘫痪,更适用于指挥信息系统。

服务代理的模块构成如图3所示。

图3 服务代理模块图

2.2 QoS监控

随着网络环境的变化,指挥信息系统中关于服务的QoS指标会随生命周期而产生一定变化,因此,需要定时对QoS指标信息进行采集,并反馈给用户,以辅助选择不同的服务。

QoS监控是与测量相关的技术,其有可能测量失败,但同时也可进行可用性测量。在系统执行过程中,QoS监控用来监控各服务器的运行状况,以及发现各服务的异常,从而进行服务状态的预测及服务路径的选择,保证每一次服务请求的非功能性需求得到满足。

在本设计中,QoS监控模块与服务提供者建立高速传输通道并实现周期性反馈,即心跳监测,可实现对服务提供者的多方位和多角度监测。QoS监控模块采用WCF技术中的“回调”实现,QoS模块定期发送心跳包对服务提供者访问,服务提供者在收到访问后回调服务请求者的QoS模块,并反馈回服务提供者的节点负载信息和服务QoS指标的数据信息。

2.3 路径分析

路径分析主要是对QoS监控模块所获得的数据进行处理计算,包括服务器的负载信息,以及各服务的可靠性信息等。通过对QoS数据信息处理,可作为下一服务路径选择的依据。

对QoS数据处理共分为以下3步:

1)个性化处理

根据指挥员对指挥信息系统中服务的不同要求,对指出的关键QoS属性,确定选择标准或阈值,服务选择管理器以此为依据对候选服务进行精确选择;对用户没能指出的关键属性,系统为其设缺省值,其数值只需满足其基本要求即可。

2)规范化处理

对各项QoS指标进行个性化处理后,可得关于QoS的约束矩阵:

其中,m为服务实例数,n为QoS指标的个数。

效益型QoS指标使用以下方式进行规范化处理:

成本型QoS指标使用以下方式进行规范化处理:

3)归一性处理

使用唯一的QoS综合指标对各服务实例进行选择,并以此为依据排序。

对QoS指标的数据处理完毕之后,服务选择管理器选择最佳服务进行下一步访问。重复以上过程,直至服务组合管理模块中服务流程的每一步均访问完毕,结束了此次访问请求。

3 服务部署流程分析

本节通过设计和实现感知QoS的服务部署方法,在保证用户功能性需求的同时,优化服务部署方案,进一步满足用户的非功能性需求。满足QoS约束的Web服务部署的流程如下:

1)服务请求者向服务提供者发出请求。

2)服务组合管理根据用户提交的请求,定义服务流程,从服务注册中心选择目标服务。

3)多个服务器中会含有功能一样的服务,但其提供者的QoS不同,服务选择管理从路径分析中选择最佳服务提供者,保证服务流程的总体QoS。

4)路径分析的输入参数是对服务提供者QoS监控所获得的信息,并根据服务分配策略,针对QoS指标进行一系列的处理,将确定执行节点反馈给服务选择管理,最终生成当前请求的最佳服务选择。

5)按照服务流程重复以上4步工作,生成满足用户非功能需求的服务部署方案。

服务部署流程如图4所示。

满足QoS约束的Web服务部署方法能够从当前满足系统需求的众多子服务中,以QoS指标为选择服务的标准,通过路径分析确定当前流程中的每一个子服务,从而保证系统流程的整体QoS性能。相比较固定部署法和轮循部署法而言,满足QoS约束的Web服务部署方法的优点在于进一步优化服务选择方案,满足系统非功能性需求。

图4 满足QoS约束的服务部署流程图

4 结论

本文提出了满足QoS约束的Web服务部署方法,通过对QoS指标的实时性监控,和对反馈数据的统一化处理,最终得到唯一的QoS综合指标,并将其作为服务路径选择的标准,对候选服务节点进行精确选择,满足用户对QoS的要求。本研究下一步的工作是完善QoS的质量模型。

猜你喜欢

服务提供者代理信息系统
“算法推送”与网络服务提供者著作权侵权刑事责任规范性重构
——从“实际作用”转向“规范能力”
2022年信息系统与运营管理专栏征稿
基于排队论的信息系统装备维修保障效能分析
网络服务提供者的侵权责任研究
《汽车维修技师》诚招代理
基于并行构件技术的医疗信息系统的设计与实现
1号异星球餐馆·不可思议的代理老板
浅析网络服务提供者因网络用户侵权的侵权责任
《航空模型》团体代理招募
复仇代理乌龟君