一种基于边缘计算框架的容器调度方法与流程

文档序号:17474969发布日期:2019-04-20 06:03阅读:313来源:国知局
一种基于边缘计算框架的容器调度方法与流程

本发明涉及一种基于边缘计算框架的容器调度方法,属于边缘计算技术与物联网技术应用结合技术领域。



背景技术:

边缘计算是一种按使用量付费的模式,不同于传统云计算,边缘计算在终端设备所产生的数据源及云计算数据中心之间增加了一层“边缘”层,边缘层主要由一些性能不一、更加分散的计算机系统组成,这些计算机系统被称为边缘节点。计算任务在接近数据源的边缘计算节点上执行,通过互联网共享计算、存储、数据及应用资源,为其他设备提供优化的计算服务。边缘计算架构下通过在网络边缘设备上部署实施数据处理的边缘计算平台对外提供一套完善可用的服务及功能接口,以在网络边缘侧处理终端设备所产生的数据,从而实现请求响应的实时性,不仅降低了服务时延,也减少了网络传输带宽负载,避免网络延迟。在实际数据处理过程中,部署到边缘节点的计算任务的系统资源需求较少,对于资源密集型计算任务,边缘节点因系统资源受限不支持其部署运行,故此类任务转移至云端执行。因此,边缘计算架构的管理系统需要一种高资源需求的任务部署算法以实现将高实时性需求的任务合理部署至边缘节点或云节点的任务分配与调度策略,以使得任务的调度部署达到最优化。

边缘计算中的任务调度算法总体上实现两大功能:预选和优选。现有的大多数优选调度算法思想,如leastrequestedpriority、servicespreadingpriority和equalpriority,多是对已有节点的调度优先级评判,并没有一种可以弹性扩展的调度方案。例如(1)leastrequestedpriority算法基本思想是将容器调度到空闲资源较多的节点上,包括cpu资源及内存资源占用情况的考量,并将两者剩余可用资源占总资源的比值求和再取算术平均值作为各节点的调度优先级,分值越高即调度优先级越高。(2)servicespreadingpriority调度算法的原则是使隶属于同一服务的容器分散调度在不同的计算节点上运行,从而实现服务高可用以及流量负载均衡;(3)equalpriority调度算法平等对待每一个候选节点,因该算法权值为0,故在实际调度过程中不会调用该优选算法判定节点优先级。由此可见,传统容器调度算法并未利用弹性计算这一大优势,而仅局限在现有节点间的调度。



技术实现要素:

本发明所要解决的技术问题是提供一种基于边缘计算框架的容器调度方法,充分利用边缘框架中的弹性计算优势,考虑到低时延的服务需求,在遗传算法中融入模拟退火的算法思想,在众多候选节点中弹性的选中待扩展的节点,以保障请求及时反馈与系统高效运转。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于边缘计算框架的容器调度方法,将用户终端上封装了待处理任务的待调度容器上传至云端服务器,由云端服务器根据设计调度策略决定将待调度容器调度至云端处理或调度至边缘节点服务器处理;云端服务器执行如下步骤:

步骤a.分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,获取候选边缘节点服务器所对应各个指定类型指标的资源数据,然后进入步骤b;

步骤b.分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,针对候选边缘节点服务器所对应的各个指定类型指标、分别进行浮点数编码处理,获得各候选边缘节点服务器分别对应各指定类型指标的编码数据,然后进入步骤c;

步骤c.根据各指定类型指标的预设权重,分别针对各个候选边缘节点服务器,针对候选边缘节点服务器所对应的各指定类型指标编码数据进行加权处理,获得加权值,作为该候选边缘节点服务器所对应的适应度,进而获得各候选边缘节点服务器分别所对应的适应度,然后进入步骤d;其中,各指定类型指标的预设权重之和等于1;

步骤d.根据最小适应度预设值min,删除所对应适应度小于最小适应度预设值min的各个候选边缘节点服务器,剩余各个候选边缘节点服务器构成候选服务器集合,然后进入步骤e;

步骤e.初始化i=1,然后进入步骤f;

