您的当前位置:首页正文

一种判定服务器资源使用情况的方法和装置[发明专利]

2022-11-19 来源:客趣旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 110389873 A(43)申请公布日 2019.10.29

(21)申请号 201810342454.5(22)申请日 2018.04.17

(71)申请人 北京京东尚科信息技术有限公司

地址 100195 北京市海淀区杏石口路65号

西杉创意园四区11号楼东段1-4层西段1-4层

申请人 北京京东世纪贸易有限公司(72)发明人 翁美婷 

(74)专利代理机构 中原信达知识产权代理有限

责任公司 11219

代理人 张一军 张效荣(51)Int.Cl.

G06F 11/30(2006.01)G06F 11/34(2006.01)G06F 9/50(2006.01)

权利要求书2页 说明书10页 附图4页

(54)发明名称

一种判定服务器资源使用情况的方法和装置

(57)摘要

本发明公开了一种判定服务器资源使用情况的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集;对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果;根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。该实施方式通过对监控得到的所有资源使用数据进行聚类分析,以根据聚类分析结果自动判定服务器集群的资源使用均衡情况,成本低、效率高。CN 110389873 ACN 110389873 A

权 利 要 求 书

1/2页

1.一种判定服务器资源使用情况的方法,其特征在于,包括:监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集;对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果;根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。2.根据权利要求1所述的方法,其特征在于:所述资源使用数据包括至少一个资源指标的使用数据;

所述对所述资源使用数据集的所有资源使用数据进行聚类分析,包括:对所述资源使用数据集中,每个所述资源指标的使用数据分别进行标准化处理;采用基于密度的聚类算法,对标准化处理后的所述使用数据进行聚类分析。3.根据权利要求1所述的方法,其特征在于:所述根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡,包括:如果所述聚类分析结果中只有一个分类,则所述服务器集群的资源使用均衡;否则,所述服务器集群的资源使用不均衡。

4.根据权利要求3所述的方法,其特征在于:所述根据监控结果生成资源使用数据集的步骤之后,还包括:判断每个所述资源使用数据是否在预设的资源使用阈值范围内;

所述判定所述服务器集群的资源使用是否均衡的步骤之后,还包括:根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况。

5.根据权利要求4所述的方法,其特征在于:所述根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况,包括:

如果每个所述资源使用数据均在所述资源使用阈值范围内,且所述服务器集群的资源使用均衡,则所述服务器集群的资源使用情况正常;

如果所述服务器集群中有资源使用数据不在所述资源使用阈值范围内,和/或所述服务器集群的资源使用不均衡,则所述服务器集群的资源使用情况异常。

6.根据权利要求1至5的任一项所述的方法,其特征在于:所述服务器集群为多个,所述资源使用数据集包括所有所述服务器集群的每台服务器的资源使用数据;

所述对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果,包括:对属于同一个所述服务器集群的所有资源使用数据进行聚类分析,以得到每个所述服务器集群的聚类分析结果。

7.一种判定服务器资源使用情况的装置,其特征在于,包括:监控生成模块,用于监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集;

聚类分析模块,用于对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果;

判定模块,用于根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。8.根据权利要求7所述的装置,其特征在于:所述资源使用数据包括至少一个资源指标的使用数据;

所述聚类分析模块,还用于:对所述资源使用数据集中,每个所述资源指标的使用数据分别进行标准化处理;以及

2

CN 110389873 A

权 利 要 求 书

2/2页

采用基于密度的聚类算法,对标准化处理后的所述使用数据进行聚类分析。9.根据权利要求7所述的装置,其特征在于:所述判定模块,还用于:如果所述聚类分析结果中只有一个分类,则所述服务器集群的资源使用均衡;否则,所述服务器集群的资源使用不均衡。

10.根据权利要求9所述的装置,其特征在于:所述装置还包括:判断模块,用于判断每个所述资源使用数据是否在预设的资源使用阈值范围内;

所述装置还包括:资源使用情况判定模块,用于根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况。

11.根据权利要求10所述的装置,其特征在于:所述资源使用情况判定模块,还用于:如果每个所述资源使用数据均在所述资源使用阈值范围内,且所述服务器集群的资源使用均衡,则所述服务器集群的资源使用情况正常;以及

如果所述服务器集群中有资源使用数据不在所述资源使用阈值范围内,和/或所述服务器集群的资源使用不均衡,则所述服务器集群的资源使用情况异常。

12.根据权利要求7至11的任一项所述的装置,其特征在于:所述服务器集群为多个,所述资源使用数据集包括所有所述服务器集群的每台服务器的资源使用数据;

所述聚类分析模块,还用于:对属于同一个所述服务器集群的所有资源使用数据进行聚类分析,以得到每个所述服务器集群的聚类分析结果。

13.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。

14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。

3

CN 110389873 A

说 明 书

一种判定服务器资源使用情况的方法和装置

1/10页

技术领域

[0001]本发明涉及计算机领域,尤其涉及一种判定服务器资源使用情况的方法和装置。背景技术

[0002]随着互联网的发展,越来越多的人选择通过网络获取服务,很多企业需要在机房部署和管理大量的服务器,用于服务热备、提供高并发、高调用量的服务。这些部署在同一个服务器集群中的用于提供相同服务的每台服务器的资源使用情况,影响整个服务器集群的资源利用率和系统的性能表现。比如,服务器集群中某一台服务器X的中央处理器(Central Processing Unit,CPU)的使用率达到80%,而其他服务器的CPU使用率在20%,根据木桶原理以及实际工作经验,服务器X将导致整个服务器集群的性能不稳定,吞吐量无法明显提升,请求响应时间变长。因此,需要对服务器集群中所有服务器的资源使用情况进行监控,以判定资源使用是否正常。[0003]现有技术中,常用三种方式监控、判定服务器的资源使用是否正常。第一种是使用服务器监控工具,比如Linux(一套免费使用和自由传播的操作系统)命令、Nagios等,监控各服务器的CPU、内存、磁盘、网络等资源使用情况;第二种是通过企业自主研发的监控平台对服务器的资源使用情况进行监控,找出资源使用超过阀值的服务器;第三种是观察服务器集群中各台服务器的资源使用情况,人工判别各台服务器的资源使用情况是否合理、资源使用情况是否均衡,是否存在资源使用异常的服务器。其中,Nagios是一款开源的免费网络监视工具,能够监视指定的本地或远程主机以及服务,同时提供异常通知功能。[0004]在实现本发明过程中,发明人发现现有技术中至少存在如下问题:第一种方式虽然可以监控服务器的资源使用情况,但是无法对资源使用是否正常进行分析判断;第二种方式虽然能够对服务器的资源使用情况进行监控,并能够判别资源使用超过阀值的服务器,但是无法发现服务器集群中服务器资源使用不均衡的情况;第三种方式对于拥有成千上万台服务器的企业,一次人工判别需要耗费巨大的人力成本,并且对于需要根据生产需求动态扩容的服务器来讲,很难及时发现负载不均衡以及资源使用异常的服务器,且该方式对技术人员的技术水平和经验要求较高。

发明内容

[0005]有鉴于此,本发明实施例提供一种判定服务器资源使用情况的方法和装置,通过对监控得到的所有资源使用数据进行聚类分析,以根据聚类分析结果自动判定服务器集群的资源使用均衡情况,成本低、效率高。[0006]实现上述目的,根据本发明实施例的一个方面,提供了一种判定服务器资源使用情况的方法。

[0007]本发明实施例的一种判定服务器资源使用情况的方法,包括:监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集;对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果;根据所述聚类分析结果,判定所述服

4

CN 110389873 A

说 明 书

2/10页

务器集群的资源使用是否均衡。[0008]可选地,所述资源使用数据包括至少一个资源指标的使用数据;所述对所述资源使用数据集的所有资源使用数据进行聚类分析,包括:对所述资源使用数据集中,每个所述资源指标的使用数据分别进行标准化处理;采用基于密度的聚类算法,对标准化处理后的所述使用数据进行聚类分析。[0009]可选地,所述根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡,包括:如果所述聚类分析结果中只有一个分类,则所述服务器集群的资源使用均衡;否则,所述服务器集群的资源使用不均衡。[0010]可选地,所述根据监控结果生成资源使用数据集的步骤之后,还包括:判断每个所述资源使用数据是否在预设的资源使用阈值范围内;所述判定所述服务器集群的资源使用是否均衡的步骤之后,还包括:根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况。[0011]可选地,所述根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况,包括:如果每个所述资源使用数据均在所述资源使用阈值范围内,且所述服务器集群的资源使用均衡,则所述服务器集群的资源使用情况正常;如果所述服务器集群中有资源使用数据不在所述资源使用阈值范围内,和/或所述服务器集群的资源使用不均衡,则所述服务器集群的资源使用情况异常。[0012]可选地,所述服务器集群为多个,所述资源使用数据集包括所有所述服务器集群的每台服务器的资源使用数据;所述对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果,包括:对属于同一个所述服务器集群的所有资源使用数据进行聚类分析,以得到每个所述服务器集群的聚类分析结果。[0013]为实现上述目的,根据本发明实施例的一个方面,提供了一种判定服务器资源使用情况的装置。

[0014]本发明实施例的一种判定服务器资源使用情况的装置,包括:监控生成模块,用于监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集;聚类分析模块,用于对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果;判定模块,用于根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。[0015]可选地,所述资源使用数据包括至少一个资源指标的使用数据;所述聚类分析模块,还用于:对所述资源使用数据集中,每个所述资源指标的使用数据分别进行标准化处理;以及采用基于密度的聚类算法,对标准化处理后的所述使用数据进行聚类分析。[0016]可选地,所述判定模块,还用于:如果所述聚类分析结果中只有一个分类,则所述服务器集群的资源使用均衡;否则,所述服务器集群的资源使用不均衡。[0017]可选地,所述装置还包括:判断模块,用于判断每个所述资源使用数据是否在预设的资源使用阈值范围内;所述装置还包括:资源使用情况判定模块,用于根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况。[0018]可选地,所述资源使用情况判定模块,还用于:如果每个所述资源使用数据均在所述资源使用阈值范围内,且所述服务器集群的资源使用均衡,则所述服务器集群的资源使

5

CN 110389873 A

说 明 书

3/10页

用情况正常;以及如果所述服务器集群中有资源使用数据不在所述资源使用阈值范围内,和/或所述服务器集群的资源使用不均衡,则所述服务器集群的资源使用情况异常。[0019]可选地,所述服务器集群为多个,所述资源使用数据集包括所有所述服务器集群的每台服务器的资源使用数据;所述聚类分析模块,还用于:对属于同一个所述服务器集群的所有资源使用数据进行聚类分析,以得到每个所述服务器集群的聚类分析结果。[0020]为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。[0021]本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种判定服务器资源使用情况的方法。[0022]为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。[0023]本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种判定服务器资源使用情况的方法。[0024]上述发明中的一个实施例具有如下优点或有益效果:通过对监控得到的所有资源使用数据进行聚类分析,以根据聚类分析结果自动判定服务器集群的资源使用均衡情况,成本低、效率高;采用基于密度的聚类算法对资源使用数据进行聚类分析,该算法不需要事先知道要形成的簇类的数量,而且可以发现任意形状的簇类,进而能够将资源使用数据准确的进行分类,以根据分类数量判定服务器集群的资源使用是否均衡;通过将资源使用数据与资源使用阈值范围进行比较,以结合资源使用均衡情况判定资源使用情况是否正常;通过对多个服务器集群分别进行聚类分析,实现了对海量服务器的资源使用情况的监控、分析、判定。

[0025]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

[0026]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

[0027]图1是根据本发明实施例的判定服务器资源使用情况的方法的主要步骤的示意图;

[0028]图2是根据本发明实施例的判定服务器资源使用情况的方法的主要流程示意图;[0029]图3是根据本发明实施例的服务器集群的树形图;

[0030]图4是根据本发明实施例的判定服务器资源使用情况的装置的主要模块的示意图;

[0031]图5是本发明实施例可以应用于其中的示例性系统架构图;

[0032]图6是适用于来实现本发明实施例的电子设备的计算机装置的结构示意图。具体实施方式

[0033]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

6

CN 110389873 A[0034]

说 明 书

4/10页

图1是根据本发明实施例的判定服务器资源使用情况的方法的主要步骤的示意

图。如图1所示,本发明实施例的判定服务器资源使用情况的方法,主要包括如下步骤:[0035]步骤S101:监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集。对服务器集群中所有服务器的资源使用,比如CPU使用率、内存使用率、磁盘使用率、网络流量等进行监控,可通过监控工具或者企业自主研发的监控平台对上述资源使用进行监控。其中,资源使用数据集中包括服务器集群中每台所述服务器的资源使用数据。[0036]步骤S102:对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果。采用聚类算法,对监控生成的资源使用数据进行聚类分析,以将资源使用数据相近的服务器分为一组。实施例中采用基于密度的聚类算法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)对资源使用数据进行聚类分析,该算法将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。[0037]步骤S103:根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。如果所述聚类分析结果中只有一个分类,则所述服务器集群的资源使用均衡;否则,所述服务器集群的资源使用不均衡。通过上述过程自动实现了对服务器集群中每台服务器的资源使用的监控以及资源使用是否均衡的判定。

[0038]图2是根据本发明实施例的判定服务器资源使用情况的方法的主要流程示意图。如图2所示,本发明实施例的判定服务器资源使用情况的方法主要包括如下步骤:[0039]步骤S201:根据提供的服务,将全部服务器划分为各个逻辑分组,每个分组为一个服务器集群。每个服务器集群中包括一台或多台服务器,通过负载均衡等工具调度具体的服务器,以完成每次的服务请求。将服务器集群和服务器的分组关系进行存储。[0040]每台服务器的资源使用情况会影响整个服务器集群的性能。图3是根据本发明实施例的服务器集群的树形图。如图3所示,根据每台服务器提供的服务将其分为N个服务器集群,服务器集群1、服务器集群2、服务器集群N中分别有M台、I台、M台服务器。假设服务器集群1中服务器11的CPU使用率达到80%,服务器12、……、服务器1M的CPU使用率只有20%左右,则服务器11会导致服务的处理时间明显大于服务器集群内的其他服务器,整个服务器集群的处理时间TP99明显增大,吞吐量增长缓慢。其中,TP99是指在一个时间段内(如5分钟),统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99%的那个值作为TP99值,表示该方法99%的请求处理时间小于此值。[0041]步骤S202:监控所有的服务器集群中每台服务器的资源使用,以根据监控结果生成资源使用数据集。其中,所述资源使用,比如CPU使用率、内存使用率、磁盘使用率、网络流量等;所述资源使用数据集包括所有的服务器集群中每台所述服务器的至少一个资源指标的资源使用数据;所述资源指标,比如CPU、内存、磁盘、网络等。[0042]在一优选的实施例中,生成的资源使用数据集可以为:[0043]服务器11的资源使用数据SERVER[1][1]={CPU[1][1],MEM[1][1],DISK[1][1],NET[1][1],……};

[0044]服务器12的资源使用数据SERVER[1][2]={CPU[1][2],MEM[1][2],DISK[1][2],NET[1][2],……};[0045]……

7

CN 110389873 A[0046]

说 明 书

5/10页

服务器NM的资源使用数据SERVER[N][N]={CPU[N][M],MEM[N][M],DISK[N][M],

NET[N][M],……},其中,CPU[N][M]指服务器集群N中第M台服务器的CPU资源使用;MEM[N][M]指服务器集群N中第M台服务器内存资源使用;DISK[N][M]值服务器集群N中第M台服务器的磁盘资源使用;NET[N][M]指服务器集群N中第M台服务器的网络资源使用。[0047]步骤S203:预先为每个服务器集群的所述资源指标分别设置资源使用阈值范围,判断每个服务器集群中是否有所述资源使用数据不在所述资源使用阈值范围内,如果是,则执行步骤S208;否则,执行步骤S204。实施例中也可以为每台服务器的资源指标分别设置资源使用阈值范围。如果当前服务器集群中某个服务器的资源使用数据不在资源使用阈值范围内,则该服务器的资源使用异常;如果当前服务器集群中所有服务器的均在资源使用阈值范围内,则可将其进行标准化处理。[0048]在一优选的实施例中,假设服务器集群1的CPU使用率阈值范围为CPU1<90%,当服务器集群1中某台服务器的CPU使用率大于等于90%时,则该服务器集群的资源使用异常,需返回大于等于90%的全部服务器的名称和对应的资源使用数据。[0049]步骤S204:将所述资源使用数据集的所有资源使用数据进行标准化处理。服务器的资源使用数据通过多个资源指标反映,如CPU、内存、磁盘、网络等,这些资源指标的数据单位不同,数量级不同,所以需要对监控到的资源使用数据进行标准化处理。[0050]在一优选的实施例中,采用归一化进行标准化处理。以服务器11为例,假设监控的资源指标为CPU使用率和网络流量(MB),则资源使用数据SERVER[1][1]={CPU[1][1],NET[1][1]}={10%,25};将资源使用数据统一映射到[0-1]区间上,得到标准化的CPU使用率:cpu[1][1]=0.1,标准化的网络流量:net[1][1]=(25/1000)/8=0.2(网卡为千兆网,即1000Mb,1MB=8Mb);则服务器11的资源使用数据标准化结果server[1][1]={0.1,0.2}。同理,对全部服务器的资源使用数据进行标准化处理。[0051]步骤S205:采用DBSCAN算法,对标准化处理后的资源使用数据集在各服务器集群分组内进行聚类分析,以得到聚类分析结果。分别对服务器集群1的标准化处理后的资源使用数据server[1][1],server[1][2],……,server[1][M]进行聚类分析;对服务器集群2的标准化处理后的资源使用数据server[2][1],server[2][2],……,server[2][I]进行聚类分析;……;对服务器集群N的标准化处理后的资源使用数据server[N][1],server[N][2],……,server[N][M]进行聚类分析。[0052]DBSCAN算法中的几个术语定义:[0053]Ε邻域:给定对象半径为Ε内的区域称为该对象的Ε邻域;[0054]核心对象:如果给定对象Ε邻域内的样本点数大于等于最小包含点数(MinPts),则称该对象为核心对象;[0055]直接密度可达:对于样本集合D,如果样本点q在p的Ε邻域内,并且p为核心对象,那么对象q从对象p直接密度可达;[0056]密度可达:对于样本集合D,给定一串样本点p1,p2,……,pn,p=p1,q=pn,假如对象pi从pi-1直接密度可达,那么对象q从对象p密度可达。[0057]DBSCAN算法描述:[0058]输入:含n个对象的数据库,半径e,最小包含点数MinPts;[0059]输出:所有生成的簇,达到密度要求。

8

CN 110389873 A[0060]

说 明 书

6/10页

(1)Repeat(重复)

[0061](2)从数据库中抽出一个未处理的点;[0062](3)如果抽出的点是核心点,则找出所有从该点密度可达的对象,形成一个簇;[0063](4)如果抽出的点是边缘点(非核心对象),则跳出本次循环,寻找下一个点;[0064](5)直到所有的点都被处理。[0065]步骤S206:根据所述聚类分析结果,判定每个服务器集群的资源使用是否均衡。如果服务器集群中的所有服务器通过DBSCAN算法聚为一类且无噪音点,则该服务器集群的资源使用均衡;如果服务器集群中的所有服务器通过DBSCAN算法聚为多类或者由噪音点,则该服务器集群的资源使用不均衡。[0066]步骤S207:根据每个服务器集群的每个服务器的资源使用数据与资源使用阈值范围的比较结果以及每个服务器集群的资源使用均衡情况,判定每个服务器集群的资源使用是否正常。如果当前服务器集群中所有服务器的资源使用数据均在所述资源使用阈值范围内,且所述当前服务器集群的资源使用均衡,则所述当前服务器集群的资源使用正常;如果当前服务器集群中有服务器的资源使用数据不在所述资源使用阈值范围内,或者所述当前服务器集群的资源使用不均衡,则所述当前服务器集群的资源使用异常。按照上述过程,依次对每个服务器集群进行分析判定。[0067]步骤S208:输出每个服务器集群的资源使用情况和聚类分析结果。如果当前服务器集群的资源使用正常,则将资源使用正常的情况反馈给用户;如果当前服务器集群中有服务器的资源使用数据不在所述资源使用阈值范围内,则资源使用异常,将该资源使用数据以及对应的服务器的名称反馈给用户;如果当前服务器集群的资源使用不均衡,则资源使用异常,将当前服务器集群的资源使用数据以及聚类分析结果反馈给用户。[0068]在一优选的实施例中,如果服务器集群的资源使用异常,根据资源使用数据分析异常原因,并展示给用户。比如,为某服务器集群设定的网络流流量的阈值范围为大于等于100KB,但是该服务器集群的某台服务器的网络流量小于100KB,则可推断异常原因是:该服务器未被调用,即该服务器虽然在服务器集群中,但是却没有对外提供服务。[0069]下面以资源指标为CPU使用率和网络流量(MB)、服务器集群1有15台服务器为例,对本发明实施例的资源使用均衡情况的判定过程进行进一步说明。[0070](1)服务器集群1的资源使用数据为:[0071]SERVER[1][1]={49.5%,39.4};SERVER[1][2]={49.0%,43.1};[0072]SERVER[1][3]={44.5%,40.2};SERVER[1][4]={29.4%,59.4};[0073]SERVER[1][5]={28.6%,37.7};SERVER[1][6]={27.9%,39.2};[0074]SERVER[1][7]={26.8%,43.6};SERVER[1][8]={25.5%,49.3};[0075]SERVER[1][9]={25.2%,38.9};SERVER[1][10]={24.3%,42.1};[0076]SERVER[1][11]={23.6%,54.1};SERVER[1][12]={22.9%,45.2};[0077]SERVER[1][13]={22.9%,57.3};SERVER[1][14]={22.5%,49.1};[0078]SERVER[1][15]={21.8%,54.1}。[0079](2)标准化处理后:

[0080]server[1][1]={0.495,0.3152};server[1][2]={0.490,0.3448};[0081]server[1][3]={0.445,0.3216};server[1][4]={0.294,0.4752};

9

CN 110389873 A[0082]

说 明 书

7/10页

server[1][5]={0.286,0.3016};server[1][6]={0.279,0.3136};

[0083]server[1][7]={0.268,0.3488};server[1][8]={0.255,0.3944};[0084]server[1][9]={0.252,0.3112};server[1][10]={0.243,0.3368};[0085]server[1][11]={0.236,0.4328};server[1][12]={0.229,0.3616};[0086]server[1][13]={0.229,0.4584};server[1][14]={0.225,0.3928};[0087]server[1][15]={0.218,0.4328}。[0088](3)聚类分析:[0089]DBSCAN算法输入:包含15台服务器的标准化后的资源使用数据的数据库,设置扫描半径0.1,最小包含点数2。[0090]DBSCAN算法输出:15台服务器的资源使用数据的聚类分析结果包含两个分类:[0091]分类1:server[1][1]、server[1][2]、server[1][3];[0092]分类2:server[1][4]、server[1][5]、server[1][6]、server[1][7]、server[1][8]、server[1][9]、server[1][10]、server[1][11]、server[1][12]、server[1][13]、server[1][14]、server[1][15]。[0093](4)均衡判定:

[0094]由于服务器集群1中的全部服务器的资源使用数据聚为两个分类,该服务器集群1的资源使用不均衡。

[0095]通过本发明实施例的判定服务器资源使用情况的方法可以看出,通过对监控得到的所有资源使用数据进行聚类分析,以根据聚类分析结果自动判定服务器集群的资源使用均衡情况,成本低、效率高;采用基于密度的聚类算法对资源使用数据进行聚类分析,该算法不需要事先知道要形成的簇类的数量,而且可以发现任意形状的簇类,进而能够将资源使用数据准确的进行分类,以根据分类数量判定服务器集群的资源使用是否均衡;通过将资源使用数据与资源使用阈值范围进行比较,以结合资源使用均衡情况判定资源使用情况是否正常;通过对多个服务器集群分别进行聚类分析,实现了对海量服务器的资源使用情况的监控、分析、判定。

[0096]图4是根据本发明实施例的判定服务器资源使用情况的装置的主要模块的示意图。如图4所示,本发明实施例的判定服务器资源使用情况的装置400,主要包括:[0097]监控生成模块401,用于监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集。对服务器集群中所有服务器的资源使用,比如CPU使用率、内存使用率、磁盘使用率、网络流量等进行监控,可通过监控工具或者企业自身研发的监控平台对上述资源使用进行监控。其中,资源使用数据集中包括服务器集群中每台所述服务器的资源使用数据。

