CN106790536B - Combined Web service selection method based on transaction and QoS - Google Patents

Combined Web service selection method based on transaction and QoS Download PDF

Info

Publication number
CN106790536B
CN106790536B CN201611195084.4A CN201611195084A CN106790536B CN 106790536 B CN106790536 B CN 106790536B CN 201611195084 A CN201611195084 A CN 201611195084A CN 106790536 B CN106790536 B CN 106790536B
Authority
CN
China
Prior art keywords
service
execution
mode
time
successful
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
CN201611195084.4A
Other languages
Chinese (zh)
Other versions
CN106790536A (en
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.)
State Grid Corp of China SGCC
Information and Telecommunication Branch of State Grid Jiangxi Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Information and Telecommunication Branch of State Grid Jiangxi Electric Power Co Ltd
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 State Grid Corp of China SGCC, Information and Telecommunication Branch of State Grid Jiangxi Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201611195084.4A priority Critical patent/CN106790536B/en
Publication of CN106790536A publication Critical patent/CN106790536A/en
Application granted granted Critical
Publication of CN106790536B publication Critical patent/CN106790536B/en
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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides a combined Web service selection method based on transactions and QoS. Wherein the method comprises the following steps: firstly, providing affairs for Web service, and then analyzing the combination problem of the service with affairs requirement; secondly, analyzing the performance problem of the service with transaction attribute combination; finally, according to the performance comparison of the transactional combined service, a combined Web service selection method based on the transaction and the QoS is provided; the method specifically comprises the following steps: firstly, when selecting the current component service, obtaining a candidate component service meeting the transactional requirement according to the transaction characteristics of the previously selected proper component service and the rule requirement of the transaction combined service; secondly, performing performance evaluation on each candidate component service, and evaluating and considering the QoS and transactional requirements of the Web service; and thirdly, repeating the processes until a combined service meeting the requirement is obtained. The technical scheme provided by the invention has good selection accuracy and better feasibility and effectiveness.

Description

