移动边缘计算中的迁移管理方法、装置和存储介质与流程

文档序号:21626498发布日期:2020-07-29 02:33阅读:189来源:国知局
移动边缘计算中的迁移管理方法、装置和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种移动边缘计算中的迁移管理方法、装置、计算机设备和存储介质。



背景技术:

移动边缘计算(mobileedgecomputing,mec)是一种在网络边缘部署服务器提供计算服务的新型计算架构,使得手机、平板电脑等资源受限的移动终端可以将计算密集型的任务卸载到边缘节点执行,从而降低任务完成时间。然而当任务被卸载到边缘服务器后,终端设备的移动性对任务完成时间的影响是不可忽略的,因此为了保证用户的服务质量请求,需要设计高效的迁移管理方法来解决终端设备的移动性问题。

传统针对移动边缘计算中的任务迁移管理的方法较少,已有的迁移管理方法多针对的是单个边缘服务器、单用户的系统、以及单个边缘服务器的应用场景,其无法高效确定迁移策略。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够高效确定迁移策略的移动边缘计算中的迁移管理方法、装置、计算机设备和存储介质。

一种移动边缘计算中的迁移管理方法,所述方法包括:

获取任务的数据信息,将任务卸载至当前覆盖任务的源边缘服务器;

将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,所述待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务;

针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;

根据所述迁移阈值,依次确定小组内各任务的迁移策略;

根据得到的迁移策略进行移动边缘计算中的迁移管理。

在其中一个实施例中,所述获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器包括:

获取任务的数据信息,所述数据信息包括任务的输入数据量;

将所述任务卸载至当前覆盖所述任务的源边缘服务器;

获取任务所属终端与所述源边缘服务器之间的第一数据传输速率,并根据所述输入数据量以及所述第一数据传输速率,计算任务输入数据的传输时间。

在其中一个实施例中,所述针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值包括:

计算当前时间片中,若任务选择不迁移,所述当前时间片之后的时间片一直在源边缘服务器上处理的第一总预计完成时间;

计算当前时间片中,若任务选择从源边缘服务器迁移到目的边缘服务器上执行,所述当前时间片之后的时间片一直在目的边缘服务器上处理的第二总预计完成时间;

根据所述第一总预计完成时间和所述第二总预计完成时间,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

在其中一个实施例中,所述数据信息包括任务的输出数据量;所述计算当前时间片中,若任务选择不迁移,所述当前时间片之后的时间片一直在源边缘服务器上处理的第一总预计完成时间包括:

获取当前时间片t过去的时间片之和τ(t-1),得到第一时长,其中,τ为时间片长度;

获取任务在当前时间片剩余的总的cpu请求的周期数以及源边缘服务器可提供的最大的cpu频率,计算从当前时间片开始任务在源边缘服务器上执行的处理时间,得到第二时长;

获取边缘服务器之间的通信带宽,根据任务的输出数据量以及所述通信带宽,计算任务的输出数据从源边缘服务器传输至目的边缘服务器的传输时间,得到第三时长;

获取目的边缘服务器与任务所属终端之间的第二数据传输速率,根据所述第二数据传输速率以及任务的输出数据量,计算任务的输出数据从目的边缘服务器传输至任务所属终端的传输时间,得到第四时长;

获取所述第一时长、所述第二时长、所述第三时长以及所述第四时长之间的和,得到第一总预计完成时间。

在其中一个实施例中,所述数据信息包括任务的输入数据量;所述计算当前时间片中,若任务选择从源边缘服务器迁移到目的边缘服务器上执行,所述当前时间片之后的时间片一直在目的边缘服务器上处理的第二总预计完成时间包括:

获取边缘服务器之间的通信带宽,根据所述任务的输入数据量以及所述通信带宽,计算输入数据从源边缘服务器到目的边缘服务器的迁移时间,得到第五时长;

获取任务在当前时间片剩余的总的cpu请求的周期数以及目的边缘服务器可提供的最大的cpu频率,计算当前时间片开始任务迁移到目的边缘服务器上执行的处理时间,得到第六时长;

