专利名称:一种提高服务组合可信性的自适应维护方法
技术领域:
本发明涉及一种提高服务组合可信性的自适应维护方法,属于Web 服务组合技术领域。
背景技术:
近年来,随着互联网技术的不断发展,网络上聚集了越来越多的资 源,而且资源的数目和类型日益增长,从而为基于服务的网络软件开发 提供了重要的基础。同时,SOAP、 WSDL、 UDDI和BPEL等标准的制定 进一步促进了 Web服务技术及面向服务的软件结构SOA的快速发展,使 得异构信息、异构平台的共享与集成成为可能。在此背景下,基于服务 的分布式应用系统开发成为一个重要的方向。
目前,Web服务技术得到广泛接受,存在大量商用、开放源码及独 立开发的服务软件。此外,Google、 Amazon等公司已开始对外提供商用 Web服务。Web服务技术可以用于解决不同的平台/系统之间应用的整合 问题,为跨组织边界的业务流程的自动化提供技术基础,但由于服务提 供者的分工越来越细,并且为了保证重用性和可维护性等, 一般不将复 杂的业务逻辑封装到单个的Web服务中。为了满足用户多样性的需求, 实现完整的业务功能,需要把分布的独立Web服务组合起来,形成增值 服务。因此,服务组合技术成为构建网络化软件的一种重要方法。
通常,基于服务组合的网络软件开发要按照需求(功能和非功能需 求)集成不同服务供应商提供的软件服务实体。这些服务实体位于不同 的管理域,具有异构性、自治性和动态性等特点,如服务运行在不同系 统平台之上、具有不同的自治策略(如访问控制、事务处理策略等),服 务的状态和性质动态变化等等;同时,网络应用的多样性和复杂性增加, 许多应用不仅对软件核心功能需求增多,而且对非功能的需求(如可用 性、可靠性和可信性等)也越来越高。因此,对服务组合系统的构造、 部署、管理、演化等机制,都提出了诸多挑战。
在提高服务组合系统可用性方面,冗余技术是经常采用的方法。在 服务器集群技术中,通过使用备用服务器或多台服务器的并发执行实现系统容错,提高服务器系统的可用性。在传统的软件技术中,也提出了N版本程序设计和恢复块等技术。但它们需要专门进行设计,在很大程度上提高了软件开发的成本。基于服务组合的软件开发处于开放的互联网环境下,自然存在多个服务满足相同的服务需求,可以通过发现相同功能的服务节点为每个活动建立备选服务的队列。通过配置冗余服务(即为完成同一活动而选择的多个功能相同的Web服务)改进服务组合的可用性。
但是,现有服务组合系统的可靠性方面仍然存在不足。由于服务组合中的构件服务处于开放的互联网中,具有天然的动态性,具体表现为服务个体的动态发布、失效、删除、更新,服务个体的质量属性动态变
化,服务之间的协同关系的动态演化,以及服务运行环境动态变化等;因而导致服务组合的质量和可靠性难以保证,并使得初始构造的服务组合可靠性降低甚至不可用。因此,需要一种机制能动态维护服务组合的质量和可靠性,保证其维持在一个相对较高的水平。
另外一方面,虽然Web服务相关研究取得了较大进展,但服务的可
信性等方面的研究还难以满足应用要求。可信性的研究涉及安全性、完
整性和可维护性等等。在Web服务及SOA的相关研究中,上述的这些属性从不同的角度反映了服务提供所需功能的能力。商业应用要保证服务能24^7小时可靠的运行,而现有的Web服务技术还难以达到提供商业应用特别是关键任务所需要的可信性水平。
发明内容
鉴于现有技术所存在的不足,本发明的目的是提供一种提高服务组合可信性的自适应维护方法。该方法通过构件服务的可信性变化反馈和自适应控制维护服务组合的可信性,防止由于构件服务的失效或可信性下降导致服务组合的可信性降低,从而提高服务组合的综合可信性。
为实现上述的发明目的,本发明采用下述的技术方案
一种提高服务组合可信性的自适应维护方法,将服务组合作为被控对象,服务保证策略作为相应的控制器,由所述服务组合和所述服务保
证策略构成闭环反馈控制系统,其特征在于
在所述闭环反馈控制系统中,将对服务组合的可信性的期望值作为给定量,所述给定量输入所述控制器,获得所述可信性的调整量,所述
4调整量进入构造器,所述构造器的输出进入服务缓冲池和组合缓冲池;
所述服务缓冲池和组合缓冲池的信息通过监测评估器后,生成所述
可信性的实际值;
所述可信性的实际值与期望值结合,反馈给所述控制器;服务注册库将所述可信性的变化反馈给所述服务缓冲池、组合缓冲
池和监测评估器。
其中,所述控制器通过服务组合可信性维护的马尔可夫决策模型实现。
所述马尔可夫决策模型中,采用了强化学习算法获得最优决策策略;
所述强化学习算法中,把状态一动作对的奖赏作为值函数,首先对当前状态^和动作fl的所有组合,设定值函数的初始估计为0,然后观察当前状态" 一直重复做在选择和执行动作",接受瞬时奖赏。观察新状态S',按照S —S'更新估计值;
在强化学习过程中,如果执行某个动作O后获得环境正的奖赏,则之后增强继续应用该策略的趋势,反之则降低这种趋势;
由此不断根据环境的反馈学习出真实的值函数,进而得到最优决策策略。
本发明通过构件服务的可信性变化反馈和基于强化学习的自适应控制维护,提高服务组合的可信性。通过在马尔科夫决策过程框架下,根据构件服务的可信性变化情况,应用强化学习算法选择维护策略,替换失效或性能下降的构件服务,防止了服务组合的可信性下降。
下面结合附图和具体实施方式
对本发明作进一步的说明。图1为一个具有自适应功能的服务组合可信性反馈控制系统的基本结构示意图2为实现强化学习机制的强化学习系统的基本结构示意图;图3为服务可信性属性值变化的反馈交互过程示意图;图4为新服务加入的反馈交互过程示意图。
具体实施例方式
本发明是一种提高服务组合可信性的自适应维护方法。为了实现对Web服务组合系统可信性的自适应控制,需要通过在线实时了解被控对象,不断调节控制器,使系统的性能达到技术要求或最优。因此,自适
5应维护的过程需要满足以下的要求(1)能在线实时的了解被控对象,(2)具有一个可调环节,(3)能使服务组合系统的可信性达到要求或最优。
为了满足上述的要求,本发明将服务组合的可信保证问题当作控制问题。其中服务组合及其可用资源当作被控对象,服务保证策略当作相应的控制器,服务组合和保证策略构成一个闭环反馈控制系统,利用马尔可夫决策过程理论来设计和优化服务组合的可信性保证策略。
图1显示了一个具有自适应功能的服务组合可信性反馈控制系统的基本结构。其中,该系统包括顺序连接的控制器和构造器,构造器获得
控制器输出的闭环反馈控制的控制量之后,将相应的输出送入服务缓冲池和组合缓冲池。这两个缓冲池的信息通过监测评估器后,生成闭环反馈控制的反馈量。该反馈量与闭环反馈控制的给定量结合并反馈给上述
的控制器。UDDI-E表示一个扩展的、可以支持服务QoS信息的服务注册库,它包含服务可用性主动监控功能,支持QoS信息的描述和主动更新,并支持不同策略下服务的可用性探测。UDDI-E将可信性变化反馈给上述的两个缓冲池和监测评估器。
在图1中,所示的^是该服务组合系统的闭环反馈控制的给定量,代表对服务组合的&类可信性的期望值;G是该服务组合系统的闭环反馈控制的反馈量,代表服务组合的A类可信性实际值;A是该服务组合系统的闭环反馈控制的控制量,代表服务组合的々类可信性的调整量,根据它来指导替换服务的选择和服务组合的重构。
上述服务组合可信性反馈控制系统可以提供一种基于客户反馈评价的服务QoS信息监测机制,通过激励有效的防治共谋,从而获得较准确的QoS信息,支持基于激励机制的QoS客户评价信息监测和统计功能,支持不同策略下(不同的统计分析频率、不同的奖惩激励措施等)的服务评价信息的监测和统计功能。
要实现服务组合可信性的自适应维护,需要解决的问题如下
(1) 如何确定服务的可信性;
(2) 如何获得服务可信性的变化情况;
(3) 如何确定自适应维护策略;
(4) 如何根据可信性的变化选择策略。下面分别对这四个问题的解决策略进行详细的说明。
6(1)如何确定服务的可信性考虑到实用和可量测性,本发明主要用服务可用度、服务可靠度和服务信任度等三个属性描述服务的可信性.
服务可用度是指服务在一定条件下、在特定的时间内能够提供所需要的功能的能力,定义为可以提供服务的时间与总的时间的比率
j 0)=k =_^—— 匸,、
式中夂表示服务、:的可用度;7;(,)表示测量时间/内该服务可用的时间,z;w表示对该服务的总测量时间,z;,(,)表示测量时间内服务不可用的时间。
服务可靠度指服务在一定条件下,在特定的时间内执行所需要的功能的能力。由于Web服务是按次进行调用的,因此可靠度可以用服务成功执行的比率来衡量,也就是服务执行成功的次数与总的执行次数的比
率
4層),+単) (2〕
式中 (/)表示服务^的可靠度,W、W表示测量时间/内该服务成功
执行的次数, (,)表示对该对服务的总调用次数,W,々)表示测量时间内服务调用不成功的次数。
服务信任度设^为服务,、;的消费者,t/为服务安全信息记录者,约
定当sM吏用f/中任意服务后,这些服务消费者都向/7报告一个值,表明该服务是否从事恶意行为的肯定或者否定值,经过一段时间,如果f/记
录的关于的肯定、否定值总数分别V、 g,称
"'' 力
0
v >《
>为服
务^的服务信任度,其中x是一次对.s;安全调用的期望值。
(2)如何获得服务可信性的变化情况要实时在线地了解被控对象,需要设计有效的反馈通路。基于有关
的研究,反馈回路主要包括两部分系统自身监控和服务信息中心使用
7从客户处汇总的信息。系统自身监控主要获取使用中的主服务的可用不 可用状态信息。服务信息中心综合客户的使用信息形成反馈通路,主要 包括三个层次首先是服务的可用状态、其次是服务的属性值变化、再 次是特定功能的新的、高质量的服务的注册。
特定服务的其它用户使用这些服务时,如果发现服务状态发生变化 后,通知服务信息管理者服务失效。服务信息管理者査询提供者,确认 服务可用状态的变化后,通知订阅了服务状态信息的服务组合开发者, 服务组合开发者调整其构造的服务组合。
服务提供者注册服务的可信性信息,用户使用这些服务后报告服务 的实际可信性信息,服务信息管理者综合使用者的报告后,通知订阅了 服务信息的用户综合结果,服务组合开发者调整其构造的服务组合。
当有新的性能更好或价格更低的服务加入时,原来质量最优或性价 比最优的服务组合竞争优势下降。服务组合开发者向服务信息管理者订 阅特定类别的服务更新信息,并和特定服务提供者签订服务更新的合同, 服务提供者注册新的高质量服务,服务信息管理者或特定服务提供者通 知订阅了服务更新信息的使用者,其中的服务组合开发者调整其构造的 服务组合。
(3)如何确定自适应维护策略
在面向服务的软件开发过程中,服务组合的状态和性能受各构件服 务的状态和性能影响,由于服务的分布性和自治性,很难观察构件服务 节点所有的历史行为,也不能够完全了解这些行为对服务组合系统的效 用的影响及其程度。因此,在对服务组合可信性的调整控制中,转移概 率函数和奖赏函数是未知的,无法采用动态规划技术求解最优决策策略。 为求解服务组合系统可信性维护的马氏决策问题,本发明采用了一种强 化学习算法来求解。通过强化学习算法可以不必计算及存储转移概率, 且当系统的状态空间增加到一定的规模时,可以结合一些近似函数框架 (如神经网络等等)估算值函数,从而用动态规划方法求解该问题。
下面对该强化学习算法展开具体的说明。强化学习算法根据环境状
态到动作的映射,通过试错(trial-and-error)的方式寻找最优行为策略, 使得动作获得累积奖赏最大。如图2所示,强化学习系统由状态监控器、 学习器、动作选择器和服务资源及环境四部分组成,状态监控器连接动 作选择器,动作选择器直接连接服务资源及环境,学习器分别与状态监 控器和动作选择器实现连接,服务资源及环境向学习器和状态监控器提
8供资源。状态监控器监测系统状态S;动作选择器根据当前策略选择动作
a执行;学习器根据环境的奖赏r更新决策者的策略知识;动作a的作用
于环境使其状态变化。
本发明采用强化学习算法去预测服务选择、调整的最优策略。该强
化学习算法把状态一动作对的奖赏作为值函数(Q函数),然后对值函数
进行估计,以求得最优策略。其基本形式如下
^(■s, a) = y Z尸(s, s s') + max ',"')) ( 3 )
基于上述的Q函数,首先对所有的G,"),设置Q G, a)的初始
估计&&") = 0。然后,观察当前状态S, 一直重复做在选择和执行动作
",接受瞬时奖赏r;观察新状态s,,按照s—s'更新估计值
在强化学习过程中,如果执行某个动作后获得环境正的奖赏,则之 后增强继续应用该策略的趋势,反之则降低这种趋势。强化学习的目标 是为了学习出一个行为策略,最后获得长期的、最大的环境奖赏,这需 要通过一个目标函数(值函数)来确定什么样的动作是最优动作。
这样,决策者在当前状态s下的最优决策就是选择使Q G, 最大 化的动作a。然后强化学习算法不断根据环境的反馈学习出真实的Q函 数,进而得到最优决策策略。
(4)如何根据可信性的变化选择策略
由于构件服务的可信性的动态变化,如随负载、网络条件的变化, 构件服务的动态加入退出等都会影响服务组合的可靠性、可用性,因此 在设计需要预留一定余量,以保证部分构件服务性能下降时,仍能最大 程度的满足用户的需求。因此本发明人设计可信裕度系数/*体现对可信 性的重视程度,以用户的需求R和服务组合可信性设计对数比值
,=1115^£)为基准调整构件服务的选择。可以看出,当网络中构件服务的
可信度下降很少时,使用较低的裕度系数可减少服务组合的构造成本; 当构件服务的可信度下降明显时,调高裕度系数能够增加,减少构件服 务失效或可信性下降可能带来的损失。裕度系数的调整需要综合考虑服 务提供者的历史行为(如可用性和可靠性变化规律等),以及流程中构 件服务之间的关系。因此,如何调整服务组合的裕度系数成为服务组合 开发者的重要决策问题。
马尔可夫决策过程(Markov Decision Process, MDP)是一种广泛应
9用的随机决策过程,通常由五元组〈S,A MWIxeS}, 0,『〉表示,其中S 为系统所有可能的状态组成的状态空间集;^是决策者的决策集合;
MWI^S!是系统状态为X时的决策;2(S|x,O) = 0X,+ieJB|^=x,4="} , 5、 S
表示在状态Aw时,采用决策4 =。,转移到状态《w的概率;『是每次决
策执行的代价。如假设t时刻系统状态为A>.r",而此时的决策为 4=a"W,那么将会有以下事件发生系统在转移方程Q的决定下,以代
价K.,W,转移到《+/状态。发生转移后,系统进入新的状态,然后选择
新的决策继续循环决策过程。
基于上述的马尔可夫决策过程,本发明建立服务组合可信性维护的 马式决策模型如下
对某个时段,月艮务组合CS的可信度为"=6^ + >^ + (1-^ —将[O, l]分成A等分,记^[^1,丄),当"E[^1,如时,称该时段服务组合的可信
状态为A。这样5={&, ..., ^}为服务组合可信性的状态集。通过将[O, l]划分,可以约减状态空间,降低服务组合可信性维护决策的复杂性。
设^={-1, o, u为系统通过构件服务的动态选择(替换)实现对服
务组合可信性的裕度系数的调整策略集,表示选择一个对任意A/e」,称 A/为控制器的一个策略,即系统的策略集为^。
对一服务组合CS,设么v/和vv分别为它在某一时段的可信度、收入 和服务调整花费,T7为一个正数,表示服务组合开发者对可信性的重视程
度(不同的服务组合可能有不同的Ti值),称v = /7(-ln(l —")) + w-w为该日寸段
服务组合的效用。当服务组合的可信性越高("值越大),客户使用服务
组合的收入越高(w值越大)或维护开销越小(vv值越小)时,服务组合
的开发者对其使用的构件服务情况越满意,即rf直越大。其中,收入主要 和服务访问次数和价格(价格和服务可信性有关,相同条件下服务可信 性越高,价格越高)有关,如果服务组合的用户数目和质量价格保持基
10本稳定,则服务组合的访问价格主要与流程长度及可信性相关,并且服
务调整费用只与调整涉及的服务数目及流程的长度有关。
对一服务组合CS,设/时刻在状态s,(即当前的服务组合可信度
de a)下采取策略4调整可信度的代价为^m,), ^w",)4,)/':",称
ln(l-^) + v/-w(0为服务组合获得的瞬时奖赏。
图3显示了对服务可信性属性值变化的反馈交互过程。参见图3所 示,服务提供者将服务可信性信息向服务信息管理器进行注册,服务使 用者和组合服务开发者将服务使用后可信性信息反馈报告发送给服务信 息管理器,在服务信息管理器内部进行服务可信性信息的计算,产生必 要的修正信息。然后服务信息管理器将需要修正的内容发送给服务提供 者,并通知组合服务开发者。组合服务开发者将根据该修正通知进行组 合服务的调整工作。
图4显示了新服务加入时的反馈交互过程。首先,组合服务开发者 向服务信息管理器提出特定功能服务更新通知请求登记,并向服务提供 者提出服务更新协议。服务提供者也向服务信息管理器提出特定功能的 新服务注册。服务信息管理器由此向组合服务开发者发出特定功能的新 服务注册通知,服务提供者也向组合服务开发者发出服务更新通知。在 收到这两个通知后,组合服务开发者进行自身的组合服务调整。
以上对本发明所述的提高服务组合可信性的自适应维护方法进行了 详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神 的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的 侵犯,将承担相应的法律责任。
权利要求
1. 一种提高服务组合可信性的自适应维护方法,将服务组合作为被控对象,服务保证策略作为相应的控制器,由所述服务组合和所述服务保证策略构成闭环反馈控制系统,其特征在于在所述闭环反馈控制系统中,将对服务组合的可信性的期望值作为给定量,所述给定量输入所述控制器,获得所述可信性的调整量,所述调整量进入构造器,所述构造器的输出进入服务缓冲池和组合缓冲池;所述服务缓冲池和组合缓冲池的信息通过监测评估器后,生成所述可信性的实际值;所述可信性的实际值与期望值结合,反馈给所述控制器;服务注册库将所述可信性的变化反馈给所述服务缓冲池、组合缓冲池和监测评估器。
2. 如权利要求1所述的提高服务组合可信性的自适应维护方法,其 特征在于所述控制器通过服务组合可信性维护的马尔可夫决策模型实现。
3. 如权利要求2所述的提高服务组合可信性的自适应维护方法,其 特征在于所述马尔可夫决策模型中,采用了强化学习算法获得最优决策策略; 所述强化学习算法中,把状态一动作对的奖赏作为值函数,首先对 当前状态S和动作fl的所有组合,设定值函数的初始估计为0,然后观察 当前状态S, 一直重复做在选择和执行动作a,接受瞬时奖赏r;观察 新状态S',按照S—S'更新估计值;在强化学习过程中,如果执行某个动作a后获得环境正的奖赏,则之后增强继续应用该策略的趋势,反之则降低这种趋势;由此不断根据环境的反馈学习出真实的值函数,进而得到最优决策 策略。
全文摘要
本发明提供了一种提高服务组合可信性的自适应维护方法。该方法将服务组合的可信保证问题当作控制问题,服务组合及其可用资源当作被控对象,服务保证策略当作相应的控制器,服务组合和保证策略构成一个闭环反馈控制系统,利用马尔可夫决策过程理论设计和优化服务组合可信性质保证策略。本发明通过构件服务的可信性变化反馈和基于强化学习的自适应控制维护,提高服务组合的可信性。通过在马尔可夫决策过程框架下,根据构件服务的可信性变化情况,应用强化学习法选择维护策略,替换失效或性能下降的构件服务,防止了服务组合的可信性下降。
文档编号H04L12/24GK101488880SQ20081005634
公开日2009年7月22日 申请日期2008年1月16日 优先权日2008年1月16日
发明者怀进鹏, 晋 曾, 扬 李, 杜宗霞, 婷 邓, 郭慧鹏 申请人:北京航空航天大学