基于最小费用最大流的负载均衡的多服务迁移方法及系统与流程

文档序号:24540595发布日期:2021-04-02 10:24阅读:125来源:国知局
基于最小费用最大流的负载均衡的多服务迁移方法及系统与流程

本发明涉及信息技术领域,更具体的说,特别涉及一种基于最小费用最大流的负载均衡的多服务迁移方法及系统。



背景技术:

移动边缘计算(mec)是一种新的计算范式,它融合了移动计算和边缘计算的优点,以提高移动用户的服务质量(qos)。特别是有了mec,计算资源可以从云中心推至网络边缘,这使得数据服务和其他相关处理任务可以在靠近移动用户的地方运行。因此,它不仅减少了服务延迟,而且使网络流量最小化,这两个好处对于那些有时间限制的服务(移动计算中的典型应用程序)来说都是相当重要的。

鉴于其访问效率和低成本的优点,mec正迅速成为下一波研究的焦点,尤其是在5g网络中更智能和更强大的计算资源,其可以安装在无线网络的边缘,使许多时间敏感服务的部署更加接近用户。但考虑到用户的移动性、对服务访问的时间差异性以及单个边缘服务器的有限覆盖范围,如果同时将多种服务固定在一个边缘服务器上,则会出现资源的争用而导致访问服务延迟的增加。因此,如果不考虑这些因素,所提供的服务可能会显著增加访问延迟,更糟的是,会造成大量网络流量,造成网络拥塞,导致服务地性能下降,甚至是服务中断。

随着云计算中虚拟化技术的快速发展,越来越多的应用服务以封装在虚拟机或者容器中的形式,在mec中为用户提供随需应变的移动服务,能够有效缓解上一段提出的问题。在许多场景下,是由大量的移动用户在不同的时间与地点对服务进行访问,因此服务的放置与迁移策略一般不能针对每个用户进行设计,而是依赖于移动访问模式在时空维度上的动态变化。与此同时,服务的迁移也不是免费的,其代价是大量数据传输的成本,并且可能导致服务中断,从而增加总体服务延时。因此,迁移的目标通常是降低迁移成本和服务延迟,同时有着良好的性能保证。

传统上,动态规划算法、启发式算法以及机器学习方法经常被用来解决这个问题。但这些方法都具有较高的时间复杂度、空间复杂度以及离线性质。故在网络规模较大时,策略的求解时间过长,不能满足应用的低延时需求。对于用户访问密集的时刻与地点,这些方法也难以应对请求的突然增加和异常情况。同时这些方法也能没考虑到服务迁移的通信代价。

相比之下,一些在线迁移算法可以在精度和响应时间之间进行权衡。有学者利用了强化学习的方法在很大程度上改善了所存在的问题,但其针对的只是单个服务,而mec的大多数场景都会涉及多个服务。有人利用了马尔可夫模型,但其针对的是移动云服务中的动态服务问题,其能够得出最佳的迁移策略,但是没有考虑均衡放置的问题。有学者将同样的问题表述为一对一契约博弈模型,并开发了基于学习的价格控制机制,以有效处理mec的资源。通过运用博弈方法和学习过程,该方法能够通过与未知系统环境的持续交互来获取mec系统的动态信息。非常可惜的是,它总是需要一段时间来学习,在其收敛之前,决策的质量无法得到保证,也无法实现服务的低延时。

现有工作在迁移策略上已经取得了不错的效果,但其往往没有考虑边缘服务器资源有限而发生多个服务争用资源的问题,并且随着人们需求的日益增长,网络规模也随之增长,访问模式也更为复杂,之前的策略难以在大规模的网络拓扑结构下做出最优决策。同时,之前的策略或是针对单服务的迁移,或是缺乏一定的动态性,亦或是求解时间过长。最主要的缺点是不能同时兼顾低服务延迟以及各边缘结点的负载均衡。



技术实现要素:

本发明的目的在于针对现有技术存在的技术问题,提供一种基于最小费用最大流的负载均衡的多服务迁移方法及系统,使得虚拟服务在边缘结点上的放置得更均衡且灵活可调。

为了解决以上提出的问题,本发明采用的技术方案为:

本发明提供一种基于最小费用最大流的负载均衡的多服务迁移方法,该方法具体步骤包括如下:

