一种用于评估设备资源利用率的方法和装置与流程

文档序号:14940797发布日期:2018-07-13 20:42阅读:206来源:国知局

本发明总体涉及计算机领域,更加具体地涉及一种用于评估设备资源利用率的方法和装置。



背景技术:

在复杂的计算机系统中,通常需要处理数以亿计的数据和大量业务。因而,如何合理利用和分配系统资源、高效监控系统性能并准确发出告警,对于计算机系统的稳健性和可靠性尤为重要。

传统的资源分配机制依赖于人为估计并利用单一阈值告警。如果主机资源分配过剩,将会使得系统资源空闲,进而导致资源浪费。而且,一般情况下资源分配机制仅针对超过阈值的信息配置监控告警,这会导致过多的空闲资源由于未超过阈值而没有得到关注,使用户无法及时发现系统资源过剩。相反,如果主机资源分配不足,则会频繁出现告警,其中存在着大量的误告警,这将使得资源分配调整周期变长、运行维护工作量变大,同时降低了系统的稳健性和可靠性。

通过利用云计算、大数据等新兴互联网技术,可以显著地增强设备资源利用率的评估机制,并提高了用户感知度。



技术实现要素:

鉴于以上所述一个或多个问题,本发明实施例提供了一种用于评估设备资源利用率的方法及装置。

根据本发明的一个方面,公开了一种用于评估设备资源利用率的方法,包括:获取与待评估设备的各项性能指标相关联的性能数据;针对设备的各项性能指标中的每一项性能指标,向资源利用率模型配置性能指标的权值、性能数据范围、以及性能数据的权值,其中性能数据的权值与性能数据落在性能数据范围内的次数相关联;选择对设备执行计算的时间点和时间范围;基于选择的时间点、时间范围、性能数据以及性能数据的权值,利用经配置的资源利用率模型分别计算设备的各项性能指标的日估值和月估值;以及基于设备的各项性能指标的日估值和月估值,利用经配置的资源利用率模型计算设备的资源利用率。

根据本发明的另一方面,公开了一种用于评估设备资源利用率的装置,包括:数据获取单元,被配置为获取与待评估设备的各项性能指标相关联的性能数据;模型配置单元,被配置为针对设备的各项性能指标中的每一项性能指标,向资源利用率模型配置性能指标的权值、性能数据范围、以及性能数据的权值,其中性能数据的权值与性能数据落在性能数据范围内的次数相关联;选择单元,被配置为选择对设备执行计算的时间点和时间范围;以及计算单元,被配置为:基于选择的时间点、时间范围、性能数据以及性能数据的权值,利用经配置的资源利用率模型分别计算设备的各项性能指标的日估值和月估值;以及基于设备的各项性能指标的日估值和月估值,利用经配置的资源利用率模型计算设备的资源利用率。

附图说明

通过以下对本发明具体实施例的详细描述并结合附图将更好地理解本发明的特征和优点,并且附图仅仅是说明性的,不应理解为对本公开进行任何限制,在附图中:

图1根据本发明的实施例示出了用于评估设备资源利用率的装置的框图;

图2根据本发明的实施例示出了用于评估设备资源利用率的方法的流程图;

图3根据本发明的实施例示出了计算各项性能指标的日估值、月估值以及资源利用率的过程的流程图;

图4是示出能够实现根据本发明的实施例的用于评估设备资源利用率的方法和装置的计算设备的示例性硬件架构的结构图。

具体实施方式

下面对本发明的实施例的详细描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和方法步骤,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和方法步骤的任何修改、替换和改进。

应当理解的是下面的详细描述仅仅是示例性的,并且无意于限制本发明或本发明的应用和使用。而且,无意于使本发明受限于前述的技术领域、背景技术或下面详细的说明书中提出的所表达或暗示的任何理论。

图1根据本发明的实施例示出了用于评估设备资源利用率的系装置100。如图1所示,装置100包括数据获取单元110、模型配置单元120、选择单元130、以及计算单元140。可选地,装置100还包括模型调整单元150和显示单元160(未示出)。数据获取单元110可以获取和存储与待评估设备(以下简称为“设备”)的各项性能指标(例如,cpu使用率、内存使用率、磁盘使用率以及io吞吐量)相关联的性能数据。模型配置单元120针对设备的各项性能指标来向资源利用率模型配置性能指标的权值、性能数据范围、以及性能数据的权值,其中性能数据的权值与性能数据落在性能数据范围内的次数相关联。选择单元130选择对设备执行计算的时间点和时间范围。然后,计算单元140基于选择单元130选定的时间点和时间范围、以及性能数据以及性能数据的权值,利用经配置的资源利用率模型分别计算出设备的各项性能指标的日估值和月估值,并基于各项性能指标的日估值和月估值利用经配置的资源利用率模型计算出设备的资源利用率。这里,如本文所使用的,术语“设备”可以指任何能够提供计算和存储服务的设备,包括但不限于各种类型的主机、服务器(例如,应用服务器、数据库服务器web服务器等等)、虚拟机、小型机等等。上面描述的各个单元中的一个或多个单元可以被组合,并且它们可以由软件、硬件和固件中的一者或它们的组合来实现。例如,一些功能单元可以包括一个或多个微处理器、dsp、现场可编程门阵列(fpga)、专用集成电路(asic)、射频集成电路(rfic)和用于执行至少本文所描述的功能的各种硬件与逻辑电路的组合。在一些实施例中,单元可以指在一个或多个处理元件上运行的一个或多个处理。

