CN109284086A - The adaptive Web service dynamic evolution method of Demand-Oriented - Google Patents

The adaptive Web service dynamic evolution method of Demand-Oriented Download PDF

Info

Publication number
CN109284086A
CN109284086A CN201810939197.3A CN201810939197A CN109284086A CN 109284086 A CN109284086 A CN 109284086A CN 201810939197 A CN201810939197 A CN 201810939197A CN 109284086 A CN109284086 A CN 109284086A
Authority
CN
China
Prior art keywords
service
prop
concept
carries out
value
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.)
Granted
Application number
CN201810939197.3A
Other languages
Chinese (zh)
Other versions
CN109284086B (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810939197.3A priority Critical patent/CN109284086B/en
Publication of CN109284086A publication Critical patent/CN109284086A/en
Application granted granted Critical
Publication of CN109284086B publication Critical patent/CN109284086B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A kind of Web service dynamic evolution method that Demand-Oriented is adaptive, comprising the following steps: the semantic similarity in the first step, calculating field ontology between two concepts A and B;Second step provides service S1With service S2Input similarity SiminputCalculation method;Third step provides service S1With service S2Export similarity SimoutputCalculation method;4th step calculates service S1With service S2Functional similarity FunctionalSim (S1,S2);5th step provides service clustering algorithm in conjunction with the service function similarity measurement mode of the 4th step;6th step, according to the cluster result of the 5th step, obtain each center service to cluster;7th step, the function similarity for calculating separately RCT node requirement description between the center service description that each clusters;8th step, according to user request in QoS threshold candidate service collection CandidateServices is screened;9th step, candidate service collection CandidateServices filtered to the 8th step carry out service comprehensive score and ranking.The present invention can select the optimal service for meeting user demand.

Description

The adaptive Web service dynamic evolution method of Demand-Oriented
Technical field
The present invention relates to Web service evolution fields, and in particular to a kind of Web service dynamic evolution that Demand-Oriented is adaptive Method.
Background technique
Web service is a kind of software systems, it is intended to support the across a network interaction between machine.There are mainly of two types at present Web service: one is SOAP is based on, another kind is based on REST.The difference of the two be using interface it is different, be based on SOAP Web service transmit message using SOAP interface, and Web service, WSDL are described using web service description language (WSDL) It specifies for Web service supplier using agreement and coding independent mechanism, it is an XML vocabulary, and describing can on network The service of access simultaneously maps them into the communication end point set with message transmission function.And use the Web of REST interface Service then describes, issues and use related resource using general HTTP method (GET, DELETE, POST and PUT).
The semanteme that current research work is intended to provide Web service by using the generalities knowledge of referred to as ontology is retouched It states.Ontology is a vocabulary, and for describing one group of concept in a field, (field can be defined as specific subject fields Or ken) and these concepts between existing relationship.It is applied to attribute reasoning or field in field itself Definition.In the context of Web service, ontology plays important as a kind of mode of Web service semantic description is provided Effect.The enhancing of Web service description promotes the development of Semantic Web Services, is carried out in a manner of machine understandable to Web service Semantic description integrated to e-commerce and application program will wait fields to generate significant impact, because not homology may be implemented in it Dynamic, expansible and high efficiency cooperation between system and tissue.
Web with the continuous development of Web service, in order to adapt to the change of environment change and user demand, in internet Service needs continuously to develop.Therefore, Web service, which is developed, becomes important one of the research point of field of service calculation. Meanwhile important technology of the Web service as building software service, how to enable software systems self-adapting operation and supports to take Dynamic evolution be engaged in important research significance and application value.
Web service evolution refers to service after publication, operation, to adapt to environmental change, persistently meeting user demand, and Carry out a series of process of changes.According to the mode that evolution is implemented, service can be developed and be divided into static evolution and dynamic evolution, Static state, which develops, has to pass through out of service, update software, such a process of restarting service, and dynamic evolution refers to software Evolution at runtime is updated in operation.
Currently, having carried out a large amount of research to Web service dynamic evolution there are many researcher.University of New South Wales Seung Hwan Ryu et al. focus on the Services Composition dynamic evolution of service establishment level, and propose Services Composition example Transportable sex determination method.Vasilios Andrikopoulos of Tiburg University et al. introduces service evolution management Theory, and to the consistency problem of service (including composite services) generated each different editions in evolutionary process carry out Research.Dynamic evolution is divided into two class situations by Song Wei of Nanjing University et al.: ad hoc formula (ad-hoc) is developed and Evolving (evolutionary) develop.Wherein ad hoc formula evolution only influences specific process instance, it is usually to be transported by process instance It is met with during row abnormal and initiation;Evolving evolution is to be caused by the modification of process model with upgrading, and model is repaired The process instance in all be currently running will necessarily be had an impact by changing, and the process caused by this upgrading process model is real Example, which develops, is known as Evolving evolution.
Summary of the invention
Distributed software system shows the features such as diverging, isomery, changeable under the dynamic internet environment of opening, in order to Fast-changing user demand is adapted to, Web application needs to come in flexible, adaptive mode effectively to understand and regulatory requirement, into And reusable software unit is constructed to enhance the developmental capacity of software.To this invention proposes Demand-Oriented it is adaptive one Kind dynamic service evolving method.This method clusters service using improved DBSCAN algorithm, and ties in cluster process The function similarity between service is closed to calculate the distance between sample, then on the basis of servicing cluster, is provided based on RCT model Service dynamic matching method realize Service Matching, process include service filtering, service comprehensive score and service ranking.
In order to solve the above-mentioned technical problem the technical scheme adopted by the invention is that:
A kind of Web service dynamic evolution method that Demand-Oriented is adaptive, comprising the following steps:
Semantic similarity in the first step, calculating field ontology between two concepts A and B, process are as follows: functional similarity Measurement considers the domain body concept output and input between service, and the matching between input and output refers to related to inputting and exporting The matching of concept need to consider the pass in domain body between two concepts to calculate the similitude of two concepts A and B System;
Second step, the concept similarity calculation method in conjunction with the first step provide service S1With service S2Input similarity SiminputCalculation method;
Third step, the concept similarity calculation method in conjunction with the first step provide service S1With service S2Export similarity SimoutputCalculation method;
4th step, the import of services similarity Sim acquired in conjunction with second step and third stepinputSimilarity is exported with service SimOutputCalculate service S1With service S2Functional similarity FunctionalSim (S1,S2), calculation formula is as follows:
FunctionalSim(S1,S2)=w1×Siminput+w2×SimOutput, wherein weight w1And w2It is between 0 and 1 Real number value and summation are 1, they indicate service consumer to the importance of input similitude and output similitude identification;
5th step provides service clustering algorithm in conjunction with the service function similarity measurement mode of the 4th step, choosing any first A unappropriated kernel object is selected as seed, then looks for the reachable sample set of all density of the kernel object, is formed One clusters;It then continues to that another unappropriated kernel object is selected to look for the reachable sample set of density, obtains another It is a to cluster, it is finished until all kernel objects are assigned;Search radius Eps is by formulaIt determines, wherein n table Show the dimension size of service, i.e., the average properties number of all services, k indicates to form the required minimum quantity of service that clusters, r table Show that the hypersphere radius surface being made of n dimension service, m are then the n dimension quantitys of service that this hypersphere includes;And minimum number MinPts It is heuristic to follow experience: MinPts=round (m/25), wherein round is bracket function, and m is the sample size in sample set;
6th step, according to the cluster result of the 5th step, obtain each center service to cluster, the center service that clusters being capable of generation The characteristic feature of cluster service where table;
7th step, the Service Matching process of system need to calculate separately RCT node requirement description and each cluster in it is genuinely convinced Function similarity between business description, wherein RCT node is the component units of RCT model, is described as completing current Web times Web service required for being engaged in, iStar frame rely in strategy and define four kinds of dependences in model, are respectively: target-dependent, Indicate that a role relies on another role to complete some target;Resource Dependence indicates that a role relies on another angle Color provides physical resource and information for it;Task relies on, and indicates that a role relies on another role to complete some task;It is non- The related soft object of functional requirement relies on, and is similar to target-dependent;Extend role, the target, the original of task and resource of iStar Sub- concept, to support the mapping relations and associated description specification between user demand, Web task, service and service sequences, RCT model will be instantiated with OWL-S formatted file, to guarantee the normal execution of Service Matching process;In RCT model In, user demand, i.e. RCT demand nodes are indicated using ellipse, indicate the subtask Web using hexagon, hexagon node is left The pound sign of top indicates the serial number of the subtask Web, indicates service using circle, rectangle is used to indicate information resources;
Since OWL-S is the language that designs for description Web service, suitable for the demand for describe to service, therefore RCT node Demand is equally described using OWL-S, and the functional similarity measure of the 4th step is equally applicable to RCT node and clusters Cluster where the maximum cluster center service of function similarity, the service in the cluster is calculated in the similarity calculation of central server For the candidate service CandidateService that can meet active user's demand;
8th step, according to user request in QoS threshold candidate service collection CandidateServices is screened, The service for not meeting user's requirement is filtered out, service consumer specifies QoS threshold in service request, indicates that refusal QoS is lower than Or the Web service higher than the threshold value;
Non-functional is described QoS and is added in Web service description by the OWL-S extension based on ontology;
OWL-S full name is Ontology Web Language for Services, it is the Web service sheet based on OWL Body description language describes mechanism using a whole set of to carry out semantic description to Web service, and the description file generated can be by Computer understanding is simultaneously handled;
OWL-S includes three basic modules:
(1) Service Profile describes what service does, and essential attribute includes service name (serviceName), text This description (textDescription) etc.;Functional attributes then include input information (hasInput), output information (hasOutput), four parts of precondition (hasPrecondition) and desired effect (hasEffect);
(2) how Service Model description service works, each service is regarded as a process by OWL-S (Process), and three classes are classified as: atom process (Atomic Process), simple procedure (Simple Process) and Anabolic process (Composite Process);Atom process does not have subprocess, can call directly;Simple procedure cannot be direct It calls, also without corresponding Service Grounding supporting paper;Anabolic process passes through certain control by multiple subprocess Structure is composed, and in OWL-S, each process body can carry out semantic description by IOPE;
(3) recalls information of Service Grounding description service, OWL-S is using WSDL as Service The basis of Grounding mechanism defines specific message format, and input information, output information, address of service are encapsulated;
Based on web service description language OWL-S, constructs the OWL-S based on ontology and extend semantic service descriptive model;
Indicate that semantic service is described using four-tuple: WS=<N, D, I, O>, in which:
N represents the title Name of service, and the text that D represents service describes Description, and the two constitutes the basic of service Attribute;
The functional attributes of service include I and O, respectively indicate input (Input) and output (Output) interface of service WS The attribute of parameter, each interface are one group of parameter sets, I={ i1,…,im, element i1,…,imIt represents in domain body and takes Semantic concept corresponding to the input parameter of business WS;O is the output set of service, O={ o1,…,on, element o1,…,onGeneration Semantic concept corresponding to the output parameter of WS is serviced in table domain body;
It include title using one group of service parameter (ServiceParameter) in OWL-S Service Profile (serviceParameterName) and parameter value (sParameter), after OWL-S with QoS ontology is connected, QoSProperty As the subclass of OWL-S ServiceParameter, qosPropertyName and qProperty are respectively OWL-S The sub- attribute of serviceParameterName and sParameter attribute;
Each QoS attribute QoSProperty is by the title qosPropertyName of character string forms and one group of feature QoSCharacterisitic is described as follows come what is defined:
Value: representing the value of QoS attribute, and for ISP, it represents a kind of QoS attribute of service provided;But For service consumer, it indicates the threshold value of QoS attribute;
Type: this feature is for distinguishing two kinds of QoS:
Income type benefit, in this case, the QoS attribute value that user specifies indicate the minimum value to be considered;
Cost type cost, in this case, the QoS attribute value that user specifies indicate the maximum value to be considered;
The linear module of Unit:QoS attribute;
Weight:QoS weight, for specifying the importance of QoS attribute;
Confidence: indicate user to the confidence level of its preference;
9th step, to carrying out by the filtered candidate service collection CandidateServices of the 8th step, service is comprehensive to be commented Point and ranking, score it is highest service be exactly optimal service;But before the service of progress scoring, need first to determine user QoS weight carries out consistency checking, if resulting consistency ratio CR less than 0.1, carries out scoring and ranking step, otherwise instead Feedback QoS weight need user's revised as a result, calculate terminate.
Further, in the first step, the step of semantic similarity in calculating field ontology between two concepts A and B It is as follows:
Step (1.1) is if concept A and B are identical or they are declared as equivalent classes, concept The similarity Sim of A, BconceptIt is 1, otherwise carries out step (1.2);
Step (1.2) is if concept A is directly or indirectly a subclass of concept B, the similarity Sim of concept A, Bconcept Calculation formula is as follows:
Wherein prop (A) and prop (B) respectively indicate the attribute of concept A Yu concept B Set, the attribute number that Size (prop (B)) and Size (prop (A)) respectively indicate concept B and concept A, otherwise carries out step (1.3)
Step (1.3) is if concept B is directly or indirectly a subclass of concept A, the similarity Sim of concept A, Bconcept Calculation formula is as follows:
Otherwise step (1.4) are carried out;
Step (1.4) if concept A and concept B do not have a set membership, but two concepts directly or indirectly have one it is common Parent concept C then uses the semanteme of word method for measuring similarity based on model-naive Bayesian, first respectively notion of traversal A With each attribute of concept B, feature extraction is carried out by Property Name of the ComputeFeature function to concept A and concept B, Then using the conditional probability distribution column and Dynamic gene after sample training, the similarity Sim between concept attribute is calculatedword, According to the similarity Sim between concept attributewordCompared with similar judgement factor η, judge whether two attributes are same category Property is simultaneously counted, and concept A, the similarity Sim of B are finally calculatedconcept
Step (1.5) is not if the relationship of concept A and concept B are met in the above case said, the similarity of concept A, B SimconceptIt is set as 0.
Further, the process of the step (1.4) is as follows:
Step (1.4.1) set variable i indicate identical with attribute in the concept B number juxtaposition initial value of concept A as 0, progress Step (1.4.2);
Step (1.4.2) if concept A attribute set prop (A) traverse complete, carry out step (1.4.7), otherwise from Prop (A) takes out next prop (A)jAnd remove it from prop (A), it carries out step (1.4.3);
Step (1.4.3) if concept B attribute set prop (B) traverse complete, return step (1.4.2), otherwise from Prop (B) takes out next prop (B)kAnd remove it from prop (B), it carries out step (1.4.4);
Step (1.4.4) is based on model-naive Bayesian and passes through ComputeFeature in conjunction with WorkNet English dictionary Function is to prop (A)jWith prop (B)kProperty Name carry out feature extraction and then obtain L (prop (A)j,prop(B)k) and D (prop(A)j,prop(B)k), process is as follows:
The semanteme of word for calculating each Property Name, since each word is corresponding one or more semantic, then each list Word to also just corresponding one or more semantic right, will with word to corresponding all semanteme centerings apart from shortest semantic node away from It adjusts the distance L (prop (A) from the word is defined asj,prop(B)k), and by semantic node apart from shortest semantic to depth definition It is word to depth D (prop (A)j,prop(B)k), it is known that Property Name prop (A)jIt is present in semantic node vj1,vj2..., vjnSynonymous phrase in, Property Name prop (B)kIt is present in semantic node vk1,vk2... vkmSynonymous phrase in, then prop (A)jWith prop (B)kDistance calculation formula and depth calculation formula it is as follows:
Wherein L (vja,vkb) indicate semantic node vjaWith semantic node vkbDistance, D (vja,vkb) indicate semanteme to (vja, vkb) depth;
Further, mean function LW (i) and DW (o) are generated according to the training set of model-naive Bayesian, recycles mean value Function LW (i) and DW (o) design conditions probability distribution column P (L (prop (A)j,prop(B)k) | C) and P (D (prop (A)j,prop (B)k) | C), wherein C is token-category classification, and codomain is { U, N }, and wherein U represents " consistent ", and N represents " inconsistent ", finally Dynamic gene α and β are calculated, calculation formula is as follows:
It is transferred to step (1.4.5) later;
Step (1.4.5) is based on model-naive Bayesian, by the feature L (prop (A) of Ontological concept attributej,prop(B)k) With D (prop (A)j,prop(B)k) be injected into the resulting conditional probability distribution column of step (1.4.4), and successively extraction conditions are general Rate V1=P (L (prop (A)j,prop(B)k)=i | C=U), V2=P (D (prop (A)j,prop(B)k)=o | C=U),
V3=P (L (prop (A)j,prop(B)k)=i | C=N) and V4=P (D (prop (A)j,prop(B)k)=o | C= N), the Dynamic gene α and β in step (1.4.4) is finally combined to calculate prop (A)jWith prop (B)kBetween similarity Simword, calculation formula is as follows:
Simword(prop(A)j,prop(B)k)=(α V1×V2)/(αV1×V2+βV3×V4), it carries out step (1.4.6);
Step (1.4.6) is if SimwordMore than or equal to similar judgement factor η, then prop (A)jWith prop (B)kIt is same Variable i is simultaneously added 1 by attribute, return step (1.4.2), otherwise return step (1.4.3);
Step (1.4.7) calculates concept A, the similarity Sim of Bconcept, calculation formula is as follows:
Wherein i indicates that concept A is identical as attribute in concept B Number, prop (A) and prop (B) respectively indicate the attribute set of concept A Yu concept B, Size (prop (B)) and Size (prop (A)) respectively indicates the attribute number of concept B and concept A, carries out step (1.5).
Further, in the second step, S is serviced1With service S2Input similarity SiminputCalculation method process It is as follows:
Step (2.1) creation import of services parameter similarity maximum matching number group InSim is simultaneously initialized, and carries out step (2.2);
Step (2.2) will service S1Input number of parameters subtract service S2Input number of parameters to obtain number of parameters poor Value d is carried out step (2.3);
Step (2.3) will service S if d is less than or equal to 01It is set as Sshort, service S2It is set as Slong, otherwise will service S2 It is set as Sshort, service S1It is set as Slong, carry out step (2.4);
Step (2.4) traverses SlongIn input parameter, if traversal complete, step (2.8) are carried out, otherwise from SlongIn Take out next input parameter longi, carry out step (2.5);
Step (2.5) traverses SshortIn input parameter, if traversal complete, return step (2.4), otherwise from Sshort It is middle to take out next input parameter shortj, carry out step (2.6);
Step (2.6) is according to the concept similarity calculation method calculating parameter long of the first stepiWith parameter shortjIt is similar Spend Simij, carry out step (2.7);
Step (2.7) is by SimijIt is compared with InSim [i], if SimijGreater than InSim [i], then by InSim's [i] Value is set as SimijValue, otherwise InSim [i] value be initial value, return step (2.5);
Step (2.8) calculates service S1With service S2Input similarity Siminput, calculation formula is as follows:
Wherein Size (Slong.Input) with Size (Sshort.Input service S) is respectively indicatedlongInput number of parameters With service SshortInput number of parameters, | d | indicate two service input number of parameters differences, InSim be input parameter Similarity maximum matching number group.
In the third step, S is serviced1With service S2Export similarity SimoutputCalculation method process it is as follows:
Step (3.1) creation service output parameter similarity maximum matching number group OutSim is simultaneously initialized, and carries out step (3.2);
Step (3.2) will service S1Output parameter quantity subtract service S2Output parameter quantity to obtain number of parameters poor Value d is carried out step (3.3);
Step (3.3) will service S if d is less than or equal to 01It is set as Sshort, service S2It is set as Slong, otherwise will service S2 It is set as Sshort, service S1It is set as Slong, carry out step (3.4);
Step (3.4) traverses SlongIn output parameter, if traversal complete, step (3.8) are carried out, otherwise from SlongIn Take out next output parameter longi, carry out step (3.5);
Step (3.5) traverses SshortIn output parameter, if traversal complete, return step (3.4), otherwise from Sshort It is middle to take out next output parameter shortj, carry out step (3.6);
Step (3.6) is according to the concept similarity calculation method calculating parameter long of the first stepiWith parameter shortjIt is similar Spend Simij, carry out step (3.7);
Step (3.7) is by SimijIt is compared with OutSim [i], if SimijGreater than OutSim [i], then by OutSim [i] Value be set as SimijValue, otherwise OutSim [i] value be initial value, return step (3.5);
Step (3.8) calculates service S1With service S2Export similarity SimOutput, calculation formula is as follows:
Wherein Size (Slong.Output) with Size (Sshort.Output service S) is respectively indicatedlongOutput parameter number With service SshortOutput parameter number, | d | indicate that the output parameter number differences of two services, OutSim are output parameter Similarity maximum matching number group.
In 5th step, the process for servicing clustering algorithm is as follows:
Step (5.1) initializes non-access-sample collection and is combined into original sample collection T, and gathering closes C and is divided into empty set, carries out step (5.2);
Step (5.2) traverses original sample collection T, if traversal is completed, terminates, next service S is otherwise taken out from Ti And remove it from T, it carries out step (5.3);
The service function similarity measurement mode that step (5.3) combines step 4 to define finds service SiEps neighborhood;
Step (5.4) creates new clustering cluster CkIf SiEps neighborhood sample number be no less than MinPts, then by SiIt is added to this In cluster, carry out step (5.5), otherwise return step (5.2);
Step (5.5) traverse service SiNeighbourhood set NEps(Si), if traversal is completed, step (5.13) are carried out, otherwise Take out set NEps(Si) in next service S 'k, carry out step (5.6);
Step (5.6) creation service S 'kNeighbourhood set NEps(S’k), it carries out step (5.7);
Step (5.7) is if original sample collection T includes service S 'k, then S ' will be servicedkIt removes, carries out step (5.8) from T, Otherwise return step (5.5);
Step (5.8) traverses original sample collection T, if traversal is completed, carries out step (5.11), otherwise under taking out in T One service S 'l, carry out step (5.9);
The service function similarity measurement mode that step (5.9) is defined using step 4 services S ' to calculatekWith service S 'l Function similarity FunctionalSim (S 'k,S’l), it carries out step (5.10)
Step (5.10) is if service S 'kWith service S 'lFunction similarity FunctionalSim (S 'k,S’l) be less than or wait In search radius Eps, then S ' will be servicedlService S ' is addedkNeighbourhood set NEps(S’k), return step (5.8), otherwise directly Return step (5.8);
Step (5.11) is if service S 'kEps neighborhood sample number be no less than MinPts, then by the neighborhood service be added To service SiEps Neighbourhood set NEps(Si), it carries out step (5.12), otherwise return step (5.5);
Step (5.12) does not include in C if gathering is closed containing service S 'kClustering cluster, then will service S 'kStep is added (5.4) the clustering cluster C createdk, return step (5.5), otherwise direct return step (5.5);
Step (5.13) is by clustering cluster CkGathering is added and closes C, return step (5.2).
In the step (5.3), the searching services SiEps neighborhood the step of it is as follows:
Step (5.3.1) creation service SiNeighbourhood set NEps(Si), it carries out step (5.3.2);
Step (5.3.2) traverses original sample collection T, if traversal is completed, carries out step (5.4), otherwise under taking out in T One service Sj, carry out step (5.3.3);
The function similarity that step (5.3.3) is defined using step 4 services S to calculateiWith service SjFunction similarity FunctionalSim(Si,Sj), it carries out step (5.3.4);
Step (5.3.4) is if service SiWith service SjFunction similarity FunctionalSim (Si,Sj) be less than or equal to Search radius Eps will then service SjService S is addediNeighbourhood set NEps(Si), return step (5.3.2) otherwise directly returns Step (5.3.2).
In 6th step, the calculating process for the center service that clusters is as follows:
Step (6.1) creates list Scenter, the center service that respectively clusters is recorded, is carried out step (6.2);
Step (6.2) traverses the gathering that the 5th step is created and closes C, if traversal is completed, terminates, and otherwise closes C from gathering and takes Next clustering cluster C outk, carry out step (6.3);
Step (6.3) creates variable In.num and Out.num to clustering cluster CkAll input parameters and output parameter into Row statistics, and the initial value of two variables is set as 0, create the center service S that clusterskcenter, carry out step (6.4);
Step (6.4) traverses clustering cluster CkEach of service, if traversal complete, carry out step (6.6), otherwise take Next service S outk, carry out step (6.5);
Step (6.5) statistical fractals SkInput number of parameters Sk.Innum with output parameter number Sk.outnum, and divide It is not added in In.num and Out.num, return step (6.4);
Step (6.6) traverses clustering cluster CkEach of service, if traversal complete, by SkcenterList S is addedcenter And return step (6.2), otherwise take out next service Sk, carry out step (6.7);
Step (6.7) calculates service SkEach input parameter account for the ratio p1 of In.num, if p1 is greater than given threshold valueThen Think input parameter importance with higher in current cluster, and adds it to the input parameter for the center service that clusters List Skcenter.Input, step (6.8) are carried out;
Step (6.8) calculates service SkEach output parameter account for the ratio p2 of Out.num, if p2 is greater than given threshold valueThen Think output parameter importance with higher in current cluster, and adds it to the output parameter for the center service that clusters List Skcenter.Output, return step (6.6).
In 8th step, the step of service filtering methods based on QoS threshold, is as follows:
Step (8.1) traverses the service in candidate service collection CandidateServices, if traversal is completed, terminates, no Next service S is then taken out from candidate service collection CandidateServicesc, carry out step (8.2);
Step (8.2) traverse service ScIn QoS attribute, if traversal complete, return step (8.1), otherwise from service Sc It is middle to take out next QoS attribute QoSProperty, it carries out step (8.3);
Step (8.3) is walked if comprising QoSProperty in the QoS constraint QoSConstraints that user specifies Suddenly (8.4), otherwise return step (8.2);
Step (8.4) judges QoS constraint QoSConstraints to the confidence level coefficient Confidence of QoSProperty Whether be not 0, confidence level coefficient indicate user to the confidence level of specified threshold consValue, the value of this coefficient should [0, 1] in range, 1 expression filter algorithm must strictly observe specified threshold value;0, which represents filter algorithm, must ignore this threshold value, if Confidence is not 0, then carries out step (8.5), otherwise return step (8.2);
Step (8.5) is if the type Type of QoSProperty belongs to the attribute of income type benefit and QoSProperty Value Value is less than the product of Confidence and consValue, then step (8.6) is carried out, if otherwise Type belongs to cost type The attribute value Value of cost and QoSProperty are greater than consValue divided by Confidence's as a result, also carrying out step (8.6), otherwise return step (8.2);
Step (8.6) will service ScIt filters and removes from candidate service collection CandidateServices, return step (8.2)。
The step of nine step, is as follows:
Step (9.1) carries out weight calculation to QoS attribute set by user, here in conjunction with the mechanism of analytic hierarchy process AHP, Construct a judgment matrix compared in pairs, wherein each element by predefined score (from 1 to 9) to other each elements into Row scoring, indicates their relative importance;The Scale Method of the 1-9 meets mental habit when people judge, table 1 is given Go out corresponding absolute number scale:
Table 1
The step of QoS attribute weight calculates is as follows:
Step (9.1.1) determines AHP method index to be used, carries out step (9.1.2);
Step (9.1.2) establishes the n rank pairwise comparison matrix A [n] [n] based on user preference, carries out step (9.1.3);
Step (9.1.3) calculates the weights of importance of each QoS attribute based on pairwise comparison matrix A, specifically calculates step It is as follows:
Step (9.1.3.1) establishes the vector W [n] and interim vector M [n] for recording the weights of importance of each QoS attribute With provisional matrix P [n] [n], carry out step (9.1.3.2);
Step (9.1.3.2) sets up temporary variable j, and sets initial value 0, carries out step (9.1.3.3);
Step (9.1.3.3) otherwise carries out step (9.1.3.5) if j is less than n and carries out step (9.1.3.4);
Step (9.1.3.4) is by the sum of matrix A jth column and is assigned to M [j], then adds 1 value to be assigned to j, return step j (9.1.3.3);
Step (9.1.3.5) sets up temporary variable k, l, and sets initial value 0, carries out step (9.1.3.6);
Step (9.1.3.6) carries out step (9.1.3.7) if k is less than n, otherwise carries out step (9.1.3.9);
Step (9.1.3.7) carries out step (9.1.3.8) if l is less than n, otherwise adds 1 value to be assigned to k k, returns to step Suddenly (9.1.3.6);
A [l] [k] is assigned to P [l] [k] divided by M [k] resulting value by step (9.1.3.8), then adds 1 value to be assigned to l l, Return step (9.1.3.7);
Step (9.1.3.9) sets up temporary variable m, and sets initial value 0, carries out step (9.1.3.10);
Step (9.1.3.10) carries out step (9.1.3.11) if m is less than n, otherwise carries out step (9.1.3.12);
The sum of the m row of matrix P is assigned to W [m] by step (9.1.3.11), then adds 1 value to be assigned to m, return step m (9.1.3.10);
Step (9.1.3.12) sets up temporary variable i, and sets initial value 0, carries out step (9.1.3.13);
Step (9.1.3.13) carries out step (5.3.14) if i is less than n, and otherwise calculating terminates;
W [i] is assigned to W [i] divided by the resulting value of n by step (9.1.3.14) again again, then adds 1 value to be assigned to i i, is returned It returns step (9.1.3.13);
The pairwise comparison matrix A and the resulting weight vectors W of step (9.1) that step (9.2) is constructed according to step (9.1) are tested The consistency for demonstrate,proving user's judgement, in AHP method, if corresponding consistency ratio CR is less than 0.1, then it is assumed that user judges tool There is satisfied consistency, otherwise subjectivity is needed to be modified, until meeting coherence request, CR need to be by CI value divided by mean random Coincident indicator RI is obtained, and calculates that steps are as follows:
Step (9.2.1) establishes interim vector M [n] and provisional matrix P [n] [n], and setting up variable CI indicates that consistency refers to Number, λmaxIt indicates the maximum element of vector M intermediate value, carries out step (9.2.2);
Step (9.2.2) sets up temporary variable i, j, and sets initial value 0, carries out step (9.2.3);
Step (9.2.3) carries out step (9.2.4) if j is less than n, otherwise carries out step (9.2.6);
Step (9.2.4) carries out step (9.2.5), otherwise adds 1 value to be assigned to i i, return again to step if i is less than n (9.2.3);
A [i] [j] is assigned to P [i] [j] multiplied by W [j] resulting value by step (9.2.5), then adds 1 value to be assigned to j j, is returned It returns step (9.2.4);
Step (9.2.6) sets up temporary variable k, and sets initial value 0, carries out step (9.2.7);
Step (9.2.7) carries out step (9.2.8) if k is less than n, otherwise carries out step (9.2.9);
The sum of the row k of matrix P is assigned to M [k] by step (9.2.8), then adds 1 value to be assigned to k, return step k (9.2.7);
Step (9.2.9) sets up temporary variable l, and sets initial value 0, carries out step (9.2.10);
Step (9.2.10) carries out step (9.2.11) if l is less than n, otherwise carries out step (9.2.12);
M [l] is assigned to M [l] by step (9.2.11) divided by W [l] resulting value, then adds 1 value to be assigned to l, return step l (9.2.10);
The maximum element of vector M intermediate value is assigned to λ by step (9.2.12)max, carry out step (9.2.13);
Step (9.2.13) is according to formula CI=(λmax- n)/(n-1) calculate coincident indicator, carry out step (9.2.14);
CI value is obtained consistency ratio CR divided by corresponding Aver-age Random Consistency Index RI by step (9.2.14), if CR is less than 0.1, then it is assumed that user's judgement has satisfied consistency, otherwise it is assumed that user's judgement does not have satisfied consistency;
The comprehensive score and ranking that step (9.3) is serviced, steps are as follows:
If step (9.2) final result thinks user, judgement has satisfied consistency to step (9.3.1), carries out step (9.3.2), otherwise feed back QoS weight need user's revised as a result, calculate terminate;
Step (9.3.2) establishes the vector compScore [Services.size] of service comprehensive score, QoS scores vector The QoSMtx matrix of qosScore [Services.size] and record standard qos value, wherein Services.size is indicated The quantity of service of candidate service collection, the row in QoSMtx indicate candidate Web service, and column indicate QoS attribute, carry out step (9.3.3);
Step (9.3.3) traverses candidate service collection CandidateServices, if traversal is completed, carries out step (9.3.8) otherwise takes out next service S of candidate service collection CandidateServicesi, carry out step (9.3.4);
Step (9.3.4) traverse service SiIn QoS attribute set Si.qosProperties, if traversal is completed, into Row step (9.3.7), otherwise from Si.qosProperties next attribute S is taken out ini.Pj, carry out step (9.3.5);
Step (9.3.5) needs to normalize qos value since the measurement section of each QoS attribute value is different, so that Value range is between 0 to 1, to ensure that each QoS attribute is assessed using identical span, it is therefore desirable to calculate QoS attribute Si.PjNormalized value nv (pij), and this value is assigned to QoSMtx [i] [j], steps are as follows for specific calculating:
Step (9.3.5.1) is if attribute Si.PjWhen for income type attribute, carry out step (9.3.5.2), if attribute Si.PjFor When cost type attribute, then step (9.3.5.3) is carried out;
Step (9.3.5.2) nv (pij) calculation formula it is as follows:
Wherein, v (pij) indicate service SiIn attribute Si.PjOriginal value, v (pj)maxIndicate candidate service collection In each service of CandidateServices with Si.PjBelong to the maximum value of same attribute, v (pj)minIndicate candidate service collection In each service of CandidateServices with Si.PjBelong to the minimum value of same attribute, carries out step (9.3.6);
Step (9.3.5.3) nv (pij) calculation formula it is as follows:
Step (9.3.6) is if attribute Si.PjMeet user-defined QoS constraint QoSConstraints, then computation attribute Si.PjQoS score, qosScore [i] carries out cumulative record to QoS score again, and the calculation formula of whole process is as follows:
QosScore [i] +=(QoSMtx [i] [j] × QoSConstraint [j] .Weight)
Wherein, QoSConstraint [j] .Weight indicates user to attribute Si.PjThe weight of definition, return step (9.3.4), otherwise direct return step (9.3.4);
Step (9.3.7) combines the functional similarity calculation method of the 4th step to find out current RCT node demand SRCTWith service SiFunctional similarity FunctionalSim (Si,SRCT), in conjunction with the resulting QoS score qosScore [i] of step (9.3.6) To service SiComprehensive score is weighted, and final result is assigned to compScore [i], and calculation formula is as follows:
CompScore [i]=w1*FunctionalSim (Si,SRCT)+w2*qosScore[i]
Wherein w1, w2 simultaneously respectively indicate function similarity weight and QoS scoring weight, return step (9.3.3);
Step (9.3.8) carries out ranking to the service for completing comprehensive score, returns to the highest service of score, i.e., best clothes Business.
The invention has the advantages that being clustered using improved DBSCAN algorithm to service, and in cluster process The distance between sample is calculated in conjunction with the function similarity between service, then on the basis of servicing cluster, is carried out based on RCT mould The service dynamic matching method of type, including service filtering, the algorithm for servicing comprehensive score and ranking execute.Server program is final The optimal service for meeting user demand can thus be selected.
Detailed description of the invention
Fig. 1 shows dynamic service evolving procedure chart.
Fig. 2 shows RCT illustratons of model.
Fig. 3 shows the OWL-S expander graphs for supporting QoS.
Specific embodiment
The invention will be further described below in conjunction with the accompanying drawings.
Referring to Fig.1, a kind of Web service dynamic evolution method that Demand-Oriented is adaptive, to the dynamic service evolving side The main flow of method is described, and description content is as follows:
In system initialisation phase, service system can be clustered the Web service in warehouse to reduce the search of service Space (1. step, corresponds to the summary of the invention first step to the 6th step).The context of building Users ' Need-oriented in advance is needed simultaneously It perceives Web task (RCT) model (step is 2.).
After the completion of initial work, when user, which sends, to be requested, system can be matched to corresponding in RCT model according to request RCT demand nodes, the demand nodes are connected by a series of subtasks Web node by certain structure.System is by the demand section Point, which sets out, reads each subtask Web node according to the flowage structure of definition.When often navigating to a node, the node is read OWL-S description information meets the service of node demand with matching to execute.Needing to calculate separately RCT node in matching process needs The function similarity that description is asked between the center service description that each clusters, and then obtain genuinely convinced in the maximum cluster of function similarity Cluster where business (3. step, corresponds to the 7th step of summary of the invention).Then according to user request in QoS threshold service is sieved The service for not meeting user's requirement that filters is crossed in choosing (4. step, corresponds to the 8th step of summary of the invention).Finally to candidate service according to The comprehensive score of QoS attribute ratings and function similarity composition carries out ranking, and returning to the highest service of score, (step is 5., right Answer the 9th step of summary of the invention), i.e. optimal service.
RCT model in the foregoing description is the present invention to the extension of iStar frame and redefines, and supports constantly to develop User demand and the interactive specification with related context of Web.Wherein iStar frame is taught by University of Toronto Eric YU Et al. put forward it is a kind of understood according to tactful dependence and its principle and redesign business procession towards mesh Target Requirements Modeling method, iStar frame rely in model in strategy and define four kinds of dependences, are respectively: target-dependent, Indicate that a role relies on another role to complete some target;Resource Dependence indicates that a role relies on another angle Color provides physical resource and information for it;Task relies on, and indicates that a role relies on another role to complete some task;It is non- The related soft object of functional requirement relies on, and is similar to target-dependent.Particularly, the present invention extend the role of iStar, target, The atomic concepts of task and resource, with support mapping relations between user demand, Web task, service and service sequences and Associated description specification, RCT model will be instantiated with OWL-S formatted file, to guarantee normally holding for Service Matching process Row.Fig. 2 is the RCT illustraton of model that the present invention provides, and oval node indicates user demand (RCT demand nodes), hexagon node Indicate the subtask Web, the upper left pound sign of hexagon node indicates that the subtask Web serial number, circle indicate service, and rectangle indicates letter It ceases resource (order information under such as hotel reservation scene).
Specific introduction is done to dynamic service evolving method of the present invention below, steps are as follows:
Semantic similarity in the first step, calculating field ontology between two concepts A and B, detailed process is as follows:
Functional similarity measurement considers the domain body concept output and input between service, the matching between input (output) Refer mainly to the matching of concept relevant to input (output).In order to calculate the similitude of two concepts A and B, need to consider field Relationship in ontology between two concepts.
Domain body is a kind of special ontology for describing designated field knowledge, and " field " here is according to ontological construction person Demand come what is established, it can be an ambit, can be a kind of combination in certain several field, be also possible to one neck A small range in domain.If two concepts have different names but possess identical individual collections in domain body, then it Be referred to as equivalence class (equivalent classes).
Step (1.1) is if concept A and B are identical or they are declared as equivalent classes, concept The similarity Sim of A, BconceptIt is 1, otherwise carries out step (1.2);
Step (1.2) is if concept A is directly or indirectly a subclass of concept B, the similarity Sim of concept A, Bconcept Calculation formula is as follows:
Wherein prop (A) and prop (B) respectively indicate the attribute of concept A Yu concept B Set, the attribute number that Size (prop (B)) and Size (prop (A)) respectively indicate concept B and concept A, otherwise carries out step (1.3)
Step (1.3) is if concept B is directly or indirectly a subclass of concept A, the similarity Sim of concept A, Bconcept Calculation formula is as follows:
Otherwise step (1.4) are carried out;
Step (1.4) if concept A and concept B do not have a set membership, but two concepts directly or indirectly have one it is common Parent concept C then uses the semanteme of word method for measuring similarity based on model-naive Bayesian, first respectively notion of traversal A With each attribute of concept B, feature extraction is carried out by Property Name of the ComputeFeature function to concept A and concept B, Then using the conditional probability distribution column and Dynamic gene after sample training, the similarity Sim between concept attribute is calculatedword, According to the similarity Sim between concept attributewordCompared with similar judgement factor η, judge whether two attributes are same category Property is simultaneously counted, and concept A, the similarity Sim of B are finally calculatedconcept, steps are as follows:
Step (1.4.1) set variable i indicate identical with attribute in the concept B number juxtaposition initial value of concept A as 0, progress Step (1.4.2);
Step (1.4.2) if concept A attribute set prop (A) traverse complete, carry out step (1.4.7), otherwise from Prop (A) takes out next prop (A)jAnd remove it from prop (A), it carries out step (1.4.3);
Step (1.4.3) if concept B attribute set prop (B) traverse complete, return step (1.4.2), otherwise from Prop (B) takes out next prop (B)kAnd remove it from prop (B), it carries out step (1.4.4);
Step (1.4.4) is based on model-naive Bayesian and passes through ComputeFeature in conjunction with WorkNet English dictionary Function is to prop (A)jWith prop (B)kProperty Name carry out feature extraction and then obtain L (prop (A)j,prop(B)k) and D (prop(A)j,prop(B)k).Wherein model-naive Bayesian is one of most commonly used two kinds of disaggregated models, WorkNet be by The English dictionary that Princeton University cognitive science laboratory is established and safeguarded under the guidance of psychology professor's Miller.Specific meter Calculation process is as follows:
The semanteme of word for calculating each Property Name, since each word is corresponding one or more semantic, then each list Word is to also just corresponding one or more semantic right.Will with word to corresponding all semantic centerings apart from shortest semantic node away from It adjusts the distance L (prop (A) from the word is defined asj,prop(B)k), and by semantic node apart from shortest semantic to depth definition It is word to depth D (prop (A)j,prop(B)k), it is known that Property Name prop (A)jIt is present in semantic node vj1,vj2..., vjnSynonymous phrase in, Property Name prop (B)kIt is present in semantic node vk1,vk2... vkmSynonymous phrase in, then prop (A)jWith prop (B)kDistance calculation formula and depth calculation formula it is as follows:
Wherein L (vja,vkb) indicate semantic node vjaWith semantic node vkbDistance, D (vja,vkb) indicate semanteme to (vja, vkb) depth.
Further, mean function LW (i) and DW (o) are generated according to the training set of model-naive Bayesian, recycles mean value Function LW (i) and DW (o) design conditions probability distribution column P (L (prop (A)j,prop(B)k) | C) and P (D (prop (A)j,prop (B)k) | C), wherein C is token-category classification, and codomain is { U, N }, and wherein U represents " consistent ", and N represents " inconsistent ".Finally Dynamic gene α and β are calculated, calculation formula is as follows:
It is transferred to step (1.4.5) later;
Step (1.4.5) is based on model-naive Bayesian, by the feature L (prop (A) of Ontological concept attributej,prop(B)k) With D (prop (A)j,prop(B)k) be injected into the resulting conditional probability distribution column of step (1.4.4), and successively extraction conditions are general Rate V1=P (L (prop (A)j,prop(B)k)=i | C=U), V2=P (D (prop (A)j,prop(B)k)=o | C=U), V3=P (L(prop(A)j,prop(B)k)=i | C=N) and V4=P (D (prop (A)j,prop(B)k)=o | C=N).Finally combine step Suddenly the Dynamic gene α and β in (1.4.4) calculates prop (A)jWith prop (B)kBetween similarity Simword, calculation formula is such as Under:
Simword(prop(A)j,prop(B)k)=(α V1×V2)/(αV1×V2+βV3×V4), it carries out step (1.4.6);
Step (1.4.6) is if SimwordMore than or equal to similar judgement factor η, then prop (A)jWith prop (B)kIt is same Variable i is simultaneously added 1 by attribute, return step (1.4.2), otherwise return step (1.4.3);
Step (1.4.7) calculates concept A, the similarity Sim of Bconcept, calculation formula is as follows:
Wherein i indicates that concept A is identical as attribute in concept B Number, prop (A) and prop (B) respectively indicate the attribute set of concept A Yu concept B, Size (prop (B)) and Size (prop (A)) respectively indicates the attribute number of concept B and concept A, carries out step (1.5);
Step (1.5) is not if the relationship of concept A and concept B are met in the above case said, the similarity of concept A, B SimconceptIt is set as 0;
Second step, the concept similarity calculation method in conjunction with the first step provide service S1With service S2Input similarity SiminputCalculation method, detailed process is as follows:
Step (2.1) creation import of services parameter similarity maximum matching number group InSim is simultaneously initialized, and carries out step (2.2);
Step (2.2) will service S1Input number of parameters subtract service S2Input number of parameters to obtain number of parameters poor Value d is carried out step (2.3);
Step (2.3) will service S if d is less than or equal to 01It is set as Sshort, service S2It is set as Slong, otherwise will service S2 It is set as Sshort, service S1It is set as Slong, carry out step (2.4);
Step (2.4) traverses SlongIn input parameter, if traversal complete, step (2.8) are carried out, otherwise from SlongIn Take out next input parameter longi, carry out step (2.5);
Step (2.5) traverses SshortIn input parameter, if traversal complete, return step (2.4), otherwise from Sshort It is middle to take out next input parameter shortj, carry out step (2.6);
Step (2.6) is according to the concept similarity calculation method calculating parameter long of the first stepiWith parameter shortjIt is similar Spend Simij, carry out step (2.7);
Step (2.7) is by SimijIt is compared with InSim [i], if SimijGreater than InSim [i], then by InSim's [i] Value is set as SimijValue, otherwise InSim [i] value be initial value, return step (2.5);
Step (2.8) calculates service S1With service S2Input similarity Siminput, calculation formula is as follows:
Wherein Size (Slong.Input) with Size (Sshort.Input service S) is respectively indicatedlongInput number of parameters with Service SshortInput number of parameters, | d | indicate two service input number of parameters differences, InSim be input parameter phase Like degree maximum matching number group;
Third step, the concept similarity calculation method in conjunction with the first step provide service S1With service S2Export similarity SimoutputCalculation method, detailed process is as follows:
Step (3.1) creation service output parameter similarity maximum matching number group OutSim is simultaneously initialized, and carries out step (3.2);
Step (3.2) will service S1Output parameter quantity subtract service S2Output parameter quantity to obtain number of parameters poor Value d is carried out step (3.3);
Step (3.3) will service S if d is less than or equal to 01It is set as Sshort, service S2It is set as Slong, otherwise will service S2 It is set as Sshort, service S1It is set as Slong, carry out step (3.4);
Step (3.4) traverses SlongIn output parameter, if traversal complete, step (3.8) are carried out, otherwise from SlongIn Take out next output parameter longi, carry out step (3.5);
Step (3.5) traverses SshortIn output parameter, if traversal complete, return step (3.4), otherwise from Sshort It is middle to take out next output parameter shortj, carry out step (3.6);
Step (3.6) is according to the concept similarity calculation method calculating parameter long of the first stepiWith parameter shortjIt is similar Spend Simij, carry out step (3.7);
Step (3.7) is by SimijIt is compared with OutSim [i], if SimijGreater than OutSim [i], then by OutSim [i] Value be set as SimijValue, otherwise OutSim [i] value be initial value, return step (3.5);
Step (3.8) calculates service S1With service S2Export similarity SimOutput, calculation formula is as follows:
Wherein Size (Slong.Output) with Size (Sshort.Output service S) is respectively indicatedlongOutput parameter Number and service SshortOutput parameter number, | d | indicate two service output parameter number differences, OutSim is output parameter Similarity maximum matching number group;
4th step, the import of services similarity Sim acquired in conjunction with second step and third stepinputSimilarity is exported with service SimOutputCalculate service S1With service S2Functional similarity FunctionalSim (S1,S2), calculation formula is as follows:
FunctionalSim(S1,S2)=w1×Siminput+w2×SimOutput, wherein weight w1And w2It is between 0 and 1 Real number value and summation are 1.They indicate service consumer to the importance of input similitude and output similitude identification.Default In the case of, w1And w2It is disposed as 0.5.
5th step provides service clustering algorithm in conjunction with the service function similarity measurement mode of the 4th step, choosing any first A unappropriated kernel object is selected as seed, then looks for the reachable sample set of all density of the kernel object, is formed One clusters.It then continues to that another unappropriated kernel object is selected to look for the reachable sample set of density, obtains another It is a to cluster, it is finished until all kernel objects are assigned.Search radius Eps is by formula in the present inventionIt determines, Wherein n indicates the dimension size of service, i.e., the average properties number of all services, and k indicates to form the required minimum service that clusters Quantity, r indicate that the hypersphere radius surface being made of n dimension service, m are then the n dimension quantitys of service that this hypersphere includes;And minimum number It is heuristic that amount MinPts follows experience: MinPts=round (m/25), wherein round is bracket function, and m is in sample set Sample size.
Step (5.1) initializes non-access-sample collection and is combined into original sample collection T, and gathering closes C and is divided into empty set, carries out step (5.2);
Step (5.2) traverses original sample collection T, if traversal is completed, terminates, next service S is otherwise taken out from Ti And remove it from T, it carries out step (5.3);
The service function similarity measurement mode that step (5.3) combines step 4 to define finds service SiEps neighborhood;
Further, step (5.3) searching services SiEps neighborhood the step of it is as follows:
Step (5.3.1) creation service SiNeighbourhood set NEps(Si), it carries out step (5.3.2);
Step (5.3.2) traverses original sample collection T, if traversal is completed, carries out step (5.4), otherwise under taking out in T One service Sj, carry out step (5.3.3);
The function similarity that step (5.3.3) is defined using step 4 services S to calculateiWith service SjFunction similarity FunctionalSim(Si,Sj), it carries out step (5.3.4);
Step (5.3.4) is if service SiWith service SjFunction similarity FunctionalSim (Si,Sj) be less than or equal to Search radius Eps will then service SjService S is addediNeighbourhood set NEps(Si), return step (5.3.2) otherwise directly returns Step (5.3.2);
Step (5.4) creates new clustering cluster CkIf SiEps neighborhood sample number be no less than MinPts, then by SiIt is added to this In cluster, carry out step (5.5), otherwise return step (5.2);
Step (5.5) traverse service SiNeighbourhood set NEps(Si), if traversal is completed, step (5.13) are carried out, otherwise Take out set NEps(Si) in next service S 'k, carry out step (5.6);
Step (5.6) creation service S 'kNeighbourhood set NEps(S’k), it carries out step (5.7);
Step (5.7) is if original sample collection T includes service S 'k, then S ' will be servicedkIt removes, carries out step (5.8) from T, Otherwise return step (5.5);
Step (5.8) traverses original sample collection T, if traversal is completed, carries out step (5.11), otherwise under taking out in T One service S 'l, carry out step (5.9);
The service function similarity measurement mode that step (5.9) is defined using step 4 services S ' to calculatekWith service S 'l Function similarity FunctionalSim (S 'k,S’l), it carries out step (5.10)
Step (5.10) is if service S 'kWith service S 'lFunction similarity FunctionalSim (S 'k,S’l) be less than or wait In search radius Eps, then S ' will be servicedlService S ' is addedkNeighbourhood set NEps(S’k), return step (5.8), otherwise directly Return step (5.8);
Step (5.11) is if service S 'kEps neighborhood sample number be no less than MinPts, then by the neighborhood service be added To service SiEps Neighbourhood set NEps(Si), it carries out step (5.12), otherwise return step (5.5);
Step (5.12) does not include in C if gathering is closed containing service S 'kClustering cluster, then will service S 'kStep is added (5.4) the clustering cluster C createdk, return step (5.5), otherwise direct return step (5.5);
Step (5.13) is by clustering cluster CkGathering is added and closes C, return step (5.2);
6th step, according to the cluster result of the 5th step, obtain each center service to cluster.The center service that clusters being capable of generation The characteristic feature of cluster service where table, in general, its not specific existing service passes through certain algorithm construction At Virtual Service.The specific calculating process for the center service that clusters is as follows:
Step (6.1) creates list Scenter, the center service that respectively clusters is recorded, is carried out step (6.2);
Step (6.2) traverses the gathering that the 5th step is created and closes C, if traversal is completed, terminates, and otherwise closes C from gathering and takes Next clustering cluster C outk, carry out step (6.3);
Step (6.3) creates variable In.num and Out.num to clustering cluster CkAll input parameters and output parameter into Row statistics, and the initial value of two variables is set as 0, create the center service S that clusterskcenter, carry out step (6.4);
Step (6.4) traverses clustering cluster CkEach of service, if traversal complete, carry out step (6.6), otherwise take Next service S outk, carry out step (6.5);
Step (6.5) statistical fractals SkInput number of parameters Sk.Innum with output parameter number Sk.outnum, and divide It is not added in In.num and Out.num, return step (6.4);
Step (6.6) traverses clustering cluster CkEach of service, if traversal complete, by SkcenterList S is addedcenter And return step (6.2), otherwise take out next service Sk, carry out step (6.7);
Step (6.7) calculates service SkEach input parameter account for the ratio p1 of In.num, if p1 is greater than given threshold valueThen Think input parameter importance with higher in current cluster, and adds it to the input parameter for the center service that clusters List Skcenter.Input, step (6.8) are carried out;
Step (6.8) calculates service SkEach output parameter account for the ratio p2 of Out.num, if p2 is greater than given threshold valueThen Think output parameter importance with higher in current cluster, and adds it to the output parameter for the center service that clusters List Skcenter.Output, return step (6.6);
7th step, the Service Matching process of system need to calculate separately RCT node requirement description and each cluster in it is genuinely convinced Function similarity between business (the 6th step obtains) description.Wherein RCT node is the component units of RCT model, can be described To complete Web service required for current Web subtask, and RCT model is then that the present invention teaches University of Toronto Eric YU Et al. the extension of iStar frame that proposes and redefine, iStar frame relies in strategy and defines four kinds of dependence passes in model System, be respectively: target-dependent indicates that a role relies on another role to complete some target;Resource Dependence indicates one A role relies on another role and provides physical resource and information for it;Task relies on, and indicates that a role relies on another angle Color completes some task;The related soft object of nonfunction requirement relies on, and is similar to target-dependent.Particularly, the present invention extends The role of iStar, target, task and resource atomic concepts, to support user demand, Web task, service and service sequence Mapping relations and associated description specification between column.RCT model will be instantiated with OWL-S formatted file, to guarantee to take The normal execution of business matching process.In RCT model, user demand (RCT demand nodes) are indicated using ellipse, use six sides Shape indicates the subtask Web, and the upper left pound sign of hexagon node indicates the serial number of the subtask Web, indicates service using circle, makes Information resources are indicated with rectangle.
Since OWL-S is the language that designs for description Web service, suitable for the demand for describe to service, therefore RCT node Demand is equally described using OWL-S, and the functional similarity measure of the 4th step is equally applicable to RCT node and clusters Cluster where the maximum cluster center service of function similarity, the service in the cluster is calculated in the similarity calculation of central server For the candidate service CandidateServices that can meet active user's demand, step is calculated because identical as the 4th step, here It is not repeated to describe.
8th step, according to user request in QoS threshold to candidate service collection CandidateServices (the 7th step institute ) screened, cross the service for filtering and not meeting user's requirement.Service consumer can specify QoS threshold in service request, Indicate that refusal QoS is below or above the Web service of the threshold value.
Before introducing based on the service filtering methods of QoS threshold, here first introduce proposed by the present invention based on ontology Non-functional description (QoS) is added in Web service description by OWL-S extension.
OWL-S (former DAML-S) full name is Ontology Web Language for Services, it is based on OWL The Web service ontology description language of (Web Ontology Language), using a whole set of describe mechanism come to Web service into Row semantic description, and the description file generated by computer understanding and can be handled.
OWL-S includes three basic modules:
(4) Service Profile describes what service does, and essential attribute includes service name (serviceName), text This description (textDescription) etc.;Functional attributes then include input information (hasInput), output information (hasOutput), four parts of precondition (hasPrecondition) and desired effect (hasEffect).
(5) how Service Model description service works, each service is regarded as a process by OWL-S (Process), and three classes are classified as: atom process (Atomic Process), simple procedure (Simple Process) and Anabolic process (Composite Process).Atom process does not have subprocess, can call directly;Simple procedure cannot be direct It calls, also without corresponding Grounding supporting paper;Anabolic process is combined by multiple subprocess by certain control structure It forms, in OWL-S, each process body can carry out semantic description by IOPE.
(6) recalls information of Service Grounding description service, OWL-S is using WSDL as Service The basis of Grounding mechanism defines specific message format, and the encapsulation such as input information, output information, address of service are risen Come.
Based on web service description language OWL-S, the present invention constructs semantic service descriptive model as follows.
The present invention indicates that semantic service is described using four-tuple: WS=<N, D, I, O>, in which:
N represents the title (Name) of service, and the text that D represents service describes (Description), and the two constitutes service Essential attribute;
The functional attributes of service include I and O, respectively indicate input (Input) and output (Output) interface of service WS The attribute of parameter, each interface are one group of parameter sets, I={ i1,…,im, element i1,…,imIt represents in domain body and takes Semantic concept corresponding to the input parameter of business WS;O is the output set of service, O={ o1,…,on, element o1,…,onGeneration Semantic concept corresponding to the output parameter of WS is serviced in table domain body.
Fig. 3 illustrates new Service Profile model.Dotted arrow (subClassOf) indicates subclass and father in figure The inheritance of class, solid arrow (hasProperty) indicates the membership of attribute, in OWL-S Service Profile In, present invention uses one group of service parameters (ServiceParameter), include title (serviceParameterName) With parameter value (sParameter), wherein the particular content , &xsd of Thing expression parameter value (sParameter);#string Indicate that type is the attribute , &process of character string type;#Input and &process;#Output respectively indicates the defeated of service Enter the information content and output information content.After OWL-S with QoS ontology is connected, QoSProperty becomes OWL-S The subclass of ServiceParameter, qosPropertyName and qProperty are respectively OWL-S The sub- attribute of serviceParameterName and sParameter attribute.
Each QoS attribute (QoSProperty) is special by the title (qosPropertyName) of character string forms and one group (QoSCharacterisitic) is levied come what is defined, is described as follows:
Value: the value of QoS attribute is represented.For ISP, it represents a kind of QoS attribute of service provided;But For service consumer, it indicates the threshold value of QoS attribute.
Type: this feature is for distinguishing two kinds of QoS:
Income type benefit (such as: reliability, quality are improved with the increase of attribute value).In this case, it uses The specified QoS attribute value in family indicates the minimum value to be considered.
Cost type cost (such as: response time, quality are reduced with the increase of attribute value).In this case, it uses The specified QoS attribute value in family indicates the maximum value to be considered.
The linear module (such as: member, second) of Unit:QoS attribute.
Weight:QoS weight, for specifying the importance of QoS attribute.
Confidence: indicate user to the confidence level of its preference.
Wherein Weight and Confidence is two attributes of QoSCharacterisitic subclass RequesterQoS, RequesterQoS indicates that the QoS of service requester is arranged, and another subclass of QoSCharacterisitic ProviderQoS Indicate the QoS setting of service provider.
Next the service filtering methods based on QoS threshold will be introduced, steps are as follows:
Step (8.1) traverses the service in candidate service collection CandidateServices, if traversal is completed, terminates, no Next service S is then taken out from candidate service collection CandidateServicesc, carry out step (8.2);
Step (8.2) traverse service ScIn QoS attribute, if traversal complete, return step (8.1), otherwise from service Sc It is middle to take out next QoS attribute QoSProperty, it carries out step (8.3);
Step (8.3) is walked if comprising QoSProperty in the QoS constraint QoSConstraints that user specifies Suddenly (8.4), otherwise return step (8.2);
Step (8.4) judges QoS constraint QoSConstraints to the confidence level coefficient Confidence of QoSProperty It whether is not 0.Confidence level coefficient indicate user to the confidence level of specified threshold consValue, the value of this coefficient should [0, 1] in range.1 expression filter algorithm must strictly observe specified threshold value;0, which represents filter algorithm, must ignore this threshold value.If Confidence is not 0, then carries out step (8.5), otherwise return step (8.2);
Step (8.5) is if the type Type of QoSProperty belongs to the attribute of income type benefit and QoSProperty Value Value is less than the product of Confidence and consValue, then step (8.6) is carried out, if otherwise Type belongs to cost type The attribute value Value of cost and QoSProperty are greater than consValue divided by Confidence's as a result, also carrying out step (8.6), otherwise return step (8.2);
Step (8.6) will service ScIt filters and removes from candidate service collection CandidateServices, return step (8.2);
9th step, to carrying out by the filtered candidate service collection CandidateServices of the 8th step, service is comprehensive to be commented Point and ranking, score it is highest service be exactly optimal service.But before the service of progress scoring, need first to determine user QoS weight carries out consistency checking, if resulting consistency ratio CR less than 0.1, carries out scoring and ranking step, otherwise instead Feedback QoS weight need user's revised as a result, calculate terminate, the specific steps are as follows:
Step (9.1) carries out weight calculation to QoS attribute set by user, here in conjunction with the machine of analytic hierarchy process (AHP) (AHP) System, analytic hierarchy process (AHP) are by always related element resolves into the levels such as target, criterion, scheme with decision, herein on basis Carry out the decision-making technique of qualitative and quantitative analysis.A judgment matrix compared in pairs is constructed, wherein each element is by making a reservation for Adopted score (from 1 to 9) scores to other each elements, indicates their relative importance.The Scale Method of the 1-9 meets Mental habit when people judge, table 1 give corresponding absolute number scale.
Table 1
Further, the step of QoS attribute weight calculates is as follows:
Step (9.1.1) determines AHP method index to be used (being specified by user), carries out step (9.1.2);
Step (9.1.2) establishes the n rank pairwise comparison matrix A [n] [n] based on user preference, carries out step (9.1.3);
Step (9.1.3) calculates the weights of importance of each QoS attribute based on pairwise comparison matrix A, specifically calculates step It is as follows:
Step (9.1.3.1) establishes the vector W [n] and interim vector M [n] for recording the weights of importance of each QoS attribute With provisional matrix P [n] [n], carry out step (9.1.3.2);
Step (9.1.3.2) sets up temporary variable j, and sets initial value 0, carries out step (9.1.3.3);
Step (9.1.3.3) otherwise carries out step (9.1.3.5) if j is less than n and carries out step (9.1.3.4);
Step (9.1.3.4) is by the sum of matrix A jth column and is assigned to M [j], then adds 1 value to be assigned to j, return step j (9.1.3.3);
Step (9.1.3.5) sets up temporary variable k, l, and sets initial value 0, carries out step (9.1.3.6);
Step (9.1.3.6) carries out step (9.1.3.7) if k is less than n, otherwise carries out step (9.1.3.9);
Step (9.1.3.7) carries out step (9.1.3.8) if l is less than n, otherwise adds 1 value to be assigned to k k, returns to step Suddenly (9.1.3.6);
A [l] [k] is assigned to P [l] [k] divided by M [k] resulting value by step (9.1.3.8), then adds 1 value to be assigned to l l, Return step (9.1.3.7);
Step (9.1.3.9) sets up temporary variable m, and sets initial value 0, carries out step (9.1.3.10);
Step (9.1.3.10) carries out step (9.1.3.11) if m is less than n, otherwise carries out step (9.1.3.12);
The sum of the m row of matrix P is assigned to W [m] by step (9.1.3.11), then adds 1 value to be assigned to m, return step m (9.1.3.10);
Step (9.1.3.12) sets up temporary variable i, and sets initial value 0, carries out step (9.1.3.13);
Step (9.1.3.13) carries out step (5.3.14) if i is less than n, and otherwise calculating terminates;
W [i] is assigned to W [i] divided by the resulting value of n by step (9.1.3.14) again again, then adds 1 value to be assigned to i i, is returned It returns step (9.1.3.13);
The pairwise comparison matrix A and the resulting weight vectors W of step (9.1) that step (9.2) is constructed according to step (9.1) are tested Demonstrate,prove the consistency of user's judgement.In AHP method, if corresponding consistency ratio CR is less than 0.1, then it is assumed that user judges tool There is satisfied consistency, otherwise subjectivity is needed to be modified, until meeting coherence request.CR need to be by CI value divided by mean random Coincident indicator RI is obtained, and calculates that steps are as follows:
Step (9.2.1) establishes interim vector M [n] and provisional matrix P [n] [n], and setting up variable CI indicates that consistency refers to Number, λmaxIt indicates the maximum element of vector M intermediate value, carries out step (9.2.2);
Step (9.2.2) sets up temporary variable i, j, and sets initial value 0, carries out step (9.2.3);
Step (9.2.3) carries out step (9.2.4) if j is less than n, otherwise carries out step (9.2.6);
Step (9.2.4) carries out step (9.2.5), otherwise adds 1 value to be assigned to i i, return again to step if i is less than n (9.2.3);
A [i] [j] is assigned to P [i] [j] multiplied by W [j] resulting value by step (9.2.5), then adds 1 value to be assigned to j j, is returned It returns step (9.2.4);
Step (9.2.6) sets up temporary variable k, and sets initial value 0, carries out step (9.2.7);
Step (9.2.7) carries out step (9.2.8) if k is less than n, otherwise carries out step (9.2.9);
The sum of the row k of matrix P is assigned to M [k] by step (9.2.8), then adds 1 value to be assigned to k, return step k (9.2.7);
Step (9.2.9) sets up temporary variable l, and sets initial value 0, carries out step (9.2.10);
Step (9.2.10) carries out step (9.2.11) if l is less than n, otherwise carries out step (9.2.12);
M [l] is assigned to M [l] by step (9.2.11) divided by W [l] resulting value, then adds 1 value to be assigned to l, return step l (9.2.10);
The maximum element of vector M intermediate value is assigned to λ by step (9.2.12)max, carry out step (9.2.13);
Step (9.2.13) is according to formula CI=(λmax- n)/(n-1) calculate coincident indicator, carry out step (9.2.14);
CI value is obtained consistency ratio CR divided by corresponding Aver-age Random Consistency Index RI by step (9.2.14), if CR is less than 0.1, then it is assumed that user's judgement has satisfied consistency, otherwise it is assumed that user's judgement does not have satisfied consistency;
To further understand step (9.1) and step (9.2), here in conjunction with example to step (9.1) and step (9.2) into Row description, description content are as follows:
(1) this method index to be used is determined.As an example, the present invention selects four QoS attributes as index, it may be assumed that Response time, strike price, reliabilty and availability.
(2) pairwise comparison matrix based on user preference is established.Since, there are four QoS attribute, matrix is incited somebody to action in example Comprising 16 elements, corresponding judgement of the user in comparing in pairs of matrix representative described in table 2.
Table 2
(3) the calculating step for combining step (9.1), calculates each QoS attribute weight.The corresponding RI value of different n values by Table 3 provides, and n is the number of QoS attribute.
Table 3
N=4 in this example, so according to the calculating step of step (9.1) it can be concluded that each QoS attribute weight (such as table 4)。
Table 4
(4) the calculating step for finally combining step (9.2), verifies the consistency of user's judgement.Following result is calculated: λmax=4.203, CI=0.068, CR=0.075.CR value is less than 0.1, therefore weight is received, and user's judgement has satisfied Consistency.
The comprehensive score and ranking that step (9.3) is serviced, the specific steps are as follows:
If step (9.2) final result thinks user, judgement has satisfied consistency to step (9.3.1), carries out step (9.3.2), otherwise feed back QoS weight need user's revised as a result, calculate terminate;
Step (9.3.2) establishes the vector compScore [Services.size] of service comprehensive score, QoS scores vector The QoSMtx matrix of qosScore [Services.size] and record standard qos value, wherein Services.size is indicated The quantity of service of candidate service collection, the row in QoSMtx indicate candidate Web service, and column indicate QoS attribute, carry out step (9.3.3)。
Step (9.3.3) traverses candidate service collection CandidateServices, if traversal is completed, carries out step (9.3.8) otherwise takes out next service S of candidate service collection CandidateServicesi, carry out step (9.3.4);
Step (9.3.4) traverse service SiIn QoS attribute set Si.qosProperties, if traversal is completed, into Row step (9.3.7), otherwise from Si.qosProperties next attribute S is taken out ini.Pj, carry out step (9.3.5);
Step (9.3.5) needs to normalize qos value since the measurement section of each QoS attribute value is different, so that Value range is between 0 to 1, to ensure that each QoS attribute is assessed using identical span.Therefore need to calculate QoS attribute Si.PjNormalized value nv (pij), and this value is assigned to QoSMtx [i] [j], steps are as follows for specific calculating:
Step (9.3.5.1) is if attribute Si.PjWhen for income type attribute, carry out step (9.3.5.2), if attribute Si.PjFor When cost type attribute, then step (9.3.5.3) is carried out;
Step (9.3.5.2) nv (pij) calculation formula it is as follows:
Wherein, v (pij) indicate service SiIn attribute Si.PjOriginal value, v (pj)maxIndicate candidate service collection In each service of CandidateServices with Si.PjBelong to the maximum value of same attribute, v (pj)minIndicate candidate service collection In each service of CandidateServices with Si.PjBelong to the minimum value of same attribute, carries out step (9.3.6);
Step (9.3.5.3) nv (pij) calculation formula it is as follows:
Step (9.3.6) is if attribute Si.PjMeet user-defined QoS constraint QoSConstraints, then computation attribute Si.PjQoS score, qosScore [i] carries out cumulative record to QoS score again, and the calculation formula of whole process is as follows:
QosScore [i] +=(QoSMtx [i] [j] × QoSConstraint [j] .Weight)
Wherein, QoSConstraint [j] .Weight indicates user to attribute Si.PjThe weight of definition, return step (9.3.4), otherwise direct return step (9.3.4);
Step (9.3.7) combines the functional similarity calculation method of the 4th step to find out current RCT node demand SRCTWith service SiFunctional similarity FunctionalSim (Si,SRCT), in conjunction with the resulting QoS score qosScore [i] of step (9.3.6) To service SiComprehensive score is weighted, and final result is assigned to compScore [i], and calculation formula is as follows:
CompScore [i]=w1*FunctionalSim (Si, SRCT)+w2*qosScore [i]
Wherein w1, w2 simultaneously respectively indicate function similarity weight and QoS scoring weight, return step (9.3.3);
Step (9.3.8) carries out ranking to the service for completing comprehensive score, returns to the highest service of score, i.e., best clothes Business.

Claims (10)

1. a kind of Web service dynamic evolution method that Demand-Oriented is adaptive, which is characterized in that the method includes following steps It is rapid:
Semantic similarity in the first step, calculating field ontology between two concepts A and B, process are as follows: functional similarity measurement Consider the domain body concept output and input between service, the matching between input and output refers to relevant to inputting and exporting general The matching of thought needs to consider the relationship in domain body between two concepts to calculate the similitude of two concepts A and B;
Second step, the concept similarity calculation method in conjunction with the first step provide service S1With service S2Input similarity Siminput's Calculation method;
Third step, the concept similarity calculation method in conjunction with the first step provide service S1With service S2Export similarity Simoutput Calculation method;
4th step, the import of services similarity Sim acquired in conjunction with second step and third stepinputSimilarity is exported with service SimOutputCalculate service S1With service S2Functional similarity FunctionalSim (S1,S2), calculation formula is as follows:
FunctionalSim(S1,S2)=w1×Siminput+w2×SimOutput, wherein weight w1And w2It is the real number between 0 and 1 It is worth and summation is 1, they indicates service consumer to input similitude and the importance for exporting similitude identification;
5th step provides service clustering algorithm in conjunction with the service function similarity measurement mode of the 4th step, selection one any first A unappropriated kernel object then looks for the reachable sample set of all density of the kernel object as seed, forms one It clusters;It then continues to that another unappropriated kernel object is selected to look for the reachable sample set of density, it is poly- to obtain another Cluster is finished until all kernel objects are assigned;Search radius Eps is by formulaIt determines, wherein n indicates clothes The dimension size of business, i.e., the average properties number of all services, k indicate to be formed the required minimum quantity of service that clusters, r indicate by The hypersphere radius surface of n dimension service composition, m are then the n dimension quantitys of service that this hypersphere includes;And minimum number MinPts is followed Experience is heuristic: MinPts=round (m/25), and wherein round is bracket function, and m is the sample size in sample set;
6th step, according to the cluster result of the 5th step, obtain each center service to cluster, the center service that clusters can represent institute In the characteristic feature of cluster service;
7th step, the Service Matching process of system need to calculate separately RCT node requirement description and retouch with the center service that each clusters Function similarity between stating, wherein RCT node is the component units of RCT model, is described as completing current Web subtask institute The Web service needed, iStar frame rely in strategy and define four kinds of dependences in model, are respectively: target-dependent indicates One role relies on another role to complete some target;Resource Dependence indicates that a role relies on another role and is It provides physical resource and information;Task relies on, and indicates that a role relies on another role to complete some task;It is non-functional The related soft object of demand relies on, and is similar to target-dependent;The atom for extending the role of iStar, target, task and resource is general It reads, to support the mapping relations and associated description specification between user demand, Web task, service and service sequences, RCT mould Type will be instantiated with OWL-S formatted file, to guarantee the normal execution of Service Matching process;In RCT model, use Ellipse indicates user demand, i.e. RCT demand nodes, indicates the subtask Web, the upper left well of hexagon node using hexagon It number indicates the serial number of the subtask Web, indicates service using circle, rectangle is used to indicate information resources;
Since OWL-S is the language that designs for description Web service, suitable for the demand for describe to service, therefore RCT node demand Equally be described using OWL-S, the functional similarity measure of the 4th step be equally applicable to RCT node and cluster in it is genuinely convinced Cluster where the maximum cluster center service of function similarity is calculated in the similarity calculation of business, and the service in the cluster is can Meet the candidate service CandidateService of active user's demand;
8th step, according to user request in QoS threshold candidate service collection CandidateServices is screened, filter Fall not meeting the service of user's requirement, service consumer specifies QoS threshold in service request, and expression refusal QoS is lower than or height In the Web service of the threshold value;
Non-functional is described QoS and is added in Web service description by the OWL-S extension based on ontology;
OWL-S full name is Ontology Web Language for Services, it is that the Web service ontology based on OWL is retouched Predicate speech describes mechanism using a whole set of to carry out semantic description to Web service, and the description file generated can be calculated Mechanism solution is simultaneously handled;
OWL-S includes three basic modules:
(1) Service Profile describes what service does, and essential attribute includes that service name (serviceName), text are retouched State (textDescription) etc.;Functional attributes then include input information (hasInput), output information (hasOutput), preceding Mention four parts of condition (hasPrecondition) and desired effect (hasEffect);
(2) how Service Model description service works, each service is regarded as a process (Process) by OWL-S, And it is classified as three classes: atom process (Atomic Process), simple procedure (Simple Process) and anabolic process (Composite Process);Atom process does not have subprocess, can call directly;Simple procedure cannot call directly, and also not have There is corresponding Service Grounding supporting paper;Anabolic process is combined by multiple subprocess by certain control structure It forms, in OWL-S, each process body can carry out semantic description by IOPE;
(3) recalls information of Service Grounding description service, OWL-S is using WSDL as Service Grounding The basis of mechanism defines specific message format, and input information, output information, address of service are encapsulated;
Based on web service description language OWL-S, constructs the OWL-S based on ontology and extend semantic service descriptive model;
Indicate that semantic service is described using four-tuple: WS=<N, D, I, O>, in which:
N represents the title Name of service, and the text that D represents service describes Description, and the two constitutes the basic category of service Property;
The functional attributes of service include I and O, respectively indicate the input Input and output Outpu of service WS) category of interface parameters Property, each interface is one group of parameter sets, I={ i1,…,im, element i1,…,imIt represents and services the defeated of WS in domain body Enter semantic concept corresponding to parameter;O is the output set of service, O={ o1,…,on, element o1,…,onRepresent field sheet Semantic concept corresponding to the output parameter of WS is serviced in body;
It include title using one group of service parameter (ServiceParameter) in OWL-S Service Profile (serviceParameterName) and parameter value (sParameter), after OWL-S with QoS ontology is connected, QoSProperty As the subclass of OWL-S ServiceParameter, qosPropertyName and qProperty are respectively OWL-S The sub- attribute of serviceParameterName and sParameter attribute;
Each QoS attribute QoSProperty is by the title qosPropertyName of character string forms and one group of feature QoSCharacterisitic is described as follows come what is defined:
Value: representing the value of QoS attribute, and for ISP, it represents a kind of QoS attribute of service provided;But for Service consumer, it indicates the threshold value of QoS attribute;
Type: this feature is for distinguishing two kinds of QoS:
Income type benefit, in this case, the QoS attribute value that user specifies indicate the minimum value to be considered;
Cost type cost, in this case, the QoS attribute value that user specifies indicate the maximum value to be considered;
The linear module of Unit:QoS attribute;
Weight:QoS weight, for specifying the importance of QoS attribute;
Confidence: indicate user to the confidence level of its preference;
9th step, to by the filtered candidate service collection CandidateServices of the 8th step carry out service comprehensive score and Ranking, the highest service of score is exactly optimal service;But before the service of progress scoring, the QoS first determined to user is needed Weight carries out consistency checking, if resulting consistency ratio CR less than 0.1, carries out scoring and ranking step, otherwise feeds back QoS weight need user's revised as a result, calculate terminate.
2. the adaptive Web service dynamic evolution method of Demand-Oriented as described in claim 1, which is characterized in that described In one step, the step of semantic similarity in calculating field ontology between two concepts A and B, is as follows:
Step (1.1) if concept A and B are identical or they are declared as equivalent classes, concept A, B's Similarity SimconceptIt is 1, otherwise carries out step (1.2);
Step (1.2) is if concept A is directly or indirectly a subclass of concept B, the similarity Sim of concept A, BconceptIt calculates Formula is as follows:
Wherein prop (A) and prop (B) respectively indicate the attribute set of concept A Yu concept B, Size (prop (B)) and Size (prop (A)) respectively indicate the attribute number of concept B and concept A, otherwise carry out step (1.3)
Step (1.3) is if concept B is directly or indirectly a subclass of concept A, the similarity Sim of concept A, BconceptIt calculates Formula is as follows:
Otherwise step (1.4) are carried out;
Step (1.4) is not if concept A and concept B have set membership, but two concepts directly or indirectly have a common parent Concept C, then use the semanteme of word method for measuring similarity based on model-naive Bayesian, first respectively notion of traversal A and general The each attribute for reading B carries out feature extraction by Property Name of the ComputeFeature function to concept A and concept B, then Using the conditional probability distribution column and Dynamic gene after sample training, the similarity Sim between concept attribute is calculatedword, according to Similarity Sim between concept attributewordCompared with similar judgement factor η, judge two attributes whether be same attribute simultaneously It is counted, finally calculates concept A, the similarity Sim of Bconcept
Step (1.5) is not if the relationship of concept A and concept B are met in the above case said, the similarity of concept A, B SimconceptIt is set as 0.
3. the adaptive Web service dynamic evolution method of Demand-Oriented as claimed in claim 2, which is characterized in that the step Suddenly the process of (1.4) is as follows:
Step (1.4.1) set variable i indicate identical with attribute in the concept B number juxtaposition initial value of concept A as 0, progress step (1.4.2);
Step (1.4.2) is completed if the attribute set prop (A) of concept A is traversed, and step (1.4.7) is carried out, otherwise from prop (A) next prop (A) is taken outjAnd remove it from prop (A), it carries out step (1.4.3);
Step (1.4.3) is completed if the attribute set prop (B) of concept B is traversed, return step (1.4.2), otherwise from prop (B) next prop (B) is taken outkAnd remove it from prop (B), it carries out step (1.4.4);
Step (1.4.4) is based on model-naive Bayesian and passes through ComputeFeature function in conjunction with WorkNet English dictionary To prop (A)jWith prop (B)kProperty Name carry out feature extraction and then obtain L (prop (A)j,prop(B)k) and D (prop (A)j,prop(B)k), process is as follows:
The semanteme of word for calculating each Property Name, since each word is corresponding one or more semantic, then each word pair Also just corresponding one or more semantic right, it will be fixed apart from shortest semantic node distance to corresponding all semantic centerings with word Justice is that the word is adjusted the distance L (prop (A)j,prop(B)k), and semantic node is defined as list to depth apart from shortest semanteme Word is to depth D (prop (A)j,prop(B)k), it is known that Property Name prop (A)jIt is present in semantic node vj1,vj2..., vjn's In synonymous phrase, Property Name prop (B)kIt is present in semantic node vk1,vk2... vkmSynonymous phrase in, then prop (A)j With prop (B)kDistance calculation formula and depth calculation formula it is as follows:
Wherein L (vja,vkb) indicate semantic node vjaWith semantic node vkbDistance, D (vja,vkb) indicate semanteme to (vja,vkb) Depth;
Further, mean function LW (i) and DW (o) are generated according to the training set of model-naive Bayesian, recycles mean function LW (i) and DW (o) design conditions probability distribution column P (L (prop (A)j,prop(B)k) | C) and P (D (prop (A)j,prop (B)k) | C), wherein C is token-category classification, and codomain is { U, N }, and wherein U represents " consistent ", and N represents " inconsistent ", finally Dynamic gene α and β are calculated, calculation formula is as follows:
It is transferred to step (1.4.5) later;
Step (1.4.5) is based on model-naive Bayesian, by the feature L (prop (A) of Ontological concept attributej,prop(B)k) and D (prop(A)j,prop(B)k) be injected into the resulting conditional probability distribution column of step (1.4.4), and successively extraction conditions probability V1=P (L (prop (A)j,prop(B)k)=i | C=U), V2=P (D (prop (A)j,prop(B)k)=o | C=U), V3=P (L (prop(A)j,prop(B)k)=i | C=N) and V4=P (D (prop (A)j,prop(B)k)=o | C=N), finally combine step Dynamic gene α and β in (1.4.4) calculates prop (A)jWith prop (B)kBetween similarity Simword, calculation formula is such as Under:
Simword(prop(A)j,prop(B)k)=(α V1×V2)/(αV1×V2+βV3×V4), it carries out step (1.4.6);
Step (1.4.6) is if SimwordMore than or equal to similar judgement factor η, then prop (A)jWith prop (B)kFor same attribute And variable i is added 1, and return step (1.4.2), otherwise return step (1.4.3);
Step (1.4.7) calculates concept A, the similarity Sim of Bconcept, calculation formula is as follows:
Wherein i indicates concept A identical with attribute in concept B Number, prop (A) respectively indicate the attribute set of concept A Yu concept B, Size (prop (B)) and Size (prop with prop (B) (A)) the attribute number of concept B and concept A are respectively indicated, is carried out step (1.5).
4. the adaptive Web service dynamic evolution method of Demand-Oriented as described in one of claims 1 to 3, which is characterized in that In the second step, S is serviced1With service S2Input similarity SiminputCalculation method process it is as follows:
Step (2.1) creation import of services parameter similarity maximum matching number group InSim is simultaneously initialized, and is carried out step (2.2);
Step (2.2) will service S1Input number of parameters subtract service S2Input number of parameters obtain number of parameters difference d, It carries out step (2.3);
Step (2.3) will service S if d is less than or equal to 01It is set as Sshort, service S2It is set as Slong, otherwise will service S2It is set as Sshort, service S1It is set as Slong, carry out step (2.4);
Step (2.4) traverses SlongIn input parameter, if traversal complete, step (2.8) are carried out, otherwise from SlongMiddle taking-up Next input parameter longi, carry out step (2.5);
Step (2.5) traverses SshortIn input parameter, if traversal complete, return step (2.4), otherwise from SshortMiddle taking-up Next input parameter shortj, carry out step (2.6);
Step (2.6) is according to the concept similarity calculation method calculating parameter long of the first stepiWith parameter shortjSimilarity Simij, carry out step (2.7);
Step (2.7) is by SimijIt is compared with InSim [i], if SimijGreater than InSim [i], then the value of InSim [i] is set as SimijValue, otherwise InSim [i] value be initial value, return step (2.5);
Step (2.8) calculates service S1With service S2Input similarity Siminput, calculation formula is as follows:
Wherein Size (Slong.Input) with Size (Sshort.Input service S) is respectively indicatedlongInput number of parameters and service SshortInput number of parameters, | d | indicate two service input number of parameters differences, InSim be input parameter similarity Maximum matching number group.
5. the adaptive Web service dynamic evolution method of Demand-Oriented as described in one of claims 1 to 3, which is characterized in that In the third step, S is serviced1With service S2Export similarity SimoutputCalculation method process it is as follows:
Step (3.1) creation service output parameter similarity maximum matching number group OutSim is simultaneously initialized, and is carried out step (3.2);
Step (3.2) will service S1Output parameter quantity subtract service S2Output parameter quantity obtain number of parameters difference d, It carries out step (3.3);
Step (3.3) will service S if d is less than or equal to 01It is set as Sshort, service S2It is set as Slong, otherwise will service S2It is set as Sshort, service S1It is set as Slong, carry out step (3.4);
Step (3.4) traverses SlongIn output parameter, if traversal complete, step (3.8) are carried out, otherwise from SlongMiddle taking-up Next output parameter longi, carry out step (3.5);
Step (3.5) traverses SshortIn output parameter, if traversal complete, return step (3.4), otherwise from SshortMiddle taking-up Next output parameter shortj, carry out step (3.6);
Step (3.6) is according to the concept similarity calculation method calculating parameter long of the first stepiWith parameter shortjSimilarity Simij, carry out step (3.7);
Step (3.7) is by SimijIt is compared with OutSim [i], if SimijGreater than OutSim [i], then by the value of OutSim [i] It is set as SimijValue, otherwise OutSim [i] value be initial value, return step (3.5);
Step (3.8) calculates service S1With service S2Export similarity SimOutput, calculation formula is as follows:
Wherein Size (Slong.Output) with Size (Sshort.Output service S) is respectively indicatedlongOutput parameter number and clothes Be engaged in SshortOutput parameter number, | d | indicate two service output parameter number differences, OutSim be output parameter it is similar Spend maximum matching number group.
6. the adaptive Web service dynamic evolution method of Demand-Oriented as described in one of claims 1 to 3, which is characterized in that In 5th step, the process for servicing clustering algorithm is as follows:
Step (5.1) initializes non-access-sample collection and is combined into original sample collection T, and gathering closes C and is divided into empty set, carries out step (5.2);
Step (5.2) traverses original sample collection T, if traversal is completed, terminates, next service S is otherwise taken out from TiAnd by its It removes, carries out step (5.3) from T;
The service function similarity measurement mode that step (5.3) combines step 4 to define finds service SiEps neighborhood;
Step (5.4) creates new clustering cluster CkIf SiEps neighborhood sample number be no less than MinPts, then by SiIt is added to the cluster In, it carries out step (5.5), otherwise return step (5.2);
Step (5.5) traverse service SiNeighbourhood set NEps(Si), if traversal is completed, step (5.13) are carried out, are otherwise taken out Set NEps(Si) in next service S 'k, carry out step (5.6);
Step (5.6) creation service S 'kNeighbourhood set NEps(S’k), it carries out step (5.7);
Step (5.7) is if original sample collection T includes service S 'k, then S ' will be servicedkIt removes, carries out step (5.8), otherwise from T Return step (5.5);
Step (5.8) traverses original sample collection T, if traversal is completed, carries out step (5.11), otherwise takes out from T next Service S 'l, carry out step (5.9);
The service function similarity measurement mode that step (5.9) is defined using step 4 services S ' to calculatekWith service S 'lFunction It can similarity FunctionalSim (S 'k,S’l), it carries out step (5.10)
Step (5.10) is if service S 'kWith service S 'lFunction similarity FunctionalSim (S 'k,S’l) be less than or equal to and search Rope radius Eps, then will service S 'lService S ' is addedkNeighbourhood set NEps(S’k), return step (5.8) otherwise directly returns Step (5.8);
Step (5.11) is if service S 'kEps neighborhood sample number be no less than MinPts, then the service in the neighborhood is added to clothes Be engaged in SiEps Neighbourhood set NEps(Si), it carries out step (5.12), otherwise return step (5.5);
Step (5.12) does not include in C if gathering is closed containing service S 'kClustering cluster, then will service S 'kStep (5.4) wound is added The clustering cluster C builtk, return step (5.5), otherwise direct return step (5.5);
Step (5.13) is by clustering cluster CkGathering is added and closes C, return step (5.2).
7. the adaptive Web service dynamic evolution method of Demand-Oriented as claimed in claim 6, which is characterized in that the step Suddenly in (5.3), the searching services SiEps neighborhood the step of it is as follows:
Step (5.3.1) creation service SiNeighbourhood set NEps(Si), it carries out step (5.3.2);
Step (5.3.2) traverses original sample collection T, if traversal is completed, carries out step (5.4), otherwise takes out from T next Service Sj, carry out step (5.3.3);
The function similarity that step (5.3.3) is defined using step 4 services S to calculateiWith service SjFunction similarity FunctionalSim(Si,Sj), it carries out step (5.3.4);
Step (5.3.4) is if service SiWith service SjFunction similarity FunctionalSim (Si,Sj) it is less than or equal to search half Diameter Eps will then service SjService S is addediNeighbourhood set NEps(Si), return step (5.3.2), otherwise direct return step (5.3.2)。
8. the adaptive Web service dynamic evolution method of Demand-Oriented as described in one of claims 1 to 3, which is characterized in that In 6th step, the calculating process for the center service that clusters is as follows:
Step (6.1) creates list Scenter, the center service that respectively clusters is recorded, is carried out step (6.2);
The gathering that step (6.2) the 5th step of traversal is created closes C, if traversal is completed, terminates, and otherwise closes under C taking-up from gathering One clustering cluster Ck, carry out step (6.3);
Step (6.3) creates variable In.num and Out.num to clustering cluster CkAll input parameters unite with output parameter Meter, and the initial value of two variables is set as 0, create the center service S that clusterskcenter, carry out step (6.4);
Step (6.4) traverses clustering cluster CkEach of service, if traversal complete, carry out step (6.6), otherwise take out under One service Sk, carry out step (6.5);
Step (6.5) statistical fractals SkInput number of parameters Sk.Innum with output parameter number Sk.outnum, and respectively tire out It adds in In.num and Out.num, return step (6.4);
Step (6.6) traverses clustering cluster CkEach of service, if traversal complete, by SkcenterList S is addedcenterAnd it returns It returns step (6.2), otherwise takes out next service Sk, carry out step (6.7);
Step (6.7) calculates service SkEach input parameter account for the ratio p1 of In.num, if p1 is greater than given threshold valueThen think this Parameter importance with higher in current cluster is inputted, and adds it to the input parameter list for the center service that clusters Skcenter.Input, step (6.8) are carried out;
Step (6.8) calculates service SkEach output parameter account for the ratio p2 of Out.num, if p2 is greater than given threshold valueThen think Output parameter importance with higher in current cluster, and add it to the output parameter list for the center service that clusters Skcenter.Output, return step (6.6).
9. the adaptive Web service dynamic evolution method of Demand-Oriented as described in one of claims 1 to 3, which is characterized in that In 8th step, the step of service filtering methods based on QoS threshold, is as follows:
Step (8.1) traverse candidate service collection CandidateServices in service, if traversal complete, terminate, otherwise from Next service S is taken out in candidate service collection CandidateServicesc, carry out step (8.2);
Step (8.2) traverse service ScIn QoS attribute, if traversal complete, return step (8.1), otherwise from service ScIn take Next QoS attribute QoSProperty out is carried out step (8.3);
Step (8.3) carries out step if comprising QoSProperty in the QoS constraint QoSConstraints that user specifies (8.4), otherwise return step (8.2);
Step (8.4) judge QoS constraint QoSConstraints to the confidence level coefficient Confidence of QoSProperty whether It is not 0, confidence level coefficient indicates user to the confidence level of specified threshold consValue, and the value of this coefficient should be in [0,1] model In enclosing, 1 expression filter algorithm must strictly observe specified threshold value;0, which represents filter algorithm, must ignore this threshold value, if Confidence is not 0, then carries out step (8.5), otherwise return step (8.2);
Step (8.5) is if the type Type of QoSProperty belongs to the attribute value of income type benefit and QoSProperty Value is less than the product of Confidence and consValue, then step (8.6) is carried out, if otherwise Type belongs to cost type cost And the attribute value Value of QoSProperty be greater than consValue divided by Confidence's as a result, also carry out step (8.6), Otherwise return step (8.2);
Step (8.6) will service ScIt filters and removes from candidate service collection CandidateServices, return step (8.2).
10. the adaptive Web service dynamic evolution method of Demand-Oriented as described in one of claims 1 to 3, feature exist It is as follows in, nine step the step of:
Step (9.1) carries out weight calculation to QoS attribute set by user, here in conjunction with the mechanism of analytic hierarchy process AHP, building One judgment matrix compared in pairs, wherein each element comments other each elements by predefined score (from 1 to 9) Point, indicate their relative importance;The Scale Method of the 1-9 meets mental habit when people judge, table 1 gives Corresponding absolute number scale:
Table 1
The step of QoS attribute weight calculates is as follows:
Step (9.1.1) determines AHP method index to be used, carries out step (9.1.2);
Step (9.1.2) establishes the n rank pairwise comparison matrix A [n] [n] based on user preference, carries out step (9.1.3);
Step (9.1.3) calculates the weights of importance of each QoS attribute based on pairwise comparison matrix A, and steps are as follows for specific calculating:
Step (9.1.3.1) establish record each QoS attribute weights of importance vector W [n] and interim vector M [n] with face When matrix P [n] [n], carry out step (9.1.3.2);
Step (9.1.3.2) sets up temporary variable j, and sets initial value 0, carries out step (9.1.3.3);
Step (9.1.3.3) otherwise carries out step (9.1.3.5) if j is less than n and carries out step (9.1.3.4);
Step (9.1.3.4) is by the sum of matrix A jth column and is assigned to M [j], then adds 1 value to be assigned to j, return step j (9.1.3.3);
Step (9.1.3.5) sets up temporary variable k, l, and sets initial value 0, carries out step (9.1.3.6);
Step (9.1.3.6) carries out step (9.1.3.7) if k is less than n, otherwise carries out step (9.1.3.9);
Step (9.1.3.7) carries out step (9.1.3.8), otherwise adds 1 value to be assigned to k, return step k if l is less than n (9.1.3.6);
A [l] [k] is assigned to P [l] [k] divided by M [k] resulting value by step (9.1.3.8), then adds 1 value to be assigned to l l, is returned Step (9.1.3.7);
Step (9.1.3.9) sets up temporary variable m, and sets initial value 0, carries out step (9.1.3.10);
Step (9.1.3.10) carries out step (9.1.3.11) if m is less than n, otherwise carries out step (9.1.3.12);
The sum of the m row of matrix P is assigned to W [m] by step (9.1.3.11), then adds 1 value to be assigned to m, return step m (9.1.3.10);
Step (9.1.3.12) sets up temporary variable i, and sets initial value 0, carries out step (9.1.3.13);
Step (9.1.3.13) carries out step (5.3.14) if i is less than n, and otherwise calculating terminates;
W [i] is assigned to W [i] by step (9.1.3.14) again again divided by the resulting value of n, then adds 1 value to be assigned to i i, returns to step Suddenly (9.1.3.13);
The resulting weight vectors W verifying of the pairwise comparison matrix A and step (9.1) that step (9.2) is constructed according to step (9.1) is used The consistency of family judgement, in AHP method, if corresponding consistency ratio CR is less than 0.1, then it is assumed that user's judgement has full The consistency of meaning, otherwise needs subjectivity to be modified, and until meeting coherence request, CR need to be consistent divided by mean random by CI value Property index RI obtain, calculate that steps are as follows:
Step (9.2.1) establishes interim vector M [n] and provisional matrix P [n] [n], and setting up variable CI indicates index of conformity, λmax It indicates the maximum element of vector M intermediate value, carries out step (9.2.2);
Step (9.2.2) sets up temporary variable i, j, and sets initial value 0, carries out step (9.2.3);
Step (9.2.3) carries out step (9.2.4) if j is less than n, otherwise carries out step (9.2.6);
Step (9.2.4) carries out step (9.2.5), otherwise adds 1 value to be assigned to i i, return again to step if i is less than n (9.2.3);
A [i] [j] is assigned to P [i] [j] by step (9.2.5) multiplied by W [j] resulting value, then adds 1 value to be assigned to j j, returns to step Suddenly (9.2.4);
Step (9.2.6) sets up temporary variable k, and sets initial value 0, carries out step (9.2.7);
Step (9.2.7) carries out step (9.2.8) if k is less than n, otherwise carries out step (9.2.9);
The sum of the row k of matrix P is assigned to M [k] by step (9.2.8), then adds 1 value to be assigned to k, return step (9.2.7) k;
Step (9.2.9) sets up temporary variable l, and sets initial value 0, carries out step (9.2.10);
Step (9.2.10) carries out step (9.2.11) if l is less than n, otherwise carries out step (9.2.12);
M [l] is assigned to M [l] by step (9.2.11) divided by W [l] resulting value, then adds 1 value to be assigned to l, return step l (9.2.10);
The maximum element of vector M intermediate value is assigned to λ by step (9.2.12)max, carry out step (9.2.13);
Step (9.2.13) is according to formula CI=(λmax- n)/(n-1) calculate coincident indicator, it carries out step (9.2.14);
CI value is obtained consistency ratio CR divided by corresponding Aver-age Random Consistency Index RI by step (9.2.14), if CR is small In 0.1, then it is assumed that user's judgement has satisfied consistency, otherwise it is assumed that user's judgement does not have satisfied consistency;
The comprehensive score and ranking that step (9.3) is serviced, steps are as follows:
If step (9.2) final result thinks user, judgement has satisfied consistency to step (9.3.1), carries out step (9.3.2), otherwise feed back QoS weight need user's revised as a result, calculate terminate;
Step (9.3.2) establishes the vector compScore [Services.size] of service comprehensive score, QoS scores vector The QoSMtx matrix of qosScore [Services.size] and record standard qos value, wherein Services.size is indicated The quantity of service of candidate service collection, the row in QoSMtx indicate candidate Web service, and column indicate QoS attribute, carry out step (9.3.3);
Step (9.3.3) traverses candidate service collection CandidateServices, if traversal is completed, carries out step (9.3.8), Otherwise next service S of candidate service collection CandidateServices is taken outi, carry out step (9.3.4);
Step (9.3.4) traverse service SiIn QoS attribute set Si.qosProperties, it if traversal is completed, is walked Suddenly (9.3.7), otherwise from Si.qosProperties next attribute S is taken out ini.Pj, carry out step (9.3.5);
Step (9.3.5) needs to normalize qos value, so that value since the measurement section of each QoS attribute value is different Range is between 0 to 1, to ensure that each QoS attribute is assessed using identical span, it is therefore desirable to calculate QoS attribute Si.Pj Normalized value nv (pij), and this value is assigned to QoSMtx [i] [j], steps are as follows for specific calculating:
Step (9.3.5.1) is if attribute Si.PjWhen for income type attribute, carry out step (9.3.5.2), if attribute Si.PjFor cost When type attribute, then step (9.3.5.3) is carried out;
Step (9.3.5.2) nv (pij) calculation formula it is as follows:
Wherein, v (pij) indicate service SiIn attribute Si.PjOriginal value, v (pj)maxIndicate candidate service collection In each service of CandidateServices with Si.PjBelong to the maximum value of same attribute, v (pj)minIndicate candidate service collection In each service of CandidateServices with Si.PjBelong to the minimum value of same attribute, carries out step (9.3.6);
Step (9.3.5.3) nv (pij) calculation formula it is as follows:
It carries out step (9.3.6);
Step (9.3.6) is if attribute Si.PjMeet user-defined QoS constraint QoSConstraints, then computation attribute Si.Pj's QoS score, qosScore [i] carry out cumulative record to QoS score again, and the calculation formula of whole process is as follows:
QosScore [i] +=(QoSMtx [i] [j] × QoSConstraint [j] .Weight)
Wherein, QoSConstraint [j] .Weight indicates user to attribute Si.PjThe weight of definition, return step (9.3.4), Otherwise direct return step (9.3.4);
Step (9.3.7) combines the functional similarity calculation method of the 4th step to find out current RCT node demand SRCTWith service Si's Functional similarity FunctionalSim (Si,SRCT), in conjunction with the resulting QoS score qosScore [i] of step (9.3.6) to clothes Be engaged in SiComprehensive score is weighted, and final result is assigned to compScore [i], and calculation formula is as follows:
CompScore [i]=w1*FunctionalSim (Si, SRCT)+w2*qosScore [i]
Wherein w1, w2 simultaneously respectively indicate function similarity weight and QoS scoring weight, return step (9.3.3);
Step (9.3.8) carries out ranking to the service for completing comprehensive score, returns to the highest service of score, i.e. optimal service.
CN201810939197.3A 2018-08-17 2018-08-17 Demand-oriented adaptive dynamic evolution method for Web service Active CN109284086B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810939197.3A CN109284086B (en) 2018-08-17 2018-08-17 Demand-oriented adaptive dynamic evolution method for Web service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810939197.3A CN109284086B (en) 2018-08-17 2018-08-17 Demand-oriented adaptive dynamic evolution method for Web service

Publications (2)

Publication Number Publication Date
CN109284086A true CN109284086A (en) 2019-01-29
CN109284086B CN109284086B (en) 2021-05-18

Family

ID=65183137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810939197.3A Active CN109284086B (en) 2018-08-17 2018-08-17 Demand-oriented adaptive dynamic evolution method for Web service

Country Status (1)

Country Link
CN (1) CN109284086B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059880A (en) * 2019-04-17 2019-07-26 中国人民解放军国防科技大学 Service discovery method and device
CN110083350A (en) * 2019-03-20 2019-08-02 浙江工业大学 A kind of micro services Adaptive evolution method based on RMAE under cloud computing environment
CN111125541A (en) * 2019-12-13 2020-05-08 陕西师范大学 Method for acquiring sustainable multi-cloud service combination for multiple users
CN111476321A (en) * 2020-05-18 2020-07-31 哈尔滨工程大学 Air flyer identification method based on feature weighting Bayes optimization algorithm
CN112148999A (en) * 2020-09-09 2020-12-29 浙江工业大学 Web API recommendation method based on Mashup service neighborhood under Web open environment
CN112184303A (en) * 2020-09-25 2021-01-05 中国建设银行股份有限公司 Target information pushing method and device based on clustering algorithm and storage medium
CN113112881A (en) * 2021-03-10 2021-07-13 浙江工业大学 Remote experiment question answering system based on WebRTC

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114784A1 (en) * 2012-10-19 2014-04-24 International Business Machines Corporation System and method for custom-fitting services to consumer requirements
US20140372984A1 (en) * 2013-06-18 2014-12-18 Disney Enterprises, Inc. Safe low cost web services software deployments
CN104317853A (en) * 2014-10-15 2015-01-28 山东科技大学 Service cluster constructing method based on semantic Web
CN106970938A (en) * 2017-02-13 2017-07-21 上海大学 Web page towards focusing is obtained and information extraction method
CN107135092A (en) * 2017-03-15 2017-09-05 浙江工业大学 A kind of Web service clustering method towards global social interaction server net
CN107133268A (en) * 2017-04-01 2017-09-05 南京邮电大学 A kind of collaborative filtering for Web service recommendation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114784A1 (en) * 2012-10-19 2014-04-24 International Business Machines Corporation System and method for custom-fitting services to consumer requirements
US20140372984A1 (en) * 2013-06-18 2014-12-18 Disney Enterprises, Inc. Safe low cost web services software deployments
CN104317853A (en) * 2014-10-15 2015-01-28 山东科技大学 Service cluster constructing method based on semantic Web
CN106970938A (en) * 2017-02-13 2017-07-21 上海大学 Web page towards focusing is obtained and information extraction method
CN107135092A (en) * 2017-03-15 2017-09-05 浙江工业大学 A kind of Web service clustering method towards global social interaction server net
CN107133268A (en) * 2017-04-01 2017-09-05 南京邮电大学 A kind of collaborative filtering for Web service recommendation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张元鸣等: "基于全局依赖网的Web服务组合自动演化方法研究", 《电子学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083350A (en) * 2019-03-20 2019-08-02 浙江工业大学 A kind of micro services Adaptive evolution method based on RMAE under cloud computing environment
CN110083350B (en) * 2019-03-20 2023-02-28 浙江工业大学 Micro-service self-adaptive evolution method based on RMAE (remote Markov experience) in cloud computing environment
CN110059880A (en) * 2019-04-17 2019-07-26 中国人民解放军国防科技大学 Service discovery method and device
CN110059880B (en) * 2019-04-17 2021-05-11 中国人民解放军国防科技大学 Service discovery method and device
CN111125541A (en) * 2019-12-13 2020-05-08 陕西师范大学 Method for acquiring sustainable multi-cloud service combination for multiple users
CN111125541B (en) * 2019-12-13 2023-04-07 陕西师范大学 Method for acquiring sustainable multi-cloud service combination for multiple users
CN111476321A (en) * 2020-05-18 2020-07-31 哈尔滨工程大学 Air flyer identification method based on feature weighting Bayes optimization algorithm
CN112148999A (en) * 2020-09-09 2020-12-29 浙江工业大学 Web API recommendation method based on Mashup service neighborhood under Web open environment
CN112184303A (en) * 2020-09-25 2021-01-05 中国建设银行股份有限公司 Target information pushing method and device based on clustering algorithm and storage medium
CN113112881A (en) * 2021-03-10 2021-07-13 浙江工业大学 Remote experiment question answering system based on WebRTC
CN113112881B (en) * 2021-03-10 2022-05-24 浙江工业大学 Remote experiment question answering system based on WebRTC

Also Published As

Publication number Publication date
CN109284086B (en) 2021-05-18

Similar Documents

Publication Publication Date Title
CN109284086A (en) The adaptive Web service dynamic evolution method of Demand-Oriented
Qi et al. Finding all you need: web APIs recommendation in web of things through keywords search
Gao et al. Consensus reaching with non-cooperative behavior management for personalized individual semantics-based social network group decision making
JP5921536B2 (en) Computerized Agent System and User Instruction Semantic Networking
Dhelim et al. Personality-aware product recommendation system based on user interests mining and metapath discovery
Wu et al. A fuzzy tree matching-based personalized e-learning recommender system
US8918431B2 (en) Adaptive ontology
US20180240043A1 (en) Model and pattern structure online unital learning: mapsoul
Gupta et al. Applying data mining techniques in job recommender system for considering candidate job preferences
CN111538844B (en) Target field knowledge base generation and problem solution method and device
Zapater et al. Semantic web service discovery system for road traffic information services
CN112765477B (en) Information processing method and device, information recommendation method and device, electronic equipment and storage medium
Wang et al. An improved consensus-based model for large group decision making problems considering experts with linguistic weighted information
CN103838857B (en) Automatic service combination system and method based on semantics
CN104573062A (en) Intelligent learning method based on description logic and case-based reasoning
CN110609904A (en) Graph database data processing method and device, electronic equipment and storage medium
CN109255125A (en) A kind of Web service clustering method based on improvement DBSCAN algorithm
Perny et al. Preference-based search and machine learning for collaborative filtering: the “film-conseil” movie recommender system
Wu et al. Temporal interaction and causal influence in community-based question answering
CN112215629B (en) Multi-target advertisement generating system and method based on construction countermeasure sample
Hawkins et al. Generalizing meanings from partners to populations: Hierarchical inference supports convention formation on networks
CN116823410B (en) Data processing method, object processing method, recommending method and computing device
Caschera et al. MONDE: a method for predicting social network dynamics and evolution
Colombo-Mendoza et al. A knowledge-based multi-criteria collaborative filtering approach for discovering services in mobile cloud computing platforms: The case of MobiCloUP!
CN109255124B (en) Web service comprehensive score calculation method based on OWL-S

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