获取所述第一时长、所述第五时长、所述第六时长以及所述第四时长之间的和,得到第二总预计完成时间。

在其中一个实施例中,所述根据所述第一总预计完成时间和所述第二总预计完成时间,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值包括:

计算当所述第一总预计完成时间与所述第二总预计完成时间相同时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

在其中一个实施例中,所述根据所述迁移阈值,依次确定小组内各任务的迁移策略包括:

判断小组内各任务的源边缘服务器是否均不相同;

若是,则根据任务的迁移阈值,依次确定小组内各任务的迁移策略;

若否,则继续将小组内任务根据对应的源边缘服务器划分为不同次小组,根据任务的迁移阈值,依次确定所述次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值,迭代更新得到次小组内各任务的迁移策略。

在其中一个实施例中,所述根据任务的迁移阈值,依次确定所述次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值包括:

根据任务的迁移阈值,对所述次小组内任务排序;

确定次小组内迁移阈值最大的任务在当前时间片的迁移策略;

将已确定迁移策略的任务的迁移阈值置零,同时更新次小组内其他尚未确定迁移策略的任务的迁移阈值;

更新所述次小组内根据迁移阈值的排序队列,返回确定次小组内迁移阈值最大的任务在当前时间片的迁移策略的步骤,直至所述次小组内任务均已确定迁移策略。

一种移动边缘计算中的迁移管理装置,所述装置包括:

初始化模块,用于获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器;

划分模块,用于将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,所述待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务;

迁移阈值计算模块,用于针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;

策略确定模块,用于根据所述迁移阈值,依次确定小组内各任务的迁移策略;

实施模块,用于根据得到的迁移策略进行移动边缘计算中的迁移管理。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器;

将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,所述待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务;

针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;

根据所述迁移阈值,依次确定小组内各任务的迁移策略;

根据得到的迁移策略进行移动边缘计算中的迁移管理。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器;

将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,所述待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务;

针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;

根据所述迁移阈值,依次确定小组内各任务的迁移策略;

根据得到的迁移策略进行移动边缘计算中的迁移管理。

上述移动边缘计算中的迁移管理方法、装置、计算机设备和存储介质,获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器;将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,针对每个小组内任务计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;根据所述迁移阈值,依次确定小组内各任务的迁移策略;根据得到的迁移策略进行移动边缘计算中的迁移管理。整个过程中,采用分组的思想,将任务基于目的边缘服务器划分为不同小组,再根据确定的迁移阈值依次确定下小组内各任务的迁移策略,能够高效确定各任务的迁移策略。

附图说明

图1为一个实施例中移动边缘计算中的迁移管理方法的流程示意图;

图2为另一个实施例中移动边缘计算中的迁移管理方法的流程示意图;

图3为又一个实施例中移动边缘计算中的迁移管理方法的流程示意图;

图4为应用本申请移动边缘计算中的迁移管理方法的效果对比示意图;

图5为一个实施例中移动边缘计算中的迁移管理装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

为了详细介绍本申请移动边缘计算中的迁移管理方法的发明构思,在这里先介绍下本申请移动边缘计算中的迁移管理方法提出的理论基础以及与常规技术的重大区别。针对移动边缘计算中的任务迁移管理问题,若采用穷举法搜索任务迁移管理的最优方案,对于用户数为20,30个时间片的系统模型,搜索最优解的数量级将达到2600之高,代价极高。利用用户的移动性信息,本申请为任务定义源边缘服务器和目的边缘服务器,每个时间片计算任务的迁移阈值,具体地迁移阈值是指如果任务选择从源边缘服务器迁移到目的边缘服务器上去执行时,任务可接受的目的边缘服务器上当前处理的任务数量的最大值,然后将任务按照不同的目的边缘服务器划分为不同的小组,根据迁移阈值,依次确定小组内各任务的迁移策略,高效确定每个任务的迁移策略。

在一个实施例中,如图1所示,提供了一种移动边缘计算中的迁移管理方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:

s100:获取任务的数据信息,将任务卸载至当前覆盖任务的源边缘服务器。

任务的数据信息可是用户发起的,即系统接收用户的任务数据信息,任务的数据信息包括{λn,on,cn,dn},其中,λn和on表示任务n的输入和输出数据量,cn为输入数据每比特所需的cpu周期数,dn为任务n的完成截止时间。接收用户的移动轨迹信息;初始化将各任务卸载到覆盖其用户的边缘服务器m上执行。非必要的,还可以计算任务输入数据的传输时间tn(m,n)。传输时间tn(m,n)用于后续计算任务在整个移动边缘计算中耗时,将所有任务的总耗时与移动边缘计算中预先约束的截止时间进行比较,验证整个移动边缘计算的优劣;或,基于每个任务的总耗时,统计在截止时间内移动边缘计算完成的任务数量,验证整个移动边缘计算的优劣。

s200:将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务。

边缘服务器被划分为源边缘服务器和目的边缘服务器,每个时间片正处理任务n的边缘服务器定义为任务n的源边缘服务器m,假设任务n一直在源边缘服务器上执行完成时覆盖任务n所属移动设备的边缘服务器定义为任务n的目的边缘服务器m'。待处理的任务是指还未完成且源边缘服务器与目的边缘服务器不同的任务(即有迁移需求的任务),将待处理的任务根据其当前时间片下的目的边缘服务器划分为不同的小组group1,group2,...,groupp,(p<m),其中m为系统中边缘服务器的数量,然后依次处理各小组的任务。

s300:针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

针对步骤s200中的划分好的每个小组groupi,计算小组内各任务的迁移阈值thn,定义任务n的迁移阈值为:如果任务n选择从源边缘服务器迁移到目的边缘服务器上去执行时,任务n可接受的目的边缘服务器上当前处理的任务数量的最大值。

s400:根据迁移阈值,依次确定小组内各任务的迁移策略。

根据迁移阈值thn,依次确定小组内各任务的迁移策略。可以优先确定迁移阈值较大任务对应的迁移策略,即迁移阈值较大的任务优先执行迁移操作,剩余的任务(迁移阈值较小的任务)需要考虑目的边缘服务器上的任务数,在判断之后再决定其是否迁移。非必要的,可以根据迁移阈值将小组内的任务按照降序排列,即迁移阈值较大的任务排在队列前面,优先确定其迁移策略为执行迁移。更进一步来说,在小组内所有任务的迁移阈值计算完毕后,还可以判断组内所有任务的源边缘服务器是否均不相同,若是,则直接按照迁移阈值从大到小的顺序确定小组内各任务的迁移策略,若否,则继续将小组内任务根据对应的源边缘服务器划分为不同次小组,根据任务的迁移阈值,依次确定次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值,迭代更新得到次小组内各任务的迁移策略。

s500:根据得到的迁移策略进行移动边缘计算中的迁移管理。

基于步骤s400确定的每个任务迁移策略对移动边缘计算进行迁移管理,确保移动边缘计算的高效。

上述移动边缘计算中的迁移管理方法,获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器;将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,针对每个小组内任务计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;根据迁移阈值,依次确定小组内各任务的迁移策略;根据得到的迁移策略进行移动边缘计算中的迁移管理。整个过程中,采用分组的思想,将任务基于目的边缘服务器划分为不同小组,再根据确定的迁移阈值依次确定下小组内各任务的迁移策略,能够高效确定各任务的迁移策略。

在其中一个实施例中,获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器包括:获取任务的数据信息,数据信息包括任务的输入数据量;将任务卸载至当前覆盖任务的源边缘服务器;获取任务所属终端与源边缘服务器之间的第一数据传输速率,并根据输入数据量以及第一数据传输速率,计算任务输入数据的传输时间。

计算任务n卸载到mec服务器m上执行的输入数据传输时间tn(m,n)是根据如下公式:

其中λn是任务n的输入数据大小,r(m,n)是边缘服务器m与任务n所属移动设备间的无线传输速率,通过以下公式获得:

其中,wm是边缘服务器m分配给任务n的无线信道带宽,pn表示任务n所属移动设备的发射功率,hm,n是信道增益,θm是白噪声功率。

