面向容错组合web服务的可靠性仿真工具的制作方法

文档序号:8942905阅读:208来源:国知局
面向容错组合web服务的可靠性仿真工具的制作方法
【技术领域】
[0001] 本发明涉及组合web服务可靠性仿真工具。
【背景技术】
[0002] Web服务应用领域越来越广泛,如银行系统、航天系统、军事管理系统等等,因此必 须保证web服务的高可靠性,避免因系统发生失效,带来无法估量的损失。
[0003] Web服务具有独立性以及松耦合性,满足用户不同需求的同时却使得可靠性无法 保证。组合服务的分布式运行环境同样引入了网络情况等不确定因素,并且服务需要运行 很长时间(几小时、几天甚至几个月),可靠性成为组合服务必须考虑的问题。另一方面,随 着web服务广泛应用,不可靠的服务会对服务使用者造成无法挽回的损失,同时使web服务 提供者信誉降低甚至失去市场。因此,如何提高web服务的可靠性,满足用户需求已成为当 前研究web服务的核心问题。
[0004] 由于web服务具有异构性与不确定性的本质特征,这使得传统的可靠性评估方法 不适用于评估组合web服务的可靠性。同时越来越多的容错机制被应用到web服务组合中, 因此准确地可靠性评估必须考虑容错机制的影响。

【发明内容】