Combined Web service selection method based on transaction and QoS
Technical Field
The invention relates to the technical field of computer networks, in particular to a combined Web service selection method based on transactions and QoS.
Background
Web services are a technology for automated interaction between businesses that can publish their internal business processes as a service and then provide their services on the Web. As applications go deeper, a business process may include one or more business functions, and since these businesses may call Web services from different organizations, they need to be combined in a certain way to cooperate, and ensure the reliability of their operations and the consistency of results. In a complex network environment, service composition may become quite complex due to the following issues: component services may run for long periods of time, the service environment is loosely matched and asynchronous in nature, the assembly process may be undone due to machine failure, services may be removed or revoked, handling potential failures is necessary, and so forth. Thus, Web services require transaction mechanisms to ensure consistency and correct and reliable execution of output.
In the analysis of the conventional combinational service selection method, researchers usually perform a combinational service integration QoS (quality of service) analysis based on different structures of workflows, and then perform component selection according to the QoS. However, none of these studies can take into account the requirements of the transaction. Although the introduction of a transaction ensures correct and reliable execution of the composite service, it affects the QoS attributes of the composite service. Therefore, there is a need to propose a method to select a combined transaction and QoS based Web service.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a combined Web service selection method based on transaction and QoS.
A transaction and QoS based combined Web service selection method, the method comprising:
firstly, providing affairs for Web service, and then analyzing the combination problem of the service with affairs requirement;
secondly, analyzing the performance problem of the service with transaction attribute combination;
finally, according to the performance comparison of the transactional combined service, a combined Web service selection method based on the transaction and the QoS is provided; the method specifically comprises the following steps:
firstly, when selecting the current component service, obtaining a candidate component service meeting the transactional requirement according to the transaction characteristics of the previously selected proper component service and the rule requirement of the transaction combined service;
secondly, performing performance evaluation on each candidate component service, and evaluating and considering the QoS and transactional requirements of the Web service;
and thirdly, repeating the processes until a combined service meeting the requirement is obtained.
The specific contents of the first step and the second step are as follows:
in a common service selection method, performance evaluation is analyzed based on QoS of all component services, and the method is based on transaction and QoS and combines the transaction and the QoS to obtain a transaction-based combined service selection method;
in the process of selecting the combination service based on the affairs, when some candidate component services with similar functions can be obtained, the non-functional requirements of the candidate component services can reflect the requirements of users, and the method provides the following three QoS indexes of the Web service ws:
(1) execution Price (EP): the cost required for a requestor to invoke a service ws is denoted as qep(ws);
(2) Execution Time (ET): the time required for a service ws to execute once, denoted as qet(ws); the method considers that the time for executing the service once is the same, and in the same time, the service execution once may fail or may be successfully completed;
(3) probability of successful completion (PS): the probability that a service ws successfully completes a user request, denoted as qps(ws);
Wherein, the execution time needs to consider the change caused by the transaction of the combined service, and the analysis process is as follows:
(1) a service is compensable, it can provide a compensation strategy to undo the effect of the service, denoted by the symbol "c";
(2) a service has constant retriability, then it can be retried and the final success achieved by a sufficient number of retries, denoted by the symbol "r";
(3) a service has a central point property, so that once it is executed successfully, its impact is always present and cannot be undone, and if it fails to execute, without any impact, it is denoted by the symbol "p";
due to the dynamics, uncertainty and openness of a network environment, component services from different organizations are frequently failed to call, if the probability of successful execution of one Web service is ps and the time of one service execution is t, one Web service is either successfully executed or fails to be executed within the time t, the service fails to be executed in the previous n-1 times, the probability of the n-th successful execution conforms to the geometric distribution, and the probability function is as follows:
P(X=n)=(1-ps)n-1ps
x denotes the service's execution for the second time, then the mathematical expectation is:
Figure BDA0001186810910000031
the mathematical expectation of the geometric distribution reflects the average number of successful executions, i.e. the average number of successful executions is 1/ps, the time for one service execution is t, and then the average time for successful execution st is:
st=t/ps。
the combined service is composed of a basic combined mode, and a time performance analysis method of the basic combined mode is provided for analyzing the time performance of the transaction combined service; the four basic combination modes are: a sequence mode, a parallel mode, a selection mode and a cyclic mode; the service combination is described by a workflow model, TP represents transaction, TO represents one-time execution time, ST represents successful execution time, and PS represents successful execution probability; tp, to, st, and ps represent specific values of the corresponding concepts of the composite service; only one component service execution fails in the schema at a time.
(1) Sequence mode time performance calculation method
The sequence mode is used for defining that the combined service is composed of a series of component services executed according to a fixed sequence; in sequential mode, component services execute from left to right whenAnd only after the successful execution of the former component service is completed, the latter component service can start to execute; if the execution of the component service fails, the transaction mechanism is utilized to process the failure; the first i component service success execution time is stiComponent services WSiThe time of one execution is tiService WSiThe probability of successful execution is psi
Firstly, considering a combination sequence mode composed of two services, wherein the combination mode composed of n services can be regarded as a combination of a combination service of a first n-1 service and an nth service;
in sequential mode, if the first serving WS1The transaction properties assigned are p or pr, WS1Cannot be revoked upon successful completion, and thus the second serving WS2Must ensure a certain successful completion, WS2Must include r's transactional, so WS2Assigning a transaction pr or cr; { tp1,tp2Represents the transactional nature of both services from left to right or top to bottom in the schema;
if the sequence pattern is { p, pr } or { p, cr }, the pattern is executed once, if WS1Execution fails, then the mode execution fails for time t1(ii) a If WS1Successful execution completion due to WS2The successful completion must be achieved after a limited number of retries, so that the mode is successfully executed and completed for a time t1+t2/ps2(ii) a Then at t1+t2/ps2Within the time, it is determined whether the mode is successfully executed, so that to is t1+t2/ps2;WS1Successful execution completion probability ps1Due to WS2The completion must be successful after a limited number of retries, and the service execution completion probability of the transactional inclusion r is 1 in the mode execution process, namely WS2The successful execution completion probability is 1; the probability of successful execution of the composite service is ps to ps1The transactional nature of the composite service is p.
If WS1Execution fails, then the pattern execution fails, WS for analysis of the successful completion time of the pattern1Will be repeatedly executed untilTo WS1If the execution is completed successfully, the mode is completed successfully; suppose WS1Has a successful execution completion time st1Due to WS2After a limited number of retries, must be successfully completed, so that st is st1+t2/ps2
If the sequence mode is { pr, pr } or { pr, cr }, then one-time mode is performed, WS1And WS2All must be successfully completed after a limited number of retries, then to t1/ps1+t2/ps2The execution time is also the successful execution completion time, so st is st1+t2/ps。WS1And WS2The successful execution completion probabilities are all 1, then the probability of successful execution of the mode is ps ═ 1, and the transactional performance of the combined service is pr;
in sequential mode, if the first serving WS1If the assigned transaction is c or cr, then if the second serving WS2The first service execution may be revoked due to execution failure, so the second service WS2Any transaction may be assigned;
in the sequence pattern, if the pattern is { p, pr } or { p, cr }, then tp is p, to is t1+t2/ps2,st=st1+t2/ps2,ps=ps1(ii) a If the sequence pattern is { pr, pr } or { pr, cr }, then tp ═ pr, to ═ t1/ps1+t2/ps2,st=st1+t2/ps2,ps=1;
In the sequence mode, if the mode is { c, p } or { c, c }, then tp ═ p or c, to ═ t1+t2,st=(st1+t2)/ps2,ps=ps1ps2(ii) a If the sequence pattern is { c, pr } or { c, cr }, tp ═ p or c, to ═ t1+t2/ps2,st=st1+t2/ps2,ps=ps1(ii) a If the sequence pattern is { cr, p } or { cr, c }, tp-p or c, to-t1/ps1+t2,st=(st1+t2)/ps2,ps=ps2(ii) a If the sequence pattern is { cr, prR or { cr, cr }, tp-pr or cr, to-t1/ps1+t2/ps2,st=st1+t2/ps2,ps=1;
If the sequence pattern is { c, p } or { c, c }, the pattern is executed once, if WS1Execution fails, then the mode execution fails for time t1(ii) a If WS1Successful execution completion, WS2Is performed once if WS2Fails execution, mode fails, if WS2Is successfully executed, the mode is successfully executed, and the time is t1+t2(ii) a So at t1+t2During the time, we can determine if the mode is successfully executed, so to t1+t2
If WS1Execution fails, then mode execution fails, and likewise, WS is repeatedly executed1Up to WS1The execution is completed successfully; suppose WS1The time of successful execution completion of (st) is1,WS2May result in WS1Compensated and rolled back to the starting position of the mode, which also results in the failure of the mode execution; also, WS is repeatedly performed2Up to WS2The execution completes successfully. WS2Each failure results in WS1And WS2Until WS1And WS2The execution is successful. Then serving WS2The time for successful completion after k executions is: k (st)1+t2) The probability is:
P(X=k)=(1-ps2)k-1ps2
then the successful completion time, i.e. the mathematical expectation, is
Figure BDA0001186810910000061
WS1And WS2Is ps respectively1And ps2Then the probability of successful execution completion of the mode is ps-ps1ps2(ii) a If the pattern is { c, p }, tp is p; if the pattern is c,tp=c;
if the sequence pattern is { c, pr } or { c, cr }, WS2Can be successfully completed after a limited number of retries, WS1And WS2Are respectively st1And t2/ps2Therefore, st is equal to st1+t2/ps2;to=t1+t2/ps2,ps=1;
If the sequence pattern is { cr, p } or { cr, c }, the pattern is executed once, WS1Must complete successfully over a limited number of retries, WS1Is successful execution time of st1=t1/ps1;WS2Is executed once according to WS2Is executed, the pattern either fails to execute or completes successfully, for a time t1/ps1+t2(ii) a So at t1/ps1+t2During the time, we can determine if the mode is successfully executed, so to t1/ps1+t2;st=(st1+t2)/ps2;WS1And WS2Is 1 and ps, respectively2Then ps ═ ps2(ii) a If the pattern is { cr, p }, tp is p; if the pattern is { cr, c }, tp ═ c.
(2) Parallel mode time performance calculation method
The parallel mode is used for defining the combined service which has no strict execution sequence of the component services in the combined service and must be performed simultaneously; only when all the parallel services are successfully executed, the combined service can be successfully executed; if some services are successfully executed and other services are failed to be executed, the services with failed execution need to be processed by using a transaction mechanism; here, max { x, y } represents the maximum value of both x and y; min { x, y } represents the minimum of both x and y; assuming that the priority is executed from top to bottom when the parallel mode service is executed; firstly, considering a parallel mode formed by two services;
in parallel mode, if serving WS1Has a transactional property of p, once WS1The effect of successful execution completion cannot be undonePin, thus serving WS2It must be ensured that a certain successful execution is completed, WS2A transaction containing r; on the other hand, once WS1Execution failure, WS2Must be able to provide a compensation strategy, therefore WS2Transactional containing c, then WS2Can only be cr;
when WS1And WS2While executing simultaneously, due to WS2Has a transaction of cr, WS2Can ensure successful execution completion through a limited number of calls, and the time is t2/ps2;WS1The time of one execution is t1(ii) a Then at time max t1,t2/ps2Within, the parallel mode may determine whether the execution is completed successfully; so, to is max { t ═1,t2/ps2};WS1Can lead to WS2Compensated, causing the parallel mode execution to fail, so we repeat executing the mode until successful execution is complete; WS1The probability of successful completion after k executions is:
P(X=k)=(1-ps1)k-1ps1
then, the successful execution time is:
Figure BDA0001186810910000071
probability of successful completion of execution of parallel mode is WS1And WS2Performing a successful completion probability product, WS2Has a successful completion probability of 1, then ps-ps1,tp=p;
In parallel mode, if one service WS1Has a transaction property of pr, WS1After the limited number of times of calling, the execution can be successfully completed, and the influence cannot be cancelled after the successful completion; so that another serving WS2Must ensure successful execution completion, i.e., the transaction must contain r, the serving WS2Pr or cr;
in parallel mode, if the mode is { pr, pr } or { pr, cr }, then tp ═ pr, to ═ max{t1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1;
Due to WS1And WS2All contain r, so they all can guarantee successful execution completion through a limited number of retries, and the time of one execution is t respectively1/ps1And t2/ps2The time for one execution is the time for successful execution, and the probability of successful execution is 1; so in parallel mode, to ═ max { t ═1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1,tp=pr;
In parallel mode, if one service WS1Has a transactional property of c, then WS1May fail; so that another serving WS2Must be compensatable; namely WS2Is transactional contains c, then WS2May be c or cr;
in parallel mode, if the mode is { c, cr }, tp is c, and to is max { t }1,t2/ps2},st=max{t1,t2/ps2}/ps1,ps=ps1(ii) a If the parallel mode is { c, c }, tp is c, and to is max { t }1,t2},st=max{t1,t2}/min{ps1,ps2},ps=ps1ps2
If the parallel mode is { c, c }, since WS1And WS2Are respectively executed once for a time t1And t2So to max { t ═ max1,t2Due to WS1And WS2Compensation strategies can be provided, and when the compensation strategies are provided for a certain service, the parallel mode is executed once again each time, and actually, the two services are compensated once; the number of compensations depends on the service that needs to be compensated more times, i.e. the service with less probability of being successfully performed; so st is max { t1,t2}/min{ps1,ps2};WS1And WS2Successfully executeThe probability of completion is ps1And ps2So ps is ps ═ ps1ps2;tp=c;
In parallel mode, if one service WS1Has a transactional nature of cr, via a limited invocation WS1Successful completion can be ensured; and when WS2Execution failure, WS1Is compensatable; so WS of another service2Can be any transactional service;
if the parallel mode is { cr, cr }, then tp is cr, to is max { t ═ cr ═ c }1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1。
(3) Selection mode time performance calculation method
One is used for defining the branch services which are restricted and exclusive with each other, such branch services often select a branch from a plurality of branches to execute according to specific execution conditions, and only one service can be executed in a selection mode; so can be ascribed to the discussion of the sequence mode; the other selection mode is an optional one, the branch service can be replaced, when the execution of a certain branch fails, the other branch is selected for replacement until a successful branch is obtained or all branches fail, and then compensation is carried out;
assuming that the priority is from top to bottom when the selection mode service is executed; firstly, considering a selection mode formed by two services;
in the selection mode, both services are assigned to the same transaction property, and then the transaction of the mode is the corresponding transaction of the component service, and to ═ (t ═ of1+t2),st=(t1+t2)/(ps1+ps2-2ps1ps2),ps=ps1+ps2-2ps1ps2
In the selection mode, because the selected services are all the services which complete the same function, the transaction property of the service endowed by the service in the selection mode is equivalent, and in the selection mode, the service can only endow the service with the same transaction property to meet the selection requirementThe physical meaning of the pattern; therefore, both services are assigned to the same transactional service; in select mode, if the component service's transactional is p or c, then if WS1Successful execution completes for time t1If WS1Execution failure, WS2Successful execution completes for time t1+t2If WS1And WS2All fail, parallel mode fail, time t1+t2(ii) a Then at t1+t2If the parallel mode is successfully executed, then to is equal to (t)1+t2) (ii) a Since only one service enters the transaction combination service in the selection mode, the ST of the single service is not considered; the probability of the first service failing and the second service succeeding is (1-ps)1)ps2The probability of success of the transaction composition service is ps1+(1-ps1)ps2=ps1+ps2-ps1ps2TCWS has a transactional p or c; if the transactional nature of the component service is pr or cr, the mode can complete the successful execution of the mode only by executing the first component service, and st to t1/ps1,ps=1。
The third step specifically comprises the following steps:
the method is based on a service selection method of affairs and QoS, and provides two QoS indexes: the successful completion time is obtained according to a time performance analysis method, and the execution price is obtained according to the sum of the execution prices of each component service of the combined service; the successful completion time and execution price are then weighted to obtain a QoS score value for the transaction composition service and used as a criterion for selecting the transaction composition service.
The QoS indicators also include reputation, availability.
The technical scheme provided by the invention has good selection accuracy and better feasibility and effectiveness.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
FIG. 1 is a schematic diagram of a combination mode of the present invention as a sequence mode;
FIG. 2 is a schematic diagram of the combination mode of the present invention as a parallel mode;
FIG. 3 is a diagram of the combination mode of the present invention as the selection mode.
Detailed Description
The technical scheme for realizing the invention is as follows: firstly, the affairs are endowed to the Web service, then the combination problem of the service with the affairs requirement is analyzed, then the performance problem of the combination service with the affairs attribute is analyzed, and finally, a combination Web service selection method based on the affairs and the QoS is provided according to the performance comparison of the affairs combination service. The method specifically comprises the following steps:
firstly, when selecting the current component service, according to the transaction characteristics of the selected proper component service and the rule requirement of the transaction combined service, obtaining the candidate component service meeting the transactional requirement.
And secondly, performing performance evaluation on each candidate component service, and evaluating and considering the QoS and transactional requirements of the Web service.
And thirdly, repeating the processes until a combined service meeting the requirement is obtained.
The specific contents of the transaction combination service method and the performance evaluation in the first step and the second step are as follows:
in the common service selection method, the performance evaluation is analyzed based on the QoS of all the component services, and the invention combines the transaction and the QoS to obtain a transaction-based combined service selection method.
In a transaction-based composite service selection process, when some functionally similar candidate component services are available, their non-functional requirements for QoS become very important. Because QoS can reflect user's demand well, so it is the most commonly used non-functional index at present, the invention considers the following three QoS indexes of Web service ws:
(1) execution Price (EP): the cost required for a requestor to invoke a service ws is denoted as qep(ws)。
(2) Execution Time (ET): the time required for a service ws to execute once, denoted as qet(ws). It is considered herein that the time of service execution is the same, and within the same time, service execution may fail once and may also complete successfully.
(3) Probability of successful completion (PS): the probability that a service ws successfully completes a user request, denoted as qps(ws)。
Wherein, the execution time needs to consider the change caused by the transaction of the combined service, and the analysis process is as follows:
(1) a service is compensable, it can provide a compensation policy to undo the effect of the service, denoted by the symbol "c".
(2) A service has constant retriability, it can be retried and the ultimate success achieved with a sufficient number of retries, denoted by the symbol "r".
(3) A service has a central point property, so that once it is executed successfully, its impact is always present and cannot be undone, and if it fails to execute, without any impact, it is denoted by the symbol "p".
Due to the dynamics, uncertainty and openness of the network environment, component services from different organizations tend to fail to invoke, assuming that the probability of successful execution of a Web service is ps. If the time for which a service is executed once is t, then a Web service is either successfully executed or fails to execute within the time t. The service fails in the first n-1 executions, the probability of successful execution of the nth execution conforms to the geometric distribution, and the probability function is as follows:
P(X=n)=(1-ps)n-1ps
x denotes the service's execution for the second time, then the mathematical expectation is:
Figure BDA0001186810910000121
the mathematical expectation of the geometric distribution reflects the average number of successful executions, i.e. the average number of successful executions is 1/ps, the time for one service execution is t, and then the average time for successful execution st is:
st=t/ps
generally, a composite service is composed of a basic composite pattern, and thus in order to consider the temporal performance of a transaction composite service, we need to analyze the temporal performance of the basic composite pattern. Here we discuss four basic combination patterns, respectively: sequential, parallel, select and round robin patterns. And the service composition is described by a workflow model. TP represents transactional, TO represents one execution time, ST represents successful execution time, and PS represents successful execution probability. tp, to, st, and ps represent specific values of the corresponding concept of the composite service. For simplicity, only one component service execution fails in the schema at a time.
(1) Sequence mode time performance analysis
The sequence pattern is used to define that a composite service is composed of a series of component services executed in a fixed order, and the sequence pattern composed of n component services is shown in fig. 1. In sequential mode, component services execute from left to right, and a subsequent component service can begin executing if and only if the previous component service completes successfully executing. If the execution of the component service fails, the transaction mechanism is utilized to process the failure. The first i component service success execution time is stiComponent services WSiThe time of one execution is tiService WSiThe probability of successful execution is psi
Considering first the combined sequence pattern of two service components, the combined pattern of n service components can be seen as a combination of the combined service of the first n-1 service and the nth service.
In sequential mode, if the first serving WS1Assigned a transaction property of p or pr, according to definitions 4.3 and 4.6, WS1Once successfully completed, cannot be usedRevocation, hence the second serving WS2Must ensure a certain successful completion, WS2Must include r's transactional, so WS2The transaction is assigned pr or cr. { tp1,tp2Represents the transactional nature of both services from left to right or top to bottom in the schema.
If the sequence pattern is { p, pr } or { p, cr }, the pattern is executed once, if WS1Execution fails, then the mode execution fails for time t1. If WS1Successful execution completion due to WS2The successful completion must be achieved after a limited number of retries, so that the mode is successfully executed and completed for a time t1+t2/ps2. Then at t1+t2/ps2Within time, we can determine if the mode is successfully executed, so to t1+t2/ps2。WS1Successful execution completion probability ps1Due to WS2After a limited number of retries, the completion must be successful, and during the execution of the mode, the probability of the execution of the service with the transactional content r is considered to be 1, namely WS2The successful execution completion probability is 1. The probability of successful execution of the composite service is ps to ps1The transactional nature of the composite service is p.
If WS1Execution fails, then the pattern execution fails, WS for analysis of the successful completion time of the pattern1Will be repeatedly executed until WS1Successful execution completes, then the mode completes successfully. Suppose WS1Has a successful execution completion time st1(if WS1For atomic services, st1=t1/ps1If WS1For combinational service, st1Successful completion time for composite services) due to WS2After a limited number of retries, must be successfully completed, so that st is st1+t2/ps2
If the sequence mode is { pr, pr } or { pr, cr }, then one-time mode is performed, WS1And WS2All must be successfully completed after a limited number of retries, then to t1/ps1+t2/ps2Is performed onceThe time is also the successful execution completion time, so st is st1+t2/ps。WS1And WS2The successful execution completion probability is 1, then the probability of successful execution of the mode is ps ═ 1, and the transactional performance of the composite service is pr.
In sequential mode, if the first serving WS1If the assigned transaction is c or cr, then if the second serving WS2The first service execution may be revoked due to execution failure, so the second service WS2Any transactional may be assigned.
In the sequence pattern, if the pattern is { p, pr } or { p, cr }, then tp is p, to is t1+t2/ps2,st=st1+t2/ps2,ps=ps1. If the sequence pattern is { pr, pr } or { pr, cr }, then tp ═ pr, to ═ t1/ps1+t2/ps2,st=st1+t2/ps2,ps=1。
In the sequence mode, if the mode is { c, p } or { c, c }, then tp ═ p or c, to ═ t1+t2,st=(st1+t2)/ps2,ps=ps1ps2. If the sequence pattern is { c, pr } or { c, cr }, tp ═ p or c, to ═ t1+t2/ps2,st=st1+t2/ps2,ps=ps1. If the sequence pattern is { cr, p } or { cr, c }, tp-p or c, to-t1/ps1+t2,st=(st1+t2)/ps2,ps=ps2. If the sequence pattern is { cr, pr } or { cr, cr }, tp ═ pr or cr, to ═ t1/ps1+t2/ps2,st=st1+t2/ps2,ps=1。
If the sequence pattern is { c, p } or { c, c }, the pattern is executed once, if WS1Execution fails, then the mode execution fails for time t1. If WS1Successful execution completion, WS2Is performed once if WS2Fails execution, mode fails, if WS2Successful execution of, Pattern intoThe work is performed for a time t1+t2. So at t1+t2During the time, we can determine if the mode is successfully executed, so to t1+t2
If WS1Execution fails, then mode execution fails, and likewise, WS is repeatedly executed1Up to WS1The execution is completed successfully. Suppose WS1The time of successful execution completion of (st) is1,WS2May result in WS1Compensated for and rolled back to the starting position of the pattern, which may also result in a failure of the pattern execution. Also, WS is repeatedly performed2Up to WS2The execution completes successfully. WS2Each failure results in WS1And WS2Until WS1And WS2The execution is successful. Then serving WS2The time for successful completion after k executions (i.e., successful after k-1 execution failures) is: k (st)1+t2) The probability is:
P(X=k)=(1-ps2)k-1ps2
then the successful completion time, i.e. the mathematical expectation, is
Figure BDA0001186810910000151
WS1And WS2Is ps respectively1And ps2Then the probability of successful execution completion of the mode is ps-ps1ps2. If the pattern is { c, p }, tp is p. If the pattern is { c, c }, tp ═ c.
If the sequence pattern is { c, pr } or { c, cr }, WS2After a limited number of retries must complete successfully (definition 4.3), WS1And WS2Are respectively st1And t2/ps2Therefore, st is equal to st1+t2/ps2. Analogous to the proof that in theorem 4.1 the sequence patterns are { p, pr } and { p, cr }, to ═ t1+t2/ps2,ps=1。
If the sequence pattern is { cr, p } or { cr, c }, the pattern is executed once, WS1Must complete successfully over a limited number of retries (definition 4.3), WS1Is successful execution time of st1=t1/ps1(although and as discussed above WS having transactional c1The success execution time is the same, but for different reasons). WS2Is executed once according to WS2Is executed, the pattern either fails to execute or completes successfully, for a time t1/ps1+t2. So at t1/ps1+t2During the time, we can determine if the mode is successfully executed, so to t1/ps1+t2. Attestation processes with similar sequence patterns as { c, p } or { c, c }, st ═ (st)1+t2)/ps2。WS1And WS2Is 1 and ps, respectively2Then ps ═ ps2. If the pattern is { cr, p }, tp is p. If the pattern is { cr, c }, tp ═ c.
If the sequence pattern is { cr, pr/cr }, it is similar to the description of the sequence pattern { pr, pr/cr }.
TABLE 1 sequence mode transactional assignment and temporal performance analysis
Figure BDA0001186810910000161
(2) Parallel mode time performance calculation method
The parallel mode is used to define a composite service in which component services do not have a strict execution order and must be performed simultaneously. The pattern is shown in figure 2. This combined service can only be successfully executed if all parallel services are successfully executed. If some services complete successfully and others fail, then the service that failed execution needs to be handled by a transaction mechanism. Here, max { x, y } represents the maximum value of both x and y. min { x, y } represents the minimum of both x and y. It is assumed that the priority is from top to bottom when the parallel mode service is executed. We first consider a parallel mode of two service components.
In parallel mode, if serving WS1Has a transactional property of p, once WS1Successful execution completes, the impact it produces cannot be undone, and thus the serving WS2It must be ensured that a certain successful execution is completed, WS2Contains the transactional nature of r. On the other hand, once WS1Execution failure, WS2Must be able to provide a compensation strategy, therefore WS2Transactional containing c, then WS2Can only be cr.
When WS1And WS2While executing simultaneously, due to WS2Has a transaction of cr, WS2Can ensure successful execution completion through a limited number of calls, and the time is t2/ps2。WS1The time of one execution is t1. Then at time max t1,t2/ps2Within, the parallel mode may determine whether the execution completed successfully. So, to is max { t ═1,t2/ps2}。WS1Can lead to WS2Compensated for, causing the parallel mode execution to fail, so we repeat executing the mode until successful execution completes. WS1The probability of successful completion after k executions is:
P(X=k)=(1-ps1)k-1ps1
then, the successful execution time is:
Figure BDA0001186810910000171
probability of successful completion of execution of parallel mode is WS1And WS2Performing a successful completion probability product, WS2Has a successful completion probability of 1, then ps-ps1,tp=p。
In parallel mode, if one service WS1Has a transaction property of pr, WS1After a limited number of calls, the completion must be successfully performed, and after successful completion, its impact cannot be undone (definition 4.3). So that another serving WS2Must ensure successful execution completion, i.e., the transaction must contain r, thenServing WS2Is pr or cr.
In parallel mode, if the mode is { pr, pr } or { pr, cr }, then tp ═ pr, to ═ max { t { (t) } pr1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1。
Due to WS1And WS2All contain r, so they all can guarantee successful execution completion through a limited number of retries, and the time of one execution is t respectively1/ps1And t2/ps2And the time of one execution is the time of successful execution completion, and the probability of successful execution completion is 1. So in parallel mode, to ═ max { t ═1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1,tp=pr。
In parallel mode, if one service WS1Has a transactional property of c, then WS1May fail. So that another serving WS2Must be compensated for. Namely WS2Is transactional contains c, then WS2May be c or cr[64]
In parallel mode, if the mode is { c, cr }, tp is c, and to is max { t }1,t2/ps2},st=max{t1,t2/ps2}/ps1,ps=ps1. If the parallel mode is { c, c }, tp is c, and to is max { t }1,t2},st=max{t1,t2}/min{ps1,ps2},ps=ps1ps2
If the parallel mode is { c, cr }, it proves similar, and will not be repeated here. If the parallel mode is { c, c }, since WS1And WS2Are respectively executed once for a time t1And t2So to max { t ═ max1,t2Due to WS1And WS2Can provide compensation strategy, and when the compensation strategy is provided for a certain service (the service fails to execute), the parallel mode is executed again each time, actually twoThe service is compensated once. The number of compensations depends on the service that needs to be compensated more times, i.e. the service with less probability of being successfully performed. So st is max { t1,t2}/min{ps1,ps2}。WS1And WS2The probability of successful execution completion is ps1And ps2So ps is ps ═ ps1ps2. According to definition 4.4, tp ═ c.
In parallel mode, if one service WS1Has a transactional nature cr, according to definition 4.2, via a limited invocation WS1Successful completion can be ensured. And when WS2Execution failure, WS1Is compensatable. So WS of another service2Can be any transactional service.
If the parallel mode is { cr, cr }, then tp is cr, to is max { t ═ cr ═ c }1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1。
Since the services in the parallel mode are symmetric, the formulas of the parallel modes { cr, p }, { cr, c } and { cr, pr } can refer to the corresponding formulas given in theorems 4.3, 4.4, and 4.5, and will not be repeated here. The formula for the parallel mode { cr, cr } can refer to the proof of the mode { pr, pr } in theorem 4.3.
Transactional assignments and temporal performance analysis based on the parallel mode of the two services are shown in the table.
Table 2 parallel mode transactional assignment and temporal performance analysis
Figure BDA0001186810910000191
(3) Selected mode temporal performance analysis
In this section, we consider two selection modes: one is a branch service for defining mutual restriction and exclusion relationship between each other, such branch service often selects one branch from multiple branches to execute according to specific execution conditions, and only one service can be executed in a selection mode. So can be attributed to the discussion of the sequence mode. The other selection mode is an optional one, and the branch service can be replaced, and when one branch fails to be executed, another branch is selected to be replaced until a successful branch is obtained, or all branches fail, and then compensation is performed, as shown in fig. 3. We mainly consider the temporal performance analysis of the second selection mode.
It is assumed that the priority is performed from top to bottom when the selection mode service is performed. We first consider the selection mode of two service components.
In the selection mode, both services are assigned to the same transaction property, and then the transaction of the mode is the corresponding transaction of the component service, and to ═ (t ═ of1+t2),st=(t1+t2)/(ps1+ps2-2ps1ps2),ps=ps1+ps2-2ps1ps2
In the selection mode, since the selected services are all services that perform the same function, for simplicity, it is considered herein that the transactions that the services in the selection mode give to the services are equivalent, that is, in the selection mode, the services that can only give the same transaction can satisfy the physical meaning of the selection mode. Therefore, both services are assigned to the same transactional service. In select mode, if the component service's transactional is p or c, then if WS1Successful execution completes for time t1If WS1Execution failure, WS2Successful execution completes for time t1+t2If WS1And WS2All fail, parallel mode fail, time t1+t2. Then at t1+t2If the parallel mode is successfully executed, then to is equal to (t)1+t2). Since only one service enters the transaction composition service in the selection mode, the ST of the individual service is not considered. The first service is successful, the mode is successful, the probability is that the first service fails, and the probability that the second service succeeds is (1-ps)1)ps2The probability of success of the transaction composition service is ps1+(1-ps1)ps2=ps1+ps2-ps1ps2The TCWS has a transactional property of p or c. Transactional assignment and temporal performance analysis of the combinational service selection schema are shown in table 3. If the transactional nature of the component service is pr or cr, the mode can complete the successful execution of the mode only by executing the first component service, and st to t1/ps1,ps=1。
TABLE 3 selection mode transactional assignment and temporal performance analysis
Figure BDA0001186810910000211
The third step is that the transaction combination service selection method comprises the following specific contents:
this section mainly studies service selection methods based on transactions and QoS, and considers two QoS indicators: the successful completion time, which may be obtained from the previous time performance analysis algorithm, and the execution price, which may be obtained from the sum of the execution prices of each component service of the composite service. Then, the two are weighted to obtain the QoS score value of the transaction combination service, and the QoS score value is used as a standard for selecting the transaction combination service. Since standard QoS attributes are used herein, other QoS metrics, such as: reputation, availability, etc., may be extended in the same manner.

Claims (1)

1. A method for combined transaction and QoS based Web service selection, the method comprising:
firstly, providing affairs for Web service, and then analyzing the combination problem of the service with affairs requirement;
secondly, analyzing the performance problem of the service with transaction attribute combination;
finally, according to the performance comparison of the transactional combined service, a combined Web service selection method based on the transaction and the QoS is provided; the method specifically comprises the following steps:
firstly, when selecting the current component service, obtaining a candidate component service meeting the transactional requirement according to the transaction characteristics of the previously selected proper component service and the rule requirement of the transaction combined service;
secondly, performing performance evaluation on each candidate component service, and evaluating and considering the QoS and transactional requirements of the Web service;
thirdly, repeating the above processes until a combined service meeting the requirements is obtained;
the specific contents of the first step and the second step are as follows:
in a common service selection method, performance evaluation is analyzed based on QoS of all component services, and the method is based on transaction and QoS and combines the transaction and the QoS to obtain a transaction-based combined service selection method;
in the process of selecting the combination service based on the affairs, when some candidate component services with similar functions can be obtained, the non-functional requirements of the candidate component services can reflect the requirements of users, and the method provides the following three QoS indexes of the Web service ws:
(1) execution Price (EP): the cost required for a requestor to invoke a service ws is denoted as qep(ws);
(2) Execution Time (ET): the time required for a service ws to execute once, denoted as qet(ws); the method considers that the time for executing the service once is the same, and in the same time, the service execution once may fail or may be successfully completed;
(3) probability of successful completion (PS): the probability that a service ws successfully completes a user request, denoted as qps(ws);
Wherein, the execution time needs to consider the change caused by the transaction of the combined service, and the analysis process is as follows:
(1) a service is compensable, it can provide a compensation strategy to undo the effect of the service, denoted by the symbol "c";
(2) a service has constant retriability, then it can be retried and the final success achieved by a sufficient number of retries, denoted by the symbol "r";
(3) a service has a central point property, so that once it is executed successfully, its impact is always present and cannot be undone, and if it fails to execute, without any impact, it is denoted by the symbol "p";
due to the dynamics, uncertainty and openness of a network environment, component services from different organizations are frequently failed to call, if the probability of successful execution of one Web service is ps and the time of one service execution is t, one Web service is either successfully executed or fails to be executed within the time t, the service fails to be executed in the previous n-1 times, the probability of the n-th successful execution conforms to the geometric distribution, and the probability function is as follows:
P(X=n)=(1-ps)n-1ps
x denotes the service's execution for the second time, then the mathematical expectation is:
Figure FDA0002313973340000021
the mathematical expectation of the geometric distribution reflects the average number of successful executions, i.e. the average number of successful executions is 1/ps, the time for one service execution is t, and then the average time for successful execution st is:
st=t/ps;
the combined service is composed of a basic combined mode, and a time performance analysis method of the basic combined mode is provided for analyzing the time performance of the transaction combined service; the four basic combination modes are: a sequence mode, a parallel mode, a selection mode and a cyclic mode; the service combination is described by a workflow model, TP represents transaction, TO represents one-time execution time, ST represents successful execution time, and PS represents successful execution probability; tp, to, st, and ps represent specific values of the corresponding concepts of the composite service; only one component service execution fails at a time in the mode;
(1) sequence mode time performance calculation method
The sequence mode is used for defining that the combined service is composed of a series of component services executed according to a fixed sequence; in sequential mode, component services execute from left to right, and a subsequent component service executes if and only if the previous component service completes successfullyComponent services can begin execution; if the execution of the component service fails, the transaction mechanism is utilized to process the failure; the first i component service success execution time is stiComponent services WSiThe time of one execution is tiService WSiThe probability of successful execution is psi
Firstly, considering a combination sequence mode composed of two services, wherein the combination mode composed of n services can be regarded as a combination of a combination service of a first n-1 service and an nth service;
in sequential mode, if the first serving WS1The transaction properties assigned are p or pr, WS1Cannot be revoked upon successful completion, and thus the second serving WS2Must ensure a certain successful completion, WS2Must include r's transactional, so WS2Assigning a transaction pr or cr; { tp1,tp2Represents the transactional nature of both services from left to right or top to bottom in the schema;
if the sequence pattern is { p, pr } or { p, cr }, the pattern is executed once, if WS1Execution fails, then the mode execution fails for time t1(ii) a If WS1Successful execution completion due to WS2The successful completion must be achieved after a limited number of retries, so that the mode is successfully executed and completed for a time t1+t2/ps2(ii) a Then at t1+t2/ps2Within the time, it is determined whether the mode is successfully executed, so that to is t1+t2/ps2;WS1Successful execution completion probability ps1Due to WS2The completion must be successful after a limited number of retries, and the service execution completion probability of the transactional inclusion r is 1 in the mode execution process, namely WS2The successful execution completion probability is 1; the probability of successful execution of the composite service is ps to ps1The transactional nature of the composite service is p;
if WS1Execution fails, then the pattern execution fails, WS for analysis of the successful completion time of the pattern1Will be repeatedly executed until WS1If the execution is completed successfully, the mode is completed successfully; suppose thatWS1Has a successful execution completion time st1Due to WS2After a limited number of retries, must be successfully completed, so that st is st1+t2/ps2
If the sequence mode is { pr, pr } or { pr, cr }, then one-time mode is performed, WS1And WS2All must be successfully completed after a limited number of retries, then to t1/ps1+t2/ps2The execution time is also the successful execution completion time, so st is st1+t2/ps;WS1And WS2The successful execution completion probabilities are all 1, then the probability of successful execution of the mode is ps ═ 1, and the transactional performance of the combined service is pr;
in sequential mode, if the first serving WS1If the assigned transaction is c or cr, then if the second serving WS2The first service execution may be revoked due to execution failure, so the second service WS2Any transaction may be assigned;
in the sequence pattern, if the pattern is { p, pr } or { p, cr }, then tp is p, to is t1+t2/ps2,st=st1+t2/ps2,ps=ps1(ii) a If the sequence pattern is { pr, pr } or { pr, cr }, then tp ═ pr, to ═ t1/ps1+t2/ps2,st=st1+t2/ps2,ps=1;
In the sequence mode, if the mode is { c, p } or { c, c }, then tp ═ p or c, to ═ t1+t2,st=(st1+t2)/ps2,ps=ps1ps2(ii) a If the sequence pattern is { c, pr } or { c, cr }, tp ═ p or c, to ═ t1+t2/ps2,st=st1+t2/ps2,ps=ps1(ii) a If the sequence pattern is { cr, p } or { cr, c }, tp-p or c, to-t1/ps1+t2,st=(st1+t2)/ps2,ps=ps2(ii) a If the sequence pattern is { cr, pr } or { cr, cr }, tp ═ pr or cr, to ═ t1/ps1+t2/ps2,st=st1+t2/ps2,ps=1;
If the sequence pattern is { c, p } or { c, c }, the pattern is executed once, if WS1Execution fails, then the mode execution fails for time t1(ii) a If WS1Successful execution completion, WS2Is performed once if WS2Fails execution, mode fails, if WS2Is successfully executed, the mode is successfully executed, and the time is t1+t2(ii) a So at t1+t2During the time, we can determine if the mode is successfully executed, so to t1+t2
If WS1Execution fails, then mode execution fails, and likewise, WS is repeatedly executed1Up to WS1The execution is completed successfully; suppose WS1The time of successful execution completion of (st) is1,WS2May result in WS1Compensated and rolled back to the starting position of the mode, which also results in the failure of the mode execution; also, WS is repeatedly performed2Up to WS2The execution is completed successfully; WS2Each failure results in WS1And WS2Until WS1And WS2The execution is successful; then serving WS2The time for successful completion after k executions is: k (st)1+t2) The probability is:
P(X=k)=(1-ps2)k-1ps2
then the successful completion time, i.e. the mathematical expectation, is
Figure FDA0002313973340000051
WS1And WS2Is ps respectively1And ps2Then the probability of successful execution completion of the mode is ps-ps1ps2(ii) a If the pattern is { c, p }, tp is p; if the mode is { c, c }, tp ═ c;
if the sequence pattern is { c, pr } or { c, c }r }, then WS2Can be successfully completed after a limited number of retries, WS1And WS2Are respectively st1And t2/ps2Therefore, st is equal to st1+t2/ps2;to=t1+t2/ps2,ps=1;
If the sequence pattern is { cr, p } or { cr, c }, the pattern is executed once, WS1Must complete successfully over a limited number of retries, WS1Is successful execution time of st1=t1/ps1;WS2Is executed once according to WS2Is executed, the pattern either fails to execute or completes successfully, for a time t1/ps1+t2(ii) a So at t1/ps1+t2During the time, we can determine if the mode is successfully executed, so to t1/ps1+t2;st=(st1+t2)/ps2;WS1And WS2Is 1 and ps, respectively2Then ps ═ ps2(ii) a If the pattern is { cr, p }, tp is p; if the pattern is { cr, c }, tp ═ c;
(2) parallel mode time performance calculation method
The parallel mode is used for defining the combined service which has no strict execution sequence of the component services in the combined service and must be performed simultaneously; only when all the parallel services are successfully executed, the combined service can be successfully executed; if some services are successfully executed and other services are failed to be executed, the services with failed execution need to be processed by using a transaction mechanism; here, max { x, y } represents the maximum value of both x and y; min { x, y } represents the minimum of both x and y; assuming that the priority is executed from top to bottom when the parallel mode service is executed; firstly, considering a parallel mode formed by two services;
in parallel mode, if serving WS1Has a transactional property of p, once WS1Successful execution completes, the impact it produces cannot be undone, and thus the serving WS2It must be ensured that a certain successful execution is completed, WS2A transaction containing r; on the other hand, once WS1Execution failure, WS2Must be able to provide a compensation strategy, therefore WS2Transactional containing c, then WS2Can only be cr;
when WS1And WS2While executing simultaneously, due to WS2Has a transaction of cr, WS2Can ensure successful execution completion through a limited number of calls, and the time is t2/ps2;WS1The time of one execution is t1(ii) a Then at time max t1,t2/ps2Within, the parallel mode may determine whether the execution is completed successfully; so, to is max { t ═1,t2/ps2};WS1Can lead to WS2Compensated, causing the parallel mode execution to fail, so we repeat executing the mode until successful execution is complete; WS1The probability of successful completion after k executions is:
P(X=k)=(1-ps1)k-1ps1
then, the successful execution time is:
Figure FDA0002313973340000061
probability of successful completion of execution of parallel mode is WS1And WS2Performing a successful completion probability product, WS2Has a successful completion probability of 1, then ps-ps1,tp=p;
In parallel mode, if one service WS1Has a transaction property of pr, WS1After the limited number of times of calling, the execution can be successfully completed, and the influence cannot be cancelled after the successful completion; so that another serving WS2Must ensure successful execution completion, i.e., the transaction must contain r, the serving WS2Pr or cr;
in parallel mode, if the mode is { pr, pr } or { pr, cr }, then tp ═ pr, to ═ max { t { (t) } pr1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1;
Due to WS1And WS2All contain r, so they all can guarantee successful execution completion through a limited number of retries, and the time of one execution is t respectively1/ps1And t2/ps2The time for one execution is the time for successful execution, and the probability of successful execution is 1; so in parallel mode, to ═ max { t ═1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1,tp=pr;
In parallel mode, if one service WS1Has a transactional property of c, then WS1May fail; so that another serving WS2Must be compensatable; namely WS2Is transactional contains c, then WS2May be c or cr;
in parallel mode, if the mode is { c, cr }, tp is c, and to is max { t }1,t2/ps2},st=max{t1,t2/ps2}/ps1,ps=ps1(ii) a If the parallel mode is { c, c }, tp is c, and to is max { t }1,t2},st=max{t1,t2}/min{ps1,ps2},ps=ps1ps2
If the parallel mode is { c, c }, since WS1And WS2Are respectively executed once for a time t1And t2So to max { t ═ max1,t2Due to WS1And WS2Compensation strategies can be provided, and when the compensation strategies are provided for a certain service, the parallel mode is executed once again each time, and actually, the two services are compensated once; the number of compensations depends on the service that needs to be compensated more times, i.e. the service with less probability of being successfully performed; so st is max { t1,t2}/min{ps1,ps2};WS1And WS2The probability of successful execution completion is ps1And ps2So ps is ps ═ ps1ps2;tp=c;
In parallel mode, if one service WS1Has a transactional nature of cr, via a limited invocation WS1Successful completion can be ensured; and when WS2Execution failure, WS1Is compensatable; so WS of another service2Can be any transactional service;
if the parallel mode is { cr, cr }, then tp is cr, to is max { t ═ cr ═ c }1/ps1,t2/ps2},st=max{t1/ps1,t2/ps2},ps=1;
(3) Selection mode time performance calculation method
One is used for defining the branch services which are restricted and exclusive with each other, such branch services often select a branch from a plurality of branches to execute according to specific execution conditions, and only one service can be executed in a selection mode; so can be ascribed to the discussion of the sequence mode; the other selection mode is an optional one, the branch service can be replaced, when the execution of a certain branch fails, the other branch is selected for replacement until a successful branch is obtained or all branches fail, and then compensation is carried out;
assuming that the priority is from top to bottom when the selection mode service is executed; firstly, considering a selection mode formed by two services;
in the selection mode, both services are assigned to the same transaction property, and then the transaction of the mode is the corresponding transaction of the component service, and to ═ (t ═ of1+t2),st=(t1+t2)/(ps1+ps2-2ps1ps2),ps=ps1+ps2-2ps1ps2
In the selection mode, because the selected services are all the services which complete the same function, the affairs of the services endowed by the services in the selection mode are equivalent, and in the selection mode, the services only can be endowed with the services with the same affairs to meet the physical meaning of the selection mode; therefore, both services are assigned to the same transactional service; in the selection mode, if groupIf the transactional nature of the piece service is p or c, then WS1Successful execution completes for time t1If WS1Execution failure, WS2Successful execution completes for time t1+t2If WS1And WS2All fail, parallel mode fail, time t1+t2(ii) a Then at t1+t2If the parallel mode is successfully executed, then to is equal to (t)1+t2) (ii) a Since only one service enters the transaction combination service in the selection mode, the ST of the single service is not considered; the probability of the first service failing and the second service succeeding is (1-ps)1)ps2The probability of success of the transaction composition service is ps1+(1-ps1)ps2=ps1+ps2-ps1ps2TCWS has a transactional p or c; if the transactional nature of the component service is pr or cr, the mode can complete the successful execution of the mode only by executing the first component service, and st to t1/ps1,ps=1;
The third step specifically comprises the following steps:
the method is based on a service selection method of affairs and QoS, and provides two QoS indexes: the successful completion time is obtained according to a time performance analysis method, and the execution price is obtained according to the sum of the execution prices of each component service of the combined service; then, weighting the successful completion time and the execution price to obtain a QoS score value of the transaction combination service, and using the QoS score value as a standard for selecting the transaction combination service;
the QoS indicators also include reputation, availability.
CN201611195084.4A 2016-12-21 2016-12-21 Combined Web service selection method based on transaction and QoS Expired - Fee Related CN106790536B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611195084.4A CN106790536B (en) 2016-12-21 2016-12-21 Combined Web service selection method based on transaction and QoS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611195084.4A CN106790536B (en) 2016-12-21 2016-12-21 Combined Web service selection method based on transaction and QoS

