CN107766129A - 一种任务处理方法、装置及系统 - Google Patents
一种任务处理方法、装置及系统 Download PDFInfo
- Publication number
- CN107766129A CN107766129A CN201610681355.0A CN201610681355A CN107766129A CN 107766129 A CN107766129 A CN 107766129A CN 201610681355 A CN201610681355 A CN 201610681355A CN 107766129 A CN107766129 A CN 107766129A
- Authority
- CN
- China
- Prior art keywords
- task
- information table
- processing
- goal
- node
- 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
Links
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/486—Scheduler internals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种任务处理方法、装置及系统,应用于任务调度节点的方法包括:获取目标任务;估算处理所述目标任务的处理时间,根据所述处理时间,确定所述目标任务的任务类型;将所述目标任务添加至所述任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在所述目标任务队列中获取任务,对所获取的任务进行处理,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置,用于存储各个任务队列的任务数量。应用本发明实施例,能够提高单位时间内对任务的整体处理能力。
Description
技术领域
本发明涉及任务处理技术领域,特别涉及一种任务处理方法、装置及系统。
背景技术
在当今高度信息化的社会里,数据规模急剧增加,同时针对数据的利用也存在多种形式,海量的数据和不同的利用形式,导致海量数据处理任务的产生。
现有的任务处理系统中存在一个任务调度节点和至少一个任务处理节点,任务调度节点将任务发送给任务处理节点,任务处理节点对任务进行处理,其中,任务调度节点采用串行的方式将任务发送给任务处理节点。也就是任务调度节点按照任务的生成时间由先到后的顺序向任务处理节点发送任务,生成时间靠前的任务被优先处理。
应用上述方式可以很好的进行任务处理,而在一段时间内任务调度节点接收到大量任务时,这些任务的处理时间往往并不相同,有些任务需要的处理时间较长,而有些任务需要的处理时间较短。
假设,存在任务A和任务B,任务A需要的处理时间远远小于任务B需要的处理时间,但是任务A的生成时间晚于任务B的生成时间,则按照上述串行的方式将任务A和任务B添加至任务队列后,任务B位于任务A的前面,任务调度节点首先将任务B发送至任务处理节点进行处理,待有空闲的任务处理节点时才将任务A发送至任务处理节点进行处理,如,任务B处理完成后将任务A发送至用于处理任务B的任务处理节点进行处理,这样任务A需要等待很长时间才能够被处理,进而降低了单位时间内对任务的整体处理能力。
发明内容
本发明实施例的目的在于提供一种任务处理方法、装置及系统,以提高单位时间内对任务的整体处理能力。
第一方面,为达到上述目的,本发明实施例公开了一种任务处理方法,应用于任务调度节点,所述方法包括:
获取目标任务;
估算处理所述目标任务的处理时间,根据所述处理时间,确定所述目标任务的任务类型;
将所述目标任务添加至所述任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在所述目标任务队列中获取任务,对所获取的任务进行处理,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置,用于存储各个任务队列的任务数量。
第二方面,为达到上述目的,本发明实施例公开了一种任务处理方法,应用于任务处理节点,所述方法包括:
根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置的,存储各个任务队列的任务数量的信息,所述任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由所述任务调度节点估算任务的处理时间并根据所述处理时间确定的;
在所述目标任务队列中获取任务,对所获取的任务进行处理。
第三方面,为达到上述目的,本发明实施例公开了一种任务处理装置,应用于任务调度节点,所述装置包括:
第一获取模块,用于获取目标任务;
第一确定模块,用于估算处理所述目标任务的处理时间,根据所述处理时间,确定所述目标任务的任务类型;
添加模块,用于将所述目标任务添加至所述任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在所述目标任务队列中获取任务,对所获取的任务进行处理,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置,用于存储各个任务队列的任务数量。
第四方面,为达到上述目的,本发明实施例公开了一种任务处理装置,应用于任务处理节点,所述装置包括:
第二确定模块,用于根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置的,存储各个任务队列的任务数量的信息,所述任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由所述任务调度节点估算任务的处理时间并根据所述处理时间确定的;
第二获取模块,用于在所述目标任务队列中获取任务,对所获取的任务进行处理。
第五方面,为达到上述目的,本发明实施例公开了一种任务处理系统,所述系统包括:
一个应用上述应用于任务调度节点的任务处理装置的任务调度节点、至少一个应用上述应用于任务处理节点的任务处理装置的任务处理节点。
由上述技术方案可见,本发明实施例所提供的方案中,任务调度节点获取目标任务,估算处理所述目标任务的处理时间,根据所述处理时间,确定所述目标任务的任务类型,将所述目标任务添加至所述任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,在所述目标任务队列中获取任务,对所获取的任务进行处理,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置,用于存储各个任务队列的任务数量。与现有技术相比,本发明实施例所提供的方案中,任务调度节点通过估算任务的处理时间,确定任务的任务类型,将任务添加至对应的任务队列,并配置了任务数量信息表,任务处理节点通过确定处理任务的目标任务类型,进而确定目标任务队列,在目标任务队列中获取任务,对获取的任务进行处理。本发明实施例所提供的方案,对获取的任务进行分类,添加至对应的任务队列,可以在一定程度上减少任务的等待时间,从而提高了单位时间内对任务的整体处理能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的任务处理方法的第一种流程示意图;
图2为本发明实施例提供的任务处理方法的第二种流程示意图;
图3为本发明实施例提供的任务处理方法的第三种流程示意图;
图4为本发明实施例提供的任务处理方法的第四种流程示意图;
图5为本发明实施例提供的任务处理方法的第五种流程示意图;
图6为本发明实施例提供的任务处理装置的第一种结构示意图;
图7为本发明实施例提供的任务处理装置的第二种结构示意图;
图8为本发明实施例提供的任务处理装置的第三种结构示意图;
图9为本发明实施例提供的任务处理装置的第四种结构示意图;
图10为本发明实施例提供的任务处理装置的第五种结构示意图;
图11为本发明实施例提供的任务处理系统的结构示意图;
图12为本发明提供的任务处理系统的具体应用场景的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的任务处理方法的第一种流程示意图,该方法应用于任务调度节点,具体的,该任务调度节点可以理解为:任务处理系统中的任务调度节点,上述任务处理系统至少包括:任务调度节点和任务处理节点。
上述任务处理方法包括:
S101:获取目标任务。
目标任务为任务调度节点获取到的任务,具体获取的方法是现有技术,在此不进行赘述。
S102:估算处理目标任务的处理时间,根据处理时间,确定目标任务的任务类型。
在实际应用中,针对不同的任务,处理时间不尽相同,在本申请中,利用任务的处理时间确定任务的任务类型,任务的处理时间根据现有技术中对同样的任务进行处理所花费的时间进行估算。估算的方法可以通过处理同类任务的平均时间进行估算,也可以通过单次处理同类任务的时间进行估算,还可以根据任务处理节点的负载、配置等多方面因素,对同类任务的处理时间进行估算,当然,并不仅限于此。
任务类型可以根据任务的处理时间划分,将处理时间在一段时间内的任务划分为同一类型任务。任务类型的数量根据实际情况确定,不同任务类型的时间间隔可以相同也可以不同。示例性的,任务类型A为处理时间在0~1秒之间的任务所属的任务类型,任务类型B为处理时间在1~2秒之间的任务所属的任务类型,任务类型C为处理时间在2~3秒之间的任务所属的任务类型,任务类型D为处理时间超过3秒的任务所属的任务类型;根据实际情况,任务类型A也可以为处理时间在0~1秒之间的任务所属的任务类型,任务类型B为处理时间在1~3秒之间的任务所属的任务类型,任务类型C为处理时间在3~4秒之间的任务所属的任务类型,任务类型D为处理时间超过4秒的任务所属的任务类型;当然,任务类型A也可以为任务处理时间在0~3秒之间的任务所属的任务类型,任务类型B为处理时间超过3秒的任务所属的任务类型。本申请只需根据估算的处理时间确定目标任务的任务类型,任务类型的划分的规则可以根据实际情况而定,本发明对此不做限定。
S103:将目标任务添加至任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在目标任务队列中获取任务,对所获取的任务进行处理,其中,目标任务类型是由任务调度节点确定的,任务数量信息表由任务调度节点配置,用于存储各个任务队列的任务数量。
任务调度节点确定目标任务的任务类型后,根据确定的任务类型,确定任务类型对应的任务队列,将目标任务添加到该任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在目标任务队列中获取任务,对所获取的任务进行处理。
需要说明的是,任务队列为存储任务的队列。目标任务类型是任务处理节点可以处理的任务类型,是由任务调度节点确定的。任务数量信息表由任务调度节点配置,记录了各个任务队列中任务的数量。在实际应用中,任务调度节点可以将任务数量信息表的结构配置为Hash(哈希或散列)结构。任务数量信息表采用Hash结构,能够实现在任务数量信息表中快速查找任务队列的任务数量,也可以快速更新任务队列的任务数量,这里所说的更新为删除或者修改。
在实际应用中,任务处理系统还可以包括任务队列节点,任务可以存储于任务队列节点中。任务调度节点确定目标任务的任务类型后,会将目标任务发送给任务队列节点,任务队列节点接收到目标任务后,将目标任务添加至对应的任务队列。任务存储在任务队列节点中,任务处理节需要获取任务时,可以访问任务队列节点,而不访问任务调度节点,减少了任务调度节点的资源浪费及压力,提高了单位时间内对任务的整体处理能力。
在一种具体实施例中,将目标任务添加至任务类型对应的任务队列,包括:
根据任务类型及目标任务的目标用户,将目标任务添加至目标用户对应的任务队列。
需要说明的是,任务调度节点不仅需要根据估算的处理时间,确定目标任务的任务类型,还需要识别目标任务的目标用户,即确定目标任务是由哪个用户提交的,目标用户与目标任务之间存在对应关系。任务调度节点可以根据目标任务携带的用户的识别信息确定目标用户,根据目标用户与用户的识别信息之间的对应关系,获取用户的识别信息即可确定目标用户,用户的识别信息为可以识别出用户的信息,识别信息可以为用户的名称、也可以为用户的代号,当然,并不仅限于此。
示例性的,假设,识别出目标任务的目标用户为用户1,确定目标任务的任务类型为任务类型A,则将目标任务添加至用户1的任务类型A对应的任务队列。在本发明中,以用户维度和任务类型维度两个维度对任务进行区分,将区分后的目标任务添加至任务队列,能够公平地对不同用户的任务进行处理,同时在可以整体公平的基础上,对特殊用户的任务进行优先处理,在整体上减少用户的等待时间,提高服务质量。
需要说明的是,任务调度节点可以根据任务类型,针对每一任务类型对应的创建至少一个任务队列,根据目标任务的任务类型,添加至对应的任务队列,但这种方式可能会导致某些任务队列一直为空任务队列;任务调度节点也可以根据目标任务的任务类型,确定该任务类型是否存在相应的任务队列,如果不存在,则创建任务队列,然后将目标任务添加至对应的任务队列。
需要说明的是,如果以用户维度和任务类型维度两个维度对任务进行区分,同一用户对应的任务类型数量可以随着根据用户提交的任务而变化。例如,用户1当前对应的任务类型为任务类型A和B,当任务调度节点获取用户1的任务,确定的任务类型为任务类型C,则用户A对应的任务类型数量变成了三个,将获取的任务添加至任务类型C对应的任务队列。
在本发明的一个优选实施例中,目标任务类型是从任务调度节点存储的优先处理信息表中获得的,其中,优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理任务的目标任务类型之间的对应关系;
该方法还可以包括:在检测到至少一种以下情况时,更新优先处理信息表:
新增任务处理节点;
更新任一任务处理节点处理的用户信息;
更新任一任务处理节点处理的任务类型。
任务调度节点可以建立任务处理节点的标识信息、处理的用户信息及处理任务的任务类型之间的对应关系,并将建立的对应关系存储于优先处理信息表中。建立的对应关系中,可以只有任务处理节点的标识信息与处理的任务类型之间的对应关系,而不包含处理的用户信息。任务处理节点可以根据优先处理信息表确定自身所处理的目标任务类型。任务处理节点的标识信息可以为任务处理节点的IP(Internet Protocol,网络之间互连的协议)和端口信息。
示例性的,优先处理信息表存储的对应关系可以如表1所示。
表1
任务处理节点的标识信息 | 用户 | 任务类型 |
Node1 | 1、2、3、4 | A |
Node2 | B | |
Node3 | 4、5 | A |
Node4 | 1、2、3、4 | C |
Node5 | 6、7、8 | D |
在实际应用中,任务调度节点如果检测到新增的任务处理节点的时候,可以更新优先处理信息表,增加新增的任务处理节点任务处理节点的标识信息、处理的用户信息及处理任务的任务类型之间的对应关系;如果检测到更新任一任务处理节点处理的用户信息,在优先处理信息表中确定需要更新用户信息的任务处理节点的标识信息,将该任务处理节点处理的用户进行更新;同理,如果检测到更新任一任务处理节点处理的任务类型,在优先处理信息表中确定需要更新用户信息的任务处理节点的任务类型,将该任务处理节点处理的任务类型进行更新。当然,也可能同时对任务处理节点处理的用户信息和任务类型进行更新,更新的方式和上述方式一样,在此不进行赘述。
在实际应用中,任务处理系统还可以包括同步节点,优先处理信息表可以存储于同步节点,同步节点,顾名思义,是可以具有同步功能的节点。任务调度节点发送针对优先处理信息表的更新请求,该更新请求中可以包含更新的具体内容,例如,以表1为例,更新请求可以为添加Node2处理的用户信息,处理的用户为用户4、5、6。同步节点在接收到该更新请求后,根据更新请求的具体内容,更新任务数量信息表。
需要说明的是,任务调度节点与任务处理节点实时监听同步节点,一旦优先处理信息表更新,任务调度节点与任务处理节点同步存储优先处理信息表的副本,这里所说的监听,任务调度节点和任务处理节点实时检测同步节点针对优先处理信息表的操作,以实现任务调度节点、任务处理节点及同步节点针对优先处理信息表实时同步。任务调度节点与任务处理节点通过同步节点实现优先处理信息表的同步,能够减少任务处理节点读取优先处理信息表的时间,减少资源的浪费,提高任务调度节点单位时间内对任务的整体处理能力。任务调度节点同步存储优先处理信息表,能够根据优先处理信息表,合理的调度资源,减少任务等待处理的时间,提高单位时间内对任务的整体处理能力。以表1为例,用户6提交了大量的任务,并要求在很短的时间内处理完成这些任务,任务调度节点根据优先处理信息表确定目前只有Node5处理该用户的任务,则任务调度节点可以配置更多的任务处理节点处理该用户的任务,任务调度节点向同步节点发送更新请求,该更新请求为在Node1、Node2的处理的用户信息增加用户6,同步节点接收更新请求对优先处理信息表进行更新后,更新后的优先处理信息表存储的对应关系可以如表2所示。
表2
任务处理节点的标识信息 | 用户 | 任务类型 |
Node1 | 1、2、3、4、6 | A |
Node2 | 6 | B |
Node3 | 4、5 | A |
Node4 | 1、2、3、4 | C |
Node5 | 6、7、8 | D |
在本发明的一个优选实施例中,在将目标任务添加至目标用户对应的任务队列之后,该方法可以还包括:
设置任务数量信息表针对第一线程为可写入状态,设置任务数量信息表针对除第一线程之外的其他线程为不可写入状态,通过调用第一线程更新任务数量信息表,设置更新后的任务数量信息表针对第一线程为不可写入状态。
线程(thread),操作系统技术中的术语,是操作系统能够进行运算调度的最小单位,线程被包涵在进程之中,是进程中的实际运作单位。进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
任务调度节点每次获取目标任务将目标任务添加至对应的任务队列之后,需要更新任务数量信息表,为了保证任务数量信息表中数据的一致性,在同一时刻,只能允许一个线程对任务数量信息表进行写入操作,当任务数量信息表针对第一线程为可写入状态,即第一线程拥有对任务数量信息表进行写入的权限,调用第一线程更新任务数量信息表,如果同时其他的线程也要对任务数量信息表进行写入操作,其他线程只能等待,不能对任务数量信息表进行写入操作。
在实际应用中,任务数量信息表也可以存储于任务队列节点,任务调度节点通过调用第一线程向任务队列节点发送针对任务数量信息表的更新请求,任务队列节点接收更新请求后,更新任务数量信息表。
在实际应用中,当任务数量信息表为Hash表时,任务调度节点可以创建一个ConcurrentHashMap,ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。ConcurrentHashMap使用了多个锁来控制对任务数量信息表的不同部分进行的修改,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。ConcurrentHashMap中key(主键)存储的是用户的识别信息,value(值)在实际应用中可以根据实际情况存储信息。当获取到目标任务,添加至对应的任务队列后,调用第一线程更新任务数量信息表时,可以先判断ConcurrentHashMap是否存在目标任务对应的目标用户的识别信息,如果不存在,在ConcurrentHashMap中添加目标用户的识别信息。
在ConcurrentHashMap存储有目标用户的识别信息的情况下,第一线程需要从ConcurrentHashMap获取目标用户锁,这里所说的获取目标用户锁,即是获取对任务数量信息表中目标用户的任务数量进行操作的权限,第一线程获取目标用户锁后,更新任务数量信息表中目标用户的任务数量表。在这里更新,可以使用HINCRBY操作,HINCRBY命令用于为Hash表中的字段值加上指定增量值。增量也可以为负数,相当于对指定字段进行减法操作。第一线程进行更新操作后,需要释放目标用户锁,即将获取到的对任务数量信息表中目标用户的任务数量进行操作的权限归还给ConcurrentHashMap。
当任务调度节点启动或重启时,需要初始化ConcurrentHashMap,ConcurrentHashMap的初始化方法是现有技术,在这里不进行赘述。
当然,第一线程可以获取整个任务数量信息表进行操作而不是对任务数量信息表的部分内容进行操作。
在本发明的一个优选实施例中,该方法还可以包括:
按照预设的第一时间间隔扫描各个任务队列的队列长度;
根据扫描的结果,更新任务数量信息表。
在实际应用中,任务调度节点会定时扫描各个任务队列的队列长度,两次扫描的间隔为预设的第一时间间隔。任务调度节点可以直接扫描各个任务队列的队列长度,也可以根据任务数量信息表,确定扫描的任务队列,扫描确定的任务队列。如果在扫描的结果中,存在任务数量为零的任务队列,更新任务数量信息表时,将任务数量信息表中该任务队列对应的信息删除,保证任务数量信息表的大小不会一直增长,使得任务处理节点读取任务信息表时,不会造成性能瓶颈。
在实际应用中,当任务数量信息表存储于任务队列节点时,任务调度节点会向任务队列节点发送读取任务数量信息表的请求,任务队列节点接收到读取请求后,将任务数量信息表发送给任务调度节点,任务调度节点在扫描任务队列的队列长度后,根据读取到的任务数量信息表,判断哪些任务队列的任务数量发生变化,并根据判断的结果向任务队列节点发送更新请求,任务队列节点在接收更新请求后,更新任务数量信息表。
在一种具体实施例中,根据扫描的结果,更新任务数量信息表,包括:
设置任务数量信息表针对第二线程为可写入状态,设置任务数量信息表针对除第二线程之外的其他线程为不可写入状态,通过调用第二线程根据扫描结果并根据扫描结果更新任务数量信息表;
设置更新后的任务数量信息表针对第二线程为不可写入状态。
第二线程与第一线程可以同时存在,因为线程需要获取对任务数量信息表的操作权限,当第一线程对任务数量信息表进行操作时,第二线程只能等待。
第二线程对任务数量信息表的操作的原理与第一线程对任务数量信息表的操作的原理相同,区别在于,第二线程可能获取对任务数量信息表中很多用户的任务数量进行操作的权限,第二线程对任务数量信息表的更新可以为对任务数量信息表中的信息进行删除。
在实际应用中,当任务数量信息表存储于任务队列节点时,任务调度节点通过调用第二线程向任务队列节点发送针对任务数量信息表的更新请求,任务队列节点接收更新请求后,更新任务数量信息表。
在本发明的一个优选实施例中,该方法还可以包括:
按照预设的第二时间间隔扫描处于正在处理状态的第一任务;
在确定处理第一任务的任务处理节点不存在的情况下,删除所第一任务的状态,并将第一任务添加至第一任务对应的任务队列。
确定任务处理节点是否存在的方法为:任务调度节点广播用于验证任务处理节点是否存在的报文,在一定的时间内,如果接收到任务处理节点发送的响应报文,则证明该任务处理节点存在,如果没有接收到任务处理节点发送的报文,证明该任务处理节点已经不存在。这里所说的报文,可以为保活报文,也可以为地址解析报文等。任务处理节点不存在的原因可能是该任务处理节点宕机或者已经从任务处理系统中移除。
任务调度节点扫描第一任务,确定处理第一任务的任务处理节点是否存在,当处理第一任务的任务处理节点已经不存在,说明该第一任务为异常任务,为了保证该第一任务的正常处理,删除该第一任务的状态,并将该第一任务重新添加至第一任务对应的任务队列。这样保证了任务的正常处理,不会因为任务处理节点的问题而搁置处理进度,从而能够整体上降低任务的处理时间。任务调度节点通过扫描任务处理节点处理的任务的状态,达到监控任务处理进度的目的。
在实际应用中,为了提高任务调度节点扫描第一任务的效率,任务处理系统可以包括数据库,用于存储任务的状态。任务调度节点需要扫描第一任务时,向数据库发送扫描通知,数据库接收到扫描通知后,将具体存在哪些第一任务发送给任务调度节点,任务调度节点接收到这些第一任务的信息后,根据处理第一任务的任务处理节点的标识信息,确定该任务处理节点是否存在,在确定该任务处理节点不存在的情况下,向数据库发送针对第一任务的状态删除通知,数据库在接收到状态删除通知后,删除第一任务的任务状态。
将任务的状态存储于数据库,任务调度节点扫描第一任务,不需要分别到不同的任务处理节点中扫描,只需要到数据库中扫描任务的进度,可以一次性得到第一任务的信息,也可以减少任务处理节点的压力。当任务调度节点确定处理第一任务的任务处理节点不存在时,可以批量删除这些第一任务的状态,并将这些第一任务批量添加至对应的任务队列,减少了任务调度节点的资源浪费,提高任务调度节点单位时间内对任务的整体处理能力。
由上述技术方案可见,本发明实施例所提供的方案中,获取目标任务后,估算处理目标任务的处理时间,根据处理时间,确定目标任务的任务类型,将目标任务添加至任务类型对应的任务队列,同现有技术相比,对获取的任务进行分类,添加至对应的任务队列,可以在一定程度上减少任务的等待时间,从而提高了单位时间内对任务的整体处理能力。
图2为本发明实施例提供的任务处理方法的第二种流程示意图,应用于任务处理节点,具体的,该任务处理节点可以理解为:任务处理系统中的任务处理节点,上述任务处理系统至少包括:任务调度节点和任务处理节点。
上述任务处理方法包括:
S201:根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,目标任务类型是由任务调度节点确定的,任务数量信息表由任务调度节点配置的,存储各个任务队列的任务数量的信息,任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由任务调度节点估算任务的处理时间并根据处理时间确定的。
任务处理节点确定自身处理的目标任务类型之后,因为目标任务类型对应的任务队列可能是多个,也可能目标任务类型对应的任务队列的任务数量为零,所以需要根据目标任务类型和任务数量信息表确定目标任务队列。
在实际应用中,当任务数量信息表存储于任务队列节点中时,任务处理节点向任务队列节点发送针对任务数量信息表的读取请求,任务队列节点接收到读取请求后,将任务数量信息表发送给任务处理节点,任务处理节点可以根据任务数量信息表和自身处理的目标任务类型,从所有任务队列中确定目标任务队列。
S202:在目标任务队列中获取任务,对所获取的任务进行处理。
任务处理节点在确定目标任务队列之后,在目标任务队列中获取任务,对获取的任务进行处理。如果获取的任务是针对视频处理的任务,任务处理节点会调用本地转码工具对视频进行处理。针对视频的处理可以为:对视频进行截图、转换视频的格式、在视频上添加文字或者水印或对视频切片等操作。本地转码工具可以为FFMPEG,但并不仅限于此。FFMPEG(Fast Forward Mpeg)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。FFMPEG有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。转码工具对视频的处理是现有技术,在这里不进行赘述。
更进一步的,图3为本发明实施例所提供的任务处理方法的第三种流程示意图。基于图2所提供的实施例,本发明实施例所提供的一种任务处理方法,在步骤S201:根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列之前,还包括步骤S203和步骤S204,其中,
S203:确定自身的标识信息是否在优先处理信息表中,其中,优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系。
任务处理节点需要确定任务调度节点是否在优先处理信息表中为自身配置信息,如果自身的标识信息在优先处理信息表中,则说明任务调度节点为自身至少配置了处理的用户信息和处理的任务类型中的一种。
S204:根据优先处理信息表,确定自身处理任务的目标任务类型。
任务处理节点的当确认自身的标识信息在优先处理信息表中,可以根据自身的标识信息与处理的任务类型的对应关系,确定自身处理的目标任务类型。例如,根据表1所示,任务处理节点1可以确定自身处理的目标任务类型为任务类型A。
当根据优先处理信息表,任务处理节点所处理的任务类型不在划分的任务类型中,任务处理节点无法确定目标任务类型,则可以将预先设定的任务类型确定为目标任务类型。例如,划分的任务类型有任务类型A和任务类型B,但任务处理节点根据任务处理信息表,确定自身所处理的任务类型为任务类型C,如果任务类型A预先设定的任务类型,则任务处理节点可以将任务类型A确定为自身处理的目标任务类型。
在本发明的一个优选实施例中,在自身的标识信息不在优先处理信息表中的情况下,该方法还可以包括:
将预先设定的任务类型,确定为自身处理任务的目标任务类型。
任务处理节点的标识信息不在优先处理信息表中,说明任务调度节点没有在优先处理信息表中为任务处理节点配置处理的信息,任务调度节点预设设定了任务类型,任务处理节点可以将预先设定的任务类型确定为目标任务类型。预先设定的任务类型可以为划分的任务类型中的任意一种。针对每一标识信息未在优先处理信息系表中的任务处理节点,处理任务的目标任务类型都是预设的任务类型。
在本发明的一个优选实施例中,该方法还可以包括:
将获取的任务的状态设置为正在处理状态。
任务处理节点在获取任务之后,可以设置获取的任务的状态,具体的设置方法可以为:将获取的任务的状态记录为正在处理,设置任务状态,使得任务调度节点可以根据任务的状态确定是否异常任务。示例性的,任务处理节点获取了任务1,记录的信息可以任务1正在处理,该信息可以以表格的形式记录,也可以以文本的形式进行记录,当然,并不仅限于此。需要说明的是,任务处理节点将获取的任务的状态设置为正在处理,此时,获取的任务可以为第一任务。
在实际应用中,任务处理节点在获取任务后,向数据库发送第一任务状态更新通知,数据库接收到第一任务状态更新通知后,将该任务的状态设置为正在处理状态。数据库可以存储所有任务节点中获取的任务的状态,任务调度节点可以在数据库获取所有被处理的任务的状态,而不需要逐个向任务处理节点发送扫描请求,减少了任务调度节点的资源浪费,更加快速地检测到异常任务,可以加快对异常任务的处理,提高了单位时间内对任务的整体处理能力。当任务处理节点存储自身获取的任务的状态时,当任务处理节点不存在时,任务调度节点无法获取该任务处理节点获取了哪些任务,可能会导致这些任务中处于正在处理的任务被搁置,得不到处理,可能会大幅度增加任务的处理时间,降低单位时间内对任务的整体处理能力。
任务处理节点可以根据自身处理的任务的状态以及自身的CPU(CentralProcessing Unit,中央处理器)负载等情况,判断是否继续获取任务,当前正在处理的任务比较多,CPU负载比较多,任务处理节点会暂停获取任务,在部分任务处理完成,CPU负载降低的情况下,任务处理节点可以继续获取任务,这样可以保证任务处理节点的稳定性。
在本发明的一个优选实施例中,该方法还可以包括:在对获取的任务处理完成后,将获取的任务的状态设置为完成状态。
任务处理节点将获取的任务处理完成后,可以将任务的状态设置为完成,任务调度节点扫描处于正在处理状态的第一任务时,如果该任务的任务处理节点不存在了,同时该任务的状态没有更新,该任务会被添加至对应的任务队列,导致了该任务重复被处理,同时浪费了任务调度节点与任务处理节点的资源。为了减少资源的浪费,任务处理节点需要将处理完的任务的状态设置为完成。
在实际应用中,任务处理节点在处理完成任务后,向数据库发送第二任务状态更新通知,数据库接收到第二任务状态更新通知后,将该任务的状态设置为完成状态。任务调度节点在数据库发送读取任务状态的通知,根据数据库反馈的信息,可以确定哪些任务正在处理,哪些任务已经处理完成,根据这些信息,任务调度节点可以更加合理地调度资源。
在本发明的一个优选实施例中,该方法还可以包括:
按照预设的第三时间间隔,检查用于处理任务的进程是否停滞,如果是,关闭进程,并重新开启进程。
任务处理节点会定时检查用于处理任务的进行是否停滞,如果进程停滞,为了减少对任务处理整体时间的影响,需要关闭该进程,重新启动该进程,使得任务处理节点可以正常地处理任务。进程的停滞可能是进程的假死造成的,也可能是其他原因造成的。进程的假死是指进程处于假死状态,不能运行。在实际应用中,当任务是针对视频处理的任务,进程为转码工具的进程。
由上述技术方案可见,在本实施例提供的方案中,根据任务调度节点确定的目标任务类型及任务数量信息表,可以确定获取任务的目标任务队列,在目标任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以在确定的任务队列中获取任务,减少了任务的等待被处理的时间,提高了单位时间内对任务的整体处理能力。
在本发明的另一个具体实施例中,参见图4,提供了任务处理的方法的第三种流程示意图,与图2所示实施例相比,本实施例中,根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列(S201),包括:
S2011:根据自身处理任务的目标任务类型及任务数量信息表,确定目标任务类型对应的任务数量是否为零。
任务处理节点确定目标任务类型对应的任务数量方法为:在任务数量信息表查询目标任务类型对应的任务数量。当目标任务类型对应的任务队列只有一个时,目标任务类型对应的任务数量为该任务队列的任务数量;当目标任务类型对应的任务对应不止一个时,目标任务类型对应的任务数量为所有任务队列的任务总数量,任务处理节点需要轮询目标任务类型对应的队列,确定这些任务队列对应的任务数量是否为零。轮询是依次区查询每个任务队列的任务数量,确定该任务队列的任务数量是否为零。
在实际应用中,当任务处理节点处理的目标任务类型对应的任务总数量为零,或者未在目标任务队列中获取到任务,可以暂停读取任务数量信息表,以减轻任务队列节点的压力。
S2012:将目标任务类型对应的任务队列确定为目标任务队列。
如果目标任务类型对应的任务数量为不为零,说明该任务队列中还存在任务,任务处理节点将该队列确定为目标任务队列。当目标任务类型对应的任务队列存在多个,在这些任务队列中任务数量不为零的任务队列至少两个时,任务处理节点可以随机选择一个任务数量不为零的任务队列作为目标任务队列,也可以根据任务的数量选择一个任务数量不为零的任务队列作为目标任务队列,当然,并不仅限于此。
S2013:根据任务数量信息表及目标任务类型之外的其他任务类型,确定第一任务类型,并将第一任务类型对应的任务队列确定为目标任务队列。
如果目标任务类型对应的任务数量为零,说明该目标任务对应的任务队列中不存在任务,需要根据任务数量信息表将除目标任务类型之外的其他任务类型,确定第一任务类型。当只有两个任务类型时,可以除目标任务类型之外的另一个任务类型确定为第一任务类型;当任务类型存在多个时,且多个任务类型对应的任务数量不为零时,可以在这些任务数量不为零的任务类型中随机选择一个任务类型,选择的任务类型为第一任务类型,也可以根据任务数量选择一个任务数量不为零的任务类型作为第一任务类型,还可以根据任务类型在任务数量信息表中的排序,确定第一任务类型,当然,并不仅限于此。
在实际应用中,如果因为任务数量信息表不是实时更新,可能在任务数量信息表中目标任务队列中存在任务,实际上,目标任务队列中不存在任务,导致任务处理节点在目标任务队列中获取不到任务,任务处理节点可以根据任务数量信息表,在除目标任务类型和第一任务类型之外的其他任务类型,确定获取任务的任务类型,并将确定的任务类型对应的任务队列确定为目标任务队列。任务处理节点在没有获取到任务的情况下,重复上述操作,直至获取到任务。
由上述技术方案可见,在本实施例提供的方案中,根据优先处理表确定目标任务类型,根据确定的目标任务类型及任务数量信息表,先确定目标任务类型对应的任务总数量是否为进而,确定获取任务的目标任务队列,在目标任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以确定获取任务的任务队列并在获取的任务队列中获取任务,减少了任务的等待被处理的时间,提高了单位时间内对任务的整体处理能力。
在本发明的另一个具体实施例中,参见图5,提供了任务处理的方法的第四种流程示意图,与图3所示实施例相比,本实施例中,根据优先处理信息表,确定自身处理任务的目标任务类型(S204),包括:
S2041:根据优先处理信息表,判断是否存在优先处理的用户。
任务处理节点自身的标识信息与处理的用户信息的对应关系,判断是否存在优先处理的用户。在实际应用中,任务处理节点还可以根据优选处理信息表中对自身的标识信息对应的用户信息是否为预设标识,如果用户信息为预设标识,则该任务处理节点存在优先处理的用户,如果否,则任务处理节点不存在优先处理的用户。需要说明的是,预设标识可以是文字、数字、字母其中的任意一种或者这三种的任意组合。例如,预设标识可以true,说明该任务节点存在优先处理用户。
S2042:根据优先处理信息表中记录的信息,确定优先处理用户组及自身处理任务的目标任务类型,其中,优先处理用户组包括至少一个用户。
优先处理用户组是任务调度节点为任务处理节点确定的,用来指示任务处理节点优先处理的用户的集合。任务调度节点可以根据用户的要求,确定任务处理节点优先处理的用户,例如,有些用户对响应时间要求比较高,则任务调度节点会确定多个任务处理节点处理该用户的任务。
需要说明的是,任务处理节点确定自身不存在优先处理的用户,则会返回执行S2011。
本实施例中,根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列(S201),包括:
S2014:根据目标任务类型、任务数量信息表及优先处理用户组,判断优先处理用户组的目标任务类型对应的任务总数量是否为零。
上述表1为例,Node1处理任务的目标任务类型为任务类型A,优先处理用户组包括:用户1、2、3和4,需要判断用户1、2、3和4的任务类型A对应的任务总数量是否为零。
S2015:根据任务数量信息表及优先处理用户组,确定获取任务的第一用户。
在确定用户1、2、3和4的任务类型A对应的任务总数量不为零的情况下,假设,用户1的任务类型A的任务数量为10,用户2的任务类型A的任务数量为0,用户3的任务类型A的任务数量为5,用户4的任务类型A的任务数量为1,用户2不能作为第一用户,用户1、3和4可能被确定为获取任务的第一用户。任务处理节点可以根据用户确定获取任务的第一任务;也可以根据任务的数量确定获取任务的第一任务,可以将用户4确定为获取任务的第一用户,也可以将用户1确定为获取任务的第一用户。确定获取任务的第一用户的方法可以存在很多种,只要能确定获取任务的第一用户即可。
S2016:将第一用户的目标任务类型对应的任务队列,确定为目标任务队列。
假设,确定的第一用户为用户1,则将用户1的任务类型A对应的任务队列,确定为目标任务队列。
S2017:根据任务数量信息表,在目标任务类型之外的其他任务类型中,确定第二任务类型。
在确定用户1、2、3和4的任务类型A对应的任务总数量不为零的情况下,需要根据任务数量信息表确定第二任务类型,假设确定的第二任务类型为任务类型C。
S2018:根据任务数量信息表及优先处理用户组,确定获取任务的第二用户。
需要说明的是,S2018与S2015的区别在于:S2018是在根据任务类型C的任务数量及优先处理用户组确定获取任务的第二用户,S2015是在根据任务类型A的任务数量及优先处理用户组确定获取任务的第一用户。第一用户与第二用户可以为同一个用户,也可以是不同的用户。
S2019:将第二用户的第二任务类型对应的任务队列,确定为目标任务队列。
由上述技术方案可见,在本实施例提供的方案中,先根据优先处理表确定是否存在优先处理用户组,再根据确定的优先处理用户组、确定的目标任务类型及任务数量信息表,确定在哪个用户的哪种任务类型的对应的任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以在公平的基础上,考虑用户的需求,确定获取任务的任务队列并在获取的任务队列中获取任务,减少了特殊需求的用户的等待时间,同时也减少了任务等待被处理的时间,提高了单位时间内对任务的整体处理能力。
下面通过一个具体实例对本发明实施例提供的一种任务处理方法进行说明。
同步节点中存储的优先处理信息表如表1所示,任务队列节点存储的任务数量信息表如表3所示。
表3
A | B | C | D | |
用户1 | 10 | 0 | 1 | 0 |
用户2 | 0 | 0 | 4 | 3 |
用户3 | 5 | 10 | 5 | 5 |
用户4 | 1 | 8 | 0 | 0 |
用户5 | 4 | 7 | 0 | 1 |
用户6 | 3 | 4 | 2 | 1 |
用户7 | 8 | 0 | 4 | 0 |
用户8 | 6 | 0 | 3 | 10 |
在具体实例中,任务是对视频进行处理的任务。在任务处理节点对任务进行处理的时候,任务数量信息表与优先处理信息表都可能被更新,为了更加清楚和便捷的说明本发明实施例提供的任务处理方法,在此优先处理信息表仅以表1为例,任务数量信息表仅以表3为例,对本发明实施例进行说明。
任务调度节点获取的目标任务为任务A,根据现有的任务处理节点处理任务A的处理时间,假设,任务A的处理时间为1秒,确定任务A的任务类型,假设,确定的任务类型的任务类型为任务类型B,进一步的,任务调度节点可以识别任务A的用户,假设用户1,任务调度节点向任务队列节点发送任务A,任务队列节点将任务A添加至用户1的任务类型B对应的任务队列,同时任务调度节点在第一线程针对任务数量信息表为可写入的状态下,通过调用第一线程向任务队列节点发送针对任务数量信息表的更新请求,任务队列节点接收更新请求后,更新后任务数量信息表如表4所示。
表4
A | B | C | D | |
用户1 | 11 | 0 | 1 | 0 |
用户2 | 0 | 0 | 4 | 3 |
用户3 | 5 | 10 | 5 | 5 |
用户4 | 1 | 8 | 0 | 0 |
用户5 | 4 | 7 | 0 | 1 |
用户6 | 3 | 4 | 2 | 1 |
用户7 | 8 | 0 | 4 | 0 |
用户8 | 6 | 0 | 3 | 10 |
在任务调度节点获取任务类型A的同时,以表1为例,Node1可以自身保存的优先处理信息表,确定自身的标识信息是否在优先处理信息表中,Node1的标识信息在优先处理信息表中,需要进一步地确定自身是否存在优先处理用户组,Node1存在优先用户组,且优先处理用户组包括用户1、2、3和4,Node1的目标任务类型为任务类型A。Node1根据读取到的任务数量信息表确定用户1、2、3和4的任务类型对应的任务总数量不为零,假设此时任务数量信息表没有更新,根据表3确定第一用户为用户1,则Node1向任务队列节点发送获取用户1的任务类型A的请求,假设,Node1接收任务队列节点发送的任务B,调用本地转码工具对视频进行处理。Node1在获取任务B后,向数据库发送针对任务B的第一任务状态更新通知,数据库将任务B的状态设置为正在处理。当Node2处理完成任务B后,向数据库发送针对任务B的第二任务状态更新通知,数据库将任务B的状态设置为完成。Node1在对任务B进行处理的同时,监听到同步节点中的优先处理信息表发生改变,同步存储改变后的优先处理信息表。
如果Node1优先用户组的任务类型A对应的任务总数量为零,可以根据表1和表3,确定第二任务类型,假设为任务类型C,确定的第二用户为用户3,则Node1向任务队列节点发送从用户3的任务类型C对应的任务队列获取任务的请求,Node1接收任务队列节点发送的任务,调用本地转码工具对视频进行处理。如果Node1定时启进程检查,在确定本地转码工具的进行停滞后,关闭该进程,重启开始本地转码工具的进程,对获取的任务进行处理。
根据表1,Node2的标识信息在优先处理信息表中,Node1不存在优先处理用户组,目标任务类型为任务类型B,即Node2读取到的根据任务数量信息表确定用户1-8的任务类型B对应的任务总数量不为零,Node2确定的第一用户为用户3,则Node2向任务队列节点发送从用户3的任务类型B对应的任务队列获取任务的请求,Node2接收任务队列节点发送的任务,调用本地转码工具对视频进行处理。
根据表1,Node6的标识信息不在优先处理信息表中,假设预先设定的任务类型为任务类型D,Node6将任务类型D确定为目标任务类型,任务类型D对应的任务总数量不为零,将任务类型D对应的任务队列确定为目标任务队列,在本具体实例中,任务类型对应的任务队列为5个,需要在这5个任务队列中确定一个获取任务的队列,即需要确定第一用户,确定的第一用户为用户8,则Node1向任务队列节点发送从用户8的任务类型D对应的任务队列获取任务的请求,Node6接收任务队列节点发送的任务,调用本地转码工具对视频进行处理。
任务调度节点可以在对获取任务A的同时,广播报文,Node1-4存在于任务处理系统中,Node1会向任务调度节点发送响应报文,Node5出现故障,不会响应任务调度节点发送的报文。当任务调度节点向数据库发送向数据库发送针对第一任务的扫描通知,根据接收数据库发送的第一任务的信息后,在确定处理第一任务的Node5不存在的情况下,向数据库发送删除Node5正在处理的任务的状态删除通知。
任务调度节点定时对各个任务队列进行扫描,根据扫描的结果,任务调度节点在第一线程针对任务数量信息表为可写入的状态下,通过调用第二线程向任务队列节点发送针对任务数量信息表的更新请求,任务队列节点接收更新请求后,更新任务数量信息表,更新后的任务数量信息表可以如表5所示。
表5
A | B | C | D | |
用户1 | 5 | 0 | 0 | 1 |
用户2 | 0 | 0 | 4 | 4 |
用户3 | 2 | 7 | 5 | 5 |
用户4 | 1 | 2 | 3 | 0 |
用户5 | 4 | 7 | 0 | 1 |
用户6 | 3 | 4 | 2 | 1 |
用户7 | 5 | 0 | 4 | 0 |
用户8 | 2 | 1 | 3 | 10 |
相应于上述方法实施例,本发明实施例还提供了一种任务处理装置。
与图1所示的方法实施例相对应,图6为本发明实施例提供的任务处理装置的第一种结构示意图,该装置应用于任务调度节点,包括:第一获取模块601,第一确定模块602,添加模块603。
其中,第一获取模块601,用于获取目标任务;
第一确定模块602,用于估算处理目标任务的处理时间,根据处理时间,确定目标任务的任务类型;
添加模块603,用于将目标任务添加至任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在目标任务队列中获取任务,对所获取的任务进行处理,其中,目标任务类型是由任务调度节点确定的,任务数量信息表由任务调度节点配置,用于存储各个任务队列的任务数量。
在一种具体实施例中,添加模块603,可以用于:
根据任务类型及目标任务的目标用户,将目标任务添加至目标用户对应的任务队列。
在本发明的一个优选实施例中,目标任务类型是从任务调度节点存储的优先处理信息表中获得的,其中,优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系;
该装置还可以包括:第一更新模块(图中未示出)。
其中,第一更新模块,用于在检测到至少一种以下情况时,更新优先处理信息表:
新增任务处理节点;
更新任一任务处理节点处理的用户信息;
更新任一任务处理节点处理的任务类型。
在本发明的一个优选实施例中,装置还可以包括:第二更新模块(图中未示出)。
第二更新模块,用于设置任务数量信息表针对第一线程为可写入状态,设置任务数量信息表针对除第一线程之外的其他线程为不可写入状态,通过调用第一线程更新任务数量信息表,设置更新后的任务数量信息表针对第一线程为不可写入状态。
在本发明的一个优选实施例中,该装置还可以包括:第一扫描模块和第三更新模块(图中为示出)。
第一扫描模块,用于按照预设的第一时间间隔扫描各个任务队列的队列长度;
第三更新模块,用于根据扫描的结果,更新任务数量信息表。
在一种具体实施例中,第三更新模块,可以用于:
设置任务数量信息表针对第二线程为可写入状态,设置任务数量信息表针对除第二线程之外的其他线程为不可写入状态,通过调用第二线程根据扫描结果并根据扫描结果更新任务数量信息表;
设置更新后的任务数量信息表针对第二线程为不可写入状态。
在本发明的一个优选实施例中,该装置还可以包括:第二扫描模块和删除模块(图中为示出)。
第二扫描模块,用于按照预设的第二时间间隔,扫描处于正在处理状态的第一任务;
删除模块,用于在确定处理第一任务的任务处理节点不存在的情况下,删除第一任务的状态,并将第一任务添加至第一任务对应的任务队列。
由上述技术方案可见,本发明实施例所提供的方案中,获取目标任务后,估算处理目标任务的处理时间,根据处理时间,确定目标任务的任务类型,将目标任务添加至任务类型对应的任务队列,同现有技术相比,对获取的任务进行分类,添加至对应的任务队列,可以在一定程度上减少任务的等待时间,从而提高了单位时间内对任务的整体处理能力。
与图2所示的方法实施例相对应,图7为本发明实施例提供的任务处理装置的第二种结构示意图,该装置应用于任务处理节点,包括:第二确定模块701和第二获取模块702。
第一确定模块701,用于根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,目标任务类型是由任务调度节点确定的,任务数量信息表由任务调度节点配置的,存储各个任务队列的任务数量的信息,任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由任务调度节点估算任务的处理时间并根据处理时间确定的;
第二获取模块702,用于在目标任务队列中获取任务,对所获取的任务进行处理。
在本发明的一个优选实施例中,该装置还可以包括:设置模块(图中为示出)。
设置模块,用于将获取的任务的状态设置为正在处理状态。
在本发明的一个优选实施例中,设置模块,还可以用于:
在对获取的任务处理完成后,将获取的任务的状态设置为完成状态。
在本发明的一个优选实施例中,该装置还可以包括:进程检查模块(图中为示出)。
进程检查模块,用于按照预设的第三时间间隔,检查用于处理任务的进程是否停滞,如果是,关闭进程,并重新开启进程。
由上述技术方案可见,在本实施例提供的方案中,根据任务调度节点确定的目标任务类型及任务数量信息表,可以确定获取任务的目标任务队列,在目标任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以在确定的任务队列中获取任务,减少了任务的等待被处理的时间,提高了单位时间内对任务的整体处理能力。
与图3所示的方法实施例相对应,图8为本发明实施例提供的任务处理装置的第三种结构示意图,该装置应用于任务处理节点,还可以包括:第三确定模块703和第四确定模块704。
第三确定模块703,用于确定自身的标识信息是否在优先处理信息表中,其中,优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系;
第四确定模块704,用于在标识信息确定模块的确定结果为是的情况下,根据优先处理信息表,确定自身处理任务的目标任务类型。
在本发明的一个优选实施例中,第四确定模块704,还可以用于:
在自身的标识信息不在优先处理信息表中的情况下,将预先设定的任务类型,确定为自身处理任务的目标任务类型。
由上述技术方案可见,在本实施例提供的方案中,根据优先处理表确定目标任务类型,根据确定的目标任务类型及任务数量信息表,可以确定获取任务的目标任务队列,在目标任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以在确定的任务队列中获取任务,减少了任务的等待被处理的时间,提高了单位时间内对任务的整体处理能力。
与图4所示的方法实施例相对应,图9为本发明实施例提供的任务处理装置的第四种结构示意图,该第二确定模块701,可以包括:第一确定单元7011、第二确定单元7012和第三确定单元7013。
第一确定单元7011,用于根据自身处理任务的目标任务类型及任务数量信息表,确定目标任务类型对应的任务数量是否为零;
第二确定单元7012,用于在任务数量确定单元的确定结果为否的情况下,将目标任务类型对应的任务队列确定为目标任务队列;
第三确定单元7013,用于在任务数量确定单元的确定结果为是的情况下,根据任务数量信息表及目标任务类型之外的其他任务类型,确定第一任务类型,并将第一任务类型对应的任务队列确定为目标任务队列。
由上述技术方案可见,在本实施例提供的方案中,根据优先处理表确定目标任务类型,根据确定的目标任务类型及任务数量信息表,先确定目标任务类型对应的任务总数量是否为进而,确定获取任务的目标任务队列,在目标任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以确定获取任务的任务队列并在获取的任务队列中获取任务,减少了任务的等待被处理的时间,提高了单位时间内对任务的整体处理能力。
与图5所示的方法实施例相对应,图10为本发明实施例提供的任务处理装置的第五种结构示意图,该第四确定模块704,可以包括:第四确定单元7041和第五确定单元7042。第二确定模块701,可以包括:第六确定单元7014、第一用户单元7015、第七确定单元7016、第八确定单元7017、第二用户单元7018和第九确定单元7019。第四确定单元7041,用于根据优先处理信息表判断是否存在优先处理的用户;
第五确定单元7042,用于在第四确定单元7041的确定结果为存在的情况下,根据优先处理信息表中记录的信息,确定优先处理用户组及自身处理任务的目标任务类型,其中,优先处理用户组包括至少一个用户;
第六确定单元7014,用于根据目标任务类型、任务数量信息表及优先处理用户组,判断优先处理用户组的目标任务类型对应的任务总数量是否为零;
第一用户单元7015,用于在第六确定单元7014的确定结果为否的情况下,根据任务数量信息表及优先处理用户组,确定获取任务的第一用户;
第七确定单元7016,用于将第一用户的目标任务类型对应的任务队列,确定为目标任务队列;
第八确定单元7017,用于在第六确定单元7014的确定结果为是的情况下,根据任务数量信息表,在目标任务类型之外的其他任务类型中,确定第二任务类型;
第二用户确定单元7018,根据任务数量信息表及优先处理用户组,确定获取任务的第二用户;
第九确定单元7019,用于将第二用户的第二任务类型对应的任务队列,确定为目标任务队列。
由上述技术方案可见,,在本实施例提供的方案中,先根据优先处理表确定是否存在优先处理用户组,再根据确定的优先处理用户组、确定的目标任务类型及任务数量信息表,确定在哪个用户的哪种任务类型的对应的任务队列中获取任务,相较于现有技术中,接收任务调度节点分发的任务,本实施例可以在公平的基础上,考虑用户的需求,确定获取任务的任务队列并在获取的任务队列中获取任务,减少了特殊需求的用户的等待时间,同时也减少了任务等待被处理的时间,提高了单位时间内对任务的整体处理能力。
本发明实施例还提供了一种任务处理系统,参见图11,提供了一种任务处理系统的结构示意图,该系统包括:应用图6任一实施例提供的任务处理的装置的任务调度节点1101和应用图7-图10任一实施提供的任务处理的装置的任务处理节点1102。
其中,任务调度节点1101,用于获取目标任务;估算处理目标任务的处理时间,根据处理时间,确定目标任务的任务类型;将目标任务添加至任务类型对应的任务队列;
任务处理节点1102,用于根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,目标任务类型是由任务调度节点确定的,任务数量信息表由任务调度节点配置的,存储各个任务队列的任务数量的信息,任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由任务调度节点估算任务的处理时间并根据处理时间确定的;在目标任务队列中获取任务,对所获取的任务进行处理。
具体的,任务调度节点1101,具体用于根据任务类型及目标任务的目标用户,将目标任务添加至目标用户对应的任务队列。
具体的,目标任务类型是从任务调度节点存储的优先处理信息表中获得的,其中,优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理任务的目标任务类型之间的对应关系;
任务调度节点1101,还用于:
在检测到至少一种以下情况时,更新优先处理信息表:
新增任务处理节点;
更新任一任务处理节点处理的用户信息;
更新任一任务处理节点处理的任务类型。
具体的,任务调度节点1101,还用于在将目标任务添加至目标用户对应的任务队列之后,设置任务数量信息表针对第一线程为可写入状态,设置任务数量信息表针对除第一线程之外的其他线程为不可写入状态,通过调用第一线程更新任务数量信息表,设置更新后的任务数量信息表针对第一线程为不可写入状态。
具体的,任务调度节点1101,还用于按照预设的第一时间间隔扫描各个任务队列的队列长度;根据扫描的结果,更新任务数量信息表。
具体的,任务调度节点1101,具体用于设置任务数量信息表针对第二线程为可写入状态,设置任务数量信息表针对除第二线程之外的其他线程为不可写入状态,通过调用第二线程根据扫描结果并根据扫描结果更新任务数量信息表;
设置更新后的任务数量信息表针对第二线程为不可写入状态。
具体的,任务调度节点1101,还用于按照预设的第二时间间隔扫描第一任务,其中,第一任务为处于正在处理状态的任务;在确定处理第一任务的任务处理节点不存在的情况下,删除第一任务的状态,并将第一任务添加至第一任务对应的任务队列。
具体的,任务处理节点1102,还用于在根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列之前,确定自身的标识信息是否在优先处理信息表中,其中,优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系;如果是,根据优先处理信息表,确定自身处理任务的目标任务类型。
具体的,任务处理节点1102,还用于在自身的标识信息不在优先处理信息表中的情况下,将预先设定的任务类型,确定为自身处理任务的目标任务类型。
具体的,任务处理节点1102,具体用于根据自身处理任务的目标任务类型及任务数量信息表,确定目标任务类型对应的任务总数量是否为零;如果否,将目标任务类型对应的任务队列确定为目标任务队列;如果是,根据任务数量信息表及目标任务类型之外的其他任务类型,确定第一任务类型,并将第一任务类型对应的任务队列确定为目标任务队列。
具体的,任务处理节点1102,具体用于根据优先处理信息表,判断是否存在优先处理的用户;若存在,根据优先处理信息表中记录的信息,确定优先处理用户组及自身处理任务的目标任务类型,其中,优先处理用户组包括至少一个用户;
根据目标任务类型、任务数量信息表及优先处理用户组,判断优先处理用户组的目标任务类型对应的任务总数量是否为零;如果否,根据任务数量信息表及优先处理用户组,确定获取任务的第一用户;将第一用户的目标任务类型对应的任务队列,确定为目标任务队列;如果是,根据任务数量信息表,在目标任务类型之外的其他任务类型中,确定第二任务类型;根据任务数量信息表及优先处理用户组,确定获取任务的第二用户;将第二用户的第二任务类型对应的任务队列,确定为目标任务队列。
具体的,任务处理节点1102,还用于将获取的任务的状态设置为正在处理状态。
具体的,任务处理节点1102,还用于在对获取的任务处理完成后,将获取的任务的状态设置为完成状态。
具体的,任务处理节点1102,还用于按照预设的第三时间间隔,检查用于处理任务的进程是否停滞,如果是,关闭进程,并重新开启进程。
在本发明的一个优选实施例中,该系统还包括:任务队列节点(图中未示出)。
任务调度节点1101,具体用于向任务队列节点发送目标任务;
任务队列节点,用于接收任务调度节点1101发送的目标任务,并将目标任务添加至任务类型对应的任务队列。
在本发明的一个优选实施例中,任务调度节点1101,还用于向任务队列节点发送针对任务数量信息表的更新请求;
任务队列节点,还用于存储任务数量信息表,接收任务调度节点1101针对任务数量信息表的更新请求,更新自身存储的任务数量信息表。
任务队列节点可以为部署了kafka(卡夫卡)的节点,kafka是一种高吞吐量的分布式发布订阅消息系统,能够同时为发布和订阅提供高吞吐量,也可进行持久化操作。
任务队列节点可以为部署了Redis的节点,Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。API(Application Program Interface,应用程序接口),API是一组定义、程序及协议的集合,通过API实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。API同时也是一种中间件,为不同计算机提供数据共享。在本发明中,任务处理节点1102通过API可以实现与任务调度节点1101、任务队列节点之间的数据共享。
在本发明的一个优选实施例中,该系统还包括:同步节点(图中未示出)。
任务调度节点1101,还用于向同步节点发送针对优先处理信息表的更新请求;
同步节点,还用于存储优先处理信息表,接收任务调度节点1101的发送的针对优先处理信息表的更新请求,更新自身存储的优先处理信息表;
任务调度节点1101,还用于根据同步节点存储的优先处理信息表,同步自身存储的优先处理信息表;
任务处理节点1102,还用于根据同步节点存储的优先处理信息表,同步自身存储的优先处理信息表。
同步节点可以是部署了ZooKeeper的节点。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用系统可以基于它实现同步服务。Zookeeper的核心是原子广播,这个机制保证了任务调度节点与任务处理节点之间的同步。
在本发明的一个优选实施例中,该系统还包括:数据库(图中未示出)。
其中,数据库,用于存储任务的状态;
任务处理节点1102,还用于向数据库发送针对所获取任务的第一任务状态更新通知;
数据库,还用于接收任务处理节点1102发送的第一任务状态更新通知,并更新所获取任务的状态为正在处理状态;
任务处理节点1102,还用于向数据库发送针对所获取任务的第二任务状态更新通知;
数据库,还用于接收任务处理节点1102发送的第二任务状态更新通知,并更新所获取任务的状态为完成状态。
在实际应用中,当任务的数量太多,现有的任务处理节点的数量不能满足需求,任务处理系统会根据需求增加任务书处理节点的数量,新增的任务处理节点向数据库发送注册信息,其中,注册信息可以包括该任务处理的标识信息、软件信息或硬件信息。数据库接收到新增的任务处理节点的注册信息后,该任务处理节点处于激活状态,可以获取任务对获取的任务进行处理。任务调度节点可以根据广播的报文,检测到该任务处理节点,当任务调度节点将该任务处理节点的标识信息添加至优先处理信息表时,该任务处理节点可以根据优先处理信息表确定目标任务类型;当任务调度节点将该任务处理节点的标识信息未添加至优先处理信息表时,该任务处理节点可以预先设定的任务类型确定为目标任务类型。任务处理系统可以根据需求规模大小横向扩展系统的处理能力,使得个任务处理在单位时间内处理更多的任务,从而提高了单位时间内对任务的整体处理能力。
任务处理系统可以根据需求规模大小横向扩展系统的处理能力,使得个任务处理在单位时间内处理更多的任务,从而提高了单位时间内对任务的整体处理能力。
在本发明的一个优选实施例中,任务调度节点1101,还用于向数据库发送针对第一任务的扫描通知;
数据库,还用于接收任务调度节点1101发送的扫描通知,将第一任务的信息发送给任务调度节点1101,其中,第一任务的信息包括:处理第一任务的任务处理节点的标识信息;
任务调度节点1101,还用于接收数据库发送的第一任务的信息后,在确定处理第一任务的任务处理节点不存在的情况下,向数据库发送针对第一任务的状态删除通知;
数据库,还用于接收任务调度节点1101在确定处理第一任务的任务处理节点1102不存在的情况下发送的状态删除通知,删除第一任务的状态。
图12为本发明提供的任务处理系统的具体应用场景的结构示意图,本应用场景是以处理视频任务进行具体说明。
视频处理任务是异步的,任务处理系统属于异步处理系统的一部分,任务处理系统1203通过任务队列节点和http请求的方式与分布式存储系统1201的API和异步任务管理器1202进行交互,任务处理系统1203相对独立,自身的视频处理行为与分布式存储系统1201和异步任务管理器1202耦合度较低。http请求是指从任务处理系统1203到分布式存储系统1201的请求消息。http请求包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。
任务处理整体处理流程如图12所示,用户请求处理分布式存储系统1201中的视频文件,分布式存储系统1201接收到请求后把该任务标记为异步任务,交由异步任务管理器分发至任务队列节点,任务处理系统1203获取到任务后,内部进行处理,期间通过http请求与分布式存储系统1201进行视频文件的读写操作,处理完成后通知异步管理器任务完成的状态。
由上述技术方案可见,本发明实施例所提供的方案中,任务调度节点获取目标任务后,估算处理目标任务的处理时间,根据处理时间,确定目标任务的任务类型,将目标任务添加至任务类型对应的任务队列,同现有技术相比,任务调度节点对获取的任务进行分类,添加至对应的任务队列,可以在一定程度上减少任务的等待时间,从而提高了单位时间内对任务的整体处理能力。
对于装置、系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (36)
1.一种任务处理方法,应用于任务调度节点,所述方法包括:
获取目标任务;
估算处理所述目标任务的处理时间,根据所述处理时间,确定所述目标任务的任务类型;
将所述目标任务添加至所述任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在所述目标任务队列中获取任务,对所获取的任务进行处理,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置,用于存储各个任务队列的任务数量。
2.根据权利要求1所述的方法,其特征在于,将所述目标任务添加至所述任务类型对应的任务队列,包括:
根据所述任务类型及所述目标任务的目标用户,将所述目标任务添加至所述目标用户对应的任务队列。
3.根据权利要求2所述的方法,其特征在于,
所述目标任务类型是从所述任务调度节点存储的优先处理信息表中获得的,其中,所述优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理任务的目标任务类型之间的对应关系;
所述方法还包括:
在检测到至少一种以下情况时,更新所述优先处理信息表:
新增任务处理节点;
更新任一任务处理节点处理的用户信息;
更新任一任务处理节点处理的任务类型。
4.根据权利要求2所述的方法,其特征在于,在所述将所述目标任务添加至所述目标用户对应的任务队列之后,所述方法还包括:
设置所述任务数量信息表针对第一线程为可写入状态,设置所述任务数量信息表针对除所述第一线程之外的其他线程为不可写入状态,通过调用所述第一线程更新所述任务数量信息表,设置更新后的任务数量信息表针对所述第一线程为不可写入状态。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设的第一时间间隔扫描各个任务队列的队列长度;
根据扫描的结果,更新所述任务数量信息表。
6.根据权利要求5所述的方法,其特征在于,所述根据扫描的结果,更新所述任务数量信息表,包括:
设置所述任务数量信息表针对第二线程为可写入状态,设置所述任务数量信息表针对除所述第二线程之外的其他线程为不可写入状态,通过调用所述第二线程根据扫描结果并根据扫描结果更新所述任务数量信息表;
设置更新后的任务数量信息表针对所述第二线程为不可写入状态。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设的第二时间间隔扫描第一任务,其中,所述第一任务为处于正在处理状态的任务;
在确定处理所述第一任务的任务处理节点不存在的情况下,删除所述第一任务的状态,并将所述第一任务添加至所述第一任务对应的任务队列。
8.一种任务处理方法,应用于任务处理节点,其特征在于,所述方法包括:
根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置的,存储各个任务队列的任务数量的信息,所述任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由所述任务调度节点估算任务的处理时间并根据所述处理时间确定的;
在所述目标任务队列中获取任务,对所获取的任务进行处理。
9.根据权利要求8所述的方法,其特征在于,在所述根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列之前,所述方法还包括:
确定自身的标识信息是否在优先处理信息表中,其中,所述优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系;
如果是,根据所述优先处理信息表,确定自身处理任务的目标任务类型。
10.根据权利要求9所述的方法,其特征在于,在自身的标识信息不在所述优先处理信息表中的情况下,所述方法还包括:
将预先设定的任务类型,确定为自身处理任务的目标任务类型。
11.根据权利要求8~10任一项所述的方法,其特征在于,所述根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,包括:
根据自身处理任务的目标任务类型及任务数量信息表,确定所述目标任务类型对应的任务总数量是否为零;
如果否,将所述目标任务类型对应的任务队列确定为目标任务队列;
如果是,根据所述任务数量信息表及所述目标任务类型之外的其他任务类型,确定第一任务类型,并将所述第一任务类型对应的任务队列确定为目标任务队列。
12.根据要求9所述的方法,其特征在于,所述根据所述优先处理信息表,确定自身处理任务的目标任务类型,包括:
根据所述优先处理信息表,判断是否存在优先处理的用户;
若存在,根据所述优先处理信息表中记录的信息,确定优先处理用户组及自身处理任务的目标任务类型,其中,所述优先处理用户组包括至少一个用户;
所述根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,包括:
根据所述目标任务类型、所述任务数量信息表及所述优先处理用户组,判断优先处理用户组的目标任务类型对应的任务总数量是否为零;
如果否,根据所述任务数量信息表及所述优先处理用户组,确定获取任务的第一用户;将所述第一用户的目标任务类型对应的任务队列,确定为目标任务队列;
如果是,根据所述任务数量信息表,在所述目标任务类型之外的其他任务类型中,确定第二任务类型;根据所述任务数量信息表及所述优先处理用户组,确定获取任务的第二用户;将所述第二用户的第二任务类型对应的任务队列,确定为目标任务队列。
13.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
将获取的任务的状态设置为正在处理状态。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在对获取的任务处理完成后,将获取的任务的状态设置为完成状态。
15.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
按照预设的第三时间间隔,检查用于处理任务的进程是否停滞,如果是,关闭所述进程,并重新开启所述进程。
16.一种任务处理装置,应用于任务调度节点,所述装置包括:
第一获取模块,用于获取目标任务;
第一确定模块,用于估算处理所述目标任务的处理时间,根据所述处理时间,确定所述目标任务的任务类型;
添加模块,用于将所述目标任务添加至所述任务类型对应的任务队列,以使每个任务处理节点根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列;在所述目标任务队列中获取任务,对所获取的任务进行处理,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置,用于存储各个任务队列的任务数量。
17.根据权利要求16所述的装置,其特征在于,所述添加模块,用于:
根据所述任务类型及所述目标任务的目标用户,将所述目标任务添加至所述目标用户对应的任务队列。
18.根据权利要求17所述的装置,其特征在于,
所述目标任务类型是从所述任务调度节点提供的优先处理信息表中获得的,其中,所述优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系;
所述装置还包括:
第一更新模块,用于在检测到至少一种以下情况时,更新所述优先处理信息表:
新增任务处理节点;
更新任一任务处理节点处理的用户信息;
更新任一任务处理节点处理的任务类型。
19.根据权利要求17所述的装置,其特征在于,所述装置还包括:
第二更新模块,用于设置所述任务数量信息表针对第一线程为可写入状态,设置所述任务数量信息表针对除所述第一线程之外的其他线程为不可写入状态,通过调用所述第一线程更新所述任务数量信息表,设置更新后的任务数量信息表针对所述第一线程为不可写入状态。
20.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第一扫描模块,用于按照预设的第一时间间隔扫描各个任务队列的队列长度;
第三更新模块,用于根据扫描的结果,更新所述任务数量信息表。
21.根据权利要求20所述的方法,其特征在于,所述第三更新模块,用于:
设置所述任务数量信息表针对第二线程为可写入状态,设置所述任务数量信息表针对除所述第二线程之外的其他线程为不可写入状态,通过调用所述第二线程根据扫描结果并根据扫描结果更新所述任务数量信息表;
设置更新后的任务数量信息表针对所述第二线程为不可写入状态。
22.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第二扫描模块,用于按照预设的第二时间间隔,扫描处于正在处理状态的第一任务;
删除模块,用于在确定处理所述第一任务的任务处理节点不存在的情况下,删除所述第一任务的状态,并将所述第一任务添加至所述第一任务对应的任务队列。
23.一种任务处理装置,应用于任务处理节点,其特征在于,所述装置包括:
第二确定模块,用于根据自身处理任务的目标任务类型及任务数量信息表,从所有任务队列中确定目标任务队列,其中,所述目标任务类型是由所述任务调度节点确定的,所述任务数量信息表由所述任务调度节点配置的,存储各个任务队列的任务数量的信息,所述任务队列包含的任务是由任务调度节点根据任务的任务类型确定的,任务的任务类型由所述任务调度节点估算任务的处理时间并根据所述处理时间确定的;
第二获取模块,用于在所述目标任务队列中获取任务,对所获取的任务进行处理。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于确定自身的标识信息是否在优先处理信息表中,其中,所述优先处理信息表用于存储任务处理节点的标识信息、处理的用户信息及处理的任务类型之间的对应关系;
第四确定模块,用于在所述第三确定模块的确定结果为是的情况下,根据所述优先处理信息表,确定自身处理任务的目标任务类型。
25.根据权利要求24所述的装置,其特征在于,所述第四确定模块,还用于:
在自身的标识信息不在优先处理信息表中的情况下,将预先设定的任务类型,确定为自身处理任务的目标任务类型。
26.根据权利要求23~25任一项所述的装置,其特征在于,所述第二确定模块,包括:
第一确定单元,用于根据自身处理任务的目标任务类型及任务数量信息表,确定所述目标任务类型对应的任务数量是否为零;
第二确定单元,用于在所述第一确定单元的确定结果为否的情况下,将所述目标任务类型对应的任务队列确定为目标任务队列;
第三确定单元,用于在所述第一确定单元的确定结果为是的情况下,根据所述任务数量信息表及所述目标任务类型之外的其他任务类型,确定第一任务类型,并将所述第一任务类型对应的任务队列确定为目标任务队列。
27.根据要求24所述的装置,其特征在于,所述第四确定模块,包括:
第四确定单元,用于根据所述优先处理信息表判断是否存在优先处理的用户;
第五确定单元,用于在所述第四确定单元的确定结果为存在的情况下,根据所述优先处理信息表中记录的信息,确定优先处理用户组及自身处理任务的目标任务类型,其中,所述优先处理用户组包括至少一个用户;
所述第二确定模块,包括:
第六确定单元,用于根据所述目标任务类型、所述任务数量信息表及所述优先处理用户组,判断优先处理用户组的目标任务类型对应的任务总数量是否为零;
第一用户单元,用于在所述第六确定单元的确定结果为否的情况下,根据所述任务数量信息表及所述优先处理用户组,确定获取任务的第一用户;
第七确定单元,用于将所述第一用户的目标任务类型对应的任务队列,确定为目标任务队列;
第八确定单元,用于在所述第六确定单元的确定结果为是的情况下,根据所述任务数量信息表,在所述目标任务类型之外的其他任务类型中,确定第二任务类型;
第二用户确定单元,根据所述任务数量信息表及所述优先处理用户组,确定获取任务的第二用户;
第九确定单元,用于将所述第二用户的第二任务类型对应的任务队列,确定为目标任务队列。
28.根据权利要求23或24所述的装置,其特征在于,所述装置还包括:
设置模块,用于将获取的任务的状态设置为正在处理状态。
29.根据权利要求28所述的装置,其特征在于,所述设置模块,还用于:
在对获取的任务处理完成后,将获取的任务的状态设置为完成状态。
30.根据权利要求23或24所述的装置,其特征在于,所述装置还包括:
进程检查模块,用于按照预设的第三时间间隔,检查用于处理任务的进程是否停滞,如果是,关闭所述进程,并重新开启所述进程。
31.一种任务处理系统,其特征在于,所述系统包括:
一个应用权利要求16至权利要求22中任一项所述的任务处理装置的任务调度节点、至少一个应用权利要求23至权利要求30中任一项所述的任务处理装置的任务处理节点。
32.根据权利要求31所述的系统,其特征在于,所述系统还包括:任务队列节点;
所述任务调度节点,具体用于向所述任务队列节点发送所述目标任务;
所述任务队列节点,用于接收所述任务调度节点发送的所述目标任务,并将所述目标任务添加至所述任务类型对应的任务队列。
33.根据权利要求32所述的系统,其特征在于,
所述任务调度节点,还用于向所述任务队列节点发送针对任务数量信息表的更新请求;
所述任务队列节点,还用于存储所述任务数量信息表,接收所述任务调度节点针对所述任务数量信息表的更新请求,更新自身存储的任务数量信息表。
34.根据权利要求31-33中任一项所述的系统,其特征在于,所述系统还包括:同步节点;
所述任务调度节点,还用于向所述同步节点发送针对优先处理信息表的更新请求;
所述同步节点,还用于存储所述优先处理信息表,接收所述任务调度节点的发送的针对优先处理信息表的更新请求,更新自身存储的优先处理信息表;
所述任务调度节点,还用于根据所述同步节点存储的所述优先处理信息表,同步自身存储的所述优先处理信息表;
所述任务处理节点,还用于根据所述同步节点存储的所述优先处理信息表,同步自身存储的所述优先处理信息表。
35.根据权利要求31-33中任一项所述的系统,其特征在于,所述系统还包括:数据库;
其中,所述数据库,用于存储任务的状态;
所述任务处理节点,还用于向所述数据库发送针对所获取任务的第一任务状态更新通知;
所述数据库,还用于接收所述任务处理节点发送的所述第一任务状态更新通知,并更新所获取任务的状态为正在处理状态;
所述任务处理节点,还用于向所述数据库发送针对所获取任务的第二任务状态更新通知;
所述数据库,还用于接收所述任务处理节点发送的所述第二任务状态更新通知,并更新所获取任务的状态为完成状态。
36.根据权利要求35所述的系统,其特征在于,
所述任务调度节点,还用于向所述数据库发送针对第一任务的扫描通知;
所述数据库,还用于接收所述任务调度节点发送的扫描通知,将所述第一任务的信息发送给所述任务调度节点,其中,所述第一任务的信息包括:处理所述第一任务的任务处理节点的标识信息;
所述任务调度节点,还用于接收所述数据库发送的第一任务的信息后,在确定处理所述第一任务的任务处理节点不存在的情况下,向所述数据库发送针对第一任务的状态删除通知;
所述数据库,还用于接收所述任务调度节点在确定处理所述第一任务的任务处理节点不存在的情况下,发送的状态删除通知,删除所述第一任务的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610681355.0A CN107766129B (zh) | 2016-08-17 | 2016-08-17 | 一种任务处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610681355.0A CN107766129B (zh) | 2016-08-17 | 2016-08-17 | 一种任务处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766129A true CN107766129A (zh) | 2018-03-06 |
CN107766129B CN107766129B (zh) | 2021-04-16 |
Family
ID=61260464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610681355.0A Active CN107766129B (zh) | 2016-08-17 | 2016-08-17 | 一种任务处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766129B (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762910A (zh) * | 2018-06-06 | 2018-11-06 | 亚信科技(中国)有限公司 | 一种分布式任务调度方法及系统 |
CN108829709A (zh) * | 2018-05-03 | 2018-11-16 | 广州金山安全管理系统技术有限公司 | 分布式数据库管理方法、装置、存储介质和处理器 |
CN109214132A (zh) * | 2018-10-30 | 2019-01-15 | 中国运载火箭技术研究院 | 一种面向lvc仿真的非耦合流式大通量异步任务处理系统 |
CN109343972A (zh) * | 2018-08-21 | 2019-02-15 | 平安科技(深圳)有限公司 | 任务处理方法及终端设备 |
CN109358602A (zh) * | 2018-10-23 | 2019-02-19 | 山东中创软件商用中间件股份有限公司 | 一种故障分析方法、装置及相关设备 |
CN109445954A (zh) * | 2018-09-11 | 2019-03-08 | 百富计算机技术(深圳)有限公司 | 一种定时任务的执行方法、终端设备及存储介质 |
CN109471707A (zh) * | 2018-10-12 | 2019-03-15 | 传化智联股份有限公司 | 调度任务的部署方法及装置 |
CN109684063A (zh) * | 2018-12-26 | 2019-04-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN110110306A (zh) * | 2019-04-12 | 2019-08-09 | 平安医疗健康管理股份有限公司 | 数据展示方法、装置、终端及计算机可读存储介质 |
CN110287033A (zh) * | 2019-07-03 | 2019-09-27 | 网易(杭州)网络有限公司 | 批量任务处理方法、装置、系统、设备和可读存储介质 |
CN110377486A (zh) * | 2019-07-09 | 2019-10-25 | 福建南威软件有限公司 | 基于 kafka 实现稳定的高吞吐量的异步任务处理方法 |
CN110442440A (zh) * | 2019-08-05 | 2019-11-12 | 中国工商银行股份有限公司 | 一种异步任务处理方法及装置 |
CN110780937A (zh) * | 2019-09-16 | 2020-02-11 | 腾讯大地通途(北京)科技有限公司 | 任务发布方法、装置、计算机可读存储介质及设备 |
CN111274032A (zh) * | 2020-01-17 | 2020-06-12 | Oppo广东移动通信有限公司 | 任务处理系统及方法、存储介质 |
CN111381972A (zh) * | 2018-12-27 | 2020-07-07 | 北京奇虎科技有限公司 | 分布式任务调度方法、装置和系统 |
CN111404831A (zh) * | 2020-03-19 | 2020-07-10 | 重庆富民银行股份有限公司 | 用于风控系统处理性能的提升方法及系统 |
CN111491015A (zh) * | 2020-03-31 | 2020-08-04 | 北京金山云网络技术有限公司 | 预热任务处理方法及系统、代理服务器、服务中心 |
CN111522641A (zh) * | 2020-04-21 | 2020-08-11 | 北京嘀嘀无限科技发展有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN111582629A (zh) * | 2020-03-24 | 2020-08-25 | 青岛奥利普自动化控制系统有限公司 | 资源调度方法、装置、设备和存储介质 |
CN112231114A (zh) * | 2020-09-22 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 一种事件处理方法及相关设备 |
CN112288198A (zh) * | 2019-07-22 | 2021-01-29 | 北京车和家信息技术有限公司 | 任务处理系统及方法 |
CN112527525A (zh) * | 2020-12-11 | 2021-03-19 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112527489A (zh) * | 2020-12-22 | 2021-03-19 | 税友软件集团股份有限公司 | 一种任务调度方法、装置、设备及计算机可读存储介质 |
CN112579281A (zh) * | 2019-09-27 | 2021-03-30 | 杭州海康威视数字技术股份有限公司 | 资源分配方法、装置、电子设备及存储介质 |
CN112822188A (zh) * | 2020-12-31 | 2021-05-18 | 北京睿芯高通量科技有限公司 | 一种分布式转码系统中监控转码任务状态的方法及装置 |
CN113010289A (zh) * | 2021-03-17 | 2021-06-22 | 杭州遥望网络科技有限公司 | 一种任务调度方法、装置和系统 |
CN113313600A (zh) * | 2020-02-26 | 2021-08-27 | 京东数字科技控股股份有限公司 | 消息的处理方法、装置及系统、存储介质、电子装置 |
CN113703933A (zh) * | 2020-05-22 | 2021-11-26 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN113760494A (zh) * | 2020-11-23 | 2021-12-07 | 北京京东振世信息技术有限公司 | 任务调度方法和装置 |
CN113784176A (zh) * | 2021-11-12 | 2021-12-10 | 南京未来网络产业创新有限公司 | 一种云视频平台智能处理方法和系统 |
CN113835862A (zh) * | 2021-09-26 | 2021-12-24 | 中国联合网络通信集团有限公司 | 任务处理方法及装置 |
CN115114106A (zh) * | 2021-03-23 | 2022-09-27 | 中国移动通信集团河南有限公司 | 一种出账任务处理方法、装置及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120661A1 (en) * | 2000-06-02 | 2002-08-29 | Binns Pamela A. | Methods and apparatus for sharing slack in a time-partitioned system |
CN101576831A (zh) * | 2008-05-07 | 2009-11-11 | 万德洪 | 一种分布式计算系统及实现方法 |
CN101821728A (zh) * | 2008-10-15 | 2010-09-01 | 甲骨文国际公司 | 批处理系统 |
EP2477112A1 (en) * | 2010-12-29 | 2012-07-18 | Basque Center for Applied Mathematics | Method for efficient scheduling in a resource-sharing system |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
CN103488691A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 任务调度装置和任务调度方法 |
CN103765384A (zh) * | 2011-09-02 | 2014-04-30 | 飞思卡尔半导体公司 | 数据处理系统和在数据处理系统中进行任务调度的方法 |
US20150026693A1 (en) * | 2013-07-22 | 2015-01-22 | Fujitsu Limited | Information processing apparatus and job scheduling method |
CN104317653A (zh) * | 2014-10-27 | 2015-01-28 | 浪潮(北京)电子信息产业有限公司 | 加速短作业处理的调度方法和装置 |
US20150085314A1 (en) * | 2013-09-25 | 2015-03-26 | Riso Kagaku Corporation | Image forming device |
-
2016
- 2016-08-17 CN CN201610681355.0A patent/CN107766129B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120661A1 (en) * | 2000-06-02 | 2002-08-29 | Binns Pamela A. | Methods and apparatus for sharing slack in a time-partitioned system |
CN101576831A (zh) * | 2008-05-07 | 2009-11-11 | 万德洪 | 一种分布式计算系统及实现方法 |
CN101821728A (zh) * | 2008-10-15 | 2010-09-01 | 甲骨文国际公司 | 批处理系统 |
EP2477112A1 (en) * | 2010-12-29 | 2012-07-18 | Basque Center for Applied Mathematics | Method for efficient scheduling in a resource-sharing system |
CN103765384A (zh) * | 2011-09-02 | 2014-04-30 | 飞思卡尔半导体公司 | 数据处理系统和在数据处理系统中进行任务调度的方法 |
CN102902573A (zh) * | 2012-09-20 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | 一种基于共享资源的任务的处理方法及装置 |
US20150026693A1 (en) * | 2013-07-22 | 2015-01-22 | Fujitsu Limited | Information processing apparatus and job scheduling method |
CN103488691A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 任务调度装置和任务调度方法 |
US20150085314A1 (en) * | 2013-09-25 | 2015-03-26 | Riso Kagaku Corporation | Image forming device |
CN104317653A (zh) * | 2014-10-27 | 2015-01-28 | 浪潮(北京)电子信息产业有限公司 | 加速短作业处理的调度方法和装置 |
Non-Patent Citations (2)
Title |
---|
XINYAN LI等: ""Research and Improvement of Real-Time Queue Scheduling Algorithm"", 《2010 INTERNATIONAL FORUM ON INFORMATION TECHNOLOGY AND APPLICATIONS》 * |
索东: ""云计算环境下调度算法的分析与优化"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829709A (zh) * | 2018-05-03 | 2018-11-16 | 广州金山安全管理系统技术有限公司 | 分布式数据库管理方法、装置、存储介质和处理器 |
CN108762910A (zh) * | 2018-06-06 | 2018-11-06 | 亚信科技(中国)有限公司 | 一种分布式任务调度方法及系统 |
CN109343972A (zh) * | 2018-08-21 | 2019-02-15 | 平安科技(深圳)有限公司 | 任务处理方法及终端设备 |
CN109343972B (zh) * | 2018-08-21 | 2023-04-14 | 平安科技(深圳)有限公司 | 任务处理方法及终端设备 |
CN109445954A (zh) * | 2018-09-11 | 2019-03-08 | 百富计算机技术(深圳)有限公司 | 一种定时任务的执行方法、终端设备及存储介质 |
CN109471707A (zh) * | 2018-10-12 | 2019-03-15 | 传化智联股份有限公司 | 调度任务的部署方法及装置 |
CN109358602A (zh) * | 2018-10-23 | 2019-02-19 | 山东中创软件商用中间件股份有限公司 | 一种故障分析方法、装置及相关设备 |
CN109214132A (zh) * | 2018-10-30 | 2019-01-15 | 中国运载火箭技术研究院 | 一种面向lvc仿真的非耦合流式大通量异步任务处理系统 |
CN109214132B (zh) * | 2018-10-30 | 2023-06-30 | 中国运载火箭技术研究院 | 一种面向lvc仿真的非耦合流式大通量异步任务处理系统 |
CN109684063A (zh) * | 2018-12-26 | 2019-04-26 | 亚信科技(中国)有限公司 | 一种任务调度方法和装置 |
CN111381972B (zh) * | 2018-12-27 | 2024-02-06 | 三六零科技集团有限公司 | 分布式任务调度方法、装置和系统 |
CN111381972A (zh) * | 2018-12-27 | 2020-07-07 | 北京奇虎科技有限公司 | 分布式任务调度方法、装置和系统 |
CN110110306A (zh) * | 2019-04-12 | 2019-08-09 | 平安医疗健康管理股份有限公司 | 数据展示方法、装置、终端及计算机可读存储介质 |
CN110287033A (zh) * | 2019-07-03 | 2019-09-27 | 网易(杭州)网络有限公司 | 批量任务处理方法、装置、系统、设备和可读存储介质 |
CN110377486A (zh) * | 2019-07-09 | 2019-10-25 | 福建南威软件有限公司 | 基于 kafka 实现稳定的高吞吐量的异步任务处理方法 |
CN110377486B (zh) * | 2019-07-09 | 2022-07-08 | 福建南威软件有限公司 | 基于kafka实现稳定的高吞吐量的异步任务处理方法 |
CN112288198A (zh) * | 2019-07-22 | 2021-01-29 | 北京车和家信息技术有限公司 | 任务处理系统及方法 |
CN110442440A (zh) * | 2019-08-05 | 2019-11-12 | 中国工商银行股份有限公司 | 一种异步任务处理方法及装置 |
CN110780937B (zh) * | 2019-09-16 | 2023-12-08 | 腾讯大地通途(北京)科技有限公司 | 任务发布方法、装置、计算机可读存储介质及设备 |
CN110780937A (zh) * | 2019-09-16 | 2020-02-11 | 腾讯大地通途(北京)科技有限公司 | 任务发布方法、装置、计算机可读存储介质及设备 |
CN112579281B (zh) * | 2019-09-27 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 资源分配方法、装置、电子设备及存储介质 |
CN112579281A (zh) * | 2019-09-27 | 2021-03-30 | 杭州海康威视数字技术股份有限公司 | 资源分配方法、装置、电子设备及存储介质 |
CN111274032A (zh) * | 2020-01-17 | 2020-06-12 | Oppo广东移动通信有限公司 | 任务处理系统及方法、存储介质 |
CN111274032B (zh) * | 2020-01-17 | 2024-04-30 | Oppo广东移动通信有限公司 | 任务处理系统及方法、存储介质 |
CN113313600A (zh) * | 2020-02-26 | 2021-08-27 | 京东数字科技控股股份有限公司 | 消息的处理方法、装置及系统、存储介质、电子装置 |
CN113313600B (zh) * | 2020-02-26 | 2024-05-17 | 京东科技控股股份有限公司 | 消息的处理方法、装置及系统、存储介质、电子装置 |
CN111404831A (zh) * | 2020-03-19 | 2020-07-10 | 重庆富民银行股份有限公司 | 用于风控系统处理性能的提升方法及系统 |
CN111582629A (zh) * | 2020-03-24 | 2020-08-25 | 青岛奥利普自动化控制系统有限公司 | 资源调度方法、装置、设备和存储介质 |
CN111582629B (zh) * | 2020-03-24 | 2023-11-17 | 青岛奥利普奇智智能工业技术有限公司 | 资源调度方法、装置、设备和存储介质 |
CN111491015A (zh) * | 2020-03-31 | 2020-08-04 | 北京金山云网络技术有限公司 | 预热任务处理方法及系统、代理服务器、服务中心 |
CN111522641A (zh) * | 2020-04-21 | 2020-08-11 | 北京嘀嘀无限科技发展有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN111522641B (zh) * | 2020-04-21 | 2023-11-14 | 北京嘀嘀无限科技发展有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN113703933A (zh) * | 2020-05-22 | 2021-11-26 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN112231114A (zh) * | 2020-09-22 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 一种事件处理方法及相关设备 |
CN113760494A (zh) * | 2020-11-23 | 2021-12-07 | 北京京东振世信息技术有限公司 | 任务调度方法和装置 |
CN113760494B (zh) * | 2020-11-23 | 2023-09-26 | 北京京东振世信息技术有限公司 | 任务调度方法和装置 |
CN112527525B (zh) * | 2020-12-11 | 2024-04-02 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112527525A (zh) * | 2020-12-11 | 2021-03-19 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112527489A (zh) * | 2020-12-22 | 2021-03-19 | 税友软件集团股份有限公司 | 一种任务调度方法、装置、设备及计算机可读存储介质 |
CN112822188A (zh) * | 2020-12-31 | 2021-05-18 | 北京睿芯高通量科技有限公司 | 一种分布式转码系统中监控转码任务状态的方法及装置 |
CN113010289A (zh) * | 2021-03-17 | 2021-06-22 | 杭州遥望网络科技有限公司 | 一种任务调度方法、装置和系统 |
CN115114106A (zh) * | 2021-03-23 | 2022-09-27 | 中国移动通信集团河南有限公司 | 一种出账任务处理方法、装置及设备 |
CN113835862B (zh) * | 2021-09-26 | 2023-07-07 | 中国联合网络通信集团有限公司 | 任务处理方法及装置 |
CN113835862A (zh) * | 2021-09-26 | 2021-12-24 | 中国联合网络通信集团有限公司 | 任务处理方法及装置 |
CN113784176A (zh) * | 2021-11-12 | 2021-12-10 | 南京未来网络产业创新有限公司 | 一种云视频平台智能处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107766129B (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766129A (zh) | 一种任务处理方法、装置及系统 | |
US8024740B2 (en) | Acquisition system for distributed computing resources | |
US7584292B2 (en) | Hierarchical system configuration method and integrated scheduling method to provide multimedia streaming service on two-level double cluster system | |
CN109995669B (zh) | 分布式限流方法、装置、设备及可读存储介质 | |
CN109995859A (zh) | 一种调度方法、调度服务器及计算机可读存储介质 | |
US20080263553A1 (en) | Dynamic Service Level Manager for Image Pools | |
CN102859961B (zh) | 具有自适应的文件处理的分布式视频转码系统 | |
CN101771723A (zh) | 数据同步方法 | |
WO2011134875A1 (en) | Data center operation | |
Kadhe et al. | Analyzing the download time of availability codes | |
WO2004063928A1 (ja) | データベース負荷軽減システムおよび負荷軽減プログラム | |
CN107515784A (zh) | 一种在分布式系统中计算资源的方法与设备 | |
CN110308984A (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
WO2023131058A1 (zh) | 一种企业数字中台中资源服务应用的调度系统和方法 | |
US11947534B2 (en) | Connection pools for parallel processing applications accessing distributed databases | |
Zhong et al. | Speeding up Paulson’s procedure for large-scale problems using parallel computing | |
CN101778131A (zh) | 数据同步系统 | |
CN107479974A (zh) | 一种虚拟机调度方法及装置 | |
CN100525211C (zh) | 一种在网元管理系统中实现集中调度的系统 | |
CN101789963A (zh) | 数据同步系统 | |
CN110333984A (zh) | 接口异常检测方法、装置、服务器及系统 | |
WO2022089321A1 (zh) | 调度接入点的方法、装置、服务器以及存储介质 | |
US7356712B2 (en) | Method of dynamically assigning network access priorities | |
CN114338124A (zh) | 云密码计算服务的管理方法、系统、电子设备及存储介质 | |
CN112019452B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |