一种面向服务需求变化的组合服务动态重构方法及系统

未命名 09-13 阅读:92 评论:0


1.本发明属于互联网服务技术领域,尤其涉及一种面向服务需求变化的组合服务动态重构方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.在组合服务的运行过程中,随着用户所处场景的不断变化或新事件的发生,用户原复杂服务需求中的子服务需求通常会发生变化,使得已经构建好的组合服务无法满足用户的新服务需求,导致组合服务失效。因此,在组合服务的执行过程中,当用户的服务需求(service demand,sd)发生变化时,需要对已有的组合服务进行重构,使得重构后的组合服务既能满足用户的新服务需求,又能保障重构区域之外的组合服务部分顺利执行。
4.1、目前的组合服务动态重构策略包括:采用备份路径的方式,当组件服务发生故障时,将快速地切换到预先构建好的备份路径;使用替换路径的方式,通过跳过失败的服务来重建一个新的处理流程。上述策略虽然可以实现对失效组合服务的重构,但由于其提出的方法均需要构建新的组合服务,时间复杂度较高;同时,没有考虑如何满足用户提出的全局qos约束,具有一定局限性。
5.2、现有技术提出在进行重构时,考虑了满足原始的全局qos约束,然而,由于缺乏对关键因素变化的主动感知,无法准确获取组合服务重构的时机,严重影响了组合服务重构的动态性与主动性。
6.3、目前有关服务需求预测的能够有效预测单个领域内某些服务需求量的变化,但这些方法无法直接应用于不同领域间服务需求的变化。


技术实现要素:

