基于启发式蚁群算法的docker集群部署优化方法技术

技术编号:30013672 阅读:19 留言:0更新日期:2021-09-11 06:16
本发明专利技术公开了一种基于启发式蚁群算法的docker集群部署优化方法,本发明专利技术采取启发式蚁群算法对docker集群调度进行改进,使得docker集群中各个节点的资源利用更加均衡,更快的服务响应速度;通过本发明专利技术能够实现docker集群各节点主机任务相对均衡分布,提升节点的资源均衡度和资源利用率;而且通过相关的资源节点对应到部署节点的筛选,能够选择出更加适合实用的部署节点;同时借助对用户权限的补偿分析,合理根据用户的实际情况进行优先级确定;本发明专利技术简单有效,且易于实用。且易于实用。

【技术实现步骤摘要】
基于启发式蚁群算法的docker集群部署优化方法


[0001]本专利技术属于集群部署优化领域,具体是基于启发式蚁群算法的docker集群部署优化方法。

技术介绍

[0002]在云计算运维领域,docker是一种典型的容器技术,针对docker集群的编排,目前主要是使用其自带的集群编排工具Swarm,进行docker容器的初始化部署与调度。
[0003]主要缺陷在于:
[0004](1)使用Swarm调度资源时,存在负载不均,集群整体性能差的问题,无法完美实现负载均衡;
[0005](2)该调度工具只考虑到了整个容器的资源分配,并未对不同的资源类型做更为详细的权值计算,并不能保证所利用即为所分配;
[0006](3)该调度工具没有考虑到节点资源碎片的问题,造成资源的浪费。
[0007]为了解决这一技术缺陷,现提供一种解决方案。

技术实现思路

[0008]本专利技术的目的在于提供基于启发式蚁群算法的docker集群部署优化方法。
[0009]本专利技术的目的可以通过以下技术方案实现:
[0010]基于启发式蚁群算法的docker集群部署优化方法,该方法具体包括如下步骤:
[0011]步骤(1):进行容器排序,得到排序后的容器集为C{c1,c2,

,c
n
};
[0012]步骤(2):进行节点资源负载评估;具体评估步骤为:
[0013]S01:获取到所有的资源节点,及其对应的实时负载;/>[0014]S02:任选一资源节点;
[0015]S03:从初始时刻,每间隔T1时间获取其一次实时负载占比,实时负载占比即为此时的负载占总容量的比例,得到负载数据组,将负载数据组标记为Fj,j=1、...、m;T1为预设数值;
[0016]S04:对m值进行判定,当m大于X1时,X1为预设数值;
[0017]S05:获取到最新的实时负载占比Fm,以其为基点,往前连续获取在其前的14个数据;
[0018]S06:将取得的数据标记为目标分析组Bj,j=1、...、15;计算其均值,将其标记为P;
[0019]S07:利用公式计算稳值W,具体计算公式为:
[0020][0021]式中,|*|表示为取括号内值的绝对值;
[0022]S08:当P低于X2,且满足W小于X3产生满足信号;X2、X3均为管理人员预设的数值;
[0023]S09:经过T2时间后,再次取15个数据,重复步骤S06

S08的处理,当再次产生满足信号时,将对应的资源节点作为部署节点;
[0024]S010:任选下一资源节点,重复步骤S03

