用户部署方法、装置与流程

文档序号:18791681发布日期:2019-09-29 18:55阅读:318来源:国知局
用户部署方法、装置与流程

本发明涉及数据服务领域,尤其涉及一种用户部署方法、装置。



背景技术:

如今,互联网应用变得越来越普及,人们也越来越依赖互联网所提供的便捷的服务。

在互联网、云计算的网络拓扑结构中,每个用户都可以部署至对应的服务器,用户所提出的需求任务,可以由这些服务器进行处理。但服务器在处理这些用户的需求任务时,存在完成结果的质量区别。

现有技术中,采用的用户部署方案通常注重整体服务性能的提升,而忽略了每一个用户个体的需求任务的完成结果的质量,其次,服务器的工作资源未被充分利用,也导致整体网络拓扑的成本较高。



技术实现要素:

发明目的:针对现有技术中的缺陷,本发明旨在提供一种用户部署方法、装置,可以实现满足网络拓扑中每一个用户的服务质量要求;充分利用网络拓扑中每一个服务器的工作资源,最大程度上降低网络拓扑的成本。

技术方案:本发明实施例中提供一种用户部署方法,包括:

步骤s1:查询网络拓扑中的叶子用户,将查询得到的叶子用户部署至对应的符合服务质量要求的叶子服务器;其中,若所述网络拓扑中存在一个服务器满足第一特定用户的服务质量要求,则所述第一特定用户为叶子用户;所述叶子服务器,指对应叶子用户的服务器;

步骤s2:查询所述网络拓扑中,叶子服务器满足服务质量要求的对应的正常用户,在叶子服务器的剩余工作容量限度之内,将正常用户部署至对应的叶子服务器;

步骤s3:将剩余的正常用户部署至满足服务质量要求的正常服务器;其中,若所述网络拓扑中存在多个服务器满足第二特定用户的服务质量要求,则所述第二特定用户为正常用户;所述正常服务器,指没有对应叶子用户的服务器。

具体的,基于正常用户对应的需求容量与收益,将正常用户部署至对应的叶子服务器,使得在正常用户的范围内,叶子服务器的性价比最高;所述服务器的性价比,指当服务器进行用户部署后,剩余工作容量小于满足服务质量要求的对应用户的需求容量时,部署至服务器的用户的收益之和,与服务器消耗的工作容量之差。

具体的,将已被部署的用户和叶子服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,执行步骤s3;若所述网络拓扑中查询得到叶子用户,执行步骤s1。

具体的,于所述网络拓扑中的正常服务器中挑选性价比最高的正常服务器作为选定服务器;

查询所述选定服务器满足服务质量要求的对应的正常用户,在所述选定服务器的工作容量限度之内,将查询得到的正常用户部署至所述选定服务器,使得所述选定服务器的性价比最高。

具体的,将已被部署的用户和所述选定服务器从所述网络拓扑中移除;

若所述网络拓扑中查询不到叶子用户,执行步骤s3;若所述网络拓扑中查询得到叶子用户,执行步骤s1;当步骤s1、步骤s2或步骤s3中出现终止部署条件时,停止部署。

具体的,所述终止部署条件包括:所述网络拓扑中所有用户被部署、查询得到无法被部署的用户、叶子服务器的工作容量无法满足对应的所有叶子用户的需求容量之和。

本发明实施例中提供一种用户部署装置,包括第一部署单元,第二部署单元和第三部署单元,其中:

所述第一部署单元,用于执行步骤s1,所述步骤s1为查询网络拓扑中的叶子用户,将查询得到的叶子用户部署至对应的符合服务质量要求的叶子服务器;其中,若所述网络拓扑中存在一个服务器满足第一特定用户的服务质量要求,则所述第一特定用户为叶子用户;所述叶子服务器,指对应叶子用户的服务器;

所述第二部署单元,用于执行步骤s2,所述步骤s2为查询所述网络拓扑中,叶子服务器满足服务质量要求的对应的正常用户,在叶子服务器的剩余工作容量限度之内,将正常用户部署至对应的叶子服务器;

所述第三部署单元,用于执行步骤s3,所述步骤s3为将剩余的正常用户部署至满足服务质量要求的正常服务器;其中,若所述网络拓扑中存在多个服务器满足第二特定用户的服务质量要求,则所述第二特定用户为正常用户;所述正常服务器,指没有对应叶子用户的服务器。

