一种边缘计算环境中时延优化的负载任务迁移算法的制作方法

文档序号:17925088发布日期:2019-06-15 00:21阅读:185来源:国知局
一种边缘计算环境中时延优化的负载任务迁移算法的制作方法

本发明涉及边缘计算技术与物联网技术应用结合的技术领域,具体涉及一种边缘计算环境中时延优化的负载任务迁移算法。



背景技术:

随着物联网的迅猛发展,移动应用的数量和种类不断增加,未来的无线网络需要实现极短时延的通信和快速计算来增强用户体验。但在万物互联的背景下,集中式管理的云计算无法满足应用服务低时延、高可靠性以及数据安全的要求。为弥补云计算存在的这些缺陷,边缘计算应运而生。边缘计算是指在靠近物或数据源头的一侧,集网络、计算、存储、应用核心能力为一体的开放平台,其提供最近端服务。其应用程序在边缘侧发起,能产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。生产车间实时产生大量生产数据,将边缘计算应用到车间生产中,有助于高效的管理车间生产。

排队论作为一种基于随机过程理论发展起来的数学工具经常被用于系统建模和性能分析。在排队论建模并评估通信网络时,考虑到顾客的到达具有随机性,可用概率分布来表示到达过程,在各种排队模型中,服从泊松分布的排队模型由于具有较强的适用性而得到广泛研究。

由于边缘计算节点本身就具有计算、存储等功能,可以利用边缘计算对用户产生的大量数据进行处理,另外边缘计算在靠近用户端处理数据不必经过云计算中心,降低了用户业务处理的时延。用户业务的到达具有很大的随机性,因此用排队论模型对用户的服务做一定的优化,可以优化边缘计算节点对用户业务分配的,提高效率。

因此,如何充分考虑实际情况,以及采取有效的资源分配方法来减少用户计算任务的时延,是当前需要解决的难题。



技术实现要素:

针对现有技术存在的缺陷,本发明的目的在于提出一种边缘计算环境中时延优化的负载任务迁移算法,该算法一方面能够有效提高用户业务订单服务质量qos,另一方面对节能有很大帮助,具有良好的应用前景。

为了实现上述任务,本发明采用以下技术方案:

一种边缘计算环境中时延优化的负载任务迁移算法,包括以下步骤:

步骤1,负载均衡服务器接收任务采集设备传输的任务,并分析任务的数据量大小和处理时间,若任务为存储任务,则直接传输到存储设备中进行存储;若任务有实时处理需求,则分析边缘设备是否具备处理任务的能力;

步骤2,若边缘设备处理任务的能力不足,则将任务传输到云计算;若边缘设备有处理能力,则计算分析任务所需的处理时间和可用于排队的时间;

步骤3,基于负载均衡和任务质量对任务进行调度分析,一是各虚拟机的负载要基本相当,一是分析排队中每个任务是否满足处理时间的要求;基于这两点对新到的任务进行排序,以达到最优的调度方案,具体包括:

当任务总量任务总数量n小于k时,所有任务都无需等待,直接调度到虚拟机上进行处理;其中,k表示虚拟机的数量;

当任务总量n大于k时,利用花朵授粉算法来选择每个新到达任务的最优排队位置,从而形成一个总的排队队列,该总排队队列共有k列,其中每一列代表一个虚拟机的排队队列;每个虚拟机的排队队列由任务组组成,在排队队列中,每一个任务由该任务所需的处理时间、该任务可用于排队的时间这一组信息来表示;

通过所述的花朵授粉算法,先分析将新到达任务调度到第j个虚拟机上时,第j个虚拟机的任务处理时间tj,再求得标准差σ,最终将新到达任务调度到标准差σ最小的虚拟机的排队队列中排队处理;

步骤4,若花朵授粉算法迭代n次后,找不到新到达任务的最优排队位置,则在总排队队列中,通过计算影响因子η找出队列中影响最大的任务qη,然后将所述新到达的任务重新采用花朵授粉算法选择最优排队位置;同时,将所述的影响最大的任务qη采用花朵授粉算法选择最优排队位置,若找不到qη的最优排队位置,则认为边缘计算能力不足,则将qη传输到云计算进行处理。

进一步地,所述的第j个虚拟机的任务处理时间tj为:

