[发明专利]一种客户端在线离线状态监听的方法、装置、设备及介质在审
申请号: | 202310531796.2 | 申请日: | 2023-05-09 |
公开(公告)号: | CN116506332A | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 荆世华;赵在星;宋伟伟;田朋;张壮;史艳庆 | 申请(专利权)人: | 浪潮数字粮储科技有限公司 |
主分类号: | H04L43/10 | 分类号: | H04L43/10;H04L9/40;H04L67/568 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;陈黎明 |
地址: | 250101 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 客户端 在线 离线 状态 监听 方法 装置 设备 介质 | ||
本发明提供了一种客户端在线离线状态监听的方法、装置、设备及可读介质,方法包括:在服务端的Redis缓存中存储客户端唯一标识和状态信息,并设定每个客户端的超时时间;服务端接收客户端每经过阈值时间发送的心跳请求;响应于服务端在超时时间内未接收到客户端发送的心跳请求,确定客户端离线,并在Redis缓存中修改客户端的状态;响应于服务端接收到客户端发送的心跳请求,确定客户端在线,并在Redis缓存中修改客户端的状态。通过使用本发明的方案,能够及时判断出客户端的在线离线状态,具有简单方便、执行效率高以及支持批量客户端并发连接数量大等特点,能够增加吞吐量并加强网络数据处理能力,提高网络的灵活性和可用性,极度节省资源。
技术领域
本发明涉及计算机领域,并且更具体地涉及一种客户端在线离线状态监听的方法、装置、设备及可读介质。
背景技术
目前监管客户端是否在线的方法较多,但是没有一种行之有效的方式去实现。针对客户端在线、离线状态主要是利用客户端与服务器保持长连接,一旦连接断开就可以认为客户端离线了。默认的配置可能需要一段时间才能反应过来客户端实际上已经意外断开连接了,如果需要快速的知道客户端是否在线,需要主动发送包并要求立刻回复确认,如果另一方没有立刻确认就认为另一方已离线。但是该方式在面对大批量客户端连接时执行效率低,并且判断不及时。
发明内容
有鉴于此,本发明实施例的目的在于提出一种客户端在线离线状态监听的方法、装置、设备及可读介质,通过使用本发明的技术方案,能够及时判断出客户端的在线离线状态,具有简单方便、执行效率高以及支持批量客户端并发连接数量大等特点,能够增加吞吐量并加强网络数据处理能力,提高网络的灵活性和可用性,极度节省资源。
基于上述目的,本发明的实施例的一个方面提供了一种客户端在线离线状态监听的方法,包括以下步骤:
在服务端的Redis缓存中存储客户端唯一标识和状态信息,并设定每个客户端的超时时间;
服务端接收客户端每经过阈值时间发送的心跳请求;
响应于服务端在超时时间内未接收到客户端发送的心跳请求,确定客户端离线,并在Redis缓存中修改客户端的状态;
响应于服务端接收到客户端发送的心跳请求,确定客户端在线,并在Redis缓存中修改客户端的状态。
根据本发明的一个实施例,在服务端的Redis缓存中存放客户端唯一标识和状态信息,并设定每个客户端的超时时间包括:
建立服务端与若干个客户端的关联关系,并将每个客户端的唯一标识和状态信息存储到服务端的Redis缓存中;
响应于服务端初始启动,将所有客户端的状态预置为离线状态;
将每个客户端的超时时间设置为190S。
根据本发明的一个实施例,服务端接收客户端每经过阈值时间发送的心跳请求包括:
在每个客户端中设置定时器以使每个客户端每经过60S向服务端发送心跳请求;
服务端接收客户端发送的心跳请求。
根据本发明的一个实施例,响应于服务端在超时时间内未接收到客户端发送的心跳请求,确定客户端离线,并在Redis缓存中修改客户端的状态包括:
在Redis缓存中获取每个客户端的唯一标识并判断在超时时间内是否接收到客户端发送的至少一次心跳请求;
响应于服务端在超时时间内未接收到客户端发送的心跳请求,确定客户端离线,并在Redis缓存中将对应客户端的状态修改为离线状态;
记录客户端离线的时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮数字粮储科技有限公司,未经浪潮数字粮储科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310531796.2/2.html,转载请声明来源钻瓜专利网。