[0005] 本发明为了解决传统的可靠性评估方法不适用于评估组合web服务的可靠性的 问题。
[0006] 面向容错组合web服务的可靠性仿真工具,包括:BPEL信息处理模块、用户自定义 模块、可靠性仿真评测模块和仿真结果输出模块;
[0007] 其中,
[0008] BPEL信息处理模块,用于读取用户输入BPEL描述的组合web服务,然后将BPEL描 述的组合web服务结构转换为含有容错策略的组合web服务关系树模型FTWS-⑶T ;BPEL描 述的组合web服务包含服务节点、控制节点以及容错策略信息,这些信息可以通过自身代 码实现更改;如图3和图4所示;
[0009] 用户自定义模块,该模块支持拖拽功能,用户通过用户自定义模块的图形设计界 面自定义组合web服务的体系结构分支节点的分支类型(包括服务节点类型和控制节点的 类型),并将自定义组合web服务的体系结构转换成组合web服务关系树模型FTWS-CDT ;自 定义模块的分支类型确定组合web服务的控制节点;如图5和图6所示;
[0010] 可靠性仿真评测模块,根据用户设置的仿真次数和用户修改的BPEL信息处理模 块或者用户自定义模块的服务节点参数、控制节点参数以及容错策略信息,进行仿真试验; 并对单个服务可靠性、服务连接可靠性以及运行剖面对系统可靠性的影响进行分析;
[0011] 仿真结果输出模块,用于输出本次仿真结果,包括组合web服务的仿真次数、失效 次数、失效原子服务、失效时刻、平均执行时间以及系统可靠性和关键服务。用户可以根据 输出结果得出整个服务的可靠性、各原子服务重要性和容错策略的有效性。
[0012] 本发明具有以下有益效果:
[0013] 本发明实现了基本服务和服务连接的可靠性敏感度分析,建立更符合实际的web 服务运行情况,提高了可靠性评估的精度,利用仿真的方法,能够在服务开发阶段更快、更 准确地获得可靠性分析数据本发明能够得到组合web服务可靠性结果。所以,本发明得到 组合web服务可靠性结果可以为设计组合web服务时提供稳定性参考和指导,同时可以帮 助用户分析系统的关键服务,推荐最佳容错策略,确保系统高可靠性,从而在设计阶段为开 发人员提供有力支持。
【附图说明】
[0014] 图1为可靠性仿真工具结构图;
[0015] 图2为可靠性仿真工具主界面;
[0016] 图3为可靠性仿真工具BPEL信息处理模块读取BPEL文件界面;
[0017] 图4为可靠性仿真工具BPEL信息处理模块根据BPEL文件生成相应的WS-⑶T ;
[0018] 图5为可靠性仿真工具用户自定义模块的自定义的界面;
[0019] 图6为仿真工具用户自定义模块设置分支类型的界面;
[0020] 图7为web服务参数设置子模块中对控制节点的设置界面;
[0021] 图8为web服务参数设置子模块中对服务节点的设置界面;
[0022] 图9为设置仿真次数启动可靠性仿真与评测执行子模块获得仿真结果界面。
【具体实施方式】
【具体实施方式】 [0023] 一:结合图1和图2说明本实施方式,
[0024] 面向容错组合web服务的可靠性仿真工具,包括:BPEL信息处理模块、用户自定义 模块、可靠性仿真评测模块和仿真结果输出模块;
[0025] 其中,
[0026] BPEL信息处理模块,用于读取用户输入BPEL描述的组合web服务,然后将BPEL描 述的组合web服务结构转换为含有容错策略的组合web服务关系树模型FTWS-⑶T ;BPEL描 述的组合web服务包含服务节点、控制节点以及容错策略信息,这些信息可以通过自身代 码实现更改;如图3和图4所示;
[0027] 由BPEL转换到FTWS-CDT主要分为两步:
[0028] (1)根据 BPEL 得到 WS-token 串:
[0029] 根据组合web服务的BPEL中合作伙伴链接(Partner Links)、变量(Variables)、 相关集(Correlation Sets)、活动(Activity)、补偿处理程序(Compensation Handlers)、 故障处理程序(Fault Handlers)和事件处理程序Givent Handlers)中与组合相关的关键 词分析,建立包含关键词的WS-token (标记)串和组合web服务匹配映射;
[0030] 本部分借鉴编译原理的词法分析,通过分析BPEL文件得到WS-token串。在本程 序中,根据BPEL语言的特点,提出了 WS-token串,WS-token串能够通过简单的形式表示其 所代表的组合web服务体系结构。WS-token串由左括号、代表结构化活动的标符、代表调用 服务的编号以及右括号组成。
[0031] 通过状态转换图就源文件中的字符串进行分割,根据所处状态判断当前语句在 BPEL文件中所代表的含义,从而得到WS-token串。BPEL活动由一系列的服务交互关系的 基本模式组成,进而通过将这些基本模式嵌套迭代表示代表组合web服务。根据这一特点, 可以用"(+S IFIWI R111 SP"表示结构化活动开始;其中,S、F、W、R、P、I、SP代表结构化活动, 分别表示顺序结构sequence、并行结构flow、循环结构while和repeat-until、分支活动 if、上下文环境scope ;用")"表示结构化活动结束;用web服务编号直接表示此处调用web 服务。以上即BPEL到WS-token串的映射规则。其算法1如表1所示:
[0032] 表 1 通过 BPEL 得到 WS-token 串
[0033]
[0034]
[0035] (? 由 WS-token 串得到 WS-CDT :
[0036] WS-CDT是一个二叉树,根据BPEL中基本活动(Basic Activity)和结构化活动 (Structured Activity)的定义,扫描分析WS-token串,对WS-CDT进行根节点和叶子结点 的分类,原子服务对应着叶节点,即服务节点;组合服务的结构信息转换为内部节点,即控 制节点。最终得到包括顺序、分支、并发和选择四种结构化活动互相嵌套、迭代的组合web 服务基本WS-⑶T模型。
[0037] WS-token串是一种十分有用的组合web服务结构表示方式,它将BPEL表示的组 合web服务体系结构转换为可以依靠简单的操作就能得到WS-CDT的表达方式。它的优势 在于只需要识别和便可以判断基本结构的开始与结束位置。并通过对一个栈的控 制,即可得到WS-⑶T模型。其操作方式为:从右至左扫描WS-token串,如果当前
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1