S010,对所有的资源节点进行筛选,得到所有的部署节点;资源负载状态为正常的资源节点的部署节点集为S{s1,s2,

,s
a
};
[0025]步骤(3)资源需求过滤;由于每个容器对资源的需求是不同的,需要针对每个容器选择其满足需求的候选部署资源节点集;
[0026]对S{s1,s2,

,s
a
}中的资源节点进行资源余量过滤,为每个需要部署的容器筛选出合适的资源节点集S{s1,s2,

,s
m
},具体筛选时按照所需资源量从大到小的顺序进行开始筛选。
[0027]进一步地,步骤(1)进行容器排序的具体方法为:
[0028]对于用户发服务请求,需要部署的容器;按照其SLA等级进行排序;同时进行排序补偿操作,具体排序补偿操作步骤为:
[0029]步骤一:首先获取到所有的用户,之后调取用户对应的近期使用习惯数据;使用习惯数据包括段内使用次数、存续时间、断续时间和用户等级;
[0030]步骤二:对用户等级进行赋值操作,得到用户权限值;
[0031]步骤三:将使用次数、存续时间、断续时间均去除对应的量纲,之后借助纯数值进行用户优先值计算,具体用户优先值的计算公式为:
[0032]用户优先值=0.16*使用次数+0.21*存续时间+0.15*断续时间+0.48*用户权限值;
[0033]式中,0.16、0.21、0.15和0.48均为预设的权值;
[0034]步骤四:根据新的用户优先值从大到小的顺序对集群中需要部署的容器进行排序;
[0035]步骤五:排序后的容器集为C{c1,c2,...,c
n
};
[0036]进一步地,步骤一中的段内使用次数为对应的在近一个月以来用户使用对应云服务的次数;存续时间即为用户与云服务提供商每一次加起来总共签订租户权益的协议的总时长;断续时间即为用户最后一次使用对应云服务距离当下的间隔时间;用户等级即为对应的SLA等级。
[0037]进一步地,步骤二中的赋值操作具体步骤为:
[0038]S1:根据用户与云服务提供商签订的保证租户权益的大小进行从小到大排序;
[0039]S2:对排序中的所有用户进行从一开始的,依次编号,在遇到租户权益相同的用户时赋予同一个编号,之后依次序持续进行;
[0040]S3:得到所有的用户等级对应的编号,将该编号标记为用户级值;
[0041]S4:根据用户级值确定对应的用户权限值,具体确认公式为:
[0042]用户权限值=用户级值*设定倍值;
[0043]式中,设定倍值为管理人员预设的数值。
[0044]进一步地,在进行完步骤(3)的操作后,还需进行下述步骤:
[0045]选择最佳的部署节点;对每一个需要部署的应用容器,运用启发式蚁群算法选择最佳的资源节点。
[0046]进一步地,步骤S03中的T1的具体取值为两秒。
[0047]进一步地,步骤S04中的X1具体取值为30。
[0048]进一步地,步骤S08中的X2具体取值为0.55。
[0049]本专利技术的有益效果:
[0050]本专利技术采取启发式蚁群算法对docker集群调度进行改进,使得docker集群中各个节点的资源利用更加均衡,更快的服务响应速度;通过本专利技术能够实现docker集群各节点主机任务相对均衡分布,提升节点的资源均衡度和资源利用率;
[0051]而且通过相关的资源节点对应到部署节点的筛选,能够选择出更加适合实用的部署节点;同时借助对用户权限的补偿分析,合理根据用户的实际情况进行优先级确定;本专利技术简单有效,且易于实用。
具体实施方式
[0052]基于启发式蚁群算法的docker集群部署优化方法,
[0053]采取启发式蚁群算法对docker集群调度进行改进,使得docker集群中各个节点的资源利用更加均衡,更快的服务响应速度;调度的作用就是把容器调度在某一个资源节点上,调度的过程包括根据用户等级(SLA)进行容器排序、资源节点的负载评估、资源节点的过滤和选择最佳部署节点四本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于启发式蚁群算法的docker集群部署优化方法,其特征在于,该方法具体包括如下步骤:步骤(1):进行容器排序,得到排序后的容器集为C{c1、c2、L c
n
};步骤(2):进行节点资源负载评估;具体评估步骤为:步骤S01:获取到所有的资源节点,及其对应的实时负载;步骤S02:任选一资源节点;步骤S03:从初始时刻,每间隔T1时间获取其一次实时负载占比,实时负载占比即为此时的负载占总容量的比例,得到负载数据组,将负载数据组标记为Fj,j=1、...、m;T1为预设数值;步骤S04:对m值进行判定,当m大于X1时,X1为预设数值;步骤S05:获取到最新的实时负载占比Fm,以其为基点,往前连续获取在其前的14个数据;步骤S06:将取得的数据标记为目标分析组Bj,j=1、...、15;计算其均值,将其标记为P;步骤S07:利用公式计算稳值W,具体计算公式为:式中,|*|表示为取括号内值的绝对值;步骤S08:当P低于X2,且满足W小于X3产生满足信号;X2、X3均为管理人员预设的数值;步骤S09:经过T2时间后,再次取15个数据,重复步骤S06

S08的处理,当再次产生满足信号时,将对应的资源节点作为部署节点;步骤S010:任选下一资源节点,重复步骤S03

S010,对所有的资源节点进行筛选,得到所有的部署节点;资源负载状态为正常的资源节点的部署节点集为S{s1、s2、L s
a
};步骤(3)资源需求过滤;由于每个容器对资源的需求是不同的,需要针对每个容器选择其满足需求的候选部署资源节点集;对S{s1、s2、L s
a
}中的资源节点进行资源余量过滤,为每个需要部署的容器筛选出合适的资源节点集S{s1、s2、L s
m
},具体筛选时按照所需资源量从大到小的顺序进行开始筛选。2.根据权利要求1所述的基于启发式蚁群算法的docker集群部署优化方法,其特征在于,步骤(1)进行容器排序的具体方法为:对于用户发服务请求,需要部署的容器;按照其SLA等级进行排序;同时进行排序补偿操作,具体排序补偿操作步骤为:步骤一:首先获取到所有的用户,之后调取用户对应的近期使用习惯数据...

【专利技术属性】
技术研发人员:徐赟华红锋徐宏吴剑锋樊志林
申请(专利权)人:杭州中港科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1