CN109284086A - The adaptive Web service dynamic evolution method of Demand-Oriented - Google Patents
The adaptive Web service dynamic evolution method of Demand-Oriented Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering 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
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.
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)
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)
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 |
-
2018
- 2018-08-17 CN CN201810939197.3A patent/CN109284086B/en active Active
Patent Citations (6)
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)
Title |
---|
张元鸣等: "基于全局依赖网的Web服务组合自动演化方法研究", 《电子学报》 * |
Cited By (11)
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 |