CN116743825A - 服务器管理方法、装置、计算机设备和存储介质 - Google Patents

服务器管理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116743825A
CN116743825A CN202310698882.2A CN202310698882A CN116743825A CN 116743825 A CN116743825 A CN 116743825A CN 202310698882 A CN202310698882 A CN 202310698882A CN 116743825 A CN116743825 A CN 116743825A
Authority
CN
China
Prior art keywords
application
server
preset
current
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310698882.2A
Other languages
English (en)
Inventor
郑建飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310698882.2A priority Critical patent/CN116743825A/zh
Publication of CN116743825A publication Critical patent/CN116743825A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种服务器管理方法、装置、计算机设备、存储介质和计算机程序产品。涉及服务器领域,可用于金融科技领域或其他相关领域。所述方法包括:在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及当前CPI对应的指令阈值;基于各当前CPI以及各当前CPI对应的指令阈值,确定各应用的监测结果;在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据各应用的应用优先级和预设的驱逐算法,在各应用中确定待驱逐应用中的目标节点;根据预设的驱逐模式,驱逐待驱逐应用中的目标节点,直到服务器中各应用满足预设运行条件。采用本方法能够提高服务的稳定性。

Description

服务器管理方法、装置、计算机设备和存储介质
技术领域
本申请涉及服务器技术领域,特别是涉及一种服务器管理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
数据处理中心通常部署在Kubernetes(管理云平台中多个主机上的容器化的应用)服务器集群上,该服务器集群中的每一服务器上部署有多个应用,需要对每一服务器上的应用进行管理。
目前的应用管理方法是根据服务器的当前CPU(Central Processing Unit,中央处理器)数据和内存数据,确定服务器的目标运行数据,并根据服务器的目标运行数据,调整该服务器上运行的应用。
但是,服务器上运行的应用的离线作业越多,这些离线作业之间就会互相影响,并且由于各离线作业之间存在复杂的互相调用,降低服务器的性能。导致存在服务不稳定的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种服务器管理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种服务器管理方法。所述方法包括:
在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
在其中一个实施例中,所述在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值,包括:
在当前的检测周期内,获取服务器中各应用的当前指令平均周期数据CPI;
获取所述服务器中各所述应用在历史时间窗口内的CPI,得到各所述应用对应的第一历史数据集合;所述历史时间窗口为所述当前检测周期的起始点以前的预设时间段;
根据预设的分布算法,对各所述第一历史数据集合进行数据处理,得到各所述应用的当前CPI对应的指令阈值。
在其中一个实施例中,所述基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果,包括:
判断每一所述应用的当前CPI是否连续两次超过所述当前CPI对应的指令阈值;
若所述应用的当前CPI连续两次超过所述当前CPI对应的指令阈值,确定所述应用为目标应用,并确定监测结果为所述服务器中存在所述目标应用不满足预设运行条件;
若所述应用的当前CPI未连续两次超过所述当前CPI对应的指令阈值,确定所述应用满足所述预设运行条件。
在其中一个实施例中,所述在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点,包括:
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据预设的应用优先级的由高到低的顺序,在所述服务器上的各应用中确定应用优先级最低的应用,得到待驱逐应用;
在所述待驱逐应用的节点满足预设的驱逐条件的情况下,将所述待驱逐应用的节点确定为目标节点。
在其中一个实施例中,所述在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据预设的应用优先级的由高到低的顺序,在所述服务器上的各应用中确定应用优先级最低的应用,得到待驱逐应用之后,所述方法还包括:
在所述待驱逐应用的节点不满足预设的驱逐条件的情况下,基于应用优先级的由高到低的顺序,将所述待驱逐应用的应用优先级的上一应用优先级确定为次优先级;
将所述次优先级的应用更新为待驱逐应用,并将所述待驱逐应用的节点确定为目标节点。
在其中一个实施例中,驱逐模式包括自动模式和手动模式,所述根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,包括:
在所述驱逐模式为所述自动模式的情况下,驱逐所述目标节点并构建驱逐所述目标节点的事件;
在所述驱逐模式为所述手动模式的情况下,构建驱逐所述目标节点的事件,并反馈所述驱逐所述目标节点的事件;
响应于针对所述驱逐所述目标节点的事件的确定触发操作,驱逐所述目标节点。
在其中一个实施例中,所述在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值之前,所述方法还包括:
在当前检测周期内,针对服务器上各应用中的每一所述应用,获取所述应用的在历史时间窗口内的历史处理器数据和历史内存数据,得到所述应用对应的第二历史数据集合;所述历史时间窗口为所述当前检测周期起始点以前的预设时间段;
基于预设的预测模型,对所述第二历史数据集合进行预测处理,得到所述应用的资源占用预测序列;
根据所述各应用的第二历史数据集合和资源占用预测序列,确定所述服务器提供的推荐混部资源;
基于预设的应用优先级,在所述推荐混部资源中确定每一所述应用优先级对应的等级推荐混部资源。
在其中一个实施例中,所述基于预设的应用优先级,在所述推荐混部资源中确定每一所述应用优先级对应的等级推荐混部资源之后,所述方法还包括:
响应于在所述服务器上部署第一应用的请求,确定所述第一应用的第一应用优先级;
根据所述第一应用优先级,在各所述等级推荐混部资源中确定所述第一应用对应的第一等级推荐混部资源;
获取所述第一应用优先级的当前占用的第一等级混部资源,并根据所述第一等级推荐混部资源和所述第一应用优先级的当前占用的第一等级混部资源,确定剩余推荐混部资源;
根据所述剩余推荐混部资源,判断是否部署所述第一应用。
第二方面,本申请还提供了一种服务器管理装置。所述装置包括:
获取模块,用于在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
第一确定模块,用于基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
第二确定模块,用于在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
驱逐模块,用于根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
上述服务器管理方法、装置、计算机设备、存储介质和计算机程序产品,在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。采用本方法,根据指令阈值对当前指令平均周期数据进行监测,得到监测结果,明确了离线作业之间是否互相影响。并在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据应用的应用优先级和预设的驱逐算法,确定需要驱逐的目标节点。然后,驱逐该目标节点,消除了离线作业的互相影响,提高了服务的稳定性。
附图说明
图1为一个实施例中服务器管理方法的流程示意图;
图2为一个实施例中确定指令阈值步骤的流程示意图;
图3为一个实施例中判断应用是否满足运行条件步骤的流程示意图;
图4为一个实施例中确定目标节点步骤的流程示意图;
图5为一个实施例中更新目标节点步骤的流程示意图;
图6为一个实施例中驱逐目标节点步骤的流程示意图;
图7为一个实施例中确定等级推荐混部资源步骤的流程示意图;
图8为一个实施例中混部推荐资源的示意图;
图9为一个实施例中扩展混部推荐资源示意图;
图10为一个实施例中推荐混部资源的计算流程图;
图11为一个实施例中确定是否部署第一应用步骤的流程示意图;
图12为一个实施例中混部资源的字段示意图;
图13为一个实施例中应用的画像数据示意图;
图14为一个实施例中服务器管理系统的结构示意图;
图15为一个实施例中服务器管理装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种服务器管理方法,本申请对于执行该服务器管理方法的执行设备不做限定,以该服务器管理方法应用于服务器为例进行说明,包括以下步骤:
步骤102,在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及当前CPI对应的指令阈值。
其中,服务器是K8s(Kubernetes,是用于自动部署、扩缩和管理容器化应用程序的开源系统)服务器集群中的任一服务器。指令平均周期数(Cycle Per Instruction,CPI),也称每指令周期,为执行在计算机体系结构中一条指令所需要的平均时钟周期(机器主频的倒数)数。一个完整的计算机系统执行时间,即指令周期指从内存中取出并执行该条指令所用的全部时间,它取决于硬件结构和各部件的性能。CPI可以反映应用的运行情况,当应用稳定运行时,应用CPI的值不会出现太大的波动,当出现较大波动时,说明应用受到了干扰,例如出现了CPU(Central Processing Unit,中央处理器)资源、内存带宽、L3缓存(三级缓存)等资源竞争。指令平均周期数的方程为下述公式(1):
在公式(1)中,ICi是第i种指令的数量,CCI是第i种指令的时钟周期数,IC=∑i(ICi)是总的指令数,对于一个给定的基准测试过程,总和为所有指令类型。
在实施中,服务器中预先设置有检测周期和混部采集器。并且,服务器上部署有多个应用。服务器在当前的检测周期内,基于预设的混部采集器,采集服务器中各应用的当前指令平均周期数据。同时,服务器获取服务器上各应用在历史时间窗口内的CPI,得到各应用对应的第一历史数据集合。服务器针对每一第一历史数据集合,对历史数据集合进行分布处理,得到应用的当前CPI对应的指令阈值。
步骤104,基于各当前CPI以及各当前CPI对应的指令阈值,确定各应用的监测结果。
在实施中,服务器针对各应用中的每一应用,按照预设的监控周期以及该应用的当前CPI对应的指令阈值,对应用的当前CPI进行监控,得到监控结果。
具体地,服务器中预先设置有运行条件。服务器针对服务器上各应用中的每一应用,按照预设的监控周期,根据该应用的当前CPI对应的指令阈值和该应用的当前CPI,确定该应用是否满足预设的运行条件。若该应用不满足运行条件,服务器将该应用确定为目标应用。
可选的,监控周期可以为1分钟,也可以为2分钟,根据管理需求进行设置,本申请实施例对监控周期不做限定。
步骤106,在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据各应用的应用优先级和预设的驱逐算法,在各应用中确定待驱逐应用中的目标节点。
在实施中,服务器中预先设置有驱逐算法,该驱逐算法用于确定需要驱逐的目标节点。服务器在监控结果为服务器中存在目标应用不满足预设运行条件的情况下,根据驱逐算法和各应用的应用优先级,在各应用中确定待驱逐应用。然后。服务器在待驱逐应用中确定目标节点。
在一个可选的实施例中,服务器中预先设置了应用的应用优先级。其中,应用优先级包括高优先级和可混部优先级。其中,服务器上的所有重保应用均为高优先级,其他应用归类到可混部应用且其他应用的应用优先级为可混部优先级。可混部优先级中又划分1-5级。应用优先级由高到低的顺序为高优先级、1级、2级、3级、4级和5级。
步骤108,根据预设的驱逐模式,驱逐待驱逐应用中的目标节点,直到服务器中各应用满足预设运行条件。
其中,服务器中预先设置有驱逐模式。驱逐模式包括手动模式和自动模式。
在实施中,服务器根据预先设置的驱逐模式,驱逐待驱逐应用中的目标节点,直到服务器上各应用满足预设的运行条件。服务器构建驱逐目标节点的事件。然后,服务器向目标人员反馈驱逐目标节点的事件。
上述服务器管理方法中,根据指令阈值对当前指令平均周期数据进行监测,得到监测结果,明确了离线作业之间是否互相影响。并在在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据各应用的应用优先级和预设的驱逐算法,确定需要驱逐的目标节点。然后,驱逐该目标节点,消除了离线作业的互相影响,提高了服务的稳定性。
在一个实施例中,如图2所示,步骤102的具体处理过程包括:
步骤202,在当前的检测周期内,获取服务器中各应用的当前指令平均周期数据CPI。
其中,服务器中预先设置有检测周期和混部采集器,该检测周期用于服务器按照一定的时间间隔更新CPI对应的指令阈值。
在实施中,服务器在当前的检测周期,通过预设的混部采集器,采集服务器上各应用当前指令平均周期数据CPI。
可选的,检测周期可以设置为1天,也可以设置为2天,检测周期根据管理需求设定,本申请实施例对检测周期不做限定。
步骤204,获取服务器中各应用在历史时间窗口内的CPI,得到各应用对应的第一历史数据集合。
其中,历史时间窗口为当前检测周期的起始点以前的预设时间段。
在实施中,服务器中预先设置有历史时间窗口。服务器针对各应用中的每一应用,获取应用所在历史时间窗口内的CPI,得到该应用对应的第一历史数据集合。
在一个可选的实施例中,预设时间段为7天,历史时间窗口为当前检测周期前7天。服务器针对服务器上的各应用中的每一应用,获取应用最近7天的CPI,得到该应用对应的第一历史数据集合。
可选的,预设时间段可以为7天,也可以5天,根据管理需求确定,本申请实施例对预设时间段不做限定。
步骤206,根据预设的分布算法,对各第一历史数据集合进行数据处理,得到各应用的当前CPI对应的指令阈值。
其中,分布算法为3-Sigma(three-sigma rule,三西格玛准则)算法。
在实施中,服务器针对每一应用对应的第一历史数据集合,基于3-Sigma算法,对第一历史数据集合进行数据处理,得到该应用的当前CPI对应的指令阈值。
本实施例中,获取每一应用对应的第一历史数据集合和当前指令平均周期数据,并基于第一历史数据集合确定应用的当前CPI对应的指令阈值,明确了每一应用的运行情况。
在一个实施例中,如图3所示,步骤104的具体处理过程包括:
步骤302,判断每一应用的当前CPI是否连续两次超过当前CPI对应的指令阈值。
在实施中,服务器针对服务器上的每一应用,判断该应用的当前CPI是否连续两次超过当前CPI对应的指令阈值。
步骤304,若应用的当前CPI连续两次超过当前CPI对应的指令阈值,确定应用为目标应用,并确定监测结果为服务器中存在目标应用不满足预设运行条件。
在实施中,服务器中预先设置的运行条件为应用的当前CPI未连续两次超过当前CPI对应的指令阈值。若应用的当前CPI连续两次超过当前CPI对应的指令阈值,服务器确定该应用为目标应用,并确定目标应用不满足预设的运行条件。同时,服务器将目标应用不满足预设的运行条件确定为监测结果。
步骤306,若应用的当前CPI未连续两次超过当前CPI对应的指令阈值,确定应用满足预设运行条件。
在实施中,若应用的当前CPI未连续两次超过当前CPI对应的指令阈值,服务器确定该应用满足预设运行条件。若服务器上的各应用都满足预设运行条件,服务器确定各应用运行正常,服务器上的任意离线作业没有互相影响。
本实施例中,根据指令阈值对当前指令平均周期数据进行监测,得到监测结果,该监测结果明确了离线作业之间是否互相影响。
在一个实施例中,如图4所示,步骤106的具体处理过程包括:
步骤402,在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据预设的应用优先级的由高到低的顺序,在服务器上的各应用中确定应用优先级最低的应用,得到待驱逐应用。
在实施中,服务器上预先设置有应用优先级。服务器在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,按照预设的应用优先级的由高到低的顺序,在服务器的各应用中确定应用优先级最低的应用。然后,服务器将应用优先级最低的应用确定为待驱逐应用。
步骤404,在待驱逐应用的节点满足预设的驱逐条件的情况下,将待驱逐应用的节点确定为目标节点。
其中,服务器中预先设置有驱逐条件,该驱逐条件为待驱逐应用的节点数大于1且节点的占用资源超过5%(百分号)。
在实施中,服务器确定待驱逐应用的节点数。若待驱逐应用的节点数为1,服务器确定待驱逐应用的节点不满足预设的驱逐条件。若待驱逐应用的节点数大于1,服务器判断待驱逐应用的各节点中是否存在节点的占用资源是否大于5%。若待驱逐应用的各节点中存在节点的占用资源大于5%,服务器确定待驱逐应用的节点满足预设的驱逐条件。然后,服务器将该节点确定为目标节点。若待驱逐应用的各节点中不存在节点的占用资源大于5%,服务器确定待驱逐应用的节点不满足预设的驱逐条件。
在一个可选的实施例中,若存在多个待驱逐应用,服务器确定节点数最多的待驱逐应用的节点为目标节点。
本实施例中,将应用优先级最低的应用确定为待驱逐应用,并在待驱逐应用的节点满足预设驱逐条件的情况下,将待驱逐应用的节点确定为目标节点,便于后续驱逐目标节点。
在一个实施例中,在待驱逐应用的节点不满足预设的驱逐条件的情况下,需要更新待驱逐应用,并确定目标节点。如图5所示,在步骤402执行之后,该服务器管理方法的具体处理过程,包括:
步骤502,在待驱逐应用的节点不满足预设的驱逐条件的情况下,基于应用优先级的由高到低的顺序,将待驱逐应用的应用优先级的上一应用优先级确定为次优先级。
在实施中,服务器在待驱逐应用的节点不满足预设的驱逐条件的情况下,按照应用优先级由高到低的顺序,将待驱逐应用的应用优先级的上一应用优先级确定为次优先级。
步骤504,将次优先级的应用更新为待驱逐应用,并将待驱逐应用的节点确定为目标节点。
在实施中,服务器将应用优先级为次优先级的应用确定为待驱逐应用。然后,服务器将待驱逐应用的节点确定为目标节点。
本实施例中,在待驱逐应用的节点满足预设驱逐条件的情况下,更新次优先级的应用为待驱逐应用,并将待驱逐应用的节点确定为目标节点,便于后续驱逐目标节点。
在一个实施例中,如图6所示,步骤108中的根据预设的驱逐模式,驱逐待驱逐应用中的目标节点的具体处理过程包括:
步骤602,在驱逐模式为自动模式的情况下,驱逐目标节点并构建驱逐目标节点的事件。
在实施中,服务器在预设的驱逐模式为自动模式(auto)的情况下,直接驱逐目标节点。同时,服务器构建驱逐目标节点的事件(Event)。然后,服务器将驱逐目标节点的事件反馈给目标用户。
可选的,目标用户可以为运维人员,也可以为开发人员,本申请实施例对目标用户不做限定。
步骤604,在驱逐模式为手动模式的情况下,构建驱逐目标节点的事件,并反馈驱逐目标节点的事件。
在实施中,服务器在预设的驱逐模式为手动模式(manual)的情况下,构建驱逐目标节点的事件。然后,服务器将驱逐目标节点的事件反馈给目标用户。
步骤606,响应于针对驱逐目标节点的事件的确定触发操作,驱逐目标节点。
在实施中,服务器响应于驱逐目标节点的事件的确定触发操作,驱逐目标节点。
在一个可选的实施例中,服务器中预先设置有混部调控模块。服务器在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,向MixedNode(混部节点)发起一个驱逐请求,即向MixedNode的字段中写入数据。混部调控模块监听到MixedNode的相应字段有更新内容,根据请求类型执行响应操作。混部调控模块获取到的请求的请求类型为驱逐请求。
混部调控模块获取服务器上所有应用优先级为混部优先级的应用的Pod(节点)。然后,混部调控模块按照预设的驱逐算法驱逐目标节点,具体地:
(1)混部调控模块找到优先级最低的Pod并根据节点驱逐策略进行驱逐。
(2)当有多个优先级相同的Pod时,混部调控模块驱逐对应Pod数最多的那个应用的Pod。
(3)如果驱逐的Pod对应的应用只有1个Pod,混部调控模块跳过该Pod,寻找次优先级低的Pod进行驱逐。
(4)如果当前Pod占用资源不超过5%,混部调控模块跳过该Pod,寻找次优先级低的Pod进行驱逐。
(5)如果当前的驱逐策略为auto,混部调控模块直接驱逐Pod,并产生响应的Event。
(6)如果当前的驱逐策略为manual,混部调控模块不驱逐pod,只产生对应的Event,等待目标人员确认。
直到服务器中各应用满足预设运行条件,混部调控模块停止驱逐操作,并修改MixedNode(混部节点)和Node(Kubernetes中的工作节点)的相关字段。
本实施例中,在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据应用的应用优先级和预设的驱逐算法,确定需要驱逐的目标节点。并驱逐该目标节点,消除了离线作业的互相影响,提高了服务的稳定性。
在一个实施例中,在获取服务器中各应用的当前指令平均周期数据CPI之前,需要确定服务器的推荐混部资源。如图7所示,在步骤102执行之前,该服务器管理方法的具体处理过程还包括:
步骤702,在当前检测周期内,针对服务器上各应用中的每一应用,获取应用的在历史时间窗口内的历史处理器数据和历史内存数据,得到应用对应的第二历史数据集合。
其中,历史时间窗口为当前检测周期起始点以前的预设时间段。
在实施中,服务器在当前检测周期内,针对服务器上的各应用中每一应用,获取该应用的在历史时间窗口内的历史处理器数据和历史内存数据。然后,服务器对该应用的各历史处理器数据和各历史内存数据进行归一化处理。服务器根据归一化处理后的各历史处理器数据和各历史内存数据,构建该应用对应的第二历史数据集合。
在一个可选的实施例中,预设时间段为7天。服务器针对服务器上各应用中的每一应用,获取该应用最近七天的CPU数据和内存使用数据。然后,服务器对CPU数据和内存使用数据进行归一化处理,并根据归一化处理后的CPU数据和内存使用数据构建第二历史数据集合。
在一个可选的实施例中,服务器针对服务器上各应用中的每一应用,获取该应用最近七天的CPU使用总量、内存使用总量、磁盘IO(输入输出)使用总量和网络IO使用总量。然后,服务器对CPU使用总量、内存使用总量、磁盘IO使用总量和网络IO使用总量分别进行归一化处理,得到归一化处理后的CPU使用总量、内存使用总量、磁盘IO使用总量和网络IO使用总量。归一化处理后的CPU使用总量、内存使用总量、磁盘IO使用总量和网络IO使用总量用于计算得到该应用每个纬度的密集系数,密集系数用于衡量该应用在该纬度的资源需求量。
步骤704,基于预设的预测模型,对第二历史数据集合进行预测处理,得到应用的资源占用预测序列。
其中,资源占用预测序列包括内存占用预测子序列和CPU占用预测子序列。
其中,预测模型为XGBoost算法(一种用于分类和回归的监督机器学习方法),用于使用Auto ML(一个能够制造子人工智能的人工系统)进行训练工具。XGBoost为极端梯度提升的缩写。该算法以决策树为基础,并改进了随机森林和梯度提升等其他方法。通过使用各种优化方法,它可以很好地处理复杂的大型数据集。
在实施中,服务器中预先设置有XGBoost算法。服务器将应用对应的第二历史数据集合输入XGBoost算法中,通过XGBoost算法对第二历史数据集合进行预测处理,得到应用的资源占用预测序列。
在一个可选的实施例中,服务器中预先设置有XGBoost算法。服务器按照预设的更新周期,获取各应用当前检测周期前七天的CPU使用数据和内存使用数据,得到各应用的第二历史数据集合。然后,服务器将数据输入XGBoost算法,各应用的资源占用预测序列,更新XGBoost算法。
可选的,更新周期可以但不限于设置为7天,根据管理需求确定,本申请实施例对更新周期不做限定。
步骤706,根据各应用的第二历史数据集合和资源占用预测序列,确定服务器提供的推荐混部资源。
其中,触发计算服务器的方式有两种,分别是服务器开启混部开关和服务器达到混部资源计算周期。推荐混部资源包括推荐混部CPU、推荐混部内存和可混部的业务Pod数。
在实施中,服务器在触发计算服务器的推荐混部资源的情况下,根据预设的推荐混部资源算法,对各应用的第二历史数据集合和资源占用预测序列进行运算,得到服务器提供的推荐混部资源。
具体地,服务器针对各应用中的每一应用,按照预设的应用预测CPU使用量公式,计算应用预测CPU使用量,应用预测CPU使用量公式如下公式(2)所示:
其中,在公式(2)中,应用预测CPU使用量为应用的CPU占用预测子序列中应用的CPU占用预测数。应用Pod数为该应用的所有节点数,服务器上应用的Pod数为该应用在服务器上的节点数。
然后,服务器按照预设的主机预测CPU利用率公式,计算主机预测CPU利用率。主机预测CPU利用率公式如下公式(3)所示:
其中,在公式(3)中,N为应用的预测CPU使用量,主机CPU容量为服务器的CPU容量。
在得到主机预测CPU利用率之后,服务器按照预设的应用优先级,确定优先级为可混部优先级的各第二应用。各第二应用为混部应用。
服务器按照预设的混部应用预测CPU使用量公式,确定混部应用预测CPU使用量。混部应用预测CPU使用量公式如下公式(4)所示:
其中,在公式(4)中,混部应用预测CPU使用量为任一第二应用的应用预测CPU使用量,混部应用Pod数为该第二应用的混部节点数,服务器上对应混部应用的Pod数为服务器上该混部应用的节点数。
在得到混部应用预测CPU使用量之后,服务器按照预设的混部业务预测CPU利用率公式,确定混部业务预测CPU利用率。混部业务预测CPU利用率如下公式(5)所示:
其中,N为各第二应用的预测CPU使用量。
然后,服务器根据预设的推荐混部CPU公式,确定推荐混部CPU(cmos.mixed~cpu)。推荐混部CPU公式如下公式(6)所示:
推荐混部CPU=
当前负载系数*(主机CPU容量*(主机目标CPU利用率-
(主机CPU利用率-混部业务CPU利用率)))+(1-当前负载系数)*
(主机CPU容量*(主机目标CPU利用率-(主机预测CPU利用率-
混部业务预测CPU利用率))))(6)
其中,在公式(6)中,当前负载系数默认值为0.5,如果预测效果比较好,可以减小当前负载系数,相反可以增大当前负载系数。
然后,服务器预设的应用预测内存使用量公式,计算应用预测内存使用量,应用预测内存使用量公式如下公式(7)所示:
其中,应用预测CPU使用量为应用的内存占用预测子序列中应用的内存占用预测数。应用Pod数为该应用的所有节点数,服务器上应用的Pod数为该应用在服务器上的节点数。
然后,服务器按照预设的主机预测内存利用率公式,计算主机预测内存利用率。主机预测内存利用率公式如下公式(8)所示:
其中,在公式(8)中,N为应用的预测内存使用量,主机内存容量为服务器的内存容量。
服务器按照混部应用的预测内存使用量公式,计算各第二应用中每一第二应用的预测内存使用量。预测内存使用量公式如下公式(9)所示:
其中,在公式(9)中,混部预测内存使用量是任一第二应用的预测内存使用量,混部应用预测内存使用量为该第二应用的应用预测内存使用量,混部应用Pod数为该第二应用的混部节点数,服务器上对应混部应用的Pod数为服务器上该混部应用的节点数。
在得到混部应用预测内存使用量之后,服务器按照预设的混部业务预测内存利用率公式,确定混部业务预测内存利用率。混部业务预测内存利用率如下公式(10)所示:
其中,N为各第二应用的预测内存使用量。
然后,服务器根据预设的推荐混部内存公式,确定推荐混部内存(cmos.mixed~memory)。推荐混部CPU公式如下公式(11)所示:
推荐混部内存=
当前负载系数*(主机内存容量*(主机目标内存利用率-
(主机内存利用率-混部业务内存利用率)))+(1-当前负载系数)*
(主机内存容量*(主机目标内存利用率-(主机预测内存利用率-
混部业务预测内存利用率))))(11)
其中,在公式(11)中,当前负载系数默认值为0.5,如果预测效果比较好,可以减小当前负载系数,相反可以增大当前负载系数。
然后,服务器根据预设的推荐混部Pod数公式,确定推荐混部Pod数(cmos.mixed~podcount)。推荐混部数公式如下公式(12)所示:
可混部的业务Pod数=110-Pod数最大值-预留数(12)
其中,在公式(12)中,Pod数最大值是节点上过去一周期Pod数的最大值,预留数是预留给节点的Pod数,默认值为10。
可选的,混部资源计算周期可以但不限于被设置为3小时,本申请实施例对混部资源计算周期不做限定。
在一个可选的实施例中,服务器对节点的闲置资源进行抽象,抽象后增加mixed-cpu(推荐混部CPU)和mixed-memory(推荐混部内存)资源,即混部推荐资源。如图8所示,节点中多了部分两类混部资源。服务器在在Node(节点)开启混部开关并且计算节点混部资源后,对MixedNode(混部节点)的字段进行变更。
在一个可选的实施例中,在实际K8S生产环境中,应用申请的资源量和实际使用的资源量往往不匹配,导致出现节点真实负载较低,却无法调度其他应用的现象。为解决该问题,服务器在原有K8S资源基础上,增加混部资源供混部应用使用,实现资源的二次复用,提高节点资源的利用率。如图9所示,混部节点上抽象出了三类资源:hc/mixed-cpu(混部CPU)、hc/mixed-memory(混部内存)、hc/mixed-podcount(混部节点数)。
在图9中,左边为没有扩展资源的服务器的资源量(原生资源量),右边为含有扩展资源的服务器的资源量。我们把原生的CPU、内存、podcount(节点数,实际未用)资源进行了抽象,引出了三个扩展资源mixed-cpu、mixed-memory、mixed-podcount,对于低优先级应用,在准入控制模块中,将请求原生CPU的资源改为0,转而请求mixed-cpu资源,其他对原生资源的请求也都请求扩展资源,从而复用了高优先级应用已申请而未使用的资源。
在一个可选的实施例中,图10为推荐混部资源的计算流程图。如图10所示,服务器采集获取第二历史数据集合和资源占用预测序列。然后,服务器进行混部资源计算,得到推荐混部资源。然后,服务器更新推荐混部资源,并基于推荐混部资源监控服务器上运行的各应用。
步骤708,基于预设的应用优先级,在推荐混部资源中确定每一应用优先级对应的等级推荐混部资源。
在实施中,服务器根据预设各应用优先级,在推荐混部资源中确定各应用优先级中每一应用优先级对应的等级推荐混部资源。
本实施例中,通过在原生的资源上设置混部资源,使混部应用使用混部资源,实现资源的二次复用,提高节点资源的利用率。
在一个实施例中,当面对部署应用的需求时,根据等级推荐混部资源确定是否部署应用。如图11所示,在步骤708执行之后,该服务器管理方法的具体处理过程还包括:
步骤1102,响应于在服务器上部署第一应用的请求,确定第一应用的第一应用优先级。
在实施中,服务器响应于在服务器上部署第一应用的请求,确定第一应用的应用优先级。
步骤1104,根据第一应用优先级,在各等级推荐混部资源中确定第一应用对应的第一等级推荐混部资源。
在实施中,服务器根据第一应用优先级,在各等级推荐混部资源中确定第一应用优先级对应的第一等级推荐混部资源。
步骤1106,获取第一应用优先级的当前占用的第一等级混部资源,并根据第一等级推荐混部资源和第一应用优先级的当前占用的第一等级混部资源,确定剩余推荐混部资源。
在实施中,服务器获取第一应用优先级的当前占用的第一等级混部资源。然后,服务器对第一等级推荐混部资源和第一应用优先级的当前占用的第一等级混部资源进行减法运算,得到剩余推荐混部资源。
步骤1108,根据剩余推荐混部资源,判断是否部署第一应用。
在实施中,服务器判断剩余推荐混部资源是否大于第一应用的预测占用资源。若剩余推荐混部资源大于第一应用的预测占用资源,服务器确定部署第一应用。若剩余推荐混部资源不大于第一应用的预测占用资源,服务器确定不部署第一应用。
在一个可选的实施例中,在需要部署第一应用的情况下,服务器api-server(K8s中的核心组件,负责集群各功能模块之间的通信)将请求转交给MutatingWebhook(K8s中的一种应用编程接口)处理,处理时增加一些混部需要的字段,比如可混部应用的优先级,资源申请规格,调度器等如图12所示。在完成第一应用的节点的部署后,服务器对Pod(节点)的部分字段进行修改,使其符合混部Pod的标准,能够在混部节点顺利运行。
在一个可选的实施例中,在调度新的应用到该节点时,服务器会获取服务器上所有应用的实时负载,以及从服务器中应用画像中获取预测的未来负载,保证该应用调度上去后不会导致节点过载和影响高优先级应用。如图13所示,Portrait对象为应用的画像数据,会记录应用的CPI、cpuIntensity(CPU强度)、memIntensity(内存强度)、netIntensity(网络强度)以及预测值cpuPredict(预测CPU强度)、memPredict(预测内存强度)等数据。
本实施例中,响应于部署第一应用的请求,根据等级推荐混部资源确定是否部署应用,保证第一应用调度上去后不会导致节点过载和影响高应用优先级应用。
在一个实施例中,该服务器管理方法应用于图14所示的服务器管理系统中。服务器管理系统包含K8s集群、应用画像模块、混部调控模块、准入控制器、扩展调度器和混部采集器。其中,应用画像模块主要实现负载预测的功能,画像通过过去一周的资源使用数据预测接下来一天的资源使用量。应用画像模块是周期性地基于应用的历史数据,利用数据分析、机器学习等技术手段对应用进行分析画像、为后续的应用混部调度提供数据支撑。混部调控模块实现对于混部节点的管理,包括混部资源的计算、混部节点水位线的监控、应用的驱逐等。准入控制器负责混部作业服务的变更以及混部调度器的选择。扩展调度器实现基于负载预测结果等因素的扩展调度策略。混部采集器负载采集节点真实负载、节点混部资源以及CPI等底层数据。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的服务器管理方法的服务器管理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个服务器管理装置实施例中的具体限定可以参见上文中对于服务器管理方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种服务器管理装置1500,包括:获取模块1501、第一确定模块1502、第二确定模块1503和驱逐模块1504,其中:
获取模块1501,用于在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及当前CPI对应的指令阈值。
第一确定模块1502,用于基于各当前CPI以及各当前CPI对应的指令阈值,确定各应用的监测结果。
第二确定模块1503,用于在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据各应用的应用优先级和预设的驱逐算法,在各应用中确定待驱逐应用中的目标节点。
驱逐模块1504,用于根据预设的驱逐模式,驱逐待驱逐应用中的目标节点,直到服务器中各应用满足预设运行条件。
在一示例性实施例中,获取模块1501包括:
第一获取子模块,用于在当前的检测周期内,获取服务器中各应用的当前指令平均周期数据CPI。
第二获取子模块,用于获取服务器中各应用在历史时间窗口内的CPI,得到各应用对应的第一历史数据集合;历史时间窗口为当前检测周期的起始点以前的预设时间段。
第一处理子模块,用于根据预设的分布算法,对各第一历史数据集合进行数据处理,得到各应用的当前CPI对应的指令阈值。
在一示例性实施例中,第一确定模块1502包括:
第一判断子模块,用于判断每一应用的当前CPI是否连续两次超过当前CPI对应的指令阈值。
第一确定子模块,用于若应用的当前CPI连续两次超过当前CPI对应的指令阈值,确定应用为目标应用,并确定监测结果为服务器中存在目标应用不满足预设运行条件。
第二确定子模块,用于若应用的当前CPI未连续两次超过当前CPI对应的指令阈值,确定应用满足预设运行条件。
在一示例性实施例中,第二确定模块1503包括:
第三确定子模块,用于在监测结果为服务器中存在目标应用不满足预设运行条件的情况下,根据预设的应用优先级的由高到低的顺序,在服务器上的各应用中确定应用优先级最低的应用,得到待驱逐应用。
第四确定子模块,用于在待驱逐应用的节点满足预设的驱逐条件的情况下,将待驱逐应用的节点确定为目标节点。
在一示例性实施例中,该服务器管理装置1500还包括:
第五确定子模块,用于在待驱逐应用的节点不满足预设的驱逐条件的情况下,基于应用优先级的由高到低的顺序,将待驱逐应用的应用优先级的上一应用优先级确定为次优先级。
第六确定子模块,用于将次优先级的应用更新为待驱逐应用,并将待驱逐应用的节点确定为目标节点。
在一示例性实施例中,驱逐模块1504包括:
第一驱逐子模块,用于在驱逐模式为自动模式的情况下,驱逐目标节点并构建驱逐目标节点的事件。
第一构建子模块,用于在驱逐模式为手动模式的情况下,构建驱逐目标节点的事件,并反馈驱逐目标节点的事件。
第二驱逐子模块,用于响应于针对驱逐目标节点的事件的确定触发操作,驱逐目标节点。
在一示例性实施例中,该服务器管理装置1500还包括:
第三获取子模块,用于在当前检测周期内,针对服务器上各应用中的每一应用,获取应用的在历史时间窗口内的历史处理器数据和历史内存数据,得到应用对应的第二历史数据集合;历史时间窗口为当前检测周期起始点以前的预设时间段。
第二处理子模块,用于基于预设的预测模型,对第二历史数据集合进行预测处理,得到应用的资源占用预测序列。
第七确定子模块,用于根据各应用的第二历史数据集合和资源占用预测序列,确定服务器提供的推荐混部资源。
第八确定子模块,用于基于预设的应用优先级,在推荐混部资源中确定每一应用优先级对应的等级推荐混部资源。
在一示例性实施例中,在第八确定子模块执行之后,该服务器管理装置1500还包括:
第九确定子模块,用于响应于在服务器上部署第一应用的请求,确定第一应用的第一应用优先级。
第十确定子模块,用于根据第一应用优先级,在各等级推荐混部资源中确定第一应用对应的第一等级推荐混部资源。
第十一确定子模块,用于获取第一应用优先级的当前占用的第一等级混部资源,并根据第一等级推荐混部资源和第一应用优先级的当前占用的第一等级混部资源,确定剩余推荐混部资源。
第二判断子模块,用于根据剩余推荐混部资源,判断是否部署第一应用。
上述服务器管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储服务器数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种服务器管理方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (11)

