一种云存储资源可配置调度器的方法

xiaoxiao2021-2-23  112

一种云存储资源可配置调度器的方法
【技术领域】
[0001]本发明涉及云平台存储虚拟化技术领域,特别是一种云存储资源可配置调度器的方法。
【背景技术】
[0002]在新搭建的云计算平台,通常一开始就需要创建大量的存储卷来虚拟机系统盘或云盘,而云计算平台通常提供自动分配存储卷,但自动分配通常只能根据一种简单的策略来完成,这样会带来以下问题:
[0003]—是分配方法不符合用户预期。用户不想手工配置,但自动配置又不够人性化。
[0004]二是不同客户购买云计算平台的自动分配需求不完全一样,云平台不支持可配置的方式将常用的几个业务场景组合。
[0005]三是程序员维护多套代码来满足业务需求,开发效率低下并且维护成本高。
[0006]为了解决上述问题,需要有一种云存储资源可配置调度器的方法。用户根据自己的业务需求,配置需要的过滤器、称重器,系统调度器自动根据配置文件加载对应的过滤器和称重器,自动分配存储卷时选择最佳候选节点来创建存储卷。

【发明内容】

[0007]本发明解决的技术问题在于提供一种云存储资源可配置调度器的方法,解决自动分配方法不够人性化、云平台不支持可配置的方式将常用的几个业务场景组合、程序员维护多套代码来满足业务需求时开发效率低下并且维护成本高等问题。
[0008]本发明解决上述技术问题的技术方案是:
[0009]所述的方法包括如下步骤:
[0010]步骤1:设置过滤器名称列表;
[0011 ]步骤2:设置称重器名称列表;
[0012]步骤3:加载过滤器;
[0013]步骤4:加载称重器;
[0014]步骤5:开始创建存储卷;
[0015]步骤6:获取候选节点;
[0016]步骤7:过滤候选节点;
[0017]步骤8:候选节点称重;
[0018]步骤9:称重排序;
[0019]步骤10:选择最佳节点创建存储卷。
[0020]所述的设置过滤器名称列表,在配置文件上设置各个过滤器的名称列表;
[0021]所述的设置称重器名称列表,在配置文件上设置各个称重器的名称列表;
[0022]所述的加载过滤器,根据在配置文件上设置各个过滤器的名称列表加载对应的过滤器,过滤器可以是0个或多个,由用户配置;
[0023]所述的加载称重器,根据在配置文件上设置各个称重器的名称列表加载对应的称重器,称重器可以是0个或多个,由用户配置。
[0024]所述的开始创建存储卷,用户开始创建存储卷,可以指定目的节点也可以由系统调度器自动分配;自动分配之前,用户可以增加一些存储类型等过滤条件;
[0025]所述的系统调度器是由过滤器、称重器等核心组件组成。
[0026]所述的获取候选节点,在所有存储节点上选择状态为激活的节点,已经关机的存储节点不能作为候选节点;
[0027]所述的过滤候选节点,所有已加载的过滤器过滤候选节点,只要符合所有过滤器要求的节点才能进入下一步,否则就从候选节点集合中剔除;过滤方式方式有通过指定节点过滤、通过存储类型过滤、通过剩余资源过滤。
[0028]所述的候选节点称重,每个称重器按顺序对候选节点称重;即每个称重器都对候选节点计算权重得分,那么每个候选节点权重总得分=称重器1的得分+称重器2的得分+...+称重器N的得分;
[0029]所述的称重器是专门计算候选节点在某方面的权重。
[0030]所述的称重排序,根据候选节点权重总得分进行排序,由高到低排序,最高分排在队列最前面;
[0031]所述的选择最佳节点开始创建存储卷,选择权重得分最高(即队列最前面)候选节点作为最佳节点,发消息给此节点创建存储卷,存储卷就可作为虚拟机系统盘或云盘。
[0032]本发明通过一种云存储资源可配置调度器的方法,分配方法不符合用户预期、云平台不支持可配置的方式将常用的几个业务场景组合、程序员维护多套代码来满足业务需求时开发效率低下并且维护成本高等问题。本发明支持自定义组合过滤器和称重器,通过计算权重称重总得分的方式,使自动分配创建存储卷更加智能并更加接近用户的需要。本发明专门针对云存储领域,区别其他资源调度器。本发明可以手工配置过滤器和称重器的组合,区别一般不能手工配置的调度器。本发明是可以自由组合不同的过滤器和称重器,区别于其他调度器需要维护多个版本。本发明是一种技术框架,支持快速开发新的过滤器或称重器,区别于其他调度器开发过滤器或称重器效率低。
【附图说明】
[0033]下面结合附图对本发明进一步说明:
[0034]图1为流程图;
[0035]图2为本发明逻辑结构图;
【具体实施方式】
[0036]本发明的实施方式有多种,这里以云平台为例说明其中一种实现方法,流程图如图1所示,具体实施过程如下:
[0037]1、设置过滤器名称列表。用户手工修改配置文件,配置过滤器的名称列表。
[0038]2、设置称重器名称列表。用户手工修改配置文件,配置称重器的名称列表。
[0039]3、加载过滤器,代码如下:
[0040]/**
[0041]*加载过滤器.
[0042]/*c Oparam path配置文件所在路径[0043 ]* Ore turn boo 1 ean返回结果
[0044]* /
[0045]public boolean loadFieldters(String path){
[0046]return DispatbService.loadFieldters(path);
[0047]}
[0048]4、加载称重器,代码如下:
[0049]/* *
[0050]*加载称重器.[0051 ]-k Oparam path配置文件所在路径
[0052]* ?return boolean返回结果
[0053]女 /
[0054]public boolean loadffeights(String path){
[0055]return DispathService.loadffeights(path);
[0056]}
[0057]5、开始创建存储卷,代码如下:
[0058]/**
[0059]*开始创建存储卷.
[0060]* Oparam name卷名称[0061 ]'k Oparam size卷大小
[0062 ]* Ore turn boo 1 ean返回结果
[0063]* /
[0064]public boolean createVolume(String name ? int size) {
[0065]return VolumeService.createVolume(name?size);
[0066]}
[0067]6、获取候选节点,代码如下:
[ 0068]/* *
[0069]*获取候选节点.
[0070]?return List〈candidateHost>返回结果对象
[0071]*/
[0072]public boolean getCandidates(){
[0073]return DispathService.getCandidates();
[0074]}
[0075]7、过滤候选节点,代码如下:
[0076]/ 女女
[0077]*过滤候选节点.
[0078]* Oparam chs候选节点对象
[0079]* ?return Result返回结果对象
[0080]* /
[0081]public List<CandidateHost>getFilteredHosts(List<CandidateHost>chs){
[0082]return DispathService.getFi1teredHosts(chs);
[0083]}
[0084]8、候选节点称重,代码如下:
[0085]/**
[0086]*候选节点称重.
[0087]* Oparam chs候选节点对象
[0088]~k ire turn Result 返回结果对象
[0089]* /
[0090]public List<CandidateHost>getffeightHosts(List<CandidateHost>chs){
[0091]return DispathService.getffeightHosts(chs);
[0092]}
[0093]9、称重排序,代码如下:
[0094]/**
[0095]*称重排序.
[0096]* Oparam chs候选节点对象
[0097]~k ire turn List〈candidateHost> 返回结果对象
[0098]* /
[0099]public List<CandidateHost>choose_host_weighers(List<CandidateHost>chs) {
[0100]return DispathService.choose_host_weighers(chs);
[0101]}
[0102]10、选择最佳节点创建存储卷,代码如下:
[0103]/**
[0104]*选择最佳节点创建存储卷.
[0105]* Oparam chs候选节点对象
[0106]~k ire turn CandidateHost 返回结果对象
[0107]*/
[0108]public CandidateHost getTop(List<CandidateHost>chs){
[0109]return chs.first();
[0110]}
[0111]整个流程结束。
【主权项】
1.一种云存储资源可配置调度器的方法,其特征在于:所述的方法包括如下步骤: 步骤1:设置过滤器名称列表; 步骤2:设置称重器名称列表; 步骤3:加载过滤器; 步骤4:加载称重器; 步骤5:开始创建存储卷; 步骤6:获取候选节点; 步骤7:过滤候选节点; 步骤8:候选节点称重; 步骤9:称重排序; 步骤10:选择最佳节点创建存储卷。2.根据权利要求1所述的方法,其特征在于:所述的设置过滤器名称列表,在配置文件上设置各个过滤器的名称列表; 所述的设置称重器名称列表,在配置文件上设置各个称重器的名称列表; 所述的加载过滤器,根据在配置文件上设置各个过滤器的名称列表加载对应的过滤器,过滤器可以是0个或多个,由用户配置; 所述的加载称重器,根据在配置文件上设置各个称重器的名称列表加载对应的称重器,称重器可以是0个或多个,由用户配置。3.根据权利要求1所述的方法,其特征在于:所述的开始创建存储卷,用户开始创建存储卷,可以指定目的节点也可以由系统调度器自动分配;自动分配之前,用户可以增加一些存储类型等过滤条件; 所述的系统调度器是由过滤器、称重器等核心组件组成。4.根据权利要求2所述的方法,其特征在于:所述的开始创建存储卷,用户开始创建存储卷,可以指定目的节点也可以由系统调度器自动分配;自动分配之前,用户可以增加一些存储类型等过滤条件; 所述的系统调度器是由过滤器、称重器等核心组件组成。5.根据权利要求1至4任一项所述的方法,其特征在于:所述的获取候选节点,在所有存储节点上选择状态为激活的节点,已经关机的存储节点不能作为候选节点; 所述的过滤候选节点,所有已加载的过滤器过滤候选节点,只要符合所有过滤器要求的节点才能进入下一步,否则就从候选节点集合中剔除;过滤方式方式有通过指定节点过滤、通过存储类型过滤、通过剩余资源过滤。6.根据权利要求1至4任一项所述的方法,其特征在于:所述的候选节点称重,每个称重器按顺序对候选节点称重;即每个称重器都对候选节点计算权重得分,那么每个候选节点权重总得分=称重器1的得分+称重器2的得分+...+称重器N的得分; 所述的称重器是专门计算候选节点在某方面的权重。 所述的称重排序,根据候选节点权重总得分进行排序,由高到低排序,最高分排在队列最前面; 所述的选择最佳节点开始创建存储卷,选择权重得分最高(即队列最前面)候选节点作为最佳节点,发消息给此节点创建存储卷,存储卷就可作为虚拟机系统盘或云盘。7.根据权利要求5所述的方法,其特征在于:所述的候选节点称重,每个称重器按顺序对候选节点称重;即每个称重器都对候选节点计算权重得分,那么每个候选节点权重总得分=称重器1的得分+称重器2的得分+...+称重器N的得分; 所述的称重器是专门计算候选节点在某方面的权重。 所述的称重排序,根据候选节点权重总得分进行排序,由高到低排序,最高分排在队列最前面; 所述的选择最佳节点开始创建存储卷,选择权重得分最高(即队列最前面)候选节点作为最佳节点,发消息给此节点创建存储卷,存储卷就可作为虚拟机系统盘或云盘。
【专利摘要】本发明涉及云平台存储虚拟化技术领域,特别是一种云存储资源可配置调度器的方法。本发明首先设置过滤器名称列表;设置称重器名称列表;加载过滤器;加载称重器;开始创建存储卷;获取候选节点;过滤候选节点;候选节点称重;称重排序;最后选择最佳节点创建存储卷。本发明解决了新增云存储资源分布不合理的问题,可应用于云平台存储虚拟化。
【IPC分类】G06F9/445, H04L12/24, H04L29/08
【公开号】CN105491152
【申请号】CN201511008896
【发明人】马桂成, 杨松, 季统凯
【申请人】国云科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月25日

最新回复(0)