图2根据本发明的实施例示出了用于评估设备资源利用率的方法的流程图。下面将结合图1和图2对用于评估设备资源利用率的方法200进行详细描述。方法200可以包括以下步骤:

在步骤201中,数据获取单元110获取与待评估设备的各项性能指标(例如,cpu使用率、内存使用率、磁盘使用率以及io吞吐量)相关联的性能数据。数据获取单元110可以是例如各种类型的数据库,包括但不限于关系型数据库、非关系型数据库(例如,hbase)等等。

在一些实施例中,业务系统上可能承载有多个设备,例如在示例性业务系统中包括600台虚拟机、500台小型机、500台分区服务器、4000台pc服务器。假设该业务系统每5分钟对各项性能指标进行一次观测(即,每5分钟采集一次数据),则针对cpu使用率、内存使用率、磁盘使用率、io吞吐量以及资源利用率等5项性能指标,每日所记录的与虚拟机相关联的数据量为5*600*12*24=864000条,6个月约要记录1.6亿条,合计该业务系统在6个月期间针对所有设备所记录的总数据量约为15亿多条。如果在传统的关系型数据库中进行这么大数据量的计算,将需要非常强大的硬件支持。而如果利用大数据技术将数据定期同步到非关系型数据库(例如,hbase)中,则可以实现快速并行运算,降低评估设备资源利用率的计算成本,并且提高资源分配机制的响应速度。此外,由于设备的各项性能指标的日估值、月估值以及资源利用率等数据是由计算单元140剥离生成的,因而整个计算过程不会影响业务系统中设备的正常运行。

在步骤202中,模型配置单元120针对从数据获取单元110获取的各项性能指标,向资源利用率模型配置性能指标的权值、性能数据范围、以及性能数据的权值,其中性能数据的权值与性能数据落在所述性能数据范围内的次数相关联。

具体地,在一些实施例中,模型配置单元120可以如表1所示的来配置资源利用率模型的性能数据范围和性能数据的权值。例如,就特定性能指标(比如,cpu使用率)而言,针对30≤x<50的性能数据范围,如果性能数据落在该范围内的次数(即,观测次数)小于6次,则对这些性能数据赋予权值5,而如果性能数据落在该范围的次数大于等于6次,则对这些性能数据赋予权值12。

表1

在步骤203中,选择单元130针对各项性能指标选择要执行计算的时间点和时间范围。例如,选择单元130可以选择从每天的零点开始,以每5分钟观测一次性能指标的频率采集性能数据。另外,在对设备的资源利用率进行评估时,如果仅仅考虑当月采集的性能数据可能无法真实地反馈该设备的实际资源利用情况,因此可以根据设备的类型、是否是首次评估等因素选择一段较长的时间范围,例如最近1个月、最近3个月、最近6个月等。

接下来,方法进行至步骤204,计算单元140基于选择单元130选择的时间点和时间范围、以及性能数据和性能数据的权值,利用模型配置单元120配置的资源利用率模型分别计算出设备的各项性能指标的日估值和月估值。然后,在步骤205中,计算单元140基于设备的各项性能指标的日估值和月估值以及各项性能指标的权值,计算出该设备的资源利用率。下面将参考图3和表2详细说明步骤204和205中计算各项性能指标的日估值、月估值以及设备的资源利用率的过程。

图3根据本发明的实施例示出了计算各项性能指标的日估值、月估值以及资源利用率的过程的流程图。在图3的步骤2041中,获取与设备的各项性能指标相关联的性能数据,由于该步骤与图2中的步骤201类似,因而在此不再赘述。然后,在步骤2042中,计算单元140每天基于选择单元130选择的时间点(例如,从每天的零点开始,每5分钟采集一次性能数据)处的性能数据及相应的权值,利用经配置的资源利用率模型,通过加权平均值算法来计算各项性能指标的日估值,包括日估cpu使用率、日估内存使用率、以及日估磁盘使用率,其中加权平均值算法可利用以下公式(1)来实现:

其中xn为各项性能指标在当日的特定时间点观测到的性能数据,以及αn为xn的权值。

