一种容器化服务调度框架及弹性调度算法的制作方法

文档序号:30089357发布日期:2022-05-18 08:09阅读:227来源:国知局
一种容器化服务调度框架及弹性调度算法的制作方法

1.本发明涉及电力物联网技术领域,特别是一种容器化服务调度框架及弹性调度算法。


背景技术:

2.新一代电力物联网中,带宽高、密度大、时延低是业务的主流特征。如果依然采用原有的云计算模式,速度、延迟和稳定性根本无法得到保证。边缘计算是一种在网络边缘为用户提供服务的计算模式,拥有低时延、高带宽的特点。随着边缘计算技术的应用,服务调度功能逐渐向边缘侧倾斜。然而现有电力物联网边缘侧调度策略资源分发效率较低、灵活性较差,进而导致数据处理延迟高,服务可扩展性不高。


技术实现要素:

3.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
4.鉴于上述和/或现有的容器化服务调度框架及弹性调度算法中存在的问题,提出了本发明。
5.因此,本发明所要解决的问题在于现有电力物联网边缘侧调度策略资源分发效率较低、灵活性较差,进而导致数据处理延迟高,服务可扩展性不高。
6.为解决上述技术问题,本发明提供如下技术方案:一种容器化服务调度框架及弹性调度算法,其包括,用户请求通过主节点的api网关进行语义分析及转发;
7.对解析出的实际操作对象进行创建及调度,所有对象存入键值数据库当中;
8.额外的控制器进程对集群中对象进行健康监视;
9.基于kubenetes中的hpa水平扩容控制器,实现动态资源调度,水平扩容控制器通过指标聚合器将第三方工具收集到的指标数据进行聚合,从而将指标用于弹性调度算法,计算弹性资源调度的最优方案,并进行动态扩容,扩容具体流程:
10.创建hpa水平扩容控制器资源;
11.设置控制管理器的周期;
12.运行应用实例,收集资源使用情况;
13.对容忍度进行考量。
14.作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:主节点作为整个集群的控制中心,主要负责资源的分配、调度及回收,所有从节点被用作资源池,作为主节点的划分对象。
15.作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:所有节点采用虚拟机,多虚拟机保证节点的可用性,整个架构中的所有节点,均通过docker引擎作为容器运行。
16.作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:集群存储采用分布式数据库etcd,以高可用的键值存储方式保存元数据以及所有资源的期望状态和当前状态。
17.作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:在标注蚁群算法的基础上,对于信息素的初始化、更新,以及启发因子的设置等进行优化改进,以达到目标任务以及适应边缘计算环境下的要求。
18.对边缘节点的负载均衡性采用负载不均衡度来度量,该值在0到1之间取值,该值越小则表示边缘节点的任务的负载分布越均匀,系统的整体性能越高。具体表示为:
[0019][0020]
其中,分别表示边缘节点i(i=1,

,n)对于cpu、gpu、内存的使用率;分别表示整体边缘节点对于cpu、gpu、内存的平均使用率。
[0021]
作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:启发式因子用η
ij
,主要表示的是任务i布置在边缘节点j的期望强度,η
ij
的值越大则任务布置在该节点的可能性也越大:
[0022][0023]
其中,q为任意常数,则可以定义为等待分配的任务对于所需求的资源与节点空闲资源之间的余弦相似度,相当于是任务i与节点j之间的相似程度用二者之间的夹角表示;
[0024]
夹角越小,则代表着二者之间的相似程度越高,任务分配在该节点的可能性也越高:
[0025][0026]
其中,a表示边缘节点可以为任务提供的资源种类的个数(以cpu、gpu、内存三种资源为需求资源);为边缘节点i的第a种资源的空闲量;为任务j的第a种资源的需求量。
[0027]
作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:任务与节点之间的分配为多对一的映射关系,在任务的分配中保证任务对于每一种资源的需求量都应该小于节点空闲的资源量,通过对比任务对cpu、 gpu、内存的需求和节点可利用资源进行对比防止将任务分配在资源不足的节点上面,即:
[0028][0029]
[0030][0031]
其中,分别表示任务j在边缘节点i上cpu、gpu、内存的使用量;分别表示边缘节点i关于cpu、gpu、内存的可使用量。
[0032]
作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:初始蚁群算法的信息素更新对于全部的路径挥发,这样会导致经常未走过的节点的信息素会越来越低甚至趋近于零。所以,对于没有走过的路径不进行挥发,具体更改如下:
[0033][0034][0035]
其中,ρ表示信息素的挥发因子,1-ρ表示信息素的残留因子。若δτ
ij
=0 则表示该任务没有分配在该节点上面。
[0036]
作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:算法总体流程:
[0037]
输入:边缘节点集合pm={pm1,pm2,

,pmn},任务需求集合 tn={tn1,tn2,

,tnn},信息素启发因子α,期望启发因子β,信息素挥发率ρ等初始需求。
[0038]
输出:最优的任务分配方案和负载不均衡度。
[0039]
作为本发明所述容器化服务调度框架及弹性调度算法的一种优选方案,其中:初始化蚂蚁个数antnum并且按照任务提交的顺序将任务的需求资源附加在每一个任务上;
[0040]
随机将n个携带着任务需求的蚂蚁分配在随机节点上面,计算第k只蚂蚁将任务i分配在节点j的概率;
[0041]
第k只蚂蚁完成所有的任务分配之后,对所分配的节点进行局部更新;
[0042]
完成该蚂蚁的部署之后计算该分配方案的负载不均衡度,并与历史记录对比并记录最优分配方案和最小负载不均衡度;
[0043]
判断所有的蚂蚁是否全部结束;
[0044]
判断是否满足迭代次数或者满足了预先设置的负载均衡度,算法迭代结束返回最优路径解,否则,重新计算第k只蚂蚁将任务i分配在节点j的概率。
[0045]
本发明有益效果为:本发明整合docker容器技术、kubenetes容器管理技术,提出一种基于容器技术的电力物联网边缘侧服务调度框架,以及在基于容器技术的电力物联网边缘侧服务调度框架下,为了弥补电力物联网边缘侧服务调度算法的不足,在标注蚁群算法的基础上,对于信息素的初始化、更新,以及启发因子的设置等进行优化改进,设计一种基于蚁群算法的弹性资源动态调度算法,实现边缘端任务分配的负载均衡,让有限的边缘资源发挥最大的功效。
附图说明
[0046]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用
的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0047]
图1为容器化服务调度框架及弹性调度算法的场景图。
具体实施方式
[0048]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
[0049]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0050]
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0051]
实施例1
[0052]
参照图1,为本发明第一个实施例,该实施例提供了一种容器化服务调度框架及弹性调度算法,容器化服务调度框架及弹性调度算法包括如图1所示,整体架构采用分布式主/从架构,主节点作为整个集群的控制中心,主要负责资源的分配、调度及回收。所有从节点被用作资源池,作为主节点的划分对象。所有节点采用虚拟机,多虚拟机保证节点的可用性,将节点瘫痪的可能性降到最低。整个架构中的所有节点,均通过docker引擎作为容器运行。集群存储采用分布式数据库etcd,以高可用的键值存储方式保存元数据以及所有资源的期望状态和当前状态,保证数据安全及系统稳定运行。
[0053]
整个架构运行的流程为:用户请求通过主节点的api网关进行语义分析及转发;对解析出的实际操作对象进行创建及调度,所有对象存入键值数据库当中;额外的控制器进程对集群中对象进行健康监视。
[0054]
基于kubenetes中的hpa水平扩容控制器,实现动态资源调度。水平扩容控制器通过指标聚合器将第三方工具收集到的指标数据进行聚合,从而将指标用于弹性调度算法,计算弹性资源调度的最优方案,并进行动态扩容。扩容具体流程:
[0055]
创建hpa水平扩容控制器资源。设定应用的实例数目范围以及cpu平均使用量限额,并且根据应用类型,设置好pod容器的资源使用限制,设置容忍度参数,默认为0.1;
[0056]
设置控制管理器的周期。该周期为查询资源使用情况周期,将其设置为30 秒;
[0057]
运行应用实例,收集资源使用情况。使用指标值与设定值进行计算(指标值之和/设定限额),求出目标调整的实例个数;
[0058]
对容忍度进行考量。若超出容忍度范围,则调整实例数目,否则重复求出目标调整的实例个数。目标调整的实例数不能超过容忍度参数中设定的实例数范围,如果没有超过,则扩容;超过,则扩容至最大的实例个数,重复使用指标值与设定值进行计算(指标值之和/设定限额),求出目标调整的实例个数。
[0059]
在标注蚁群算法的基础上,对于信息素的初始化、更新,以及启发因子的设置等进行优化改进,以达到目标任务以及适应边缘计算环境下的要求。
[0060]
对边缘节点的负载均衡性采用负载不均衡度来度量,该值在0到1之间取值,该值越小则表示边缘节点的任务的负载分布越均匀,系统的整体性能越高。具体表示为:
[0061][0062]
此为公式1,其中,分别表示边缘节点i(i=1,

,n)对于cpu、gpu、内存的使用率;分别表示整体边缘节点对于cpu、gpu、内存的平均使用率。
[0063]
启发式因子用η
ij
,主要表示的是任务i布置在边缘节点j的期望强度,η
ij
的值越大则任务布置在该节点的可能性也越大:
[0064][0065]
此为公式2,其中,q为任意常数,则可以定义为等待分配的任务对于所需求的资源与节点空闲资源之间的余弦相似度,相当于是任务i与节点j 之间的相似程度用二者之间的夹角表示。夹角越小,则代表着二者之间的相似程度越高,任务分配在该节点的可能性也越高:
[0066][0067]
此为公式3,其中,a表示边缘节点可以为任务提供的资源种类的个数(以 cpu、gpu、内存三种资源为需求资源);为边缘节点i的第a种资源的空闲量;为任务j的第a种资源的需求量。
[0068]
根据公式3可以得出:待分配任务与边缘节点之间的匹配度越小,节点越能适应任务对于节点的性能要求,该任务分配在此节点的可能性也应该越高。在任务的分配过程中,匹配度也在随着时间的变化在不停的变化,令表示时刻t边缘节点i与任务j的匹配度,如果任务j放置在边缘节点i上,则在下次边缘节点i与其他任务的匹配度计算要在分配了任务j所需资源后的空闲资源进行计算。
[0069]
任务与节点之间的分配为多对一的映射关系,在任务的分配中保证任务对于每一种资源的需求量都应该小于节点空闲的资源量,通过对比任务对cpu、 gpu、内存的需求和节点可利用资源进行对比防止将任务分配在资源不足的节点上面,即:
[0070][0071][0072]
[0073]
依次为公式4、公式5和公式6,其中,分别表示任务j 在边缘节点i上cpu、gpu、内存的使用量;分别表示边缘节点i关于cpu、gpu、内存的可使用量。
[0074]
初始蚁群算法的信息素更新对于全部的路径挥发,这样会导致经常未走过的节点的信息素会越来越低甚至趋近于零。所以,对于没有走过的路径不进行挥发,具体更改如下:
[0075][0076][0077]
依次为公式7和公式8,其中,ρ表示信息素的挥发因子,1-ρ表示信息素的残留因子。若δτ
ij
=0则表示该任务没有分配在该节点上面。
[0078]
算法总体流程:
[0079]
输入:边缘节点集合pm={pm1,pm2,

,pmn},任务需求集合 tn={tn1,tn2,

,tnn},信息素启发因子α,期望启发因子β,信息素挥发率ρ等初始需求。
[0080]
输出:最优的任务分配方案和负载不均衡度。
[0081]
步骤1:初始化蚂蚁个数antnum并且按照任务提交的顺序将任务的需求资源附加在每一个任务上,迭代次数maxiter,启发式因子α和β以及相关参数。
[0082]
步骤2:随机将n个携带着任务需求的蚂蚁分配在随机节点上面,计算第k 只蚂蚁将任务i分配在节点j的概率。之后利用轮盘赌的方式从满足条件的节点中随机选择一个节点作为该任务的分配节点,并将该任务部署在该节点上。概率选择公式为:
[0083][0084]
此为公式9,其中,表示第k只蚂蚁中任务i选择节点j的概率,τ
ij
(t)表示路径(i,j)的信息素浓度,η
ij
(t)表示路径(i,j)的启发式因子,如公式(2)。allowedk为任务i的可分配列表。
[0085]
步骤3:第k只蚂蚁完成所有的任务分配之后,对所分配的节点按照公式5 进行局部更新。
[0086]
步骤4:完成该蚂蚁的部署之后按照公式1计算该分配方案的负载不均衡度,并与历史记录对比并记录最优分配方案和最小负载不均衡度。
[0087]
步骤5:判断所有的蚂蚁是否全部结束,如果有蚂蚁没有完成则跳至步骤2;如果所有的蚂蚁均完成了本次迭代,计算出全局最优解并保存,最后按照最优的放置方案根据公式7进行信息素的全局更新。
[0088]
步骤6:判断是否满足迭代次数或者满足了预先设置的负载均衡度,算法迭代结束返回最优路径解。否则,返回步骤2。。
[0089]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳
实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1