CN107248930B - 一种基于k2-MDD的Web服务组合方法 - Google Patents
一种基于k2-MDD的Web服务组合方法 Download PDFInfo
- Publication number
- CN107248930B CN107248930B CN201710414226.XA CN201710414226A CN107248930B CN 107248930 B CN107248930 B CN 107248930B CN 201710414226 A CN201710414226 A CN 201710414226A CN 107248930 B CN107248930 B CN 107248930B
- Authority
- CN
- China
- Prior art keywords
- web service
- mdd
- vertex
- graph
- edge
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于k2‑MDD的Web服务组合方法,首先根据k2树的规则对Web服务组合问题依赖图的顶点进行编码,然后依据顶点编码对边进行编码,接着根据边编码构造多值决策图结构,得到k2‑MDD结构,最后对所得的k2‑MDD结构采用符号决策图的逻辑操作进行图的基本操作。通过对Web服务组合问题的关系依赖图用k2‑MDD结构存储表示,实现对Web服务组合问题的关系依赖图进行高效、紧凑地表示从而大大减少了顶点的存储空间,减小了搜索空间。
Description
技术领域
本发明涉及大规模图数据存储与Web服务技术领域,具体涉及一种基于 k2-MDD的Web服务组合方法。
背景技术
Web服务组合是一种能够通过组合多个功能简单的Web服务来完成一项复杂任务的有效方式。但面对当前大规模的Web服务,如何快速的组合出满足用户功能性需求的Web服务组合结果是富有挑战性的问题。近些年来,Web 服务组合问题逐步成为Web服务研究领域的热点。基于图模型的方法是解决服务组合问题的主要方法之一,因为图模型表示大量的多种可能的服务组合需要大量的空间,所以利用压缩图表示服务组合依赖图被提出。多值决策图 (Multi-valued Decision Diagram,MDD)适用于描述多值变量,并且能够实现空间或者变量组合的隐式表示与搜索,使得所表示的结构更为紧凑,顶点得到明显的减少。
关于服务组合问题已经有相当多的研究,其中,M.Kuzu等提出利用规划方法解决服务组合问题。规划选择适当的服务并确定它们的顺序以达到目标。为了解决一个服务组合问题,规划算法应该首先构造一个送初始状态到目标状态的搜索图,然后通过后向搜索找到一个解决方案的路径。在大规模的服务的数量和组合下,规划算法受到搜索空间的限制,可能无法找到解决方案。为了对图数据进行紧凑表示,在传统的邻接矩阵表示法的基础上,Brisaboa 等于2009年提出了基于k2树(k2-tree)的方法,树中的每一层对应于邻接矩阵或分块子矩阵的分块子矩阵,顶点对应于邻接矩阵的分块子矩阵,生成的 k2树使用两个位向量T和L来存储,该方法不仅能够紧凑表示邻接矩阵,而且能实现邻接顶点的正向或逆向高效查询操作。为了应对这个挑战,可以使用压缩图来表示Web服务组合问题,Li等人使用Brisaboa提出的k2树结构来解决该问题。虽然使用k2树的结构来存储表示Web服务组合,使得结构更为紧凑,顶点数得到显著的减少,但是在对大规模Web服务组合问题表示时仍具有一定的局限性。施佺等给出了k2树表示方法的两种优化技术:启发式深度优先顶点重排序和自适应修正k,使得所表示的结构更为紧凑,顶点得到明显的减少。
不论是k2树还是施佺优化过的k2树,在对大规模Web服务组合问题表示时仍具有一定的局限性,具体表现在:
1)当图的规模变大时,图内部本身就会存在大量的同构子图。同样的,当按照k2树的思想把邻接矩阵进行划分后,也存在大量的相同的子矩阵。这就造成了k2树内也存在大量的同构子树。
2)k2树仅对稀疏图有效,当图变的稠密时,由于邻接矩阵内可被压缩的 0顶点变少,因此k2树紧凑性也会变低。
3)k2树未涉及动态图(需要添加或删除顶点、边以及子图等的图)的表示与操作。
目前的k2树的图数据紧凑表示方法对上述图的结构特性尚缺乏必要的考虑,在紧凑性上仍有较大的改善空间。针对基于k2树Web服务组合目前存在的问题,有必要对其进行进一步的优化与改进,以得到一种更为紧凑的结构表示方法使得进一步减少Web服务组合问题的顶点存储空间。
发明内容
本发明提供一种基于k2-MDD的Web服务组合方法,通过用k2-MDD结构存储对Web服务组合问题的关系依赖图表示,实现对Web服务组合问题的关系依赖图进行高效、紧凑地表示从而减少了顶点的存储空间,减小了搜索空间。
为解决上述问题,本发明是通过以下技术方案实现的:
一种基于k2-MDD的Web服务组合方法,包括如下步骤:
步骤1、构建Web服务组合关系依赖图G=(V,E);其中V为顶点集合,顶点包括输入概念、输出概念和Web服务;E为边集合,边包括输入概念与对应的Web服务的匹配关系,以及Web服务与对应的输出概念的匹配关系;
步骤2、根据k2树的规则,对步骤1所构建的Web服务组合关系依赖图的每个顶点进行n位编码;其中每个顶点的n位编码的每一位都是k种状态之一即0,1,…,k-1之一;
步骤3、依据步骤2所得顶点编码,将步骤1所构建的Web服务组合关系依赖图的每条边的2个顶点的编码的对应位进行状态组合,得到每条边的 n位编码;其中每条边的n位编码的每一位都是k2种状态之一,即1,2,…k2状态之一;
步骤4、根据步骤3所得边的编码,对表示输入概念与对应的Web服务的匹配关系的所有边构造多值决策图结构,生成输入概念与Web服务的相互关系的k2-MDDin,同时对表示Web服务与对应的输出概念的匹配关系的所有边构造多值决策图结构,生成Web服务与输出概念的相互关系的k2-MDDout;
步骤5、对步骤4所生成的输入概念与Web服务的相互关系的k2-MDDin和Web服务与输出概念的相互关系的k2-MDDout进行查询,并输出调用的Web 服务组合;
上述步骤2的具体子步骤为:
步骤2.1、使用k分方式,对Web服务组合关系依赖图中某一编号为N 的顶点进行编码,其中1≤N≤|V|,|V|为顶点总数;
步骤2.3、如果LT<HT,则令L=LT,H=HT,将区间[L,H]进行k等分;若N处在区间[L,H]等分为k个子区间中的第i个子区间,则i从0开始计数,则编号为N的顶点得到一位编码记为i,同时将此第i个子区间记为[LT,HT];
步骤2.4、重复步骤2.3,直至LT≥HT,此时即得到该编号为N的顶点的n位编码。
上述步骤3具体为:将2个顶点之间的边用特征函数来描述;即起始顶点X的编码向量为X=(x1,x2,…,xn),终止顶点Y的编码向量为Y=(y1, y2,…,yn),则顶点X到顶点Y的边的特征函数表示为:
E(X,Y):{0,1,…k-1}n×{0,1,…k-1}n→{1,2,…k2}n。
上述步骤4的具体子步骤为:
步骤4.1、使用多终点和边值决策图库,创建取值范围均为{1,2,…, k2}的n个变量;
步骤4.2、根据步骤3所得到的边的编码,Web服务组合关系依赖图的所有边中任意取出一条边,并对该条边使用多终点和边值决策图库生成一个多值决策图,记为多值决策图R;
步骤4.3、在Web服务组合关系依赖图的其余边中任意取出一条边,并对该条边使用多终点和边值决策图库生成一个多值决策图,记为多值决策图 T;
步骤4.4、使用多终点和边值决策图库,对多值决策图R和多值决策图T 进行合并运算,并将运算后的结果去覆盖原来的多值决策图R;
步骤4.5、在Web服务组合关系依赖图的剩余边中任意取出一条边,并对该条边使用多终点和边值决策图库生成一个多值决策图,并将该多值决策图去覆盖原来的多值决策图T;
步骤4.6、重复步骤4.4~4.5,直至Web服务组合关系依赖图的所有边都生成为多值决策图,并合并至多值决策图R中,此时所的得到多值决策图R 即为Web服务组合关系依赖图的k2-MDD。
上述步骤5的具体子步骤为:
步骤5.1、用户给出一定的请求request<Rin,Rout>,其中Rin为输入概念集合,Rout为输出概念集合;
步骤5.2、将输入概念集合Rin中的每个输入概念作为起始顶点,在步骤 4生成的输入概念与Web服务的相互关系的k2-MDDin中,通过外邻查询操作查找到该输入概念所对应的所有终止顶点即Web服务;
步骤5.3、分别将步骤5.2所查找到的每个Web服务作为终止顶点,在步骤4生成的输入概念与Web服务的相互关系的k2-MDDin中,通过内邻查询操作查找到该Web服务所对应的所有起始顶点即输入概念;
步骤5.4、判断步骤5.3所查找到的每个Web服务所对应的所有输入概念是否都存在于输入概念集合Rin中;如果都存在,则调用该Web服务,并将其添加到可调用的Web服务列表中;否则,不调用该Web服务;
步骤5.5、将步骤5.4所得服务组合列表中的每个调用的Web服务作为起始顶点,在步骤4生成的Web服务与输出概念的相互关系的k2-MDDout中,通过外邻查询操作查找到该Web服务所对应的所有终止顶点即输出概念;
步骤5.6、判断输出概念集合中Rout中的每个输出概念是否都出现在步骤 5.5所查找到的输出概念中;如果都出现,则组合结束,并输出步骤5.4所得到的可调用的Web服务列表;否则,将步骤5.5所查找到的输出概念加入到输入概念集合Rin集合中,并返回至步骤5.2。
与现有技术相比,本发明具有如下特点:
1、采用k2树的规则对邻接矩阵进行划分,然后使用多值决策图存储图数据,使k2树划分邻接矩阵时产生的大量相同的子矩阵,即k2树中的同构子树,自然地被合并,最终生成的k2-MDD结构比k2树存储结构紧凑;
2、由于k2-MDD中不论是0值还是1值的子矩阵,只要是同构的,都将被合并,在表示稠密图时,k2-MDD顶点数会变少,结构更为紧凑,有效的减少了Web服务组合问题中的顶点数量;
3、k2-MDD存储图数据后,图的相关基本操作可转化为符号决策图的逻辑操作,为动态图数据的高效操作创造了条件,使得基于k2-MDD图的查询操作要比基于k2树更为简洁,即在遍历整个图时更方便;
4、k2-MDD是基于多值决策图的结构,其本身结构比k2树更有利于子图查询、图同构、图/子图匹配以及多图匹配等,故在更有利于Web服务组合匹配的实现。
具体实施方式
以下结合实施例对本发明做进一步详细的描述。
多值决策图MDD(Multi-valuedDecisionDiagram)是一个具有多个终端顶点的有向无环图,描述了一个带有n个变量的离散多值函数, f:D1×D2×…×Di×…×Dn→S,其中:
1)Di={1,2,…,ni}为多值变量xi的有限值域,不同变量其值域可能不同;S为多值函数f的有限值域,即MDD终端顶点的取值集合,其可能为布尔值(真和假,或者0和1)、有限整数集合或者有限实数集合。
2)MDD的顶点包括终端顶点和非终端顶点。
3)非终端顶点用xi表示,包含ni个指向其他顶点的指针,这些指针和函数f对应,形式化描述如下式所示:
多值变量x1到xn给定的一组取值,得到唯一的终端顶点取值。
MDD的化简规则为以下三条:
规则1、合并相同终端顶点:同一属性的终端顶点只保留一个,并删除其余相同属性的终端顶点,原来指向这些已删除的终端顶点的指针重定向到保留的终端顶点上。
规则2、合并相同内部顶点:同一属性的内部顶点,即非终端顶点,只保留一个,并删除其余相同属性的内部顶点,原来指向这些已删除的顶点的指针重定向到保留的内部顶点上。
规则3,删除冗余顶点:如果一个顶点的所有指针都指向同一顶点,那么该顶点就是冗余顶点,将其删除,并将指向该顶点的指针指向删除顶点的孩子顶点。
一种基于k2-MDD的Web服务组合方法,其原图为Web服务组合依赖图 G=(V,E),其顶点数|V|为大于等于1的整数,边数|E|为大于等于1的整数,包括如下步骤:
步骤1、构建Web服务组合问题依赖图G=(V,E),V表示顶点集合,表示所有的Web服务关系中的对应Web服务的输入概念cin、输出概念cout和 Web服务w。E表示边集合,分别表示输入概念c与对应的Web服务w的匹配关系、Web服务w与对应的输出概念c的匹配关系。
依据以上关系,所构建两个关系依赖图G=(V,E)实际上由和表示Web服务的输入概念cin与Web服务w关系依赖图Gin=(V,E)和表示Web服务的输出概念cout关系依赖图Gout=(V,E)两部分组成。
步骤2、根据k2树的规则对Web服务组合关系依赖图G=(V,E)的顶点进行n位编码,其中,本例k=2。对于编号为N的顶点,1≤N≤|V|,将顶点总数|V|以递归2分方式进行编码,在顶点的n位编码中每一位都是2 种状态之一,0或1。
步骤2.2、本例k=2,使用二分方式对顶点进行编码。二分的下界LT=1,上界HT=2n;对于编号为N的顶点,1≤N≤|V|,对总数|V|的顶点按递归二分方式进行编码。根据原图中编号为N的顶点在所有顶点数中的所在位置,得到一个状态作为其一位编码,本例编号为N的顶点的n位编码中每一位都是 2种状态之一,即0或1。
步骤2.3、若LT<HT,二分方式的中值等于上界与下界和的一半。若N 小于或等于中值,得到编号为N的顶点的一位编码为“0”,同时将中值减1 作为上界HT;否则,得到编号为N的顶点的一位编码为“1”,同时中值加1 作为下界LT。
步骤2.4、步骤2.3重复进行,直至LT≥HT,此时便得到该编号为N的顶点的n位编码。
步骤3、依据步骤2所得顶点编码,对依赖图的边进行编码。构造多值决策图结构,即MDD结构,所得为k2-MDD结构。k2-MDD结构是MDD结构的一种特殊情况,限定了它的变量个数和变量的取值范围,其变量个数每个变量的取值范围均为{1,2,…,k2}。故k2-MDD具有MDD 的性质,适用MDD的化简规则。
k2-MDD结构为图的邻接矩阵用一个将原始矩阵进行递归的k2等分后构造的多值决策图结构,图的邻接矩阵中任一单元均对应于k2-MDD中n个变量的唯一一组取值,根据该组取值得到的唯一函数值即终端顶点的值,并且此值与原始矩阵中对应单元格的元素值相等。
本发明构造的含有n个变量的k2-MDD,令其n个变量的值等于边编码集合里的值,函数值为T,否则为F,所得k2-MDD与有向图G对应。
步骤3.1、依据步骤2所得顶点编码,对原图的边进行编码;本发明中 Web服务组合关系依赖图的有向边为顶点之间的关系(即Web服务组合问题中的概念参数c和服务w),用顶点之间的特征函数描述。如顶点v0到顶点 v1之间的边,用特征函数E(v0,v1)来描述。设X=(x1,…,xn),Y=(y1,…, yn)是图中顶点的编码向量,则顶点X到顶点Y的边的特征函数表示为:
E(X,Y):{0,1,…k-1}n×{0,1,…k-1}n→{1,2,…k2}n
即两个顶点编码的每一位上的k种状态组合得到k2种状态。因此,边的编码长度依然是n位,编码的每一位是k2种状态之一,本例边编码的每一位即1,2,3,4四种状态之一。
将要进行编码的某条边的起、止两个顶点的编码,将该边的两个顶点的某对应位编码状态进行组合,即得到该边的一位编码。n位编码状态依次对应组合,即得到该边的n位编码。
步骤3.2、重复步骤3.1,直至得到图中所有边的编码。根据步骤2所确定的边编码,构造多值决策图结构,即MDD(Multi-valuedDecisionDiagram) 结构;所得为k2-MDD结构;在Web服务组合问题中我们将输入概念参数cin和Web服务w之间的相互关系的依赖图根据以上步骤构建k2-MDDin,将Web 服务w和输出概念参数cout之间的相互关系的依赖图根据以上步骤构建 k2-MDDout。
步骤3.3、使用多终点和边值决策图库,即MEDDLY (Multi-terminalandEdge-ValuedDecisionDiagramLibrary),初始化一个含有n 个变量的MDD,即顶点或边的编码长度n,其值域如步骤2.1所述为1~k2,本例为1~4。
使用布尔型MDD,其终点是真(T)表示概念参数与服务之间有相互关系,否则是假(F)表示概念参数与服务没有相互关系。
MEDDLY库是为操控MDD提供的一个C/C++开源项目,由爱荷华州立大学在LINUX平台下开发,其中提供了丰富的MDD构造以及操作的函数。例如:使用createVariablesBottomUp()函数创建将要构造MDD的变量个数以及每个变量的取值范围。使用createEdge()函数根据给定的一组或多组变量的值生成一个MDD。使用apply()函数以及UNION运算符将两个MDD 进行合并。
步骤3.4、从依赖图中选取一条边,根据步骤2所得的该条边编码,使用 MEDDLY库中的createEdge()函数生成一个初始MDD,记为R;接着,在依赖图的其余边中再取一条边,用相同方法生成另一条边的MDD,记为T。
步骤3.5、使用MEDDLY库中提供的UNION运算符,对步骤3.4得到的 R和T进行UNION运算,合并结果覆盖原来的R,仍记作R。
步骤3.6、继续在剩余的边中再取一条边用相同方法生成MDD,记为T, R和T进行UNION运算,合并结果仍记作R。
步骤3.7、重复步骤3.6,直至所有边都生成MDD并合并到初始MDD 中,最终得到的MDD即为原依赖图的k2-MDD。
由于步骤1所构建两个关系依赖图G=(V,E)实际上由和表示Web服务的输入概念cin与Web服务w关系依赖图Gin=(V,E)和表示Web服务的输出概念cout关系依赖图Gout=(V,E)两部分组成。因此,步骤3所得到的k2-MDD 也由输入概念与Web服务的相互关系的k2-MDDin和Web服务与输出概念的相互关系的k2-MDDout两部分组成。
步骤4,根据步骤3所得的k2-MDD结构进行依赖图的查询。当用户给出一定的请求request<Rin,Rout>,Rin为输入概念集合,Rout为输出概念集合。使用外邻查询查找到对应的Web服务,并使用内邻查询确定对应的Web服务的输入概念在Rin中都已知,如果是则为可调用的Web服务。由被调用的 Web服务可以得到对应的输出概念,以此类推,直到Rout都得到,并给出被调用的服务组合。
步骤4.1、边查询。
在步骤3所得的k2-MDD结构上,根据某条边的起止顶点v1和v2的编码得到该条边的特征函数E(v1,v2),在步骤3所得原图的k2-MDD中检测E (v1,v2)的函数值。若值为T,则该边存在,否则不存在。
使用MEDDLY库中提供INTERSECTION运算符求两个MDD的交运算。将步骤3所得原图的k2-MDD与根据该条边的特征函数E(v1,v2)生成的 k2-MDD进行INTERSECTION运算,运算结果为T,则该边存在,否则不存在。
步骤4.2、外邻查询。
在步骤3所得的k2-MDD结构上进行的外邻查询操作包括求得顶点出度,根据步骤4.1中的边查询的结果,将要进行外邻查询的顶点赋值为v1,图中所有其它顶点依次赋值为v2,检测E(v1,v2)的函数值。若值为T,则当前 v2是v1的一个外邻点,否则不是;通过统计v1外邻点的个数得到该顶点v1的出度。
步骤4.3、内邻查询。
在步骤3所得的k2-MDD结构上的内邻查询操作包括求得顶点入度,与步骤4.2外邻查询类似,将要进行外邻查询的顶点赋值为v2,图中所有其它顶点依次赋值为v1,检测E(v1,v2)的函数值。若值为T,则当前v1是v2的一个内邻点,否则不是;通过统计v2内邻点的个数得到该顶点v2的入度。
步骤4.4、根据步骤3所得的两个k2-MDD结构分别是输入概念与Web 服务的相互关系的对应k2-MDDin和Web服务与输出概念的相互关系对应的 k2-MDDout。当用户给出一定的请求request<Rin,Rout>,Rin为输入概念集合,记为Rin,=<in1,in2,…,inn>,Rout为输出概念集合,记为Rout=<out1,out2,…, outn>。在得到的k2-MDDin结构中通过外邻查询查找到Rin对应的Web服务,并使用内邻查询确定对应的Web服务的输入概念在Rin中都已知,如果是则为可调用的Web服务。把可被调用的Web服务添加到服务组合列表中,否则,不调用该Web服务,在得到的k2-MDDout结构中由被调用的Web服务通过外邻查询可以得到对应的输出概念,如果Rout集合中的输出概念都已知,则组合结束,否则,将得到的输出概念加入到Rin集合中,以此类推,直到Rout都得到,并给出被调用的服务组合。
本发明设计的一种基于k2-MDD的Web服务组合方法,采用k2树的规则对Web服务依赖图对应的邻接矩阵进行划分,然后使用多值决策图MDD存储图数据,生成的k2-MDD结构。不仅比k2树存储结构紧凑,图的相关基本操作转化为符号决策图的逻辑操作。1、根据k2树的规则对Web服务组合问题依赖图的顶点进行n位编码,k≥2;2、依据顶点编码对边进行编码;3、根据边编码构造多值决策图结构,得与依赖图G对应k2-MDDin、 k2-MDDout结构,其具有MDD的性质,适用MDD的化简规则;4、对所得的 k2-MDD结构采用符号决策图的逻辑操作进行图的基本操作,当用户给出一定的请求request<Rin,Rout>,Rin为输入概念集合,Rout为输出概念集合。使用外邻查询查找到对应的Web服务,并使用内邻查询确定对应的Web服务的输入概念在Rin中都已知,如果是则为可调用的Web服务。由被调用的Web 服务可以得到对应的输出概念,以此类推,直到Rout都得到,并给出被调用的服务组合。本发明提出采用k2-MDD结构存储表示Web服务组合问题依赖图,用k2树的思想对邻接矩阵进行划分,然后使用多值决策图进行存储,使 k2树中大量的同构子树所造成的冗余顶点得到合并,达到存储结构更为紧凑的目的,从而大大减少了顶点产生数量,从而减少了搜索空间,依赖图的基本操转化逻辑操作,提高了搜索效率。
上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (4)
1.一种基于k2-MDD的Web服务组合方法,其特征是,包括如下步骤:
步骤1、构建Web服务组合关系依赖图G=(V,E),该Web服务组合关系依赖图G=(V,E)由表示Web服务的输入概念cin与Web服务w关系依赖图Gin=(V,E)和表示Web服务的输出概念cout关系依赖图Gout=(V,E)两部分组成;其中V为顶点集合,顶点包括输入概念、输出概念和Web服务;E为边集合,边包括输入概念与对应的Web服务的匹配关系,以及Web服务与对应的输出概念的匹配关系;
步骤2、根据k2树的规则,对步骤1所构建的Web服务组合关系依赖图的每个顶点进行n位编码;其中每个顶点的n位编码的每一位都是k种状态之一即0,1,…,k-1之一;
步骤3、依据步骤2所得顶点编码,将步骤1所构建的Web服务组合关系依赖图的每条边的2个顶点的编码的对应位进行状态组合,得到每条边的n位编码;其中每条边的n位编码的每一位都是k2种状态之一,即1,2,…k2状态之一;
步骤4、根据步骤3所得边的编码,对表示输入概念与对应的Web服务的匹配关系的所有边构造多值决策图结构,生成输入概念与Web服务的相互关系的k2-MDDin,同时对表示Web服务与对应的输出概念的匹配关系的所有边构造多值决策图结构,生成Web服务与输出概念的相互关系的k2-MDDout;
步骤5、对步骤4所生成的输入概念与Web服务的相互关系的k2-MDDin和Web服务与输出概念的相互关系的k2-MDDout进行查询,并输出可调用的Web服务;
步骤5.1、用户给出一定的请求request<Rin,Rout>,其中Rin为输入概念集合,Rout为输出概念集合;
步骤5.2、将输入概念集合Rin中的每个输入概念作为起始顶点,在步骤4生成的输入概念与Web服务的相互关系的k2-MDDin中,通过外邻查询操作查找到该输入概念所对应的所有终止顶点即Web服务;
步骤5.3、分别将步骤5.2所查找到的每个Web服务作为终止顶点,在步骤4生成的输入概念与Web服务的相互关系的k2-MDDin中,通过内邻查询操作查找到该Web服务所对应的所有起始顶点即输入概念;
步骤5.4、判断步骤5.3所查找到的每个Web服务所对应的所有输入概念是否都存在于输入概念集合Rin中;如果都存在,则调用该Web服务,并将其添加到可调用的Web服务列表中;否则,不调用该Web服务;
步骤5.5、将步骤5.4所得服务组合列表中的每个调用的Web服务作为起始顶点,在步骤4生成的Web服务与输出概念的相互关系的k2-MDDout中,通过外邻查询操作查找到该Web服务所对应的所有终止顶点即输出概念;
步骤5.6、判断输出概念集合中Rout中的每个输出概念是否都出现在步骤5.5所查找到的输出概念中;如果都出现,则组合结束,并输出步骤5.4所得到的可调用的Web服务列表;否则,将步骤5.5所查找到的输出概念加入到输入概念集合Rin集合中,并返回至步骤5.2;
2.根据权利要求1所述的一种基于k2-MDD的Web服务组合方法,其特征是,步骤2的具体子步骤为:
步骤2.1、使用k分方式,对Web服务组合关系依赖图中某一编号为N的顶点进行编码,其中1≤N≤|V|,|V|为顶点总数;
步骤2.3、如果LT<HT,则令L=LT,H=HT,将区间[L,H]进行k等分;若N处在区间[L,H]等分为k个子区间中的第i个子区间,则i从0开始计数,则编号为N的顶点得到一位编码记为i,同时将此第i个子区间记为[LT,HT];
步骤2.4、重复步骤2.3,直至LT≥HT,此时即得到该编号为N的顶点的n位编码。
3.根据权利要求1所述的一种基于k2-MDD的Web服务组合方法,其特征是,步骤3具体为:将2个顶点之间的边用特征函数来描述;即起始顶点X的编码向量为X=(x1,x2,…,xn),终止顶点Y的编码向量为Y=(y1,y2,…,yn),则顶点X到顶点Y的边的特征函数表示为:
E(X,Y):{0,1,…k-1}n×{0,1,…k-1}n→{1,2,…k2}n。
4.根据权利要求1所述的一种基于k2-MDD的Web服务组合方法,其特征是,步骤4的具体子步骤为:
步骤4.1、使用多终点和边值决策图库,创建取值范围均为{1,2,…,k2}的n个变量;
步骤4.2、根据步骤3所得到的边的编码,Web服务组合关系依赖图的所有边中任意取出一条边,并对该条边使用多终点和边值决策图库生成一个多值决策图,记为多值决策图R;
步骤4.3、在Web服务组合关系依赖图的其余边中任意取出一条边,并对该条边使用多终点和边值决策图库生成一个多值决策图,记为多值决策图T;
步骤4.4、使用多终点和边值决策图库,对多值决策图R和多值决策图T进行合并运算,并将运算后的结果去覆盖原来的多值决策图R;
步骤4.5、在Web服务组合关系依赖图的剩余边中任意取出一条边,并对该条边使用多终点和边值决策图库生成一个多值决策图,并将该多值决策图去覆盖原来的多值决策图T;
步骤4.6、重复步骤4.4~4.5,直至Web服务组合关系依赖图的所有边都生成为多值决策图,并合并至多值决策图R中,此时所的得到多值决策图R即为Web服务组合关系依赖图的k2-MDD。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710414226.XA CN107248930B (zh) | 2017-06-05 | 2017-06-05 | 一种基于k2-MDD的Web服务组合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710414226.XA CN107248930B (zh) | 2017-06-05 | 2017-06-05 | 一种基于k2-MDD的Web服务组合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107248930A CN107248930A (zh) | 2017-10-13 |
CN107248930B true CN107248930B (zh) | 2020-07-28 |
Family
ID=60017699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710414226.XA Active CN107248930B (zh) | 2017-06-05 | 2017-06-05 | 一种基于k2-MDD的Web服务组合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107248930B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096674B (zh) * | 2019-04-29 | 2022-10-18 | 电子科技大学 | 一种基于参数依赖的仪器参数校正方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582080A (zh) * | 2009-06-22 | 2009-11-18 | 浙江大学 | 一种基于图像和文本相关性挖掘的Web图像聚类方法 |
CN101763263A (zh) * | 2010-01-04 | 2010-06-30 | 山东浪潮齐鲁软件产业股份有限公司 | 一种基于web的业务组件可视化开发工具的配置方法 |
CN103106269A (zh) * | 2013-02-04 | 2013-05-15 | 南京大学 | 一种基于搜索空间约减的Web服务组合方法 |
JP2013161411A (ja) * | 2012-02-08 | 2013-08-19 | Hiroshima City Univ | 多状態システムの解析方法及び解析装置 |
CN106294739A (zh) * | 2016-08-10 | 2017-01-04 | 桂林电子科技大学 | 一种基于k2树和多值决策图的大规模图数据处理方法 |
-
2017
- 2017-06-05 CN CN201710414226.XA patent/CN107248930B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582080A (zh) * | 2009-06-22 | 2009-11-18 | 浙江大学 | 一种基于图像和文本相关性挖掘的Web图像聚类方法 |
CN101763263A (zh) * | 2010-01-04 | 2010-06-30 | 山东浪潮齐鲁软件产业股份有限公司 | 一种基于web的业务组件可视化开发工具的配置方法 |
JP2013161411A (ja) * | 2012-02-08 | 2013-08-19 | Hiroshima City Univ | 多状態システムの解析方法及び解析装置 |
CN103106269A (zh) * | 2013-02-04 | 2013-05-15 | 南京大学 | 一种基于搜索空间约减的Web服务组合方法 |
CN106294739A (zh) * | 2016-08-10 | 2017-01-04 | 桂林电子科技大学 | 一种基于k2树和多值决策图的大规模图数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107248930A (zh) | 2017-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294739A (zh) | 一种基于k2树和多值决策图的大规模图数据处理方法 | |
CN107092659B (zh) | 一种通用的树形结构存储解析方法 | |
Bringmann et al. | Sampling geometric inhomogeneous random graphs in linear time | |
CN107565973B (zh) | 一种结点可扩展的哈夫曼编码的实现方法及电路结构 | |
CN109656798B (zh) | 基于顶点重排序的超级计算机大数据处理能力测试方法 | |
CN115606188A (zh) | 一种点云编解码方法、编码器、解码器及存储介质 | |
US20220329833A1 (en) | Nearest neighbor search method, apparatus, device, and storage medium | |
CN113901159A (zh) | 基于多级空间索引的矢量数据网络传输局部加解密方法 | |
CN107248930B (zh) | 一种基于k2-MDD的Web服务组合方法 | |
CN106570166A (zh) | 一种基于多个局部敏感哈希表的视频检索方法及装置 | |
Chang et al. | Fast codebook search algorithms based on tree-structured vector quantization | |
KR101136200B1 (ko) | 분할된 도메인들의 중요 샘플링을 위한 시스템, 방법 및 컴퓨터 판독가능 기록 매체 | |
CN112256652B (zh) | 一种三维点云属性压缩方法、系统及终端 | |
CN109189996B (zh) | 基于k2-mdd的大规模图的最大公共连通子图匹配方法 | |
Delgosha et al. | A universal low complexity compression algorithm for sparse marked graphs | |
Mohamed et al. | Speeding up fractal image compression by genetic algorithms | |
CN107169066A (zh) | 一种基于kd树和多值决策图的时序图数据处理方法 | |
Fischer et al. | Combinatorial-trees as generalized Cayley graphs for fundamental groups of one-dimensional spaces | |
Chatterjee et al. | Exploiting topological structures for graph compression based on quadtrees | |
Golin et al. | Encoding 2D range maximum queries | |
CN113961568A (zh) | 基于区块链的链式数据结构的区块快速查找方法 | |
CN111597404A (zh) | 一种基于k2-MDD的带标签图的最大公共子图匹配方法 | |
Kamali et al. | Context-based algorithms for the list-update problem under alternative cost models | |
CN114281830B (zh) | 多属性条件的规则映射表构建方法、规则匹配方法和装置 | |
CN117312471B (zh) | 海量位置点的海陆属性判断方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |