首页> 中国专利> 云计算环境下服务的自适应组合优化方法

云计算环境下服务的自适应组合优化方法

摘要

本发明公开了一种云计算环境下服务的自适应组合优化方法。通过构造中间代理端,通过中间代理端对环境中的云服务进行管理,并且记录下服务数据,当达到一定值时,通过决策树算法对不同中间代理端所管理的服务进行调整,从而确定该中间代理端所应该服务的主要对象,达到不同中间代理端之间的分工合作功能,减小系统消耗增加用户满意度,从而更好的为用户提供服务。

著录项

  • 公开/公告号CN103824127A

    专利类型发明专利

  • 公开/公告日2014-05-28

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN201410058209.3

  • 申请日2014-02-20

  • 分类号G06Q10/04(20120101);G06Q30/02(20120101);H04L29/08(20060101);

  • 代理机构31236 上海汉声知识产权代理有限公司;

  • 代理人胡晶

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2024-02-20 00:02:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-07

    专利权的转移 IPC(主分类):G06Q10/04 登记生效日:20200115 变更前: 变更后: 申请日:20140220

    专利申请权、专利权的转移

  • 2017-02-08

    授权

    授权

  • 2014-06-25

    实质审查的生效 IPC(主分类):G06Q10/04 申请日:20140220

    实质审查的生效

  • 2014-05-28

    公开

    公开

说明书

技术领域

本发明涉及计算、数据处理技术领域,特别涉及一种云计算环境下服务的自适应组合优化方法。

背景技术

云计算是并行计算(Parallel Computing)、分布式计算(DistributedComputing)和网格计算(Grid Computing)的发展,是这些计算机科学概念的商业实现。云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合严谨并跃升的结果。

随着web服务的数量以及种类的增加,服务组合成为了面向服务领域的一个关键问题。随着服务的数目以及种类的增多,在服务组合过程中必需考虑到服务的选择以及优化服务的组合。传统的web服务技术是一种无状态的功能响应,它存在功能单一,无法主动响应外界事件,服务之间无法相互自主协作等不足,无法满足服务的选择以及优化。

随着互联网向云计算的逐步发展,由于云环境所特有服务无所不在以及低成本跨平台等特性,服务提供商开始从开发传统web服务转向云服务。当前对服务组合的研究大都集中在传统服务即普适计算环境下服务组合,而云计算环境所特有的多云环境、服务形态、服务模式、以及多租户、虚拟化等服务机制都是传统环境多不具备的,因此现有的服务组合技术难以直接迁移应用到云计算环境下,特别是服务组合的性能以及组合服务执行效率难以满足云用户的需求。除了面对传统服务组合中的QoS约束、动态组合等问题之外,统一建模、海量云服务组合以及云服务组合优化等问题必需考虑。

发明内容

本发明针对现有技术存在的上述不足,提供了一种云计算环境下服务的自适应组合优化方法。本发明通过以下技术方案实现:

一种云计算环境下服务的自适应组合优化方法,云计算环境包括:云服务以及中间代理端,每一中间代理端选择一定数量的云服务建立关联,为所指定类型的客户提供云服务,并记录服务数据,根据服务数据重新调整所选择的云服务;

其中,服务数据包括:

总业务量,用以记录所有类型的客户的请求次数总量;

业务量,用以记录同一类型的客户的请求次数总量;

销售量,用以记录每一中间代理端上所选择的一云服务被客户采用的次数,每一中间代理端根据销售量对所选择的云服务进行重新调整;

客户满意度,用以记录客户对所采用的云服务的满意度,每一中间代理端根据客户满意度选择相关的云服务建立关联;

关联度,用以记录每一中间代理端所能联系的最大的其他中间代理端的数量,每一中间代理端根据关联度的大小选择对应的其他中间代理端建立合作关系;

生存时间,用以表示数据包在网络中传输的最大时间长度,在接收到一客户请求后,在中间代理端中每转发一次则生存时间的值减1,直至减为0后停止转发;

云计算环境下服务的自适应组合优化方法包括步骤:

S1、每一中间代理端分别选择一定数量的云服务并建立关联;

S2、定义所选择云服务的关联度以及生存时间值的大小,每一中间代理端根据关联度的大小选择对应的其他中间代理端建立合作关系;

S3、等待客户请求,在收到一客户请求后,先确定客户类型,总业务量以及对应的业务量的值加1;

S4、根据客户请求查找满足条件的云服务,同时将客户请求转发至合作的中间代理端,若找到,则从查找结果中选择最优的云服务,若没有找到则结束;

S5、合作的中间代理端在接收到所转发的客户请求后,先判断客户请求的生存时间是否为0,若为0,则直接丢弃并返回结果,若不为0则查找满足条件的云服务并返回结果,生存时间的值减1;

S6、在接收到所有合作的中间代理端的返回结果后,选择满意度最高的云服务返回给客户;

S7、判断客户是否采用所返回的云服务,若客户采用所返回的云服务,则本次推荐成功,记录客户对所返回的云服务的满意度,同时,该云服务的销售量加1,若客户不采用所返回的云服务,则本次推荐失败;

S8、当总业务量到达一阈值时,每一中间代理端根据所指定的客户的类型以及服务数据建立决策树,更新所建立关联的云服务,同时更新与其他中间代理端的合作关系;

S9、返回步骤S3。

较佳的,步骤S4具体包括:云服务中包括硬性条件和非硬性条件,根据客户请求查找满足硬性条件的云服务,同时将客户请求转发至合作的中间代理端,若找到,则根据非硬性条件,利用SPA算法从中查找结果中选择最优的云服务,若没有找到则结束。

较佳的,步骤S8中的建立决策树包括:将云服务的非硬性条件的属性作为决策树的属性,将需要保留的云服务以及需要剔除的云服务作为训练集,判断其他云服务是否为优质云服务。

较佳的,步骤S8具体包括:

S81、对每一中间代理端所建立关联的云服务按照销售量的大小进行降序排列,其中,销售量相同的云服务按照业务量的大小进行降序排列;

S82、剔除排列靠后的不符合要求的云服务,并根据不同类型的客户的业务量选择业务量最多的客户的类型作为提供云服务的目标;

S83、读取所选择类型的客户的服务数据,建立决策树;

S84、选择市场上尚未饱和的云服务,并根据S83中建立的决策树判断是否为优质云服务,若判断结果为是,则建立关联,若判断结果为否,则继续选择,直至达到中间代理端所能管理的云服务的数量上限。

较佳的,选择对应的其他中间代理端建立合作关系中,为选择最近的其他中间代理端建立合作关系,以减少通信损耗。

较佳的,步骤S7中的记录客户对所返回的云服务的满意度,包括:新的满意度的值为原值的0到1之间,且随着每次转发,满意度的损耗呈指数级增长。

本发明针对云计算平台下海量服务的特点,对云服务组合的过程进行优化,通过分析不同用户的偏好以及调整不同中间代理端所管理的云服务以及所服务的客户群体,提高用户的满意度以及最大程度减少系统的资源消耗。

附图说明

图1所示的是本发明的结构示意图;

图2所示的是本发明的生存时间判断方法的代码图;

图3所示的是本发明的决策树的代码图。

具体实施方式

以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

为了便于对本发明实施例的理解,下面将结合附图以具体实施例为例作进一步的解释说明,且各个实施例不构成对本发明实施例的限定。

请参考图1,本发明提供的一种云计算环境下服务的自适应组合优化方法中,云计算环境包括:云服务以及中间代理端,每一中间代理端选择一定数量的云服务建立关联,为所指定类型的客户提供云服务,并记录服务数据,根据服务数据重新调整所选择的云服务。

记录的服务数据如下:

1、业务量(Transaction Volume,TV):客户的请求次数总量,每请求一次业务量加1,针对不同类型的客户,业务量再细分记录为TV1,TV2,TV3,其中TV=TV1+TV2+TV3

2、销售量(Sales Volume,SV):记录中间代理端所管理的某一服务成功被客户采用的次数,销售量越高表示该服务的受欢迎程度越高,被推荐之后越容易被客户采用。因此,在判定一个服务是否是与其他中间代理端继续进行合作是销售量是重要指标之一。另外根据业务量和销售量的定义,我们很容易得到以下关系:

>TV=Σi=1nSVi,>n为系统中总得服务数量

3、客户满意度(Customer Satisfaction,CS):每次调用服务完成时客户会产生对该服务的满意度,即对该服务进行评分。评分的高低代表用户对该项服务的满意程度,中间代理端记录并分析满意较高的服务并从市场中挑选类似的服务建立联系。

