CN113342504A - 基于缓存的智能制造边缘计算任务调度方法及系统 - Google Patents
基于缓存的智能制造边缘计算任务调度方法及系统 Download PDFInfo
- Publication number
- CN113342504A CN113342504A CN202110749833.8A CN202110749833A CN113342504A CN 113342504 A CN113342504 A CN 113342504A CN 202110749833 A CN202110749833 A CN 202110749833A CN 113342504 A CN113342504 A CN 113342504A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- weight
- data task
- cache
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于缓存的智能制造边缘计算任务调度方法及系统,方法包括:获取数据任务;对数据任务划分隐私度;使用动态替换‑释放缓存机制对数据任务进行缓存;根据数据任务的隐私度和缓存机制建立数据任务总时延目标函数;采用遗传‑差分算法求解目标函数,获得最优的调度方案。本发明相对于已有技术在优化时延方面有着更好的性能,同时提高了数据任务的安全性,可满足不同任务的计算请求。本发明使用遗传‑差分算法求解任务调度策略,与其它调度算法相比,该算法在最小化时延方面具有更好的性能,同时所提出的动态替换‑释放缓存机制具有更高的命中率。
Description
技术领域
本发明涉及智能制造技术领域,特别涉及基于缓存的智能制造边缘计算任务调度方法及系统。
背景技术
随着智能制造的迅速发展,终端设备数量呈现指数式增加,数百万个传感器和无线设备相互连接,其目的是实现智能制造的自动化与智能化结合。然而,智能制造中的设备具有特殊的要求,如终端与终端间低时延、处理海量数据、高效率、协调各种网络物理系统等。现有设备计算能力受到限制,不适合复杂的制造过程和数据分析。近十年来,云计算平台得到了广泛的部署,这使得工业设备能够将密集的计算调度到具有丰富计算资源的云服务器上。但是对于低时延敏感型应用以及隐私型数据任务,云服务则很难实现。而边缘计算技术中的计算卸载技术可将终端设备的计算任务卸载至移动网络的边缘,能够完美匹配智能制造的需求。
无论是将智能制造的数据任务卸载至边缘服务器还是云服务器,都需要调度方案的总时延达到最低。由于各个边缘服务器以及云服务器的处理能力以及负载各不相同,因此不同的调度方案获得的最终总时延也不尽相同。然而,目前常用的任务调度方法性能并不能令人满意,普遍存在调度方案非最优或调度方案求解过程计算量大的问题。
发明内容
本发明实施例提供了基于缓存的智能制造边缘计算任务调度方法及系统,用以解决现有技术中任务调度方法的性能达不到要求的问题。
一方面,本发明实施例提供了基于缓存的智能制造边缘计算任务调度方法,包括:
获取数据任务;
按照是否需要将数据任务调度至边缘服务器,对数据任务划分隐私度;
当数据任务未缓存并且需要缓存至边缘服务器时,如果边缘服务器的缓存已满,确定数据任务的权值,并与已缓存的数据任务中权值最小的数据任务的权值进行比较,如果数据任务的权值大于或等于已缓存的数据任务中权值最小的数据任务的权值,将已缓存的数据任务中权值最小的数据任务替换为数据任务;如果数据任务的权值小于已缓存的数据任务中权值最小的数据任务的权值,降低已缓存的数据任务中权值最小的数据任务的权值;如果边缘服务器的缓存未满,确定数据任务的权值,对数据任务直接进行缓存,并更新数据任务的权值,根据权值大小对数据任务进行排序;同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务;
根据数据任务的隐私度和缓存情况建立数据任务的总时延目标函数;
采用遗传-差分算法求解总时延目标函数,获得最优的调度方案。
在一种可能的实现方式中,数据任务的隐私度可以为1或0,当隐私度为1时表示数据任务的隐私性强,需要调度至边缘服务器,当隐私度为0时表示数据任务的隐私性弱,可调度至边缘服务器或云服务器。
在一种可能的实现方式中,遗传-差分算法可以包括:将目标函数编码表示为遗传空间的个体;确定每个个体的适应度值;根据适应度值对个体进行选择操作;对选择的个体进行交叉处理;对交叉处理后的个体进行遗传-差分变异操作,其中,遗传-差分变异操作由遗传算法和差分进化算法的变异操作结合得到。
另一方面,本发明提供了智能制造中任务调度系统,包括:
任务获取模块,用于获取数据任务;
隐私度划分模块,用于按照是否需要将数据任务调度至边缘服务器,对数据任务划分隐私度;
任务缓存模块,用于当数据任务未缓存并且需要缓存至边缘服务器时,如果边缘服务器的缓存已满,确定数据任务的权值,并与已缓存的数据任务中权值最小的数据任务的权值进行比较,如果数据任务的权值大于或等于已缓存的数据任务中权值最小的数据任务的权值,将已缓存的数据任务中权值最小的数据任务替换为数据任务;如果数据任务的权值小于已缓存的数据任务中权值最小的数据任务的权值,降低已缓存的数据任务中权值最小的数据任务的权值;如果边缘服务器的缓存未满,确定数据任务的权值,对数据任务直接进行缓存,并更新数据任务的权值,根据权值大小对数据任务进行排序;同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务;
目标函数建立模块,用于根据数据任务的隐私度和缓存情况建立数据任务的总时延目标函数;
目标函数求解模块,用于采用遗传-差分算法求解总时延目标函数,获得最优的调度方案。
在一种可能的实现方式中,还可以包括:代理服务器;边缘服务器和代理服务器均设置在智能制造工厂中,且任务获取模块、隐私度划分模块、任务缓存模块、目标函数建立模块和目标函数求解模块均设置在代理服务器中;边缘服务器具有缓存能力,当设备端发出数据任务请求时,代理服务器负责查询该数据任务是否被缓存,如果已经被缓存,则边缘服务器将与数据任务对应的计算结果发送至设备端;如果数据任务没有被缓存,则代理服务器根据任务分类和边缘服务器的缓存空间判断是否加入缓存,同时根据隐私度把数据任务调度到边缘服务器或者云服务器,最后把计算结果返回至设备端。
另一方面,本发明实施例提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中
存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器执行上述的方法。
另一方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有多条计算机指令,多条计算机指令用于使计算机执行上述的方法。
另一方面,本发明实施例提供了一种计算机程序产品,计算机程序被处理器执行时实现上述的方法。
本发明中的基于缓存的智能制造边缘计算任务调度方法及系统,具有以下优点:
采用数据任务的动态替换-释放缓存机制,对边缘服务器的缓存进行充分利用,同时也提高了数据的访问速度。对于目标函数采用遗传-差分算法进行求解,在短时间内即可获得最优的调度方案,提高了任务调度方法的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的基于缓存的智能制造边缘计算任务调度方法的流程图;
图2为本发明第二实施例提供的遗传-差分算法的流程图;
图3为本发明采用的缓存策略与现有的缓存策略的时延对比示意图;
图4为本发明采用的调度方案求解算法与现有的求解算法的时延对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,边缘计算作为继云计算之后的新计算方式,将计算下沉到靠近用户和数据源的网络边缘,具有时延低、安全性高、位置感知力强等特点。近年来,边缘计算通过在网络边缘存储和处理数据,为用户提供低时延和高性能的计算服务,以满足用户对时延敏感型任务的需求,如自动驾驶、虚拟现实等多个应用场景。此外在边缘计算系统中使用缓存策略来存储动态数据程序被认为是一种降低计算时延,能量消耗和带宽成本的有效方法。当计算任务有着高度的相似性或者一致性时,把终端计算任务的输入或输出数据进行缓存,再次请求时可以直接调用缓存数据,降低了重复数据传输和任务计算的频率。在安全与隐私方面,公共的云服务器进行数据处理,可能面临着各种严峻的安全和隐私问题。边缘计算具有分布式部署、多元异构和低时延等自身特性,会带来一些特有的隐私保护优势,在数据的传输过程中,有效避免了恶意攻击与接收的问题。因此在任务调度过程中,降低时延并提高数据安全性变的十分重要。但是,智能制造中产生的数据任务具有数据量大、时延敏感的特点,现有的任务调度方法并不能很好的适应智能制造的上述需求,导致得到的调度方案存在各种各样的问题,不利于提高用户感受。
为了解决现有技术中的问题,本发明提供了基于缓存的智能制造边缘计算任务调度方法及系统,方法包括:获取数据任务;对数据任务划分隐私度;使用动态替换-释放缓存机制对数据任务进行缓存;根据数据任务的隐私度和缓存机制建立数据任务总时延目标函数;采用遗传-差分算法求解目标函数,获得最优的调度方案。本发明相对于已有技术在优化时延方面有着更好的性能,同时提高了数据任务的安全性,可满足不同任务的计算请求。本发明使用遗传-差分算法求解任务调度策略,与其它调度算法相比,该算法在最小化时延方面具有更好的性能,同时所提出的动态替换-释放缓存机制具有更高的命中率。
图1为本发明实施例提供的基于缓存的智能制造边缘计算任务调度方法的流程示意图。本发明提供的基于缓存的智能制造边缘计算任务调度方法,包括:
S100、获取数据任务。
示例性地,在一个智能制造工厂的环境下,整个系统的框架分为三层,分别为设备层、边缘层和云端层。设备层计算能力有限,只能对数据任务进行收集与整理。当数据任务需要计算时,可将其调度到边缘层或者云端层。在设备层有一组设备端的数据任务请求,每个数据任务相互独立且依次执行,表示为N={1,2,3...n}。边缘层由一组边缘服务器和一个代理服务器组成,边缘服务器的集合表示E={1,2,3...m},其主要负责数据任务的计算。代理服务器负责对数据任务进行分类、分配以及隐私度的划分,根据数据任务的分类进行任务的缓存。边缘服务器有着缓存能力,其缓存空间大小为Rj。当设备端发出数据任务请求时,代理服务器负责查询该数据任务是否被缓存。如果该数据任务已经被缓存,则代理服务器可将计算结果发送至设备端。如果没有被缓存,则根据任务分类和边缘服务器的缓存空间判断是否加入缓存,同时根据隐私度的大小把任务调度到边缘服务器或者云服务器,最后把计算结果返回设备端。云端层有一个远程中央云服务器,其计算资源丰富并具备强大的计算能力。因此本发明把云端层定义为一个整体的云资源。如果直接把数据任务放在云端执行,数据任务会存在更高的时延,可能还会伴着数据不安全等问题。因此本发明将根据任务类别合理地部署与调度,以减少任务的响应时间,提高用户的体验质量。
S101、按照是否需要将数据任务调度至边缘服务器,对数据任务划分隐私度。
示例性地,隐私度表示数据任务的隐私强度,当数据任务的隐私度较强时,表明该数据任务中含有较多的隐私数据,遵循数据安全的原则,该数据任务不适用在云服务器中处理,因此需要在边缘服务器中处理。
在本发明的实施例中,数据任务的隐私度为1或0,当隐私度为1时表示数据任务的隐私性强,需要调度至边缘服务器,当隐私度为0时表示数据任务的隐私性弱,可调度至边缘服务器或云服务器。采用Pi表示数据任务的隐私度,则Pi表示为:Pi∈{0,1}。
S102、当数据任务未缓存并且需要缓存至边缘服务器时,如果边缘服务器的缓存已满,确定数据任务的权值,并与已缓存的数据任务中权值最小的数据任务的权值进行比较,如果数据任务的权值大于或等于已缓存的数据任务中权值最小的数据任务的权值,将已缓存的数据任务中权值最小的数据任务替换为数据任务;如果数据任务的权值小于已缓存的数据任务中权值最小的数据任务的权值,降低已缓存的数据任务中权值最小的数据任务的权值;如果边缘服务器的缓存未满,确定数据任务的权值,对数据任务直接进行缓存,并更新数据任务的权值,根据权值大小对数据任务进行排序;同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务。
示例性地,在获取需要处理的数据任务后,根据数据任务的数据量大小设定一个缓存阈值,将需要处理的数据任务的数据量大小与该缓存阈值进行比较,如果大于该缓存阈值,则认为需要对数据任务进行缓存,如果小于该缓存阈值,则认为不需要对数据任务进行缓存。对于不需要缓存的数据任务,可以直接参与后续的任务调度。在本发明的实施例中,采用αi,j表示第i个数据任务是否缓存在第j个边缘服务器上,当αi,j为1时表示第i个数据任务缓存在第j个服务器上,当αi,j为0时表示第i个数据任务未缓存在第j个服务器上,因此αi,j表示为:αi,j∈{0,1},其中1≤i≤n,1≤j≤m,n为数据任务的数量,m为边缘服务器的数量。
S103、根据数据任务的隐私度和缓存情况建立数据任务的总时延目标函数。
示例性地,在建立数据任务的总时延目标函数前,首先构建计算模型。当数据任务调度在边缘服务器中进行计算时,为第j台边缘服务器的CPU计算能力,βi为第i个数据任务的CPU的总周期数,表示第i个数据任务在第j台边缘服务器上的计算时间:
当数据任务的数据量大或者对时延的要求很低时,可以卸载到云服务器进行计算。fc为云服务器的CPU计算能力,Ti,c表示第i个数据任务在云服务器上的计算时间:
其次,构建通信模型。假设服务器有着足够的计算资源,数据任务一旦调度到服务器即可进行计算。由于计算后的结果比较小,因此忽略了计算结果返回的传输时间。数据任务有两个卸载位置,一个是边缘服务器,一个是云服务器。用xi表示第i个数据任务的卸载位置,用xi∈{0,1}表示,其中0表示调度到云服务器,1表示调度到边缘服务器。
数据任务的通信时间是任务响应的一部分,Si表示第i个数据任务的数据量,Ri(l,e)表示本地的设备端到边缘服务器的上行链路速率,Ti(l,e)表示从本地的设备端到边缘服务器的通信时间:
本地的设备端上行链路速率定义为Ri(l,e),其公式表示如下:
其中,B(l,e)表示设备端到边缘服务器的无线信道带宽,G(l,e)表示设备端的发射功率,H(l,e)表示设备端与边缘服务器之间的信道增益,δ2代表噪声功耗。
同理,可得到数据任务传输到云服务器的传输时间Ti(e,c),表示如下:
其中,边缘服务器的上行链路速率定义为Ri(e,c),其公式表示如下:
其中,B(e,c)表示边缘服务器到云服务器的无线信道带宽,G(e,c)表示边缘服务器到云服务器的发射功率,H(e,c)表示边缘服务器到云服务器之间的信道增益。
接着,构建缓存机制。在工业的场景下,数据任务存在着数据量大,流行度高的特点。在边缘服务器中缓存同类型的数据任务,这些数据任务可以随时调用,以降低数据任务请求的时延。本发明设计了一种动态替换-释放缓存的方法,描述如下:缓存在边缘服务器上的数据任务,都具有相应的权值W,定义:
Wi,j=v*Hi,j+(1-v)*Si
其中,v表示惩罚因子,Hi,j表示第i个数据任务在第j个边缘服务器中的流行度。当计算任务没有被缓存,根据S102中的缓存阈值,进行缓存。当任务已经被缓存时,则流行度相应增大,相应地更新权值W。
当边缘服务器的缓存空间已满时,将待缓存的数据任务的权值与边缘服务器中已缓存的权值最低的数据任务的权值进行比较,如果前者大于后者,则进行替换。如果后者大于前者,不进行替换,但对已缓存的权值最低的数据任务进行惩罚,降低其权值,同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务,以防止某些数据任务长时间占用缓存资源。
Di,j表示第i个数据任务在第j台边缘服务器中的占用空间,Ui,j表示第i个数据任务需要消耗的第j台边缘服务器的计算资源,Oi,j代表第i个数据任务在第j台边缘服务器中的占用空间与该数据任务在计算过程中需要的占用空间之和。在边缘服务器中缓存数据任务的时候,需要遵守以下缓存容量的限制:maxOi,jαi,j≤Rj。每一个数据任务只能缓存在一个边缘服务器中,如下:
当边缘服务器的缓存空间未满时,新的数据任务可以直接缓存。如果新的数据任务已经被缓存,则对流行度Hi,j进行更新,进而更新相应的权值,并根据权值的大小重新进行排序。如下:
Hi,j=Hi,j+1
当边缘服务器的缓存空间已满时,Wi+1,j表示新数据任务的权值,Oi+1,j表示新数据任务的大小,min Wi,j表示边缘服务器中已缓存的数据任务中权值最小的数据任务,其对应的缓存空间为min Oi,j。当Wi+1,j大于或等于min Wi,j时,权值为min Wi,j的数据任务即为替换的对象,替换过程需满足以下约束:
Wi+1,j≥min Wi,j
当Wi+1,j小于min Wi,j时不进行替换,同时对已缓存的权值最小的数据任务进行惩罚,惩罚因子为θ∈(0,1)。约束如下:
Wi+1,j<min Wi,j
min Wi,j=min Wi,j*θ
最后,建立数据任务的总时延目标函数。第i个数据任务只能调度至边缘服务器或者云服务器,其响应时间,也称时延,表述为:
在数据任务的调度过程中加入隐私度的划分,则时延如下:
在数据任务的调度过程中加入缓存策略,则第i个数据任务的时延为:
其中,t表示缓存查找时间。当n个数据任务依次执行,对于每个任务,它可以调度到边缘服务器或云服务器进行计算。根据调度策略和缓存机制,数据任务的总时延可能会有所不同。数据任务的总时延可以表示为:约束如下:约束xi∈{0,1}表示数据任务有不同的调度位置。约束αi,j∈{0,1}确保数据任务的缓存决策变量是零一指示符。约束Pi∈{0,1}表示任务的隐私度。约束条件表示n个数据任务的缓存空间不能超过边缘服务器的缓存空间。约束条件max Oi,jαi,j≤Rj表示数据任务的最大缓存空间不能超过边缘服务器的缓存空间。约束条件xi≠0表示调度位置为0的同时隐私度不能为1。
S104、采用遗传-差分算法求解总时延目标函数,获得最优的调度方案。
示例性地,遗传-差分算法是一种全局启发式搜索算法,在每个种群的进化过程中采用遗传算法,迭代搜索问题的解,更新种群,使种群中的个体在最优解周围更加密集,最后经过多次迭代可以找到最优解。
线性松弛:的本质是一个组合优化问题,它属于NP难问题,可以通过穷举搜索或推导最优解的充要条件来解决。前者需要遍历所有可行解,但每个数据任务都有2的|m|次方可能的卸载位置。如果卸载任务为xi∈X,则卸载路径组合数等2m∈X。特别是,在边缘计算系统模型中,有两个环境控制点,如果每个卸载位置需要100个任务,那么穷举搜索将遍历2100条路径,导致高时间复杂度。对于后者,由于本发明中的动态替换-释放缓存机制和边缘计算系统的相互耦合以及离散变量的存在,无法推导出理论最优解的充要条件。因此,线性松弛应用于松弛到真实的xi∈{0,1}。
采用上述遗传-差分算法求解数据任务的总时延目标函数后,得到最优调度方案,代理服务器即可按照该最优调度方案将各个数据任务调度至对应的边缘服务器或云服务器进行计算处理。
图2为本发明实施例中遗传-差分算法的流程图。在一种可能的实施例中,S104中的遗传-差分算法包括:S200、将目标函数编码表示为遗传空间的个体;S201、确定每个个体的适应度值;S202、根据适应度值对个体进行选择操作;S203、对选择的个体进行交叉处理;S204、对交叉处理后的个体进行遗传-差分变异操作,其中,遗传-差分变异操作由遗传算法和差分进化算法的变异操作结合得到。
示例性地,由于遗传算法不能直接处理问题空间的参数,因此要通过编码将要求解的问题表示成遗传空间的染色体或者个体。每一个编码对应解向量的一个解。本发明中由于隐私度的等级,需要对编码的过程进行限制。也就是说任务的隐私度对任务的调度有着很高的影响。如表1所示,当隐私度为1,则编码的基因型也为1。
表1编码操作
个体 | 0 | 1 | 0 | 1 | … | 0 | 0 | 1 | 0 |
隐私度 | 0 | 0 | 0 | 1 | … | 0 | 0 | 1 | 0 |
适应度是表示个体对环境的适应能力,也表示该个体繁殖后代的能力。遗传算法的适应度函数也叫评价函数,是用来判断群体中个体优劣程度的指标,它是通过所求问题的目标函数值进行评估的。那么本发明的目标函数f(X)如下:
在选择操作前,将种群中个体按照适应度从小到大进行排列,采用轮盘赌选择方法,每个个体被选中的概率与其适应度函数值大小成正比。
上式中,Fi表示个体的适应度函数值,Pi表示个体被选中的概率。当选择下一代个体时,个体被选择的概率由Pi表示。通过这样的选择,在保持种群遗传多样性的同时,种群中存在总时延最短的个体。
按照遗传算法就是两个不同的个体根据交叉概率按某种方式交换其部分基因。但本发明考虑了任务调度的隐私度,两个不同的个体进行交叉之后,不能改变某些基因(任务的类别)的隐私类别,如表2所示,交叉点设置为3。
表2交叉操作
个体1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
个体2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
隐私度 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
交叉后1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
交叉后2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
个体按照变异概率进行变异操作。但是本发明中选用了差分进化变异的思想进行改进,即第二个个体与第三个个体进行异或操作之后取反,得到了变异结果。这样不需要对隐私度进行限制,还最大程度的得到不同的基因数量,其收敛性更快。如下所示:
下面结合实验对本发明效果做进一步的说明:
本发明与三种现有的缓存机制进行了比较,如图3所示,本发明边缘服务器存储空间的存储单位不变,数据任务的数量保持不变。通过对四种缓存机制的对比,可以看出本发明提出的动态替换-释放缓存机制(DRRC,Dynamic Replacement-Release Caching)获得了更低的响应时延,先进先出缓存机制(FIFO,First In,First Out)、基于数据访问历史记录的缓存机制(LRU,Least Recently Used)、基于数据访问频率的缓存机制(LFU,LeastFrequently Used)的响应时延明显较大。如FIFO机制所带来是时延最高,其时间为698.4ms,而DRRC的时延为611.6ms,本发明所提出的缓存机制在时延上降低了约12.4%。
本发明分别选择差分进化算法(DE,Differential Evolution)、遗传算法(GA,Genetic Algorithm)、随机算法(Random)与遗传-差分进化算法进行算法(GDEA,Genetic-Differential Evolution Algorithm)评估,如图4所示,本发明所提出的算法,其收敛速度最快和搜索最优值最低。而原始的差分算法和遗传算法的性能也有很大的差异,其主要原因是差分进化算法在变异和选择的过程中,进行了随机生成种群,遗传算法在选择过程中有着择优的决策,随机算法无选择策略,其搜索能力最差,与预期的结果一致。
本发明实施例还提供了智能制造中任务调度系统,包括:
任务获取模块,用于获取数据任务;
隐私度划分模块,用于按照是否需要将数据任务调度至边缘服务器,对数据任务划分隐私度;
任务缓存模块,用于当数据任务未缓存并且需要缓存至边缘服务器时,如果边缘服务器的缓存已满,确定数据任务的权值,并与已缓存的数据任务中权值最小的数据任务的权值进行比较,如果数据任务的权值大于或等于已缓存的数据任务中权值最小的数据任务的权值,将已缓存的数据任务中权值最小的数据任务替换为数据任务;如果数据任务的权值小于已缓存的数据任务中权值最小的数据任务的权值,降低已缓存的数据任务中权值最小的数据任务的权值;如果边缘服务器的缓存未满,确定数据任务的权值,对数据任务直接进行缓存,并更新数据任务的权值,根据权值大小对数据任务进行排序;同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务;
目标函数建立模块,用于根据数据任务的隐私度和缓存情况建立数据任务的总时延目标函数;
目标函数求解模块,用于采用遗传-差分算法求解总时延目标函数,获得最优的调度方案。
在一种可能的实施例中,系统还可以包括:代理服务器;边缘服务器和代理服务器均设置在智能制造工厂中,且任务获取模块、隐私度划分模块、任务缓存模块、目标函数建立模块和目标函数求解模块均设置在代理服务器中;边缘服务器具有缓存能力,当设备端发出数据任务请求时,代理服务器负责查询该数据任务是否被缓存,如果已经被缓存,则边缘服务器将与数据任务对应的计算结果发送至设备端;如果数据任务没有被缓存,则代理服务器根据任务分类和边缘服务器的缓存空间判断是否加入缓存,同时根据隐私度把数据任务调度到边缘服务器或者云服务器,最后把计算结果返回至设备端。
本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中
存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器执行上述的方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有多条计算机指令,多条计算机指令用于使计算机执行上述的方法。
本发明实施例还提供了一种计算机程序产品,计算机程序被处理器执行时实现上述的方法。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.基于缓存的智能制造边缘计算任务调度方法,其特征在于,包括:
获取数据任务;
按照是否需要将所述数据任务调度至边缘服务器,对所述数据任务划分隐私度;
当所述数据任务未缓存并且需要缓存至所述边缘服务器时,如果所述边缘服务器的缓存已满,确定所述数据任务的权值,并与已缓存的数据任务中权值最小的数据任务的权值进行比较,如果所述数据任务的权值大于或等于所述已缓存的数据任务中权值最小的数据任务的权值,将所述已缓存的数据任务中权值最小的数据任务替换为所述数据任务;如果所述数据任务的权值小于所述已缓存的数据任务中权值最小的数据任务的权值,降低所述已缓存的数据任务中权值最小的数据任务的权值;如果所述边缘服务器的缓存未满,确定所述数据任务的权值,对所述数据任务直接进行缓存,并更新所述数据任务的权值,根据所述权值大小对所述数据任务进行排序;同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务;
根据所述数据任务的隐私度和缓存情况建立所述数据任务的总时延目标函数;
采用遗传-差分算法求解所述总时延目标函数,获得最优的调度方案。
2.根据权利要求1所述的基于缓存的智能制造边缘计算任务调度方法,其特征在于,所述数据任务的隐私度为1或0,当隐私度为1时表示所述数据任务的隐私性强,需要调度至边缘服务器,当隐私度为0时表示所述数据任务的隐私性弱,可调度至边缘服务器或云服务器。
3.根据权利要求1所述的基于缓存的智能制造边缘计算任务调度方法,其特征在于,所述遗传-差分算法包括:
将所述目标函数编码表示为遗传空间的个体;
确定每个所述个体的适应度值;
根据所述适应度值对所述个体进行选择操作;
对选择的所述个体进行交叉处理;
对交叉处理后的所述个体进行遗传-差分变异操作,其中,所述遗传-差分变异操作由遗传算法和差分进化算法的变异操作结合得到。
4.应用权利要求1-3任一项所述的基于缓存的智能制造边缘计算任务调度方法的系统,其特征在于,包括:
任务获取模块,用于获取数据任务;
隐私度划分模块,用于按照是否需要将所述数据任务调度至边缘服务器,对所述数据任务划分隐私度;
任务缓存模块,用于当所述数据任务未缓存并且需要缓存至所述边缘服务器时,如果所述边缘服务器的缓存已满,确定所述数据任务的权值,并与已缓存的数据任务中权值最小的数据任务的权值进行比较,如果所述数据任务的权值大于或等于所述已缓存的数据任务中权值最小的数据任务的权值,将所述已缓存的数据任务中权值最小的数据任务替换为所述数据任务;如果所述数据任务的权值小于所述已缓存的数据任务中权值最小的数据任务的权值,降低所述已缓存的数据任务中权值最小的数据任务的权值;如果所述边缘服务器的缓存未满,确定所述数据任务的权值,对所述数据任务直接进行缓存,并更新所述数据任务的权值,根据所述权值大小对所述数据任务进行排序;同时在一个周期内,自动释放已缓存的数据任务中权值最小的数据任务;
目标函数建立模块,用于根据所述数据任务的隐私度和缓存情况建立所述数据任务的总时延目标函数;
目标函数求解模块,用于采用遗传-差分算法求解所述总时延目标函数,获得最优的调度方案。
5.根据权利要求4所述的基于缓存的智能制造边缘计算任务调度系统,其特征在于,还包括:代理服务器;
所述边缘服务器和代理服务器均设置在智能制造工厂中,且所述任务获取模块、隐私度划分模块、任务缓存模块、目标函数建立模块和目标函数求解模块均设置在所述代理服务器中;
所述边缘服务器具有缓存能力,当设备端发出数据任务请求时,所述代理服务器负责查询该数据任务是否被缓存,如果已经被缓存,则所述边缘服务器将与数据任务对应的计算结果发送至所述设备端;如果所述数据任务没有被缓存,则所述代理服务器根据任务分类和所述边缘服务器的缓存空间判断是否加入缓存,同时根据隐私度把所述数据任务调度到边缘服务器或者云服务器,最后把计算结果返回至所述设备端。
6.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-3中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有多条计算机指令,所述多条计算机指令用于使计算机执行权利要求1-3任一项所述的方法。
8.一种计算机程序产品,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749833.8A CN113342504B (zh) | 2021-07-02 | 2021-07-02 | 基于缓存的智能制造边缘计算任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749833.8A CN113342504B (zh) | 2021-07-02 | 2021-07-02 | 基于缓存的智能制造边缘计算任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342504A true CN113342504A (zh) | 2021-09-03 |
CN113342504B CN113342504B (zh) | 2023-04-21 |
Family
ID=77482334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110749833.8A Active CN113342504B (zh) | 2021-07-02 | 2021-07-02 | 基于缓存的智能制造边缘计算任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342504B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986486A (zh) * | 2021-10-15 | 2022-01-28 | 东华大学 | 一种边缘环境下数据缓存与任务调度的联合优化方法 |
CN117579694A (zh) * | 2024-01-15 | 2024-02-20 | 国网浙江省电力有限公司宁波供电公司 | 一种基于泛在电力物联网的数据共享管理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317354A1 (en) * | 2013-04-23 | 2014-10-23 | Hon Hai Precision Industry Co., Ltd. | Electronic device, data caching system and method |
CN105939385A (zh) * | 2016-06-22 | 2016-09-14 | 湖南大学 | 一种ndn缓存中基于请求频率的实时数据替换方法 |
CN110851257A (zh) * | 2019-11-07 | 2020-02-28 | 中国石油大学(华东) | 一种基于前期灾变策略的遗传与差分混合进化云计算任务调度算法 |
CN111475274A (zh) * | 2020-04-20 | 2020-07-31 | 北京邮电大学 | 云协同多任务调度方法及装置 |
CN112003921A (zh) * | 2020-08-18 | 2020-11-27 | 东北大学 | 一种边缘计算环境中热门数据主动缓存与替换的方法 |
CN112083967A (zh) * | 2020-08-18 | 2020-12-15 | 深圳供电局有限公司 | 一种云边端计算任务的卸载方法、计算机设备及存储介质 |
-
2021
- 2021-07-02 CN CN202110749833.8A patent/CN113342504B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317354A1 (en) * | 2013-04-23 | 2014-10-23 | Hon Hai Precision Industry Co., Ltd. | Electronic device, data caching system and method |
CN105939385A (zh) * | 2016-06-22 | 2016-09-14 | 湖南大学 | 一种ndn缓存中基于请求频率的实时数据替换方法 |
CN110851257A (zh) * | 2019-11-07 | 2020-02-28 | 中国石油大学(华东) | 一种基于前期灾变策略的遗传与差分混合进化云计算任务调度算法 |
CN111475274A (zh) * | 2020-04-20 | 2020-07-31 | 北京邮电大学 | 云协同多任务调度方法及装置 |
CN112003921A (zh) * | 2020-08-18 | 2020-11-27 | 东北大学 | 一种边缘计算环境中热门数据主动缓存与替换的方法 |
CN112083967A (zh) * | 2020-08-18 | 2020-12-15 | 深圳供电局有限公司 | 一种云边端计算任务的卸载方法、计算机设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
HUA WEI: "Value-driven Cache Replacement Strategy in Mobile Edge Computing", 《GLOBECOM 2020 - 2020 IEEE GLOBAL COMMUNICATIONS CONFERENCE》 * |
XIAOMIN JIN: "Cooperative Runtime Offloading Decision Algorithm for Mobile Cloud Computing", 《MOBILE INFORMATION SYSTEMS》 * |
李聪等: "基于突发集中性访问模式的缓存替换算法", 《计算机工程》 * |
蒋璐: "基于自适应差分遗传算法的BP神经网络优化", 《软件导刊》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986486A (zh) * | 2021-10-15 | 2022-01-28 | 东华大学 | 一种边缘环境下数据缓存与任务调度的联合优化方法 |
CN117579694A (zh) * | 2024-01-15 | 2024-02-20 | 国网浙江省电力有限公司宁波供电公司 | 一种基于泛在电力物联网的数据共享管理方法及系统 |
CN117579694B (zh) * | 2024-01-15 | 2024-04-16 | 国网浙江省电力有限公司宁波供电公司 | 一种基于泛在电力物联网的数据共享管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113342504B (zh) | 2023-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111818168B (zh) | 一种车联网中自适应联合计算卸载与资源分配方法 | |
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
Abd Elaziz et al. | IoT workflow scheduling using intelligent arithmetic optimization algorithm in fog computing | |
CN109167671B (zh) | 一种面向量子密钥分发业务的配用通信系统均衡负载调度方法 | |
CN110941667A (zh) | 一种移动边缘计算网络中的计算卸载方法及系统 | |
CN107172166A (zh) | 面向工业智能化服务的云雾计算系统 | |
CN112422644B (zh) | 计算任务卸载方法及系统、电子设备和存储介质 | |
CN113342504B (zh) | 基于缓存的智能制造边缘计算任务调度方法及系统 | |
CN114356545B (zh) | 一种面向隐私保护与能耗优化的任务卸载方法 | |
Lan et al. | Deep reinforcement learning for computation offloading and caching in fog-based vehicular networks | |
CN113259469A (zh) | 智能制造中边缘服务器部署方法、系统及存储介质 | |
Wang et al. | Joint service caching, resource allocation and computation offloading in three-tier cooperative mobile edge computing system | |
CN115562756A (zh) | 一种多接入边缘计算的车辆任务卸载方法及系统 | |
CN112312299A (zh) | 服务卸载方法、装置及系统 | |
CN111953547A (zh) | 一种基于业务的异构基站重叠分组及资源配置方法及装置 | |
CN116321307A (zh) | 一种无蜂窝网络中基于深度强化学习的双向缓存放置方法 | |
CN115499875A (zh) | 一种卫星互联网任务卸载方法、系统以及可读存储介质 | |
CN117519816A (zh) | 一种基于麻雀搜索优化策略的车联网计算任务卸载方法 | |
CN116932086A (zh) | 一种基于哈里斯鹰算法的移动边缘计算卸载方法及系统 | |
Ge et al. | Mobile edge computing against smart attacks with deep reinforcement learning in cognitive MIMO IoT systems | |
CN113709817B (zh) | 多基站多服务器场景下的任务卸载和资源调度方法及装置 | |
CN115914230A (zh) | 一种自适应移动边缘计算卸载和资源分配方法 | |
CN115604853A (zh) | 边缘计算的车辆依赖任务卸载方法及系统 | |
CN115499876A (zh) | Msde场景下基于dqn算法的计算卸载策略 | |
Chen et al. | Multi-objective Optimization-Based Task Offloading and Power Control for Mobile Edge Computing |
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 |