CN110287003A - 资源的管理方法和管理系统 - Google Patents
资源的管理方法和管理系统 Download PDFInfo
- Publication number
- CN110287003A CN110287003A CN201910580357.4A CN201910580357A CN110287003A CN 110287003 A CN110287003 A CN 110287003A CN 201910580357 A CN201910580357 A CN 201910580357A CN 110287003 A CN110287003 A CN 110287003A
- Authority
- CN
- China
- Prior art keywords
- resource
- container resource
- container
- task
- run
- 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.)
- Granted
Links
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明提供一种资源的管理方法和管理系统,该资源的管理方法包括:获取预设历史统计周期内容器资源的历史申请数据,历史申请数据包括:历史申请规格以及历史申请规格的容器资源的历史申请数量;根据历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度容器资源。本发明中,统计容器资源的历史申请数据,根据历史申请数据预测未来的目标时间段有可能再次被申请的容器资源的规格和数量,在目标时间段开始之前,预先调度容器资源,以便待运行任务再次申请时,可直接使用预调度的容器资源,节省了运行任务的时间,提高了数据处理的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种资源的管理方法和管理系统。
背景技术
在数据处理过程中,使用的容器资源需要经历启动(即调度)-执行-停止三个阶段,这三个阶段都需要耗费一定的时间,其中的执行阶段是数据处理所真正要执行的步骤,消耗的时间是必须的。而启动、停止两个阶段是为了进行资源管理而执行的步骤,也耗费较长的时间,造成整个数据处理过程效率较低。
因此,在数据处理过程中,如何有效地管理容器资源,减少用户等待及运行任务的时间,提高数据处理的效率,成为亟待解决的问题。
发明内容
有鉴于此,本发明提供一种资源的管理方法和管理系统,用于解决现有的数据处理过程效率低的问题。
为解决上述技术问题,本发明提供一种资源的管理方法,包括:
获取预设历史统计周期内容器资源的历史申请数据,所述历史申请数据包括:历史申请规格以及所述历史申请规格的容器资源的历史申请数量;
根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;
在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度所述容器资源。
可选的,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量之前还包括:
确定预调度的容器资源的最大可占用硬件资源数量;
其中,确定的预调度的容器资源占用的硬件资源的总量不超过所述最大可占用硬件资源数量。
可选的,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
获取预调度的第一规格的容器资源占用的硬件资源在预调度的容器资源的最大可占用硬件资源数量中的预置占比和所述预置占比的有效期;
根据所述历史申请数据、所述第一规格的容器资源的预置占比和所述预置占比的有效期,确定未来的目标时间段内的预调度的容器资源的规格和数量。
可选的,所述根据所述历史申请数据、所述第一规格的容器资源的预置占比和所述预置占比的有效期,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
若根据所述历史申请数据预测出所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例小于所述预置占比,确定所述第一规格的容器资源在预所述最大可占用硬件资源数量的总量中的比例为所述预置占比,根据所述预置占比确定所述第一规格的容器资源的数量;
若根据所述历史申请数据预测出所述第一规格的容器资源在预所述最大可占用硬件资源数量的总量中的比例大于或等于所述预置占比,根据所述历史申请数据,确定所述第一规格的容器资源的数量。
可选的,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
获取所述预设历史统计周期内申请过的每一规格的容器资源的历史申请数量;
将所述预设历史统计周期内申请过的每一规格的容器资源均作为预调度的容器资源,根据所述历史申请数量计算各预调度的容器资源的数量。
可选的,所述将所述预设历史统计周期内申请过的每一规格的容器资源均作为预调度的容器资源,计算各预调度的容器资源的数量包括:
若计算出预调度的第二规格的容器资源的数量小于1,将所述第二规格的容器资源从预调度的容器资源中删除。
可选的,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
对所述预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量进行排序,得到排序结果;
根据所述排序结果,选择指定比例的所述容器资源作为预调度的容器资源;
计算各预调度的容器资源的数量。
可选的,所述容器资源包括以下之一:Docker、Pouch、K8s container、MesosContainer和YARN Container。
可选的,所述容器资源的规格采用如下至少之一进行度量:处理器的物理核心数量、内存的大小、图形处理器的物理核心数量和外部存储资源的大小。
可选的,所述预调度所述容器资源之后还包括:
若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用;
若所述预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一:
第一操作:若待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用;
第二操作:若服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格,在所述服务器或者服务器集群调度满足申请的容器资源的规格的目标容器资源;
第三操作:若当前运行的任务使用的第三规格的容器资源在指定时长内可使用结束,且所述第三规格满足待运行任务申请的容器资源的规格,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;
第四操作:若所述待运行任务的数据可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用;
第五操作:若所述待运行任务的数据可流式处理,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源;
第六操作:排队等待下一批容器资源,所述下一批容器资源为所述第一操作、第二操作、第三操作、第四操作或第五操作运行完成后释放的容器资源。
可选的,所述资源的管理方法还包括:
根据所述历史申请数据,确定未来的目标时间段内可能会被申请的多种规格的容器资源;
若所述多种规格的容器资源中,具有可伸缩为指定规格的容器资源的可转化容器资源,将所述可转化容器资源进行规格伸缩处理转化为所述指定规格的容器资源。
可选的,所述若所述容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一包括:
按照先后顺序依次执行所述第一操作、所述第二操作、所述第三操作、所述第四操作、所述第五操作和所述第六操作,其中,若不满足前一操作的执行条件,执行下一操作。
可选的,所述若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用,之后还包括:
确定所述目标容器资源的使用数量;
预调度所述使用数量个与所述目标容器资源规格相同的容器资源。
可选的,所述将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用,之后还包括:
确定所述目标容器资源的使用数量;
预调度所述使用数量个指定规格的容器资源。可选的,所述第六操作包括:
若当前没有可使用的容器资源,预估当前运行的任务使用的容器资源的结束时间和排队的待运行任务的运行时长;
根据当前使用的容器资源的结束时间和排队的待运行任务的运行时长,确定排队的待运行任务的执行次序。
可选的,所述第四操作或第五操作之前还包括:
获取待运行任务的标签信息,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式;
根据所述标签信息,执行所述第四操作或第五操作。
可选的,所述资源的管理方法还包括:
获取人工对所述待运行任务输入的标签信息;或者
利用上下文相似特征,自动对所述待运行任务添加标签信息;或者
基于所述待运行任务本身携带的标签,获取待运行任务的标签信息;或者
基于所述历史申请数据,获取待运行任务的标签信息;
其中,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式。
可选的,所述后续处理方式包括以下至少之一:伸缩容器资源的规格、拆分容器资源、可流式处理数据、复用容器资源和关闭容器资源。
本发明还提供一种资源的管理系统,包括:
第一获取模块,用于获取预设历史统计周期内容器资源的历史申请数据,所述历史申请数据包括:历史申请规格以及所述历史申请规格的容器资源的历史申请数量;
第一确定模块,用于根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;
第一预调度模块,用于在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度所述容器资源。
可选的,所述资源的管理系统还包括:
第二确定模块,用于确定预调度的容器资源的最大可占用硬件资源数量;
其中,所述第一确定模块确定的预调度的容器资源占用的硬件资源的总量不超过所述最大可占用硬件资源数量。
可选的,所述第一确定模块,用于获取预调度的第一规格的容器资源占用的硬件资源在预调度的容器资源的最大可占用硬件资源数量中的预置占比和所述预置占比的有效期;根据所述历史申请数据、所述第一规格的容器资源的预置占比和所述预置占比的有效期,确定未来的目标时间段内的预调度的容器资源的规格和数量。
可选的,所述第一确定模块,用于若根据所述历史申请数据预测出所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例小于所述预置占比,确定所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例为所述预置占比,根据所述预置占比确定所述第一规格的容器资源的数量;若根据所述历史申请数据预测出所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例大于或等于所述预置占比,根据所述历史申请数据,确定所述第一规格的容器资源的数量。
可选的,所述第一确定模块,用于获取所述预设历史统计周期内申请过的每一规格的容器资源的历史申请数量;将所述预设历史统计周期内申请过的每一规格的容器资源均作为预调度的容器资源,根据所述历史申请数量计算各预调度的容器资源的数量。
可选的,所述第一确定模块,用于若计算出预调度的第二规格的容器资源的数量小于1,将所述第二规格的容器资源从预调度的容器资源中删除。
可选的,所述第一确定模块,用于对所述预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量进行排序,得到排序结果;根据所述排序结果,选择指定比例的所述容器资源作为预调度的容器资源;计算各预调度的容器资源的数量。
可选的,所述容器资源包括以下之一:Docker、Pouch、K8s container、MesosContainer和YARN Container。
可选的,所述容器资源的规格采用如下至少之一进行度量:处理器的物理核心数量、内存的大小、图形处理器的物理核心数量和外部存储资源的大小。
可选的,所述资源的管理系统还包括:
第一执行模块,用于若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用;
第二执行模块,用于若所述预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一:
第一操作:若待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用;
第二操作:若服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格,在所述服务器或者服务器集群调度满足申请所谓容器资源的规格的容器资源;
第三操作:若当前运行的任务使用的第三规格的容器资源在指定时长内可使用结束,且所述第三规格满足待运行任务申请的容器资源的规格,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;
第四操作:若所述待运行任务的数据可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用;
第五操作:若所述待运行任务的数据可流式处理,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源;
第六操作:排队等待下一批容器资源,所述下一批容器资源为所述第一操作、第二操作、第三操作、第四操作或第五操作运行完成后释放的容器资源。
可选的,所述资源的管理系统还包括:
第三确定模块,用于根据所述历史申请数据,确定未来的目标时间段内可能会被申请的多种规格的容器资源;
转化模块,用于若所述多种规格的容器资源中,具有可伸缩为指定规格的容器资源的可转化容器资源,将所述可转化容器资源进行规格伸缩处理转化为所述指定规格的容器资源。
可选的,所述第二执行模块,用于按照先后顺序依次执行所述第一操作、所述第二操作、所述第三操作、所述第四操作、所述第五操作和所述第六操作,其中,若不满足前一操作的执行条件,执行下一操作。
可选的,所述资源的管理系统还包括:
第二预调度模块,用于在所述若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用之后,确定所述目标容器资源的使用数量;预调度所述使用数量个与所述目标容器资源规格相同的容器资源。
可选的,所述资源的管理系统还包括:
第三预调度模块,用于在所述将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用之后,
确定所述目标容器资源的使用数量;
预调度所述使用数量个指定规格的容器资源。
可选的,所述第六操作包括:
若当前没有可使用的容器资源,预估当前运行的任务使用的容器资源的结束时间和排队的待运行任务的运行时长;
根据当前使用的容器资源的结束时间和排队的待运行任务的运行时长,确定排队的待运行任务的执行次序。
可选的,所述资源的管理系统还包括:
第二获取模块,用于获取待运行任务的标签信息,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式;
根据所述标签信息,执行所述第四操作或第五操作。
可选的,所述资源的管理系统还包括:
第三获取模块,用于获取人工对所述待运行任务输入的标签信息;或者,利用上下文相似特征,自动对所述待运行任务添加标签信息;或者,基于所述待运行任务本身携带的标签,获取待运行任务的标签信息;或者,基于所述历史申请数据,获取待运行任务的标签信息;
其中,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式。
可选的,所述后续处理方式包括以下至少之一:伸缩容器资源的规格、拆分容器资源、流式处理数据、复用容器资源和关闭容器资源。
本发明还提供一种资源的管理系统,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述资源的管理方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述资源的管理方法的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例中,统计容器资源的历史申请数据,根据历史申请数据预测未来的目标时间段有可能再次被申请的容器资源的规格和数量,从而在目标时间段开始之前,预先为待运行任务预调度容器资源,以便待运行任务再次申请容器资源时,可直接使用预调度的容器资源,节省了运行任务的时间,提高了数据处理的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的资源的管理方法的流程示意图;
图2为本发明另一实施例的资源的管理方法的流程示意图;
图3为本发明实施例的资源的管理系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例的资源的管理方法的流程示意图,该资源的管理方法包括:
步骤11:获取预设历史统计周期内容器资源的历史申请数据,所述历史申请数据包括:历史申请规格以及所述历史申请规格的容器资源的历史申请数量;
容器资源的历史申请数据即预设历史统计周期内运行的任务对容器资源的申请的数据。
所述容器资源的规格采用如下硬件资源的至少之一进行度量:处理器的物理核心数量(物理核心也称为核)、内存的大小、图形处理器(GPU)的物理核心数量和外部存储资源(持久态的存储资源)的大小。其中物理核心数量=CPU数(服务器上装的CPU的数量)*平均每个CPU的核心数。以下实施例中,均以核、内存为例进行说明。例如,容器资源的规格是2核1G内存,即容器资源是占用2个处理器,1G的内存的硬件资源。
所述预设历史统计周期是目标时间段之前的预设时段,例如可以为目标时间段之前的一周(7天)。
步骤12:根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;
未来的目标时间段是当前时间之后的指定时间段。
所述目标时间段可以是一个小时,即一个小时进行一次历史申请数据的统计和预调度的容器资源的更新。
步骤13:在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度所述容器资源。
预调度容器资源即预先调度容器资源,也可以称为预先启动容器资源。
例如,确定出的预调度的容器资源的规格的数量为N,即有N种预调度的容器资源,每一预调度的容器资源的数量分别为:P1、P2、……PN,N、P1-PN为正整数,在目标时间段开始之前,预先调度上述N种容器资源。
本发明实施例中,统计容器资源的历史申请数据,根据历史申请数据预测未来的目标时间段有可能再次被申请的容器资源的规格和数量,从而在目标时间段开始之前,预先为待运行任务调度容器资源,以便待运行任务再次申请容器资源时,可直接使用预调度的容器资源,节省了运行任务的时间,提高了数据处理的效率。
本发明实施例中,可选的,所述容器资源是指包含最小化操作系统的环境隔离装置,用于封装应用程序,进一步的,容器资源是代码模块的载体。本发明实施例中,所述容器资源包括以下之一:Docker、Pouch、K8s(Kubernetes)container、Mesos Container和YARNContainer。上述k8s(Kubernetes)、Mesos或YARN属于容器资源的管理框架(容器管理器或者是容器服务器)。
本发明实施例中,在容器资源的使用过程中,可以减少容器资源调度所消耗的时间,当数据处理任务或模型训练任务到达时,可直接执行任务而不需要等待容器资源的调度,进而提高数据处理性能。
由于有可能需要应对突发的容器资源的申请,因而优选地并不会将所有硬件资源均用于预调度的容器资源,即,本发明实施例中,可选的,所述根据所述历史申请数据,确定未来的目标时间段内的容器资源的规格和数量之前还包括:确定预调度的容器资源的最大可占用硬件资源数量;其中,确定的预调度的容器资源占用的硬件资源的总量不超过所述最大可占用硬件资源数量。
举例来说,总的硬件资源为100核1T(1024G)内存,为了应对突发的容器资源申请,可以预置容器资源最大可占用的硬件资源的分配比Q1,例如Q1为70%,即容器资源最大可占用的硬件资源为100核1T内存*70%,确认的预调度的容器资源占用的硬件资源的总量不超过100核1T内存*70%。
本发明实施例中,还可以通过动态设置预调度的至少一种规格的容器资源占用的硬件资源的预置占比和预置占比的有效期,对一段时间内的预调度的容器资源进行人工干预,以应对采用历史申请数据预测所无法进行评估的场景。例如服务器/服务器集群中基于对历申请数据的统计大多使用2核、3核、4核的容器资源,而人工知道未来一段时间内要执行很多使用1核的容器资源的任务或者有很多使用1核的容器资源的任务排队,即可以人工增加预调度的1核的容器资源的比例,以应对通过历史申请数据无法分析出的突发情况。
即,本发明实施例中,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
获取预调度的第一规格的容器资源占用的硬件资源在预调度的容器资源的最大可占用硬件资源数量中的预置占比和所述预置占比的有效期;
根据所述历史申请数据、所述第一规格的容器资源的预置占比和所述预置占比的有效期,确定未来的目标时间段内的预调度的容器资源的规格和数量。
举例如下:假设第一规格的容器资源为1核1G内存规格的容器资源,其预置占比为50%,即1核1G内存规格的容器资源占用的硬件资源占最大可占用硬件资源数量的50%,假设最大可占用硬件资源数量为:100核1T内存*70%,此时,1核1G内存规格的容器资源占用的硬件资源为:100核1T内存*70%*50%。
需要说明的是,由于所述第一规格的容器资源往往是突发的容器资源需求,因而其具有有效期,在有效期内,先根据第一规格的容器资源的预置占比,确定第一规格的容器资源的数量,然后根据历史申请数据,确定其他预调度的容器资源的数量。一旦超过有效期,则仅根据历史申请数据,确定各预调度的容器资源的数量。
本发明实施例中,可选的,所述根据所述历史申请数据、所述第一规格的容器资源的预置占比和所述预置占比的有效期,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
若根据所述历史申请数据预测出所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例小于所述预置占比,确定所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例为所述预置占比,根据所述预置占比确定所述第一规格的容器资源的数量;
若根据所述历史申请数据预测出所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例大于或等于所述预置占比,根据所述历史申请数据,确定所述第一规格的容器资源的数量。
举例来说,如果基于历史申请数据预测出1核1G内存规格的容器资源可占用的硬件资源的比例少于人工设置的预置占比50%,则首先基于预置占比给1核1G内存规格的容器资源分配可占用硬件资源的50%,其余规格的容器资源分配可占用硬件资源的1-50%,即可占用硬件资源总量减去预置占比的硬件资源,然后再计算其余规格的容器资源的数量;如果基于历史申请数据预测出1核1G内存规格的容器资源占可占用硬件资源的比例大于或等于50%,则基于历史申请数据计算各规格预调度的容器资源的数量。
在本发明的一些实施例中,可选的,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
获取所述预设历史统计周期内申请过的每一规格的容器资源的历史申请数量;
将所述预设历史统计周期内申请过的每一规格的容器资源均作为预调度的容器资源,根据所述历史申请数量计算各预调度的容器资源的数量。
下面举例进行说明:具体的例如,前一个预设历史统计周期内2核2G内存规格的容器资源被申请了10次,7核7G内存规格的容器资源被申请了2次,假设以核数为主要参考,最大可用的核数为35,预调度的2核2G内存规格的容器资源的数量为P1,预调度的7核7G内存规格的容器资源的数量为P2,则可以得到:P1*2核+P2*7核<=35,P1:P2=10:2,本发明实施例中,假设预调度的一规格的容器资源的数量与该规格的容器资源的历史申请数量成正比,当然,在本发明的其他一些实施例中,预调度的规格的容器资源的数量与该规格的容器资源的历史申请数量也不限于成正比。
即,本发明实施例中,可以采用以下公式计算各预调度的容器资源的数量:
P1*Y1+P2*Y2+……+PN*YN<=Y
P1:P2:……:PN=N1:N2:……:NN
其中,P1、P2……PN为预调度的各容器资源的数量,Y1、Y2……YN为预调度的各容器资源占用的指定硬件资源,Y为可占用的指定硬件资源的最大数量即最大可占用硬件资源数量,N1、N2……NN为各容器资源的历史申请数量。
该种方式下,将预设历史统计周期内的所有申请过的容器资源,均作为预调度的容器资源,从而可以尽最大可能地满足任务的需求。
进一步可选的,所述将所述预设历史统计周期内申请过的每一规格的容器资源均作为预调度的容器资源,计算各预调度的容器资源的数量包括:若计算出预调度的第二规格的容器资源的数量小于1,将所述第二规格的容器资源从预调度的容器资源中删除。也就是说,若计算出预调度的容器资源的数量小于1,说明该容器资源再次被申请的可能性较低,为了降低调度的复杂度,可以删除该容器资源,即不预先调度。
在本发明的另外一些实施例中,可选的,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
对所述预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量进行排序,得到排序结果;
根据所述排序结果,选择指定比例的所述容器资源作为预调度的容器资源;
计算各预调度的容器资源的数量。
本发明实施例中,各预调度的容器资源的数量的计算方法可以参考上述实施例中的计算方法。
可选的,将预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量从大到小进行排序,选取排在前面的指定比例的容器资源作为预调度的容器资源,该种方式下,是将历史申请数量较多的容器资源作为预调度的容器资源,进行预先调度,而历史申请数量少的容器资源,认为其再次被申请的可能性较小,则可以不预先调度,从而减少了调度的复杂度。
上述指定比例例如可以为20%,可以根据需要设定,以实现系统能够尽量满足任务需求的情况下,降低处理复杂度。
上述内容中均是对如何根据容器资源的历史申请数据,确定预调度的容器资源的规格和数量的方法,下面内容将对预调度的容器资源的使用方法进行说明。
在本发明的一些实施例中,可选的,所述预调度所述容器资源之后还包括:
若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用。
本发明实施例中,可选的,将所述目标容器资源提供给所述待运行任务使用,之后还包括:确定所述目标容器资源的使用数量;预调度所述使用数量个与所述目标容器资源规格相同的容器资源。
若所述预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一:
第一操作:若待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用;
举例来说,待运行任务申请的容器资源的规格为1核1G内存,预调度的容器资源中不包括1核1G内存规格的容器资源,但是包括1核2G内存规格的容器资源,则可以将1核2G内存规格的容器资源进行规格伸缩处理,转换为1核1G内存规格的容器资源,作为目标容器资源,提供给待运行任务使用。
本发明实施例中,可选的,所述第一操作之前还包括:
根据所述历史申请数据,确定未来的目标时间段内可能会被申请的多种规格的容器资源;
若所述多种规格的容器资源中,具有可伸缩为指定规格的容器资源的可转化容器资源,将所述可转化容器资源进行规格伸缩处理转化为所述指定规格的容器资源。
可选的,所述指定规格为使用率较高的一个或多个规格。
本发明实施例中,在预调度容器资源之前,可以合并具有一定相似性(例如占用的指定硬件资源数相同,如占用的核的数量相同)的规格,使得预调度的容器资源尽量都以标准规格(即所述指定规格)存在。
也就是说,在预调度之前,若确定出可能会被申请的多种规格的容器资源,例如,1核1G内存规格的容器资源、1核2G内存规格的容器资源和1核3G内存规格的容器资源,其中1核2G内存规格的容器资源的使用率较高(历史申请数量较高),而1核1G内存规格的容器资源和1核3G内存规格的容器资源的使用率较低(历史申请数量较低),且三者具有相似的规格(例如内存差不超过1G),此时,可以以核为基准,对内存进行规格伸缩处理,例如将1核1G内存规格的容器资源和1核3G内存规格的容器资源转换为1核2G内存规格的容器资源,假设确定出的预调度的1核1G内存规格的容器资源的数量为2,1核3G内存规格的容器资源的数量为1,1核2G内存规格的容器资源的数量为10,则将1核1G内存规格的容器容资源和1核3G内存的容器资源转换为1核2G内存规格的容器资源后,预调度的1核1G内存规格的容器资源的数量为0,预调度的1核3G内存规格的容器资源的数量为0,预调度的1核2G内存规格的容器资源的数量为13。
同时,为了维持预调度即当前启动的容器资源的数量,当将所述指定规格的容器资源的规格转化为与待运行任务申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用之后,还包括:
确定所述目标容器资源的使用数量;
预调度所述使用数量个指定规格的容器资源。
本发明实施例中,通过对预调度的容器资源进行规格伸缩,使得预调度的容器资源能够被更多规格的申请使用。
第二操作:若服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格,在所述服务器或者服务器集群调度满足申请的容器资源的规格的目标容器资源;
第三操作:若当前运行的任务使用的第三规格的容器资源在指定时长内可使用结束,且所述第三规格满足待运行任务申请的容器资源的规格,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;
例如预估正在使用且满足当前待运行任务申请规格的容器资源的使用结束时间是否较快结束(即在指定时长内结束),若是,则等待使用结束后,通过释放硬件资源新调度容器资源或伸缩容器资源的规格方式提供使用,“较快”是指S秒,S秒+预估当前申请的后续使用时长短于第四操作和第五操作的预估占用时间,则等待。
第四操作:若所述待运行任务的数据可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用;
第五操作:若所述待运行任务的数据可流式处理,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源;
第六操作:等待释放的容器资源。
上述实施例中,若预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的容器资源,可以执行第一操作、第二操作、第三操作、第四操作、第五操作或第六操作其中之一,或者,按照先后顺序依次执行所述第一操作、所述第二操作、所述第三操作、所述第四操作、所述第五操作和所述第六操作,其中,若不满足前一操作的执行条件,执行下一操作。具体的,可以先判断是否满足第一操作的执行条件(即待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内),若满足第一操作的执行条件,执行第一操作,否则,判断是否满足第二操作的执行条件(服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格)若满足第二操作的执行条件,执行第二操作,否则判断是否满足第三操作的执行条件,以此类推。当然,也可以按照其他执行顺序执行。
请参考图2,图2所示的实施例中,即是按照先后顺序依次执行所述第一操作、所述第二操作、所述第三操作、所述第四操作、所述第五操作和所述第六操作的一具体实施例,其中,第三操作、第四操作和第五操作并入一个步骤,具体方法包括:
步骤21:基于预设历史统计周期内容器资源的历史申请数据,预调度容器资源;
步骤22:检测到待运行任务申请某规格的容器;
步骤23:预调度的容器资源中是否包括与待运行任务申请的容器资源规格相同的目标容器资源,若是,执行步骤24,否则执行步骤25;
步骤24:将目标容器资源提供给所述待运行任务使用,同时,可记录任务使用容器资源的使用信息,同时还可以再预调度相同数量的同等规格的容器资源;
任务使用容器资源的使用信息包括以下至少之一:使用的各规格的容器资源的数量,使用的各规格的容器的时长,任务的数据的存储形式等,以便于后续的统计分析。
步骤25:判断待运行任务申请的容器资源是否位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,若是,执行步骤26,否则执行步骤27;
步骤26:将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用,同时还可以确定所述目标容器资源的使用数量,预调度所述使用数量个指定规格的容器资源;
步骤27:判断服务器或者服务器集群的剩余硬件资源是否能够满足待运行任务申请的容器资源的规格,若是,执行步骤28,否则,执行步骤29:
步骤28:在所述服务器或者服务器集群调度满足申请的容器资源的规格的目标容器资源;
步骤29:1)判断当前运行的任务使用的第三规格的容器资源在指定时长内是否可结束,其中,所述第三规格满足待运行任务申请的容器资源的规格,若是,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;否则,执行2);
2)判断所述待运行任务的数据是否可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,若是,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用,否则执行3):
3)判断所述待运行任务的数据是否可流式处理,若是,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源,否则,执行步骤210:
该步骤至少用到了任务的以下标签信息:所述待运行任务的数据可拆分、所述待运行任务的数据可流式处理、所述待运行任务的运行时长;
步骤210:排队等待下一批容器资源,所述下一批容器资源是指上述各种情况运行完成后释放的容器资源,哪一种容器资源先释放出来就用哪一种。
本发明实施例中,可选的,可以获取申请容器资源的任务的标签信息,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长(例如短、中、长,例如短、中、长分别为1min内、1-10min、10min以上),所述待运行任务使用的容器资源的后续处理方式,用户特征(权限/角色等)、任务数据的存储形式(本地或网络存储(例如本地/NFS/HDFS等))、用户自定义标签等。
可选的,所述获取待运行任务的标签信息包括:
获取人工对所述待运行任务输入的标签信息;或者
利用上下文相似特征,自动对所述待运行任务添加标签信息;或者
基于所述待运行任务本身携带的标签,获取待运行任务的标签信息;或者
基于所述历史申请数据,获取待运行任务的标签信息。
自动添加标签时,可以是系统通过映射来添加,任务的中的分析模块中带有的信息可以映射为待运行任务的标签,所述信息包括如下至少一种:分析模块中分类、标签中的信息。通过这种相似性分类能相对准确的了解任务使用容器资源的申请的一定特征,例如,使用的容器资源的平均时长、使用的容器资源走势情况(即使用的容器资源的后续使用方式),其中,容器资源的历史申请数据中还可以包括容器资源的历史使用时长,使用的容器资源平均时长基于历史申请数据中的“使用的各规格容器资源的历史使用时长”求平均。容器资源走势即预估容器资源的后续使用方式,包括:伸缩容器资源的规格、拆分容器资源、可流式处理数据、复用容器资源和关闭容器资源等。也可基于预定义的一定的标签来完成一些数据或容器资源转化,所述数据的转化具体的可以是数据的拆分,所述容器资源的转化具体的可以是申请容器资源规格的拆分(对于大规格申请容器资源可提供多个小规格容器资源以供使用)。所述复用容器资源,是指同规格容器资源使用完后不关闭直接再次使用。所述关闭容器资源,是指任务完成后自动关闭容器资源,例如,设置阈值限定容器资源使用上限,到达使用上限关闭容器资源,不再复用。
本发明实施例中,可选的,上述第四操作或第五操作之前还包括:获取待运行任务的标签信息;根据所述标签信息,执行所述第四操作或第五操作。
第四操作举例来说,基于预置的一些标签,例如数据可拆分,当当前系统所在的服务器/服务器集群上的预调度的容器规格都不满足所申请的容器规格时,可依托任务的数据和可分配资源规格启动多个等比缩小规格的容器资源,同时将输入数据也等比拆分,挂载到每个容器资源上,使得将原有一个大规格容器资源需要完成的工作分摊到多个小规格容器资源中完成,也使得预调度的容器资源中剩下的小规格容器不至于过度闲置。等比缩小是指CPU和内存同步缩小。例如,申请需要5核5G内存规格的容器资源以运行任务,预调度的可用容器资源包括2核和3核的容器资源,那么数据拆分也是2:3,内存配置也是2:3,即2核2G内存和3核3G内存规格的容器资源分别处理任务40%的数据和任务60%的数据,然后合并并输出最终结果。
第五操作举例来说,基于预置的一些标签,例如待运行任务的数据可流式处理等种类标签,当当前系统所在的服务器/服务器集群上的预调度的容器都不满足所申请的容器规格时,当前只有很少的容器资源闲置都不足以将任务分给多个小规格容器来满足需求时,启动一个小规格容器资源,例如启动一个能够处理数据以启动运行任务的最小规格配置的容器,再将数据拆分成小规格容器资源可处理的范畴,如同流式处理,一份一份将数据输入该小规格容器资源,使小规格容器资源能够将所有数据处理掉,然后合并并输出最终结果。
本发明实施例中,可以根据任务的标签信息对任务进行分类。标签文化即放弃以原生定义分类来区分,而以任务本来所属标签特征来对任务分类,这样更加准确地对任务分类,遵循相似维度(标签)最多的可以认为等于同类的原则。即,在使用的容器资源规格相同的基础上,相似标签较多的任务可以认为属于严格的同类规格,后续的预估容器资源走势等,优选使用严格的同类规格容器资源进行。所述较多基于阈值X判断,例如为X=80%,即80%以上的标签相同的规格属于严格的同类规格。
本发明实施例中,可选的,所述第六操作包括:
若当前没有可使用的容器资源,预估当前运行的任务使用的容器资源的结束时间和排队的待运行任务的运行时长;
根据当前使用的容器资源的结束时间和排队的待运行任务的运行时长,确定排队的待运行任务的执行次序。
其中,可以基于任务的标签来预估当前运行任务的容器资源的结束时间(包括基于多个标签进行综合分析),以此预先对系统所在服务器/服务器集群容器资源的未来走势进行规划,从而更有效的处理等待申请容器资源的任务,以处理申请过多排队,或者结合历史申请数据预测再分配。
本发明实施例中,还可以通过任务的标签相似特征等,基于历史相似数据获取容器资源的大概运行时长,预估结束时间后对容器资源的处理,包括:直接转化后给其他的申请容器资源的任务使用,包括:相同规格复用、拆分成多个容器资源供多个任务使用、伸缩规格后使用等;或者将容器资源调整成一定标准规格后等待后续任务申请时继续使用;或者将容器资源关闭。通过此种方式对过多申请排队的情况,可以预测评估出最有效的处理排队申请方式,进而处理排队申请。当有多个申请容器资源的任务排队时,不完全是按顺序处理,而是基于规格、使用时长、能否拆分、能否流处理等信息,来判断任务的执行次序。
举例来说:当前有任务排队,而此时容器资源已经全部被使用,通过历史相似性数据统计来预估当前运行所有容器的结束时间,和排队任务的运行时长,来更加合理安排后续执行顺序,假设有一个5核5G内存的容器资源一分钟后结束,另一个3核3G内存的容器资源5分钟后结束,而排队申请的规格有2核2G内存、3核3G内存需运行4分钟,7核7G内存需运行10分钟,2个1核1G内存需运行5分钟,基于以上数据后续执行顺序是一分钟后先执行2核2G内存规格的申请,和3核3G内存规格的申请,等他们运行完后,正好最先的3核3G内存规格的容器资源也执行完成,再执行7核7G内存规格的申请和一个1个1G内存规格的申请,1核1G内存规格的申请执行完再执行另一个1核1G内存规格的申请,它基本上会同7核7G内存规格的申请同时结束,可基本同时释放容器资源。
通过上述实施例,可以更加合理的利用容器资源。
请参考图3,本发明实施例还提供一种资源的管理系统,包括:
第一获取模块,用于获取预设历史统计周期内容器资源的历史申请数据,所述历史申请数据包括:历史申请规格以及所述历史申请规格的容器资源的历史申请数量;
第一确定模块,用于根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;
第一预调度模块,用于在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度所述容器资源。
可选的,所述资源的管理系统还包括:
第二确定模块,用于确定预调度的容器资源的最大可占用硬件资源数量;
其中,所述第一确定模块确定的预调度的容器资源占用的硬件资源的总量不超过所述最大可占用硬件资源数量。
可选的,所述第一确定模块,用于获取预调度的第一规格的容器资源占用的硬件资源在预调度的容器资源的最大可占用硬件资源数量中的预置占比和所述预置占比的有效期;根据所述历史申请数据、所述第一规格的容器资源的预置占比和所述预置占比的有效期,确定未来的目标时间段内的预调度的容器资源的规格和数量。
可选的,所述第一确定模块,用于若根据所述历史申请数据预测出所述第一规格的容器资源在所述最大可占用硬件资源数量中的比例小于所述预置占比,确定所述第一规格的容器资源在预所述最大可占用硬件资源数量的总量中的比例为所述预置占比,根据所述预置占比确定所述第一规格的容器资源的数量;若根据所述历史申请数据预测出所述第一规格的容器资源在预所述最大可占用硬件资源数量的总量中的比例大于或等于所述预置占比,根据所述历史申请数据,确定所述第一规格的容器资源的数量。
可选的,所述第一确定模块,用于获取所述预设历史统计周期内申请过的每一规格的容器资源的历史申请数量;将所述预设历史统计周期内申请过的每一规格的容器资源均作为预调度的容器资源,根据所述历史申请数量计算各预调度的容器资源的数量。
可选的,所述第一确定模块,用于若计算出预调度的第二规格的容器资源的数量小于1,将所述第二规格的容器资源从预调度的容器资源中删除。
可选的,所述第一确定模块,用于对所述预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量进行排序,得到排序结果;根据所述排序结果,选择指定比例的所述容器资源作为预调度的容器资源;计算各预调度的容器资源的数量。
可选的,所述容器资源包括以下之一:Docker、Pouch、K8s container、MesosContainer和YARN Container。
可选的,所述容器资源的规格采用如下至少之一进行度量:处理器的物理核心数量、内存的大小、图形处理器的物理核心数量和外部存储资源的大小。
可选的,所述资源的管理系统还包括:
第一执行模块,用于若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用;
第二执行模块,用于若所述预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一:
第一操作:若待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用;
第二操作:若服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格,在所述服务器或者服务器集群调度满足申请的容器资源的规格的容器资源;
第三操作:若当前运行的任务使用的第三规格的容器资源在指定时长内可使用结束,且所述第三规格满足待运行任务申请的容器资源的规格,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;
第四操作:若所述待运行任务的数据可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用;
第五操作:若所述待运行任务的数据可流式处理,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源;
第六操作:排队等待下一批容器资源,所述下一批容器资源为所述第一操作、第二操作、第三操作、第四操作或第五操作运行完成后释放的容器资源。
可选的,所述资源的管理系统还包括:
第三确定模块,用于根据所述历史申请数据,确定未来的目标时间段内可能会被申请的多种规格的容器资源;
转化模块,用于若所述多种规格的容器资源中,具有可伸缩为指定规格的容器资源的可转化容器资源,将所述可转化容器资源进行规格伸缩处理转化为所述指定规格的容器资源。
可选的,所述第二执行模块,用于按照先后顺序依次执行所述第一操作、所述第二操作、所述第三操作、所述第四操作、所述第五操作和所述第六操作,其中,若不满足前一操作的执行条件,执行下一操作。
可选的,所述资源的管理系统还包括:
第二预调度模块,用于在所述若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用之后,确定所述目标容器资源的使用数量;预调度所述使用数量个与所述目标容器资源规格相同的容器资源。
可选的,所述资源的管理系统还包括:
第三预调度模块,用于在所述将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用之后,
确定所述目标容器资源的使用数量;
预调度所述使用数量个指定规格的容器资源。可选的,所述第六操作包括:
若当前没有可使用的容器资源,预估当前运行的任务使用的容器资源的结束时间和排队的待运行任务的运行时长;
根据当前使用的容器资源的结束时间和排队的待运行任务的运行时长,确定排队的待运行任务的执行次序。
可选的,所述资源的管理系统还包括:
第二获取模块,用于获取待运行任务的标签信息,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式;
根据所述标签信息,执行所述第四操作或第五操作。
可选的,所述资源的管理系统还包括:
第三获取模块,用于获取人工对所述待运行任务输入的标签信息;或者,利用上下文相似特征,自动对所述待运行任务添加标签信息;或者,基于所述待运行任务本身携带的标签,获取待运行任务的标签信息;或者,基于所述历史申请数据,获取待运行任务的标签信息;
其中,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式。
可选的,所述后续处理方式包括以下至少之一:伸缩容器资源的规格、拆分容器资源、可流式处理数据、复用容器资源和关闭容器资源。
本发明实施例还提供一种资源的管理系统,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述资源的管理方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述资源的管理方法的步骤。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种资源的管理方法,其特征在于,包括:
获取预设历史统计周期内容器资源的历史申请数据,所述历史申请数据包括:历史申请规格以及所述历史申请规格的容器资源的历史申请数量;
根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;
在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度所述容器资源。
2.如权利要求1所述的资源的管理方法,其特征在于,所述根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量包括:
对所述预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量进行排序,得到排序结果;
根据所述排序结果,选择指定比例的所述容器资源作为预调度的容器资源;
计算各预调度的容器资源的数量。
3.如权利要求1所述的资源的管理方法,其特征在于,所述预调度所述容器资源之后还包括:
若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用;
若所述预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一:
第一操作:若待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用;
第二操作:若服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格,在所述服务器或者服务器集群调度满足申请的容器资源的规格的目标容器资源;
第三操作:若当前运行的任务使用的第三规格的容器资源在指定时长内可使用结束,且所述第三规格满足待运行任务申请的容器资源的规格,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;
第四操作:若所述待运行任务的数据可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用;
第五操作:若所述待运行任务的数据可流式处理,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源;
第六操作:排队等待下一批容器资源,所述下一批容器资源为所述第一操作、第二操作、第三操作、第四操作或第五操作运行完成后释放的容器资源。
4.如权利要求1或3所述的资源的管理方法,其特征在于,还包括:
根据所述历史申请数据,确定未来的目标时间段内可能会被申请的多种规格的容器资源;
若所述多种规格的容器资源中,具有可伸缩为指定规格的容器资源的可转化容器资源,将所述可转化容器资源进行规格伸缩处理转化为所述指定规格的容器资源。
5.如权利要求1所述的资源的管理方法,其特征在于,还包括:
获取人工对所述待运行任务输入的标签信息;或者
利用上下文相似特征,自动对所述待运行任务添加标签信息;或者
基于所述待运行任务本身携带的标签,获取待运行任务的标签信息;或者
基于所述历史申请数据,获取待运行任务的标签信息;
其中,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式。
6.一种资源的管理系统,其特征在于,包括:
第一获取模块,用于获取预设历史统计周期内容器资源的历史申请数据,所述历史申请数据包括:历史申请规格以及所述历史申请规格的容器资源的历史申请数量;
第一确定模块,用于根据所述历史申请数据,确定未来的目标时间段内的预调度的容器资源的规格和数量;
第一预调度模块,用于在所述目标时间段开始之前,根据确定的预调度的容器资源的规格和数量,预调度所述容器资源。
7.如权利要求6所述的资源的管理系统,其特征在于,
所述第一确定模块,用于对所述预设历史统计周期内申请过的所有规格的容器资源按照历史申请数量进行排序,得到排序结果;根据所述排序结果,选择指定比例的所述容器资源作为预调度的容器资源;计算各预调度的容器资源的数量。
8.如权利要求6所述的资源的管理系统,其特征在于,还包括:
第一执行模块,用于若预调度的容器资源中包括与待运行任务申请的容器资源规格相同的目标容器资源,将所述目标容器资源提供给所述待运行任务使用;
第二执行模块,用于若所述预调度的容器资源中不包括与待运行任务申请的容器资源规格相同的目标容器资源,执行以下操作至少之一:
第一操作:若待运行任务申请的容器资源位于预调度的容器资源中的指定规格的容器资源的规格伸缩范围内,将所述指定规格的容器资源的规格转化为与申请的容器资源规格相同的目标容器资源,并提供给所述待运行任务使用;
第二操作:若服务器或者服务器集群的剩余硬件资源能够满足待运行任务申请的容器资源的规格,在所述服务器或者服务器集群调度满足申请的容器资源的规格的目标容器资源;
第三操作:若当前运行的任务使用的第三规格的容器资源在指定时长内可使用结束,且所述第三规格满足待运行任务申请的容器资源的规格,等待所述指定时长后,将所述第三规格的容器资源作为目标容器资源提供给所述待运行任务使用;
第四操作:若所述待运行任务的数据可拆分为M份子数据,且预调度的容器资源中具有M份可满足所述子数据的目标容器资源,将所述待运行任务的数据拆分为M份子数据,并将所述M份的目标容器资源提供给所述待运行任务使用;
第五操作:若所述待运行任务的数据可流式处理,将所述待运行任务的数据拆分成Z份子数据,并从预调度的容器资源中选取能够满足每一份所述子数据的目标容器资源,将拆分后的Z份子数据依次输入至所述目标容器资源;
第六操作:排队等待下一批容器资源,所述下一批容器资源为所述第一操作、第二操作、第三操作、第四操作或第五操作运行完成后释放的容器资源。
9.如权利要求6或8所述的资源的管理系统,其特征在于,还包括:
第三确定模块,用于根据所述历史申请数据,确定未来的目标时间段内可能会被申请的多种规格的容器资源;
转化模块,用于若所述多种规格的容器资源中,具有可伸缩为指定规格的容器资源的可转化容器资源,将所述可转化容器资源进行规格伸缩处理转化为所述指定规格的容器资源。
10.如权利要求6所述的资源的管理系统,其特征在于,还包括:
第三获取模块,用于获取人工对所述待运行任务输入的标签信息;或者,利用上下文相似特征,自动对所述待运行任务添加标签信息;或者,基于所述待运行任务本身携带的标签,获取待运行任务的标签信息;或者,基于所述历史申请数据,获取待运行任务的标签信息;
其中,所述标签信息包括以下至少之一:所述待运行任务的数据可拆分,所述待运行任务的数据可流式处理,所述待运行任务的运行时长,以及,所述待运行任务使用的容器资源的后续处理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580357.4A CN110287003B (zh) | 2019-06-28 | 2019-06-28 | 资源的管理方法和管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580357.4A CN110287003B (zh) | 2019-06-28 | 2019-06-28 | 资源的管理方法和管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287003A true CN110287003A (zh) | 2019-09-27 |
CN110287003B CN110287003B (zh) | 2020-04-21 |
Family
ID=68020167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580357.4A Active CN110287003B (zh) | 2019-06-28 | 2019-06-28 | 资源的管理方法和管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287003B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825520A (zh) * | 2019-10-18 | 2020-02-21 | 山东省计算中心(国家超级计算济南中心) | 一种实现资源高效利用的集群极速弹性伸缩方法 |
CN110990138A (zh) * | 2019-12-04 | 2020-04-10 | 北京三快在线科技有限公司 | 资源调度方法、装置、服务器及存储介质 |
CN111209118A (zh) * | 2020-01-14 | 2020-05-29 | 北京三快在线科技有限公司 | 确定资源余量的方法、装置、存储介质和电子设备 |
CN111679891A (zh) * | 2020-08-14 | 2020-09-18 | 支付宝(杭州)信息技术有限公司 | 容器复用方法、装置、设备以及存储介质 |
CN111831391A (zh) * | 2020-06-08 | 2020-10-27 | 北京百度网讯科技有限公司 | 自动驾驶仿真系统之中预置容器的管理方法和装置 |
CN112256436A (zh) * | 2020-11-09 | 2021-01-22 | 上海钐昆网络科技有限公司 | 资源分配方法、装置、设备及计算机存储介质 |
CN113434248A (zh) * | 2021-06-17 | 2021-09-24 | 中国科学院电子学研究所苏州研究院 | 一种面向容器云的任务协同调度系统及其方法 |
CN114003340A (zh) * | 2021-10-26 | 2022-02-01 | 深圳证券信息有限公司 | 容器集群弹性伸缩方法、装置、设备及存储介质 |
CN114237820A (zh) * | 2021-12-07 | 2022-03-25 | 中兴通讯股份有限公司 | 一种容器预加载方法、电子设备及存储介质 |
CN114416280A (zh) * | 2021-12-20 | 2022-04-29 | 深信服科技股份有限公司 | 一种需求资源预测方法、装置、设备及存储介质 |
CN114579268A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 资源调度方法以及装置 |
CN114780170A (zh) * | 2022-04-11 | 2022-07-22 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
WO2022247287A1 (zh) * | 2021-05-27 | 2022-12-01 | 华为云计算技术有限公司 | 一种资源调度方法及装置 |
CN116257360A (zh) * | 2023-03-09 | 2023-06-13 | 上海道客网络科技有限公司 | 一种基于历史使用数据规划容器组资源的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100203A1 (en) * | 2003-07-07 | 2009-04-16 | Dong Wei | Method and apparatus for providing updated processor polling information |
CN106776025A (zh) * | 2016-12-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种计算机集群作业调度方法及其装置 |
CN107038072A (zh) * | 2016-02-03 | 2017-08-11 | 博雅网络游戏开发(深圳)有限公司 | 基于Hadoop系统的任务调度方法和装置 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
US20170357531A1 (en) * | 2016-06-13 | 2017-12-14 | Alibaba Group Holding Limited | Priority-based resource allocation |
CN109873718A (zh) * | 2019-01-23 | 2019-06-11 | 平安科技(深圳)有限公司 | 一种容器自适应伸缩方法、服务器及存储介质 |
-
2019
- 2019-06-28 CN CN201910580357.4A patent/CN110287003B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100203A1 (en) * | 2003-07-07 | 2009-04-16 | Dong Wei | Method and apparatus for providing updated processor polling information |
CN107038072A (zh) * | 2016-02-03 | 2017-08-11 | 博雅网络游戏开发(深圳)有限公司 | 基于Hadoop系统的任务调度方法和装置 |
US20170357531A1 (en) * | 2016-06-13 | 2017-12-14 | Alibaba Group Holding Limited | Priority-based resource allocation |
CN106776025A (zh) * | 2016-12-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种计算机集群作业调度方法及其装置 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN109873718A (zh) * | 2019-01-23 | 2019-06-11 | 平安科技(深圳)有限公司 | 一种容器自适应伸缩方法、服务器及存储介质 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825520A (zh) * | 2019-10-18 | 2020-02-21 | 山东省计算中心(国家超级计算济南中心) | 一种实现资源高效利用的集群极速弹性伸缩方法 |
CN110825520B (zh) * | 2019-10-18 | 2023-08-29 | 山东省计算中心(国家超级计算济南中心) | 一种实现资源高效利用的集群极速弹性伸缩方法 |
CN110990138A (zh) * | 2019-12-04 | 2020-04-10 | 北京三快在线科技有限公司 | 资源调度方法、装置、服务器及存储介质 |
CN111209118A (zh) * | 2020-01-14 | 2020-05-29 | 北京三快在线科技有限公司 | 确定资源余量的方法、装置、存储介质和电子设备 |
CN111831391A (zh) * | 2020-06-08 | 2020-10-27 | 北京百度网讯科技有限公司 | 自动驾驶仿真系统之中预置容器的管理方法和装置 |
CN111831391B (zh) * | 2020-06-08 | 2023-09-22 | 北京百度网讯科技有限公司 | 自动驾驶仿真系统之中预置容器的管理方法和装置 |
CN111679891A (zh) * | 2020-08-14 | 2020-09-18 | 支付宝(杭州)信息技术有限公司 | 容器复用方法、装置、设备以及存储介质 |
CN112256436A (zh) * | 2020-11-09 | 2021-01-22 | 上海钐昆网络科技有限公司 | 资源分配方法、装置、设备及计算机存储介质 |
CN112256436B (zh) * | 2020-11-09 | 2021-11-23 | 上海钐昆网络科技有限公司 | 资源分配方法、装置、设备及计算机存储介质 |
WO2022247287A1 (zh) * | 2021-05-27 | 2022-12-01 | 华为云计算技术有限公司 | 一种资源调度方法及装置 |
CN113434248A (zh) * | 2021-06-17 | 2021-09-24 | 中国科学院电子学研究所苏州研究院 | 一种面向容器云的任务协同调度系统及其方法 |
CN113434248B (zh) * | 2021-06-17 | 2022-02-01 | 苏州空天信息研究院 | 一种面向容器云的任务协同调度系统及其方法 |
CN114003340A (zh) * | 2021-10-26 | 2022-02-01 | 深圳证券信息有限公司 | 容器集群弹性伸缩方法、装置、设备及存储介质 |
CN114237820A (zh) * | 2021-12-07 | 2022-03-25 | 中兴通讯股份有限公司 | 一种容器预加载方法、电子设备及存储介质 |
CN114416280A (zh) * | 2021-12-20 | 2022-04-29 | 深信服科技股份有限公司 | 一种需求资源预测方法、装置、设备及存储介质 |
CN114579268A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 资源调度方法以及装置 |
CN114780170A (zh) * | 2022-04-11 | 2022-07-22 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
CN114780170B (zh) * | 2022-04-11 | 2023-07-21 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
CN116257360A (zh) * | 2023-03-09 | 2023-06-13 | 上海道客网络科技有限公司 | 一种基于历史使用数据规划容器组资源的方法和系统 |
CN116257360B (zh) * | 2023-03-09 | 2023-09-08 | 上海道客网络科技有限公司 | 一种基于历史使用数据规划容器组资源的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287003B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287003A (zh) | 资源的管理方法和管理系统 | |
US11720403B2 (en) | System for commitment-aware workload scheduling based on anticipated resource consumption levels | |
CN103324525B (zh) | 一种云计算环境下的任务调度方法 | |
US11294733B2 (en) | Dynamic autoscaler for cloud platform | |
Salot | A survey of various scheduling algorithm in cloud computing environment | |
CN110825520B (zh) | 一种实现资源高效利用的集群极速弹性伸缩方法 | |
CN103761147B (zh) | 一种云平台中计算实例的管理方法及系统 | |
CN109857535B (zh) | 面向Spark JDBC的任务优先级控制的实现方法及装置 | |
CN109861850B (zh) | 一种基于sla的无状态云工作流负载均衡调度的方法 | |
US8843929B1 (en) | Scheduling in computer clusters | |
US20080104605A1 (en) | Methods and apparatus for dynamic placement of heterogeneous workloads | |
US20130007753A1 (en) | Elastic scaling for cloud-hosted batch applications | |
CN106326003B (zh) | 一种作业调度和计算资源分配方法 | |
CN108108225B (zh) | 一种面向云计算平台的任务调度方法 | |
CN110308967A (zh) | 一种基于混合云的工作流成本-延迟最优化任务分配方法 | |
CN110196773B (zh) | 统一调度计算资源的多时间尺度安全校核系统及方法 | |
US20090210878A1 (en) | System and method for data management job planning and scheduling with finish time guarantee | |
CN109542608A (zh) | 一种基于混合排队网络的云仿真任务调度方法 | |
CN105389204B (zh) | 一种多资源偏序调度方法 | |
CN108920265A (zh) | 一种基于服务器集群的任务执行方法及服务器 | |
CN101609417A (zh) | 基于VxWorks操作系统的混合任务集调度方法 | |
CN109491775A (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
CN106407007B (zh) | 面向弹性分析流程的云资源配置优化方法 | |
Singh et al. | A comparative study of various scheduling algorithms in cloud computing | |
CN111222668A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |