CN116244070A - 子节点控制方法、装置、电子设备及介质 - Google Patents
子节点控制方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116244070A CN116244070A CN202211691492.4A CN202211691492A CN116244070A CN 116244070 A CN116244070 A CN 116244070A CN 202211691492 A CN202211691492 A CN 202211691492A CN 116244070 A CN116244070 A CN 116244070A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- determining
- strategy
- received
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02W—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
- Y02W90/00—Enabling technologies or technologies with a potential or indirect contribution to greenhouse gas [GHG] emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种子节点控制方法、装置、电子设备及介质,涉及计算机技术领域。该方法包括:获取已接收的构建任务的相关数据;根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略;根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。该实施方式能够根据不同的任务数据,选择适合的回收策略并实时调整回收策略,提高子节点的使用效率,通过调整回收策略,最大化复用已建子节点的能力,有效缓解构建任务高峰时的压力。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种子节点控制方法、装置、电子设备及介质。
背景技术
Jenkins是常用的持续集成工具,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成,可以用来管理分布式构建。Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化,提供了一个可弹性运行分布式系统的框架。Jenkins与Kubernets结合,将Jenkins子节点运行在Kubernets环境中,能够根据业务需要快速的管理Jenkins子节点。将Jenkins子节点作为Kubernets环境中的容器,可以利用容器的一次构建,随处运行的特性,使得Jenkins子节点伴随每个任务的新建而临时被创建,伴随着任务的结束而被回收。然而,当任务量较大或要求子节点的环境内容较多时,创建子节点的时间成为了系统的突出问题,造成系统瓶颈,严重影响系统的工作效率。
发明内容
为解决上述技术问题或至少部分地解决上述技术问题,本发明实施例提供一种子节点控制方法、装置、电子设备及介质。
根据本发明第一方面,提供了一种子节点控制方法,包括:获取已接收的构建任务的相关数据;根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略;根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
在可选的实施例中,根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略,包括:根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测量;根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略。
在可选的实施例中,根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测数量,包括:根据已接收的构建任务的第一数量和接收时间,确定单位时间段内构建任务的增长速度;根据所述增长速度,确定目标时间段内的任务预测数量。
在可选的实施例中,根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略,包括:确定所述目标时间段内的任务预测量是否大于或等于第一阈值;在所述目标时间段内的任务预测量大于或等于第一阈值的情况下,确定候选回收策略中的延迟回收策略为与所述当前的任务状态相对应的目标回收策略。
在可选的实施例汇总,所述第一阈值根据预设的子节点最大数量确定。
在可选的实施例中,所述方法还包括:在将所述延迟回收策略作为目标回收策略的情况下,统计单位时间段内接收到的构建任务的第二数量;根据所述第二数量,确定是否调整所述目标回收策略。
在可选的实施例中,所述根据所述第二数量,确定是否调整所述目标回收策略,包括:在所述第二数量大于或等于第二阈值的情况下,确定不调整所述目标回收策略;在所述第二数量小于第二阈值的情况下,确定将所述直接回收策略作为所述目标回收策略。
在可选的实施例中,所述第二阈值根据预设的子节点最大数量确定。
在可选的实施例中,根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略,包括:根据所述已接收的构建任务的相关数据,确定当前的任务状态;根据当前的任务状态,从候选回收策略中确定与所述当前的任务状态相对应的目标回收策略。
在可选的实施例中,所述根据所述已接收的构建任务的相关数据,确定当前的任务状态,包括:根据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌;在确定发生任务浪涌的情况下,确定当前的任务状态为积压状态;在确定未发生任务浪涌的情况下,确定当前的任务状态为空间状态。
在可选的实施例中,根所述据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌包括:根据已接收的构建任务的第一数量和接收时间,确定同一时刻接收的构建任务的数量是否大于或等于第三阈值;若同一时刻接收的构建任务的数量大于或等于第三阈值,则确定发生任务浪涌。
在可选的实施例中,所述第三阈值根据预设的子节点最大数量确定。
第二方面,本发明实施例提供了一种子节点控制装置,包括:数据获取模块,用于获取已接收的构建任务的相关数据;策略确定模块,用于根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略;处理模块,用于根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
在可选的实施例中,所述策略确定模块还用于:根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测量;根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据已接收的构建任务的第一数量和接收时间,确定单位时间段内构建任务的增长速度;根据所述增长速度,确定目标时间段内的任务预测数量。
在可选的实施例中,所述策略确定模块还用于:确定所述目标时间段内的任务预测量是否大于或等于第一阈值;在所述目标时间段内的任务预测量大于或等于第一阈值的情况下,确定候选回收策略中的延迟回收策略为与所述当前的任务状态相对应的目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据预设的子节点最大数量确定所述第一阈值。
在可选的实施例中,所述策略确定模块还用于:在将所述延迟回收策略作为目标回收策略的情况下,统计单位时间段内接收到的构建任务的第二数量;根据所述第二数量,确定是否调整所述目标回收策略。
在可选的实施例中,所述策略确定模块还用于:在所述第二数量大于或等于第二阈值的情况下,确定不调整所述目标回收策略;在所述第二数量小于第二阈值的情况下,确定将所述直接回收策略作为所述目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据预设的子节点最大数量确定所述第二阈值。
在可选的实施例中,所述策略确定模块还用于:根据所述已接收的构建任务的相关数据,确定当前的任务状态;根据当前的任务状态,从候选回收策略中确定与所述当前的任务状态相对应的目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌;在确定发生任务浪涌的情况下,确定当前的任务状态为积压状态;在确定未发生任务浪涌的情况下,确定当前的任务状态为空间状态。
在可选的实施例中,所述策略确定模块还用于:根据已接收的构建任务的第一数量和接收时间,确定同一时刻接收的构建任务的数量是否大于或等于第三阈值;若同一时刻接收的构建任务的数量大于或等于第三阈值,则确定发生任务浪涌。
在可选的实施例中,所述策略确定模块还用于:根据预设的子节点最大数量确定所述第三阈值。
第三方面,本发明实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例的子节点控制方法。
第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明任一实施例的子节点控制方法。
上述发明中的一个实施例具有如下优点或有益效果:
本发明实施例的子节点控制方法,通过获取已接收的构建任务的相关数据,根据构建任务的相关数据,从候选回收策略中确定与该相关数据相应的目标回收策略,并根据该目标回收策略回收已完成构建任务的目标子节点的方案,能够根据不同的任务数据,选择适合的回收策略并实时调整回收策略,进而提高子节点的使用效率,提高系统效率,最大化复用已建子节点的能力,有效缓解构建任务高峰时的压力,起到削峰的作用。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1示出了本发明一实施例的子节点控制方法的流程图;
图2示出了构建任务随时间变化的曲线图;
图3示出了本发明另一实施例的子节点控制方法的流程图;
图4示出了在根据本发明实施例的子节点控制方法控制子节点的回收的情况下执行构建任务总耗时的曲线图;
图5示出了本发明又一实施例的子节点控制方法的流程图;
图6示出了本发明一实施例的子节点控制装置的结构示意图;
图7示出了本发明实施例的电子设备的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了本发明一实施例的子节点控制方法的流程示意图。其中,该方法可以应用于Jenkins系统,该子节点为用于执行构建任务的Jenkins子节点,该子节点可以随着构建任务的新建而创建。在相关技术中,该子节点也随着构建任务的完成而回收,但是,当任务量较大或要求子节点的环境内容较多时,创建子节点的时间会成为系统瓶颈,而且不断地创建、回收子节点不仅会影响系统的工作效率,也会造成资源浪费。为解决该技术问题,本明实施例提供了一种子节点控制方法,该方法在不同的任务数据的情况下,根据不同的回收策略来控制子节点的回收,选择不同的回收策略,例如任务低峰期的情况下,立即回收完成构建任务的子节点,在任务高峰期的情况下,不立即回收完成构建任务的子节点,而是延迟回收完成构建任务的子节点,以使完成构建任务的子节点能够被分配新的构建任务,从而节省创建子节点的时间,提高已创建子节点的使用效率,最大化复用已创建子节点的能力,有效缓解构建任务高峰时的压力。具体的,如图1所示,该子节点控制方法包括:
步骤S101:获取已接收的构建任务的相关数据。
其中,已接收的构建任务的相关数据可以包括但不限于已接收到的构建任务的数量和接收时间。
在本实施例中,在接收到构建任务的情况下,可以记录该构建任务的接收时间,并统计已接收到的构建任务的数量。在统计已接收到的构建任务的数量可以以单位时间段为统计周期进行统计,单位时间段可以根据场景需求灵活设置,本发明在此不做限制。从而,可以根据统计的构建任务的数量和接收时间,来判断当前接收到的构建任务的情况,例如可以判断当前是否处于任务高峰期,或者当前是否处于任务低峰期。进一步的还可以根据已接收到的构建任务的相关数据,预测未来某一时间段的构建任务的数量,从而判断在未来时间段是否处于任务高峰期或任务低峰期。
步骤S102:根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略。
其中,候选回收策略用于控制已完成构建任务的目标子节点的回收,例如,控制已完成构建任务的目标子节点立即回收或延迟回收。作为具体的示例,候选回收策略可以包括但不限于立即回收策略和延迟回收策略。立即回收策略用于指示立即回收完成构建任务的目标子节点。延迟回收策略用于指示延迟回收完成构建任务的目标子节点。
在可选的实施例中,可以预先设置多个候选回收策略,不同的候选回收策略分别对应不同的构建任务的情况,从而可以根据当前已接收到的构建任务的相关数据或预测的未来某一时间段的构建任务的数量,来选择不同的候选回收策略。作为具体的示例,若根据当前已接收到的构建任务的相关数据,确定当前处于任务高峰期,则可以将延迟回收策略作为相应的目标回收策略,延迟回收已完成的构建任务的目标子节点,从而将新接收到的构建任务调度到该目标子节点上,由目标子节点执行该新接收到的构建任务,以此来节省创建子节点的时间。若根据当前已接收到的构建任务的相关数据,确定当前处于构建任务低峰期,则可以在子节点完成构建任务的情况下立即回收该子节点,从而及时释放该子节点所占用的资源。若根据当前已接收到的构建任务的相关数据确定当前处于任务低峰期,但根据当前已接收到的构建任务的相关数据预测到未来时间段处于任务高峰期,则也可以将延迟回收策略作为目标回收策略。
步骤S103:根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
在本步骤中,若目标回收策略为立即回收策略,则在子节点完成分配的构建任务时,立即回收该子节点。若目标回收策略为延迟回收策略,则在子节点完成分配的构建任务时,延迟回收该子节点。
本发明实施例的子节点控制方法,通过获取已接收的构建任务的相关数据,根据构建任务的相关数据,从候选回收策略中确定与该相关数据相应的目标回收策略,并根据该目标回收策略回收已完成构建任务的目标子节点的方案,能够根据不同的任务数据,选择适合的回收策略并实时调整回收策略,进而提高子节点的使用效率,最大化复用已建子节点,有效缓解构建任务高峰时的压力,提高系统效率。
在可选的实施例中,在将延迟回收策略作为目标回收策略的情况下,可以将完成已分配的构建任务的目标子节点添加到队列中,对新接收到的构建任务调度到该队列中的目标子节点。在其他可选的实施例中,也可以根据目标子节点的标识(或标签)进行调度,即在新接收到的构建任务后,对该构建任务进行解析,确定该构建任务的标识,然后将该构建任务调度到相应标识的目标子节点上。
在实现本发明实施例的子节点控制方法的过程中,发明人发现构建任务数量在一定的时间内具有明显的高峰期,例如图2所示。为了缓解构建任务高峰期的子节点创建压力,本发明实施例的子节点控制方法可以根据已接收到的构建任务的数量,来预测构建任务的高峰期,从而调整子节点回收策略,节省创建子节点的时间,提高系统效率。
图3示出了本发明另一实施例的子节点控制方法的流程图,如图3所示,该方法包括:
步骤S301:获取已接收的构建任务的相关数据。
步骤S302:根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测量。
步骤S303:根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略。
步骤S304:根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
对于步骤S301,本实施例在接收到构建任务的情况下,可以记录该构建任务的接收时间,并统计已接收到的构建任务的数量。在统计已接收到的构建任务的数量可以以单位时间段为统计周期进行统计。因此,已接收的构建任务的相关数据包括在多个单位时间段内接收到的构建任务的数量。
对于步骤S302,本步骤根据构建任务的相关数据对未来时间段的构建任务的数量进行预测,从而来判断未来时间段的构建任务的趋势,即判断未来时间段的构建任务是否会增多。具体的,根据多个单位时间段内接收到的构建任务的数量,预测未来某个目标时间段接收的构建任务的数量,该目标时间段可以包括一个单位时间段或多个单位时间段。
在可选的实施例中,可以对多个单位时间段内接收到的构建任务的数量进行函数拟合,根据拟合得到的函数,预测未来某个目标时间段接收的构建任务的数量。根据已接收的构建任务的数量和时间,确定在相同间隔时间内接收到的构建任务的数量是增大的情况下,说明构建任务的趋势是增长的,是越来越多的,则可以将延迟回收策略作为目标回收策略。
在可选的实施例中,也可以根据已接收到的构建任务的第一数量和接收时间,确定构建任务的增长速度。根据该增长速度,确定目标时间段内的任务预测数量。例如,根据已接收的构建任务的数量和接收时间,判断相同间隔时间内接收到的构建任务的数量是否逐渐增大。若相同间隔时间内接收到的构建任务的数量逐渐增大,则确定在构建任务该间隔时间内的增长速度。根据该增长速度预测未来时间段的任务量。
对于步骤S303,可以判断目标时间段内的任务预测量是否大于或等于第一阈值。若目标时间段内的任务预测量大于或等于第一阈值,则说明在目标时间段会迎来构建任务的高峰期,需要延迟回收完成构建任务的目标子节点,因此将候选回收策略中的延迟回收策略为目标回收策略,以节省创建子节点的时间。若目标时间段内的任务预测量小于第一阈值,则说明在目标时间段不会迎来构建任务的高峰期,不需要延迟回收完成构建任务的目标子节点,所以将候选回收策略中的直接回收策略为目标回收策略。
在可选的实施例中,第一阈值可以根据预设的子节点最大数量确定。子节点最大数量用于限定创建的子节点的数量,可以根据场景需求和物理机器的性能灵活设定,本发明在此不做限制。
对于步骤S304,若目标回收策略为延迟回收策略,则在子节点完成分配的构建任务时,延迟回收该子节点。若目标回收策略为立即回收策略,则在子节点完成分配的构建任务时,立即回收该子节点。
本发明实施例的子节点控制方法,根据已接收到的构建任务的相关数据,预测未来目标时间段内的任务预测量,即预测未来时间段内接收的构建任务的趋势,根据未来时间段内接收到的构建任务的趋势来选择适合的目标回收策略,可以提高子节点的使用效率,最大化复用已建子节点,有效缓解构建任务高峰时的压力,提高系统效率。图4示出了执行构建任务总耗时的曲线图,如图4所示,利用根据本发明实施例的子节点控制方法选择目标回收策略有效缓解了高峰期的构建压力,证明了该控制方法的有效性。
在可选的实施例中,在将延迟回收策略作为目标回收策略的情况下,还需要根据实时的任务情况,调整目标回收策略,即根据实时的任务情况,确定是否需要将目标回收策略调整为立即回收策略。例如,在将延迟回收策略作为目标回收策略之后,监测接收到的构建任务的变化,在监测到构建任务的高峰期已经过去,接收到的构建任务的数量已经降下来后将立即回收策略作为目标回收策略,以即时释放资源。
具体的,可以根据如下过程确定是否需要将目标回收策略调整为立即回收策略:
在将延迟回收策略作为目标回收策略的情况下,统计单位时间段内接收到的构建任务的第二数量;
根据第二数量,确定是否调整目标回收策略。例如,在第二数量大于或等于第二阈值的情况下,不调整目标回收策略,即依旧将延迟回收策略作为目标回收策略。在第二数量小于第二阈值的情况下,将直接回收策略作为目标回收策略。其中,第二阈值可以根据预设的子节点最大数量确定,例如第二阈值为子节点最大数量的20%。
图5示出了本发明另一实施例的子节点控制方法的流程示意图,如图5所示,该方法包括:
步骤S501:获取已接收的构建任务的相关数据。其中,已接收的构建任务的相关数据可以包括但不限于已接收到的构建任务的数量和接收时间。
步骤S502:根据所述已接收的构建任务的相关数据,确定当前的任务状态。
步骤S503:根据当前的任务状态,从候选回收策略中确定与所述当前的任务状态相对应的目标回收策略。
步骤S504:根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
其中,步骤S501及S504可以参考图1所示的实施例,本发明在此不做限制。
对于步骤S502,当前的任务状态可以用于指示当前的构建任务的多少或者系统的压力。作为具体的示例,任务状态可以包括积压状态或空闲状态(即非积压状态)。若当前的任务状态为积压状态,则说明当前的构建任务的数量较多,需要创建较多的子节点。若当前的任务状态为空闲状态,则说明当前的构建任务的数量较少,需要的子节点也较少。
在可选的实施例中,根据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌;在确定发生任务浪涌的情况下,确定当前的任务状态为积压状态;在确定未发生任务浪涌的情况下,确定当前的任务状态为空间状态。其中,任务浪涌是指在同一时刻或较短时间内接收到了较多的构建任务,因此可以根据以下过程确定是否发生任务浪涌:根据已接收的构建任务的第一数量和接收时间,确定同一时刻接收的构建任务的数量是否大于或等于第三阈值;若同一时刻接收的构建任务的数量大于或等于第三阈值,则确定发生任务浪涌。第三阈值可以根据预设的子节点最大数量确定。作为具体的示例,第三阈值可以是设置的子节点最大数量的80%。
对于步骤S503,在当前的任务状态为积压状态的情况下,将延迟回收策略作为目标回收策略,在当前的任务状态为空闲状态的情况下,将直接回收策略作为目标回收策略。
在本实施例中,可以针对不同的任务状态,设置不同的回收策略,以根据不同的任务状态选择合适的回收策略,以提高子节点的使用效率和系统效率。例如,在当前的任务状态为积压状态的情况下,可以将延迟回收策略作为目标回收策略,从而节省创建子节点的时间,提高系统效率。在当前的任务状态为空闲状态下,可以将立即回收策略作为目标回收策略,从而释放子节点所占用的资源。
在可选的实施例中,可以结合图3所示的步骤S303-S304以及图5所示的步骤S502-S503来综合确定目标回收策略。例如在确定当前的任务状态为积压状态的情况下,将延迟回收策略作为目标回收策略。在确定当前的任务状态为空闲状态的情况下,确定目标时间段的任务预测量。在目标时间段的任务预测量大于或等于第一阈值的情况下,将延迟回收策略作为目标回收策略。在目标时间段的任务预测量小于或等于第一阈值的情况下,将直接回收策略作为目标回收策略。
为使本发明实施例的子节点控制方法更加清楚,以下述示例为例进行说明。在本实施例中,将jenkins采用容器化的方式部署到kubernetes环境中,安装jenkins-kubernetes插件并进行相关对接配置。jenkins系统需要和kubernetes环境连通,为了能够方便从内部调用kubernetes接口创建jenkins子节点,将jenkins采用容器部署。其中,本实施例的子节点控制方法可以由jenkins-kubernetes插件执行。Jenkins系统接收到构建任务后,jenkins-kubernetes插件临时创建一个jenkins子节点,jenkins将该任务调度到这个jenkins子节点上,并在该子节点计算完成后由jenkins-kubernetes插件进行回收。当jenkins接收到的构建任务产生积压时,jenkins-kubernetes插件延迟回收已完成任务的子节点,jenkins子节点立即会被jenkins调度系统使用到。在本实施例中,jenkins系统可以通过界面或接口方式接收构建任务。当jenkins-kubernetes插件根据接收到的构建任务的数量和时间,以及配置的子节点最大数量,确定当前的任务为积压状态或预测构建任务即将攀升时,将延迟回收策略作为目标回收策略,重复利用已创建的jenkins子节点,节省创建子节点的时间,加速处理构建任务。其中,确定当前的任务为积压状态或预测构建任务即将攀升,是根据实时的任务数量和配置子节点最大数量来判断的。若相同间隔时间内,检测到接收构建任务数量逐渐变大,并以此速度在两个周期(时间间隔)内构建任务的数量会大于或等于子节点最大数量,则触发jenkins子节点的延迟回收;另外,jenkins子节点处理完任务后,jenkins-kubernetes插件会做一次判断,若在同一时刻接收到较多的构建任务,任务数量超过配置子节点最大数量的80%,则触发jenkins子节点的延迟回收;同理,若任务数量低于配置子节点最大数量的20%,则触发jenkins子节点立即回收。
图6示出了本发明实施例的子节点控制装置的结构示意图,如图6所示,该子节点控制装置包括:
数据获取模块601,用于获取已接收的构建任务的相关数据;
策略确定模块602,用于根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略;
处理模块603,用于根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
在可选的实施例中,所述策略确定模块还用于:根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测量;根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据已接收的构建任务的第一数量和接收时间,确定单位时间段内构建任务的增长速度;根据所述增长速度,确定目标时间段内的任务预测数量。
在可选的实施例中,所述策略确定模块还用于:确定所述目标时间段内的任务预测量是否大于或等于第一阈值;在所述目标时间段内的任务预测量大于或等于第一阈值的情况下,确定候选回收策略中的延迟回收策略为与所述当前的任务状态相对应的目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据预设的子节点最大数量确定所述第一阈值。
在可选的实施例中,所述策略确定模块还用于:在将所述延迟回收策略作为目标回收策略的情况下,统计单位时间段内接收到的构建任务的第二数量;根据所述第二数量,确定是否调整所述目标回收策略。
在可选的实施例中,所述策略确定模块还用于:在所述第二数量大于或等于第二阈值的情况下,确定不调整所述目标回收策略;在所述第二数量小于第二阈值的情况下,确定将所述直接回收策略作为所述目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据预设的子节点最大数量确定所述第二阈值。
在可选的实施例中,所述策略确定模块还用于:根据所述已接收的构建任务的相关数据,确定当前的任务状态;根据当前的任务状态,从候选回收策略中确定与所述当前的任务状态相对应的目标回收策略。
在可选的实施例中,所述策略确定模块还用于:根据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌;在确定发生任务浪涌的情况下,确定当前的任务状态为积压状态;在确定未发生任务浪涌的情况下,确定当前的任务状态为空间状态。
在可选的实施例中,所述策略确定模块还用于:根据已接收的构建任务的第一数量和接收时间,确定同一时刻接收的构建任务的数量是否大于或等于第三阈值;若同一时刻接收的构建任务的数量大于或等于第三阈值,则确定发生任务浪涌。
在可选的实施例中,所述策略确定模块还用于:根据预设的子节点最大数量确定所述第三阈值。
本发明实施例的子节点控制装置,通过获取已接收的构建任务的相关数据,根据构建任务的相关数据,从候选回收策略中确定与该相关数据相应的目标回收策略,并根据该目标回收策略回收已完成构建任务的目标子节点的方案,能够根据不同的任务数据,选择适合的回收策略并实时调整回收策略,进而提高子节点的使用效率,提高系统效率,最大化复用已建子节点的能力,有效缓解构建任务高峰时的压力,起到削峰的作用
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:在接收到停机指令的情况下,根据会话索引表动态存储的会话状态,确定与所述停机指令对应的目标用户的目标会话状态;在所述目标会话状态为正在会话的情况下,确定所述目标用户的角色和所述目标用户对应的停机类型;在所述角色与所述停机类型匹配的情况下,中断所述目标用户的当前会话。
上述终端提到的通信总线704可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述终端与其他设备之间的通信。
存储器703可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器701的存储装置。
上述的处理器701可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读介质,该计算机可读介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的子节点控制方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的子节点控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (15)
1.一种子节点控制方法,其特征在于,包括:
获取已接收的构建任务的相关数据;
根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略;
根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
2.根据权利要求1所述的方法,其特征在于,根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略,包括:
根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测量;
根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略。
3.根据权利要求2所述的方法,其特征在于,根据所述已接收的构建任务的相关数据,确定目标时间段内的任务预测数量,包括:
根据已接收的构建任务的第一数量和接收时间,确定单位时间段内构建任务的增长速度;
根据所述增长速度,确定目标时间段内的任务预测数量。
4.根据权利要求2所述的方法,其特征在于,根据所述目标时间段内的任务预测量,从候选回收策略中确定目标回收策略,包括:
确定所述目标时间段内的任务预测量是否大于或等于第一阈值;
在所述目标时间段内的任务预测量大于或等于第一阈值的情况下,确定候选回收策略中的延迟回收策略为与所述当前的任务状态相对应的目标回收策略。
5.根据权利要求4所述的方法,其特征在于,所述第一阈值根据预设的子节点最大数量确定。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在将所述延迟回收策略作为目标回收策略的情况下,统计单位时间段内接收到的构建任务的第二数量;
根据所述第二数量,确定是否调整所述目标回收策略。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二数量,确定是否调整所述目标回收策略,包括:
在所述第二数量大于或等于第二阈值的情况下,确定不调整所述目标回收策略;
在所述第二数量小于第二阈值的情况下,确定将所述直接回收策略作为所述目标回收策略。
8.根据权利要求7所述的方法,其特征在于,所述第二阈值根据预设的子节点最大数量确定。
9.根据权利要求1-8任一项所述的方法,其特征在于,根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略,包括:
根据所述已接收的构建任务的相关数据,确定当前的任务状态;
根据当前的任务状态,从候选回收策略中确定与所述当前的任务状态相对应的目标回收策略。
10.根据权利要求9所述的方法,其特征在于,所述根据所述已接收的构建任务的相关数据,确定当前的任务状态,包括:
根据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌;
在确定发生任务浪涌的情况下,确定当前的任务状态为积压状态;
在确定未发生任务浪涌的情况下,确定当前的任务状态为空间状态。
11.根据权利要求10所述的方法,其特征在于,根所述据已接收的构建任务的第一数量和接收时间,确定是否发生任务浪涌包括:
根据已接收的构建任务的第一数量和接收时间,确定同一时刻接收的构建任务的数量是否大于或等于第三阈值;
若同一时刻接收的构建任务的数量大于或等于第三阈值,则确定发生任务浪涌。
12.根据权利要求11所述的方法,其特征在于,所述第三阈值根据预设的子节点最大数量确定。
13.一种子节点控制装置,其特征在于,包括:
数据获取模块,用于获取已接收的构建任务的相关数据;
策略确定模块,用于根据所述已接收的构建任务的相关数据,从候选回收策略中确定目标回收策略;
处理模块,用于根据所述目标回收策略回收目标子节点,所述目标子节点为完成已分配的构建任务的子节点。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-12中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211691492.4A CN116244070A (zh) | 2022-12-27 | 2022-12-27 | 子节点控制方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211691492.4A CN116244070A (zh) | 2022-12-27 | 2022-12-27 | 子节点控制方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116244070A true CN116244070A (zh) | 2023-06-09 |
Family
ID=86623308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211691492.4A Pending CN116244070A (zh) | 2022-12-27 | 2022-12-27 | 子节点控制方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244070A (zh) |
-
2022
- 2022-12-27 CN CN202211691492.4A patent/CN116244070A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375420B (zh) | 一种基于负载均衡的服务器集群智能监控系统及方法 | |
US11582166B2 (en) | Systems and methods for provision of a guaranteed batch | |
US7587718B1 (en) | Method and apparatus for enforcing a resource-usage policy in a compute farm | |
CN111818159B (zh) | 数据处理节点的管理方法、装置、设备及存储介质 | |
US9553810B2 (en) | Dynamic reconfiguration of network devices for outage prediction | |
CN111045810B (zh) | 一种任务调度处理方法及装置 | |
WO2013107141A1 (zh) | 一种用于云计算的策略调度系统和方法 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN112383585A (zh) | 消息处理系统、方法及电子设备 | |
US9607275B2 (en) | Method and system for integration of systems management with project and portfolio management | |
CN111258746A (zh) | 资源分配方法和服务设备 | |
CN112650575A (zh) | 资源调度方法、装置和云端服务系统 | |
CN113326097A (zh) | 一种虚拟机限速方法、装置、设备和计算机存储介质 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN112667467A (zh) | 集群的自适应限流方法、装置、计算机设备及存储介质 | |
CN110728372B (zh) | 一种人工智能模型动态加载的集群设计方法及集群系统 | |
CN111200833B (zh) | 一种网元状态的确定方法及装置 | |
JP5729179B2 (ja) | 振分制御装置、振分制御方法および振分制御プログラム | |
CN116244070A (zh) | 子节点控制方法、装置、电子设备及介质 | |
CN108804152B (zh) | 配置参数的调节方法及装置 | |
US10705885B2 (en) | Autoscaling of data processing computing systems based on predictive queue length | |
CN109426563B (zh) | 一种进程管理方法及装置 | |
CN111090627B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Applicant after: Tianyiyun Technology Co.,Ltd. Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing Applicant before: Tianyiyun Technology Co.,Ltd. |