CN113760541B - 边缘资源分配的方法及装置 - Google Patents

边缘资源分配的方法及装置 Download PDF

Info

Publication number
CN113760541B
CN113760541B CN202110866717.4A CN202110866717A CN113760541B CN 113760541 B CN113760541 B CN 113760541B CN 202110866717 A CN202110866717 A CN 202110866717A CN 113760541 B CN113760541 B CN 113760541B
Authority
CN
China
Prior art keywords
edge server
container
task
computing task
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110866717.4A
Other languages
English (en)
Other versions
CN113760541A (zh
Inventor
吴晨光
孟慧平
蔡沛霖
梅林�
李永杰
蔺鹏
朱凯
郭少勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Vectinfo Technologies Co ltd
State Grid Henan Electric Power Co Information And Communication Branch
State Grid Corp of China SGCC
Beijing University of Posts and Telecommunications
Original Assignee
Beijing Vectinfo Technologies Co ltd
State Grid Corp of China SGCC
Beijing University of Posts and Telecommunications
Information and Telecommunication Branch of State Grid Henan Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Vectinfo Technologies Co ltd, State Grid Corp of China SGCC, Beijing University of Posts and Telecommunications, Information and Telecommunication Branch of State Grid Henan Electric Power Co Ltd filed Critical Beijing Vectinfo Technologies Co ltd
Priority to CN202110866717.4A priority Critical patent/CN113760541B/zh
Publication of CN113760541A publication Critical patent/CN113760541A/zh
Application granted granted Critical
Publication of CN113760541B publication Critical patent/CN113760541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0925Management thereof using policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0958Management thereof based on metrics or performance parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种边缘资源分配的方法及装置。其方法包括:获取边缘服务器网络模型中边缘服务器当前计算任务的状态;若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。本发明通过边缘服务器网络模型,实现对边缘服务器中容器运行状态的监控,优化边缘服务器网络的计算资源分配策略,提高边缘服务器资源的利用率。

Description

边缘资源分配的方法及装置
技术领域
本发明涉及移动边缘计算应用技术领域,具体涉及一种边缘资源分配的方法及装置。
背景技术
移动通信网络不断发展,从2G到如今的4G乃至5G,网络速度不断提升,满足用户对高性能、高反应速度网络服务的要求。随着这种发展的演进,虚拟现实、增强现实、人脸识别等一系列具有计算密集、时延敏感特性的应用大量涌现,提高人们的生活质量。然而终端设备在计算能力与电池能耗上存在一定的局限性,使得其难以在本地有效地完成这些服务。然而,云计算虽然能快速解决计算任务,但其中较长的传输链路会导致较长的传输时延以及较大的能量消耗,依然无法满足服务的需求。因此引入边缘计算技术,通过在靠近设备的一端部署一定数量的边缘服务器,将云端的计算、存储能力下降到边缘侧,从而缩短传输链路的长度。
现如今,虚拟运营商通过网络功能虚拟化(Network Functions Virtualization,NFV)和软件定义网络(Software Defined Network,SDN)技术,为物联网用户提供动态的、易扩展的边缘虚拟化计算资源,它通过将各种计算、存储等资源进行虚拟化,提高网络资源的利用率,使得用户能够根据自己的需求使用可动态伸缩的资源。边缘网络中设备种类、数量繁杂,虚拟化后的计算资源具有很强的动态适应性,所以需要对其进行合理的分配与调度。边缘服务器在长时间的工作运行下有可能会出现故障,为保证网络能够平稳地进行,需要对故障的边缘服务器内的计算任务进行迁移,也就是说对该计算任务再次进行资源分配。此外,虚拟运营商通过租用多个边缘服务器为用户提供服务,而不同边缘服务器之间的状态、系统存在差异,所以在其收益分配上存在一定的问题。
发明内容
针对现有技术存在的问题,本发明提供一种边缘资源分配的方法及装置。
第一方面,本发明提供一种边缘资源分配的方法,其特征在于,包括:
获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
根据本发明提供一种边缘资源分配的方法,所述若所述计算任务的状态是有任务到达,则基于空闲容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配,包括:
确定当前所述计算任务的状态是有任务到达后,获取所述边缘服务器中的容器的空闲状态以及所述边缘服务器的剩余容量;
若存在处于空闲状态的容器,且所述容器对应的服务类型相同且容量合适,则将所述容器分配给所述计算任务;
或,
若存在处于空闲状态的容器,但所述容器对应的服务类型不同或者容量不合适,且所述边缘服务器内剩余容量不足,则销毁部分处于空闲状态的容器后新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量大于等于所述计算任务的大小,则新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量小于所述计算任务的大小,则将所述计算任务放入等待队列的队首;
其中,所述计算任务在所述边缘服务器中存在两种状态:在容器内处理,在等待队列中等待处理。
根据本发明提供一种边缘资源分配的方法,还包括:
接收所述边缘服务器网络模型中所述SDN控制器定时发送的任务执行情况请求;
在预设时间段内,根据所述边缘服务器反馈的计算任务执行情况,确定边缘服务器的故障情况;
若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标;
以网络时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配。
根据本发明提供一种边缘资源分配的方法,所述若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标,包括:
发送任务迁移请求给边缘服务器网络模型中所述SDN控制器;
基于边缘服务器网络模型中每个边缘服务器的状态,确定每个所述边缘服务器的优先度值;
选取优先度最高的边缘服务器作为迁移目标;
其中,每个边缘服务器的状态包括:待选边缘服务器的剩余计算容量,待选边缘服务器是否存在故障,待选边缘服务器容器内以及等待队列中所有计算任务的计算需求量的和,以及故障边缘服务器与待选边缘服务器之间的距离。
根据本发明提供一种边缘资源分配的方法,所述基于网络时延和服务消耗最小化的目标,根据迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配,包括:
以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数;
在当前时隙t中,确定所述迁移目标的容器内当前计算任务的状态;
基于所述当前计算任务的状态,确定被迁移的所述计算任务的动作,且所述动作使得奖励函数值最小;
其中,被迁移的所述计算任务的动作包括:新建容器,维持容器和销毁容器。
根据本发明提供一种边缘资源分配的方法,所述以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数,包括:
所述以网络时延和服务消耗最小化为目标的目标函数为:
Figure BDA0003187696680000041
其中,I表示在迁移目标上计算任务的集合,ti,com、ti,lin和ti,req分别表示计算任务i在边缘服务器的计算时延,排队时延和预计处理时间,ei,com、ei,tran和ei,con分别表示计算任务i的计算消耗,传输消耗和配置消耗,β和γ为时延与消耗的权重;
所述迁移目标的奖励函数为:
rt=β(ncom,t+nlin,t)tslot+γ(ecom,t+etran,t+econ,t)
其中ncom,t和nlin,t分别表示在时隙t时,迁移目标的容器内和等待队列内的计算任务数量,tslot表示时隙的长度,ecom,t、etran,t和econ,t分别表示在时隙t内,被迁移的计算任务的计算消耗,传输消耗和配置消耗,β和γ为计算任务数量与消耗的权重。
根据本发明提供一种边缘资源分配的方法,还包括:
基于边缘服务器网络模型中区块链,保存所述边缘服务器在接收到所述计算任务或者完成所述计算任务的相关记录;
基于接收到所述计算任务记录中的任务到达时间和完成所述计算任务记录中的任务完成时间,确定每个所述计算任务的实际处理时间;
根据所述计算任务的计算需求量,以及所述计算任务预计处理时间和实际处理时间,确定边缘服务器的效益值。
第二方面,本发明提供一种边缘资源分配的装置,包括:
获取模块,用于获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
确定模块,用于若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
销毁模块,用于若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
第三方面,本发明提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述边缘资源分配的方法的步骤。
第四方面,本发明提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行第一方面所述边缘资源分配的方法的步骤。
本发明提供的边缘资源分配的方法及装置,通过边缘服务器网络模型,实现对边缘服务器中容器运行状态的监控,优化边缘服务器网络的计算资源分配策略,提高边缘服务器资源的利用率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的边缘资源分配的方法的流程示意图;
图2是本发明提供的边缘服务器网络模型场景图;
图3是本发明提供的边缘资源分配的装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图4描述本发明的边缘资源分配的方法及装置。
图1是本发明提供的边缘资源分配的方法的流程示意图,如图1所示,该边缘资源分配的方法,包括:
步骤101、获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
步骤102、若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
步骤103、若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
具体的,边缘计算网络的结构通常被划分为边缘设备层、边缘层以及远端云数据层,边缘设备层中的终端设备产生计算任务,对于终端设备无法处理的计算任务,将其卸载至边缘服务器中进行处理或存储,等待边缘服务器处理完成后将计算任务进行返回。在计算任务卸载至边缘服务器后边缘服务器根据该计算任务的类型与需求为其分配合适大小的计算资源,为了能够使边缘服务器中的计算任务进程并发运行,引入Docker容器技术实现计算资源的虚拟化。
边缘服务器网络模型场景图,如图2所示,包括一个SDN控制器,多个边缘服务器和区块链,其中SDN控制器可能是一个集群,每个边缘服务器包含多个容器,每个容器中处理一个计算任务。边缘服务器中会将计算任务按照其到达顺序存放至缓存序列中,然后根据先入先出的方式依次取出进而分配相应量的虚拟资源。在本发明中,计算资源的单位是每秒的CPU计算轮数(CPU cycles/s),表示在计算任务并发中的每个计算任务在CPU的占用时间。每个计算任务分配的虚拟计算资源量由深度强化学习算法得出,依据这个资源量,选择对容器进行新建、维持和销毁的操作。在边缘服务器网络的运行中,会出现边缘服务器整体故障或边缘服务器内容器故障的问题,所以需要对相应的计算任务进行迁移,包括边缘服务器内的迁移以及边缘服务器间的迁移,从而维护网络的稳定安全运行。
1)计算任务到达模型
本发明提供的边缘服务器网络模型,在运行中计算任务逐个到达边缘服务器且被逐个取出进行处理,是一种特殊的离散状态的连续时间马尔科夫过程,这个过程可以被看成类似于一个生灭过程,即计算任务的到达时间服从参数为λ的负指数分布,且同一时刻只有一个计算任务到达;由于计算任务的结束与离开主要依赖于算法,所以当前无法确定计算任务完成的分布情况。
因此,根据实际情况设定在单位时间内平均计算任务到达量为λ(即单位时间内一个边缘服务器上平均计算任务个数),得到计算任务到达时间的累计分布函数:
Figure BDA0003187696680000081
即下一个计算任务在t时间内到达的概率为F(t),所以可以将计算任务的到达看作是泊松过程。本发明为了更容易实现边缘服务器网络运行的模拟,采用时隙的方法,在每个时隙内检查是否有计算任务到达边缘服务器,从而将不断变化的网络暂态表示出来。根据生灭过程的定义,当时隙设定的足够小时,即可认为一个时隙就是单位时间,在这个时隙内最多只有一个计算任务到达。泊松过程的计算任务到达概率公式为:
Figure BDA0003187696680000082
其中,k表示实际到达的计算任务个数,λ表示单位时间内一个边缘服务器上平均计算任务的个数,t表示时隙。
上式表示在时隙t内到达k个计算任务的概率,当时隙τ的时长足够小,可作为单位时间后,k只存在{0,1}两个值,所以对应的计算任务到达概率可表示为:
Figure BDA0003187696680000091
Figure BDA0003187696680000092
由此可以判断每个时隙内是否有计算任务到达,其中P(0,τ)代表在时隙τ内没有计算任务到达的概率,P(1,τ)代表在时隙τ内有1个计算任务到达的概率。
2)基于Docker容器技术的虚拟计算资源模型
边缘服务器内是一个计算机系统,为了提高网络的运行效率,需要边缘服务器可以并发地处理多个计算任务。众多的终端设备会产生许多种类的计算任务,进而对边缘服务器的服务种类的要求会很高。然而一个边缘服务器所能承载的服务种类是有限的,需要选择一种服务迁移的框架,使得边缘服务器能灵活、安全地处理各种服务,并能够对计算任务的并发有良好的处理。
当前,计算任务执行的框架主要是以计算任务划分粒度来分类的,其中一类框架是基于远程调用的方法使用代码托管的技术来实现,框架中具备代码的执行环境,从而允许代码在远程框架中运行,屏蔽了硬件的差异性;另一类框架通过虚拟机来提供计算任务的执行服务,虚拟机可以有和终端设备相同的操作系统和执行环境,这类框架通过创建虚拟机为每一个应用提供独立的运行环境,从而实现不同计算任务执行的数据隔离与资源隔离。
前者在多用户的情况下多个用户的数据和计算任务在同一个环境下运行,在数据隔离与资源隔离上可能存在问题,难以满足计算任务在安全性上的需求。而后者的框架下,边缘服务器在创建虚拟机的时候相当于在原操作系统上虚拟化了一个新的操作系统,同时还需要虚拟出对应的硬件,会消耗较多的资源,与边缘服务器资源分配的目的相违背。这些缺陷使得这两种服务迁移框架无法同时满足计算性能、运行时延以及安全性的要求,而为了解决这些问题,可以采用容器来代替虚拟机。
容器与虚拟机具有相同的隔离能力,但与虚拟机相比,容器所占的空间较小、维持所消耗的资源更少且启动速度更快,基本可以满足即建即用的要求。使用容器实现细粒度划分的服务迁移,为划分后的计算任务创建专用的执行容器,通过在创建容器的过程中将相应的CPU占用时间,从而实现边缘服务器内计算资源的虚拟化。
本发明选择开源的容器管理引擎Docker作为计算任务运行的环境,并对其设计边缘服务器内的虚拟资源容器运行模型,即每个边缘服务器中包括多个容器,每个容器处理一个计算任务。
通过获取边缘服务器网络模型中每个边缘服务器当前运行容器的状态,确定该容器中计算任务的状态。
判断边缘服务器当前运行容器是有任务到达还是有任务完成:
如果是有任务到达,根据边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;这里的有任务到达,可能存在两种情况,该边缘服务器的其他容器故障或者其他边缘服务器故障,从故障处迁移过来的计算任务,或者新分配给该边缘服务器的新的计算任务。
如果是有任务完成,该边缘服务器会监测该计算任务对应的容器的状态,如果确定所述容器在预设时间内不被使用时,销毁所述容器;
此处的预设时间可以是n个时隙,其中n取值范围可以根据实际应用场景设定。
检测容器在预设时间内不被使用,即确定在预设时间内该容器是否一直处于空闲状态,如果是,则销毁所述容器。
本发明提供的边缘资源分配的方法,通过边缘服务器网络模型,实现对边缘服务器中容器运行状态的监控,优化边缘服务器网络的计算资源分配策略,提高边缘服务器资源的利用率。
可选的,所述若所述计算任务的状态是有任务到达,则基于空闲容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配,包括:
确定当前所述计算任务的状态是有任务到达后,获取所述边缘服务器中的容器的空闲状态以及所述边缘服务器的剩余容量;
若存在处于空闲状态的容器,且所述容器对应的服务类型相同且容量合适,则将所述容器分配给所述计算任务;
或,
若存在处于空闲状态的容器,但所述容器对应的服务类型不同或者容量不合适,且所述边缘服务器内剩余容量不足,则销毁部分处于空闲状态的容器后新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量大于等于所述计算任务的大小,则新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量小于所述计算任务的大小,则将所述计算任务放入等待队列的队首;
其中,所述计算任务在所述边缘服务器中存在两种状态:在容器内处理,在等待队列中等待处理。
具体的,在确定当前容器中计算任务的状态的有任务到达后,进一步确定所述边缘服务器中所有容器的空闲状态,以及该边缘服务器的剩余容量。
1、确定该边缘服务器中存在处于空闲状态的容器后,再判断该容器的服务类型和当前计算任务的服务类型是否一致,该容器的容量是否大于等于当前计算任务的大小。
1.1、如果容器的服务类型和当前计算任务的服务类型一致,且该容器的容量大于等于当前计算任务的大小,则将所述容器资源分配给当前计算任务;
1.2、如果容器的服务类型和当前计算任务的服务类型不一致,或者该容器的容量小于当前计算任务的大小,则销毁该边缘服务器中部分处于空闲状态的容器后,新建与当前计算任务服务类型相同,容量大小大于等于当前计算任务大小的容器,并将该容器分配给当前计算任务;
2、确定该边缘服务器中不存在处于空闲状态的容器后,进一步确定该边缘服务器的剩余容量,判断其是否大于等于当前计算任务的大小。
2.1、如果该边缘服务器的剩余容量大于等于当前计算任务的大小,新建与当前计算任务服务类型相同,容量大小大于等于当前计算任务大小的容器,并将该容器分配给当前计算任务;
2.2、如果该边缘服务器的剩余容量小于当前计算任务的大小,则将当前计算任务放入该边缘服务器的等待队列的队首。
本发明提供的边缘资源分配的方法,通过边缘服务器网络模型,采用在边缘服务器中新建容器,销毁容器或维护容器,动态分配资源给计算任务,消耗的资源更少,启动速度更快,实时性更好,优化边缘服务器网络的计算资源分配策略,提高边缘服务器资源的利用率。
可选的,所述方法还包括:
接收所述边缘服务器网络模型中所述SDN控制器定时发送的任务执行情况请求;
在预设时间段内,根据所述边缘服务器反馈的计算任务执行情况,确定边缘服务器的故障情况;
若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标;
以网络时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配。
具体的,在边缘服务器网络的运行中,可能会存在边缘服务器故障或边缘服务器内容器运行故障的情况,这时为了保证网络能够正常平稳的运行,需要将服务器内的计算任务进行迁移,而迁移后需要对计算任务进行再次的资源分配。
边缘服务器网络模型中的SDN控制器每隔一定时间向边缘服务器发送任务执行情况请求,边缘服务器将其内部各容器中的运行情况反馈给SDN控制器,若SDN控制器长时间未收到边缘服务器的反馈或反馈中表示某一容器内运行情况长时间未变动,则表示边缘服务器出现故障或者边缘服务器内的容器出现故障。
出现故障会存在以下两种情况:
1)若是边缘服务器出现问题,则SDN控制器为其中的计算任务选择其他的边缘服务器作为迁移目标;
2)若是边缘服务器中某一容器出现问题,则SDN控制器通知该边缘服务器收集已完成计算的部分,判断其依然在该边缘服务器内执行或迁移至其他边缘服务器执行。
然后,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标;
完成计算任务的迁移后,该计算任务可以看作与其他到达计算任务相同,进入等待对应的队首,等待资源的再次分配。
以网络时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配。
本发明提供的边缘资源分配的方法,通过边缘服务器网络模型,采用SDN控制器监测所有边缘服务器中计算任务的执行情况,在边缘服务器出现故障的情况下,根据边缘服务器的优先度值,确定计算任务的迁移目标,保证了边缘服务器网络能够正常平稳的运行。
可选的,所述若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标,包括:
发送任务迁移请求给边缘服务器网络模型中所述SDN控制器;
基于边缘服务器网络模型中每个边缘服务器的状态,确定每个所述边缘服务器的优先度值;
选取优先度最高的边缘服务器作为迁移目标;
其中,每个边缘服务器的状态包括:待选边缘服务器的剩余计算容量,待选边缘服务器是否存在故障,待选边缘服务器容器内以及等待队列中所有计算任务的计算需求量的和,以及故障边缘服务器与待选边缘服务器之间的距离。
具体的,当有边缘服务器出现故障,将会向边缘服务器网络模型中SDN控制器发送任务迁移请求,并将涉及到的计算任务相关信息打包发送。当SDN控制器接收到该请求时,会按照信息包内的计算任务顺序进行计算任务迁移目标的选择。对于目标的选择,SDN控制器会根据所有边缘服务器的数据信息产生相对优先度值,然后选取相对优先度最高的边缘服务器。优先度计算公式如下所示:
Figure BDA0003187696680000141
其中i为故障边缘服务器,j为待选边缘服务器(包括故障边缘服务器),Clj为待选服务器j的剩余计算容量,erj表示待选服务器j是否存在故障,Fj为待选边缘服务器的容器内以及等待队列中所有计算任务计算需求量的和,di,j为边缘服务器i和j之间的距离:
Figure BDA0003187696680000151
最终得到最合适的边缘服务器j:
Figure BDA0003187696680000152
并将该任务迁移指令传递到边缘服务器i和j中,故障边缘服务器i接到指令后将计算任务数据进行打包处理转发给最合适的边缘服务器,在这个过程之中会产生传递时延与传输能耗。
本发明提供的边缘资源分配的方法,通过构建的边缘服务器网络模型,采用SDN控制器监测所有边缘服务器中计算任务的执行情况,在边缘服务器出现故障的情况下,根据边缘服务器的优先度值,确定计算任务的迁移目标,保证了边缘服务器网络能够正常平稳的运行。
可选的,所述基于网络时延和服务消耗最小化的目标,根据迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配,包括:
以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数;
在当前时隙t中,确定所述迁移目标的容器内当前计算任务的状态;
基于所述当前计算任务的状态,确定被迁移的所述计算任务的动作,且所述动作使得奖励函数值最小;
其中,被迁移的所述计算任务的动作包括:新建容器,维持容器和销毁容器。
具体的,通常在计算机网络中将网络时延定义为由计算时延、传递时延、传输时延和排队时延组成,本发明场景为计算任务已经到达边缘服务器后,主要考虑计算时延与排队时延,对应网络时延的公式表示为:
t=tcom+tlin
(1.1)计算时延可以定义为一项计算任务从开始执行到完成执行所消耗的时间,所以计算时延与边缘服务器的计算能力以及计算任务的计算量相关。其计算公式为:
Figure BDA0003187696680000161
公式中,F为该计算任务的计算量大小,vcom边缘服务器为该计算任务分配的虚拟计算资源,即CPU每秒占用量。
(1.2)排队时延,由于边缘服务器的计算处理能力有限,所以部分计算任务无法在到达边缘服务器的同时就获得计算资源开始被处理,故而会被转存至缓存器中,等待有足够的计算资源分配给它。排队时延通常受到边缘服务器的总计算容量、计算速度、在该计算任务之前到达边缘服务器的任务计算量等因素的影响,通过确定计算任务在等待队列中等待的时长,作为该计算任务的排队时延tli
(1.3)传递时延,当某个边缘服务器产生故障时,可能需要将故障边缘服务器内的计算任务迁移至其他边缘服务器,在这个过程中所产生的时间为传递时延,传递时延主要与两个边缘服务器之间的地理距离以及传输速度相关,其计算公式为:
Figure BDA0003187696680000162
其中d表示两个边缘服务器之间的地理距离,vpro表示两个边缘服务器的传输速度,且任意两个边缘服务器的传输速度相同。
(1.4)传输时延,是计算任务从边缘服务器发布到边缘服务器网络中的时间。
服务消耗是在资源分配优化算法中的另一性能指标,代表了边缘服务器系统在整个处理过程中所产生对能源的消耗,在常见的网络场景中将服务消耗定义为计算消耗、传输消耗以及配置消耗的总和。
eit=eop it+etran it+econ it
其中,t表示时隙或者单位时间,i表示任意一个边缘服务器,eop it表示计算消耗,etran it表示传输消耗,econ it表示配置消耗。
(2.1)计算消耗与网络时延中计算时延相对应,指边缘服务器对于分配给每项计算任务的计算容量,在完成该计算任务过程中产生的消耗。计算公式如下:
Figure BDA0003187696680000171
其中,xijt表示在t时隙中,若终端设备j向边缘服务器i卸载其计算任务,则xijt为1,反之则为0,fijt表示边缘服务器i分配给该计算任务的计算资源大小,而aij表示该边缘服务器i对终端设备j所产生计算任务的单位资源消耗价值。
(2.2)传输消耗表示在边缘服务器之间传递数据过程中所产生的能源消耗。传输消耗与响应时延中的传递时延相对应,但又不完全对应,在响应时延的计算中,本发明忽略传输时延而只考虑传递时延,而在计算传输消耗时,本发明将网络通信时传输与传递两个步骤所产生的消耗一并计算在内。计算公式如下:
Figure BDA0003187696680000172
与xijt相似,yijt表示边缘服务器i将计算任务迁移至其他边缘服务器j。公式的前一项为传输过程所产生的消耗,Wijt表示边缘服务器i所发送数据的大小,qi分别表示边缘服务器i单位数据量的传输消耗;后一项为传递过程中所产生的消耗,Dij为边缘服务器i和j之间的地理距离,hi为边缘服务器i单位距离的传递消耗。
(2.3)配置消耗是指当边缘服务器在建立容器、维持容器以及销毁容器过程中所产生的消耗,公式为:
econ it=neit×enew+nmit×emai+ndit×edes
其中,neit、nmit、ndit分别表示时隙t内边缘服务器i所建立、维持以及销毁的容器数量,enew、emai、edes表示这三个过程所消耗的能量。
根据深度强化学习的原理,网络状态为不断变化的暂态,所以边缘服务器网络的状态变化过程可以用马尔可夫决策过程模型来描述,在无限连续的马尔科夫决策过程模型中,状态在每个时隙间进行转移,在t时刻从状态st转移至t+1时刻的状态st+1概率为:
Figure BDA0003187696680000181
其中,Pr(st+1|at,st)为在st状态下通过at动作转移至st+1的概率,pθ(at|st)表示在网络参数为θ的情况下根据状态st选择动作at的概率。
本发明将时隙t中的环境状态向量定义为:
St=(Wt,Qt,Ct,Nt,Tt,Bt)
在上式中,Wt表示新加入等待队列中的计算任务的计算需求量,Qt为该计算任务对时延的要求,Ct表示边缘服务器当前的剩余计算容量,Nt为边缘服务器内的容器数量,Tt为边缘服务器内当前计算任务的预计剩余完成时间,Bt表示边缘服务器内部是否有故障。
边缘服务器在检测到有任务完成或者到达时,通过深度强化学习算法得到动作At,At是指边缘服务器针对该计算任务进行的容器创建、容器维持、容器销毁等行为,而由于深度强化学习算法的特点,输出的动作为一个连续空间内的数字,通过在边缘服务器网络模型中运用的Docker容器技术所描述的方法转换为具体操作行为。
深度强化学习通过将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输入的知识数据进行网络的训练,从而使得机器的解决方法更贴近人的思维方式。常见的深度强化学习包括深度Q网络(Deep Q Network,DQN)、AC(Actor-Critic)法以及由该方法衍生的A3C(Asynchronous Advantage Actor Critic)方法。此外,在2014年DavidSilver提出DPG(Deterministic Policy Gradient)算法,而后结合深度学习网络形成DDPG算法。本发明选择A3C算法来解决边缘服务器内的资源分配问题。
本发明在众多的深度强化学习算法中选择A3C算法进行改进,从而解决边缘网络资源分配的问题。A3C算法基于Actor-Critic模型,通过智能体来学习最优策略,但不同的是A3C算法建立多个智能体与环境交互,对每个智能体提供环境副本,以便每个智能体都能与各自的环境副本进行交互。这些多个智能体称为工人智能体,且有一个成为全局网络的独立智能体,所有智能体均向其汇报,这种全局网络将所有经验整合在一起。如果只是用单个智能体来与环境交互,将有可能会使得样本高度相关,通过上述的方法可以实现异步学习,从而打破这种相关性。
基于在一个时隙内最多有一个计算任务到达或完成,来确定网络时延和服务消耗,并引入对应的权重系数来平衡网络时延和服务消耗的关系。进而确定所有计算任务的网络时延和服务消耗的最小化为目标的目标函数为:
Figure BDA0003187696680000191
其中,I表示在迁移目标上计算任务的集合,ti,com、ti,lin和ti,req分别表示计算任务i在边缘服务器的计算时延,排队时延和预计处理时间,ei,com、ei,tran和ei,con分别表示计算任务i的计算消耗,传输消耗和配置消耗,β和γ为时延与消耗的权重;
目标函数表明本发明的目标为最小化实际时延与预计时延的差以及服务消耗。
对应的,采用A3C算法,将所述迁移目标的奖励函数设定为:
rt=β(ncom,t+nlin,t)tslot+γ(ecom,t+etran,t+econ,t)
其中ncom,t和nlin,t分别表示在时隙t时,迁移目标的容器内和等待队列内的计算任务数量,tslot表示时隙的长度,ecom,t、etran,t和econ,t分别表示在时隙t内,被迁移的计算任务的计算消耗,传输消耗和配置消耗,β和γ为计算任务数量与消耗的权重。
在A3C的算法架构中,A3C的目标函数为:
Figure BDA0003187696680000201
Figure BDA0003187696680000202
其中,I表示计算任务的集合,xi表示第i个计算任务是否在边缘服务器上执行,ci表示边缘服务器给第i个计算任务分配的计算容量。
限制条件表示边缘服务器在当前时隙所分配的计算容量之和不能超过边缘服务器的总计算容量。本发明引入A3C算法来建立目标函数,其中Aθ(st,at)表示优势函数,为动作价值函数Qθ(st,at)与期望价值函数Vθ(st)的差值:
Aθ(st,at)=Qθ(st,at)-Vθ(st)
其中,Vθ(st)可以通过Bellmans优化方程推导得出:
Figure BDA0003187696680000203
同样的,Qθ(st,at)也可以由此得出:
Figure BDA0003187696680000204
其中γ为折扣因子,R(st,at)为状态为st的情况下选择动作at后所产生的奖励值。
A3C算法所给出的动作是一个连续空间中的值,这个值所表示的是建议边缘服务器给该计算任务分配的计算容量cproposal,即对该计算任务是新建容器,销毁容器还是维护容器。此时边缘服务器首先遍历自身是否有同服务类型的空闲Docker容器,若该容器的计算容量ck与cproposal之间的关系满足:
Figure BDA0003187696680000211
则可以使用该Docker容器处理此计算任务;若无符合该条件的空闲容器,则利用边缘服务器的剩余容量新建一个Docker容器进行处理,当边缘服务器的剩余容量不足时,则销毁已有的空闲容器,致使cproposal与ck之间的比值达到[1-b,1+b]之间;若以上条件都无法满足,则将该计算任务返回等待队列的队首,等待有足够的剩余容量。
其中,b的值可以根据经验设定,并动态调整。
可选的,所述方法还包括:
基于边缘服务器网络模型中区块链,保存所述边缘服务器在接收到所述计算任务或者完成所述计算任务的相关记录;
基于接收到所述计算任务记录中的任务到达时间和完成所述计算任务记录中的任务完成时间,确定每个所述计算任务的实际处理时间;
根据所述计算任务的计算需求量,以及所述计算任务预计处理时间和实际处理时间,确定边缘服务器的效益值。
具体的,在边缘网络中,众多的边缘服务器之间存在异构的问题,无法简单地对效益进行分配,所以需要建立相应的评价模型。为了对效益进行公平地分配,为每个边缘服务器根据相关因素计算其效益值,根据所有边缘服务器的效益值比例进行效益的分配。用于计算边缘服务器效益值的相关因素包括:计算任务的计算量、各计算任务实际处理时间、各计算任务的预计处理时间等,边缘服务器i的效益值的计算公式为:
Figure BDA0003187696680000221
Figure BDA0003187696680000222
其中,Fj为计算任务j的计算需求量,Rj表示计算任务j是否在规定时间内计算完成,当预计处理时间tpj大于等于实际处理时间tj时,Rj的值为1,否则Rj的值为这两者的比值,Ji表示在边缘服务器i上的计算任务的集合。
为了能够准确地计算出效益评价值,所以需要对边缘服务器的历史行为进行记录,在最后的效益分配阶段能够进行归纳统计。然而各个边缘服务器归属于不同的商家,仅是暂时租用,所以为了能够保证边缘服务器历史行为记录是不可更改的,本发明引入区块链存储技术。
目前,区块链技术普遍被认为是助力实现安全可信边缘计算的关键技术。区块链技术本质上是一种基于分布式对等网络的分布式账本技术,具有去中心化、不可篡改、匿名性和透明性五个特征,这些特征为构建安全可信的分布式存储环境提供了良好的契机。通过区块链技术,可以存储各个边缘服务器的任务处理信息,利用密码学原理,如非对称加密算法和哈希算法,可以对任务到达时间、完成时间等信息进行保护与保存,并在后续的效益结算中提供数据。
根据效益值的计算方式,需要在区块链中存储的数据包含:边缘服务器序号、计算任务序号、任务到达时间、任务预计完成时间、任务实际完成时间、任务计算量。当一个任务被处理的时间过长,远超预计时间时,边缘服务器可能会在上传数据时对时间信息进行编改。为了部分解决这个问题,需要边缘服务器在接收到任务后立刻上传一条记录,包含边缘服务器序号、计算任务序号、任务到达时间和任务预计时间;相似的,在完成某一条任务时也会上传一条记录,包含边缘服务器序号、计算任务序号、任务完成时间和任务预计时间。在进行效益值结算时对比两条记录中的任务预计时间,则可知道是否在之后有修改,而到达时间与完成时间需要与记录的上传时间对应,所以不会出现被修改的问题。
实际处理时间tj等于同一个计算任务的任务完成时间减去任务到达时间。
预计处理时间tpj为该计算任务对时延的要求。
本发明提供的边缘资源分配的方法,通过边缘服务器网络模型,在边缘服务器的计算资源分配中引入深度强化学习的方法,优化边缘网络的计算资源分配策略从而实现网络时延与能耗的平衡,并根据各边缘服务器的表现进行效益的分配,优化边缘服务器网络的计算资源分配策略,提高边缘服务器资源的利用率。
最终得到基于A3C算法的边缘服务器虚拟计算资源分配策略的整体流程,伪代码如下:
Figure BDA0003187696680000231
Figure BDA0003187696680000241
图3是本发明提供的边缘资源分配的装置的结构示意图,如图3所示,该装置包括:
获取模块301,用于获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
确定模块302,用于若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
销毁模块303,用于若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
可选的,确定模块302还用于确定当前所述计算任务的状态是有任务到达后,获取所述边缘服务器中的容器的空闲状态以及所述边缘服务器的剩余容量;
若存在处于空闲状态的容器,且所述容器对应的服务类型相同且容量合适,则将所述容器分配给所述计算任务;
或,
若存在处于空闲状态的容器,但所述容器对应的服务类型不同或者容量不合适,且所述边缘服务器内剩余容量不足,则销毁部分处于空闲状态的容器后新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量大于等于所述计算任务的大小,则新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量小于所述计算任务的大小,则将所述计算任务放入等待队列的队首;
其中,所述计算任务在所述边缘服务器中存在两种状态:在容器内处理,在等待队列中等待处理。
可选的,所述装置还包括:
接收模块304,用于接收所述边缘服务器网络模型中所述SDN控制器定时发送的任务执行情况请求;
确定模块302,用于在预设时间段内,根据所述边缘服务器反馈的计算任务执行情况,确定边缘服务器的故障情况;
迁移目标模块305,用于若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标;
资源分配模块306,用于以计算时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配。
可选的,迁移目标模块305还用于发送任务迁移请求给边缘服务器网络模型中所述SDN控制器;
基于边缘服务器网络模型中每个边缘服务器的状态,确定每个所述边缘服务器的优先度值;
选取优先度最高的边缘服务器作为迁移目标;
其中,每个边缘服务器的状态包括:待选边缘服务器的剩余计算容量,待选边缘服务器是否存在故障,待选边缘服务器容器内以及等待队列中所有计算任务的计算需求量的和,以及故障边缘服务器与待选边缘服务器之间的距离。
可选的,资源分配模块306还用于以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数;
在当前时隙t中,确定所述迁移目标的容器内当前计算任务的状态;
基于所述当前计算任务的状态,确定被迁移的所述计算任务的动作,且所述动作使得奖励函数值最小;
其中,被迁移的所述计算任务的动作包括:新建容器,维持容器和销毁容器。
可选的,所述以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数,包括:
所述以网络时延和服务消耗最小化为目标的目标函数为:
Figure BDA0003187696680000271
其中,I表示在迁移目标上所有计算任务的集合,ti,com、ti,lin和ti,req分别表示计算任务i在边缘服务器的计算时延,排队时延和预计处理时间,ei,com、ei,tran和ei,con分别表示计算任务i的计算消耗,传输消耗和配置消耗,β和γ为时延与消耗的权重;
所述迁移目标的奖励函数为:
rt=β(ncom,t+nlin,t)tslot+γ(ecom,t+etran,t+econ,t)
其中ncom,t和nlin,t分别表示在时隙t时,迁移目标的容器内和等待队列内的计算任务数量,tslot表示时隙的长度,ecom,t、etran,t和econ,t分别表示在时隙t内,被迁移的计算任务的计算消耗,传输消耗和配置消耗,β和γ为计算任务数量与消耗的权重。
可选的,所述装置还包括:
效益模块307,用于基于边缘服务器网络模型中区块链,保存所述边缘服务器在接收到所述计算任务或者完成所述计算任务的相关记录;
基于接收到所述计算任务记录中的任务到达时间和完成所述计算任务记录中的任务完成时间,确定每个所述计算任务的实际处理时间;
根据所述计算任务的计算需求量,以及所述计算任务预计处理时间和实际处理时间,确定边缘服务器的效益值。
本发明提供的边缘资源分配的装置能够实现上述边缘资源分配的方法实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communication Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。
可选的,处理器410可以是中央处理器(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD),处理器也可以采用多核架构。
处理器410可以调用存储器430中的计算机程序,以执行计算任务迁移的方法的步骤,例如包括:
获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在此需要说明的是,本发明实施例提供的电子设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的边缘资源分配的方法的步骤,例如包括:
获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述各实施例提供的边缘资源分配的方法的步骤,例如包括:
获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种边缘资源分配的方法,其特征在于,包括:
获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:一个SDN控制器和多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务;
接收所述边缘服务器网络模型中所述SDN控制器定时发送的任务执行情况请求;
在预设时间段内,根据所述边缘服务器反馈的计算任务执行情况,确定边缘服务器的故障情况;
若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标;
以计算时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配;
所述若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标,包括:
发送任务迁移请求给边缘服务器网络模型中所述SDN控制器;
基于边缘服务器网络模型中每个边缘服务器的状态,确定每个所述边缘服务器的优先度值;
选取优先度最高的边缘服务器作为迁移目标;
其中,每个边缘服务器的状态包括:待选边缘服务器的剩余计算容量,待选边缘服务器是否存在故障,待选边缘服务器容器内以及等待队列中所有计算任务的计算需求量的和,以及故障边缘服务器与待选边缘服务器之间的距离。
2.根据权利要求1所述的边缘资源分配的方法,其特征在于,所述若所述计算任务的状态是有任务到达,则基于空闲容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配,包括:
确定当前所述计算任务的状态是有任务到达后,获取所述边缘服务器中的容器的空闲状态以及所述边缘服务器的剩余容量;
若存在处于空闲状态的容器,且所述容器对应的服务类型相同且容量合适,则将所述容器分配给所述计算任务;
或,
若存在处于空闲状态的容器,但所述容器对应的服务类型不同或者容量不合适,且所述边缘服务器内剩余容量不足,则销毁部分处于空闲状态的容器后新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量大于等于所述计算任务的大小,则新建满足服务类型相同且容量合适的容器,分配给所述计算任务;
或,
若不存在处于空闲状态的容器,且所述边缘服务器的剩余容量小于所述计算任务的大小,则将所述计算任务放入等待队列的队首;
其中,所述计算任务在所述边缘服务器中存在两种状态:在容器内处理,在等待队列中等待处理。
3.根据权利要求1所述的边缘资源分配的方法,其特征在于,所述以计算时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配,包括:
以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数;
在当前时隙t中,确定所述迁移目标的容器内当前计算任务的状态;
基于所述当前计算任务的状态,确定被迁移的所述计算任务的动作,且所述动作使得奖励函数值最小;
其中,被迁移的所述计算任务的动作包括:新建容器,维持容器和销毁容器。
4.根据权利要求3所述的边缘资源分配的方法,其特征在于,所述以网络时延和服务消耗最小化为目标,基于A3C算法,确定所述迁移目标的奖励函数,包括:
所述以网络时延和服务消耗最小化为目标的目标函数为:
Figure QLYQS_1
其中,I表示在迁移目标上计算任务的集合,
Figure QLYQS_3
Figure QLYQS_6
Figure QLYQS_8
分别表示计算任务i在边缘服务器的计算时延,排队时延和预计处理时间,
Figure QLYQS_2
Figure QLYQS_5
Figure QLYQS_7
分别表示计算任务i的计算消耗,传输消耗和配置消耗,
Figure QLYQS_9
Figure QLYQS_4
为时延与消耗的权重;
所述迁移目标的奖励函数为:
Figure QLYQS_10
其中,
Figure QLYQS_11
Figure QLYQS_14
分别表示在时隙t时,迁移目标的容器内和等待队列内的计算任务数量,
Figure QLYQS_16
表示时隙的长度,
Figure QLYQS_13
Figure QLYQS_15
Figure QLYQS_17
分别表示在时隙t内,被迁移的计算任务的计算消耗,传输消耗和配置消耗,
Figure QLYQS_18
Figure QLYQS_12
为计算任务数量与消耗的权重。
5.根据权利要求1所述的边缘资源分配的方法,其特征在于,所述方法还包括:
基于边缘服务器网络模型中区块链,保存所述边缘服务器在接收到所述计算任务或者完成所述计算任务的相关记录;
基于接收到所述计算任务记录中的任务到达时间和完成所述计算任务记录中的任务完成时间,确定每个所述计算任务的实际处理时间;
根据所述计算任务的计算需求量,以及所述计算任务预计处理时间和实际处理时间,确定边缘服务器的效益值。
6.一种边缘资源分配的装置,其特征在于,所述装置包括:
获取模块,用于获取边缘服务器网络模型中边缘服务器当前计算任务的状态;
确定模块,用于若所述计算任务的状态是有任务到达,则基于所述边缘服务器中容器的状态以及所述边缘服务器的剩余容量,确定所述计算任务的资源分配;
销毁模块,用于若所述计算任务的状态是有任务完成,则监测所述计算任务对应的容器的状态,确定所述容器在预设时间内不被使用时,销毁所述容器;
其中,所述边缘服务器网络模型包括:一个SDN控制器和多个边缘服务器,且每个边缘服务器由多个容器构成,每个容器处理一个所述计算任务;
所述装置还包括:
接收模块,用于接收所述边缘服务器网络模型中所述SDN控制器定时发送的任务执行情况请求;
确定模块,用于在预设时间段内,根据所述边缘服务器反馈的计算任务执行情况,确定边缘服务器的故障情况;
迁移目标模块,用于若所述边缘服务器存在故障,根据边缘服务器网络模型中每个边缘服务器的优先度值,确定所述计算任务的迁移目标;
资源分配模块,用于以计算时延和服务消耗最小化为目标,基于迁移目标的容器内当前计算任务的状态以及迁移目标当前状态,确定所述计算任务的资源分配;
迁移目标模块还用于:
发送任务迁移请求给边缘服务器网络模型中所述SDN控制器;
基于边缘服务器网络模型中每个边缘服务器的状态,确定每个所述边缘服务器的优先度值;
选取优先度最高的边缘服务器作为迁移目标;
其中,每个边缘服务器的状态包括:待选边缘服务器的剩余计算容量,待选边缘服务器是否存在故障,待选边缘服务器容器内以及等待队列中所有计算任务的计算需求量的和,以及故障边缘服务器与待选边缘服务器之间的距离。
7.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述边缘资源分配的方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述边缘资源分配的方法的步骤。
CN202110866717.4A 2021-07-29 2021-07-29 边缘资源分配的方法及装置 Active CN113760541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110866717.4A CN113760541B (zh) 2021-07-29 2021-07-29 边缘资源分配的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110866717.4A CN113760541B (zh) 2021-07-29 2021-07-29 边缘资源分配的方法及装置

Publications (2)

Publication Number Publication Date
CN113760541A CN113760541A (zh) 2021-12-07
CN113760541B true CN113760541B (zh) 2023-06-30

Family

ID=78788151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110866717.4A Active CN113760541B (zh) 2021-07-29 2021-07-29 边缘资源分配的方法及装置

Country Status (1)

Country Link
CN (1) CN113760541B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490446A (zh) * 2021-12-16 2022-05-13 山东师范大学 一种移动增强现实中任务缓存分配方法及系统
CN114866612B (zh) * 2022-03-30 2024-05-31 中国电力科学研究院有限公司 一种电力微服务卸载方法及装置
CN116665423B (zh) * 2023-07-27 2023-10-31 国网山东省电力公司滨州市滨城区供电公司 一种电缆通道施工监测预警系统及方法
CN118509336B (zh) * 2024-07-18 2024-09-13 国网浙江省电力有限公司杭州供电公司 一种考虑电力消耗的通信网络优化方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694636A (zh) * 2020-05-11 2020-09-22 国网江苏省电力有限公司南京供电分公司 一种面向边缘网络负载均衡的电力物联网容器迁移方法
CN111858054A (zh) * 2020-07-22 2020-10-30 北京秒如科技有限公司 一种异构环境下基于边缘计算的资源调度系统及方法
CN111885137A (zh) * 2020-07-15 2020-11-03 国网河南省电力公司信息通信公司 一种基于深度强化学习的边缘容器资源分配方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432537B2 (en) * 2015-10-12 2019-10-01 Fujitsu Limited Service function chaining based on resource availability in the time dimension
US10432552B2 (en) * 2015-10-12 2019-10-01 Fujitsu Limited Just-enough-time provisioning of service function chain resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694636A (zh) * 2020-05-11 2020-09-22 国网江苏省电力有限公司南京供电分公司 一种面向边缘网络负载均衡的电力物联网容器迁移方法
CN111885137A (zh) * 2020-07-15 2020-11-03 国网河南省电力公司信息通信公司 一种基于深度强化学习的边缘容器资源分配方法
CN111858054A (zh) * 2020-07-22 2020-10-30 北京秒如科技有限公司 一种异构环境下基于边缘计算的资源调度系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Resource Allocation and Service Provisioning in Multi-Agent Cloud Robotics: A Comprehensive Survey;Mahbuba Afrin等;《IEEE Communications Surveys & Tutorials》;第842-870页 *
移动边缘网络中计算迁移与内容缓存研究综述;张开元等;《软件学报》;第2491-2516页 *