4、关联度(Correlation Degree,DC):中间代理端联盟中每个中间代理端所能联系的最大协调者数量。关联度的大小表示中间代理端联盟成员之间的紧密程度。关联度越大表示每个中间代理端能够与更多的中间代理端建立协作关系。

5、生存时间(Time To Live,TTL):TTL是TCP/IP协议里面的一个值,用来表示数据包在网络中传输的最大时间长度。数据包没经过一次路由时,TTL减一,当TTL值为零时即抛弃该数据包。在本文的中间代理端联盟系统中,我们借鉴该表示方法,使用TTL表示数据包可以在服务之间转发的次数限制。中间代理端接收到客户请求之后,联盟中每转发一次TTL值减一,当TTL值减为0时,停止转发,如图2所示。

结合上述增加的定义,本发明提供的一种云计算环境下服务的自适应组合优化方法具体包括步骤:

S1、每一中间代理端分别选择一定数量的云服务并建立关联,作为初始化服务;

S2、定义所选择云服务的关联度以及生存时间值的大小,每一中间代理端根据关联度的大小选择对应的其他中间代理端建立合作关系;

S3、等待客户请求,在收到一客户请求后,先确定客户类型,总业务量T以及对应的业务量Ti的值加1;

S4、根据客户发送的请求找到满足硬性条件T1的所有云服务,若云服务不存在,则此次结果返回失败。在满足条件T1的所有服务中,考虑非硬性条件T2,根据SPA(Super Pairwise Alignment,一种现有的次优算法)的计算选择结果记录下自身所能提供的最优服务。

S5、在S4的同时,将客户请求转发给合作的中间代理端,同时在信息中新增加源中间代理端以及TTL参数等信息。

S6、联盟中相关合作中间代理端接受到该信息请求后,首先判断TTL是否为零,当为零时,直接丢弃并返回结束结果,每次转发由于增加了系统的通信消耗,需要将返回的结果做出一定的让步处理。因为在同样属性的服务的情况下,系统的最佳选择应该是离源中间代理端距离最近中间代理端,这样可以很大程度上减少系统中无法的通信损耗。满意度变化遵循的大致规则是每次转变后的值为原值(0,1)倍之间,且随着转发的继续,每次转发的损耗应呈现指数级增长,顾其获得的满意度改变也应体现这点。综合考虑,本发明定义如下满意度损耗公式如下:

>perfnew=perfold·(1-log(1+ttl)10)>

prefnew为新的满意度值,prefold为先前的满意度值,ttl即TTL的值。

S7、源中间代理端在接收到所有转发出去的请求返回的结果后,通过与自身的结果进行比较,选择满意度最高的服务返回给用户。

S8、根据客户反馈结果做出适当变化。若本次推荐成功,记录客户此次对该服务的满意度CSi,同时将该服务的销售量SVi加1、若推荐结果失败,则只需将本次失败记录即可。

S9、当客户的总业务量达到调整阀值时,中间代理端根据服务筛选机制确定要服务的客户群体,同时根据现有的服务相关数据建立决策树更新与自身建立连接的相关服务。

S10、在S9的同时更新中间代理端之间的相互合作关系,当系统中合作数量差别较大时,剔除出相互合作较少的中间代理端,同时重新随机挑选新的中间代理端建立合作。当系统中各中间代理端合作数量相对均衡时,此时系统以达到较为稳定的状态,将不做任何处理。

S11、返回S3。

多次重复运行以上步骤后,中间代理端确定所需服务的客户类型,根据服务类型不断的更新自身管理的服务。这种变化会导致跟客户以及SPA逐渐建立起一种较为稳定的合作关系,同时中间代理端与中间代理端之间也能够建立一种较为友好的合作关系。在这种环境下,整个系统趋于稳定。

本发明基于决策树算法流程描述如下:

决策树算法主要应用在挑选新的优质服务时,每次系统总交易量达到调整阀值需要调整时,中间代理端管理的云服务被划为两类,即保留的服务以及需要被剔除的服务。通过将服务的非硬性条件T2的属性作为决策树的属性,将划分成两类的服务作为训练集,我们可以建立起决策树来判定市场中的其他服务是否为优质服务。

