发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种监控设备所需资源的动态分配方法、装置及介质。
第一方面,本申请提供一种监控设备所需资源的动态分配方法,包括:
根据设备在数据中心中的重要程度设定加权参数,所述加权参数针对监控设备过程中所需执行指令情况或/和所需调用接口情况设置;
监控设备过程中,周期性地采集监控每个设备所执行指令情况或/和所调用接口情况;
将加权参数加权每个设备所执行指令情况或/和所调用接口情况计算每个设备的权重;
根据每个设备的权重计算设备在全部设备中的资源占比;
按照所述资源占比分配执行监控所需的资源。
更进一步地,判定设备的重要程度需考量包括硬件因素或/和软件因素;其中,硬件因素包括设备在数据中心拓扑结构中的重要程度,软件因素包括设备所执行业务或计划执行业务的重要程度。
更进一步地,监控设备过程中所需执行指令情况包括:设定周期内执行指令的数量、指令执行的时间和指令返回数据的大小;
监控设备过程中所需调用接口情况包括:设定周期内调用接口的数量、接口调用的时间和接口返回数据的大小。
更进一步地,所述将加权参数加权每个设备所执行指令情况或/和所调用接口情况计算每个设备的权重包括:
确定需要计算权重的目标设备;
获取目标设备的加权参数,获取目标设备在最新统计周期中的所执行指令情况或/和所调用接口情况;
将所执行指令情况或/和所调用接口情况中的每个元素乘以对应的加权参数之后求和获取目标设备的权重。
更进一步地,对数据中心中的设备进行划分,将相同类型、相同型号以及功能一致的设备划分为相同组别;统计每个相同组别中每个设备的权重并求平均值,以获取每个相同组别中设备的权重的平均值;以相同组别中设备的权重的平均值作为相同组别中每个设备的权重。
更进一步地,所述根据每个设备的权重计算设备在全部设备中的资源占比包括:
将每个设备的权重求和获取权重总和;
计算单个设备的权重与权重总和的比值以获取设备的资源占比。
更进一步地,所述按照所述资源占比分配执行监控所需的资源包括:
根据资源负载情况确定执行监控的总资源;
按照所述资源占比将总资源配置给监控各个设备的程序。
第二方面,本申请提供一种实现监控设备所需资源的动态分配的装置,包括:
第一配置模块,所述第一配置模块用于为数据中心中的设备配置加权参数;
第二配置模块,所述第二配置模块用于配置资源负载阈值;
第一采集模块,所述第一采集模块用于周期性采集监控每个设备所执行指令情况或/和所调用接口情况;
第二采集模块,所述第二采集模块用于周期性采集资源负载情况;
计算模块,所述计算模块用于根据采集的所执行指令情况或/和所调用接口情况加权对应的加权参数计算设备的权重,进而根据设备的权重计算设备的资源占比;
调度模块,所述调度模块用于根据资源占比、资源负载以及资源负载阈值配置执行监控的资源。
更进一步地,所述实现监控设备所需资源的动态分配的装置还包括:存储模块,所述存储模块用于为第一配置模块、第二配置模块、第一采集模块、第二采集模块、计算模块以及调度模块处理的数据提供存储空间。
第三方面,本申请提供一种实现监控设备所需资源的动态分配方法的存储介质,所述实现监控设备所需资源的动态分配方法的存储介质存储至少一条指令,执行所述指令实现所述的监控设备所需资源的动态分配方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请将监控设备所执行指令情况或/和所调用接口情况加权对应的加权参数来计算设备的权重;在根据设备的权重计算设备的资源占比,进而根据资源占比分配资源。
第一方面,分配资源根据监控设备的所执行指令情况或/和所调用接口情况进行分配,保证资源分配的合理性,避免资源分配与监控程序消耗不匹配的问题,避免资源分配的不均和浪费。
第二方面,周期性的根据所执行指令情况或/和所调用接口情况计算资源占比,根据动态的资源占比动态的分配资源,能够保证给监控设备的监控程序所分配的资源适应数据中心现下的状态。
第三方面,根据设备的重要程度配置加权参数,由加权参数决定设备权重的大小,使得本申请能够给相对重要的设备的监控程序分配相对较多的资源,保证对重要程度高的设备进行监控的监控程序畅通运行,及时对数据中心中的关键设备进行监控,有利于数据中心正常运行。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
数据中心中的设备包括服务器类型设备、网络设备以及安全设备,且数据中心中的不同类型的设备由不同厂商生产,传输自身状态数据的方式多种多样。因此,数据中心的监控装置需要通过http、https、snmp、redfish、syslog等协议的接口以及用于采集信息指令来从数据中心各个设备获取大量的设备状态数据。大规模的数据中心中设备数量多,监控设备采集的设备状态数据量大。监控装置一视同仁地处理不同设备的状态数据容易出现资源分配不均、资源浪费的问题。为了使监控装置的资源分配合理,提高资源的利用效率,提出本申请监控设备所需资源的动态分配方法、装置及介质。
实施例1
本申请实施例提供一种监控设备所需资源的动态分配方法,包括:
S100,根据设备在数据中心中的重要程度设定加权参数,所述加权参数针对监控设备过程中所需执行指令情况或/和所需调用接口情况设置。
具体实施过程中,判定设备的重要程度需考量包括硬件因素或/和软件因素。其中,硬件因素包括设备在数据中心拓扑结构中的重要程度;以交换机类设备为例说明,对于保证数据中心中若干服务器正常运行的交换机,考虑内容包括:交换机在数据中心中拓扑结构中所服务服务器的数量,数量越多,重要程度越大。软件因素包括设备所执行业务或计划执行业务的重要程度;以服务器类设备为例说明,对于执行用户业务的服务器,设定加权参数时,考虑内容包括:服务器所执行用户业务的重要程度和用户业务量。
监控设备过程中所需执行指令情况包括:执行指令的数量、指令执行的时间和指令返回数据的大小;监控设备过程中所需调用接口情况包括:调用接口的数量、接口调用的时间和接口返回数据的大小。相应的,加权参数包括:针对执行指令数量的加权参数、针对指令执行时间的加权参数、针对指令返回数据的加权参数、针对调用接口数量的加权参数、针对调用接口时间的加权参数以及针对接口返回数据的加权参数。
具体的,以可拓展的配置文件的形式保存每个设备的加权参数,为数据中心中的设备配置用于识别设备的设备名称,配置文件中对应设备名称记录每个设备的加权参数。具体的,将每个设备的加权参数设计指定的数据格式;读取指定数据格式中记录的加权参数以解析出各个加权参数的含义。
监控装置通过加载解析配置文件的方式获取各个设备的加权参数。
S200,监控设备过程中,周期性地采集监控每个设备所执行指令情况或/和所调用接口情况。具体实施过程中,监控装置在对数据中心的设备进行监控过程中,通过http、https、snmp、redfish、syslog等协议的接口以及用于采集信息指令来从数据中心各个设备获取大量的设备状态数据。按照设定的周期来采集在每个周期中监控装置所执行指令的数量,执行指令的起始时刻和终止时刻,执行的指令所返回数据的大小,通过指令的起始时刻和终止时刻计算出执行指令的时间;按照设定的周期来采集在每个周期中监控装置所调用接口的数量,调用接口的起始时刻和终止时刻,调用接口所返回数据的大小,通过调用接口的起始时刻和终止时刻计算出调用接口的时间。
将采集地所执行指令情况或/和所调用接口情况保存于指定存储位置。
S300,将加权参数加权每个设备所执行指令情况或/和所调用接口情况计算每个设备的权重。
具体实施过程中,参阅图2所示,一种可行的所述将加权参数加权每个设备所执行指令情况或/和所调用接口情况计算每个设备的权重包括:
S301,确定需要计算权重的目标设备;通过目标设备的设备名称确定需要计算权重的目标设备。
S302,获取目标设备的加权参数;具体的,按照目标设备的设备名称从配置文件获取目标设备的加权参数,按照加权参数的数据结构解析出包括针对执行指令数量的加权参数、针对指令执行时间的加权参数、针对指令返回数据的加权参数、针对调用接口数量的加权参数、针对调用接口时间的加权参数以及针对接口返回数据的加权参数。
S303,获取目标设备在最新统计周期中的所执行指令情况或/和所调用接口情况;具体的,按目标设备的设备名称索引以从指定存储位置获取对应的所执行指令情况或/和所调用接口情况。
S304,将所执行指令情况或/和所调用接口情况中的每个元素乘以对应的加权参数之后求和获取目标设备的权重。
具体的,按照如下公式计算目标设备的权重:
αi=β1i×Num1i+β2i×Time1i+β3i×DataLength1i
+β4i×Num2i+β5i×Time2i+β6i×DataLength2i
其中,i=1,2……X表示目标设备,α表示权重,β1表示指令数的加权参数,Num1表示周期内所执行指令数,β2表示指令执行时间的加权参数,Time1表示周期内执行指令时间,β3表示指令返回数据的加权参数,DataLength1表示周期内所执行指令的返回数据的大小,β4表示接口数的加权参数,Num2表示周期内所调用接口数,β5表示调用接口时间的加权参数,Time2表示周期内调用接口时间,β6表示接口返回数据的加权参数,DataLength2表示周期内所调用指令的返回数据的大小。
具体实施过程中,参阅图3所示,另一种可行的所述将加权参数加权每个设备所执行指令情况或/和所调用接口情况计算每个设备的权重包括:
S310,对数据中心中的设备进行划分,将相同类型、相同型号以及功能一致的设备划分为相同组别;相同类型、相同型号则设备采用相同的方式传输设备状态数据;功能一致则设备设置一致,采集的设备状态数据一致。
S320,获取每个设备的加权参数,获取每个设备在最新统计周期中的所执行指令情况或/和所调用接口情况;
S330,将所执行指令情况或/和所调用接口情况中的每个元素乘以对应的加权参数之后求和,获取每个设备的权重;
S340,统计每个相同组别中每个设备的权重并求平均值,获取每个相同组别中设备的权重的平均值;
S350,确定目标设备的所属目标组别;
S360,以目标组别中设备的权重的平均值作为目标设备的权重。
S400,根据每个设备的权重计算设备在全部设备中的资源占比;
具体实施过程中,参阅图4所示,所述根据每个设备的权重计算设备在全部设备中的资源占比包括:
S401,将每个设备的权重求和获取权重总和;
S402,计算单个设备的权重与权重总和的比值以获取设备的资源占比。
即按如下公式计算每个设备的资源占比:
其中,λ表示资源占比。
S500,按照所述资源占比分配执行监控所需的资源。
具体实施过程中,参阅图5所示,所述按照所述资源占比分配执行监控所需的资源包括:
S501,根据资源负载情况确定执行监控的总资源;具体实施过程中,根据资源负载情况确定执行监控的总资源包括:
预先设置资源负载的阈值;资源负载包括监控装置CPU负载、内存负载和硬盘负载情况;相应的资源负载的阈值包括CPU负载阈值、内存负载阈值和硬盘负载阈值。
周期性地采集监控装置的资源负载情况;具体的,采集监控每个设备所执行指令情况或/和所调用接口情况的周期设置成采集监控装置资源负载的周期的公倍数。
监控装置中除运行监控程序外,还运行非监控程序,非监控程序占用非执行监控的资源。周期性地采集的监控装置的资源负载情况为监控装置当前非执行监控的资源和执行监控的资源总情况。
S502,按照所述资源占比将总资源配置给监控各个设备的程序。
将资源占比作为变化系数,增加或者减少执行监控的资源,以控制监控装置的资源负载情况不超过目标资源负载情况,所述目标资源负载情况等于监控装置的各个资源总量乘以对应的资源负载阈值。
实施例3
参阅图6所示,本申请实施例提供一种实现监控设备所需资源的动态分配的装置,包括:
第一配置模块,所述第一配置模块用于为数据中心中的设备配置加权参数;
第二配置模块,所述第二配置模块用于配置资源负载阈值;
第一采集模块,所述第一采集模块用于周期性采集监控每个设备所执行指令情况或/和所调用接口情况;
第二采集模块,所述第二采集模块用于周期性采集资源负载情况;
计算模块,所述计算模块用于根据采集的所执行指令情况或/和所调用接口情况加权对应的加权参数计算设备的权重,进而根据设备的权重计算设备的资源占比;
调度模块,所述调度模块用于根据资源占比、资源负载以及资源负载阈值配置执行监控的资源。具体的,所述调度模块利用第二配置模块配置的资源负载阈值和监控装置的资源总量计算出目标资源负载情况;参照第二采集模块采集的资源负载情况于目标资源负载情况的对比,按照计算模块计算的资源占比来增加或减少执行监控的资源,以控制监控装置的资源负载情况不超过目标资源负载情况。
所述实现监控设备所需资源的动态分配的装置还包括:存储模块,所述存储模块用于为第一配置模块、第二配置模块、第一采集模块、第二采集模块、计算模块以及调度模块处理的数据提供存储空间。
实施例4
本申请实施例提供一种实现监控设备所需资源的动态分配方法的存储介质。所述实现监控设备所需资源的动态分配方法的存储介质存储至少一条指令,从所述实现监控设备所需资源的动态分配方法的存储介质读取并执行所述指令实现所述的监控设备所需资源的动态分配方法。
本申请将监控设备所执行指令情况或/和所调用接口情况加权对应的加权参数来计算设备的权重;在根据设备的权重计算设备的资源占比,进而根据资源占比分配资源。
第一方面,分配资源根据监控设备的所执行指令情况或/和所调用接口情况进行分配,保证资源分配的合理性,避免资源分配与监控程序消耗不匹配的问题,避免资源分配的不均和浪费。
第二方面,周期性的根据所执行指令情况或/和所调用接口情况计算资源占比,根据动态的资源占比动态的分配资源,能够保证给监控设备的监控程序所分配的资源适应数据中心现下的状态。
第三方面,根据设备的重要程度配置加权参数,由加权参数决定设备权重的大小,使得本申请能够给相对重要的设备的监控程序分配相对较多的资源,保证对重要程度高的设备进行监控的监控程序畅通运行,及时对数据中心中的关键设备进行监控,有利于数据中心正常运行。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。