CN109451037B - Cws容错问题中的错误修复策略的选择方法 - Google Patents
Cws容错问题中的错误修复策略的选择方法 Download PDFInfo
- Publication number
- CN109451037B CN109451037B CN201811481963.2A CN201811481963A CN109451037B CN 109451037 B CN109451037 B CN 109451037B CN 201811481963 A CN201811481963 A CN 201811481963A CN 109451037 B CN109451037 B CN 109451037B
- Authority
- CN
- China
- Prior art keywords
- web service
- strategy
- error
- cws
- repair
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种CWS容错问题中的错误修复策略的选择方法,包括步骤为:执行某个CWS,执行过程中某个Web服务出现错误时,将该CWS提交给错误修复策略选择算法模块进行处理;错误修复策略选择模块对出错的Web服务进行错误修复策略的选择;获取策略选择算法模块反馈的结果;以及使用反馈结果中的修复策略对出错的Web服务进行修复。通过采用本发明所述的策略选择方法,当需要执行多个CWS,或者CWS中的服务数量较多,出错Web服务出现的概率很高时,能够更快更准地选择最合适的错误修复策略。
Description
技术领域
本发明涉及一种众包任务发布方法,尤其一种众包任务发布中任务参数的确定方法。
背景技术
为了使Web服务可以实现更为复杂的功能,一般会将多个Web服务进行组合,以组合Web服务(Composite Web Service,CWS)的形式来处理复杂工作。每个CWS可以看作是一个有向无环图,其中的每个结点都代表一个Web服务,边代表服务之间的依赖关系。
在CWS中,某个服务执行的失败可能会产生一系列的不良影响,且会导致CWS中的后续Web服务无法被执行,造成整个CWS执行失败。目前,对于某个出错的Web服务,有向前恢复和向后恢复两类主要方法可以对错误进行修复。通过手动的方式为每个Web服务选择错误修复策略显然是不现实的。因此,有一些研究讨论如何自动地选择错误修复方法,以提高Web服务环境的容错能力。
在先技术希望通过数据分析和依赖经验条件来筛选恢复策略,通过考虑修复花费的时间、修复成本等因素,根据经验设置某种策略选择条件,符合某种条件就选择某种策略。
但上述在先技术修复策略的选择方法显然是不够精确的,尤其是当需要执行多个CWS,或者CWS中的服务数量较多时,出错Web服务出现的概率会很高,因此,需要一种更准确、更快速的方法选择最合适的错误修复策略。
发明内容
针对上述问题,本发明提出了一种组合Web服务容错问题中的错误修复策略选择方法,通过将CWS中的Web服务故障恢复策略选择建模为使用0-1整数线性规划的约束求解问题,从而为出错的Web服务选择出最合适的修复策略。
本发明的技术方案是这样实现的:
CWS容错问题中的错误修复策略的选择方法,包括以下步骤:
A、执行某个CWS,执行过程中某个Web服务出现错误时,将该CWS提交给错误修复策略选择算法模块进行处理;
B、错误修复策略选择模块对出错的Web服务进行错误修复策略的选择,所述选择算法模块中包括四种候选策略,分别是:
B1、重试,Web服务的错误是由于某些偶然原因引起时,尝试重新执行失败的Web服务至少一次,以提高其成功执行的可能性;
B2、替换,当某个Web服务经重试后仍然执行失败时,将其替换为与其相似的Web服务;
B3、补偿,撤消或抵消某些Web服务的错误执行;
B4、检查点,定期将CWS执行成功点保存为检查点,以确保在某个Web服务发生错误时可以从距离故障最近的检查点重新开始执行CWS;
策略选择算法模块针对某个出错Web服务的具体情况,在以上四种策略中选择最合适的一种对错误进行修复;
C、获取策略选择算法模块反馈的结果,如果反馈的结果为“无修复策略可用”,则出错的Web服务将得不到修复,进而说明此CWS执行不成功;如果反馈的结果为一个修复策略,则将其用于对Web服务的修复;
D、使用反馈结果中的修复策略对出错的Web服务进行修复,如果修复失败,则重新进入错误修复策略选择算法进行策略选择;如果修复成功,则判断CWS中是否还有未被执行的Web服务,如果是,则继续执行CWS中剩余的Web服务;如果否,则输出CWS执行成功的提示。
进一步的,所述CWS被看作是一个有向无环图,其中的结点代表一个Web服务,边代表Web服务结点之间顺序或并列的依赖关系,其中每个Web服务都至少包括以下5个属性,该Web服务在一个CWS中的唯一编号,该Web服务的事务属性,该Web服务预计执行时长,该Web服务花费的成本及该Web服务的可靠度。
进一步的,所述Web服务的事务属性包括以下几种:
p:意味着一个Web服务一旦被执行,它产生的执行效果就会持续存在且不可被取消,当其执行失败时,它不会产生任何效果;
c:当一个Web服务执行失败时,其错误可以被纠正并消除其错误的执行效果;
r:当一个Web服务执行失败时,其可以被重新执行有限次,保证其尽可能执行成功;
pr:结合p与r的性质;
cr:结合c与r的性质;
进一步的,所述Web服务花费的成本可以是金钱,也可以是其他形式的奖励。
进一步的,所述Web服务的可靠性来自于其历史执行的日志数据中执行成功的概率。
进一步的,所述选择算法模块将策略选择问题规约为一个0-1线性规划问题进行求解,此0-1线性规划问题的目标函数使整个CWS的完成质量最高,即完成总时间最短,花费的总成本最小,总可靠度最高,添加的约束如下:
约束1:修复造成的时间损耗不会造成CWS完成的逾期;
约束2:四个修复策略仅可以选择一个;
约束3:每个Web服务都存在一个可被重试次数的阈值,如果超过这个阈值,则不可再选择使用重试策略;
约束4:每个CWS都存在一个可接受的其中Web服务被重试的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用重试策略;
约束5:每个Web服务都存在一个可被替换次数的阈值,如果超过这个阈值,则不可再选择使用替换策略;
约束6:每个CWS都存在一个可接受的其中Web服务被替换的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用替换策略;
约束7:每个Web服务都存在一个可被补偿次数的阈值,如果超过这个阈值,则不可再选择使用补偿策略;
约束8:每个CWS都存在一个可接受的其中Web服务被补偿的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用补偿策略;
约束9:每个Web服务都存在一个可退回最近检查点次数的阈值,如果超过这个阈值,则不可再选择使用检查点策略;
约束10:每个CWS都存在一个可接受的其中Web服务可退回最近检查点次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用检查点策略;
约束11:如果出错Web服务的事务属性为cr,pr或者r时,则不可对其选择使用重试策略进行错误修复;
约束12:如果出错Web服务的事务属性为cr或者c时,则不可对其选择使用补偿策略进行错误修复;
若根据上述约束和目标无法选择出可用的修复策略,则反馈“无修复策略可用”的结果。
本发明的有益效果在于:
1.通过采用本发明所述的策略选择方法,当需要执行多个CWS,或者CWS中的服务数量较多,出错Web服务出现的概率很高时,能够更快更准地选择最合适的错误修复策略。
2.通过将策略选择问题规约为一个0-1线性规划问题进行求解,可为出错的Web服务选择出最合适的修复策略,提升了修复效果,节省了CWS的执行时间,提高了CWS的整体工作效率和完成质量。
附图说明
图1为本发明所述CWS容错问题中的错误修复策略的选择方法流程图。
具体实施方式
下面结合附图详述本发明具体实施方式:
如图1所示,CWS容错问题中的错误修复策略的选择方法,包括以下步骤:
A、执行某个CWS,执行过程中某个Web服务出现错误时,将该CWS提交给错误修复策略选择算法模块进行处理;
B、错误修复策略选择模块对出错的Web服务进行错误修复策略的选择,所述选择算法模块中包括四种候选策略,分别是:
B1、重试,Web服务的错误是由于某些偶然原因引起时,尝试重新执行失败的Web服务至少一次,以提高其成功执行的可能性;
B2、替换,当某个Web服务经重试后仍然执行失败时,将其替换为与其相似的Web服务;
B3、补偿,撤消或抵消某些Web服务的错误执行;
B4、检查点,定期将CWS执行成功点保存为检查点,以确保在某个Web服务发生错误时可以从距离故障最近的检查点重新开始执行CWS;
策略选择算法模块针对某个出错Web服务的具体情况,在以上四种策略中选择最合适的一种对错误进行修复;
C、获取策略选择算法模块反馈的结果,如果反馈的结果为“无修复策略可用”,则出错的Web服务将得不到修复,进而说明此CWS执行不成功;如果反馈的结果为一个修复策略,则将其用于对Web服务的修复;
D、使用反馈结果中的修复策略对出错的Web服务进行修复,如果修复失败,则重新进入错误修复策略选择算法进行策略选择;如果修复成功,则判断CWS中是否还有未被执行的Web服务,如果是,则继续执行CWS中剩余的Web服务;如果否,则输出CWS执行成功的提示。
进一步的,所述CWS被看作是一个有向无环图,其中的结点代表一个Web服务,边代表Web服务结点之间顺序或并列的依赖关系,其中每个Web服务都至少包括以下5个属性,该Web服务在一个CWS中的唯一编号,该Web服务的事务属性,该Web服务预计执行时长,该Web服务花费的成本及该Web服务的可靠度。
进一步的,所述Web服务的事务属性包括以下几种:
p:意味着一个Web服务一旦被执行,它产生的执行效果就会持续存在且不可被取消,当其执行失败时,它不会产生任何效果;
c:当一个Web服务执行失败时,其错误可以被纠正并消除其错误的执行效果;
r:当一个Web服务执行失败时,其可以被重新执行有限次,保证其尽可能执行成功;
pr:结合p与r的性质;
cr:结合c与r的性质;
进一步的,所述Web服务花费的成本可以是金钱,也可以是其他形式的奖励。
进一步的,所述Web服务的可靠性来自于其历史执行的日志数据中执行成功的概率。
进一步的,所述选择算法模块将策略选择问题规约为一个0-1线性规划问题进行求解,此0-1线性规划问题的目标函数使整个CWS的完成质量最高,即完成总时间最短,花费的总成本最小,总可靠度最高,添加的约束如下:
约束1:修复造成的时间损耗不会造成CWS完成的逾期;
约束2:四个修复策略仅可以选择一个;
约束3:每个Web服务都存在一个可被重试次数的阈值,如果超过这个阈值,则不可再选择使用重试策略;
约束4:每个CWS都存在一个可接受的其中Web服务被重试的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用重试策略;
约束5:每个Web服务都存在一个可被替换次数的阈值,如果超过这个阈值,则不可再选择使用替换策略;
约束6:每个CWS都存在一个可接受的其中Web服务被替换的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用替换策略;
约束7:每个Web服务都存在一个可被补偿次数的阈值,如果超过这个阈值,则不可再选择使用补偿策略;
约束8:每个CWS都存在一个可接受的其中Web服务被补偿的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用补偿策略;
约束9:每个Web服务都存在一个可退回最近检查点次数的阈值,如果超过这个阈值,则不可再选择使用检查点策略;
约束10:每个CWS都存在一个可接受的其中Web服务可退回最近检查点次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用检查点策略;
约束11:如果出错Web服务的事务属性为cr,pr或者r时,则不可对其选择使用重试策略进行错误修复;
约束12:如果出错Web服务的事务属性为cr或者c时,则不可对其选择使用补偿策略进行错误修复;
若根据上述约束和目标无法选择出可用的修复策略,则反馈“无修复策略可用”的结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (4)
1.CWS容错问题中的错误修复策略的选择方法,其特征在于,包括以下步骤:
A、执行某个CWS,执行过程中某个Web服务出现错误时,将该CWS提交给错误修复策略选择算法模块进行处理;
B、错误修复策略选择算法模块对出错的Web服务进行错误修复策略的选择,所述错误修复策略选择算法模块中包括四种候选策略,分别是:
B1、重试,Web服务的错误是由于某些偶然原因引起时,尝试重新执行失败的Web服务至少一次,以提高其成功执行的可能性;
B2、替换,当某个Web服务经重试后仍然执行失败时,将其替换为与其相似的Web服务;
B3、补偿,撤消或抵消某些Web服务的错误执行;
B4、检查点,定期将CWS执行成功点保存为检查点,以确保在某个Web服务发生错误时可以从距离故障最近的检查点重新开始执行CWS;
错误修复策略选择算法模块针对某个出错Web服务的具体情况,在以上四种策略中选择最合适的一种对错误进行修复;
所述错误修复策略选择算法模块将策略选择问题规约为一个0-1线性规划问题进行求解,此0-1线性规划问题的目标函数使整个CWS的完成质量最高,即完成总时间最短,花费的总成本最小,总可靠度最高,添加的约束如下:
约束1:修复造成的时间损耗不会造成CWS完成的逾期;
约束2:四个修复策略仅可以选择一个;
约束3:每个Web服务都存在一个可被重试次数的阈值,如果超过这个阈值,则不可再选择使用重试策略;
约束4:每个CWS都存在一个可接受的其中Web服务被重试的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用重试策略;
约束5:每个Web服务都存在一个可被替换次数的阈值,如果超过这个阈值,则不可再选择使用替换策略;
约束6:每个CWS都存在一个可接受的其中Web服务被替换的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用替换策略;
约束7:每个Web服务都存在一个可被补偿次数的阈值,如果超过这个阈值,则不可再选择使用补偿策略;
约束8:每个CWS都存在一个可接受的其中Web服务被补偿的次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用补偿策略;
约束9:每个Web服务都存在一个可退回最近检查点次数的阈值,如果超过这个阈值,则不可再选择使用检查点策略;
约束10:每个CWS都存在一个可接受的其中Web服务可退回最近检查点次数的阈值,如果超过这个阈值,则不可再对其中的Web服务选择使用检查点策略;
约束11:如果出错Web服务的事务属性为cr,pr或者r时,则不可对其选择使用重试策略进行错误修复;
约束12:如果出错Web服务的事务属性为cr或者c时,则不可对其选择使用补偿策略进行错误修复;
若根据上述约束和目标无法选择出可用的修复策略,则反馈“无修复策略可用”的结果;
所述Web服务的事务属性包括以下几种:
p:意味着一个Web服务一旦被执行,它产生的执行效果就会持续存在且不可被取消,当其执行失败时,它不会产生任何效果;
c:当一个Web服务执行失败时,其错误可以被纠正并消除其错误的执行效果;
r:当一个Web服务执行失败时,其可以被重新执行有限次,保证其尽可能执行成功;
pr:结合p与r的性质;
cr:结合c与r的性质;
C、获取错误修复策略选择算法模块反馈的结果,如果反馈的结果为“无修复策略可用”,则出错的Web服务将得不到修复,进而说明此CWS执行不成功;如果反馈的结果为一个修复策略,则将其用于对Web服务的修复;
D、使用反馈结果中的修复策略对出错的Web服务进行修复,如果修复失败,则重新进入错误修复策略选择算法进行策略选择;如果修复成功,则判断CWS中是否还有未被执行的Web服务,如果是,则继续执行CWS中剩余的Web服务;如果否,则输出CWS执行成功的提示。
2.根据权利要求1所述的选择方法,其特征在于:所述CWS被看作是一个有向无环图,其中的结点代表一个Web服务,边代表Web服务结点之间顺序或并列的依赖关系,其中每个Web服务都至少包括以下5个属性,该Web服务在一个CWS中的唯一编号,该Web服务的事务属性,该Web服务预计执行时长,该Web服务花费的成本及该Web服务的可靠度。
3.根据权利要求2所述的选择方法,其特征在于,所述Web服务花费的成本是 金钱。
4.根据权利要求2所述的选择方法,其特征在于,所述Web服务的可靠性来自于其历史执行的日志数据中执行成功的概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481963.2A CN109451037B (zh) | 2018-12-05 | 2018-12-05 | Cws容错问题中的错误修复策略的选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481963.2A CN109451037B (zh) | 2018-12-05 | 2018-12-05 | Cws容错问题中的错误修复策略的选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109451037A CN109451037A (zh) | 2019-03-08 |
CN109451037B true CN109451037B (zh) | 2021-06-08 |
Family
ID=65557129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481963.2A Expired - Fee Related CN109451037B (zh) | 2018-12-05 | 2018-12-05 | Cws容错问题中的错误修复策略的选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109451037B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780753A (zh) * | 2011-11-08 | 2012-11-14 | 东南大学 | 一种基于约束规则的服务恢复方法 |
CN104168330A (zh) * | 2014-08-28 | 2014-11-26 | 哈尔滨工程大学 | 一种基于关系图的解决Web服务组合异常问题的最优补偿方法 |
CN106790536A (zh) * | 2016-12-21 | 2017-05-31 | 国网江西省电力公司信息通信分公司 | 基于事务和QoS的组合Web服务选择方法 |
CN106961467A (zh) * | 2016-12-21 | 2017-07-18 | 国网江西省电力公司信息通信分公司 | 基于事务和QoS组合的服务质量性能预测方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130197954A1 (en) * | 2012-01-30 | 2013-08-01 | Crowd Control Software, Inc. | Managing crowdsourcing environments |
US10277488B2 (en) * | 2016-09-09 | 2019-04-30 | International Business Machines Corporation | System and method for management and recovery of multi-service web transactions |
-
2018
- 2018-12-05 CN CN201811481963.2A patent/CN109451037B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780753A (zh) * | 2011-11-08 | 2012-11-14 | 东南大学 | 一种基于约束规则的服务恢复方法 |
CN104168330A (zh) * | 2014-08-28 | 2014-11-26 | 哈尔滨工程大学 | 一种基于关系图的解决Web服务组合异常问题的最优补偿方法 |
CN106790536A (zh) * | 2016-12-21 | 2017-05-31 | 国网江西省电力公司信息通信分公司 | 基于事务和QoS的组合Web服务选择方法 |
CN106961467A (zh) * | 2016-12-21 | 2017-07-18 | 国网江西省电力公司信息通信分公司 | 基于事务和QoS组合的服务质量性能预测方法及装置 |
Non-Patent Citations (1)
Title |
---|
考虑失效恢复的组合服务性能建模与分析;顾军等;《软件学报》;20130430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109451037A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266477B2 (en) | System and method for modifying execution of scripts for a job scheduler using deontic logic | |
US8380385B2 (en) | System and method for determining electronic logbook observed defect fix effectiveness | |
US9513894B2 (en) | Database software upgrade using specify-validate-execute protocol | |
EP2624179A1 (en) | Systems and methods for creating a near optimal maintenance plan | |
CN110032428B (zh) | 分布式事务的执行方法和装置 | |
US20060015840A1 (en) | Parameter-based software development, distribution, and disaster recovery | |
US10552242B2 (en) | Runtime failure detection and correction | |
CN115374658B (zh) | 一种电子设备最少耗时故障排查次序优化方法和系统 | |
CN105512457A (zh) | 用于提供关于维护活动的信息的计算系统和方法 | |
CN109451037B (zh) | Cws容错问题中的错误修复策略的选择方法 | |
US8762336B2 (en) | Geo-verification and repair | |
US20130173329A1 (en) | Systems and methods for the solution to the joint problem of parts order scheduling and maintenance plan generation for field maintenance | |
CN111949553B (zh) | 一种基于规则引擎的场景用例测试方法及装置 | |
CN111198920B (zh) | 一种基于数据库同步确定对比表快照的方法及装置 | |
CN110597649B (zh) | 一种数据处理方法、系统及装置 | |
CN112685320A (zh) | 一种基于多候选程序的软件缺陷修复方法及装置 | |
CN110688759A (zh) | 表决部件的备件量计算方法、仿真方法、终端及存储介质 | |
Jones | Verified Cost-Effective High Reliability for New Deep Space Systems | |
CN114527974B (zh) | 软件产品的业务功能实现方法、装置和计算机设备 | |
JP5497210B1 (ja) | ジョブ再実行支援システム | |
KR20230091435A (ko) | 연속형 시스템의 신뢰성 성장 관리 시험 설계 방법, 이를 수행하는 장치 및 컴퓨터 프로그램 | |
CN109783358B (zh) | 一种回归测试驱动的软件版本管理方法、系统及存储介质 | |
CN111124478A (zh) | 版本管理方法及装置 | |
CN106293980A (zh) | 用于分布式存储集群的数据修复方法及系统 | |
CN108197147B (zh) | 号卡数据库运维方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210608 Termination date: 20211205 |