CN116755880A - 任务的下发方法、系统、装置、处理器和电子设备 - Google Patents

任务的下发方法、系统、装置、处理器和电子设备 Download PDF

Info

Publication number
CN116755880A
CN116755880A CN202310686870.8A CN202310686870A CN116755880A CN 116755880 A CN116755880 A CN 116755880A CN 202310686870 A CN202310686870 A CN 202310686870A CN 116755880 A CN116755880 A CN 116755880A
Authority
CN
China
Prior art keywords
service
execution
execution service
task
upgraded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310686870.8A
Other languages
English (en)
Inventor
刘微
郭相林
李硕蕾
魏博言
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310686870.8A priority Critical patent/CN116755880A/zh
Publication of CN116755880A publication Critical patent/CN116755880A/zh
Pending legal-status Critical Current

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种任务的下发方法、系统、装置、处理器和电子设备,涉及金融领域,该方法包括:确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;将目标任务下发至目标执行服务。通过本申请,解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题。

Description

任务的下发方法、系统、装置、处理器和电子设备
技术领域
本申请涉及金融领域,具体而言,涉及一种任务的下发方法、系统、装置、处理器和电子设备。
背景技术
在大数据平台,随着业务的不断发展,任务的调度在各类场景中发挥着重要的作用。在日常的数据处理中,任务调度系统不仅需要和上层任务对接,还需要和底层基础组件对接。每天运行成千上万的调度任务,每个调度任务可能涉及到数以百亿的数据。
任务调度系统的架构中主要包含两个服务,控制服务和执行服务。控制服务主节点只有一台,执行服务可以是多台,执行服务向控制服务注册,并实时保持心跳,心跳信息包含执行服务节点的资源数据(CPU和内存),控制服务向执行服务提交任务,执行服务执行任务并实时向控制服务上报任务运行状态。
由于离线调度任务执行时间比较长,生产环境常见运行耗时在数个小时,在任务执行的过程中,无法避免的会对执行服务维护升级,当服务重启时,运行在执行服务的任务也会随之失败,不仅造成了资源浪费(任务失败之前运行占用的资源),还造成了任务的延迟。
针对现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种任务的下发方法、系统、装置、处理器和电子设备,以解决现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题。
根据本申请的一个方面,提供了一种任务的下发方法。该方法可以包括:确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;将目标任务下发至目标执行服务。
可选地,在将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表之后,该方法还包括:在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
可选地,确定待升级发布的执行服务之后,该方法包括:通过待升级发布的执行服务发送状态更改指令至管理服务;响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,其中,非在线状态的执行服务不能承接新的任务。
可选地,将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表包括:在管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
可选地,在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,包括:在检测到控制服务待下发目标任务时,确定目标任务的配置参数;从更新后的执行服务列表中确定与配置参数匹配的目标执行服务。
可选地,确定待升级发布的执行服务之后,该方法包括:确定待升级发布的执行服务中正在运行的任务;在检测到待升级发布的执行服务中所有任务运行完成后,对待升级发布的执行服务执行服务升级。
根据本申请的另一个方面,还提供了一种任务的下发系统。该系统可以包括:管理服务,用于确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务器待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;控制服务器,用于在待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,将目标任务下发至目标执行服务。
可选地,多个执行服务,其中,在每个执行服务启动时,向管理服务发送注册指令,在管理服务中注册完成后,并将该执行服务对应的CPU和内存以心跳的方式上报至管理服务。
可选地,待升级发布的执行服务还用于在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;管理服务还用于响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
根据本申请的另一个方面,还提供了一种任务的下发装置。该装置可以包括:第一确定单元,用于确定待升级发布的执行服务;处理单元,用于将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;第二确定单元,用于在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;下发单元,用于将目标任务下发至目标执行服务。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行任务的下发方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包含一个或多个处理器和存储器;存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,一个或多个处理器执行任务的下发方法。
通过本申请,采用以下步骤:确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;将目标任务下发至目标执行服务。也即,在本申请中,通过在管理服务的执行服务列表中删除待升级发布的执行服务,在控制服务下发任务时,依据更新后的执行服务列表确定目标执行服务,并分发任务至该目标执行服务,避免了对待升级发布的执行服务下发任务,造成资源浪费的情况。通过将任务下发至目标执行服务(不用进行升级发布的执行服务)进行任务的处理,保证了对任务的处理效率,从而解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,实现了避免现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种任务的下发方法的流程图;
图2是根据相关技术提供的一种调度架构的示意图;
图3是根据相关技术提供的一种调度架构中数据交互的示意图;
图4是本申请实施例的一种离线任务调度的示意图;
图5是本申请实施例的一种调度任务有状态无损发布的流程图;
图6是根据本申请实施例的一种任务的下发系统的示意图;
图7是根据本申请实施例的一种任务的下发装置的示意图;
图8是根据本申请实施例的一种任务的下发电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的每个其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
调度服务,可以用于对调度任务的配置、管理和分发,可以根据任务的类型、优先级和资源情况分发到不同的执行服务,可以管理任务的周期、依赖关系、优先级和告警配置等;
执行服务,可以用于获取调度服务提交满足执行条件的任务,将任务提交到大数据执行引擎执行,同时输出任务执行过程中的日志,并监控任务执行过程,上报任务的执行状态。
实施例一
需要说明的是,本申请中的任务的下发方法及其装置可用于金融领域在对目标任务进行处理的情况下,也可用于除金融领域之外的任意领域在对离线任务进行处理的情况下,本申请中对任务的下发方法的应用领域不做限定。
下面结合优选的实施步骤对本申请进行说明。
为解决在调度任务处理的过程中现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,本申请实施例,提供了一种任务的下发方法实施例。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例提供的一种任务的下发方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,确定待升级发布的执行服务;
步骤S104,将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;
步骤S106,在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;
步骤S108,将目标任务下发至目标执行服务。
通过上述步骤,确定待发布升级的执行服务,可以将待发布升级的执行服务从管理服务的执行服务列表中删除,从而可以得到更新后的执行服务列表。当检测到控制服务待下发目标任务时,管理服务可以从更新后的执行服务列表中确定目标执行服务,并将可以执行待下发目标任务的目标执行服务的信息下发至控制服务中,以使控制服务将目标任务下发至目标执行服务中。其中,执行服务列表又可以为包含不用进行升级发布的执行服务的列表(也即,可以为包含处于在线状态的执行服务的列表),可以记录有已注册至管理服务的多个执行服务的信息,可以为预先获取的并存储在数据库中的,此处仅为举例,不对执行服务列表的确定方式做具体限制。待下发目标任务可以简称为任务,可以包括离线任务或离线调度任务(比如,Task_A,Task_B,Task_C),可以用于对执行服务进行升级。目标执行服务可以为处于在线状态的执行服务,可以为不用进行升级发布的执行服务。
可选地,多个执行服务注册至管理服务,管理服务记录多个执行服务的信息,得到执行服务列表。当执行服务为待升级发布的执行服务时,可以将待升级发布的执行服务从管理服务的执行服务列表中删除,从而得到更新后的执行服务列表。当管理服务检测到控制服务待下发目标任务时,可以从更新后的执行服务列表中确定目标执行服务,控制服务可以将目标任务下发至目标执行服务中。
可选地,当执行服务通过注册指令注册到管理服务中时,会将中央处理器和内容以心跳方式实时上报到管理服务中。管理服务可以将执行服务的信息以数据表的形式存储在数据库中。可以确定注册信息中的状态信息,如果状态信息为在线状态,可以确定执行服务发布升级完毕,确定发布升级完毕的多个执行服务,从而得到执行服务列表。
在该实施例中,由于执行服务执行调度任务执行时间比较长,生产环境常见运行耗时在数个小时,在任务执行的过程中,无法避免的会对执行服务进行升级发布,当对执行服务进行升级发布时,会重新执行服务,从而运行在执行服务中的调度任务也会随之失败,任务失败之前运行占用的资源不仅会造成资源浪费,也导致了任务的延迟。且因为执行服务的重启造成的服务任务失败,特别是在任务即将完成的时候服务升级而造成的任务失败,需要重新运行任务,进而会导致若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题。为解决上述问题,本申请实施例通过增加管理服务机来进行控制服务和执行服务的解耦,当执行服务已经获取到需要执行的离线任务时,也即,执行服务为待发布升级的执行服务时,可以将待发布升级的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表(包含不用进行升级发布的执行服务的列表)。当检测到控制服务中存在待下发目标任务时,可以从更新后的执行服务列表中确定目标执行服务。控制服务可以将目标任务下发至目标执行服务中,从而避免了由于正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题。
可选地,一个任务调度集群(又可以称为执行机集群)可以包含若干物理机,其中,一个是物理控制机,其余为物理执行机,物理控制机可以包含一个控制服务,负责分发路由调度任务,可以将调度任务路由到任意物理执行机。物理执行机可以包含执行服务,执行服务用于执行控制服务分发下来的任务。当物理执行机需要执行调度任务,以发布升级的时候,意味着该物理执行机上的调度任务会重新启动,如果物理执行机上有调度任务已经在途了,那么调度任务的重启势必会造成物理执行机所使用的资源的浪费以及时间的浪费,尤其是调度任务较多,或者调度任务执行较长接近成功的时候,资源损耗越大。
举例而言,控制服务将调度任务(比如,Task_A,Task_B,Task_C)提交到“执行服务1”中。“执行服务1”获取控制服务下发的调度任务,并执行、发布升级,“执行服务1”可以向管理服务通知“我即将升级发布,我的状态为非在线”则此时“执行服务1”为待升级发布的执行服务。管理服务可以将执行服务列表中的“执行服务1”删除,得到更新后的执行服务列表。此时更新后的执行服务列表中只包含不用进行升级发布的执行服务,则“执行服务1”为不可见状态。当管理服务检测到控制服务待下发目标任务时,则控制服务只能向不进行升级发布的目标执行服务下发目标任务(又可以称为目标调度任务)。
在该实施例中,管理服务(管理服务机)可以构建执行服务列表,可以用于管理执行服务的节点,且可以用于控制执行服务对控制服务的可见性,收集执行服务的资源(比如,CPU和内存),可以收集执行服务上运行的任务和状态。当确定执行服务为待发布升级的执行服务时,可以将待执发布升级的执行服务从管理服务的执行服务列表中删除,以得到更新后的执行服务列表,则当控制服务待下发目标任务的时候,控制服务中的任务配置就不会选择到正在准备发布升级的执行服务,只能将目标任务下发至不用进行升级发布的目标执行服务中。
在本申请中,确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;将目标任务下发至目标执行服务。也即,在本申请中,通过在管理服务的执行服务列表中删除待升级发布的执行服务,在控制服务下发任务时,依据更新后的执行服务列表确定目标执行服务,并分发任务至该目标执行服务,避免了对待升级发布的执行服务下发任务,造成资源浪费的情况。通过将任务下发至目标执行服务(不用进行升级发布的执行服务)进行任务的处理,保证了对任务的处理效率,从而解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,实现了避免现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术效果。
下面结合上述各步骤对本申请实施例进行详细说明。
作为一种可选的实施例,在将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表之后,该方法还包括:在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
在该实施例中,在待升级发布的执行服务升级完成后,当执行服务启动后,可以向管理服务发送注册指令,响应注册指令,可以将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态。其中,在线状态的执行服务可以承接新的任务。注册指令又可以称为注册命令。执行服务的信息又可以为注册信息。
可选地,在将待升级发布的执行服务从管理服务的执行列表中删除,得到更新后的执行服务列表之后,在待升级发布的执行服务的升级完成后,执行服务变为不用在进行升级发布的执行服务,则当执行服务启动后,可以向管理服务发送注册指令。管理服务响应于注册指令,可以将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,处于在线状态的执行服务可以承接新的任务。
在该实施例中,管理服务和执行服务两个模块之间通讯可以为服务工人(server-worker)模式,物理执行机中的执行服务启动后,可以定时发送注册指令,以将执行服务的信息发送给管理服务中。管理服务响应于注册指令,可以将升级发布完成的执行服务的信息重新添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态。其中,状态信息可以包含状态参数,可以包含在线状态和非在线状态。
可选地,执行服务的信息可以数据表的形式存储在管理服务的数据库中,执行服务的信息至少可以包括执行服务执行的调度任务名称(比如,调度任务ID)、执行的任务数量、执行服务的状态信息、执行服务的内存余量等,此处仅为举例,不对执行服务的信息的内容做具体限制,执行服务的信息的内容可以根据实际需要进行增加或减少。
可选地,在管理服务中可以使用数据库(比如,MySQL)的形式存储执行服务的信息。执行服务的信息可以包含以下至少之一:管理服务中的调度任务ID、执行服务互联网协议地址(Internet Protocol,简称为IP)、执行服务端口、执行服务中运行的任务数,执行服务中央处理器(Central Processing Unit,简称为CPU)、内存余量、状态信息等。基于状态信息可以确定执行服务是否发布升级完毕,从而得到执行服务列表。当执行服务升级完成后,也可以向管理服务发送注册指令,响应于注册指令,可以重新将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态。其中,状态信息可以包括在线(on line)状态和非在线(off line)状态,可以为布尔型数据类型(bool)的信息,可以用于确定执行服务是否可以承接新的任务。
在该实施例中,通过增加管理服务机来进行控制服务和执行服务的解耦,将原本的执行服务上报途径转移到上报给管理服务,借助管理服务,执行服务通过注册指令注册到管理服务中。管理服务可以控制执行服务列表中执行服务的增加和移除。当待升级发布的执行服务上现有的调度任务完成后,待升级发布的执行服务进行发布升级,当待升级发布的执行服务升级完成后,可以向管理服务发送注册指令,即可重新将执行服务添加至执行服务列表中,从而避免不断地接收新调度任务造成执行服务的物理执行机发布任务时失败的情况,不仅有利于资源的利用,还能节省运行任务的耗时,从而避免了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的问题。
作为一种可选的实施例,确定待升级发布的执行服务之后,该方法包括:通过待升级发布的执行服务发送状态更改指令至管理服务;响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,其中,非在线状态的执行服务不能承接新的任务。
在该实施例中,确定待升级发布的执行服务之后,可以通过待升级发布的执行服务发送状态更改指令至管理服务,管理服务响应于状态更改指令,在管理服务中将执行服务列表中待升级的执行服务的状态信息修改为非在线状态,当执行服务的状态信息修改为非在线状态时,可以禁止执行服务在承接新的任务。其中,状态更改指令可以用于指示管理服务机修改执行服务的状态信息,比如,可以为执行服务向管理服务发布的“我即将升级发布,请将我的状态信息修改为非在线状态”,需要说明的是,此处仅为举例,不对状态更改指令的内容做具体限制。
可选地,当执行服务对获取到调度任务进行执行时,可以确定执行服务为待升级发布的执行服务,确定执行服务为待升级发布的执行服务之后,可以通过待升级发布的执行服务向管理服务发送状态更改指令。响应于状态更改指令,可以在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,以禁止待发布升级的执行服务再接受控制服务中下发的离线任务。
举例而言,当“执行服务1”正在执行任务(比如,Task_A,Task_B,Task_C)时,可以确定“执行服务1”为待升级发布的执行服务,则可以通过“执行服务1”向管理服务发送状态更改指令,以通知管理服务:“我正在执行调度任务,请将我的状态信息改为非在线状态”。管理服务响应于状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,以避免“执行服务1”在承接新的任务。
在该实施例中,通过增加管理服务来进行控制服务和执行服务的解耦,将原本的执行服务上报途径转移到上报给管理服务,借助管理服务,管理执行服务注册到管理服务中的执行列表(也即执行服务列表)。管理服务可以控制执行服务列表中执行服务的增加和移除。当执行服务需要发布升级时,可以发送状态更改指令至管理服务;管理服务响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,从而管理服务可以对控制服务隐藏待发布升级的执行服务,使得该执行服务不再接收新的调度任务,从而避免不断地接收新调度任务造成执行服务的物理执行机发布任务时失败的情况,进而接解决了在离线任务执行的过程中,由于对执行服务维护升级,使得执行服务重启,导致数据处理效率低的问题。
作为一种可选的实施例,将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表包括:在管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
在该实施例中,管理服务机响应于状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态。可以在管理服务的执行服务列表中,将状态信息为非在线状态的执行服务进行删除,从而得到更新后的执行服务列表。其中,执行服务列表可以为包含处于在线状态的执行服务。
可选地,管理服务机(可以简称为管理服务)接收到执行服务的状态更改指令的通知,管理服务响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,可以在管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
在该实施例中,当管理服务接受到执行服务的通知后,可以将执行服务从在线的执行服务列表中摘除,则当控制服务再次下发调度任务的时候,就不会选择到正在准备发布升级的执行服务。
如果执行服务的状态信息为非在线状态,则可以说明该执行服务为待发布升级的执行服务,在这种情况下,为了避免由于执行服务发布升级导致执行服务中其他任务重启的问题,在该实施例中,通过管理服务删除执行服务列表中状态信息为非在线状态的执行服务,从而得到更新后的仅包含可以不用进行升级发布的执行服务的执行服务列表,进而避免由于执行服务发布升级导致执行服务中其他任务重启的问题。
作为一种可选的实施例,步骤S106,在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,包括:在检测到控制服务待下发目标任务时,确定目标任务的配置参数;从更新后的执行服务列表中确定与配置参数匹配的目标执行服务。
在该实施例中,当检测到控制服务下发目标任务时,可以确定目标任务的配置参数,可以从更新后的执行服务列表中确定与配置参数匹配的目标执行服务。其中,配置参数可以包括目标任务的执行时间、执行位置等,此处仅举例,不对配置参数的类别做具体限制。
在该实施例中,在检测到控制服务待下发目标任务时,可以确定目标任务的配置参数,可以根据预先配置好的任务配置的路由策略选择从更新后的执行服务列表中确定与配置参数匹配的目标执行服务,以执行目标任务,从而达到了可以准确分配目标任务的目的。
作为一种可选的实施例,确定待升级发布的执行服务之后,该方法包括:确定待升级发布的执行服务中正在运行的任务;在检测到待升级发布的执行服务中所有任务运行完成后,对待升级发布的执行服务升级。
在该实施例中,可以确定待升级发布的执行服务中正在运行的任务,在检测到待升级发布的执行服务中所有任务运行完成后,可以对待升级发布的执行服务执行服务升级。
举例而言,当“执行服务1”执行调度任务(比如,Task_A,Task_B,Task_C)时,可以通知管理服务:“我即将升级发布,请将我的状态改为非在线”。响应于“执行服务1”执行调度任务,管理服务从执行服务列表中将“执行服务1”移除,使其对控制服务不可见。等待“执行服务1”上的调度任务全部运行完成,可以对待升级发布的执行服务执行服务升级。在待升级发布的执行服务升级完成后,“执行服务1”可以再次启动发布注册指令。当管理服务获取到注册指令时,管理服务可以将“执行服务1”再次加入到执行服务列表中,此时,“执行服务1”对控制服务而言变成了可见,至此完成了调度任务的有状态“执行服务1”无损发布整个流程。
在该实施例中,确定待升级发布的执行服务中正在运行的任务;在检测到待升级发布的执行服务中所有任务运行完成后,对待升级发布的执行服务升级,从而避免了在由于任务未完成却发布升级导致未完成的任务重新启动的问题,进而达到了提高数据消耗和处理效率的效果,解决了数据处理过程中消耗大、效率低的问题。
在本申请实施例中,通过在管理服务的执行服务列表中删除待升级发布的执行服务,在控制服务下发任务时,依据更新后的执行服务列表确定目标执行服务,并分发任务至该目标执行服务,避免了对待升级发布的执行服务下发任务,造成资源浪费的情况。通过将任务下发至目标执行服务(不用进行升级发布的执行服务)进行任务的处理,保证了对任务的处理效率,从而解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,实现了避免现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术效果。
实施例二
下面结合另一种可选的具体实施方式进行详细说明。
在大数据平台中,随着业务的不断发展,任务调度在各类场景中发挥着重要的作用。在日常的数据处理中,业务开发人员可以在系统中运行开源集群运算框架(比如,spark、hive)等的任务。任务调度系统不仅需要和上层任务对接,还需要和底层基础组件对接。每天需要运行成千上万的任务,每个任务可能涉及到数以百亿的数据。
图2是根据相关技术提供的一种调度架构的示意图,如图2所示,调度架构可以包括:控制服务201、执行服务202、执行服务203……执行服务n等,其中,控制服务主节点只有一台,执行服务可以是多台。图3是根据相关技术提供的一种调度架构中数据交互的示意图,如图3所示,执行服务301向控制服务302注册节点,并实时保持心跳,心跳信息可以包含执行服务节点的资源数据(比如,CPU和内存),控制服务302向执行服务301提交任务,执行服务301执行任务并实时向控制服302务上报任务运行状态。在执行服务发布的时候,正在执行中的任务会立即失败,控制服务会感知到任务失败,重新分发任务,让任务重新运行。
举例而言,控制服务302可以将任务(Task_A)提交到“执行服务1”中,Task_A占用400核中央处理器和2字节内存,当前已经运行20分钟,此时“执行服务1”需要发布升级,会将Task_A置为失败,控制服务302感知到Task_A失败,会将Task_A重新提交到“执行服务M”中,则Task_A需要重头开始运行,因此,Task_A之前20分钟占用的400核中央处理器和2字节内存就浪费了,且Task_A完成时间会延迟20分钟。
由上述可知,调度任务执行时间比较长,生产环境常见运行耗时在数个小时,在任务执行的过程中,无法避免的会对执行服务维护升级,当执行服务重启时,运行在执行服务的调度任务也会随之失败,任务失败之前运行占用的资源不仅会造成资源浪费,也导致了任务的延迟。且因为执行服务的重启造成执行服务任务失败,特别是在任务即将完成的时候服务升级而造成任务失败,需要重新运行,会导致任务耗时翻倍,从而导致存在任务的下发效率低的技术问题。
可选地,一个执行机集群可以包含若干物理机,其中一个是物理控制机,其余为物理执行机,物理控制机可以包含一个控制服务,负责分发路由调度任务,可以将调度任务路由到任意物理执行机。物理执行机可以包含执行服务,执行服务用于执行控制服务分发下来的任务。
当物理执行机需要执行调度任务,以发布升级的时候,意味着该物理执行机上的调度任务会重新启动,如果物理执行机上有调度任务已经在途了,那么调度任务的重启势必会造成物理执行机所使用的资源的浪费以及时间的浪费,尤其是调度任务较多,或者调度任务执行较长接近成功的时候,资源损耗越大。
考虑到上述问题,本申请实施例提出了一种调度任务有状态无损发布的方法,通过增加管理服务来解决执行服务上任务失败的情况。图4是本申请实施例的一种离线任务调度的示意图,如图4所示,执行服务401不再直接注册到控制服务402,而是注册到新加入的管理服务403,并且和管理服务403保持心跳。执行服务401将资源(比如,CPU、内存)、任务状态等信息直接上报给管理服务403,管理服务403可以管理注册上来的执行服务列表,可以增加或者移除执行服务列表中的执行服务。控制服务402提交任务的时候,会通过管理服务403获取到可以提交任务的最佳执行服务401,被管理服务移除的执行服务就不会接收到任务。因此,当物理执行机中的任务执行的时候,管理服务403只需要将执行任务的执行服务从自己的执行列表中移除,当控制服务402再次下发任务的时候,就不会提交到被移除的执行服务中,因此该执行服务就不会再接收新的任务,等到此执行服务中的任务全部运行完成,发布此执行服务升级后,就不会出现有任务失败的情况,也就做到了无损发布。
可选地,等到执行服务任务完成后,可以再次重新注册节点到管理服务403,管理服务403将此执行服务重新放入执行服务列表,再次对控制服务402可见,该执行服务401又能够接收到来自控制服务402提交过来的任务,至此,可以实现调度任务有状态无损发布。也即,本申请实施例通过加入管理服务机(简称为管理服务)来避免任务失败重跑,以预防上述提到的资源损耗问题,从而实现调度任务的无损发布。
图5是本申请实施例的一种调度任务有状态无损发布的流程图,如图5所示,调度任务有状态无损发布方法可以包括以下步骤。
步骤S501,执行服务注册到管理服务中。
在该实施例中,执行服务注册到管理服务中,并将中央处理器和内容以心跳方式实时上报到管理服务中。
可选地,物理管理机和物理执行机两个模块之间通讯是服务工人(server-worker)模式,物理执行机启动后,会定时发送注册命令,这样管理机就可以获取在线的执行服务列表,通过执行服务列表,就可以根据任务配置的路由策略选择物理执行机中的执行服务的节点执行调度任务。
可选地,在管理服务中可以使用数据库(比如,MySQL)的形式存储管理服务上的执行服务的注册信息。表1是一种注册信息表,如表1所示,注册信息可以至少包含一下至少之一:管理服务中的调度任务ID、执行服务IP、执行服务端口、执行服务中运行的任务数,执行服务CPU、内存余量、是否在线等。
表1一种数据库存储任务信息表
步骤S502,控制服务将调度任务下发至执行服务中。
在该实施例中,控制服务可以在管理服务中获取最适合的执行服务,并且分发调度任务到执行服务中。其中,最合适的执行服务可以为处于在线状态的执行服务,比如,可以为处于在线状态,且剩余存储空间最多的执行服务,此处仅为举例,执行服务的确定可以根据存储空间、执行服务运行中的任务数等参数进行确定,此处不做具体限制。
举例而言,控制服务将调度任务(比如,Task_A,Task_B,Task_C)提交到“执行服务1”,此时“执行服务1”准备发布,执行服务需要升级发布时,可以通知管理服务:“我即将升级发布,请将我的状态改为非在线”。
步骤S503,管理服务机接收到执行服务的通知,则将执行服务从在线的执行服务列表中摘除。
在该实施例中,当管理服务接受到执行服务的通知,可以将执行服务从在线的执行服务列表中摘除,则当控制服务再次下发任务的时候,任务配置就不会选择到正在准备发布升级的执行服务。那么执行服务只需要等待本台执行机上所有的调度任务执行完成后,就可以进行服务升级了。这样就避免了执行机服务升级的过程中,该台机器上源源不断的有未执行完的任务,从而可以避免未执行完的任务重新执行的情况。
可选地,当执行服务升级完成后,可以再次启动发布注册指令(又可以称为注册命令),这样管理机就会再次将其加入到在线的执行服务列表中。
举例而言,控制服务将调度任务(比如,Task_A,Task_B,Task_C)提交到“执行服务1”,此时“执行服务1”准备发布,执行服务需要升级发布时,可以通知管理服务:“我即将升级发布,请将我的状态改为非在线”。响应于“执行服务1”执行调度任务,管理服务从执行服务列表中将“执行服务1”移除,使其对控制服务不可见,等待“执行服务1”上的调度任务全部运行完成,进入升级发布状态时,“执行服务1”可以再次启动发布注册命令。当管理服务获取到注册命令时,管理服务可以将“执行服务1”再次加入到执行服务列表中,此时,“执行服务1”对控制服务而言变成了可见,至此完成了调度任务的有状态“执行服务1”无损发布整个流程。
在该实施例中,通过增加管理服务机来进行控制服务和执行服务的解耦,将原本的执行服务上报途径转移到上报给管理服务,借助管理服务,管理执行服务注册到管理服务中的执行列表。管理服务可以控制执行服务列表的增加和移除。当执行服务需要发布任务时,会上报给管理服务,管理服务就会对控制服务隐藏该执行服务,使得该执行服务不再接收新的调度任务,只要将该执行服务上现有的调度任务完成即可,避免不断地接收新调度任务造成执行服务的物理执行机发布任务时失败,不仅有利于资源的利用,还能节省运行任务的耗时,从而解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,实现了避免现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术效果。
实施例三
本申请实施例还提供了一种任务的下发系统,需要说明的是,本申请实施例的任务的下发系统可以用于执行图1中本申请实施例所提供的用于任务的下发方法。以下对本申请实施例提供的任务的下发系统进行介绍。
图6是根据本申请实施例的一种任务的下发系统的示意图,如图6所示,该系统可以包括:管理服务601和控制服务602。
管理服务601,用于确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务器待下发目标任务时,从更新后的执行服务列表中确定目标执行服务。
控制服务器602,用于在待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,将目标任务下发至目标执行服务。
可选地,该系统还包括:多个执行服务,其中,在每个执行服务启动时,向管理服务发送注册指令,在管理服务中注册完成后,并将该执行服务对应的CPU和内存以心跳的方式上报至管理服务。
在该实施例中,在每个执行服务启动时,可以向管理服务发送注册指令,当执行服务注册到管理服务后,可以将中央处理器(Central Processing Unit,简称为CPU)和内存以心跳方式实时上报到管理服务中。
可选地,待升级发布的执行服务还用于在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;管理服务还用于响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
本申请实施例提供的任务的下发系统,该系统通过管理服务,确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表;通过控制服务器,在待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,将目标任务下发至目标执行服务,从而解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,实现了避免现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术效果。
实施例四
本申请实施例还提供了一种任务的下发装置,需要说明的是,本申请实施例的任务的下发装置可以用于执行图1中本申请实施例所提供的用于任务的下发方法。以下对本申请实施例提供的任务的下发装置进行介绍。
图7是根据本申请实施例的一种任务的下发装置的示意图,如图7所示,该装置可以包括:第一确定单元701、处理单元702、第二确定单元703和下发单元704。
第一确定单元701,用于确定待升级发布的执行服务。
处理单元702,用于将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务。
第二确定单元703,用于在检测到待下发目标任务时,从更新后的执行服务列表中确定目标执行服务。
下发单元704,用于将目标任务下发至目标执行服务。
本申请实施例提供的任务的下发装置,通过第一确定单元701,确定待升级发布的执行服务;通过处理单元702,将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;通过第二确定单元703,在检测到待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;通过下发单元704,将目标任务下发至目标执行服务,从而解决了现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术问题,实现了避免现有技术中若对正在执行任务的执行服务进行维护升级,运行在执行服务的任务会随之失败,造成资源浪费的技术效果。
可选地,处理单元702还包括:第一处理模块,用于在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
可选地,第一确定单元701还包括:第二处理模块,用于通过待升级发布的执行服务发送状态更改指令至管理服务;响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,其中,非在线状态的执行服务不能承接新的任务。
可选地,第二处理模块还包括:处理子模块,用于在管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
可选地,第二确定单元703还包括:确定模块,用于在检测到控制服务待下发目标任务时,确定目标任务的配置参数;从更新后的执行服务列表中确定与配置参数匹配的目标执行服务。
可选地,第一确定单元701还包括:第三处理模块,用于确定待升级发布的执行服务中正在运行的任务;在检测到待升级发布的执行服务中所有任务运行完成后,对待升级发布的执行服务执行服务升级。
上述任务的下发装置还可以包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高任务的下发效率。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的任务的下发方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的任务的下发方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的任务的下发方法。
图8是根据本申请实施例的一种任务的下发电子设备的示意图,如图8所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;将目标任务下发至目标执行服务。。
处理器执行程序时还实现以下步骤:在将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表之后,该方法还包括:在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
处理器执行程序时还实现以下步骤:确定待升级发布的执行服务之后,该方法包括:通过待升级发布的执行服务发送状态更改指令至管理服务;响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,其中,非在线状态的执行服务不能承接新的任务。
处理器执行程序时还实现以下步骤:将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表包括:在管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
处理器执行程序时还实现以下步骤:在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,包括:在检测到控制服务待下发目标任务时,确定目标任务的配置参数;从更新后的执行服务列表中确定与配置参数匹配的目标执行服务。
处理器执行程序时还实现以下步骤:确定待升级发布的执行服务中正在运行的任务;在检测到待升级发布的执行服务中所有任务运行完成后,对待升级发布的执行服务执行服务升级。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定待升级发布的执行服务;将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,执行服务列表中记录有多个执行服务的信息,多个执行服务已注册至管理服务;在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;将目标任务下发至目标执行服务。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表之后,该方法还包括:在待升级发布的执行服务升级完成后,在检测到执行服务启动后,向管理服务发送注册指令;响应注册指令,将执行服务的信息添加至更新后的执行服务列表中,并将执行服务的状态信息配置为在线状态,其中,在线状态的执行服务能承接新的任务。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:确定待升级发布的执行服务之后,该方法包括:通过待升级发布的执行服务发送状态更改指令至管理服务;响应状态更改指令,在管理服务中将执行服务列表中待升级发布的执行服务的状态信息修改为非在线状态,其中,非在线状态的执行服务不能承接新的任务。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:将待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表包括:在管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,包括:在检测到控制服务待下发目标任务时,确定目标任务的配置参数;从更新后的执行服务列表中确定与配置参数匹配的目标执行服务。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:确定待升级发布的执行服务中正在运行的任务;在检测到待升级发布的执行服务中所有任务运行完成后,对待升级发布的执行服务执行服务升级。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种任务的下发方法,其特征在于,包括:
确定待升级发布的执行服务;
将所述待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,所述执行服务列表中记录有多个执行服务的信息,所述多个执行服务已注册至所述管理服务;
在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;
将所述目标任务下发至所述目标执行服务。
2.根据权利要求1所述的方法,其特征在于,在将所述待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表之后,所述方法还包括:
在所述待升级发布的执行服务升级完成后,在检测到所述执行服务启动后,向所述管理服务发送注册指令;
响应所述注册指令,将所述执行服务的信息添加至所述更新后的执行服务列表中,并将所述执行服务的状态信息配置为在线状态,其中,所述在线状态的执行服务能承接新的任务。
3.根据权利要求1所述的方法,其特征在于,确定待升级发布的执行服务之后,所述方法包括:
通过所述待升级发布的执行服务发送状态更改指令至所述管理服务;
响应所述状态更改指令,在所述管理服务中将所述执行服务列表中所述待升级发布的执行服务的状态信息修改为非在线状态,其中,所述非在线状态的执行服务不能承接新的任务。
4.根据权利要求3所述的方法,其特征在于,将所述待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表包括:
在所述管理服务的执行服务列表中将状态信息为非在线状态的执行服务进行删除,得到更新后的执行服务列表。
5.根据权利要求1所述的方法,其特征在于,在检测到控制服务待下发目标任务时,从所述更新后的执行服务列表中确定所述目标执行服务,包括:
在检测到所述控制服务待下发所述目标任务时,确定所述目标任务的配置参数;从所述更新后的执行服务列表中确定与所述配置参数匹配的所述目标执行服务。
6.根据权利要求1所述的方法,其特征在于,确定待升级发布的执行服务之后,所述方法包括:
确定所述待升级发布的执行服务中正在运行的任务;
在检测到所述待升级发布的执行服务中所有任务运行完成后,对所述待升级发布的执行服务执行服务升级。
7.一种任务的下发系统,其特征在于,所述任务的下发系统用于执行上述权利要求1至6中任意一项所述的任务的下发方法,包括:
管理服务,用于确定待升级发布的执行服务;将所述待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,所述执行服务列表中记录有多个执行服务的信息,所述多个执行服务已注册至所述管理服务;在检测到控制服务器待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;
控制服务器,用于在待下发目标任务时,从更新后的执行服务列表中确定目标执行服务,将所述目标任务下发至所述目标执行服务。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
多个执行服务,其中,在每个执行服务启动时,向所述管理服务发送注册指令,在所述管理服务中注册完成后,并将该执行服务对应的CPU和内存以心跳的方式上报至所述管理服务。
9.根据权利要求7所述的系统,其特征在于,
所述待升级发布的执行服务还用于在所述待升级发布的执行服务升级完成后,在检测到所述执行服务启动后,向所述管理服务发送注册指令;
所述管理服务还用于响应所述注册指令,将所述执行服务的信息添加至所述更新后的执行服务列表中,并将所述执行服务的状态信息配置为在线状态,其中,所述在线状态的执行服务能承接新的任务。
10.一种任务的下发装置,其特征在于,包括:
第一确定单元,用于确定待升级发布的执行服务;
处理单元,用于将所述待升级发布的执行服务从管理服务的执行服务列表中删除,得到更新后的执行服务列表,其中,所述执行服务列表中记录有多个执行服务的信息,所述多个执行服务已注册至所述管理服务;
第二确定单元,用于在检测到控制服务待下发目标任务时,从更新后的执行服务列表中确定目标执行服务;
下发单元,用于将所述目标任务下发至所述目标执行服务。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任意一项所述的方法。
CN202310686870.8A 2023-06-09 2023-06-09 任务的下发方法、系统、装置、处理器和电子设备 Pending CN116755880A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310686870.8A CN116755880A (zh) 2023-06-09 2023-06-09 任务的下发方法、系统、装置、处理器和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310686870.8A CN116755880A (zh) 2023-06-09 2023-06-09 任务的下发方法、系统、装置、处理器和电子设备

