工作流执行中基于服务质量的异常处理方法

文档序号:6336317阅读:290来源:国知局
专利名称:工作流执行中基于服务质量的异常处理方法
技术领域
本发明涉及一种工作流执行中基于服务质量的异常处理方法,尤其适用于为工作 流执行过程中发生异常的计算节点,快速地选取最优的服务资源替代方案,以满足工作流 执行过程中的实时响应需求。
背景技术
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动 化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务 的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。,,在工作流环境下,不同的计算节点之间需要相互进行信息、资源的交互而完成某 一复杂的计算问题。现有web环境下,大量IT服务资源的出现为工作流的成功执行创造了 便利条件。通过为每个计算节点配置满足其功能需求和非功能需求的服务资源,工作流可 以以一种服务资源组合的形式完成特定实验中的海量计算需求。但是,在工作流执行过程 中,当为某一计算节点配置的服务资源失效时(即异常),需要快速地定位另一满足功能需 求与非功能需求的服务资源来替代失效服务,以保证计算与实验中对运算时间需求的鲁棒 性。在这种情况下,如果不能找到满足功能需求与非功能需求的替代服务资源,则会导致整 个计算流程的异常中断和运算失败。目前已经提出基于非功能约束放宽的策略来处理该类 异常问题(Kyriakos Kritikos and Dimitris Plexousakis. Mixed-Integer Programming for QoS-Based Web Service Matchmaking. IEEE Transactions on Services Computing 2009 ;2 (6) :122-139)。但是现有的约束放宽技术缺乏综合的考量并耗时过多,不能适应工 作流执行中的实时响应需求。