Also Published As

Publication number Publication date
CN113760541A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN113760541B (zh) 边缘资源分配的方法及装置
US11507430B2 (en) Accelerated resource allocation techniques
CN111835827B (zh) 物联网边缘计算任务卸载方法及系统
Zhang et al. Online adaptive interference-aware VNF deployment and migration for 5G network slice
US11757790B2 (en) Method and server for adjusting allocation of computing resources to plurality of virtualized network functions (VNFs)
Van Do et al. Comparison of scheduling schemes for on-demand IaaS requests
CN108093046A (zh) 一种基于前馈控制的云应用容器资源调度方法
WO2018233425A1 (zh) 网络拥塞的处理方法、装置及系统
He et al. Robust optimization model for primary and backup resource allocation in cloud providers
WO2018076238A1 (zh) 异构系统、计算任务分配方法及装置
Stavrinides et al. Cost‐aware cloud bursting in a fog‐cloud environment with real‐time workflow applications
CN110096332A (zh) 一种面向基站任务的迁移方法和系统
Faragardi et al. A time-predictable fog-integrated cloud framework: One step forward in the deployment of a smart factory
CN115189910A (zh) 一种基于网络数字孪生体的蓄意攻击生存性评估方法
Sindhu Multi-objective PSO based task scheduling-a load balancing approach in cloud
Li et al. Efficient data offloading using Markovian decision on state reward action in edge computing
KR20120106313A (ko) 우선순위 큐 기반의 긴급 데이터 전달을 위한 라우팅 방법 및 이를 적용한 네트워크 시스템
CN111935026A (zh) 一种数据传输方法、装置、处理设备及介质
GowriPrakash et al. Resource utilization prediction with multipath traffic routing for congestion-aware VM migration in cloud computing
CN115277249B (zh) 一种多层异构网络协同的网络安全态势感知方法
Tahmasebi-Pouya et al. A Blind Load‐Balancing Algorithm (BLBA) for Distributing Tasks in Fog Nodes
CN114936089A (zh) 资源调度方法、系统、设备及存储介质
CN114444700A (zh) 一种量子云计算平台作业调度与资源分配方法
CN107707383B (zh) 放通处理方法、装置、第一网元及第二网元
Skulysh et al. Development of the concept for the computational resources management software in the customer service systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 450052 building C, office area, No.87, Songshan South Road, Erqi District, Zhengzhou City, Henan Province