Publications (1)

Publication Number Publication Date
CN116755880A true CN116755880A (zh) 2023-09-15

Family

ID=87947133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310686870.8A Pending CN116755880A (zh) 2023-06-09 2023-06-09 任务的下发方法、系统、装置、处理器和电子设备

Country Status (1)

Country Link
CN (1) CN116755880A (zh)

Similar Documents

Publication Publication Date Title
US20180322162A1 (en) Query dispatch and execution architecture
US9851989B2 (en) Methods and apparatus to manage virtual machines
US7779298B2 (en) Distributed job manager recovery
US8863137B2 (en) Systems and methods for automated provisioning of managed computing resources
US7970892B2 (en) Tuning and optimizing distributed systems with declarative models
US9535754B1 (en) Dynamic provisioning of computing resources
US20080030764A1 (en) Server parallel aggregation
US8381222B2 (en) Policy driven automation—specifying equivalent resources
CN112052068A (zh) 一种Kubernetes容器平台CPU绑核的方法与装置
US9959157B1 (en) Computing instance migration
CN116601606A (zh) 计算平台上的多租户控制平面管理
CN112866314B (zh) 分布式主从系统中从节点的切换方法、主节点设备和存储介质
US20230305876A1 (en) Managing storage domains, service tiers, and failed servers
CN112596762A (zh) 一种滚动升级方法及装置
CN112162852A (zh) 一种多架构cpu节点的管理方法、装置及相关组件
CN113204353A (zh) 一种大数据平台组件部署方法及装置
CN116954816A (zh) 容器集群控制方法、装置、设备及计算机存储介质
CN110912726B (zh) 服务的提供方法、装置、系统、存储介质及电子装置
US11803448B1 (en) Faster restart of task nodes using periodic checkpointing of data sources
US11656944B1 (en) Code function checkpoint and restore
CN117076096A (zh) 任务流程的执行方法、装置、计算机可读介质及电子设备
CN114787836A (zh) 用于远程执行一个或更多个任意定义的工作流的系统和方法
US11663096B1 (en) Managing storage domains, service tiers and failed storage domain
CN116755880A (zh) 任务的下发方法、系统、装置、处理器和电子设备
Bekas et al. Cross-layer management of a containerized NoSQL data store

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