根据边缘服务器的地理位置以及连接关系,构建网络拓扑图;

计算每一对边缘服务器间的最短路径距离,并生成最短路径距离矩阵;

根据所述距离矩阵,并结合每个服务的访问信息、每个边缘服务器的承载量及其与服务延迟的关系,建立最小费用最大流模型,所述模型包括源结点、服务结点、边缘服务器结点和终结点;

对模型进行求解得到最小费用最大流,并将服务结点放置在对应的边缘服务器结点上;

更新每个服务的访问信息,调整边缘服务器结点连至终结点的边的权值,并更新服务结点在边缘服务器结点上的位置,实现负载均衡;

对每个服务的访问信息进行实时的监控和统计,在访问信息的变化率超过设定阈值时,调整其对应的服务结点和边缘服务器结点。

进一步的,所述最小费用最大流模型具体为:

以s结点与t结点为模型的源结点和终结点,ni代表第i个服务结点,ej代表第j个边缘服务器结点,源结点s只与服务结点ni相连,每个服务结点ni和所有边缘服务器结点ej相连,每个边缘服务器结点ej均与终结点t相连;模型中的每条边均关联容量和通信成本。

进一步的,所述每个边缘服务器结点ej根据其所能承载服务的数量通过至少两条边与终结点t相连,每条边的成本权值均不同并呈递增关系。

进一步的,所述更新服务结点在边缘服务器结点上的位置,具体过程包括:

在对模型求解算法的残余网络中,更新每个服务结点放置在边缘服务器结点上的访问成本以及迁移成本;

根据更新的访问信息,对残余网络中的服务结点以及边缘服务器结点进行相应的删添;

根据当时的边缘网络指标变化以及每个边缘服务器结点的负载情况,调整边缘服务器结点连至终结点的边的权值;

利用增量式最小费用最大流算法进行求解,并根据求解得到的最小费用最大流,更新服务结点在边缘服务器结点上的位置。

进一步的,所述增量式最小费用最大流算法,具体包括如下:

服务结点的访问量发生改变,并在访问次数的变量大于预先学习得到的阈值时,更新服务结点的位置;

服务结点的数量改变时,删除服务结点或增加服务结点,并更新服务结点的位置;

边缘服务器结点的承载量发生改变时,并在边缘服务器结点的容量减小且从其流出的流大于该边减少后的容量或者出现边缘服务器结点删除时、以及边缘服务器结点容量增加或有新的边缘服务器结点添加时,更新服务结点的位置。

进一步的,从所述改变的结点出发,重新寻找新的最小费用最大流,并对服务结点的进行迁移和放置,更新服务结点在边缘服务器结点上的位置。

本发明还提供一种基于最小费用最大流的负载均衡的多服务迁移系统,该系统包括如下:

拓扑图构建模块:用于根据边缘服务器的地理位置以及连接关系,构建网络拓扑图;

矩阵生成模块:用于计算出所述网络拓扑图中每一对边缘服务器间的最短路径距离,并生成最短路径距离矩阵;

模型建立模块:用于根据所述距离矩阵,并结合每个服务的访问信息、每个边缘服务器的承载量及其与服务延迟的关系,建立最小费用最大流模型,所述模型包括源结点、服务结点、边缘服务器结点和边缘结点;

服务结点迁徙模块:用于对模型进行求解得到最小费用最大流,并对服务结点进行迁移,并将其放置在对应的边缘服务器结点上;

服务结点更新模块:用于更新对每个服务的访问信息,调整边缘服务器结点连至终结点的边的权值,并更新服务结点在边缘服务器结点上的位置;

监控调整模块:用于对每个服务的访问信息进行实时的监控和统计,在访问信息的变化率超过设定阈值时,调整其对应的服务结点和边缘服务器结点。

进一步的,所述服务结点更新模块包括:

成本更新子模块:用于在对模型求解算法的残余网络中,更新每个服务结点放置在边缘服务器结点上的访问成本以及迁移成本;

结点删添子模块:用于根据更新的访问信息,对残余网络中的服务结点以及边缘服务器结点进行相应的删添;