在步骤2043中,计算单元140每天基于设备的当日io吞吐量和选择的时间范围内(例如,最近1个月、3个月、6个月等等)的历史性能数据(例如,历史io吞吐量)更新设备的io吞吐量最大基线值。

在步骤2044中,计算单元140在每月的指定日期(例如,每月的1日)基于设备的各项性能指标的当月所有日估值,利用经模型配置单元120配置的资源利用率模型计算各项性能指标的月估值,包括月估cpu使用率、月估内存使用率、月估磁盘使用率、以及月估io吞吐量。

在一些实施例中,资源利用率模型可以根据设备本身的特征来对该设备的各项性能指标的当月所有日估值执行最大值算法或加权平均值算法。具体地,对于横向扩展性较好的设备可以使用加权平均值算法,这类设备能够通过增加处理节点和存储应用并依靠协同运算和负载均衡来提升计算能力。例如,在步骤2045中,可以通过以下公式(2)对各项性能指标的日估值进行加权平均值计算,从而得到各项性能指标的月估值:

其中xk为各项性能指标在当月各个日期的日估值,αk为xk的权值,并且1≤k≤31。

对于诸如传统关系型数据库之类的横向扩展性较差的设备(这类设备无法通过增加处理节点的方式来扩展性能,只能通过硬件升级来实现更高的计算能力和负载能力),可以使用最大值算法。例如,在步骤2046中,可以通过以下公式(3)对各项性能指标的日估值进行最大值计算,从而得到各项性能指标的月估值:

x=max(x1,x2,x3……x31)(3)

其中xk为各项性能指标在当月各个日期的日估值,并且1≤k≤31。

此外,在步骤2047中,计算单元140还基于计算出的月估io吞吐量和设备的io吞吐量最大基线值计算设备的月估io吞吐率。例如,可以利用以下公式(4)来确定设备的月估io吞吐率:

月估io吞吐率=月估io吞吐量/io吞吐量最大基线值(4)

接下来,在步骤2051(与图2的步骤205类似)中,计算单元140基于设备的各项性能指标的月估值以及各项性能指标的权值,计算出该设备的资源利用率。在一些实施例中,可以利用以下公式(5)进行加权平均值计算,从而得到设备的资源利用率y:

其中x1表示月估cpu使用率,x2表示月估内存使用率,x3表示月估磁盘使用率,x4表示月估io磁盘使用率,以及α表示各项月估值的权值。

在一些实施例中,如下面的表2所示,计算单元140针对不同类型的设备可向其各项性能指标配置不同的权值,以便于更加准确地反映出资源利用的瓶颈位置。具体地,例如,在待评估设备是计算密集型设备的情形中,由于这类设备对计算能力的要求较高,因而相比于其他性能指标可向该设备的cpu使用率配置较大的权值。如果待评估设备是对内存资源要求较高的内存密集型设备(例如,缓存、内存数据库),则相比于其他性能指标可向该设备的内存使用率配置较大的权值。如果待评估设备是承载大数据io密集型应用服务器的io密集型设备,考虑到这类设备需要频繁地进行数据传输、读取硬盘和其他io设备,可以向其io吞吐量配置较大的权值。另外,数据库通用类型指的是承载诸如oracle、mysql之类的数据库的设备,这类设备可具有组织、管理、查询数据等功能,因而相比于其他性能指标可向cpu使用率和io吞吐量配置较大的权值。

资源利用率算法

表2

在计算出设备的资源利用率之后,装置100可选择地通过显示单元160将该设备的各项性能指标的日估值、月估值以及资源利用率以图形方式(例如,曲线图)呈现给用户,使用户能够直观地了解业务系统中的具体设备的实际使用情况。在一些实施例中,装置100可进一步向用户呈现业务系统维度的资源利用率以及各项性能指标的日估值、月估值视图,从而使用户可以从宏观上了解业务系统的资源利用情况,增强了用户感知度。显示单元160可以是包括显示屏的显示器,所述显示屏例如是液晶显示(lcd)屏或其他类型的显示屏(例如,有机发光二极管(oled)显示)。显示屏还可以被配置为触摸屏。触摸屏可以使用电容、电阻或另一类型的触屏技术。

在一些实施例中,用户可选择地通过模型调整单元150,根据设备的类型及其使用情况来调整资源利用率模型的性能指标的权值、性能数据范围、以及性能数据的权值,以使得资源利用率模型更加符合具体设备类型的应用特征,更为客观地反映出设备的使用情况,进而有助于用户改善设备的资源利用情况。

结合图1至图3描述的用于评估设备资源利用率的方法和装置的至少一部分可以由计算设备实现。图4示出了能够实现根据本发明实施例的用于评估设备资源利用率的方法和装置的计算设备的示例性硬件架构的结构图。如图4所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备400的其他组件连接。具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。

图4所示的计算设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图3描述的用于评估设备资源利用率的方法和装置。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何非暂态或暂态介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本发明的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1