具体的,所述第二部署单元,还用于在执行完毕所述步骤s2之后,将已被部署的用户和叶子服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,所述第三部署单元,还用于执行步骤s3;若所述网络拓扑中查询得到叶子用户,所述第一部署单元,还用于执行步骤s1。

具体的,所述第三部署单元,还用于在所述网络拓扑中的正常服务器中挑选性价比最高的正常服务器作为选定服务器;查询所述选定服务器满足服务质量要求的对应的正常用户,在所述选定服务器的工作容量限度之内,将查询得到的正常用户部署至所述选定服务器,使得所述选定服务器的性价比最高。

具体的,所述第三部署单元,还用于在执行完毕所述步骤s3之后,将已被部署的用户和所述选定服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,所述第三部署单元,还用于执行步骤s3;若所述网络拓扑中查询得到叶子用户,所述第一部署单元,还用于执行步骤s1;当步骤s1、步骤s2或步骤s3中出现终止部署条件时,停止部署。

有益效果:与现有技术相比,本发明具有如下显著优点:可以实现满足网络拓扑中每一个用户的服务质量要求;充分利用网络拓扑中每一个服务器的工作资源,最大程度上降低网络拓扑的成本。

附图说明

图1为本发明实施例中提供的用户部署方法的流程示意图;

图2为现有技术中网络拓扑的结构示意图;

图3为现有技术中网络拓扑的结构示意图;

图4为现有技术中网络拓扑的结构示意图;

图5为本发明实施例中网络拓扑的结构示意图;

图6为本发明实施例中提供的用户部署装置的结构示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明。

参阅图1,其为本发明实施例中提供的用户部署方法的流程示意图,包括具体步骤,以下结合具体步骤,进行详细说明。

参阅图2~5,其分别为现有技术中网络拓扑的结构示意图,以及本发明实施例中网络拓扑的结构示意图。

如图2,网络拓扑中,包括三个服务器(用s表示)和六个用户(用c表示)。每个用户会产生大量的分布式数据,而服务器需要及时地处理这些数据,并将信息反馈给用户。如果每个用户都必须部署到相邻的服务器,否则会因为距离过远而不能保证服务质量;而且每个服务器由于容量限制只能处理三个客户的服务请求。同时,由于需要消耗一定的资源以在服务器上部署和维护服务,本发明实施中希望尽量减少开销并保证每个用户的服务质量。如图3,描绘了一种不能满足需求的部署形式,图中“x”表示由于距离过远服务无法保证用户的服务质量需求。在这种部署方式中,无论如何向s1与s3分派用户,必有某部分用户的服务质量不能得到满足。,如图4,用户c1~c4都被分配给了s3,使得s3超过了负载。因此,当本发明实施中进行服务部署与分配用户请求的时候,需要同时考虑用户的服务质量保证和服务器的容量。如图5,给出,符合要求的最优化部署与服务分配的策略。由此例可以看出,在服务部署过程中,在部署过程中需要考虑的因素包括:用户的服务请求数据率,服务的响应时间,服务器的容量限制,服务部署的开销等。

用g=(v,e)表示网络拓扑,c代表用户集,s代表服务器集;对每个用户c∈c,qc代表用户的服务质量要求;对每个服务器s∈s,cs代表服务开销,us代表服务器容量。d用来保存选到的服务器集合,初始值d赋值为φ。根据每个用户c∈c的服务质量要求建立服务器与用户之间的连接关系。由于服务器有容量上限,因此本发明实施中希望用户部署到的服务器可以在容量范围内尽可能服务于更多的用户。本发明采用基于背包的迭代算法。基于背包的迭代算法与背包问题密切相关:每个服务器s相当于容积为us的背包,而每个连接到服务器的用户c相当于体积为rc且收益为rc的物品。本发明实施中可以通过背包问题的动态规划算法或其他近似算法来获取该服务器所能处理的最大服务请求数据率之和。所述服务请求数据率,即可以是用户提出的服务任务需求所对应的容量的变化规律。

采用基于背包的迭代算法,包含如下步骤:

(1)确定每一对服务器与用户间的传输时延,并按照服务部署方案的传输时延约束条件,确定每一个服务器所能处理的用户对象;即确定可以满足用户服务质量要求的服务器。

(2)在每一个迭代过程中,为每一个未部署用户的服务器按照背包问题求解算法计算该服务器可处理的最大的服务数据率之和,即以该服务器的可行计算容量为背包大小,以该服务器所能处理的用户对象作为物品,其数据率为物品大小,按照背包问题求解算法计算出该服务器可处理的最大的服务数据率之和;再以服务器所能处理的最大服务数据率之和与其上的服务部署与维护开销的比值作为性价比的(性价比也可以看作是,部署至服务器的用户的收益之和,与服务器消耗的工作容量之差)衡量指标,选取性价比衡量指标最高的服务器,直到所有用户对象均以部署或服务器均被挑选,若迭代结束时,仍有用户对象未被处理,则判定需要加入新的服务器满足用户需求。

步骤s1:查询网络拓扑中的叶子用户,将查询得到的叶子用户部署至对应的符合服务质量要求的叶子服务器。

本发明实施例中,若所述网络拓扑中存在一个服务器满足第一特定用户的服务质量要求,则所述第一特定用户为叶子用户。

本发明实施例中,所述叶子服务器,指对应叶子用户的服务器;

在具体实施中,查询得到的叶子用户和对应的叶子服务器,指当前时刻下的叶子用户和叶子服务器,在部署方案的推进过程中,可能会产生新的叶子用户和对应的叶子服务器。

在具体实施中,叶子用户,是指所述网络拓扑中仅存在一个服务器可以满足其的服务质量要求,该服务器是对应叶子用户的服务器,即叶子服务器。因此,叶子用户只能被部署至对应的该叶子服务器。不同的叶子用户,对应的满足其服务质量要求的服务器可以相同也可以不相同。

在具体实施中,服务质量要求通常和用户与服务器之间的距离、服务器处理的数据服务领域有关,当用户与服务器之间的距离越小,表明服务器对用户进行反馈的速度也越快,服务质量也越好,当距离小到一定程度时,即可满足用户的服务质量要求;服务器处理的数据服务领域与用户的需求重合度越高时,表明服务器与其他服务器进行数据交互的次数越少,对用户进行反馈的速度也越快,当重合度达到一定程度时,即可满足用户的服务质量要求。在具体应用过程中,服务质量要求也可以受到其他因素的影响。

在具体实施中,服务质量要求可以由管理者根据实际应用场景进行相应的设定,具体可以表现为,用户与服务器之间的距离达到何种程度时,即可满足用户的服务质量要求,或/和,服务器处理的数据服务领域与用户的需求重合度达到何种程度时,即可满足用户的服务质量要求。

在具体实施中,不同的用户的服务质量要求可以不同。用户的服务质量要求可以由网络拓扑管理者在方法实施之前预先设定完成。

步骤s2:查询所述网络拓扑中,叶子服务器满足服务质量要求的对应的正常用户,在叶子服务器的剩余工作容量限度之内,将正常用户部署至对应的叶子服务器。

本发明实施例中,若所述网络拓扑中存在多个服务器满足第二特定用户的服务质量要求,则所述第二特定用户为正常用户。

本发明实施例中,所述正常服务器,指没有对应叶子用户的服务器,即对应的用户均为正常用户。

在具体实施中,叶子服务器在满足叶子用户的工作需求后,为了充分利用服务器的工作资源,降低网络拓扑的成本,将正常用户部署至仍有剩余工作容量的叶子服务器。

在具体实施中,在叶子服务器的剩余工作容量限度之内,指在部署过程中,考虑用户的需求容量和服务器的工作容量之间的关系,为了保证用户的服务质量要求,即使并不是所有用户都会在同一时间提出任务需求,但部署至某一服务器的所有用户的需求容量之和仍要求小于该服务器的工作容量。由此,可以保证每个用户个体获得的服务质量。

在具体实施中,各个服务器的工作容量是已知且固定的,用户的需求容量可以在部署方案实施之前,由网络拓扑管理者根据该用户历史数据或其他信息进行估计或计算得到,具体也可以由网络拓扑管理者根据实际应用场景进行相应的设定。

本发明实施例中,基于正常用户对应的需求容量与收益,将正常用户部署至对应的叶子服务器,使得在正常用户的范围内,叶子服务器的性价比最高;所述服务器的性价比,指当服务器进行用户部署后,剩余工作容量小于满足服务质量要求的对应用户的需求容量时,部署至服务器的用户的收益之和,与服务器消耗的工作容量之差。