权值调整子模块:根据当时的边缘网络指标变化以及每个边缘服务器结点的负载情况,调整边缘服务器结点连至终结点的边的权值;

结点更新子模块:利用增量式最小费用最大流算法进行求解,并根据求解得到的最小费用最大流,更新服务结点在边缘服务器结点上的位置。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现任一项所述方法的步骤。

与现有技术相比,本发明的有益效果在于:

本发明提供的多服务迁移方法及系统将边缘网络中访问服务的通信成本问题以及负载均衡问题转化成了最小费用最大流问题,并能够实现在只增加很小一部分访问成本的条件下,使服务在边缘结点上的放置得更均衡并灵活可调,也能够很好的应对服务访问数量突发的放量剧增和异常情况,其简单、可靠也易于实现,保证了对用户的快速响应,提升了服务质量。

附图说明

为了更清楚地说明本发明中的方案,下面将对实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1为本发明负载均衡的多服务迁移方法的流程图。

图2为本发明虚拟服务迁移的网络拓扑图。

图3为本发明最小费用最大流模型的示意图。

图4为本发明更新服务结点位置的流程图。

图5为本发明上一次的残余网络的原理图。

图6为本发明修改后的残余网络的原理图。

图7为本发明负载均衡的多服务迁移系统的原理图。

图8为本发多服务迁移系统中服务结点更新模块的原理图。

图9为本发明电子设备的原理示意图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

参阅图1所示,本发明提供一种基于最小费用最大流的负载均衡的多服务迁移方法,该方法具体步骤包括如下:

步骤s1:根据边缘服务器的地理位置以及连接关系,构建网络拓扑图。具体的,所述网络拓扑图中边的权值是由所连接的边缘结点间的距离以及网络传输速度决定的。

本发明的应用场景能够抽象成如图2所示的网络拓扑图,由于边缘网络中,虚拟服务运行在边缘结点的服务器上,所以将边缘结点抽象成了边缘服务器结点,即图2中与决策中心连接的边缘服务器1~5,用户可以通过最近的访问接入点1~5,来对自己所需要的服务访问对应的边缘服务器。

步骤s2:计算所述网络拓扑图中每一对边缘服务器间的最短路径距离,并生成最短路径距离矩阵。具体的,利用最短路径算法计算得到最短路径距离,方法简单也可靠。

步骤s3:统计最近时间段内对每个服务的访问信息,根据所述最短路径距离矩阵,并结合每个边缘服务器的承载量及其与服务延迟的关系,建立最小费用最大流模型,所述模型包括源结点、服务结点、边缘服务器结点和终结点。

具体的,根据所述最短路径距离矩阵,计算出每个服务放置在各个边缘结点上的访问成本以及迁移成本,并计算各个边缘服务器的承载量与服务延迟的关系,建立最小费用最大流模型。

本发明实施例中,参阅图3所示,所述最小费用最大流模型具体为:

以s结点与t结点为模型的源结点和终结点,这是为了构建模型而设置的。ni代表第i个服务结点,ej代表第j个边缘服务器结点,其中i为1~n,j为1~m,即一共有n个服务结点和m个边缘服务器结点。源结点s只与服务结点ni相连,每个服务结点ni和所有边缘服务器结点ej相连,每个边缘服务器结点ej均与终结点t相连。模型中的每条边均关联两个值,分别为容量和通信成本。

具体的,源结点s与服务结点ni相连的每条边的容量均为1,这样使得所有服务均能放置在边缘服务器或云中心处,成本均为0。每个服务结点ni与所有边缘服务器结点ej相连的边的容量为1,成本即为将服务结点放置在该边缘服务器结点ej上的延迟成本与迁移成本之和。

进一步的,每个边缘服务器结点ej根据该边缘服务器结点所能承载服务的数量,并通过数条边(即至少两条边)与终结点t相连,每条边的成本权值均不同并呈递增关系。具体的,每条边的权值可以根据以往放置相应个数服务所产生的延迟和成本来决定,也可以根据用户的需求或者整个边缘网络的实时负载情况来决定。如果每条边的权值全部设置为0,那么得到的结果是理论上的最低总访问延迟,但这时常会出现某些边缘结点上需要放置的服务数量特别多,而其他边缘结点上需要放置的服务数量比较少,甚至为0,这很有可能导致负载量大的边缘结点面临资源争用的情形,这反而会增加服务的延迟,甚至是停机,使得服务质量下降。

本发明实施例中,将那些负载量大的边缘服务器结点上的服务放置在比较空闲的边缘服务器结点上,其服务访问总延迟并不会增加太多。通过在边缘服务器结点连接到终结点的边上增加多条边,即将每个边缘服务器结点到终结点的一条边拆成多条边,边的数目为对应边缘服务器结点所能放置的服务数量,并赋予每条边一定的成本权值,使得服务更趋向于放置在那些负载量小的边缘服务器结点,而不是放置在一些负载量不是很大的边缘结点上,但又不会增加太多理论上的访问成本,从而实现边缘服务器结点的负载均衡,并可以通过对边缘服务器结点到终结点的边上的成本权值进行调节来保证其均衡程度,其能够灵活满足不同用户的需求,并能够应对很多不同的场景。

步骤s4:对模型进行求解得到最小费用最大流,并将服务结点放置在对应的边缘服务器结点上,完成对服务结点进行迁移和放置。

具体的,利用经典的最小费用最大流求解算法进行求解,在求解出的最小费用最大流中,若有流从服务结点ni流经边缘服务器结点ej,代表将服务结点ni放置在边缘服务器结点ej上,并以此对服务结点进行迁移和放置,即根据求解结果可以得到服务结点对应的边缘服务器结点的位置,再对服务结点进行迁移和放置。本发明实施例中,经典的最小费用最大流求解算法采用连续最短路径法、costscaling、放缩法或消圈法,均能够可靠、有效地得到模型的最小费用最大流。

步骤s5:更新对每个服务的访问信息,即每隔一时间段重新统计对每个服务的访问信息,调整边缘服务器结点连至终结点的边的权值,并更新服务结点在边缘服务器结点上的位置,实现负载均衡,如附图4所示,具体包括:

步骤s51:在对模型求解算法的残余网络中,更新每个服务结点放置在边缘服务器结点上的访问成本以及迁移成本;

步骤s52:根据更新的访问信息,对残余网络中的服务结点以及边缘服务器结点进行相应的删添;

步骤s53:根据当时的边缘网络指标变化以及每个边缘服务器结点的负载情况,调整边缘服务器结点连至终结点的边的权值,使得计算出的放置方案具有一定的倾向性,但又不会增加太多的总访问成本。

步骤s54:利用增量式最小费用最大流算法进行快速求解,根据求解得到的最小费用最大流来对服务结点进行迁移和放置,更新其在边缘服务器结点上的位置。

本发明实施例中,由于用户对服务的访问模式、边缘结点的资源使用情况以及网络流量会时常发生变化,故可以每隔一段时间对服务的访问信息进行重新统计。按以往的方法,会选择重新执行步骤s3和s4的过程,但这求解时间往往会过长。本发明实施例采用增量式最小费用最大流算法,直接在上一次的残余网络中对相应服务结点及与边缘服务器结点连接的边进行修改,而不是从头开始构建最小费用最大流模型并求解,在修改后的残余网络上执行消圈法,将求解时间减少了8-15倍。

步骤s6:对每个服务的访问信息进行实时的监控和统计,在访问信息的变化率超过设定阈值时,调整其对应的服务结点和边缘服务器结点。

具体的,用户对服务结点的访问数量会出现突发的放量剧增和异常情况,通过监控器对访问信息进行实时的监控和统计。利用强化学习的方法训练出一个最优阈值,当这些监控或者统计的访问信息的变化率超过设定阈值即所述最优阈值时,就立即更新残余网络,并及时调整边缘服务器结点连至终结点的边的权值,可以通过步骤s5中提出的增量式最小费用最大流算法进行求解,并对服务结点和边缘服务器结点进行相应的调整。

本发明实施例中,采用增量式最小费用最大流算法对每个服务结点进行更新,具体包括如下:

步骤s541:用户对服务结点的访问量发生改变,并在满足设定条件时,更新服务结点的位置,具体包括:

步骤s5411:当访问次数的变量大于预先学习得到的阈值时,在求解算法的上一次残余网络中,对与该服务结点相连边的权值进行修改;否则不修改,可以减少需要修改权值的边的数量。

本发明实施例中,考虑到每隔一段时间,对大部分服务结点的访问量会发生变化,又由于用户对一些服务结点的访问次数不会产生太大的变化,故可将访问次数与预先通过机器学习的方法学习得到的最优阈值进行比较,来确定是否需要修改边的权值。进一步的,利用机器学习的方法确定需要修改服务结点关联边权值的阈值,与传统方法不同的是,这是通过机器学习的方法以及以往的数据集训练得到最优阈值。此时得到的阈值能够适应用户的多种访问模式、大规模高频变化的网络结构以及各种异常情况,使得决策中心不会频繁改变残余网络结构,从而减少服务调整次数,提高服务质量。

步骤s5412:在服务结点连向边缘服务器结点的边上添加迁移成本,并从费用改变的服务结点出发,重新寻找最小费用最大流。具体的,利用消圈法重新寻找最小费用最大流,由于是在上一阶段最小费用最大流的基础上出发,故能较之其他方案采用消圈法能更快寻找出最优方案。

步骤s513:根据所得到的最小费用最大流,对服务结点在边缘服务器结点上的位置进行更新。

本发明实施例中,假设求解算法的上一次部分残余网络见图4,此时服务结点n1到边缘服务器结点e1的边的容量和权值为(0,100),表示已将服务结点n1放置在边缘服务器结点e1上,并生成相应的反向边(1,-100)。同理服务结点nn分配到了边缘服务器结点e2上。一段时间过后,用户对服务结点n1和nn的访问次数发生了变化且访问次数大于阈值,则残余网络中相应的边需要修改,修改后的残余网络见图5。

通过图4可以看出,形成了n1→e2→nn→e1→n1的负环,可利用消圈法从服务结点n1开始消圈,直至残余网络中不存在负圈,此时达到最大流最小费用。

步骤s542:服务结点的数量改变时,删除服务结点或增加服务结点,并更新服务结点的位置,具体包括:

当有服务结点减少时,在残余网络中删除所述服务结点以及相关的边;

当有服务结点增加时,在残余网络中添加所述服务结点以及相关的边,选择该服务结点到边缘服务器结点的最小费用路径,进行流的添加达到最大流,从而实现所有服务结点的放置;在服务结点连向边缘服务器结点的边上添加迁移成本;

从所述删减或增加的服务结点出发,并流向边缘服务器结点,寻找新的最小费用最大流,并对服务结点的进行迁移和放置。具体的,也采用消圈法寻找新的最小费用最大流。

步骤s543:边缘服务器结点的承载量发生改变时,更新服务结点的位置,具体包括:

步骤s5431:当边缘服务器结点的容量减小时,检查从该边缘服务器结点流出的流是否大于对应边减少后的容量,具体为:

若流出的流仍小于该边减少后的容量,则只改变残余网络中该边的容量,残余网络不进行调整;

若流出的流大于该边减少后的容量或者出现边缘服务器结点删除时,则将流入该边缘服务器结点中费用最大的边对应的流退回;从对应的边缘服务结点出发,选择到终结点的最短路径并增加流,并在服务结点连向边缘服务器结点的边上添加迁移成本;

从对应的服务结点出发,利用消圈法寻找新的最小费用最大流,并以此对服务结点的进行迁移和放置,更新服务结点的位置;

步骤s5432:当边缘服务器结点容量增加或有新的边缘服务器结点添加时,则对残余网络进行修改,并在服务结点连向边缘服务器结点的边上添加迁移成本;从对应的边缘服务器结点出发,利用消圈法寻找新的最小费用最大流,并对服务结点进行调整。

本发明实施例提供的多服务迁移方法,通过构建网络拓扑图,并生成最短路径距离矩阵,从而建立最小费用最大流模型。求解得到最小费用最大流,对服务结点进行迁移和放置,并在每隔一时间段更新服务结点的位置。对每个服务的访问信息进行实时的监控和统计,需要时调整其对应的服务结点和边缘结点。本发明实施例能够实现在只增加很小一部分访问成本的条件下,使得虚拟服务在边缘结点上的放置得更均衡,并且均衡程度是可以调节的,其与增加的访问成本呈正相关,可以非常灵活地根据用户的实际需求来进行相应的调节,也可以根据各个边缘结点的负载情况进行调节,并能够很好地应对大规模动态网络出现的各种情况。

参阅图7所示,本发明实施例还提供一种基于最小费用最大流的负载均衡的多服务迁移系统,该系统包括如下:

拓扑图构建模块:用于根据边缘服务器的地理位置以及连接关系,构建网络拓扑图。

矩阵生成模块:用于计算出所述网络拓扑图中每一对边缘服务器间的最短路径距离,并生成最短路径距离矩阵。

模型建立模块:用于根据所述距离矩阵,并结合每个服务的访问信息、每个边缘服务器的承载量及其与服务延迟的关系,建立最小费用最大流模型,所述模型包括源结点、服务结点、边缘服务器结点和边缘结点。

服务结点迁徙模块:用于对模型进行求解得到最小费用最大流,并对服务结点进行迁移,并将其放置在对应的边缘服务器结点上。

服务结点更新模块:用于更新对每个服务的访问信息,调整边缘服务器结点连至终结点的边的权值,并更新服务结点在边缘服务器结点上的位置。

监控调整模块:用于对每个服务的访问信息进行实时的监控和统计,在访问信息的变化率超过设定阈值时,调整其对应的服务结点和边缘服务器结点。

进一步的,参阅图8所示,所述服务结点更新模块包括:

成本更新子模块:用于在对模型求解算法的残余网络中,更新每个服务结点放置在边缘服务器结点上的访问成本以及迁移成本。

结点删添子模块:用于根据更新的访问信息,对残余网络中的服务结点以及边缘服务器结点进行相应的删添。

权值调整子模块:根据当时的边缘网络指标变化以及每个边缘服务器结点的负载情况,调整边缘服务器结点连至终结点的边的权值。

结点更新子模块:利用增量式最小费用最大流算法进行求解,并根据求解得到的最小费用最大流,更新服务结点在边缘服务器结点上的位置。

具体地,本发明实施例提供的系统具体用于执行上述方法实施例,本发明实施例对此不再进行赘述。

图9为本发明实施例提供的一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)301、通信接口(communicationsinterface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储在存储器303上并可在处理器301上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:

根据边缘服务器的地理位置以及连接关系,构建网络拓扑图;

计算每一对边缘服务器间的最短路径距离,并生成最短路径距离矩阵;

根据所述距离矩阵,并结合每个服务的访问信息、每个边缘服务器的承载量及其与服务延迟的关系,建立最小费用最大流模型,所述模型包括源结点、服务结点、边缘服务器结点和终结点;

对模型进行求解得到最小费用最大流,并将服务结点放置在对应的边缘服务器结点上;

更新对每个服务的访问信息,调整边缘服务器结点连至终结点的边的权值,并更新服务结点在边缘服务器结点上的位置;

对每个服务的访问信息进行实时的监控和统计,在访问信息的变化率超过设定阈值时,调整其对应的服务结点和边缘服务器结点。

此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:

根据边缘服务器的地理位置以及连接关系,构建网络拓扑图;

计算每一对边缘服务器间的最短路径距离,并生成最短路径距离矩阵;

根据所述距离矩阵,并结合每个服务的访问信息、每个边缘服务器的承载量及其与服务延迟的关系,建立最小费用最大流模型,所述模型包括源结点、服务结点、边缘服务器结点和终结点;

对模型进行求解得到最小费用最大流,并将服务结点放置在对应的边缘服务器结点上;

更新对每个服务的访问信息,调整边缘服务器结点连至终结点的边的权值,并更新服务结点在边缘服务器结点上的位置;

对每个服务的访问信息进行实时的监控和统计,在访问信息的变化率超过设定阈值时,调整其对应的服务结点和边缘服务器结点。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

本发明实施例提供的基于最小费用最大流的负载均衡的多服务迁移方法及系统,能够得到使整体服务访问成本最小化的最优放置与迁移策略,同时也能实现在只增加很小一部分访问成本的条件下,服务在边缘结点上的放置得更均衡,并且均衡程度是可以调节的,时间复杂度相比之前的方法低很多,能在较短时间内求解出策略,很好的应对了服务访问数量突发的放量剧增和异常情况。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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