如图2所示,在其中一个实施例中,s300包括:

s320:计算当前时间片中,若任务选择不迁移,当前时间片之后的时间片一直在源边缘服务器上处理的第一总预计完成时间。

s340:计算当前时间片中,若任务选择从源边缘服务器迁移到目的边缘服务器上执行,当前时间片之后的时间片一直在目的边缘服务器上处理的第二总预计完成时间。

s360:根据第一总预计完成时间和第二总预计完成时间,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

分别计算在当前时间片中,任务n选择不迁移和任务n选择迁移下预计完成时间,再根据第一总预计完成时间和第二总预计完成时间,得到任务n的迁移阈值。

在其中一个实施例中,数据信息包括任务的输出数据量;计算当前时间片中,若任务选择不迁移,当前时间片之后的时间片一直在源边缘服务器上处理的第一总预计完成时间包括:

获取当前时间片t过去的时间片之和τ(t-1),得到第一时长,其中,τ为时间片长度;获取任务在当前时间片剩余的总的cpu请求的周期数以及源边缘服务器可提供的最大的cpu频率,计算从当前时间片开始任务在源边缘服务器上执行的处理时间,得到第二时长;获取边缘服务器之间的通信带宽,根据任务的输出数据量以及通信带宽,计算任务的输出数据从源边缘服务器传输至目的边缘服务器的传输时间,得到第三时长;获取目的边缘服务器与任务所属终端之间的第二数据传输速率,根据第二数据传输速率以及任务的输出数据量,计算任务的输出数据从目的边缘服务器传输至任务所属终端的传输时间,得到第四时长;获取第一时长、第二时长、第三时长以及第四时长之间的和,得到第一总预计完成时间。

在其中一个实施例中,数据信息包括任务的输入数据量;计算当前时间片中,若任务选择从源边缘服务器迁移到目的边缘服务器上执行,当前时间片之后的时间片一直在目的边缘服务器上处理的第二总预计完成时间包括:

获取边缘服务器之间的通信带宽,根据任务的输入数据量以及通信带宽,计算输入数据从源边缘服务器到目的边缘服务器的迁移时间,得到第五时长;获取任务在当前时间片剩余的总的cpu请求的周期数以及目的边缘服务器可提供的最大的cpu频率,计算当前时间片开始任务迁移到目的边缘服务器上执行的处理时间,得到第六时长;获取第一时长、第五时长、第六时长以及第四时长之间的和,得到第二总预计完成时间。

在其中一个实施例中,根据第一总预计完成时间和第二总预计完成时间,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值包括:

计算当第一总预计完成时间与第二总预计完成时间相同时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

为详细介绍上述第一总预计完成时间、第二总预计完成时间以及最终迁移阈值的确定过程,下面将引入具体计算公式详细展开描述整个计算过程。

第一总预计完成时间

计算当前时间片t中,假设任务选择不迁移之后的时间片一直在源边缘服务器m上处理的总的估计的完成时间其计算公式如下:

在上式(3)中第一总预计完成时间包括四部分:①τ(t-1)为过去的时间片之和,其中τ为时间片长度,t表示第t个时间片;②为从当前时间片开始任务n在源边缘服务器上执行的处理时间,其中为任务n在当前时间片剩余的总的cpu请求的周期数,fm源边缘服务器可提供的最大的cpu频率,i{x}为指示函数,当事件x为真时i{x}=1,否则i{x}=0;③为输出数据在源边缘服务器m到目的边缘服务器m'的传输时间,on为任务n的输出数据量,b为边缘服务器之间的通信带宽(一般边缘服务器之间采用有线通信,因此这里一般指有线带宽);④为输出数据从目的边缘服务器到任务n所属终端的传输时间,r(m',n)为相应的无线传输速率,其具体计算公式可以参见上述公式(2)。

第二总预计完成时间

计算当前时间片t中,假设任务选择从源边缘服务器m迁移到目的边缘服务器m'上执行之后的时间片一直在目的边缘服务器m'上处理的总的估计的完成时间其计算公式如下:

在上式(4)中第二总预计完成时间样包括四部分:①τ(t-1)为过去的时间片之和;②为输入数据从源边缘服务器m到目的边缘服务器m'的迁移时间,任务每次迁移均需传输全部的输入数据;③为从当前时间片开始任务n迁移到目的边缘服务器上执行的处理时间,其中fm'为目的边缘服务器m'可提供的最大的cpu频率;④为输出数据从目的边缘服务器到任务n所属终端的传输时间。

确定迁移阈值

定义任务n的迁移阈值为如果任务n选择从源边缘服务器迁移到目的边缘服务器上去执行时,任务n可接受的目的边缘服务器上当前处理的任务数量的最大值,那么上述公式(4)中在目的边缘服务器上估计的完成时间(第二总预计完成时间)的计算公式可改写如下:

时,任务n迁移到目的边缘服务器上执行,此时它的完成时间更短,根据迁移阈值的定义,当可计算出任务n的迁移阈值thn:

在其中一个实施例中,根据迁移阈值,依次确定小组内各任务的迁移策略包括:

判断小组内各任务的源边缘服务器是否均不相同;若是,则根据任务的迁移阈值,依次确定小组内各任务的迁移策略;若否,则继续将小组内任务根据对应的源边缘服务器划分为不同次小组,根据任务的迁移阈值,依次确定次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值,迭代更新得到次小组内各任务的迁移策略。

小组内所有任务的迁移阈值计算完毕后,判断组内所有任务的源边缘服务器是否均不相同,如果是则转入步骤a,否则转入步骤b;步骤a和步骤b具体执行过程如下:

步骤a:针对组内所有任务的源边缘服务器均不相同的小组groupi,根据计算所得的迁移阈值大小,将组内任务按迁移阈值降序排列,thα1≥thα2≥…≥thαk,k为小组内的任务数;针对小组内每个任务,根据获得的组内任务排序,依次确定每个任务在当前时间片的迁移策略

步骤b:针对组内所有任务的源边缘服务器并不完全相同的小组groupi,继续将小组内的任务根据其源边缘服务器划分为不同的次小组,subgroup1,subgroup2,...,subgroupp,依次处理各次小组;针对组内所有任务的源边缘服务器均不相同的次小组subgroupi,根据计算所得的迁移阈值大小,将次小组内的任务按迁移阈值降序排列,thα1≥thα2≥…≥thαk,k为小组内的任务数;针对次小组subgroupi内的每个任务,根据获得的组内任务排序,迭代确定次小组内的任务在当前时间片的迁移策略,更新其他任务的迁移阈值。

进一步的,在上述步骤b中根据任务的迁移阈值,依次确定次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值包括以下子步骤:根据任务的迁移阈值,对次小组内任务排序;确定次小组内迁移阈值最大的任务在当前时间片的迁移策略;将已确定迁移策略的任务的迁移阈值置零,同时更新次小组内其他尚未确定迁移策略的任务的迁移阈值;更新次小组内根据迁移阈值的排序队列,返回确定次小组内迁移阈值最大的任务在当前时间片的迁移策略的步骤,直至次小组内任务均已确定迁移策略。

具体来说,针对次小组subgroupi内的按迁移阈值降序排列的任务顺序,确定次小组内迁移阈值最大的任务n在当前时间片的迁移策略atn,具体地,cm'为目的边缘服务器上的任务数,若cm'≤thn,则任务n在当前时间片选择迁移至目的边缘服务器m',否则任务选择不迁移;针对当前确定了迁移策略的任务n,将其迁移阈值置零(thn=0),同时更新次小组内其他尚未确定迁移策略的任务的迁移阈值;针对次小组subgroupi内的所有任务,按迁移阈值降序排列;若次小组subgroupi内所有任务均确定了当前时间片的迁移策略。

为更进一步详细解释本申请移动边缘计算中的迁移管理方法的技术方案及其效果,下面将采用具体实例并结合图3详细说明。在其中一个应用实例中,本申请移动边缘计算中的迁移管理方法包括以下步骤:

(1)接收用户的任务信息{λn,on,cn,dn},λn和on表示任务n的输入和输出数据量,cn为输入数据每比特所需的cpu周期数,dn为任务n的完成截止时间。接收用户的移动轨迹信息;初始化将各任务卸载到覆盖其用户的边缘服务器m上执行,计算任务输入数据的传输时间tn(m,n);

(2)待处理的任务是指还未完成且源边缘服务器与目的边缘服务器不同的任务,将待处理的任务根据其当前时间片下的目的边缘服务器划分为不同的小组group1,group2,...,groupp,(p<m),其中m为系统中边缘服务器的数量,然后依次处理各小组的任务;

(3)针对步骤(2)中的划分好的每个小组groupi,计算小组内各任务的迁移阈值thn,定义任务n的迁移阈值为如果任务n选择从源边缘服务器迁移到目的边缘服务器上去执行时,任务n可接受的目的边缘服务器上当前处理的任务数量的最大值;

(4)小组内所有任务的迁移阈值计算完毕后,判断组内所有任务的源边缘服务器是否均不相同,如果是则转入步骤(5),否则转入步骤(7);

(5)针对组内所有任务的源边缘服务器均不相同的小组groupi,根据步骤(3)中计算所得的迁移阈值大小,将组内任务按迁移阈值降序排列,thα1≥thα2≥…≥thαk,k为小组内的任务数;

(6)针对小组内每个任务,根据步骤(5)中获得的组内任务排序,依次确定每个任务在当前时间片的迁移策略atn;

(7)针对组内所有任务的源边缘服务器并不完全相同的小组groupi,继续将小组内的任务根据其源边缘服务器划分为不同的次小组,subgroup1,subgroup2,...,subgroupp,依次处理各次小组;

(8)针对组内所有任务的源边缘服务器均不相同的次小组subgroupi,根据步骤(3)中计算所得的迁移阈值大小,将次小组内的任务按迁移阈值降序排列,thα1≥thα2≥…≥thαk,k为小组内的任务数;

(9)针对次小组subgroupi内的每个任务,根据步骤(8)中获得的组内任务排序,迭代确定次小组内的任务在当前时间片的迁移策略,更新其他任务的迁移阈值;

(10)根据步骤(6)和步骤(9)得到的所有任务在当前时间片的迁移策略集将其发送至对应的边缘服务器,更新全局数据信息;

(11)当前时间片计算完成后判断是否满足迭代条件,如果是则转入步骤(2),否则结束计算。这里判断是否满足迭代条件是指是否所有任务均已分配好迁移策略,若均已分配好迁移策略,则无需再次迭代(即不满足迭代条件),任务结束;若还有任务未分配好迁移策略,则还需再次迭代(即满足迭代条件)返回步骤(2)。

整体来说,在应用实例中,本申请移动边缘计算中的迁移管理方法具有以下显著的优点:

1、采用本申请移动边缘计算中的迁移管理方法,在用户数n=20,40,60,80,100,120的参数设置下,能够使得在截止时间内完成的任务数较总是迁移和不迁移以及冷处理基准方法平均提升2倍左右。

2、调整任务的输入输出数据大小、调整任务的cpu周期数请求、以及边缘服务器的cpu频率,采用本申请移动边缘计算中的迁移管理方法最终在截止时间内完成的任务数均高于其他三种基准方法。

在实际应用中,基于随机游走模型产生用户的移动轨迹,任务的输入数据大小λn∈[100,500]kb,输出数据大小on∈[100,150]kb,完成截止时间dn∈[5,50]s,任务每比特cpu周期请求数cn∈[800,2400]cycles/bit,边缘服务器cpu频率fm∈[0.1,1.0]ghz,用户数n∈[20,120],衡量在截止时间内完成的任务数,本申请方法较其他三种方法的对比结果如下图4所示,其中gm为本申请移动边缘计算中的迁移管理方法、nm为不迁移、am为总迁移、ct为冷处理,基于图4可以充分佐证本申请移动边缘计算中的迁移管理方法具备上述2点显著的优点。

应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

如图5所示,本申请还提供一种移动边缘计算中的迁移管理装置,装置包括:

初始化模块100,用于获取任务的数据信息,将任务卸载至当前覆盖任务的源边缘服务器;

划分模块200,用于将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务;

迁移阈值计算模块300,用于针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;

策略确定模块400,用于根据迁移阈值,依次确定小组内各任务的迁移策略;

实施模块500,用于根据得到的迁移策略进行移动边缘计算中的迁移管理。

上述移动边缘计算中的迁移管理装置,获取任务的数据信息,将所述任务卸载至当前覆盖所述任务的源边缘服务器;将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,针对每个小组内任务计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;根据迁移阈值,依次确定小组内各任务的迁移策略;根据得到的迁移策略进行移动边缘计算中的迁移管理。整个过程中,采用分组的思想,将任务基于目的边缘服务器划分为不同小组,再根据确定的迁移阈值依次确定下小组内各任务的迁移策略,能够高效确定各任务的迁移策略。

在其中一个实施例中,初始化模块100还用于获取任务的数据信息,数据信息包括任务的输入数据量;将所述任务卸载至当前覆盖所述任务的源边缘服务器;获取任务所属终端与源边缘服务器之间的第一数据传输速率,并根据输入数据量以及第一数据传输速率,计算任务输入数据的传输时间。

在其中一个实施例中,迁移阈值计算模块300还用于计算当前时间片中,若任务选择不迁移,当前时间片之后的时间片一直在源边缘服务器上处理的第一总预计完成时间;计算当前时间片中,若任务选择从源边缘服务器迁移到目的边缘服务器上执行,当前时间片之后的时间片一直在目的边缘服务器上处理的第二总预计完成时间;根据第一总预计完成时间和第二总预计完成时间,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

在其中一个实施例中,迁移阈值计算模块300还用于获取当前时间片t过去的时间片之和τ(t-1),得到第一时长,其中,τ为时间片长度;获取任务在当前时间片剩余的总的cpu请求的周期数以及源边缘服务器可提供的最大的cpu频率,计算从当前时间片开始任务在源边缘服务器上执行的处理时间,得到第二时长;获取边缘服务器之间的通信带宽,根据任务的输出数据量以及通信带宽,计算任务的输出数据从源边缘服务器传输至目的边缘服务器的传输时间,得到第三时长;获取目的边缘服务器与任务所属终端之间的第二数据传输速率,根据第二数据传输速率以及任务的输出数据量,计算任务的输出数据从目的边缘服务器传输至任务所属终端的传输时间,得到第四时长;获取第一时长、第二时长、第三时长以及第四时长之间的和,得到第一总预计完成时间。

在其中一个实施例中,数据信息包括任务的输入数据量;迁移阈值计算模块300还用于获取边缘服务器之间的通信带宽,根据任务的输入数据量以及通信带宽,计算输入数据从源边缘服务器到目的边缘服务器的迁移时间,得到第五时长;获取任务在当前时间片剩余的总的cpu请求的周期数以及目的边缘服务器可提供的最大的cpu频率,计算当前时间片开始任务迁移到目的边缘服务器上执行的处理时间,得到第六时长;获取第一时长、第五时长、第六时长以及第四时长之间的和,得到第二总预计完成时间。

在其中一个实施例中,迁移阈值计算模块300还用于计算当第一总预计完成时间与第二总预计完成时间相同时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

在其中一个实施例中,策略确定模块400还用于判断小组内各任务的源边缘服务器是否均不相同;若是,则根据任务的迁移阈值,依次确定小组内各任务的迁移策略;若否,则继续将小组内任务根据对应的源边缘服务器划分为不同次小组,根据任务的迁移阈值,依次确定次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值,迭代更新得到次小组内各任务的迁移策略。

在其中一个实施例中,策略确定模块400还用于根据任务的迁移阈值,对次小组内任务排序;确定次小组内迁移阈值最大的任务在当前时间片的迁移策略;将已确定迁移策略的任务的迁移阈值置零,同时更新次小组内其他尚未确定迁移策略的任务的迁移阈值;更新次小组内根据迁移阈值的排序队列,返回确定次小组内迁移阈值最大的任务在当前时间片的迁移策略的步骤,直至次小组内任务均已确定迁移策略。