在具体实施中,叶子服务器满足服务质量要求的对应的正常用户中,将正常用户部署至对应的叶子服务器,使得在正常用户的范围内,叶子服务器的性价比最高,即是可以将叶子服务器的剩余工作容量看做背包容量,进行背包问题求解。

在具体实施中,针对单独一个叶子服务器而言,正常用户的范围内,叶子服务器的性价比最高,指仅考虑叶子服务器在部署叶子用户后剩余的,用于部署正常用户的工作容量的范围内,在进行用户部署后(并不一定所有叶子服务器对应的正常用户都可以获得部署),叶子服务器的剩余容量无法再容纳其他满足服务质量要求的对应的正常用户的需求容量时,部署的正常用户的收益之和,与服务器消耗的工作容量之差最大。

在具体实施中,用户的收益可以在部署方案实施之前,由网络拓扑管理者根据该用户历史数据或其他信息进行估计或计算得到,具体也可以由网络拓扑管理者根据实际应用场景进行相应的设定。

本发明实施例中,将正常用户部署至对应的叶子服务器之后,包括:将已被部署的用户和叶子服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,执行步骤s3;若所述网络拓扑中查询得到叶子用户,执行步骤s1;执行步骤s2。

在具体实施中,由于在步骤s1中查询得到的叶子服务器在进行用户部署之后,可能出现某些正常用户由于无法再部署至上述这些叶子服务器而变成叶子用户。因此,可以将已被部署的用户(包括正常用户和叶子用户)和步骤s1中查询得到的叶子服务器从所述网络拓扑中移除,再查询所述网络拓扑中是否存在叶子用户和对应的叶子服务器,若存在则继续执行步骤s1、步骤s2,直到网络拓扑中查询不到叶子用户和对应的叶子服务器时,执行步骤s3。

步骤s3:将剩余的正常用户部署至满足服务质量要求的正常服务器。

在具体实施中,将剩余的、未被部署的正常用户部署至满足其的服务质量要求的正常服务器,可以实现满足网络拓扑中每一个用户的服务质量要求。

本发明实施例中,于所述网络拓扑中的正常服务器中挑选性价比最高的正常服务器作为选定服务器;查询所述选定服务器满足服务质量要求的对应的正常用户,在所述选定服务器的工作容量限度之内,将查询得到的正常用户部署至所述选定服务器,使得所述选定服务器的性价比最高。

在具体实施中,在网络拓扑中的各个正常服务器中挑选性价比最高的正常服务器作为选定服务器,是指对于每个正常服务器而言都有其对应的性价比,可以模拟计算每个正常服务器在进行用户部署后对应的最高性价比,将各个正常服务器的最高性价比用于与其他正常服务器的最高性价比进行对比,在正常服务器中挑选最高性价比最高的正常服务器作为选定服务器。

挑选性价比最高的正常服务器作为选定服务器,即可以针对每一个服务器进行相应的用户部署,充分利用每一个服务器的工作资源,降低网络拓扑的成本。

在具体实施中,将查询得到的正常用户(并非所有查询得到的正常用户均可以获得部署)部署至所述选定服务器,使得所述选定服务器的性价比最高,指针对选定服务器个体而言,在进行用户部署后,选定服务器的剩余容量无法再容纳其他满足服务质量要求的对应的正常用户的需求容量时,部署的正常用户的收益之和,与服务器消耗的工作容量之差最大。即可以充分利用选定服务器的工作资源。

本发明实施例中,在完成所述选定服务器的用户部署之后,包括:将已被部署的用户和所述选定服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,执行步骤s3;若所述网络拓扑中查询得到叶子用户,执行步骤s1;执行步骤s2。

在具体实施中,由于上述选定服务器进行用户部署之后,可能存在某些正常用户因为无法部署至上述选定服务器而变成叶子用户。因此,可以将上述选定服务器从网络拓扑中移除,再查询所述网络拓扑中是否存在叶子用户和对应的叶子服务器,若存在则可以重新执行步骤s1、步骤s2,直到网络拓扑中查询不到叶子用户和对应的叶子服务器时,执行步骤s3。在执行步骤s3时,可以重新在网络拓扑中的正常服务器中,挑选性价比最高的正常服务器作为新的选定服务器进行用户部署,整个用户部署流程依上述进行迭代。在保证每个用户获得的服务质量满足服务质量要求的同时,充分利用每个服务器的工作资源,最大程度上降低网络拓扑的成本。

