[发明专利]一种分布式系统下软件构件的分配部署方法及系统在审
申请号: | 202010779068.X | 申请日: | 2020-08-05 |
公开(公告)号: | CN111984403A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 张鸿臻;江波;徐宏;孙曦 | 申请(专利权)人: | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/12 |
代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
地址: | 201800 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 软件 构件 分配 部署 方法 | ||
1.一种分布式系统下软件构件的分配部署方法,其特征在于,包括:
步骤M1:根据应用程序的功能特征,将应用程序分解为具有层次依赖关系的多个软件构件;
步骤M2:统计与应用程序有关的所有软件构件的各类资源的峰值需求,并分析软件构件之间的依赖关系;
步骤M3:统计服务器能够稳定提供的资源;
步骤M4:基于应用程序有关的所有软件构件的各类资源的峰值需求和服务器能够稳定提供的资源,根据遗传算法,随机生成多个软件构件的部署策略;
步骤M5:对多个软件构件的部署策略进行适应度评估;
步骤M6:选择符合预设条件适应度的软件构件的部署策略;
步骤M7:基于符合预设条件适应度的软件构件的部署策略,对部署策略进行交叉和/或变异,重复执行步骤M5至步骤M7,直至部署策略不再变化,得到最终的部署策略。
2.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M1中多个软件构件包括:将软件构件分为3级,包括1级构件、2级构件和3级构件;3级构件功能的实现依赖若干2级构件和1级构件,2级构件功能的实现依赖若干1级构件;不同的3级构件能够依赖相同的2级构件和1级构件,不同的2级构件能够依赖于相同的1级构件。
3.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M2包括:统计与应用程序有关的所有软件构件的各类资源的峰值需求,包括:磁盘占用空间、CPU占用率、GPU占用率、内存占用空间、磁盘读速率、磁盘写速率、网络上载速率和网络下载速率。
4.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M5包括:
步骤M5.1:统计每种部署策略下需要为每台服务器部署的软件构件;
步骤M5.2:累加软件构件所需的资源;
步骤M5.3:计算每个服务器的每项资源的理论占用率;
步骤M5.4:将每项资源的理论占用率与每个服务器提供的每项资源进行比较,并对每项资源使用情况进行适应度评估;
步骤M5.5:根据每项资源占用情况为每台服务器进行适应度评估;
步骤M5.6:根据每台服务器的适应度为部署策略进行适应度评估。
5.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M5包括:在预设条件下,保留预设低负载服务器以备新的计算资源需求,提高部署策略适应度。
6.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M6包括:通过轮盘赌选择法选择符合预设条件适应度的软件构件的部署策略。
7.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M7中对部署策略进行交叉包括:根据随机产生的交叉率判断任意两个部署策略是否进行部署策略的交叉,当交叉率达到预设值时,则不交叉;当交叉率没有达到预设值时,则进行交叉;或选择相邻两个部署策略进行交叉或任意选择两种部署策略进行交叉。
8.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M7中对部署策略进行交叉包括:所述对部署策略进行交叉包括通过单点交叉的方法对进行交叉的部署策略进行交叉;在软件构件中随机设置交叉点,实现交叉时,在交叉点之前或之后交换两个部署策略中的软件构件,生成两个新的部署策略。
9.根据权利要求1所述的分布式系统下软件构件的分配部署方法,其特征在于,所述步骤M7中对部署策略进行编译包括:根据单点变异方法,根据预设的变异率随机选择软件构件中的一个,在预设范围内进行软件构件的替换。
10.一种分布式系统下软件构件的分配部署系统,其特征在于,包括:
模块M1:根据应用程序的功能特征,将应用程序分解为具有层次依赖关系的多个软件构件;
模块M2:统计与应用程序有关的所有软件构件的各类资源的峰值需求,并分析软件构件之间的依赖关系;
模块M3:统计服务器能够稳定提供的资源;
模块M4:基于应用程序有关的所有软件构件的各类资源的峰值需求和服务器能够稳定提供的资源,根据遗传算法,随机生成多个软件构件的部署策略;
模块M5:对多个软件构件的部署策略进行适应度评估;
模块M6:选择符合预设条件适应度的软件构件的部署策略;
模块M7:基于符合预设条件适应度的软件构件的部署策略,对部署策略进行交叉和/或变异,重复触发模块M5至模块M7执行,直至部署策略不再变化,得到最终的部署策略。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东计算技术研究所(中国电子科技集团公司第三十二研究所),未经华东计算技术研究所(中国电子科技集团公司第三十二研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010779068.X/1.html,转载请声明来源钻瓜专利网。