CN105159746B - 面向容错组合web服务的可靠性仿真工具 - Google Patents
面向容错组合web服务的可靠性仿真工具 Download PDFInfo
- 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 service
- reliability
- simulation
- service
- combined web
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 69
- 238000011156 evaluation Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000013461 design Methods 0.000 claims abstract description 5
- 238000012360 testing method Methods 0.000 claims abstract description 5
- 230000010365 information processing Effects 0.000 claims description 12
- 239000002131 composite material Substances 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract 1
- 230000000694 effects Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010206 sensitivity analysis Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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服务的可靠性仿真工具,包括: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容错策略。
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)
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)
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 | 中国人民解放军国防信息学院 | 适用于模式指配的信息流程仿真系统及方法 |
-
2015
- 2015-08-26 CN CN201510531566.1A patent/CN105159746B/zh active Active
Patent Citations (3)
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 |
---|---|---|
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
Van der Aalst | Inheritance of interorganizational workflows: How to agree to disagree without loosing control? | |
Rahmandad et al. | Modeling the rework cycle: capturing multiple defects per task | |
US20040143819A1 (en) | Generic software testing system and mechanism | |
CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
CN102567201B (zh) | 跨模型的图形用户界面测试脚本自动修复方法 | |
CN105159746B (zh) | 面向容错组合web服务的可靠性仿真工具 | |
Mitchell et al. | Modeling runtime behavior in framework-based applications | |
US20150286555A1 (en) | System and method for converting the business processes to test-centric activity diagrams | |
Paiva et al. | From requirements to automated acceptance tests with the RSL language | |
Li et al. | Business-process-driven gray-box SOA testing | |
KR20060070609A (ko) | 제품 계열 아키텍처의 표현 및 검증 장치와 그 방법 | |
Jena et al. | Test case creation from UML sequence diagram: a soft computing approach | |
Turner | Formalising web services | |
Wu et al. | Testing for event-driven microservices based on consumer-driven contracts and state models | |
Dai et al. | A framework for model checking web service compositions based on bpel4ws | |
Estrada et al. | Goal-based business modeling oriented towards late requirements generation | |
US20090064092A1 (en) | Visual programming language optimization | |
Tsai et al. | Scenario-based test case generation for state-based embedded systems | |
Lenhard et al. | Portability of executable service-oriented processes: metrics and validation | |
Tatale et al. | A Survey on Test Case Generation using UML Diagrams and Feasibility Study to Generate Combinatorial Logic Oriented Test Cases. | |
Anseeuw et al. | Design Time Validation for the Correct Execution of BPMN Collaborations. | |
Sneed et al. | The design and use of WSDL‐Test: a tool for testing Web services | |
Silva et al. | White-box testing framework for object-oriented programming based on message sequence specification | |
Sypsas et al. | Computing Similarities Between Virtual Laboratory Experiments Models Using Petri Nets |
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 |