Publications (2)

Publication Number Publication Date
CN106790536A CN106790536A (en) 2017-05-31
CN106790536B true CN106790536B (en) 2020-06-05

Family

ID=58899139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611195084.4A Expired - Fee Related CN106790536B (en) 2016-12-21 2016-12-21 Combined Web service selection method based on transaction and QoS

Country Status (1)

Country Link
CN (1) CN106790536B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451037B (en) * 2018-12-05 2021-06-08 大连海事大学 Method for selecting error repair strategy in CWS fault tolerance problem
CN115509523B (en) * 2022-11-24 2023-03-03 湖南创星科技股份有限公司 API service rapid construction method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123175A (en) * 2011-03-07 2011-07-13 浙江大学 Service selection method based on Qos (Quality of Service) perception based on optimal similarity distance
CN102158533A (en) * 2011-01-28 2011-08-17 浙江大学 Distributed web service selection method based on QoS (Quality of Service)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158533A (en) * 2011-01-28 2011-08-17 浙江大学 Distributed web service selection method based on QoS (Quality of Service)
CN102123175A (en) * 2011-03-07 2011-07-13 浙江大学 Service selection method based on Qos (Quality of Service) perception based on optimal similarity distance

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TQoS:Transactional and QoS-Aware Selection Algorithm for Automatic Web Service Composition;Joyce El Hadad,etc.;《IEEE Transactions on Services Computing》;20100318;第3卷(第1期);第73-85页 *

