CN113672368A - 任务调度方法及系统 - Google Patents
任务调度方法及系统 Download PDFInfo
- Publication number
- CN113672368A CN113672368A CN202110947755.2A CN202110947755A CN113672368A CN 113672368 A CN113672368 A CN 113672368A CN 202110947755 A CN202110947755 A CN 202110947755A CN 113672368 A CN113672368 A CN 113672368A
- Authority
- CN
- China
- Prior art keywords
- target
- task
- container
- resource
- target task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000008569 process Effects 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000000670 limiting effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000002955 isolation Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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)
- Stored Programmes (AREA)
Abstract
本申请公开了一种任务调度方法,所述方法包括:接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;根据所述目标任务类型,从多个待选镜像中选择目标镜像;及基于所述目标镜像创建目标容器;其中,所述目标容器用于运行所述目标任务。本申请提供的方法,通过目标任务的目标任务类型,从多个待选镜像中选择出目标镜像,以获取所依赖的环境,能够确保所述目标任务的运行不依赖宿主机环境,扩容便捷;由于每个镜像为某一类型的任务提供容器创建等服务,因此,每个镜像可以做到体积小、扩容方便。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务调度方法、系统、计算机设备和计算机可读存储介质,以及服务器。
背景技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的Docker容器中,然后发布到任何流行的各种物理机上,也可以实现虚拟化。Docker能够虚拟出多个Docker容器,每个Docker容器使用沙箱机制,相互隔离没有接口,可以将彼此的生产环境和开发环境分开,互不影响。
容器的运行需要依赖镜像。物理机器中的环境复杂,各个容器所依赖的环境、软件各不相同。一般将各种依赖软件安装到物理机器中或集成到一个镜像中。但是,将各种依赖软件安装到物理机器中或集成到一个镜像,会导致如下问题:需要依赖复杂的宿主主机(物理机器),或镜像文件体积大,且扩容不便。
发明内容
本申请实施例的目的是提供一种任务调度方法、系统、计算机设备及计算机可读存储介质,以及服务器,用于解决以下问题:需要依赖复杂的宿主主机,或镜像文件体积大,且扩容不便。
本申请实施例的一个方面提供了一种任务调度方法,所述方法包括:
接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
根据所述目标任务类型,从多个待选镜像中选择目标镜像;及
基于所述目标镜像创建目标容器;其中,所述目标容器用于运行所述目标任务。
可选的,还包括:动态设置所述目标容器的资源使用权限;
所述资源使用权限用于限制所述目标任务对资源的最大使用上限,所述资源包括CPU资源和/或内存资源。
可选的,还包括:
判断所述资源使用权限是否满足所述目标任务的当前资源需求;及
若所述资源使用权限无法满足所述目标任务的当前资源需求,则停止运行所述目标任务和所述目标容器。
可选的,还包括:
预先收集各个任务的任务类型,以得到多个任务类型;及
为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。
可选的,所述根据所述目标任务类型,从多个待选镜像中选择目标镜像,包括:通过执行节点从所述多个待选镜像中选择所述目标镜像,并向守护进程发起容器创建请求;
所述基于所述目标镜像创建目标容器,包括:通过所述守护进程获取所述容器创建请求;并响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
可选的,还包括:
将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或
通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。
本申请实施例的一个方面又提供了一种任务调度系统,所述系统包括:
接收模块,用于接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
选择模块,用于根据所述目标任务类型,从多个待选镜像中选择目标镜像;及
创建模块,用于基于所述目标镜像创建目标容器,所述目标容器用于运行所述目标任务。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上述任务调度方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述任务调度方法的步骤。
本申请实施例的一个方面又提供了一种服务器,被配置执行节点和守护进程,其中:
所述执行节点接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
所述执行节点根据所述目标任务类型,从多个待选镜像中选择目标镜像;
所述执行节点向守护进程发起容器创建请求;
所述守护进程响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
可选的,所述执行节点被配置预定大小的资源,所述资源供所述目标任务和其他任务共用;
所述执行节点将设置参数提供给所述守护进程;
所述守护进程根据所述设置参数设置所述目标容器的资源使用权限;所述资源使用权限用于限制所述目标任务对所述资源的最大使用上限,所述资源包括CPU资源和/或内存资源。
可选的,所述守护进程还用于:
将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或
通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。
可选的,所述服务器还配置有镜像配置程序,用于:
预先收集各个任务的任务类型,以得到多个任务类型;及
为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。
本申请实施例提供的任务调度方法、系统、设备及计算机可读存储介质,以及服务器,包括如下优点:
(1)通过目标任务的目标任务类型,从多个待选镜像中选择出目标镜像,以获取所依赖的环境,能够确保所述目标任务的运行不依赖宿主机环境,扩容便捷;
(2)由于每个镜像为某一类型的任务提供容器创建等服务,因此,每个镜像可以做到体积小、且扩容方便,且降低了服务器(宿主主机)的运行压力。
附图说明
图1示意性示出了根据本申请实施例的任务调度方法的环境架构图;
图2示意性示出了根据本申请实施例一的服务器的操作流程图;
图3示意性示出了根据本申请实施例一的服务器中的软件结构图;
图4示意性示出了根据本申请实施例二的任务调度方法的流程图;
图5至8示意性示出了根据本申请实施例二的任务调度方法的新增步骤流程图;
图9示意性示出了根据本申请实施例三的任务调度系统的框图;及
图10示意性示出了根据本申请实施例四的适于实现任务调度方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
控制节点(ControlNode):负责任务触发,任务依赖,任务限流,任务路由,任务状态变更等;
执行节点(ExecuteNode):负责任务提交,任务状态上报,任务日志采集,任务结果采集等;
容器,允许单个进程以比普通Unix进程更高水平的隔离性运行。例如提供游戏程序运行的虚拟OS,具有轻量级,性能损耗小,能更高效利用服务器资源等特点。
图1示意性示出了根据本申请实施例的任务调度方法的环境架构图。
如图1所示,控制侧2可以通过一个或多个网络调用执行侧4。
控制侧2,可以包括多个控制节点,如控制节点2A、2B、2C。其中,控制节点2A作为主节点,用于向执行侧4提交任务(作业)。控制节点2B、2C为备用节点,在控制节点2A出现故障之后,替代控制节点2A作为主节点,以确保控制侧2的有效运行。
一个或多个网络,包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。一个或多个网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络可以包括无线链路,诸如蜂窝链路,卫星链路,Wi-Fi链路等。
执行侧4,运行有执行节点4A、守护进程4B。响应于控制侧2提交的任务,执行节点4A和守护进程4B交互,进而创建容器4C,启动容器4C,获取容器4C的状态,停止容器4C等操作,通过容器4C执行所述任务,任务日志重定向到本地文件。
在同一个执行节点4A所有任务共用执行节点的内存和CPU,通过容器运行任务,可以动态设置每一个任务的最大资源情况,从而隔离各个任务间的资源使用。在具体应用中,每一个执行节点(例如,4A)可以部署一个容器管理引擎。
控制侧2、执行侧4可以是各类服务器,如机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)。
在上述示例性的运行架构下,本申请将提供多个用于任务调度的实施例,具体参照下文。
实施例一
继续参考图1,以下介绍一种服务器,该服务器位于执行侧4中,或作为执行侧4。
如图2所示,所述服务器,被配置执行节点4A和守护进程4B,用于执行如下操作:
步骤S200,所述执行节点4A接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型。
步骤S202,所述执行节点4A根据所述目标任务类型,从多个待选镜像中选择目标镜像。
步骤S204,所述执行节点4A向守护进程4B发起容器创建请求。
步骤S206,所述守护进程4B响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
执行节点4A可以无限横向扩展,每个执行节点4A关联一个容器引擎。
执行节点4A可以执行一个或多个任务。若执行节点4A同时运行多个任务,会造成如下情况:所述多个任务之间可以共用执行节点4A的资源(如CPU资源、内存资源),但任务之间无法资源隔离,造成任务间相互影响。因此,可以为每个任务配置一个容器,每个任务运行在各自容器中,以进行资源隔离。具体的,在所述服务器中配置一个容器引擎,该容器引擎可以用于配置多个容器,该容器引擎启动后通过守护进程提供容器管理服务以及和执行节点4A交互。
在实际应用中,执行节点4A可以接收控制侧2下发的待执行任务,如所述目标任务。控制侧2的任务下发可以被手动触发,亦可以被自动触发,如基于时间触发。接收到控制侧2提交的目标任务之后,执行节点4A和守护进程4B交互以实施所述目标任务,所述目标任务的生命周期可以包括:创建目标容器、启动目标容器、获取目标容器的状态、获取目标容器的日志、停止目标容器、移除目标容器。其中,创建目标容器对应提交目标任务。启动目标容器对应于运行目标任务。获取目标容器的状态和获取目标容器的日志是所述目标任务运行时的交互操作。停止目标容器对应停止所述目标任务,停止目标容器这一操作并不是必须的,可以自动完成。移除目标容器对应所述任务状态达到最终触发的操作。
其中,所述目标容器的创建和运行,需要依赖镜像。
在实际应用中,所述服务器中的环境复杂,各个容器所依赖的环境、软件各不相同。一般将各种依赖软件集成到一个镜像中,从而通过该镜像提供容器管理服务。但是上述做法会出现以下问题:镜像文件体积大、运行慢,且扩容不便。其中,扩容不便可以体现在:第一、耗时;第二、不同依赖软件之间相互影响,从而极大地降低了扩容的效率和使用体验。在本实施例中,准备多个待选镜像,根据不同的任务类型选择不同的镜像,以创建容器。在本实施例中,由于每个镜像仅为特定类型的任务提供容器创建等服务,因此,每个镜像可以做到体积小、运行快、扩容方便,降低了服务器(物理机器)的运行压力。
如图3所示:(1)若所述目标任务为“Hive任务”,则只需要启动包含Hadoop和Hive构建的镜像;(2)若所述目标任务为“Spark任务”,则只需要启动包含Hadoop和Spark构建的镜像。基于此,不需将Hadoop、Hive和Spark都安装到物理机器上,而是将相关软件全部构建到镜像中,物理机器上不安装相关软件,省时省力,易于扩容。且,可以针对任务类型定制多个待选镜像,确保任务运行不依赖宿主机环境,扩容便捷,通过不同的镜像实现环境的隔离。
综上,本申请实施例提供的服务器,可以包括如下优点:
(1)为目标任务创建目标容器,使目标任务与执行节点4A的其他任务进行资源隔离;
(2)通过目标任务的目标任务类型,从多个待选镜像中选择出目标镜像,以获取所依赖的环境,能够确保所述目标任务的运行不依赖宿主机环境,扩容便捷;
(3)不同的任务类型对应不同的镜像,从而可以实现不同类型的任务的环境隔离;
(4)由于每个镜像为某一类型的任务提供容器创建等服务,因此,每个镜像可以做到体积小、运行快、扩容方便,且降低了服务器(物理机器)的运行压力。
作为示例,所述服务器可以预先配置多个镜像,具体操作如下:预先收集各个任务的任务类型,以得到多个任务类型;及为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。在本实施例中,为不同类型的任务分配配置一个镜像,从而可以实现不同类型的任务的环境隔离,并实现每个镜像体积小、运行快、扩容方便,增加服务器的安全性和降低压力。
作为示例,所述执行节点被配置预定大小的资源,所述资源供所述目标任务和其他任务共用;所述执行节点将设置参数提供给所述守护进程;所述守护进程根据所述设置参数设置所述目标容器的资源使用权限;所述资源使用权限用于限制所述目标任务对所述资源的最大使用上限,所述资源包括CPU资源和/或内存资源。举例来说,可以自定义所述目标容器能够使用的最大内存资源、最大CPU资源等。其中,内存可以设置阈值大小。CPU可以设置以下两个参数:第一,cpu-period,用于指定目标容器对CPU的使用要在多长时间内做一次重新分配;第二,cpu-quota,用于指定在这个周期内,最多可以有多少时间用来运行目标容器。在本实施例中,实现了任务运行的资源隔离和最高使用资源的限定,防止单个任务的资源需求过大造成服务器压力过大或占用其他任务的资源。
作为示例,所述服务器还用于:判断所述资源使用权限是否满足所述目标任务的当前资源需求;及若所述资源使用权限无法满足所述目标任务的当前资源需求,则停止运行所述目标任务和所述目标容器。在本实施例中,为防止目标任务的资源需求过大造成的崩溃,停止运行所述目标容器,确保服务器正常运行。
作为示例,所述守护进程4B还用于:将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。在本实施例中,针对目标任务的关键信息采集包括:任务日志、任务状态和任务结果。任务结果可以保存在日志中或者无显示结果返回。因此,关键信息采集可以仅包括:任务日志和任务状态。
(1)目标容器可以独立运行,任务日志可以自动重定向到指定文件;
(2)任务状态,可以通过守护进程查询得到,从而使得执行节点4A无需关心任务状态,实现执行节点4A服务的无状态化,进而使得执行节点4A更方便迭代升级。具体的,执行节点服务的有状态化:执行节点需要监测特定服务器的特定任务,当执行节点升级或重启之后,执行节点无法得知当前任务的任务状态,需要当前任务重新运行一遍,导致资源浪费。在本实施例中,执行节点的无状态化,通过守护进程监测目标任务的任务状态,执行节点升级或重启之后,可以基于容器标识等通过守护进程获取当前任务(如,所述目标任务)的任务状态。即,执行节点的升级或重启不会影响到任务的运行,不需要从重新运行目标任务。
实施例二
本实施例提供的任务调度方法,具体技术细节和效果可以参见上文。
图4示意性示出了根据本申请实施例二的任务调度方法的流程图。
如图4所示,该任务调度方法可以包括步骤S400~S404,其中:
步骤S400,接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
步骤S402,根据所述目标任务类型,从多个待选镜像中选择目标镜像;
步骤S404,基于所述目标镜像创建目标容器;其中,所述目标容器用于运行所述目标任务。
作为示例,如图5所示,所述方法还可以包括步骤S500:
步骤S500,动态设置所述目标容器的资源使用权限;
所述资源使用权限用于限制所述目标任务对资源的最大使用上限,所述资源包括CPU资源和/或内存资源。
作为示例,如图6所示,所述方法还可以包括步骤S600~S602:
步骤S600,判断所述资源使用权限是否满足所述目标任务的当前资源需求;及
步骤S602,若所述资源使用权限无法满足所述目标任务的当前资源需求,则停止运行所述目标任务和所述目标容器。
作为示例,如图7所示,所述方法还可以包括步骤S700~S702:
步骤S700,预先收集各个任务的任务类型,以得到多个任务类型;及
步骤S702,为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。
作为示例,步骤S402还可以包括:通过执行节点从所述多个待选镜像中选择所述目标镜像,并向守护进程发起容器创建请求;相应的,步骤S404还可以包括:所述基于所述目标镜像创建目标容器,包括:通过所述守护进程获取所述容器创建请求;并响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
作为示例,如图8所示,所述方法还可以包括步骤S800~S802:
步骤S800,将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或
步骤S802,通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。
实施例三
图9示意性示出了根据本申请实施例三的任务调度系统的框图。该任务调度系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图9所示,该任务调度系统900可以包括接收模块910、选择模块920和创建模块930,其中:
接收模块910,用于接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
选择模块920,用于根据所述目标任务类型,从多个待选镜像中选择目标镜像;及
创建模块930,用于基于所述目标镜像创建目标容器,所述目标容器用于运行所述目标任务。
作为示例,所述系统还可以包括设置模块(未标识),用于:
动态设置所述目标容器的资源使用权限;
所述资源使用权限用于限制所述目标任务对资源的最大使用上限,所述资源包括CPU资源和/或内存资源。
作为示例,所述系统还可以包括停止模块(未标识),用于:
判断所述资源使用权限是否满足所述目标任务的当前资源需求;及
若所述资源使用权限无法满足所述目标任务的当前资源需求,则停止运行所述目标任务和所述目标容器。
作为示例,所述系统还可以包括配置模块(未标识),用于:
预先收集各个任务的任务类型,以得到多个任务类型;及
为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。
作为示例,所述选择模块920,还用于:通过执行节点从所述多个待选镜像中选择所述目标镜像,并向守护进程发起容器创建请求;相应的,所述创建模块930,还用于:所述基于所述目标镜像创建目标容器,包括:通过所述守护进程获取所述容器创建请求;并响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
作为示例,所述系统还可以包括重定向模块(未标识)和监测模块(未标识):
所述重定向模块,用于将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或
所述监测模块,用于通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。
实施例四
图10示意性示出了根据本申请实施例四的适于实现任务调度方法的计算机设备10000的硬件架构示意图。本实施例中,计算机设备10000可以为执行侧4或执行侧4的一部分。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图10所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如任务调度方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件10010-10030的计算机设备,但是应该理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的任务调度方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请实施例。
实施例五
本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的任务调度方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中任务调度方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,本申请技术方案主要/特别针对基于DASH流媒体的Web播放器的优化。另外,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (13)
1.一种任务调度方法,其特征在于,所述方法包括:
接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
根据所述目标任务类型,从多个待选镜像中选择目标镜像;及
基于所述目标镜像创建目标容器;其中,所述目标容器用于运行所述目标任务。
2.根据权利要求1所述的任务调度方法,其特征在于,还包括:
动态设置所述目标容器的资源使用权限;
所述资源使用权限用于限制所述目标任务对资源的最大使用上限,所述资源包括CPU资源和/或内存资源。
3.根据权利要求2所述的任务调度方法,其特征在于,还包括:
判断所述资源使用权限是否满足所述目标任务的当前资源需求;及
若所述资源使用权限无法满足所述目标任务的当前资源需求,则停止运行所述目标任务和所述目标容器。
4.根据权利要求1所述的任务调度方法,其特征在于,还包括:
预先收集各个任务的任务类型,以得到多个任务类型;及
为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。
5.根据权利要求1至4任意一项所述的任务调度方法,其特征在于,
所述根据所述目标任务类型,从多个待选镜像中选择目标镜像,包括:通过执行节点从所述多个待选镜像中选择所述目标镜像,并向守护进程发起容器创建请求;
所述基于所述目标镜像创建目标容器,包括:通过所述守护进程获取所述容器创建请求;并响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
6.根据权利要求5所述的任务调度方法,其特征在于,还包括:
将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或
通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。
7.一种任务调度系统,其特征在于,所述系统包括:
接收模块,用于接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
选择模块,用于根据所述目标任务类型,从多个待选镜像中选择目标镜像;及
创建模块,用于基于所述目标镜像创建目标容器,所述目标容器用于运行所述目标任务。
8.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至6中任意一项所述的任务调度方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至6中任意一项所述的任务调度方法的步骤。
10.一种服务器,其特征在于,被配置执行节点和守护进程,其中:
所述执行节点接收针对目标任务的调度请求,所述调度请求包括所述目标任务的目标任务类型;
所述执行节点根据所述目标任务类型,从多个待选镜像中选择目标镜像;
所述执行节点向守护进程发起容器创建请求;
所述守护进程响应于所述容器创建请求,基于所述目标镜像创建所述目标容器。
11.根据权利要求10所述的服务器,其特征在于:
所述执行节点被配置预定大小的资源,所述资源供所述目标任务和其他任务共用;
所述执行节点将设置参数提供给所述守护进程;
所述守护进程根据所述设置参数设置所述目标容器的资源使用权限;所述资源使用权限用于限制所述目标任务对所述资源的最大使用上限,所述资源包括CPU资源和/或内存资源。
12.根据权利要求10所述的服务器,其特征在于,所述守护进程还用于:
将所述目标容器在其生命周期内的任务日志重定向到指定文件;和/或
通过所述守护进程监测所述目标容器内的目标任务的任务状态,为所述执行节点提供状态查询服务。
13.根据权利要求10至12任意一项所述的服务器,其特征在于,所述服务器还配置有镜像配置程序,用于:
预先收集各个任务的任务类型,以得到多个任务类型;及
为每个任务类型分别配置一个镜像,每个任务类型对应的镜像被配置提供相应任务的运行环境。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110947755.2A CN113672368A (zh) | 2021-08-18 | 2021-08-18 | 任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110947755.2A CN113672368A (zh) | 2021-08-18 | 2021-08-18 | 任务调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672368A true CN113672368A (zh) | 2021-11-19 |
Family
ID=78543539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110947755.2A Pending CN113672368A (zh) | 2021-08-18 | 2021-08-18 | 任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672368A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090183A (zh) * | 2021-11-25 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 一种应用启动方法、装置、计算机设备和存储介质 |
CN116954869A (zh) * | 2023-09-18 | 2023-10-27 | 武汉信安珞珈科技有限公司 | 任务调度系统及方法、设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809025A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种项目上线方法及装置 |
CN105704458A (zh) * | 2016-03-22 | 2016-06-22 | 北京邮电大学 | 基于容器技术的视频监控云服务的平台实现方法及系统 |
CN109376017A (zh) * | 2019-01-07 | 2019-02-22 | 人和未来生物科技(长沙)有限公司 | 基于容器的云计算平台任务处理方法、系统及其应用方法 |
WO2019095936A1 (zh) * | 2017-11-15 | 2019-05-23 | 腾讯科技(深圳)有限公司 | 容器镜像的构建方法、系统、服务器、装置及存储介质 |
CN110275761A (zh) * | 2018-03-16 | 2019-09-24 | 华为技术有限公司 | 调度方法、装置和主节点 |
US20190391844A1 (en) * | 2018-11-06 | 2019-12-26 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Task orchestration method and system |
CN111414234A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市网心科技有限公司 | 镜像容器创建方法及装置、计算机装置及存储介质 |
US20210011762A1 (en) * | 2018-03-30 | 2021-01-14 | Huawei Technologies Co., Ltd. | Deep Learning Job Scheduling Method and System and Related Device |
US20210191780A1 (en) * | 2020-09-30 | 2021-06-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for processing development machine operation task, device and storage medium |
-
2021
- 2021-08-18 CN CN202110947755.2A patent/CN113672368A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809025A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种项目上线方法及装置 |
CN105704458A (zh) * | 2016-03-22 | 2016-06-22 | 北京邮电大学 | 基于容器技术的视频监控云服务的平台实现方法及系统 |
WO2019095936A1 (zh) * | 2017-11-15 | 2019-05-23 | 腾讯科技(深圳)有限公司 | 容器镜像的构建方法、系统、服务器、装置及存储介质 |
CN110275761A (zh) * | 2018-03-16 | 2019-09-24 | 华为技术有限公司 | 调度方法、装置和主节点 |
US20210011762A1 (en) * | 2018-03-30 | 2021-01-14 | Huawei Technologies Co., Ltd. | Deep Learning Job Scheduling Method and System and Related Device |
US20190391844A1 (en) * | 2018-11-06 | 2019-12-26 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Task orchestration method and system |
CN109376017A (zh) * | 2019-01-07 | 2019-02-22 | 人和未来生物科技(长沙)有限公司 | 基于容器的云计算平台任务处理方法、系统及其应用方法 |
CN111414234A (zh) * | 2020-03-20 | 2020-07-14 | 深圳市网心科技有限公司 | 镜像容器创建方法及装置、计算机装置及存储介质 |
US20210191780A1 (en) * | 2020-09-30 | 2021-06-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for processing development machine operation task, device and storage medium |
Non-Patent Citations (1)
Title |
---|
陈敏等: "《大数据浪潮:大数据整体解决方案及关键技术探索》", 31 December 2015, 《华中科技大学出版社》, pages: 1 - 3 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090183A (zh) * | 2021-11-25 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 一种应用启动方法、装置、计算机设备和存储介质 |
CN114090183B (zh) * | 2021-11-25 | 2023-07-21 | 抖音视界有限公司 | 一种应用启动方法、装置、计算机设备和存储介质 |
CN116954869A (zh) * | 2023-09-18 | 2023-10-27 | 武汉信安珞珈科技有限公司 | 任务调度系统及方法、设备 |
CN116954869B (zh) * | 2023-09-18 | 2023-12-19 | 武汉信安珞珈科技有限公司 | 任务调度系统及方法、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
US10949237B2 (en) | Operating system customization in an on-demand network code execution system | |
CN107145380B (zh) | 虚拟资源编排方法及装置 | |
CN108255497B (zh) | 一种应用的部署方法及装置 | |
US10628228B1 (en) | Tiered usage limits across compute resource partitions | |
CN110224860B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN113296792B (zh) | 存储方法、装置、设备、存储介质和系统 | |
CN112506617B (zh) | Kubernetes集群中边车容器的镜像更新方法及装置 | |
CN113672368A (zh) | 任务调度方法及系统 | |
EP3442201B1 (en) | Cloud platform construction method and cloud platform | |
CN113961312A (zh) | 目标服务的部署方法、装置和电子设备 | |
EP3901770A1 (en) | Method and device for instantiating virtualized network function | |
EP3879875A1 (en) | Resource change method and device, apparatus, and storage medium | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN108319492B (zh) | 复位物理机的方法、装置与系统 | |
CN107534577B (zh) | 一种网络业务实例化的方法及设备 | |
EP3109758A1 (en) | Method and apparatus for scaling an application | |
CN109426544A (zh) | 虚拟机部署方法和装置 | |
CN111158872B (zh) | 一种提交并守护spark任务的方法及装置 | |
US20220206836A1 (en) | Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
US10992531B2 (en) | Reactive non-blocking input and output for target device communication | |
CN113535402A (zh) | 基于5g mec的负载均衡处理方法、装置及电子设备 | |
CN109257201B (zh) | 一种License的发送方法和装置 | |
KR101952651B1 (ko) | 분산 컴퓨팅 환경을 위한 고유 식별자 생성 방법 및 그 장치 |
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 |