首页> 中国专利> 一种面向复杂信息系统的云资源动态分配方法

一种面向复杂信息系统的云资源动态分配方法

摘要

本发明提出一种面向复杂信息系统的云资源动态分配方法,涉及信息系统云资源动态分配技术领域,未解决如何进行更细粒度的动态资源分配成为需要解决的问题该方法包括以下步骤:第一步:对每个服务创建描述参数文件,所述描述参数文件包括服务分类、服务优先级、服务占用资源三个参数;第二步,依据所述描述参数文件,建立服务依赖关系图;第三步:根据服务依赖关系图,建立服务资源池;第四步:在系统运行过程中进行云资源的动态分配,所述动态分配包括:检测资源扩展请求、判定空余资源是否满足资源扩展请求、生成资源回收方案、执行资源回收方案和进行资源动态分配。

著录项

  • 公开/公告号CN112995341A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利号CN202110428267.0

  • 发明设计人 谢永强;张凯;刘志波;阎思明;

    申请日2021-04-21

  • 分类号H04L29/08(20060101);

  • 代理机构11215 中国和平利用军工技术协会专利中心;

  • 代理人刘光德

  • 地址 100141 北京市丰台区大成路13号院

  • 入库时间 2023-06-19 11:27:38

说明书

技术领域

本发明涉及信息系统云资源动态分配技术领域,尤其涉及一种面向复杂信息系统的云资源动态分配方法。

背景技术

随着互联网技术的发展,面向服务架构(SOA)的云计算技术架构逐渐成为业界共识。它具有部署时间短、部署成本低、运维成本低、生产效率高等优势。

然而,当前主流的服务框架如Kubernetes和Docker SwarmKit 只提供了简单的资源动态分配策略。随着系统复杂度的提高,云平台上承载的服务类型越来越多,不同类型的服务对于资源分配策略需求不同,不同类型的服务因其重要性差异,应采取的资源保障优先级也不同。因此,如何进行更细粒度的动态资源分配成为需要解决的问题。

发明内容

为解决上述技术问题,本发明提出了一种面向复杂系统的云计算资源动态分配方法,将服务按照重要程度分类,并以服务优先级和依赖关系为判断标准,实时调整计算和存储资源分配。该方法能够有效保证系统中核心功能模块的正常运行,为云平台高效承载各类应用服务软件的灵活集成建设提供了支撑。

本发明采用以下技术方案:

一种面向复杂信息系统的云资源动态分配方法,包括以下步骤:

第一步:对每个云资源上的服务创建描述参数文件,所述描述参数文件包括服务分类、服务优先级、服务占用资源三个参数;

第二步,依据所述描述参数文件,建立服务依赖关系图;

第三步:根据服务依赖关系图,建立服务资源池;

第四步:在复杂信息系统运行过程中进行云资源的动态分配,所述动态分配包括:检测资源扩展请求、判定空余资源是否满足资源扩展请求、生成资源回收方案、执行资源回收方案和进行资源动态分配。

所述第一步中创建描述参数文件包括以下步骤:

步骤11:新建复杂信息系统配置文件,对要部署在云资源上的每个所述服务,在所述复杂信息系统配置文件中填写所述服务的名称、依赖对象服务集合、负载均衡策略这些依赖对象参数;

步骤12:对每个所述服务增加创建服务分类参数,根据所述服务的重要程度和服务发生异常后对系统的影响程度,进行服务分类参数值的具体设置;对于用户关注的或发生异常后会导致所述复杂信息系统不可用的所述服务,参数值设置为SK,用以标记该服务为核心服务;对于用户不关注的或发生异常后不会影响系统核心功能的所述服务,参数值设置为S,用以标记该服务为非核心服务;

步骤13:对每个所述服务增加创建服务优先级参数,对于所述核心服务,服务优先级参数值统一设置为一个常数,表示所有核心服务的优先级最高且相同;对于所述非核心服务,设置服务优先级参数值。

所述步骤13中,对于所述非核心服务,设置服务优先级参数值,包括以下步骤:

