CN102420812A - 一种支持分布并行处理的Web服务自动QoS组合方法 - Google Patents
一种支持分布并行处理的Web服务自动QoS组合方法 Download PDFInfo
- Publication number
- CN102420812A CN102420812A CN2011103252195A CN201110325219A CN102420812A CN 102420812 A CN102420812 A CN 102420812A CN 2011103252195 A CN2011103252195 A CN 2011103252195A CN 201110325219 A CN201110325219 A CN 201110325219A CN 102420812 A CN102420812 A CN 102420812A
- Authority
- CN
- China
- Prior art keywords
- service
- qos
- node
- services composition
- rule
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 title claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 10
- 239000000203 mixture Substances 0.000 claims description 63
- 230000004044 response Effects 0.000 claims description 28
- 238000010276 construction Methods 0.000 claims description 21
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 abstract 1
- 239000002131 composite material Substances 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001195 anabolic effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种支持分布并行处理的Web服务自动QoS组合方法,通过主机对服务库进行预处理,构造产生规则库,采用深度优先策略构造树和Top-k服务链求解方法,针对从大规模Web服务集合中为用户优选出QoS表现上Top-k个服务组合的问题,采用分步分治思想,实现了分布式的并行化服务自动组合过程。在应对大规模的服务集合时,能快速、高效的提供满足用户需求的组合服务。
Description
技术领域
本发明主要针对在大规模的Web服务集合中进行快速、高效的自动组合问题,提出了一种支持分布并行处理的Web服务自动QoS组合方法。
背景技术
近年来,Web服务以其良好的重用性和平台无关性得到了广泛应用。由于自动服务组合能充分重用已有服务,具有即时、快速、灵活组建分布式松耦合的新应用和服务的特点,能满足用户多样化、个性化和多变的需求,可提高已有服务的利用率和IT资源的使用价值,因此,服务组合技术已成为实现云计算按需服务的关键技术与研究热点,并作为建设、推广和应用“云”的基础技术而备受关注。
目前,自动服务组合得到了众多学者的高度关注,已有大量工作见诸于各类文献,也有学者对其进行综述。纵观已有的自动组合方法,大多借鉴情态演算、规划语言、图或树等形式化方法进行建模, 将组合问题转化为规划或搜索问题。而随着服务数量的增加,规划或搜索空间也随之膨胀,造成组合效率低下。因此,如何提高已有服务组合方法的可扩展性和性能成为当前自动服务组合研究与应用的一个重要问题。目前,已有学者开始关注该问题并提出多线程方式提高组合效率,但并未脱离单机计算的模式,因而性能提升极为有限,而近年来出现的多核计算、并行计算技术为解决这一问题提供了一条有效途径。
发明内容
针对上述技术问题,本发明提出一种支持分布并行处理的Web服务自动QoS组合方法。
为了解决上述技术问题,本发明的技术方案如下:
一种支持分布并行处理的Web服务自动QoS组合方法,包括如下步骤;
1)主机对服务库进行预处理,构造产生规则库;
4)分机接收到任务后,采用深度优先策略为构造回溯树,其中为回溯树中的节点集合,为节点的标识函数,为有向边的集合,每条有向边代表一个服务,生成路径即为服务链,在构造的过程中,每新生成一个节点时,判断当前节点是否为的子集,若是,则表示找到了一条服务链,进而继续寻找下一条,返回按QoS排序的N个服务链;
5)将上述返回结果按Key-Value映射返回主机,其中Key为用户请求的某个输入对象,Value为计算出的按QoS排序的N个服务链和每个服务链的QoS的总响应时间;
8)主机分别从Key-Value映射对的服务链中挑选QoS次优的服务链进行替换,得到次优的服务组合;所述服务链替换遵循如下原则:
作为可选方案,主机每当获得一个服务组合时,都进行一次冗余性检验,所述检验包含两个步骤:一是自身冗余,即该服务组合结果中是否含有重复服务,若有则进行服务链合并去除冗余服务,另一方面是服务组合间的冗余性检验,即新得出的服务组合与已有服务组合进行比较,若存在已有服务组合为该服务组合的子集,则视该服务组合为冗余服务,将其排除在最终结果之外。
作为可选方案,所述步骤1)包括如下步骤:
其中服务库对应的服务规则库为,其中,表示服务规则库能接收的所有输入对象所对应的语义概念的集合,,表示服务规则库能产生的所有输出对象所对应的语义概念的集合,为产生式规则的集合,一个产生式规则,表示服务将输入对象的语义概念集合转化成输出对象的语义概念。
作为可选方案,所述采用深度优先策略构造回溯树包括如下步骤:首先构造一个堆栈tStack,从根节点开始依次将回溯的中间节点放入堆栈中,在对每一个节点回溯时,首先对能够回溯该节点的所有服务规则的QoS进行排序,同时记录每个节点被回溯的次数,如果是第次,则选择QoS排名第的规则进行回溯,然后将新扩展出的节点放入堆栈tStack中,在构造过程中,当堆栈tStack顶节点的概念集合是的子集时,所述表示所继承的父类语义概念,连接栈内的所有节点的规则构成一条能产生概念的服务链,将该节点出栈,新的栈顶节点则继续选取QoS排名第+1的规则进行回溯,若栈顶的节点没有任何规则可用于扩展,同时也没有产生服务链,则也将该节点出栈,再重新对新的栈顶节点回溯,如此循环直到堆栈为空时构造结束。
本发明的有益效果在于:针对从大规模Web服务集合中为用户优选出QoS表现上Top-k个服务组合的问题,采用分步分治思想,实现了分布式的并行化服务自动组合过程。在应对大规模的服务集合时,能快速、高效的提供满足用户需求的组合服务。
附图说明
图1为基于回溯树的Web服务组合流程;
图2为基于深度优先的回溯树构造和Top-k服务链求解流程;
图3为分布、并行处理服务组合的流程框架。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
服务建模:
(a)为服务名称;
Top-k QoS自动服务组合问题即针对用户请求<其中为用户提供的输入集合,为期望得到的输出集合>,从组件服务集合中构造出全局QoS最佳的前k个组合服务,使得每一个组合服务接收用户输入的参数,通过调用其组件服务并进行参数传递,最后输出用户期望的输出集合。
现有技术中有一种基于回溯树的服务组合方法,其流程如图1所示即分别为用户请求的每一个输出概念建立回溯树,并在建立的过程中求出能够产生该概念的服务链,最后将服务链进行合并形成组合服务。由于之前提出的方法是为求解一个组合服务而设计的,直接用于Top-k问题求解时,一旦服务集合过大,回溯树的中间状态数量极易膨胀,造成内存溢出,求解效率低下,为解决这一问题,对产生式规则和回溯树的构造进行了改进和优化
产生式规则:
之前的方法在将服务转化为产生式规则时,是分别针对服务的每一个输出各生成一条从该服务的输入集合到该输出的规则。一方面造成规则数量过大,远远超出了服务数量,这给回溯树的构造带来了较大的时间开销;另一方面,由于每条规则仅产生一个输出,因此在回溯树构造时,节点只能针对其包含的每一个输出单独进行回溯,而不能对多个输出采用一条规则进行回溯,极易造成节点扇出过大,这给回溯树的构造带来了巨大的空间开销。为此,我们将服务转化为一条从输入集合到输出集合的规则,即一个服务对应一条规则,规则数与服务数相同。这样可将空间开销减少至原来的15-20%。
服务库对应的服务规则库为,其中,表示规则库能接收的所有输入对象所对应的语义概念的集合,,表示规则库能产生的所有输出对象所对应的语义概念的集合。为产生式规则的集合,一个产生式规则,表示服务将输入对象的语义概念集合转化成输出对象的语义概念。
与原有的规则库相比,除了增加语义支持,还将规则从集合到对象的映射改为集合到集合的映射,这样规则库中的规则数,实际上就等于服务数。这样大大缩小了规则的数量,从而减少了构建回溯树时的搜索空间。
给定一个服务库,可通过如下方法将该服务库自动转化为对应的服务规则库。1)初始化服务规则库为空集;2)对每一个服务,将的输入输出概念集合并入服务规则库,即,,同时创建一条产生式规则,其中,,;也将该规则添加进服务规则库,即;3)重复步骤2,直到服务库中每个都被遍历为之。
回溯树的构造与Top-k问题求解:
回溯树的构造方法是问题求解的关键。之前提出的基于回溯树的服务组合方法在为用户请求的每个输出构造回溯树时,采用广度优先的策略,即对当前节点的对象集合所包含的每一个输出对象,分别利用规则穷举所有可能回溯情况,每一种可能回溯则新增一个儿子节点。这样虽然能确保找到所有的回溯分支,但产生了巨大的空间开销。在对一个4000个服务集进行实验时,当回溯树构造到第三层时就达到上百万个节点,空间开销急剧增长,算法难以继续运行。究其原因,所述的规则数过多和规则单一输出所引起节点扇出过大之外,一个重要原因在于广度优先须保留所有的中间节点信息。为此,本发明采用深度优先策略构造回溯树,并针对Top-k问题,可在构造过程中利用服务的Qos信息进行启发式的选取,只对QoS最佳的节点进行回溯,从而确保在短时间内找到近似Top-k的最佳生成路径或服务链。
对用户请求,我们首先将进行语义转化,即把用户请求中的对象,转化成其所对应的语义概念,转化后的请求为。之后对每个构造回溯树,其中为回溯树中的节点集合,为节点的标识函数,为有向边的集合。每条有向边代表一个服务,生成路径即为服务链。在构造的过程中,每新生成一个节点时,判断当前节点是否为的子集,若是,则表示找到了一条服务链,进而继续寻找下一条。我们设计了基于深度优先的回溯树构造和Top-k服务链求解方法CBTC -DFS(伪代码见如下),
其流程如图2所示,具体步骤如下:
首先构造一个堆栈tStack,从根节点开始依次将回溯的中间节点放入堆栈中。
采用深度优先策略构建回溯树,在对每一个节点回溯时,首先对能够回溯该节点的所有规则(服务)的QoS进行排序,同时记录每个节点被回溯的次数,如果是第次,则选择QoS排名第的规则进行回溯,这样基本能够保证QoS表现最佳的服务能优先被选取进行节点扩展。然后将新扩展出的节点放入堆栈tStack中。
在构建过程中,当堆栈顶节点的概念集合是
的子集时(表示所继承的父类语义概念),连接栈内的所有节点的规则构成一条能产生概念的服务链。随后将该节点出栈,新的栈顶节点则继续选取QoS排名第+1的规则进行回溯。若栈顶的节点没有任何规则可用于扩展,同时也没有产生服务链,则也将该节点出栈,再重新对新的栈顶节点回溯,如此循环直到堆栈为空时构造结束。
1)预处理阶段:主机首先对服务库进行预处理,即根据上文提出的方法构造出服务库对应的产生式规则库。2)Map过程:主机接收到服务组合请求之后,首先对R进行语义转化,得到,在考虑负载均衡基础上,将任务分发给各分机,任务的数据结构可表示为三元组,其中,为分配给当前Worker处理的一个用户请求的输出,表示要求返回给主机的服务链数量。
3)并行处理过程:分机接收到任务后,根据算法CBTC-DFS为构造回溯树并返回按QoS排序的个服务链。最后结果组织成Key-Value映射对返回给主机,Key为用户请求的某个输入对象,Value为计算出的按QoS排序的个服务链,此外每个服务链的QoS(总响应时间)也一并存入Value中返回给主机。
4)Reduce过程:主机负责将来自不同分机的服务链进行合成产生组合服务,进一步判断每个组合服务的不同服务链上是否有相同组件服务,如果有,则主机对这些服务链进行合并形成最终的组合服务。最后根据组合服务的Qos,排序选出最佳的k个返回给用户。具体的Reduce流程如下:
主机首先从每个Key-Value映射对中都选出QoS表现最佳的服务链,将这些服务链进行合并得到一个服务组合,该服务组合即为计算出的QoS最优(总响应时间最短)的服务组合,记作。在最优服务组合中定义一条关键服务链,该服务链为服务组合中所有服务链响应时间最长的,也就是说服务组合的总响应时间即为该服务链的响应时间。
然后分别从Key-Value映射对的服务链中挑选QoS次优的服务链进行替换,得到次优的服务组合。替换的服务链遵循如下优选原则:
a)若替换后服务链的响应时间仍小于关键服务链的响应时间,则不会改变服务组合的总响应时间,优先选取这类服务链进行替换。
b)若替换后服务链的响应时间大于关键服务链的响应时间,则优先选取造成服务组合总响应时间增值最小的服务链进行替换,此时所选取的替换服务链成为新的服务组合中的关键服务链。
这样依次得到服务组合结果即为按QoS排序的结果。每当获得一个服务组合结果时,都进行一次冗余性检验,该检验包含两个方面:一方面是自身冗余,即该服务组合结果中是否含有重复服务,若有则进行服务链合并去除冗余服务。另一方面是服务组合间的冗余性检验,即新得出的服务组合与已有服务组合进行比较,若存在已有服务组合为该服务组合的子集,则视该服务组合为冗余服务,将其排除在最终结果之外。最后得到无冗余的k个服务组合即为满足用户请求的Top-k个服务组合。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (4)
1.一种支持分布并行处理的Web服务自动QoS组合方法,其特征在于,包括如下步骤;
1)主机对服务库进行预处理,构造产生规则库;
4)分机接收到任务后,采用深度优先策略为构造回溯树,其中为回溯树中的节点集合,为节点的标识函数,为有向边的集合,每条有向边代表一个服务,生成路径即为服务链,在构造的过程中,每新生成一个节点时,判断当前节点是否为的子集,若是,则表示找到了一条服务链,进而继续寻找下一条,返回按QoS排序的个服务链;
8)主机分别从Key-Value映射对的服务链中挑选QoS次优的服务链进行替换,得到次优的服务组合;所述服务链替换遵循如下原则:
a)若替换后服务链的响应时间仍小于关键服务链的响应时间,则不改变服务组合的总响应时间,优先选取这类服务链进行替换;
2.根据权利要求1所述的一种支持分布并行处理的Web服务自动QoS组合方法,其特征在于,主机每当获得一个服务组合时,都进行一次冗余性检验,所述检验包含两个步骤:一是自身冗余,即该服务组合结果中是否含有重复服务,若有则进行服务链合并去除冗余服务,另一方面是服务组合间的冗余性检验,即新得出的服务组合与已有服务组合进行比较,若存在已有服务组合为该服务组合的子集,则视该服务组合为冗余服务,将其排除在最终结果之外。
4.根据权利要求1所述的一种支持分布并行处理的Web服务自动QoS组合方法,其特征在于,所述采用深度优先策略构造回溯树包括如下步骤:首先构造一个堆栈tStack,从根节点开始依次将回溯的中间节点放入堆栈中,在对每一个节点回溯时,首先对能够回溯该节点的所有服务规则的QoS进行排序,同时记录每个节点被回溯的次数,如果是第次,则选择QoS排名第的规则进行回溯,然后将新扩展出的节点放入堆栈tStack中,在构造过程中,当堆栈tStack顶节点的概念集合是的子集时,所述表示所继承的父类语义概念,连接栈内的所有节点的规则构成一条能产生概念的服务链,将该节点出栈,新的栈顶节点则继续选取QoS排名第+1的规则进行回溯,若栈顶的节点没有任何规则可用于扩展,同时也没有产生服务链,则也将该节点出栈,再重新对新的栈顶节点回溯,如此循环直到堆栈为空时构造结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110325219.5A CN102420812B (zh) | 2011-10-24 | 2011-10-24 | 一种支持分布并行处理的Web服务自动QoS组合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110325219.5A CN102420812B (zh) | 2011-10-24 | 2011-10-24 | 一种支持分布并行处理的Web服务自动QoS组合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102420812A true CN102420812A (zh) | 2012-04-18 |
CN102420812B CN102420812B (zh) | 2014-07-09 |
Family
ID=45945047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110325219.5A Expired - Fee Related CN102420812B (zh) | 2011-10-24 | 2011-10-24 | 一种支持分布并行处理的Web服务自动QoS组合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420812B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945283A (zh) * | 2012-11-19 | 2013-02-27 | 武汉大学 | 一种语义Web服务组合方法 |
CN103106269A (zh) * | 2013-02-04 | 2013-05-15 | 南京大学 | 一种基于搜索空间约减的Web服务组合方法 |
CN103152422A (zh) * | 2013-03-14 | 2013-06-12 | 中国科学技术大学苏州研究院 | 多流多宿主环境下文件递归分割传输并重新组合的方法 |
CN103873577A (zh) * | 2014-03-21 | 2014-06-18 | 浙江天正信息科技有限公司 | 一种优化数据密集型Web服务组合的并行度计算方法 |
US20220321605A1 (en) * | 2021-04-01 | 2022-10-06 | Cisco Technology, Inc. | Verifying trust postures of heterogeneous confidential computing clusters |
-
2011
- 2011-10-24 CN CN201110325219.5A patent/CN102420812B/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
朱庆等: "《基于关键路径和响应时间约束的空间信息服务优化组合算法》", 《武汉大学学报.信息科学版》 * |
李成华等: "《MapReduce:新型的分布式并行计算编程模型》", 《计算机工程与科学》 * |
王海等: "《基于服务质量的Top-k Web 服务选择方法》", 《计算机应用》 * |
邓水光等: "《基于回溯树的Web服务自动组合》", 《软件学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945283A (zh) * | 2012-11-19 | 2013-02-27 | 武汉大学 | 一种语义Web服务组合方法 |
CN102945283B (zh) * | 2012-11-19 | 2016-09-28 | 武汉大学 | 一种语义Web服务组合方法 |
CN103106269A (zh) * | 2013-02-04 | 2013-05-15 | 南京大学 | 一种基于搜索空间约减的Web服务组合方法 |
CN103106269B (zh) * | 2013-02-04 | 2016-03-23 | 南京大学 | 一种基于搜索空间约减的Web服务组合方法 |
CN103152422A (zh) * | 2013-03-14 | 2013-06-12 | 中国科学技术大学苏州研究院 | 多流多宿主环境下文件递归分割传输并重新组合的方法 |
CN103152422B (zh) * | 2013-03-14 | 2016-01-13 | 中国科学技术大学苏州研究院 | 多流多宿主环境下文件递归分割传输并重新组合的方法 |
CN103873577A (zh) * | 2014-03-21 | 2014-06-18 | 浙江天正信息科技有限公司 | 一种优化数据密集型Web服务组合的并行度计算方法 |
CN103873577B (zh) * | 2014-03-21 | 2017-02-01 | 浙江天正信息科技有限公司 | 一种优化数据密集型Web服务组合的并行度计算方法 |
US20220321605A1 (en) * | 2021-04-01 | 2022-10-06 | Cisco Technology, Inc. | Verifying trust postures of heterogeneous confidential computing clusters |
Also Published As
Publication number | Publication date |
---|---|
CN102420812B (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719933B (zh) | 一种支持语义的面向全生命周期的制造网格资源服务组合方法 | |
CN102073700B (zh) | 一种复杂网络社团的发现方法 | |
CN103607466B (zh) | 一种基于云计算的广域多级分布式并行电网分析方法 | |
CN103177094B (zh) | 一种物联网数据清洗方法 | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
CN102571752B (zh) | 基于服务关联索引图的QoS感知Top-k服务组合系统 | |
CN104462260A (zh) | 一种基于k-核的社区搜索算法 | |
CN102420812A (zh) | 一种支持分布并行处理的Web服务自动QoS组合方法 | |
CN106919769A (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN105978711B (zh) | 一种基于最小生成树的最佳交换边查找方法 | |
CN103678550A (zh) | 一种基于动态索引结构的海量数据实时查询方法 | |
CN102158533B (zh) | 基于QoS的分布式web服务选择方法 | |
CN103294799B (zh) | 一种数据并行批量导入只读查询系统的方法及系统 | |
CN105550332A (zh) | 一种基于双层索引结构的起源图查询方法 | |
CN105357247A (zh) | 基于分层云对等网络的多维属性云资源区间查找方法 | |
CN105022791A (zh) | 一种新型的kv分布式数据存储方法 | |
CN101477555A (zh) | 基于sql数据库的任务树的快速检索及生成显示的方法 | |
CN103577899B (zh) | 一种基于可靠性预测与QoS相结合的服务组合方法 | |
CN115687468A (zh) | 一种ETL流程Kettle在分布式服务中处理数据的系统 | |
CN106550006A (zh) | 云服务器资源分配方法和装置 | |
CN104462095A (zh) | 一种查询语句公共部分的提取方法及装置 | |
CN102780766A (zh) | 面向云制造的设计服务资源跨域组建方法 | |
CN108494845A (zh) | 一种基于6D-Torus网络的作业调度方法和装置 | |
CN111861361A (zh) | 一种智能简历推送系统及方法 | |
CN106933844A (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140709 |