服务器闲置状态识别方法、装置、设备及存储介质与流程

未命名 10-09 阅读:163 评论:0


1.本技术涉及云计算技术领域,尤其涉及一种服务器闲置状态识别方法、装置、设备及存储介质。


背景技术:

2.随着云技术的日益发展,云服务器越来越受欢迎。相比于传统服务器,用户租用云服务器在一定程度上可降低成本。为了保证服务的及时性,云服务器通常会处于通电状态,但是如果云服务器在通电状态下长期处于闲置状态,就会造成资源浪费,尤其是在一些大型数据中心,随着服务器体量的不断增大,服务器资源浪费现象越来越普遍。为了保障这些服务器高质、高效、高性价比投入,有必要识别云服务器是否处于闲置状态。
3.其中,通过人工排查云服务器中是否有服务程序正在运行,从而判定该服务器是否闲置,是目前使用较为普遍的方案。这种方案存在识别效率较低,准确度低以及人工成本高等问题。


技术实现要素:

4.本技术的多个方面提供一种服务器闲置状态识别方法、装置、设备及存储介质,用以实现了服务器闲置状态的自动识别,提高识别效率和准确度,节省人力成本。
5.本技术实施例提供一种服务器闲置状态识别方法,包括:获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,至少一种目标性能数据是与目标服务器的机型适配的性能数据;根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态;根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;若目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,则确定目标服务器在当前统计周期内处于闲置状态。
6.本技术实施例还提供一种服务器闲置状态识别装置,包括:获取模块、识别模块和确定模块;获取模块,用于获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,至少一种目标性能数据是与目标服务器的机型适配的性能数据;识别模块,用于根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态;识别模块,还用于根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;确定模块,用于若目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,则确定目标服务器在当前统计周期内处于闲置状态。
7.本技术实施例还提供一种服务器闲置状态识别设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以实现服务器闲置
状态识别方法中的步骤。
8.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器实现本技术实施例提供的服务器闲置状态识别方法中的步骤。
9.在本技术实施例中,从服务器的功耗和性能这两个维度,分别识别目标服务器的性能状态和功耗状态,具体地,在每个统计周期内,根据服务器的性能数据及其性能闲置阈值,确定服务器是否处于低性能状态,根据功耗数据及其功耗闲置状态,确定服务器是否处于低功耗状态,在目标服务器处于低性能状态且相对历史统计周期处于稳定的低功耗状态的情况下,确定目标服务器处于闲置状态,实现了服务器闲置状态的自动识别,提高识别效率,节省人力成本。进一步,在性能数据的基础上,增加了功耗的稳定性判定,减少闲置状态误判的情况发生,提高识别闲置状态的准确性。
附图说明
10.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
11.图1为本技术示例性实施例提供的一种服务器闲置状态识别方法的流程示意图;
12.图2为本技术示例性实施例提供的另一种服务器闲置状态识别方法的流程示意图;
13.图3为本技术示例性实施例提供的一种识别稳定的低功耗状态的流程示意图;
14.图4为本技术示例性实施例提供的一种服务器闲置状态识别装置的流程示意图;
15.图5为本技术示例性实施例提供的一种服务器闲置状态识别设备的流程示意图。
具体实施方式
16.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
17.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
18.针对现有技术中识别效率较低,准确度低以及人工成本高等问题,在本技术实施例中,从服务器的功耗和性能这两个维度,分别识别目标服务器的性能状态和功耗状态,具体地,在每个统计周期内,根据服务器的性能数据及其性能闲置阈值,确定服务器是否处于低性能状态,根据功耗数据及其功耗闲置状态,确定服务器是否处于低功耗状态,在目标服务器处于低性能状态且相对历史统计周期处于稳定的低功耗状态的情况下,确定目标服务器处于闲置状态,实现了服务器闲置状态的自动识别,提高识别效率,节省人力成本。进一步,在性能数据的基础上,增加了功耗的稳定性判定,减少闲置状态误判的情况发生,提高
识别闲置状态的准确性。
19.以下结合附图,详细说明本技术各实施例提供的技术方案。
20.图1为本技术示例性实施例提供的一种服务器闲置状态识别方法的流程示意图。如图1所示,该方法包括:
21.101、获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,至少一种目标性能数据是与目标服务器的机型适配的性能数据;
22.102、根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态;
23.103、根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;
24.104、若目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,确定目标服务器在当前统计周期内处于闲置状态。
25.在本实施例中,可以针对任意一个服务器识别其是否处于闲置状态,下面以目标服务器为例进行说明。其中,针对每个统计周期,识别目标服务器是否处于闲置状态,统计周期可以是24小时、48小时、一星期或一个月等,对此不做限定。下面以当前统计周期为例进行描述。
26.其中,可以获取目标服务器在当前统计周期内目标功耗数据和至少一种目标性能数据。目标功耗数据可以是目标服务器的全局功耗数据,进一步,该全局功耗数据可以是目标服务器上的主要部件的局部功耗数据之和,其中,主要部件可以包含但不限于:cpu、内存、硬盘、raid卡、gpu卡、网卡、风扇以及主板等。或者,目标功耗数据可以是目标服务器上某个或某几个主要部件的功耗数据,对此不做限定。在每个统计周期内,服务器每隔一段时间(如0.5s、1s或3s)统计一次目标功耗数据,也就是说,在一个统计周期内所采集到的目标功耗数据的数量为多个。
27.其中,至少一种目标性能数据可以包含但不限于:cpu负载、内存容量、硬盘读写、网络延迟和宽带等能够表征服务器性能的一种或多种数据,在每个统计周期内,可以每隔一段时间(如1s、2s或5s)采集一次目标性能数据,也就是说,在每个统计周期内所采集到的每种目标性能数据的数量为多个。至少一种目标性能数据是与目标服务器的机型适配的性能数据,如图2所示,目标服务器的机型可以包含但不限于:存储机型、gpu机型以及其它机型,其它机型可以是普通计算机型,如cpu机型,存储机型可以包括:高速缓冲存储器、内存储器、辅助存储器。
28.例如,当目标服务器为存储机型,其主要用于存储数据,该存储机型的服务器的cpu利用率一般处于较低水平,所以无法根据cpu利用率确定该服务器的闲置状态,存储机型的主要性能数据为硬盘读写数据,因此可以将硬盘读写数据作为存储机型的目标服务器的目标性能参数;再例如,当目标服务器为gpu机型,该目标服务器由gpu实现密集计算的部分,同时仍由cpu实现非密集计算的部分,因此,该目标服务器的目标性能数据包括:gpu利用率和cpu利用率;又例如,当目标服务器为普通计算型(如cpu机型),其cpu利用率较为重要,同时需要考虑其内存使用率以及io使用率等相关数据,因此,该目标服务器的目标性能数据包括:cpu利用率及其负载数据,该负载数据是对当前cpu工作量的度量,被定义为特定
时间间隔内运行队列中的平均线程数,cpu使用率、内存使用率、io消耗率上升都会提高负载。
29.在本实施例中,在每个统计周期内,每个目标性能数据对应有性能闲置阈值,性能闲置阈值在不同统计周期是动态变化的。每个目标性能数据对应的性能闲置阈值是目标性能数据的一个临界值,用于对目标性能数据的性能高低进行衡量,辅助确定目标服务器的性能状态。其中,性能状态包括低性能状态和非低性能状态,低性能状态是指目标服务器的cpu、gpu、内存或磁盘i/o等处于一个较低的使用率,非低性能状态是目标服务器的cpu、gpu、内存或磁盘i/o等处于一个相对较高的使用率。例如,低性能状态是指目标性能数据小于其对应性能闲置阈值的一种服务器状态,表示服务器的性能较差;非低性能状态是指目标性能数据大于或等于其对应性能闲置阈值的一种服务器状态,表示服务器的性能较好。基于此,可以针对目标服务器的至少一种目标性能数据,根据每种目标性能数据及其在当前统计周期的性能闲置阈值,识别目标服务器在当前统计周期内的性能状态,并进一步确定该目标服务器在当前统计周期内的性能状态是否处于低性能状态。
30.在本实施例中,在每个统计周期内,目标功耗数据对应有功耗闲置阈值,该功耗闲置阈值在不同统计周期是动态变化的。每个目标功耗数据对应的功耗闲置阈值是目标功耗数据的一个临界值,用于对目标功耗数据的功耗高低进行衡量,并辅助确定目标服务器的功耗状态。其中,功耗状态包括低功耗状态和非低功耗状态,低功耗状态是指目标服务器的目标功耗数据小于其对应功耗闲置阈值的一种服务器状态,表示服务器的功耗较低;非低功耗状态是指目标服务器的目标功耗数据大于或等于其对应功耗闲置阈值的一种服务器状态,表示服务器的功耗较高。例如,低功耗状态是指目标功耗数据小于其对应功耗闲置阈值的一种服务器状态,非低功耗状态是指目标功耗数据大于或等于其对应功耗闲置阈值的一种服务器状态。基于此,可以根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态。其中,稳定的低功耗状态可以理解为在一段时间内目标服务器均处于低功耗状态,例如,该一段时间可以是6小时、12小时、一天或一星期等,又例如,该一段时间可以是连续的2个、3个或更多个统计周期,在2个、3个或更多个统计周期内该目标服务器均处于低功耗状态,则认为目标服务器均处于稳定的低功耗状态。相应地,不稳定的低功耗状态是指在一段时间内并不是全部处于低功耗状态,而是在一段时间内出现过非低功耗状态。其中,确定目标服务器是否处于稳定的低功耗状态,主要是引入功耗波动数据,减少识别闲置状态的误判,提高识别准确率。
31.在本实施例中,针对目标服务器的闲置状态,同时考虑目标服务器的性能状态和功耗状态,在性能状态和功耗状态均满足要求的情况下,认为目标服务器处于闲置状态。具体地:若目标服务器在当前统计周期内处于低性能状态,并且目标服务器在当前统计周期内的功耗状态相对于历史统计周期处于稳定的低功耗状态,则确定目标服务器在当前统计周期内处于闲置状态。
32.可选地,若目标服务器在当前统计周期内处于非低性能状态,则确定目标服务器在当前统计周期内处于非闲置状态;若目标服务器在当前统计周期内处于不稳定的低功耗状态,或者目标服务器在当前统计周期内处于非低功耗状态,则确定目标服务器在当前统计周期内处于非闲置状态。
33.在本技术实施例中,从服务器的功耗和性能这两个维度,分别识别目标服务器的性能状态和功耗状态,具体地,在每个统计周期内,根据服务器的性能数据及其性能闲置阈值,确定服务器是否处于低性能状态,根据功耗数据及其功耗闲置状态,确定服务器是否处于低功耗状态,在目标服务器处于低性能状态且相对于历史统计周期处于稳定的低功耗状态的情况下,确定目标服务器处于闲置状态,实现了服务器闲置状态的自动识别,提高了识别效率,节省了人力成本。进一步,在性能数据的基础上,增加了功耗的稳定性判定,减少闲置状态误判的情况发生,提高识别闲置状态的准确性。
34.在一可选实施例中,本技术实施例还可以维护目标服务器的闲置周期数,闲置周期数表示目标服务器连续处于闲置状态的周期数,每个闲置周期即为统计周期,例如可以是12小时、1天或者一周等,目标服务器连续处于闲置状态的周期数可以是0个、1个或多个。在确定目标服务器在当前统计周期内处于闲置状态的情况下,更新闲置周期数,例如,在目标服务器当前的闲置周期为1天的情况下,更新闲置周期数实现为将闲置周期数加1,表示目标服务器已经连续闲置2个统计周期;在确定目标服务器在当前统计周期内处于非闲置状态的情况下,说明目标服务器已经结束闲置状态,重新进入非闲置状态,此时将闲置周期数置为0,这样当目标服务器重新进入闲置状态时,方便重新开始统计目标服务器处于闲置状态的周期数。其中,通过闲置周期数,可以辅助观察出服务器的长期使用情况,例如是否长期处于闲置状态,进而方便运营人员准确判断是否需要优化该服务器。
35.在一可选实施例中,针对每台服务器单独确定其是否处于闲置状态以及该服务器的闲置周期数是多少,具体在确定性能空闲阈值时,以服务器组的性能数据为基础进行确定,有利于提高性能空闲阈值的准确度。可选地,在针对同一服务器组中各个服务器进行闲置状态识别时,同一服务器组中各个服务器使用的性能闲置阈值可以是同一个。在本实施例中,以事业群(business group,bu)、机型和产品线等维度对服务器进行分组,即同一bu内的同一机型且属于同一产品线的服务器被划为同一组,组成一个服务器组,但并不限于此。
36.基于上述,一种根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态的实施方式,包括:针对每一种目标性能数据,确定目标服务器所在的服务器组,获取该服务组中各服务器在至少一个历史统计周期内对应的历史性能数据,其中,在每个历史统计周期内,可以每个一段时间(如1s、2s或5s)对应有一个历史性能数据,也就是说,历史性能数据的数量为多个;根据至少一个历史统计周期内对应的历史性能数据,生成目标性能数据在当前统计周期内对应的性能闲置阈值;根据至少一种目标性能数据所确定的至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较;例如,由于每种目标性能数据的数量为多个,即在当前统计周期内的不同时间采集到的目标性能数据,在与其对应的性能闲置阈值进行比较时,可以从中选择数值最大或最小的目标性能数据作为当前统计周期内目标性能数据所确定的待比较性能数据,将该待比较性能数据与对应的性能闲置阈值进行比较,或者,将当前统计周期内多个目标性能数据进行加权平均,将加权平均的结果作为当前统计周期内目标性能数据所确定的待比较性能数据,将该待比较性能数据与对应的性能闲置阈值进行比较,对此不做限定;若至少一种待比较性能数据均小于对应的性能闲置阈值,或者至少一种待比较性能数据中超过一定比例阈值的待比较性能数据小于对应的性能闲置阈
值,确定目标服务器在当前统计周期内处于低性能状态。例如,假设一共有5种待比较性能数据,其中,有3种或以上的待比较性能数据小于对应的性能闲置阈值,则确定目标服务器在当前统计周期内处于低性能状态。
37.可选地,将至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较之前,还可以增设性能闲置阈值的松弛系数,松弛系数是指对性能闲置阈值进行松弛(如增大),从而扩大性能闲置阈值。相应地,判断目标服务器在最近至少一个历史统计周期内是否均处于闲置状态,优选地,最近至少一个历史统计周期实现为前一统计周期;在目标服务器在最近至少一个历史统计周期均处于闲置状态的情况下,认为目标服务器在当前统计周期内处于闲置状态的概率增高,因此,需要提高性能闲置阈值,根据预设的松弛系数增大至少一种目标性能数据各自对应的性能闲置阈值,使得即使目标服务器的目标性能数据有小幅度的提升,也会被判定为处于低性能状态,进一步,被判定为处于闲置状态,其中,松弛系数可以是1.05、1.07或1.10等。例如,性能闲置阈值为10,前一统计周期目标服务器处于闲置状态,松弛系数为1.10,则需要根据松弛系数增大性能闲置阈值,增大后的性能闲置阈值为10
×
1.10=11,即使目标服务器的该目标性能数据增加到10.9,会被判定为处于低性能状态,进一步,被判定为处于闲置状态。
38.可选地,根据目标性能数据的实现不同,生成该目标性能数据在当前统计周期内对应的性能闲置阈值的实施方式也有所不同,下面进行示例性说明。
39.示例a1:目标性能数据实现为硬盘读写次数。
40.对于硬盘读写次数,可以以横轴为硬盘读写次数,纵轴为服务器数量,对服务器组中各服务器在至少一个历史统计周期内的历史硬盘读写次数进行分布情况的统计,得到多个正态分布信息,每个正态分布信息表示在至少一个历史统计周期内服务器数量与各个硬盘读写次数之间的对应关系,正态分布的峰值越高,代表出现该峰值对应的硬盘读写次数的服务器的数量越多;相应地,正态分布的峰值越低,代表出现该峰值对应的硬盘读写次数的服务器的数量越少。另外,正态分布的峰值在横轴上对应的硬盘读写次数越大,意味着大多数服务器比较忙碌,大多数服务器处于非低性能状态(如高性能状态);相应地,正态分布的峰值在横轴上对应的硬盘读写次数越小,意味着大多数服务器比较空闲,大多数服务器处于低性能状态。根据同一服务器组内各服务器在至少一个历史统计周期内的历史硬盘读写次数的分布信息,可以确定目标服务器在当前统计周期内与硬盘读写次数这一性能数据对应的性能闲置阈值。
41.具体地,根据服务器组中各服务器在至少一个历史统计周期内的历史硬盘读写次数的分布情况,得到至少一个正态分布信息,正态分布信息的横轴表示硬盘读写次数,纵轴表示对应各个硬盘读写次数的服务器数量,正态分布信息的峰值表示对应同一硬盘读写次数的最大的服务器数量;根据至少一个正态分布信息中的最小峰值,生成目标性能数据在当前统计周期内对应的性能闲置阈值。例如,直接将至少一个正态分布信息中的最小峰值对应的硬盘读写次数作为目标性能数据在当前统计周期内对应的性能闲置阈值;又例如,将至少一个正态分布信息中的最小峰值对应的硬盘读写次数增添或减少设定的读写次数阈值,得到目标性能数据在当前统计周期内对应的性能闲置阈值,无论如何确定与硬盘读写次数对应的性能闲置阈值,在本实施例中对该性能闲置阈值的取值并不做限定,例如,可以是1千次、5千次或2万次等,具体视情况而定。
42.示例a2:目标性能数据实现为cpu利用率或gpu利用率。
43.同一服务器组使用的是同一个性能闲置阈值,若一个服务器组中的各服务器的cpu/gpu利用率都很小,说明各服务器的服务性能比较低,或者若一个服务器组中的各服务器的cpu/gpu利用率都很高,说明各服务器的服务性能都很满。因此,可以采用分位数法,确定cpu利用率或gpu利用率的性能闲置阈值。分位数法是将cpu利用率或gpu利用率按照概率分布分为几个等份的数值点,例如,可以分为2个等份、4个等份或10个等份等,每个等份中数量相同。
44.具体地:针对目标性能数据实现为cpu利用率的情况,采用分位数法对服务器组中各服务器在至少一个历史统计周期内的历史cpu利用率进行区间划分,以得到多个cpu利用率区间;例如,将上述历史cpu利用率按照由低到高的顺序进行排序,采用分位数法(如,十分位数)将上述历史cpu利用率分为十等份,即得到10个cpu利用率区间;可选地,区间划分之前,还可以剔除cpu利用率中的跳变点及明显异常点,基于剔除后剩余的数据进行区间划分;根据范围最小的cpu利用率区间和已知的利用率经验值,生成目标性能数据在当前统计周期内对应的性能闲置阈值。其中,范围最小的cpu利用率区间是指利用率最小的cpu利用率区间,例如,cpu利用率区间为5%-7%,10%-15%,50%-80%,80%-95%,其中,范围最小的cpu利用率区间是5%-7%。例如,根据范围最小的cpu利用率区间,确定候选利用率阈值,例如,将该cpu利用率区间的最高利用率、最低利用率或者平均利用率作为候选利用率阈值;从候选利用率阈值和已知的利用率经验值中选择较小者,作为cpu利用率对应的性能闲置阈值。已知的利用率经验值可以是5%、10%或12%等。
45.针对目标性能数据实现为gpu利用率的情况,采用分位数法对服务器组中各服务器在至少一个历史统计周期内的历史gpu利用率进行区间划分,以得到多个gpu利用率区间;根据范围最小的gpu利用率区间和已知的利用率经验值,生成目标性能数据在当前统计周期内对应的性能闲置阈值。其中,范围最小的gpu利用率区间是指利用率最小的gpu利用率区间,例如,gpu利用率区间为3%-8%,11%-16%,60%-85%,86%-96%,其中,范围最小的gpu利用率区间是3%-8%。例如,根据范围最小的gpu利用率区间,确定候选利用率阈值,例如,将该gpu利用率区间的最高利用率、最低利用率或者平均利用率作为候选利用率阈值;从候选利用率阈值和已知的利用率经验值中选择较小者,作为gpu利用率对应的性能闲置阈值。已知的利用率经验值可以是7%、11%或12%等。
46.示例a3:目标性能数据实现为负载数据。
47.对于负载数据,可以根据cpu数量,得到单核平均负载,单核平均负载与cpu利用率基本呈线性分布,因此,可以基于较低cpu利用率对应的单核平均负载,确定负载数据的性能闲置阈值。
48.具体地,根据服务器组中各服务器的cpu核数和各服务器在至少一个历史统计周期内的历史负载数据,计算各服务器的单核平均负载,例如,确定各服务器的总cpu核数,以及至少一个历史统计周期内的历史负载数据,单核平均负载为历史负载数据与总cpu核数的比值;根据各服务器在至少一个历史统计周期内的历史cpu利用率和单核平均负载,生成目标性能数据在当前统计周期内对应的性能闲置阈值。例如,采用统计学方法(如分位数法)对历史cpu利用率进行区间划分,选择范围最小的cpu利用率区间,由于cpu利用率与单核平均负载之间存在线性对应关系,根据该线性对应关系,得到范围最小的cpu利用率区间
中的每一个cpu利用率对应的单核平均负载;对选择出来的单核平均负载取均值,得到负载数据对应的闲置阈值,或者,从选择出来的单核平均负载中选择最大值或最小值,作为负载数据对应的闲置阈值。
49.其中,上述示例a1-a3针对不同机型的服务器,选择采用不同类型的目标性能数据,进而根据不同目标性能数据分布选择了不同确定性能闲置阈值方法,考虑不同目标性能数据间的个体化差异,灵活度较高,而且有利于提高对服务器是否处于低性能状态的识别准确度。
50.在一可选实施例中,一种根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态的实施方式,包括:根据目标服务器所在服务器组中各服务器在当前统计周期内的功耗数据,生成当前统计周期内的功耗闲置阈值;例如,当前统计周期内的功耗数据包括多个时间点采集到的功耗数据,对多个时间点采集到的功耗数据计算均值和标准差,基于该均值和若干个标准差,生成当前统计周期内的功耗闲置阈值,如,将均值减去n倍的标准差,得到当前统计周期内的功耗闲置阈值,n是经验值,且n为自然数。
51.根据目标功耗数据确定待比较功耗数据,例如,当前统计周期内的目标功耗数据包括多个时间点采集到的目标功耗数据,待比较功耗数据可以是最大或最小目标功耗数据,或者待比较功耗数据可以是当前统计周期内的平均目标功耗数据;若根据目标功耗数据所确定待比较功耗数据小于功耗闲置阈值,则确定该目标服务器在当前统计周期内处于低功耗状态。
52.进一步,判断目标服务器在当前统计周期内是否处于稳定状态,具体地,获取前一历史统计周期内的功耗参考值,前一历史统计周期内的功耗参考值可以是前一历史统计周期内功耗数据的均值或中位数;判断目标功耗数据相对于该功耗参考值的波动是否处于设定的波动范围内,例如,目标功耗数据与该功耗参考值的差值的绝对值是否处于设定的波动范围内,设定的波动范围可以是1-5瓦特、10-15瓦特或者3-17瓦特;若目标功耗数据相对于该功耗参考值的波动处于设定的波动范围内,确定目标服务器在当前统计周期内的低功耗状态相对前一历史统计周期是稳定的。可选地,若目标功耗数据相对于该功耗参考值的波动不处于设定的波动范围内,确定目标服务器在当前统计周期内的低功耗状态相对前一历史统计周期是不稳定的,说明目标服务器的功耗波动不满足要求。
53.可选地,确定当前统计周期内的功耗参考值的方式并不限定。
54.其中,在目标服务器在当前统计周期内的功耗状态相对于历史统计周期处于稳定的低功耗状态的情况下,根据目标服务器在当前统计周期内的目标功耗数据和前一历史统计周期内的功耗参考值,确定当前统计周期内的功耗参考值;当前统计周期内包括多个时间点采集的目标功耗数据,对该多个目标功耗数据进行平均,得到平均功耗数据,对该平均功耗数据和前一历史统计周期内的功耗参考值进行加权平均,得到当前统计周期内的功耗参考值;
55.其中,在目标服务器在当前统计周期内的功耗状态相对于历史统计周期未处于稳定的低功耗状态的情况下,不再参考前一统计周期内的功耗参考值,直接根据目标服务器在当前统计周期内的目标功耗数据,确定当前统计周期内的功耗参考值。例如,将当前统计周期内的目标功耗数据取均值后,得到的平均功耗数据作为当前统计周期内的功耗参考
值;又例如,将当前统计周期内的目标功耗数据中的最大或者最小目标功耗数据作为当前统计周期内的功耗参考值。在图3中展示了识别目标服务器是否属于稳定的低功耗状态以及更新功耗参考值的示意图。
56.在一可选实施例中,为了提高确定目标服务器是否闲置状态的准确率,在获取目标功耗数据和至少一种目标性能数据的过程中,需要对异常数据进行剔除。
57.具体地:在当前统计周期内,按照采集周期采集目标服务器的初始功耗数据和多种初始性能数据,采集周期小于统计周期,例如,采集周期可以是1s、2s或5s等;对初始功耗数据进行异常剔除,以得到目标功耗数据;对多种初始性能数据进行异常剔除,以得到多种候选性能数据;例如,目标服务器运行时,目标功耗数据和至少一种性能数据之间存在一种关联关系,该关联关系通过多项式回归模型进行表示,相应地,通过多项式回归模型可以对目标功耗数据和各种性能数据进行计算,确定目标功耗数据和至少一种性能数据之间是否满足该多项式回归模型,从而对异常数据进行剔除。
58.考虑到性能数据和功耗数据的关系,对于严重影响功耗数据的性能数据会作为目标性能数据,但是不同机型影响功耗数据的性能数据并不相同,基于此,可以根据目标服务器的机型,从多种候选性能数据中选择至少一种目标性能数据。在图2中,以获取初始功耗数据和多种初始性能数据,异常剔除以及基于不同的机型确定目标性能数据的整个过程由数据规整模块实现为例进行图示。
59.可选地,在目标服务器为存储机型的情况下,其主要用于存储数据,因此从多种候选性能数据中至少选择硬盘读写次数作为目标性能数据;在目标服务器为gpu计算机型的情况下,gpu主要实现密集计算的部分,cpu实现非密集计算的部分,因此,从多种候选性能数据中至少选择gpu利用率与cpu利用率作为目标性能数据;在目标服务器为普通计算机型的情况下,cpu利用率较为重要,同时需要考虑其内存使用率、io消耗和负载数据等相关数据,从多种候选性能数据中选择cpu利用率、io消耗、内存使用率和负载数据作为目标性能数据,或者,从多种候选性能数据中选择cpu利用率和负载数据作为目标性能数据。其中,针对不同机型的特点使用不同的目标性能数据,避免了单特征无法准确识别闲置状态的可能性,提高了识别闲置状态的准确率。
60.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备a;又比如,步骤101和102的执行主体可以为设备a,步骤103的执行主体可以为设备b;等等。
61.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
62.图4为本技术示例性实施例提供的一种服务器闲置状态识别装置的结构示意图。如图4所示,该装置包括:获取模块41、识别模块42和确定模块43。
63.获取模块,用于获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,至少一种目标性能数据是与目标服务器的机型适配的性能数据;
64.识别模块,用于根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态;
65.识别模块,还用于根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;
66.确定模块,用于若目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,则确定目标服务器在当前统计周期内处于闲置状态。
67.在一可选实施例中,该装置还包括:更新模块和处理模块;在确定目标服务器在当前统计周期内处于闲置状态的情况下,通过更新模块更新闲置周期数,闲置周期数表示目标服务器连续处于闲置状态的周期数;以及在确定目标服务器在当前统计周期内处于非闲置状态的情况下,通过处理模块将闲置周期数置为0。
68.在一可选实施例中,识别模块具体用于:针对每一种目标性能数据,根据目标服务器所在服务器组中各服务器在至少一个历史统计周期内对应的历史性能数据,生成目标性能数据在当前统计周期内对应的性能闲置阈值;将根据至少一种目标性能数据所确定的至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较;若至少一种待比较性能数据均小于对应的性能闲置阈值,确定目标服务器在当前统计周期内处于低性能状态。
69.在一可选实施例中,该装置还包括判断模块和增大模块;判断模块,用于判断目标服务器在最近至少一个历史统计周期内是否均处于闲置状态;增大模块,用于在目标服务器在最近至少一个历史统计周期均处于闲置状态的情况下,根据预设的松弛系数增大至少一种目标性能数据各自对应的性能闲置阈值。
70.在一可选实施例中,识别模块具体用于:在目标性能数据为硬盘读写次数的情况下,根据服务器组中各服务器在至少一个历史统计周期内的历史硬盘读写次数的分布情况,得到至少一个正态分布信息;根据至少一个正态分布信息中的最小峰值,生成目标性能数据在当前统计周期内对应的性能闲置阈值;在目标性能数据为cpu利用率或gpu利用率的情况下,采用分位数法对服务器组中各服务器在至少一个历史统计周期内的历史cpu利用率或历史gpu利用率进行区间划分,以得到多个cpu利用率区间或gpu利用率区间;根据范围最小的cpu利用率区间或gpu利用率区间和已知的利用率经验值,生成目标性能数据在当前统计周期内对应的性能闲置阈值;在目标性能数据为负载数据的情况下,根据服务器组中各服务器的cpu核数和各服务器在至少一个历史统计周期内的历史负载数据,计算各服务器的单核平均负载;根据各服务器在至少一个历史统计周期内的历史cpu利用率和单核平均负载,生成目标性能数据在当前统计周期内对应的性能闲置阈值。
71.在一可选实施例中,识别模块具体用于:根据目标服务器所在服务器组中各服务器在当前统计周期内的功耗数据,生成当前统计周期内的功耗闲置阈值;若根据目标功耗数据所确定的待比较功耗数据小于功耗闲置阈值,确定所述目标服务器在当前统计周期内处于低功耗状态;判断目标功耗数据相对于前一历史统计周期内的功耗参考值的波动是否处于设定的波动范围内;若是,确定目标服务器在当前统计周期内的低功耗状态相对前一历史统计周期是稳定的。
72.在一可选实施例中,确定模块,用于在目标服务器在当前统计周期内的功耗状态相对于历史统计周期处于稳定的低功耗状态的情况下,根据目标服务器在当前统计周期内的目标功耗数据和前一历史统计周期内的功耗参考值,确定当前统计周期内的功耗参考值;在目标服务器在当前统计周期内的功耗状态相对于历史统计周期未处于稳定的低功耗状态的情况下,根据目标服务器在当前统计周期内的目标功耗数据,确定当前统计周期内的功耗参考值。
73.在一可选实施例中,获取模块具体用于:在当前统计周期内,按照采集周期采集目标服务器的初始功耗数据和多种初始性能数据,采集周期小于统计周期;对初始功耗数据进行异常剔除,以得到目标功耗数据;对多种初始性能数据进行异常剔除,以得到多种候选性能数据;根据目标服务器的机型,从多种候选性能数据中选择至少一种目标性能数据。
74.在一可选实施例中,获取模块具体用于:在目标服务器为存储机型的情况下,从多种候选性能数据中至少选择硬盘读写次数作为目标性能数据;在目标服务器为gpu计算机型的情况下,从多种候选性能数据中至少选择gpu利用率与cpu利用率作为目标性能数据;在目标服务器为普通计算机型的情况下,从多种候选性能数据中选择cpu利用率、io消耗、内存使用率和/或负载数据作为目标性能数据。
75.本技术实施例提高的服务器闲置状态识别装置,从服务器的功耗和性能这两个维度,分别识别目标服务器的性能状态和功耗状态,具体地,在每个统计周期内,根据服务器的性能数据及其性能闲置阈值,确定服务器是否处于低性能状态,根据功耗数据及其功耗闲置状态,确定服务器是否处于低功耗状态,在目标服务器处于低性能状态且相对历史统计周期处于稳定的低功耗状态的情况下,确定目标服务器处于闲置状态,实现了服务器闲置状态的自动识别,节省了人力成本。进一步,在性能数据的基础上,增加了功耗的稳定性判定,减少闲置状态误判的情况发生,提高识别闲置状态的准确性。
76.图5为本技术示例性实施例提供的一种服务器闲置状态识别设备的结构示意图。如图5所示,该设备包括:存储器54和处理器55。
77.存储器54,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器闲置状态识别设备上的操作。这些数据的示例包括用于在服务器闲置状态识别设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
78.存储器54可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
79.处理器55,与存储器54耦合,用于执行存储器54中的计算机程序,以用于:获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,至少一种目标性能数据是与目标服务器的机型适配的性能数据;根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态;根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;若目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,则确定目标服务器在当前统计周期内处于闲置状态。
80.在一可选实施例中,处理器55还用于:在确定目标服务器在当前统计周期内处于闲置状态的情况下,更新闲置周期数,闲置周期数表示目标服务器连续处于闲置状态的周期数;以及在确定目标服务器在当前统计周期内处于非闲置状态的情况下,将闲置周期数置为0。
81.在一可选实施例中,处理器55在根据至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别目标服务器在当前统计周期内是否处于低性能状态时,具体用于:针对每一种目标性能数据,根据目标服务器所在服务器组中各服务器在至少一个历史统计周期内对应的历史性能数据,生成目标性能数据在当前统计周期内对应的性能闲置阈值;将根据至少一种目标性能数据所确定的至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较;若至少一种待比较性能数据均小于对应的性能闲置阈值,确定目标服务器在当前统计周期内处于低性能状态。
82.在一可选实施例中,处理器55在将至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较之前,还用于:判断目标服务器在最近至少一个历史统计周期内是否均处于闲置状态;在目标服务器在最近至少一个历史统计周期均处于闲置状态的情况下,根据预设的松弛系数增大至少一种目标性能数据各自对应的性能闲置阈值。
83.在一可选实施例中,处理器55在针对每一种目标性能数据,根据目标服务器所在服务器组中各服务器在至少一个历史统计周期内对应的历史性能数据,生成目标性能数据在当前统计周期内对应的性能闲置阈值时,具体用于:在目标性能数据为硬盘读写次数的情况下,根据服务器组中各服务器在至少一个历史统计周期内的历史硬盘读写次数的分布情况,得到至少一个正态分布信息;根据至少一个正态分布信息中的最小峰值,生成目标性能数据在当前统计周期内对应的性能闲置阈值;在目标性能数据为cpu利用率或gpu利用率的情况下,采用分位数法对服务器组中各服务器在至少一个历史统计周期内的历史cpu利用率或历史gpu利用率进行区间划分,以得到多个cpu利用率区间或gpu利用率区间;根据范围最小的cpu利用率区间或gpu利用率区间和已知的利用率经验值,生成目标性能数据在当前统计周期内对应的性能闲置阈值;在目标性能数据为负载数据的情况下,根据服务器组中各服务器的cpu核数和各服务器在至少一个历史统计周期内的历史负载数据,计算各服务器的单核平均负载;根据各服务器在至少一个历史统计周期内的历史cpu利用率和单核平均负载,生成目标性能数据在当前统计周期内对应的性能闲置阈值。
84.在一可选实施例中,处理器55在根据目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态时,具体用于:根据目标服务器所在服务器组中各服务器在当前统计周期内的功耗数据,生成当前统计周期内的功耗闲置阈值;若根据目标功耗数据所确定的待比较功耗数据小于功耗闲置阈值,确定所述目标服务器在当前统计周期内处于低功耗状态;判断目标功耗数据相对于前一历史统计周期内的功耗参考值的波动是否处于设定的波动范围内;若是,确定目标服务器在当前统计周期内的低功耗状态相对前一历史统计周期是稳定的。
85.在一可选实施例中,处理器55还用于:在目标服务器在当前统计周期内的功耗状态相对于历史统计周期处于稳定的低功耗状态的情况下,根据目标服务器在当前统计周期
内的目标功耗数据和前一历史统计周期内的功耗参考值,确定当前统计周期内的功耗参考值;在目标服务器在当前统计周期内的功耗状态相对于历史统计周期未处于稳定的低功耗状态的情况下,根据目标服务器在当前统计周期内的目标功耗数据,确定当前统计周期内的功耗参考值。
86.在一可选实施例中,处理器55在获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据时,具体用于:在当前统计周期内,按照采集周期采集目标服务器的初始功耗数据和多种初始性能数据,采集周期小于统计周期;对初始功耗数据进行异常剔除,以得到目标功耗数据;对多种初始性能数据进行异常剔除,以得到多种候选性能数据;根据目标服务器的机型,从多种候选性能数据中选择至少一种目标性能数据。
87.在一可选实施例中,处理器55根据目标服务器的机型,从多种候选性能数据中选择至少一种目标性能数据时,具体用于:在目标服务器为存储机型的情况下,从多种候选性能数据中至少选择硬盘读写次数作为目标性能数据;在目标服务器为gpu计算机型的情况下,从多种候选性能数据中至少选择gpu利用率与cpu利用率作为目标性能数据;在目标服务器为普通计算机型的情况下,从多种候选性能数据中选择cpu利用率、io消耗、内存使用率和/或负载数据作为目标性能数据。
88.本技术实施例提高的服务器闲置状态识别设备,从服务器的功耗和性能这两个维度,分别识别目标服务器的性能状态和功耗状态,具体地,在每个统计周期内,根据服务器的性能数据及其性能闲置阈值,确定服务器是否处于低性能状态,根据功耗数据及其功耗闲置状态,确定服务器是否处于低功耗状态,在目标服务器处于低性能状态且处于稳定的低功耗状态的情况下,确定目标服务器处于闲置状态,实现了服务器闲置状态的自动识别,节省了人力成本。进一步,在性能数据的基础上,增加了功耗的稳定性判定,减少闲置状态误判的情况发生,提高识别闲置状态的准确性。
89.进一步,如图5所示,该服务器闲置状态识别设备还包括:通信组件56、显示器57、电源组件58、音频组件59等其它组件。图5中仅示意性给出部分组件,并不意味着服务器闲置状态识别设备只包括图5所示组件。另外,图5中虚线框内的组件为可选组件,而非必选组件,具体可视工作节点的产品形态而定。本实施例的服务器闲置状态识别设备可以实现为台式电脑、笔记本电脑、智能手机或iot设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的服务器闲置状态识别设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图5中虚线框内的组件;若本实施例的服务器闲置状态识别设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图5中虚线框内的组件。
90.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由图1所示方法执行的各步骤。
91.上述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,sram),电可擦除可编程只读存储器(electrically erasable programmable read only memory,eeprom),可擦除可编程只读存储器(erasable programmable read only memory,eprom),可编程只读存储器(programmable read-only memory,prom),只读存储器(read-only memory,rom),磁存储器,快闪存储器,磁盘或光盘。
92.上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(near field communication,nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(radio frequency identification,rfid)技术,红外数据协会(infrared data association,irda)技术,超宽带(ultra wide band,uwb)技术,蓝牙(bluetooth,bt)技术和其他技术来实现。
93.上述显示器包括屏幕,其屏幕可以包括液晶显示器(liquid crystal display,lcd)和触摸面板(touchpanel,tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
94.上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
95.上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
96.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、只读光盘(compact disc read-only memory,cd-rom)、光学存储器等)上实施的计算机程序产品的形式。
97.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
98.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
99.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
100.在一个典型的配置中,计算设备包括一个或多个处理器(central processing unit,cpu)、输入/输出接口、网络接口和内存。
101.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
102.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase-change random access memory,pram)、静态随机存取存储器(sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(digital video disc,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
103.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
104.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种服务器闲置状态识别方法,其特征在于,包括:获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,所述至少一种目标性能数据是与所述目标服务器的机型适配的性能数据;根据所述至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别所述目标服务器在当前统计周期内是否处于低性能状态;根据所述目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别所述目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;若所述目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,则确定所述目标服务器在当前统计周期内处于闲置状态。2.根据权利要求1所述的方法,其特征在于,还包括:在确定所述目标服务器在当前统计周期内处于闲置状态的情况下,更新闲置周期数,所述闲置周期数表示所述目标服务器连续处于闲置状态的周期数;以及在确定所述目标服务器在当前统计周期内处于非闲置状态的情况下,将所述闲置周期数置为0。3.根据权利要求1所述的方法,其特征在于,根据所述至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别所述目标服务器在当前统计周期内是否处于低性能状态,包括:针对每一种目标性能数据,根据目标服务器所在服务器组中各服务器在至少一个历史统计周期内对应的历史性能数据,生成所述目标性能数据在当前统计周期内对应的性能闲置阈值;将根据所述至少一种目标性能数据所确定的至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较;若所述至少一种待比较性能数据均小于对应的性能闲置阈值,确定所述目标服务器在当前统计周期内处于低性能状态。4.根据权利要求3所述的方法,其特征在于,将所述至少一种待比较性能数据分别与其在当前统计周期内对应的性能闲置阈值进行比较之前,还包括:判断所述目标服务器在最近至少一个历史统计周期内是否均处于闲置状态;在所述目标服务器在最近至少一个历史统计周期均处于闲置状态的情况下,根据预设的松弛系数增大所述至少一种目标性能数据各自对应的性能闲置阈值。5.根据权利要求3所述的方法,其特征在于,针对每一种目标性能数据,根据目标服务器所在服务器组中各服务器在至少一个历史统计周期内对应的历史性能数据,生成所述目标性能数据在当前统计周期内对应的性能闲置阈值,包括:在所述目标性能数据为硬盘读写次数的情况下,根据所述服务器组中各服务器在至少一个历史统计周期内的历史硬盘读写次数的分布情况,得到至少一个正态分布信息;根据所述至少一个正态分布信息中的最小峰值,生成所述目标性能数据在当前统计周期内对应的性能闲置阈值;在所述目标性能数据为cpu利用率或gpu利用率的情况下,采用分位数法对所述服务器组中各服务器在至少一个历史统计周期内的历史cpu利用率或历史gpu利用率进行区间划
分,以得到多个cpu利用率区间或gpu利用率区间;根据范围最小的cpu利用率区间或gpu利用率区间和已知的利用率经验值,生成所述目标性能数据在当前统计周期内对应的性能闲置阈值;在所述目标性能数据为负载数据的情况下,根据所述服务器组中各服务器的cpu核数和各服务器在至少一个历史统计周期内的历史负载数据,计算各服务器的单核平均负载;根据各服务器在至少一个历史统计周期内的历史cpu利用率和单核平均负载,生成所述目标性能数据在当前统计周期内对应的性能闲置阈值。6.根据权利要求1所述的方法,其特征在于,根据所述目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别所述目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态,包括:根据目标服务器所在服务器组中各服务器在当前统计周期内的功耗数据,生成当前统计周期内的功耗闲置阈值;若根据所述目标功耗数据所确定的待比较功耗数据小于所述功耗闲置阈值,确定所述目标服务器在当前统计周期内处于低功耗状态;判断所述目标功耗数据相对于前一历史统计周期内的功耗参考值的波动是否处于设定的波动范围内;若是,确定所述目标服务器在当前统计周期内的低功耗状态相对前一历史统计周期是稳定的。7.根据权利要求6所述的方法,其特征在于,还包括:在所述目标服务器在当前统计周期内的功耗状态相对于历史统计周期处于稳定的低功耗状态的情况下,根据所述目标服务器在当前统计周期内的目标功耗数据和所述前一历史统计周期内的功耗参考值,确定所述当前统计周期内的功耗参考值;在所述目标服务器在当前统计周期内的功耗状态相对于历史统计周期未处于稳定的低功耗状态的情况下,根据所述目标服务器在当前统计周期内的目标功耗数据,确定所述当前统计周期内的功耗参考值。8.根据权利要求1-7任一项所述的方法,其特征在于,获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,包括:在当前统计周期内,按照采集周期采集目标服务器的初始功耗数据和多种初始性能数据,所述采集周期小于统计周期;对所述初始功耗数据进行异常剔除,以得到所述目标功耗数据;对所述多种初始性能数据进行异常剔除,以得到多种候选性能数据;根据所述目标服务器的机型,从所述多种候选性能数据中选择至少一种目标性能数据。9.根据权利要求8所述的方法,其特征在于,根据所述目标服务器的机型,从所述多种候选性能数据中选择至少一种目标性能数据,包括:在所述目标服务器为存储机型的情况下,从所述多种候选性能数据中至少选择硬盘读写次数作为目标性能数据;在所述目标服务器为gpu计算机型的情况下,从所述多种候选性能数据中至少选择gpu利用率与cpu利用率作为目标性能数据;
在所述目标服务器为普通计算机型的情况下,从所述多种候选性能数据中选择cpu利用率、io消耗、内存使用率和/或负载数据作为目标性能数据。10.一种服务器闲置状态识别装置,其特征在于,包括:获取模块、识别模块和确定模块;所述获取模块,用于获取目标服务器在当前统计周期内的目标功耗数据和至少一种目标性能数据,所述至少一种目标性能数据是与所述目标服务器的机型适配的性能数据;所述识别模块,用于根据所述至少一种目标性能数据及其在当前统计周期内对应的性能闲置阈值,识别所述目标服务器在当前统计周期内是否处于低性能状态;所述识别模块,还用于根据所述目标功耗数据及其在当前统计周期内对应的功耗闲置阈值,识别所述目标服务器在当前统计周期内的功耗状态相对于历史统计周期是否处于稳定的低功耗状态;所述确定模块,用于若所述目标服务器在当前统计周期内处于低性能状态且在当前统计周期内的功耗状态相对历史统计周期处于稳定的低功耗状态,则确定所述目标服务器在当前统计周期内处于闲置状态。11.一种服务器闲置状态识别设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以实现权利要求1-9任一项所述方法中的步骤。12.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求1-9任一项所述方法中的步骤。

技术总结
本申请实施例提供一种服务器闲置状态识别方法、装置、设备及存储介质。在本申请实施例中,从服务器的功耗和性能这两个维度,分别识别目标服务器的性能状态和功耗状态,具体地,在每个统计周期内,根据服务器的性能数据和动态可调的闲置阈值,确定服务器是否处于低性能状态,根据功耗数据及其功耗分布情况,确定服务器是否处于低功耗状态,在目标服务器处于低性能状态且稳定的低功耗状态时,确定目标服务器处于闲置状态,实现了服务器闲置状态的自动识别,节省了人力成本。在性能数据的基础上,增加了功耗的稳定性判定,减少闲置状态误判的情况发生。进一步还可以输出服务器的闲置周期数,对于持续闲置的服务器加入松弛因子进行阈值的动态调整。值的动态调整。值的动态调整。


技术研发人员:阴玉涵 耿照为 王加龙
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.06.02
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