首页 / 专利库 / 软件 / 建模语言 / 统一建模语言 / 一种基于执行路径差异性的服务选择方法

一种基于执行路径差异性的服务选择方法

阅读:1002发布:2020-06-10

专利汇可以提供一种基于执行路径差异性的服务选择方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于执行路径差异性的服务选择方法:首先,基于执行路径的差异性将组合服务的各执行路径针对各抽象服务进行分组并据此扩展组合服务的执行方案;接着,依据组合服务的业务流程、各执行路径的信息、各候选服务的QoS信息、以及用户对各QoS指标的偏好和约束等,将寻找最优执行方案的问题建模为一个混合整数线性规划模型;用户还可以根据需要提供启发信息以限制最优执行方案的搜索范围;最后,求解该混合整数线性规划模型得到组合服务的最优执行方案。与现有方法相比,本发明所述方法增强了执行方案的灵活性,减少甚至避免了运行阶段的调整,并提高了用户对于最优执行方案的满意程度。,下面是一种基于执行路径差异性的服务选择方法专利的具体信息内容。

1.一种基于执行路径差异性的服务选择方法,其特征在于包含如下步骤:
步骤(1):用户提供组合服务的统一建模语言(UML,unified modeling language)活动图(以下简称活动图)和组合服务所有执行路径的信息,所述UML活动图定义了组合服务的业务流程,该活动图的每个活动结点对应组合服务中的一个抽象服务,组合服务的一个执行路径是组合服务在一次调用中使用的部分,所述执行路径的信息包括活动图中该执行路径所包含的结点、边及该执行路径的出现概率;对于组合服务中的每个抽象服务,将使用该抽象服务的所有执行路径进行分组,每个分组包含一个或多个执行路径,得到各执行路径针对各抽象服务的分组;根据分组情况扩展组合服务的执行方案,得到经扩展的组合服务的执行方案,所述组合服务的执行方案定义了组合服务中各抽象服务与具体服务之间的绑定关系,对于组合服务中的每个抽象服务,该执行方案允许针对不同的分组将该抽象服务绑定到不同的具体服务;
步骤(2):用户提供组合服务中各抽象服务的所有候选服务的QoS信息、用户对各QoS指标的偏好、全局约束和局部约束;所述候选服务为满足抽象服务功能要求的具体服务,所述QoS指标包括运行成功率、价格、声誉和运行时间,所述候选服务的QoS信息包括候选服务在各QoS指标的取值;结合用户在步骤(1)中提供的组合服务的UML活动图、组合服务的所有执行路径的信息,以及步骤(1)中得到的各执行路径针对各抽象服务的分组情况,将寻找组合服务最优执行方案的问题建模为一个混合整数线性规划(MILP,mixed integer linear programming)模型;
步骤(3):作为步骤(2)的补充,用户根据实际应用的需要提供启发信息,所述启发信息为用户对于组合服务的执行方案中使用的不同具体服务数目的限制;这些信息将作为附加约束添加到步骤(2)中建立的MILP模型之中,用于限制最优执行方案的搜索范围;
步骤(4):求解步骤(2)和步骤(3)中建立的MILP模型,根据MILP模型的最优解来确定步骤(1)中所述组合服务的执行方案中各抽象服务与具体服务的绑定关系,进而得到组合服务的最优执行方案。
2.根据权利要求1所述的基于执行路径差异性的服务选择方法,其特征在于:对于组合服务中的每个抽象服务,所述步骤(1)基于执行路径的差异性将使用该抽象服务的所有执行路径进行分组,即任意选取两个使用该抽象服务的执行路径,若这两个执行路径属于不同的分组,那么这两个执行路径必然对于该抽象服务存在差异性;将组合服务中出现概率不为零的执行路径所构成的集合称为组合服务的活动集,所述两个执行路径对于组合服务的某个抽象服务存在差异性是指:在组合服务的任意一次执行中,当运行推进到该抽象服务时,这两个执行路径中至少有一个不可能成为此次调用的实际执行路径,即出现概率变为0,也就是说这两个执行路径不可能共存于组合服务的活动集之中;所述步骤(1)基于执行路径的差异性扩展了组合服务的执行方案,只要组合服务中使用某个抽象服务的所有执行路径被分为两个或两个以上的分组,在经扩展的组合服务的执行方案中,该抽象服务就可以针对不同的分组绑定到多个不同的具体服务。
3.根据权利要求1所述的基于执行路径差异性的服务选择方法,其特征在于:所述步骤(2)中将寻找组合服务最优执行方案的问题建模为一个MILP模型的具体实现过程如下:
步骤(2-1):用户提供组合服务中各抽象服务的所有候选服务的QoS信息、用户对各QoS指标的偏好、全局约束和局部约束;
步骤(2-2):对于组合服务的每个抽象服务,根据步骤(1)中各执行路径针对该抽象服务的分组情况和步骤(2-1)中用户所提供的该抽象服务的各候选服务,向MILP模型中添加
0-1整数变量和相关约束;
步骤(2-3):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的运行成功率为该执行路径使用的所有具体服务的运行成功率之积,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了运行成功率需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
步骤(2-4):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的价格为该执行路径使用的所有具体服务的价格之和,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了价格需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
步骤(2-5):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的声誉为该执行路径使用的所有具体服务的声誉的最小值,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了声誉需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
步骤(2-6):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的运行时间为该执行路径各子路径运行时间的最大值,而子路径的运行时间为该子路径使用的所有具体服务运行时间之和,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了运行时间需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
步骤(2-7):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,用户对于执行方案的满意度取决于组合服务的运行成功率、价格、声誉和运行时间,向MILP模型中添加相应的实数变量和约束:
步骤(2-8):根据执行方案所选取的具体服务,用户对于执行方案的总体满意度取决于用户分别考虑组合服务的每个执行路径的满意度,而最优的执行方案应使用户的总体满意度最高,向MILP模型中添加相应的目标函数。
4.根据权利要求1所述的基于执行路径差异性的服务选择方法,其特征在于:所述步骤(4)将求解步骤(2)和步骤(3)所建立的MILP模型,得到该模型目标函数取最大值时各变量的取值;根据步骤(2-2)所述各0-1变量的取值,确定步骤(1)中所述组合服务的执行方案中各抽象服务与具体服务的绑定关系,进而得到组合服务的最优执行方案。

