一种分布式云计算环境中信息处理服务的部署方法

文档序号:7865313阅读:139来源:国知局
专利名称:一种分布式云计算环境中信息处理服务的部署方法
技术领域
本发明涉及一种云计算环境中的处理方法,特别是一种云计算中信息处理服务的部署方法。
背景技术
在IT商业界与产业界,云计算已经受到越来越多的关注与应用。云为服务的创建、部署、管理和适用提供了相当多的机会。云计算的即用即付的商业模式,使得云提供商一个关键的驱动力就是合理地适用基础设施资源以最优化地满足用户的服务质量需求,从而达到降低服务成本,扩大收益的目的。信息处理服务是云计算中一类应用广泛的服务类型,如对广域分布的连锁超市的销售与库存信息的分析以指导货物的调配,对银行各服务网点的监控信息进行处理以发现欺诈等行为,对网络流量的探测信息进行整理以避免拥塞,对线上游戏等数据的挖掘以提升用户体验等等。这类服务的特点是处理的信息量大,对服务器的计算能力要求高,信息来源广域分布。此外,很多的信息处理请求需要能够得到及 时的响应。因此,需要结合云计算环境的网络状况,服务器的计算能力,服务部署与维护开销等因素,合理地部署这类信息处理服务,以满足广域的信息源(即用户)的服务质量需求。然而,现有的服务部署技术大多追求整体服务性能的提升,从而忽略了某些用户的服务质量需求,这不满足目前云计算发展的需要。此外,这些现有的部署技术难以适应用户服务请求数据率随着时间推移而增长这一云计算环境中的常见情况。