其中,lj表示总排队队列中,第j列的排队任务数;ti,j,c表示第j个虚拟机的排队队列中,第i个任务在虚拟机上的处理时间;

标准差σ为:

其中,t表边缘计算的平均处理时间。

进一步地,所述的影响因子η的计算公式为:

η=αti,j,c+βti,j,p

其中,α、β为系数参数,ti,j,p表示第j个虚拟机的排队队列中,第i个任务可用于排队的时间。

进一步地,所述的花朵授粉算法的约束条件为:

总排队队列中,每一列中每个任务的排队时间大于排在其前面的所有任务的处理时间之和:

其中,i=1,2,3...lj,j=1,2,3...,k;

当前等待的任务总数为n:

本发明具有以下技术特点:

1.本方案将任务数据传输到边缘计算的负载均衡服务器集中存储,节省了边缘计算虚拟机的缓存空间,有助于提高虚拟机的数据处理能力。

2.本方案中在花朵授粉算法进行时,新任务对行的选择是要满足任务质量要求,对列的选择是满足负载均衡的要求,对原排列队列没有改变,减少了任务迁移的次数,加快了实时响应速度,节省能量的消耗。

3.本方案对原队列的调整也避免了在各个虚拟机之间任务迁移,减免了任务迁移消耗的时间和能耗,有效提高边缘计算的服务效率。

附图说明

图1为本发明实施例中的边缘设备的结构示意图;

图2为本发明实施例的边缘计算资源调度方法流程图。

具体实施方式

在边缘计算信息服务模型中,存在着两级任务调度,一级是从任务到虚拟机的调度,主要研究任务调度算法,根据任务的大小、优先级以及虚拟机的处理能力、内存等为虚拟机分配任务策略;另一级是从虚拟机到边缘计算数据中心的物理主机调度,利用虚拟机迁移技术,均衡各个物理主机的负载状况。本发明涉及的是从任务到虚拟机的调度。

本实施例提供了一种基于边缘计算的用户业务排队优化方法,图1为本发明实施例中的边缘设备的结构示意图。如图1所示,在一个边缘计算节点中包含了k个虚拟机,用qi={q1,q2,q3…}来表示任务,任务到达负载均衡服务器的间距遵循参数为λ=20的泊松分布规律。任务到达边缘计算后,先传输到负载均衡服务器,由负载均衡服务器分析任务的处理要求,若任务为存储任务,直接传输到所述的存储设备中;若任务为实时处理需求,分析边缘计算是否具备处理任务的能力,若边缘计算不具备处理任务的能力,则将任务传输到云计算进行处理;若边缘计算具备处理任务的能力,在所述的负载均衡处理器排队。其次,对所述的各个虚拟机现在的负载情况进行分析,根据所述的虚拟机负载现状,选择合理的虚拟机进行排队。设定当前排队的任务总数量为n,k个虚拟机的排队数量分别为lj,排队矩阵中每个任务都是由两个时间信息组成。所要解决的问题是对排队序列进行合理优化,使得排队列数越少越好;具体步骤如下:

步骤1,负载均衡服务器接收任务采集设备传输的任务,并分析任务的数据量大小和处理时间,若任务为存储任务,则直接传输到存储设备中进行存储;若任务有实时处理需求,则执行步骤2;

步骤2,若边缘设备处理任务的能力不足,则将任务传输到云计算;若边缘设备有处理能力,则计算分析任务所需的处理时间和可用于排队的时间;

本发明中边缘设备的边缘计算节点中,每台虚拟机都能分别同时独立运行。如虚拟机当前均已满负荷,或满足不了任务的实时处理需求,则认为不具备处理能力。

记每一个虚拟机中的服务速率为u,虚拟机的数量为k,则整个边缘计算的满载服务速率为u:

u=ku(1)

设第r个任务中的数据量为qr,任务总数为n,则整个边缘计算的待处理数据量为q:

整个边缘计算的平均处理时间为t:

记第j个虚拟机下排在第i个的任务的总执行时间、传输时间、所需的处理时间以及可用于排队的时间分别为ti,j、ti,j,t、ti,j,c和ti,j,p,b表示带宽,qi表示第i个任务中的数据量,则:

