CN113326126A - 任务处理方法、任务调度方法、装置及计算机设备 - Google Patents
任务处理方法、任务调度方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN113326126A CN113326126A CN202110589189.2A CN202110589189A CN113326126A CN 113326126 A CN113326126 A CN 113326126A CN 202110589189 A CN202110589189 A CN 202110589189A CN 113326126 A CN113326126 A CN 113326126A
- Authority
- CN
- China
- Prior art keywords
- task
- edge server
- processed
- tasks
- load
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 239000000126 substance Substances 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 241000284466 Antarctothoa delta Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
一种任务处理方法、任务调度方法、装置及计算机设备,任务处理方法包括:接收终端发送的任务卸载请求,所述任务卸载请求包括待处理任务的任务信息;根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量;基于所在边缘服务器的计算资源、所述任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求;接收所述调度中心反馈的任务调度计划;所述任务调度计划为所述调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到;根据所述任务调度计划对所在边缘服务器的待处理任务进行调整。上述方法可以使边缘服务器的待处理任务得到均衡,更合理的为终端提供服务。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务处理方法、任务调度方法、装置及计算机设备。
背景技术
在物联网的概念下,车联网逐渐出现在人们的视野中,通过现代信号技术,实现车辆与车辆、车辆与其它万物的互联,还可以实现对车辆的监控、智能路径规划、车辆自动驾驶等技术。在一些计算量较大的任务中,车辆本地的计算资源可能不足以承受这些任务,而且车辆与云服务器的传输时延普遍较大,因此将任务卸载到云服务器上计算不符合此类任务所需要的低延迟要求。
边缘服务器相较云服务器,边缘服务器与车辆的距离更近,任务卸载的延迟相对较小。但是,当车辆请求的卸载任务逐渐增加后,边缘服务器可能无法提供足够的计算资源。所以,合理的使用边缘服务器的计算资源使车辆与边缘服务器计算量均衡是一个重点、难点。
发明内容
基于此,有必要针对上述技术问题,提供一种能够合理分配计算资源的任务处理方法、任务调度方法、装置、计算机设备及计算机可读存储介质。
一种任务处理方法,所述方法包括:
接收终端发送的任务卸载请求,所述任务卸载请求包括待处理任务的任务信息;
根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量;
基于所在边缘服务器的计算资源、所述任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求;
接收所述调度中心反馈的任务调度计划;所述任务调度计划为所述调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到;
根据所述任务调度计划对所在边缘服务器的待处理任务进行调整。
一种任务调度方法,所述方法包括:
接收边缘服务器发送的任务调配请求;所述任务调配请求携带所述边缘服务器的计算资源、任务总数据量以及任务优先级列表;所述任务优先级列表为所述边缘服务器根据接收到的各待处理任务的任务信息确定;
根据各所述边缘服务器的计算资源、任务总数据量,确定各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值;
若基于各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值,确定未达到预设均衡条件,根据各所述负载值、负载均值以及任务优先级列表,确定任务调度计划;
将所述任务调度计划反馈至所述边缘服务器,使所述边缘服务器基于所述任务调度计划对所述待处理任务进行调整。
一种任务处理装置,所述装置包括:
接收模块,用于接收终端发送的任务卸载请求,所述任务卸载请求包括待处理任务的任务信息;
优先级确定模块,用于根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量;
请求发送模块,用于基于所在边缘服务器的计算资源、所述任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求;
调度计划接收模块,用于接收所述调度中心反馈的任务调度计划;所述任务调度计划为所述调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到;
任务调整模块,用于根据所述任务调度计划对所在边缘服务器的待处理任务进行调整。
一种任务调度装置,所述装置包括:
请求接收模块,用于接收边缘服务器发送的任务调配请求;所述任务调配请求携带所述边缘服务器的计算资源、任务总数据量以及任务优先级列表;所述任务优先级列表为所述边缘服务器根据接收到的各待处理任务的任务信息确定;
负载确定模块,用于根据各所述边缘服务器的计算资源、任务总数据量,确定各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值;
调度计划确定模块,用于若基于各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值,确定未达到预设均衡条件,根据各所述负载值、负载均值以及任务优先级列表,确定任务调度计划;
发送模块,用于将所述任务调度计划反馈至所述边缘服务器,使所述边缘服务器基于所述任务调度计划对所述待处理任务进行调整。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任意一个实施例中所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一个实施例中所述的方法。
上述任务处理方法、任务调度方法、装置及计算机设备,对于终端发送的任务卸载请求,根据其中携带的待处理任务的任务信息,确定各待处理任务的优先级、任务总数据量,并向调度中心发送调配请求,使调度中心根据调配请求对各边缘服务器的负载值进行均衡计算,得到任务调度计划;接收任务调度计划并对所在边缘服务器的待处理任务进行调整。上述方法可以使边缘服务器的待处理任务得到均衡,更合理的为终端提供服务。
附图说明
图1为一个实施例中任务处理方法、任务调度方法的应用环境图;
图2为一个实施例中任务处理方法的流程示意图;
图3为一个实施例中根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量的流程示意图;
图4为另一个实施例中任务处理方法的流程示意图;
图5为另一个实施例中任务处理方法的流程示意图;
图6为一个实施例中任务调度方法的流程示意图;
图7为一个实施例中根据各负载值、负载均值以及任务优先级列表,确定任务调度计划的流程示意图;
图8为一个实施例中任务处理方法、任务调度方法的时序示意图;
图9为一个实施例中初始化阶段的流程示意图;
图10为一个具体实施例中卸载任务预处理阶段的流程示意图;
图11为一个实施例中实现最优资源分配策略的流程示意图;
图12为一个实施例中任务处理装置的结构框图;
图13为一个实施例中任务调度装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的任务处理方法、任务调度方法,可以应用于如图1所示的应用环境中。其中,终端101通过网络与边缘服务器102通过网络进行通信,而边缘服务器102通过网络与调度中心进行通信。边缘服务器104对于终端101发送的任务卸载请求,根据其中携带的待处理任务的任务信息,确定各待处理任务的优先级、任务总数据量,并向调度中心104发送调配请求,使调度中心104根据调配请求对各边缘服务器的负载值进行均衡计算,得到任务调度计划;接收任务调度计划并对所在边缘服务器102的待处理任务进行调整。其中,调度中心104根据接收到各边缘服务器发送的任务调度请求,根据各任务调度请求中携带的任务总数据量任务确定各边缘服务器的负载值,以及所有边缘服务器的负载均值,根据负载值、负载均值未达到预设均衡条件,则根据负载值、负载均值以及各边缘服务器的优先级列表确定任务调度计划,最后将任务调度计划发送至边缘服务器。其中,终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,边缘服务器102、调度中心104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
以下对本申请的实施例中涉及到的公式参数进行定义:
在一个实施例中,如图2所示,提供了一种任务处理方法,以该方法应用于图1中的边缘服务器为例进行说明,包括步骤S210至步骤S250。
步骤S210,接收终端发送的任务卸载请求。
其中,任务卸载请求表示终端用于请求将待处理任务卸载在边缘服务器进行处理的请求。其中,任务卸载请求包括待处理任务的任务信息;任务信息表示任务相关的信息。在一个实施例中,任务信息包括任务数据量、任务处理所需要的CPU周期数、任务最大延迟以及任务本地处理时延中的至少一项。其中,任务数据量表示待处理任务的任务数据大小。任务处理所需要的CPU(central processing unit,中央处理器)周期数表示处理该待处理任务所需的CPU周期数。任务最大延迟表示待处理任务允许的最大延迟,即处理该待处理任务不可以超出任务最大延迟。任务本地处理时延表示待处理任务在终端本地处理所需要的时延。在其它实施例中,任务信息还可以包括其它信息。
在一个具体实施例中,待处理任务可以是但不限于是终端使用车载的导航系统的任务,智能汽车的自动驾驶模式使用过程中车辆收集大量数据,进而控制车辆速度,驾驶方向等任务。
在一个实施例中,终端为车载终端,接收终端发送的任务卸载请求包括:接收终端通过RSU、基站转发的任务卸载请求。其中,RSU(Road Side Unit,路侧单元),是ETC(Electronic Toll Collection,电子不停车收费)系统中,安装在路侧,采用DSRC(Dedicated Short Range Communication)技术,与车载单元(OBU,On Board Unit)进行通讯,实现车辆身份识别,电子扣分的装置。基站是公用移动通信基站,是移动设备接入互联网的接口设备。在本实施例中,终端可通过RSU或者基站向边缘服务器发送任务卸载请求。
在一个实施例中,任务卸载请求为终端在计算本地处理时延,且本地处理时延大于预设时延阈值之后发出。在本实施例中,终端接收用户发起的任务请求,根据任务请求中携带的任务数据量计算在本地完成待处理任务所需的时延,即本地处理时延,若本地处理时延大于预设时延阈值,则终端将待处理任务发送至边缘服务器进行处理,即向边缘服务器发送任务卸载请求。其中,预设时延阈值可以根据实际情况进行设置。在一个具体实施例中,终端计算本地处理时延,包括:将待处理任务的任务数据量与终端计算资源的比值确定为本地处理时延。其中,计算资源一般指计算机程序运行时所需的CPU资源、内存资源、硬盘资源和网络资源。
在一个具体实施例中,车辆驾驶过程中使用车载的导航系统,待处理任务可以是导航任务;又或者说智能汽车中的自动驾驶模式,在自动驾驶中车辆需要收集许多数据,进而控制车辆速度,驾驶方向,待处理任务可以是车辆的速度控制或者方向控制等。在其它实施例中,待处理任务也可以是其它任务。
步骤S220,根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量。
边缘服务器可能会接收到多个终端发送的多个待处理任务,因此需要对接收到的所有待处理任务进行优先级的排序。在本实施例中,根据各待处理任务的任务信息可以计算各待处理任务的优先级,进而基于优先级排序可得到任务优先级列表。
所在边缘服务器的任务总数据量表示当前所在的边缘服务器所有待处理任务的任务数据量的总和;在一个实施例中,将接收到的所有待处理任务的任务数据量求和,得到任务总数据量。
在一个实施例中,每隔预设时间段根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量。在本实施例中,将预设时间段内接收到的待处理任务放在一起计算得到任务优先级列表、任务总数据量。
在一个实施例中,如图3所示,根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量,包括步骤S221至步骤S225。其中:
步骤S221,读取任务信息中待处理任务的任务类型、任务最大延迟。
任务类型表示待处理任务的类型;在一个实施例中,任务类型根据任务内容决定;进一步地,在一个实施例中,对待处理任务设置了预设任务类型,并且规定了预设任务类型包括了哪些任务内容;通过将待处理任务的任务内容与预设任务类型中的任务内容进行比较,确定待处理任务的任务内容属于哪一类任务类型。在一个具体实施例中,任务类型包括安全性任务、非安全性任务;在本实施例中,以一个布尔型变量表示任务类型,具体可以是为0表示非安全性任务,为1表示安全性任务。其中,安全性任务包括涉及到安全相关的任务,而非安全性任务即为与安全无关的任务。任务最大延迟是待处理任务本身决定的。
步骤S222,获取各待处理任务的任务等待时间。
其中,任务等待时间表示待处理任务到达所在边缘服务器之后的等待时间;在一个实施例中,在接收到任务卸载请求时,从0开始计时,得到任务等待时间。
步骤S223,基于任务类型、任务最大延迟和任务等待时间,确定各待处理任务的任务优先级。
在一个具体实施例中,基于任务类型、任务最大延迟和任务等待时间,确定待处理任务的任务优先级,包括:计算任务等待时间与任务最大延迟的商,将任务类型与商的和值确定为待处理任务的任务优先级。
步骤S224,根据各待处理任务的任务优先级,生成所在边缘服务器的任务优先级列表。
其中,任务优先级列表为根据所在边缘服务器的各待处理任务的优先级排序得到。在一个实施例中,根据各待处理任务的任务优先级,生成所在边缘服务器的任务优先级列表,包括:根据各待处理任务的任务优先级进行大小排序,得到所在边缘服务器的任务优先级列表。
步骤S225,读取任务信息中的任务数据量,根据各待处理任务的任务数据量,确定各待处理任务的任务总数据量。
在一个具体实施例中,将各待处理任务的任务数据量的和值确定为所在边缘服务器的任务总数据量。对所在边缘服务器的所有待处理任务的任务数据量求和即可得到所在边缘服务器的任务总数据量。
本实施例中,根据待处理任务的任务信息计算各待处理任务对应的优先级,进而得到任务优先级列表,后续在需要对所在边缘服务器的任务进行调整时,可以基于任务优先级列表进行,例如将优先级较低的待处理任务划分至其它边缘服务器进行处理,等等。
步骤S230,基于所在边缘服务器的计算资源、任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求。
其中,所在边缘服务器的计算资源表示边缘服务器所能提供的计算资源;在一个实施例中,所在边缘服务器的计算资源为当前边缘服务器的剩余计算资源。
任务调配请求用于请求调度中心为各边缘服务器的任务进行均衡调配。在本实施例中,将所在边缘服务器的计算资源、任务总数据量以及任务优先级列表与任务调配请求一起发送至调度中心,使调度中心根据所有边缘服务器的计算资源、任务总数据量确定是否需要调配,并在确定需要进行调配时,基于边缘服务器的任务优先级列表确定调配方案。
步骤S240,接收调度中心反馈的任务调度计划。
其中,任务调度计划为调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到。
调度中心接收各边缘服务器发送的任务调配请求之后确定是否需要进行任务调配,若需要进行任务调配则确定调配计划,然后将调配计划发送至对应的边缘服务器。在一个实施例中,调度中心仅将任务调度计划发送至需要进行任务调配的边缘服务器。
在一个实施例中,调度中心反馈的任务调度计划包括:需要调出待处理任务的边缘服务器中的调出待处理任务,以及调出待处理任务对应的接收边缘服务器。例如边缘服务器A的待处理任务x,需发送至边缘服务器B进行处理。在其它实施例中,任务调度计划也可以是其它方式确定。
步骤S250,根据任务调度计划对所在边缘服务器的待处理任务进行调整。边缘服务器在接收到任务调度计划之后,根据任务调度计划调出待处理任务至其它边缘服务器,或者从其他边缘服务器接收待处理任务。
上述任务处理方法,对于终端发送的任务卸载请求,根据其中携带的待处理任务的任务信息,确定各待处理任务的优先级、任务总数据量,并向调度中心发送调配请求,使调度中心根据调配请求对各边缘服务器的负载值进行均衡计算,得到任务调度计划;接收任务调度计划并对所在边缘服务器的待处理任务进行调整。上述方法可以使边缘服务器的待处理任务得到均衡,更合理的为终端提供服务。
在一个实施例中,如图4所示,在根据任务调度计划对所在边缘服务器的待处理任务进行调整之后,还包括步骤S410和步骤S420。其中:
步骤S410,根据任务信息确定各待处理任务的最低计算资源。
待处理任务的最低计算资源表示完成该待处理任务至少需要的计算资源,最低计算资源与任务处理所需要的CPU周期数、任务最大延迟以及该待处理任务从终端传输至边缘服务器所花费的时间相关。进一步地,在一个实施例中,根据任务信息确定各待处理任务的最低计算资源之后,还包括确定各待处理任务的最低计算资源占所在边缘服务器的计算资源的比例;在得到最低计算资源比例之后,最低计算资源比例与所在边缘服务器的计算资源的比值即为最低计算资源占所在边缘服务器的计算资源的比例。在一个实施例中,边缘服务器的最低计算资源可以用占边缘服务器的总计算资源的比例来表示。
步骤S420,基于最低计算资源为各待处理任务分配对应的目标基础计算资源。
基于最低计算资源为各待处理任务分配对应的目标基础计算资源,即,为各待处理任务按照最低计算资源分配计算资源;例如待处理任务x1的最低计算资源为a1,待处理任务x2的最低计算资源为a2,为待处理任务x1、x2分配计算资源时,为待处理任务x1分配a1的目标基础计算资源,为待处理任务x2分配a2的目标基础计算资源。在其它实施例中,基于最低计算资源为各待处理任务分配对应的目标基础计算资源也可以通过其它方式实现,例如为待处理任务分配计算资源时,分配的计算资源大于或者等于对应的最低计算资源。在本实施例中,将各待处理任务分配到的计算资源记为目标基础计算资源。
进一步地,由于边缘服务器的计算资源有限,有时候会出现无法同时完成所有待处理任务。在一个实施例中,基于最低计算资源为各待处理任务分配对应的目标基础计算资源,包括:依次为待处理任务分配对应的目标基础计算资源,若当前边缘服务器的剩余计算资源低于目标待处理任务的最低基础计算资源,跳过目标待处理任务,直至将边缘服务器的计算资源分配完成;在下一周期为目标待处理任务分配目标基础计算资源。
其中,周期表示处理任务的周期,在同一个周期内,可以同时处理多个待处理任务。在本实施例中,若出现无法在同一个周期内同时处理完所有待处理任务,则将在当前周期无法完成的待处理任务留到下一周期进行处理;在下一周期中,为还未处理的待处理任务分配对应的目标基础计算资源并处理。
在本实施例中,基于各待处理任务的最低计算资源为各待处理任务分配对应的目标基础计算资源,并且将边缘服务器的计算资源不足以在本周期处理的待处理任务放到下一周期进行处理,可保证待处理任务均可分到所必需的计算资源。
进一步地,在一个实施例中,如图5所示,在基于最低计算资源为各待处理任务分配对应的目标基础计算资源之前,还包括步骤S510:将所在边缘服务器的计算资源划分为基础计算资源和优化计算资源。在本实施例中,基于最低计算资源为各待处理任务分配对应的目标基础计算资源,包括步骤S421:基于最低计算资源,从基础计算资源中为各待处理任务分配对应的目标基础计算资源。
在本实施例中,对边缘服务器的计算资源进行划分,划分为两个部分,分别记为基础计算资源和优化计算资源。在一个实施例中,基础计算资源用于为待处理任务分配对应的目标基础计算资源,目标基础计算资源可以确保待处理任务能完成;优化计算资源用于在为待处理任务分配的目标基础计算资源的基础上,根据任务需求为待处理任务分配优化计算资源;分配的优化计算资源可以使待处理任务更好更高效的完成。在一个实施例中,将边缘服务器的计算资源划分为基础计算资源和优化计算资源,其中基础计算资源和优化计算资源占边缘服务器的总计算资源的比例的和值为1;假设边缘服务器的计算资源划分为L1、L2两个部分,其比例分别为γ1、γ2,且γ1+γ2=1。
进一步地,在本实施例中,为待处理任务分配目标基础计算资源是从边缘服务器的基础计算资源中分配的;同理,从边缘服务器的优化计算资源中为待处理任务分配优化计算资源。
进一步地,请继续参照图5,在本实施例中,在基于最低计算资源为各待处理任务分配对应的目标基础计算资源之后,还包括步骤S520:根据各待处理任务的目标基础计算资源,从优化计算资源中为各待处理任务分配对应的目标优化计算资源。
其中,将为待处理任务分配的优化计算资源记为目标优化计算资源;进一步地,在本实施例中,预先将边缘服务器的计算资源划分成了基础计算资源和优化计算资源,为待处理任务分配优化计算资源时,是从边缘服务器的优化计算资源中进行分配。
在一个实施例中,根据各待处理任务的目标基础计算资源分配对应的目标优化计算资源,可以根据各待处理任务的目标基础计算资源的大小分配对应的目标优化计算资源,例如目标基础计算资源越大的待处理任务可能更复杂,所需的计算资源越多,可以为该待处理任务分配更多的优化计算资源。在另一个实施例中,根据各待处理任务的目标基础计算资源分配对应的目标优化计算资源,也可以通过预先训练模型来完成。
在一个具体实施例中,根据各待处理任务的目标基础计算资源分配对应的目标优化计算资源,包括:根据各待处理任务的目标基础计算资源生产对应的目标基础计算资源分配向量,将目标基础计算资源分配向量输入通过训练确定的模型,获取模型输出的各待处理任务的目标优化计算资源。在得到各待处理任务的目标优化计算资源之后,为各待处理任务分配相应的资源进行处理。
其中,通过训练确定的模型可以是任意一种模型。在一个具体实施例中,通过训练确定的模型为DDPG(deep deterministic policy gradient,深度确定性策略梯度算法)模型。其中,DDPG模型由四个网络构成:Actor现实网络、Actor目标网络、Critic现实网络、Critic目标网络。DDPG模型的关键元素有:状态(State)、动作(Actor)、奖励(Reward)。
进一步地,在本实施例中,状态:系统中某时刻t时各待处理任务的目标基础计算资源分配向量X(t)=(β1(t),β2(t),β3(t),…,βn(t));其中,βi表示第i个待处理任务对应的目标基础计算资源。动作:用来描述如何在两个连续的系统状态之间移动。以△βn(t)=βn(t+1)-βn(t)表示为一个待处理任务分配的优化计算资源。系统动作定义为at=(△β1(t),△β2(t),△β3(t),…,△βn(t))。奖励:在给定一个特定的状态st和动作at,可以确定状态从X(t)到X(t+1)的转变。另外,在任意时间t处,将状态函数表示为J(st)=J{x(t)}。基于J(st)和J(st+1),定义状态-动作对(st,at)的奖励为rt=J(st)-J(st+1)。
Actor现实网络负责策略网络参数θ的迭代更新,负责根据当前状态S选择当前动作A,用于和环境交互生成S′,R。Actor目标网络负责根据经验回放池中采样的下一状态S′选择最优下一动作A′。网络参数θ′定期从θ复制。Critic现实网络负责价值网络参数ω的迭代更新,负责计算当前Q值Q(S,A,ω)。目标Q值yi=R+γQ′(S′,A′,ω′)。Critic目标网络负责计算Q值中的Q′(S′,A′,ω′)部分。网络参数ω′定期从ω负责。
进一步地,通过训练确定的DDPG网络对输入的目标基础计算资源分配向量执行以下步骤:
输入:Actor现实网络、Actor目标网络、Critic现实网络、Critic目标网络,参数分别为θ、θ′、ω、ω′,衰减因子γ,软更新系数τ,批量梯度下降的样本数吗,目标Q网络参数更新频率C。最大迭代次数T。随机噪音函数Ν。
输出:最优Actor现实网络参数θ,Critic现实网络参数ω。
初始化θ、ω,ω′=ω,θ′=θ。清空经验回放的集合D。
S1:输入的目标基础计算资源分配向量X为第一状态,拿到其特征向量φ(S)。
S2:在Actor现实网络基于状态S与环境进行交互得到动作A=πθ(φ(S))+Ν。
S3:执行动作A,得到新状态S′,奖励R,是否是终止状态is_end。
S4:将{φ(S),A,R,φ(S′),is_end}这五个元组存入经验回放集合D。
S5:S=S′。
S6:从回放集合D中采样m个样本{φ(Sj),Aj,Rj,φ(Sj′),is_end},j=1,2,,,m,计算当前现实Q(S,a)值yj。
S9:如果T%C=1,则更新Critic目标网络参数和Actor目标网络参数:ω′←τω+(1-τ)ω′;θ′←τθ+(1-τ)θ′。
S10:如果S′是终止状态,当轮迭代完毕,否则转到S2。
本实施例中,采用DDPG模型实现基于各待处理任务的目标基础计算资源,为各待处理任务分配对应的目标优化计算资源的过程,效率高,准确率高。
在一个实施例中,本申请还提供一种任务调度方法,如图6所示,以该方法应用于图1中的调度中心为例,该方法包括步骤S610至步骤S640。
步骤S610,接收边缘服务器发送的任务调配请求。
其中,任务调配请求用于请求调度中心对各边缘服务器的任务进行调整。在本实施例中,任务调配请求携带边缘服务器的计算资源、任务总数据量以及任务优先级列表;其中,任务优先级列表为边缘服务器根据接收到的各待处理任务的任务信息确定。
其中,计算资源表示边缘服务器所能提供的计算资源。任务总数据量表示边缘服务器的所有待处理任务的任务数据量的总和。任务优先级列表具体为根据所在边缘服务器的各待处理任务的优先级排序得到。
步骤S620,根据各边缘服务器的计算资源、任务总数据量,确定各边缘服务器的负载值,以及所有边缘服务器的负载均值。
在一个实施例中,负载值即是系统中处于runnable state(可运行状态)和uninterruptable state(不可中断状态)的进程数。负载均值表示各边缘服务器的负载值的平均值。在一个具体实施例中,根据各边缘服务器的计算资源、任务总数据量,确定各边缘服务器的负载值,以及所有边缘服务器的负载均值,包括:针对任一边缘服务器,将任务总数据量与计算资源的比值确定为边缘服务器的负载值;计算各边缘服务器的负载值的平均值,确定为所有边缘服务器的负载均值。
步骤S630,若基于各边缘服务器的负载值,以及所有边缘服务器的负载均值,确定所有边缘服务器的负载值未达到预设均衡条件,根据各负载值、负载均值以及任务优先级列表,确定任务调度计划。
其中,预设均衡条件可以根据实际情况进行设置。
在一个实施例中,方法包括:根据各边缘服务器的负载值,以及所有边缘服务器的负载均值,确定所有边缘服务器的负载值标准差;当负载值标准差大于或者等于预设标准差阈值时,判定基于各边缘服务器的负载值以及所有边缘服务器的负载均值,确定未达到预设均衡条件。
其中,标准差(Standard Deviation),是离均差平方的算术平均数(即方差)的算术平方根。根据各边缘服务器的负载值,以及所有边缘服务器的负载均值确定负载值标准差,包括:分别计算各边缘服务器的负载值与负载均值的差值,计算各差值的平方和,计算平方和的平均值,将平均值的算术平方根确定为负载值标准差。
其中,预设标准差阈值可以根据实际情况进行设置。在本实施例中,当负载值标准差大于或者等于预设标准差阈值,判定为边缘服务器未达到预设均衡条件。可以理解地,在另一个实施例中,若负载值标准差小于预设标准差阈值,判定为满足预设均衡条件。
在一个实施例中,在确定未达到预设均衡条件时,需对边缘服务器的待处理任务调配;在本实施例中,根据各负载值、负载均值以及任务优先级列表,确定任务调度计划。进一步地。在一个实施例中,对于超出负载均值的边缘服务器,可调出一部分待处理任务给其它边缘服务器处理,而对于低于负载均值的边缘服务器可接收一部分从其他边缘服务器处调出的待处理任务;进一步地,还可以结合边缘服务器的任务优先级列表决定需调出的待处理任务。
在一个实施例中,如图7所示,根据各负载值、负载均值以及任务优先级列表,确定任务调度计划,包括步骤S631至步骤S636。
步骤S631,根据负载值、负载均值,筛选出负载值高于负载均值的第一目标边缘服务器,以及负载值低于负载均值的第二目标边缘服务器。
在本实施例中,将负载值高于负载均值的边缘服务器即为第一目标边缘服务器,将负载值低于负载均值的边缘服务器记为第二目标边缘服务器。进一步地,在一个实施例中,将负载值与负载均值的差值大于预设差值的边缘服务器确定为第一目标边缘服务器,将负载值与负载均值的差值小于预设差值的边缘服务器确定为第二目标边缘服务器;其中,预设差值可以根据实际情况进行设置。
步骤S632,分别以第一目标边缘服务器、第二目标边缘服务器作为点构建二分图,第一目标边缘服务器与第二目标边缘服务器对应的点互不相交。
其中,二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。在本实施例中,以第一目标边缘服务器作为子集1,第二目标边缘服务器作为子集2,以两个子集构建二分图;子集1与子集2中的点互不相交。
步骤S633,确定二分图中的最大匹配数的路径。
其中,在构建的二分图中,如果其中一个子图M,M的边集{E}中任意两条边都不交汇于同一个结点,则称M是一个匹配。图的最大匹配表示图的匹配中边最多的一个匹配。在本实施例中,最大匹配数的路径表示由二分图的最大匹配对应的边组成的路径。
进一步地,在一个实施例中,确定二分图中的最大匹配数的路径可通过匈牙利算法实现。其中,匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法。在其它实施例中,确定二分图中的最大匹配数的路径也可以通过其它方法实现。
步骤S634,根据最大匹配数的路径确定第一目标边缘服务器与第二目标边缘服务器的任务调度组合。
在确定二分图的最大匹配数的路径后,每一条边对应一个第一目标边缘服务器和一个第二目标边缘服务器,确定为一个任务调度组合;任务调度组合表示在进行任务调度时,由任务调度组合内的第一目标边缘服务器选择待处理任务调出至第二目标边缘服务器。
步骤S635,基于任务调度组合中的第一目标边缘服务器的任务优先级列表,确定任务调度组合对应的组合调度计划。
进一步地,在任务调度组合内的任务调度具体是由第一目标边缘服务器向第二目标边缘服务器调出任务,在本实施例中具体是根据第一目标边缘服务器的任务优先级列表决定需要调出的待处理任务。在一个实施例中,可以将第一目标边缘服务器中优先级较低的待处理任务,作为调出的待处理任务,从而得到任务调度组合对应的组合调度计划。例如,以R1表示第一目标边缘服务器、R2表示第二目标边缘服务器,假设根据上述步骤得到任务调度组合为(R1-R2)为例,假设R1的任务优先级列表中的优先级最低的任务为x10,在该任务调度组合内的组合调度计划可以是将R1中的x10调度至R2进行处理。
在一个实施例中,每次确定任务调度组合对应的组合调度计划时,仅从第一目标边缘服务器中调出一个待处理任务至第二目标边缘服务器;进一步地,在本次任务调度完成之后,再根据更新后各边缘服务器的负载值判断是否达到预设均衡条件,若未达到则继续调整,直至根据各边缘服务器的负载值、负载均值计算确定达到预设均衡条件。在另一个实施例中,每次确定任务调度组合对应的组合调度计划时,也可以结合第一目标边缘服务器、第二目标边缘服务器的负载值、负载均值,以及第一目标边缘服务器的任务优先级列表中各待处理任务的任务数据量,确定需要从第一目标边缘服务器中调出的任务优先级列表中的任务;例如,当第一目标边缘服务器的负载值超出负载均值10%,第二目标边缘服务器的负载值低于负载均值10%,若任务优先级最低的待处理任务的任务数据量与负载均值的10%的差值小于预设阈值,则仅将任务优先级最低的待处理任务调出至第二目标边缘服务器;若任务优先级最低的待处理任务的任务数据量与负载均值的10%的差值大于或者等于预设阈值,判断任务优先级次低的待处理任务的任务数据量与优先级最低的任务数据量的和与负载均值的10%进行大小判断,若和值与负载均值的10%的差值小于预设阈值,则将第一目标边缘服务器中任务优先级最低、次低的两个待处理任务调出至第二目标边缘服务器;以此类推,直至根据各边缘服务器的负载值、负载均值计算确定达到预设均衡条件。
步骤S636,基于各组合调度计划,得到任务调度计划。
在得到各任务调度组合对应的组合调度计划之后,合并各任务调度组合对应的组合调度计划,即可得到所有边缘服务器的任务调度计划。
在本实施例中,首先筛选出负载值高于负载均值的第一目标边缘服务器、负载值低于负载均值的第二目标边缘服务器,然后基于第一目标边缘服务器、第二目标边缘服务器为点构建二分图,通过寻找二分图中的最大匹配数的路径,以最大匹配数的路径对应的第一目标边缘服务器、第二目标边缘服务器确定组合内的组合调度计划,进而得到全部边缘服务器的任务调度计划;可以快速的确定在边缘服务器之间的任务调度计划。
步骤S640,将任务调度计划反馈至边缘服务器,使边缘服务器基于任务调度计划对待处理任务进行调整。
在一个实施例中,将任务调度计划反馈至边缘服务器,仅将任务调度计划反馈至需要进行任务调度的边缘服务器;其中,需要进行任务调度的边缘服务器即根据任务调度计划需调出待处理任务、需接收待处理任务的边缘服务器。在另一个实施例中,也可以金奖任务调度计划反馈至需调出待处理任务的边缘服务器。
进一步地,边缘服务器对待处理任务进行调度,包括调出待处理任务和接收待处理任务;其中,调出待处理任务至其它边缘服务器可以通过任意一种方式实现,例如可以由第一目标边缘服务器将待处理任务转发至第二目标边缘服务器,也可以通过调度中心转发需调出的待处理任务至第二目标边缘服务器。可以理解地,在其它实施例中,也可以通过其它方式实现。
本实施例中,上述任务调度方法的调度中心根据接收到各边缘服务器发送的任务调度请求,根据各任务调度请求中携带的任务总数据量任务确定各边缘服务器的负载值,以及所有边缘服务器的负载均值,根据负载值、负载均值未达到预设均衡条件,则根据负载值、负载均值以及各边缘服务器的优先级列表确定任务调度计划,最后将任务调度计划发送至边缘服务器。上述方法对各边缘服务器的待处理进行均衡处理,尽量仅使各待处理任务能够被快速高效的处理。
进一步地,在一个实施例中,在将任务调度计划反馈至边缘服务器之后,还包括:获取各边缘服务器的调整后任务总数据量;根据各调整后任务总数据量、各边缘服务器的计算资源,确定各边缘服务器的调整后负载值。
本实施例中,在根据任务调度计划完成任务调度之后,再次获取各边缘服务器的负载值,后续可以在更新后的负载值的基础上确定是否达到预设均衡条件,若未达到预设均衡条件还可以继续对各边缘服务器的待处理任务进行调整,直至达到预设均衡条件;若更新后的负载值确定达到预设均衡条件,则各边缘服务器基于任务优先级开始处理待处理任务。通过上述方法可以实现各边缘服务器的负载均衡,使待处理任务能够被快速高效的处理。
在另一个实施例中,在将任务调度计划反馈至边缘服务器之后,还包括:计算更新后各边缘服务器中的待处理任务,确定各待处理任务在所在边缘服务器处理所需的时延,根据时延与待处理任务的任务最大延迟进行比较,若待处理任务服务器的时延大于任务最大延迟,表示该待处理任务在该边缘服务器中处理的时延较大,不符合要求,此时,需返回重新调整任务调度计划;在一个实施例中,当待处理任务在所在服务器的时延大于对应的任务最大延迟,返回根据各负载值、负载均值以及任务优先级列表,确定任务调度计划的步骤。
本实施例中,在根据负载值、负载均值、各边缘服务器的任务优先级列表确定任务调度计划,并基于任务调度计划完成任务调度之后,还对各待处理任务的处理时延进行判断,若处理时延大于任务最大延迟,则返回重新调整任务调度计划,以确保各待处理任务能够在对应的任务最大延迟时间内被完成。
在一个具体实施例中,如图8所示为本实施例中的任务处理方法、任务调度方法的时序图。在本实施例中,以终端为车载终端为例进行描述,上述方法包括:
1、初始化阶段,如图9所示为本阶段的流程示意图
2、卸载任务预处理,如图10所示为本阶段的流程示意图
2.2边缘服务器根据周期T将边缘服务器的信息定期传输至调度中心,即向调度中心发送任务调配请求。其中,边缘服务器的信息至少包括边缘服务器的计算资源、任务总数据量以及任务优先级列表。
如果则记录边缘服务器的编号;如果记录边缘服务器编号。将边缘服务器编号为点构造一个二分图,使用最大匹配数算法求出该二分图的路径。按照二分图的路径对任务进行调整,并通过公式 更新二分图中边缘服务器的负载值。其中,表示第i个边缘服务器的第j个待处理任务的任务数据量,表示从其他边缘服务器调度过来任务的任务数据量。如果负载值的标准差不小于θ,则重复上述步骤,直到负载值的标准差小于θ。
负载值的标准差如果大于θ,则对各边缘服务器的任务进行调整直到负载值标准差小于θ。如果则使用R1记录其边缘服务器的编号。如果则使用R2记录边缘服务器编号。以R1和R2的元素构建一个二分图,其中R1、R2的元素是互不相交的,并且图中每条边的两个顶点一个在R1中,另一个在R2中。在构建的二分图中,使用匈牙利算法求二分图的最大匹配数的路径:首先将R1中第一个元素与R2中还未连接的元素相连;然后依次给R1中的元素与R2的元素相连,直到R1中的第N个元素能相连的元素已经被连接了,则将R2中第M个元素与R1中第N个元素相连,并暂时撤销R2中第M个元素原本相连的边,并为撤销边的R1中的元素重新安排元素相连,直至得到二分图的最大匹配数的路径。根据最大匹配数的路径得到任务调度组合,以及任务调度组合对应的组合调度计划,根据各边缘服务器的组合调度计划生成任务调度计划。其中,δ表示预设差值,θ表示预设标准差阈值。
2.4将任务调度计划发送至边缘服务器,使边缘服务器根据任务调度计划中最大匹配数的路径将R1中边缘服务器的任务卸载至R2的边缘服务器中,最后更新各边缘服务器的负载值及负载值的标准差。
3、使用深度强化学习算法实现最优资源分配策略,如图11所示为本实施例中的流程示意图。
3.1将边缘服务器的计算资源分为两个部分:L1,L2。其比例分别为γ1、γ2,且γ1+γ2=1。依据公式计算各边缘服务器中待处理任务按时完成所需的最低计算资源比例;其中,fm表示第m个边缘服务器的计算资源,表示待处理任务从终端传输至边缘服务器所花费的时间。
3.2将L1的计算资源按任务优先级列表的顺序依次分配给待处理任务(即上述为各待处理任务分配对应的目标基础计算资源),其中,若L1计算资源无法满足某一待处理任务的需求则跳过该待处理任务为后续任务分配资源,且跳过的任务在下一个周期中处理,直到L1计算资源不足或者所有待处理任务已全部分配到对应的计算资源,将各待处理任务分配到的计算资源比例汇总得到一个目标基础计算资源分配向量X=(β1,β2,β3,…,βn);其中,βi表示第i个待处理任务的计算资源比例;其中,若某一待处理任务m被分配至下一周期处理,对应的βm=0。
3.3将目标基础计算资源分配向量输入预先通过训练确定的深度强化学习模型中用L2部分的计算资源进行优化,得到最优的资源分配策略。边缘服务器根据最优的资源分配策略对边缘服务器中任务进行资源分配并进行计算。
在一个实施例中,深度强化学习模型为DDPG模型;DDPG模型的输入参数:根据最低计算资源得到的目标基础计算资源分配向量。输出参数:通过DDPG深度强化学习模型,使用L2的计算资源对输入参数优化得到的优化计算资源分配向量。模型是预先训练好的进一步地,DDPG模型对输入的目标基础计算资源分配向量进行优化的过程在上述实施例中已经详细描述,在此不再赘述。
上述任务处理方法、任务调度方法,在车载终端系统的计算资源不足以快速的完成用户发起的待处理任务时,将待处理任务通过就近的RSU或基站将待处理任务卸载至边缘服务器进行处理。而针对边缘服务器中的待处理任务,由调度中心对各边缘服务器的待处理任务进行均衡计算,使得各边缘服务器的计算资源能够被更合理的利用,各待处理任务能够被更好更高效的完成。
应该理解的是,虽然上述实施例中所涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中所涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种任务处理装置,包括:接收模块1210、优先级确定模块1220、请求发送模块1230、调度计划接收模块1240和任务调整模块1250,其中:
接收模块1210,用于接收终端发送的任务卸载请求,任务卸载请求包括待处理任务的任务信息;
优先级确定模块1220,用于根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量;
请求发送模块1230,用于基于所在边缘服务器的计算资源、任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求;
调度计划接收模块1240,用于接收调度中心反馈的任务调度计划;任务调度计划为调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到;
任务调整模块1250,用于根据任务调度计划对所在边缘服务器的待处理任务进行调整。
上述任务处理装置,对于终端发送的任务卸载请求,根据其中携带的待处理任务的任务信息,确定各待处理任务的优先级、任务总数据量,并向调度中心发送调配请求,使调度中心根据调配请求对各边缘服务器的负载值进行均衡计算,得到任务调度计划;接收任务调度计划并对所在边缘服务器的待处理任务进行调整。上述方法可以使边缘服务器的待处理任务得到均衡,更合理的为终端提供服务。
在一个实施例中,上述装置的优先级确定模块1220,包括:任务信息读取单元,用于读取任务信息中待处理任务的任务类型、任务最大延迟;等待时间获取单元,用于获取各待处理任务的任务等待时间;任务优先级确定单元,用于基于任务类型、任务最大延迟和任务等待时间,确定各待处理任务的任务优先级;优先级列表生成单元,用于根据各待处理任务的任务优先级,生成所在边缘服务器的任务优先级列表;任务总数据量确定单元,用于读取任务信息中的任务数据量,根据各待处理任务的任务数据量,确定各待处理任务的任务总数据量。
在一个实施例中,上述装置还包括:最低计算资源确定模块,用于根据任务信息确定各待处理任务的最低计算资源;基础资源分配模块,用于基于最低计算资源为各待处理任务分配对应的目标基础计算资源。
在一个实施例中,上述装置还包括:资源划分模块,用于将所在边缘服务器的计算资源划分为基础计算资源和优化计算资源;在本实施例中,上述装置的基础资源分配模块还用于:基于最低计算资源,从基础计算资源中为各待处理任务分配对应的目标基础计算资源;上述装置还包括:优化资源分配模块,用于根据各待处理任务的目标基础计算资源,从优化计算资源中为各待处理任务分配对应的目标优化计算资源。
在另一个实施例中,本申请还提供一种任务调度装置,如图13所示,该装置包括:请求接收模块1310、负载确定模块1320、调度计划确定模块1330和发送模块1340。
请求接收模块1310,用于接收边缘服务器发送的任务调配请求;任务调配请求携带边缘服务器的计算资源、任务总数据量以及任务优先级列表;任务优先级列表为边缘服务器根据接收到的各待处理任务的任务信息确定;
负载确定模块1320,用于根据各边缘服务器的计算资源、任务总数据量,确定各边缘服务器的负载值,以及所有边缘服务器的负载均值;
调度计划确定模块1330,用于若基于各边缘服务器的负载值,以及所有边缘服务器的负载均值,确定未达到预设均衡条件,根据各负载值、负载均值以及任务优先级列表,确定任务调度计划;
发送模块1340,用于将任务调度计划反馈至边缘服务器,使边缘服务器基于任务调度计划对待处理任务进行调整。
在一个实施例中,上述装置包括:负载值标准差确定模块,用于根据各边缘服务器的负载值,以及所有边缘服务器的负载均值,确定所有边缘服务器的负载值标准差;上述装置的调度计划确定模块1330,还用于:当负载值标准差大于或者等于预设标准差阈值时,判定基于各边缘服务器的负载值以及所有边缘服务器的负载均值,确定未达到预设均衡条件。
在一个实施例中,上述装置的调度计划确定模块1330,包括:筛选单元,用于根据负载值、负载均值,筛选出负载值高于负载均值的第一目标边缘服务器,以及负载值低于负载均值的第二目标边缘服务器;二分图构建单元,用于分别以第一目标边缘服务器、第二目标边缘服务器作为点构建二分图,第一目标边缘服务器与第二目标边缘服务器对应的点互不相交;最大匹配数的路径确定单元,用于确定二分图中的最大匹配数的路径;组合确定单元,用于根据最大匹配数的路径确定第一目标边缘服务器与第二目标边缘服务器的任务调度组合;组合调度计划确定单元,用于基于任务调度组合中的第一目标边缘服务器的任务优先级列表,确定任务调度组合对应的组合调度计划;调度计划确定单元,用于基于各组合调度计划,得到任务调度计划。
关于任务处理装置、任务调度装置的具体实施例可以参见上文中对于任务处理方法、任务调度方法的实施例,在此不再赘述。上述任务处理装置、任务调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理任务的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理方法、任务调度方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以上任意一个实施例中的任务处理方法、任务调度方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上任意一个实施例中的任务处理方法、任务调度方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种任务处理方法,其特征在于,所述方法包括:
接收终端发送的任务卸载请求,所述任务卸载请求包括待处理任务的任务信息;
根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量;
基于所在边缘服务器的计算资源、所述任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求;
接收所述调度中心反馈的任务调度计划;所述任务调度计划为所述调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到;
根据所述任务调度计划对所在边缘服务器的待处理任务进行调整。
2.根据权利要求1所述的方法,其特征在于,所述根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量,包括:
读取所述任务信息中所述待处理任务的任务类型、任务最大延迟;
获取各所述待处理任务的任务等待时间;
基于所述任务类型、任务最大延迟和任务等待时间,确定各所述待处理任务的任务优先级;
根据各所述待处理任务的任务优先级,生成所在边缘服务器的任务优先级列表;
读取所述任务信息中的任务数据量,根据各所述待处理任务的任务数据量,确定各所述待处理任务的任务总数据量。
3.根据权利要求1所述的方法,其特征在于,在根据所述任务调度计划对所在边缘服务器的待处理任务进行调整之后,还包括:
根据所述任务信息确定各所述待处理任务的最低计算资源;
基于所述最低计算资源为各所述待处理任务分配对应的目标基础计算资源。
4.根据权利要求3所述的方法,其特征在于,在基于所述最低计算资源为各所述待处理任务分配对应的目标基础计算资源之前,还包括:将所在边缘服务器的计算资源划分为基础计算资源和优化计算资源;
所述基于所述最低计算资源为各所述待处理任务分配对应的目标基础计算资源,包括:基于所述最低计算资源,从所述基础计算资源中为各所述待处理任务分配对应的目标基础计算资源;
在基于所述最低计算资源为各所述待处理任务分配对应的目标基础计算资源之后,还包括:根据各所述待处理任务的目标基础计算资源,从所述优化计算资源中为各所述待处理任务分配对应的目标优化计算资源。
5.一种任务调度方法,其特征在于,所述方法包括:
接收边缘服务器发送的任务调配请求;所述任务调配请求携带所述边缘服务器的计算资源、任务总数据量以及任务优先级列表;所述任务优先级列表为所述边缘服务器根据接收到的各待处理任务的任务信息确定;
根据各所述边缘服务器的计算资源、任务总数据量,确定各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值;
若基于各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值,确定未达到预设均衡条件,根据各所述负载值、负载均值以及任务优先级列表,确定任务调度计划;
将所述任务调度计划反馈至所述边缘服务器,使所述边缘服务器基于所述任务调度计划对所述待处理任务进行调整。
6.根据权利要求5所述的方法,其特征在于,所述方法包括:
根据各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值,确定所有所述边缘服务器的负载值标准差;
当所述负载值标准差大于或者等于预设标准差阈值时,判定基于各所述边缘服务器的负载值以及所有所述边缘服务器的负载均值,确定未达到预设均衡条件。
7.根据权利要求5所述的方法,其特征在于,所述根据各所述负载值、负载均值以及任务优先级列表,确定任务调度计划,包括:
根据所述负载值、负载均值,筛选出负载值高于所述负载均值的第一目标边缘服务器,以及负载值低于所述负载均值的第二目标边缘服务器;
分别以所述第一目标边缘服务器、第二目标边缘服务器作为点构建二分图,所述第一目标边缘服务器与第二目标边缘服务器对应的点互不相交;
确定所述二分图中的最大匹配数的路径;
根据所述最大匹配数的路径确定第一目标边缘服务器与第二目标边缘服务器的任务调度组合;
基于所述任务调度组合中的所述第一目标边缘服务器的任务优先级列表,确定所述任务调度组合对应的组合调度计划;
基于各所述组合调度计划,得到所述任务调度计划。
8.一种任务处理装置,其特征在于,所述装置包括:
接收模块,用于接收终端发送的任务卸载请求,所述任务卸载请求包括待处理任务的任务信息;
优先级确定模块,用于根据所在边缘服务器接收到的各待处理任务的任务信息,确定所在边缘服务器的任务优先级列表、所在边缘服务器的任务总数据量;
请求发送模块,用于基于所在边缘服务器的计算资源、所述任务总数据量以及任务优先级列表向任务调度中心发送任务调配请求;
调度计划接收模块,用于接收所述调度中心反馈的任务调度计划;所述任务调度计划为所述调度中心基于各边缘服务器的任务调配请求进行任务均衡计算得到;
任务调整模块,用于根据所述任务调度计划对所在边缘服务器的待处理任务进行调整。
9.一种任务调度装置,其特征在于,所述装置包括:
请求接收模块,用于接收边缘服务器发送的任务调配请求;所述任务调配请求携带所述边缘服务器的计算资源、任务总数据量以及任务优先级列表;所述任务优先级列表为所述边缘服务器根据接收到的各待处理任务的任务信息确定;
负载确定模块,用于根据各所述边缘服务器的计算资源、任务总数据量,确定各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值;
调度计划确定模块,用于若基于各所述边缘服务器的负载值,以及所有所述边缘服务器的负载均值,确定未达到预设均衡条件,根据各所述负载值、负载均值以及任务优先级列表,确定任务调度计划;
发送模块,用于将所述任务调度计划反馈至所述边缘服务器,使所述边缘服务器基于所述任务调度计划对所述待处理任务进行调整。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110589189.2A CN113326126B (zh) | 2021-05-28 | 2021-05-28 | 任务处理方法、任务调度方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110589189.2A CN113326126B (zh) | 2021-05-28 | 2021-05-28 | 任务处理方法、任务调度方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113326126A true CN113326126A (zh) | 2021-08-31 |
CN113326126B CN113326126B (zh) | 2024-04-05 |
Family
ID=77422043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110589189.2A Active CN113326126B (zh) | 2021-05-28 | 2021-05-28 | 任务处理方法、任务调度方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326126B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918240A (zh) * | 2021-10-15 | 2022-01-11 | 全球能源互联网研究院有限公司 | 任务卸载方法及装置 |
CN114253735A (zh) * | 2021-12-29 | 2022-03-29 | 苏州浪潮智能科技有限公司 | 一种任务处理方法、装置及相关设备 |
CN114301924A (zh) * | 2021-12-09 | 2022-04-08 | 中国电子科技集团公司电子科学研究院 | 一种云边协同环境的应用任务调度方法及节点设备 |
CN114546610A (zh) * | 2022-01-17 | 2022-05-27 | 山西省信息通信网络技术保障中心 | 一种海量数据分布式脱敏装置 |
CN114546660A (zh) * | 2022-03-01 | 2022-05-27 | 重庆邮电大学 | 一种多无人机协作边缘计算方法 |
CN115408329A (zh) * | 2022-08-26 | 2022-11-29 | 上海玫克生储能科技有限公司 | 即插即用型边缘计算终端硬件系统架构 |
CN115629865A (zh) * | 2022-12-20 | 2023-01-20 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种基于边缘计算的深度学习推理任务调度方法 |
CN115801693A (zh) * | 2023-01-05 | 2023-03-14 | 武汉朗宇智能科技有限公司 | 低阻塞低延时的数据通信方法、系统及可读存储介质 |
CN116708451A (zh) * | 2023-08-08 | 2023-09-05 | 广东奥飞数据科技股份有限公司 | 一种边云协同调度方法及系统 |
CN116955342A (zh) * | 2023-09-20 | 2023-10-27 | 彩讯科技股份有限公司 | 业务数据一致率校验方法和装置 |
CN117215741A (zh) * | 2023-08-29 | 2023-12-12 | 慧之安信息技术股份有限公司 | 一种基于响应比的边缘计算调度方法及系统 |
CN113918240B (zh) * | 2021-10-15 | 2024-05-28 | 全球能源互联网研究院有限公司 | 任务卸载方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694655A (zh) * | 2020-03-12 | 2020-09-22 | 武汉大学 | 一种面向多任务的边缘计算资源分配方法 |
WO2020216135A1 (zh) * | 2019-04-25 | 2020-10-29 | 南京邮电大学 | 基于边-端协同的多用户多mec任务卸载资源调度方法 |
CN111954236A (zh) * | 2020-07-27 | 2020-11-17 | 河海大学 | 一种基于优先级的分层边缘计算卸载方法 |
CN112039950A (zh) * | 2020-08-03 | 2020-12-04 | 威胜信息技术股份有限公司 | 边缘计算网络任务调度与资源分配方法和边缘计算系统 |
WO2021023042A1 (zh) * | 2019-08-07 | 2021-02-11 | 华为技术有限公司 | 边缘计算服务器的寻找方法及相关设备 |
CN112788605A (zh) * | 2020-12-25 | 2021-05-11 | 威胜信息技术股份有限公司 | 基于双延迟深度确定性策略边缘计算资源调度方法和系统 |
US20210144198A1 (en) * | 2018-06-29 | 2021-05-13 | Intel IP Corporation | Technologies for cross-layer task distribution |
-
2021
- 2021-05-28 CN CN202110589189.2A patent/CN113326126B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210144198A1 (en) * | 2018-06-29 | 2021-05-13 | Intel IP Corporation | Technologies for cross-layer task distribution |
WO2020216135A1 (zh) * | 2019-04-25 | 2020-10-29 | 南京邮电大学 | 基于边-端协同的多用户多mec任务卸载资源调度方法 |
WO2021023042A1 (zh) * | 2019-08-07 | 2021-02-11 | 华为技术有限公司 | 边缘计算服务器的寻找方法及相关设备 |
CN111694655A (zh) * | 2020-03-12 | 2020-09-22 | 武汉大学 | 一种面向多任务的边缘计算资源分配方法 |
CN111954236A (zh) * | 2020-07-27 | 2020-11-17 | 河海大学 | 一种基于优先级的分层边缘计算卸载方法 |
CN112039950A (zh) * | 2020-08-03 | 2020-12-04 | 威胜信息技术股份有限公司 | 边缘计算网络任务调度与资源分配方法和边缘计算系统 |
CN112788605A (zh) * | 2020-12-25 | 2021-05-11 | 威胜信息技术股份有限公司 | 基于双延迟深度确定性策略边缘计算资源调度方法和系统 |
Non-Patent Citations (2)
Title |
---|
卢海峰;顾春华;罗飞;丁炜超;杨婷;郑帅;: "基于深度强化学习的移动边缘计算任务卸载研究", 计算机研究与发展, no. 07 * |
王汝言;聂轩;吴大鹏;李红霞;: "社会属性感知的边缘计算任务调度策略", 电子与信息学报, no. 01 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918240B (zh) * | 2021-10-15 | 2024-05-28 | 全球能源互联网研究院有限公司 | 任务卸载方法及装置 |
CN113918240A (zh) * | 2021-10-15 | 2022-01-11 | 全球能源互联网研究院有限公司 | 任务卸载方法及装置 |
CN114301924A (zh) * | 2021-12-09 | 2022-04-08 | 中国电子科技集团公司电子科学研究院 | 一种云边协同环境的应用任务调度方法及节点设备 |
CN114253735B (zh) * | 2021-12-29 | 2024-01-16 | 苏州浪潮智能科技有限公司 | 一种任务处理方法、装置及相关设备 |
CN114253735A (zh) * | 2021-12-29 | 2022-03-29 | 苏州浪潮智能科技有限公司 | 一种任务处理方法、装置及相关设备 |
CN114546610A (zh) * | 2022-01-17 | 2022-05-27 | 山西省信息通信网络技术保障中心 | 一种海量数据分布式脱敏装置 |
CN114546660A (zh) * | 2022-03-01 | 2022-05-27 | 重庆邮电大学 | 一种多无人机协作边缘计算方法 |
CN115408329A (zh) * | 2022-08-26 | 2022-11-29 | 上海玫克生储能科技有限公司 | 即插即用型边缘计算终端硬件系统架构 |
CN115408329B (zh) * | 2022-08-26 | 2023-07-25 | 上海玫克生储能科技有限公司 | 即插即用型边缘计算终端硬件系统架构 |
CN115629865A (zh) * | 2022-12-20 | 2023-01-20 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种基于边缘计算的深度学习推理任务调度方法 |
CN115801693B (zh) * | 2023-01-05 | 2023-04-07 | 武汉朗宇智能科技有限公司 | 低阻塞低延时的数据通信方法、系统及可读存储介质 |
CN115801693A (zh) * | 2023-01-05 | 2023-03-14 | 武汉朗宇智能科技有限公司 | 低阻塞低延时的数据通信方法、系统及可读存储介质 |
CN116708451B (zh) * | 2023-08-08 | 2023-10-20 | 广东奥飞数据科技股份有限公司 | 一种边云协同调度方法及系统 |
CN116708451A (zh) * | 2023-08-08 | 2023-09-05 | 广东奥飞数据科技股份有限公司 | 一种边云协同调度方法及系统 |
CN117215741A (zh) * | 2023-08-29 | 2023-12-12 | 慧之安信息技术股份有限公司 | 一种基于响应比的边缘计算调度方法及系统 |
CN116955342A (zh) * | 2023-09-20 | 2023-10-27 | 彩讯科技股份有限公司 | 业务数据一致率校验方法和装置 |
CN116955342B (zh) * | 2023-09-20 | 2023-12-15 | 彩讯科技股份有限公司 | 业务数据一致率校验方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113326126B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113326126A (zh) | 任务处理方法、任务调度方法、装置及计算机设备 | |
CN109872535B (zh) | 一种智慧交通通行预测方法、装置及服务器 | |
CN111444009A (zh) | 一种基于深度强化学习的资源分配方法及装置 | |
US11443335B2 (en) | Model-based deep reinforcement learning for dynamic pricing in an online ride-hailing platform | |
CN110570075B (zh) | 一种电力业务边缘计算任务分配方法及装置 | |
US20150150016A1 (en) | Method and apparatus for a user-driven priority based job scheduling in a data processing platform | |
CN109976901B (zh) | 一种资源调度方法、装置、服务器及可读存储介质 | |
CN110874626B (zh) | 一种量化方法及装置 | |
US20220164649A1 (en) | Method of splitting and re-connecting neural networks for adaptive continual learning in dynamic environments | |
CN115098257A (zh) | 一种资源调度方法、装置、设备以及存储介质 | |
CN113485833B (zh) | 资源预测方法和装置 | |
CN112561351B (zh) | 用于评估中继卫星系统中的任务申请的方法及装置 | |
CN111565065B (zh) | 一种无人机基站部署方法、装置及电子设备 | |
US20220044570A1 (en) | Dispatching provider devices utilizing multi-outcome transportation-value metrics and dynamic provider device modes | |
CN116915869A (zh) | 基于云边协同的时延敏感型智能服务快速响应方法 | |
CN117202264A (zh) | Mec环境中面向5g网络切片的计算卸载方法 | |
US6813390B2 (en) | Scalable expandable system and method for optimizing a random system of algorithms for image quality | |
CN111221827A (zh) | 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质 | |
CN110689117A (zh) | 基于神经网络的信息处理方法和装置 | |
CN113778094A (zh) | 车辆路径规划方法、装置、可读存储介质及电子设备 | |
CN113409095A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN113391850B (zh) | 基于边云协同的任务调度方法、装置、设备及存储介质 | |
CN114826951B (zh) | 服务自动降级方法、装置、计算机设备和存储介质 | |
US20220236899A1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program | |
CN117435516B (zh) | 一种测试用例优先级排序方法和系统 |
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 |