CN110928711A - 任务处理方法、装置、系统、服务器及存储介质 - Google Patents

任务处理方法、装置、系统、服务器及存储介质 Download PDF

Info

Publication number
CN110928711A
CN110928711A CN201911176613.XA CN201911176613A CN110928711A CN 110928711 A CN110928711 A CN 110928711A CN 201911176613 A CN201911176613 A CN 201911176613A CN 110928711 A CN110928711 A CN 110928711A
Authority
CN
China
Prior art keywords
task
task queue
queue
server
target
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
CN201911176613.XA
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.)
Multipoint Shenzhen Digital Technology Co Ltd
Original Assignee
Multipoint Shenzhen Digital Technology 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 Multipoint Shenzhen Digital Technology Co Ltd filed Critical Multipoint Shenzhen Digital Technology Co Ltd
Priority to CN201911176613.XA priority Critical patent/CN110928711A/zh
Publication of CN110928711A publication Critical patent/CN110928711A/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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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

Abstract

本申请提供一种任务处理方法、装置、系统、服务器及存储介质。针对任务队列服务器中所配置任务队列中的空闲任务队列,从中选取一个目标任务队列,对该目标任务队列施加排它锁。若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器获得该目标任务队列的任务执行权。若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。如此,使得所述任务处理服务器不需要中心调度服务器的情况下,即可实现计算资源自动调度及负载均衡。

Description