步骤3,基于负载均衡和任务质量对任务进行调度分析,一是各虚拟机的负载要基本相当,一是分析排队中每个任务是否满足处理时间的要求;基于这两点对新到的任务进行排序,以达到最优的调度方案;本方案中具体使用花朵授粉算法来完成基于负载均衡和任务质量qos的调度优化,具体包括:

步骤3.1,当任务总量任务总数量n小于k时,所有任务都无需等待,直接调度到虚拟机上进行处理;其中,k表示虚拟机的数量;此时每个虚拟机上调度一个任务进行处理;

步骤3.2,当任务总量n大于k时,利用花朵授粉算法来选择每个新到达任务(即第k个任务之后新到的任务)的最优排队位置,从而形成一个总的排队队列,该总排队队列共有k列,其中每一列代表一个虚拟机的排队队列;每个虚拟机的排队队列由任务组组成,在排队队列中,每一个任务由该任务所需的处理时间、该任务可用于排队的时间这一组信息来表示。

即,当系统中任务总量n大于k时,则前k个任务分别调度到一个虚拟机上进行处理,而从第k+1个任务开始,使用花朵授粉算法来选择每个新到达的任务的排队位置,随着任务总数量n的增加便形成一个k列的总排队队列,表示如下:

上式中,每一列代表一个虚拟机的排队队列,xab表示任务在虚拟机上的处理时间ti,j,c,yab表示任务可用于排队的时间ti,j,p,a=1,2,3...,b=1,2,...k。

步骤3.3,通过所述的花朵授粉算法,先分析将新到达任务调度到第j个虚拟机上时,第j个虚拟机的任务处理时间tj,再求得标准差σ,最终将新到达任务调度到标准差σ最小的虚拟机的排队队列中排队处理,该位置即所述的最优排队位置。

为保证每个虚拟机的负载相当,每个虚拟机的任务处理时间tj差异越小越好。

记排队队列中,第j列的排队任务数为lj,则第j个虚拟机的任务处理时间tj为:

各虚拟机的负载差异用标准差σ来表示:

该标准差σ函数作为花朵授粉算法进行优化的目标函数。

为满足任务质量qos的要求,每一列中每个任务的排队时间应该大于排在其前面的所有任务的处理时间之和:

i=1,2,3...lj,j=1,2,3...,k;(8)

当前等待的任务总数量n:

式(7)(8)(9)为花朵授粉算法的约束条件。

根据数学归纳法的思想,当任务总数量n等于k+1时,使用花朵授粉算法对新到的第k+1个任务进行优化,寻找第k+1个的最优排队位置,输出最新的排队队列;当任务总数量n大于k且不等于k+1时,对此时进入排队队列新的任务使用花朵授粉算法进行优化,找到此时新任务最优的调度位置,输出最新的排队队列,则可以虚拟机在满足任务质量qos的条件完成负载均衡的调度优化。

在花朵授粉算法进行时,新任务对行的选择是要满足任务质量qos要求,对列的选择是满足负载均衡的要求,对原排列队列没有改变。当算法运行完成后,输出最优的排队队列。

步骤4,若花朵授粉算法迭代n次后,找不到新到达任务的最优排队位置,则在总排队队列中,通过计算影响因子η找出队列中影响最大的任务qη:

所述的影响因子η的计算公式为:

η=αti,j,c+βti,j,p

其中,α、β为系数参数,ti,j,p表示第j个虚拟机的排队队列中,第i个任务可用于排队的时间。

影响因子η最大的任务即为所述影响最大的任务qη。

找出qη后,将所述新到达的任务重新采用花朵授粉算法选择最优排队位置;同时,将所述的影响最大的任务qη作为一个新到达任务,采用花朵授粉算法选择最优排队位置,若找不到qη的最优排队位置,则认为边缘计算能力不足,则将qη传输到云计算进行处理或传输到周边的边缘处理设备进行处理。

本发明方案中,任务数据传输到边缘计算的负载均衡服务器集中存储,节省了边缘计算虚拟机的缓存空间,有助于提高虚拟机的数据处理能力;在花朵授粉算法进行时,对原排列队列没有改变,减少了任务迁移的次数,加快了实时响应速度,节省能量的消耗。对原队列的调整也避免了在各个虚拟机之间任务迁移,减免了任务迁移消耗的时间和能耗,有效提高边缘计算的服务效率。

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