步骤131:设置影响所述非核心服务重要性的维度;所述维度包括:功能、资源占用量、用户关注度和经费投入;所述维度的数量结合所述复杂信息系统的具体情况具体确定,假设存在N个维度,为D1、D2、……、DN;

步骤132:生成维度权重特征向量;采用层次分析法,对N个维度进行两两比较,对比时采用相对尺度,相对尺度使用1-9标度方法给出,经过对N个维度两两对比,得到所述非核心服务的维度重要性对比矩阵;

1)Di表示非核心服务重要性的第i个维度;

2)a

3)

将维度对比数据存储为矩阵,得到:

对矩阵归一化加权运算,得到反映各维度重要性权重的特征向量为:

DW=(dw1, dw2, dw3, …dwN)T;

步骤133:对一个非核心服务Si,i从1开始遍历,按照每一个维度的具体意义依次打分,打分标准根据应用场景在实施过程确定,维度的打分区间保持一致;对打分结果进行归一化后,得到非核心服务Si对所有维度的得分向量为:

Ci=(ci1, c i2 , c i3, …c iN)T

所述非核心服务Si的优先级权重WSi为:

1)dwi,1≤i≤N,表示维度Di的权重值,DW为反应各维度重要性权向量;

2)cij,1≤j≤N,表示所述非核心服务Si按照维度Dj评价的得分,Ci表示所述非核心服务Si对所有维度的得分向量;

3)WSi表示所述非核心服务Si的优先级权重;

设系统中一共有M个非核心服务,对所有非核心服务进行优先级权重计算,并根据优先级权重的排序,对应得到所有非核心服务的优先级队列;

步骤134:增加创建服务资源占用参数;

对于所述非核心服务Si,初始化输入Si对所有云资源的占用情况向量RSi 作为所述非核心服务Si的服务资源占用参数;

RSi =(r1i,r2i…rPi);

1)RSi为所述非核心服务Si的1个运行实例对所有类型的资源占用量;

2)rji为所述非核心服务Si的1个运行实例对第j类资源的占用量,共P类资源,1≤j≤P;

对于核心服务SKi,服务资源占用情况向量表示为RSKi,RSKi的表示方法参照RSi执行。

所述第二步具体包括:根据创建的所述依赖对象参数,判定所述服务的依赖和被依赖信息,通过手工推演或自动计算方式,遍历所有所述服务的依赖对象参数后,计算得到所述服务的依赖关系图。

所述第三步建立服务资源池具体包括:根据云资源上承载的所述服务的类型,划分为核心资源池和非核心资源池,所述核心服务部署在核心资源池,当所述核心资源池资源不足时,所述核心服务部署到非核心资源池,所述非核心服务只部署在所述非核心资源池。

所述第四步中的云资源动态分配具体包括:

步骤41:所述复杂信息系统检测到正在运行的服务S或SK所占资源达到所述复杂信息系统预设阈值,或通过外部命令接收到资源扩展请求时,用ERS或ERSK记录资源扩展请求,ERS=(r1s,r2s…rPs),表示非核心服务S的资源扩展请求,ERSK=(r1sk,r2sk…rPsk),表示核心服务SK的资源扩展请求;其中,因所占资源达到系统预设阈值,ERS或ERSK的值由系统预设,因外部命令接收到资源扩展请求,ERS或ERSK的值由外部命令的参数值直接明确;

步骤42:设资源池空余的资源Rremain =r1remain,r2remain,…,rPremain;当Rremain中每个元素均大于等于ERS或ERSK中每个元素,判定为Rremain满足ERS或ERSK,直接调用云平台资源申请接口动态分配所需云资源;当Rremain中某个元素均小于ERS或ERSK中对应的元素,判定为Rremain不满足ERS或ERSK,判定当前进行资源扩展请求的服务是否为核心服务,若是,则执行步骤43;反之,则执行步骤44;

步骤43:面向核心服务资源扩展请求的资源回收方案生成;执行步骤45;

步骤44:面向非核心服务资源扩展请求的资源回收方案生成;

步骤45:执行最优资源回收方案并进行资源动态分配;根据资源回收方案,将方案中包含的待回收服务编号和运行实例数发送给云平台已有资源调度模块,待接收到云平台的资源回收完成信息后,调用云平台资源申请模块,将申请的资源动态分配给当前进行资源扩展请求的服务。