说明书全文

一种基于执行路径差异性的服务选择方法

技术领域

[0001] 本发明涉及服务计算领域的服务选择方法,尤其涉及一种基于组合服务执行路径差异性的服务选择方法。

背景技术

[0002] 当前,面向服务的软件体系结构(SOA,service oriented architecture)正逐步成为开发跨机构的复杂软件系统的主要技术。在服务计算领域,服务组合是满足业务需求的主要方式,即将多个原子服务组合起来以实现功能更加丰富的组合服务。采用 BPEL(business process execution language)、BPMN(business process modeling notation)等方式,开发人员可以在组合服务中仅仅使用抽象的Web服务(以下简称抽象服务)来指明原子服务的功能需求;然后,再将每个抽象服务绑定到一个与之功能兼容的具体的可以运行的Web服务(以下简称具体服务),进而得到可以运行的执行方案。随着服务计算的发展,提供相同或相似功能的服务越来越多,服务质量(QoS,quality of service)成为评判服务优劣的重要依据。组合服务的服务质量是用户普遍关注的问题。由于组合服务的服务质量完全取决于执行方案中所选取的Web服务的服务质量,寻找使组合服务的服务质量全局最优的执行方案(以下简称最优的执行方案)是QoS驱动的服务选择所解决的主要问题。该问题受到了学术界和工业界的广泛关注。
[0003] 在实践中,组合服务的业务流程往往包含顺序、选择、并发等多种结构。若组合服务中包含互斥的条件选择分支,那么每次调用都仅使用组合服务的部分业务流程。组合服务在一次调用中所使用的部分称为一个执行路径(execution path)。组合服务的所有执行路径对应其运行阶段的所有场景,并且多个执行路径问不可避免存在重叠的(即共同使用的)抽象服务。每次调用组合服务时,用户真正关心的是实际使用的执行路径,但这在运行开始前一股是无法准确预测的。为了应对执行路径的不确定性,现有工作一股采用统计等手段计算每个执行路径的出现概率。为便于表述,不妨将出现概率不为零的执行路径所构成的集合称为组合服务的活动集(以下简称活动集)。相应的,组合服务的执行方案需要兼顾所有可能的运行场景。对于上述多个执行路径共同使用的抽象服务,若分别考虑每个执行路径,最优的执行方案可能会使用不同的Web服务。为了兼顾所有的运行场景,最优的执行方案往往不得不根据每个执行路径的出现概率等因素做出取舍和折中。另一方面,在组合服务的每一次调用中,越来越多的执行路径将随着运行的不断推进被排除可能,执行路径的不确定性终将被完全消除,即活动集在组合服务的每次调用中是动态变化的。从形式上看,各执行路径的出现概率在每次调用中都会动态变化,即除了实际的执行路径之外,其他所有执行路径的出现概率都会陆续变为0,即组合服务的活动集在每一次调用中都会不断收缩至仅包含一个执行路径。
[0004] 现有QoS驱动的服务选择技术没有很好的处理执行路径的不确定性,大多需要在运行阶段不断调整执行方案。运行阶段的调整不仅需要计算资源和计算时间来求解相关的优化问题,并且需要暂停组合服务的运行,因而在实时性要求较高的场合难以应用。除此以外,这种被动方式的运行阶段调整有时也不足以保证执行方案是最优的。

