基于MapReduce和多目标模拟退火的Skyline服务选择方法

文档序号:8415710阅读:503来源:国知局
基于MapReduce和多目标模拟退火的Skyline服务选择方法
【技术领域】
[0001]本发明涉及网络服务技术领域,尤其是涉及一种基于MapReduce和多目标模拟退火的Skyline服务选择方法。
【背景技术】
[0002]随着服务计算、云计算、大数据等相关技术的飞速发展,使得互联网上的可用服务(包括网格服务、Web服务、云服务等)在类型上快速增长而在数量上呈爆炸性增长,这些分布在不同地理位置、不同服务器上的海量服务可能是具有相同或相似功能、而非功能属性(QoS)各异的不同服务。如何在用户的偏好需求下,从功能相当的海量服务中选择QoS较优的服务,形成QoS最优的组合服务,以满足用户的QoS约束且以个性化的方式推荐给用户,这已经成为学术界和工业界共同关注的问题。
[0003]近年来,组合服务中服务选择是服务计算和云计算等领域的研宄热点问题,国内外陆续涌现了大量相关研宄成果,包括采用穷举算法、贪婪算法、遗传算法、粒子群优化算法、蚁群优化算法和优化算法的融合等典型的基于QoS的服务选择方法。当前,组合服务中基于QoS的服务选择方法主要聚焦于基于单(多)目标智能优化算法的服务选择和基于Skyline计算的服务选择等。
[0004]基于单目标智能优化算法的服务选择方法通过简单加权等法将多维QoS属性聚合在一个目标函数中进行求解,需为用户指派各维QoS权重,这带来了权重指派的困难性和不精确性问题,且所产生的解仅有一个最优解,用户没有选择的余地。而基于多目标智能优化算法的服务选择方法无需指派各维QoS权重,通过设置多个QoS目标函数,同时优化多个目标函数,最终产生一组Pareto优化解,可依据用户的偏好从中选择最满意的解,能更“柔性”地满足用户的偏好和个性化需求,更贴切地适应实际的服务选择场景。
[0005]基于单(多)目标智能优化算法的服务选择方法大多以串行方式进行求解,可在小规模的组合服务选择中以较合理的时间求得质量较优的解。但当面对大规模的组合服务选择时,由于该类方法在进行服务选择时是面向服务库中的所有分布式海量服务,其选择效率受服务类的数量及其候选服务的规模影响较大,难以满足实时需求,其效率是较低的,且其最优解的质量也难以得到保证。
[0006]基于Skyline计算的服务选择方法考虑服务的多维QoS属性时,不需为用户对服务的各维QoS属性指派权重,也不会掩盖服务的任意一维QoS属性信息,所筛选出的Skyline服务是质量较优的非支配服务。该方法减少了候选服务及被选组合方案的数目,缩小了服务选择决策的搜索空间,在面对小规模的服务数据时,可提高组合服务选择的效率和效果。
[0007]基于sky I ine计算的服务选择方法主要是先采用传统的Sky I ine计算选出Skyline服务,再使用整数\线性规划等方法进行服务选择。由于Skyline计算所耗时间受QoS维数和数据集规模的影响较大,采用传统的Skyline计算方法在提取网络上海量、高维QoS的服务时所耗时间较长,在高维度、大规模服务数据集下,其效率急剧下降,难以适应具有高维QoS的分布式海量服务的场景的服务选择。在使用整数\线性规划等方法进行服务选择时,需要将多维QoS属性加权聚合起来以融合为一个目标函数。这对用户来说,难以精确量化各维QoS权重,尤其是QoS属性维数较多时,难以真正做到同时优化多个QoS属性目标,且所产生的优化结果为满足约束条件的目标最优单解,用户没有选择的余地,缺乏柔性;当面对高维QoS的海量服务时,所生成的Skyline服务库的规模也是巨大且不可控的,使用整数\线性规划等方法进行服务选择时,其效率也是低下的。
[0008]现有的服务选择方法大多假设所有服务都存储在同一个平台上,没有考虑大规模服务的分布式环境。随着互联网中服务数量和QoS属性的不断增加,以及现实世界中服务的分布式性,传统的服务选择技术难以应对,其效率较低且其最优解的质量难以得到保证。因此,开发出一种高效、高质量且柔性的服务选择方法以解决具有分布式环境、高维QoS的海量服务选择问题是一个迫切需求。
[0009]中国专利申请号201110035211.5公开了一种基于QoS的分布式web服务选择方法,采用分布式的方式进行web服务的选择。它将web服务选择分解成为很多小的部分,并分配给许多计算进行并行处理,最后把每个计算结果合并起来得到最终结果。但是其只是进行web服务的筛选,是一个web服务选择的预处理方法,并没有给出服务组合中为产生组合服务而发明的服务选择方法,因此如何对筛选后的结果进行进一步优化组合成为当下急需解决的问题。

