CN108762914A - 一种系统架构的智能伸缩方法、装置、电子设备及存储介质 - Google Patents
一种系统架构的智能伸缩方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108762914A CN108762914A CN201810342575.XA CN201810342575A CN108762914A CN 108762914 A CN108762914 A CN 108762914A CN 201810342575 A CN201810342575 A CN 201810342575A CN 108762914 A CN108762914 A CN 108762914A
- Authority
- CN
- China
- Prior art keywords
- system architecture
- cluster
- load
- resource
- dilatation
- 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.)
- Pending
Links
Classifications
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Abstract
本发明公开了系统架构的智能伸缩方法,通过检测出系统中各个集群的负载状态,了解系统架构的整体资源消耗情况,对于负载达到了负载阈值的集群,通过寻找系统架构其它集群中负载最低的机器,并创建所需要的容器,以实现扩容,简而言之,本发明通过自动检测,在系统中还存在空闲资源的情况下自动扩容,保证了架构调整的及时性,减少因人工操作导致的风险;当被扩容的集群的负载低于其对应的负载阈值,则关闭对应的容器以释放资源,使其可供其它项目使用。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种系统架构的智能伸缩方法、装置、电子设备及存储介质。
背景技术
目前大多数系统中,架构上的伸缩调整几乎均由人工操作,不仅增加了人工成本,并且有可能因为处理不及时或者操作失误对系统带来损坏。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种系统架构的智能伸缩方法、装置、电子设备及存储介质,通过自动伸缩以减少人工操作所带来的风险。
本发明的方法,采用如下技术方案实现:
一种系统架构的智能伸缩方法,包括:
检测系统架构中各个集群的负载状态,当检测到至少存在一个待扩容集群时,则查找目标机器,所述目标机器为系统架构中负载最低的机器且该机器所在集群的负载未达到该集群的负载阈值;所述待扩容集群为负载超出对应负载阈值的集群;
在目标机器创建目标容器,令该目标容器开始工作以对待扩容集群扩容;
当被扩容的集群的负载低于其对应的负载阈值,则关闭用于对该集群扩容的目标容器以释放资源。
进一步地,所述方法还包括:若检测出各个集群的负载均未达到其对应的负载阈值,则进入休眠,准备下一次检测。
进一步地,所述方法还包括:若检测出系统架构中无空闲资源,则通过预设的方式进行报警。
进一步地,所述方法通过以下步骤判断系统架构是否无空闲资源:
若检测出系统架构中各个集群的负载均达到其对应的负载阈值,则判断系统架构中无空闲资源。
进一步地,所述方法通过以下步骤判断系统架构是否无空闲资源:
若检测出系统架构的整体负载达到预设的临界值,则判断系统架构中无空闲资源;其中,所述临界值低于系统架构中各个集群的负载阈值的总和。
本发明的装置,采用如下技术方案实现:
一种系统架构的智能伸缩装置,包括:
检测模块,其用于检测系统架构中各个集群的负载状态,当检测到至少存在一个待扩容集群时,则查找目标机器,所述目标机器为系统架构中负载最低的机器且该机器所在集群的负载未达到该集群的负载阈值;所述待扩容集群为负载超出对应负载阈值的集群;
扩容模块,其用于在目标机器创建目标容器,令该目标容器开始工作以对待扩容集群扩容;
注销模块,其用于当被扩容的集群的负载低于其对应的负载阈值,则关闭用于对该集群扩容的目标容器以释放资源。
进一步地,若所述检测模块检测出各个集群的负载均未达到其对应的负载阈值,则进入休眠,准备下一次检测;若所述检测模块检测出系统架构中无空闲资源,则通过预设的方式进行报警。
进一步地,所述检测模块通过以下规则判断系统架构是否无空闲资源:
若检测出系统架构中各个集群的负载均达到其对应的负载阈值,则判断系统架构中无空闲资源;
或者,若检测出系统架构的整体负载达到预设的临界值,则判断系统架构中无空闲资源;其中,所述临界值低于系统架构中各个集群的负载阈值的总和。
本发明的电子设备,采用如下技术方案实现:
一种电子设备,包括存储器、处理器以及存储在存储器上并且可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的系统架构的智能伸缩方法。
本发明的存储介质,采用如下技术方案实现:
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的系统架构的智能伸缩方法。
相比现有技术,本发明的有益效果在于:
本发明的系统架构的智能伸缩方法,通过检测出系统中各个集群的负载状态,了解系统架构的整体资源消耗情况,对于负载达到了负载阈值的集群,通过寻找系统架构其它集群中负载最低的机器,并创建所需要的容器,以实现扩容,简而言之,本发明通过自动检测,在系统中还存在空闲资源的情况下自动扩容,保证了架构调整的及时性,减少因人工操作导致的风险;
当被扩容的集群的负载低于其对应的负载阈值,则关闭对应的容器以释放资源,使其可供其它项目使用。
附图说明
图1为本发明实施例一的系统架构的智能伸缩方法的流程图;
图2为本发明实施例二的系统架构的智能伸缩装置的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例一:
图1所示,为本发明实施例一的系统架构的智能伸缩方法的流程图。该方法包括以下步骤:(本实施例依赖于资源状态数据源)
S1、判断架构资源状态:其包括子步骤S11、S12、S13和S14:
子步骤S11、检测系统架构中各个集群的负载状态,若系统架构中无空闲资源,则按照预设的方式报警,否则执行S12和S14;
子步骤S12、若系统架构中各个集群的负载均未达到其对应的负载阈值,则进入休眠,准备下一次检测,否则执行S13;
子步骤S13、当检测到至少存在一个待扩容集群时,则查找目标机器,所述目标机器为系统架构中负载最低的机器且该机器所在集群的负载未达到该集群的负载阈值,所述待扩容集群为负载超出对应负载阈值的集群;那么执行S2;
子步骤S14、若检测出被扩容的集群的负载低于其对应的负载阈值,则执行S3;
S2、在目标机器创建目标容器,令该目标容器开始工作以对待扩容集群扩容;
S3、关闭用于对该集群扩容的目标容器以释放资源。
优选地,本实施例可以通过以下任一种方式判断系统架构是否无空闲资源:
(1)若检测出系统架构中各个集群的负载均达到其对应的负载阈值,则判断系统架构中无空闲资源;
(2)若检测出系统架构的整体负载达到预设的临界值,则判断系统架构中无空闲资源;其中,所述临界值低于系统架构中各个集群的负载阈值的总和。
本实施例的优点在于:通过检测出系统中各个集群的负载状态,了解系统架构的整体资源消耗情况,对于负载达到了负载阈值的集群,通过寻找系统架构其它集群中负载最低的机器,并创建所需要的容器,以实现扩容,简而言之,本发明通过自动检测,在系统中还存在空闲资源的情况下自动扩容,保证了架构调整的及时性,减少因人工操作导致的风险;当被扩容的集群的负载低于其对应的负载阈值,则关闭对应的容器以释放资源,使其可供其它项目使用。
以下阐述本实施例的方法应用到网关型应用时的工作原理,以使公众可以更为清楚地理解本发明:
假设架构包括有中心控制器、负载均衡服务器、数据库服务器以及用于提供服务的n个服务集群A1~An,服务集群A1~An的负载阈值设为a1~an,其中a1~an可由系统默认设置,也可由管理员根据实际情况手动调整。
对于其中某个服务集群,例如集群A1,假设其有100台服务器,每台服务器的负载阈值为6,则集群A1的负载阈值会被默认设置为600。
1>由中心控制器检查目前架构的负载状态,若各集群的负载未达到其对应的负载阈值,则进入休眠准备下一次检测。
2>集群的负载达到阈值,但无法获取资源(系统架构超负荷运转,无空闲资源),报警通知管理由管理员判断如何处理。
3>集群的负载达到阈值,系统架构中还有空闲资源,那么中心控制器开始查找并选出架构中负载最低的机器,选中后向该机器发出指令,创建所需要的应用容器(如PHP-FPM进程池)并记录入库;
具体而言,可以选取一段时间内负载最低的机器(如1天内),使用自动化程序或脚本(如python登陆SSH执行程序)等方式创建容器;
成功创建后,先验证创建的容器是否有效,如有效则向应用网关发起注册(如注册到nginx的upstream中),并开始工作,完成扩容。
当被扩容的集群的负载低于负载阈值时,中心控制器从数据库中选取自动扩容出来的容器,尝试从应用网关注销该容器,注销成功后关闭该容器,以释放架构资源,使其可供其它项目使用。
本方案不仅适用于网关型应用,也适用于缓存系统的自动伸缩,尤其适用于各大云厂商的自动化伸缩,可智能判断整个架构中的资源状态,申请购买机器(可加入人工审核干预),自动化部署、用后回收节省成本等。最大化架构的可用性和稳定性,同时减少人为操作失误带来的损失。
实施例二:
图2所示,为本发明实施例二的系统架构的智能伸缩装置的结构示意图。该装置包括:
检测模块,其用于检测系统架构中各个集群的负载状态,当检测到至少存在一个待扩容集群时,则查找目标机器,所述目标机器为系统架构中负载最低的机器且该机器所在集群的负载未达到该集群的负载阈值;所述待扩容集群为负载超出对应负载阈值的集群;
扩容模块,其用于在目标机器创建目标容器,令该目标容器开始工作以对待扩容集群扩容;
注销模块,其用于当被扩容的集群的负载低于其对应的负载阈值,则关闭用于对该集群扩容的目标容器以释放资源。
优选地,若所述检测模块检测出各个集群的负载均未达到其对应的负载阈值,则进入休眠,准备下一次检测;若所述检测模块检测出系统架构中无空闲资源,则通过预设的方式进行报警。
优选地,所述检测模块通过以下规则判断系统架构是否无空闲资源:
若检测出系统架构中各个集群的负载均达到其对应的负载阈值,则判断系统架构中无空闲资源;
或者,若检测出系统架构的整体负载达到预设的临界值,则判断系统架构中无空闲资源;其中,所述临界值低于系统架构中各个集群的负载阈值的总和。
本发明实施例二的工作原理可参考如本发明实施例一所述的智能伸缩方法的执行流程。
实施例三:
本发明实施例三提供一种电子设备,包括存储器、处理器以及存储在存储器上并且可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本发明实施例一所述的系统架构的智能伸缩方法。其中,该电子设备可以为但不限于个人计算机、服务器、智能手机及网络设备。
实施例四:
本发明实施例四提供一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现本发明实施例一所述的系统架构的智能伸缩方法。通过以上描述,所属领域技术人员能够清楚地了解到,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在计算机可读存储介质中,该存储介质可以为但不限于计算机的软盘、只读存储器、随机存取存储器、闪存、硬盘及光盘。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种系统架构的智能伸缩方法,其特征在于,包括:
检测系统架构中各个集群的负载状态,当检测到至少存在一个待扩容集群时,则查找目标机器,所述目标机器为系统架构中负载最低的机器且该机器所在集群的负载未达到该集群的负载阈值;所述待扩容集群为负载超出对应负载阈值的集群;
在目标机器创建目标容器,令该目标容器开始工作以对待扩容集群扩容;
当被扩容的集群的负载低于其对应的负载阈值,则关闭用于对该集群扩容的目标容器以释放资源。
2.如权利要求1所述的系统架构的智能伸缩方法,其特征在于,所述方法还包括:若检测出各个集群的负载均未达到其对应的负载阈值,则进入休眠,准备下一次检测。
3.如权利要求1或2所述的系统架构的智能伸缩方法,其特征在于,所述方法还包括:若检测出系统架构中无空闲资源,则通过预设的方式进行报警。
4.如权利要求3所述的系统架构的智能伸缩方法,其特征在于,所述方法通过以下步骤判断系统架构是否无空闲资源:
若检测出系统架构中各个集群的负载均达到其对应的负载阈值,则判断系统架构中无空闲资源。
5.如权利要求3所述的系统架构的智能伸缩方法,其特征在于,所述方法通过以下步骤判断系统架构是否无空闲资源:
若检测出系统架构的整体负载达到预设的临界值,则判断系统架构中无空闲资源;其中,所述临界值低于系统架构中各个集群的负载阈值的总和。
6.一种系统架构的智能伸缩装置,其特征在于,包括:
检测模块,其用于检测系统架构中各个集群的负载状态,当检测到至少存在一个待扩容集群时,则查找目标机器,所述目标机器为系统架构中负载最低的机器且该机器所在集群的负载未达到该集群的负载阈值;所述待扩容集群为负载超出对应负载阈值的集群;
扩容模块,其用于在目标机器创建目标容器,令该目标容器开始工作以对待扩容集群扩容;
注销模块,其用于当被扩容的集群的负载低于其对应的负载阈值,则关闭用于对该集群扩容的目标容器以释放资源。
7.如权利要求6所述的系统架构的智能伸缩装置,其特征在于,若所述检测模块检测出各个集群的负载均未达到其对应的负载阈值,则进入休眠,准备下一次检测;若所述检测模块检测出系统架构中无空闲资源,则通过预设的方式进行报警。
8.如权利要求7所述的系统架构的智能伸缩装置,其特征在于,所述检测模块通过以下规则判断系统架构是否无空闲资源:
若检测出系统架构中各个集群的负载均达到其对应的负载阈值,则判断系统架构中无空闲资源;
或者,若检测出系统架构的整体负载达到预设的临界值,则判断系统架构中无空闲资源;其中,所述临界值低于系统架构中各个集群的负载阈值的总和。
9.一种电子设备,包括存储器、处理器以及存储在存储器上并且可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的系统架构的智能伸缩方法。
10.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现如权利要求1-5任一项所述的系统架构的智能伸缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810342575.XA CN108762914A (zh) | 2018-04-17 | 2018-04-17 | 一种系统架构的智能伸缩方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810342575.XA CN108762914A (zh) | 2018-04-17 | 2018-04-17 | 一种系统架构的智能伸缩方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108762914A true CN108762914A (zh) | 2018-11-06 |
Family
ID=64010659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810342575.XA Pending CN108762914A (zh) | 2018-04-17 | 2018-04-17 | 一种系统架构的智能伸缩方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762914A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708610A (zh) * | 2020-06-19 | 2020-09-25 | 北京神州泰岳软件股份有限公司 | 数据库客户端构建方法和数据库操作方法 |
CN112350837A (zh) * | 2019-08-06 | 2021-02-09 | 南京南瑞继保电气有限公司 | 一种基于云平台的电力应用集群管理方法及装置 |
CN113760496A (zh) * | 2020-12-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种容器调度方法和调度器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130938A (zh) * | 2010-12-03 | 2011-07-20 | 中国科学院软件研究所 | 一种面向Web应用宿主平台的资源供给方法 |
CN102866918A (zh) * | 2012-07-26 | 2013-01-09 | 中国科学院信息工程研究所 | 面向分布式编程框架的资源管理系统 |
CN103200257A (zh) * | 2013-03-28 | 2013-07-10 | 中标软件有限公司 | 一种高可用集群系统中的节点及其资源切换方法 |
CN105872048A (zh) * | 2016-03-30 | 2016-08-17 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN106961351A (zh) * | 2017-03-03 | 2017-07-18 | 南京邮电大学 | 基于Docker容器集群的智能弹性伸缩方法 |
-
2018
- 2018-04-17 CN CN201810342575.XA patent/CN108762914A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130938A (zh) * | 2010-12-03 | 2011-07-20 | 中国科学院软件研究所 | 一种面向Web应用宿主平台的资源供给方法 |
CN102866918A (zh) * | 2012-07-26 | 2013-01-09 | 中国科学院信息工程研究所 | 面向分布式编程框架的资源管理系统 |
CN103200257A (zh) * | 2013-03-28 | 2013-07-10 | 中标软件有限公司 | 一种高可用集群系统中的节点及其资源切换方法 |
CN105872048A (zh) * | 2016-03-30 | 2016-08-17 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN106961351A (zh) * | 2017-03-03 | 2017-07-18 | 南京邮电大学 | 基于Docker容器集群的智能弹性伸缩方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112350837A (zh) * | 2019-08-06 | 2021-02-09 | 南京南瑞继保电气有限公司 | 一种基于云平台的电力应用集群管理方法及装置 |
CN112350837B (zh) * | 2019-08-06 | 2022-10-28 | 南京南瑞继保电气有限公司 | 一种基于云平台的电力应用集群管理方法及装置 |
CN111708610A (zh) * | 2020-06-19 | 2020-09-25 | 北京神州泰岳软件股份有限公司 | 数据库客户端构建方法和数据库操作方法 |
CN111708610B (zh) * | 2020-06-19 | 2024-02-27 | 北京神州泰岳软件股份有限公司 | 数据库客户端构建方法和数据库操作方法 |
CN113760496A (zh) * | 2020-12-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种容器调度方法和调度器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109586952B (zh) | 服务器扩容方法、装置 | |
JP5806418B2 (ja) | ファイルをアップロードする方法及び装置 | |
CN108762914A (zh) | 一种系统架构的智能伸缩方法、装置、电子设备及存储介质 | |
CN106375420A (zh) | 一种基于负载均衡的服务器集群智能监控系统及方法 | |
CN110716842B (zh) | 集群故障检测方法和装置 | |
CN106789141B (zh) | 一种网关设备故障处理方法及装置 | |
CN104461822A (zh) | 一种数据中心的容量监管方法和装置 | |
WO2020211253A1 (zh) | 分布式系统中主机数量弹性伸缩方法、装置和计算机设备 | |
CN107222340A (zh) | 一种基于云平台的故障处理方法及装置 | |
CN112711493A (zh) | 一种场景化根因分析应用 | |
CN106130778A (zh) | 一种处理集群故障的方法及一种管理节点 | |
CN108196940A (zh) | 删除容器的方法和相关设备 | |
CN114168951B (zh) | 异常检测方法以及装置 | |
CN109818825B (zh) | 一种Rack服务器智能化测试方法及系统 | |
CN102981939A (zh) | 磁盘监控方法 | |
CN107911229B (zh) | 运行状态改变的提醒方法、装置、电子设备及存储介质 | |
CN107612755A (zh) | 一种云资源的管理方法及其装置 | |
CN108897667A (zh) | 一种内存过热报警方法、装置及设备 | |
CN105025179A (zh) | 呼叫中心座席的监控方法及系统 | |
CN105897498A (zh) | 一种监控业务的方法及设备 | |
CN106603631A (zh) | 分布式消息系统及扩容方法 | |
CN107831388B (zh) | 集群10kV电缆线路过载的识别方法和系统 | |
CN114500229B (zh) | 基于时空信息的网络告警定位及分析方法 | |
CN115712521A (zh) | 一种集群节点故障处理方法、系统及介质 | |
CN114640709A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |
|
RJ01 | Rejection of invention patent application after publication |