发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种云计算中信息处理服务的部署方法,通过选择合适的服务器以部署信息处理服务,从而在严格保证分布式云计算环境中用户的服务质量需求的前提下,减小尽可能低的服务部署与维护开销以满足稳定的用户请求,或在指定的服务部署与维护开销的基础上,尽可能适应用户请求可能的扩展情况。为了解决上述技术问题,本发明公开了一种分布式云计算环境中信息处理服务的部署方法,在确定了云计算平台终端个体用户的服务请求数据率相关信息及其服务质量需求、服务器可行计算容量及其之上的服务部署与维护开销之后,选取合适的服务器以用来部署信息处理服务,包括以下步骤网络状况监控步骤,按照网络拓扑结构对网络链路状况进行监测,从而获取每条网络链路上的传输时延;服务部署方案选择步骤,按照网络状况以及当前服务器可行计算容量,结合终端用户的服务请求数据率相关信息和服务质量需求,明确服务部署方案的约束条件,并结合服务部署开销选取最优的服务部署方案,明确相应的用户请求分配方案。服务部署步骤,按照最优服务部署方案,将服务部署到相应的服务器上。本发明中,云计算平台终端用户的服务请求数据以数据流的形式出现。
本发明中,云计算平台终端用户的服务请求数据率相关信息以明确的数值或者以随时间的递增函数形式出现。明确的数值一般可以取[2,4000]之间的任意数值。随时间的递增函数形式可以是随时间t递增函数#。(0 = (1+入。0艮(0),其中艮(0) —般可以取[2,200]间任意数值,而λ。一般可以取[O. 1,20]间任意数值。本发明中,云计算平台终端用户的服务质量需求以用户任意数据片段发出与相应数据处理结果返回给用户的时延不能超过给定值的形式出现。云计算平台终端个体用户的服务质量需求定义为,云计算平台终端个体用户发出任意数据片段与相应数据处理结果返回给云计算平台终端个体用户的时延的最大阈值。最大阈值为时间值,取值范围为自然数。本发明中,服务器可行计算容量以其单位时间可处理的服务请求数据量的形式出现。本发明中,终端用户与服务器之间的传输时延以两者之间最短传输路径时延的形式出现。本发明中,服务部署方案的约束条件包括传输时延约束条件,即终端用户与服务 器间的往返传输时延不能超过用户服务质量需求,和计算容量约束条件,即每个部署服务的服务器上相连的终端用户服务请求的数据率之和不能超过该服务器的可行计算容量。本发明中如何选取最优的服务部署方案与服务请求数据率相关信息出现的形式以及服务器容量信息密切相关。本发明中,当所有服务器可行计算容量充足(如服务器本身计算能力十分强大或可为服务器追加计算资源)时,最优服务部署方案的选择采用基于集合覆盖的算法,包括以下子步骤确定每一对服务器与用户间的传输时延,并按照服务部署方案的传输时延约束条件,明确每一个服务器所能处理的用户对象;在每一个迭代过程中,以未部署服务的服务器所能处理的用户对象个数(需排除已处理的用户对象)与其上的服务部署与维护开销的比值为性价比衡量指标,选取性价比最高的服务器,直到所有用户对象均以处理或服务器均被挑选。若迭代结束时,仍有用户对象未被处理,则返回找不到可行解。本发明中,当服务器可行计算容量受限且服务请求数据率以明确数值提供时,最优服务部署方案的选择采用基于背包的迭代算法,主要包括以下子步骤确定每一对服务器与用户间的传输时延,并按照服务部署方案的传输时延约束条件,明确每一个服务器所能处理的用户对象。在每一个迭代过程中,为每一个未部署服务的服务器按照背包问题求解算法计算该服务器可处理的最大的服务数据率之和,即以该服务器的可行计算容量为背包大小,以该服务器所能处理的用户对象(需排除已处理的用户对象)为物品,其数据率为物品大小,按照经典的背包问题求解算法(如动态规划算法等)计算出该服务器可处理的最大的服务数据率之和;再以服务器所能处理的最大服务数据率之和与其上的服务部署与维护开销的比值为性价比衡量指标,选取性价比最高的服务器,直到所有用户对象均以处理或服务器均被挑选。若迭代结束时,仍有用户对象未被处理,则返回找不到可行解。 本发明中,当服务器可行计算容量一般且服务请求数据率以时间的递增函数形式出现时,最优服务部署方案的选择采用基于结合二分法的基于背包的迭代算法,包括以下子步骤选取一个大于零的时间,计算该时间下的每个用户的请求数据率,并采用基于背包的迭代 算法计算当前状态下最低的服务部署与维护的总开销;如果该开销小于指定开销(一般可以指定为[100,1000]内的数值),则以二分法的方法提高该时间,如果该开销大于指定开销,则以二分法的方法降低该时间,并循环执行上一子步骤,直至可行的时间最大(误差范围内)。有益效果本发明通过考虑云中所有用户的服务请求情况以及用户请求扩展情况,使得信息处理服务通过合理部署,来充分满足每个用户的服务质量需求;通过对服务的容量限制,避免了服务超载拥塞等状况;通过考虑服务的部署与维护等开销,达到了降低成本的目的。本发明可以广泛应用于企业的资源优化配置、电子商务等领域,为私有云或公共云环境中的服务部署提供具有服务质量保证的方法,支持外包资源的配置选择,属于计算机应用领域。


下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。图Ia 图Id为举例说明云计算中信息服务的部署问题示意图。图2为本发明总体流程图。图3服务器容量充足时,基于集合覆盖的算法流程图。图4服务器容量受限时,基于背包的迭代算法流程图。
具体实施例方式图Ia 图Id为本发明通过一个简单直观的例子来说明该服务部署问题所关心的要素,重点说明本发明所要解决的问题。考虑一个分布式的网络系统,其含有三个服务器(用S表示)和六个客户端(用C表示),如图la,其客户端比如是连锁超市的分店,而服务器由云提供商提供并分布在各地,可以用来处理分店数据。每个客户端会产生大量的分布式数据,而服务器需要及时地处理这些数据,并将信息反馈给客户。在这个例子中,如果本发明假设每个客户都必须指派到相邻的服务器,否则会因为距离过远而不能保证服务质量;而且每个服务器由于容量限制只能处理三个客户的服务请求。同时,由于需要消耗一定的资源以在服务器上部署和维护服务,本发明希望尽量减少开销并保证每个用户的服务质量。图Ib描绘了一种不能满足需求的部署形式,图中“X”表示由于距离过远服务无法保证用户的服务质量需求。在这种部署方式中,无论如何向SI与S3分派用户,必有某部分用户的服务质量不能得到满足。在图Ic中,用户CfC4都被分配给了 S3,使得S3超过了负载。因此,当本发明进行服务部署与分配用户请求的时候,需要同时考虑用户的服务质量保证和服务器的容量。图Id给出了符合要求的最优化部署与服务分配的策略。由此例可以看出,在服务部署过程中,需要考虑的因素包括用户节点服务请求的数据率,服务的响应时间,服务器的容量限制,服务部署的开销等。图2给出了本发明总体流程图,按照流程图中的步骤分别做阐述
I.网络状况监测考虑一个由无向图G=(V,E)表示的分布式云计算系统,其中V代表节点的集合,而i 是节点之间物理或者逻辑边的集合。对于E中的每条边,本发明可以通过网络监测获取到其上的传输时延。更进一步,可以通过最短路径算法,获取到每一对节点U,V e V之间的最短路径上的传输时延,表示为d(u,v)。2.明确服务部署约束条件本发明称需要处理的数据源节点为用户节点,并将用户节点集合表示为C。每个单独的用户c e C的服务请求速率,本发明记为R。,该速率可能保持稳定或者随着时间变化。如果一个节点可以用来部署服务,本发明称其为服务器。所有这样的节点组成了服务器集合,由S表示。每个服务器节点s e S的可行计算容量,本发明记为Us,S卩服务器s单位时间内能够处理的数据量最多是Us。每个服务器s e S都有一个权重Cs,代表将指定服务部署在服务器s e S上需要的部署和维护的开销。这个开销包括对服务器资源(如CPU和内存)的消耗,以及对服务的维护(如服务的更新等操作)。由于用户产生的数据在很多情况下是连续性的,源源不断地,所以数据不能被分割,否则会导致数据的丢失影响服务质量。因此,·本发明要使得每个用户请求对应于一个服务器。本发明的目标是将服务放置在选定的服务器上,使得每个用户都能得到服务质量保证,并使得服务器不会发生超载,同时尽可能地降低开销。为了及时地为用户提供服务以便于决策等操作,本发明需要使每个用户都在其指定的时间范围内收到服务处理的反馈。具体来讲,用户请求的响应时间包括两个部分数据传输时间即用户与服务器之间的最短路径传输时延。服务处理时间当数据到达某个服务器,需要等待然后进行服务的计算。通常来说,本发明需要避免服务器上接受的用户请求量超过其可行计算容量,否则必存在某个用户服务等待时间过长,从而该用户请求的服务质量需求不能满足。而一旦该条件能够满足,服务器上的请求数据均能够得到及时处理,可以把处理时间近似为O。本发明假设Qc表示用户c能容忍的响应时间的上限(即服务质量需求)。假设用户C由服务器S处理,令Rss 表示分配给服务器S的用户服务请求的总和。基于上述考虑,为了保证用户c的服务质量,必须满足如下两个限制条件(l)d(c, s) ^ Qc ;(2) RssumS Us.由上所述,当用户数据请求数据率为明确数值(一般可以取[2,4000]之间的任意数值)时,该服务部署问题的形式化定义为给定一个无向图G=(V,E),任何一对节点{u,V}之间的最短路径长度d (U,V).对用户节点集合C c: F中的每个用户c来说,其用户请求数据率记为R。,服务质量需求记为Qc。对服务器节点集合S c K中的每个服务器s来说,其可行计算容量记为Us,部署维护服务的开销记为cs。服务部署问题的目标是找到一个子集D c S和函数f:C —D,最小化EsellCs同时满足如下两个限制条件1)时延限制对每个用户c e C,d(c,f (c)) ^ Qc ;2)容量限制:对每个服务器 s e D,Σ。eC:f(c) = SRC ( Us。3.用户请求数据率与服务器容量的不同场景下的最优化服务部署方案选择I)如图3所示,当服务器可行计算容量充足时,采用基于集合覆盖的算法当服务器容量充足时,服务部署只需要考虑传输时延约束条件。本发明采用基于集合覆盖的算法来解决。
用G=(V,E)表示网络拓扑,C代表用户集,S代表服务器集;对每个用户c e C,Qc代表用户的服务质量要求;对每个服务器s e SyR表服务开销。D用来保存选到的服务器集合,初始值D赋值为Φ。首先构造一个二部图G1= (S U C,E’),其中E’={(s,c) s e S, c e C,且d(s,c) ( QJ,即满足每个用户c e C的服务质量要求。对每个服务器s e S,所有连接到该服务器的用户节点组成一个子集,记为Cs=Ic e C|d(c, s) < QJ,Cs中元素的个数为s在匕中的度ds,性价比cs/ds。据此产生了集合覆盖问题的一个实例元素的全集是C,而对每个s e S,Cs组成了 C的子集的集合。Cs的权值是cs。目标是找到一个最小总代价的可以覆盖所有C中用户的Cs的集合。用户到服务器的请求分配也可以在挑选合适的服务器节点进行服务部署的过程中确定。在算法的每一轮迭代过程中,性价比最高的服务器被挑选出来,即选择s’=argmincs/ds,由此将s’加入选出的服务器集合D中。C’为s’覆盖的用户集,所有可以连接到此服务器但还没有被分配的客户都被指派到该服务器上。将选出的服务器与服务器覆盖的用户从G1中去掉,并判断用户集C是否被全部覆盖。如果C为空集,则选出的服务器集合为D。否则,判断服务器是否被分配完全。如果剩余的S不是空集,SP还有没有被分配的服务器,此时,将去掉选出的服务器与分配的用户后的子图进行迭代;如果S是空集,则现有的服务器不能满足要求,由此需要加入新的服务器。
如图4所示,当服务器容量受限时,且用户请求数据率为明确数值时,采用基于背包的迭代算法用G=(V,E)表示网络拓扑,C代表用户集,S代表服务器集;对每个用户c e C,Qc代表用户的服务质量要求;对每个服务器s e S,cs代表服务开销,US代表服务器容量。D用来保存选到的服务器集合,初始值D赋值为Φ。根据每个用户c e C的服务质量要求建立服务器与用户之间的连接关系。由于服务器有容量上限,因此本发明希望服务部署到的服务器节点能够在容量范围内尽可能服务于更多的用户。基于背包的迭代算法与背包问题密切相关每个服务器s相当于容积为Us的背包,而每个连接到服务器的用户c相当于体积为Rc且收益为R。的物品。本发明可以通过背包问题的动态规划算法或其他近似算法来获取该服务器所能处理的最大服务请求数据率之和。在基于背包的算法的每次迭代过程中,选择一个服务器然后首先将相连的叶子用户(给定一个图G,本发明称度为I的节点为叶子节点,并称唯一的那条连结到该节点的边为悬挂边。显而易见,所有连结到悬挂边的服务器必须部署服务,否则相应的叶子用户的服务质量不能满足)都分配到该服务器,剩余的用户根据服务器的剩余容量按照背包问题的解决方案分配到服务器。KBA的具体执行流程见图4。其细节介绍如下步骤1,处理叶子用户如果存在用户节点是叶子节点,那么它相邻的服务器直接被选出。接着先将所有与其相连的叶子用户都连接到该服务器上。如果服务器的容量不足以容纳这些用户,那么找不到可行解,算法终止(此时需要添加新的服务器,并不在本发明考虑范围内)。否则,利用导出的背包问题将服务器的剩余容量分配给用户。对于图中其它的叶子用户,本发明将在下一轮迭代中进行处理。步骤2,选择一个服务器如果网络中没有叶子用户节点存在,则选择性价比最高的服务器,然后通过解决背包问题将所有可以装载入该服务器的用户去除,服务器S的性价比被定义为当s处理其能处理到的最大用户请求(即s作为背包被装满)时的平均开销,即,cs/Ps,其中Ps是作为背包问题目标函数的服务器的最大收益。
步骤3,迭代执行完步骤I和步骤2,选到的服务器和被分配的用户从图中移出。每个连接到被选择到但未被分配的用户的度都将减1,因此一些用户可能成为新的叶节点。迭代执行步骤1-3,直到所有的用户都被分配,或者算法找到一个不可能被满足的用户而终止。2)当服务器可行计算容量受限且服务请求数据率以时间的递增函数形式出现时,采用基于结合二分法的基于背包的迭代算法本发明假设对每个用户节点c e C来讲,用户请求RJt)随着时间t增长,可以是随时间递增函数艮(0 = (1+入。0艮(0)。这种模型在现实中的许多应用场景中是有用的。例如,许多公司的管理者希望增长销售额,并且会制定详细的计划并给出接下来一段时间内营业额的期望增长率。一般来讲,在这种场景下需要处理的数据率近似正比于营业额,则请求增长函数RJt)可以由历史数据进行预测和评估。其中RJ0) —般可以取[2,200]间任意数值,而λ。一般可以取[O. 1,20]间任意数值。选取一个大于零的时间(如选择时间为I个月),计算该时间下的每个用户的请求数据率,并采用基于背包的迭代算法计算当前状态 下最低的服务部署与维护的总开销;如果该开销小于指定开销,则以二分法的方法提高该时间为原来的两倍(由上示例即提高为2个月),如果该开销大于指定开销,则以二分法的方法降低该时间为原来的二分之一(由上示例则降为0.5个月),并循环执行上一子步骤,直至可行的时间最大(误差范围内)。在云计算应用飞速发展的今天,个体终端用户希望云计算平台能够严格保证他们的服务质量需求,而云计算平台则需要通过合理的部署信息处理服务,以降低服务提供的成本,提高经济收益。本发明达到以下效果(1)平台接受的个体服务请求的服务质量需求均能够得到严格保证;(2)当个体服务请求的数据率稳定时,平台能够以尽可能低的成本来部署服务;(3)当个体服务请求数据率随时间增长时,平台能够在一定服务部署成本范围内,尽可能地延长服务质量保证的时间。实施例信息处理服务的服务器由云提供商提供并分布在各地。其用户可以是连锁超市的分店、金融网点等等,信息处理服务负责处理用户产生的信息,这些需要在服务器上部署的信息处理服务多种多样,例如,财政金融监督中对欺诈行为的发现,电子商务应用中对用户点击行为的观察分析,因特网网络通信流量与拥塞的监控,以及在电信或者零售行业中的数据挖掘等等。一个具体点的应用实例如连锁超市的各分店,会产生大量的数据,如商品销售状态信息,对人为破坏的视频监控录像图像,传感器收集的温度湿度等信息,这些数据需要被及时的分析和处理,可以使分店之间调节库存与铺货信息以防止断货,阻止并处理人为损坏,食物保鲜延缓腐烂变质等。下面我们举一种信息处理服务(处理各分店产生的商品销售状态信息,决策分店调节库存与铺货的服务)的部署方法来描述本发明的内容。首先根据超市分店节点(用户,客户端)与云服务器节点(服务提供者,服务端)建立网络拓扑。需要获得的参数是分店产生的各种商品销售/铺货/货存相关信息数据的数据率,用户节点与服务节点的最短传输路径时延,服务器的可行计算容量,服务部署与维护的开销。下面明确服务部署的约束条件I、用户节点可能位于世界各地,由于距离远近、网络状态的不同,每个服务器能够覆盖的用户受到服务质量的约束。也就是说,每个用户与服务器的传输时延不能超过服务质量要求。2、服务器可行计算容量的约束,即相连用终端用户服务请求的数据率之和不能超过该服务器的可行计算容量。对约束条件2,根据实际应用情况,从两个方面进行方法的设计(I)当云提供商提供的服务器容量充足(如服务器本身计算能力十分强大或可为服务器追加计算资源)且服务请求数据率以明确数值提供时,最优服务部署方案的选择采用基于集合覆盖的算法。该算法会根据服务器覆盖的用户范围的限制,通过尽可能小的开销覆盖所有的用户节点。例如如图I的网络拓扑,有3个服务器节点,由于在这种情况下不考虑服务器容量约束,因此每个服务器获取的参数表示为SiH服务器部属与维护的开销}。为每个服务 器节点的参数示例如下#={150},S2= {180},S3= {200}。有6个用户节点,每个用户获取的参数表示为Cf{用户请求的数据率,用户的服务质量需求},其中用户的服务质量需求即云计算平台终端个体用户发出任意数据片段与相应数据处理结果返回给云计算平台终端个体用户的时延的最大阈值,最大阈值为时间值,取值范围为自然数。为每个用户节点的参数示例如下=C1=KOMBZs, 6s},C2={100MB/s, 12s} , C3= {125MB/s,16s},C4= {150MB/s, 20s},C5={100MB/s, 15s},C6={75MB/s,8s}。根据S与C之间构成的网络拓扑,Si到Cj之间的最短
Cl Cl Γ.; (.4 (\ Cr,
Si Γ 5 8 17 22 20 25~
路径时延表示为du,其构成矩阵D(单位秒)。i) =。 4 ]5 20 15 10 1()。那么根
,S、 10 10 15 18 20 6
据用户的服务质量要求,Si到C的时延小于服务质量要求的记为1,否则记为0,得到矩
G /^f /-y /^t ,.·τ /^f
L2 C3 C4 C 5 Le
I I O O O O
阵= Λ IOOll O。由此可得,S1可以服务到的用户C为2个,性价
夕3 O I I I O I
比为2/150=1/75 ;S2可以服务到的用户C为3个,性价比为3/180=1/60 ;S3可以服务到的用户C为4个,性价比为4/200=1/50,则性价比最高的是S3,那么先开通S3,服务于C2,C3, C4,
Cl C、
c6。则01将已开通与分配的&与(2,(3,(;,(6去掉,得到迭代子图,即£>2二& Γ1 010
Si L1 1
照如上过程,开通S2,分配CpC515此轮迭代后,由于C=CK因此算法结束。最终的结果是选择在S2,S3上部署服务;s2上分配的用户为C1, C5 ;S3上分配的用户为C2,C3,C4,C6。(2)当服务器容量有限且服务请求数据率以明确数值提供时,最优服务部署方案的选择采用基于背包的迭代算法;该算法会根据服务器容量充分装载满足服务质量需求的用户节点,以同时满足两个约束条件,并降低开销。例如,同样对于如图I所示的网络拓扑,由于此时需要考虑服务器S的容量限制,因此对每个服务器节点参数赋值如下=Si= {服务器容量(服务器每秒可以处理的最大数据量)服务器部属与维护的开销}。为每个服务器节点的参数示例如下=S1=USOMBZs, 150},S2= {340MB/S, 180},S3= {340MB/s, 200}。其余假设同上例,有6个用户节点,每个用户获取的参数表示为4={用户请求的数据率,用户的服务质量需求}。为每个用户节点的参数示例如下=C1=KOMBZs, 6s},C2={100MB/s, 12s} , C3= {125MB/s,16s},C4= {150MB/s, 20s},C5= {ΙΟΟΜΒ/s, 15s},C6= {75MB/s, 8s}。根据S与C之间构成的网络拓扑,Si到Cj之间的最短路径时延表示为du,其构成矩阵D(单位秒)。那么根据用户q的服务质量要求,Si到的时延
Cl ('」(' Ca C CuΛ [I I O O O 0_小于服务质量要求 的记为1,否则记为0,得到矩阵D115D1= ^ 1 0 0 t j 0 =
S:、 0 1110 1
首先遍历用户节点,此时存在叶子节点(即根据服务质量要求仅能由一个服务器覆盖到),根据节点的先后顺序,首先处理叶子节点c3,由于可以满足C3服务质量需求的节点只有S3,因此S3为首先选择的服务器。S3的容量为340MB/S,S3根据服务质量要求可以覆盖到的用户节点为 C2={100MB/s},C3={125MB/s},C4={150MB/s},C6= {75MB/s},开通 S3,并首先将叶子节点C3,C6装入,然后运用背包算法将S3装满,则根据容量限制,S3可以服务的节点为C2,C3,
r 丨 η ('
C6。则D1将已开通与分配的S3与C2,C3,C6去掉,得到迭代子图,即"Γ1 0 Q"!。处
Si L1 1 1
理叶子节点C4,可以满足C4服务质量需求的节点是S2,因此S2为选择的服务器,S2根据服务质量要求可以覆盖到的用户节点为CfbOMB/s},C4={150MB/s},C5= {ΙΟΟΜΒ/s},全部装载不超过其容量限制,因此开通S2,可以服务的节点为CpC4A5tj此轮迭代后,由于C=(K因此算法结束。最终的结果是选择在S2,S3上部署服务;S2上分配的用户为C1, C4, C5 ;S3上分配的用户为c2,c3,c6。考虑到有些时候服务请求数据率会发生比较大的变化,特别是会随着时间的推演,由于数据产生源业务的增长等而增长,比如分店规模扩大,商品品种增加,营业额增加等。此时,我们仅能评估当信息处理的云服务环境建立时的用户数据请求数据率,或者学习到用户请求数据与时间的关系。在这种情况下,服务部署后,我们希望系统在较长的时间内保持稳定,以减少由于重部署带来的开销,或者数据与服务请求的丢失。在对用户进行服务部署和服务提供之前,通常有一个服务部署与维护的预算,限制服务部署总体开销的范围。此时给出结合二分法的基于背包的迭代算法,此算法可以在预算范围内,即使用户请求数据率处于增长的状态,仍在尽可能长的时间内维持云计算中信息处理服务的稳定提供。例如,同样如上例的网络拓扑,将用户初始请求的数据率记为Rc(O),参数赋值为R1 (0)=50MB/s,R2(0)=100MB/s, R3(0)=125MB/s, R4(0) =150MB/s, R5(0)=100MB/s, R6(0) =75MB/s,用户月艮务请求的数据率是随时间线性增长的函数,即为Μυ = (ι+λ。0艮(0)。假设每个月的数据增长率为10%,服务部署与维护的开销预算为400,其余假设与上例相同。那么根据二分法,选取t=l个月时,用户请求数据率增长到原来的I. I倍,运行上例所示基于背包的方法,可以得到开通S2与S3,开销为380,在预算范围内。由此根据二分法将时间提高到原来的两倍,t=2个月时,由于数据率增长到了原来的I. 2倍,运行基于背包的方法发现需要将S1S2与S3同时开通,预算超过400。因此最后所得的t在I个月与2个月之间,再根据二分法,选取t=(l+2)/2=l. 5个月运行基于背包的方法,同样超过预算。再根据二分法选择t=(l+l. 5)/2=1. 25个月,运行基于背包的方法,可以找到满足要求的解。如此迭代运行二分法与基于背包结合的方法,在不超过一天的误差范围内,得到了在预算范围内开通S2与S3,S2上分配的用户为C1, C4,C5 ;S3上分配的用户为C2,C3,C6,可以保持最长在1,25个月之内,维持系统稳定运行。超过这一时间,如果数据请求率继续增长,需要增加预算投入,增加预算的部分不在本专利权利要求范围内。值得指出的是,上例给出的结果都是在节点数量较少的情况下,当网络节点规模较大时,实施例的迭代过程的复杂度将大大提升,因此不再人工模拟执行举例。最后,将信息处理服务部署到选择的服务器上,用来处理各分店产生的信息。本发明提供了一种云计算中信息处理服务的部署方法,具体实现该技术方案的方 法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
权利要求
1.一种分布式云计算环境中信息处理服务的部署方法,在确定云计算平台终端个体用户的服务请求数据率、云计算平台终端个体用户服务质量要求、服务器可行计算容量及服务器上的服务部署与维护开销后,其特征在于,根据以下步骤选取服务器部署信息处理服务: 网络状况监测步骤,按照网络拓扑结构对网络链路状况进行监控,获取每条链路上的传输时延; 服务部署方案选择步骤,按照网络链路状况以及当前服务器可行计算容量,结合个体终端用户的服务请求数据率和服务质量要求,确定服务部署方案的约束条件,并结合服务部署与维护开销选取最优的服务部署方案,确定相应的云计算平台终端个体用户请求分配方案; 服务部署步骤,按照最优服务部署方案,将服务部署到相应的服务器上。
2.根据权利要求I所述的分布式云计算环境中信息处理服务的部署方法,其特征在·于,云计算平台终端个体用户的服务请求数据为数据流的形式; 云计算平台终端个体用户的服务请求数据率为确定的数值或者随时间递增的函数; 云计算平台终端个体用户的服务质量需求定义为,云计算平台终端个体用户发出任意数据片段与相应数据处理结果返回给云计算平台终端个体用户的时延的最大阈值。
3.根据权利要求2所述的分布式云计算环境中信息处理服务的部署方法,其特征在于,服务器可行计算容量为其单位时间可处理的服务请求数据量; 云计算平台终端个体用户与服务器之间的传输时延为两者之间最短传输路径时延。
4.根据权利要求I所述的分布式云计算环境中信息处理服务的部署方法,其特征在于,服务部署方案的约束条件为云计算平台终端个体用户与服务器间的传输时延不超过云计算平台终端个体用户服务质量需求,相连云计算平台终端个体用户服务请求的数据率之和不超过该服务器的可行计算容量。
5.根据权利要求I所述的分布式云计算环境中信息处理服务的部署方法,其特征在于,服务部署方案选择步骤中包括 (O当所有服务器容量充足,即相连云计算平台终端个体用户服务请求的数据率之和不超过该服务器的可行计算容量,且服务请求数据率以明确数值提供时,最优服务部署方案的选择采用基于集合覆盖的算法; (2)当服务器容量有限,即相连云计算平台终端个体用户服务请求的数据率之和大于该服务器的可行计算容量,且服务请求数据率以明确数值提供时,最优服务部署方案的选择采用基于背包的迭代算法; (3)当服务请求数据率以随时间的线性增长函数形式提供时,最优服务部署方案的选择采用结合二分法的基于背包的迭代算法。
6.根据权利要求5所述的分布式云计算环境中信息处理服务的部署方法,其特征在于,基于集合覆盖的算法包含如下步骤 (1)确定每一对服务器与云计算平台终端个体用户间的传输时延,并按照服务部署方案的传输时延约束条件,明确每一个服务器所能处理的云计算平台终端个体用户对象; (2)在每一个迭代过程中,在排除已处理的云计算平台终端个体用户对象的基础上,以未部署服务的服务器所能处理的云计算平台终端个体用户对象个数与该服务器上的服务部署与维护开销的比值为性价比衡量指标,选取性价比衡量指标最高的服务器,直到所有云计算平台终端个体用户对象均已处理或服务器均被挑选,若迭代结束时,仍有云计算平台终端个体用户对象未被处理,则判定需要加入新的服务器满足云计算平台终端个体用户需求。
7.根据权利要求6所述的分布式云计算环境中信息处理服务的部署方法,其特征在于,背包的迭代算法包含如下步骤 (1)确定每一对服务器与云计算平台终端个体用户间的传输时延,并按照服务部署方案的传输时延约束条件,确定每一个服务器所能处理的云计算平台终端个体用户对象; (2)在每一个迭代过程中,为每一个未部署服务的服务器按照背包问题求解算法计算该服务器可处理的最大的服务数据率之和,即以该服务器的可行计算容量为背包大小,以该服务器所能处理的云计算平台终端个体用户对象为物品,其数据率为物品大小,按照背 包问题求解算法计算出该服务器可处理的最大的服务数据率之和;再以服务器所能处理的最大服务数据率之和与其上的服务部署与维护开销的比值为性价比衡量指标,选取性价比衡量指标最高的服务器,直到所有云计算平台终端个体用户对象均以处理或服务器均被挑选,若迭代结束时,仍有云计算平台终端个体用户对象未被处理,则判定需要加入新的服务器满足云计算平台终端个体用户需求。
8.根据权利要求7所述的分布式云计算环境中信息处理服务的部署方法,其特征在于,结合二分法的基于背包的迭代算法,包含如下步骤 (1)选取一个大于零的时间,计算该时间下的每个云计算平台终端个体用户的请求数据率,并采用基于背包的迭代算法计算当前状态下最低的服务部署与维护的总开销; (2)如果该总开销小于指定开销,则以二分法的方法提高该时间,如果该总开销大于指定开销,则以二分法的方法降低该时间,并循环执行上一步骤,直至可行的时间最大。
全文摘要
本发明公开了一种分布式云计算环境中信息处理服务的部署方法,在确定了云计算平台个体终端用户的服务请求数据率相关信息及其服务质量需求、服务器可行计算容量及其之上的和服务部署与维护开销之后,选取合适的服务器以用来部署信息处理服务,包括以下步骤网络状况监测步骤、服务部署方案选择步骤、服务部署步骤。按照用户服务请求数据率相关信息和服务器可行计算容量情况,服务部署方案选择采用基于集合覆盖的算法、基于背包的迭代算法或结合二分法的基于背包的迭代算法。本发明可以广泛应用于企业的资源优化配置、电子商务等领域,提供私有云或公共云环境中具有服务质量保证的服务部署方法,支持外包资源的配置选择,属于计算机应用领域。
文档编号H04L12/851GK102904969SQ20121045417
公开日2013年1月30日 申请日期2012年11月13日 优先权日2012年11月13日
发明者游坤, 丁峰 申请人:中国电子科技集团公司第二十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1