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

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

Info

Publication number
CN104735166A
CN104735166A CN201510172842.XA CN201510172842A CN104735166A CN 104735166 A CN104735166 A CN 104735166A CN 201510172842 A CN201510172842 A CN 201510172842A CN 104735166 A CN104735166 A CN 104735166A
Authority
CN
China
Prior art keywords
service
skyline
solution
node
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
Application number
CN201510172842.XA
Other languages
English (en)
Other versions
CN104735166B (zh
Inventor
李金忠
夏洁武
谭云兰
曾小荟
李满华
吴玉春
王巧玲
胡运全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201510172842.XA priority Critical patent/CN104735166B/zh
Publication of CN104735166A publication Critical patent/CN104735166A/zh
Application granted granted Critical
Publication of CN104735166B publication Critical patent/CN104735166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service

Abstract

本发明涉及一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,包括以下步骤:步骤一:筛选海量服务:在MapReduce框架下,利用块嵌套算法和分治算法的Skyline计算,从海量服务池中筛选出QoS较优的服务,生成Skyline服务库;步骤二:优选Skyline服务:在MapReduce框架下,利用多目标模拟退火算法,从步骤一所产生的Skyline服务库中优选出Skyline服务,生成Pareto组合服务集;步骤三:优选Pareto组合服务:利用Top-k查询处理技术,结合用户个性化QoS偏好,从步骤二所产生的Pareto组合服务集中优选出k个满足用户QoS约束的Pareto组合服务。与现有技术相比,本发明具有可大大提高海量服务选择的效率和效果等优点。

Description

基于MapReduce和多目标模拟退火的Skyline服务选择方法
技术领域
本发明涉及网络服务技术领域,尤其是涉及一种基于MapReduce和多目标模拟退火的Skyline服务选择方法。
背景技术
随着服务计算、云计算、大数据等相关技术的飞速发展,使得互联网上的可用服务(包括网格服务、Web服务、云服务等)在类型上快速增长而在数量上呈爆炸性增长,这些分布在不同地理位置、不同服务器上的海量服务可能是具有相同或相似功能、而非功能属性(QoS)各异的不同服务。如何在用户的偏好需求下,从功能相当的海量服务中选择QoS较优的服务,形成QoS最优的组合服务,以满足用户的QoS约束且以个性化的方式推荐给用户,这已经成为学术界和工业界共同关注的问题。
近年来,组合服务中服务选择是服务计算和云计算等领域的研究热点问题,国内外陆续涌现了大量相关研究成果,包括采用穷举算法、贪婪算法、遗传算法、粒子群优化算法、蚁群优化算法和优化算法的融合等典型的基于QoS的服务选择方法。当前,组合服务中基于QoS的服务选择方法主要聚焦于基于单(多)目标智能优化算法的服务选择和基于Skyline计算的服务选择等。
基于单目标智能优化算法的服务选择方法通过简单加权等法将多维QoS属性聚合在一个目标函数中进行求解,需为用户指派各维QoS权重,这带来了权重指派的困难性和不精确性问题,且所产生的解仅有一个最优解,用户没有选择的余地。而基于多目标智能优化算法的服务选择方法无需指派各维QoS权重,通过设置多个QoS目标函数,同时优化多个目标函数,最终产生一组Pareto优化解,可依据用户的偏好从中选择最满意的解,能更“柔性”地满足用户的偏好和个性化需求,更贴切地适应实际的服务选择场景。
基于单(多)目标智能优化算法的服务选择方法大多以串行方式进行求解,可在小规模的组合服务选择中以较合理的时间求得质量较优的解。但当面对大规模的组合服务选择时,由于该类方法在进行服务选择时是面向服务库中的所有分布式海量服务,其选择效率受服务类的数量及其候选服务的规模影响较大,难以满足实时需求,其效率是较低的,且其最优解的质量也难以得到保证。
基于Skyline计算的服务选择方法考虑服务的多维QoS属性时,不需为用户对服务的各维QoS属性指派权重,也不会掩盖服务的任意一维QoS属性信息,所筛选出的Skyline服务是质量较优的非支配服务。该方法减少了候选服务及被选组合方案的数目,缩小了服务选择决策的搜索空间,在面对小规模的服务数据时,可提高组合服务选择的效率和效果。
基于skyline计算的服务选择方法主要是先采用传统的Skyline计算选出Skyline服务,再使用整数\线性规划等方法进行服务选择。由于Skyline计算所耗时间受QoS维数和数据集规模的影响较大,采用传统的Skyline计算方法在提取网络上海量、高维QoS的服务时所耗时间较长,在高维度、大规模服务数据集下,其效率急剧下降,难以适应具有高维QoS的分布式海量服务的场景的服务选择。在使用整数\线性规划等方法进行服务选择时,需要将多维QoS属性加权聚合起来以融合为一个目标函数。这对用户来说,难以精确量化各维QoS权重,尤其是QoS属性维数较多时,难以真正做到同时优化多个QoS属性目标,且所产生的优化结果为满足约束条件的目标最优单解,用户没有选择的余地,缺乏柔性;当面对高维QoS的海量服务时,所生成的Skyline服务库的规模也是巨大且不可控的,使用整数\线性规划等方法进行服务选择时,其效率也是低下的。
现有的服务选择方法大多假设所有服务都存储在同一个平台上,没有考虑大规模服务的分布式环境。随着互联网中服务数量和QoS属性的不断增加,以及现实世界中服务的分布式性,传统的服务选择技术难以应对,其效率较低且其最优解的质量难以得到保证。因此,开发出一种高效、高质量且柔性的服务选择方法以解决具有分布式环境、高维QoS的海量服务选择问题是一个迫切需求。
中国专利申请号201110035211.5公开了一种基于QoS的分布式web服务选择方法,采用分布式的方式进行web服务的选择。它将web服务选择分解成为很多小的部分,并分配给许多计算进行并行处理,最后把每个计算结果合并起来得到最终结果。但是其只是进行web服务的筛选,是一个web服务选择的预处理方法,并没有给出服务组合中为产生组合服务而发明的服务选择方法,因此如何对筛选后的结果进行进一步优化组合成为当下急需解决的问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于MapReduce和多目标模拟退火的Skyline服务选择方法。
本发明的目的可以通过以下技术方案来实现:
一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,包括以下步骤:
步骤一:筛选海量服务:在MapReduce框架下,利用块嵌套算法和分治算法的Skyline计算,从海量服务池中筛选出QoS较优的服务,生成Skyline服务库;
步骤二:优选Skyline服务:在MapReduce框架下,利用多目标模拟退火算法,从步骤一所产生的Skyline服务库中优选出Skyline服务,生成Pareto组合服务集;
步骤三:优选Pareto组合服务:利用Top-k查询处理技术,结合用户个性化QoS偏好,从步骤二所产生的Pareto组合服务集中优选出k个满足用户QoS约束的Pareto组合服务。
优选地,所述的步骤一具体为:
步骤101:按服务的功能将HDFS海量服务池中的候选服务进行分类,把具有相同功能的候选服务分到同一个服务类中,再把各候选服务类分别划分成若干数据块,分发到各Map节点上;
步骤102:各Map节点执行Map操作,计算局部候选Skyline服务。
各Map节点对各数据块中的候选服务按照其QoS属性中的某一维进行排序,依据服务间的支配关系,采用块嵌套循环算法计算局部候选Skyline服务,再将局部候选Skyline服务传送给相应的Reduce节点,其中输出的Key为候选服务索引号,Value为候选服务的各维QoS属性值;
步骤103:各Reduce节点执行Reduce操作,运用分治算法计算全局Skyline候选服务。
优选地,所述的步骤103具体为:
步骤1031:对各Map节点归并过来的局部候选Skyline服务,按照其QoS中的某一维进行排序,取该维上的中值QS作为域点,并按该中值把候选服务块划分为两区域S1和S2,其中S1区域包含所有在该维的QoS属性值优于QS的候选服务,记为“优”区域,S2区域包含其他剩余的候选服务,记为“劣”区域;
步骤1032:迭代划分S1和S2,分别计算S1和S2的候选Skyline服务,直到每个区域只包含一个或设定数量的候选服务,或者所有QoS属性都被考虑过为止;
步骤1033:删去S2中被S1中的服务所支配的服务,合并S1和S2,计算得到最终的全局候选Skyline服务集。
优选地,所述的步骤1032的设定数量为所有候选服务的百分之一至万分之一。
优选地,所述的步骤二具体为:
步骤201:获取抽象服务的组合流程和由步骤一所产生的大规模Skyline服务库,包括组合流程的结构、所含抽象服务类及其个数n、对应Skyline服务及其QoS属性值,用户所需非支配解的个数n×HL;
步骤202:初始化相关参数、以及Map节点和Reduce节点的个数:初始温度Tmax,最终温度Tmin,冷却率α,每个温度下的迭代次数Iter,每个子归档集中解的个数的硬限制值HL,每个子归档集的初始解个数的软限制值SL,且SL>HL,Map节点m和Reduce节点r的个数都为n;
步骤203:并行初始化各Map节点子归档集:在每个Map节点上并行随机地产生一个子归档集,每个子归档集的初始解个数为SL,计算各个解的多个目标函数值,并产生<key,value>键值对,且发送给对应的Reduce节点,其中key为每个解的索引号ID和迭代计数器iteration,value为解的表示presentation和各个解的多目标函数值objective,其解为组合服务流程中的每个抽象服务随机选择一个具体服务形成的组合服务;
步骤204:各Slaver节点的Map节点从各自子归档集中随机选择一个解作为当前解Current-solution;
步骤205:Master节点设置辅助参数Temp=Tmax,记录当前温度;
步骤206:各Slaver节点的Map节点设置各自的迭代计数器iteration=0;
步骤207:各Slaver节点调用map(key,value)函数,产生新解New-solution,并计算新解的多个目标函数值,并将生成的键值对<key2,value2>发送给对应的Reduce节点;
步骤208:各Slaver节点调用reduce(key,value)函数,产生新的子归档集;
步骤209:各Reduce节点将所产生的新的子归档集归并于Master节点的总归档集中,即Combiner操作;
步骤210:Master节点按Temp=α×Temp的方式执行降温,判断当前温度Temp是否大于最终温度Tmin,若大于,将总归档集的解等分到各Map节点上,即Partitioner操作,并转去执行步骤206,否则执行步骤211;
步骤211:如果总归档集中解的个数大于n×HL,则执行k-means聚类算法以将总归档集中解的个数减至n×HL,此时总归档集中的解都是Pareto优化解;否则,结束。
优选地,所述的map(key,value)函数操作步骤:
步骤2071:从key中解析出解的迭代计数器iteration;
步骤2072:从value中解析出当前解Current-solution的表示presentation;
步骤2073:对当前解进行扰动以产生新解New-solution,并给新解分配一个新的唯一索引号ID;
步骤2074:评估新解New-solution的多个目标函数New-objective;
步骤2075:生成新的键值对<key2,value2>,其中key2为新解的索引号New-solution.ID+当前迭代次数Current.iteration,而value2为新解的表示New-solution.Presentation+当前解的表示Current-solution.presentation+新解的各个目标函数值New-solution.New-objective。
优选地,所述的Reduce(key,value)函数操作步骤:
步骤2081:从key中解析出解的迭代计数器iteration;
步骤2082:从value中解析出新解New-solution和当前解Current-solution的表示presentation;
步骤2083:依据多目标模拟退火算法中解的支配检查和接受新解的方法,以值小者为优进行支配检查,并更新子归档集;
步骤2084:判断子归档集中解的个数是否超过SL,若超过,则对子归档集执行k-means算法进行聚类以将解的个数减至HL;
步骤2085:设置iteration=iteration+1,生成键值对<key3,Value3>,其中key3为各个解的索引号ID+迭代计数器iteration,Value3为各个解的表示presentation+各个解的各目标函数值objective;判断iteration是否小于Iter,若是,将所生成的键值对<key3,Value3>传送给对应的Map节点;否则,传送给Master节点。
优选地,所述的步骤三具体为:
从步骤二所产生的Pareto组合服务集中,依据用户对组合服务的全局QoS约束进行约束条件检查,剔除不满足约束条件的Pareto优化解,且依据用户的个性化QoS偏好,采用Top-k查询处理技术,给用户推荐满足其偏好要求的前k个较优的组合服务。
与现有技术相比,本发明针对分布式环境、海量和高维QoS的服务选择而进行设计的,能快速返回组合服务,且其全局QoS较优,可大大提高海量服务选择的效率和效果。
附图说明
图1为本发明的流程图;
图2为本发明MapReduce框架下产生Skyline服务的数据流图;
图3为本发明MapReduce框架下产生Pareto组合服务集的流程图;
图4为本发明MapReduce框架下产生解集的数据流图;
图5为本发明具体实施例的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
如图1所示,一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,包括以下三阶段:
阶段一:筛选海量服务。在MapReduce框架下,利用块嵌套算法和分治算法的Skyline计算,从海量服务池中筛选出QoS较优的服务,生成Skyline服务库。
阶段二:优选Skyline服务。在MapReduce框架下,利用多目标模拟退火算法,从阶段一所产生的Skyline服务库中优选出Skyline服务,生成Pareto组合服务集。
阶段三:优选Pareto组合服务。利用Top-k查询处理技术,结合用户个性化QoS偏好,从阶段二所产生的Pareto组合服务集中优选出k个满足用户QoS约束的Pareto组合服务。
阶段一:筛选海量服务。在MapReduce框架下,利用块嵌套算法和分治算法的Skyline计算,从海量服务池中筛选出QoS较优的服务,生成Skyline服务库。
步骤1:按服务的功能将HDFS海量服务池中的候选服务进行分类,把具有相同功能的候选服务分到同一个服务类中,再把各候选服务类分别横向划分成若干数据块,分发到各Map节点上。
步骤2:各Map节点执行Map操作,计算局部候选Skyline服务。
各Map节点对各数据块中的候选服务按照其QoS属性中的某一维(如第1维)进行排序,依据服务间的支配关系,采用块嵌套循环(Block Nested Loop,BNL)算法计算局部候选Skyline服务,再将局部候选Skyline服务传送给相应的Reduce节点。其中输出的Key为候选服务索引号,Value为候选服务的各维QoS属性值。
步骤3:各Reduce节点执行Reduce操作,运用分治(Divide-and-Conquer,D&C)算法思想计算全局Skyline候选服务。
步骤3.1:对各Map节点归并过来的局部候选Skyline服务,按照其QoS中的某一维(如第1维)进行排序,取该维上的中值QS作为域点,并按该中值把候选服务块划分为两区域S1和S2,其中S1区域包含所有在某维(用于排序的该维)的QoS属性值优于QS的候选服务,记为“优”区域,区域编号用1来表示,S2区域包含其他剩余的候选服务,记为“劣”区域,区域编号用2来表示。
步骤3.2:迭代划分S1和S2,分别计算S1和S2的候选Skyline服务,直到每个区域只包含一个或设定数量的候选服务,或者所有QoS属性都被考虑过为止。划分的思想是用服务的QoS中的另一维属性(如第2维)上的中值进一步划分S1和S2,也就是说S1被划分成S11和S12区域,S2被划分成S21和S22区域,再用QoS中的另一维属性(如第3维)上的中值进一步划分S11至S22区域,即S11又被划分成S111和S112子区域,其他以此类推。
步骤3.3:通过合并S1和S2,计算得到最终的全局候选Skyline服务集,也即删去S2中被S1中的服务所支配的服务。在合并过程中,是从两个最小的子区域开始合并成较大子区域,如S1是由S11和S12合并得到的,而S11又是由S111和S112合并得到的,其他以此类推。
在该方法执行过程中,所产生Skyline服务数据流如图2所示。
如图3所示,阶段二:优选Skyline服务。在MapReduce框架下,利用多目标模拟退火算法,从步骤一所产生的Skyline服务库中优选出Skyline服务,生成Pareto组合服务集。
步骤1:获取抽象服务的组合流程和由第一阶段所产生的大规模Skyline服务库,包括组合流程的结构、所含抽象服务类及其个数n、对应Skyline服务及其QoS属性值,用户所需非支配解的个数n×HL等。
步骤2:初始化相关参数以及Map和Reduce节点的个数:初始温度Tmax,最终温度Tmin,冷却率α,每个温度下的迭代次数Iter,子归档集中解的个数的硬限制值HL,子归档集中解的个数的软限制值SL,且SL>HL,Map节点m和Reduce节点r的个数都为n等。
步骤3:并行初始化各Map节点子归档集:在每个Map节点上并行随机地产生一个子归档集,每个子归档集的初始解个数为SL。计算各个解的多个目标函数值,并产生<key,value>键值对,且发送给对应的Reduce节点。其中key为每个解的索引号ID和迭代计数器iteration,value为解的表示presentation和各个解的多目标函数值objective,其解即为组合服务流程中的每个抽象服务随机选择一个具体服务形成的组合服务。
步骤4:各Slaver节点的Map节点从各自子归档集中随机选择一个解作为当前解Current-solution。
步骤5:Master节点设置辅助参数Temp=Tmax,记录当前温度。
步骤6:各Slaver节点的Map节点设置各自的迭代计数器iteration=0。
步骤7:各Slaver节点调用map(key,value)函数,产生新解New-solution,并计算新解的多个目标函数值,并将生成的键值对<key2,value2>发送给对应的Reduce节点。
步骤8:各Slaver节点调用reduce(key,value)函数,产生新的子归档集。
步骤9:各Reduce节点将所产生的新的子归档集归并于Master节点的总归档集中,即Combiner操作。
步骤10:Master节点按Temp=α×Temp的方式执行降温,判断当前温度Temp是否大于最终温度Tmin,若大于,将总归档集的解等分到各Map节点上,即Partitioner操作,再转去执行步骤6,否则执行步骤11。
步骤11:如果总归档集中解的个数大于n×HL,则执行k-means聚类算法以将总归档集中解的个数减至n×HL,此时总归档集中的解都是Pareto优化解(即组合服务)。
阶段二中所涉及到的Map和Reduce函数的步骤分别如下:
map(key,value)函数操作步骤:
//key为解的索引号+迭代计数器iteration,value为解的表示+解的各目标函数值
步骤1:从key中解析出解的迭代计数器iteration。
步骤2:从value中解析出当前解Current-solution的表示presentation。
步骤3:对当前解进行扰动以产生新解New-solution(即将当前解中的某个抽象服务随机选择另一个具体服务而产生另一个组合服务),并给新解分配一个新的唯一索引号ID。
步骤4:评估新解New-solution的多个目标函数New-objective。
步骤5:生成新的键值对<key2,value2>,其中key2为新解的索引号New-solution.ID+当前迭代次数Current.iteration,而value2为新解的表示New-solution.Presentation+当前解的表示Current-solution.presentation+新解的各个目标函数值New-solution.New-objective
Reduce(key,value)函数操作步骤:
//key为解的索引号+迭代计数器iteration,value为新解和当前解的表示以及新解的各目标函数值
步骤1.从key中解析出解的迭代计数器iteration。
步骤2.从value中解析出新解New-solution和当前解Current-solution的表示presentation
步骤3.依据多目标模拟退火算法中解的支配检查和接受新解的思想,以值小者为优进行支配检查,并更新子归档集。
步骤4.判断子归档集中解的个数是否超过SL,若超过,则对子归档集执行k-means算法进行聚类以将解的个数减至HL。
步骤5.设置iteration=iteration+1,生成键值对<key3,Value3>,其中key3为各个解的索引号ID+迭代计数器iteration,Value3为各个解的表示presentation+各个解的各目标函数值objective。判断iteration是否小于Iter,若是,将所生成的键值对<key3,Value3>传送给对应的Map节点;否则,传送给Master节点。
阶段二中所产生解集数据流如下图4所示。
阶段三:优选Pareto组合服务。利用Top-k查询处理技术,结合用户个性化QoS偏好,从步骤二中所产生的Pareto组合服务集中优选出k个满足用户QoS约束的Pareto组合服务。
从第二阶段所产生的Pareto组合服务集中,依据用户对组合服务的全局QoS约束进行约束条件检查,剔除不满足约束条件的Pareto优化解(即组合服务),且依据用户的个性化QoS偏好,采用Top-k查询处理技术,给用户推荐满足其偏好要求的前k个较优的组合服务。
具体实施例如下:
如图5所示,假设现有一个由若干个抽象服务组成的抽象组合服务实例,每个抽象服务ASi可有ni个候选具体服务完成该抽象服务ASi的功能,这些候选具体服务WSi被索引于HDFS海量服务池中。经过第一阶段“筛选海量服务”后,每类候选具体WSi的数量由原来的ni个减少至mi个,即将各类服务的非Skyline服务剔除掉了,剩下各类服务的Skyline服务,形成Skyline服务库。经过第二阶段“优选Skyline服务”后,每个抽象服务ASi选择了相应的某个具体服务WSi后,组合成一个具体组合服务。在此阶段,由于每个抽象服务ASi所选择的具体服务WSi不同,则可组合成大量的具体组合服务,产生Pareto组合服务集,如图中的组合服务1,组合服务2,……,组合服务N。再经过第三阶段“优选Pareto组合服务”后,产生满足用户QoS偏好需求的前k个Pareto组合服务。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,包括以下步骤:
步骤一:筛选海量服务:在MapReduce框架下,利用块嵌套算法和分治算法的Skyline计算,从海量服务池中筛选出QoS较优的服务,生成Skyline服务库;
步骤二:优选Skyline服务:在MapReduce框架下,利用多目标模拟退火算法,从步骤一所产生的Skyline服务库中优选出Skyline服务,生成Pareto组合服务集;
步骤三:优选Pareto组合服务:利用Top-k查询处理技术,结合用户个性化QoS偏好,从步骤二所产生的Pareto组合服务集中优选出k个满足用户QoS约束的Pareto组合服务。
2.根据权利要求1所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的步骤一具体为:
步骤101:按服务的功能将HDFS海量服务池中的候选服务进行分类,把具有相同功能的候选服务分到同一个服务类中,再把各候选服务类分别划分成若干数据块,分发到各Map节点上;
步骤102:各Map节点执行Map操作,计算局部候选Skyline服务。
各Map节点对各数据块中的候选服务按照其QoS属性中的某一维进行排序,依据服务间的支配关系,采用块嵌套循环算法计算局部候选Skyline服务,再将局部候选Skyline服务传送给相应的Reduce节点,其中输出的Key为候选服务索引号,Value为候选服务的各维QoS属性值;
步骤103:各Reduce节点执行Reduce操作,运用分治算法计算全局Skyline候选服务。
3.根据权利要求2所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的步骤103具体为:
步骤1031:对各Map节点归并过来的局部候选Skyline服务,按照其QoS中的某一维进行排序,取该维上的中值QS作为域点,并按该中值把候选服务块划分为两区域S1和S2,其中S1区域包含所有在该维的QoS属性值优于QS的候选服务,记为“优”区域,S2区域包含其他剩余的候选服务,记为“劣”区域;
步骤1032:迭代划分S1和S2,分别计算S1和S2的候选Skyline服务,直到每个区域只包含一个或设定数量的候选服务,或者所有QoS属性都被考虑过为止;
步骤1033:删去S2中被S1中的服务所支配的服务,合并S1和S2,计算得到最终的全局候选Skyline服务集。
4.根据权利要求3所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的步骤1032的设定数量为所有候选服务的百分之一至万分之一。
5.根据权利要求1所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的步骤二具体为:
步骤201:获取抽象服务的组合流程和由步骤一所产生的大规模Skyline服务库,包括组合流程的结构、所含抽象服务类及其个数n、对应Skyline服务及其QoS属性值,用户所需非支配解的个数n×HL;
步骤202:初始化相关参数、以及Map节点和Reduce节点的个数:初始温度Tmax,最终温度Tmin,冷却率α,每个温度下的迭代次数Iter,每个子归档集中解的个数的硬限制值HL,每个子归档集的初始解个数的软限制值SL,且SL>HL,Map节点m和Reduce节点r的个数都为n;
步骤203:并行初始化各Map节点子归档集:在每个Map节点上并行随机地产生一个子归档集,每个子归档集的初始解个数为SL,计算各个解的多个目标函数值,并产生<key,value>键值对,且发送给对应的Reduce节点,其中key为每个解的索引号ID和迭代计数器iteration,value为解的表示presentation和各个解的多目标函数值objective,其解为组合服务流程中的每个抽象服务随机选择一个具体服务形成的组合服务;
步骤204:各Slaver节点的Map节点从各自子归档集中随机选择一个解作为当前解Current-solution;
步骤205:Master节点设置辅助参数Temp=Tmax,记录当前温度;
步骤206:各Slaver节点的Map节点设置各自的迭代计数器iteration=0;
步骤207:各Slaver节点调用map(key,value)函数,产生新解New-solution,并计算新解的多个目标函数值,并将生成的键值对<key2,value2>发送给对应的Reduce节点;
步骤208:各Slaver节点调用reduce(key,value)函数,产生新的子归档集;
步骤209:各Reduce节点将所产生的新的子归档集归并于Master节点的总归档集中,即Combiner操作;
步骤210:Master节点按Temp=α×Temp的方式执行降温,判断当前温度Temp是否大于最终温度Tmin,若大于,将总归档集中的解等分到各Map节点上,即Partitioner操作,并转去执行步骤206,否则执行步骤211;
步骤211:如果总归档集中解的个数大于n×HL,则执行k-means聚类算法以将总归档集中解的个数减至n×HL,此时总归档集中的解都是Pareto优化解;否则,结束。
6.根据权利要求5所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的map(key,value)函数操作步骤:
步骤2071:从key中解析出解的迭代计数器iteration;
步骤2072:从value中解析出当前解Current-solution的表示presentation;
步骤2073:对当前解进行扰动以产生新解New-solution,并给新解分配一个新的唯一索引号ID;
步骤2074:评估新解New-solution的多个目标函数New-objective;
步骤2075:生成新的键值对<key2,value2>,其中key2为新解的索引号New-solution.ID+当前迭代次数Current.iteration,而value2为新解的表示New-solution.Presentation+当前解的表示Current-solution.presentation+新解的各个目标函数值New-solution.New-objective。
7.根据权利要求5所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的Reduce(key,value)函数操作步骤:
步骤2081:从key中解析出解的迭代计数器iteration;
步骤2082:从value中解析出新解New-solution和当前解Current-solution的表示presentation;
步骤2083:依据多目标模拟退火算法中解的支配检查和接受新解的方法,以值小者为优进行支配检查,并更新子归档集;
步骤2084:判断子归档集中解的个数是否超过SL,若超过,则对子归档集执行k-means算法进行聚类以将解的个数减至HL;
步骤2085:设置iteration=iteration+1,生成键值对<key3,Value3>,其中key3为各个解的索引号ID+迭代计数器iteration,Value3为各个解的表示presentation+各个解的各目标函数值objective;判断iteration是否小于Iter,若是,将所生成的键值对<key3,Value3>传送给对应的Map节点;否则,传送给Master节点。
8.根据权利要求1所述的一种基于MapReduce和多目标模拟退火的Skyline服务选择方法,其特征在于,所述的步骤三具体为:
从步骤二所产生的Pareto组合服务集中,依据用户对组合服务的全局QoS约束进行约束条件检查,剔除不满足约束条件的Pareto优化解,且依据用户的个性化QoS偏好,采用Top-k查询处理技术,给用户推荐满足其偏好要求的前k个较优的组合服务。
CN201510172842.XA 2015-04-13 2015-04-13 基于MapReduce和多目标模拟退火的Skyline服务选择方法 Active CN104735166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510172842.XA CN104735166B (zh) 2015-04-13 2015-04-13 基于MapReduce和多目标模拟退火的Skyline服务选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510172842.XA CN104735166B (zh) 2015-04-13 2015-04-13 基于MapReduce和多目标模拟退火的Skyline服务选择方法

Publications (2)

Publication Number Publication Date
CN104735166A true CN104735166A (zh) 2015-06-24
CN104735166B CN104735166B (zh) 2018-05-01

Family

ID=53458592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510172842.XA Active CN104735166B (zh) 2015-04-13 2015-04-13 基于MapReduce和多目标模拟退火的Skyline服务选择方法

Country Status (1)

Country Link
CN (1) CN104735166B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608206A (zh) * 2015-12-25 2016-05-25 天津理工大学 一种面向数据广播的位置相关skyline查询处理方法
CN105978720A (zh) * 2016-05-11 2016-09-28 北京系统工程研究所 一种满足端到端QoS约束的服务选择方法
CN106599189A (zh) * 2016-12-14 2017-04-26 大连大学 基于云计算的动态Skyline查询装置
CN106844419A (zh) * 2016-11-30 2017-06-13 辽宁大学 一种基于海量不完备数据集的skyline偏好查询方法
CN108076143A (zh) * 2017-12-01 2018-05-25 河南理工大学 一种物流Web服务动态优化组合方法
CN108737569A (zh) * 2018-06-22 2018-11-02 浙江大学 一种面向移动边缘计算环境的服务选择方法
WO2020063946A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 键值对数据的收集方法和装置
CN112541269A (zh) * 2020-12-14 2021-03-23 国家电网有限公司 一种综合能源服务商服务产品组合优化方法
CN117273238A (zh) * 2023-11-16 2023-12-22 四川省致链数字科技有限公司 一种基于QoS约束的木质家具服务组合方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111360A1 (en) * 1998-12-16 2005-05-26 Cisco Technology, Inc., A California Corporation Use of precedence bits for quality of service
CN102082737A (zh) * 2011-03-11 2011-06-01 浙江大学 基于服务优先级的Web服务替换方法
CN102158533A (zh) * 2011-01-28 2011-08-17 浙江大学 基于QoS的分布式web服务选择方法
CN102314521A (zh) * 2011-10-25 2012-01-11 中国人民解放军国防科学技术大学 一种基于云计算环境的分布并行Skyline查询方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111360A1 (en) * 1998-12-16 2005-05-26 Cisco Technology, Inc., A California Corporation Use of precedence bits for quality of service
CN102158533A (zh) * 2011-01-28 2011-08-17 浙江大学 基于QoS的分布式web服务选择方法
CN102082737A (zh) * 2011-03-11 2011-06-01 浙江大学 基于服务优先级的Web服务替换方法
CN102314521A (zh) * 2011-10-25 2012-01-11 中国人民解放军国防科学技术大学 一种基于云计算环境的分布并行Skyline查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李金忠等: "多目标模拟退火算法及其应用研究进展", 《计算机工程与科学》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608206A (zh) * 2015-12-25 2016-05-25 天津理工大学 一种面向数据广播的位置相关skyline查询处理方法
CN105978720A (zh) * 2016-05-11 2016-09-28 北京系统工程研究所 一种满足端到端QoS约束的服务选择方法
CN106844419B (zh) * 2016-11-30 2020-03-03 辽宁大学 一种基于海量不完备数据集的skyline偏好查询方法
CN106844419A (zh) * 2016-11-30 2017-06-13 辽宁大学 一种基于海量不完备数据集的skyline偏好查询方法
CN106599189A (zh) * 2016-12-14 2017-04-26 大连大学 基于云计算的动态Skyline查询装置
CN108076143A (zh) * 2017-12-01 2018-05-25 河南理工大学 一种物流Web服务动态优化组合方法
CN108737569A (zh) * 2018-06-22 2018-11-02 浙江大学 一种面向移动边缘计算环境的服务选择方法
CN108737569B (zh) * 2018-06-22 2020-04-28 浙江大学 一种面向移动边缘计算环境的服务选择方法
WO2020063946A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 键值对数据的收集方法和装置
US11615099B2 (en) 2018-09-30 2023-03-28 Huawei Technologies Co., Ltd. Method and apparatus for collecting key-value pair data
CN112541269A (zh) * 2020-12-14 2021-03-23 国家电网有限公司 一种综合能源服务商服务产品组合优化方法
CN112541269B (zh) * 2020-12-14 2024-03-19 国家电网有限公司 一种综合能源服务商服务产品组合优化方法
CN117273238A (zh) * 2023-11-16 2023-12-22 四川省致链数字科技有限公司 一种基于QoS约束的木质家具服务组合方法及系统
CN117273238B (zh) * 2023-11-16 2024-02-13 四川省致链数字科技有限公司 一种基于QoS约束的木质家具服务组合方法及系统

Also Published As

Publication number Publication date
CN104735166B (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
CN104735166A (zh) 基于MapReduce和多目标模拟退火的Skyline服务选择方法
Yin et al. An efficient collaboration and incentive mechanism for Internet of Vehicles (IoV) with secured information exchange based on blockchains
CN107688493B (zh) 训练深度神经网络的方法、装置及系统
CN112016812B (zh) 多无人机任务调度方法、系统及存储介质
CN103106279B (zh) 一种同时基于节点属性以及结构关系相似度的聚类方法
Cui et al. An improved discrete artificial bee colony algorithm to minimize the makespan on hybrid flow shop problems
CN108205682A (zh) 一种用于个性化推荐的融合内容和行为的协同过滤方法
CN108573326B (zh) 基于遗传蚁群混合算法的视频服务器选址方法
Zhu et al. Context-based prediction for road traffic state using trajectory pattern mining and recurrent convolutional neural networks
CN104182517A (zh) 数据处理的方法及装置
CN108737569B (zh) 一种面向移动边缘计算环境的服务选择方法
CN104035816A (zh) 一种基于改进nsga-ii的云计算任务调度方法
Lin et al. AI-driven collaborative resource allocation for task execution in 6G-enabled massive IoT
CN103729257A (zh) 一种分布式并行计算方法以及系统
CN105550274A (zh) 双副本并行数据库的查询方法和装置
CN103226759A (zh) 基于遗传算法的动态云工作流调度方法
Zhang et al. VNE-HPSO: Virtual network embedding algorithm based on hybrid particle swarm optimization
CN104657457B (zh) 一种用户评价视频的数据处理方法、视频推荐方法及装置
CN116450312A (zh) 面向流水线并行训练的调度策略确定方法及系统
Atat et al. Dynamic joint allocation of EV charging stations and DGs in spatio-temporal expanding grids
Zhang et al. A taxi gap prediction method via double ensemble gradient boosting decision tree
Dai et al. A learning algorithm for real-time service in vehicular networks with mobile-edge computing
KR101134196B1 (ko) 무선 통신 네트워크에서 abc 알고리즘을 이용하는 lap 최적 설계 방법 및 그 장치
CN110191015A (zh) 基于cpi指标的云服务性能智能预测方法和装置
Boutsis et al. Efficient event detection by exploiting crowds

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant