CN110333939B - 任务混合调度方法、装置、调度服务器及资源服务器 - Google Patents

任务混合调度方法、装置、调度服务器及资源服务器 Download PDF

Info

Publication number
CN110333939B
CN110333939B CN201910520941.0A CN201910520941A CN110333939B CN 110333939 B CN110333939 B CN 110333939B CN 201910520941 A CN201910520941 A CN 201910520941A CN 110333939 B CN110333939 B CN 110333939B
Authority
CN
China
Prior art keywords
task
scheduling
resource
information
server
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.)
Active
Application number
CN201910520941.0A
Other languages
English (en)
Other versions
CN110333939A (zh
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.)
Tencent Technology Chengdu Co Ltd
Original Assignee
Tencent Technology Chengdu Co Ltd
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 Tencent Technology Chengdu Co Ltd filed Critical Tencent Technology Chengdu Co Ltd
Priority to CN201910520941.0A priority Critical patent/CN110333939B/zh
Publication of CN110333939A publication Critical patent/CN110333939A/zh
Application granted granted Critical
Publication of CN110333939B publication Critical patent/CN110333939B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种任务混合调度方法、装置、调度服务器及资源服务器,所述方法包括:调度服务器接收容器和/或进程的任务调度请求;基于任务的资源需求信息和任务特征信息创建任务的调度任务组;基于调度任务组对应的资源需求信息确定与调度任务组匹配的资源服务器;向匹配的资源服务器下发携带有任务特征信息调度任务组;匹配的资源服务器基于任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。利用本申请提供的技术方案可以实现对容器和进程任务进行混合的调度,为各种业务的应用提供更加丰富的服务发现特性、功能,满足业务的多样化场景需求,提升平台的承载能力。

Description

任务混合调度方法、装置、调度服务器及资源服务器
技术领域
本申请涉及互联网通信技术领域,尤其涉及一种任务混合调度方法、装置、调度服务器及资源服务器。
背景技术
容器作为一种轻量级的虚拟化技术,可以满足应用按需分配的资源需求以及保证应用的隔离性和可用性。进程是***进行资源分配和调度的基本单位。为了满足一些大型应用的需求,往往需要将很多容器或进程部署在计算机集群中进行统一调度,以对这些应用提供应用服务。
现有技术中,由于容器和进程的启动方式、承载介质等的不同,往往是采用不同的调度器对容器和进程分别进行调度。随着应用需求的多样化,出现了一些业务部分容器化的场景,这就需要对容器和进程进行统一的调度,但现有技术中还没有提供可以对容器和进程进行混合的调度的处理机制。
发明内容
本申请提供了一种任务混合调度方法、装置、调度服务器及资源服务器,可以实现对容器和进程任务进行混合的调度,为各种业务的应用提供更加丰富的服务发现特性、功能,满足业务的多样化场景需求,提升平台的承载能力。
一方面,本申请提供了一种任务混合调度方法,所述方法包括:
接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程;
基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组;
基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器;
向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息,以使所述匹配的资源服务器基于所述任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。
另一方面提供了一种任务混合调度装置,所述装置包括:
任务调度请求接收模块,用于接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程;
调度任务组创建模块,用于基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组;
资源服务器确定模块,用于基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器;
调度任务组下发模块,用于向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息,以使所述匹配的资源服务器基于所述任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。
另一方面提供了一种调度服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的任务混合调度方法。
另一方面提供了一种任务混合调度方法,所述方法包括:
接收调度服务器在基于调度任务组对应的资源需求信息确定本地资源服务器与所述调度任务组匹配时,下发的调度任务组,所述调度任务组携带有任务的任务特征信息,所述调度任务组为基于任务的资源需求信息和任务特征信息创建的;
基于所述任务特征信息确定启动策略;
基于所述启动策略启动所述调度任务组对应的任务;
其中,所述任务包括容器和/或进程。
在一些实施例中,所述方法还包括:
监测所述调度任务组对应的任务在启动过程中的启动状态;
基于所述调度任务组对应的任务的启动状态确定所述调度任务组的状态信息;
向所述调度服务器发送所述状态信息,以使所述调度服务器基于所述状态信息对所述调度任务组进行调度管控。
在一些实施例中,所述方法还包括:
接收第一数量的资源服务器上报的资源信息;
向调度服务器发送第一数量的资源服务器的资源信息。
另一方面提供了一种任务混合调度装置,所述装置包括:
调度任务组接收模块,用于接收调度服务器在基于调度任务组对应的资源需求信息确定本地资源服务器与所述调度任务组匹配时,下发的调度任务组,所述调度任务组携带有任务的任务特征信息,所述调度任务组为基于任务的资源需求信息和任务特征信息创建的;
启动策略确定模块,用于基于所述任务特征信息确定启动策略;
任务启动模块,用于基于所述启动策略启动所述调度任务组对应的任务;
其中,所述任务包括容器和/或进程。
另一方面提供了一种资源服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的任务混合调度方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的任务混合调度方法。
本申请提供的任务混合调度方法、装置、调度服务器及资源服务器,具有如下技术效果:
本申请通过在接收到容器和/或进程的任务调度请求时,弱化任务的承载介质,以任务的资源需求信息和任务特征信息来定义调度任务组,实现以统一的调度对象(调度任务组)进行调度;接着,结合资源需求信息匹配调度任务组的资源服务器;将调度任务组下发至该资源服务器,并有资源服务器基于任务特征信息来区分容器、进程,以便可以采取与容器或进程相对应的启动策略来进行任务的启动。实现为各种业务的应用提供更加丰富的服务发现特性、功能,满足业务的多样化场景需求,提升平台的承载能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种任务混合调度方法的流程示意图;
图3是本申请实施例提供的一种调度服务器基于所述调度任务组的资源需求信息确定与所述调度任务组匹配的资源服务器方法的流程示意图;
图4是本申请实施例提供的另一种任务混合调度方法的流程示意图;
图5是本申请实施例提供的一种调度任务组的状态信息管控的示意图;
图6是本申请实施例提供的另一种任务混合调度方法的流程示意图;
图7是本申请实施例提供的一种任务混合调度装置的结构示意图;
图8是本申请实施例提供的另一种任务混合调度方法的流程示意图;
图9是本申请实施例提供的另一种任务混合调度装置的结构示意图;
图10是本申请实施例提供的一种基于Mesos的任务混合调度的结构示意图;
图11是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境至少可以包括客户端01、调用服务器02、资源管理服务器03和资源服务器04。
具体的,本说明书实施例中,客户端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。
具体的,本说明书实施例中,调用服务器02可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。具体的,调度服务器01可以是同时支持容器、进程的混合调度、服务导出等功能的调度器。
具体的,所述客户端01可以通过调度服务器02的API(Application ProgrammingInterface,应用程序编程接口)实现向所述调度服务器下发任务的调度。
具体的,本说明书实施例中,资源管理服务器03和资源服务器04可以为分布式资源服务集群中的管理者和代理者。在一个具体的实施例中,这里的分布式资源服务集群可以为Mesos分布式资源管理框架对应的服务器集群。
在实际应用中,分布式资源管理框架中的管理者和代理者可以基于zookeeper(ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务)实现了Leader-Follow模式(即服务器集群中管理者和代理者的划分),从而保证了分布式资源管理框架的高可用性。
具体的,管理者(资源管理服务器03)可以用于将集群中代理者(资源服务器04)上报的资源信息再上报给调度服务器02,并接收调度服务器02下发的任务,再将任务下发到相应的资源服务器04。
具体的,资源服务器04可以设置有进程执行模块和容器执行模块,其中,进程执行模块可以用于启动进程;容器执行模块可以用于启动容器。
此外,需要说明的是,进程执行模块和容器执行模块可以位于资源服务器也可以设置于其他设备中,资源服务器可以调用进程执行模块和容器执行模块分别进行进程的启动和容器的启动。
以下介绍本申请一种任务混合调度方法,图2是本申请实施例提供的一种任务混合调度方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:调度服务器接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程。
在实际应用中,在向应用提供应用服务之前,需要先对启动容器和/或进程,相应的,启动容器和/或进程,需要对启动容器和/或进程的任务进行调度。本说明书实施例中,用户可以通过面向用户的应用程序来触发任务调度请求。
具体的,本说明书实施例中,任务调度请求所请求调度的任务可以包括容器和/或进程。
进一步的,所述任务调度请求所请求调度的任务可以包括一个或多个任务,一个任务可以包括一个容器或进程。
S203:调度服务器基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组。
在实际应用中,不同的任务往往具有不同的特征信息,以及不同的资源需求。本说明书实施例中,可以基于任务的资源需求信息和任务特征信息来创建任务的调度任务组。这样可以对不同的任务(容器、进程)进行统一调度,在调度时,弱化任务的承载介质等,统一以调度任务组作为调度对象,且在创建任务的调度任务组时,以任务的资源需求信息和任务特征信息来定义调度任务组,在保证以统一的调度对象进行调度的同时,可以有效的区分不同的任务且满足不同任务的资源需求。
具体的,本说明书实施例中,任务的资源需求信息可以包括任务对资源服务器的CPU(中央处理机)、内存,调度策略(例如,每台机器最多只能部署一个任务,均匀部署在某个网段机器上)等资源信息的需求。具体的,任务的任务特征信息可以包括启动脚本、镜像地址、工作目录等反映任务的启动特征的信息。
S205:调度服务器基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器。
本说明书实施例中,如图3所示,调度服务器基于所述调度任务组的资源需求信息确定与所述调度任务组匹配的资源服务器可以包括:
S2051:调度服务器获取第一数量的资源服务器的资源信息。
在实际应用中,资源管理服务器可以向调度服务器发送第一数量的资源服务器的资源信息。具体的,这里的第一数量的资源服务器为与所述资源管理服务器位于同一分布式资源服务集群中的代理者服务器。在实际应用中,分布式资源服务集群中的资源服务器可以向资源管理服务器上报本地的资源信息,以便有资源管理服务器同一上报给调度服务器。
S2053:调度服务器将所述调度任务组的资源需求信息与第一数量的资源服务器的资源信息进行匹配。
本说明书实施例中,所述资源信息可以包括资源服务器的CPU,内存、可处理的任务数量、机器对应的网段等信息。
S2055:将与调度任务组的资源需求信息相匹配的资源信息所对应的资源服务器作为所述匹配的资源服务器。
本说明书实施例中,当资源服务器的资源信息满足调度任务组的资源需求信息中对资源服务器的资源信息的需求时,可以将该资源服务器可以为与调度任务组的资源需求信息相匹配的资源信息所对应的资源服务器。
在一个具体的实施例中,假设任务调度请求的资源需求信息中包括对资源服务器的资源信息的需求包括:内存不小于1GB、网段位于192.168.0.1到192.168.255.255、和CPU主频不小于1.6GHz;相应的,当资源服务器的内存不小于1GB、网段位于192.168.0.1到192.168.255.255、且CPU主频不小于1.6GHz时,该资源服务器可以作为匹配的资源服务器。
S207:调度服务器向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息。
本说明书实施例中,调度服务器向匹配的资源服务器下发调度任务组时,可以携带有任务的任务特征信息,以便资源服务器可以确定调度任务组的任务特征信息。
具体的,调度服务器可以向资源管理服务器下发调度任务组,然后,由资源管理服务器向匹配的资源服务器下发调度任务组。
S209:匹配的资源服务器基于所述任务特征信息确定启动策略。
本说明书实施例中,不同的任务的启动策略与其任务特征信息一一对应。
S211:匹配的资源服务器基于所述启动策略启动所述调度任务组对应的任务。
本说明书实施例中,基于启动策略启动调度任务组对应的任务可以包括但不限于通过配置任务的环境参数、拉起任务的操作,以实现调度任务组中任务的启动。
本说明书实施例中,通过在接收到容器和/或进程的任务调度请求时,弱化任务的承载介质,以任务的资源需求信息和任务特征信息来定义调度任务组,实现以统一的调度对象(调度任务组)进行调度;接着,结合资源需求信息匹配调度任务组的资源服务器;将调度任务组下发至该资源服务器,并有资源服务器基于任务特征信息来区分容器、进程,以便可以采取与容器或进程相对应的启动策略来进行任务的启动。
在实际应用中,在任务的启动过程中,存在资源服务器宕机等导致的启动未成功的情况。相应的,如图4所示,所述方法还可以包括:
S213:匹配的资源服务器监测所述调度任务组对应的任务在启动过程中的启动状态。
本说明书实施例中,任务在启动过程中的启动状态包括启动成功和启动失败。
S215:匹配的资源服务器基于所述调度任务组对应的任务的启动状态确定所述调度任务组的状态信息。
具体的,由于调度任务组对应一个或多个任务,当调度任务组对应多个任务时,当多个任务的启动状态均为启动成功时,该调度任务组的状态信息为任务成功,反之,当多个任务的启动状态中任一任务的启动状态为启动失败时,调度任务组的状态信息为任务失败或任务失联。
S217:匹配的资源服务器向所述调度服务器发送所述状态信息。
S219:调度服务器基于所述状态信息对所述调度任务组进行调度管控。
具体的,当所述状态信息为任务失败或任务失联时,基于所述资源需求信息重新确定与所述调度任务组匹配的资源服务器,以实现对调度任务组的重新调度,故障自愈。
具体的,如图5所示,图5是本申请实施例提供的一种调度任务组的状态信息管控的示意图。
从图5中可见,在调度任务组创建并匹配到资源服务器后,调度任务组的状态信息为等待(即排队等待启动的状态),接着,进入到启动的状态;若启动成功,会进入正常运行的状态,然后,在运行结束后,进入运行完成的状态(即任务成功),最后,结束;反之,若状态信息为失败(即任务失败的状态)或运行过程中出现失联的状态(即任务失联的状态)等情况,由于资源管理服务器会调度任务组的状态信息上报给调度服务器;调度服务器可以进行重新调度至调度任务组的状态信息转换至正常运行,以至任务成功的状态。
进一步的,调度任务组可以结合实际应用需求,向资源服务器下发将正在运行的调度任务组进行删除的指令,相应的,调度任务组的状态信息变成删除中,删除完成后状态信息变成已删除,最后,结束。
进一步的,为了实现应用服务的导出,当所述状态信息为任务成功时,所述方法还可以包括:
1)建立状态信息为任务成功的调度任务组与目标应用服务的映射关系;
本说明书实施例中,目标应用服务可以为任一提供给应用的应用服务。位于集群(多个资源服务)中的包括容器和/或进程的调度任务组(Taskgroup)都有属于自己的label标签,创建Service(目标应用服务)时,可以根据Selector.label(调度任务组的标签)选择与该Service对应的Taskgroup,进而建立调度任务组与目标应用服务的映射关系。具体的,这里Service与Taskgroup的对应关系,可以包括Service所要实现的功能与Taskgroup所能实现的功能相匹配。
2)基于所述调度任务组的状态信息生成所述目标应用服务的端点信息,所述端点信息包括服务发现访问信息和负载均衡策略。
在实际应用中,调度任务组在基于状态信息的调度管控过程中,可能出现调度任务组被重新调度的情况;相应的,本说明书实施例中,可以通过ports.targetport:(的Taskgroup监听的端口)实现对基于调度任务组的状态信息实现调度管控过程中的调度任务组进行监听,将调度任务组所在的资源服务器的域名、协议等服务发现访问信息以及负载均衡策略及时的更新到目标应用服务的端点信息中。
具体的,本说明书实施例中,协议可以包括但不限于http、tcp、udp等。负载均衡策略可以包括但不限于一致性哈希、轮训、最小连接等。具体的,本说明书实施例中,在负载均衡器进行负载均衡控制时,可以利用ports.serviceport(监听的端口)来获取负载均衡策略。
本说明书实施例中,通过定义包括服务发现访问信息和负载均衡策略的端点信息,能够支持容器、进程的服务导出,实现容器与容器、容器与进程、进程与进程,以及外部用于对容器或进程的服务访问。同时,多种协议以及负载均衡策略的支持,能为业务提供更加丰富的服务发现特性、功能,满足业务的多样化场景需求,提升平台的承载能力。
以下以调度服务器为执行主体,介绍本申请实施例提供的一种任务混合调度方法,具体的,如图6所示,所述方法包括:
S601:接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程。
S603:基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组。
S605:基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器。
S607:向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息,以使所述匹配的资源服务器基于所述任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。
具体的,所述基于所述调度任务组的资源需求信息确定与所述调度任务组匹配的资源服务器包括:
获取第一数量的资源服务器的资源信息;
将所述调度任务组的资源需求信息与所述第一数量的资源服务器的资源信息进行匹配;
将与调度任务组的资源需求信息相匹配的资源信息所对应的资源服务器作为所述匹配的资源服务器。
在一些实施例中,所述方法还包括:
接收所述匹配的资源服务器发送的所述调度任务组的状态信息;
基于所述状态信息对所述调度任务组进行调度管控。
在一些实施例中,所述基于所述状态信息对所述调度任务组进行调度管控包括:
当所述状态信息为任务失败或任务失联时,基于所述资源需求信息重新确定与所述调度任务组匹配的资源服务器。
在一些实施例中,当所述状态信息为任务成功时,所述方法还包括:
建立状态信息为任务成功的调度任务组与目标应用服务的映射关系;
基于所述调度任务组的状态信息生成所述目标应用服务的端点信息,所述端点信息包括服务发现访问信息和负载均衡策略。
本申请实施例还提供了一种任务混合调度装置,如图7所示,所述装置包括:
任务调度请求接收模块710,可以用于接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程;
调度任务组创建模块720,可以用于基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组;
资源服务器确定模块730,可以用于基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器;
调度任务组下发模块740,可以用于向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息,以使所述匹配的资源服务器基于所述任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。
在一些实施例中,所述资源服务器确定模块730包括:
资源信息获取单元,用于获取第一数量的资源服务器的资源信息;
匹配单元,用于将所述调度任务组的资源需求信息与所述第一数量的资源服务器的资源信息进行匹配;
资源服务器确定单元,用于将与调度任务组的资源需求信息相匹配的资源信息所对应的资源服务器作为所述匹配的资源服务器。
在一些实施例中,所述装置还包括:
状态信息接收模块,用于接收所述匹配的资源服务器发送的所述调度任务组的状态信息;
调度任务组管控模块,用于基于所述状态信息对所述调度任务组进行调度管控。
在一些实施例中,所述调度任务组管控模块具体用于当所述状态信息为任务失败或任务失联时,基于所述资源需求信息重新确定与所述调度任务组匹配的资源服务器。
在一些实施例中,当所述状态信息为任务成功时,所述装置还包括:
映射关系建立模块,用于建立状态信息为任务成功的调度任务组与目标应用服务的映射关系;
端点信息生产模块,用于基于所述调度任务组的状态信息生成所述目标应用服务的端点信息,所述端点信息包括服务发现访问信息和负载均衡策略。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种调度服务器,该调度服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的任务混合调度方法。
以下以资源服务器为执行主体,介绍本申请实施例提供的一种任务混合调度方法,具体的,如图8所示,所述方法包括:
S801:接收调度服务器在基于调度任务组对应的资源需求信息确定本地资源服务器与所述调度任务组匹配时,下发的调度任务组。
具体的所述调度任务组携带有任务的任务特征信息,所述调度任务组为基于任务的资源需求信息和任务特征信息创建的。所述任务包括容器和/或进程。
S803:基于所述任务特征信息确定启动策略。
S805:基于所述启动策略启动所述调度任务组对应的任务。
在一些实施例中,所述方法还包括:
监测所述调度任务组对应的任务在启动过程中的启动状态;
基于所述调度任务组对应的任务的启动状态确定所述调度任务组的状态信息;
向所述调度服务器发送所述状态信息,以使所述调度服务器基于所述状态信息对所述调度任务组进行调度管控。
在一些实施例中,所述方法还包括:
接收第一数量的资源服务器上报的资源信息;
向调度服务器发送第一数量的资源服务器的资源信息。
本申请实施例还提供了一种任务混合调度装置,如图9所示,所述装置可以包括:
调度任务组接收模块910,用于接收调度服务器在基于调度任务组对应的资源需求信息确定本地资源服务器与所述调度任务组匹配时,下发的调度任务组,所述调度任务组携带有任务的任务特征信息,所述调度任务组为基于任务的资源需求信息和任务特征信息创建的;
启动策略确定模块920,用于基于所述任务特征信息确定启动策略;
任务启动模块930,用于基于所述启动策略启动所述调度任务组对应的任务;
其中,所述任务包括容器和/或进程。
在一些实施例中,所述装置还包括:
启动状态监测模块,用于监测所述调度任务组对应的任务在启动过程中的启动状态;
状态信息确定模块,用于基于所述调度任务组对应的任务的启动状态确定所述调度任务组的状态信息;
状态信息发送模块,用于向所述调度服务器发送所述状态信息,以使所述调度服务器基于所述状态信息对所述调度任务组进行调度管控。
在一些实施例中,所述装置还包括:
资源信息接收模块,用于接收第一数量的资源服务器上报的资源信息;
资源信息发送模块,用于向调度服务器发送第一数量的资源服务器的资源信息。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种资源服务器,该资源服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的任务混合调度方法。
本说明书实施例中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
请参阅图10,以下Mesos分布式资源管理框架为例,介绍本申请任务混合调度的一种应用实施例。
具体的,可以基于分布式应用程序协调服务(ZooKeeper)进行分布式资源管理框架中的管理者(Mesos-master)的选取;管理者将分布式资源管理框架中各个节点(node)中的代理者(Mesos-slave)的资源信息上报给调度服务器(BK-Scheduler);接着,调度服务器基于以资源需求信息和服务特征信息定义的调度任务组来下发调度任务;然后由管理者(Mesos-master)下发到相应的node;接着,由容器执行模块(BK-Container-Executor)和进程执行模块(BK-Process-Executor)分别进行容器和进程的启动。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图11是本申请实施例提供的一种任务混合调度方法的服务器的硬件结构框图。如图11所示,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(Central Processing Units,CPU)1110(处理器1110可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1130,一个或一个以上存储应用程序1123或数据1122的存储介质1120(例如一个或一个以上海量存储设备)。其中,存储器1130和存储介质1120可以是短暂存储或持久存储。存储在存储介质1120的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1110可以设置为与存储介质1120通信,在服务器1100上执行存储介质1120中的一系列指令操作。服务器1100还可以包括一个或一个以上电源1160,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1140,和/或,一个或一个以上操作***1121,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口1140可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1100的通信供应商提供的无线网络。在一个实例中,输入输出接口1140包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1140可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1100还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种任务混合调度方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的任务混合调度方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的任务混合调度方法、装置、服务器或存储介质的实施例可见,本申请中通过在接收到容器和/或进程的任务调度请求时,弱化任务的承载介质,以任务的资源需求信息和任务特征信息来定义调度任务组,实现以统一的调度对象(调度任务组)进行调度;接着,结合资源需求信息匹配调度任务组的资源服务器;将调度任务组下发至该资源服务器,并有资源服务器基于任务特征信息来区分容器、进程,以便可以采取与容器或进程相对应的启动策略来进行任务的启动。实现为各种业务的应用提供更加丰富的服务发现特性、功能,满足业务的多样化场景需求,提升平台的承载能力。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种任务混合调度方法,其特征在于,所述方法包括:
接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程;
基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组;
基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器;
向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息,以使所述匹配的资源服务器基于所述任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。
2.根据权利要求1所述的方法,其特征在于,所述基于所述调度任务组的资源需求信息确定与所述调度任务组匹配的资源服务器包括:
获取第一数量的资源服务器的资源信息;
将所述调度任务组的资源需求信息与所述第一数量的资源服务器的资源信息进行匹配;
将与调度任务组的资源需求信息相匹配的资源信息所对应的资源服务器作为所述匹配的资源服务器。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述匹配的资源服务器发送的所述调度任务组的状态信息;
基于所述状态信息对所述调度任务组进行调度管控。
4.根据权利要求3所述的方法,其特征在于,所述基于所述状态信息对所述调度任务组进行调度管控包括:
当所述状态信息为任务失败或任务失联时,基于所述资源需求信息重新确定与所述调度任务组匹配的资源服务器。
5.根据权利要求3所述的方法,其特征在于,当所述状态信息为任务成功时,所述方法还包括:
建立状态信息为任务成功的调度任务组与目标应用服务的映射关系;
基于所述调度任务组的状态信息生成所述目标应用服务的端点信息,所述端点信息包括服务发现访问信息和负载均衡策略。
6.一种任务混合调度方法,其特征在于,所述方法包括:
接收调度服务器在基于调度任务组对应的资源需求信息确定本地资源服务器与所述调度任务组匹配时,下发的调度任务组,所述调度任务组携带有任务的任务特征信息,所述调度任务组为基于任务的资源需求信息和任务特征信息创建的;
基于所述任务特征信息确定启动策略;
基于所述启动策略启动所述调度任务组对应的任务;
其中,所述任务包括容器和/或进程。
7.一种任务混合调度装置,其特征在于,所述装置包括:
任务调度请求接收模块,用于接收任务调度请求,所述任务调度请求所请求调度的任务包括容器和/或进程;
调度任务组创建模块,用于基于所述任务的资源需求信息和任务特征信息创建所述任务的调度任务组;
资源服务器确定模块,用于基于所述调度任务组对应的资源需求信息确定与所述调度任务组匹配的资源服务器;
调度任务组下发模块,用于向所述匹配的资源服务器下发所述调度任务组,所述调度任务组携带有任务特征信息,以使所述匹配的资源服务器基于所述任务特征信息确定启动策略,以及基于所述启动策略启动所述调度任务组对应的任务。
8.一种任务混合调度装置,其特征在于,所述装置包括:
调度任务组接收模块,用于接收调度服务器在基于调度任务组对应的资源需求信息确定本地资源服务器与所述调度任务组匹配时,下发的调度任务组,所述调度任务组携带有任务的任务特征信息,所述调度任务组为基于任务的资源需求信息和任务特征信息创建的;
启动策略确定模块,用于基于所述任务特征信息确定启动策略;
任务启动模块,用于基于所述启动策略启动所述调度任务组对应的任务;
其中,所述任务包括容器和/或进程。
9.一种调度服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一所述的任务混合调度方法。
10.一种资源服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求6所述的任务混合调度方法。
CN201910520941.0A 2019-06-17 2019-06-17 任务混合调度方法、装置、调度服务器及资源服务器 Active CN110333939B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910520941.0A CN110333939B (zh) 2019-06-17 2019-06-17 任务混合调度方法、装置、调度服务器及资源服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910520941.0A CN110333939B (zh) 2019-06-17 2019-06-17 任务混合调度方法、装置、调度服务器及资源服务器

Publications (2)

Publication Number Publication Date
CN110333939A CN110333939A (zh) 2019-10-15
CN110333939B true CN110333939B (zh) 2023-11-14

Family

ID=68141142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910520941.0A Active CN110333939B (zh) 2019-06-17 2019-06-17 任务混合调度方法、装置、调度服务器及资源服务器

Country Status (1)

Country Link
CN (1) CN110333939B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176803B (zh) * 2019-11-06 2024-03-29 腾讯科技(深圳)有限公司 业务处理方法、装置、服务器及存储介质
CN110955460B (zh) * 2019-11-15 2023-10-03 北京金山云网络技术有限公司 一种服务进程启动方法、装置、电子设备和存储介质
CN111104212A (zh) * 2019-12-18 2020-05-05 秒针信息技术有限公司 一种调度任务执行方法、装置、电子设备及存储介质
CN111352719B (zh) * 2020-03-31 2023-08-22 中国工商银行股份有限公司 交易簿记服务数据处理方法、装置及***
CN112306719B (zh) * 2020-11-23 2022-05-31 中国科学院计算机网络信息中心 一种任务调度方法与装置
CN116032895A (zh) * 2022-12-13 2023-04-28 上海元镜像信息科技有限公司 一种旁路方式的智能媒体服务器调度方法、***、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546379A (zh) * 2010-12-27 2012-07-04 ***通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度***
CN103713942A (zh) * 2012-09-28 2014-04-09 腾讯科技(深圳)有限公司 在集群中调度运行分布式计算框架的方法和***
CN107066319A (zh) * 2017-01-17 2017-08-18 北京国电通网络技术有限公司 一种面向异构资源的多维调度***
CN107111519A (zh) * 2014-11-11 2017-08-29 亚马逊技术股份有限公司 用于管理和调度容器的***
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度***及方法
CN109032755A (zh) * 2018-06-29 2018-12-18 优刻得科技股份有限公司 一种容器服务托管***及提供容器服务的方法
CN109343947A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种资源调度方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951521B2 (en) * 2017-09-01 2021-03-16 Maxlinear, Inc. Method for scheduling a computational task, a method for processing a computational task, a computer readable storage medium, a computer program, a residential gateway, and a server

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546379A (zh) * 2010-12-27 2012-07-04 ***通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度***
CN103713942A (zh) * 2012-09-28 2014-04-09 腾讯科技(深圳)有限公司 在集群中调度运行分布式计算框架的方法和***
CN107111519A (zh) * 2014-11-11 2017-08-29 亚马逊技术股份有限公司 用于管理和调度容器的***
CN107066319A (zh) * 2017-01-17 2017-08-18 北京国电通网络技术有限公司 一种面向异构资源的多维调度***
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度***及方法
CN109032755A (zh) * 2018-06-29 2018-12-18 优刻得科技股份有限公司 一种容器服务托管***及提供容器服务的方法
CN109343947A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种资源调度方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于容器技术的电力***业务应用资源池***设计研究;耿贞伟;权鹏宇;李少华;;数字技术与应用(第01期);全文 *
耦合分布式仿真中任务调度的研究与实现;向鹏;黄海于;;计算机技术与发展(第12期);全文 *
面向在线支付业务的容器资源弹性管理框架;任明;陈晨;施跃跃;鲁逸丁;;计算机***应用(第07期);全文 *

Also Published As

Publication number Publication date
CN110333939A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110333939B (zh) 任务混合调度方法、装置、调度服务器及资源服务器
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
US10917294B2 (en) Network function instance management method and related device
CN111858054B (zh) 一种异构环境下基于边缘计算的资源调度***及方法
US20040199611A1 (en) Method and system for remote configuration of network devices
CN110489126B (zh) 编译任务的执行方法和装置、存储介质及电子装置
CN110838939B (zh) 一种基于轻量级容器的调度方法及边缘物联管理平台
CN111641515A (zh) Vnf的生命周期管理方法及装置
CN110247951A (zh) 一种文件传输控制方法、装置、设备及存储介质
CN110795205B (zh) 基于软件容器提供云端服务的***及方法
CN111294293B (zh) 一种基于用户态协议栈的网络隔离方法和装置
CN106911741B (zh) 一种虚拟化网管文件下载负载均衡的方法及网管服务器
CN108958933B (zh) 任务执行器的配置参数更新方法、装置及设备
CN114296953A (zh) 一种多云异构***及任务处理方法
CN112424749A (zh) 内存占用有限情况下的按需代码执行
CN115550354A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN105933136A (zh) 一种资源调度方法及***
CN113438295A (zh) 容器组地址分配方法、装置、设备及存储介质
CN115309457B (zh) 应用实例的重启方法、装置、电子设备及可读存储介质
CN115987872A (zh) 一种基于资源路由的云***
CN111245794B (zh) 数据传输方法和装置
CN114338763A (zh) 微服务调用方法、装置、服务器与计算机可读存储介质
CN111045778B (zh) 一种虚拟机的创建方法、装置、服务器及存储介质
CN104991873B (zh) 软件通信体系结构下的设备管理接口及应用加、卸载方法
CN113641480B (zh) 一种基于Kubernetes集群组的任务调度***及方法

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