一种基于skyline计算的非线性服务组合方法与流程

文档序号:12692431阅读:255来源:国知局
一种基于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≤m

2-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对该模型进行求解;最后根据求解结果,选择一种服务组合方案。具体包括以下步骤:

步骤1)、通过skyline计算获得每个服务群的skyline服务集合,skyline服务集合是指在服务群中,所有不被其它服务支配的候选服务集合,记为SkySi。其中,Si表示服务群,wsi,j表示第i个服务群Si中的第j个候选服务,服务群Si中共有ni个候选服务。具体计算步骤如下:

步骤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)。

步骤2)、采用建模语言AMPL将服务组合问题进行0-1非线性规划建模,具体包括以下步骤:

步骤2-1)、从步骤1)计算得到的各服务群的skyline服务集合SkySi中选取1个候选服务参与组合,其中且1≤i≤m,m为服务群的数量,构造一条组合路径ComServiceik,用0-1矩阵useji表示是否选取该服务,当useji=1时,表示选取该候选服务进行组合,当useji=0时,则表示未选取该服务,k表示处理的质量属性的下标,且1≤k≤5,ComService计算公式如下:

由于每类服务群必须且只允许选取1个候选服务参与组合,所以use要满足以下约束条件:

且1≤i≤m

步骤2-2)、根据质量属性的不同,聚合操作有平均、最小、求和、乘积四种形式。采用组合状态Com_statusk=1,2,3,4对每个属性的组合状态进行标识,各质量属性的状态及对应的聚合操作如图2所示;

根据Com_statusk,组合路径ComServiceik的聚合质量ComScorek计算公式如下:

其中,i为服务群的下标,m为服务群的数量,k表示处理的质量属性的下标;

步骤2-3)、根据语义的不同,可以将服务属性分为积极属性和消极属性两类。积极属性的值越大则服务质量越高,如可用性qa、吞吐量qt、信誉qre;而消极属性的值越小则质量越高,如反馈时间qrt、价格qp;采用属性参数Posi_statusk进行标识,当Posi_statusk=1,表示第j个属性为积极属性;当Posi_statusk=-1,则该属性为消极属性,归一化后的聚合质量UniComScorek的计算公式如下:

其中,MAXk(MINk)表示所有组合路径中第k维属性聚合质量的最大值(最小值),当MAXk=MINk时,则UniComScorek为1。

步骤2-4)、令Weightk表示各质量属性的权重,满足公式组合服务的质量ComSAW计算公式如下:

步骤3)、利用非线性整数规划求解器Bonmin对步骤2)中建立的0-1非线性规划模型进行求解;

在AMPL建模语言中,通过’solve’命令调用求解器Bonmin进行求解。

步骤4)、根据步骤3)的求解结果,用户选择一种服务组合方案。

下面通过具体的实施例对本发明进行说明:

1)、skyline计算效果

QWS数据集中包含2507个真实Web服务信息,每条服务信息中包含9个质量属性的值。假设这些服务都在一个服务群中,令候选服务的数量从500增大到2500,步长为500,考虑其中5个质量属性,经过skyline计算后,得到的skyline集合中的候选服务数量如下表所示。可以看出,skyline操作确实可以减少参与服务组合的候选服务个数。

2)、0-1非线性规划模型求解与其他求解方法对比

将本发明设计的0-1非线性规划求解模型与其他求解方法进行对比,对比的已有方法如下:

(1)穷举算法Global,遍历所有的服务组合路径后,再找出其质量最优的一条路径。该方法的时间复杂度最高,但找到的解一定是最优解;

(2)局部选择法Local,即找出每个服务群中QoS局部最优的候选服务进行组合;

(3)本发明中采用Bonmin求解器对建立的0-1非线性规划模型进行求解。

实验环境为:Intel Core i5-4590(3.3GHz),4GB RAM,Windows7(32bit),MATLAB R2010b。

采用随机数据集,即令服务的质量属性值在(0,1)范围内均匀分布。令服务群的个数m为5,每个服务群的候选服务数ni从5增大到60,步长为5,这里假设每个服务群中所包含的候选服务数相等。各质量属性的权重均为0.2,采用上述方法求解组合服务的质量ComSAW,其实验结果如图3所示。由于穷举算法的时间复杂度过高,因此只计算ni=5,10,15三种情况。其求解时间如下表所示:

由上表和图3可知,穷举算法Global虽然能获得最优解,但其时间复杂度过高,不能适用于实际问题的求解;局部选择法Local的求解效率最高,但得到的ComSAW比其他方法差很多。本发明所采用的Bonmin求解方法能获得与穷举算法相同的最优解,且求解效率也较优,可有效应用于求解服务组合问题中。

最后,利用Bonmin求解器在原始的服务集合和经过删减获得的skyline服务集合上进行求解,其求解时间如图4所示。由图4可知,当每个服务群中候选服务数小于40时,两种方法的运行效率比较接近。但当超过40时,可以将原来的求解时间至少缩短1/4。因此,运用Bonmin方法求解本发明所的0-1非线性规划模型,可以保证求解质量的前提下,有效地提高服务组合的效率。

本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1