决策树(Decision Tree)一般被用来对数据进行分类和预测,它的主要目标是从大量的无规则的数据中建立决策树的问题分类形式以及规则。通过采用递归方式,每次选区分度最高的属性并根据该属性进行分枝,一次类推最终在决策树的叶节点得到结论。决策树中每条路径对应着一条相应的规则,整棵树代表了所有可能出现的规则情况。决策树算法使用者无需了解很多背景知识,只需简单的对数据进行预处理即可。常用的决策树算法有ID3和C4.5算法。C4.5分类构造树算法框架如图3所示。

设S代表s个数据样本的集合。目标类属性Ci(i=1,······m)具有m个不同的值,设si是类Ci中的样本数。计算给定的样本分类所需的期望信息如下:

>I(s1,...,sm)=Σi=1mpilog2pi>

其中pi是任意样本属于Ci的概率,且pi=si/s。

设属性A具有v个子集s1,···,sv,sj包含S中这样一些样本,它们在A上具有值aj。如果选择A作测试属性,则这些子集对应于包含集合S的集合S的节点长出的分支。设sij是子集sj中类Ci的样本数。根据由A划分成子集的熵由下式给出:

>E(A)=Σi=1vsij+...+smjsI(sij,...,smj)>

其中充当第j个子集的权,并且等于子集中的样本个数除以s中的样本总数。熵值越小,子集划分的纯度越高。对于给定的子集sj有:

>I(s1j,...,smj)=Σi=1mpijlog2pij>

其中是sj中的样本属于类Ci的概率。

在A分枝将获得的信息编码是:

Gain(A)=I(s1,...,sm)-E(A)

以上和ID3算法的基本原理相同,而C4.5所不同的是在后面使用信息增益比例来取代信息增益。

>SplitInfo(S,A)=Σi=1c|Si||S|log2|Si||S|>

其中,s1到sc是c个值的属性A分割S而形成的c个样本子集。

这时,在属性A上所的到的信息增益比为:

>GainRatio(S,A)=Gain(S,A)SplitInfo(S,A)>

C4.5算法计算每个属性的信息增益比。每次具有最高信息增益比的属性选作给定集合S的测试属性。创建一个节点,并以该属性标记,对属性的每个值创建分枝并据此划分样本。

基于C4.5算法,在业务量达到调整阀值时,中间代理端的具体决策树的筛选过程如下:

1、对中间代理端所管理的服务按照SV进行降序排序,SV相同的按照业务量进行降序排序。

2、根据一定比例标记靠后的服务,即中间代理端进行调整时所需剔除的服务,此时再根据中间代理端对不同客户类型服务次数,确定主要发展的客户类型,服务次数最多的客户群体即该中间代理端主要发展的目标群体。

3、读取该类型客户的历史交易数据,基于这些数据简历决策树。

4、挑选市场中还未饱和的服务,根据所建立的决策树判断是否为优质服务,是则加入该中间代理端进行管理,否则继续挑选。直到达到管理上限。

由于整个环境下存在大量的云服务,客户无法通过自身遍历查找所有的云服务来进行挑选,这时中间代理端就可以发挥自身的作用,客户只需将自身的请求发送给中间代理端即可,中间代理端根据客户发送过来的请求查找其所管理的云服务,并将查找的结果返回给客户。通常而言,中间代理端管理能力有限,每个中间代理端在业务能力范围内只能代理有限个云服务。同时,处于中间代理端的竞争,每个云服务只能跟有限个中间代理端建立合作关系。当客户有云服务需求时,为了选择最为优质的云服务,客户会同时联系多个中间代理端进行咨询,当中间代理端收到咨询请求时,会根据自身所管理的云服务为客户推荐最合适的。客户根据中间代理端返回的云服务进行比较,根据自身偏好选择最为合适的云服务。

为了在激烈的中间代理端竞争中脱颖而出赢得客户青睐,中间代理端通过记录下客户的历史行为数据进行数据分析,归纳推算出客户选择服务时的偏好决定因素。根据服务客户的偏好习惯,对所管理的服务进行调整,解除与不符合要求的云服务的合作关系,重新挑选适合客户偏好的服务建立合作关系。中间代理端在通过不断的为客户服务的过程中,根据客户需求以及市场环境影响,必需确定自身定位即自身的服务对象。最终为用户提供更好的服务。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号