发明内容

[0005] 本发明所解决的技术问题:克服现有技术应对执行路径不确定性的不足,提供一种基于执行路径差异性的服务选择方法,扩展了组合服务的执行方案以允许根据活动集的各种可能情况将各个抽象服务绑定到不同的具体服务,因而增强了执行方案的灵活性,减少甚至避免了运行阶段的调整,并提高了用户对于最优执行方案的满意程度。
[0006] 本发明所采用的技术方案:一种基于执行路径差异性的服务选择方法,包括:
[0007] 步骤(1):用户提供组合服务的UML活动图和组合服务所有执行路径的信息,所述UML活动图定义了组合服务的业务流程,该活动图的每个活动结点对应组合服务中的一个抽象服务,组合服务的一个执行路径是组合服务在一次调用中使用的部分,所述执行路径的信息包括活动图中该执行路径所包含的结点、边及该执行路径的出现概率;对于组合服务中的每个抽象服务,将使用该抽象服务的所有执行路径进行分组,每个分组包含一个或多个执行路径,得到各执行路径针对各抽象服务的分组;根据分组情况扩展组合服务的执行方案,得到经扩展的组合服务的执行方案,所述组合服务的执行方案定义了组合服务中各抽象服务与具体服务之间的绑定关系,对于组合服务中的每个抽象服务,该执行方案允许针对不同的分组将该抽象服务绑定到不同的具体服务;
[0008] 步骤(2):用户提供组合服务中各抽象服务的所有候选服务的QoS信息、用户对各QoS指标的偏好、全局约束和局部约束;所述候选服务为满足抽象服务功能要求的具体服务,所述QoS指标包括运行成功率、价格、声誉和运行时间,所述候选服务的QoS信息包括候选服务在各QoS指标的取值;结合用户在步骤(1)中提供的组合服务的UML活动图、组合服务的所有执行路径的信息,以及步骤(1)中得到的各执行路径针对各抽象服务的分组情况,将寻找组合服务最优执行方案的问题建模为一个MILP模型;
[0009] 步骤(3):作为步骤(2)的补充,用户根据实际应用的需要提供启发信息,所述启发信息为用户对于组合服务的执行方案中使用的不同具体服务数目的限制;这些信息将作为附加约束添加到步骤(2)中建立的MILP模型之中,用于限制最优执行方案的搜索范围;
[0010] 步骤(4):求解步骤(2)和步骤(3)中建立的MILP模型,根据MILP模型的最优解来确定步骤(1)中所述组合服务的执行方案中各抽象服务与具体服务的绑定关系,进而得到组合服务的最优执行方案。
[0011] 对于组合服务中的每个抽象服务,所述步骤(1)基于执行路径的差异性将使用该抽象服务的所有执行路径进行分组,即任意选取两个使用该抽象服务的执行路径,若这两个执行路径属于不同的分组,那么这两个执行路径必然对于该抽象服务存在差异性。所述两个执行路径对于组合服务的某个抽象服务存在差异性是指:在组合服务的任意一次执行中,当运行推进到该抽象服务时,这两个执行路径中至少有一个不可能成为此次调用的实际执行路径,即出现概率变为0,也就是说这两个执行路径不可能共存于组合服务的活动集之中。易见,对于组合服务的各抽象服务,若运行推进到该抽象服务时组合服务的活动集出现多种可能的情况,那么组合服务的执行方案中可以针对每一种情况将该抽象服务绑定到不同的具体服务。所述步骤(1)将使用该抽象服务的所有执行路径进行分组,每个分组对应上述活动集的一个或若干个可能的情况。相应的,所述步骤(1)基于执行路径的差异性扩展了组合服务的执行方案,只要组合服务中使用某个抽象服务的所有执行路径被分为两个或两个以上的分组,在经扩展的组合服务的执行方案中,该抽象服务就可以针对不同的分组绑定到多个不同的具体服务。而在现有同类方法所使用的组合服务的执行方案中,组合服务的每个抽象服务绑定到一个具体服务。
[0012] 所述步骤(2)中将寻找组合服务最优执行方案的问题建模为一个MILP模型的具体实现过程如下:
[0013] 步骤(2-1):用户提供组合服务中各抽象服务的所有候选服务的QoS信息、用户对各QoS指标的偏好、全局约束和局部约束;
[0014] 步骤(2-2):对于组合服务的每个抽象服务,根据步骤(1)中各执行路径针对该抽象服务的分组情况和步骤(2-1)中用户所提供的该抽象服务的各候选服务,向MILP模型中添加0-1整数变量和相关约束;
[0015] 步骤(2-3):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的运行成功率为该执行路径使用的所有具体服务的运行成功率之积,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了运行成功率需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
[0016] 步骤(2-4):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的价格为该执行路径使用的所有具体服务的价格之和,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了价格需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
[0017] 步骤(2-5):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的声誉为该执行路径使用的所有具体服务的声誉的最小值,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了声誉需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
[0018] 步骤(2-6):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,组合服务的运行时间为该执行路径各子路径运行时间的最大值,而子路径的运行时间为该子路径使用的所有具体服务运行时间之和,向MILP模型中添加相应的实数变量和约束;若用户在步骤(2-1)中提供了运行时间需满足的局部约束或全局约束,向MILP模型中添加相应的约束;
[0019] 步骤(2-7):根据执行方案所选取的具体服务,对于组合服务的每个执行路径,用户对于执行方案的满意度取决于组合服务的运行成功率、价格、声誉和运行时间,向MILP模型中添加相应的实数变量和约束:
[0020] 步骤(2-8):根据执行方案所选取的具体服务,用户对于执行方案的总体满意度取决于用户分别考虑组合服务的每个执行路径的满意度,而最优的执行方案应使用户的总体满意度最高,向MILP模型中添加相应的目标函数。
[0021] 所述步骤(4)将求解步骤(2)和步骤(3)所建立的MILP模型,得到该模型目标函数取最大值时各变量的取值;根据步骤(2-2)所述各0-1变量的取值,确定步骤(1)中所述组合服务的执行方案中各抽象服务与具体服务的绑定关系,进而得到组合服务的最优执行方案。
[0022] 本发明与现有技术相比的有益效果在于:
[0023] (1)基于组合服务执行路径的差异性,本发明所述技术方案扩展了组合服务的执行方案以允许针对活动集的各种可能情况将各个抽象服务绑定到不同的具体服务,增强了执行方案的灵活性;
[0024] (2)对于组合服务的每个抽象服务,本发明所述技术方案事先考虑活动集的各种可能情况并允许在组合服务的执行方案中有针对性的使用不同的具体服务,提供了一种主动的应对执行路径不确定性的途径,减少甚至避免了运行阶段的调整;
[0025] (3)本发明所述技术方案提高了用户对于最优执行方案的满意程度。附图说明
[0026] 图1为本发明方法实现流程图
[0027] 图2为本发明实施例中组合服务的UML活动图;
[0028] 图3、
[0029] 图4和
[0030] 图5分别为本发明实施例中组合服务的执行路径ep1、ep2和ep3;
[0031] 图6列举了本发明实施例中组合服务的各抽象服务的依赖集;
[0032] 图7列举了本发明实施例中组合服务的各执行路径针对各抽象服务的分组;
[0033] 图8为本发明实施例中经扩展的组合服务的执行方案的总体示意图;
[0034] 图9为本发明实施例中经扩展的组合服务的执行方案的局部示意图,说明了在扩展执行方案时如何根据执行路径的差异性将抽象服务a11绑定到具体服务
[0035] 图10为本发明实施例中组合服务的执行方案的应用原理的示意图,说明了实际使用时如何根据活动集的取值从具体服务 中选取合适的服务。

具体实施方式

[0036] 如图1所示,本发明的具体实施步骤如下:
[0037] 步骤(1)根据用户提供的组合服务的UML活动图和组合服务的所有执行路径的信息计算各执行路径针对各抽象服务的分组并据此扩展组合服务的执行方案,具体实现如下:
[0038] 步骤(1-1):用户提供组合服务的UML活动图和组合服务的所有执行路径的信息,其中,用户需要使用loop peeling或loop unrolling等方法消除该UML活动图中的循环结构;
[0039] 本发明采用UML活动图来描述组合服务的业务流程。在步骤(1-1)中,所述的UML活动图记为G;G中所有的结点构成的集合、所有的活动结点构成的集合和所有的有向边构成的集合分别记为V(G)、V0(G)和E(G)。G中每个活动结点ai对应组合服务的一个抽象服务,在不引起混淆时也称为抽象服务ai。G的一个执行路径epk也是一个活动图并且epk中不包含互斥的选择分支,epk的出现概率记为Pk。G中连接开始结点(initial node)与终止结点(final node)的一个有向路径称为G的一个子路径(subpath)。G的一个子路径spl也是一个活动图并且spl中既不包含互斥的选择分支也不包含并发的分支。类似的,epk和spl中所有的结点构成的集合、所有的活动结点构成的集合和所有的有向边构成的集合分别记为V(epk)、V0(epk)、E(epk)、V(spl)、V0(spl)和E(spl)。如果执行路径epk包含子路径spl的所有结点,称spl是epk的一个子路径。G中所有执行路径的构成的集合记为 (G)。G中所有使用抽象服务ai的执行路径构成的集合记为 (G,ai)。在实际运行阶段,G的活动集记为 (G)在不引起混淆时也简写为 。以
[0040] 图2所示的组合服务为例,由于包含互斥的选择分支,该组合服务的三个执行路径厂,小ep2、ep3分别如
[0041] 图3、
[0042] 图4、
[0043] 图5所示。
[0044] 步骤(1-2):使用深度优先搜索算法计算活动图G中所有结点的拓扑排序L;
[0045] 步骤(1-3):根据活动图G和G中所有结点的拓扑排序L,计算活动图G中每个活动结点ai的依赖集 (ai),包含以下步骤:
[0046] 步骤(1-3-1):对于G中的每个结点u,若u是活动结点,将 (u)初始化为{u},否则将 (u)初始化为空集;
[0047] 步骤(1-3-2):依次考虑L的每个结点u,对于u的每条出边,将 (υ)赋值为
[0048] 对于每个活动结点ai, (ai)是V0(G)的一个子集,由ai和G中所有必定先于ai完成的活动结点构成。以
[0049] 图2所示的组合服务为例,各抽象服务的依赖集如
[0050] 图6所示。
[0051] 步骤(1-4):对于活动图G中的每个活动结点ai和使用ai的执行路径epk,根据V(epk)与 (ai)的交集将所有使用ai的执行路径进行分组,得到 (G,ai)的划分满足:
[0052] l、若执行路径ep1和ep2都使用抽象服务ai,并且ep1和ep2属于 中不同的分组,那么 必然不等于
[0053] 2、若执行路径ep1和ep2都使用抽象服务ai,并且ep1和ep2属于 中相同的分组,那么 必然等于
[0054] 显然,如果执行路径厂,pl和厂,p2对于抽象服务¨,不存在差异性,那么必然等于 也就是说,只要ep1和ep2属于 中不同的分组,ep1和ep2必然对于抽象服务ai存在差异性。以
[0055] 图2所示的组合服务为例,各执行路径针对各抽象服务的划分如图7所示。比如,按照所述步骤(1-4)可以得到 不难验证,当运行推进到a11时,ep1、ep2和ep3
中有且仅有一个存在于活动集之中,根据执行路径差异性的定义,ep1、ep2和ep3对于a11存在差异性。
[0056] 步骤(1-5):扩展组合服务的执行方案,对于活动图G中的每个活动结点ai,允许分别针对 中的每个分组 将ai绑定到不同的具体服务
[0057] 以
[0058] 图2所示的组合服务为例,该组合服务的执行方案经扩展后如图8所示。比如,如图9所示,针对 中的每个分组 和 该执行方案可以将抽象服务a11分别绑定到具体服务 和 图10以抽象服务a11为例进一步说明了该执行方案的应用原理:
当运行推进到a11时,若此时活动集 为 或 的子集,则相应的选取服务

