心跳连接检测方法技术

技术编号:39577773 阅读:6 留言:0更新日期:2023-12-03 19:28
本发明专利技术涉及通信技术领域,具体涉及一种心跳连接检测方法

【技术实现步骤摘要】
心跳连接检测方法、装置、电子设备及存储介质


[0001]本专利技术涉及通信
,尤其涉及一种心跳连接检测方法

装置

电子设备及计算机可读存储介质


技术介绍

[0002]即时通讯技术是一种基于计算机和互联网的通信技术,这种技术可在不同设备和平台之间实现实时的点对点或多方通信,具有即时性

交互性和实时性的特点

[0003]基于即时通讯系统实时性要求,软件应用后台的服务器需要对每一个需要通讯的客户端保持一个独立专用的网络“连接”通道来进行数据双向发送

而这种专用网络“连接”通道对于后台服务端来说是宝贵的资源

每个客户端如果无法接收数据包,或关机或网络断开时,服务器均需要及时回收这些资源,以留给新的客户端终端设备通讯使用

而为实现这一目标,常用的手段是通过网络“连接”进行心跳包管理,即:服务器与客户端之间通过定期心跳数据包的发送和回复,进行彼此是否存活确认,如心跳包发送失败,或者在约定的时间范围内得不到预期的回复,则“连接”通道都会关闭,这是心跳包的工作机制和意义

[0004]然而,在网络通讯的实际场景中,当客户端为可移动的终端设备时,因终端设备的功耗波动(电源耗尽关机)

所处的位置的环境因素(对无线信号的隔离)

操作人对终端设备的处理方式(关闭应用)等,都会对终端设备的网络连接健康性造成影响

>因此,终端设备与服务器的连接会随机性断开,这使得服务器对所有客户端的连接的计划性

有序性的管理造成了障碍,使心跳包发送的实时性

有效性

准确率都打了折扣,加大了心跳包发送过程中的资源开销

因此,亟待一种心跳连接检测方法,能够有计划性

有序性的对终端设备的网络连接进行管理,以提高心跳包发送的实时性

有效性

准确率,从而减少心跳包发送过程中的资源开销


技术实现思路

[0005]本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一

为此,本专利技术的一个目的在于提出一种心跳连接检测方法,具有有计划性

有序性的对客户端段的网络连接进行管理,以提高心跳包发送的实时性

有效性

准确率,从而减少心跳包发送过程中的资源开销的优点

[0006]根据本专利技术实施例的第一方面,提供一种心跳连接检测方法,包括:确定当前进行心跳连接检测的终端设备的数量
N

N
为大于1的整数;从双向链表结构队列的尾部获取
N
个终端设备的标识信息;根据
N
个终端设备的标识信息对所述
N
个终端设备进行心跳连接检测,并将所述
N
个终端设备的标识信息从所述双向链表结构队列中移除;对所述
N
个终端设备进行心跳连接检测后,获取所述
N
个终端设备中保持网络连接的目标终端设备的目标标识信息,并将所述目标标识信息插入所述双向链表结构队列的头部

[0007]在本专利技术的一种示例性实施例中,所述确定当前进行心跳连接检测的终端设备的数量
N
包括:获取当前所述双向链表结构队列中能够进行心跳连接检测的终端设备的当前总数量;获取当前所述双向链表结构队列的分组数量;获取当前速度因子;基于所述总数量

所述分组数量以及所述当前速度因子计算当前进行心跳连接检测的终端设备的数量
N。
[0008]在本专利技术的一种示例性实施例中,所述获取所述双向链表结构队列中分组的分组数量包括:计算网络连接的存活有效时长与心跳包发送周期的第一比值;基于所述第一比值确定分组数量

[0009]在本专利技术的一种示例性实施例中,所述获取当前速度因子包括:获取上次所述双向链表结构队列中能够进行心跳连接检测的终端设备的上一总数量;计算所述当前总数量与上一总数量的第二比值;基于所述第二比值确定所述当前速度因子

[0010]在本专利技术的一种示例性实施例中,所述方法还包括:在接收到第一终端设备的网络连接请求时,将第一终端设备的第一标识信息插入双向链表结构队列的头部,所述网络连接请求包括所述第一标识信息

