CN109451037B - Cws容错问题中的错误修复策略的选择方法 - Google Patents

Cws容错问题中的错误修复策略的选择方法 Download PDF

Info

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
Application number
CN201811481963.2A
Other languages
English (en)
Other versions
CN109451037A (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.)
Dalian Maritime University
Original Assignee
Dalian Maritime University
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 Dalian Maritime University filed Critical Dalian Maritime University
Priority to CN201811481963.2A priority Critical patent/CN109451037B/zh
Publication of CN109451037A publication Critical patent/CN109451037A/zh
Application granted granted Critical
Publication of CN109451037B publication Critical patent/CN109451037B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management 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

CWS容错问题中的错误修复策略的选择方法
技术领域
本发明涉及一种众包任务发布方法,尤其一种众包任务发布中任务参数的确定方法。
背景技术
为了使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服务的可靠性来自于其历史执行的日志数据中执行成功的概率。
CN201811481963.2A 2018-12-05 2018-12-05 Cws容错问题中的错误修复策略的选择方法 Expired - Fee Related CN109451037B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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