7.为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种面向服务需求变化的组合服务动态重构方法及系统,其首先基于事例链推理方法主动感知用户服务需求的变化;然后,依据服务需求与组件服务间的映射关系,确定服务需求变化后组合服务需要重构的区域;最后,依据重构所需服务的规模,设计了一种组合服务自适应重构策略,从而完成组合服务的动态重构,满足原始的全局qos约束的同时,能够主动感知用户服务需求是否发生变化,可以直接应用于不同领域间服务需求的变化。
8.为了实现上述目的,本发明采用如下技术方案:
9.本发明的第一个方面提供一种面向服务需求变化的组合服务动态重构方法,包括:
10.获取用户实时的情景信息;
11.根据用户实时的情景信息和事例链推理模型主动感知用户当前的服务需求;
12.其中,所述事例链推理模型的构建过程为:
13.将事例之间的重要关联关系引入事例推理方法中,构建了具有关联关系的事例链,以事例链为基础构建事例链库,基于事例链库,采用基于二次规整的相似事例链检索方法进行相似事例链的检索;
14.对比所感知到的服务需求与用户的原服务需求,判断用户服务需求是否发生了变化;若用户的服务需求发生了变化,则依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域;
15.针对重构区域所需组件服务规模的不同,依据组合服务动态重构策略,选择相应的重构方法,以完成面向服务需求变化的组合服务动态重构。
16.本发明的第二个方面提供一种面向服务需求变化的组合服务动态重构系统,包括:
17.用户信息获取模块,其用于获取用户实时的情景信息;
18.服务需求感知模块,其用于根据用户实时的情景信息和事例链推理模型主动感知用户当前的服务需求;其中,所述事例链推理模型的构建过程为:
19.将事例之间的重要关联关系引入事例推理方法中,构建了具有关联关系的事例链,以事例链为基础构建事例链库,基于事例链库,采用基于二次规整的相似事例链检索方法进行相似事例链的检索;
20.区域重构模块,其用于对比所感知到的服务需求与用户的原服务需求,判断用户服务需求是否发生了变化;若用户的服务需求发生了变化,则依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域;
21.动态重构模块,其用于针对重构区域所需组件服务规模的不同,依据组合服务动态重构策略,选择相应的重构方法,以完成面向服务需求变化的组合服务动态重构。
22.本发明的第三个方面提供一种计算机可读存储介质。
23.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的一种面向服务需求变化的组合服务动态重构方法中的步骤。
24.本发明的第四个方面提供一种计算机设备。
25.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的一种面向服务需求变化的组合服务动态重构方法中的步骤。
26.与现有技术相比,本发明的有益效果是:
27.1)本发明为了主动感知用户服务需求的变化,根据用户实时的情景信息,基于事例链推理方法预测用户当前的服务需求;然后,将所预测的服务需求与用户原服务需求进行对比,从而判断用户的服务需求是否发将会变化。依据事例间关联关系建立以事例链为个体的事例链库,可有效弥补现有事例推理方法中事例间缺乏联系的不足,使得整个事例推理系统演化推理过程的可解释性更强,主动感知用户服务需求的变化,有助于提高用户服务需求预测的准确度。
28.2)本发明针对服务需求变化引起的组合服务失效问题,提出了一种面向服务需求变化的组合服务动态重构方法,主动感知用户服务需求的变化之后,根据重构区域涉及服务规模的大小,设计了高效地组合服务动态重构策略。
29.3)本发明为提高组合服务动态重构的时效性,设计了高效的组合服务动态重构策
略,该策略根据重构区域涉及服务规模的大小,设计了基于单服务替换的组合服务动态重构方法以及基于局部区域服务优化组合的组合服务动态重构方法,提高了算法的收敛速率,同时保证了群体的多样性,防止算法陷入局部最优。
附图说明
30.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
31.图1是本发明实施例提供的组合服务动态重构方法流程图;
32.图2是本发明实施例提供的事例链的构建过程;
33.图3是本发明实施例提供的弯曲路径示意图;
34.图4是本发明实施例提供的基于dtw的子事例链匹配结果;
35.图5是本发明实施例提供的服务需求约束确定过程;
36.图6是本发明实施例提供的几种方法的预测准确率对比;
37.图7是本发明实施例提供的不同抽象组件服务的候选服务数量下msc-slo的运行时间;
38.图8是本发明实施例提供的多种算法的性能比较。
具体实施方式
39.下面结合附图与实施例对本发明作进一步说明。
40.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
41.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
42.实施例一
43.如图1所示,本实施例提供了一种面向服务需求变化的组合服务动态重构方法,包括如下步骤:
44.步骤1:获取用户实时的情景信息;
45.步骤2:根据用户实时的情景信息和基于事例链推理方法主动感知用户当前的服务需求;
46.步骤3:对比所感知到的服务需求与用户的原服务需求,判断用户服务需求是否发生了变化;若用户的服务需求发生了变化,则依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域;
47.步骤4:针对重构区域所需组件服务规模的不同,依据组合服务动态重构策略,选择相应的重构方法,以完成面向服务需求变化的组合服务动态重构。
48.以实施例的方式具有说明本发明的技术方案:
49.首先基于事例链(case chain,cc)构建事例库,客观地反应事例间的关联关系;
50.其次,采用动态时间规整(dynamictimewarping,dtw)算法实现相似事例的检索。
51.为了准确地判断用户的服务需求是否将会发生变化,需要在组合服务执行过程中,结合用户所处的场景对用户的服务需求进行预测,通过对比所预测的服务需求与用户的原服务需求,判定用户的服务需求是否会发生变化。
52.其中,事例推理(casebasedreasoning,cbr)作为一种与人类逻辑推理密切相关的模型,在求解问题时中具有数据需求量小、稳定性高、推理速度快以及可解释性强等优势。因此,本实施例选择cbr方法作为服务需求变化感知的重要技术基础。
53.在现实生活中,事件之间往往具有一定关联关系(事件对应于cbr中的事例),先前发生的事件(事例)往往对后续事件的产生具有一定的影响。然而,已有的cbr方法通常将事例作为一个单独的个体,仅基于单个事例进行问题的推理,没有考虑事例之间的关联关系,从而无法充分、有效地利用事例之间的关联关系,影响了cbr方法的预测性能。
54.为了解决这一问题,本实施例将事例之间的重要关联关系(包括时间关系、业务逻辑关系、用户偏好关系)引入cbr方法中,构建了具有关联关系的事例链,提出了一种事例链推理(casechainsbasedreasoning,ccbr)模型,并基于ccbr模型实现了服务需求主动感知(预测)(servicedemandpredictionmethodbasedonccbr,sdp-ccbr)。
55.具体地,所述事例模型的构建过程包括:
56.对于传统的cbr方法,事例通常由问题描述及问题的解决方案组成。对于服务需求预测问题,事例的问题特征由用户特征及其所处场景的上下文特征构成,如时间段(tp)、地点(loc)、天气(w)、是否为工作日(iswd)、心理状态(ms)和健康情况(hc)等。在上述因素描述的场景下,用户提出的服务需求(usd)则表示问题的解决方案。
57.用户服务需求事例模型定义如公式(1)所示。
58.c=《(tp,loc,w,iswd,

),(ms,hc,

)||usd》(1)
59.其中,(tp,loc,w,iswd,

)表示用户所处场景的上下文特征,tp表示事例c发生的时间段;loc表示事例c发生的地点;w表示事例c发生时的天气状况;iswd表示事例c发生时是否为工作日;(ms,hc,

)表示用户的特征,ms表示用户的心理状态,包括:疲劳、忧伤、紧张、喜悦等;hc表示用户的健康情况,包括:较差、良好、健康等。usd表示用户在该场景下的服务需求。
60.基于该事例模型,结合大规模用户日常生活中的行为信息、场景信息以及服务需求信息,可以产生大量的具体事例,为后续事例链库的构建奠定重要基础。
61.本实施例通过对事例间重要关联关系的提炼,提出了一种以事例链(casechain,cc)为基础的事例链库(case-chainsbase,ccb)构建规则。
62.其中,本实施例考虑的事例间关联关系主要包括时间关系、业务逻辑关系与用户偏好关系。
63.时间关系表示事例先后发生的顺序;业务逻辑关系包含因果关系与顺承关系,表示在客观逻辑上,事例a的发生预示着事例b将以较大的概率发生(例如,用户乘坐飞机到达目的地后,往往会使用接机服务);用户偏好关系表示用户个人的行为习惯,即用户u在经历事例a后,通常根据自身的行为偏好将会执行事例b(例如,用户u游玩景区后通常会去商场购物)。
64.由于单个用户的事例数量是有限的,为了获取丰富的事例链,进而提高基于事例链推理的服务需求预测的准确度,本实施例以大规模的相似用户,在一段时间内所产生的事例链为基础构建事例链库(ccb)。
65.如图2所示,下面以用户u在一段时间产生的n个事件为(event={e1,e2,

,en}),详细阐述事例链库(ccb)的建立过程。
66.首先,根据公式(1)所定义的用户服务需求事例模型,结合事件中的用户信息、场景信息以及服务需求信息,将n个事件转换成n个相互独立的事例{c1,c2,

,cn};之后,根据事例发生的时间顺序,将所有的事例进行串联,形成一条具有时序性的事例链tcc=(c1,c2,

,cn);然后,根据事例之间的业务逻辑关系与用户偏好关系对tcc中的事例建立有向边,得到具有时间关系、业务逻辑关系与用户偏好关系的有向事例图mcc;最后,以事例c1为起点遍历有向事例图mcc,得到除tcc外的所有路径,记为cp={cp1,cp2,

,cpj,

,cpm},并将这些路径作为ccb内事例链。
67.通过上述方法,基于大规模相似用户的事例链,可以构建出较为完备的事例链库。
68.上述方案的优势在于,依据事例间关联关系建立以cc为个体的事例链库,可有效弥补现有cbr方法中事例间缺乏联系的不足,使得整个cbr系统演化推理过程的可解释性更强,有助于提高用户服务需求预测的准确度,并为下一步相似事例链的检索与重用奠定重要基础。
69.事例链检索是指从事例链库中检索与目标事例链相似的k个事例链的过程。
70.根据用户所处的实时场景信息,本实施例定义用户服务需求目标事例c
t
如式(2)所示。
71.c
t
=《(tp
t
,loc
t
,w
t
,iswd
t
,

),(ms
t
,hc
t
,

)||usd
t
》(2)
72.其中,(tp
t
,loc
t
,w
t
,iswd
t
,

)表示目标事例c
t
的场景信息,(ms
t
,hc
t
,

)表示目标事例c
t
的用户信息,usd
t
表示目标事例的服务需求,即需要预测的用户服务需求。
73.在本实施例所构建的事例链库中,每个个体为一个体现事例间关联关系的事例链,因此,传统cbr方法中的相似事例检索方法,无法直接适用于相似事例链的检索。
74.为此,本发明在充分考虑用户服务需求预测问题的特点后,提出一种基于二次规整的相似事例链检索方法。
75.该方法首先依据问题特征对目标事例c
t
进行链化操作,将目标事例及其k个前驱事例进行组合,形成目标事例链cc
t
=(c
p
,cq,

,c
t
),|cc
t
|=k+1;
76.然后,针对事例链库冗余性较高、事例链较长的问题,对事例链库进行一次规整,形成冗余性较低、链长较短的子事例链库(subcasechainbase,sccb),进而提高相似事例链的检索速率;之后,采用动态时间规整(dynamictimewarping,dtw)算法,对sccb内子事例链(subcasechain,scc)进行二次规整,使得sccb内各scc的链长与目标事例链cc
t
相同;最后,依据相似度计算公式检索与cc
t
最为相似的k个scc。
77.所述对事例链库进行一次规整的过程包括:
78.为了解决ccb内事例链过长、冗余性较高的问题,在进行相似事例链检索之前,首先对事例链库进行一次规整。该规整方法意在保留事例链(cc)中与目标事例链(cc
t
)最为相似的部分,除去剩余部分,从而降低cc的长度,解决ccb内事例链过长、冗余性较高的问题,提高相似事例链的检索准确度。该方法具体操作如下:首先,针对ccb中每条事例链cci=(c1,

,c
p
,

,cq,
…cn
),确定与目标事例c
t
问题描述部分相似性最高的事例cq;若事例间相似度sim(cq,c
t
)小于给定的阈值η则删除该事例链cci,并对下一条事例链cc
i+1
进行规整(相似度sim(cq,c
t
)计算方法将在下文中详细说明);否则,将事例cq作为子事例链scci的链尾;然后,以子事例链scci的链尾事例cq为起点,向前搜索cci中与目标事例链链头事例相似性最高的事例c
p
,并将事例c
p
作为子事例链scci的链首。最后,保留cci内事例c
p
到事例cq之间的事例,得到新的子事例链scci=(c
p
,

,cq)。
79.所述对事例链库进行二次规整的过程包括:
80.事例链库的一次规整可以有效解决ccb内事例链过长、冗余性较高的问题。然而,sccb内的scc与cc
t
在长度上仍存在互不相同的问题,使得难以直接计算事例链之间的相似度。在语音匹配领域,动态时间规整(dynamic time warping,dtw)算法可将两个长度不一的语音序列规整为趋势相似,长度相同的两个序列。该方法首先依据“距离优先”或“相似度最大”原则,将序列弯曲部分的元素进行自我复制,从而使两条序列的波形相似、长度相同;然后,再对序列中的元素对齐匹配。
81.为了有效计算scc与cc
t
间的相似度,本实施例基于dtw算法对通过一次规整后得到的事例链进行二次规整,将与目标事例链不等长的事例链转换为与目标事例链长度相同的个体,从而方便计算sccb内各scc与cc
t
间的相似度。
82.事例链的二次规整过程如下:设有两条子事例链scca=(c
a,1
,

,c
a,n
),sccb=(c
b,1
,

,c
b,m
),其链长分别为n和m。依据链scca与链sccb中事例间的距离,可构造一个n
×
m的矩阵an×m。其中,第(i,j)个元素是链scca中第i个事例c
a,i
与链dccb中第j个事例c
b,j
的距离,记作d
ij

