[发明专利]服务端向客户端推送数据的方法和装置有效
申请号: | 201810270948.7 | 申请日: | 2018-03-29 |
公开(公告)号: | CN110324370B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 程晓明 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L67/55 | 分类号: | H04L67/55;H04L67/1001 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;张效荣 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务端 客户端 推送 数据 方法 装置 | ||
本发明公开了一种服务端向客户端推送数据的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取客户端可创建的处理线程的个数;生成与客户端相对应的数据对象,并将生成的数据对象添加到推送集合中;每次从推送集合中取出一个数据对象,并通过取出的数据对象将数据发送给对应的客户端,然后,将该数据对象放入等待集合中;待对应的客户端数据处理完成后,从等待集合中取出该数据对象并将该数据对象放入推送集合中,以便再次进行数据推送。该实施方式能够差异化对待每个客户端,且能够感知每个客户端处理能力的上限,避免客户端负载过高,以及使所有客户端都能公平的接收到服务端推送的数据。
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务端向客户端推送数据的方法和装置。
背景技术
客户端/服务器(Client/Server)结构,简称C/S结构,是一种基于网络的系统体系架构结构。在C/S结构的系统中,应用程序分为客户端和服务端两大部分。客户端部分为每个用户所专有,而服务端则由所有用户共享其信息与功能。
当需要把服务端上的大量数据源源不断的推送给若干客户端去处理时,若服务端需要推送的数据量非常大,而且客户端处理数据又非常耗时,那么就需要一种高效的服务端向客户端推送数据的负载均衡技术,在每个客户端可接受的负载压力范围之内,让服务端尽可能多的推送数据给客户端。
如图1所示,现有的服务端向客户端推送数据的过程如下:
1、服务端接收到由若干个客户端发来的数据推送请求,以请求服务端将数据推送给客户端;
2、服务端从数据集合中选取一条数据;
3、服务端选择一个客户端并推送数据,然后,服务端重复执行步骤2和3,以实现依次向若干客户端推送数据;
4、客户端处理接收到的数据。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
当服务端需要推送的数据量非常大,而且客户端处理数据又非常耗时的时候,现有的技术方案存在以下三个缺点:
1、每个客户端机器的性能不一样,而服务端没有对这些客户端差别化对待;
2、当服务端向客户端推送数据时,无法感知客户端处理数据的能力极限,可能会造成低性能的客户端负载过高而卡死;
3、服务端的数据推送没有考虑公平性,无法保证所有客户端都能公平的接收到服务端发送的数据。
发明内容
有鉴于此,本发明实施例提供一种服务端向客户端推送数据的方法和装置,能够根据客户端机器的性能,差异化对待每个客户端,且能够感知每个客户端处理能力的上限,避免客户端负载过高,以及公平地进行数据推送,使所有客户端都能公平的接收到服务端推送的数据。
为实现上述目的,根据本发明实施例的一个方面,提供了一种服务端向客户端推送数据的方法。
一种服务端向客户端推送数据的方法,包括:获取客户端可创建的处理线程的个数;生成与所述客户端相对应的数据对象,并将生成的数据对象添加到推送集合中,其中,所述生成的数据对象的个数与所述处理线程的个数相关;每次从所述推送集合中取出一个数据对象,并通过取出的数据对象将数据发送给对应的客户端,然后,将所述数据对象放入等待集合中;待所述对应的客户端数据处理完成后,从所述等待集合中取出所述数据对象并将所述数据对象放入所述推送集合中,以便再次进行数据推送。
可选地,所述推送集合中的数据对象以队列的形式保存,并且,将生成的数据对象添加到所述队列中;每次从所述队列的头部取出一个数据对象,并通过取出的数据对象将数据发送给对应的客户端,然后,将所述数据对象放入等待集合中;以及,待所述对应的客户端数据处理完成后,从所述等待集合中取出所述数据对象并将所述数据对象放入所述队列的尾部,以便再次进行数据推送。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810270948.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于路况的信息共享方法及系统
- 下一篇:基于区块的分布式KV存储系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置