CN105159746B - 面向容错组合web服务的可靠性仿真工具 - Google Patents

面向容错组合web服务的可靠性仿真工具 Download PDF

Info

Publication number
CN105159746B
CN105159746B CN201510531566.1A CN201510531566A CN105159746B CN 105159746 B CN105159746 B CN 105159746B CN 201510531566 A CN201510531566 A CN 201510531566A CN 105159746 B CN105159746 B CN 105159746B
Authority
CN
China
Prior art keywords
web services
combination web
simulation
fault
reliability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510531566.1A
Other languages
English (en)
Other versions
CN105159746A (zh
Inventor
舒燕君
吴智博
刘宏伟
左德承
温东新
董剑
罗丹彦
张展
冯运萍
高翔
高一翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201510531566.1A priority Critical patent/CN105159746B/zh
Publication of CN105159746A publication Critical patent/CN105159746A/zh
Application granted granted Critical
Publication of CN105159746B publication Critical patent/CN105159746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

面向容错组合web服务的可靠性仿真工具,涉及组合web服务可靠性仿真工具。本发明为了解决传统的可靠性评估方法不适用于评估组合web服务的可靠性的问题。本发明包括:BPEL信息处理模块,用于将BPEL描述的组合web服务结构转换为含有容错策略的组合web服务关系树模型FTWS‑CDT;用户自定义模块,用户通过用户自定义模块的图形设计界面自定义组合web服务的体系结构分支节点的分支类型,并将自定义组合web服务的体系结构转换成组合web服务关系树模型FTWS‑CDT;可靠性仿真评测模块,进行仿真试验,并对单个服务可靠性、服务连接可靠性以及运行剖面对系统可靠性的影响进行分析;仿真结果输出模块,用于输出本次仿真结果。本发明适用于组合web服务的可靠性仿真。

Description

面向容错组合web服务的可靠性仿真工具
技术领域
本发明涉及组合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中合作伙伴链接(Partner Links)、变量(Variables)、相关集(Correlation Sets)、活动(Activity)、补偿处理程序(Compensation Handlers)、故障处理程序(Fault Handlers)和事件处理程序(Event Handlers)中与组合相关的关键词分析,建立包含关键词的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中基本活动(Basic Activity)和结构化活动(Structured Activity)的定义,扫描分析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服务的仿真次数、失效次数、失效原子服务、失效时刻、平均执行时间以及系统可靠性和关键服务。用户可以根据输出结果得出整个服务的可靠性、各原子服务重要性和容错策略的有效性。
可靠性仿真工具的界面开发是在Visual Studio 2013环境下使用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容错策略。
其他步骤和参数与具体实施方式一至三之一相同。

Claims (4)

1.面向容错组合web服务的可靠性仿真工具,其特征在于它包括:BPEL信息处理模块、用户自定义模块、可靠性仿真评测模块和仿真结果输出模块;
其中,
BPEL信息处理模块,用于读取用户输入BPEL描述的组合web服务,然后将BPEL描述的组合web服务结构转换为含有容错策略的组合web服务关系树模型FTWS-CDT;
用户自定义模块,该模块支持拖拽功能,用户通过用户自定义模块的图形设计界面自定义组合web服务的体系结构分支节点的分支类型,并将自定义组合web服务的体系结构转换成组合web服务关系树模型FTWS-CDT;用户自定义模块的分支类型确定组合web服务的控制节点;
可靠性仿真评测模块,根据用户设置的仿真次数和用户修改的BPEL信息处理模块或者用户自定义模块的服务节点参数、控制节点参数以及容错策略信息,进行仿真试验;并对单个服务可靠性、服务连接可靠性以及动态运行剖面对系统可靠性的影响进行分析;
仿真结果输出模块,用于输出本次仿真结果,包括组合web服务的仿真次数、失效次数、失效原子服务、失效时刻、平均执行时间以及系统可靠性和关键服务。
2.根据权利要求1所述的面向容错组合web服务的可靠性仿真工具,其特征在于:
所述可靠性仿真评测模块包括:组合web服务参数设置子模块、可靠性仿真与评测执行子模块;
其中,
组合web服务参数设置子模块,用于对组合web服务的服务节点参数、控制节点参数以及容错策略进行设置;
可靠性仿真与评测执行子模块,将单个服务可靠性,服务连接可靠性,动态运行剖面融合到组合web服务整体中;根据组合web服务关系树模型,通过基于率函数的仿真方法将系统的失效过程看作是由率函数控制的随机过程,即将原子服务失效看作是由率函数控制的随机事件,按照FTWS-CDT控制节点遍历服务节点来实现整个组合web服务的可靠性过程仿真;通过此仿真的方法,得到组合web服务的仿真次数、失效次数、失效原子服务、失效时刻以及平均执行时间;同时分析出组合web服务可靠性和关键服务。
3.根据权利要求2所述的面向容错组合web服务的可靠性仿真工具,其特征在于:
用户自定义模块中所述的组合web服务的体系结构包括顺序结构、选择结构、并行结构和循环结构;组合web服务的体系结构分支节点的分支类型为顺序结构、选择结构、并行结构和循环结构中的一种。
4.根据权利要求3所述的面向容错组合web服务的可靠性仿真工具,其特征在于:
组合web服务参数设置子模块所述的容错策略为重试容错策略、恢复块容错策略、N-版本容错策略或1-out-of-N容错策略。
CN201510531566.1A 2015-08-26 2015-08-26 面向容错组合web服务的可靠性仿真工具 Active CN105159746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510531566.1A CN105159746B (zh) 2015-08-26 2015-08-26 面向容错组合web服务的可靠性仿真工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510531566.1A CN105159746B (zh) 2015-08-26 2015-08-26 面向容错组合web服务的可靠性仿真工具

Publications (2)

Publication Number Publication Date
CN105159746A CN105159746A (zh) 2015-12-16
CN105159746B true CN105159746B (zh) 2018-09-07

Family

ID=54800610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510531566.1A Active CN105159746B (zh) 2015-08-26 2015-08-26 面向容错组合web服务的可靠性仿真工具

Country Status (1)

Country Link
CN (1) CN105159746B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897060A (zh) * 2017-02-15 2017-06-27 中国保险信息技术管理有限责任公司 基于图形化的数据处理方法及装置
CN108491250B (zh) * 2018-04-13 2021-09-17 中国人民解放军陆军装甲兵学院 复杂系统可靠性仿真的自适应智能体通信方法及系统
CN109766223A (zh) * 2019-01-24 2019-05-17 清华大学 基于重要性分析的Web组合服务主动容错方法及系统
CN111813581B (zh) * 2020-07-24 2022-07-05 成都信息工程大学 一种基于完全二叉树的容错机制的配置方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028996A (en) * 1997-03-18 2000-02-22 Ati Technologies, Inc. Method and apparatus for virtualizing system operation
CN103580937A (zh) * 2012-07-24 2014-02-12 阿里巴巴集团控股有限公司 一种Web 服务模拟的方法及其系统和服务代理系统
CN104317634A (zh) * 2014-09-30 2015-01-28 中国人民解放军国防信息学院 适用于模式指配的信息流程仿真系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028996A (en) * 1997-03-18 2000-02-22 Ati Technologies, Inc. Method and apparatus for virtualizing system operation
CN103580937A (zh) * 2012-07-24 2014-02-12 阿里巴巴集团控股有限公司 一种Web 服务模拟的方法及其系统和服务代理系统
CN104317634A (zh) * 2014-09-30 2015-01-28 中国人民解放军国防信息学院 适用于模式指配的信息流程仿真系统及方法

Also Published As

Publication number Publication date
CN105159746A (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
Mayer et al. Towards a BPEL unit testing framework
US9483387B1 (en) Tree comparison functionality for services
CN105159746B (zh) 面向容错组合web服务的可靠性仿真工具
US20210365347A1 (en) Load test framework
Van Breugel et al. Models and Verification of BPEL
van Dongen et al. A unified approach for measuring precision and generalization based on anti-alignments
Hegedüs et al. Back-annotation of simulation traces with change-driven model transformations
CN109299150A (zh) 一种可配置多数据源适配规则引擎解决方法
CN102567201A (zh) 跨模型的图形用户界面测试脚本自动修复方法
Andrés et al. Significant diagnostic counterexamples in probabilistic model checking
EP1297419A1 (en) Method and apparatus for extracting knowledge from software code or other structured data
CN109936479A (zh) 基于差分检测的控制平面故障诊断系统及其实现方法
US11403095B2 (en) Scalable code repository with green master
Holzmann et al. Design tools for requirements engineering
Reider et al. Feature-based testing by using model synthesis, test generation and parameterizable test prioritization
Esparcia-Alcázar et al. Evolving rules for action selection in automated testing via genetic programming-A first approach
Vinay et al. A quantitative approach using goal-oriented requirements engineering methodology and analytic hierarchy process in selecting the best alternative
CN117289925A (zh) 一种基于组件技术的软件建模方法及系统
Wu et al. Testing for Event-Driven Microservices Based on Consumer-Driven Contracts and State Models
Hukkanen Adopting continuous integration-a case study
WO2008009550A2 (en) Method and apparatus for comparing process designs
Tatale et al. A Survey on Test Case Generation using UML Diagrams and Feasibility Study to Generate Combinatorial Logic Oriented Test Cases.
CN115454826A (zh) 回归测试方法、装置、电子设备以及存储介质
Bansal et al. A model based approach to test case generation for testing the navigation behavior of dynamic web applications
Anseeuw et al. Design Time Validation for the Correct Execution of BPMN Collaborations.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant