一种基于skyline计算的非线性服务组合方法技术

技术编号:15652369 阅读:62 留言:0更新日期:2017-06-17 05:47
本发明专利技术公开了一种基于skyline计算的非线性服务组合方法,包含以下步骤:步骤一:通过skyline计算获得每个服务群的skyline服务集合;步骤二:将skyline服务集合进行0‑1非线性规划建模;步骤三;利用非线性整数规划求解器Bonmin对0‑1非线性规划模型进行求解;步骤四:根据求解结果,选择最优服务组合方案。本发明专利技术可以在保证组合服务质量的基础上显著提高服务组合的效率。

【技术实现步骤摘要】
一种基于skyline计算的非线性服务组合方法
本专利技术涉及一种服务组合方法,特别是一种基于skyline计算的非线性服务组合方法。
技术介绍
面向服务架构的提出,解决了跨平台资源共享的问题。为了保证服务的模块化和可复用性,单个服务一般具有相对单一的功能。用户在使用时,需要将单个服务进行组合,以满足用户复杂的功能需求。云计算的出现推动了服务数量的指数型增长,这些相互竞争、功能相似的服务对现有的服务组合技术的研究提出了新的挑战,致使用户无法快速找到与他们需求相匹配的服务。如何快速获得满足功能要求、且非功能属性最优的服务组合方案,一直是很多研究者关注的热点。候选服务数量的激增是导致服务组合效率降低的最重要因素,候选服务器数量大大增加,如果仍然对每个候选服务都进行采集并计算,则增加了服务器的负荷并且计算效率较低,延长了服务组合选择时间。另外,在模型求解时,目前现有技术主要采用穷举算法Global和局部选择算法Local。其中,穷举算法Global,遍历所有的服务组合路径后,再找出其质量最优的一条路径。该方法的时间复杂度最高,但找到的解一定是最优解;局部选择法Local,即找出每个服务群中QoS局部最优的候选服务进行组合,局部选择法Local的求解效率最高,但得到的ComSAW比其他方法差很多。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于skyline计算的非线性服务组合方法,它能够保证结果准确的前提下提高了最优服务组合的求解效率。为解决上述技术问题,本专利技术所采用的技术方案是:一种基于skyline计算的非线性服务组合方法,其特征在于包含以下步骤:步骤一:通过skyline计算获得每个服务群的skyline服务集合;步骤二:将skyline服务集合进行0-1非线性规划建模;步骤三;利用非线性整数规划求解器Bonmin对0-1非线性规划模型进行求解;步骤四:根据求解结果,选择最优服务组合方案。进一步地,所述步骤一中通过skyline计算获得每个服务群的skyline服务集合,skyline服务集合是指在服务群中,所有不被其它服务支配的候选服务集合,记为SkySi,其中,Si表示服务群,wsi,j表示第i个服务群Si中的第j个候选服务,服务群Si中共有ni个候选服务;skyline服务集合计算的具体过程为:1-1)计算每个单一服务wsi,j的质量属性,记为q(wsi,j)={qrt,qa,qt,qp,qre},其中,wsi,j表示第i个服务群Si中的第j个候选服务,且1≤i≤m,m为服务群的数量,且1≤j≤ni,ni为服务群Si中候选服务的数量,qrt为单一服务的反馈时间,qa为单一服务的可用性,qt为单一服务的吞吐量,qp为单一服务的价格,qre为单一服务的信誉;由于在skyline计算中令每个维度的属性值偏好于较小的值,这里在属性qa、qt、qre前加相反数操作后再进行skyline计算;1-2)找到服务群Si中不被其他服务支配的候选服务,将其加入Si的skyline服务集合SkySi中,令j表示目前处理的候选服务的下标,初始状态下,令j为1;1-3)取出服务群Si中的第j个候选服务wsi,j,将其与Si中除自身以外的其他ni-1个候选服务进行质量属性的值对比,令dom_less,dom_equal,dom_more分别表示Si中候选服务wsi,j的质量属性值小于、等于、大于Si中其他候选服务的质量属性值的个数;若qrt(wsi,j)<qrt(wsi,k),则dom_less计数加1,若qrt(wsi,j)=qrt(wsi,k),则dom_equal计数加1,若qrt(wsi,j)>qrt(wsi,k),则dom_more计数加1;1-4)令count表示各质量属性的值不大于且不完全等于候选服务wsi,j各属性值的候选服务计数,即若dom_less为0且dom_equal不等于属性的总个数,则令count加1;1-5)将count为0候选服务加入skyline服务集合SkySi中;1-6)令j加1,如果j=ni,返回服务群Si的skyline服务集合SkySi,否则返回步骤1-3)。进一步地,所述步骤二中0-1非线性规划建模的具体步骤为,2-1)、从skyline服务集合SkySi中选取1个候选服务参与组合,其中且1≤i≤m,m为服务群的数量,构造一条组合路径ComServiceik,用0-1矩阵useji表示是否选取该服务,当useji=1时,表示选取该候选服务进行组合,当useji=0时,则表示未选取该服务,k表示处理的质量属性的下标,且1≤k≤5,ComService计算公式如下:use满足以下约束条件:且1≤i≤m2-2)、根据质量属性的不同,聚合操作有平均、最小、求和、乘积四种形式,采用组合状态Com_statusk=1,2,3,4对每个属性的组合状态进行标识,根据Com_statusk,组合路径ComServiceik的聚合质量ComScorek计算公式如下:其中,i为服务群的下标,m为服务群的数量,k表示处理的质量属性的下标;2-3)、根据语义的不同,将服务属性分为积极属性和消极属性两类;采用属性参数Posi_statusk进行标识,当Posi_statusk=1,表示第j个属性为积极属性;当Posi_statusk=-1,则该属性为消极属性,归一化后的聚合质量UniComScorek的计算公式如下:其中,MAXk表示所有组合路径中第k维属性聚合质量的最大值,MINk表示所有组合路径中第k维属性聚合质量的最小值,当MAXk=MINk时,则UniComScorek为1;2-4)、令Weightk表示各质量属性的权重,满足公式组合服务的质量ComSAW计算公式如下:进一步地,所述步骤三中利用非线性整数规划求解器Bonmin对0-1非线性规划模型进行求解过程为,在AMPL建模语言中,通过’solve’命令调用求解器Bonmin进行求解。进一步地,所述步骤四中选择最优服务组合方案过程为,在步骤三中求解的组合服务的质量ComSAW的结果中选择ComSAW值最大的服务组合作为最终服务组合方案。本专利技术与现有技术相比,具有以下优点和效果:1)通过skyline筛选出每个服务群中skyline服务集合再进行服务组合操作,可以达到缩小搜索空间,有效提高服务组合的效率的目的;2)对服务进行0-1非线性规划建模,可以在保证求解效率的基础上获得最优解。附图说明图1是本专利技术的一种基于skyline计算的非线性服务组合方法的流程图。图2是本专利技术的质量属性的状态及对应的聚合操作表格。图3是本专利技术的实施例求解的组合服务的质量ComSAW的实验结果示意图。图4是本专利技术的实施例利用Bonmin求解器进行求解的求解时间示意图。具体实施方式下面结合附图并通过实施例对本专利技术作进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。如图1所示,本专利技术的一种基于skyline计算的非线性服务组合方法,首先通过skyline计算获得每个服务群的skyline服务集合;然后将skyline服务集合进行0-1非线性规划建模;再利用非线性整数规划求解器Bonmin对该模型进行求解;最后根据求解结果,选择本文档来自技高网...
一种基于skyline计算的非线性服务组合方法

【技术保护点】
一种基于skyline计算的非线性服务组合方法,其特征在于包含以下步骤:步骤一:通过skyline计算获得每个服务群的skyline服务集合;步骤二:将skyline服务集合进行0‑1非线性规划建模;步骤三;利用非线性整数规划求解器Bonmin对0‑1非线性规划模型进行求解;步骤四:根据求解结果,选择最优服务组合方案。

【技术特征摘要】
1.一种基于skyline计算的非线性服务组合方法,其特征在于包含以下步骤:步骤一:通过skyline计算获得每个服务群的skyline服务集合;步骤二:将skyline服务集合进行0-1非线性规划建模;步骤三;利用非线性整数规划求解器Bonmin对0-1非线性规划模型进行求解;步骤四:根据求解结果,选择最优服务组合方案。2.按照权利要求1所述的一种基于skyline计算的非线性服务组合方法,其特征在于:所述步骤一中通过skyline计算获得每个服务群的skyline服务集合,skyline服务集合是指在服务群中,所有不被其它服务支配的候选服务集合,记为SkySi,其中,Si表示服务群,wsi,j表示第i个服务群Si中的第j个候选服务,服务群Si中共有ni个候选服务;skyline服务集合计算的具体过程为:1-1)计算每个单一服务wsi,j的质量属性,记为q(wsi,j)={qrt,qa,qt,qp,qre},其中,wsi,j表示第i个服务群Si中的第j个候选服务,且1≤i≤m,m为服务群的数量,且1≤j≤ni,ni为服务群Si中候选服务的数量,qrt为单一服务的反馈时间,qa为单一服务的可用性,qt为单一服务的吞吐量,qp为单一服务的价格,qre为单一服务的信誉;由于在skyline计算中令每个维度的属性值偏好于较小的值,这里在属性qa、qt、qre前加相反数操作后再进行skyline计算;1-2)找到服务群Si中不被其他服务支配的候选服务,将其加入Si的skyline服务集合SkySi中,令j表示目前处理的候选服务的下标,初始状态下,令j为1;1-3)取出服务群Si中的第j个候选服务wsi,j,将其与Si中除自身以外的其他ni-1个候选服务进行质量属性的值对比,令dom_less,dom_equal,dom_more分别表示Si中候选服务wsi,j的质量属性值小于、等于、大于Si中其他候选服务的质量属性值的个数;若qrt(wsi,j)<qrt(wsi,k),则dom_less计数加1,若qrt(wsi,j)=qrt(wsi,k),则dom_equal计数加1,若qrt(wsi,j)>qrt(wsi,k),则dom_more计数加1;1-4)令count表示各质量属性的值不大于且不完全等于候选服务wsi,j各属性值的候选服务计数,即若dom_less为0且dom_equal不等于属性的总个数,则令count加1;1-5)将count为0候选服务加入skyline服务集合SkySi中;1-6)令j加1,如果j=ni,返回服务群Si的skyline服务集合SkySi,否则返回步骤1-3)。3.按照权利要求1所述的一种基于skyline计算的非线性服务组合方法,其特征在于:所述步骤二中0-1非线性规划建模的具体步骤为,2-1)、从skyline服务集合SkySi中选取1个候选服务参与组合,其中且1≤i≤m,m为服...

【专利技术属性】
技术研发人员:霍瑛邱鹏翟继友
申请(专利权)人:南京工程学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1