CN115562837A - 任务调度方法、装置、设备及存储介质 - Google Patents

任务调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115562837A
CN115562837A CN202211307775.4A CN202211307775A CN115562837A CN 115562837 A CN115562837 A CN 115562837A CN 202211307775 A CN202211307775 A CN 202211307775A CN 115562837 A CN115562837 A CN 115562837A
Authority
CN
China
Prior art keywords
task
tasks
information
message queue
acquiring
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
CN202211307775.4A
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202211307775.4A priority Critical patent/CN115562837A/zh
Publication of CN115562837A publication Critical patent/CN115562837A/zh
Pending legal-status Critical Current

Links

Images

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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

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)

Abstract

本申请提供一种任务调度方法、装置、设备及存储介质,接收客户端发送的多个任务;获取多个任务的任务信息,任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;根据多个任务的任务信息,将多个任务存储至消息队列;通过第一计算节点获取消息队列中位于队首的第一任务,并对第一任务进行任务处理。根据多个任务的任务信息,将多个任务存储至消息队列,优化了多个任务的处理顺序,降低了多个任务的排队时长。

Description

任务调度方法、装置、设备及存储介质
技术领域
本申请属于计算机技术领域,具体涉及一种任务调度方法、装置、设备及存储介质。
背景技术
任务调度系统在接收到客户端发送的多个任务时,先将多个任务存储至数据库中,再将多个任务以广播的方式传输至计算节点,计算节点对接收到的任务进行处理。
在相关技术中,任务调度系统是随机将多个任务存储至数据库中,若将某个处理时长较长的任务排在前面,当计算节点先处理该任务时,将导致数据库中多个任务的排队时间较长。
发明内容
本申请提供一种任务调度方法、装置、设备及存储介质,降低了多个任务的排队时长。
第一方面,本申请实施例提供一种任务调度方法,包括:
接收客户端发送的多个任务;
获取所述多个任务的任务信息,所述任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;
根据所述多个任务的任务信息,将所述多个任务存储至消息队列;
通过第一计算节点获取所述消息队列中位于队首的第一任务,并对所述第一任务进行任务处理。
在一种可能的实施方式中,根据所述多个任务的任务信息,将所述多个任务存储至消息队列,包括:
根据所述多个任务的任务信息,确定所述多个任务的处理顺序;
按照所述处理顺序,将所述多个任务存储至所述消息队列。
在一种可能的实施方式中,根据所述多个任务的任务信息,确定所述多个任务的处理顺序,包括:
获取所述任务信息中各信息的排序权重;
根据各任务的任务信息、以及各信息的排序权重,确定各任务的重要度;
按照重要度从高到低的顺序,确定所述多个任务的处理顺序。
在一种可能的实施方式中,所述任务调度系统中包括多个计算节点;通过第一计算节点获取所述消息队列中位于队首的第一任务,包括:
获取所述多个计算节点的节点状态,所述节点状态为空闲状态或者占用状态;
根据所述多个计算节点的节点状态,在所述多个计算节点中确定所述第一计算节点,所述第一计算节点的节点状态为空闲状态;
通过所述第一计算节点在所述消息队列的队首获取所述第一任务。
在一种可能的实施方式中,通过所述第一计算节点在所述消息队列的队首获取所述第一任务,包括:
获取对所述第一任务的获取状态,所述获取状态为获取成功状态或获取失败状态;
若所述获取状态为所述获取失败状态,则等待预设时长,并在所述预设时长之后在所述消息队列的队首获取所述第一任务,直至获取得到所述第一任务。
在一种可能的实施方式中,所述方法还包括:
通过多个计算节点确定所述多个任务的状态;
实时记录所述多个任务的状态,所述状态包括以下任意一个:排队中、计算中、已完成或出错。
第二方面,本申请实施例提供一种任务调度装置,包括接收模块、获取模块、存储模块和处理模块,其中,
所述接收模块,用于接收客户端发送的多个任务;
所述获取模块,用于获取所述多个任务的任务信息,所述任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;
所述存储模块,用于根据所述多个任务的任务信息,将所述多个任务存储至消息队列;
所述处理模块,用于通过第一计算节点获取所述消息队列中位于队首的第一任务,并对所述第一任务进行任务处理。
在一种可能的实施方式中,所述存储模块具体用于:
根据所述多个任务的任务信息,确定所述多个任务的处理顺序;
按照所述处理顺序,将所述多个任务存储至所述消息队列。
在一种可能的实施方式中,所述存储模块具体用于:
获取所述任务信息中各信息的排序权重;
根据各任务的任务信息、以及各信息的排序权重,确定各任务的重要度;
按照重要度从高到低的顺序,确定所述多个任务的处理顺序。
在一种可能的实施方式中,所述任务调度系统中包括多个计算节点;所述处理模块具体用于:
获取所述多个计算节点的节点状态,所述节点状态为空闲状态或者占用状态;
根据所述多个计算节点的节点状态,在所述多个计算节点中确定所述第一计算节点,所述第一计算节点的节点状态为空闲状态;
通过所述第一计算节点在所述消息队列的队首获取所述第一任务。
在一种可能的实施方式中,所述处理模块具体用于:
获取对所述第一任务的获取状态,所述获取状态为获取成功状态或获取失败状态;
若所述获取状态为所述获取失败状态,则等待预设时长,并在所述预设时长之后在所述消息队列的队首获取所述第一任务,直至获取得到所述第一任务。
在一种可能的实施方式中,所述装置还包括记录模块,所述记录模块用于:
通过多个计算节点确定所述多个任务的状态;实时记录所述多个任务的状态,所述状态包括以下任意一个:排队中、计算中、已完成或出错。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的任务调度方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的任务调度方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现第一方面任一项所述的任务调度方法。
本申请提供一种任务调度方法、装置、设备及存储介质,接收客户端发送的多个任务;获取多个任务的任务信息,任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;根据多个任务的任务信息,将多个任务存储至消息队列;通过第一计算节点获取消息队列中位于队首的第一任务,并对第一任务进行任务处理。根据多个任务的任务信息,将多个任务存储至消息队列,优化了多个任务的处理顺序,降低了多个任务的排队时长。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种任务调度方法的流程示意图;
图3为本申请实施例提供的另一种任务调度方法的流程示意图;
图4为本申请实施例提供的第一计算节点获取任务的流程示意图;
图5为本申请实施例提供的一种任务调度装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例所涉及的用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
需要说明的是,尽管本申请实施例中采用术语“第一”、“第二”、“第三”等来描述各种数据,但这些信息不应限于这些术语。这些术语仅用来将同一类型的数据彼此区分开。可选地,在不脱离本申请范围的情况下,第一数据也可以被称为第二数据,类似地,第二数据也可以被称为第一数据。
应当理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作,但不排除一个或至少一个其他特征、步骤、操作的存在、出现或添加。本申请使用的术语“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。可选地,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A和/或B”意味着“以下任一个:A;B;A和B”。另外,本文中字符“/”一般表示前后关联对象是一种“或”的关系。
为了便于理解,下面结合图1,对本申请实施例所适用的应用场景进行说明。
图1为本申请实施例提供的一种应用场景示意图。请参见图1,包括客户端服务器101、存储服务器102以及计算服务器集群103,计算服务器集群103中包括多个计算服务器(计算节点)。其中,客户端服务器101可以产生批量任务,并发送给存储服务器102,存储服务器102可以将存储在其中的任务传输给计算服务器集群103,计算服务器集群103中的多个计算服务器可以对任务进行处理。
在相关技术中,任务调度系统具有以下问题:
1、存储服务器102是以数据库的形式存储多个任务,并未对多个任务进行排序,若某个处理时长较长的任务排在前面,当计算节点先处理该任务时,将导致数据库中多个任务的排队时间较长;
2、多个任务以广播的方式传输至计算节点,计算节点要大量耗费资源去接收任务。
为了解决上述技术问题,本申请实施例提供一种任务调度方法,可以根据多个任务的任务信息,将多个任务存储至消息队列,优化了任务计算顺序,降低了多个任务的排队时长;同时,第一计算节点主动从消息队列中拉取位于队首的第一任务,节省了计算节点的资源消耗,提高了系统资源的使用率。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以独立存在,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的一种任务调度方法的流程示意图。请参见图2,方法可以包括:
S201、接收客户端发送的多个任务。
本申请的执行主体可以为服务器,也可以为设置在服务器中的任务调度装置。任务调度装置可以通过软件实现,也可以通过软件和硬件的结合实现。
任务可以称为批量任务,可以是指一个可执行的单元,例如程序或者脚本。
任务可以用于完成特定的业务逻辑处理。
任务调度系统中包括任务接收模块,任务接收模块定义了客户端向任务调度系统添加任务的接口规范,可以通过任务接收模块接收任务。
任务接收模块可以通过软件实现,也可以通过软件和硬件的结合实现。
S202、获取多个任务的任务信息。
任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;
任务类型可以是指批量任务的性质,如批量任务所属种类。
例如,开户类型、认购类型、申购类型、分红类型、赎回类型和基金理财产品购买类型等。
任务处理时长可以是指预估的任务处理时长。
S203、根据多个任务的任务信息,将多个任务存储至消息队列。
消息队列中可以定义一种进程间的通信方式,或同一进程的不同线程间的通信方式。每一个队列中的记录包含详细说明的资料、发生的事件、输入事件种类、特定的参数等信息。消息的发送者和接收者不需要同时与消息队列交互,消息会被保存在队列中,直到接收者取回它。
在一种可能的实现中,可以通过以下方式根据多个任务的任务信息,将多个任务存储至消息队列:
根据多个任务的任务信息,确定多个任务的处理顺序;按照处理顺序,将多个任务存储至消息队列。
例如,任务接收时刻早的任务的处理顺序可以靠前,任务接收时刻晚的任务的处理顺序可以靠后;任务优先级高的任务的处理顺序可以靠前,任务优先级低的任务的处理顺序可以靠后;任务处理时长长的任务的处理顺序可以靠后,任务处理时长短的处理顺序可以靠前。
S204、通过第一计算节点获取消息队列中位于队首的第一任务,并对第一任务进行任务处理。
第一计算节点可以主动从消息队列中拉取任务。
第一计算节点可以通过软件实现,也可以通过软件和硬件的结合实现。
在图2所示的实施例中,获取多个任务的任务信息,任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;根据多个任务的任务信息,将多个任务存储至消息队列;通过第一计算节点获取消息队列中位于队首的第一任务,并对第一任务进行任务处理。根据多个任务的任务信息,将多个任务存储至消息队列,优化了多个任务的处理顺序,降低了多个任务的排队时长;并且第一计算节点主动从消息队列中拉取位于队首的第一任务,节省了计算节点的资源消耗,提高了系统资源的使用率。
在图2所示实施例的基础上,下面,结合图3对任务调度方法的流程进行详细说明。
图3为本申请实施例提供的另一种任务调度方法的流程示意图。请参见图3,方法包括:
S301、接收客户端发送的多个任务。
需要说明的是,S301的执行过程可以参见S201的执行过程,此处不再赘述。
S302、获取多个任务的任务信息。
需要说明的是,S303的执行过程可以参见S202的执行过程,此处不再赘述。
S303、根据多个任务的任务信息,确定多个任务的处理顺序。
在一种可能的实现中,可以通过以下方式根据多个任务的任务信息,确定多个任务的处理顺序:
获取任务信息中各信息的排序权重;根据各任务的任务信息、以及各信息的排序权重,确定各任务的重要度;按照重要度从高到低的顺序,确定多个任务的处理顺序。
在一种可能的实现中,可以将任务信息中对任务排队时长影响较大的任务信息的排序权重设置的较高一些,将任务信息中对任务排队时长影响较小的任务信息的排序权重设置的较低一些。
在一种可能的实现中,重要度高的任务可以是任务接收时刻较早、任务优先级较高、任务处理时长较短的任务。
可以根据各种任务信息对任务进行排序,既能灵活地适应不同用户的不同需求,又能对任务计算顺序进行优化,以减少平均排队时间,增加系统吞吐量。
S304、按照处理顺序,将多个任务存储至消息队列。
可以将重要度高的任务存储至消息队列的队首。
由于消息队列具有根据消息生存周期实时存储、删除消息的功能,规避了以数据库方式存储任务的复杂性。
S305、获取多个计算节点的节点状态。
任务调度系统中包括多个计算节点,计算节点的数量可以根据任务量确定,本申请对此不做具体限定。
节点状态可以为空闲状态或者占用状态。
空闲状态可以是指计算节点当前没有正在处理的任务。
占用状态可以是指计算节点当前有正在处理的任务。
多个计算节点可以同时处于占用状态。
S306、根据多个计算节点的节点状态,在多个计算节点中确定第一计算节点。
第一计算节点的节点状态为空闲状态。
第一计算节点的数量可以是一个,也可以是多个。
S307、通过第一计算节点在消息队列的队首获取第一任务,并对第一任务进行任务处理。
在一种可能的实现中,可以通过以下方式在消息队列的队首获取第一任务:
获取对第一任务的获取状态,获取状态为获取成功状态或获取失败状态;若获取状态为获取失败状态,则等待预设时长,并在预设时长之后在消息队列的队首获取第一任务,直至获取得到第一任务。
预设时长可以根据实际情况确定,本申请对此不做具体限定。
例如,预设时长可以为1秒。
在一种可能的实现中,如图4所示,第一计算节点可以从消息队列的队首拉取任务,判断是否成功拉取任务,若是,则可以对任务进行任务处理,任务处理完成后,第一计算节点可以继续从消息队列的队首中拉取任务;若否,则可以阻塞1秒后,再从消息队列的队首中拉取任务,直至成功拉取任务。
计算结点以主动拉取模式轮询消息队列,相比于传统的广播模式而言,节省了计算结点的资源消耗,使计算结点更专注于任务计算本身,提高系统资源使用率。
在一种可能的实现中,还可以通过多个计算节点确定多个任务的状态;实时记录多个任务的状态,状态包括以下任意一个:排队中、计算中、已完成或出错。
在一种可能的实现中,任务调度系统中还包括任务状态服务模块,可以用于存储各个任务的状态,使得客户端可以实时获取任务当前的状态,增强用户使用体验。
在图3所示实施例中,接收客户端发送的多个任务;获取多个任务的任务信息,根据多个任务的任务信息,确定多个任务的处理顺序;按照处理顺序,将多个任务存储至消息队列;获取多个计算节点的节点状态,根据多个计算节点的节点状态,在多个计算节点中确定第一计算节点;通过第一计算节点在消息队列的队首获取第一任务,并对第一任务进行任务处理。根据多个任务的任务信息,将多个任务存储至消息队列,优化了多个任务的处理顺序,降低了多个任务的排队时长;并且第一计算节点主动从消息队列中拉取位于队首的第一任务,节省了计算节点的资源消耗,提高了系统资源的使用率。
图5为本申请实施例提供的一种任务调度装置的结构示意图。请参见图5,该任务调度装置10包括接收模块11、获取模块12、存储模块13和处理模块14,其中,
所述接收模块11,用于接收客户端发送的多个任务;
所述获取模块12,用于获取所述多个任务的任务信息,所述任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;
所述存储模块13,用于根据所述多个任务的任务信息,将所述多个任务存储至消息队列;
所述处理模块14,用于通过第一计算节点获取所述消息队列中位于队首的第一任务,并对所述第一任务进行任务处理。
在一种可能的实施方式中,所述存储模块13具体用于:
根据所述多个任务的任务信息,确定所述多个任务的处理顺序;
按照所述处理顺序,将所述多个任务存储至所述消息队列。
在一种可能的实施方式中,所述存储模块13具体用于:
获取所述任务信息中各信息的排序权重;
根据各任务的任务信息、以及各信息的排序权重,确定各任务的重要度;
按照重要度从高到低的顺序,确定所述多个任务的处理顺序。
在一种可能的实施方式中,所述任务调度系统中包括多个计算节点;所述处理模块14具体用于:
获取所述多个计算节点的节点状态,所述节点状态为空闲状态或者占用状态;
根据所述多个计算节点的节点状态,在所述多个计算节点中确定所述第一计算节点,所述第一计算节点的节点状态为空闲状态;
通过所述第一计算节点在所述消息队列的队首获取所述第一任务。
在一种可能的实施方式中,所述处理模块14具体用于:
获取对所述第一任务的获取状态,所述获取状态为获取成功状态或获取失败状态;
若所述获取状态为所述获取失败状态,则等待预设时长,并在所述预设时长之后在所述消息队列的队首获取所述第一任务,直至获取得到所述第一任务。
在一种可能的实施方式中,所述装置10还包括记录模块15,所述记录模块15用于:
通过多个计算节点确定所述多个任务的状态;实时记录所述多个任务的状态,所述状态包括以下任意一个:排队中、计算中、已完成或出错。
本申请实施例提供的任务调度装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
图6为本申请实施例提供的一种电子设备的结构示意图。请参见图6,该电子设备20可以包括:收发器21、存储器22、处理器23。收发器21可包括:发射器和/或接收器。该发射器还可称为发送器、发射机、发送端口或发送接口等类似描述,接收器还可称为接收器、接收机、接收端口或接收接口等类似描述。示例性地,收发器21、存储器22、处理器23,各部分之间通过总线24相互连接。
存储器22用于存储程序指令;
处理器23用于执行该存储器所存储的程序指令,用以使得电子设备20执行上述任一所示的任务调度方法。
收发器21用于执行电子设备20的收发功能。
图6实施例所示的电子设备可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现上述任一项的任务调度方法。
本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现上述任一项的任务调度方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种任务调度方法,其特征在于,包括:
接收客户端发送的多个任务;
获取所述多个任务的任务信息,所述任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;
根据所述多个任务的任务信息,将所述多个任务存储至消息队列;
通过第一计算节点获取所述消息队列中位于队首的第一任务,并对所述第一任务进行任务处理。
2.根据权利要求1所述的方法,其特征在于,根据所述多个任务的任务信息,将所述多个任务存储至消息队列,包括:
根据所述多个任务的任务信息,确定所述多个任务的处理顺序;
按照所述处理顺序,将所述多个任务存储至所述消息队列。
3.根据权利要求2所述的方法,其特征在于,根据所述多个任务的任务信息,确定所述多个任务的处理顺序,包括:
获取所述任务信息中各信息的排序权重;
根据各任务的任务信息、以及各信息的排序权重,确定各任务的重要度;
按照重要度从高到低的顺序,确定所述多个任务的处理顺序。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述任务调度系统中包括多个计算节点;通过第一计算节点获取所述消息队列中位于队首的第一任务,包括:
获取所述多个计算节点的节点状态,所述节点状态为空闲状态或者占用状态;
根据所述多个计算节点的节点状态,在所述多个计算节点中确定所述第一计算节点,所述第一计算节点的节点状态为空闲状态;
通过所述第一计算节点在所述消息队列的队首获取所述第一任务。
5.根据权利要求4所述的方法,其特征在于,通过所述第一计算节点在所述消息队列的队首获取所述第一任务,包括:
获取对所述第一任务的获取状态,所述获取状态为获取成功状态或获取失败状态;
若所述获取状态为所述获取失败状态,则等待预设时长,并在所述预设时长之后在所述消息队列的队首获取所述第一任务,直至获取得到所述第一任务。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
通过多个计算节点确定所述多个任务的状态;
实时记录所述多个任务的状态,所述状态包括以下任意一个:排队中、计算中、已完成或出错。
7.一种任务调度装置,其特征在于,包括接收模块、获取模块、存储模块和处理模块,其中,
所述接收模块,用于接收客户端发送的多个任务;
所述获取模块,用于获取所述多个任务的任务信息,所述任务信息包括如下信息至少一种:任务接收时刻、任务类型、任务优先级、任务处理时长;
所述存储模块,用于根据所述多个任务的任务信息,将所述多个任务存储至消息队列;
所述处理模块,用于通过第一计算节点获取所述消息队列中位于队首的第一任务,并对所述第一任务进行任务处理。
8.一种电子设备,其特征在于,包括处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至6任一项所述的任务调度方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当时所述计算机执行指令被处理器执行时用于实现权利要求1至6任一项所述的任务调度方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时,可实现权利要求1至6任一项所述的任务调度方法。
CN202211307775.4A 2022-10-25 2022-10-25 任务调度方法、装置、设备及存储介质 Pending CN115562837A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211307775.4A CN115562837A (zh) 2022-10-25 2022-10-25 任务调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211307775.4A CN115562837A (zh) 2022-10-25 2022-10-25 任务调度方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115562837A true CN115562837A (zh) 2023-01-03

Family

ID=84747281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211307775.4A Pending CN115562837A (zh) 2022-10-25 2022-10-25 任务调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115562837A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116414464A (zh) * 2023-05-26 2023-07-11 摩尔线程智能科技(北京)有限责任公司 调度任务的方法和装置、电子设备和计算机可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116414464A (zh) * 2023-05-26 2023-07-11 摩尔线程智能科技(北京)有限责任公司 调度任务的方法和装置、电子设备和计算机可读介质
CN116414464B (zh) * 2023-05-26 2023-09-22 摩尔线程智能科技(北京)有限责任公司 调度任务的方法和装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
CN108449410B (zh) 一种云平台中消息管理方法、系统及相关装置
CN108536532B (zh) 一种批量任务处理方法及系统
US10599488B2 (en) Multi-purpose events for notification and sequence control in multi-core processor systems
CN108650667B (zh) 终端调度方法和装置
CN109756428A (zh) 广告投放方法及装置
CN108055311B (zh) Http异步请求方法、装置、服务器、终端和存储介质
US9088537B2 (en) Apparatus and method for executing agent
CN115562837A (zh) 任务调度方法、装置、设备及存储介质
CN112099935B (zh) 一种任务处理方法及装置
CN114357495B (zh) 基于区块链的预言机链下聚合方法、装置、设备和介质
CN111210340B (zh) 一种自动任务处理方法、装置、服务器及存储介质
CN111177363B (zh) 一种群组消息的写入方法、装置、服务器和存储介质
CN111835809B (zh) 工单消息分配方法、装置、服务器及存储介质
CN107819855A (zh) 一种消息分发方法及装置
CN112425120B (zh) 用于广播消息的共识排序的系统和方法
CN109067864B (zh) 通知消息推送方法、装置及电子设备
CN111597056A (zh) 一种分布式调度方法、系统、存储介质和设备
CN111026532A (zh) 用于语音数据的消息队列管理方法
CN114780218A (zh) 应用管控方法、装置、存储介质及电子设备
EP4086753A1 (en) Decision scheduling customization method and device based on information flow
CN114153573A (zh) 一种基于单线程池的多任务处理的方法及相关装置
CN109510774B (zh) 一种在数据同步过程中实现流量控制的方法
CN113641515A (zh) 一种消息处理方法、装置、系统、电子设备和存储介质
CN111901366B (zh) 一种数据推送方法、装置、设备和存储介质
CN117493022B (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