法律状态公告日
法律状态信息
法律状态
2018-09-07
授权
授权
2016-01-13
实质审查的生效 IPC(主分类):G06F9/455 申请日:20150826
实质审查的生效
2015-12-16
公开
公开
技术领域
本发明涉及组合web服务可靠性仿真工具。
背景技术
Web服务应用领域越来越广泛,如银行系统、航天系统、军事管理系统等等,因此必 须保证web服务的高可靠性,避免因系统发生失效,带来无法估量的损失。
Web服务具有独立性以及松耦合性,满足用户不同需求的同时却使得可靠性无法保 证。组合服务的分布式运行环境同样引入了网络情况等不确定因素,并且服务需要运行很 长时间(几小时、几天甚至几个月),可靠性成为组合服务必须考虑的问题。另一方面, 随着web服务广泛应用,不可靠的服务会对服务使用者造成无法挽回的损失,同时使web 服务提供者信誉降低甚至失去市场。因此,如何提高web服务的可靠性,满足用户需求 已成为当前研究web服务的核心问题。
由于web服务具有异构性与不确定性的本质特征,这使得传统的可靠性评估方法不适 用于评估组合web服务的可靠性。同时越来越多的容错机制被应用到web服务组合中, 因此准确地可靠性评估必须考虑容错机制的影响。
发明内容
本发明为了解决传统的可靠性评估方法不适用于评估组合web服务的可靠性的问题。
面向容错组合web服务的可靠性仿真工具,包括:BPEL信息处理模块、用户自定义 模块、可靠性仿真评测模块和仿真结果输出模块;
其中,
BPEL信息处理模块,用于读取用户输入BPEL描述的组合web服务,然后将BPEL 描述的组合web服务结构转换为含有容错策略的组合web服务关系树模型FTWS-CDT; BPEL描述的组合web服务包含服务节点、控制节点以及容错策略信息,这些信息可以通 过自身代码实现更改;如图3和图4所示;
用户自定义模块,该模块支持拖拽功能,用户通过用户自定义模块的图形设计界面自 定义组合web服务的体系结构分支节点的分支类型(包括服务节点类型和控制节点的类 型),并将自定义组合web服务的体系结构转换成组合web服务关系树模型FTWS-CDT; 自定义模块的分支类型确定组合web服务的控制节点;如图5和图6所示;
可靠性仿真评测模块,根据用户设置的仿真次数和用户修改的BPEL信息处理模块或 者用户自定义模块的服务节点参数、控制节点参数以及容错策略信息,进行仿真试验;并 对单个服务可靠性、服务连接可靠性以及运行剖面对系统可靠性的影响进行分析;
仿真结果输出模块,用于输出本次仿真结果,包括组合web服务的仿真次数、失效 次数、失效原子服务、失效时刻、平均执行时间以及系统可靠性和关键服务。用户可以根 据输出结果得出整个服务的可靠性、各原子服务重要性和容错策略的有效性。
本发明具有以下有益效果:
本发明实现了基本服务和服务连接的可靠性敏感度分析,建立更符合实际的web服 务运行情况,提高了可靠性评估的精度,利用仿真的方法,能够在服务开发阶段更快、更 准确地获得可靠性分析数据本发明能够得到组合web服务可靠性结果。所以,本发明得 到组合web服务可靠性结果可以为设计组合web服务时提供稳定性参考和指导,同时可 以帮助用户分析系统的关键服务,推荐最佳容错策略,确保系统高可靠性,从而在设计阶 段为开发人员提供有力支持。
附图说明
图1为可靠性仿真工具结构图;
图2为可靠性仿真工具主界面;
图3为可靠性仿真工具BPEL信息处理模块读取BPEL文件界面;
图4为可靠性仿真工具BPEL信息处理模块根据BPEL文件生成相应的WS-CDT;
图5为可靠性仿真工具用户自定义模块的自定义的界面;
图6为仿真工具用户自定义模块设置分支类型的界面;
图7为web服务参数设置子模块中对控制节点的设置界面;
图8为web服务参数设置子模块中对服务节点的设置界面;
图9为设置仿真次数启动可靠性仿真与评测执行子模块获得仿真结果界面。
具体实施方式
具体实施方式一:结合图1和图2说明本实施方式,
面向容错组合web服务的可靠性仿真工具,包括:BPEL信息处理模块、用户自定义 模块、可靠性仿真评测模块和仿真结果输出模块;
其中,
BPEL信息处理模块,用于读取用户输入BPEL描述的组合web服务,然后将BPEL 描述的组合web服务结构转换为含有容错策略的组合web服务关系树模型FTWS-CDT; BPEL描述的组合web服务包含服务节点、控制节点以及容错策略信息,这些信息可以通 过自身代码实现更改;如图3和图4所示;
由BPEL转换到FTWS-CDT主要分为两步:
(1)根据BPEL得到WS-token串:
根据组合web服务的BPEL中合作伙伴链接(PartnerLinks)、变量(Variables)、相关集 (CorrelationSets)、活动(Activity)、补偿处理程序(CompensationHandlers)、故障处理程序 (FaultHandlers)和事件处理程序(EventHandlers)中与组合相关的关键词分析,建立包含关 键词的WS-token(标记)串和组合web服务匹配映射;
本部分借鉴编译原理的词法分析,通过分析BPEL文件得到WS-token串。在本程序 中,根据BPEL语言的特点,提出了WS-token串,WS-token串能够通过简单的形式表示 其所代表的组合web服务体系结构。WS-token串由左括号、代表结构化活动的标符、代 表调用服务的编号以及右括号组成。
通过状态转换图就源文件中的字符串进行分割,根据所处状态判断当前语句在BPEL 文件中所代表的含义,从而得到WS-token串。BPEL活动由一系列的服务交互关系的基 本模式组成,进而通过将这些基本模式嵌套迭代表示代表组合web服务。根据这一特点, 可以用“(+S|F|W|R|I|SP”表示结构化活动开始;其中,S、F、W、R、P、I、SP代表结 构化活动,分别表示顺序结构sequence、并行结构flow、循环结构while和repeat-until、 分支活动if、上下文环境scope;用“)”表示结构化活动结束;用web服务编号直接表 示此处调用web服务。以上即BPEL到WS-token串的映射规则。其算法1如表1所示:
表1通过BPEL得到WS-token串
(2)由WS-token串得到WS-CDT:
WS-CDT是一个二叉树,根据BPEL中基本活动(BasicActivity)和结构化活动 (StructuredActivity)的定义,扫描分析WS-token串,对WS-CDT进行根节点和叶子结点 的分类,原子服务对应着叶节点,即服务节点;组合服务的结构信息转换为内部节点,即 控制节点。最终得到包括顺序、分支、并发和选择四种结构化活动互相嵌套、迭代的组合 web服务基本WS-CDT模型。
WS-token串是一种十分有用的组合web服务结构表示方式,它将BPEL表示的组合 web服务体系结构转换为可以依靠简单的操作就能得到WS-CDT的表达方式。它的优势 在于只需要识别‘(’和‘)’便可以判断基本结构的开始与结束位置。并通过对一个栈 的控制,即可得到WS-CDT模型。其操作方式为:从右至左扫描WS-token串,如果当前 项为‘(’,则将下一项,即结构话活动压入栈内;如果是‘)’,则将栈顶元素弹出栈 外。同时增加一个辅助栈,用于随主栈压入或弹出WS-CDT的对应节点。
由WS-token串得到WS-CDT具体算法见表2,用于在建WS-CDT树过程中新增相应 节点的过程见表3,用于删除冗余控制节点的过程见表4;
最后得到化简后的WS-CDT树;WS-CDT含有容错策略即为FTWS-CDT。
表2由WS-token串得到WS-CDT
表3新建WS-CDT节点NEWNODE()
表4化简WS-CDT树ReduceCDT()
用户自定义模块,该模块支持拖拽功能,用户通过用户自定义模块的图形设计界面自 定义组合web服务的体系结构分支节点的分支类型(包括服务节点类型和控制节点的类 型),并将自定义组合web服务的体系结构转换成组合web服务关系树模型FTWS-CDT; 自定义模块的分支类型确定组合web服务的控制节点;如图5和图6所示;
可靠性仿真评测模块,根据用户设置的仿真次数和用户修改的BPEL信息处理模块或 者用户自定义模块的服务节点参数、控制节点参数以及容错策略信息,进行仿真试验;并 对单个服务可靠性、服务连接可靠性以及运行剖面对系统可靠性的影响进行分析;
仿真结果输出模块,用于输出本次仿真结果,包括组合web服务的仿真次数、失效 次数、失效原子服务、失效时刻、平均执行时间以及系统可靠性和关键服务。用户可以根 据输出结果得出整个服务的可靠性、各原子服务重要性和容错策略的有效性。
可靠性仿真工具的界面开发是在VisualStudio2013环境下使用C#语言进行开发的。
具体实施方式二:
本实施方式的可靠性仿真评测模块包括:组合web服务参数设置子模块、可靠性仿 真与评测执行子模块;
其中,
组合web服务参数设置子模块,用于对组合web服务的服务节点参数、控制节点参 数以及容错策略进行设置;如图7和图8所示;
可靠性仿真与评测执行子模块,将单个服务可靠性,服务连接可靠性,动态运行剖面 融合到组合web服务整体中;根据组合web服务关系树模型,通过基于率函数的仿真方 法将系统的失效过程(包括组件服务失效、组装连接失效)看作是由率函数控制的随机过 程,即将原子服务失效看作是由率函数控制的随机事件,按照FTWS-CDT控制节点遍历 服务节点来实现整个组合web服务的可靠性过程仿真;如图9所示,通过此仿真的方法, 可以得到组合web服务的仿真次数、失效次数、失效原子服务、失效时刻以及平均执行 时间;同时分析出组合web服务可靠性和关键服务。
在组合web服务参数设置子模块中,每修改一次组合web服务的服务节点参数、控 制节点参数以及容错策略,就可调用可靠性仿真与评测执行子模块执行一次可靠性仿真与 评测,生成一次仿真结果,无需对BPEL信息处理模块和用户自定义模块进行操作,使仿 真更加方便。
其他步骤和参数与具体实施方式一相同。
具体实施方式三:
本实施方式用户自定义模块中所述的组合web服务的体系结构包括顺序结构、选择 结构、并行结构和循环结构;组合web服务的体系结构分支节点的分支类型为顺序结构、 选择结构、并行结构和循环结构中的一种。
其他步骤和参数与具体实施方式一或二相同。
具体实施方式四:
本实施方式组合web服务参数设置子模块所述的容错策略为重试容错策略、恢复块容 错策略、N-版本容错策略或1-out-of-N容错策略。
其他步骤和参数与具体实施方式一至三之一相同。
机译: 支持质量容错的Web服务系统及其Web服务方法
机译: 支持质量容错的Web服务系统及其Web服务方法
机译: 无线网络分析仿真工具的可靠性测量装置和方法