1.一种服务器管理方法,其特征在于,所述方法包括:
在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
2.根据权利要求1所述的方法,其特征在于,所述在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值,包括:
在当前的检测周期内,获取服务器中各应用的当前指令平均周期数据CPI;
获取所述服务器中各所述应用在历史时间窗口内的CPI,得到各所述应用对应的第一历史数据集合;所述历史时间窗口为所述当前检测周期的起始点以前的预设时间段;
根据预设的分布算法,对各所述第一历史数据集合进行数据处理,得到各所述应用的当前CPI对应的指令阈值。
3.根据权利要求1所述的方法,其特征在于,所述基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果,包括:
判断每一所述应用的当前CPI是否连续两次超过所述当前CPI对应的指令阈值;
若所述应用的当前CPI连续两次超过所述当前CPI对应的指令阈值,确定所述应用为目标应用,并确定监测结果为所述服务器中存在所述目标应用不满足预设运行条件;
若所述应用的当前CPI未连续两次超过所述当前CPI对应的指令阈值,确定所述应用满足所述预设运行条件。
4.根据权利要求1所述的方法,其特征在于,所述在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点,包括:
在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据预设的应用优先级的由高到低的顺序,在所述服务器上的各应用中确定应用优先级最低的应用,得到待驱逐应用;
在所述待驱逐应用的节点满足预设的驱逐条件的情况下,将所述待驱逐应用的节点确定为目标节点。
5.根据权利要求4所述的方法,其特征在于,所述在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据预设的应用优先级的由高到低的顺序,在所述服务器上的各应用中确定应用优先级最低的应用,得到待驱逐应用之后,所述方法还包括:
在所述待驱逐应用的节点不满足预设的驱逐条件的情况下,基于应用优先级的由高到低的顺序,将所述待驱逐应用的应用优先级的上一应用优先级确定为次优先级;
将所述次优先级的应用更新为待驱逐应用,并将所述待驱逐应用的节点确定为目标节点。
6.根据权利要求1所述的方法,其特征在于,驱逐模式包括自动模式和手动模式,所述根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,包括:
在所述驱逐模式为所述自动模式的情况下,驱逐所述目标节点并构建驱逐所述目标节点的事件;
在所述驱逐模式为所述手动模式的情况下,构建驱逐所述目标节点的事件,并反馈所述驱逐所述目标节点的事件;
响应于针对所述驱逐所述目标节点的事件的确定触发操作,驱逐所述目标节点。
7.根据权利要求1所述的方法,其特征在于,所述在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值之前,所述方法还包括:
在当前检测周期内,针对服务器上各应用中的每一所述应用,获取所述应用的在历史时间窗口内的历史处理器数据和历史内存数据,得到所述应用对应的第二历史数据集合;所述历史时间窗口为所述当前检测周期起始点以前的预设时间段;
基于预设的预测模型,对所述第二历史数据集合进行预测处理,得到所述应用的资源占用预测序列;
根据所述各应用的第二历史数据集合和资源占用预测序列,确定所述服务器提供的推荐混部资源;
基于预设的应用优先级,在所述推荐混部资源中确定每一所述应用优先级对应的等级推荐混部资源。
8.根据权利要求7所述的方法,其特征在于,所述基于预设的应用优先级,在所述推荐混部资源中确定每一所述应用优先级对应的等级推荐混部资源之后,所述方法还包括:
响应于在所述服务器上部署第一应用的请求,确定所述第一应用的第一应用优先级;
根据所述第一应用优先级,在各所述等级推荐混部资源中确定所述第一应用对应的第一等级推荐混部资源;
获取所述第一应用优先级的当前占用的第一等级混部资源,并根据所述第一等级推荐混部资源和所述第一应用优先级的当前占用的第一等级混部资源,确定剩余推荐混部资源;
根据所述剩余推荐混部资源,判断是否部署所述第一应用。
9.一种服务器管理装置,其特征在于,所述装置包括:
获取模块,用于在当前检测周期内,获取服务器中各应用的当前指令平均周期数据CPI以及所述当前CPI对应的指令阈值;
第一确定模块,用于基于各所述当前CPI以及各所述当前CPI对应的指令阈值,确定各所述应用的监测结果;
第二确定模块,用于在所述监测结果为所述服务器中存在目标应用不满足预设运行条件的情况下,根据各所述应用的应用优先级和预设的驱逐算法,在各所述应用中确定待驱逐应用中的目标节点;
驱逐模块,用于根据预设的驱逐模式,驱逐所述待驱逐应用中的目标节点,直到所述服务器中各应用满足所述预设运行条件。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202310698882.2A 2023-06-13 2023-06-13 服务器管理方法、装置、计算机设备和存储介质 Pending CN116743825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310698882.2A CN116743825A (zh) 2023-06-13 2023-06-13 服务器管理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310698882.2A CN116743825A (zh) 2023-06-13 2023-06-13 服务器管理方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN116743825A true CN116743825A (zh) 2023-09-12