【发明内容】

[0010]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于MapReduce和多目标模拟退火的Skyline服务选择方法。
[0011]本发明的目的可以通过以下技术方案来实现:
[0012]—种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,包括以下步骤:
[0013]步骤一:筛选海量服务:在MapReduce框架下,利用块嵌套算法和分治算法的Skyline计算,从海量服务池中筛选出QoS较优的服务,生成Skyline服务库;
[0014]步骤二:优选Skyline服务:在MapReduce框架下,利用多目标模拟退火算法,从步骤一所产生的Skyline服务库中优选出Skyline服务,生成Pareto组合服务集;
[0015]步骤三:优选Pareto组合服务:利用Τορ-k查询处理技术,结合用户个性化QoS偏好,从步骤二所产生的Pareto组合服务集中优选出k个满足用户QoS约束的Pareto组合服务。
[0016]优选地,所述的步骤一具体为:
[0017]步骤101:按服务的功能将HDFS海量服务池中的候选服务进行分类,把具有相同功能的候选服务分到同一个服务类中,再把各候选服务类分别划分成若干数据块,分发到各Map节点上;
[0018]步骤102:各Map节点执行Map操作,计算局部候选Skyline服务。
[0019]各Map节点对各数据块中的候选服务按照其QoS属性中的某一维进行排序,依据服务间的支配关系,采用块嵌套循环算法计算局部候选Skyline服务,再将局部候选Skyline服务传送给相应的Reduce节点,其中输出的Key为候选服务索引号,Value为候选服务的各维QoS属性值;
[0020]步骤103:各Reduce节点执行Reduce操作,运用分治算法计算全局Skyline候选服务。
[0021]优选地,所述的步骤103具体为:
[0022]步骤1031:对各Map节点归并过来的局部候选Skyline服务,按照其QoS中的某一维进行排序,取该维上的中值(^作为域点,并按该中值把候选服务块划分为两区域S #口S2,其中S1E域包含所有在该维的QoS属性值优于Qs的候选服务,记为“优”区域,S 2区域包含其他剩余的候选服务,记为“劣”区域;
[0023]步骤1032:迭代划分SjP S 2,分别计算SjP S 2的候选Skyline服务,直到每个区域只包含一个或设定数量的候选服务,或者所有QoS属性都被考虑过为止;
[0024]步骤1033:删去S2中被S冲的服务所支配的服务,合并S S 2,计算得到最终的全局候选Skyline服务集。
[0025]优选地,所述的步骤1032的设定数量为所有候选服务的百分之一至万分之一。
[0026]优选地,所述的步骤二具体为:
[0027]步骤201:获取抽象服务的组合流程和由步骤一所产生的大规模Skyline服务库,包括组合流程的结构、所含抽象服务类及其个数n、对应Skyline服务及其QoS属性值,用户所需非支配解的个数nXHL;
[0028]步骤202:初始化相关参数、以及Map节点和Reduce节点的个数:初始温度Tmax,最终温度Tmin,冷却率α,每个温度下的迭代次数Iter,每个子归档集中解的个数的硬限制值HL,每个子归档集的初始解个数的软限制值SL,且SL>HL,Map节点m和Reduce节点r的个数都为η ;
[0029]步骤203:并行初始化各Map节点子归档集:在每个Map节点上并行随机地产生一个子归档集,每个子归档集的初始解个数为SL,计算各个解的多个目标函数值,并产生〈key, value〉键值对,且发送给对应的Reduce节点,其中key为每个解的索
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1