发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种工作流 执行中基于服务质量的异常处理方法。为了解决上述技术问题,本发明公开了一种工作流执行中基于服务质量的异常处 理方法,其特征在于,包括异常处理引擎、异常记录表以及步长注册表,在确定了工作流执 行中发生异常的计算节点之后,包括以下步骤所述发生异常的计算节点为单个计算节点 的异常。使用异常处理引擎订阅异常计算节点的功能需求,连线资源注册中心,搜索功能 需求匹配的候选服务资源;使用异常记录表提取异常计算节点的非功能需求,并记录每一维非功能约束的可 放宽域;采用平均离散化方法动态确定异常记录表中可放宽域的放宽步长,记入步长注册 表;初始化非功能约束放宽方案;
连线步长注册表,同步放宽每一维非功能约束,直至异常处理引擎输出首个可行 的非功能约束放宽方案;输出最优的非功能约束放宽方案,并返回匹配该方案的最佳服务资源,从而完成 工作流执行中基于服务质量的异常处理过程。对于不同维度的可放宽域应采用不同尺度的 放宽步长,而放宽步长尺度的确定依赖于异常计算节点对于该维度的偏好度。本发明中,所述异常计算节点的功能需求以关键字的形式描述。本发明中,所述异常计算节点的非功能需求以质量区间的形式描述,且异常计算 节点的非功能需求以及候选服务资源的质量表现以XML文件形式提供。本发明中,所述帕累托优化时的优化顺序是基于异常计算节点对于所有维度的偏 好度,即首先优化偏好度最大的非功能约束。本发明中,所述功能需求匹配的过程包括以下子步骤订阅以关键字形式表示的异常计算节点的功能需求,读入工作流的异常处理引 擎,如果功能需求包含多个关键字,用与或非逻辑进行连接;连接资源注册中心,确定可供选择的候选服务资源;设定功能需求匹配的相似度阈值;确定候选服务资源与功能需求的相似度,返回相似度大于或等于相似度阈值 的服务资源。根据语义匹配技术确定候选服务资源与功能需求的相似度,见参考文献: Giunchiglia, F.,Yatskevich, M.,Shvaiko, P. Semantic matching :Algorithms and implementation. Journal on Data Semantics(2007)0本发明中,所述求解非功能约束可放宽域的过程包括以下子步骤提取异常计算节点的非功能需求,记入异常记录表;查询资源注册中心,统计功能需求匹配中输出的资源在非功能质量表现的极值;确定非功能约束的可放宽域并记入异常记录表。本发明中,所述离散化确定可放宽域的放宽步长的过程包括以下子步骤根据异常计算节点的偏好度,获取非功能约束的离散化粒度,偏好度越大,离散化 粒度越精细;根据离散化粒度,采用平均离散化方法对异常记录表中的可放宽域进行平均划 分,确定可放宽域的放宽步长;离散化方法为如果可放宽域为[10,30],离散化粒度为3,那 么采用平均离散化方法进行划分后就得到3个离散的质量水平,分别为10,20,30。具体见 参考文献Mohammad Alrifai, Thomass Risse, "Combining global optimization with local selection for efficient QoS-aware service composition,"18th International Conference on World WideWeb(WWW),pp.881-890,2009.)。将放宽步长记入步长注册表。本发明中,确定首个可行的非功能约束放宽方案的过程包括以下子步骤提取步长注册表中各放宽域对应的放宽步长;在初始或当前非功能约束放宽方案的基础上,对于每一维度的非功能约束,同步 放宽一个对应步长,得到一个更新后的非功能约束放宽方案;对于效益型非功能维度(取 值为大于0的实数,其取值越大越好,如维度“成功率”),约束下界缩小一个步长;而对于成 本型非功能维度(取值为大于0的实数,其取值越小越好,如维度“价格”),其约束上界增大一个步长;依据更新后的非功能约束放宽方案,判断资源注册中心中是否有匹配的服务资 源,若有,则得到首个可行的非功能约束放宽方案并返回其中最佳的服务资源,异常处理结 束;否则,重复返回上一步骤,直至输出首个可行的非功能约束放宽方案。本发明中,输出最优的非功能约束放宽方案时,对首个可行的非功能约束放宽方 案进行帕累托优化,具体包括以下子步骤对首个可行放宽方案中的非功能约束,按照偏好度的大小进行降序排列;按照排列后的顺序对首个可行放宽方案中的所有非功能约束依次进行帕累托优 化;输出帕累托最优的非功能约束放宽方案,并返回匹配该帕累托最优方案的最佳服 务资源。本发明公开了一种工作流执行中基于服务质量的异常处理方法,在确定了工作流 执行中发生异常的计算节点之后,包括以下步骤异常处理引擎订阅异常计算节点的功能 需求,连线资源注册中心,搜索功能需求匹配的候选服务资源;异常记录表订阅异常计算节 点的非功能需求,并记录每一维非功能约束的可放宽域;采用平均离散化方法动态确定异 常记录表中可放宽域的放宽步长,记入步长注册表;初始化非功能约束放宽方案;连线步 长注册表,同步放宽每一维非功能约束,直至异常处理引擎输出首个可行的非功能约束放 宽方案;利用帕累托优化器对首个方案进行优化,输出最优的非功能约束放宽方案,并返回 匹配该方案的最佳服务资源,从而完成工作流执行中基于服务质量的异常处理过程。该方法仅适用于处理工作流执行中发生在单个计算节点的异常;异常计算节点的 功能需求以关键字的形式描述,非功能需求以质量区间的形式描述;异常计算节点的非功 能需求以及候选服务资源的质量表现以XML (全称,extensible Markup Language)文件形 式提供。有益效果与现有技术相比,本发明的效果体现在本发明公开的一种工作流执 行中基于服务质量的异常处理方法,从确定工作流执行中发生异常的计算节点开始,整个 异常处理过程由计算机自动实现,提高了异常处理的智能化程度;此外本发明中的异常处 理方法通过同步约束放宽和帕累托优化,显著提高了异常处理效率,满足了计算与实验中 的实时响应需求,增强了工作流执行中对运行时间的鲁棒性。


