本发明属于高可用信息系统服务领域,尤其涉及硬件资源管控方法、装置、设备、存储介质。
背景技术:
目前行业内为了使得信息系统能够稳定的运行下去,需要时刻对其进行监控,采集运行数据后,通过人工来判断当前使用的硬件是否能支撑信息系统的稳定运行,但是随着互联网的快速发展,信息系统更新较为频繁,因此在这种情况下极大耗费人工成本,并且,由于人工计算可能会出错,因此可能错失最佳时机导致系统运行崩溃的情况发生。
技术实现要素:
为了解决现有技术的问题,本发明提出了硬件资源管控方法、装置、设备、存储介质,本方法通过数据测算可以自动判断硬件是否能够继续支撑系统运行,从而进行缩容或者扩容,降低了对人的依赖。
本发明实施例提供的具体技术方案如下:
第一方面,本发明提供一种硬件资源管控方法,所述方法包括:
实时采集服务器上硬件的当前资源使用率,所述服务器为用于实现某一业务系统的所有服务器;
根据所述当前资源使用率计算得到平均资源使用率;
将所述平均资源使用率与预存储的硬件变更标准进行对比;所述硬件变更标准至少包括达到缩容标准的警戒阈值、达到扩容标准的警戒阈值;
若所述平均资源使用率低于对应的缩容标准的警戒阈值,则对所述服务器进行缩容操作;
若所述平均资源使用率高于对应的扩容标准的警戒阈值,则对所述服务器进行扩容操作。
优选的,所述对当前运行的所有服务器进行缩容操作,包括:
根据获取到的用于实现缩容的期望参数值以及缩容规则计算待缩减的服务器的数量;
从所述服务器中选出相应数量的服务器以在被选出的服务器的服务暂停后对其进行释放。
优选的,所述对当前运行的所有服务器进行缩容操作,还包括:
获取所述服务器的类型信息;
当所述服务器的类型与预设的第一目标库中任意一种相匹配时,则根据获取到的用于实现缩容的第一期望参数值以及第一缩容规则,计算待缩减的服务器的第一数量,从正在运行的所有服务器中选出与第一数量的服务器,以在被选出的服务器上的服务暂停后对其进行释放;
当所述服务器的类型与预设的第二目标库中任意一种相匹配时,则根据获取到的用于实现缩容的第二期望参数值以及第二缩容规则计算待缩减的对应硬件的第一数量,从正在运行的所有服务器中选择至少一个服务器并确定与第一数量的硬件资源,以在被选出的服务器上的服务暂停后对与所述第一数量的硬件资源进行释放。
优选的,所述对所述服务器进行扩容操作,包括:
根据获取到的用于实现扩容的期望参数值以及扩容规则计算待扩充的服务器的数量;
将相应数量的服务器增加至正在运行的服务器中。
优选的,所述方法还包括:
根据在所述服务器上运行得到的关于所述业务系统的历史系统负载数据、历史压测产生的使用率数据确定硬件变更标准。
优选的,所述若所述服务器满足缩容标准,则对所述服务器进行缩容操作,还包括:
获取在服务器上运行的业务系统中不同子业务系统的重要性程度等级;
根据重要性程度等级确定与子业务系统相对应的硬件变更标准;
其中,若第一子业务系统的重要性程度等级高于第二子业务系统的重要性程度等级,则所述第一子业务系统对应服务器的扩容标准的警戒阈值低于所述第二子业务系统对应服务器的扩容标准的警戒阈值。
优选的,所述方法还包括:
定期对所述硬件变更标准进行调整。
第二方面,本发明提供一种硬件资源管控装置,所述装置包括:
采集模块,用于实时采集服务器上硬件的当前资源使用率,所述服务器为用于实现某一业务系统的所有服务器;
预处理模块,用于根据所述当前资源使用率计算得到所述服务器的平均资源使用率;
对比模块,用于将所述平均资源使用率与预存储的硬件变更标准进行对比;所述硬件变更标准至少包括达到缩容标准的警戒阈值、达到扩容标准的警戒阈值;
第一处理模块,用于所述平均资源使用率低于对应的缩容标准的警戒阈值,则对所述服务器进行缩容操作;
第二处理模块,用于所述平均资源使用率高于对应的扩容标准的警戒阈值,则对所述服务器进行扩容操作。
第三方面,本发明提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:
所述处理器执行所述计算机程序时实现如第一方面所述的硬件资源管控方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的硬件资源管控方法。
本发明实施例具有如下有益效果:
1、本发明将实时采集到的服务器硬件使用率数据与预先指定的硬件变更标准进行对比,因此自动可以判断得到当前服务器的状态,从而进行扩容或者缩容,降低了对人的依赖;
2、本发明通过缩容规则可以计算得到待缩减的服务器数量,并且也能通过扩容规则计算得到待扩充的服务器数量,因此可以确定当前系统需要什么样容量或性能的硬件资源做支撑,无需依赖人工经验,保证系统运行的稳定性;
3、本发明在进行缩容操作时,可以进行横向缩容(减少服务器数量)以及纵向缩容(减少服务器某一硬件资源的配置),从而为系统硬件提供最适配的缩容操作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例1提供的一种硬件资源管控方法的应用环境图;
图2是本申请实施例1提供的一种硬件资源管控方法的流程图;
图3是本申请实施例1提供的cpu的硬件变更标准示意图;
图4是本申请实施例2提供的一种硬件资源管控装置的结构示意图;
图5是本申请实施例3提供的一种计算机设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术中所述,行业内为了使得信息系统能够稳定的运行下去,需要时刻对其进行监控,采集运行数据后,通过人工来判断当前使用的硬件是否能支撑信息系统的稳定运行,随着互联网的快速发展,信息系统更新较为频繁,因此在这种情况下极大耗费人工成本,并且,由于人工计算可能会出错,因此可以能错失最佳时机导致系统运行崩溃的情况发生,基于此,本申请申请人创造性想到提供一种硬件资源管控方法,从而可以自动判断硬件是否能够继续支撑系统运行,降低了对人的依赖。
实施例1
本申请提供的硬件资源管控方法,可以应用于如图1所示的应用环境中。其中,硬件治理平台通过网络与服务器进行通信。服务器可以用独立的服务器、或者多个服务器组成的服务器集群服务器实现,在服务器上部署有所要运行的业务系统,硬件治理平台采集到服务器的硬件的使用率数据时进行数据分析并与预存储的硬件变更标准进行对比,提交决策结果,从而实现对服务器的实施管控。
上述硬件资源管控方法应用于硬件治理平台为例进行说明,如图2所示,包括以下步骤:
110、实时采集服务器上硬件的当前资源使用率,其中,服务器为用于实现某一业务系统的所有服务器。
服务器上的硬件为预选定的硬件资源。在采集时,可以通过zabbix软件来进行监控并采集。上述待采集的硬件包括cpu、内存等。
120、对根据当前资源使用率计算得到平均资源使用率。
上述步骤具体包括:
去除所有服务器上的每一硬件的当前资源使用率中的极值数据;
对剩余的当前资源使用率进行平均处理,得到关于当前运行的所有服务器上预选定的硬件的平均资源使用率。
上述处理过程可由zabbix软件来完成。
130、将平均资源使用率与预存储的硬件变更标准进行对比。
其中,硬件变更标准可以根据在服务器上运行得到的关于业务系统的历史系统负载数据、历史压测产生的使用率数据来确定。
硬件变更标准至少包括达到缩容标准的警戒阈值、达到扩容标准的警戒阈值。此外,还可以根据实际需求来设计中间阈值。
若预选定的硬件有两种,分别为cpu和内存,那么在对比时,将cpu的平均资源使用率与对应的cpu的硬件变更标准进行对比,同时,将内存的平均资源使用率与对应的内存的硬件变更标准进行对比。
参考图3,为一cpu的硬件变更标准,具体为cpu使用率与扩、缩容标准指导,其中包含三档阈值,分别为:达到缩容标准的警戒阈值(8%)、中间阈值(30%)、达到扩容标准的警戒阈值(70%)。
其中,若cpu的当前资源使用率低于8%,则说明资源过剩,因此达到缩容标准,后续需要进行缩容处理;若cpu的当前资源使用率在8%~30%之间,则说明此时资源使用达到最优化;若cpu的当前资源使用率在30%~70%之间,则需要实时采集数据,重点观察,确定是否需要扩容;若cpu的当前资源使用率在大于70%,则说明资源不足,因此达到扩容标准,后续需要进行扩容处理。
对于一个较大的业务系统来说,其必然存在核心子业务系统以及其他子业务系统,基于此,在设计硬件标准时,还可以进行如下设计:
获取在服务器上运行的业务系统中不同子业务系统的重要性程度等级;
根据重要性程度等级确定与子业务系统相对应的硬件变更标准;
其中,若第一子业务系统的重要性程度等级高于第二子业务系统的重要性程度等级,则第一子业务系统对应的服务器的硬件变更标准中达到扩容标准的警戒阈值低于第二子业务系统对应的服务器的硬件变更标准中达到扩容标准的警戒阈值。
示例性的,当cpu硬件变更标准设有三档阈值时,那么对于两个不同的子业务系统来说,其硬件变更标准如下:
一级系统:低水位(8%),安全水位(30%),高水位(70%);
二级系统:低水位(20%),安全水位(40%),高水位(80%);
其中,一级系统代表了核心子业务系统,此类系统发生稳定性问题后将阻碍核心业务的正常服务,通常稳定性要求高。二级系统代表了与核心子业务系统相关的依赖系统,该类系统发生稳定性问题后不会阻碍核心业务的正常服务,通常稳定性要求相对不高。
在设计硬件变更标准时,通常会将一级系统的高水位的值(达到扩容标准的警戒阈值)设计得比二级系统的高水位的值低。
此外,硬件变更标准可以根据业务系统的更新情况进行定时调整。
140、若平均资源使用率低于对应的缩容标准的警戒阈值,则对服务器进行缩容操作。
150、若平均资源使用率高于对应的扩容标准的警戒阈值,则对服务器进行扩容操作。
平均资源使用率为任一硬件对应的平均资源使用率。进行缩容或扩容的服务器为某一业务系统当前运行的所有服务器。通过上述步骤,便可以自动判断得到当前服务器的状态,从而确定是扩容还是缩容操作,降低了对人的依赖。
若确定了当前服务器是需要缩容之后,本方案还包括如下步骤:
1、根据获取到的用于实现缩容的期望参数值以及缩容规则计算待缩减的服务器的数量;
2、从正在运行的所有服务器中选出相应数量的服务器以在被选出的服务器的服务暂停后对被选出的服务器进行释放。
如此,根据缩容规则可以计算得到待缩减的服务器数量,提高资源利用率。
此外,进一步地,在进行缩容时,还可根据实际情况进一步确定是横向缩容(删除服务器)还是纵向缩容(删除服务器中的硬件),从而为系统硬件提供最适配的缩容操作,具体包括如下步骤:
1、获取服务器的类型信息;
2、当服务器的类型与预设的第一目标库中任意一种相匹配时,则根据获取到的用于实现缩容的第一期望参数值以及第一缩容规则计算待缩减的服务器的第一数量,从正在运行的所有服务器中选出第一数量的服务器以在被选出的服务器的服务暂停后对其进行删除;
3、当服务器的类型与预设的第二目标库中任意一种相匹配时,则根据获取到的用于实现缩容的第二期望参数值以及第二缩容规则计算待缩减的对应硬件的第一数量,从正在运行的所有服务器中选择至少一个服务器并确定第一数量的硬件资源以在被选出的服务器的服务暂停后对与第一数量的硬件资源进行删除。
其中,第一期望参数值包括当前服务器数量、当前指标值、期望指标值、最小保留的服务器台数等。
第一缩容规则为:
建议缩容数量
参数说明:
nt:当前指标值(硬件的平均资源使用率,通常为百分比),由zabbix提供数据支持;
et:期望指标值(与nt对应,通常为百分比),由用户输入,根据实际业务期望的稳定性要求获取;
mv:最小保留的服务器台数。
上述第二期望参数值包括硬件的实际使用率指标、当前硬件总量等。
第二缩容规则为:
建议缩容数量
参数说明:
第一目标库中包括如下软件类型:storm、tomcat、his、varmish、nginx、apache、was、jboss、wildfly、elasticserarch、hadoop、node.js;第二目标库中包括如下软件类型:redis。
需要说明的是,上述用于实现缩容的期望参数值与第一期望参数值一致,上述缩容规则与第一缩容规则一致。即,无论是哪一种软件类型,都可以使用横向缩容(删除服务器)的方法来进行缩容。
但是在实际情况中,为了保持系统连续稳定运行,可以根据实际情况选择最适配的方式来进行缩容操作,即,进行横向缩容或者进行纵向缩容,从而可以保持资源的最大化利用。
若确定了当前服务器需要扩容之后,本方案还包括如下步骤:
1、根据获取到的用于实现扩容的期望参数值以及扩容规则计算待扩充的服务器的数量;
2、将相应数量的服务器增加至正在运行的服务器中。
上述用于实现扩容的期望参数值包括:期望的tps值、单机可承受的tps值、当前服务器数量等。
上述扩容规则为:
建议扩容量r=expecttps/singletps-
参数说明:
expecttps:期望的tps值,通过期望的业务订单量情况拆分得出,由用户输入;
singletps:单机可承受的tps值,通过生产实际压测获取;
如此,本方案通过扩容规则计算得到待扩充的服务器数量,无需依赖人工经验,保证系统运行的稳定性。
实施例2
与实施例1对应,提供一种硬件资源管控装置,如图4所示,包括:
采集模块41,用于实时采集服务器上硬件的当前资源使用率,其中服务器为用于实现某一业务系统的所有服务器;
预处理模块42,用于根据当前资源使用率计算得到平均资源使用率;
对比模块43,用于将平均资源使用率与预存储的硬件变更标准进行对比;硬件变更标准至少包括达到缩容标准的警戒阈值、达到扩容标准的警戒阈值;
第一处理模块44,用于平均资源使用率低于对应的缩容标准的警戒阈值,则对服务器进行缩容操作;
第二处理模块45,用于平均资源使用率高于对应的扩容标准的警戒阈值,则对服务器进行扩容操作。
优选的,第一处理模块44用于:
根据获取到的用于实现缩容的期望参数值以及缩容规则计算待缩减的服务器的数量;
从服务器中选出相应数量的服务器以在被选出的服务器的服务暂停后对被选出的服务器进行释放。
优选的,第一处理模块44还用于:
获取服务器的类型信息;
当服务器的类型与预设的第一目标库中任意一种相匹配时,则根据获取到的用于实现缩容的第一期望参数值以及第一缩容规则计算待缩减的服务器的第一数量,从正在运行的所有服务器中选出第一数量的服务器,以在被选出的服务器的服务暂停后对其进行释放;
当服务器的类型与预设的第二目标库中任意一种相匹配时,则根据获取到的用于实现缩容的第二期望参数值以及第二缩容规则计算待缩减的对应硬件的第一数量,从正在运行的所有服务器中选择至少一个服务器并确定第一数量的硬件资源,以在被选出的服务器的服务暂停后对与第一数量的硬件资源进行释放。
优选的,第二处理模块45用于:
根据获取到的用于实现扩容的期望参数值以及扩容规则计算待扩充的服务器的数量;
将相应数量的服务器增加至正在运行的服务器中。
优选的,装置还包括:
标准制定模块46,用于根据在服务器上运行得到的关于业务系统的历史系统负载数据、历史压测产生的使用率数据确定硬件变更标准。
优选的,标准制定模块46还用于:
获取在服务器上运行的业务系统中不同子业务系统的重要性程度等级;
根据重要性程度等级确定与子业务系统相对应的硬件变更标准;
其中,若第一子业务系统的重要性程度等级高于第二子业务系统的重要性程度等级,则第一子业务系统对应的服务器的硬件变更标准中达到扩容标准的警戒阈值低于第二子业务系统对应的服务器的硬件变更标准中达到扩容标准的警戒阈值。
优选的,装置还包括变更模块47,用于:
定期对硬件变更标准进行调整。
实施例3
在一个实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例1所述的所有方法。
图5为本发明实施例提供的计算机设备的内部结构图。该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种硬件资源管控方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
实施例4
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例1所述的所有方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。