83.如图3所示,w是由矩阵an×m中部分元素构成的一条连续弯曲路径。从本质上来讲,路径w是事例链scca与sccb之间最短距离的映射,w
p
=(i,j)表示w的第p个元素坐标,路径w={w1,

,w
p
,

,wk|max(n,m)≤k《n+m-1}。
84.所述路径w满足以下条件限制:
85.(1)边界条件:w1=(1,1)且wk=(n,m),即要求弯曲路径w必须从矩阵a的起始位置(1,1)开始,并于对角的终止位置(n,m)结束;
86.(2)连续性:给定w
p
=(x
p
,y
p
)和w
p-1
=(x
p-1
,y
p-1
),要求x
p-x
p-1
≤1且y
p-y
p-1
≤1,即要求弯曲路径w每一步设定都是连续的;
87.(3)单调性:给定w
p
=(x
p
,y
p
)和w
p-1
=(x
p-1
,y
p-1
),要求x
p-x
p-1
≥0且y
p-y
p-1
≥0,即要求路径w在通过点(i,j)前至少通过点(i-1,j-1),点(i-1,j)或点(i,j-1)中的一个,保证路径w在时间轴上的单调性。
88.在解空间内,满足上述限制条件的路径有许多,因此需要计算每条路径从点(1,1)出发到达点(n,m)时的累积距离,并选择积累路径最小的作为最佳路径。路径累积距离计算公式如式(3)所示。
[0089][0090]
其中,dtw表示路径的累积距离,w
p
表示路径w通过第p个元素(i,j)时两条子事例链对应事例c
a,i
和c
b,j
之间的距离d
ij
;k表示路径w的长度,用于消除不同路径长度的影响。
[0091]
通过基于dtw算法的二次规整方法可以使子事例链scca与sccb经过拉伸或压缩操
作变成长度相同、最优匹配的两条子事例链。通过基于dtw的二次动态规整后,两条子事例链中各事例间的对应关系如图4所示。
[0092]
在提出的用户服务需求预测事例模型中,事例问题特征属性d主要包含符号型数据、实数型数据以及区间型数据,下面分别给出特征属性、事例以及事例链相似度计算公式。
[0093]
a.问题特征属性相似度计算公式
[0094]
设有子事例链scc=(c
α
,

,c
β
),目标事例链cc
t
=(c
γ
,

,c
t
),其中事例c
α
=《d
1,α
,
…di,α
,

