CN103929441A - 一种任务分配方法及装置 - Google Patents
一种任务分配方法及装置 Download PDFInfo
- Publication number
- CN103929441A CN103929441A CN201410196002.2A CN201410196002A CN103929441A CN 103929441 A CN103929441 A CN 103929441A CN 201410196002 A CN201410196002 A CN 201410196002A CN 103929441 A CN103929441 A CN 103929441A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- message
- operating state
- task
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种任务分配方法,所述方法包括:服务器确定任一待分配任务;所述服务器根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息;所述服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。与现有技术相比,本发明采取服务器主动向客户端推送通知消息的方式完成任务分配,避免了现有技术中大量的网络交互,同时节约网络资源开销,也不会对服务器造成过大压力。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种任务分配方法及装置。
背景技术
目前,根据现有的任务分配机制,通过客户端定期向服务器发起请求,查询数据库中是否有该客户端的任务,当存在该客户端的任务时,服务器将反馈信息发送至该客户端,以此完成任务的分配。
现有技术中,由于客户端在不知道服务器端是否已经存在需要自己处理的任务的情况下,需要定期去询问服务器是否有需要自己处理的任务,而实际上服务器可能根本没有需要该客户端处理的任务,这种情况下会造成网络资源占用大的问题,同时,大量客户端同时向服务器发送请求也会导致服务器压力过大。
发明内容
本发明提供了一种任务分配方法及装置,采取服务器主动向客户端推送通知消息的方式完成任务分配,避免了现有技术中大量的网络交互,同时节约网络资源开销。
本发明提供了一种任务分配方法,所述方法包括:
服务器确定任一待分配任务;
所述服务器根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息;
所述服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。
优选地,所述服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端之前,还包括:
所述服务器利用UDP协议与所述客户端建立连接通道。
优选地,所述方法还包括:
所述服务器将存储的所述客户端的工作状态设置为繁忙状态。
优选地,所述方法还包括:
所述服务器接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态;
所述服务器存储所述客户端的工作状态。
优选地,所述接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态包括:
所述服务器每隔预设的特定时间与所述客户端建立连接通道,所述连接通道为所述客户端利用UDP协议建立的;
所述服务器通过所述连接通道,接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态。
本发明还提供了一种任务分配装置,所述装置包括:
确定模块,用于确定任一待分配任务;
分配模块,用于根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息;
发送模块,用于通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。
优选地,所述装置还包括:
建立模块,用于利用UDP协议与所述客户端建立连接通道。
优选地,所述装置还包括:
设置模块,用于将存储的所述客户端的工作状态设置为繁忙状态。
优选地,所述装置还包括:
接收模块,用于接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态;
存储模块,用于存储所述客户端的工作状态。
优选地,所述接收模块包括:
建立子模块,用于每隔预设的特定时间与所述客户端建立连接通道,所述连接通道为所述客户端利用UDP协议建立的;
接收子模块,用于通过所述连接通道,接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态。
本发明提供的任务分配方法中,首先服务器确定任一待分配任务,其次,服务器根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息,最后,服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。与现有技术相比,本发明采取服务器主动向客户端推送通知消息的方式完成任务分配,避免了现有技术中大量的网络交互,同时节约网络资源开销,也不会对服务器造成过大压力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的任务分配方法流程图;
图2为本发明实施例二提供的任务分配方法流程图;
图3为本发明实施例三提供的任务分配装置结构示意图;
图4为本发明实施例三提供的任务分配装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
参考图1,图1为本实施例提供的任务分配方法流程图,所述方法包括:
S101:服务器确定任一待分配任务。
本实施例中,服务器以队列机制管理待分配任务,当服务器接收到一个任务时,首先将该任务放入任务队列,所述任务队列中的任务为待分配任务。服务器可以按照任务的优先级关系,定时将该任务队列中的一个任务确定为作为任务分配对象的待分配任务。
S102:所述服务器根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息。
本实施例中,为了与服务器保持连接,客户端可以利用UDP协议与服务器保持连接。具体的,客户端可以每隔预设的特定时间利用UDP协议与服务器建立连接通道,并通过该连接通道向服务器发送注册信息。其中,每个客户端发送的注册信息中包括该客户端的工作状态,如空闲状态、繁忙状态等。当服务器接收到来自客户端的注册信息时,记录所述注册信息中的客户端的工作状态,以便服务器可以根据各个客户端的工作状态完成任务的分配。
实际操作中,服务器可以通过查询各个客户端的工作状态,将所述待分配任务分配给一个空闲状态的客户端。同时,所述服务器针对该任务分配产生通知消息,其中所述通知消息中包括所述待分配任务的标识等。
S103:所述服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。
本实施例中,服务器可以利用UDP协议与客户端建立连接通道,当所述服务器将待分配任务分配至一个空闲状态的客户端后,所述服务器可以通过预先建立的连接通道,将产生的通知信息发送至所述客户端。当所述客户端接收到来自所述服务器的通知信息后,获知所述待分配任务被分配到所述客户端执行,所述客户端可以根据通知消息中的待分配任务的标识执行任务。
由于利用UDP协议建立的连接为短连接,所以,服务器可以在需要向客户端发送消息时才建立与该客户端的连接通道。当服务器需要向多个客户端发送消息时,利用UDP协议建立短连接可以避免造成服务器负荷过大。同时,利用UDP协议建立的短连接也具有传送速度很快,传送数据量小,对网络压力小等优势。
本实施例提供的任务分配方法首先确定任一待分配任务,其次,根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息,最后,通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。与现有技术相比,本实施例采取服务器主动向客户端推送通知消息的方式完成任务分配,避免了现有技术中由客户端请求任务方式产生的大量的网络交互,同时节约网络资源开销,也不会对服务器造成过大压力。
实施例二
参考图2,图2为本实施例提供的任务分配方法流程图,所述方法包括:
S201:各个客户端每隔预设的特定时间利用UDP协议与服务器建立连接通道。
S202:利用所述连接通道,客户端向所述服务器发送注册信息,其中,所述注册信息包括所述客户端的工作状态。
本实施例中,为了保证服务器能够准确获知各个客户端的实时工作状态,所以,各个客户端需要利用UDP协议向服务器发送“心跳”,即客户端的注册信息等。
另外,服务器在收到客户端的“心跳”后,向所述客户端发送反馈响应,如果客户端在规定的心跳次数请求之内得不到服务器的响应,所述客户端会重新连接所述服务器,重新获取所述服务器的物理IP和端口,重新建立客户端和所述服务器之间的UDP连接通道,再次发送心跳。
S203:所述服务器存储各个客户端的工作状态。
S204:服务器在确定一个待分配任务后,根据各个客户端的工作状态将所述待分配任务分配给一个空闲状态的客户端,并产生通知消息。
S205:所述服务器利用UDP协议与所述客户端建立连接通道,并通过所述连接通道将所述通知信息发送至所述客户端。
S206:所述服务器将存储的所述客户端的工作状态设置为繁忙状态。
具体的,所述客户端被分配任务,说明所述客户端已经处于工作状态,所以,本实施例在完成任务分配后,将存储的所述客户端的工作状态设置为繁忙状态,以便后续任务暂时不会分给该客户端。
与现有技术相比,本实施例采取服务器主动向客户端推送通知消息的方式完成任务分配,避免了大量的网络交互,同时节约网络资源开销,也不会对服务器造成过大压力。同时,利用UDP协议建立连接通道,可以避免造成服务器负荷过大。
实施例三
参考图3,图3为本实施例提供的一种任务分配装置结构示意图,所述装置包括:
确定模块301,用于确定任一待分配任务;
分配模块302,用于根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息;
发送模块303,用于通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。
参考图4,图4为本实施例提供的另一种任务分配装置结构示意图,所述装置除了包括图3中的模块之外,还可以包括:
建立模块401,用于利用UDP协议与所述客户端建立连接通道。
另外,所述装置还包括:
设置模块,用于将存储的所述客户端的工作状态设置为繁忙状态。
其中,所述装置还包括:
接收模块,用于接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态;
存储模块,用于存储所述客户端的工作状态。
其中,所述接收模块包括:
建立子模块,用于每隔预设的特定时间与所述客户端建立连接通道,所述连接通道为所述客户端利用UDP协议建立的;
接收子模块,用于通过所述连接通道,接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态。
本实施例提供的任务分配装置的工作原理为:确定模块301确定任一待分配任务后,分配模块302根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息。发送模块303,通过与所述客户端建立的连接通道,将分配模块302产生的所述通知消息发送至所述客户端,完成任务的分配。
本实施例提供的任务分配装置通过确定模块确定任一待分配任务,通过分配模块将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息,并通过发送模块,利用与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。与现有技术相比,本实施例采取服务器主动向客户端推送通知消息的方式完成任务分配,避免了大量的网络交互,同时节约网络资源开销,也不会对服务器造成过大压力。同时,利用UDP协议建立连接通道,可以避免造成服务器负荷过大。
对于***实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的一种任务分配方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种任务分配方法,其特征在于,所述方法包括:
服务器确定任一待分配任务;
所述服务器根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息;
所述服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述服务器通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端之前,还包括:
所述服务器利用UDP协议与所述客户端建立连接通道。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述服务器将存储的所述客户端的工作状态设置为繁忙状态。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述服务器接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态;
所述服务器存储所述客户端的工作状态。
5.根据权利要求4所述的方法,其特征在于,所述接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态包括:
所述服务器每隔预设的特定时间与所述客户端建立连接通道,所述连接通道为所述客户端利用UDP协议建立的;
所述服务器通过所述连接通道,接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态。
6.一种任务分配装置,其特征在于,所述装置包括:
确定模块,用于确定任一待分配任务;
分配模块,用于根据预存的各个客户端的工作状态,将所述待分配任务分配给任一空闲状态的客户端,并产生通知消息;
发送模块,用于通过与所述客户端建立的连接通道,将所述通知消息发送至所述客户端。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
建立模块,用于利用UDP协议与所述客户端建立连接通道。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
设置模块,用于将存储的所述客户端的工作状态设置为繁忙状态。
9.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态;
存储模块,用于存储所述客户端的工作状态。
10.根据权利要求9所述的装置,其特征在于,所述接收模块包括:
建立子模块,用于每隔预设的特定时间与所述客户端建立连接通道,所述连接通道为所述客户端利用UDP协议建立的;
接收子模块,用于通过所述连接通道,接收来自客户端的注册信息,所述注册信息包括所述客户端的工作状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410196002.2A CN103929441A (zh) | 2014-05-09 | 2014-05-09 | 一种任务分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410196002.2A CN103929441A (zh) | 2014-05-09 | 2014-05-09 | 一种任务分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103929441A true CN103929441A (zh) | 2014-07-16 |
Family
ID=51147518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410196002.2A Pending CN103929441A (zh) | 2014-05-09 | 2014-05-09 | 一种任务分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103929441A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301423A (zh) * | 2014-10-24 | 2015-01-21 | 北京奇虎科技有限公司 | 一种发送心跳报文的方法、装置及*** |
CN104902002A (zh) * | 2015-04-10 | 2015-09-09 | 深圳市金立通信设备有限公司 | 一种终端及服务器 |
WO2019019644A1 (zh) * | 2017-07-24 | 2019-01-31 | 深圳壹账通智能科技有限公司 | 推送服务器分配方法、装置、计算机设备和存储介质 |
CN111432082A (zh) * | 2020-03-25 | 2020-07-17 | 中国银行股份有限公司 | 客服的客户分配方法及装置 |
CN111510492A (zh) * | 2020-04-15 | 2020-08-07 | 矩阵元技术(深圳)有限公司 | 一种实现断线重连的数据处理方法、装置、设备及*** |
CN112035231A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 一种数据处理***、方法及服务器群 |
CN112437144A (zh) * | 2020-11-16 | 2021-03-02 | 成都渊数科技有限责任公司 | 一种提升单台边缘服务器iot设备接入数的方法及*** |
CN113590331A (zh) * | 2021-08-05 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种任务处理方法、控制装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340331A (zh) * | 2007-07-06 | 2009-01-07 | 中国电信股份有限公司 | P2p网络中利用空闲终端执行***任务的方法 |
CN101403982A (zh) * | 2008-11-03 | 2009-04-08 | 华为技术有限公司 | 一种多核处理器的任务分配方法、***及设备 |
CN103426193A (zh) * | 2012-05-25 | 2013-12-04 | 上海幻维数码创意科技有限公司 | 一种分布式动画渲染方法及装置 |
-
2014
- 2014-05-09 CN CN201410196002.2A patent/CN103929441A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340331A (zh) * | 2007-07-06 | 2009-01-07 | 中国电信股份有限公司 | P2p网络中利用空闲终端执行***任务的方法 |
CN101403982A (zh) * | 2008-11-03 | 2009-04-08 | 华为技术有限公司 | 一种多核处理器的任务分配方法、***及设备 |
CN103426193A (zh) * | 2012-05-25 | 2013-12-04 | 上海幻维数码创意科技有限公司 | 一种分布式动画渲染方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301423A (zh) * | 2014-10-24 | 2015-01-21 | 北京奇虎科技有限公司 | 一种发送心跳报文的方法、装置及*** |
CN104301423B (zh) * | 2014-10-24 | 2018-11-06 | 北京奇安信科技有限公司 | 一种发送心跳报文的方法、装置及*** |
CN104902002A (zh) * | 2015-04-10 | 2015-09-09 | 深圳市金立通信设备有限公司 | 一种终端及服务器 |
WO2019019644A1 (zh) * | 2017-07-24 | 2019-01-31 | 深圳壹账通智能科技有限公司 | 推送服务器分配方法、装置、计算机设备和存储介质 |
CN111432082A (zh) * | 2020-03-25 | 2020-07-17 | 中国银行股份有限公司 | 客服的客户分配方法及装置 |
CN111510492A (zh) * | 2020-04-15 | 2020-08-07 | 矩阵元技术(深圳)有限公司 | 一种实现断线重连的数据处理方法、装置、设备及*** |
CN112035231A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 一种数据处理***、方法及服务器群 |
CN112437144A (zh) * | 2020-11-16 | 2021-03-02 | 成都渊数科技有限责任公司 | 一种提升单台边缘服务器iot设备接入数的方法及*** |
CN113590331A (zh) * | 2021-08-05 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种任务处理方法、控制装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929441A (zh) | 一种任务分配方法及装置 | |
CN110019125B (zh) | 数据库管理的方法和装置 | |
WO2016039963A3 (en) | Resource sharing between two resource allocation systems | |
CN108920111B (zh) | 数据共享方法及分布式数据共享*** | |
CN106406905B (zh) | 一种用于服务器的bios的setup选项的配置方法及*** | |
US10728050B2 (en) | Method of terminal-based conference load-balancing, and device and system utilizing same | |
CN102655503A (zh) | 使用共享资源池的资源分配 | |
CN106648900B (zh) | 基于智能电视的超算方法及*** | |
MX2015016012A (es) | Metodos y sistemas para contexto y gestion de datos mediante un controlador de espectro dinamico y un controlador de politica de espectro dinamico. | |
CN104537045A (zh) | 一种基于分布式***的业务分配方法及装置 | |
CN109729115B (zh) | 实现分布式计算的方法、装置、代理服务器、终端设备 | |
CN109416646B (zh) | 一种容器分配的优化方法及处理设备 | |
WO2016095524A1 (zh) | 资源分配方法及装置 | |
CN103997523A (zh) | 基于云服务的智慧城市业务***及其实现方法 | |
CN104410821A (zh) | 一种大规模智能视频分析运算***以及运算方法 | |
CN104796880A (zh) | 客户识别模块sim卡资源分配方法、相关设备及*** | |
CN104144202A (zh) | Hadoop分布式文件***的访问方法、***和装置 | |
CN105279263A (zh) | 一种支持多应用共享的数据库连接***及方法 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN114155026A (zh) | 一种资源分配方法、装置、服务器及存储介质 | |
CN105786447A (zh) | 服务器处理数据的方法、装置及服务器 | |
JP2016119583A (ja) | Ip電話ネットワークシステムとサーバ装置、ip交換機及びリソース容量拡張方法 | |
CN104184765A (zh) | 一种请求控制方法及客户端装置和服务器端装置 | |
CN103581273A (zh) | 一种分布式***执行业务的方法、装置及*** | |
CN104468710A (zh) | 一种混合大数据处理***及处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20140716 |