步骤f.由候选服务器集合中选取最大适应度的候选边缘节点服务器、以及次大适应度的候选边缘节点服务器,分别作为父边缘节点服务器与母边缘节点服务器;

然后针对父边缘节点服务器、母边缘节点服务器分别所对应各指定类型指标的编码数据,随机选择n个指定类型指标,将父边缘节点服务器、母边缘节点服务器分别对应该n个指定类型指标的编码数据的彼此互换,新生成两组分别对应各指定类型指标的编码数据,即对应两个新候选边缘节点服务器,然后进入步骤g,其中,1≤n<n,n表示指定类型指标的总个数;

步骤g.分别针对上一步骤中两个新候选边缘节点服务器,按预设步长动态变化规则,随机针对新候选边缘节点服务器所对应各指定类型指标的编码数据进行步长变化,进一步获得各个新候选边缘节点服务器,进而由上一步骤中两个新候选边缘节点服务器、进一步获得各个新候选边缘节点服务器;然后按步骤c的方法、获得各个新候选边缘节点服务器的适应度,并删除其中适应度小于最小适应度预设值min的新候选边缘节点服务器,将剩余各个新候选边缘节点服务器加入、并更新候选服务器集合,并进入步骤h;

步骤h.判断候选服务器集合中是否存在适应度大于或等于最大适应度预设值max的候选边缘节点服务器,是则选择最大适应度所对应的候选边缘节点服务器,作为目标边缘节点服务器,并进入步骤j;否则进入步骤i;

步骤i.判断i是否等于i,是则进入步骤k;否则针对i所对应的值进行加1更新,然后返回步骤f;其中,i表示预设最大迭代次数;

步骤j.云端服务器将待调度容器调度在目标边缘节点服务器上进行处理,调度结束;

步骤k.云端服务器将待调度容器调度在云端上进行处理,调度结束。

作为本发明的一种优选技术方案:所述步骤g中,所述预设步长动态变化规则为,基于预设最大步长,随每次迭代,以预设变化量,实现步长的减小更新,获得分别对应每次迭代的步长。

作为本发明的一种优选技术方案:所述各指定类型指标包括cpu类型指标、内存类型指标、存储i/o类型指标、以及网络i/o类型指标。

作为本发明的一种优选技术方案:所述步骤b中,分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,按如下公式:

针对候选边缘节点服务器所对应的cpu类型指标和内存类型指标、分别进行浮点数编码处理,获得该候选边缘节点服务器分别对应cpu类型指标和内存类型指标的编码数据,进而获得各候选边缘节点服务器分别对应cpu类型指标和内存类型指标的编码数据;其中,a表示cpu类型指标或内存类型指标,codea表示候选边缘节点服务器对应指定类型指标a的编码数据,capacitya表示候选边缘节点服务器中指定类型指标a的总资源数据,totala表示候选边缘节点服务器中指定类型指标a的已使用资源数据、与待调度容器对应指定类型指标a的资源需求数据之和。

作为本发明的一种优选技术方案:所述步骤b中,分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,按如下公式:

针对候选边缘节点服务器所对应的存储i/o类型指标和网络i/o类型指标、分别进行浮点数编码处理,获得该候选边缘节点服务器分别对应存储i/o类型指标和网络i/o类型指标的编码数据,进而获得各候选边缘节点服务器分别对应存储i/o类型指标和网络i/o类型指标的编码数据;其中,b表示存储i/o类型指标或网络i/o类型指标,codeb表示候选边缘节点服务器对应指定类型指标b的编码数据,curb表示候选边缘节点服务器对应指定类型指标b的每秒读写操作次数,maxb表示所有候选边缘节点服务器中对应指定类型指标b的每秒读写操作次数的最大值。

作为本发明的一种优选技术方案,所述各指定类型指标的预设权重如下:

cpu类型指标的权重为0.3,内存类型指标的权重为0.3,存储i/o类型指标的权重为0.2,网络i/o类型指标的权重为0.2。

作为本发明的一种优选技术方案,所述步骤f中,针对父边缘节点服务器、母边缘节点服务器分别所对应各指定类型指标的编码数据,将父边缘节点服务器、母边缘节点服务器分别对应该cpu类型指标和存储i/o类型指标的编码数据的彼此互换,新生成两组分别对应各指定类型指标的编码数据,即对应两个新候选边缘节点服务器,将其加入、并更新候选服务器集合。