,d
l,α
||usd
α
》,事例c
γ
=《d
1,γ
,
…di,γ
,

,d
l,γ
||usd
γ
》,d
i,α
与d
i,γ
分别表示事例c
α
与c
γ
的第i个问题特征属性,usd
α
与usd
γ
分别表示事例c
α
与c
γ
的解特征属性,l表示事例的问题特征属性个数。
[0095]
(1)当问题特征属性di为符号型数据时,d
i,α
与d
i,γ
的相似度计算公式如式(4)所示。
[0096][0097]
(2)当问题特征属性di为实数型数据时,d
i,α
与d
i,γ
的相似度计算公式如式(5)所示。
[0098][0099]
其中,sim(d
i,α
,d
i,γ
)表示事例c
α
与c
γ
的第i个问题特征属性之间的相似度;与分别表示所有事例的第i个问题特征属性的最小值与最大值。
[0100]
(3)当问题特征属性di为区间型数据时,d
i,α
与d
i,γ
的相似度计算公式如式(6)所示。
[0101][0102]
其中,其中,分别为归一化处理的结果。
[0103]
b.事例相似度计算公式
[0104]
事例相似度能够有效评估两个事例之间的相似程度。通过对事例问题特征相似度进行加权求和,可得到两个事例的相似度值。事例c
α
与c
γ
的相似度计算公式如式(7)所示。
[0105][0106]
其中,sim(c
α
,c
γ
)表示事例c
α
与c
γ
的相似度;l表示事例问题特征属性的个数;ωi∈(0,1)表示第i个问题特征属性的权重,
[0107]
c.事例链相似度计算公式
[0108]
事例链相似度sim(scc,cc
t
)表示事例链scc与目标事例链cc
t
之间的相似程度。事例链相似度计算公式如式所示(8)。
[0109]
[0110]
其中,k表示事例链scc与目标事例链cc
t
内事例的个数,表示事例链scc与cc
t
内第i个事例间的相似度,ωi∈(0,1)表示第i个事例的权重,
[0111]
依据公式(8)计算事例链库内每条事例链与目标事例链之间的相似度,并基于计算结果筛选出与目标事例链最为相似的k个事例链,完成相似事例链检索步骤。
[0112]
依据事例链相似度计算公式(8)计算事例链库内每条事例链与目标事例链之间的相似度,并基于计算结果筛选出与目标事例链最为相似的k个事例链,完成相似事例链检索步骤。
[0113]
在检索出与目标事例链最为相似的k个事例链(scc1,scc2,

,scck)后,可以依据相似事例链链尾事例的解特征(usd1,usd2,

,usdk)来计算目标事例的解,即用户服务需求的预测结果。由于服务需求预测问题的解通常为文本型数据(例如:景区游玩需求,购物需求等),与服务需求量预测问题的解(通常为实数型数据)不同。
[0114]
因此,本实施例首先将检索所得的k个相似事例链链尾事例的解特征进行分类统计,确定每类解特征的数量个数;然后,根据“少数服从多数”的原则,将k个解特征中占比最高的一类作为目标事例的解,从而得到用户服务需求的预测结果。即,若k个解特征中,数量最多的解为usdi,则目标事例的解usd
t
则为usdi。
[0115]
所述用户需求变化的判断的过程为:在组合服务执行过程中,首先根据用户所处的实时场景信息,采用sdp-ccbr预测用户服务需求;然后,将预测的服务需求与用户原有服务需求进行比对,判断用户需求是否发生变化。服务需求变化判断规则定义如式(9)所示。
[0116][0117]
其中,o_usd与p_usd分别表示用户的原有服务需求与预测所得的服务需求。若原有服务需求o_usd与预测服务需求p_usd相同,则表明用户服务需求没有发生变化,组合服务可以顺利执行;当原有服务需求o_usd与预测服务需求p_usd相异时,说明用户服务需求发生变化,原服务需求o_usd对应的组件服务已无法满足用户现有需求,需要对组合服务进行重构。
[0118]
在进行面向服务需求变化的组合服务动态重构时,由于用户服务需求与组件服务间的映射关系具有多样性,即新的服务需求可能需要一个或多个组件服务来满足,因此,需要针对具体的重构情况,设计相应的重构策略。此外,在进行组合服务重构时,还需考虑满足新服务需求的qos约束,并且尽可能地保证重构区域之外的组合服务部分能够正常执行。
[0119]
因此,首先需要确定用户的新服务需求对应的qos约束(new qos constraint,nqc);之后,通过与组合服务重构区域需要满足的原qos约束(original qos constraint,oqc)进行对比,进而确定需要重构的区域;最后,针对所确定的重构区域,选择合适的组合服务动态重构方法进行重构。
[0120]
所述面向新服务需求的qos约束确定方法为:
[0121]
设当前用户的新服务需求为nsd,本实施例首先收集大规模用户针对服务需求nsd的qos约束;其次,对大规模用户进行聚类,进而得到具有相似特征的用户类;最后,针对每一个相似用户类,基于统计的方法得到该类用户针对服务需求nsd所提出的qos约束。针对服务需求nsd,本发明将当前用户所属用户类对nsd的qos约束,作为该用户针对nsd的qos约
束。设用户新服务需求nsd对应的qos约束为nqc={nc1,nc2,

,nck}。面向新服务需求(nsd)的qos约束确定过程如图5所示。
[0122]
所述面向服务需求变化的组合服务重构区域确定方法为:
[0123]
在组合服务的执行过程中,当用户的原服务需求发生变化时,则组合服务中绑定的组件服务则不能满足用户新的服务需求,因此需要对原组合服务进行重构。
[0124]
已知,已构建好的组合服务是需要满足一定的全局qos约束的,这里称之为原qos约束(original qos constraint,oqc设为nqc={nqc1,nqc2,

,nqck}),oqc可以根据全局qos约束分解方法得到。当用户有新的服务需求时,将会带来新的qos约束(nqc,设nqc={nqc1,nqc2,

,nqck});
[0125]
在进行组合服务动态重构时,应尽可能地保证重构区域之后的组件服务不受重构的影响,能够正常执行。在进行面向服务需求变化引起的组合服务重构之前,需要确定重构区域。重构区域的确定包括两步,首先从业务工作流库中,通过匹配的方法确定能够满足新服务需求的工作流,将所确定的工作流替换原服务需求对应的工作流,此为初级的重构区域(elementary reconfiguration area,eca);之后,需要对用户新服务需求的新qos约束(nqc),与用户原服务需求对应的qos约束(oqc)之间的关系,判断eca是否需要扩展。
[0126]
具体判断如下:
[0127]
(1)当新服务需求的nqc能够满足原服务需求的oqc时,原组合服务中除重构区域之外的组件服务仍然可以满足原定的qos约束,而可以正常执行。此时,只需要对nsd对应的eca进行重构。在这种情况下,依据eca中的工作流涉及到组件服务的规模(单个或多个),对重构区域进行基于服务替换的重构(即单服务重构)或基于区域服务优化组合的重构(即多服务重构)。
[0128]
(2)当新服务需求的nqc不能满足原服务需求的oqc时,若直接对重构区域内服务进行重构,将导致原组合服务除重构区域之外的组合服务部分无法满足原定的qos约束。为了解决这一问题,本发明对该情况下的重构区域进行逐步扩展,直到重构区域的oqc能够满足该重构区域对应的nqc(也既满足判断的第一种情况)。在此情况中,对需要重构区域内的组件服务,采用基于区域服务优化组合的重构方法。
[0129]
在确定面向服务需求变化的组合服务重构区域之后,本实施例依据重构区域涉及组件服务的规模,分别提出了基于单服务替换的重构方法与基于局部区域服务优化组合的重构方法。下面分别介绍两种组合服务重构方法。
[0130]
针对单个组件服务即可满足用户新服务需求的情况,提出了一种基于服务替换的组合服务重构方法。
[0131]
具体地,设新服务需求需要满足的qos约束为nqc,能够满足新需求的服务集合为s={s1,s2,

,sm}。在该情况下,只需要从候选服务集中选出一个既能满足nqc,又具有最优评价值的服务,以此满足用户新的服务需求,完成面向服务需求变化的组合服务动态重构。
[0132]
设某一个候选服务si的qos属性集为其中,表示qos属性集中的正向指标集,比如服务的可用性,该类指标的取值越大,表示质量越好;表示qos属性集中的逆向指标集,例如服务成本,该类指标的取值越小,表示质量越好。由于候选服务具有多种qos属性,这些属性的取值范围不同。因此,为了客观地对候
选服务进行评价,需要对候选服务qos属性值进行归一化处理。对于正向qos属性,其归一化公式如(10)式所示,对于逆向qos属性,其归一化公式如(11)式所示。
[0133][0134][0135]
其中,表示候选服务si的第l个正向qos属性值;表示候选服务si的第k个逆向qos属性值;max
*
与min
*
分别表示对应qos属性的最大值与最小值;与分别表示与的归一化结果。
[0136]
依据候选服务qos属性归一化结果,可有效计算服务si的评价值。候选服务评价函数如式(12)所示。
[0137][0138]
其中,f(si)表示候选服务si的评价值,评价值越高表示服务整体质量越好;qj′
表示候选服务si的第j个qos属性的归一化值;j表示第j个qos属性的权重值,
[0139]
当组合服务重构区域涉及到的组件服务较多时,需要选择多个具体的组件服务,从而使所构建的区域服务组合到达最优,该问题本质上是一个组合优化问题。社会学习优化算法(social learning optimizatio,slo)是一种基于社会学习理论、模拟人类智能进化过程的新型群体智能算法。该算法由三个演化空间构成,三者之间具有良好的协同进化能力,使得算法具有较好的优化性能。鉴于slo算法具有快速收敛的特性,以slo算法为基础,结合重构区域服务优化组合的特点,对slo内的微空间以及学习空间算子进行了改进,进一步提高了算法的收敛速率,同时保证了群体的多样性,防止算法陷入局部最优;最终形成了一种面向组合服务重构区域改进slo的服务优化组合方法。
[0140]
设重构区域对应的工作流包括m个任务节点(t1,t2,

,tm),每个任务节点ti下均包含一个满足其功能需求的候选服务集csi={s
i,1
,s
i,2
,

,s
i,n
};每一个候选服务有k个qos属性;根据聚合公式,可以计算出区域服务组合的聚合qos值。
[0141]
所述改进slo的服务优化组合方法具体包括如下步骤:
[0142]
(1):初始化,生成微空间内个体;
[0143]
(2):微空间内遗传进化阶段。执行轮盘赌操作,计算每个个体间相似度;依据交叉概率与个体间相似度,执行交叉操作,保留最优个体;依据变异概率,执行变异操作,保留最优个体;
[0144]
(3):学习空间内个体学习阶段。对个体执行主动学习操作,保留最优个体;对个体执行被动学习操作,保留最优个体;
[0145]
(4):信仰空间内影响更新阶段。执行更新操作,将微空间内适应度值较高的α个个体上传至信仰空间内;执行影响操作,将信仰空间内α个个体替换微空间内适应度值较差的α个个体;存储适应度最高的个体。
[0146]
本发明所提出的面向服务需求变化的组合服务动态重构方法主要包括两个关键技术,第一关键技术为用户服务需求变化主动感知方法,其核心为基于事例链推理的服务需求预测方法(sdp-ccbr),通过实验一验证该方法的有效性。第二个关键技术为组合服务
自适应重构策略,该重构策略包括两种重构方法,第一种为基于单服务替换的组合服务重构方法,由于该方法复杂度较低,不再用实验验证该方法的有效性。第二种重构方法为基于区域服务优化组合的动态重构方法,其核心为基于改进slo的区域服务优化组合方法(msc-slo)。为了验证该方法的有效性,本发明对msc-slo方法的性能进行实验二验证。
[0147]
实验一
[0148]
为了验证本发明所提出的基于事例链推理的服务需求预测方法(sdp-ccbr)的有效性,采集了一些用户的实际行为信息,并以此构建出事例链库。具体的,统计了某高校在校学生在7周之内日常生活的需求事例,共包含1316条事例。每条事例分别从三个维度记录了与学生相关的9种关键问题描述属性,其中包括6种场景属性,2种用户属性以及1种服务需求属性,并且每种属性具有若干个取值。事例所具有的属性与取值如表1所示。其中,为便于实验的执行,事例各属性的真实取值在本实验中均以整数代替。对于所统计的7周日常生活需求事例,本实验将前6周行为信息构成的事例链作为事例链库,将最后一周内产生的事例作为目标事例。
[0149]
表1事例关键属性与取值
[0150][0151][0152]
为验证sdp-ccbr方法的性能,本实验采用基本的cbr方法(basic cbr,b-cbr)和改进的cbr方法(improved cbr,i-cbr)作为基线方法,基于所构建的事例库与事例链库,以目标事例为测试对象,并随机分为10个测试集来预测用户的服务需求。实验结果如图6所示,其中,横坐标表示测试集的编号,纵坐标表示三种预测方法的平均准确率。通过图6可以看出,sdp-ccbr方法的表现优于其他两种基线方法。这是由于sdp-ccbr方法依据事例间关联关系,将事例串联为事例链。在相似事例查找阶段,除考虑目标事例相似程度外,还参考了其前驱事例的相似性,从而查找到更为相似的事例,进而提高了服务需求预测的准确率。
[0153]
实验二
[0154]
本实验旨在验证基于改进slo的多服务优化组合方法(msc-slo)的性能。该实验以一个包括4个任务节点的重构区域为实验对象(本发明仅考虑了顺序性的服务组合结构,其他服务组合结构,可以转换成顺序的服务组合结构),并假设每个任务节点的候选服务集具有相同数量的候选服务。设每个候选服务具有5种qos属性,分别为成本、执行时间、可用性、可靠性以及信誉度。5种qos属性的偏好权重分别设置为0.2、0.1、0.2、0.1、0.4。候选服务的q os属性值在一定范围内随机生成,如表2所示。设区域服务组合需要满足的gqos约束如表
3所示。
[0155]
表2候选服务的qos取值范围
[0156][0157]
表3组合服务全局qos约束
[0158][0159]
微空间内的交叉相似度阈值设置为0.77,交叉概率设置为0.85,变异概率设置为0.05;个体在学习空间中进行被动学习时,学习对象数量设置为2;优秀个体提取到信仰空间的比例为10%。
[0160]
本实验旨在验证msc-slo算法的可行性。首先,将每个任务节点的候选服务数量分别设置为100、500、1000、5000、10000;然后,执行msc-slo算法,并记录算法在不同迭代次数下的运行时间。实验结果如图7所示,其中横坐标表示算法的迭代次数,纵坐标表示算法的运行时间,m表示每个抽象组件服务的候选服务数量。从图7可以看出,当任务节点的候选服务数量取不同值时,msc-slo算法的运行时间与迭代次数均呈线性相关;随着候选服务规模的增大,算法的运行时间并未有明显的增长。因得出:msc-slo算法在求解区域服务优化组合问题时是可行的。
[0161]
为了验证msc-slo算法的性能,本实验采用遗传算法(genetic algorithm,ga)、文化遗传算法(cultural genetic algorithm,cga)、基本的社会学习优化算法(social learning optimi zation algorithm,slo)算法以及msc-slo算法,求解给出的区域服务组合问题。其中,三种算法的初始种群规模均为100;ga、cga以及slo算法的交叉概率设置为0.85;变异概率设置为0.05。实验结果如图8所示。其中,横坐标表示算法的迭代次数,纵坐标表示四种算法找到的最优解的适应度值。
[0162]
从图8可以看出,msc-slo相较其他算法具有更快的收敛速度,得到的解也优于其他三种算法。这是由于msc-slo算法对slo算法学习空间的学习操作进行了改进,提出了主动学习以及被动学习操作。其中,主动学习操作通过向种群内最能弥补自身不足的个体学习,提高了学习的效率,加速了算法的收敛速度;此外,被动学习操作也通过向学习小组内成员汲取优势的方法,使得个体的每个学习片段得到全面的提升,进一步加强了个体学习的效率。
[0163]
实施例二
[0164]
本实施例提供了一种面向服务需求变化的组合服务动态重构系统,其特征在于,包括:
[0165]
用户信息获取模块,其用于获取用户实时的情景信息;
[0166]
服务需求感知模块,其用于根据用户实时的情景信息和事例链推理模型主动感知用户当前的服务需求;其中,所述事例链推理模型的构建过程为:
[0167]
将事例之间的重要关联关系引入事例推理方法中,构建了具有关联关系的事例
链,以事例链为基础构建事例链库,基于事例链库,采用基于二次规整的相似事例链检索方法进行相似事例链的检索;
[0168]
区域重构模块,其用于对比所感知到的服务需求与用户的原服务需求,判断用户服务需求是否发生了变化;若用户的服务需求发生了变化,则依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域;
[0169]
动态重构模块,其用于针对重构区域所需组件服务规模的不同,依据组合服务动态重构策略,选择相应的重构方法,以完成面向服务需求变化的组合服务动态重构。
[0170]
实施例三
[0171]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一所述的一种面向服务需求变化的组合服务动态重构方法中的步骤。
[0172]
实施例四
[0173]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如实施例一所述的一种面向服务需求变化的组合服务动态重构方法中的步骤。
[0174]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种面向服务需求变化的组合服务动态重构方法,其特征在于,包括:获取用户实时的情景信息;根据用户实时的情景信息和事例链推理模型主动感知用户当前的服务需求;其中,所述事例链推理模型的构建过程为:将事例之间的重要关联关系引入事例推理方法中,构建了具有关联关系的事例链,以事例链为基础构建事例链库,基于事例链库,采用基于二次规整的相似事例链检索方法进行相似事例链的检索;对比所感知到的服务需求与用户的原服务需求,判断用户服务需求是否发生了变化;若用户的服务需求发生了变化,则依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域;针对重构区域所需组件服务规模的不同,依据组合服务动态自适应重构策略,选择相应的重构方法,以完成面向服务需求变化的组合服务动态重构。2.如权利要求1所述的一种面向服务需求变化的组合服务动态重构方法,其特征在于,所述将事例之间的重要关联关系引入事例推理方法中,构建了具有关联关系的事例链,以事例链为基础构建事例链库,具体包括:结合用户信息、场景信息以及服务需求信息,将n个事件转换成n个相互独立的事例;根据事例发生的时间顺序,将所有的事例进行串联,形成一条具有时序性的事例链;根据事例之间的业务逻辑关系与用户偏好关系对事例链中的事例建立有向边,得到具有时间关系、业务逻辑关系与用户偏好关系的有向事例图;以第一事例为起点遍历有向事例图,得到除事例链外的所有路径,并将这些路径作为事例链库内事例链。3.如权利要求1所述的一种面向服务需求变化的组合服务动态重构方法,其特征在于,所述基于事例链库,采用基于二次规整的相似事例链检索方法进行相似事例链的检索,具体包括:根据用户实时的情景信息,定义用户服务需求目标事例;依据用户服务需求特征对目标事例进行链化操作,将目标事例及其k个前驱事例进行组合,形成目标事例链;对事例链库进行一次规整,形成子事例链库;采用动态时间规整算法,对子事例链库内子事例链进行二次规整,使得子事例链库内各子事例链的链长与目标事例链相同;依据相似度计算公式检索与目标事例链最为相似的k个子事例链。4.如权利要求3所述的一种面向服务需求变化的组合服务动态重构方法,其特征在于,所述对事例链库进行一次规整,形成子事例链库,具体包括:针对事例链库中每条事例链,确定该条事例链中事例与目标事例问题描述部分相似性最高的事例;若这两个事例间相似度小于给定的阈值,则删除该条事例链,并对下一条事例链进行规整;否则,将相似性最高的事例作为子事例链的链尾;以子事例链的链尾事例为起点,向前搜索事例链中与目标事例链链头事例相似性最高的事例,并将该事例作为子事例链的链首;
保留事例链内子事例链的链首和子事例链的链尾之间的事例,得到新的子事例链。5.如权利要求1所述的一种面向服务需求变化的组合服务动态重构方法,其特征在于,所述采用动态时间规整算法,对子事例链库内子事例链进行二次规整,使得子事例链库内各子事例链的链长与目标事例链链长相同,具体包括:依据各子事例链的链长与目标事例链的距离,构造一个n
×
m的矩阵,其中,n和m分别为各子事例链的链长与目标事例链的链长;将该矩阵中部分元素构成的连续弯曲路径,即为子事例链与目标事例链之间最短距离的映射,根据对连续弯曲路径的限制条件得到所有满足条件的路径,将所有路径累计得到最佳路径;基于该路径将与目标事例链不等长的子事例链转换为与目标事例链长度相同的个体。6.如权利要求1所述的一种面向服务需求变化的组合服务动态重构方法,其特征在于,所述依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域,包括:从业务工作流库中,通过匹配的方法确定满足新服务需求的工作流,将所确定的工作流替换原服务需求对应的工作流,得到初级重构区域;根据用户新服务需求的新qos约束,与用户原服务需求对应的qos约束之间的关系,判断初级重构区域是否需要扩展,若新服务需求的新qos约束满足原服务需求对应的qos约束,无需扩展,否则基于初级重构区域进行扩展得到最终的重构区域。7.如权利要求1所述的一种面向服务需求变化的组合服务动态重构方法,其特征在于,所述依据组合服务动态重构策略包括:基于单服务替换的重构方法与基于局部区域服务优化组合的重构方法。8.一种面向服务需求变化的组合服务动态重构系统,其特征在于,包括:用户信息获取模块,其用于获取用户实时的情景信息;服务需求感知模块,其用于根据用户实时的情景信息和事例链推理模型主动感知用户当前的服务需求;其中,所述事例链推理模型的构建过程为:将事例之间的重要关联关系引入事例推理方法中,构建了具有关联关系的事例链,以事例链为基础构建事例链库,基于事例链库,采用基于二次规整的相似事例链检索方法进行相似事例链的检索;区域重构模块,其用于对比所感知到的服务需求与用户的原服务需求,判断用户服务需求是否发生了变化;若用户的服务需求发生了变化,则依据新服务需求对应的工作流以及局部qos约束的满足情况,确定组合服务需要重构的区域;动态重构模块,其用于针对重构区域所需组件服务规模的不同,依据组合服务动态重构策略,选择相应的重构方法,以完成面向服务需求变化的组合服务动态重构。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种面向服务需求变化的组合服务动态重构方法中的步骤。10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的一种面向服务需求变化的组合服务动态重构方法中的步骤。

技术总结
本发明属于互联网服务技术领域,提供了一种面向服务需求变化的组合服务动态重构方法及系统,针对在组合服务的执行过程中,用户的服务需求随用户所处情景的变化而发生变化,使得构建好的组合服务在运行时无法满足用户变化后的服务需求,从而导致组合服务失效,极大地影响了用户的满意度与服务资源的利用率的问题,首先基于事例链推理方法主动感知用户服务需求的变化;然后,依据服务需求与组件服务间的映射关系,确定服务需求变化后组合服务需要重构的区域;最后,依据重构所需服务的规模,设计了一种组合服务自适应重构策略,从而完成组合服务的动态重构。并通过大量的模拟实验,验证了本文所提方法的有效性。验证了本文所提方法的有效性。验证了本文所提方法的有效性。


技术研发人员:刘志中 郑禾丹 张晓君 初佃辉 庞李鑫
受保护的技术使用者:烟台大学
技术研发日:2023.06.12
技术公布日:2023/9/12
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