Family

ID=87900658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310698882.2A Pending CN116743825A (zh) 2023-06-13 2023-06-13 服务器管理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116743825A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991246A (zh) * 2023-09-27 2023-11-03 之江实验室 用于导览机器人的算法调度方法、装置及导览机器人系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991246A (zh) * 2023-09-27 2023-11-03 之江实验室 用于导览机器人的算法调度方法、装置及导览机器人系统

Similar Documents

Publication Publication Date Title
US20210224114A1 (en) Capacity Analysis Using Closed-System Modules
CN104915407B (zh) 一种基于Hadoop多作业环境下的资源调度方法
US8510747B2 (en) Method and device for implementing load balance of data center resources
US11726836B2 (en) Predicting expansion failures and defragmenting cluster resources
Sayadnavard et al. A reliable energy-aware approach for dynamic virtual machine consolidation in cloud data centers
US10346208B2 (en) Selecting one of plural layouts of virtual machines on physical machines
WO2016009311A1 (en) System and method for electronic work prediction and dynamically adjusting server resources
CN104317658A (zh) 一种基于MapReduce的负载自适应任务调度方法
CN113434253A (zh) 集群资源调度方法、装置、设备及存储介质
CN117608840A (zh) 一种智能监控系统资源综合管理的任务处理方法及系统
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
US20160048413A1 (en) Parallel computer system, management apparatus, and control method for parallel computer system
CN113867959A (zh) 一种训练任务资源调度方法、装置、设备及介质
CN114185679B (zh) 容器资源调度方法、装置、计算机设备和存储介质
CN116743825A (zh) 服务器管理方法、装置、计算机设备和存储介质
CN116185584A (zh) 一种基于深度强化学习的多租户数据库资源规划与调度方法
KR20240105337A (ko) 클러스터 컴퓨팅 시스템에서의 리소스 할당 방법 및 장치
CN113127173B (zh) 一种异构感知的集群调度方法及装置
CN108595251B (zh) 动态图更新方法、装置、存储引擎接口和程序介质
CN113961353A (zh) 一种ai任务的任务处理方法和分布式系统
CN112148471A (zh) 分布式计算系统中资源调度的方法和装置
CN117149382A (zh) 虚拟机调度方法、装置、计算机设备和存储介质
CN112860442A (zh) 资源配额调整方法、装置、计算机设备和存储介质
CN114764371A (zh) 任务调度方法及管理系统
CN115562841B (zh) 一种云视频服务自适应资源调度系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination