Time Spended: 5.5 hours
张明卫 魏伟杰 张斌 张锡哲 朱志良, 基于组合服务执行信息的服务选取方法研究(Research on Service Selection Approach Based on Composite Service Execution Information), 计算机学报, 2008
本文要解决的问题是服务组合场景中的服务选择问题, 采取的方法是基于组合服务执行信息.对于组合服务选取问题, 传统的方法多是基于QoS进行服务选择, 作者认为该种方法存在两个缺点: 当前Web服务技术不支持QoS信息且有些QoS信息是动态的;该种方法很难合理度量基本服务间的关联关系.
本文提出的服务选择方法与传统方法相比, 可以认为是"逆向"的, 即传统方法一般是在服务被部署之前做好选择, 而本文的方法则要求组合服务已经运行, 存在历史数据, 通过分析这些数据来指导服务选择.作者认为此种方法存在的一个缺点是"不能体现用户特定的选取意图".
该方法分为三个阶段:
数据生成阶段: 组合服务执行信息的记载和相关数据集的生成
CPEA算法
输入: 实例序列集(从log信息获得), 对应的BPEL文件
输出: 实例序列集对应的组合路径数据集
SSEA算法
输入: 实例序列集, 对应的BPEL文件
输出: 对应的顺序序列集
数据挖掘阶段:
(1)路径分支关联规则挖掘
PFARM算法
输入: 事务数据库D(事务: 去掉次序关系的组合路径), 最小支持度min_sup
输出: D中所有的频繁项集(项集: 分支路径)
生成频繁项集后, 再产生强关联规则(这一步较容易)
(2)服务执行顺序序列模式挖掘(算法SESSM)
目的是要发现哪些服务经常连在一起执行
服务选取阶段:
(1)基于路径分支关联规则的路径选择
FAR-PS算法
输入: 最大分支路径集F, 路径分支关联规则库R
输出: 分支路径集F中的一条分支路径f
目的是选出被执行的概率最大的执行路径.
(2)基于顺序序列模式的具体服务选取
SSP-SS算法
输入: 顺序路径a, 抽象服务备选服务集C, 序列模式库S
输出: 顺序路径a所对应的具体服务序列r
本文定义的一些概念
组合Web服务, 基本服务间的控制逻辑关系, 基本服务间的数据依赖关系: 这几个概念是代钰06里提出的, 这里再用了一下.
分支路径(FP: fork path): 代表组合服务分支关系的一条路径
最大分支路径(MFP): 该分支路径不被其他任何分支路径包含
组合路径(CP: composition path): 是一个分支路径序列. 每个组合路径可确定一条"Execution Path"
实例序列(IS: Instance Sequence):CWS一次执行实例中, 按照时间顺序排列的被执行成功的WS序列. 每个实例序列有其对应的组合路径.
顺序序列(SS: Sequential Sequence): 从实例序列按照规则转换而得(并行关系只保留一个分支;循环关系只取"频率最高的服务")