发明名称 一种基于QoS指标的动态Web服务组合方法
摘要 本发明公开了一种基于QoS指标的动态Web服务组合方法,在为第一个任务选择最合适Web服务的阶段,计算第一个任务候选Web服务的QoS指标有效值,通过排序选择QoS有效值最大的候选服务作为最佳服务,当选出最合适的Web服务后立即执行此Web服务,在执行过程中进行为后继任务选择的阶段。在为后继任务选择最合适Web服务的阶段,按照任务规划的顺序依次为每一个任务选择并执行最佳Web服务。对于每一个后继任务,将正在执行的Web服务和直接后继任务的各候选服务分别组成服务对,根据各服务对的QoS指标有效值为直接后继任务选出最佳Web服务,选出Web服务后即可执行,形成一种执行与选择并发进行的动态实施效果。
申请公布号 CN102868757B 申请公布日期 2016.03.23
申请号 CN201210369802.0 申请日期 2012.09.28
申请人 南京大学 发明人 窦万春;杨君
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 江苏圣典律师事务所 32237 代理人 胡建华
主权项 一种基于QoS指标的动态Web服务组合方法,其特征在于,包括以下步骤:步骤1:现给定一组请求Web服务组合的任务,通过服务提供商的Web服务发现引擎获取各个任务的候选Web服务及候选Web服务的QoS指标;步骤2:计算第一个任务各候选Web服务的QoS指标有效值;步骤3:调用并执行具有最高QoS指标有效值的Web服务作为第一个任务的最优服务;步骤4:将现在正在执行的Web服务与直接后继任务的满足条件的候选Web服务依次逐个进行组合,得到Web服务对集合;步骤5:计算Web服务对集合中每个Web服务对的QoS指标有效值;步骤6:根据各Web服务对的QoS指标有效值为直接后继任务选择最佳Web服务;步骤7:执行已选Web服务的同时,判断是否还有后继任务,如果有跳转至步骤4,如果没有输出已选服务作为最佳Web服务组合;步骤1中,当给定一组请求Web服务组合的任务时,Web服务发现引擎根据任务和服务的描述,为每个任务定位功能一致、可用的候选Web服务集;一组请求Web服务组合的任务通过将复杂的用户需求R分解后得到,描述为任务集&lt;T<sub>1</sub>,…,T<sub>n</sub>&gt;,T<sub>i</sub>表示任意一个任务,1≤i≤n,n表示任务的总数,Web服务发现引擎搜索每个任务对应的一组候选Web服务,从而得到n个候选Web服务集;Web服务选择的依据是QoS指标;Web服务s的QoS指标表示为向量Q<sub>s</sub>={q<sub>1</sub>(s),...,q<sub>r</sub>(s)},q<sub>k</sub>(s)表示Web服务s的第k个QoS指标属性值,1≤k≤r,r表示QoS指标向量中属性的总个数;以单个任务为选择粒度、按照任务集&lt;T<sub>1</sub>,…,T<sub>n</sub>&gt;中的任务顺序,针对每个任务所对应的候选Web服务集,选择并执行具有最佳QoS指标的Web服务;步骤2中,为第一个任务选择Web服务时,分别计算第一个任务所对应的候选Web服务的QoS指标有效值,基于候选Web服务的QoS指标有效值选择最优的服务;采用多属性决策方法计算单个Web服务的QoS指标有效值,包括如下步骤:首先把不同QoS指标属性值转化成相同粒度,其次给QoS指标属性值中的每一个属性设定不同的权值;假设一个组合任务中的一个任务T<sub>i</sub>和其对应的候选Web服务集S<sub>i</sub>,其中候选Web服务s的QoS指标有效值U(s)计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>U</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><mrow><mi>Q</mi><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>q</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><mi>Q</mi><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>Q</mi><mi>min</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac><mo>&CenterDot;</mo><msub><mi>w</mi><mi>k</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000861949920000021.GIF" wi="853" he="141" /></maths>其中,Q min(i,k)是指候选Web服务集S<sub>i</sub>中各候选服务的QoS指标k属性的最小值,Q max(i,k)是指候选Web服务集S<sub>i</sub>中各候选服务的QoS指标k属性的最大值,w<sub>k</sub>表示QoS指标k属性的权值,w<sub>k</sub>∈[0,1]且<img file="FDA0000861949920000022.GIF" wi="271" he="93" />步骤4~步骤7中,根据当前正在执行的任务T<sub>i</sub>对应的Web服务,为任务T<sub>i</sub>的直接后继任务T<sub>i+1</sub>选择QoS指标有效值最高的Web服务执行,直到Web服务组合完成;为直接后继任务选择服务时,将当前Web服务和下一个任务的各候选Web服务分别组合成各Web服务对;一个Web服务对的QoS向量描述为Q<sub>sp</sub>={q'<sub>1</sub>(sp),...,q'<sub>r</sub>(sp)},q'<sub>k</sub>(sp)表示Web服务对sp的第k个QoS指标属性值,1≤k≤r;r表示QoS指标向量中属性的总个数;Web服务对的各QoS指标属性值分别由单个Web服务的QoS指标属性值聚合而成;分别计算各Web服务对的QoS有效值,基于Web服务对的QoS有效值为下一个任务选择最优的Web服务;Web服务对的QoS指标有效值的计算方法为:假设任务组合中的一个任务T<sub>i</sub>和其对应的一组候选Web服务对SP<sub>i</sub>,其中候选Web服务对sp的QoS指标有效值U(sp)计算公式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>U</mi><mrow><mo>(</mo><mi>s</mi><mi>p</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><mrow><msup><mi>Q</mi><mo>&prime;</mo></msup><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><msup><mi>q</mi><mo>&prime;</mo></msup><mi>k</mi></msub><mrow><mo>(</mo><mi>s</mi><mi>p</mi><mo>)</mo></mrow></mrow><mrow><msup><mi>Q</mi><mo>&prime;</mo></msup><mi>max</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msup><mi>Q</mi><mo>&prime;</mo></msup><mi>m</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac><mo>&CenterDot;</mo><msub><mi>w</mi><mi>k</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000861949920000023.GIF" wi="885" he="142" /></maths>其中,Q'max(i,k)和Q'min(i,k)分别指候选Web服务对集合SP<sub>i</sub>中各候选服务对的QoS指标k属性的最小值和最大值,w<sub>k</sub>表示QoS指标k属性的权值,w<sub>k</sub>∈[0,1]且<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></msubsup><msub><mi>w</mi><mi>k</mi></msub><mo>=</mo><mn>1.</mn></mrow>]]></math><img file="FDA0000861949920000024.GIF" wi="294" he="87" /></maths>
地址 210093 江苏省南京市栖霞区仙林大道163号南京大学