[0011]在本专利技术的一种示例性实施例中,所述将第一终端设备的第一标识信息插入双向链表结构队列的头部包括:确定位于所述双向链表结构队列的头部的第三终端设备;将所述双向链表结构队列的头部的下一指针以及所述第三终端设备的上一指针指向所述第一终端设备;将所述第一终端设备的上一指针指向所述双向链表结构队列的头部,并将所述第一终端设备的下一指针指向所述第三终端设备

[0012]在本专利技术的一种示例性实施例中,所述在接收到第一终端设备的网络连接请求后,所述方法还包括:启动互斥锁;在确定所述第一标识信息插入双向链表结构队列的头部后,解除所述互斥锁

[0013]在本专利技术的一种示例性实施例中,所述方法还包括:在确定与第二终端设备断开网络连接时,将所述第二终端设备的第二标识信息从所述双向链表结构队列中删除

[0014]在本专利技术的一种示例性实施例中,所述将所述第二终端设备的第二标识信息从所述双向链表结构队列中删除包括:确定所述第二终端设备的上一指针指向的第四终端设备;确定所述第二终端设备的下一指针指向的第五终端设备;将所述第四终端设备的下一指针指向所述第五终端设备,并将所述第五终端设备
的上一指针指向所述第四终端设备

[0015]在本专利技术的一种示例性实施例中,所述在确定与第二终端设备断开网络连接后,所述方法还包括:启动互斥锁;在确定所述第二标识信息从所述双向链表结构队列中删除后,解除所述互斥锁

[0016]根据本专利技术的第二方面,提供一种心跳连接检测装置,包括:设备数量获取模块,用于确定当前进行心跳连接检测的终端设备的数量
N

N
为大于1的整数;标识信息获取模块,用于从双向链表结构队列的队尾处获取
N
个终端设备的标识信息;心跳连接检测模块,用于根据
N
个终端设备的标识信息对所述
N
个终端设备进行心跳连接检测,并将所述
N
个终端设备的标识信息从所述双向链表结构队列中移除;目标终端设备插入模块,用于对所述
N
个终端设备进行心跳连接检测后,将所述
N
个终端设备中保持网络连接的目标终端设备的标识信息插入所述双向链表结构队列的头部

[0017]根据本专利技术的第三方面,提供一种电子设备,包括:处理器;用本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种心跳连接检测方法,其特征在于,包括:确定当前进行心跳连接检测的终端设备的数量
N

N
为大于1的整数;从双向链表结构队列的尾部获取
N
个终端设备的标识信息;根据
N
个终端设备的标识信息对所述
N
个终端设备进行心跳连接检测,并将所述
N
个终端设备的标识信息从所述双向链表结构队列中移除;对所述
N
个终端设备进行心跳连接检测后,获取所述
N
个终端设备中保持网络连接的目标终端设备的目标标识信息,并将所述目标标识信息插入所述双向链表结构队列的头部
。2.
根据权利要求1所述的方法,其特征在于,所述确定当前进行心跳连接检测的终端设备的数量
N
包括:获取当前所述双向链表结构队列中能够进行心跳连接检测的终端设备的当前总数量;获取当前所述双向链表结构队列的分组数量;获取当前速度因子;基于所述总数量

所述分组数量以及所述当前速度因子计算当前进行心跳连接检测的终端设备的数量
N。3.
根据权利要求2所述的方法,其特征在于,所述获取所述双向链表结构队列中分组的分组数量包括:计算网络连接的存活有效时长与心跳包发送周期的第一比值;基于所述第一比值确定分组数量
。4.
根据权利要求2所述的方法,其特征在于,所述获取当前速度因子包括:获取上次所述双向链表结构队列中能够进行心跳连接检测的终端设备的上一总数量;计算所述当前总数量与上一总数量的第二比值;基于所述第二比值确定所述当前速度因子
。5.
根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到第一终端设备的网络连接请求时,将第一终端设备的第一标识信息插入双向链表结构队列的头部,所述网络连接请求包括所述第一标识信息
。6.
根据权利要求5所述的方法,其特征在于,所述将第一终端设备的第一标识信息插入双向链表结构队列的头部包括:确定位于所述双向链表结构队列的头部的第三终端设备;将所述双向链表结构队列的头部的下一指针以及所述第三终端设备的上一指针指向所述第一终端设备;将所述第一终端设备的上一指针指向所述双向链表结构队列的头部,并将所述第一终端设备的下一指针指向所述第三终端设备
。7.
根...

【专利技术属性】
技术研发人员:李斌燕
申请(专利权)人:美云智数科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1