本发明所述一种基于边缘计算框架的容器调度方法采用以上技术方案与现有技术相比,具有以下技术效果:

本发明所设计一种基于边缘计算框架的容器调度方法,不同于现有的容器调度优选算法,主要体现在:第一,遗传算法充分利用边缘计算平台的弹性计算这一大优势,可自动扩展适应度更高的节点,使容器调度不再局限于“优中选优”的调度方式;第二,遗传算法的另一大亮点在于系统不必了解如何去“找”目标节点,而是简单地否定适应度低的节点;第三,在步长的选择问题上结合模拟退火的算法思想打破了小范围跳转的桎梏,从跳转过程中可能遇到的局部最优解中跳脱出来,从而达到全局最优解。如此,本发明实现了最优化容器调度方案,在保障服务高质化的同时极大程度上满足用户的实际使用需求,为容器调度创造更高的效益。

附图说明

图1是本发明所设计一种基于边缘计算框架的容器调度方法的框架;

图2为本发明所设计一种基于边缘计算框架的容器调度方法的流程示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明设计了一种基于边缘计算框架的容器调度方法,基于边缘计算框架的容器调度方法,将用户终端上封装了待处理任务的待调度容器上传至云端服务器,由云端服务器根据设计调度策略决定将待调度容器调度至云端处理或调度至边缘节点服务器处理;实际应用当中,如图1和图2所示,云端服务器执行如下步骤:

步骤a.分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,获取候选边缘节点服务器所对应各个指定类型指标的资源数据,然后进入步骤b。

步骤b.分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,针对候选边缘节点服务器所对应的各个指定类型指标、分别进行浮点数编码处理,获得各候选边缘节点服务器分别对应各指定类型指标的编码数据,然后进入步骤c。

步骤c.根据各指定类型指标的预设权重,分别针对各个候选边缘节点服务器,针对候选边缘节点服务器所对应的各指定类型指标编码数据进行加权处理,获得加权值,作为该候选边缘节点服务器所对应的适应度,进而获得各候选边缘节点服务器分别所对应的适应度,然后进入步骤d;其中,各指定类型指标的预设权重之和等于1。

步骤d.根据最小适应度预设值min,删除所对应适应度小于最小适应度预设值min的各个候选边缘节点服务器,剩余各个候选边缘节点服务器构成候选服务器集合,然后进入步骤e。

步骤e.初始化i=1,然后进入步骤f。

步骤f.由候选服务器集合中选取最大适应度的候选边缘节点服务器、以及次大适应度的候选边缘节点服务器,分别作为父边缘节点服务器与母边缘节点服务器。

然后针对父边缘节点服务器、母边缘节点服务器分别所对应各指定类型指标的编码数据,随机选择n个指定类型指标,将父边缘节点服务器、母边缘节点服务器分别对应该n个指定类型指标的编码数据的彼此互换,新生成两组分别对应各指定类型指标的编码数据,即对应两个新候选边缘节点服务器,然后进入步骤g,其中,1≤n<n,n表示指定类型指标的总个数。

步骤g.分别针对上一步骤中两个新候选边缘节点服务器,按预设步长动态变化规则,随机针对新候选边缘节点服务器所对应各指定类型指标的编码数据进行步长变化,进一步获得各个新候选边缘节点服务器,进而由上一步骤中两个新候选边缘节点服务器、进一步获得各个新候选边缘节点服务器;然后按步骤c的方法、获得各个新候选边缘节点服务器的适应度,并删除其中适应度小于最小适应度预设值min的新候选边缘节点服务器,将剩余各个新候选边缘节点服务器加入、并更新候选服务器集合,并进入步骤h。

上述步骤g中,所述预设步长动态变化规则为,基于预设最大步长,随每次迭代,以预设变化量,实现步长的减小更新,获得分别对应每次迭代的步长。从而能更加精确地找出全局最优解、确定容器调度的边缘节点服务器。

步骤h.判断候选服务器集合中是否存在适应度大于或等于最大适应度预设值max的候选边缘节点服务器,是则选择最大适应度所对应的候选边缘节点服务器,作为目标边缘节点服务器,并进入步骤j;否则进入步骤i。

步骤i.判断i是否等于i,是则进入步骤k;否则针对i所对应的值进行加1更新,然后返回步骤f;其中,i表示预设最大迭代次数。

步骤j.云端服务器将待调度容器调度在目标边缘节点服务器上进行处理,调度结束。

步骤k.云端服务器将待调度容器调度在云端上进行处理,调度结束。

将上述所设计基于边缘计算框架的容器调度方法,应用于实际当中,基于边缘计算框架的容器调度方法,将用户终端上封装了待处理任务的待调度容器上传至云端服务器,由云端服务器根据设计调度策略决定将待调度容器调度至云端处理或调度至边缘节点服务器处理;实际应用当中,如图1和图2所示,云端服务器执行如下步骤:

步骤a.分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,获取候选边缘节点服务器所分别对应cpu类型指标、内存类型指标、存储i/o类型指标、以及网络i/o类型指标的资源数据,然后进入步骤b。

步骤b.分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,针对候选边缘节点服务器所对应的cpu类型指标、内存类型指标、存储i/o类型指标、以及网络i/o类型指标、分别进行浮点数编码处理,获得各候选边缘节点服务器分别对应各指定类型指标的编码数据,然后进入步骤c。

这里步骤b中,分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,按如下公式:

针对候选边缘节点服务器所对应的cpu类型指标和内存类型指标、分别进行浮点数编码处理,获得该候选边缘节点服务器分别对应cpu类型指标和内存类型指标的编码数据,进而获得各候选边缘节点服务器分别对应cpu类型指标和内存类型指标的编码数据;其中,a表示cpu类型指标或内存类型指标,codea表示候选边缘节点服务器对应指定类型指标a的编码数据,capacitya表示候选边缘节点服务器中指定类型指标a的总资源数据,totala表示候选边缘节点服务器中指定类型指标a的已使用资源数据、与待调度容器对应指定类型指标a的资源需求数据之和。

以及分别针对与用户终端之间存在通信联系的各个候选边缘节点服务器,按如下公式:

针对候选边缘节点服务器所对应的存储i/o类型指标和网络i/o类型指标、分别进行浮点数编码处理,获得该候选边缘节点服务器分别对应存储i/o类型指标和网络i/o类型指标的编码数据,进而获得各候选边缘节点服务器分别对应存储i/o类型指标和网络i/o类型指标的编码数据;其中,b表示存储i/o类型指标或网络i/o类型指标,codeb表示候选边缘节点服务器对应指定类型指标b的编码数据,curb表示候选边缘节点服务器对应指定类型指标b的每秒读写操作次数,maxb表示所有候选边缘节点服务器中对应指定类型指标b的每秒读写操作次数的最大值。

步骤c.根据cpu类型指标的权重为0.3,内存类型指标的权重为0.3,存储i/o类型指标的权重为0.2,网络i/o类型指标的权重为0.2,分别针对各个候选边缘节点服务器,针对候选边缘节点服务器所对应的cpu类型指标、内存类型指标、存储i/o类型指标、以及网络i/o类型指标的编码数据进行加权处理,获得加权值,作为该候选边缘节点服务器所对应的适应度,进而获得各候选边缘节点服务器分别所对应的适应度,然后进入步骤d。

步骤d.根据最小适应度预设值min,删除所对应适应度小于最小适应度预设值min的各个候选边缘节点服务器,剩余各个候选边缘节点服务器构成候选服务器集合,然后进入步骤e。

步骤e.初始化i=1,然后进入步骤f。

步骤f.由候选服务器集合中选取最大适应度的候选边缘节点服务器、以及次大适应度的候选边缘节点服务器,分别作为父边缘节点服务器与母边缘节点服务器。

在本发明中,每次从候选节点中选择适应度最大的前两个节点作为基因重组的父节点与母节点。基因重组后得到的子节点相较于轮盘赌选择方式选定父母节点进行基因重组所得到子节点的适应度取值更为理想。