[0059] 步骤(2)根据用户提供的组合服务中各抽象服务的所有候选服务的QoS信息、用户对各QoS指标的偏好、全局约束和局部约束,结合用户在步骤(1)中提供的组合服务的UML活动图、组合服务的所有执行路径的信息,以及步骤(1)中得到的各执行路径针对各抽象服务的分组情况,将寻找组合服务最优执行方案的问题建模为一个MILP模型,具体实现如下:
[0060] 步骤(2-1):用户提供组合服务中各抽象服务的所有候选服务的QoS信息、用户对各QoS指标的偏好、全局约束和局部约束;
[0061] 对应步骤(1-1)所述组合服务的每个抽象服务ai,用户在步骤(2-1)提供的ai的每个候选服务si,j都应满足ai所指明的功能性要求,ai的所有候选服务构成ai的候选服务集,记为 具体服务si,j的QoS信息包括运行成功率、价格、声誉和运行时间的取值,分别记为 和 用户对于运行成功率、价格、声誉和运行时间的偏好分别记为和 其中 并且 和 不同时
为0。
[0062] 步骤(2-2):对于步骤(1-1)所述活动图G的每个活动结点ai,步骤(1-4)所述中的每个分组 和用户在步骤(2-1)提供的ai的每个候选具体服务si,j,向MILP模型中添加0-1整数变量χi,m,j和约束:
[0063]
[0064] 对于组合服务的每个执行路径epk,若epk使用抽象服务ai并且epk属于 中的分组 为便于描述,这里将0-1整数变量χi,m,j另记为 仅仅是χi,m,j的别名。以[0065] 图2所示的组合服务为例,假设用户为抽象服务a1提供了两个候选服务a1,1和a1,2由于 仅包含一个分组 0-1整数变量χ1,1,2有三个别名:
[0066] 步骤(2-3):根据执行方案所选取的具体服务,对于组合服务的每个执行路径epk,组合服务的运行成功率为epk使用的所有具体服务的运行成功率之积,向MILP模型中添加实数变量 和约束:
[0067]
[0068] 对于执行路径epk,若用户在步骤(2-1)中提供了运行成功率需满足的局部约束则添加约束:
[0069]
[0070] 若用户在步骤(2-1)中提供了运行成功率需满足的全局约束 则添加约束:
[0071]
[0072] 此外,还要计算 的最大值 和最小值
[0073]
[0074]
[0075] 步骤(2-4):根据执行方案所选取的具体服务,对于组合服务的每个执行路径epk,组合服务的价格为epk使用的所有具体服务的价格之和,向MILP模型中添加实数变量 和约束:
[0076]
[0077] 对于执行路径epk,若用户在步骤(2-1)中提供了价格需满足的局部约束 则添加约束:
[0078]
[0079] 若用户在步骤(2-1)中提供了价格需满足的全局约束 则添加约束:
[0080]
[0081] 此外,还要计算 的最大值 和最小值
[0082]
[0083]
[0084] 步骤(2-5):根据执行方案所选取的具体服务,对于组合服务的每个执行路径epk,组合服务的声誉为epk使用的所有具体服务的声誉的最小值,向MILP模型中添加实数变量对于epk使用的每个抽象服务ai,向MILP模型中添加约束:
[0085]
[0086] 对于执行路径epk,若用户在步骤(2-1)中提供了声誉需满足的局部约束 则添加约束:
[0087] 若用户在步骤(2-1)中提供了声誉需满足的全局约束 则添加约束:
[0088]
[0089] 此外,还要计算 的最大值 和最小值
[0090]
[0091]
[0092] 步骤(2-6):根据执行方案所选取的具体服务,对于组合服务的每个执行路径epk,组合服务的运行时间为epk中各子路径运行时间的最大值,而子路径的运行时间为该子路径使用的所有具体服务运行时间之和,向MILP模型中添加实数变量 对于epk的每个子路径spl,向MILP模型中添加约束:
[0093]
[0094] 对于执行路径epk,若用户在步骤(2-1)中提供了运行时间需满足的局部约束则添加约束:
[0095]
[0096] 若用户在步骤(2-1)中提供了运行时间需满足的全局约束 则添加约束:
[0097]
[0098] 此外,还要计算 的最大值 和最小值
[0099]
[0100]
[0101] 步骤(2-7):根据执行方案所选取的具体服务,对于组合服务的每个执行路径epk,用户对于执行方案的满意度取决于组合服务的运行成功率、价格、声誉和运行时间,向MILP模型中添加实数变量 和约束:
[0102]
[0103] 其中,f0和f1的定义如下:
[0104]
[0105]
[0106] 步骤(2-8):根据执行方案所选取的具体服务,用户对于执行方案的总体满意度取决于用户分别考虑组合服务的每个执行路径epk的满意度,而最优的执行方案应使用户的总体满意度最高,向MILP模型中添加目标函数:
[0107]
[0108] 步骤(3)根据用户提供的启发信息,向步骤(2)中建立的MILP模型中添加相应的附加约束用于限制最优执行方案的搜索范围。如图l所示,步骤(3)是可选的,取决于用户实际应用的需要。该步骤的具体实现如下:
[0109] 步骤(3-1):对于步骤(1-1)所述组合服务,用户根据实际应用的需要提供一组启发信启
[0110] 这里, 中的每个三元组 对应一条启发信息: 包含步骤(1-1)所述活动图 中的一个或多个活动结点;对于 中的每个活动结点ai 包含步骤(1-4)所述中的一个或多个分组;γh规定了执行方案中对于 指明的活动结点和 指明的分组所使用的不同具体服务的上限。显然,对于 中的每个活动结点 组合服务的执行方案至少需要使用 中的一个具体服务;再考虑到 和的每个分组,组合服务的执行方案最多使用个不同的具体服务。本发明允许用户相当灵活的提供启发信息。以
[0111] 图2所示的组合服务为例,用户可以仅考虑一个抽象服务,比如要求执行方案中抽象服务a11最多被绑定到两个不同的具体服务,相应的三元组 为:用户也可以考虑多个抽象服务,比如要求
执行方案中抽象服务a7、a8、a9、a10、和a11最多被绑定到10个具体服务,相应的三元组为:
用户还可以考虑多个执行路径,比如要求执行方案中对于抽象服务a7、a8、a9、a10、和a11,执行路径ep1和ep2所使用的具体服务最多有一个不同,相应的三元组 为:
[0112] 步骤(3-2):考虑 中的每个三元组 对于 中的每个活动结点ai和步骤(2-1)中用户提供的ai的每个候选服务si,j,向步骤(2)所述MILP模型中添加0-1整数变量
[0113] 步骤(3-3):考虑 中的每个三元组 对于 中的每个活动结点ai,与 交集中的每个分组 和步骤(2-1)中用户提供的ai的每个候选服务si,j,向步骤(2)所述MILP模型中添加约束:
[0114]
[0115] 其中,χi,m,j是步骤(2-2)所述0-1整数变量;
[0116] 步骤(3-4):考虑 中的每个三元组 对于 中的每个活动结点ai和步骤(2-1)中用户提供的ai的每个候选服务si,j,向步骤(2)所述MILP模型中添加约束:
[0117]
[0118] 其中,χi,m,j是步骤(2-2)所述0-1整数变量;
[0119] 步骤(3-5):对于 中的每个三元组 向步骤(2)所述MILP模型中添加约
[0120]
[0121] 步骤(4)求解步骤(2)和步骤(3)中建立的MILP模型,根据MILP模型的最优解来确定步骤(1)中所述组合服务的执行方案中各抽象服务与具体服务的绑定关系,进而得到组合服务的最优执行方案,具体实现如下:
[0122] 步骤(4-1):使用相关工具求解步骤(2)和步骤(3)所建立的MILP模型,得到该MILP模型目标函数取最大值时各个变量的取值;
[0123] 步骤(4-2):对于步骤(1-1)所述组合服务的每个抽象服务ai,步骤(1-4)所述中的每个分组 和步骤(2-1)中用户提供的ai的每个候选服务si,j,若该MILP模型目标函数取最大值时步骤(2-2)所述0-1整数变量χi,m,j取值为1,那么该组合服务的最优执行方案将针对分组 将抽象服务ai绑定到具体服务si,j;相应的,在步骤(1-5)所述经扩展的执行方案中指定 即当运行推进到抽象服务ai时,若活动集 为 的子集,则调用具体服务ai,j。
[0124] 以
[0125] 图2所示的组合服务为例,如图9所示,经扩展的执行方案针对 中的每个分组 和 将抽象服务a11分别绑定到具体服务 和 假设用户在步骤(2-1)中为a11提供了三个候选的具体服务s11,1,s11,2和s11,3,并且当相应MILP模型目标函数取最大值时χ11,1,2=1,χ11,2,1=1,χ11,3,1=1,为使执行方案最优应指定即当运行推进到抽象服务a11时,若活动集 为 的子集,调
用服务s11,2;否则,活动集 为 或 的子集,调用服务s11,1。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