步骤43:面向核心服务资源扩展请求的资源回收方案生成;具体包括:

步骤431:设当前进行资源扩展请求的核心服务为SK,从非核心服务优先级队列中,遍历所有非核心服务Si,i从1开始,1≤i≤M,对于给定Si,计算Rremain +n*RSi,若存在n,n从1开始,1≤n≤Si的运行实例数,使得Rremain +n*RSi满足ERSK,则记录i和n的最小值到资源回收备选方案

步骤432:依赖树上的每个服务资源占用量为RSi,计算所有服务占用资源之和

步骤433:执行完步骤431和步骤432后,得到满足ERSK的资源回收备选方案集合为

WPk为方案

对WPk按照从小到大排序,选择权值最小的WPk作为资源回收方案。

有益效果:本发明实施例提供的一种面向复杂信息系统的云资源动态分配方法,首先,扩展了服务描述参数文件,能够区分描述核心服务和非核心服务,对非核心服务采用基于服务重要性维度关联的层次分析法建立服务优先级,描述服务占用资源。其次,建立服务依赖关系图和服务资源池。最后,当每个核心服务需要扩展资源时,基于非核心服务优先级和服务依赖关系图,遍历以每个非核心服务为根节点的服务依赖树,根据依赖树上服务实例所占资源情况,得到满足扩展资源要求的资源回收备选方案集合,结合服务维度重要性权值和服务在各维度的评价得分,计算备选方案优先级,选择最低优先级方案,发送给云平台进行资源动态释放,以满足资源扩展请求;当某个非核心服务需要扩展资源时,与核心服务需要扩展资源流程一致,但资源回收备选方案不能包含与自己有依赖关系的服务树。这种云资源动态分配策略,可以有效提升云平台承载复杂信息系统时的云计算资源的利用率。

附图说明

图1为面向复杂信息系统的云资源动态分配方法流程图;

图2为本发明提出的一种服务优先级队列图;

图3为本发明提出的一种服务被依赖关系示意图;

图4为本发明提出的一种资源池分类示意图;

图5为本发明提出的一种资源回收备选方案集合示意图;

图6为本发明提出的一种云资源动态分配流程图示意图。

具体实施方式

以下结合附图对本发明的具体实施方式作出详细说明。

本发明实施例提供了一种面向复杂信息系统的云资源动态分配方法。首先对每个服务创建服务描述参数文件,在传统方法创建的服务描述常用参数基础上,扩展服务分类、服务优先级、服务占用资源三个参数。其次,依据服务描述参数文件,建立服务依赖关系图。再者,根据服务分类,建立服务资源池。最后,在系统运行过程中进行云资源的动态分配,主要包含检测资源扩展请求、判定空余资源是否满足资源扩展请求、资源回收方案生成(区分面向核心服务资源扩展请求的资源回收方案生成和面向非核心服务资源扩展请求的资源回收方案生成)、执行最优资源回收方案和进行资源动态等步骤。具体如下:

步骤1:创建服务描述参数文件。

步骤11:创建服务描述的常用参数。新建系统配置文件,对要部署在云资源上的每个服务,在配置文件中填写本服务名称、依赖对象服务集合、负载均衡策略等常用参数。本步骤可参考已有方法执行。

步骤12:增加创建服务分类参数。在步骤11基础上,对每个服务增加创建服务分类参数,根据服务的重要性程度和服务发生异常后对系统的影响,进行服务分类参数值的具体设置。一般情况下,对于用户非常关注的或发生异常后会导致系统不可用的服务,参数值设置为SK,用以标记该服务为核心服务;对于用户不太关注的或发生异常后不会影响系统核心功能的服务,参数值设置为S,用以标记该服务为非核心服务。

步骤13:增加创建服务优先级参数。在步骤11和12的基础上,对每个服务增加创建服务优先级参数,对于核心服务,服务优先级参数值统一设置为某一常数,表示所有核心服务的优先级最高且相同。对于非核心服务,通过如下步骤设置服务优先级参数值。

