CN110442453A - 一种自动伸缩策略运维方法、***和可读存储介质 - Google Patents
一种自动伸缩策略运维方法、***和可读存储介质 Download PDFInfo
- Publication number
- CN110442453A CN110442453A CN201910705486.1A CN201910705486A CN110442453A CN 110442453 A CN110442453 A CN 110442453A CN 201910705486 A CN201910705486 A CN 201910705486A CN 110442453 A CN110442453 A CN 110442453A
- Authority
- CN
- China
- Prior art keywords
- carrying capacity
- functional module
- module
- information
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000008602 contraction Effects 0.000 claims abstract description 34
- 230000008859 change Effects 0.000 claims abstract description 33
- 230000003321 amplification Effects 0.000 claims abstract description 16
- 238000003199 nucleic acid amplification method Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 94
- 238000012423 maintenance Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 239000002699 waste material Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动伸缩策略运维方法、***和可读存储介质,其中方法包括:获取***的功能信息、功能模块信息和负载信息;根据所述功能信息,获取每个功能的影响因子;根据所述影响因子和负载信息计算对应功能模块的运载能力;判断所述运载能力是否满足预设的变更条件;若满足,则对功能模块进行节点扩增或收缩。通过模块影响因子和负载信息进行功能模块运载能力的计算,并根据运载能力进行动态的调整,可以使得资源更大化的合理利用。对模块的CPU等各种硬件进行使用率的获取,并通过不同的加权因子进行计算,得到运载能力值,可以更直接的反映出模块的运载能力,从而进行及时的调整。
Description
技术领域
本发明涉及计算机领域,更具体的,涉及一种自动伸缩策略运维方法、***和可读存储介质。
背景技术
目前,打印机的需求越来越多,一个集团公司或者一个园区存在多台打印机时,需要进行打印机的管控。若通过人工巡查的方式或者人为上报的方式进行管控,则将浪费大量的人力物力,所以出现了一个打印机的管理***,可以通过网络与每台打印机进行连接,实时监控每台打印机的使用状态,这样可以更加便捷的管理和监控打印机,此服务就是“管理打印服务”,Managed Print Service,缩写为MPS。
目前的MPS***主要依托于服务器进行信息的采集和管理,一般情况会采用单台服务器或者多台服务器的形式,并且还可能有在服务器中设置虚拟机的方式进行管控。由于信息需要进行内部存储和管理,则往往或设置备用服务器,若主服务器出现宕机情况,则将立马切换至备用服务器进行工作。在打印机管控和资源占用可能会逐渐增多的情况下,目前的MPS***不能够根据实际机器的使用情况来动态制定运维策略,在管理、调度过程中,很难扩展性、资源利用率以及可靠性。在面对当前业务种类不断增加,突发访问量巨大等现实条件,存在着弹性较差的缺点,不能够根据业务请求量和负载进行动态调整。如何根据业务的状态,动态调整资源是亟不可待要解决的问题。
发明内容
为了解决上述至少一个技术问题,本发明提出了一种自动伸缩策略运维方法,其特征在于,包括:
获取***的功能信息、功能模块信息和负载信息;
根据所述功能信息,获取每个功能的影响因子;
根据所述影响因子和负载信息计算对应功能模块的运载能力;
判断所述运载能力是否满足预设的变更条件;
若满足,则对功能模块进行节点扩增或收缩。
本方案中,所述根据所述影响因子和负载信息计算对应功能模块的运载能力具体为:
获取功能模块的CPU、内存及磁盘使用率;
分别获取CPU、内存及磁盘使用率的加权因子;
通过下述公式计算模块的运载能力:
S=w×(w1C+w2R+w3D)
其中S为功能模块的运载能力值,w为功能模块的影响因子,w1为CPU使用率的加权因子,w2为内存使用率的加权因子,w3为磁盘使用率的加权因子,C为CPU的使用率,R为内存使用率,D为磁盘使用率,其中,w1+w2+w3=1。
本方案中,判断所述运载能力是否满足预设的变更条件,包括:
判断所述运载能力是否大于预警阈值;
若大于预警阈值,则对功能模块进行节点扩增;
判断所述运载能力是否小于冗余阈值;
若小于冗余阈值,则对功能模块进行节点收缩。
本方案中,还包括:
接收模块启动或停止请求;
根据所述启动或停止请求,启动或停止模块的镜像;其中,
针对不同的功能模块建立不同的镜像;
每个镜像中配置对应的docker容器;
功能模块通过docker容器运行。
本方案中,还包括:
获取功能模块的运行数量信息;
判断所述数量信息是否超过预设的数量范围;
若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。
本方案中,所述对功能模块进行节点扩增或收缩具体为:
获取功能模块扩增或收缩的步长;
根据所述步长,扩增或收缩对应的功能模块;
计算变更后的功能模块的运载能力;
判断所述变更后的功能模块的运载能力是否处于预设的变更条件;
若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。
本发明第二方面还提供一种自动伸缩策略运维***,该***包括:存储器、处理器,所述存储器中包括自动伸缩策略运维方法程序,所述自动伸缩策略运维方法程序被所述处理器执行时实现如下步骤:
获取***的功能信息、功能模块信息和负载信息;
根据所述功能信息,获取每个功能的影响因子;
根据所述影响因子和负载信息计算对应功能模块的运载能力;
判断所述运载能力是否满足预设的变更条件;
若满足,则对功能模块进行节点扩增或收缩。
本方案中,所述根据所述影响因子和负载信息计算对应功能模块的运载能力具体为:
获取功能模块的CPU、内存及磁盘使用率;
分别获取CPU、内存及磁盘使用率的加权因子;
通过下述公式计算模块的运载能力:
S=w×(w1C+w2R+w3D)
其中S为功能模块的运载能力值,w为功能模块的影响因子,w1为CPU使用率的加权因子,w2为内存使用率的加权因子,w3为磁盘使用率的加权因子,C为CPU的使用率,R为内存使用率,D为磁盘使用率,其中,w1+w2+w3=1。
本方案中,判断所述运载能力是否满足预设的变更条件,包括:
判断所述运载能力是否大于预警阈值;
若大于预警阈值,则对功能模块进行节点扩增;
判断所述运载能力是否小于冗余阈值;
若小于冗余阈值,则对功能模块进行节点收缩。
本方案中,还包括:
接收模块启动或停止请求;
根据所述启动或停止请求,启动或停止模块的镜像;其中,
针对不同的功能模块建立不同的镜像;
每个镜像中配置对应的docker容器;
功能模块通过docker容器运行。
本方案中,还包括:
获取功能模块的运行数量信息;
判断所述数量信息是否超过预设的数量范围;
若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。
本方案中,所述对功能模块进行节点扩增或收缩具体为:
获取功能模块扩增或收缩的步长;
根据所述步长,扩增或收缩对应的功能模块;
计算变更后的功能模块的运载能力;
判断所述变更后的功能模块的运载能力是否处于预设的变更条件;
若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。
本发明第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质中包括自动伸缩策略运维方法程序,所述自动伸缩策略运维方法程序被处理器执行时,实现如上述任一项所述的自动伸缩策略运维方法的步骤。
本发明公开的一种自动伸缩策略运维方法、***和可读存储介质,通过模块影响因子和负载信息进行功能模块运载能力的计算,并根据运载能力进行动态的调整,可以使得资源更大化的合理利用。对模块的CPU等各种硬件进行使用率的获取,并通过不同的加权因子进行计算,得到运载能力值,可以更直接的反映出模块的运载能力,从而进行及时的调整。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1示出了本发明一种自动伸缩策略运维方法的流程图;
图2示出了本发明判断满足预设变更条件的流程图;
图3示出了本发明功能模块扩增或收缩的流程图;
图4示出了本发明一种自动伸缩策略运维***的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种自动伸缩策略运维方法的流程图。
如图1所示,本发明公开了一种自动伸缩策略运维方法,其特征在于,包括:
S102,获取***的功能信息、功能模块信息和负载信息;
S104,根据所述功能信息,获取每个功能的影响因子;
S106,根据所述影响因子和负载信息计算对应功能模块的运载能力;
S108,判断所述运载能力是否满足预设的变更条件;
S110,若满足,则对功能模块进行节点扩增或收缩。
需要说明的是,本发明针对不同的功能设置不同的功能模块,每个功能模块通过中间件进行通信和连接,所述的中间件可以为调度单元或者后台运营服务器等,其与每个功能模块连接,实现数据的收发并且可以进行资源的动态调度。每个功能模块可以物理的服务器也可以是虚拟机实现的节点模块,当采用物理服务器时,则每个物理服务器运行和处理模块的功能;当采用虚拟机节点时,可以在一台或多台物理服务器中部署多个虚拟机节点,每个虚拟机节点对应一个模块。虚拟机模块节点通过基于软件实现的任务调度,可以通过简单的增加通用服务器来实现***的扩展,甚至可以使用虚拟化技术来提升***的资源利用率。
具体的,本发明先获取MPS***中的功能信息、功能模块信息和负载信息。所述的功能信息为***中可以实现的功能的相关信息,例如,功能信息可以包含大数据的处理、云计算、搜索查询、数据监控等功能。功能模块信息为在***中已经存在的功能模块节点,较优的,本发明中的功能模块节点为虚拟机功能节点,获取功能模块信息包括虚拟机节点要实现的功能和运算能力等信息,例如,以大数据处理虚拟机为功能模块的功能是收集数据进行分析和处理,总结规律和趋势;其运算能力为较高等级,需要分配较多的资源。其中所述负载信息为功能模块的CPU、内存及磁盘使用率等能够反映模块负载的相关信息。在获取了上述信息之后,根据所述影响因子和负载信息计算对应功能模块的运载能力。所述运载能力为功能模块当前的可处理能力,运载能力越大说明越接近于饱和,运载能力越小,则表明存在较多冗余资源。计算得到运载能力之后,判断所述运载能力是否满足预设的变更条件。其中预设的变更条件可以为根据实时的物理资源进行动态变化的条件,也可以为工作人员预先进行设置的变更条件。所述变更条件为设定的运载能力的范围值,其由最小值和最大值组成,当运载能力值在范围值内时,说明功能模块的运行正常,可以不用变化;当运载能力值超出或降低至范围值外时,则说明功能模块可能存在超载或者资源冗余浪费的情形,需要进行动态的调整。
优选的,运载能力的范围值为30%-90%,也就是说运载能力小于30%时,说明功能模块存在资源冗余和浪费;当运载能力超过90%时,说明功能模块存在超载。
根据本发明实施例,所述根据所述影响因子和负载信息计算对应功能模块的运载能力具体为:
获取功能模块的CPU、内存及磁盘使用率;
分别获取CPU、内存及磁盘使用率的加权因子;
通过下述公式计算模块的运载能力:
S=w×(w1C+w2R+w3D)
其中S为功能模块的运载能力值,w为功能模块的影响因子,w1为CPU使用率的加权因子,w2为内存使用率的加权因子,w3为磁盘使用率的加权因子,C为CPU的使用率,R为内存使用率,D为磁盘使用率,其中,w1+w2+w3=1。
需要说明的是,获取功能模块的负载信息,包含有功能模块的CPU、内存及磁盘使用率等信息。其中CPU、内存及磁盘使用率都对应有不同的加权因子,功能模块还对应有影响因子,当获取了使用率、加权因子和影响因子之后采用上述公式进行计算。其中,w1+w2+w3=1。较优的,w1取值为0.4,w2取值为0.4,w3取值为0.2。功能模块的影响因子代表每个模块的重要程度,也可以说是优先级的一种体现。不同的功能模块具备不同的影响因子,例如,大数据处理模块的影响因子为0.4,云计算模块的影响因子为0.3,搜索查询功能模块的影响因子为0.6。技术人员可以根据实际需要设置每个模块的影响因子,每个模块的影响因子总和可以不等于1,这样在功能需要增加的时候,不用变更其他模块的影响因子值。
图2示出了本发明判断满足预设变更条件的流程图。
如图2所示,根据本发明实施例,判断所述运载能力是否满足预设的变更条件,包括:
S202,判断所述运载能力是否大于预警阈值;
S204,若大于预警阈值,则对功能模块进行节点扩增;
S206,判断所述运载能力是否小于冗余阈值;
S208,若小于冗余阈值,则对功能模块进行节点收缩。
需要说明的是,所述变更条件为设定的运载能力的范围值,其由最小值和最大值组成,当运载能力值在范围值内时,说明功能模块的运行正常,可以不用变化;当运载能力值超出或降低至范围值外时,则说明功能模块可能存在超载或者资源冗余浪费的情形,需要进行动态的调整。其中最大值便是预警阈值,超出预警阈值则说明功能模块已经接近饱和,如果运载能力继续加大,则可能会导致宕机,无法继续处理业务。其中最小值便是冗余阈值,小于冗余阈值则说明功能模块此时有大量的资源未进行利用,存在资源冗余的情况,导致资源浪费。因此,判断所述运载能力是否大于预警阈值;若大于预警阈值时,则对功能模块进行节点扩增。判断所述运载能力是否小于冗余阈值;若小于冗余阈值时,则对功能模块进行节点收缩。通过对运载能力的判断,可以动态调整功能模块的资源,实现资源最大化的利用。
根据本发明实施例,还包括:
接收模块启动或停止请求;
根据所述启动或停止请求,启动或停止模块的镜像;其中,
针对不同的功能模块建立不同的镜像;
每个镜像中配置对应的docker容器;
功能模块通过docker容器运行。
需要说明的是,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。本发明的功能模块采用虚拟机节点,每个虚拟机节点都安装建立有不同的镜像,每个镜像中还将设置有对应的docker容器,功能模块在docker容器中运行。采用docker容器可以方便的进行功能的替换和变更,并且docker容器可以方便的进行删除和增加。当要启动功能模块时,则通过资源调度中间件去接收模块启动或停止请求;根据所述启动或停止请求,启动或停止模块的镜像。启动镜像之后,将加载docker容器,完成功能模块的运行。整个过程通过软件调度实现,可以更加快速和便捷,能够使得资源调度时间更短,效率更高。
根据本发明实施例,还包括:
获取功能模块的运行数量信息;
判断所述数量信息是否超过预设的数量范围;
若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。
需要说明的是,本发明还可以对功能模块运行数量进行限制,由于功能模块过多可能会导致物理机的资源超载,不利于业务处理。所以对功能模块的数量进行限制,使其能够处于稳定的运行状态中是有必要的。首先,获取功能模块的运行数量信息,可以通过加载镜像或者加载docker容器的个数确定模块的数量。判断所述数量信息是否超过预设的数量范围;若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。其中,预设的数量范围是物理机资源能够运行的最大模块的数量,优选的,所述数量范围为最大模块数量的85-95%,这样能够有足够的时间进行物理资源的扩展。
图3示出了本发明功能模块扩增或收缩的流程图。如图3所示,根据本发明实施例,所述对功能模块进行节点扩增或收缩具体为:
S302,获取功能模块扩增或收缩的步长;
S304,根据所述步长,扩增或收缩对应的功能模块;
S306,计算变更后的功能模块的运载能力;
S308,判断所述变更后的功能模块的运载能力是否处于预设的变更条件;
S310,若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。
需要说明的是,为了避免大规模的扩张或者搜索导致资源浪费的情况,本发明还设置了变更步长。其中所述步长为扩容的单位资源的大小,将扩张和收缩通过量化的形式进行。在将功能模块进行变更时,首先,获取功能模块扩增或收缩的步长,所述步长可以为技术人员根据实际需要设置的,也可以是后台动态调整的。然后,根据所述步长,扩增或收缩对应的功能模块;计算变更后的功能模块的运载能力。判断所述变更后的功能模块的运载能力是否处于预设的变更条件;若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。其中计算运载能力和判断是否处于变更条件的步骤本发明已经在上述过程中详细描述,此处不再一一赘述。
优选的,所述步长可以设置为2或3,回撤步长设置为1。例如,扩张的时候采用步长为2进行扩张,若扩张之后未到达要求,则继续采用步长为2进行扩张。若满足了要求,但是发现资源存在冗余的情况,则可以采用回撤步长进行资源回撤,此时采用步长为1进行回撤。采用此种步长的设置方式,可以更快速的达到扩张和收缩的预期,并且能够进行快速的调整。
图4示出了本发明一种自动伸缩策略运维***的框图。
如图4所示,本发明提供一种自动伸缩策略运维***,该***包括:存储器、处理器,所述存储器中包括自动伸缩策略运维方法程序,所述自动伸缩策略运维方法程序被所述处理器执行时实现如下步骤:
获取***的功能信息、功能模块信息和负载信息;
根据所述功能信息,获取每个功能的影响因子;
根据所述影响因子和负载信息计算对应功能模块的运载能力;
判断所述运载能力是否满足预设的变更条件;
若满足,则对功能模块进行节点扩增或收缩。
需要说明的是,本发明针对不同的功能设置不同的功能模块,每个功能模块通过中间件进行通信和连接,所述的中间件可以为调度单元或者后台运营服务器等,其与每个功能模块连接,实现数据的收发并且可以进行资源的动态调度。每个功能模块可以物理的服务器也可以是虚拟机实现的节点模块,当采用物理服务器时,则每个物理服务器运行和处理模块的功能;当采用虚拟机节点时,可以在一台或多台物理服务器中部署多个虚拟机节点,每个虚拟机节点对应一个模块。虚拟机模块节点通过基于软件实现的任务调度,可以通过简单的增加通用服务器来实现***的扩展,甚至可以使用虚拟化技术来提升***的资源利用率。
具体的,本发明先获取***中的功能信息、功能模块信息和负载信息。所述的功能信息为***中可以实现的功能的相关信息,例如,功能信息可以包含大数据的处理、云计算、搜索查询等功能。功能模块信息为在***中已经存在的功能模块节点,较优的,本发明中的功能模块节点为虚拟机功能节点,获取功能模块信息包括虚拟机节点要实现的功能和运算能力等信息,例如,以大数据处理虚拟机为功能模块的功能是收集数据进行分析和处理,总结规律和趋势;其运算能力为较高等级,需要分配较多的资源。其中所述负载信息为功能模块的CPU、内存及磁盘使用率等能够反映模块负载的相关信息。在获取了上述信息之后,根据所述影响因子和负载信息计算对应功能模块的运载能力。所述运载能力为功能模块当前的可处理能力,运载能力越大说明越接近于饱和,运载能力越小,则表明存在较多冗余资源。计算得到运载能力之后,判断所述运载能力是否满足预设的变更条件。其中预设的变更条件可以为根据实时的物理资源进行动态变化的条件,也可以为工作人员预先进行设置的变更条件。所述变更条件为设定的运载能力的范围值,其由最小值和最大值组成,当运载能力值在范围值内时,说明功能模块的运行正常,可以不用变化;当运载能力值超出或降低至范围值外时,则说明功能模块可能存在超载或者资源冗余浪费的情形,需要进行动态的调整。优选的,运载能力的范围值为30%-90%,也就是说运载能力小于30%时,说明功能模块存在资源冗余和浪费;当运载能力超过90%时,说明功能模块存在超载。
根据本发明实施例,所述根据所述影响因子和负载信息计算对应功能模块的运载能力具体为:
获取功能模块的CPU、内存及磁盘使用率;
分别获取CPU、内存及磁盘使用率的加权因子;
通过下述公式计算模块的运载能力:
S=w×(w1C+w2R+w3D)
其中S为功能模块的运载能力值,w为功能模块的影响因子,w1为CPU使用率的加权因子,w2为内存使用率的加权因子,w3为磁盘使用率的加权因子,C为CPU的使用率,R为内存使用率,D为磁盘使用率,其中,w1+w2+w3=1。
需要说明的是,获取功能模块的负载信息,包含有功能模块的CPU、内存及磁盘使用率等信息。其中CPU、内存及磁盘使用率都对应有不同的加权因子,功能模块还对应有影响因子,当获取了使用率、加权因子和影响因子之后采用上述公式进行计算。其中,w1+w2+w3=1。较优的,w1取值为0.4,w2取值为0.4,w3取值为0.2。功能模块的影响因子代表每个模块的重要程度,也可以说是优先级的一种体现。不同的功能模块具备不同的影响因子,例如,大数据处理模块的影响因子为0.4,云计算模块的影响因子为0.3,搜索查询功能模块的影响因子为0.6。技术人员可以根据实际需要设置每个模块的影响因子,每个模块的影响因子总和可以不等于1,这样在功能需要增加的时候,不用变更其他模块的影响因子值。
根据本发明实施例,判断所述运载能力是否满足预设的变更条件,包括:
判断所述运载能力是否大于预警阈值;
若大于预警阈值,则对功能模块进行节点扩增;
判断所述运载能力是否小于冗余阈值;
若小于冗余阈值,则对功能模块进行节点收缩。
需要说明的是,所述变更条件为设定的运载能力的范围值,其由最小值和最大值组成,当运载能力值在范围值内时,说明功能模块的运行正常,可以不用变化;当运载能力值超出或降低至范围值外时,则说明功能模块可能存在超载或者资源冗余浪费的情形,需要进行动态的调整。其中最大值便是预警阈值,超出预警阈值则说明功能模块已经接近饱和,如果运载能力继续加大,则可能会导致宕机,无法继续处理业务。其中最小值便是冗余阈值,小于冗余阈值则说明功能模块此时有大量的资源未进行利用,存在资源冗余的情况,导致资源浪费。因此,判断所述运载能力是否大于预警阈值;若大于预警阈值时,则对功能模块进行节点扩增。判断所述运载能力是否小于冗余阈值;若小于冗余阈值时,则对功能模块进行节点收缩。通过对运载能力的判断,可以动态调整功能模块的资源,实现资源最大化的利用。
根据本发明实施例,还包括:
接收模块启动或停止请求;
根据所述启动或停止请求,启动或停止模块的镜像;其中,
针对不同的功能模块建立不同的镜像;
每个镜像中配置对应的docker容器;
功能模块通过docker容器运行。
需要说明的是,本发明的功能模块采用虚拟机节点,每个虚拟机节点都安装建立有不同的镜像,每个镜像中还将设置有对应的docker容器,功能模块在docker容器中运行。采用docker容器可以方便的进行功能的替换和变更,并且docker容器可以方便的进行删除和增加。当要启动功能模块时,则通过资源调度中间件去接收模块启动或停止请求;根据所述启动或停止请求,启动或停止模块的镜像。启动镜像之后,将加载docker容器,完成功能模块的运行。整个过程通过软件调度实现,可以更加快速和便捷,能够使得资源调度时间更短,效率更高。
根据本发明实施例,还包括:
获取功能模块的运行数量信息;
判断所述数量信息是否超过预设的数量范围;
若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。
需要说明的是,本发明还可以对功能模块运行数量进行限制,由于功能模块过多可能会导致物理机的资源超载,不利于业务处理。所以对功能模块的数量进行限制,使其能够处于稳定的运行状态中是有必要的。首先,获取功能模块的运行数量信息,可以通过加载镜像或者加载docker容器的个数确定模块的数量。判断所述数量信息是否超过预设的数量范围;若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。其中,预设的数量范围是物理机资源能够运行的最大模块的数量,优选的,所述数量范围为最大模块数量的85-95%,这样能够有足够的时间进行物理资源的扩展。
根据本发明实施例,所述对功能模块进行节点扩增或收缩具体为:
获取功能模块扩增或收缩的步长;
根据所述步长,扩增或收缩对应的功能模块;
计算变更后的功能模块的运载能力;
判断所述变更后的功能模块的运载能力是否处于预设的变更条件;
若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。
需要说明的是,为了避免大规模的扩张或者搜索导致资源浪费的情况,本发明还设置了变更步长。其中所述步长为扩容的单位资源的大小,将扩张和收缩通过量化的形式进行。在将功能模块进行变更时,首先,获取功能模块扩增或收缩的步长,所述步长可以为技术人员根据实际需要设置的,也可以是后台动态调整的。然后,根据所述步长,扩增或收缩对应的功能模块;计算变更后的功能模块的运载能力。判断所述变更后的功能模块的运载能力是否处于预设的变更条件;若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。其中计算运载能力和判断是否处于变更条件的步骤本发明已经在上述过程中详细描述,此处不再一一赘述。
优选的,所述步长可以设置为2或3,回撤步长设置为1。例如,扩张的时候采用步长为2进行扩张,若扩张之后未到达要求,则继续采用步长为2进行扩张。若满足了要求,但是发现资源存在冗余的情况,则可以采用回撤步长进行资源回撤,此时采用步长为1进行回撤。采用此种步长的设置方式,可以更快速的达到扩张和收缩的预期,并且能够进行快速的调整。
本发明第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质中包括自动伸缩策略运维方法程序,所述自动伸缩策略运维方法程序被处理器执行时,实现如上述任一项所述的自动伸缩策略运维方法的步骤。
本发明公开的一种自动伸缩策略运维方法、***和可读存储介质,通过模块影响因子和负载信息进行功能模块运载能力的计算,并根据运载能力进行动态的调整,可以使得资源更大化的合理利用。对模块的CPU等各种硬件进行使用率的获取,并通过不同的加权因子进行计算,得到运载能力值,可以更直接的反映出模块的运载能力,从而进行及时的调整。本发明的不同模块间通信通过中间件进行联系,达到了松耦合的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种自动伸缩策略运维方法,其特征在于,包括:
获取***的功能信息、功能模块信息和负载信息;
根据所述功能信息,获取每个功能的影响因子;
根据所述影响因子和负载信息计算对应功能模块的运载能力;
判断所述运载能力是否满足预设的变更条件;
若满足,则对功能模块进行节点扩增或收缩。
2.根据权利要求1所述的一种自动伸缩策略运维方法,其特征在于,所述根据所述影响因子和负载信息计算对应功能模块的运载能力具体为:
获取功能模块的CPU、内存及磁盘使用率;
分别获取CPU、内存及磁盘使用率的加权因子;
通过下述公式计算模块的运载能力:
S=w×(w1C+w2R+w3D)
其中S为功能模块的运载能力值,w为功能模块的影响因子,w1为CPU使用率的加权因子,w2为内存使用率的加权因子,w3为磁盘使用率的加权因子,C为CPU的使用率,R为内存使用率,D为磁盘使用率,其中,w1+w2+w3=1。
3.根据权利要求1所述的一种自动伸缩策略运维方法,其特征在于,判断所述运载能力是否满足预设的变更条件,包括:
判断所述运载能力是否大于预警阈值;
若大于预警阈值,则对功能模块进行节点扩增;
判断所述运载能力是否小于冗余阈值;
若小于冗余阈值,则对功能模块进行节点收缩。
4.根据权利要求1所述的一种自动伸缩策略运维方法,其特征在于,还包括:
接收模块启动或停止请求;
根据所述启动或停止请求,启动或停止模块的镜像;其中,
针对不同的功能模块建立不同的镜像;
每个镜像中配置对应的docker容器;
功能模块通过docker容器运行。
5.根据权利要求1所述的一种自动伸缩策略运维方法,其特征在于,还包括:
获取功能模块的运行数量信息;
判断所述数量信息是否超过预设的数量范围;
若大于数量范围最大值,则停止功能模块运行,并发送报警信息至后台。
6.根据权利要求1所述的一种自动伸缩策略运维方法,其特征在于,所述对功能模块进行节点扩增或收缩具体为:
获取功能模块扩增或收缩的步长;
根据所述步长,扩增或收缩对应的功能模块;
计算变更后的功能模块的运载能力;
判断所述变更后的功能模块的运载能力是否处于预设的变更条件;
若处于变更条件,则继续按照所述步长进行扩增或收缩;若不处于变更条件,则停止。
7.一种自动伸缩策略运维***,其特征在于,该***包括:存储器、处理器,所述存储器中包括自动伸缩策略运维方法程序,所述自动伸缩策略运维方法程序被所述处理器执行时实现如下步骤:
获取***的功能信息、功能模块信息和负载信息;
根据所述功能信息,获取每个功能的影响因子;
根据所述影响因子和负载信息计算对应功能模块的运载能力;
判断所述运载能力是否满足预设的变更条件;
若满足,则对功能模块进行节点扩增或收缩。
8.根据权利要求1所述的一种自动伸缩策略运维***,其特征在于,所述根据所述影响因子和负载信息计算对应功能模块的运载能力具体为:
获取功能模块的CPU、内存及磁盘使用率;
分别获取CPU、内存及磁盘使用率的加权因子;
通过下述公式计算模块的运载能力:
S=w×(w1C+w2R+w3D)
其中S为功能模块的运载能力值,w为功能模块的影响因子,w1为CPU使用率的加权因子,w2为内存使用率的加权因子,w3为磁盘使用率的加权因子,C为CPU的使用率,R为内存使用率,D为磁盘使用率,其中,w1+w2+w3=1。
9.根据权利要求1所述的一种自动伸缩策略运维***,其特征在于,判断所述运载能力是否满足预设的变更条件,包括:
判断所述运载能力是否大于预警阈值;
若大于预警阈值,则对功能模块进行节点扩增;
判断所述运载能力是否小于冗余阈值;
若小于冗余阈值,则对功能模块进行节点收缩。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括自动伸缩策略运维方法程序,所述自动伸缩策略运维方法程序被处理器执行时,实现如权利要求1至6中任一项所述的自动伸缩策略运维方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910705486.1A CN110442453A (zh) | 2019-08-01 | 2019-08-01 | 一种自动伸缩策略运维方法、***和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910705486.1A CN110442453A (zh) | 2019-08-01 | 2019-08-01 | 一种自动伸缩策略运维方法、***和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110442453A true CN110442453A (zh) | 2019-11-12 |
Family
ID=68432722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910705486.1A Withdrawn CN110442453A (zh) | 2019-08-01 | 2019-08-01 | 一种自动伸缩策略运维方法、***和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442453A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933178A (zh) * | 2019-12-09 | 2020-03-27 | 聚好看科技股份有限公司 | 调整集群***内的节点配置的方法及服务器 |
CN111124677A (zh) * | 2019-12-13 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种功能模块的动态调节方法、装置、设备及存储介质 |
CN111176834A (zh) * | 2019-12-09 | 2020-05-19 | 中国平安财产保险股份有限公司 | 自动伸缩策略运维方法、***和可读存储介质 |
CN111258816A (zh) * | 2020-01-17 | 2020-06-09 | 西安奥卡云数据科技有限公司 | Rpo调整方法、装置及计算机可读存储介质 |
CN111782386A (zh) * | 2020-03-17 | 2020-10-16 | 新浪网技术(中国)有限公司 | 一种基于历史业务流量的数据库调度方法及*** |
CN114924880A (zh) * | 2022-05-20 | 2022-08-19 | 创新科信息技术(北京)有限公司 | 一种工作负载分配方法、装置、设备及可读存储介质 |
CN116594786A (zh) * | 2023-07-19 | 2023-08-15 | 飞狐信息技术(天津)有限公司 | 变更redis内存容量的方法、装置及电子设备 |
CN117149099A (zh) * | 2023-10-31 | 2023-12-01 | 江苏华鲲振宇智能科技有限责任公司 | 一种计算存储分体式服务器***及控制方法 |
-
2019
- 2019-08-01 CN CN201910705486.1A patent/CN110442453A/zh not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933178A (zh) * | 2019-12-09 | 2020-03-27 | 聚好看科技股份有限公司 | 调整集群***内的节点配置的方法及服务器 |
CN111176834A (zh) * | 2019-12-09 | 2020-05-19 | 中国平安财产保险股份有限公司 | 自动伸缩策略运维方法、***和可读存储介质 |
CN110933178B (zh) * | 2019-12-09 | 2022-02-01 | 聚好看科技股份有限公司 | 调整集群***内的节点配置的方法及服务器 |
CN111124677A (zh) * | 2019-12-13 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种功能模块的动态调节方法、装置、设备及存储介质 |
CN111258816A (zh) * | 2020-01-17 | 2020-06-09 | 西安奥卡云数据科技有限公司 | Rpo调整方法、装置及计算机可读存储介质 |
CN111258816B (zh) * | 2020-01-17 | 2023-08-08 | 西安奥卡云数据科技有限公司 | Rpo调整方法、装置及计算机可读存储介质 |
CN111782386A (zh) * | 2020-03-17 | 2020-10-16 | 新浪网技术(中国)有限公司 | 一种基于历史业务流量的数据库调度方法及*** |
CN114924880A (zh) * | 2022-05-20 | 2022-08-19 | 创新科信息技术(北京)有限公司 | 一种工作负载分配方法、装置、设备及可读存储介质 |
CN116594786A (zh) * | 2023-07-19 | 2023-08-15 | 飞狐信息技术(天津)有限公司 | 变更redis内存容量的方法、装置及电子设备 |
CN117149099A (zh) * | 2023-10-31 | 2023-12-01 | 江苏华鲲振宇智能科技有限责任公司 | 一种计算存储分体式服务器***及控制方法 |
CN117149099B (zh) * | 2023-10-31 | 2024-03-12 | 江苏华鲲振宇智能科技有限责任公司 | 一种计算存储分体式服务器***及控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442453A (zh) | 一种自动伸缩策略运维方法、***和可读存储介质 | |
CN113051075B (zh) | 一种Kubernetes智能化扩缩容的方法及装置 | |
US9319281B2 (en) | Resource management method, resource management device, and program product | |
CN111818159A (zh) | 数据处理节点的管理方法、装置、设备及存储介质 | |
CN110933178B (zh) | 调整集群***内的节点配置的方法及服务器 | |
US11119563B2 (en) | Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization | |
CN111190745A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN109597837B (zh) | 时序数据的存储方法、查询方法及相关设备 | |
CN113297031A (zh) | 容器集群中的容器组防护方法及装置 | |
CN106664259B (zh) | 虚拟网络功能扩容的方法和装置 | |
CN109144666A (zh) | 一种跨云平台的资源处理方法及*** | |
CN114489963A (zh) | 人工智能应用任务的管理方法、***、设备及存储介质 | |
CN109104334B (zh) | 监控***中节点的管理方法和装置 | |
CN115391030A (zh) | 控制方法及装置、计算机设备及存储介质 | |
CN115048186A (zh) | 业务容器的扩缩容处理方法、装置、存储介质及电子设备 | |
CN114896222A (zh) | 日志数据处理方法、装置、计算机设备、*** | |
CN111090627B (zh) | 基于池化的日志存储方法、装置、计算机设备及存储介质 | |
CN114756451A (zh) | 电网***的安全测试方法、装置、计算机设备、存储介质 | |
CN103746839A (zh) | PaaS***和PaaS应用池中的VM节点调度方法 | |
CN113190347A (zh) | 一种边缘云***及任务管理方法 | |
CN111158899A (zh) | 一种数据的采集方法、采集器、任务管理中心以及*** | |
CN112261076B (zh) | 下载服务分离方法、装置、电子设备和可读存储介质 | |
CN112995613B (zh) | 一种分析资源管理方法及装置 | |
CN108920628A (zh) | 一种适配大数据平台的分布式文件***访问方法及装置 | |
CN112995704B (zh) | 一种缓存管理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191112 |