CN112969144B - 一种面向移动边缘计算的微服务预部署方法及系统 - Google Patents
一种面向移动边缘计算的微服务预部署方法及系统 Download PDFInfo
- Publication number
- CN112969144B CN112969144B CN202110143727.5A CN202110143727A CN112969144B CN 112969144 B CN112969144 B CN 112969144B CN 202110143727 A CN202110143727 A CN 202110143727A CN 112969144 B CN112969144 B CN 112969144B
- Authority
- CN
- China
- Prior art keywords
- user
- information
- micro
- service
- deployment
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
Abstract
为了解决移动边缘环境下存在的移动的用户的微服务请求无法被命中和结果无法被接收的问题,本发明提出了一种面向移动边缘计算的微服务预部署方法及系统。本方案利用用户的历史轨迹信息,通过深度学习的LSTM网络来预测出用户未来的轨迹,通过结合用户的未来轨迹信息和待请求的服务组合信息生成用户预部署请求序列,然后先通过简单的遍历生成基础的方案,再通过多个典型场景对基础方案进行优化,然后基于优化过的基础方案,通过采用遗传算法的思路,生成最终的最优预部署方案,最后利用最优预部署方案完成实际的微服务预部署工作。本方案将用户的移动性特征和微服务的组合特征有机结合在一起,显著提升了微服务预部署的效果,不仅提升了请求成功率和结果接收成功率,还降低了资源消耗。
Description
技术领域
本发明涉及移动边缘计算这一新型网络架构,具体涉及一种面向移动边缘计算的微服务预部署方法及系统。
背景技术
随着移动设备和移动应用的飞速发展,移动边缘计算作为一种新型的范式被提了出来。由于边缘服务器和用户的距离比较近,可以显著降低用户的请求时延和提升用户的服务体验,然而,边缘服务器也存在资源不足和覆盖范围较小的问题和限制。
为了更好地为提供服务和节省计算资源,微服务作为一种灵活度高的架构得到了广泛应用。一个完整的应用可以分解成若干个阶段,每个阶段都可以由不同微服务来完成,通过组合不同的微服务来完成一个应用的所有阶段,这就构成了一个服务组合。比如语音导航应用就可以通过组合加载地图数据、语音识别、线路规划三个微服务来完成,。
移动性预测是一种人工智能领域的应用,具体来说,利用移动性预测,可以根据用户的历史的移动性信息或者轨迹信息预测出用户未来最有可能的行动轨迹。
在移动边缘计算环境下,考虑到用户是在不断移动的,用户会在不同地点请求服务组合中的不同的微服务,其过程如图1。如何保证用户可以在不同地点请求到其最需要的微服务是一个值得解决的问题,针对该问题,业界已经提出了许多方法,其中,对微服务进行预先部署是一个较为可行的方案。
现有的移动边缘环境下的微服务部署方案存在以下几点问题:
第一,现有的方案很多都是基于静态场景的微服务预部署。此类方案中没有考虑到用户是在不断移动的,而是假设用户是静止在某一个位置进行服务的请求,这样进行的微服务部署显然不够符合实际。
第二,现有的方案很多默认已知用户未来的移动路线。此类方案中默认用户在未来的行动路线是已知的,而没有利用人工智能领域的移动性预测方法进行对未来轨迹路线的预测。
第三,现有的方案很多都是针对简单的服务请求。此类方案中的没有考虑到用户的请求由若干个微服务组合完成,没有考虑到微服务组合存在的执行顺序限制和微服务之间的可替代性。
发明内容
针对以上问题,本文提出了一种面向移动边缘计算的微服务预部署方法,本方法基于服务组合、移动性预测和优化选择,可以解决移动边缘环境下多用户、移动场景下的微服务的预部署问题。本发明通过将服务组合、移动性预测和启发式优化算法有机结合在一起,显著提升了移动边缘计算环境下微服务预部署的效果,不仅可以提升微服务请求的成功率和结果接收的成功率,还可以显著降低微服务预部署产生的资源消耗。
一种面向移动边缘计算的微服务预部署方法,其特征在于,包含以下步骤:
步骤1,利用已知的用户应用请求信息,通过查询已知服务组合数据库,获取一个应用请求所对应的服务组合信息;
步骤2,利用用户的历史轨迹信息,通过深度学习网络LSTM来构建模型,预测出用户的未来轨迹信息;
步骤3,在步骤2的基础上,生成所有用户的键值对信息;再通过多次遍历用户的键值对信息,在两个场景下进行优化选择,生成基础的预部署方案,用户的键值表示为:(位置:微服务候选集);
步骤4,在步骤3的基础上,利用基础预部署方案生成初始化染色体,进而利用遗传算法求出近似最优预部署方案。
在上述一种面向移动边缘计算的微服务预部署方法,所述的步骤1,获取用户的服务组合信息,具体包括以下子步骤:
步骤1.1:获取用户的应用请求信息;用户的应用请求信息随机生成;
步骤1.2:在步骤1.1的基础上,获取服务组合信息Service Composition(SC);每个服务组合中包含若干个活动,每一个活动都需要有一个微服务mi来完成,其中一个活动的微服务mi存在多种选择,用CMi来表示这个选择集合,则有:SC={CM1,CM2,...,CMn},根据用户的应用请求,通过查询已知的服务组合数据库,获取用户的应用请求所对应的服务组合信息。
在上述一种面向移动边缘计算的微服务预部署方法,所述的步骤2,根据历史轨迹预测未来轨迹,具体包括以下子步骤:
步骤2.1:获取用户历史轨迹Told;用户的历史轨迹信息可以通过行车记录仪或者北斗导航系统获取;
步骤2.2:在步骤2.1的基础上,对历史轨迹信息Told进行预处理;历史轨迹Told的组成是连续的按照特定时间间隔ε采集的地理坐标点L,L由经度和纬度组成:
T={L1,L2,...Ln}L={latitude,longitude}
首先将坐标点信息转换为速度信息V={v1,v2,...vn-1},,vn就是求相邻两个轨迹点的速度值;通过轨迹点Ln,Ln-1和采集间ε隔依次求取每两个轨迹点直接的速度vn-1:
vn-1=(Ln-Ln-1)/ε
步骤2.3:在步骤2.2的基础上,对速度变化信息V进行训练;采用深度学习中的LSTM网络对速度变化信息进行训练,得到一个预测模型,即:输入一组速度变化信息Vold,输出一组预测的速度变化信息Vpre;具体包括以下步骤:
步骤2.31、基于步骤2.2中获取的一系列速度信息vn生成样本数据,每个样本数据包含10个连续的速度信息[v1,v2,...v10],对于这10个速度信息,将其切割成两份,前5个作为样本的输入x,后5个作为样本的输出y.于是有x=[v1,v2,...,v5]y=[v6,v7,...,v10];将生成10000个样本数据;
步骤2.32、切分样本集:将把90%的样本数据作为训练集,10%的样本数据作为测试集;
步骤2.33、利用Tensorflow构建LSTM深度学习神经网络;
步骤2.34、将训练集输入到LSTM网络中进行训练,并用测试集进行测试模型效果;
步骤2.35、最终生成速度预测模型;
步骤2.4:预测未来轨迹Tpre;首先将历史轨迹坐标Told信息转换为速度变化信息Vold,具体是通过步骤2.2的公式vn-1=(Ln-Ln-1)/ε获取Vold=[vold1,vold2,...,voldn];然后利用步骤2.3中的模型预测出未来的速度变化信息Vpre,以历史轨迹坐标最后一个坐标Lon为起始点,结合预测出的速度变化,不断计算出新的轨迹坐标值,最后构成用户的未来轨迹Tpre,过程如下:
Lp1=Lon+vp1×ε
Lp2=Lp1+vp2×ε
......
Lpn=Lp(n-1)+vp(n-1)×ε
Tpre={Lp1,Lp2,...Lpn}
其中,Lp1是预测的未来轨迹的第一个点,Lpn是预测的未来轨迹的最后一个点,vp1是预测出的第一个速度,步骤2.2中已经提到ε是轨迹点的采集间隔的时间,所以,vp1×ε得到的是在速度为vp1,时间为ε的情况下所产生的距离变化;我们的目的是利用历史轨迹得到未来的轨迹,未来的轨迹也是由一串坐标构成,即Tpre={Lp1,Lp2,...Lpn};未来轨迹的第一个轨迹点Lp1,可以通过历史轨迹的最后一个点Lon,加上预测的第一个速度值vp1乘以时间间隔ε产生的距离变化得到,也即Lp1=Lon+vp1×ε;有了未来轨迹的第一个点Lp1,那么未来轨迹的第二个点Lp2,就是在第一个点Lp1的基础上,加上由预测的二个速度值vp2和时间为ε所产生的距离变化,也即Lp2=Lp1+vp2×ε,依次类推,我们可以得到预测的未来轨迹的最后一个点Lpn=Lp(n-1)+vp(n-1)×ε,即未来轨迹的最后一个点Lpn,可以通过未来轨迹的倒数第二个点Lp(n-1)加上最后一个速度vp(n-1)和时间ε产生的距离变化vp(n-1)×ε得到。
在上述一种面向移动边缘计算的微服务预部署方法,所述的步骤3,生成基础的预部署方案,具体包括以下子步骤:
步骤3.1:根据用户的服务组合信息和未来轨迹信息,生成一组用户预部署请求信息PDR,PDR中的每一项是一个键值对信息:(位置L:微服务候选集合CMi),将一个键值对信息定义为LC,则有:PDR=[LC1,LC2,...,LCn];每一个LC表示一个键值对,L=(latitude,longitude)表示一个具体的地理坐标,C=[m1,m2,...,mn]表示的是一组可选的微服务,一个LC表示在一个具体的位置(latitude,longitude),用户能够请求[m1,m2,...,mn]中的任意一个微服务;
步骤3.2:在步骤3.1的基础上,生成基础方案,通过遍历所有用户的(位置L:微服务候选集合CMi)请求信息,从而得到基础方案;基础预部署方案是通过遍历每一个用户预部署请求信息PDR来获得,具体过程如下:
步骤3.21、获取第一个预部署请求信息或者下一个预部署请求信息,每一个预部署请求包含一个位置信息L=(latitude,longitude)和用户的请求的微服务候选列表CM=[m1,m2,...,mn];
步骤3.22、利用位置信息L来查询所有覆盖当前位置的边缘服务器S=[s1,s2,...,sn];
步骤3.23、遍历步骤3.22中的边缘服务器,查看是否有边缘服务器已经部署了CM中的任意一个微服务,如果部署了,则转到步骤3.21,否则继续往下执行;
步骤3.24、从CM中随机选一个微服务m,然后依次判断能否部署在S中的任意一个服务器上,依据就是服务器的资源是否满足微服务需要的资源,重复本步骤,直至所有微服务没有一个可以成功部署后,转至步骤3.21,重复本步骤期间只要有任何一个可以微服务可以成功部署,也跳转到步骤3.21;
步骤3.3:初始化遗传算法参数;包括交叉概率(μc),变异概率(μm),迭代次数(niter),和染色体个数(nchr);
步骤3.4:在步骤3.2基础上,生成染色体(CHR);在步骤3.2得到的基础方案的基础上,通过随机算法,得到若干条初始的染色体,每条染色体代表一个预部署方案;
步骤3.5:在步骤3.4基础上,进行遗传算法的迭代;每一次遗传算法的迭代将涉及以下几个步骤:交叉、变异、计算适应度、排序、枝剪;最后返回最佳的部署方案。
在上述一种面向移动边缘计算的微服务预部署方法,所述的步骤3.2中,生成基础预部署方案时,将根据多个场景进行优化,具体优化场景如下:
情形一:多个用户被相同的一个边缘服务器覆盖,且其微服务请求中存在重合项目,此时,只需要部署一个微服务即可,定义:用户u1和u2同时被服务器s1覆盖,且u1所请求的微服务需要从CM1={m1,m2,m3}中选择一个,u2所请求的微服务需要从CM2={m1,m5,m6}中选择一个;此时,最佳的方案就是只需要在s1上部署一个m1就可以同时满足两个用户的需求,;
情形二:单个用户被多个边缘服务器覆盖,此时需要考虑边缘服务器的覆盖范围,是用户接收到结果的可能性最大;定义:用户u1被s1和s2覆盖,且用户的位置更靠近s1的中心,此时最佳的选择是将微服务部署在s1上,这样用户在接收到结果前离开s1的覆盖范围的可能性最小,从而可以提升结果接收成功率。
一种面向移动边缘计算的微服务预部署系统,其特征在于,包括
服务组合模块:将一个用户的应用请求转换为一个服务组合序列,服务组合序列指用户的一个请求由不同的微服务来组合完成;
移动性预测模块:首先利用用户的历史轨迹信息,通过人工智能中LSTM网络预测出用户未来最有可能经过的轨迹信息;在获得了用户未来轨迹信息之后,将结合服务组合模块中的用户的服务组合信息,将轨迹点和服务组合中的微服务候选集进行结合,获得用户在未来某个位置请求某个微服务候选集的信息,信息用键值(位置:微服务候选集)来描述,简称为请求信息;
优化预部署模块:生成一个优化的预部署方案来指导微服务的预部署;在生成预部署的方案的时候分为了两个步骤,首先是生成基础方案以及针对基础方案的优化,然后是基于基础方案,利用基础方案生成染色体,然后基于遗传算法通过综合考虑边缘服务器的资源限制和覆盖范围限制,请求成功率和结果接收成功率,以及资源消耗因素来产生最终的优化方案。
因此,本发明具有如下优点:1、利用用户的移动性信息,通过移动性预测来获取用户未来最有可能出现的位置,相比于没有进行移动性预测的静态部署,本发明更符合实际场景。2、考虑了边缘环境场景下的边缘服务器的资源限制和覆盖范围限制,贴合实际情况。3、本发明不仅可以提升用户微服务请求成功率和接收成率,同时可以降低微服务预部署的资源消耗,实现了多目标优化。4、先利用简单遍历生成基础方案,再利用遗传算法思路和基础方案生成最终的方案,通过多层次优化来获得最优的结果。5、将移动性预测和服务组合结合在了一起,形成一个完善的系统,过程明确,步骤清晰,可以有效解决边缘环境下的微服务预部署问题。
附图说明
图1是本发明实施例的移动边缘计算中用户请求示意图。
图2是本发明实施例的生成优化预部署方案整体流程图。
图3是本发明实施例的可优化场景一。
图4是本发明实施例的可优化场景二。
图5是本发明实施例的遗传算法流程图。
图6是本发明实施例的请求成功率效果对比图。
图7是本发明实施例的结果接收成功率效果对比图。
图8是本发明实施例的资源消耗对比图。
具体实施方式
下面是应用本方法进行边缘环境下微服务预部署的具体实施案例。由于缺少真实的移动边缘计算环境,本实例基于一套移动边缘计算仿真环境进行。
一、首先介绍本发明的方法原理。
本发明涉及的模块有三个,分布是服务组合模块、移动性预测模块和优化预部署模块。该三个模块的具体含义和功能解释如下:
(1)服务组合模块:服务组合是指用户的一个请求可以由不同的微服务来组合完成,比如语音导航应用就可以通过组合加载地图数据、语音识别、线路规划三个微服务来组合完成。首先,这三个微服务的存在执行顺序的限制,即只有先加载完地图数据才能进行语音识别,只有进行完语音识别才能开始进行线路规划,总结来说,就是上一个微服务的执行输出将作为下一个微服务的执行输入。其次,微服务是具有可替代性的,比如在语音识别阶段,可以采用基于深度学习的语音识别微服务,也可以采用基于机器学习的语音识别微服务,这两个微服务都可以完成语音识别的任务,但是却有不同的资源消耗和时间消耗,因此,如何确定每一个阶段需要采用的具体微服务显得尤为重要。服务组合模块主要完成的就是将一个用户的应用请求(如导航请求)转换为一个服务组合序列。
(2)移动性预测模块:移动性预测模块将首先利用用户的历史轨迹信息,通过人工智能中LSTM网络预测出用户未来最有可能经过的轨迹信息。在获得了用户未来轨迹信息之后,该模块将结合服务组合模块中的用户的服务组合信息,将轨迹点和服务组合中的微服务候选集进行结合,获得用户在未来某个位置请求某个微服务候选集的信息,本信息可以用(位置:微服务候选集)这样的键值对来描述,简称为请求信息。
(3)优化预部署模块:在通过移动性预测模块得到了用户在未来某个位置请求某个微服务候选集的信息后,接下来就是具体的微服务部署了。考虑到本场景中有众多的用户,每个用户都有一组请求信息,这些请求信息涉及到不同的(位置:微服务候选集)序列。优化预部署模块将统筹考虑所有用户的请求而作出最佳的部署方案。在进行微服务预部署的时候,不仅要确定在哪些边缘服务器上进行部署,还要确定在一台边缘服务器部署哪些微服务,这构成了一个优化选择的问题。在进行预部署的时候不仅要考虑到边缘服务器的资源限制和覆盖范围限制,还要保证请求成功率和结果接收成功率,并同时降低资源消耗,这构成了一个多目标优化问题。为了更好地解决这个多目标优化的优化选择问题,本方案采用了基于遗传算法的启发式优化算法,该算法充分利用了上面移动性预测模块中生成的(位置:微服务候选集)请求信息。
本发明还涉及一种面向移动边缘计算的微服务预部署方法,其流程图如图2所示,其特征在于,包括以下步骤:
步骤1:获取用户的服务组合信息。
步骤1.1:获取用户的应用请求信息。本方案假设用户的应用请求信息是随机生成,比如用户A需要进行语音导航,用户B需要进行刷脸支付,C用户需要在线直播。
步骤1.2:获取服务组合信息(Service Composition,简称SC)。每个服务组合中包含若干个活动,每一个活动都需要有一个微服务mi来完成,其中一个活动的微服务mi存在多种选择,用CMi来表示这个选择集合,则有:
SC={CM1,CM2,...,CMn}
根据用户的应用请求,通过查询已知的服务组合数据库,获取用户的应用请求所对应的服务组合信息。比如已知用户应用请求为语音导航,则查询可得所对应的服务组合为[加载地图数据,语音识别,线路规划],其中这三个微服务代表的是三种微服务候选集合,比如语音识别,在实际请求时,可以选择基于深度学习的语音识别微服务,也可以选择基于机器学习的语音识别微服务。
步骤2:预测用户未来轨迹。
步骤2.1:获取用户历史轨迹Told。用户的历史轨迹信息可以通过行车记录仪或者北斗导航系统获取,为了降低问题的复杂性,本方案假设用户的历史轨迹是已知的。
步骤2.2:对历史轨迹信息Told进行预处理。历史轨迹Told的组成是连续的按照特定时间间隔ε采集的地理坐标点L,L由经度和纬度组成:
T={L1,L2,...Ln}L={latitude,longitude}
这些轨迹点的数值差异非常小,为了提升轨迹预测准确性,本步骤首先将坐标点信息转换为速度信息V={v1,v2,...vn-1},vn就是求相邻两个轨迹点的速度值。通过轨迹点Ln,Ln-1和采集间隔ε可以依次求取每两个轨迹点之间的速度vn-1:
vn-1=(Ln-Ln-1)/ε
步骤2.3:对速度变化信息V进行训练。本步骤采用深度学习中的LSTM网络对速度变化信息进行训练,得到一个预测模型,本模型的功能为:输入一组速度变化信息Vold,可以输出一组预测的速度变化信息Vpre,具体包括:
步骤2.31、基于步骤2.2中获取的一系列速度信息vn生成样本数据,每个样本数据包含10个连续的速度信息[v1,v2,...v10],对于这10个速度信息,将其切割成两份,前5个作为样本的输入x,后5个作为样本的输出y.于是有x=[v1,v2,...,v5]y=[v6,v7,...,v10]。将生成10000个样本数据。
步骤2.32、切分样本集:将把90%的样本数据作为训练集,10%的样本数据作为测试集。
步骤2.33、利用Tensorflow构建LSTM深度学习神经网络。
步骤2.34、将训练集输入到LSTM网络中进行训练,并用测试集进行测试模型效果。
步骤2.35、最终生成速度预测模型。
步骤2.4:预测未来轨迹Tpre。首先将历史轨迹坐标Told信息转换为速度变化信息Vold,然后利用上面步骤的模型预测出未来的速度变化信息Vpre,以历史轨迹坐标最后一个坐标Lon为起始点,结合预测出的速度变化,不断计算出新的轨迹坐标值,最后构成用户的未来轨迹Tpre,过程如下:
Lp1=Lon+vp1×ε
Lp2=Lp1+vp2×ε
......
Lpn=Lp(n-1)+vp(n-1)×ε
Tpre={Lp1,Lp2,...Lpn}
在上述公式中,Lp1是预测的未来轨迹的第一个点,Lpn是预测的未来轨迹的最后一个点,vp1是预测出的第一个速度,步骤2.2中已经提到ε是轨迹点的采集间隔的时间,所以,vp1×ε得到的是在速度为vp1,时间为ε的情况下所产生的距离变化。我们的目的是利用历史轨迹得到未来的轨迹,未来的轨迹也是由一串坐标构成,即Tpre={Lp1,Lp2,...Lpn}。未来轨迹的第一个轨迹点Lp1,可以通过历史轨迹的最后一个点Lon,加上预测的第一个速度值vp1乘以时间间隔ε产生的距离变化得到,也即Lp1=Lon+vp1×ε。有了未来轨迹的第一个点Lp1,那么未来轨迹的第二个点Lp2,就是在第一个点Lp1的基础上,加上由预测的二个速度值vp2和时间为ε所产生的距离变化,也即Lp2=Lp1+vp2×ε,依次类推,我们可以得到预测的未来轨迹的最后一个点Lpn=Lp(n-1)+vp(n-1)×ε,即未来轨迹的最后一个点Lpn,可以通过未来轨迹的倒数第二个点Lp(n-1)加上最后一个速度vp(n-1)和时间ε产生的距离变化vp(n-1)×ε得到。
步骤3:生成(位置:微服务候选集合)请求信息(简称PDR)。
根据用户的服务组合信息和未来轨迹信息,生成一组(位置L:微服务候选集合CMi)键值对信息(该键值对简称LC),即:PDR=[LC1,LC2,...,LCn]。
PDR中的每一项是一个键值对信息:(位置L:微服务候选集合CMi),将一个键值对信息定义为LC,则有:PDR=[LC1,LC2,...,LCn]。每一个LC表示一个键值对,L=(latitude,longitude)表示一个具体的地理坐标,CM=[m1,m2,...,mn]表示的是一组可选的微服务,该组微服务有相同的时间消耗t,一个LC表示在一个具体的位置(latitude,longitude),用户能够请求[m1,m2,...,mn]中的任意一个微服务。
具体生成PDR的步骤如下:
步骤3.1:生成第一个PDR信息LC1。具体来说,用户会在未来轨迹Tpre的第一个坐标Lp1处请求服务组合中的第一个微服务候选集合CM1,于是首先得到了第一个键值对信息LC1=[L1,CM1]。
步骤3.2:生成下一个PDR信息。具体来说,我们已经知道了上一个键值对信息LCn,于是可以知道上一个候选微服务组CMn和相应的微服务的执行时间tn和轨迹点Lpn,在预测未来轨迹的部分我们已经得到了未来轨迹Tpre={Lp1,Lp2,...Lpn,...},我们已知未来轨迹点的时间间隙为ε,用num=tn/ε可以得到在tn时间内,轨迹前进了num个时间间隙ε,于是我们从Tpre找到上一个轨迹点Lpn,从该点出发,向后寻找第num个轨迹点,就是上一个微服务执行结束的时候用户移动到的位置Ln+1,于是可以得到下一个键值对信息LC2=[L2,CM2]。
步骤3.3:重复步骤3.2,可以得到所有的键值对信息,这组键值对信息描述了一个用户在移动过程中的位置和微服务候选集合的对照关系。
步骤4:生成基础部署方案。
步骤4.1:生成基础方案。通过遍历所有用户的(位置L:微服务候选集合CMi)请求信息,分两种情形进行优化部署,从而得到基础方案。
情形一:如图3所示,多个用户被相同的一个边缘服务器覆盖,且其微服务候选集中存在重合项目,此时,只需要部署一个微服务即可。例如,用户u1和u2同时被服务器s1覆盖,且u1所请求的微服务需要从CM1={m1,m2,m3}中选择一个,u2所请求的微服务需要从CM2={m1,m5,m6}中选择一个。此时,最佳的方案就是只需要在s1上部署一个m1就可以同时满足两个用户的需求,这样可以降低资源的消耗。
情形二:如图4所示,单个用户被多个边缘服务器覆盖,此时需要考虑边缘服务器的覆盖范围,使用户接收到结果的可能性最大。例如,用户u1被s1和s2覆盖,且用户的位置更靠近s1的中心,此时最佳的选择是将微服务部署在s1上,这样用户在接收到结果前离开s1的覆盖范围的可能性最小,从而可以提升结果接收成功率。
步骤5:生成近似最优部署方案。
该步骤基于步骤4得到基础部署方案和遗传算法来获得近似最优解
步骤5.2:初始化算法参数。本遗传算法主要涉及交叉概率(μc),变异概率(μm),迭代次数(niter),和染色体个数(nchr)等参数,这些参数需要在算法启动之前进行确定。
步骤5.3:生成染色体(CHR)。在利用上述步骤得到基础方案之后,将在这个基础方案的基础上,采用遗传算法获取更佳的部署方案。第一个步骤是生成染色体。在本算法中,一个染色体代表的是一个预部署方案Ωi,一个预部署方案指在一台边缘服务器上部署哪些微服务,染色体的一个节点片段代表的是在某台边缘服务器上微服务的部署情况。染色体的生成将基于步骤4.1中得到的基础方案,通过随机算法,得到若干条初始的染色体。基于基础方案生成的染色体具有以下优点:
首先,染色体长度短,占据空间资源小。这是因为基础方案中已经有了一个大致的部署方案,其中将只涉及移动边缘环境下的一部分边缘服务器和一部分微服务,因此,初始化的染色体不需要包含所有的边缘服务器和微服务,长度因此降低,空间资源消耗也随之降低。
其次,染色体质量高,收敛速度快。这是因为基础方案已经对于整个部署过程进行了优化的选择,因此基础的部署方案已经可以取得不错的预部署效果。在此基础上生成的染色体,初始的质量就非常高,因此达到收敛状态只需要花费很少的迭代周期。
步骤5.4:进行遗传算法的迭代。每一次遗传算法的迭代将涉及以下几个步骤:交叉、变异、计算适应度、排序、枝剪。下面将详细叙述:
交叉:每一次迭代中,会遍历每两个染色体,然后按照设定的交叉概率μc进行交叉过程。交叉将交换两个染色体的某个片段,本质上是交换两个部署方案中关于某几个边缘服务器的部署策略。
变异:每一次迭代中,会遍历每一个染色体,然后按照设定的变异概率μm进行变异过程。变异将一个染色体的某个片段进行突变。本质上是对该染色体的部署方案中的某一个边缘服务器上的部署策略进行随机变化。
计算适应度:适应度值是判断一个染色体(本质上是一个预部署方案Ωi)是否良好的关键,计算适应度值需要一个适应度函数该函数通过对该部署方案Ωi下的请求成功率η1、结果接收成功率η2和资源消耗率σ三个指标进行加权ω1,ω2,ω3求和,将最后的结果作为适应度值:
排序:对每一条染色体都进行适应度值的计算后,将按照适应度值的大小进行排序,适应度值越大证明该染色体所代表的的预部署方案越优秀。
枝剪:本操作在排序之后发生,该操作会将适应度值最低的几个染色体去掉,使染色体的数量始终保持在初始值nchr。
经过niter次迭代之后算法停止,然后将适应度值最高的染色体返回,该条染色体所代表的预部署方案Ωbest就是最后的近似最优方案,算法的整个流程如图5所示。
二、下面介绍采用上述的方法进行的一个具体案例。
步骤1:进行移动边缘计算的仿真环境搭建。该仿真环境具体来说分为三个部分,分别是轨迹信息、边缘服务器信息和服务组合信息。本案例中利用微软GeoLife的真实轨迹作为用户的历史轨迹信息,共采用了1000条轨迹信息。然后根据轨迹的分布情况,随机生成了500个边缘服务器,每个边缘服务器都有随机的初始化资源量(包括CPU、内存和带宽三种类型的资源)和覆盖范围(250米到800米之间随机)。最后随机生成了200种微服务候选集,每种微服务候选集有3个候选微服务,每个微服务具有不同的资源消耗和时间消耗。通过对这200个微服务候选集进行随机组合,生成了100个服务组合信息,每一个服务组合有若干个微服务候选集,通过依次执行每个微服务候选集中的某个候选微服务,即可以完成一个服务组合。
步骤2:为每个用户随机分配服务组合请求。对1000个用户,通过随机的方式从服务组合库中选取服务组合分配给用户,表明用户将在接下来的过程中请求该服务组合。
步骤3:进行轨迹预测。利用用户的历史轨迹信息,结合LSTM深度学习网络构建出轨迹预测模型,实现给与一段历史轨迹点,可以预测出接下来最有可能经过的轨迹点。在本步骤,将预测出1000个用户的未来轨迹。
步骤4:生成(位置:微服务候选集)键值对信息。服务组合中的每一个环节执行都会消耗一定的时间,在这段时间之内,用户处于移动状态,故而在该环境执行完毕前,用户会来到一个新的位置去请求服务组合中的下一个环节。利用预测出的用户的未来轨迹和用户将要请求的服务组合信息,可以得到用户在未来轨迹点上的具体的哪一个位置请求服务组合中的具体的哪一个微服务候选集。在这个步骤中,将求出1000个用户的(位置:微服务候选集)键值对信息。
步骤5:生成基础预部署方案。依据第四步生成(位置:微服务候选集)键值对信息,通过多次遍历该数据信息,分情形进行优化,可以得到一个基础的预部署方案,这个方案大致描述了需要在哪台边缘服务器上部署哪些微服务,本方案不是最终的方案,但是可以作为先验知识来使用。
步骤6:利用遗传算法获取近似最优方案。
步骤6.1:初始化参数。本案例中设置交叉概率为0.1,变异概率为0.01,染色体数量50,迭代次数100,三个权重0.5、0.5和-0.01。
步骤6.2:初始化50条染色体。在本案例中,一条染色体其实就代表的是一种微服务预部署方案,染色上的一个点代表的就是一个边缘服务上的微服务部署策略。利用第五步生成的基础预部署方案,通过随机算法,得到50条初始化染色体。
步骤6.3:构造适应度函数。适应度函数通过计算一条染色体的优良程度,其实就是计算一个预部署方案的有效程度,具体来说,会首先进行模拟预部署和模拟请求的操作,然后通过对本次模拟预部署方案下的请求成功率、接收成功率、资源消耗三个指标进行加权求和得到最后的适应度值。
步骤6.4:迭代。进行100轮次的迭代,每个迭代过程包括交叉、变异、计算适应度值、排序、枝剪等操作。排序和枝剪将使得始终只有50条最优秀的染色体。
步骤6.5:返回最终结果。迭代结束后,适应度值最高的那条染色体将作为结果返回,该染色体所代表的的预部署方案即为算法求得的近似最优的预部署方案。
步骤7:验证实验方案的有效性
在该步骤中,将通过将本预部署方案(取名为SDGA)和几个基准的预部署方法进行对比,验证本方案的有效性。作为对比的基准方法包括:
1.不进行移动性预测的预部署(RDA)
2.进行移动性预测的随机预部署(RDSA)
3.进行移动性预测的贪心预部署(GDSA)
对照实验的结果如图6,7,8所示,实验结果表明,本发明所代表的预部署方法SDGA在请求成功率、结果接收成功率和资源消耗方面都显著优于其他三种对照方案。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (4)
1.一种面向移动边缘计算的微服务预部署方法,其特征在于,包含以下步骤:
步骤1,利用已知的用户应用请求信息,通过查询已知服务组合数据库,获取一个应用请求所对应的服务组合信息;
步骤2,利用用户的历史轨迹信息,通过深度学习网络LSTM来构建模型,预测出用户的未来轨迹信息;
步骤3,在步骤2的基础上,生成所有用户的键值对信息;再通过多次遍历用户的键值对信息,在两个场景下进行优化选择,生成基础的预部署方案,用户的键值对表示为:(位置:微服务候选集),利用基础预部署方案生成初始化染色体,进而利用遗传算法求出近似最优预部署方案,其中,所述步骤3生成预部署方案具体包括以下子步骤:
步骤3.1:根据用户的服务组合信息和未来轨迹信息,生成一组用户预部署请求信息PDR,PDR中的每一项是一个键值对信息:(位置L:微服务候选集合CMi),将一个键值对信息定义为LC,则有:PDR=[LC1,LC2,…,LCn];每一个LC表示一个键值对,L=(latitude,longitude)表示一个具体的地理坐标,CM=[m1,m2,…,mn]表示的是一组可选的微服务,一个LC表示在一个具体的位置(latitude,longitude),用户能够请求[m1,m2,…,mn]中的任意一个微服务;
步骤3.2:在步骤3.1的基础上,生成基础预部署方案,通过遍历所有用户的(位置L:微服务候选集合CMi)请求信息,从而得到基础预部署方案;基础预部署方案是通过遍历每一个用户预部署请求信息PDR来获得,具体过程如下:
步骤3.21、获取第一个预部署请求信息或者下一个预部署请求信息,每一个预部署请求包含一个位置信息L=(latitude,longitude)和用户的请求的微服务候选集合CM=[m1,m2,…,mn];
步骤3.22、利用位置信息L来查询所有覆盖当前位置的边缘服务器S=[s1,s2,…,sn];
步骤3.23、遍历步骤3.22中的边缘服务器,查看是否有边缘服务器已经部署了CM中的任意一个微服务,如果部署了,则转到步骤3.21,否则继续往下执行;
步骤3.24、从CM中随机选一个微服务m,然后依次判断能否部署在S中的任意一个服务器上,依据就是服务器的资源是否满足微服务需要的资源,重复本步骤,直至所有微服务没有一个可以成功部署后,转至步骤3.21,重复本步骤期间只要有任何一个可以微服务可以成功部署,也跳转到步骤3.21;
步骤3.3:初始化遗传算法参数;包括交叉概率(μc),变异概率(μm),迭代次数(niter),和染色体个数(nchr);
步骤3.4:在步骤3.2基础上,生成染色体(CHR);在步骤3.2得到的基础预部署方案的基础上,通过随机算法,得到若干条初始的染色体,每条染色体代表一个预部署方案;
步骤3.5:在步骤3.4基础上,进行遗传算法的迭代;每一次遗传算法的迭代将涉及以下几个步骤:交叉、变异、计算适应度、排序、枝剪;最后返回最佳的部署方案,计算适应度值需要一个适应度函数该函数通过对该部署方案Ωi下的请求成功率η1、结果接收成功率η2和资源消耗率σ三个指标进行加权ω1,ω2,ω3求和,将最后的结果作为适应度值:
其中,所述步骤3.2中,生成基础预部署方案时,将根据多个场景进行优化,具体优化场景如下:
情形一:多个用户被相同的一个边缘服务器覆盖,且其微服务请求中存在重合项目,此时,只需要部署一个微服务即可,定义:用户u1和u2同时被服务器s1覆盖,且u1所请求的微服务需要从CM1={m1,m2,m3}中选择一个,u2所请求的微服务需要从CM2={m1,m5,m6}中选择一个;此时,最佳的方案就是只需要在s1上部署一个m1就可以同时满足两个用户的需求;
情形二:单个用户被多个边缘服务器覆盖,此时需要考虑边缘服务器的覆盖范围,是用户接收到结果的可能性最大;定义:用户u1被s1和s2覆盖,且用户的位置更靠近s1的中心,此时最佳的选择是将微服务部署在s1上,这样用户在接收到结果前离开s1的覆盖范围的可能性最小,从而可以提升结果接收成功率。
2.根据权利要求1所述一种面向移动边缘计算的微服务预部署方法,其特征在于,所述的步骤1,获取用户的服务组合信息,具体包括以下子步骤:
步骤1.1:获取用户的应用请求信息;用户的应用请求信息随机生成;
步骤1.2:在步骤1.1的基础上,获取服务组合信息Service Composition(SC);每个服务组合中包含若干个活动,每一个活动都需要有一个微服务mi来完成,其中一个活动的微服务mi存在多种选择,用CMi来表示这个选择集合,则有:SC={CM1,CM2,…,CMn},根据用户的应用请求,通过查询已知的服务组合数据库,获取用户的应用请求所对应的服务组合信息。
3.根据权利要求1所述一种面向移动边缘计算的微服务预部署方法,其特征在于,所述的步骤2,根据历史轨迹预测未来轨迹,具体包括以下子步骤:
步骤2.1:获取用户历史轨迹Told;用户的历史轨迹信息可以通过行车记录仪或者北斗导航系统获取;
步骤2.2:在步骤2.1的基础上,对历史轨迹信息Told进行预处理;历史轨迹信息Told的组成是连续的按照特定时间间隔ε采集的地理坐标点L,L由经度和纬度组成,T是轨迹信息:
T={L1,L2,…Ln}L={latitude,longitude}
首先将坐标点信息转换为速度信息V={v1,v2,…vn-1},vn就是求相邻两个轨迹点的速度值;通过轨迹点Ln,Ln-1和采集间ε隔依次求取每两个轨迹点直接的速度vn-1:
vn-1=(Ln-Ln-1)/ε
步骤2.3:在步骤2.2的基础上,对速度信息V进行训练;采用深度学习中的LSTM网络对速度信息进行训练,得到一个预测模型,即:输入一组速度信息Vold,输出一组预测的速度信息Vpre;具体包括以下步骤:
步骤2.31、基于步骤2.2中获取的一系列速度信息vn生成样本数据,每个样本数据包含10个连续的速度信息[v1,v2,…v10],对于这10个速度信息,将其切割成两份,前5个作为样本的输入x,后5个作为样本的输出y.于是有x=[v1,v2,…,v5]y=[v6,v7,…,v10];将生成10000个样本数据;
步骤2.32、切分样本集:将把90%的样本数据作为训练集,10%的样本数据作为测试集;
步骤2.33、利用Tensorflow构建LSTM深度学习神经网络;
步骤2.34、将训练集输入到LSTM网络中进行训练,并用测试集进行测试模型效果;
步骤2.35、最终生成速度预测模型;
步骤2.4:预测未来轨迹Tpre;首先将历史轨迹坐标Told信息转换为速度信息Vold,具体是通过步骤2.2的公式vn-1=(Ln-Ln-1)/ε获取Vold=[vold1,vold2,…,voldn];然后利用步骤2.3中的模型预测出未来的速度信息Vpre,以历史轨迹坐标最后一个坐标Lon为起始点,结合预测出的速度变化,不断计算出新的轨迹坐标值,最后构成用户的未来轨迹Tpre,过程如下:
Lp1=Lon+vp1×ε
Lp2=Lp1+vp2×ε
……
Lpn=Lp(n-1)+vp(n-1)×ε
Tpre={Lp1,Lp2,…Lpn}
其中,Lp1是预测的未来轨迹的第一个点,Lpn是预测的未来轨迹的最后一个点,vp1是预测出的第一个速度,步骤2.2中已经提到ε是轨迹点的采集间隔的时间,所以,vp1×ε得到的是在速度为vp1,时间为ε的情况下所产生的距离变化;目的是利用历史轨迹得到未来的轨迹,未来的轨迹也是由一串坐标构成,即Tpre={Lp1,Lp2,…Lpn};未来轨迹的第一个轨迹点Lp1,可以通过历史轨迹的最后一个点Lon,加上预测的第一个速度值vp1乘以时间间隔ε产生的距离变化得到,也即Lp1=Lon+vp1×ε;有了未来轨迹的第一个点Lp1,那么未来轨迹的第二个点Lp2,就是在第一个点Lp1的基础上,加上由预测的二个速度值vp2和时间为ε所产生的距离变化,也即Lp2=Lp1+vp2×ε,依次类推,能够得到预测的未来轨迹的最后一个点Lpn=Lp(n-1)+vp(n-1)×ε,即未来轨迹的最后一个点Lpn,可以通过未来轨迹的倒数第二个点Lp(n-1)加上最后一个速度vp(n-1)和时间ε产生的距离变化vp(n-1)×ε得到。
4.一种面向移动边缘计算的微服务预部署系统,其特征在于,包括
服务组合模块:将一个用户的应用请求转换为一个服务组合序列,服务组合序列指用户的一个请求由不同的微服务来组合完成;
移动性预测模块:首先利用用户的历史轨迹信息,通过人工智能中LSTM网络预测出用户未来最有可能经过的轨迹信息;在获得了用户未来轨迹信息之后,将结合服务组合模块中的用户的服务组合信息,将轨迹点和服务组合中的微服务候选集进行结合,获得用户在未来某个位置请求某个微服务候选集的信息,信息用键值(位置:微服务候选集)来描述,简称为请求信息;
优化预部署模块:生成一个优化的预部署方案来指导微服务的预部署;在生成预部署的方案的时候分为了两个步骤,首先是生成基础预部署方案以及针对基础预部署方案的优化,然后是基于优化后的基础预部署方案,利用优化后的基础预部署方案生成染色体,然后基于遗传算法通过综合考虑边缘服务器的资源限制和覆盖范围限制,请求成功率和结果接收成功率,以及资源消耗因素来产生最终的优化方案;具体包括以下子步骤:
步骤3.1:根据用户的服务组合信息和未来轨迹信息,生成一组用户预部署请求信息PDR,PDR中的每一项是一个键值对信息:(位置L:微服务候选集合CMi),将一个键值对信息定义为LC,则有:PDR=[LC1,LC2,…,LCn];每一个LC表示一个键值对,L=(latitude,longitude)表示一个具体的地理坐标,CM=[m1,m2,…,mn]表示的是一组可选的微服务,一个LC表示在一个具体的位置(latitude,longitude),用户能够请求[m1,m2,…,mn]中的任意一个微服务;
步骤3.2:在步骤3.1的基础上,生成基础预部署方案,通过遍历所有用户的(位置L:微服务候选集合CMi)请求信息,从而得到基础预部署方案;基础预部署方案是通过遍历每一个用户预部署请求信息PDR来获得,具体过程如下:
步骤3.21、获取第一个预部署请求信息或者下一个预部署请求信息,每一个预部署请求包含一个位置信息L=(latitude,longitude)和用户的请求的微服务候选集合CM=[m1,m2,…,mn];
步骤3.22、利用位置信息L来查询所有覆盖当前位置的边缘服务器S=[s1,s2,…,sn];
步骤3.23、遍历步骤3.22中的边缘服务器,查看是否有边缘服务器已经部署了CM中的任意一个微服务,如果部署了,则转到步骤3.21,否则继续往下执行;
步骤3.24、从CM中随机选一个微服务m,然后依次判断能否部署在S中的任意一个服务器上,依据就是服务器的资源是否满足微服务需要的资源,重复本步骤,直至所有微服务没有一个可以成功部署后,转至步骤3.21,重复本步骤期间只要有任何一个可以微服务可以成功部署,也跳转到步骤3.21;
步骤3.3:初始化遗传算法参数;包括交叉概率(μc),变异概率(μm),迭代次数(niter),和染色体个数(nchr);
步骤3.4:在步骤3.2基础上,生成染色体(CHR);在步骤3.2得到的基础预部署方案的基础上,通过随机算法,得到若干条初始的染色体,每条染色体代表一个预部署方案;
步骤3.5:在步骤3.4基础上,进行遗传算法的迭代;每一次遗传算法的迭代将涉及以下几个步骤:交叉、变异、计算适应度、排序、枝剪;最后返回最佳的部署方案,计算适应度值需要一个适应度函数该函数通过对该部署方案Ωi下的请求成功率η1、结果接收成功率η2和资源消耗率σ三个指标进行加权ω1,ω2,ω3求和,将最后的结果作为适应度值:
其中,步骤3.2中,生成基础预部署方案时,将根据多个场景进行优化,具体优化场景如下:
情形一:多个用户被相同的一个边缘服务器覆盖,且其微服务请求中存在重合项目,此时,只需要部署一个微服务即可,定义:用户u1和u2同时被服务器s1覆盖,且u1所请求的微服务需要从CM1={m1,m2,m3}中选择一个,u2所请求的微服务需要从CM2={m1,m5,m6}中选择一个;此时,最佳的方案就是只需要在s1上部署一个m1就可以同时满足两个用户的需求;
情形二:单个用户被多个边缘服务器覆盖,此时需要考虑边缘服务器的覆盖范围,是用户接收到结果的可能性最大;定义:用户u1被s1和s2覆盖,且用户的位置更靠近s1的中心,此时最佳的选择是将微服务部署在s1上,这样用户在接收到结果前离开s1的覆盖范围的可能性最小,从而可以提升结果接收成功率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110143727.5A CN112969144B (zh) | 2021-02-02 | 2021-02-02 | 一种面向移动边缘计算的微服务预部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110143727.5A CN112969144B (zh) | 2021-02-02 | 2021-02-02 | 一种面向移动边缘计算的微服务预部署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112969144A CN112969144A (zh) | 2021-06-15 |
CN112969144B true CN112969144B (zh) | 2022-04-26 |
Family
ID=76272419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110143727.5A Active CN112969144B (zh) | 2021-02-02 | 2021-02-02 | 一种面向移动边缘计算的微服务预部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112969144B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113784362A (zh) * | 2021-07-29 | 2021-12-10 | 三维通信股份有限公司 | 空中基站部署方法、装置、电子装置和存储介质 |
CN114338504B (zh) * | 2022-03-15 | 2022-07-08 | 武汉烽火凯卓科技有限公司 | 一种基于网络边缘系统的微服务部署和路由方法 |
CN114554420B (zh) * | 2022-04-26 | 2022-07-29 | 江西师范大学 | 一种基于轨迹预测的边缘计算服务迁移方法 |
CN114928633B (zh) * | 2022-05-16 | 2024-04-16 | 江苏赞奇科技股份有限公司 | 一种基于复杂云应用环境的高效控制方法及系统 |
CN116260730B (zh) * | 2023-05-15 | 2023-07-21 | 武汉大学 | 多边缘计算节点中的地理信息服务进化粒子群优化方法 |
CN117149443B (zh) * | 2023-10-30 | 2024-01-26 | 江西师范大学 | 一种基于神经网络的边缘计算服务部署方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737569A (zh) * | 2018-06-22 | 2018-11-02 | 浙江大学 | 一种面向移动边缘计算环境的服务选择方法 |
CN110928873A (zh) * | 2019-10-09 | 2020-03-27 | 中国人民解放军国防科技大学 | 基于改进非支配排序遗传算法的空间对象索引与查询方法 |
CN111027736A (zh) * | 2019-07-30 | 2020-04-17 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN111324429A (zh) * | 2019-10-09 | 2020-06-23 | 中国人民解放军国防科技大学 | 一种基于多代血统参考距离的微服务组合调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111225014B (zh) * | 2018-11-27 | 2023-04-11 | 中兴通讯股份有限公司 | 微服务的生成方法、装置、设备及存储介质 |
US11012520B2 (en) * | 2019-03-11 | 2021-05-18 | International Business Machines Corporation | Manage a network of microservices |
-
2021
- 2021-02-02 CN CN202110143727.5A patent/CN112969144B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737569A (zh) * | 2018-06-22 | 2018-11-02 | 浙江大学 | 一种面向移动边缘计算环境的服务选择方法 |
CN111027736A (zh) * | 2019-07-30 | 2020-04-17 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN110928873A (zh) * | 2019-10-09 | 2020-03-27 | 中国人民解放军国防科技大学 | 基于改进非支配排序遗传算法的空间对象索引与查询方法 |
CN111324429A (zh) * | 2019-10-09 | 2020-06-23 | 中国人民解放军国防科技大学 | 一种基于多代血统参考距离的微服务组合调度方法 |
Non-Patent Citations (2)
Title |
---|
Vehicular-OBUs-As-On-Demand-Fogs: Resource and Context Aware Deployment of Containerized Micro-Services;Hani Sami etc.;《 IEEE/ACM Transactions on Networking》;20200311;全文 * |
基于进化多目标优化的微服务组合部署与调度策略;马武彬 etc.;《系统工程与电子技术》;20200131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112969144A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112969144B (zh) | 一种面向移动边缘计算的微服务预部署方法及系统 | |
Ali et al. | A novel design of differential evolution for solving discrete traveling salesman problems | |
Rahimi-Vahed et al. | A multi-objective scatter search for a mixed-model assembly line sequencing problem | |
Torabi et al. | A particle swarm optimization for a fuzzy multi-objective unrelated parallel machines scheduling problem | |
CN110632907B (zh) | 一种分布式装配式置换流水车间调度优化方法及系统 | |
CN112016812B (zh) | 多无人机任务调度方法、系统及存储介质 | |
Zhang et al. | Particle swarm optimization for resource-constrained project scheduling | |
Kianfar et al. | Study of stochastic sequence-dependent flexible flow shop via developing a dispatching rule and a hybrid GA | |
Adibi et al. | A clustering-based modified variable neighborhood search algorithm for a dynamic job shop scheduling problem | |
Wu et al. | Mobility-aware deep reinforcement learning with glimpse mobility prediction in edge computing | |
Chen et al. | Can sophisticated dispatching strategy acquired by reinforcement learning?-a case study in dynamic courier dispatching system | |
CN111506835A (zh) | 一种融合用户时间特征和个性特征的数据特征提取方法 | |
Da Silva et al. | A hybrid memetic approach for fully automated multi-objective web service composition | |
Wu et al. | Multi-level federated graph learning and self-attention based personalized wi-fi indoor fingerprint localization | |
CN105740431A (zh) | 一种基于多层周期指数递阶的时序数据预测方法 | |
Liu et al. | Large-scale deep learning framework on FPGA for fingerprint-based indoor localization | |
Cheng et al. | An efficient hybrid differential evolution based serial method for multimode resource-constrained project scheduling | |
Cha et al. | A hierarchical auxiliary deep neural network architecture for large-scale indoor localization based on Wi-Fi fingerprinting | |
CN114822696B (zh) | 基于注意力机制的抗体非定序预测方法和装置 | |
Wu et al. | Prediction based semi-supervised online personalized federated learning for indoor localization | |
Akter et al. | DaTask: A decomposition-based deadline-aware task assignment and workers’ path-planning in mobile crowd-sensing | |
Cui et al. | Improved genetic algorithm to optimize the Wi-Fi indoor positioning based on artificial neural network | |
Simsek et al. | Detecting fake mobile crowdsensing tasks: Ensemble methods under limited data | |
Naveed et al. | Assessing deep generative models on time series network data | |
Zhang et al. | A meta-learning algorithm for rebalancing the bike-sharing system in IoT smart city |
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 |