CN105471938B - 服务器负载管理方法及装置 - Google Patents
服务器负载管理方法及装置 Download PDFInfo
- Publication number
- CN105471938B CN105471938B CN201410408774.8A CN201410408774A CN105471938B CN 105471938 B CN105471938 B CN 105471938B CN 201410408774 A CN201410408774 A CN 201410408774A CN 105471938 B CN105471938 B CN 105471938B
- Authority
- CN
- China
- Prior art keywords
- service
- load
- server
- cluster
- comprehensive
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种服务器负载管理方法,包括:获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;获取与所述至少一个负载管理模型对应的业务负载数据;根据所述负载管理模型及所述业务负载数据,计算所述服务器对应每个负载管理模型的业务负载率,并将每个所述服务器对应的最大的业务负载率作为所述综合业务负载率;根据所述业务集群中每个服务器的所述综合业务负载率,确定所述业务集群的综合业务负载率,所述综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。本发明还提供一种服务器负载管理装置。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务器负载管理方法及装置。
背景技术
容量管理(Capacity Management)的目的在于在恰当的时间以一种经济节约的方式为数据处理和存储提供所需的容量。随着计算机及互联网技术的发展,互联网用户和业务的规模以及服务器的数量都在不断的增加,面对海量的业务,容量管理成为业务运营中的一个重要的环节,而负载管理更是容量管理的重中之重。
目前很多的负载管理系统都是基于服务器本身的硬件指标或单纯的业务指标来对业务集群(即提供同一业务的服务器的集合)的负载进行管理,比如:先根据某段时间内服务器的中央处理器(Central Processing Unit,CPU)的负载,或者磁盘的负载,或者业务数据请求量来计算得到业务集群下的各个服务器的业务负载率,再对该各个服务器的业务负载率进行平均得到该业务集群的业务负载率,然后根据该业务负载率对该业务集群的负载进行管理。由于各个业务的依赖对象的差异,例如,有些业务非常依赖于磁盘,并需要大量磁盘负载和快速输入/输出;有些业务非常依赖于CPU,并需要快速处理器以获得最大工作效率;有些业务需要大量内存等等,因此每个业务集群产生负载瓶颈的原因不尽相同,并且很多业务的负载问题还涉及到多互联网数据中心(Internet Data Center,IDC),甚至是异地容灾分布的考虑,但现有技术对每个业务集群都采用的是统一的策略标准来衡量各业务集群的业务负载率,像这样采用同一套标准计算出来的业务负载率对某些业务集群来说是不准确的,容易产生负载管理效果不佳的问题。
发明内容
有鉴于此,本发明提供一种服务器负载管理方法及装置,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
本发明实施例提供的一种服务器负载管理方法,包括:获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;获取与所述至少一个负载管理模型对应的业务负载数据;根据所述负载管理模型及所述业务负载数据,计算所述服务器对应每个负载管理模型的业务负载率,并将每个所述服务器对应的最大的业务负载率作为所述综合业务负载率;根据所述业务集群中每个服务器的所述综合业务负载率,确定所述业务集群的综合业务负载率,所述综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。
本发明实施例提供的一种服务器负载管理装置,包括:获取模块,用于获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;所述获取模块,还用于获取与至少一个负载管理模型对应的业务负载数据;计算模块,用于根据所述获取模块获取的所述负载管理模型及所述业务负载数据,计算所述服务器对应每个负载管理模型的业务负载率,并将每个所述服务器对应的最大的业务负载率作为所述综合业务负载率;获得模块,用于根据所述计算模块计算的所述业务集群中每个服务器的所述综合业务负载率,确定所述业务集群的综合业务负载率,所述综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。
本发明实施例提供的上述服务器负载管理方法及装置,通过计算业务集群中的各服务器各自在该业务集群关联的至少一个负载管理模型中的综合业务负载率,并作为该业务集群的综合业务负载数据输出,以根据该综合业务负载率对该业务集群的负载进行管理,由于通过至少一个与业务集群相关联的负载管理模型获得该业务集群的综合业务负载数据,因此,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明实施例提供的服务器负载管理方法及装置的应用环境图;
图2示出了一种服务器的结构框图;
图3为本发明第一实施例提供的服务器负载管理方法的流程图;
图4为本发明第二实施例提供的服务器负载管理方法的流程图;
图5为本发明第二实施例提供的服务器负载管理方法中负载管理模型与业务集群的关联关系的示意图;
图6为本发明第三实施例提供的服务器负载管理方法的流程图;
图7为本发明第四实施例提供的服务器负载管理装置的结构示意图;
图8为图7的存储环境示意图;
图9为本发明第五实施例提供的服务器负载管理装置的结构示意图;
图10为本发明第五实施例提供的服务器负载管理装置中部分模块的结构示意图;
图11为本发明第五实施例提供的服务器负载管理装置中部分模块的结构示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
图1为本发明实施例提供的服务器负载管理方法及装置的应用环境图。本发明实施例提供的服务器负载管理方法及装置可应用于图1所示的环境中,实现对业务集群300的负载的有效管理。如图1所示,负载管理服务器100、数据采集服务器200以及业务集群300位于有线或无线网络中,通过该有线或无线网络,负载管理服务器100、数据采集服务器200以及业务集群300进行数据交互。
上述的有线网络可以但不限于包括:采用同轴电缆、双绞线或光纤来连接的计算机网络。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code divisionmultiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocol,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
上述业务集群300可以为由多台可提供相同预置业务的服务器构成的服务器集群,并且根据该预置业务的架构,业务集群300可包括多个下级子集群,各下级子集群也可以是多台可以提供同类预置业务的服务器构成的服务器集群。可以理解地,负载管理服务器100与数据采集服务器200也可以分别为多个服务器构成的服务器集群。
具体地,数据采集服务器200,用于采集(收集)业务集群300中包含的服务器301、302……30N的各种预置类型的业务负载数据,接收负载管理服务器100发送的业务负载数据拉取请求,根据该业务负载数据拉取请求,将对应的业务负载数据发送给负载管理服务器100。可以理解地,各服务器301、302……30N中可预置有采集模块,该采集模块用于实时采集服务器301、302……30N的各种预置类型的业务负载数据,并定期(例如每隔1分钟)上报给数据采集服务器200。
负载管理服务器100,用于获取业务集群300关联的至少一个负载管理模型,该负载管理模型用于获得业务集群300的综合业务负载数据,该综合业务负载数据包括业务集群300的综合平均业务负载率;获取业务集群300中的各服务器301、302……30N各自分别与该至少一个负载管理模型对应的业务负载数据;根据该负载管理模型以及该业务负载数据,分别获取各服务器301、302……30N各自对应的所有与关联的负载管理模型对应的业务负载率,并将各自对应的所有获取到的业务负载率中的最大的业务负载率分别作为各服务器301、302……30N的综合业务负载率;根据该综合业务负载率,获得该综合平均业务负载率,并输出,以根据该综合平均业务负载率对业务集群300的负载进行管理。具体地,负载管理服务器100可以将该综合平均业务负载率输出至本地存储器,以便负载管理服务器100随时调用分析模块读取本地存储器中存储的该综合平均业务负载率,对业务集群300的负载进行分析,并根据分析结果对业务集群300的负载进行管理;或者可以将该综合平均业务负载率输出至显示器进行显示,使得用户可根据显示的该综合平均业务负载率对业务集群300的负载进行分析,并根据分析结果指示负载管理服务器100对业务集群300的负载进行管理;或者可以将该综合平均业务负载率输出至其他终端,使得其他终端根据该综合平均业务负载率对业务集群300的负载进行分析,并根据分析结果指示负载管理服务器100对业务集群300的负载进行管理。
该负载管理模型包括但不限于如下:CPU模型、磁盘容量模型、网卡包量模型以及请求量模型。
进一步地,该业务负载数据对应于该负载管理模型,可以但不限于包括:CPU的业务负载、磁盘的业务负载、网卡包量的业务负载以及业务数据请求的业务负载。
图2示出了一种服务器的结构框图,该结构框图可以适用于负载管理服务器100,同时也可以适用于数据采集服务器200以及业务集群300下的各服务器。如图2所示,服务器100包括:存储器101、处理器102以及网络模块103。
可以理解,图2所示的结构仅为示意,服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。
存储器101可用于存储软件程序以及模块,如本发明实施例中的服务器负载管理方法及装置对应的程序指令/模块,处理器102通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的服务器负载管理方法。存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器101可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器100。进一步地,上述软件程序以及模块还可包括:操作系统121以及服务模块122。其中操作系统121,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块122运行在操作系统121的基础上,并通过操作系统121的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块122用于向客户端提供网络服务。
网络模块103用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块103可包括处理器、随机存储器、转换器、晶体振荡器等元件。
第一实施例
请参阅图3,图3为本发明第一实施例提供的服务器负载管理方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的负载管理服务器100实现对业务集群300的负载的有效管理。如图3所示,本实施例提供的服务器负载管理方法包括:
步骤S101,获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;
于本实施例中,负载管理服务器100可根据用户指令,设置业务集群300与负载管理模型的关联关系。具体地,负载管理服务器100可以通过关联文件或关联数据库记录业务集群300与负载管理模型的关联关系。当负载管理服务器100执行对业务集群300的管理任务时,负载管理服务器100可根据上述关联文件或关联数据库中的记录,获取业务集群300关联的至少一个负载管理模型。
负载管理模型可以用于获得业务集群300的综合业务负载数据。可以理解地,该综合业务负载数据通常为业务集群300在预置时长内的综合业务负载数据。
该负载管理模型可根据用户在关联交互界面触发的关联指令,从预置的负载管理模型中确定。该预置的负载管理模型可以由负载管理服务器100根据用户自定义的参数与算法预构建,可分为基于机器硬件的通用负载管理模型或者基于业务特性的负载管理模型。具体地,该预置的负载管理模型可以但不限于包括:CPU模型、磁盘容量模型、网卡包量模型以及请求量模型。
具体的,CPU模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内(例如:1秒)为提供预置业务而导致的上述各服务器的CPU的业务负载率计算获得。该CPU的业务负载率=(CPU的业务负载/该CPU的标准负载参考值)*100%,其中CPU的标准负载参考值是服务器的CPU在预置时长内所能承载的最大负载。
磁盘容量模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内为提供预置业务而导致的上述各服务器的磁盘的业务负载率计算获得。该磁盘的业务负载率=(磁盘的业务负载/该磁盘的标准负载参考值)*100%,其中磁盘的标准负载参考值是服务器的磁盘在预置时长内所能承载的最大负载。
网卡包量模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内收到或发送的网卡包量的业务负载率计算获得。该网卡包量的业务负载率=(网卡包量的业务负载/该网卡包量的标准负载参考值)*100%,其中网卡包量的业务负载为服务器在预置时长内收到或发送的业务数据包的数量,网卡包量的标准负载参考值是服务器在预置时长内所能承载的网卡包量的最大负载。例如:假定经过检测服务器的网卡包量超过20万个/秒时,该服务器就会崩溃,则可设定服务器的标准负载参考值为20万个/秒。
请求量模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内发生的业务数据请求的业务负载率计算获得。该业务数据请求的业务负载率=(业务数据请求的业务负载/该业务数据请求的标准负载参考值)*100%,其中业务数据请求的业务负载为服务器在预置时长内发生的业务数据请求的流量,业务数据请求的标准负载参考值是服务器在预置时长内所能承载的最大业务数据请求的流量。
本级业务集群还可以继承有其所有上级业务集群关联的负载管理模型。也就是说本级业务集群除了根据用户的关联指令而自身关联的负载管理模型之外,还继承了其所有上级业务集群所对应的负载管理模型。
举例来说,如图5所示,假定从高到底分别有三个等级的业务集群:一级业务集群、二级业务集群、三级业务集群1与2,其中,一级业务集群是二级业务集群的上一级模块,二级业务集群是三级业务集群1和2的上一级模块。根据用户的关联指令,一级业务集群自身关联的负载管理模型为CPU模型(A),二级业务集群自身关联的负载管理模型为磁盘容量模型(B),三级业务集群1自身关联的负载管理模型为网卡包量模型(C)与请求量模型(D),三级业务集群2自身没有关联任何负载管理模型,则一级业务集群实际关联的负载管理模型为模型A,二级业务集群实际关联的负载管理模型为模型A与B,三级业务集群1实际关联的负载管理模型为模型A、B、C以及D,三级业务集群2实际关联的负载管理模型为模型A与B。其中,虽然三级业务集群2自身没有相关联的负载管理模型,但他继承了其所有上级业务集群的负载管理模型,也就是一级业务集群与二级业务集群的负载管理模型,所以三级业务集群2实际上还是关联了模型A与B。
用户指令中可以包含关联条件及对应的标准负载参考值的信息,负载管理服务器100根据该用户指令,设置该负载管理模型与该关联条件以及该标准负载参考值的关联关系。该标准负载参考值可以用于计算业务集群300中的各服务器的业务负载率。该关联条件优选地为服务器型号。该关联条件可以用于为不同型号的服务器设置对应的标准负载参考值。
可以理解地,由于业务集群300是由多台不同型号的可提供相同或同类业务的服务器构成,而不同型号的服务器的硬件配置是不同的,基于上述硬件配置的差异,这些服务器的性能也是不同的,因此即便是基于同一个负载管理模型,为了使计算结果能够尽可能准确地反应出各服务器的负载情况,需要为不同型号的服务器设置不同的标准负载参考值。例如:可以为硬件性能较高的型号的服务器配置较大的标准负载参考值。此外,标准负载参考值的计量单位与负载管理模型的类型对应,例如:如果负载管理模型为网卡包量模型,由于网卡包量模型中业务集群300的综合业务负载数据的获得依据是业务集群300中的各服务器在预置时长内收到或发送的业务数据包的数量,因此对应的标准负载参考值的计量单位可以为个/秒。基于上述原理,该关联条件也可以是服务器的其他性能指标,例如:磁盘的容量大小、CPU的核数等等。
进一步地,负载管理服务器100中还可预置默认负载参考值。当业务集群300中的服务器不符合前述关联条件时,负载管理服务器100可以将预置的默认负载参考值,作为计算服务器的业务负载率的依据。像这样对于符合关联条件的服务器,采用对应的用户根据该服务器的硬件特性自定义的标准负载参考值计算其业务负载率,对于不符合该关联条件的服务器,采用预置的默认负载参考值计算其业务负载率,可使计算出的业务负载率更符合服务器的实际负载情况,因而也更具有针对性及准确性。
步骤S102,获取与所述至少一个负载管理模型对应的业务负载数据;
于本实施例中,对应于负载管理模型,服务器的业务负载数据可以包括但不限于包括:CPU的业务负载(即该CPU的当前工作任务量)、磁盘的业务负载(即该磁盘的当前使用量)、网卡包量的业务负载以及业务数据请求的业务负载(也即业务数据的当前请求量)中的至少一种。负载管理服务器100可定期(例如:每隔24小时)或实时从数据采集服务器200拉取上述业务负载数据。
步骤S103,根据所述负载管理模型及所述业务负载数据,计算所述服务器对应每个负载管理模型的业务负载率,并将每个所述服务器对应的最大的业务负载率作为所述综合业务负载率;
具体地,负载管理服务器100根据业务集群300关联的至少一个负载管理模型,以及业务集群300中的各服务器301、302……30N的分别与该至少一个负载管理模型对应的业务负载数据,分别计算上述各服务器的业务负载率,并将上述每个服务器对应的最大的业务负载率作为每个服务器的综合业务负载率。
举例来说,假定业务集群300关联了CPU模型(A)、磁盘容量模型(B)、网卡包量模型(C)以及请求量模型(D)四个模型,若经过计算获得业务集群300中的服务器301在上述四个模型中的业务负载率分别为:A模型:30%、B模型:40%、C模型:50%、D模型:80%,那么服务器301的综合业务负载率就是80%。
像这样,如果一个业务集群存在有多个条件都是其负载的瓶颈因素的情况,那么只要全部关联与其负载的瓶颈因素有关的模型即可,并且只要其中有一个模型计算出的业务负载率很高,那么这台机器的综合业务负载率就会很高,这相比现有技术中采用固定的条件来检测负载来说,能够避免因为使用统一标准而导致的计算出来业务负载率很低,但实际从某特性因素来看其实际业务负载率却很高的问题,从而可极大地提高计算结果的准确性,进而提高管理业务集群的负载的效率。
步骤S104,根据所述业务集群中每个服务器的所述综合业务负载率,确定所述业务集群的综合业务负载率,所述综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。
具体地,负载管理服务器100将计算获得的业务集群300中的各服务器301、302……30N各自对应的综合业务负载率作平均运算(业务集群300中的所有服务器各自对应的综合业务负载率之和除以服务器的数量),并将运算结果作为业务集群300的综合平均业务负载率,按照预置的输出方式进行输出,以根据该综合平均业务负载率对业务集群300的负载进行管理,例如:负载管理服务器100可以将业务集群300的综合平均业务负载率通过预留的电子邮件发送给用户,使得用户根据该综合平均业务负载率指示负载管理服务器100调整业务集群300的负载。或者负载管理服务器100可以将该综合平均业务负载率输出给调控服务器,通过该调控服务器根据该综合平均业务负载率分析业务集群300的负载是否过高,并当业务集群300的负载过高时,根据预置的调整策略降低业务集群300的负载,以维护业务集群300的业务提供的稳定性。
业务集群300的综合业务负载数据还可以包括:业务集群300的综合最大业务负载率以及综合最小业务负载率。负载管理服务器100将获得的业务集群300中所有服务器的综合业务负载率中最大的综合业务负载率作为业务集群300的综合最大业务负载率输出,将上述所有综合业务负载率中最小的综合业务负载率作为业务集群300的综合最小业务负载率输出,以根据该综合最大业务负载率以及该综合最小业务负载率对该业务集群的负载进行管理。例如:根据预置的均衡策略,均衡业务集群300中各服务器的负载。
负载管理服务器100根据该综合业务负载数据,分析业务集群300是否满足预置的告警条件;若满足,则按照预置的告警方式进行告警。
负载管理服务器100获取业务集群300对应的容灾级别及其对应的容灾条件;分别获取业务集群300的各子集群中的服务器的数量;根据业务集群300中的各服务器的综合业务负载率与该各子集群中的服务器的数量,分别计算该各子集群的综合平均业务负载率;根据该各子集群的综合平均业务负载率,分析该业务集群是否满足该容灾条件;当该业务集群不满足该容灾条件时,进行告警。
本发明实施例提供的服务器负载管理方法,通过计算业务集群中的各服务器各自在该业务集群关联的至少一个负载管理模型中的综合业务负载率,进一步的,根据该综合业务负载率获得该业务集群的综合平均业务负载率,并作为该业务集群的综合业务负载数据输出,以根据该综合平均业务负载率对该业务集群的负载进行管理,由于通过至少一个与业务集群相关联的负载管理模型获得该业务集群的综合业务负载数据,因此,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
第二实施例
请参阅图4,图4为本发明第二实施例提供的服务器负载管理方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的负载管理服务器100实现对业务集群300的负载的有效管理。如图4所示,本实施例提供的服务器负载管理方法包括:
步骤S201,根据用户指令,设置业务集群与负载管理模型的关联关系;
业务集群300可包含多个可以提供相同预置业务的服务器301、302……30N。于本实施例中,负载管理服务器100可以根据用户在关联交互界面触发的关联指令,获取该关联指令指向的业务集群300的标识符与至少一个负载管理模型的标识符,并通过关联文件或关联数据库记录业务集群300的标识符、负载管理模型的标识符、以及二者的关联关系,以设置业务集群与负载管理模型的关联关系。
负载管理模型可以用于获得业务集群300的综合业务负载数据。可以理解地,该综合业务负载数据通常为业务集群300在预置时长内的综合业务负载数据。具体地,该综合业务负载数据可以包括:业务集群300的综合平均业务负载率,综合最大业务负载率以及综合最小业务负载率。
负载管理模型可从预置的负载管理模型中确定。该预置的负载管理模型可以由负载管理服务器100根据用户自定义的参数与算法预构建,可分为基于机器硬件的通用负载管理模型或者基于业务特性的负载管理模型。具体地,该预置的负载管理模型可以但不限于包括:CPU模型、磁盘容量模型、网卡包量模型以及请求量模型。
具体的,CPU模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内(例如:1秒)为提供预置业务而导致的上述各服务器的CPU的业务负载率计算获得。该CPU的业务负载率=(CPU的业务负载/该CPU的标准负载参考值)*100%,其中CPU的标准负载参考值是服务器的CPU在预置时长内所能承载的最大负载。
磁盘容量模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内为提供预置业务而导致的上述各服务器的磁盘的业务负载率计算获得。该磁盘的业务负载率=(磁盘的业务负载/该磁盘的标准负载参考值)*100%,其中磁盘的标准负载参考值是服务器的磁盘在预置时长内所能承载的最大负载。
网卡包量模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内收到或发送的网卡包量的业务负载率计算获得。该网卡包量的业务负载率=(网卡包量的业务负载/该网卡包量的标准负载参考值)*100%,其中网卡包量的业务负载为服务器在预置时长内收到或发送的业务数据包的数量,网卡包量的标准负载参考值是服务器在预置时长内所能承载的网卡包量的最大负载。例如:假定经过检测服务器的网卡包量超过20万个/秒时,该服务器就会崩溃,则可设定服务器的标准负载参考值为20万个/秒。
请求量模型中业务集群300在预置时长内的综合业务负载数据,可以根据业务集群300中的各服务器301、302……30N在预置时长内发生的业务数据请求的业务负载率计算获得。该业务数据请求的业务负载率=(业务数据请求的业务负载/该业务数据请求的标准负载参考值)*100%,其中业务数据请求的业务负载为服务器在预置时长内发生的业务数据请求的流量,业务数据请求的标准负载参考值是服务器在预置时长内所能承载的最大业务数据请求的流量。
于本实施例中,本级业务集群继承有其所有上级业务集群关联的负载管理模型。也就是说本级业务集群除了根据用户的关联指令而自身关联的负载管理模型之外,还继承了其所有上级业务集群所对应的负载管理模型。
举例来说,如图5所示,假定从高到底分别有三个等级的业务集群:一级业务集群、二级业务集群、三级业务集群1与2,其中,一级业务集群是二级业务集群的上一级模块,二级业务集群是三级业务集群1和2的上一级模块。根据用户的关联指令,一级业务集群自身关联的负载管理模型为CPU模型(A),二级业务集群自身关联的负载管理模型为磁盘容量模型(B),三级业务集群1自身关联的负载管理模型为网卡包量模型(C)与请求量模型(D),三级业务集群2自身没有关联任何负载管理模型,则一级业务集群实际关联的负载管理模型为模型A,二级业务集群实际关联的负载管理模型为模型A与B,三级业务集群1实际关联的负载管理模型为模型A、B、C以及D,三级业务集群2实际关联的负载管理模型为模型A与B。其中,虽然三级业务集群2自身没有相关联的负载管理模型,但他继承了其所有上级业务集群的负载管理模型,也就是一级业务集群与二级业务集群的负载管理模型,所以三级业务集群2实际上还是关联了模型A与B。
步骤S202,根据该用户指令,设置该负载管理模型与关联条件以及对应的标准负载参考值的关联关系;
具体地,该用户指令中可以包含关联条件以及对应的标准负载参考值的信息。关联条件可用于为符合不同预置条件的服务器设置不同的标准负载参考值。标准负载参考值是服务器在预置时长内所能承载的最大负载。关联条件优选地为服务器型号,由于业务集群300是由多台不同型号的可提供相同业务的服务器构成,而不同型号的服务器的硬件配置是不同的,基于上述硬件配置的差异,这些服务器的性能也是不同的,因此即便是基于同一个负载管理模型,为了使计算结果能够尽可能准确地反应出各服务器的负载情况,需要为不同型号的服务器设置不同的标准负载参考值。例如:可以为对应的硬件性能较高的型号的服务器配置较大的标准负载参考值。基于上述原理,关联条件也可以是服务器的其他性能指标,例如:磁盘的容量大小、CPU的核数等等。
于本实施例中,负载管理服务器100可通过前述关联文件或关联数据库记录负载管理模型与关联条件以及对应的标准负载参考值的关联关系。
步骤S203,获取该业务集群关联的至少一个负载管理模型;
具体地,负载管理服务器100可根据业务集群300的标识符,查询前述关联文件或关联数据库中的记录,获取业务集群300关联的至少一个负载管理模型。
步骤S204,获取该服务器分别与该至少一个负载管理模型对应的业务负载数据;
具体地,根据业务集群300关联的负载管理模型的类型与数量,业务集群300中的各服务器301、302……30N的业务负载数据至少可以包括以下任一种数据:预置时长内CPU的业务负载(即该CPU的当前工作任务量)、磁盘的业务负载(即该磁盘的当前使用量)、网卡包量的业务负载以及业务数据请求的业务负载(也即业务数据的当前请求量)。
负载管理服务器100可以定期或实时通过数据采集服务器200分别采集业务集群300中的各服务器301、302……30N的与业务集群300相关联的负载管理模型有关的业务负载数据。
步骤S205,判断该服务器的型号是否符合该关联条件;
负载管理服务器100查询前述关联文件或关联数据库,获取分别与业务集群300关联的至少一个负载管理模型对应的关联条件,并将业务集群300中的各服务器的型号逐一与查询出的关联条件进行比较,判断各服务器的型号是否与该关联条件相符。
若该服务器的型号符合该关联条件,则执行步骤S206:获取该服务器型号对应的标准负载参考值;
步骤S207,根据该服务器型号对应的标准负载参考值与该业务负载数据,计算该服务器的业务负载率;
于本实施例中,负载管理服务器100逐一计算业务集群300中的各服务器301、302……30N在业务集群300对应的至少一个负载管理模型中的业务负载率,该业务负载率=上述各服务器在业务集群300关联的负载管理模型中对应的业务负载/标准负载参考值。举例来说,假定业务集群300关联的负载管理模型为:网卡包量模型以及磁盘容量模型,服务器301的型号为101A,网卡包量模型中型号为101A的服务器对应的标准负载参考值为20万个/秒,磁盘容量模型中型号为101A的服务器对应的标准负载参考值为10G,服务器301在网卡包量模型中对应的业务负载为网卡包量的业务负载,且该网卡包量的业务负载为10万个/秒,服务器301在磁盘容量模型中对应的业务负载为磁盘的业务负载,且该磁盘的业务负载为2G,则服务器301在网卡包量模型中的业务负载率为10/20=50%,在磁盘容量模型中的业务负载率为2/10=20%。
进一步地,若服务器301有多个CPU时,服务器301在CPU模型中的业务负载率=多个CPU的业务负载的平均值/CPU的标准负载参考值。
进一步地,负载管理服务器100还可以计算服务器在关联的各负载管理模型中的预置数量的检测时长的多个业务负载率,并对该多个业务负载率进行排序,将去除自高向低的预置百分比数量的业务负载率(也即去除毛刺点)后剩下的业务负载率中值最大的业务负载率作为服务器最终的业务负载率。举例来说,假定经过计算,服务器301在磁盘容量模型中的10个检测时长的业务负载率分别为:90%,100%,80%,75%,34%,17%,65%,48%,87%,12%,则将上述10个业务负载率排序,并去除自高向低的预置百分比数量(假定为10%)的业务负载率,也就是100%,然后将剩余9个业务负载率中值最大的业务负载率90%最为服务器301在磁盘容量模型中的最终的业务负载率。
若该服务器的型号不符合该关联条件,则执行步骤S208:获取预置的默认负载参考值;
步骤S209,根据该默认负载参考值与该业务负载数据,计算该服务器的业务负载率;
具体地,负载管理服务器100中还可预置默认负载参考值。当业务集群300中的服务器不符合前述关联条件时,负载管理服务器100可以将预置的默认负载参考值,作为计算服务器的业务负载率的依据。根据该默认负载参考值与该业务负载数据,计算该服务器的业务负载率的计算方法与根据该服务器型号对应的标准负载参考值与该业务负载数据,计算该服务器的业务负载率的计算方法相同,此处不再赘述。
像这样对于符合关联条件的服务器,采用对应的用户根据该服务器的硬件特性自定义的标准负载参考值计算其业务负载率,对于不符合该关联条件的服务器,采用预置的默认负载参考值计算其业务负载率,可使计算出的业务负载率更符合服务器的实际负载情况,因而也更具有针对性及准确性。
步骤S210,将每个该服务器对应的最大的业务负载率作为每个该服务器的综合业务负载率;
举例来说,假定业务集群300关联了CPU模型(A)、磁盘容量模型(B)、网卡包量模型(C)以及请求量模型(D)四个模型,若经过计算获得业务集群300中的服务器301在上述四个模型中的业务负载率分别为:A模型:30%、B模型:40%、C模型:50%、D模型:80%,那么服务器301的综合业务负载率就是80%。
像这样,如果一个业务集群存在有多个条件都是其负载的瓶颈因素的情况,那么只要全部关联与其负载的瓶颈因素有关的模型即可,并且只要其中有一个模型计算出的业务负载率很高,那么这台机器的综合业务负载率就会很高,这相比现有技术中采用固定的条件来检测负载来说,能够避免因为使用统一标准而导致的计算出来业务负载率很低,但实际从某特性因素来看其实际业务负载率却很高的问题,从而可极大地提高计算结果的准确性,进而提高管理业务集群的负载的效率。
步骤S211,根据该综合业务负载率,获得该业务集群的综合平均业务负载率,并输出;
具体地,负载管理服务器100将计算获得的业务集群300中的各服务器301、302……30N各自对应的综合业务负载率作平均运算,并将运算结果作为业务集群300的综合平均业务负载率avg,按照预置的输出方式进行输出。
步骤S212,将该综合业务负载率中最大的综合业务负载率作为该业务集群的综合最大业务负载率输出,将该综合业务负载率中最小的综合业务负载率作为该业务集群的综合最小业务负载率输出;
于本实施例中,业务集群300的综合最大业务负载率max,为业务集群300中的所有服务器各自对应的综合业务负载率中值最大者;综合最小业务负载率min,为业务集群300中的所有服务器各自对应的综合业务负载率中值最小者。
可以理解地,该综合平均业务负载率avg能反应业务集群下所有机器的整体情况,而该综合最大业务负载率max与该综合最小负载min能够反应个别机器的负载异常。像这样通过获取业务集群300的综合最大业务负载率、综合平均业务负载率以及综合最小业务负载率并输出,可以对业务集群300的总体负载情况以及业务集群300下是否存在单机负载异常的情况有一个全面的了解,从而使得对业务集群的负载管理更具有针对性,进而可提高负载管理的效率。
步骤S213,根据该综合平均业务负载率、该综合最大业务负载率以及该综合最小业务负载率,分析该业务集群是否满足预置的告警条件,并当满足时,按照预置的告警方式进行告警。
于本实施例中,负载管理服务器100可当业务集群300的该综合平均业务负载率与该综合最大业务负载率或与该综合最小业务负载率的差值超过预置的第一阈值,或者当该综合最大业务负载率超过预置的第二阈值时,或者当该综合最大业务负载率超过预置的第二阈值且该综合最大业务负载率对应的服务器的数量超过预置的第三阈值时,或者当该综合最小业务负载率低于预置的第四阈值时,或者当该综合最小业务负载率低于预置的第四阈值且该综合最小业务负载率对应的服务器的数量超过预置的第五阈值时,确定业务集群300负载异常,按照预置的告警方法输出告警信息,例如:根据用户预留的手机号、电子邮箱,将告警信息发送到对应的终端设备,以通知该用户业务集群负载异常,使得该用户可根据告警信息对业务集群300的负载进行管理,例如:指示负载管理服务器100均衡业务集群300中各服务器的负载。
本发明实施例提供的服务器负载管理方法,通过计算业务集群中的各服务器各自在该业务集群关联的至少一个负载管理模型中的综合业务负载率,进一步的,根据该综合业务负载率获得该业务集群的综合平均业务负载率,并作为该业务集群的综合业务负载数据输出,以根据该综合平均业务负载率对该业务集群的负载进行管理,由于通过至少一个与业务集群相关联的负载管理模型获得该业务集群的综合业务负载数据,因此,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
第三实施例
请参阅图6,图6为本发明第三实施例提供的服务器负载管理方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的负载管理服务器100实现对业务集群300的负载的有效管理。如图6所示,本实施例提供的服务器负载管理方法包括:
步骤S301,根据用户指令,设置业务集群与负载管理模型的关联关系;
步骤S302,根据该用户指令,设置该负载管理模型与关联条件以及对应的标准负载参考值的关联关系;
步骤S303,获取该业务集群关联的至少一个负载管理模型;
步骤S304,获取该服务器分别与该至少一个负载管理模型对应的业务负载数据;
步骤S305,判断该服务器的型号是否符合该关联条件;
步骤S306,当该服务器的型号符合该关联条件时,获取该服务器型号对应的标准负载参考值;
步骤S307,根据该服务器型号对应的标准负载参考值与该业务负载数据,计算该服务器的业务负载率;
步骤S308,当该服务器的型号不符合该关联条件时,获取预置的默认负载参考值;
步骤S309,根据该默认负载参考值与该业务负载数据,计算该服务器的业务负载率;
步骤S310,将每个该服务器对应的最大的业务负载率作为每个该服务器的综合业务负载率;
步骤S311,根据该综合业务负载率,获得该业务集群的综合平均业务负载率;
步骤S310至步骤S311具体可参考第二实施例的相关内容,此处不再赘述。
步骤S312,获取该业务集群对应的容灾级别及其对应的容灾条件;
于本实施例中,容灾级别可以包括:机架级、模块级、IDC级以及城市级。其中,机架,是指机房里面一个柜子,共用一个上联交换机;模块,是指同一个机房模块,一般是同一个核心交换机下面的机器组成一个模块;IDC就是指的一个机房。一般一个模块由多个机架组成、一个IDC由多个模块组成,一个城市由多个IDC组成。不同的容灾级别所对应的容灾条件也不相同,以IDC级为例:假定有3个IDC,只有当其中某个IDC的当前承载能力小于其他两个IDC的剩余承载能力之和时,才能满足容灾条件,达到IDC级容灾。
可以理解地,负载管理服务器100可在业务上线时,根据业务集群300的架构,预置对应的容灾级别及容灾条件。
步骤S313,获取该业务集群的各子集群中的服务器的数量,根据该业务集群中各服务器的综合业务负载率与该各子集群的服务器的数量,分别计算该各子集群的综合平均业务负载率;
步骤S314,根据该各子集群的综合平均业务负载率,分析该业务集群是否满足该容灾条件,并当该业务集群不满足该容灾条件时,进行告警。
举例来说,假定业务集群300对应的容灾级别是IDC级容灾,根据该业务集群300提供的业务的架构,业务集群被分布在3个IDC。那么,负载管理服务器100首先根据业务集群300对应的容灾级别,将业务集群300划分为三个子集群IDC1、IDC2、IDC3,并根据每个IDC下的各服务器的综合业务负载率,计算每个IDC的综合平均业务负载率(IDC下的所有服务器的综合业务负载率之和/该IDC下的服务器的数量);然后,根据每个IDC下的服务器的数量及其综合平均业务负载率计算每个IDC的剩余承载能力,并据此判断业务集群300是否满足IDC级容灾的容灾条件,若不满足则进行告警。其中,剩余承载能力计算方式如下表1所示:
表1
表1中,IDC1的当前承载力(C)=IDC1机器数*IDC1的综合平均业务负载率/(IDC1机器数*IDC1的综合平均业务负载率+IDC2的机器数*IDC2的综合平均业务负载率+IDC3的机器数*IDC3的综合平均业务负载率)=0.130*0.3/(30*0.3+50*0.5+40*0.6)=0.15;
IDC1的剩余承载能力(O)=IDC1机器数*(1-IDC1的综合平均业务负载率)/(IDC1机器数*IDC1的综合平均业务负载率+IDC2的机器数*IDC2的综合平均业务负载率+IDC3的机器数*IDC3的综合平均业务负载率)=0.36=30*(1-0.3)/(30*0.3+50*0.5+40*0.6)=0.36。
基于上述相同计算原理,IDC2的当前承载力(C)=50*0.5/(30*0.3+50*0.5+40*0.6)=0.44,IDC2的剩余承载能力(O)=50*(1-0.5)/(30*0.3+50*0.5+40*0.6)=0.44;
IDC3的当前承载力(C)=40*0.6/(30*0.3+50*0.5+40*0.6)=0.41,IDC3的剩余承载能力(O)=40*(1-0.6)/(30*0.3+50*0.5+40*0.6)=0.28。
由于要达到IDC级容灾,某个IDC的当前承载能力要小于其他两个IDC的剩余承载能力的和才能满足容灾条件。那么,用条件表达式表示如下:
C[IDC3]<O[IDC1]+O[IDC2]&&C[IDC2]<O[IDC1]+O[IDC3]>1&&C[IDC1]<O[IDC2]+O[IDC3]>1
而上面的例子显然是满足的,因此满足IDC级容灾条件,不需要进行告警,否则,负载管理服务器100将根据预置的告警方式进行告警。
需要说明的是,机架级、模块级以及城市级容灾的判断方法与上述IDC级容灾的判断方法相似,差异仅在于子集群的划分方式(也就是子集群下的服务器的分布情况),此处不再赘述。
像这样,根据业务集群300的各子集群的综合平均业务负载率,分析业务集群300是否满足对应的容灾级别对应的容灾条件,并当业务集群300不满足该容灾条件时,进行告警,可以适应多架构、多规模的业务集群、以及多标准的容灾条件的负载告警,从而解决现有技术中由于只对于业务集群的负载大于某个标准参考值时才会发送告警,因此当业务集群包含多个架构或者具有多个标准的容灾条件时,则无法告警的缺陷。
本发明实施例提供的服务器负载管理方法,通过计算业务集群中的各服务器各自在该业务集群关联的至少一个负载管理模型中的综合业务负载率,进一步的,根据该综合业务负载率获得该业务集群的综合平均业务负载率,并作为该业务集群的综合业务负载数据输出,以根据该综合平均业务负载率对该业务集群的负载进行管理,由于通过至少一个与业务集群相关联的负载管理模型获得该业务集群的综合业务负载数据,因此,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
第四实施例
图7为本发明第四实施例提供的服务器负载管理装置的结构示意图。本实施例提供的服务器负载管理装置可运行于图1所示的负载管理服务器100中,用于实现上述实施例中的服务器负载管理方法。如图7所示,服务器负载管理装置40包括:获取模块41、计算模块42以及获得模块43。
获取模块41,用于获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;
获取模块41,还用于获取与至少一个负载管理模型对应的业务负载数据;
计算模块42,用于根据获取模块41获取的所述负载管理模型及所述业务负载数据,计算所述服务器对应每个负载管理模型的业务负载率,并将每个所述服务器对应的最大的业务负载率作为所述综合业务负载率;
获得模块43,用于根据所述计算模块计算的所述业务集群中每个服务器的所述综合业务负载率,确定所述业务集群的综合业务负载率,所述综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。进一步的,还可以根据计算模块42计算的该综合业务负载率,获得该综合平均业务负载率。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于存储器101内,如图8所示。以上各模块同样可以由硬件例如集成电路芯片实现。
本实施例对服务器负载管理装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的服务器负载管理装置,通过计算业务集群中的各服务器各自在该业务集群关联的至少一个负载管理模型中的综合业务负载率,根据该综合业务负载率获得该业务集群的综合平均业务负载率,并作为该业务集群的综合业务负载数据输出,以根据该综合平均业务负载率对该业务集群的负载进行管理,由于通过至少一个与业务集群相关联的负载管理模型获得该业务集群的综合业务负载数据,因此,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
第五实施例
图9为本发明第五实施例提供的服务器负载管理装置的结构示意图。本实施例提供的服务器负载管理装置可运行于图1所示的负载管理服务器100中,用于实现上述实施例中的服务器负载管理方法。如图9所示,服务器负载管理装置50包括:获取模块41、计算模块42、获得模块43、输出模块54、关联模块55、分析模块56以及告警模块57。
获取模块41,用于获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;
获取模块41,还用于获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述综合业务负载数据包括综合业务负载率;
计算模块42,用于根据获取模块41获取的所述负载管理模型及所述业务负载数据,计算所述服务器对应每个负载管理模型的业务负载率,并将每个所述服务器对应的最大的业务负载率作为所述综合业务负载率;
获得模块43,用于根据计算模块42计算的该综合业务负载率,获得该综合平均业务负载率;
输出模块54,用于将该综合业务负载率中最大的综合业务负载率作为该综合最大业务负载率输出,将该综合业务负载率中最小的综合业务负载率作为该综合最小业务负载率输出,以根据该综合最大业务负载率以及该综合最小业务负载率对该业务集群的负载进行管理;
关联模块55,用于根据用户指令,设置该业务集群与该负载管理模型的关联关系;
分析模块56,用于根据该综合业务负载数据,分析该业务集群是否满足预置的告警条件;
告警模块57,用于若满足,则按照预置的告警方式进行告警。
优选地,该综合业务负载数据还包括:该业务集群的综合最大业务负载率以及综合最小业务负载率。
优选地,该业务集群继承有其所有上级业务集群关联的负载管理模型。
优选地,该用户指令中包含关联条件及对应的标准负载参考值的信息,关联模块55还用于根据该用户指令,设置该负载管理模型与该关联条件以及该标准负载参考值的关联关系,该标准负载参考值用于计算该服务器的业务负载率。
优选地,该关联条件包括服务器型号。
优选地,如图10所示,计算模块42包括:
获取单元421,用于当该服务器的型号符合该关联条件时,获取该服务器型号对应的标准负载参考值;
计算单元422,用于根据该服务器型号对应的标准负载参考值与该业务负载数据,计算该服务器的业务负载率。
优选地,获取单元421,还用于当该服务器的型号不符合该关联条件时,获取预置的默认负载参考值;
计算单元422,还用于根据该默认负载参考值与该业务负载数据,计算该服务器的业务负载率。
优选地,如图11所示,分析模块56包括:
获取单元561,用于获取该业务集群对应的容灾级别及其对应的容灾条件;
获取单元561,还用于获取该业务集群的各子集群中的服务器的数量;
计算单元562,用于根据该综合业务负载率与该各子集群的服务器的数量,分别计算该各子集群的综合平均业务负载率;
分析单元563,用于根据该各子集群的综合平均业务负载率,分析该业务集群是否满足该容灾条件;
告警模块57,还用于当该业务集群不满足该容灾条件时,进行告警。
优选地,输出模块54,还用于输出该综合平均业务负载率,以根据该综合平均业务负载率对该业务集群的负载进行管理。
本实施例对服务器负载管理装置50的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的服务器负载管理装置,通过计算业务集群中的各服务器各自在该业务集群关联的至少一个负载管理模型中的综合业务负载率,根据该综合业务负载率获得该业务集群的综合平均业务负载率,并作为该业务集群的综合业务负载数据输出,以根据该综合平均业务负载率对该业务集群的负载进行管理,由于通过至少一个与业务集群相关联的负载管理模型获得该业务集群的综合业务负载数据,因此,可实现基于不同业务集群各自具有的至少一种特性,而对不同业务集群的业务负载率进行的差别化地综合计算,从而可极大地提高计算结果的准确性,提高负载管理的效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (23)
1.一种服务器负载管理方法,其特征在于,包括:
获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述业务集群的综合业务负载数据包括所述业务集群的综合业务负载率;
获取与所述至少一个负载管理模型对应的业务负载数据;
根据所述负载管理模型及所述业务负载数据,计算所述服务器在关联的所述至少一个负载管理模型中的预置数量的检测时长的预置数量个业务负载率,以及
对每个负载管理模型对应的所述预置数量个业务负载率进行排序,将去除自高向低的预置百分比数量的业务负载率后剩下的业务负载率中值最大的业务负载率作为所述服务器对应每个负载管理模型的业务负载率,并将每个服务器对应的最大的业务负载率作为每个服务器的综合业务负载率;
根据所述业务集群中所述每个服务器的综合业务负载率,确定所述业务集群的综合业务负载率,所述业务集群的综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务集群中所述每个服务器的综合业务负载率,确定所述业务集群的综合业务负载率,具体包括:
将所述业务集群中各服务器的综合业务负载率中最大的综合业务负载率作为所述业务集群的综合最大业务负载率;
将所述业务集群中各服务器的综合业务负载率中最小的综合业务负载率作为所述业务集群的综合最小业务负载率;
将所述业务集群中各服务器的综合业务负载率的平均值作为所述业务集群的综合平均业务负载率。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据用户指令,设置所述业务集群与所述负载管理模型的关联关系。
4.根据权利要求3所述的方法,其特征在于,所述业务集群继承有其所有上级业务集群关联的负载管理模型。
5.根据权利要求3所述的方法,其特征在于,所述用户指令中包含关联条件及对应的标准负载参考值的信息,所述方法还包括:
根据所述用户指令,设置所述负载管理模型与所述关联条件以及所述标准负载参考值的关联关系,所述标准负载参考值用于计算所述服务器的业务负载率。
6.根据权利要求5所述的方法,其特征在于,所述关联条件包括服务器型号。
7.根据权利要求6所述的方法,其特征在于,所述根据所述负载管理模型及所述业务负载数据,计算所述服务器在关联的所述至少一个负载管理模型中的预置数量的检测时长的预置数量个业务负载率,包括:
当所述服务器的型号符合所述关联条件时,获取所述服务器型号对应的所述标准负载参考值;
根据所述服务器型号对应的所述标准负载参考值与所述业务负载数据,计算所述服务器的业务负载率。
8.根据权利要求6所述的方法,其特征在于,所述根据所述负载管理模型及所述业务负载数据,计算所述服务器在关联的所述至少一个负载管理模型中的预置数量的检测时长的预置数量个业务负载率,包括:
当所述服务器的型号不符合所述关联条件时,获取预置的默认负载参考值;
根据所述默认负载参考值与所述业务负载数据,计算所述服务器的业务负载率。
9.根据权利要求1至8的任一项所述的方法,其特征在于,所述方法还包括:
根据所述业务集群的综合业务负载率,分析所述业务集群是否满足预置的告警条件;
若满足,则按照预置的告警方式进行告警。
10.根据权利要求9所述的方法,其特征在于,所述根据所述业务集群的综合业务负载率,分析所述业务集群是否满足预置的告警条件,若满足,则按照预置的告警方式进行告警,包括:
获取所述业务集群对应的容灾级别及其对应的容灾条件;
获取所述业务集群的各子集群中的服务器的数量;
根据所述业务集群的综合业务负载率与所述各子集群的服务器的数量,分别计算所述各子集群的综合平均业务负载率;
根据所述各子集群的综合平均业务负载率,分析所述业务集群是否满足所述容灾条件;
当所述业务集群不满足所述容灾条件时,进行告警。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
输出所述综合平均业务负载率;
根据所述综合平均业务负载率对所述业务集群的负载进行管理。
12.一种服务器负载管理装置,其特征在于,包括:
获取模块,用于获取与服务器业务集群关联的至少一个负载管理模型,所述负载管理模型用于获得所述业务集群的综合业务负载数据,所述业务集群的综合业务负载数据包括所述业务集群的综合业务负载率;
所述获取模块,还用于获取与至少一个负载管理模型对应的业务负载数据;
计算模块,用于根据所述获取模块获取的所述负载管理模型及所述业务负载数据,计算所述服务器在关联的所述至少一个负载管理模型中的预置数量的检测时长的预置数量个业务负载率,以及
对每个负载管理模型对应的所述预置数量个业务负载率进行排序,将去除自高向低的预置百分比数量的业务负载率后剩下的业务负载率中值最大的业务负载率作为所述服务器对应每个负载管理模型的业务负载率,并将每个服务器对应的最大的业务负载率作为每个服务器的综合业务负载率;
获得模块,用于根据所述计算模块计算的所述业务集群中所述每个服务器的综合业务负载率,确定所述业务集群的综合业务负载率,所述业务集群的综合业务负载率包括综合最小业务负载率,综合最大业务负载率,综合平均业务负载率中的至少一种。
13.根据权利要求12所述的装置,其特征在于,所述获得模块,进一步用于:
将所述业务集群中各服务器的综合业务负载率中最大的综合业务负载率作为所述业务集群的综合最大业务负载率;
将所述业务集群中各服务器的综合业务负载率中最小的综合业务负载率作为所述业务集群的综合最小业务负载率;
将所述业务集群中各服务器的综合业务负载率的平均值作为所述业务集群的综合平均业务负载率。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
关联模块,用于根据用户指令,设置所述业务集群与所述负载管理模型的关联关系。
15.根据权利要求14所述的装置,其特征在于,所述业务集群继承有其所有上级业务集群关联的负载管理模型。
16.根据权利要求14所述的装置,其特征在于,所述用户指令中包含关联条件及对应的标准负载参考值的信息,所述关联模块还用于根据所述用户指令,设置所述负载管理模型与所述关联条件以及所述标准负载参考值的关联关系,所述标准负载参考值用于计算所述服务器的业务负载率。
17.根据权利要求16所述的装置,其特征在于,所述关联条件包括服务器型号。
18.根据权利要求17所述的装置,其特征在于,所述计算模块包括:
获取单元,用于当所述服务器的型号符合所述关联条件时,获取所述服务器型号对应的所述标准负载参考值;
计算单元,用于根据所述服务器型号对应的所述标准负载参考值与所述业务负载数据,计算所述服务器的业务负载率。
19.根据权利要求18所述的装置,其特征在于,
所述获取单元,还用于当所述服务器的型号不符合所述关联条件时,获取预置的默认负载参考值;
所述计算单元,还用于根据所述默认负载参考值与所述业务负载数据,计算所述服务器的业务负载率。
20.根据权利要求12至19的任一项所述的装置,其特征在于,所述装置还包括:
分析模块,用于根据所述业务集群的综合业务负载率,分析所述业务集群是否满足预置的告警条件;
告警模块,用于若满足,则按照预置的告警方式进行告警。
21.根据权利要求20所述的装置,其特征在于,
所述分析模块包括:
获取单元,用于获取所述业务集群对应的容灾级别及其对应的容灾条件、以及获取所述业务集群的各子集群中的服务器的数量;
计算单元,用于根据所述业务集群的综合业务负载率与所述各子集群的服务器的数量,分别计算所述各子集群的综合平均业务负载率;
分析单元,用于根据所述各子集群的综合平均业务负载率,分析所述业务集群是否满足所述容灾条件;
所述告警模块,还用于当所述业务集群不满足所述容灾条件时,进行告警。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
输出模块,还用于输出所述综合平均业务负载率,以根据所述综合平均业务负载率对所述业务集群的负载进行管理。
23.一种计算机可读存储介质,其特征在于,所述存储介质中存储有可执行指令,所述可执行指令执行时实现权利要求1至11任一项所述的服务器负载管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408774.8A CN105471938B (zh) | 2014-08-19 | 2014-08-19 | 服务器负载管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408774.8A CN105471938B (zh) | 2014-08-19 | 2014-08-19 | 服务器负载管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471938A CN105471938A (zh) | 2016-04-06 |
CN105471938B true CN105471938B (zh) | 2020-06-16 |
Family
ID=55609206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410408774.8A Active CN105471938B (zh) | 2014-08-19 | 2014-08-19 | 服务器负载管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471938B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019110B (zh) * | 2017-07-28 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 一种业务系统的容量管理方法、装置、设备及业务系统 |
CN109992424B (zh) * | 2017-12-29 | 2024-04-02 | 北京华胜天成科技股份有限公司 | 本地网络的业务关联关系的确定方法及装置 |
CN110134575B (zh) * | 2019-04-26 | 2022-11-22 | 厦门网宿有限公司 | 一种服务器集群的服务能力计算方法及装置 |
CN111343290A (zh) * | 2020-05-22 | 2020-06-26 | 南京江北新区科技投资集团有限公司 | 一种具备负载均衡功能的云平台系统 |
CN115277261B (zh) * | 2022-09-28 | 2022-12-16 | 北京安帝科技有限公司 | 基于工控网络病毒的异常机器智能识别方法、装置、设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662506A (zh) * | 2009-10-14 | 2010-03-03 | 中兴通讯股份有限公司 | 一种基于cpu内核共享的负载均衡方法和装置 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2707795A1 (en) * | 2011-05-13 | 2014-03-19 | Telefonaktiebolaget LM Ericsson (PUBL) | Allocation of virtual machines in datacenters |
-
2014
- 2014-08-19 CN CN201410408774.8A patent/CN105471938B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662506A (zh) * | 2009-10-14 | 2010-03-03 | 中兴通讯股份有限公司 | 一种基于cpu内核共享的负载均衡方法和装置 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105471938A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221702B (zh) | 基于日志分析的异常处理方法、系统、终端及介质 | |
CN105471938B (zh) | 服务器负载管理方法及装置 | |
US9043317B2 (en) | System and method for event-driven prioritization | |
KR102110757B1 (ko) | 분산형 저장 시스템의 성능 모니터링 | |
CN106027328B (zh) | 一种基于应用容器部署的集群监控的方法及系统 | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
US20170068581A1 (en) | System and method for relationship based root cause recommendation | |
US9588813B1 (en) | Determining cost of service call | |
CN112463543B (zh) | 业务数据的监控方法、规则数据生成方法、装置及系统 | |
CN107704387B (zh) | 用于系统预警的方法、装置、电子设备及计算机可读介质 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
CN110471821A (zh) | 异常变更检测方法、服务器及计算机可读存储介质 | |
CN111124830B (zh) | 一种微服务的监控方法及装置 | |
CN105049509A (zh) | 一种集群调度方法、负载均衡器以及集群系统 | |
CN105979532A (zh) | 一种业务处理系统的性能容量分析预警方法及装置 | |
CN112367384B (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
CN114461407B (zh) | 数据处理方法、装置、分发服务器、系统及存储介质 | |
CN112948223B (zh) | 一种监测运行情况的方法和装置 | |
CN115914064A (zh) | 网络系统服务性能评估方法、装置、计算设备和存储介质 | |
CN112671602B (zh) | 边缘节点的数据处理方法、装置、系统、设备和存储介质 | |
CN110380902B (zh) | 拓扑关系生成方法、装置、电子设备及存储介质 | |
CN106161058B (zh) | 一种告警分级方法及装置 | |
CN111258870A (zh) | 分布式存储系统的性能分析方法、装置、设备及存储介质 | |
CN113783751B (zh) | 一种检测用户宽带质量的方法、电子设备及介质 | |
KR102464688B1 (ko) | 모니터링 결과의 이벤트 등급 결정 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |