CN107239328B - 任务分配方法及装置 - Google Patents
任务分配方法及装置 Download PDFInfo
- Publication number
- CN107239328B CN107239328B CN201610188347.2A CN201610188347A CN107239328B CN 107239328 B CN107239328 B CN 107239328B CN 201610188347 A CN201610188347 A CN 201610188347A CN 107239328 B CN107239328 B CN 107239328B
- Authority
- CN
- China
- Prior art keywords
- queue
- task
- client
- processed
- source identifier
- 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.)
- Active
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
一种任务分配方法及装置,所述方法包括:接收来自客户端的分配请求,所述分配请求包含所述用于标识所述客户端的来源标识;对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:所述第一队列中未包含所述分配请求的来源标识;更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部;按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。所述方法及装置可以优化资源配置。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种任务分配方法及装置。
背景技术
任务分配是数据处理领域中的重要领域,合理的任务分配可以实现资源的优化配置,提升***的整体效率。
但是,现有的任务分配方法的资源配置效率有待提升。
发明内容
本发明解决的技术问题是提升任务分配方法的资源配置效率。
为解决上述技术问题,本发明实施例提供一种任务分配方法,包括:接收来自客户端的分配请求,所述分配请求包含用于标识所述客户端的来源标识;对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:第一队列中未包含所述分配请求的来源标识;更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部;按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。
可选的,所述第二队列中存储有多个待处理任务,所述任务分配方法还包括:在所述分配待处理任务之后,将已分配的所述待处理任务从所述第二队列中移除。
可选的,为所述第一队列中的所述来源标识指向的客户端分配待处理任务包括:对位于所述第二队列首位的待处理任务和/或位于第一队列首位的来源标识进行锁定,直至分配完毕。
可选的,所述预设条件还包括:分配至所述来源标识指向的客户端的待处理任务的数量未超过上限。
可选的,为所述第一队列中的所述来源标识指向的客户端分配待处理任务后,所述任务分配方法还包括:将所指向的客户端已分配到所述待处理任务的来源标识从所述第一队列中移除。
可选的,所述第二队列为先进先出队列。
本发明实施例中还提供一种任务分配装置,其特征在于,包括:分配请求接收单元,适于接收来自客户端的分配请求,所述分配请求包含所述用于标识客户端的来源标识;验证单元,适于对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:第一队列中未包含所述分配请求的来源标识;更新单元,适于更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部;分配单元,适于按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。
可选的,所述第二队列中存储有多个待处理任务,所述任务分配装置还包括:第一移除单元,适于在所述分配待处理任务之后,将已分配的所述待处理任务从所述第二队列中移除。
可选的,所述分配单元包括锁定单元,适于对位于所述第二队列首位的待处理任务和/或位于第一队列首位的来源标识进行锁定,直至分配完毕。
可选的,所述预设条件还包括:分配至所述来源标识指向的客户端的待处理任务的数量未超过上限。
可选的,所述任务分配装置还包括:第二移除单元,适于所述第一队列中的所述来源标识指向的客户端分配待处理任务后,将所指向的客户端已分配到所述待处理任务的来源标识从所述第一队列中移除。
可选的,所述第二队列为先进先出队列。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
通过对来源标识进行验证,确定来源标识满足预设条件后,才将分配请求添加至第一队列的尾部,按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务。当第一队列中已包含分配请求指向的用户端的来源标识时,若将该来源标识添加至第一队列,会对该标识对应的客户端进行任务的重复分配,而本发明实施例中的预设条件包括分配请求的来源标识未包含于第一队列中,在确定来源标识满足预设条件后,才将分配请求的来源标识添加至第一队列的尾部以进行后续的任务分配,由此,可以使得任务分配更加合理,避免同一客户端在任务分配过程中反复抢夺任务,从而可以优化客户端的资源配置。
附图说明
图1是本发明实施例中一种任务分配方法的流程图;
图2是本发明实施例中一种任务分配装置的结构示意图。
具体实施方式
如前所述,任务分配是数据处理领域中的重要领域,合理的任务分配可以实现资源的优化配置,提升***的整体效率。但是,现有的任务分配方法的资源配置效率有待提升。
本发明实施例通过对来源标识进行验证,确定来源标识满足预设条件后,才将分配请求添加至第一队列的尾部,按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务。当第一队列中已包含分配请求指向的用户端的来源标识时,若将该来源标识来源添加至第一队列,会对该标识对应的客户端进行任务的重复分配,而本发明实施例中的预设条件包括分配请求的来源标识未包含于第一队列中,在确定来源标识满足预设条件后,才将分配请求的来源标识添加至第一队列的尾部以进行后续的任务分配,由此,可以使得任务分配更加合理,避免同一客户端在任务分配过程中反复抢夺任务,从而可以优化客户端的资源配置。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例中一种任务分配方法的流程图。
在步骤S11中,接收来自客户端的分配请求,所述分配请求包含用于标识所述客户端的来源标识。
客户端的分配请求可以是用户在客户端操作后生成;客户端的来源标识对客户端起标识作用,例如可以是客户端对应用户的身份标识。
在步骤S12中,对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:第一队列中未包含所述分配请求的来源标识。
第一队列中存储有待进行任务分配的来源标识,***会按照先进先出的顺序为排在第一队列中的来源标识分配待处理任务。
由于对任务的处理需要客户端的资源,在所述第一队列中已包含分配请求的来源标识时,若再次将该分配请求的来源标识加入所述第一队列,并为该来源标识指向的客户端分配待处理任务,会使得该来源标识对应的客户端分配到更多的待处理任务,造成超出其处理能力的超负荷状态,而其他客户端不能合理的分配到待处理任务而资源空置,不利于各个客户端的资源优化配置。
由于所述预设条件包括所述第一队列中未包含所述分配请求的来源标识,仅在所述第一队列中未包含所述分配请求的来源标识时,才将所述分配请求的来源标识添加至所述第一队列的尾部,可以对各个客户端更合理的进行任务分配,优化各个客户端之间的资源配置。
在具体实施中,所述预设条件还可以包括:分配至所述来源标识指向的客户端的待处理任务的数量未超过上限。
每个客户端对待处理任务的处理能力受制于其资源限制,考虑到各个客户端之间的资源优化配置,可以设置客户端分配到的待处理任务的数量上限。每个客户端的待处理任务的数量上限可以是相同的,也可以是不同的,该上限可以根据每个客户端情况进行设置。
通过设置每个客户端分配到的待处理任务的上限,在服务器接收到来自客户端的分配请求时,对该客户端的待处理任务的数量进行判断,只有当其待处理任务的数量未超过上限时,才将其对应的来源标识添加至第一队列的尾部,从而可以均衡在各个客户端之间的任务分配,实现各个客户端之间的资源优化配置。
在步骤S13中,更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部。
可以理解的是,对第一队列的更新可以包括当第一队列为空队列时,将所述分配请求的来源标识添加至所述第一队列。
在步骤S14中,按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。
通过按照先进先出的顺序为所述第一队列中的所述来源标识指向的客户端分配待处理任务,可以公平的为第一队列中的来源标识指向的客户端分配任务,避免第一队列中的某个来源标识一直抢占队列,进而实现客户端之间的资源优化配置。
在具体实施中,所述第二队列可以是先进先出队列。位于第二队列中的待处理任务可以是各种不同类型的待处理任务,例如可以是交易数据处理任务。第二队列中的任务可以是根据申报建立的,例如申报客户端通过申报的方式将交易数据处理任务添加至第二队列中,以供分配。
在一具体实施中,所述第二队列中存储有多个待处理任务,所述任务分配方法还可以包括:在所述分配待处理任务之后,将已分配的所述待处理任务从所述第二队列中移除。
在另一具体实施中,为所述第一队列中的所述来源标识指向的客户端分配待处理任务后,所述任务分配方法还还可以包括:将所指向的客户端已分配到所述待处理任务的来源标识从所述第一队列中移除。
在具体实施中,为所述第一队列中的所述来源标识指向的客户端分配待处理任务可以包括:对位于所述第二队列首位的待处理任务和/或位于第一队列首位的来源标识进行锁定,直至分配完毕。
由于利用先进先出的方式对第一队列中的所述来源标识指向的客户端分配待处理任务,故对位于第一队列首位的来源标识进行锁定,只允许位于第一队列首位的来源标识接收一个任务分配,可以避免出现对一个来源标识对应的客户端多次分配待处理任务,实现各个客户端之间的资源优化配置。
同样地,对位于所述第二队列首位的待处理任务进行锁定,使其只能被分配至一个来源标识对应的客户端,可以避免单个待处理任务多次分配的问题。
对第一队列和/或第二队列的锁定可以利用key/value数据库Redis实现。
在本发明一实施例中,任务分配方法还可以包括:在为所述第一队列中的所述来源标识指向的客户端分配待处理任务后,通知所述来源标识指向的客户端,以使得该客户端获知自己已经被分配待处理任务,从而可以及时进行处理。
通过对来源标识进行验证,确定来源标识满足预设条件后,才将分配请求添加至第一队列的尾部,按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务。由于预设条件包括在第一队列中未包含分配请求的来源标识,当第一队列中已包含分配请求指向的用户端的来源标识时,若将该标识来源添加至第一队列,会对该标识对应的客户端进行任务的重复分配,故确定来源标识满足预设条件后,才将分配请求添加至第一队列的尾部,可以使得任务分配更加合理,优化客户端的资源配置。
本发明实施例还提供一种任务分配装置,其结构示意图参见图2。
任务分配装置包括:分配请求接收单元21,适于接收来自客户端的分配请求,所述分配请求包含用于标识所述客户端的来源标识;
验证单元22,适于对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:第一队列中未包含所述分配请求的来源标识;
更新单元23,适于更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部;
分配单元24,适于按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。
在具体实施中,所述第二队列中可以存储有多个待处理任务,所述任务分配装置还可以包括:第一移除单元,适于在所述分配待处理任务之后,将已分配的所述待处理任务从所述第二队列中移除。
在具体实施中,所述分配单元24可以包括锁定单元,适于对位于所述第二队列首位的待处理任务和/或位于第一队列首位的来源标识进行锁定,直至分配完毕。
在具体实施中,所述预设条件还可以包括:分配至所述来源标识指向的客户端的待处理任务的数量未超过上限。
在具体实施中,任务分配装置还可以包括:第二移除单元,适于所述第一队列中的所述来源标识指向的客户端分配待处理任务后,将所指向的客户端已分配到所述待处理任务的来源标识从所述第一队列中移除。
在具体实施中,所述第二队列可以为先进先出队列。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (12)
1.一种任务分配方法,其特征在于,包括:
接收来自客户端的分配请求,所述分配请求包含用于标识所述客户端的来源标识;所述来源标识用于对所述客户端起标识作用;
对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:第一队列中未包含所述分配请求的来源标识;
更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部;
按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。
2.根据权利要求1所述的任务分配方法,其特征在于,所述第二队列中存储有多个待处理任务,所述任务分配方法还包括:在所述分配待处理任务之后,将已分配的所述待处理任务从所述第二队列中移除。
3.根据权利要求1所述的任务分配方法,其特征在于,为所述第一队列中的所述来源标识指向的客户端分配待处理任务包括:对位于所述第二队列首位的待处理任务和/或位于第一队列首位的来源标识进行锁定,直至分配完毕。
4.根据权利要求1所述的任务分配方法,其特征在于,所述预设条件还包括:分配至所述来源标识指向的客户端的待处理任务的数量未超过上限。
5.根据权利要求1所述的任务分配方法,其特征在于,为所述第一队列中的所述来源标识指向的客户端分配待处理任务后,还包括:将所指向的客户端已分配到所述待处理任务的来源标识从所述第一队列中移除。
6.根据权利要求1所述的任务分配方法,其特征在于,所述第二队列为先进先出队列。
7.一种任务分配装置,其特征在于,包括:
分配请求接收单元,适于接收来自客户端的分配请求,所述分配请求包含用于标识所述客户端的来源标识;所述来源标识用于对所述客户端起标识作用;
验证单元,适于对所述来源标识进行验证,确定所述来源标识满足预设条件,所述预设条件包括:第一队列中未包含所述分配请求的来源标识;
更新单元,适于更新第一队列,将所述分配请求的来源标识添加至所述第一队列的尾部;
分配单元,适于按照先进先出的顺序,为所述第一队列中的所述来源标识指向的客户端分配待处理任务,所述待处理任务存储于第二队列中。
8.根据权利要求7所述的任务分配装置,其特征在于,所述第二队列中存储有多个待处理任务,所述任务分配装置还包括:第一移除单元,适于在所述分配待处理任务之后,将已分配的所述待处理任务从所述第二队列中移除。
9.根据权利要求7所述的任务分配装置,其特征在于,所述分配单元包括锁定单元,适于对位于所述第二队列首位的待处理任务和/或位于第一队列首位的来源标识进行锁定,直至分配完毕。
10.根据权利要求7所述的任务分配装置,其特征在于,所述预设条件还包括:分配至所述来源标识指向的客户端的待处理任务的数量未超过上限。
11.根据权利要求7所述的任务分配装置,其特征在于,还包括:第二移除单元,适于所述第一队列中的所述来源标识指向的客户端分配待处理任务后,将所指向的客户端已分配到所述待处理任务的来源标识从所述第一队列中移除。
12.根据权利要求7所述的任务分配装置,其特征在于,所述第二队列为先进先出队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610188347.2A CN107239328B (zh) | 2016-03-29 | 2016-03-29 | 任务分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610188347.2A CN107239328B (zh) | 2016-03-29 | 2016-03-29 | 任务分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107239328A CN107239328A (zh) | 2017-10-10 |
CN107239328B true CN107239328B (zh) | 2020-06-09 |
Family
ID=59983889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610188347.2A Active CN107239328B (zh) | 2016-03-29 | 2016-03-29 | 任务分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107239328B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829521B (zh) * | 2018-06-13 | 2022-05-13 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN110097268B (zh) * | 2019-04-19 | 2022-08-19 | 北京金山安全软件有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN111491015B (zh) * | 2020-03-31 | 2022-11-11 | 北京金山云网络技术有限公司 | 预热任务处理方法及***、代理服务器、服务中心 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207891A (zh) * | 2011-06-10 | 2011-10-05 | 浙江大学 | 对数据划分分布式环境实现动态划分和负载均衡的方法 |
CN103123595A (zh) * | 2009-10-26 | 2013-05-29 | 美国索尼电脑娱乐有限责任公司 | 使用即时数据分块的文件输入/输出调度 |
CN104954468A (zh) * | 2015-06-18 | 2015-09-30 | 小米科技有限责任公司 | 资源的分配方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7467387B2 (en) * | 2002-05-31 | 2008-12-16 | International Business Machines Corporation | Method for off-loading user queries to a task manager |
CN101345740B (zh) * | 2007-07-09 | 2011-08-24 | 华为技术有限公司 | 一种多媒体数据的数字识别注册、处理方法及*** |
US8261274B2 (en) * | 2009-06-29 | 2012-09-04 | Oracle America, Inc. | Method and system for managing a task |
CN102902587B (zh) * | 2011-07-28 | 2015-10-07 | ***通信集团四川有限公司 | 分布式任务调度方法、***和装置 |
CN102457571B (zh) * | 2011-09-15 | 2014-11-05 | 中标软件有限公司 | 一种云存储中数据均衡分布方法 |
CN102594888B (zh) * | 2012-02-16 | 2014-07-02 | 西北工业大学 | 一种网络文件***实时化的方法 |
CN103428070B (zh) * | 2012-05-17 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 即时群体通信方法、会话管理服务器及客户端 |
CN104468638B (zh) * | 2013-09-12 | 2018-04-03 | 北大方正集团有限公司 | 一种分布式数据处理方法及*** |
-
2016
- 2016-03-29 CN CN201610188347.2A patent/CN107239328B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123595A (zh) * | 2009-10-26 | 2013-05-29 | 美国索尼电脑娱乐有限责任公司 | 使用即时数据分块的文件输入/输出调度 |
CN102207891A (zh) * | 2011-06-10 | 2011-10-05 | 浙江大学 | 对数据划分分布式环境实现动态划分和负载均衡的方法 |
CN104954468A (zh) * | 2015-06-18 | 2015-09-30 | 小米科技有限责任公司 | 资源的分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107239328A (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9577961B2 (en) | Input/output management in a distributed strict queue | |
US10091215B1 (en) | Client isolation in a distributed queue | |
CN107239328B (zh) | 任务分配方法及装置 | |
US9571414B2 (en) | Multi-tiered processing using a distributed strict queue | |
US9591101B2 (en) | Message batching in a distributed strict queue | |
CN108512672B (zh) | 业务编排方法、业务管理方法及装置 | |
US20150381511A1 (en) | Client selection in a distributed strict queue | |
US9575820B2 (en) | Client control in a distributed strict queue | |
EP3018581B1 (en) | Data staging management system | |
JP2016024612A (ja) | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 | |
CN114168302A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN112286688A (zh) | 一种内存管理和使用方法、装置、设备和介质 | |
US20150365474A1 (en) | Computer-readable recording medium, task assignment method, and task assignment apparatus | |
US9577878B2 (en) | Geographic awareness in a distributed strict queue | |
CN107168788B (zh) | 分布式***中资源的调度方法以及装置 | |
US11252121B2 (en) | Message sending method and terminal device | |
CN113285843B (zh) | 容器网络配置方法、装置、计算机可读介质及电子设备 | |
CN113626173B (zh) | 调度方法、装置及存储介质 | |
CN109062683B (zh) | 主机资源分配的方法、装置及计算机可读存储介质 | |
CN110430258B (zh) | 一种分布式锁管理方法和装置 | |
CN112559179A (zh) | 一种作业处理方法和装置 | |
CN109598411B (zh) | 一种产品设计任务的处理方法及电子设备 | |
US10346423B2 (en) | Minimizing resource contention while loading graph structures into a distributed database | |
CN108683608B (zh) | 分配流量的方法和装置 | |
CN110019275A (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 |