本发明实施例中,当步骤s1、步骤s2或步骤s3中出现终止部署条件时,停止部署。

本发明实施例中,所述终止部署条件包括:所述网络拓扑中所有用户被部署、查询得到无法被部署的用户、叶子服务器的工作容量无法满足对应的所有叶子用户的需求容量之和。

在具体实施中,叶子服务器的工作容量无法满足对应的所有叶子用户的需求容量之和,通常出现在步骤s1中,表明网络拓扑中需要增加新的服务器以满足叶子用户的需求容量,以保证每个用户获得的服务质量可以满足服务质量要求。增加新的服务器之后可以继续执行用户部署方案。

在具体实施中,查询得到无法被部署的用户,在步骤s1、步骤s2和步骤s3中均可能出现,表明网络拓扑中的服务器的工作容量无法满足对应的用户的需求容量,可以通过增加新的服务器以满足用户的需求容量,以保证每个用户获得的服务质量可以满足服务质量要求。增加新的服务器之后可以继续执行用户部署方案。

在具体实施中,所述网络拓扑中所有用户被部署,表明用户部署方案成功实施,在每个用户获得的服务质量满足服务质量要求的同时,充分利用每个服务器的工作资源,最大程度上降低网络拓扑的成本。

参阅图6,其为本发明实施例中提供的用户部署装置60的结构示意图,包括:第一部署单元601,第二部署单元602和第三部署单元603,其中:

所述第一部署单元601,用于执行步骤s1,所述步骤s1为查询网络拓扑中的叶子用户,将查询得到的叶子用户部署至对应的符合服务质量要求的叶子服务器;其中,若所述网络拓扑中存在一个服务器满足第一特定用户的服务质量要求,则所述第一特定用户为叶子用户;所述叶子服务器,指对应叶子用户的服务器;

所述第二部署单元602,用于执行步骤s2,所述步骤s2为查询所述网络拓扑中,叶子服务器满足服务质量要求的对应的正常用户,在叶子服务器的剩余工作容量限度之内,将正常用户部署至对应的叶子服务器;

所述第三部署单元603,用于执行步骤s3,所述步骤s3为将剩余的正常用户部署至满足服务质量要求的正常服务器;其中,若所述网络拓扑中存在多个服务器满足第二特定用户的服务质量要求,则所述第二特定用户为正常用户;所述正常服务器,指没有对应叶子用户的服务器。

本发明实施例中,所述第二部署单元602,还可以用于基于正常用户对应的需求容量与收益,将正常用户部署至对应的叶子服务器,使得在正常用户的范围内,叶子服务器的性价比最高;所述服务器的性价比,指当服务器进行用户部署后,剩余工作容量小于满足服务质量要求的对应用户的需求容量时,部署至服务器的用户的收益之和,与服务器消耗的工作容量之差。

本发明实施例中,所述第二部署单元602,还可以用于在执行完毕所述步骤s2之后,将已被部署的用户和叶子服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,所述第三部署单元,还用于执行步骤s3;若所述网络拓扑中查询得到叶子用户,所述第一部署单元,还用于执行步骤s1。

本发明实施例中,所述第三部署单元603,还可以用于在所述网络拓扑中的正常服务器中挑选性价比最高的正常服务器作为选定服务器;查询所述选定服务器满足服务质量要求的对应的正常用户,在所述选定服务器的工作容量限度之内,将查询得到的正常用户部署至所述选定服务器,使得所述选定服务器的性价比最高。

本发明实施例中,所述第三部署单元603,还用于在执行完毕所述步骤s3之后,将已被部署的用户和所述选定服务器从所述网络拓扑中移除;若所述网络拓扑中查询不到叶子用户,所述第三部署单元,还用于执行步骤s3;若所述网络拓扑中查询得到叶子用户,所述第一部署单元,还用于执行步骤s1;当步骤s1、步骤s2或步骤s3中出现终止部署条件时,停止部署。

本发明实施例中,所述终止部署条件包括:所述网络拓扑中所有用户被部署、查询得到无法被部署的用户、叶子服务器的工作容量无法满足对应的所有叶子用户的需求容量之和。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

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