[0098]聚类分析模块402,用于对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果。采用聚类算法,对监控生成的资源使用数据进行聚类分析,以将资源使用数据相近的服务器分为一组。实施例中采用DBSCAN算法对资源使用数据进行聚类分析。[0099]判定模块403,用于根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。如果所述聚类分析结果中只有一个分类,则所述服务器集群的资源使用均衡;否则,所述服务器集群的资源使用不均衡。通过上述模块自动实现了对服务器集群中每台服务器

10

CN 110389873 A

说 明 书

8/10页

的资源使用的监控以及资源使用是否均衡的判定。[0100]另外,本发明实施例的判定服务器资源使用情况的装置400还可以包括:判断模块和资源使用情况判定模块。其中,所述判断模块用于判断每个所述资源使用数据是否在预设的资源使用阈值范围内;所述资源使用情况判定模块用于根据所述资源使用数据和所述资源使用阈值范围的比较结果,以及所述服务器集群的资源使用均衡情况,判定所述服务器集群的资源使用情况。

[0101]从以上描述可以看出,通过对监控得到的所有资源使用数据进行聚类分析,以根据聚类分析结果自动判定服务器集群的资源使用均衡情况,成本低、效率高;采用基于密度的聚类算法对资源使用数据进行聚类分析,该算法不需要事先知道要形成的簇类的数量,而且可以发现任意形状的簇类,进而能够将资源使用数据准确的进行分类,以根据分类数量判定服务器集群的资源使用是否均衡;通过将资源使用数据与资源使用阈值范围进行比较,以结合资源使用均衡情况判定资源使用情况是否正常;通过对多个服务器集群分别进行聚类分析,实现了对海量服务器的资源使用情况的监控、分析、判定。

[0102]图5示出了可以应用本发明实施例的判定服务器资源使用情况的方法或判定服务器资源使用情况的装置的示例性系统架构500。[0103]如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。[0104]用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。[0105]终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。[0106]服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所产生的点击事件提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的点击数据、文本内容等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。[0107]需要说明的是,本申请实施例所提供的判定服务器资源使用情况的方法一般由服务器505执行,相应地,判定服务器资源使用情况的装置一般设置于服务器505中。[0108]应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。[0109]根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。[0110]本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种判定服务器资源使用情况的方法。[0111]本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种判定服务器资源使用情况的方法。[0112]下面参考图6,其示出了适用于来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范

11

CN 110389873 A

说 明 书

9/10页

围带来任何限制。[0113]如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有计算机系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

[0114]以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。[0115]特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。

[0116]需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

[0117]附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要

12

CN 110389873 A

说 明 书

10/10页

注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

[0118]描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括监控生成模块、聚类分析模块和判定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,监控生成模块还可以被描述为“监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集的模块”。[0119]作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:监控服务器集群中所有服务器的资源使用,根据监控结果生成资源使用数据集;对所述资源使用数据集的所有资源使用数据进行聚类分析,以得到聚类分析结果;根据所述聚类分析结果,判定所述服务器集群的资源使用是否均衡。[0120]从以上描述可以看出,通过对监控得到的所有资源使用数据进行聚类分析,以根据聚类分析结果自动判定服务器集群的资源使用均衡情况,成本低、效率高;采用基于密度的聚类算法对资源使用数据进行聚类分析,该算法不需要事先知道要形成的簇类的数量,而且可以发现任意形状的簇类,进而能够将资源使用数据准确的进行分类,以根据分类数量判定服务器集群的资源使用是否均衡;通过将资源使用数据与资源使用阈值范围进行比较,以结合资源使用均衡情况判定资源使用情况是否正常;通过对多个服务器集群分别进行聚类分析,实现了对海量服务器的资源使用情况的监控、分析、判定。[0121]上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。[0122]上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

13

CN 110389873 A

说 明 书 附 图

1/4页

图1

14

CN 110389873 A

说 明 书 附 图

2/4页

图2

15

CN 110389873 A

说 明 书 附 图

3/4页

图3

图4

16

CN 110389873 A

说 明 书 附 图

4/4页

图5

图6

17

因篇幅问题不能全部显示,请点此查看更多更全内容