CN110837414A - 任务处理方法和装置 - Google Patents

任务处理方法和装置 Download PDF

Info

Publication number
CN110837414A
CN110837414A CN201810932899.9A CN201810932899A CN110837414A CN 110837414 A CN110837414 A CN 110837414A CN 201810932899 A CN201810932899 A CN 201810932899A CN 110837414 A CN110837414 A CN 110837414A
Authority
CN
China
Prior art keywords
task
units
queue
index
indexes
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.)
Granted
Application number
CN201810932899.9A
Other languages
English (en)
Other versions
CN110837414B (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.)
Beijing Jingdong Financial Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding 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 Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201810932899.9A priority Critical patent/CN110837414B/zh
Publication of CN110837414A publication Critical patent/CN110837414A/zh
Application granted granted Critical
Publication of CN110837414B publication Critical patent/CN110837414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种任务处理方法,包括:获取第一任务,所述第一任务包括多个子任务;将所述第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务;以及将所述多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从所述队列中获取索引,并根据所述索引获取相应的任务单元。

Description

任务处理方法和装置
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种任务处理方法和一种任务处理装置。
背景技术
随着科学技术和信息时代的快速发展,依赖于计算机完成的任务越来越多。然而,随着数据量的爆炸式增长,很多任务需要对大量的数据进行处理。例如,很多情况下,需要集群内的多个服务器节点一同处理某一任务。
在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题,即,现有技术中集群内的各服务器节点获取数据和处理数据速度过慢,任务处理效率低。
发明内容
有鉴于此,本公开提供了一种优化的任务处理方法和装置。
本公开的一个方面提供了一种任务处理方法,包括:获取第一任务,所述第一任务包括多个子任务,将所述第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务,将所述多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从所述队列中获取索引,并根据所述索引获取相应的任务单元。
根据本公开的实施例,上述第一任务包括从多个待执行任务中根据所述多个待执行任务的优先级确定的第一任务。
根据本公开的实施例,上述队列每次可以通过队首出队操作出队一个索引,所述至少一个服务器中的一个服务器能够获取所述索引。
根据本公开的实施例,上述将所述多个任务单元对应的索引以队列形式进行存储包括:将所述多个任务单元对应的索引以队列形式进行存储于缓存中。
根据本公开的实施例,上述获取第一任务包括:在预设时间获取所述第一任务。
本公开的另一个方面提供了一种任务处理装置,包括第一获取模块、切分模块和存储模块。其中,第一获取模块获取第一任务,所述第一任务包括多个子任务。切分模块将所述第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务。存储模块将所述多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从所述队列中获取索引,并根据所述索引获取相应的任务单元。
根据本公开的实施例,上述第一任务包括从多个待执行任务中根据所述多个待执行任务的优先级确定的第一任务。
根据本公开的实施例,上述队列每次可以通过队首出队操作出队一个索引,所述至少一个服务器中的一个服务器能够获取所述索引。
根据本公开的实施例,上述将所述多个任务单元对应的索引以队列形式进行存储包括:将所述多个任务单元对应的索引以队列形式进行存储于缓存中。
根据本公开的实施例,上述获取第一任务包括:在预设时间获取所述第一任务。
本公开的另一方面提供了一种任务处理系统,包括:一个或多个处理器,存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
本公开的另一方面提供了一种计算机可读介质,其上存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,可以至少部分地解决现有技术中集群内的各服务器节点获取数据和处理数据速度过慢,效率低的问题,并因此可以实现充分利用集群内各服务器节点的计算能力,提高处理效率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的任务处理方法和装置的应用场景;
图2示意性示出了根据本公开的实施例的任务处理方法的流程图;
图3示意性示出了根据本公开的实施例的索引示意图;
图4示意性示出了根据本公开的实施例的任务处理装置的框图;以及
图5示意性示出了根据本公开实施例的任务处理系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
本公开的实施例提供了一种任务处理方法,包括:获取第一任务,第一任务包括多个子任务,将第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务,以及将多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从队列中获取索引,并根据索引获取相应的任务单元。
图1示意性示出了根据本公开实施例的任务处理方法和装置的应用场景100。
如图1所示,该应用场景100包括存储装置110和集群120。
根据本公开实施例,存储装置110中可以存储有待处理任务,待处理任务可以包括多个子任务,待处理任务可以以队列111的形式存储于存储装置110。
根据本公开实施例,集群120可以是服务器集群,集群120中可以包括至少一个服务器节点121。
存储装置110与集群120可以通过网络连接,从而实现数据交互。例如,可以通过有线、无线通信链路或者光纤电缆等各种连接类型进行连接。
在本公开实施例中,集群120可以用来处理存储装置110中的待处理任务。例如,待处理任务可以是向多个用户发送促销消息,则向一个用户发送该促销消息可以认为是一个子任务,集群120中的各服务器节点可以从存储装置中获取各子任务并处理。
在现有技术中,队列111中逐条存储待处理任务对应的多个子任务,队列111以队首出队操作pop的形式每次弹出一个子任务,由一个服务器节点121获取该子任务,并且处理该子任务。
可以理解,现有技术的队列中直接存储每个子任务数据,数据量大,对存储装置110的要求较高。并且现有技术每次弹出一条子任务,从而服务器节点121每次也只能获取一条子任务数据,这样会导致过于频繁的数据传输,而且服务器节点每次获取一条子任务数据并处理也无法利用到服务器的多核或多线程处理能力。同时,该任务的所有数据都存放在存储装置110中,可靠性也较差。
基于此,本公开实施例提供了一种任务处理方法,可以将任务切分为多个任务单元,并为每个任务单元创建索引,每个任务单元中包括至少一个子任务。队列111中可以存储每个任务单元对应的索引,每次pop一个索引以供服务器节点121获取,服务器节点121获取一个索引后,可以根据该索引获取相应的任务单元,从而可以利用其多核或多线程能力同时处理多个子任务,从而提高任务处理效率。
应该理解,图1中的存储装置、集群和服务器节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的存储装置、集群和服务器节点。
需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
图2示意性示出了根据本公开的实施例的任务处理方法的流程图。
如图2所示,该方法包括操作S201~S203。
在操作S201,获取第一任务,第一任务包括多个子任务。
在操作S202,将第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务。
在操作S203,将多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从队列中获取索引,并根据索引获取相应的任务单元。
根据本公开实施例,可以在预设时间获取第一任务。例如,本公开实施例中可以有多个待执行任务,待执行任务可以是定时执行的任务,当预设时间到达,则相应的待执行任务被启动,可以从数据中获取该相应任务,并根据本公开实施例提供的方法处理该任务。
本公开实施例通过采用定时执行的方式,可以精确控制各待执行任务的执行频率和时间,可以将处理过程平稳化,避免在极短时间内处理大量任务,大量占用服务器资源,导致其他服务受到影响。
在本公开实施例中,可以有多个待执行任务,第一任务可以是从多个待执行任务中根据多个待执行任务的优先级确定的第一任务。例如,本公开实施例可以根据实际需要为多个待执行任务设定优先级或者权重,在处理任务时,可以按照优先级或者权重的顺序依次处理级别较高的任务。
根据本公开实施例,在确定第一任务后,可以从数据库或者其他数据源(例如,外部接口)中获取该任务对应的多个子任务的任务数据。
可以理解,任务的数据量通常会非常庞大,例如,第一任务可以包括1亿条待处理的子任务数据。在本公开实施例中,可以将任务进行切分,将其切分为多个任务单元。例如,第一任务包括1亿条待处理的子任务,可以以1万条为单位做切分,得到1万个任务单元。应当理解,具体如何切分任务数据本领域技术人员可以根据服务器环境、任务执行频率等条件设定,本公开对此不做限定。
在本公开实施例中,将第一任务切分为多个任务单元后,可以为每个任务单元建立索引。例如,如图3所示,第一任务310可以对应多个索引320,每个索引320可以对应一个任务单元330,每个任务单元中可以有至少一个子任务数据。例如,通过索引320能够找到相应的任务单元330。例如,索引320可以包括相应的任务单元330的存储地址等。
根据本公开实施例,可以将多个任务单元对应的索引以队列形式存储到缓存中。缓存例如可以包括redis或者memcached等。还可以将索引对应的任务单元也存储在缓存中,例如,可以存储在相同的redis分片中,也可以存储在不同的redis分片中。
在本公开实施例中,队列每次可以通过队首出队操作出队一个索引,至少一个服务器中的一个服务器能够获取该索引。队列每次可以pop队首索引数据,有服务器获取该索引数据后,则队列中将该索引数据移除,并且pop下一个队首索引数据。获取到该索引的服务器可以根据索引获得任务单元,任务单元中包括多个子任务,则服务器可以通过其多核或多线程能力同时处理该些子任务,从而可以充分利用各服务器的处理能力。
在本公开一些实施例中,可以先生成任务,任务生成本身可以是一个定时执行的任务。在定时任务被启动时,先从数据库中进行任务检索,当发现有待执行的任务时,将其存入缓存(例如,redis、memcached等)。同时依据各待执行任务的权重或优先级,对任务做排序,权重或优先级高的在前。随后可以遍历所有待执行任务,确定待执行任务对应的多个子任务,从数据库或其他数据源(例如,外部接口)拉取子任务。子任务通常会数据量庞大,例如有1亿条待处理的子任务数据。这时,可以将任务切分为多个任务单元。任务切分的同时,可以给任务单元建立索引。将任务单元和索引都存入缓存。索引的key为待执行任务的value,而索引的value为任务单元的key。至此,我们得到了缓存中的3组数据,分别是待执行任务、索引、任务单元,这3组数据自上而下,能够层层查询,索引作为中间层起到了连接待执行任务和任务单元的作用。
在本公开另一些实施例中,可以在生成任务后进行任务消费。任务消费同样是一个定时执行的任务,执行频率可以比较高,具体频率可以根据任务单元大小和服务器性能决定。定时任务被启动时,先执行任务检索,从缓存中查找是否有待执行或未处理完的任务。如果有,则开始拉取对应的子任务,子任务的拉取是通过索引得到的。通过待执行任务获得索引队列,每次从索引队列中pop队首数据。如果没有得到索引队列,说明所有数据已经被处理完,这时将待执行任务也从缓存中删除,防止下次任务检索,该处理过的任务还被检索到。用得到的索引的value作为key,从缓存中查找到任务单元。任务消费定时任务,每次处理一个索引所对应的任务单元。由于使用了pop操作,保证了集群环境下多服务器的任务争抢的一致性,不会出现多个服务器抢到同一个任务。从设定好的本地线程池中,分配多个子线程,并行处理多条数据,处理完后继续循环处理,直到任务单元中的所有子任务都被处理完成。这时,一次任务消费就执行完成了,等待下次被定时唤醒。在本公开实施例中,任务生成和任务消费相互解耦,但也配合。最终实现从数据源中需要执行的任务在指定时间被唤起,放入缓存后,按照顺序逐条处理。
本公开实施例通过在缓存中建立索引结构,支持链式查找,能够支持在单个存储单元有限的情况下(例如,memcached单个存储单元只支持2MB),存放大量数据。
本公开实施例通过队列pop任务单元索引,使得整个任务的分配采用集群争抢策略,充分利用了集群环境下的所有服务器,每个服务器一次处理一个任务单元。并且每个服务器可以使用多线程同时处理任务单元中的多个子任务,充分利用多核处理器的能力,在相同的时间内,能够处理的数据量大大增加,提高了任务的处理效率。
本公开实施例采用定时执行的方式,可以精确控制执行频率和时间。可以将处理过程更平稳化,不会在极短时间内大量占用服务器资源,导致其他服务受到影响。从而使任务可以做到全天候随时执行,在指定时间执行。
本公开实施例将任务切分为多个任务单元,并且通过索引将其连接,则任务单元的存放将更灵活,可以分布式存储,也可以集中但分键存储。这带来了更高的容灾性,即使缓存断电或其他情况导致崩溃,也有更大的机会从持久化中找回数据。
图4示意性示出了根据本公开的实施例的任务处理装置400的框图。
如图4所示,任务处理装置400包括第一获取模块410、切分模块420以及存储模块430。
第一获取模块410获取第一任务,第一任务包括多个子任务。
切分模块420将第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务。
存储模块430将多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从队列中获取索引,并根据索引获取相应的任务单元。
根据本公开实施例,上述第一任务包括从多个待执行任务中根据多个待执行任务的优先级确定的第一任务。
根据本公开实施例,上述队列每次可以通过队首出队操作出队一个索引,至少一个服务器中的一个服务器能够获取该索引。
根据本公开实施例,上述将多个任务单元对应的索引以队列形式进行存储包括:将多个任务单元对应的索引以队列形式进行存储于缓存中。
根据本公开实施例,上述获取第一任务包括:在预设时间获取第一任务。
根据本公开实施例,如图4所示的任务处理装置400例如可以执行上文参考图2描述的任务处理方法,在此不再赘述。
本公开实施例通过队列pop任务单元索引,使得整个任务的分配采用集群争抢策略,充分利用了集群环境下的所有服务器,每个服务器一次处理一个任务单元。并且每个服务器可以使用多线程同时处理任务单元中的多个子任务,充分利用多核处理器的能力,在相同的时间内,能够处理的数据量大大增加,提高了任务的处理效率。
本公开实施例采用定时执行的方式,可以精确控制执行频率和时间。可以将处理过程更平稳化,不会在极短时间内大量占用服务器资源,导致其他服务受到影响。从而使任务可以做到全天候随时执行,在指定时间执行。
本公开实施例将任务切分为多个任务单元,并且通过索引将其连接,则任务单元的存放将更灵活,可以分布式存储,也可以集中但分键存储。这带来了更高的容灾性,即使缓存断电或其他情况导致崩溃,也有更大的机会从持久化中找回数据。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块410、切分模块420以及存储模块430中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块410、切分模块420以及存储模块430中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块410、切分模块420以及存储模块430中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的任务处理系统的方框图。图5示出的任务处理系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的任务处理系统500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有系统500操作所需的各种程序和数据。处理器501、ROM 502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
例如,根据本公开的实施例,计算机可读介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (12)