任务处理方法、装置、系统、服务器及存储介质
技术领域
本申请涉及计算机领域,具体而言,涉及一种任务处理方法、装置、系统、服务器及存储介质。
背景技术
随着互联网的发展,服务器需要处理的数据量越来越大,传统的服务器处理能力就显得越来越不足。现有技术中为了提高服务器整体的处理能力,采用多台服务器建立集群,通过复杂的调度机制实现负载均衡。然而,负载均衡的实现需要复杂的调度机制,导致需要过多的计算机资源以及硬件成本。
发明内容
本申请实施例提供一种任务处理方法、装置、系统、服务器及存储介质。旨在无需调度服务器对计算机资源进行集中调度的情况下,实现计算资源自动调度及负载均衡,降低软件以及硬件的成本。
为了克服现有技术中的至少一个不足,本申请的目的之一在于提供一种任务处理方法,应用于与任务队列服务器通信的任务处理服务器,所述任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务,所述方法包括:
针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列;
对该目标任务队列施加排它锁;
若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器获得该目标任务队列的任务执行权;
若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。
可选地,所述针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤包括:
依次遍历所述任务队列,将遍历到的第一个空闲任务队列作为所述目标任务队列。
可选地,对所述目标任务队列施加排它锁的成功率与所述任务处理服务器的空闲时间成正比。
本申请实施例的目的之二在于提供一种任务处理系统,所述任务处理系统包括任务队列服务器以及与所述任务队列服务器通信的任务处理服务器,所述任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务;
针对所述任务队列中的空闲任务队列,所述任务处理服务器从中选取一个目标任务队列,对该目标任务队列施加排它锁;
所述任务队列服务器响应施加排它锁的操作,为所述任务队列服务器分配任务执行权,从所述目标任务队列中选取待处理任务分配给所述任务处理服务器;
所述任务处理服务器获取该待处理任务,并释放该目标任务队列的排它锁。
可选地,所述任务队列服务器响应施加排它锁的操作的步骤,包括:
获取多个施加排它锁的操作的任务处理服务器的空闲时间;
响应空闲时间最长的任务处理服务器施加排它锁的操作。
可选地,所述任务队列服务器获取待处理任务的唯一标识,对该唯一标识进行取模运算获得取模运算结果;所述任务队列服务器配置有所述取模运算结果与所述任务队列的对应关系;
所述任务队列服务器根据所述取模运算结果,将所述待处理任务分配到对应的任务队列中。
本申请实施例的目的之三在于提供一种任务处理装置,应用于与任务队列服务器通信的任务处理服务器,所述任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务,所述任务处理装置包括选取模块、加锁模块、任务获取模块以及循环模块;
所述选取模块用于针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列;
所述加锁模块用于对该目标任务队列施加排它锁;
所述任务获取模块用于若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器获得该目标任务队列的任务执行权。
可选地,所述选取模块通过如下方式选取目标任务队列;
依次遍历所述任务队列,将遍历到的第一个空闲任务队列作为所述目标任务队列。
所述循环模块用于若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。
本申请实施例的目的之四在于提供一种任务处理服务器,所述任务处理服务器包括存储器120和处理器130,所述存储器120存储有能够被所述处理器130执行的机器可执行指令,所述处理器130执行所述机器可执行指令时,实现所述任务处理方法。
本申请实施例的目的之五在于提供一种存储介质,其上存储有计算机程序,所述计算机程序被执行时,以实现所述任务处理方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供一种任务处理方法、装置、系统、服务器及存储介质。通过多个任务处理服务器对空闲的任务队列中进行争抢,并施加排它锁,使得施加排它锁失败的其他任务处理服务器继续争抢其他空闲的任务队列。如此,使得所述任务处理服务器不需要中心调度服务器的情况下,即可实现计算资源自动调度及负载均衡。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的任务处理服务器的结构示意图;
图2为本申请实施例提供的任务处理方法的步骤流程图;
图3为本申请实施例提供的任务处理方法的场景示意图;
图4为本申请实施例提供的任务处理装置的结构示意图。
图标:100-任务处理服务器;110-任务处理装置;120-存储器;130-处理器;140-通信单元;200-任务队列服务器;300-网络;1101-选取模块;1102-加锁模块;1103-任务获取模块;1104-循环模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如背景技术部分所述介绍,现有技术中为了提高服务器整体的处理能力,采用多台服务器建立集群,通过复杂的调度机制实现负载均衡。然而,负载均衡的实现需要复杂的调度机制,导致需要过多的计算机资源以及硬件成本。
基于此,本申请实施例提供一种任务处理方法,应用于与任务队列服务器通信的任务处理服务器。请参照图1,图1为任务处理服务器100的结构示意图。该任务处理服务器100包括任务处理装置110、存储器120、处理器130、通信单元140。
所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述任务处理装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述任务处理服务器100的操作系统(operatingsystem,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述任务处理装置110所包括的软件功能模块及计算机程序等。
其中,所述存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述通信单元140用于通过所述网络300建立所述任务处理服务器100与任务队列服务器。之间的通信连接,并用于通过所述网络300收发数据。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务。请参照图2,图2为该任务处理方法的步骤流程图,以下将对所述方法包括各个步骤进行详细阐述。
步骤S100,针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列。
步骤S200,对该目标任务队列施加排它锁。
步骤S300,若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器100获得该目标任务队列的任务执行权。
步骤S400,若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。
如此,通过多个任务处理服务器100对空闲的任务队列中进行争抢,并施加排它锁,使得施加排它锁失败的其他任务处理服务器100继续争抢其他空闲的任务队列。如此,使得所述任务处理服务器100不需要中心调度服务器的情况下,即可实现计算资源自动调度及负载均衡。
其中,该任务处理服务器100选取目标任务队列时,作为一种可能的实施例,该任务处理服务器100依次遍历该任务队列,将找到的第一个空闲的任务队列作为目标任务队列,并对该目标任务队列施加排它锁。
作为另一中可能的实施例,该任务处理服务器100通过获取所述空闲的任务队列的标识数据,从中随机选取一个作为目标任务队列。
应理解,所述空闲的任务队列为未被施加排它锁的任务队列。所述排它锁包括但不限于数据库行级锁,Redis锁,Zookeeper分布式锁以及内存锁。
可选地,该任务处理服务器100对目标任务队列施加排它锁的时候,作为一种可能的实施例,会存在其他任务处理器服务器同时对该目标任务队列施加排它锁。为了提高任务处理服务器的计算效率,减少任务处理服务器100的等待时间。所述任务处理服务器100对所述目标任务队列施加排它锁的成功率与所述任务处理服务器100的空闲时间成正比。
本申请实施例还提供一种任务处理系统,请参照图3,该任务处理系统包括任务队列服务器200以及与所述任务队列服务器200通信的任务处理服务器100。所述任务队列服务器200上配置有多个任务队列,用以均衡缓存待处理任务。
针对所述任务队列中的空闲任务队列,所述任务处理服务器100从中选取一个目标任务队列,对该目标任务队列施加排它锁。
所述任务队列服务器响应施加排它锁的操作,为所述任务队列服务器分配任务执行权,从所述目标任务队列中选取待处理任务分配给所述任务处理服务器100。
所述任务处理服务器100获取该待处理任务,并释放该目标任务队列的排它锁。
所述任务队列服务器200获取所述任务处理服务器100对目标任务队列施加排它锁操作时,作为一种可能的实施例,若多个任务处理服务器100同时对该目标任务队列施加排它锁。若随机响应其中一个任务处理服务器100的施加排它锁操作,可能会使得一些空闲了很长时间的任务处理服务器100无法获得待处理任务,无疑会造成计算资源的浪费。
若多个任务处理服务器100同时对该目标任务队列施加排它锁,该任务队列服务器200获取各任务处理服务器100空闲的时间,响应空闲时间最长的任务处理服务器100施加排它锁的操作。
作为另一种可能实施例,该任务队列服务器获取到有任务处理服务器100对目标任务队列服务器200施加排它锁的操作时,等待预设时长,获得所述预设时长内对该目标任务队列施加排它锁的操作的所有任务处理服务器100,响应时间最长的任务处理服务器100施加排它锁的操作。
例如,任务队列A为目标任务队列,在M时刻有任务处理服务器A对任务队列A施加排它锁的操作。该任务队列服务器200基于M时刻获取在5分中内所有对任务队列A施加排它锁的操作的任务处理服务器,例如,任务处理服务器B、任务处理服务器C和任务处理服务器D。
该任务队列服务器200从任务处理服务器A、任务处理服务器B、任务处理服务器C和任务处理服务器D选取空闲时间最长的目标任务队列服务器200,响应该目标任务队列服务器200对目标任务队列A施加排它锁的操作。
可选地,所述任务队列服务器获取待处理任务的唯一标识,对该唯一标识进行取模运算获得取模运算结果;所述任务队列服务器配置有所述取模运算结果与所述任务队列的对应关系;所述任务队列服务器根据所述取模运算结果,将所述待处理任务分配到对应的任务队列中。
例如,以电子商务领域最常见的订单数据为例,将订单ID作为待处理任务的唯一标识,将待处理任务进行分配的原则是让每一条订单实现相互隔离,并且做到分配的一致性,即同一个订单ID的数据,始终在同一任务队列中。
该队列服务器获取每个订单的哈希值以及任务队列的数量,计算所述订单的哈希值与所述任务队列的数量之间的余数,将订单分配到该余数对应的任务队列中。
具体的,若任务的订单ID为9,任务队列的数量为6,则9/6的余数为3.则将订单ID为9的待处理任务分配到标号为3的任务队列中。
本申请实施例还提供一种任务处理装置110,应用于与任务队列服务器200通信的任务处理服务器100,所述任务队列服务器200上配置有多个任务队列,用以均衡缓存待处理任务。请参照图4,从功能上划分,所述任务处理装置包括选取模块1101、加锁模块1102、任务获取模块1103以及循环模块。
所述选取模块1101用于针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列。
在本申请实施例中,该选取模块1101用于执行图2中的步骤S100,关于选取模块1101的详细描述可以参考步骤S100的详细描述。
所述加锁模块1102用于对该目标任务队列施加排它锁。
在本申请实施例中,该加锁模块1102用于执行图2中的步骤S200,关于加锁模块1102的详细描述可以参考步骤S200的详细描述。
所述任务获取模块1103用于若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器100获得该目标任务队列的任务执行权。
在本申请实施例中,该任务获取模块1103用于执行图2中的步骤S300,关于任务获取模块1103的详细描述可以参考步骤S300的详细描述。
所述循环模块1104用于若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。
在本申请实施例中,该任循环模块1104用于执行图2中的步骤S400,关于循环模块1104的详细描述可以参考步骤S400的详细描述。
可选地,所述选取模块1101通过如下方式选取目标任务队列;
依次遍历所述任务队列,将遍历到的第一个空闲任务队列作为所述目标任务队列。
本申请实施例还提供一种任务处理服务器100,所述任务处理服务器100包括存储器120和处理器130,所述存储器120存储有能够被所述处理器130执行的机器可执行指令,所述处理器130执行所述机器可执行指令时,实现所述任务处理方法。
本申请实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被执行时,以实现所述任务处理方法。
综上所述,本申请实施例提供一种任务处理方法、装置、系统、服务器及存储介质。通过多个任务处理服务器对空闲的任务队列中进行争抢,并施加排它锁,使得施加排它锁失败的其他任务处理服务器继续争抢其他空闲的任务队列。如此,使得所述任务处理服务器不需要中心调度服务器的情况下,即可实现计算资源自动调度及负载均衡。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种任务处理方法,其特征在于,应用于与任务队列服务器通信的任务处理服务器,所述任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务,所述方法包括:
针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列;
对该目标任务队列施加排它锁;
若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器获得该目标任务队列的任务执行权;
若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。
2.根据权利要求1所述的任务处理方法,其特征在于,所述针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤包括:
依次遍历所述任务队列,将遍历到的第一个空闲任务队列作为所述目标任务队列。
3.根据权利要求1所述的任务处理方法,其特征在于,对所述目标任务队列施加排它锁的成功率与所述任务处理服务器的空闲时间成正比。
4.一种任务处理系统,其特征在于,所述任务处理系统包括任务队列服务器以及与所述任务队列服务器通信的任务处理服务器,所述任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务;
针对所述任务队列中的空闲任务队列,所述任务处理服务器从中选取一个目标任务队列,对该目标任务队列施加排它锁;
所述任务队列服务器响应施加排它锁的操作,为所述任务队列服务器分配任务执行权,从所述目标任务队列中选取待处理任务分配给所述任务处理服务器;
所述任务处理服务器获取该待处理任务,并释放该目标任务队列的排它锁。
5.根据权利要求4所述的任务处理系统,其特征在于,所述任务队列服务器响应施加排它锁的操作的步骤,包括:
获取多个施加排它锁的操作的任务处理服务器的空闲时间;
响应空闲时间最长的任务处理服务器施加排它锁的操作。
6.根据权利要求4所述的任务处理系统,其特征在于;
所述任务队列服务器获取待处理任务的唯一标识,对该唯一标识进行取模运算获得取模运算结果;所述任务队列服务器配置有所述取模运算结果与所述任务队列的对应关系;
所述任务队列服务器根据所述取模运算结果,将所述待处理任务分配到对应的任务队列中。
7.一种任务处理装置,其特征在于,应用于与任务队列服务器通信的任务处理服务器,所述任务队列服务器上配置有多个任务队列,用以均衡缓存待处理任务,所述任务处理装置包括选取模块、加锁模块、任务获取模块和循环模块;
所述选取模块用于针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列;
所述加锁模块用于对该目标任务队列施加排它锁;
所述任务获取模块用于若对该目标任务队列施加排它锁成功,从该目标任务队列中获取待处理任务,释放该目标任务队列的排它锁,所述排它锁用于防止其他任务处理服务器获得该目标任务队列的任务执行权;
所述循环模块用于若对该目标任务队列施加排它锁失败,则转至针对所述任务队列中的空闲任务队列,从中选取一个目标任务队列的步骤。
8.根据权利要求7所述的任务处理装置,其特征在于,所述选取模块通过如下方式选取目标任务队列;
依次遍历所述任务队列,将遍历到的第一个空闲任务队列作为所述目标任务队列。
9.一种任务处理服务器,其特征在于,所述任务处理服务器包括存储器和处理器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令时,实现如权利要求1-3任一项所述的任务处理方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时,以实现如权利要求1-3任一项所述的任务处理方法。
CN201911176613.XA 2019-11-26 2019-11-26 任务处理方法、装置、系统、服务器及存储介质 Pending CN110928711A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911176613.XA CN110928711A (zh) 2019-11-26 2019-11-26 任务处理方法、装置、系统、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911176613.XA CN110928711A (zh) 2019-11-26 2019-11-26 任务处理方法、装置、系统、服务器及存储介质

Publications (1)

Publication Number Publication Date
CN110928711A true CN110928711A (zh) 2020-03-27

Family

ID=69851188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911176613.XA Pending CN110928711A (zh) 2019-11-26 2019-11-26 任务处理方法、装置、系统、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110928711A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580993A (zh) * 2020-05-11 2020-08-25 广州虎牙信息科技有限公司 数据处理方法和装置、电子设备及存储介质
CN111641678A (zh) * 2020-04-29 2020-09-08 深圳壹账通智能科技有限公司 任务调度方法、装置、电子设备及介质
CN111741110A (zh) * 2020-06-22 2020-10-02 北京奇艺世纪科技有限公司 一种消息推送系统及方法
CN115016919A (zh) * 2022-08-05 2022-09-06 阿里云计算有限公司 任务调度方法、电子设备和存储介质
US20230028529A1 (en) * 2021-07-22 2023-01-26 Vmware, Inc. Managing processing queue allocation based on addressing attributes of an inner packet

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294531A (zh) * 2012-03-05 2013-09-11 阿里巴巴集团控股有限公司 一种任务分配方法及系统
CN104871129A (zh) * 2012-12-28 2015-08-26 华为技术有限公司 基于软件的并行处理中的包有序调度的方法
CN106649362A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 网页爬取方法和装置
CN109358960A (zh) * 2018-11-01 2019-02-19 郑州云海信息技术有限公司 一种任务分发方法、系统、设备及计算机可读存储介质
CN110297711A (zh) * 2019-05-16 2019-10-01 平安科技(深圳)有限公司 批量数据处理方法、装置、计算机设备及存储介质
CN110471774A (zh) * 2019-06-28 2019-11-19 苏宁云计算有限公司 一种基于统一任务调度的数据处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294531A (zh) * 2012-03-05 2013-09-11 阿里巴巴集团控股有限公司 一种任务分配方法及系统
CN104871129A (zh) * 2012-12-28 2015-08-26 华为技术有限公司 基于软件的并行处理中的包有序调度的方法
CN106649362A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 网页爬取方法和装置
CN109358960A (zh) * 2018-11-01 2019-02-19 郑州云海信息技术有限公司 一种任务分发方法、系统、设备及计算机可读存储介质
CN110297711A (zh) * 2019-05-16 2019-10-01 平安科技(深圳)有限公司 批量数据处理方法、装置、计算机设备及存储介质
CN110471774A (zh) * 2019-06-28 2019-11-19 苏宁云计算有限公司 一种基于统一任务调度的数据处理方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111641678A (zh) * 2020-04-29 2020-09-08 深圳壹账通智能科技有限公司 任务调度方法、装置、电子设备及介质
CN111580993A (zh) * 2020-05-11 2020-08-25 广州虎牙信息科技有限公司 数据处理方法和装置、电子设备及存储介质
CN111741110A (zh) * 2020-06-22 2020-10-02 北京奇艺世纪科技有限公司 一种消息推送系统及方法
CN111741110B (zh) * 2020-06-22 2022-07-22 北京奇艺世纪科技有限公司 一种消息推送系统及方法
US20230028529A1 (en) * 2021-07-22 2023-01-26 Vmware, Inc. Managing processing queue allocation based on addressing attributes of an inner packet
US11929920B2 (en) * 2021-07-22 2024-03-12 VMware LLC Managing processing queue allocation based on addressing attributes of an inner packet
CN115016919A (zh) * 2022-08-05 2022-09-06 阿里云计算有限公司 任务调度方法、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN110928711A (zh) 任务处理方法、装置、系统、服务器及存储介质
US11693723B2 (en) Query watchdog
CN108829350B (zh) 基于区块链的数据迁移方法和装置
CN109684065B (zh) 一种资源调度方法、装置及系统
US8510741B2 (en) Computing the processor desires of jobs in an adaptively parallel scheduling environment
US9092266B2 (en) Scalable scheduling for distributed data processing
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
JP2018531450A6 (ja) 並列ワークスティーリング処理システムのための事前対処的リソース管理
JP2018531450A (ja) 並列ワークスティーリング処理システムのための事前対処的リソース管理
US9218210B2 (en) Distributed processing system
US20150128136A1 (en) Graphics processing unit controller, host system, and methods
US20210042169A1 (en) Request of an mcs lock by guests
CN106569892B (zh) 资源调度方法与设备
US11936568B2 (en) Stream allocation using stream credits
US20030110232A1 (en) Distributing messages between local queues representative of a common shared queue
CN107357640B (zh) 多线程数据库的请求处理方法及装置、电子设备
US20140189701A1 (en) Methods, systems and apparatuses for processor selection in multi-processor systems
CN111709723B (zh) Rpa业务流程智能处理方法、装置、计算机设备和存储介质
US9436503B2 (en) Concurrency control mechanisms for highly multi-threaded systems
US9628401B2 (en) Software product instance placement
CN110928649A (zh) 资源调度的方法和装置
CN114217988A (zh) 一种基于io处理的响应式责任链模式数据处理方法
CN113535378A (zh) 一种资源调配方法、存储介质及终端设备
CN112612606A (zh) 消息主题的处理方法、装置、计算机设备和可读存储介质
Trejo-Sánchez et al. A multi-agent architecture for scheduling of high performance services in a GPU cluster

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200327