Also Published As

Publication number Publication date
CN106790536A (en) 2017-05-31

Similar Documents

Publication Publication Date Title
Hong et al. Review on ranking and selection: A new perspective
Tsai et al. A software reliability model for web services.
US9489289B2 (en) Adaptive framework automatically prioritizing software test cases
Chen et al. Multiple states based temporal consistency for dynamic verification of fixed‐time constraints in grid workflow systems
Nassif et al. Software estimation in the early stages of the software life cycle
CN106961467B (en) Service quality performance prediction method and device based on transaction and QoS combination
CN106790536B (en) Combined Web service selection method based on transaction and QoS
US8260651B2 (en) Method and system for estimating resource factors for executing a project
Chakhar et al. Multicriteria evaluation-based conceptual framework for composite Web service selection
Kim et al. An approach to modeling service-oriented development process
Avdeeva et al. The technology of the strategic goal-setting and monitoring of a system development on the basis of cognitive mapping
Fu et al. Expert recommendation in oss projects based on knowledge embedding
Mahato et al. Reliability modeling and analysis for deadline-constrained grid service
Nasirian et al. Multiskilled workforce planning: a case from the construction industry
US20160004982A1 (en) Method and system for estimating the progress and completion of a project based on a bayesian network
CN110740168B (en) Self-adaptive method for multi-tenant server in cloud
CN114237900A (en) Block chain business transaction execution method, device, equipment and readable storage medium
Ostrand et al. Predicting bugs in large industrial software systems
CN112633823A (en) Real-time tracking method of production progress, storage medium and computer equipment
Yin et al. QoS-driven transactional web service reselection for reliable execution
Elgedawy CRESCENT: a reliable framework for durable composite web services management
Xu et al. Optimized composite service transactions through execution results prediction
Xu et al. Run-time resolution of service property conflicts in web service composition
Panda et al. Regression testing of object-oriented systems using UML state machine diagram and sequence diagram
CN114756384B (en) Task scheduling method and system based on block chain

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

Granted publication date: 20200605

Termination date: 20201221

CF01 Termination of patent right due to non-payment of annual fee