WO2021190087A1 - 任务执行方法、装置、系统和服务器 - Google Patents
任务执行方法、装置、系统和服务器 Download PDFInfo
- Publication number
- WO2021190087A1 WO2021190087A1 PCT/CN2021/071013 CN2021071013W WO2021190087A1 WO 2021190087 A1 WO2021190087 A1 WO 2021190087A1 CN 2021071013 W CN2021071013 W CN 2021071013W WO 2021190087 A1 WO2021190087 A1 WO 2021190087A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- attribute
- queue
- execution
- preset
- Prior art date
Links
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/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
- G06F9/505—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 considering the load
-
- 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
Abstract
本公开提供了一种任务执行方法、装置、系统和服务器, 涉及云计算领域, 首先任务执行节点检测自身负载是否满足预设条件; 如果满足该预设条件, 从预设的任务队列中获取目标任务, 执行目标任务; 其中, 该任务队列中存储有需要执行的任务。该方式采用了由任务执行节点主动拉取任务的方式, 相对于由任务派发节点向任务执行节点派发任务的方式, 任务执行节点在自身负载满足条件的情况下获取任务的方式, 即使由多个任务派发节点并行派发任务时, 也可避免任务执行节点负载超限的问题; 因此, 该方式可以帮助实现多个任务派发节点并行派发任务, 分散任务派发节点的派发压力, 从而提高了任务派发的效率, 同时也提高了任务的执行效率。
Description
本公开要求于2020年03月26日提交中国专利局、申请号为202010226219.9、发明名称为“任务执行方法、装置、系统和服务器”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
本公开涉及任务调度技术领域,具体涉及一种任务执行方法、装置、系统和服务器。
相关技术中,任务调度系统通常是由派发节点根据一定策略判断任务具备任务派发条件后,由主任务派发节点从候选的执行节点中选出一个匹配的任务执行节点来执行任务,该方式中,如果多个任务派发节点并行派发任务,多个任务派发节点都认为某个任务执行节点可以派发任务,多个派发节点都派发任务给该任务执行节点,可能导致该任务执行节点负载超限,因此该方式同一时间只有一个主任务派发节点可以派发任务至任务执行节点,即导致任务的派发效率较低,进而影响任务的执行效率。
发明内容
本公开实施例的目的在于提供一种任务执行方法、装置、系统和服务器,以提高任务的派发效率和执行效率。
第一方面,本公开实施例提供一种任务执行方法,该方法应用于任务执行节点;该方法包括:检测任务执行节点的自身负载是否满足预设条件;如果满足该预设条件,从预设的任务队列中获取目标任务,执行该目标任务;其中,任务队列中存储有需要执行的任务。
在一实施方式中,上述方法还包括:如果不满足预设条件,按照预设的时间间隔,定时执行检测任务执行节点的自身负载是否满足预设条件的步骤。
在一实施方式中,上述自身负载包括CPU占用量和/或内存占用量;上述预设条件包括:自身负载小于或等于预设的负载阈值。
在一实施方式中,上述任务执行节点用于执行具有指定属性的任务;该任务队列中存储的每个任务携带有该任务的属性标签,该属性标签用于指示该任 务的任务属性;上述从预设的任务队列中获取目标任务的步骤,包括:根据任务队列中各个任务的属性标签,从任务队列中获取任务属性与指定属性相匹配的任务。
在一实施方式中,上述指定属性包括指定任务类型;该任务属性包括该任务的任务类型;和/或,该指定属性包括指定租户;任务属性包括发出任务的租户。
第二方面,本公开实施例提供一种任务执行方法,该方法应用于任务派发节点;该方法包括:获取需要执行的任务;如果获取到的任务能够被执行,将任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。
在一实施方式中,上述将任务放入预设的任务队列中的步骤之前,上述方法还包括:判断获取到的任务是否符合预设的执行条件;如果符合执行条件,确定获取到的任务能够被执行。
在一实施方式中,上述执行条件包括:任务的资源占用量小于或者等于系统的剩余可用资源,且当前正在放入任务队列的任务的个数小于或者等于系统剩余的能够同时放入任务队列的任务的个数。
在一实施方式中,上述方法还包括:如果不符合执行条件,将获取到的任务退回至发出任务的租户。
在一实施方式中,上述将任务放入预设的任务队列中的步骤,包括:根据任务的任务属性,生成任务的属性标签;其中,该属性标签用于指示该任务的任务属性;将属性标签携带至任务中,将携带有属性标签的任务放入预设的任务队列中。
在一实施方式中,上述任务属性包括任务的任务类型;和/或,发出任务的租户。
在一实施方式中,上述生成任务的属性标签的步骤,包括:采用RocketMQ消息中间件中的标签配置方式,生成任务的属性标签。
在一实施方式中,上述标签配置方式包括putUserProperty方式或者tag方式。
第三方面,本公开实施例提供一种任务执行装置,该装置设置为任务执行节点;该装置包括:负载检测模块,设置为检测任务执行节点的自身负载是否满足预设条件;执行模块,设置为如果满足预设条件,从预设的任务队列中获取目标任务,执行目标任务;其中,该任务队列中存储有需要执行的任务。
在一实施方式中,上述装置还包括定时模块,设置为:如果不满足预设条件,按照预设的时间间隔,定时执行检测任务执行节点的自身负载是否满足预设条件的步骤。
在一实施方式中,上述自身负载包括CPU占用量和/或内存占用量;预设条件包括:自身负载小于或等于预设的负载阈值。
在一实施方式中,上述任务执行节点设置为执行具有指定属性的任务;任务队列中存储的每个任务携带有任务的属性标签,该属性标签设置为指示任务的任务属性;上述执行模块,设置为:根据任务队列中各个任务的属性标签,从该任务队列中获取任务属性与指定属性相匹配的任务。
在一实施方式中,上述指定属性包括指定任务类型;该任务属性包括任务的任务类型;和/或,该指定属性包括指定租户;该任务属性包括发出任务的租户。
第四方面,本公开实施例提供一种任务执行装置,该装置设置为任务派发节点;该装置包括:任务获取模块,设置为获取需要执行的任务;任务入队模块,设置为如果获取到的任务能够被执行,将任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。
在一实施方式中,上述装置还包括判断模块,设置为:判断获取到的任务是否符合预设的执行条件;如果符合执行条件,确定获取到的任务能够被执行。
在一实施方式中,上述执行条件包括:任务的资源占用量小于或者等于系统的剩余可用资源,且当前正在放入任务队列的任务的个数小于或者等于系统剩余的能够同时放入任务队列的任务的个数。
在一实施方式中,上述装置还包括任务退回模块,设置为:如果不符合执行条件,将获取到的任务退回至发出任务的租户。
在一实施方式中,上述任务入队模块,包括:标签生成单元,设置为根据任务的任务属性,生成任务的属性标签;其中,该属性标签设置为指示任务的任务属性;任务投放单元,设置为将属性标签携带至任务中,将携带有属性标签的任务放入预设的任务队列中。
在一实施方式中,上述任务属性包括任务的任务类型;和/或,发出任务的租户。
在一实施方式中,上述标签生成单元,设置为:采用RocketMQ消息中间件中的标签配置方式,生成任务的属性标签。
在一实施方式中,上述标签配置方式包括putUserProperty方式或者tag方式。
第五方面,本公开实施例提供一种任务执行系统,该系统包括多个任务执行节点和多个任务派发节点;获取需要执行的任务;如果获取到的任务能够被执行,将任务放入预设的任务队列中;任务执行节点设置为:检测任务执行节点的自身负载是否满足预设条件;如果满足预设条件,从预设的任务队列中获取任务,执行获取到的任务;其中,任务队列中存储有需要执行的任务。
第六方面,本公开实施例提供一种服务器,包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现前述实施方式任一项所述的任务执行方法。
第七方面,本公开实施例提供一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现前述实施方式任一项所述的任务执行方法。
本公开实施例带来了以下有益效果:
本公开实施例提供了一种任务执行方法、装置、系统和服务器,任务执行节点检测自身负载是否满足预设条件;在满足预设条件的情况下,从预设的任务队列中获取并执行目标任务。该方式采用了由任务执行节点主动拉取任务的方式,相对于由任务派发节点向任务执行节点派发任务的方式,任务执行节点在自身负载满足条件的情况下,才获取任务,即使由多个任务派发节点并行派发任务时,任务执行节点也可以避免任务执行节点负载超限的问题。因此,该 方式可以帮助实现多个任务派发节点并行派发任务,分散任务派发节点的派发压力,从而提高了任务派发的效率,同时也提高了任务的执行效率。
为了更清楚的说明本公开实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的相关技术中的任务派发场景的结构示意图;
图2为本公开提供的一种任务执行方法的流程图;
图3为本公开提供的另一种任务执行方法的流程图;
图4为本公开提供的另一种任务执行方法的流程图;
图5为本公开提供的另一种任务执行方法的流程图;
图6为本公开提供的一种任务执行装置的结构示意图;
图7为本公开提供的另一种任务执行装置的结构示意图;
图8为本公开提供的一种任务执行系统的结构示意图;
图9为本公开提供的一种服务器的结构示意图。
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本公开实施例的详细描述并非旨在限制要求保护的本公开实施例的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
在任务调度系统中,任务由哪个任务执行节点执行,通常是由任务派发节点决定的,如常见的xxl-job、elastic-job、azkaban等调度系统,都是由任务派发节点根据一定策略判断任务具备派发条件后,由主任务派发节点从候选的任 务执行节点中选出一个匹配的任务执行节点来执行任务,如图1所示为相关技术中的任务派发场景。该方式中,如果多个任务派发节点并行派发,多个任务派发节点都认为某个任务执行节点可以派发任务,多个派发节点都派发任务给该任务执行节点,可能导致该任务执行节点负载超限,因此该方式同一时间只有一个主任务派发节点可以派发任务至任务执行节点,即导致任务的派发效率较低,进而影响任务的执行效率。
基于此,本公开实施例提供了一种任务执行方法、装置、系统和服务器,该技术可以应用于各种任务调度场景中,尤其是业务规模比较大的私有云或公有云下的任务派发场景。为了便于对本公开实施例进行理解,首先对本公开实施例所公开的一种任务执行方法进行详细介绍,该方法应用于任务执行节点;如图2所示,该方法包括如下步骤:
步骤S202,检测任务执行节点的自身负载是否满足预设条件。
上述任务执行节点通常是任务调度系统中多个任务执行节点中的任意一个,该任务执行节点通常是一个服务器,也可以是服务器上的一个服务进程。每个任务执行节点都可以检测自身负载是否满足预设条件,该自身负载可以是该任务执行节点上运行任务或者插件所占用的CPU(central processing unit,中央处理器)量、所占用的内存量等。上述预设条件可以是自身负载小于预设阈值,或者自身负载在某一数值范围内等。
步骤S204,如果满足预设条件,从预设的任务队列中获取目标任务,执行目标任务;其中,该任务队列中存储有需要执行的任务。
上述预设的任务队列可以保存有需要执行的任务,每个任务执行节点均可以主动从该任务队列中获取目标任务,该目标任务可以是与任务执行节点能够执行的任务的类型相匹配的任务,可以是任务队列中的任意一个未被执行的任务。
上述任务队列可以采用MQ(Message Queue,消息队列)对应的数据结构存储需要执行的任务,该MQ消息队列可以看成是一个存放传输数据的容器,该传输数据也即是需要执行的任务。该MQ消息队列通常是一种异步的服务间通信方式,也是分布式系统中重要的组件,可以解决应用耦合、异步消息、流量削锋等问题;它也是实现高性能、高可用、可伸缩和最终一致性的架构, MQ消息队列通常有RocketMQ、RabbitMQ、Kafka等形式。
本公开实施例提供了一种任务执行方法,任务执行节点检测自身负载是否满足预设条件;在满足预设条件的情况下,从预设的任务队列中获取并执行目标任务。该方式采用了由任务执行节点主动拉取任务的方式,相对于由任务派发节点向任务执行节点派发任务的方式,任务执行节点在自身负载满足条件的情况下,才获取任务,即使由多个任务派发节点并行派发任务时,任务执行节点也可以避免任务执行节点负载超限的问题。因此,该方式可以帮助实现多个任务派发节点并行派发任务,分散任务派发节点的派发压力,从而提高了任务派发的效率,同时也提高了任务的执行效率。
本公开实施例还提供了另一种任务执行方法,该方法在上述实施例方法的基础上实现;该方法重点描述任务执行节点用于执行具有指定属性的任务时,从预设的任务队列中获取目标任务的具体过程(通过下述步骤S304实现);如图3所示,该方法包括如下步骤:
步骤S302,检测任务执行节点的自身负载是否满足预设条件;如果满足,执行步骤S304;如果不满足执行步骤S306。
在一实施方式中,上述自身负载包括CPU占用量和/或内存占用量;也即是自身负载可以仅包括CPU占用量或者仅包括内存占用量,也可以既包括CPU占用量又包括内存占用量。上述预设条件可以包括:自身负载小于或等于预设的负载阈值。
该负载阈值可以根据研发人员需求和设置的自身负载进行设置,例如,自身负载为CPU占用量时,负载阈值可以设置为CPU总量的50%;自身负载为内存占用量时,负载阈值可以设置为内存总量的60%;自身负载为CPU占用量和内存占用量时,负载阈值可以设置为CPU总量的50%和内存总量的60%。
步骤S304,根据预设的任务队列中各个任务的属性标签,从该任务队列中获取任务属性与指定属性相匹配的任务;其中,该任务队列中存储的每个任务携带有该任务的属性标签,属性标签用于指示该任务的任务属性;执行步骤S308。
上述任务队列中存储有每个任务携带的该任务的属性标签,该属性标签可以指示任务的任务属性,该属性标签可以是字符串,也可以是文字等。上述指 定属性为任务执行节点能够执行的任务具有的任务属性,通常任务执行节点可以执行的指定属性的任务可以相同也可以不同,在一实施方式中,一些任务执行节点可能仅可以执行指定属性的任务,而另一些任务执行节点(可称为公共任务执行机)可以执行任何任务属性的任务。
在一些实施例中,上述指定属性包括指定任务类型,任务属性包括任务的任务类型;和/或,上述指定属性包括指定租户,任务属性包括发出任务的租户。可以理解为任务执行节点能够执行的指定属性可以仅包括任务类型和仅包括执行租户,也可以既包括任务类型又包括指定租户。当指定属性包含有任务类型时,任务队列中的任务携带有任务类型标识,该任务类型标识用于指示任务的任务类型。当指定属性包含有指定租户时,任务队列中的任务携带有租户标识,该租户标识用于指示发出该任务的租户。租户通常是指使用某公司云环境的客户,该客户可以是一个项目组、工作组、公司等。
在一实施方式中,当任务执行节点仅可以执行某任务类型的任务时,需要该任务执行节点从任务队列中获取与某任务类型任务相匹配的任务。当任务执行节点仅可以执行某租户的任务时,需要从任务队列中获取该租户发出的任务。当任务执行节点既能够执行某任务类型的任务,又能执行某租户的任务时,可以从任务队列中获取某任务类型的任务或者某租户的任务;当任务执行节点可以执行所有任务类型的任务和所有租户的任务时,可以从任务队列中获取任意一个任务。
步骤S306,按照预设的时间间隔,定时执行检测任务执行节点的自身负载是否满足预设条件的步骤。
上述预设的时间间隔可以根据研发人员的需求设置,该时间间隔可以设置为几秒钟或者几分钟等。在一实施方式中,如果任务执行节点自身负载不满足预设条件,需要该任务执行节点休眠预设的时间间隔,也即是该任务节点在该时间间隔内只执行自身正在执行的任务,不再进行任务获取;当该任务执行节点休眠该时间间隔后,可以再次检测该任务执行节点的自身负载是否满足预设条件,如果满足预设条件可以获取任务,如果不满足预设条件,需要再次休眠预设的时间间隔。
步骤S308,执行上述获取到的任务。
上述任务执行方法,任务执行节点检测任务执行节点的自身负载是否满足预设条件;如果满足,根据预设的任务队列中各个任务的属性标签,从该任务队列中获取任务属性与指定属性相匹配的任务,并执行获取到的任务;如果不满足,按照预设的时间间隔,定时执行检测任务执行节点的自身负载是否满足预设条件的步骤。该方式任务执行节点可以根据自身负载情况主动从任务队列中获取相应的任务,相对于同一时间只有一个主任务派发节点派发任务至任务执行节点的方式,该方式每个任务执行节点均可以主动获取任务,分散了任务派发节点的派发压力,可提高任务的派发效率,进而提高了任务的执行效率。
对应于上述方法实施例,本公开实施例还提供了另一种任务执行方法,该方法应用于任务派发节点;如图4所示,该方法包括如下步骤:
步骤S402,获取需要执行的任务。
上述任务派发节点通常是一个服务器,也可以是服务器上的一个服务进程。在一实施方式中,可以获取每个租户需要执行的任务,该任务可以是租户通过终端设备发送的计算、存储等任务。在一实施方式中,任务派发节点可以从租户对应的终端设备上获取该租户需要执行的任务,也可以接收租户发送的需要执行的任务。
步骤S404,如果获取到的任务能够被执行,将任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。
上述任务派发节点可以判断获取到的任务是否能够被执行,如果该任务能够被执行,将该任务放入预设的任务队列中,如果该任务不能被执行,将该任务退回至该任务对应的租户。在任务获取的过程中,当任务队列中的某一个任务已经被获取时,在任务队列中可以将该任务标记为“已派发”,以防止该任务被任务执行节点重复获取。
上述任务执行方法,任务派发节点首先获取需要执行的任务,如果获取到的任务能够被执行,将该任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。该方式任务执行节点可以根据自身负载情况主动从任务队列中获取相应的任务,相对于同一时间只有一个主任务派发节点派发任务至任务执行节点的方式,该方式 每个任务执行节点均可以主动获取任务队列中的任务,分散了任务派发节点的压力,可提高任务的派发效率,从而也提高了任务的执行效率。
本公开实施例还提供了另一种任务执行方法,该方法在上述实施例方法的基础上实现;该方法应用于任务派发节点,该方法重点描述判断获取到的任务是否能够被执行的具体过程(通过下述步骤S502-S508实现);如图5所示,该方法包括如下步骤:
步骤S502,获取需要执行的任务。
在一实施方式中,每个任务派发节点可以从租户对应的作业就绪队列中获取租户需要执行的任务,该作业就绪队列用于保存租户的待派发任务。通常每个租户都对应有相应的作业就绪队列,该作业就绪队列可以采用Redis对应的数据结构保存租户对应的待派发任务,该数据结构依靠Redis内存中操作数据的优势,又提供一系列实用独特的接口操控数据、使用简便、速度快,且能实现特有的数据特征排序读写等。
步骤S504,判断获取到的任务是否符合预设的执行条件;如果不符合该执行条件,执行步骤S506;如果符合该执行条件,执行步骤S508。
通常通过业务逻辑判断获取到的任务是否符合预设的执行条件,该业务逻辑定义了完成一个动作,必须满足的条件,也即是定义了任务派发节点将任务放入任务队列,需要满足的执行条件。上述业务逻辑通常保存在预设的数据库中,该数据库可以采用Redis中的string数据类型保存业务逻辑,其中,string通常为字符串,为最简单的数据类型。上述业务逻辑可以包括系统的剩余可用资源、系统剩余的能够同时放入任务队列的任务的个数等;该系统的剩余可用资源可以包括多种类型的剩余可用资源,例如,Oracle连接的剩余量、内存剩余量等;该系统剩余的能够同时放入任务队列的任务的个数,可以是指当前时刻系统允许多个任务派发节点可同时放入任务队列中进行派发的任务的数量。
上述执行条件包括:任务的资源占用量小于或者等于系统的剩余可用资源,且当前正在放入任务队列的任务的个数小于或者等于系统剩余的能够同时放入任务队列的任务的个数。
只有任务满足上述执行条件时,才可以将任务放入任务队列中,当任务派发完成后需要根据该任务的资源占用量,更新上述预设数据库中的业务逻辑。 例如,假设系统的剩余可用资源量为100,系统剩余能够同时放入任务队列的任务的个数为20,该任务的资源占用量为40,此时任务派发节点同时放入任务队列的任务的个数为10,那么任务派发节点可以将该任务放入任务队列中,该任务放入任务队列后,预设数据库中的剩余可用资源量更新为60。
步骤S506,将获取到的任务退回至发出该任务的租户。
在一实施方式中,如果获取到的任务不符合派发条件,将该任务退回至发出该任务的租户对应的作业就绪队列中,以等待任务派发节点重新将该任务从作业就绪队列中取出,放入任务队列中。
步骤S508,确定获取到的任务能够被执行;执行步骤S510。
步骤S510,将上述任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。
在一实施方式中,上述步骤S510可以通过下述方法实现:
首先,根据任务的任务属性,生成任务的属性标签;其中,该属性标签用于指示任务的任务属性。
上述任务属性包括任务的任务类型和/或发出任务的租户。也可以理解为该任务属性可以仅包括任务的任务类型或者仅包括发出任务的租户,也可以既包括任务的任务类型有包括发出任务的租户。
在一实施方式中,上述任务队列可以采用MQ消息队列的RocketMQ的数据结构存储任务,同时可以采用RocketMQ消息中间件中的标签配置方式,生成任务的属性标签。在一实施方式中,该标签配置方式包括putUserProperty方式或者tag方式。
上述RocketMQ通常是一款分布式、队列模型的消息中间件,其具有高性能、低延时和高可靠的性能。上述RocketMQ中的putUserProperty方式可以为任务队列中的消息(相当于上述任务)设置属性,该属性也即是上述任务的属性标签。
在一些实施例中,还可以使用RocketMQ消息中间件中tag方式生成任务的属性标签,在实现方式为实例化时,直接传入tag,可以是多个以字符串拼接的标签。MQ消息队列中通常保存多个主题(Topic)的任务,通过Topic可以对不同的业务消息(相当于上述任务)进行分类,标签Tag可以用来进一 步区分某个Topic下的消息分类,消息队列RocketMQ允许任务执行节点按照Tag对任务采用过滤的方式获取,确保任务执行节点最终只获取到其能够执行的任务,该标签Tag可以为RocketMQ提供的查询系统提供帮助。
然后,将上述属性标签携带至任务中,将携带有该属性标签的任务放入预设的任务队列中。
上述任务执行方法,任务派发节点首先获取需要执行的任务;进而判断获取到的任务是否符合预设的执行条件;如果不符合该执行条件,将获取到的任务退回至发出该任务的租户;如果符合该执行条件,确定获取到的任务能够被执行,将该任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。该方式通过引入任务执行节点主动拉取任务的模式,消除了任务派发节点的分布式数据一致性问题,该方式中的任务派发节点可以轻松实现多个节点并行任务派发,进而使任务派发性能有了质的提高。
对应于上述任务执行方法的实施例,本公开实施例还提供了一种任务执行装置,该装置设置为任务执行节点;如图6所示,该装置包括:
负载检测模块60,设置为检测任务执行节点的自身负载是否满足预设条件。
执行模块61,设置为如果满足上述预设条件,从预设的任务队列中获取目标任务,执行该目标任务;其中,任务队列中存储有需要执行的任务。
上述任务执行装置,任务执行节点检测自身负载是否满足预设条件;在满足预设条件的情况下,从预设的任务队列中获取并执行目标任务。该方式采用了由任务执行节点主动拉取任务的方式,相对于由任务派发节点向任务执行节点派发任务的方式,任务执行节点在自身负载满足条件的情况下,才获取任务,即使由多个任务派发节点并行派发任务时,任务执行节点也可以避免任务执行节点负载超限的问题。因此,该方式可以帮助实现多个任务派发节点并行派发任务,分散任务派发节点的派发压力,从而提高了任务派发的效率,同时也提高了任务的执行效率。
在一实施方式中,上述装置还包括定时模块,设置为如果不满足预设条件, 按照预设的时间间隔,定时执行上述负载检测模块60。该自身负载包括CPU占用量和/或内存占用量;该预设条件包括:自身负载小于或等于预设的负载阈值。
在一实施方式中,上述任务执行节点设置为执行具有指定属性的任务;该任务队列中存储的每个任务携带有任务的属性标签,该属性标签设置为指示任务的任务属性;上述执行模块61,设置为:根据任务队列中各个任务的属性标签,从任务队列中获取任务属性与指定属性相匹配的任务。
在一实施方式中,上述指定属性包括指定任务类型;任务属性包括任务的任务类型;和/或,上述指定属性包括指定租户;任务属性包括发出任务的租户。
本公开实施例所提供的任务执行装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
对应于上述任务执行方法的实施例,本公开实施例还提供了另一种任务执行装置,该装置设置为任务派发节点;如图7所示,该装置包括:
任务获取模块70,设置为获取需要执行的任务。
任务入队模块71,设置为如果获取到的任务能够被执行,将该任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取该任务,并执行该任务。
上述任务执行装置,首先获取需要执行的任务,如果获取到的任务能够被执行,将该任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从任务队列中获取任务,并执行该任务。该方式任务执行节点可以根据自身负载情况主动从任务队列中获取相应的任务,相对于同一时间只有一个主任务派发节点派发任务至任务执行节点的方式,该方式每个任务执行节点均可以主动获取任务队列中的任务,分散了任务派发节点的压力,可提高任务的派发效率,从而也提高了任务的执行效率。
在一实施方式中,上述装置还包括判断模块,设置为:判断获取到的任务是否符合预设的执行条件;如果符合执行条件,确定获取到的任务能够被执行。
在一实施方式中,上述执行条件包括:任务的资源占用量小于或者等于系 统的剩余可用资源,且当前正在放入任务队列的任务的个数小于或者等于系统剩余的能够同时放入任务队列的任务的个数。
在一实施方式中,上述装置包括任务退回模块,设置为:如果不符合执行条件,将获取到的任务退回至发出该任务的租户。
在一实施方式中,上述任务入队模块71,包括:标签生成单元,设置为根据任务的任务属性,生成任务的属性标签;其中,属性标签设置为指示任务的任务属性;任务投放单元,设置为将属性标签携带至任务中,将携带有属性标签的任务放入预设的任务队列中。其中,任务属性包括任务的任务类型;和/或,发出任务的租户。
在一实施方式中,上述标签生成单元,设置为:采用RocketMQ消息中间件中的标签配置方式,生成任务的属性标签。其中,该标签配置方式包括putUserProperty方式或者tag方式。
本公开实施例所提供的任务执行装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
对应于上述任务派发方法的实施例,本公开实施例还提供了一种任务执行系统,如图8所示,该系统包括多个任务执行节点80和多个任务派发节点81。
上述任务派发节点80设置为:获取需要执行的任务;如果获取到的任务能够被执行,将任务放入预设的任务队列中。
上述任务执行节点81设置为:检测任务执行节点的自身负载是否满足预设条件;如果满足预设条件,从预设的任务队列中获取目标任务,执行该目标任务;其中,任务队列中存储有需要执行的任务。
上述任务执行系统,包括多个任务执行节点和多个任务派发节点,该任务派发节点获取需要执行的任务;如果获取到的任务能够被执行,将任务放入预设的任务队列中;该任务执行节点检测任务执行节点的自身负载是否满足预设条件;如果满足预设条件,从预设的任务队列中获取目标任务,执行该目标任务。该系统中任务执行节点能够能自身负载情况,判定是否主动从任务队列中获取目标任务,相较于由一个主任务派发节点向任务执行节点派发任务的方式,该方式提高了任务派发的效率,从而也提高了任务的执行效率。
本公开实施例还提供了一种服务器,参见图9所示,该服务器包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器101执行机器可执行指令以实现上述任务执行方法。
进一步地,图9所示的服务器还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本公开实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执 行指令促使处理器实现上述的任务执行方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和/或电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
基于本公开实施例提供的任务执行方法、装置、系统和服务器,采用了由任务执行节点主动拉取任务的方式,相对于由任务派发节点向任务执行节点派发任务的方式,任务执行节点在自身负载满足条件的情况下,才获取任务,即使由多个任务派发节点并行派发任务时,任务执行节点也可以避免任务执行节点负载超限的问题。因此,可以帮助实现多个任务派发节点并行派发任务,分散任务派发节点的派发压力,从而提高了任务派发的效率,同时也提高了任务的执行效率。
Claims (29)
- 一种任务执行方法,所述方法应用于任务执行节点;所述方法包括:检测所述任务执行节点的自身负载是否满足预设条件;如果满足所述预设条件,从预设的任务队列中获取目标任务,执行所述目标任务;其中,所述任务队列中存储有需要执行的任务。
- 根据权利要求1所述的方法,其中,所述方法还包括:如果不满足所述预设条件,按照预设的时间间隔,定时执行检测所述任务执行节点的自身负载是否满足预设条件的步骤。
- 根据权利要求1或2所述的方法,其中,所述自身负载包括CPU占用量和/或内存占用量;所述预设条件包括:所述自身负载小于或等于预设的负载阈值。
- 根据权利要求1所述的方法,其中,所述任务执行节点用于执行具有指定属性的任务;所述任务队列中存储的每个任务携带有所述任务的属性标签,所述属性标签用于指示所述任务的任务属性;所述从预设的任务队列中获取目标任务的步骤,包括:根据所述任务队列中各个任务的属性标签,从所述任务队列中获取任务属性与所述指定属性相匹配的任务。
- 根据权利要求4所述的方法,其中,所述指定属性包括指定任务类型;所述任务属性包括所述任务的任务类型;和/或,所述指定属性包括指定租户;所述任务属性包括发出任务的租户。
- 一种任务执行方法,所述方法应用于任务派发节点;所述方法包括:获取需要执行的任务;如果获取到的所述任务能够被执行,将所述任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从所述任务队列中获取所述任务,并执行所述任务。
- 根据权利要求6所述的方法,其中,所述将所述任务放入预设的任务队列中的步骤之前,所述方法还包括:判断获取到的所述任务是否符合预设的执行条件;如果符合所述执行条件,确定获取到的所述任务能够被执行。
- 根据权利要求7所述的方法,其中,所述执行条件包括:所述任务的资源占用量小于或者等于系统的剩余可用资源,且当前正在放入所述任务队列的任务的个数小于或者等于所述系统剩余的能够同时放入所述任务队列的任务的个数。
- 根据权利要求7所述的方法,其中,所述方法还包括:如果不符合所述执行条件,将获取到的所述任务退回至发出所述任务的租户。
- 根据权利要求6所述的方法,其中,将所述任务放入预设的任务队列中的步骤,包括:根据所述任务的任务属性,生成所述任务的属性标签;其中,所述属性标签用于指示所述任务的任务属性;将所述属性标签携带至所述任务中,将携带有所述属性标签的任务放入预设的任务队列中。
- 根据权利要求10所述的方法,其中,所述任务属性包括任务的任务类型;和/或,发出任务的租户。
- 根据权利要求10所述的方法,其中,生成所述任务的属性标签的步骤,包括:采用RocketMQ消息中间件中的标签配置方式,生成所述任务的属性标签。
- 根据权利要求12所述的方法,其中,所述标签配置方式包括putUserProperty方式或者tag方式。
- 一种任务执行装置,所述装置设置为任务执行节点;所述装置包括:负载检测模块,设置为检测所述任务执行节点的自身负载是否满足预设条件;执行模块,设置为如果满足所述预设条件,从预设的任务队列中获取目标任务,执行所述目标任务;其中,所述任务队列中存储有需要执行的任务。
- 根据权利要求14所述的装置,其中,所述装置还包括定时模块,设置为:如果不满足所述预设条件,按照预设的时间间隔,定时执行检测所述任务执行节点的自身负载是否满足预设条件的步骤。
- 根据权利要求14或15所述的装置,其中,所述自身负载包括CPU占用量和/或内存占用量;所述预设条件包括:所述自身负载小于或等于预设的负载阈值。
- 根据权利要求14所述的装置,其中,所述任务执行节点设置为执行具有指定属性的任务;所述任务队列中存储的每个任务携带有所述任务的属性标签,所述属性标签设置为指示所述任务的任务属性;所述执行模块,设置为:根据所述任务队列中各个任务的属性标签,从所述任务队列中获取任务属性与所述指定属性相匹配的任务。
- 根据权利要求17所述的装置,其中,所述指定属性包括指定任务类型;所述任务属性包括所述任务的任务类型;和/或,所述指定属性包括指定租户;所述任务属性包括发出任务的租户。
- 一种任务执行装置,所述装置设置为任务派发节点;所述装置包括:任务获取模块,设置为获取需要执行的任务;任务入队模块,设置为如果获取到的所述任务能够被执行,将所述任务放入预设的任务队列中,以供任务执行节点检测到自身负载满足预设条件时,从所述任务队列中获取所述任务,并执行所述任务。
- 根据权利要求19所述的装置,其中,所述装置还包括判断模块,设置为:判断获取到的所述任务是否符合预设的执行条件;如果符合所述执行条件,确定获取到的所述任务能够被执行。
- 根据权利要求20所述的装置,其中,所述执行条件包括:所述任务的资源占用量小于或者等于系统的剩余可用资源,且当前正在放入所述任务队列的任务的个数小于或者等于所述系统剩余的能够同时放入所述任务队列的任务的个数。
- 根据权利要求20所述的装置,其中,所述装置还包括任务退回模块,设置为:如果不符合所述执行条件,将获取到的所述任务退回至发出所述任务的租户。
- 根据权利要求19所述的装置,其中,所述任务入队模块,包括:标签生成单元,设置为根据所述任务的任务属性,生成所述任务的属性标 签;其中,所述属性标签设置为指示所述任务的任务属性;任务投放单元,设置为将所述属性标签携带至所述任务中,将携带有所述属性标签的任务放入预设的任务队列中。
- 根据权利要求23所述的装置,其中,所述任务属性包括任务的任务类型;和/或,发出任务的租户。
- 根据权利要求23所述的装置,其中,所述标签生成单元,设置为:采用RocketMQ消息中间件中的标签配置方式,生成所述任务的属性标签。
- 根据权利要求25所述的装置,其中,所述标签配置方式包括putUserProperty方式或者tag方式。
- 一种任务执行系统,所述系统包括多个任务执行节点和多个任务派发节点;所述任务派发节点设置为:获取需要执行的任务;如果获取到的所述任务能够被执行,将所述任务放入预设的任务队列中;所述任务执行节点设置为:检测所述任务执行节点的自身负载是否满足预设条件;如果满足所述预设条件,从预设的任务队列中获取任务,并执行所述任务;其中,所述任务队列中存储有需要执行的任务。
- 一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至13任一项所述的任务执行方法。
- 一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现权利要求1至13任一项所述的任务执行方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010226219.9A CN111427694A (zh) | 2020-03-26 | 2020-03-26 | 任务执行方法、装置、系统和服务器 |
CN202010226219.9 | 2020-03-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021190087A1 true WO2021190087A1 (zh) | 2021-09-30 |
Family
ID=71548855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/071013 WO2021190087A1 (zh) | 2020-03-26 | 2021-01-11 | 任务执行方法、装置、系统和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111427694A (zh) |
WO (1) | WO2021190087A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427694A (zh) * | 2020-03-26 | 2020-07-17 | 北京金山云网络技术有限公司 | 任务执行方法、装置、系统和服务器 |
CN111897638B (zh) * | 2020-07-27 | 2024-04-19 | 广州虎牙科技有限公司 | 分布式任务调度方法及系统 |
CN113760522A (zh) * | 2020-09-25 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN112333249B (zh) * | 2020-10-26 | 2022-07-22 | 新华三大数据技术有限公司 | 一种业务服务系统及方法 |
CN112905350A (zh) * | 2021-03-22 | 2021-06-04 | 北京市商汤科技开发有限公司 | 任务调度方法及装置、电子设备和存储介质 |
CN113238735A (zh) * | 2021-05-27 | 2021-08-10 | 欧冶云商股份有限公司 | 一种可定义流水的项目交付任务创建方法、平台及系统 |
CN113485815A (zh) * | 2021-07-27 | 2021-10-08 | 中国银行股份有限公司 | 作业批量处理系统、方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150312335A1 (en) * | 2014-04-28 | 2015-10-29 | Arizona Board Of Regents On Behalf Of Arizona State University | Peer-to-peer architecture for processing big data |
CN108228349A (zh) * | 2017-12-26 | 2018-06-29 | 北京市商汤科技开发有限公司 | 用于处理任务的方法、系统和存储介质 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
CN108469988A (zh) * | 2018-02-28 | 2018-08-31 | 西北大学 | 一种基于异构Hadoop集群的任务调度方法 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
CN111427694A (zh) * | 2020-03-26 | 2020-07-17 | 北京金山云网络技术有限公司 | 任务执行方法、装置、系统和服务器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010140014A1 (en) * | 2009-06-01 | 2010-12-09 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for determining processing elements allocation |
CN104317658B (zh) * | 2014-10-17 | 2018-06-12 | 华中科技大学 | 一种基于MapReduce的负载自适应任务调度方法 |
CN108268318A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种分布式系统任务分配的方法和装置 |
WO2018186358A1 (ja) * | 2017-04-07 | 2018-10-11 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
CN107291545B (zh) * | 2017-08-07 | 2019-12-10 | 星环信息科技(上海)有限公司 | 计算集群中多用户的任务调度方法及设备 |
CN108566346A (zh) * | 2018-03-14 | 2018-09-21 | 阿里巴巴集团控股有限公司 | 网络请求的处理方法及装置 |
CN110399212A (zh) * | 2018-04-25 | 2019-11-01 | 北京京东尚科信息技术有限公司 | 任务请求处理方法、装置、电子设备及计算机可读介质 |
CN108829521B (zh) * | 2018-06-13 | 2022-05-13 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN110764887A (zh) * | 2019-09-10 | 2020-02-07 | 浙江大华技术股份有限公司 | 任务重调度方法、系统及相关设备、装置 |
CN110825535B (zh) * | 2019-10-12 | 2022-06-28 | 中国建设银行股份有限公司 | 一种作业调度的方法和系统 |
CN110806933B (zh) * | 2019-11-05 | 2022-06-10 | 中国建设银行股份有限公司 | 一种批量任务处理方法、装置、设备和存储介质 |
-
2020
- 2020-03-26 CN CN202010226219.9A patent/CN111427694A/zh active Pending
-
2021
- 2021-01-11 WO PCT/CN2021/071013 patent/WO2021190087A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150312335A1 (en) * | 2014-04-28 | 2015-10-29 | Arizona Board Of Regents On Behalf Of Arizona State University | Peer-to-peer architecture for processing big data |
CN108228349A (zh) * | 2017-12-26 | 2018-06-29 | 北京市商汤科技开发有限公司 | 用于处理任务的方法、系统和存储介质 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
CN108469988A (zh) * | 2018-02-28 | 2018-08-31 | 西北大学 | 一种基于异构Hadoop集群的任务调度方法 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
CN111427694A (zh) * | 2020-03-26 | 2020-07-17 | 北京金山云网络技术有限公司 | 任务执行方法、装置、系统和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111427694A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021190087A1 (zh) | 任务执行方法、装置、系统和服务器 | |
WO2019128535A1 (zh) | 消息管理方法、设备及存储介质 | |
CN108052675B (zh) | 日志管理方法、系统及计算机可读存储介质 | |
CN108536532B (zh) | 一种批量任务处理方法及系统 | |
US20170264505A1 (en) | Techniques for tracking resource usage statistics per transaction across multiple layers of protocols | |
US8984530B2 (en) | Queued message dispatch | |
CN103733568A (zh) | 使用客户端-服务器架构的流处理 | |
CN112925661A (zh) | 消息处理方法、装置、计算机设备及存储介质 | |
US20040202165A1 (en) | Message processing apparatus, method and program | |
CN107769992B (zh) | 一种报文解析分流方法及装置 | |
CN111949568A (zh) | 一种报文处理方法、装置及网络芯片 | |
CN112579148B (zh) | 基于业务代理的业务消息处理方法、装置及电子设备 | |
WO2023040453A1 (zh) | 一种交易信息处理方法及装置 | |
CN109783151A (zh) | 规则变更的方法和装置 | |
CN105681426A (zh) | 异构系统 | |
CN104408110A (zh) | 数据请求的方法、装置及系统 | |
WO2021190088A1 (zh) | 任务派发方法、装置、任务执行系统和服务器 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN114153635A (zh) | 消息处理方法、装置、存储介质及计算机设备 | |
CN109005465B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
US8224771B2 (en) | Resource sharing for document production | |
CN111401819B (zh) | 系统间数据推送方法及系统 | |
CN109918210A (zh) | 一种展示离线消息的方法及终端 | |
CN107911484A (zh) | 一种消息处理的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21775112 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21775112 Country of ref document: EP Kind code of ref document: A1 |