步骤131:设置影响非核心服务重要性维度。根据用户和服务提供者关注的不同维度,设置影响非核心服务重要性的维度,例如功能、资源占用量、用户关注度、经费投入等因素。维度的个数可结合复杂信息系统的具体情况具体确定,本方法不对维度个数做强制限定。假设服务重要性存在N个维度,D

步骤132:生成非核心服务维度权重特征向量。采用层次分析法,对N个维度进行两两比较,对比时采用相对尺度。相对尺度使用1-9标度方法给出,如下表所示。

表1

按照上表,经过对N个维度两两对比,得到维度重要性对比矩阵:

表2

1)D

2)a

3)

将维度对比数据存储为矩阵,得到:

对矩阵归一化加权运算,得到反映各维度重要性权重的特征向量为:

DW=(dw

步骤133:计算非核心服务的维度得分向量。对某非核心服务S

C

服务S

1)dw

2)c

3)WS

参见图2,设系统中一共有M个非核心服务,对所有非核心服务进行优先级权重计算,并根据优先级权重的排序,得到对应非核心服务的优先级队列。其中WS

步骤134:增加创建服务资源占用参数。

对于非核心服务S

RS

1)RS

2)r

对于核心服务SK

步骤2:建立服务依赖关系图;

根据步骤11中创建的依赖对象参数,可以判定服务的依赖和被依赖信息。通过手工推演或自动计算,遍历所有服务的依赖对象参数后,计算得到服务依赖关系图,一种可能的依赖关系图,如图3所示,服务依赖关系图中包含M个非核心服务和K个核心服务。

步骤3:建立服务资源池;

为消减资源动态创建和回收时的资源碎片化现象,提高资源利用率,如图4所示根据云资源上承载的服务类型,划分为核心资源池和非核心资源池。核心服务优先部署在核心资源池,当核心资源池资源不足时部署到非核心资源池。非核心服务只部署在非核心资源池,此步骤为可选步骤。

步骤4:云资源动态分配;

步骤41:检测资源扩展请求,系统检测到正在运行的服务S或SK所占资源达到系统预设阈值,或通过外部命令接收到资源扩展请求时,用ERS或ERSK记录资源扩展请求,ERS=(r

步骤42:判定空余资源是否满足资源扩展请求。设资源池空余的资源R

步骤43:面向核心服务资源扩展请求的资源回收方案生成。

步骤431:单一服务S

步骤432:以服务S

步骤433:最优回收方案选择。执行完步骤431和步骤432后,得到满足ERSK的资源回收备选方案集合为

其中每个方案

1)WP

2)n

3)WS

对WP

参见图6,步骤44:面向非核心服务资源扩展请求的资源回收方案生成。

资源回收备选方案集合{PS}的生成过程与步骤431和432基本一致,但在资源回收备选方案

步骤45:执行最优资源回收方案并进行资源动态分配。根据步骤43或步骤43生成的最优资源回收方案,将方案中包含的待回收服务编号和运行实例数发送给云平台已有资源调度模块,待接收到云平台的资源回收完成信息后,调用云平台资源申请模块,将申请的资源动态分配给当前进行资源扩展请求的服务。

本发明实施例提供的一种面向复杂信息系统的云资源动态分配方法,首先,扩展了服务描述参数文件,能够区分描述核心服务和非核心服务,对非核心服务采用基于服务重要性维度关联的层次分析法建立服务优先级,描述服务占用资源。其次,建立服务依赖关系图和服务资源池。最后,当每个核心服务需要扩展资源时,基于非核心服务优先级和服务依赖关系图,遍历以每个非核心服务为根节点的服务依赖树,根据依赖树上服务实例所占资源情况,得到满足扩展资源要求的资源回收备选方案集合,结合服务维度重要性权值和服务在各维度的评价得分,计算备选方案优先级,选择最低优先级方案,发送给云平台进行资源动态释放,以满足资源扩展请求;当某个非核心服务需要扩展资源时,与核心服务需要扩展资源流程一致,但资源回收备选方案不能包含与自己有依赖关系的服务树。这种云资源动态分配策略,可以有效提升云平台承载复杂信息系统时的云计算资源的利用率。

对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号