一种容器启动方法及系统与流程
- 国知局
- 2024-09-05 14:49:37
本发明涉及容器处理,特别涉及一种容器启动方法及系统。
背景技术:
1、在当今迅速发展的容器化技术领域中,明确管理好各容器的启动顺序至关重要。明确的启动顺序能够保证服务间的依赖关系得到正确满足。例如数据库容器需要在应用容器之前启动,以确保应用能够访问到已初始化好的数据库服务。但是单纯依靠依赖关系并不足以全面优化容器启动顺序,例如,对于web等用户交互型应用,快速启动时间至关重要,因为它直接影响用户体验。对于嵌入式系统,由于其资源有限,尤其是cpu使用率的严格控制,应避免多个cpu密集型服务同时启动导致cpu瞬间飙升。
2、总之,无论是web应用还是嵌入式系统,在设计容器启动顺序时,不仅要考虑服务之间的依赖关系,还要考虑资源分配效率和性能要求,以确保整个系统稳定高效运行。
3、目前,现有容器启动顺序主要是通过手动指定容器启动顺序,确保依赖服务先于依赖者启动,而仅仅依靠依赖关系,缺乏灵活性,忽略了资源分配效率,启动时间优化等问题,在某些对资源敏感和响应速度要求较高的业务场景下难以满足其实际需求。
技术实现思路
1、本发明提供了一种容器启动方法及系统,以解决现有技术中的上述技术问题。
2、根据本发明的第一方面,提供了一种容器启动方法。
3、其中,所述容器启动方法,包括:
4、对获取的容器进行分析,得到容器的属性信息,其中,所述属性信息包括容器依赖关系、容器启动时间、cpu占用率以及内容占用量;
5、根据所述容器依赖关系,基于有向无环图构建容器部署策略图,并根据所述容器启动时间、所述cpu占用率和所述内容占用量,构建容器综合评分函数;
6、对所述容器部署策略图进行容器排序,得到容器初始序列;并根据所述容器综合评分函数计算每个容器的综合评分,根据该综合评分,对所述容器初始序列进行局部排序,得到容器最终序列;
7、根据所述容器最终序列的顺序,对所有容器进行启动。
8、另外,对所述容器部署策略图进行容器排序,得到容器初始序列包括:利用深度优先搜索拓扑排序对所述容器部署策略图进行逐层节点排序,得到容器初始序列。
9、其中,所述容器综合评分函数的计算公式为:
10、score=w1*starttime+w2*cpuusage+w3*memoryusage
11、式中,score表示容器综合评分;starttime表示容器启动时间;cpuusage表示容器的cpu占用率;memoryusage表示容器的内存占用量;w1、w2、w3分别表示预设的启动时间权重因子、cpu占用率权重因子以及内存占用量权重因子。
12、此外,所述容器启动方法,还包括:在计算容器综合评分之前,对所述容器启动时间、所述cpu占用率以及所述内存占用量进行归一化处理;其中,对所述容器启动时间、所述cpu占用率以及所述内存占用量进行归一化处理包括:将所述容器启动时间与容器最大启动时间的百分比作为容器启动时间的归一化处理结果;将所述cpu占用率与最大cpu占用率的百分比作为cpu占用率的归一化处理结果;将所述内存占用量与最大内存占用量的百分比作为内存占用量的归一化处理结果。
13、另外,根据综合评分,对所述容器初始序列进行局部排序,得到容器最终序列包括:基于每个容器的综合评分,根据应用场景对所述容器初始序列中的容器进行升序或降序排列,得到容器最终序列。
14、根据本发明的第二方面,提供了一种容器启动系统。
15、其中,所述容器启动系统,包括:
16、容器分析模块,用于对获取的容器进行分析,得到容器的属性信息,其中,所述属性信息包括容器依赖关系、容器启动时间、cpu占用率以及内容占用量;
17、策略构建模块,用于根据所述容器依赖关系,基于有向无环图构建容器部署策略图,并根据所述容器启动时间、所述cpu占用率和所述内容占用量,构建容器综合评分函数;
18、容器排序模块,用于对所述容器部署策略图进行容器排序,得到容器初始序列;并根据所述容器综合评分函数计算每个容器的综合评分,根据该综合评分,对所述容器初始序列进行局部排序,得到容器最终序列;
19、容器启动模块,用于根据所述容器最终序列的顺序,对所有容器进行启动。
20、另外,所述容器排序模块在对所述容器部署策略图进行容器排序,得到容器初始序列时,利用深度优先搜索拓扑排序对所述容器部署策略图进行逐层节点排序,得到容器初始序列。
21、其中,所述容器综合评分函数的计算公式为:
22、score=w1*starttime+w2*cpuusage+w3*memoryusage
23、式中,score表示容器综合评分;starttime表示容器启动时间;cpuusage表示容器的cpu占用率;memoryusage表示容器的内存占用量;w1、w2、w3分别表示预设的启动时间权重因子、cpu占用率权重因子以及内存占用量权重因子。
24、此外,所述的容器启动系统,还包括:归一化处理模块,用于在计算容器综合评分之前,对所述容器启动时间、所述cpu占用率以及所述内存占用量进行归一化处理;
25、其中,对所述容器启动时间、所述cpu占用率以及所述内存占用量进行归一化处理包括:将所述容器启动时间与容器最大启动时间的百分比作为容器启动时间的归一化处理结果;将所述cpu占用率与最大cpu占用率的百分比作为cpu占用率的归一化处理结果;将所述内存占用量与最大内存占用量的百分比作为内存占用量的归一化处理结果。
26、另外,所述容器排序模块在根据综合评分,对所述容器初始序列进行局部排序,得到容器最终序列时,基于每个容器的综合评分,根据应用场景对所述容器初始序列中的容器进行升序或降序排列,得到容器最终序列。
27、本发明提供的技术方案可以包括以下有益效果:
28、本发明通过构建容器间的依赖关系图,并将每个容器的启动时间、cpu占用和内存占用作为约束条件进行考量,不同于传统的仅依靠依赖关系驱动的排序算法,本发明首次将资源分配效率和性能要求纳入容器启动排序决策,体现了在保证容器依赖满足的同时,对系统整体效率的前瞻性优化,突破了以往仅关注单一维度(如依赖关系)的局限性,有利于提升大规模容器集群的运行效能。
29、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
技术特征:1.一种容器启动方法,其特征在于,包括:
2.根据权利要求1所述的容器启动方法,其特征在于,对所述容器部署策略图进行容器排序,得到容器初始序列包括:
3.根据权利要求1所述的容器启动方法,其特征在于,所述容器综合评分函数的计算公式为:
4.根据权利要求1所述的容器启动方法,其特征在于,还包括:
5.根据权利要求1所述的容器启动方法,其特征在于,根据综合评分,对所述容器初始序列进行局部排序,得到容器最终序列包括:
6.一种容器启动系统,其特征在于,包括:
7.根据权利要求1所述的容器启动系统,其特征在于,所述容器排序模块在对所述容器部署策略图进行容器排序,得到容器初始序列时,利用深度优先搜索拓扑排序对所述容器部署策略图进行逐层节点排序,得到容器初始序列。
8.根据权利要求1所述的容器启动系统,其特征在于,所述容器综合评分函数的计算公式为:
9.根据权利要求1所述的容器启动系统,其特征在于,还包括:
10.根据权利要求1所述的容器启动系统,其特征在于,所述容器排序模块在根据综合评分,对所述容器初始序列进行局部排序,得到容器最终序列时,基于每个容器的综合评分,根据应用场景对所述容器初始序列中的容器进行升序或降序排列,得到容器最终序列。
技术总结本发明涉及容器处理技术领域,公开了一种容器启动方法及系统,该方法包括:对获取的容器进行分析,得到容器的属性信息,其中,属性信息包括容器依赖关系、容器启动时间、CPU占用率以及内容占用量;根据容器依赖关系,基于有向无环图构建容器部署策略图,并根据容器启动时间、CPU占用率和内容占用量,构建容器综合评分函数;对容器部署策略图进行容器排序,得到容器初始序列;并根据容器综合评分函数计算每个容器的综合评分,根据该综合评分,对容器初始序列进行局部排序,得到容器最终序列;根据容器最终序列的顺序,对所有容器进行启动。本发明突破了以往仅关注单一维度的局限性,有利于提升大规模容器集群的运行效能。技术研发人员:林萍萍,王忠臣,李恒受保护的技术使用者:山东未来网络研究院(紫金山实验室工业互联网创新应用基地)技术研发日:技术公布日:2024/9/2本文地址:https://www.jishuxx.com/zhuanli/20240905/288325.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表