然后针对父边缘节点服务器、母边缘节点服务器分别所对应各指定类型指标的编码数据,将父边缘节点服务器、母边缘节点服务器分别对应该cpu类型指标和存储i/o类型指标的编码数据的彼此互换,新生成两组分别对应各指定类型指标的编码数据,即对应两个新候选边缘节点服务器,然后进入步骤g。

如选取的父边缘节点服务器的浮点数编码为7.2-6.4-3.8-4.6,母边缘节点服务器的浮点数编码为6.5-7.4-5.7-3.9,基因重组过程将cpu类型指标和存储i/o类型指标互换,则新候选边缘节点服务器的浮点数编码为6.5-6.4-5.7-4.6和7.2-7.4-3.8-3.9。

步骤g.分别针对上一步骤中两个新候选边缘节点服务器,按预设步长动态变化规则,随机针对新候选边缘节点服务器所对应各指定类型指标的编码数据进行步长变化,进一步获得各个新候选边缘节点服务器,进而由上一步骤中两个新候选边缘节点服务器、进一步获得各个新候选边缘节点服务器;然后按步骤c的方法、获得各个新候选边缘节点服务器的适应度,并删除其中适应度小于最小适应度预设值min的新候选边缘节点服务器,将剩余各个新候选边缘节点服务器加入、并更新候选服务器集合,并进入步骤h。

上述步骤g中,所述预设步长动态变化规则为,基于预设最大步长,随每次迭代,以预设变化量,实现步长的减小更新,获得分别对应每次迭代的步长。

对于步骤f中新候选边缘节点服务器的浮点数编码6.5-6.4-5.7-4.6,假设存储i/o类型指标发生突变,突变步长为0.2,则突变后候选边缘节点服务器的浮点数编码为6.5-6.4-5.5-4.6(向下突变)或6.5-6.4-5.9-4.6(向上突变)。步长的选择过程体现模拟退火的算法思想,有利于从局部最优解中跳脱出来以找到全局最优解,即最优容器调度方案。

步骤h.判断候选服务器集合中是否存在适应度大于或等于最大适应度预设值max的候选边缘节点服务器,是则选择最大适应度所对应的候选边缘节点服务器,作为目标边缘节点服务器,并进入步骤j;否则进入步骤i。

步骤i.判断i是否等于i,是则进入步骤k;否则针对i所对应的值进行加1更新,然后返回步骤f;其中,i表示预设最大迭代次数。

步骤j.云端服务器将待调度容器调度在目标边缘节点服务器上进行处理,调度结束。

步骤k.云端服务器将待调度容器调度在云端上进行处理,调度结束。

本发明中加入对于容器调度目标节点选择的另两种影响因素:存储i/o类型指标和网络i/o类型指标,利用边缘计算弹性计算优势并借助遗传算法真正发挥出该优势,从而提出一种新的边缘计算框架系的云与端的容器调度算法。该方法的应用成功解决现有容器调度优选算法节点选择范围固定这一共性问题,能根据实际容器调度需求自由扩展新节点,实现调度方案最优化。将资源密集型容器调度至云端运行,将资源需求小的容器择优选择边缘节点调度运行,从而有效解决了传统云计算高时延、高负载的弊端。同时,模拟退火算法思想的引入加快目标节点选定过程。因此,本发明既保证高质化服务又极大程度上满足用户的实际使用需求。

上述技术方案所设计基于边缘计算框架的容器调度方法,不同于现有的容器调度优选算法,主要体现在:第一,遗传算法充分利用边缘计算平台的弹性计算这一大优势,可自动扩展适应度更高的节点,使容器调度不再局限于“优中选优”的调度方式;第二,遗传算法的另一大亮点在于系统不必了解如何去“找”目标节点,而是简单地否定适应度低的节点;第三,在步长的选择问题上结合模拟退火的算法思想打破了小范围跳转的桎梏,从跳转过程中可能遇到的局部最优解中跳脱出来,从而达到全局最优解。如此,本发明实现了最优化容器调度方案,在保障服务高质化的同时极大程度上满足用户的实际使用需求,为容器调度创造更高的效益。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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