Patentee after: State Grid Henan Electric Power Company Information and Communication Branch

Country or region after: China

Patentee after: BEIJING VECTINFO TECHNOLOGIES CO.,LTD.

Patentee after: STATE GRID CORPORATION OF CHINA

Patentee after: Beijing University of Posts and Telecommunications

Address before: No. 87, Songshan Road, 27 District, Zhengzhou City, Henan Province

Patentee before: INFORMATION AND COMMUNICATION COMPANY OF STATE GRID HENAN ELECTRIC POWER COMPANY

Country or region before: China

Patentee before: BEIJING VECTINFO TECHNOLOGIES CO.,LTD.

Patentee before: STATE GRID CORPORATION OF CHINA

Patentee before: Beijing University of Posts and Telecommunications

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240426

Address after: 450052 building C, office area, No.87, Songshan South Road, Erqi District, Zhengzhou City, Henan Province

Patentee after: State Grid Henan Electric Power Company Information and Communication Branch

Country or region after: China

Patentee after: STATE GRID CORPORATION OF CHINA

Patentee after: Beijing University of Posts and Telecommunications

Address before: 450052 building C, office area, No.87, Songshan South Road, Erqi District, Zhengzhou City, Henan Province

Patentee before: State Grid Henan Electric Power Company Information and Communication Branch

Country or region before: China

Patentee before: BEIJING VECTINFO TECHNOLOGIES CO.,LTD.

Patentee before: STATE GRID CORPORATION OF CHINA

Patentee before: Beijing University of Posts and Telecommunications