关于移动边缘计算中的迁移管理装置的具体限定可以参见上文中对于移动边缘计算中的迁移管理方法的限定,在此不再赘述。上述移动边缘计算中的迁移管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设边缘服务器性能以及边缘服务器与任务所属终端与所述源边缘服务器之间通信性能等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种移动边缘计算中的迁移管理方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取任务的数据信息,将任务卸载至当前覆盖任务的源边缘服务器;

将待处理的任务根据当前时间片下对应的目的边缘服务器划分为不同小组,待处理的任务是指未完成且对应的源边缘服务器与目的边缘服务器不同的任务;

针对各小组内任务,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值;

根据迁移阈值,依次确定小组内各任务的迁移策略;

根据得到的迁移策略进行移动边缘计算中的迁移管理。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取任务的数据信息,数据信息包括任务的输入数据量;将所述任务卸载至当前覆盖所述任务的源边缘服务器;获取任务所属终端与源边缘服务器之间的第一数据传输速率,并根据输入数据量以及第一数据传输速率,计算任务输入数据的传输时间。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

计算当前时间片中,若任务选择不迁移,当前时间片之后的时间片一直在源边缘服务器上处理的第一总预计完成时间;计算当前时间片中,若任务选择从源边缘服务器迁移到目的边缘服务器上执行,当前时间片之后的时间片一直在目的边缘服务器上处理的第二总预计完成时间;根据第一总预计完成时间和第二总预计完成时间,计算当任务选择从源边缘服务器迁移至目的边缘服务器执行时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取当前时间片t过去的时间片之和τ(t-1),得到第一时长,其中,τ为时间片长度;获取任务在当前时间片剩余的总的cpu请求的周期数以及源边缘服务器可提供的最大的cpu频率,计算从当前时间片开始任务在源边缘服务器上执行的处理时间,得到第二时长;获取边缘服务器之间的通信带宽,根据任务的输出数据量以及通信带宽,计算任务的输出数据从源边缘服务器传输至目的边缘服务器的传输时间,得到第三时长;获取目的边缘服务器与任务所属终端之间的第二数据传输速率,根据第二数据传输速率以及任务的输出数据量,计算任务的输出数据从目的边缘服务器传输至任务所属终端的传输时间,得到第四时长;获取第一时长、第二时长、第三时长以及第四时长之间的和,得到第一总预计完成时间。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取边缘服务器之间的通信带宽,根据任务的输入数据量以及通信带宽,计算输入数据从源边缘服务器到目的边缘服务器的迁移时间,得到第五时长;获取任务在当前时间片剩余的总的cpu请求的周期数以及目的边缘服务器可提供的最大的cpu频率,计算当前时间片开始任务迁移到目的边缘服务器上执行的处理时间,得到第六时长;获取第一时长、第五时长、第六时长以及第四时长之间的和,得到第二总预计完成时间。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

计算当第一总预计完成时间与第二总预计完成时间相同时,任务可以接受的目的边缘服务器上当前处理的任务数量的最大值,得到迁移阈值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

判断小组内各任务的源边缘服务器是否均不相同;若是,则根据任务的迁移阈值,依次确定小组内各任务的迁移策略;若否,则继续将小组内任务根据对应的源边缘服务器划分为不同次小组,根据任务的迁移阈值,依次确定次小组内任务的迁移策略,更新次小组内其余任务的迁移阈值,迭代更新得到次小组内各任务的迁移策略。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据任务的迁移阈值,对次小组内任务排序;确定次小组内迁移阈值最大的任务在当前时间片的迁移策略;将已确定迁移策略的任务的迁移阈值置零,同时更新次小组内其他尚未确定迁移策略的任务的迁移阈值;更新次小组内根据迁移阈值的排序队列,返回确定次小组内迁移阈值最大的任务在当前时间片的迁移策略的步骤,直至次小组内任务均已确定迁移策略。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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