1.一种任务处理方法,包括:
获取第一任务,所述第一任务包括多个子任务;
将所述第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务;
将所述多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从所述队列中获取索引,并根据所述索引获取相应的任务单元。
2.根据权利要求1所述的方法,其中,所述第一任务包括从多个待执行任务中根据所述多个待执行任务的优先级确定的第一任务。
3.根据权利要求1所述的方法,其中,所述队列每次可以通过队首出队操作出队一个索引,所述至少一个服务器中的一个服务器能够获取所述索引。
4.根据权利要求1所述的方法,其中,所述将所述多个任务单元对应的索引以队列形式进行存储包括:将所述多个任务单元对应的索引以队列形式进行存储于缓存中。
5.根据权利要求1所述的方法,其中,所述获取第一任务包括:在预设时间获取所述第一任务。
6.一种任务处理装置,包括:
第一获取模块,获取第一任务,所述第一任务包括多个子任务;
切分模块,将所述第一任务切分为多个任务单元,并为每个任务单元创建索引,其中,每个任务单元包括至少一个子任务;
存储模块,将所述多个任务单元对应的索引以队列形式进行存储,以便至少一个服务器能够从所述队列中获取索引,并根据所述索引获取相应的任务单元。
7.根据权利要求6所述的装置,其中,所述第一任务包括从多个待执行任务中根据所述多个待执行任务的优先级确定的第一任务。
8.根据权利要求6所述的装置,其中,所述队列每次可以通过队首出队操作出队一个索引,所述至少一个服务器中的一个服务器能够获取所述索引。
9.根据权利要求6所述的装置,其中,所述将所述多个任务单元对应的索引以队列形式进行存储包括:将所述多个任务单元对应的索引以队列形式进行存储于缓存中。
10.根据权利要求6所述的装置,其中,所述获取第一任务包括:在预设时间获取所述第一任务。
11.一种任务处理系统,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~5中任一项所述的方法。
12.一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~5中任一项所述的方法。
CN201810932899.9A 2018-08-15 2018-08-15 任务处理方法和装置 Active CN110837414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810932899.9A CN110837414B (zh) 2018-08-15 2018-08-15 任务处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810932899.9A CN110837414B (zh) 2018-08-15 2018-08-15 任务处理方法和装置

