[发明专利]基于服务簇的服务组合与替换方法有效

专利信息
申请号: 201510259703.0 申请日: 2015-05-20
公开(公告)号: CN104902018B 公开(公告)日: 2018-01-09
发明(设计)人: 杜玉越;盖俊静;盖俊虎;沙静;刘伟 申请(专利权)人: 山东科技大学
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 济南舜源专利事务所有限公司37205 代理人: 陈海滨
地址: 266590 山东省青*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于服务簇的服务组合与替换方法。本发明借助已有的服务聚簇方法构建服务簇,并基于Petri网提出服务及服务簇的形式化描述方法;将服务的输入输出参数抽象表示,通过参数矩阵来描述服务的输入输出参数;本发明中的服务匹配方法使服务簇中的服务间能够充分共性与个性,通过缩小服务查找范围,从而提高服务发现与组合效率;通过对服务簇模型的改进,提出Web服务组合替换方法;对服务簇内服务的并行组合与串行组合分别进行了描述,在服务簇内实现快速服务组合,进而实现高效率的服务组合替换;本发明中的服务替换方法,不仅能实现服务簇内单一服务替换,而且能实现服务簇内服务组合替换。
搜索关键词: 基于 服务 组合 替换 方法
【主权项】:
基于服务簇的服务组合与替换方法,其特征在于,包括如下步骤:a、构建Web服务和服务簇的形式化模型定义是一个自然数集合,即而设定且定义Petri网:一个Petri网表示为一个四元组PN=(S,T;F,M0),其中,(1)S是一个有限库所集;(2)T是一个有限变迁集,且(3)是一个弧集;(4)dom(F)∪cod(F)=S∪T,其中,dom(F)={x∈S∪T|∃y∈S∪T:(x,y)∈F},cod(F)={y∈S∪T|∃x∈S∪T:(x,y)∈F};]]>(5)为网PN的一个标识,其中,M(s)表示标识M下库所s中的托肯数,M0是初始标识;定义输入/输出集:设PN=(S,T;F,M0)为一个Petri网,x∈S∪T为网N的一个元素,记:·x={y|y∈S∪T∧(y,x)∈F}称为x的输入集;x·={y|y∈S∪T∧(x,y)∈F}称为x的输出集;·x∪x·称为元素x的外延;在Petri网中,采用一个圆圈表示一个库所,用一个矩形表示一个变迁;若(x,y)∈F,则x到y的一条有向边表示它们的流关系;定义引发规则:设PN=(S,T;F,M0)为一个Petri网,则其具有如下的变迁发生规则:1)对于变迁t∈T,如果则变迁t在标识M有发生权,记为M[t>;2)如果M[t>,则在标识M下,变迁t能够发生,从标识M发生变迁t得到一个新的标识M′,记为M[t>M′,根据上述Petri网的定义,构建Web服务的形式化模型如下:定义Web服务:一个Web服务描述为一个三元组WS=(SF,I,O),其中:(1)SF表示服务的功能语义描述;(2)I、O表示服务的输入、输出参数集,并且P=(P.name,P.concept),其中,①P.name是输入、输出参数名;②P.concept是一个输入、输出参数的本体概念,用以表示参数的语义;定义服务请求:一个服务请求表示为R=(SFr,Ir,Or),其中:(1)SFr表示服务请求的功能语义描述;(2)Ir代表服务请求者可提供的输入参数集;(3)Or代表服务请求者需要输出的参数集;定义服务网元:服务WS=(SF,I,O)的服务网元定义为SNU=(t,It,Ot,Ft,M),其中:(1)t是一个能够完成服务功能的变迁;(2)It=·t={si1,si2,si3,…,sin}是变迁t的输入集,代表服务的输入参数集合;Ot=t·={so1,so2,so3,…,son}代表服务的输出参数集合;(3)Ft=(It×t)∪(t×Ot)是有向弧集合,表示服务的输入、输出参数的流关系;(4)M是服务网元的标识,M:It∪Ot→{0,1};(5)变迁t在M下的发生规则为:①则变迁t在M下有发生权,记为M[t>;②若M[t>,则t在标识M下能够发生并得到一个新的标识,记作M[t>M′,对于定义服务簇:对于n个服务:ws1,ws2,...,SC={ws1,ws2,...,wsn}是一个服务簇,其中:wsu=(SFu,Iu,Ou,SCMu),且SFu和SFv满足语义相似;定义服务簇网元:一个有n个服务的服务簇:SC={ws1,ws2,...,wsn},SNUk=(tk,Itk,Otk,Ftk,Mk),服务簇网元表示为SCNU=(SU,tC,IC,OC,FC,MC),其中:(1)SU={SNU1,SNU2,SNU3,…,SNUn}是服务网元的集合;(2)tC是服务簇网元的变迁,且能够完成服务簇中各服务的功能;(3)IC、OC分别表示服务的输入、输出参数集,并且P=(P.concept,P.lable),其中:①P.concept是服务簇中服务输入参数对应的语义概念;②P.lable是一个n×1的矩阵,其中,n是服务簇中服务的个数,并且P.lable是服务簇中的服务相应P.concept的值;(4)FC=(ICt×tC)∪(tC×OCt)表示服务簇输入、输出参数的流关系;(5)MC是服务簇网元的标识;根据服务簇网元的定义,将一个服务的输入参数值作为服务簇输入矩阵的一行;将该服务的输出参数值作为服务簇输出参数矩阵的对应行;b、基于服务簇的服务发现、组合与替换设服务簇k的服务总数为m个,输入参数的总数为ni个,输出参数总数为no个;ICk、OCk、ir、or分别代表服务簇的输入矩阵、服务簇的输出矩阵、服务请求的输入矩阵、以及服务请求的输出矩阵;其中,ICk是一个m×ni矩阵,OCk是一个m×no矩阵,ir是一个1×ni矩阵,or是一个1×no矩阵;ICkp(q)代表输入矩阵的第p行第q列的值;输入一个服务簇网元模型SCNUk=(SUk,tCk,ICk,OCk,FCk,MCk)和一个服务请求网元sr={sfr,ir,or},基于服务簇的服务匹配输出CI和CO,其中,CI表示输入匹配矩阵,是一个m×ni矩阵;CO表示输出匹配矩阵,是一个m×no矩阵;基于服务簇的服务匹配的过程如下:S1:以ICk的首行开始,依次匹配该行的每个值;S2:若该行中元素的值小于或者等于ir对应的值,则标记CI对应位置的值为1;S3:否则,标记为0;S4:以OCk的首行开始,依次匹配该行的每个值;S5:若该行中元素的值大于或者等于ir对应的值,则标记CI对应位置的值为1;S6:否则,标记为0;S7:输出矩阵CI和矩阵CO;其中,服务匹配的时间复杂度是m×ni2+m×no2;输入矩阵CI和矩阵CO,基于上述服务匹配过程提出服务发现的过程,进而得到一个服务集合S;服务发现的具体过程如下:S1:p=1,S2:以CI的第p行开始,依次匹配该行的每个值;S3:若该行中所有的值都为1,则跳到S5;S4:否则p=p+1,循环这一匹配过程;S5:依次匹配CO第p行的各值;S6:若该行中所有的值都为1,则将该服务合并入集合S中,即S=S∪{wsp};S7:否则p=p+1,跳到S2;S8输出服务集合S;通过服务发现过程发现服务簇中满足服务请求的服务;服务发现输出的服务集合S中,所有服务的输入输出匹配矩阵同为即服务集合S中的每个服务都满足服务请求;服务发现过程的时间复杂度为:m×ni+m×n;定义wsi◇wsj表示服务wsi和服务wsj的并行组合;定义wsi|wsj表示服务wsi和服务wsj的串行组合;设α=[b1,b2,…,bk]是一个1×k矩阵,其中,bi∈{0,1},且对于如果bi=1,α表示为E,即E=[1,…,1];对于若bi=0,α表示为0,即0=[0,0,…,0];其中,α表示Petri网中的一个标识;并且α1≥α2表示b1i≥b2i;定义基元素:设α1=[b11,b12,…,b1k]且α2=[b21,b22,…,b2k]是两个1×k矩阵,其中and b2i∈{0,1},若α1≥α2,则称α2是α1的一个基元素;定义基集合:设C是一个1×k矩阵的集合;如果或者αq是αp的一个基元素,且|C”|>|C’|,则称C’是C的一个基集合;定义服务组合标志:用于标记当前服务请求下的服务组合的服务基集合,其初始标志为根据服务匹配过程提出服务匹配的运算方法如下:定义匹配运算:SNUa=(ta,Ita,Ota,Fta,Ma)是一个服务网元,R=(SFr,Ir,Or)是一个服务请求;匹配运算被定义为:(1)其中,(2)其中,定义服务簇匹配矩阵:WSreq=(SFreq,Ireq,Oreq)是一个服务请求;SCNUa=(SEa,tCa,ICta,OCta,FCta,Ma)是一个服务簇网元;服务簇的输入/输出匹配矩阵被定义为:CI=[mI1,mI2,mI3,...,mIw]T=Ireq⊗ICSa=[Ireq⊗Is1,Ireq⊗Is2,...,Ireq⊗Isw]T=m1(sI1)m1(sI2)...m1(sIn)m2(sI1)m2(sI2)...m2(sIn).........mw(sI1)mw(sI2)...mw(sIn),]]>且其中,mk(sI(O)j)=0,1;输入服务簇网元SCNU=(SU,tC,IC,OC,FC,MC)和服务簇的匹配矩阵CI、CO,其中,P=(P.concept,P.lable),服务输入、输出参数的个数分别为k,l;输出服务集合B;则服务串行组合的过程如下:S1:依次匹配服务的输入、输出参数的参数语义;S2:若存在ICi.concept=OCj.concept,依次匹配CI(i);S3:若CIp(i)=0,以CI的首行开始,依次匹配该行的每个值;S4:若CIq=[1,1,…,1],匹配相应的COq;S5:若COq(j)=1且COq∪COp=[1,1,…,1],则B=B∪{wsq},循环这一过程;S6:若输出“没有满足条件的串行服务组合”;S7:输出服务集合B;SCM表示服务的基集合,通过SCM的过程体现服务簇中服务间的共性与个性,从而用SCM来发现单一替代服务和组合替代服务;输入服务簇SC={ws1,ws2,…,wsn}和服务簇的匹配矩阵CI、CO,SCM过程如下:S1:依次匹配mIj,若mIj≠[1,1,…,1],则SCMj标记为Φ;S2:匹配mOk,若mOk=[1,1,…,1],SCMk标记为0;S3:若mOk≠[1,1,…,1],找到所有不为Φ的SCMp且若则A=A∪{mop},S4:若A=Φ,则SCMk=Φ;S5:否则标记SCMk为A的基集合;S6:若在所有的SCM中有一列全为1,在所有SCM中删掉这一列;S7:输出SCM;定义SCMkm代表SCMk的第m个元素;skml是SCMkm的第l列,n,m,and定义组合规则:SC={ws1,ws2,...,wsn}是一个服务簇;其中,wsi=(SFi,Ii,Oi,SCMi),SCMk⊥SCMp=SCMk1⊥SCMp1⊥SCMk2⊥SCMp2⊥…⊥SCMkn⊥SCMpn,其中,SCMkm⊥SCMpm=[s1,s2,…,sq]且输入SC={ws1,ws2,...,wsn}和失效服务wsm,输出替换服务集合A;则发现单一服务和组合服务的服务替换的过程如下:S0:A=Φ;S1:若失效服务的SCMm=Φ或SCMm=0;S1.1:匹配SCM,若则将服务wsk并入集合A中,A=A∪{wsk};S1.2:若匹配存在SCMi,SCMk,SCMi⊥SCMk=0,则将wsi和wsk的组合并入集合A中,即A=A∪{wsi◇wsk};S2:否则,若失效服务的SCMm≠Φ且SCMm≠0;S2.1:如果匹配SCMk=0,则将服务wsk并入集合A中,A=A∪{wsk};S2.2:若匹配存在SCMkj∈SCMk,SCMmh∈SCMm,且SCMkj≤SCMmh,则将服务wsk并入集合A中,A=A∪{wsk};S2.3:如果匹配SCMi,SCMk,SCMi⊥SCMk=0,则将wsi和wsk的组合并入集合A中,A=A∪{wsi◇wsk};S3:若A=Φ;S3.1:若SCMm中存在某一列的值为1,而其他服务的在该列的值都不为1,则将这一列在所有的SCM中移除,转到S2;S3.2:否则,输出“没有满足条件的替换服务”;S4:输出A,即为满足条件的替换服务集合。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东科技大学,未经山东科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510259703.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top