下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和 /或其他方面的优点将会变得更加清楚。图1为本发明流程图。图2为实施例中SOA架构下的服务资源三角模型。图3为本发明中的工作流异常处理示例。
具体实施例方式实施例1如图1所示,本发明公开了一种工作流执行中基于服务质量的异常处理方法,在确定了工作流执行中发生异常的计算节点之后,包括以下步骤步骤1 异常处理引擎订阅异常计算节点的功能需求,连线资源注册中心,搜索功 能需求匹配的候选服务资源,包括以下子步骤(1)订阅以关键字形式表示的异常计算节点的功能需求,读入工作流的异常处理 引擎。如果功能需求包含多个关键字,可以用与或非逻辑进行连接;(2)连接资源注册中 心,确定可供选择的候选服务资源;(3)设定功能需求匹配的相似度阈值;(4)确定候选服 务资源与功能需求的相似度,返回相似度大于或等于相似度阈值的服务资源。SOA架构下资源的发布、查询和绑定是通过图2中的三角模型实现服务资源提 供者通过服务资源注册中心进行资源发布,发布内容包括资源的功能描述和非功能质量表 现,以及该资源的调用接口,如输入/输出参数(I/O)、消息类型、名称、联系以及请求该服 务资源的URL地址等。服务资源请求者通过注册中心查询所需的服务资源及其标示信息, 并根据标示信息与所需服务资源进行交互和绑定,完成服务资源调用过程。步骤2 异常记录表订阅异常计算节点的非功能需求,并记录每一维非功能约束 的可放宽域,包括以下子步骤(1)提取异常计算节点的非功能需求,记入异常记录表;( 查询资源注册中心, 统计步骤SPl输出的资源在非功能质量表现的极值(3)确定非功能约束的可放宽域并记入 异常记录表。候选服务资源的非功能质量表现由服务资源的提供者在发布时予以公开,并以 XML质量文件形式存储在服务注册中心。XML质量文件存储了服务资源的非功能质量维度 以及资源在质量维度上的取值,一个服务资源的XML质量文件定义如下<QualityFile)<quality variants)<name>DimensionName</name><value>VDimensionName</value></quality variants)</QualityFile>异常计算节点的非功能约束以如下XML质量约束文件形式表示<QualityContraint><variants><name>DimensionName</name><lowerbound>LowMmensionName</lowerbound><upperbound>UppDimensionName</upperbound></variants></QualityContraint>步骤3 采用平均离散化方法动态确定异常记录表中可放宽域的放宽步长,记入 步长注册表,包括以下子步骤(1)根据异常计算节点的偏好度(即权重大小),获取非功能约束的离散化粒度。 偏好度越大(即权重越大),离散化粒度越精细;( 根据离散化粒度,采用平均离散化方法 对异常记录表中的可放宽域进行平均划分,确定可放宽域的放宽步长;C3)将放宽步长记入步长注册表。对于不同的非功能约束,其离散化粒度可以通过下面的方式进行确定对于 权重最小(最小权重值为weightmin)的非功能约束,其离散化粒度设为默认值Clmin,则对于 第i个非功能约束(其权重值表示为weigh、),其离散化粒度Cli可以用如下公式计算获得 dr Fdrain^weight1Zweightminn,其中符号“门”代表向上取整操作,如「1. 2Π =2。步骤4 根据步骤2中的可放宽域,初始化非功能约束放宽方案。对于效益型非功 能维度,初始非功能约束放宽方案的约束下界取可放宽域的极大值;而对于成本型非功能 维度,初始非功能约束放宽方案的约束上界取可放宽域的极小值。步骤5 连线步长注册表,同步放宽每一维非功能约束,直至异常处理引擎输出首 个可行的非功能约束放宽方案,包括以下子步骤(1)提取步长注册表中各放宽域对应的放宽步长;(2)在初始/当前非功能约束放 宽方案的基础上,对于每一维度的非功能约束,同步放宽一个对应步长,得到一个更新后的 非功能约束放宽方案。对于效益型非功能维度,约束下界缩小一个步长;而对于成本型非功 能维度,其约束上界增大一个步长;(3)依据更新后的非功能约束放宽方案,判断资源注册 中心中是否有匹配的服务资源。若有,则得到首个可行的非功能约束放宽方案并返回最佳 的服务资源,异常处理结束;否则,重复子步骤O),直至输出首个可行的非功能约束放宽 方案。步骤6 利用帕累托优化器对首个方案进行优化,输出最优的非功能约束放宽方 案,并返回匹配该方案的最佳服务资源,从而完成工作流执行中基于服务质量的异常处理 过程。帕累托最优是指资源分配的一种理想状态,假定固有的一群人和可分配的资源, 从一种分配状态到另一种状态的变化中,在没有使任何人境况变坏的前提下,使得至少一 个人变得更好,这就是帕累托最优化。帕累托最优的状态就是不可能再有更多的帕累托改 进的余地。由于首个可行的非功能约束放宽方案并不一定是最优的,因此需要进行帕累托 优化直至帕累托最优。如果只有一个候选服务资源符合第首个可行放宽方案,则该放宽方 案即为帕累托最优的放宽方案,故不需优化。否则按下述子步骤进行优化包括以下子步 骤(1)对首个可行放宽方案中的非功能约束,按照偏好度的大小进行降序排列;(2) 按照排列后的顺序对首个可行放宽方案中的所有非功能约束依次进行帕累托优化;(3)输 出帕累托最优的非功能约束放宽方案,并返回匹配该帕累托最优方案的最佳服务资源。实施例2一种工作流执行中基于服务质量的异常处理方法的基本出发点是对异常计算节 点的非功能约束进行放宽,找到首个可行的非功能约束放宽方案,然后对该方案进行帕累 托优化直至帕累托最优,返回匹配该帕累托最优方案的最佳服务资源,并将其作为发生异 常的计算节点的可替代服务资源。以如下工作流执行中的异常处理为例介绍本发明方法的具体实施例。如图3所示,一个工作流中包含四个计算节点“数据分解”用于分离实验数据的 数据源(音频数据和图像数据);“音频去噪”用于音频的噪声消除;“图像处理”用于对图 像数据的操作;“数据复合”对处理过的音频数据和图像数据进行合成。计算节点“图像处 理”仅有一个功能需求与非功能需求均匹配的候选服务资源S(|,于是So参与工作流的执行。这样,在工作流执行过程中,如果唯一的服务资源S0失效,那么计算节点“图像处理”将无法 继续运行,整个工作流的执行也将因此而异常中断。在这种情况下,应用本发明方法,为异 常的计算节点“图像处理”快速的找到一个近似最优的可替代服务资源。本实施例中仅考 虑两个非功能质量维度“压缩比例”和“输出噪点数”,设其权重值分别为weight。。mp_si。n = 0. 45,weightnoise_point = 0. 55,离散化粒度的默认值为 dmin = 3。步骤1 异常处理引擎订阅异常计算节点的功能需求关键字“图像处理”,设定相 似度阈值0. 9,通过基于关键字相似度的功能匹配,返回九个相似度大于等于阈值的候选服 务资源,即S1-S915步骤2 异常记录表提取并记录异常计算节点的非功能需求,为{压缩比例> 5, 输出噪点数< 10}。异常处理引擎统计S1^9在非功能质量维度“压缩比例”和“输出噪点 数”上的极值,分别为[2,4]和[9,16]。对比非功能需求与统计极值,得到对应“压缩比例” 的可放宽域为[2,4],对应“输出噪点数”的可放宽域为[10,16],将可放宽域记入异常记录表。步骤3 根据异常计算节点的偏好度(weight。。mpressi。n = 0. 45,weightnoise_point = 0. 55),确定上述两个可放宽域的离散粒度参数,分别为3和4。对应“压缩比例”的可放宽 域为[2,4],平均离散化为3个质量水平{2,3,4},放宽步长为1,记入步长注册表;而对应 “输出噪点数”的可放宽域为[10,16],平均离散化为4个质量水平{10,12,14,16},放宽步 长为2,记入步长注册表。步骤4 初始化非功能约束放宽方案。对于效益型维度“压缩比例”,取其可放宽域 [2,4]的上界4,对于成本型维度“输出噪点数”,取其可放宽域[10,16]的下界10,构成初 始的非功能约束放宽方案Solinitial{压缩比例彡4,输出噪点数彡10}。步骤5:对于初始的非功能约束放宽方案{压缩比例彡4,输出噪点数彡10},其 中的每一维非功能约束同步放宽一个相应的步长,得到更新后的放宽方案Sol_{压缩比例 彡3,输出噪点数< 12}。如果在S1-S9中至少存在一个匹配Solnew的服务资源,则Solnew即 为首个可行的非功能约束放宽方案,即S0lfi t = Solnew ;否则重复该步骤,直至异常处理引 擎输出首个可行的非功能约束放宽方案Solfiret。步骤6 如果在S1^9中仅存在一个匹配Solfiret的服务资源,则返回该服务资源及 Solfiret,异常处理方法结束;否则,Solfi t中的两个非功能约束需要按照偏好度大小依次进 行帕累托优化,直至得到一个帕累托最优的非功能约束放宽方案Solpmrt。,返回Solpmrt。及 匹配SolPaMt。的最佳服务资源,异常处理方法结束。本发明提供了一种工作流执行中基于服务质量的异常处理方法的思路及方法,具 体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对 于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均 可用现有技术加以实现。
权利要求
1.一种工作流执行中基于服务质量的异常处理方法,其特征在于,包括异常处理引擎、 异常记录表以及步长注册表,在确定了工作流执行中发生异常的计算节点之后,包括以下 步骤使用异常处理引擎订阅异常计算节点的功能需求,连线资源注册中心,搜索功能需求 匹配的候选服务资源;使用异常记录表提取异常计算节点的非功能需求,并记录每一维非功能约束的可放宽域;采用平均离散化方法动态确定异常记录表中可放宽域的放宽步长,记入步长注册表; 初始化非功能约束放宽方案;连线步长注册表,同步放宽每一维非功能约束,直至异常处理引擎输出首个可行的非 功能约束放宽方案;输出最优的非功能约束放宽方案,并返回匹配该方案的最佳服务资源,从而完成工作 流执行中基于服务质量的异常处理过程。
2.根据权利要求1所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 异常计算节点的功能需求以关键字的形式描述。
3.根据权利要求1所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 异常计算节点的非功能需求以质量区间的形式描述,且异常计算节点的非功能需求以及候 选服务资源的质量表现以XML文件形式提供。
4.根据权利要求1所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 帕累托优化时的优化顺序是基于异常计算节点对于所有维度的偏好度,即首先优化偏好度 最大的非功能约束。
5.根据权利要求2所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 功能需求匹配的过程包括以下子步骤订阅以关键字形式表示的异常计算节点的功能需求,读入工作流的异常处理引擎,如 果功能需求包含多个关键字,用与或非逻辑进行连接; 连接资源注册中心,确定可供选择的候选服务资源; 设定功能需求匹配的相似度阈值;确定候选服务资源与功能需求的相似度,返回相似度大于或等于相似度阈值的服务资源。
6.根据权利要求3所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 求解非功能约束可放宽域的过程包括以下子步骤提取异常计算节点的非功能需求,记入异常记录表;查询资源注册中心,统计功能需求匹配中输出的资源在非功能质量表现的极值; 确定非功能约束的可放宽域并记入异常记录表。
7.根据权利要求1所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 离散化确定可放宽域的放宽步长的过程包括以下子步骤根据异常计算节点的偏好度,获取非功能约束的离散化粒度,偏好度越大,离散化粒度 越精细;根据离散化粒度,采用平均离散化方法对异常记录表中的可放宽域进行平均划分,确定可放宽域的放宽步长;将放宽步长记入步长注册表。
8.根据权利要求1所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 确定首个可行的非功能约束放宽方案的过程包括以下子步骤提取步长注册表中各放宽域对应的放宽步长;在初始或当前非功能约束放宽方案的基础上,对于每一维度的非功能约束,同步放宽 一个对应步长,得到一个更新后的非功能约束放宽方案;对于效益型非功能维度,约束下界 缩小一个步长;而对于成本型非功能维度,其约束上界增大一个步长;依据更新后的非功能约束放宽方案,判断资源注册中心中是否有匹配的服务资源,若 有,则得到首个可行的非功能约束放宽方案并返回其中最佳的服务资源,异常处理结束;否 则,重复返回上一步骤,直至输出首个可行的非功能约束放宽方案。
9.根据权利要求1所述的工作流执行中基于服务质量的异常处理方法,其特征在于, 输出最优的非功能约束放宽方案时,对首个可行的非功能约束放宽方案进行帕累托优化, 具体包括以下子步骤对首个可行放宽方案中的非功能约束,按照偏好度的大小进行降序排列;按照排列后的顺序对首个可行放宽方案中的所有非功能约束依次进行帕累托优化;输出帕累托最优的非功能约束放宽方案,并返回匹配该帕累托最优方案的最佳服务资源。
全文摘要
本发明公开了工作流执行中基于服务质量的异常处理方法,包括以下步骤异常处理引擎订阅异常计算节点的功能需求,连线资源注册中心,搜索功能需求匹配的候选服务资源;异常记录表提取异常计算节点的非功能需求;采用平均离散化方法动态确定异常记录表中可放宽域的放宽步长;初始化非功能约束放宽方案;连线步长注册表,同步放宽每一维非功能约束;对首个方案进行优化,输出最优的非功能约束放宽方案,并返回匹配该方案的最佳服务资源,从而完成工作流执行中基于服务质量的异常处理过程。本发明从确定发生异常的计算节点开始,整个异常处理过程均由计算机自动实现,提高了异常处理的智能化程度和运行效率。
文档编号G06Q10/00GK102073918SQ20101055010
公开日2011年5月25日 申请日期2010年11月19日 优先权日2010年11月19日
发明者王联民, 窦万春, 齐连永 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1