Publications (2)

Publication Number Publication Date
CN110837414A true CN110837414A (zh) 2020-02-25
CN110837414B CN110837414B (zh) 2024-04-12

Family

ID=69573445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810932899.9A Active CN110837414B (zh) 2018-08-15 2018-08-15 任务处理方法和装置

Country Status (1)

Country Link
CN (1) CN110837414B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165527A (zh) * 2020-09-30 2021-01-01 中国工商银行股份有限公司 文件分发方法、文件分发装置和电子设备
CN114448893A (zh) * 2021-12-24 2022-05-06 天翼云科技有限公司 一种cdn节点任务下发的聚合方法、装置及计算机设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131309A1 (en) * 2010-11-18 2012-05-24 Texas Instruments Incorporated High-performance, scalable mutlicore hardware and software system
US20130144967A1 (en) * 2011-12-05 2013-06-06 International Business Machines Corporation Scalable Queuing System
CN103177082A (zh) * 2013-02-21 2013-06-26 用友软件股份有限公司 主服务器、从服务器、索引同步系统和索引同步方法
CN103914341A (zh) * 2013-01-06 2014-07-09 中兴通讯股份有限公司 数据队列出队管控方法和装置
CN105278922A (zh) * 2015-09-29 2016-01-27 新浪网技术(中国)有限公司 一种数据分发方法、系统及装置
US20160299791A1 (en) * 2014-01-14 2016-10-13 Tencent Technology (Shenzhen) Company Limited Method And Apparatus For Processing Computational Task
CN106095832A (zh) * 2016-06-01 2016-11-09 东软集团股份有限公司 分布式并行数据处理方法以及装置
CN107885590A (zh) * 2017-11-30 2018-04-06 百度在线网络技术(北京)有限公司 用于智能设备的任务处理方法和装置
CN108243256A (zh) * 2018-01-19 2018-07-03 网宿科技股份有限公司 一种数据存储方法、编码设备及解码设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131309A1 (en) * 2010-11-18 2012-05-24 Texas Instruments Incorporated High-performance, scalable mutlicore hardware and software system
US20130144967A1 (en) * 2011-12-05 2013-06-06 International Business Machines Corporation Scalable Queuing System
CN103914341A (zh) * 2013-01-06 2014-07-09 中兴通讯股份有限公司 数据队列出队管控方法和装置
CN103177082A (zh) * 2013-02-21 2013-06-26 用友软件股份有限公司 主服务器、从服务器、索引同步系统和索引同步方法
US20160299791A1 (en) * 2014-01-14 2016-10-13 Tencent Technology (Shenzhen) Company Limited Method And Apparatus For Processing Computational Task
CN105278922A (zh) * 2015-09-29 2016-01-27 新浪网技术(中国)有限公司 一种数据分发方法、系统及装置
CN106095832A (zh) * 2016-06-01 2016-11-09 东软集团股份有限公司 分布式并行数据处理方法以及装置
CN107885590A (zh) * 2017-11-30 2018-04-06 百度在线网络技术(北京)有限公司 用于智能设备的任务处理方法和装置
CN108243256A (zh) * 2018-01-19 2018-07-03 网宿科技股份有限公司 一种数据存储方法、编码设备及解码设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165527A (zh) * 2020-09-30 2021-01-01 中国工商银行股份有限公司 文件分发方法、文件分发装置和电子设备
CN112165527B (zh) * 2020-09-30 2023-01-06 中国工商银行股份有限公司 文件分发方法、文件分发装置和电子设备
CN114448893A (zh) * 2021-12-24 2022-05-06 天翼云科技有限公司 一种cdn节点任务下发的聚合方法、装置及计算机设备

Also Published As

Publication number Publication date
CN110837414B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
US9400767B2 (en) Subgraph-based distributed graph processing
US20130144967A1 (en) Scalable Queuing System
US20160291977A1 (en) Adaptive map-reduce pipeline with dynamic thread allocations
CN109032796B (zh) 一种数据处理方法和装置
US11556496B2 (en) Outputting map-reduce jobs to an archive file
US10831716B2 (en) Method and apparatus for configuring relevant parameters of MapReduce applications
US20140237474A1 (en) Systems and methods for organizing dependent and sequential software threads
CN110837414B (zh) 任务处理方法和装置
CN110673959A (zh) 用于处理任务的系统、方法和装置
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
US11190620B2 (en) Methods and electronic devices for data transmission and reception
US10783003B2 (en) Method, device, and computer readable medium for managing dedicated processing resources
US8938522B2 (en) Tiered XML services in a content management system
CN113760498A (zh) 消息消费方法、装置、电子设备和计算机可读介质
CN111444148B (zh) 基于MapReduce的数据传输方法和装置
US9645637B2 (en) Managing a free list of resources to decrease control complexity and reduce power consumption
CN110120959B (zh) 大数据推送方法、装置、系统、设备及可读存储介质
CN109976902B (zh) 任务处理方法、系统、电子设备及计算机可读介质
CN109947861B (zh) 用于数据仓库生成目标表的方法、装置和计算机可读介质
CN114490050A (zh) 一种数据同步方法和装置
CN110879818B (zh) 一种获取数据的方法、装置、介质和电子设备
CN113986833A (zh) 文件合并方法、系统、计算机系统及存储介质
CN114090539A (zh) 数据迁移方法、装置、计算机系统及存储介质
CN115129438A (zh) 任务分布式调度的方法和装置
CN109905443B (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
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant