TCP会话管理方法、装置、存储介质及电子设备制造方法及图纸

技术编号:24863065 阅读:22 留言:0更新日期:2020-07-10 19:13
本申请公开了一种TCP会话管理方法、装置、存储介质及电子设备,电子设备中配置有第一哈希表和第二哈希表,该方法包括:将获取的数据包对应的哈希值存储在第一哈希表中,直至满足预设第一条件;清空第二哈希表存储的哈希值以及对应的TCP会话;将获取的数据包对应的哈希值存储在第二哈希表中,直至满足预设第二条件;清空第一哈希表存储的哈希值以及对应的TCP会话,并触发执行将获取的数据包对应的哈希值存储在第一哈希表中,直至满足预设第一条件的流程。利用2个哈希表交替清除超时会话,可以高效地清除超时的TCP会话。

【技术实现步骤摘要】
TCP会话管理方法、装置、存储介质及电子设备
本申请属于通信
,尤其涉及一种TCP会话管理方法、装置、存储介质及电子设备。
技术介绍
TCP(TransmissionControlProtocol)是一种面向连接的协议,通过TCP会话可以进行数据传输。随着因特网和其他互联网承载的通信量在持续增长,TCP会话的数量也在持续增长。为保证正常的TCP会话,需要及时关闭超时的TCP会话以释放系统资源。然而,相关技术中,清除超时TCP会话的效率较低。
技术实现思路
本申请实施例提供一种TCP会话管理的方法、装置、存储介质及电子设备,可以提高清除超时TCP会话的效率。本申请实施例提供一种TCP会话管理的方法,其应用于电子设备中,所述电子设备中配置有第一哈希表和第二哈希表,所述第一哈希表和所述第二哈希表用于存储TCP会话对应的哈希值,一个所述TCP会话包括至少一个数据包,所述方法包括:获取数据包及其对应的哈希值,将获取的数据包对应的哈希值存储在第一哈希表中,直至满足预设第一条件;清空所述第二哈希表存储的哈希值以及对应的TCP会话;获取数据包及其对应的哈希值,将获取的数据包对应的哈希值存储在所述第二哈希表中,直至满足预设第二条件;清空所述第一哈希表存储的哈希值以及对应的TCP会话,并触发执行所述获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件的流程。本申请实施例还提供一种TCP会话管理的装置,其应用于电子设备中,所述电子设备中配置有第一哈希表和第二哈希表,所述第一哈希表和所述第二哈希表用于存储TCP会话对应的哈希值,一个所述TCP会话包括至少一个数据包,所述装置包括:第一存储模块,用于获取数据包及其对应的哈希值,将获取的数据包对应的哈希值存储在第一哈希表中,直至满足预设第一条件;第一清空模块,用于清空所述第二哈希表存储的哈希值以及对应的TCP会话;第二存储模块,用于获取数据包及其对应的哈希值,将获取的数据包对应的哈希值存储在所述第二哈希表中,直至满足预设第二条件;第二清空模块,用于清空所述第一哈希表存储的哈希值以及对应的TCP会话,并触发执行所述获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件的流程。本申请实施例还提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的方法。本申请实施例还提供一种电子设备,其包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的方法。本实施例中,通过设置2个哈希表,将新获取的数据包对应的哈希值存入第一哈希表,直至满足预设第一条件,然后清空第二哈希表存储的哈希值以及对应的TCP会话,利用2个哈希表交替清空超时的TCP会话,提高了清除超时TCP会话的效率。附图说明下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。图1是本申请实施例提供的TCP会话管理的方法的流程示意图。图2是本申请实施例提供的TCP会话管理的方法的另一流程示意图。图3至图4是本申请实施例提供的TCP会话管理的方法的场景示意图。图5是本申请实施例提供的TCP会话管理的方法的又一流程示意图。图6是本申请实施例提供的TCP会话管理的装置的结构示意图。图7是本申请实施例提供的电子设备的结构示意图。图8是本申请实施例提供的电子设备的另一结构示意图。具体实施方式请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的电子设备。请参阅图1,图1是本申请实施例提供的TCP会话管理的方法的流程示意图,流程可以包括:在101中,获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件。TCP会话基于面向连接的协议(TransmissionControlProtocol,TCP)传输数据。该TCP会话管理方法应用于电子设备中,电子设备中配置有第一哈希表和第二哈希表,第一哈希表和第二哈希表用于存储TCP会话对应的哈希值,一个TCP会话包括至少一个数据包,每一个数据包包含五元组信息,数据包的五元组信息能够区分不同的TCP会话,五元组信息是指:源IP地址、目的IP地址、协议号、源端口、目的端口。在数据传输过程中,电子设备获取到数据包,对每个数据包都提取五元组信息,根据预设算法计算出数据包对应的哈希值,预设算法可以是多种哈希算法的一种算法,相同哈希值的数据包对应同一个TCP会话,不同哈希值的数据包则对应不同的TCP会话。计算出数据包对应的哈希值后,将获取的数据包对应的哈希值存储在第一哈希表中,直至满足预设第一条件。满足预设第一条件可以理解为获取当前时间与预设时间的差值,并且所述差值达到预设时长阈值。从第一时间到第二时间的这段时间内,电子设备获取的数据包对应的哈希值存储在第一哈希表,其中,第一时间为预设时间,第二时间为预设时间之后经过预设时长阈值所对应的时间。在这段时间内,电子设备获取的数据包对应的哈希值不会存入第二哈希表中,也可以理解为在这段时间内第二哈希表中存储的哈希值对应的所有TCP会话没有接收到新的数据包,因此当前时间与预设时间的差值达到预设时长阈值时即满足预设第一条件时,第二哈希表中存储的所有哈希值对应的数据包超时。第二哈希表中存储的所有哈希值对应的数据包超时也可以理解为数据包对应的TCP会话超时,TCP会话超时可以理解为该TCP会话长时间没有获取到新的数据包,则认为该TCP会话已经完成数据传输或者发生异常。在一种实施例中,电子设备获取数据包的哈希值还可以通过提取数据包的四元组、七元组等信息计算得到。在102中,清空第二哈希表存储的哈希值以及对应的TCP会话。若满足预设第一条件,则电子设备可以清空所述第二哈希表存储的哈希值以及对应的TCP会话。TCP会话可以包括多个数据包,清空TCP会话即是清空TCP会话包括的所有数据包。满足预设第一条件时,第二哈希表中存储的所有哈希值对应的数据包都超时,即第二哈希表中存储的所有哈希值对应的TCP会话都超时,因此可以删除第二哈希表存储的哈希值以及对应的TCP会话,可以释放资源,以保证系统内存稳定。在103中,获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第二哈希表中,直至满足预设第二条件。第二哈希表存储的哈希值以及对应的TCP会话被清空后,接下来电子设备获取的数据包对应的哈希值会存储在第二哈希表中。满足预设第二条件可以理本文档来自技高网...

【技术保护点】
1.一种TCP会话管理方法,应用于电子设备中,其特征在于,所述电子设备中配置有第一哈希表和第二哈希表,所述第一哈希表和所述第二哈希表用于存储TCP会话对应的哈希值,一个所述TCP会话包括至少一个数据包,所述方法包括:/n获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件;/n清空所述第二哈希表存储的哈希值以及对应的TCP会话;/n获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第二哈希表中,直至满足预设第二条件;/n清空所述第一哈希表存储的哈希值以及对应的TCP会话,并触发执行所述获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件的流程。/n

【技术特征摘要】
1.一种TCP会话管理方法,应用于电子设备中,其特征在于,所述电子设备中配置有第一哈希表和第二哈希表,所述第一哈希表和所述第二哈希表用于存储TCP会话对应的哈希值,一个所述TCP会话包括至少一个数据包,所述方法包括:
获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件;
清空所述第二哈希表存储的哈希值以及对应的TCP会话;
获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第二哈希表中,直至满足预设第二条件;
清空所述第一哈希表存储的哈希值以及对应的TCP会话,并触发执行所述获取数据包及其对应的哈希值,将所述获取的数据包对应的哈希值存储在所述第一哈希表中,直至满足预设第一条件的流程。


2.根据权利要求1所述的TCP会话管理方法,其特征在于,所述满足预设第一条件,包括:
获取当前时间与预设时间的差值;
若所述差值达到预设时长阈值,则确定满足预设第一条件;
所述满足预设第二条件,包括:
获取当前时间与所述预设时间的差值;
若所述差值达到2倍预设时长阈值,则确定满足预设第二条件,并将所述预设时间更新为当前时间。


3.根据权利要求1或2所述的TCP会话管理方法,其特征在于,所述将获取的数据包对应的哈希值存储在第一哈希表中,包括:
获取所述第一哈希表的第一标志位;
若所述第一标志位为第一值,则清空所述第一哈希表存储的哈希值以及对应的TCP会话,并将所述第一标志位设为第二值,将所述第二哈希表的第二标志位设为第一值;
若所述第一标志位为第二值,则将获取的数据包对应的哈希值存储在所述第一哈希表中;
所述获取数据包及其对应的哈希值,将获取的数据包对应的哈希值存储在所述第二哈希表中,包括:
获取所述第二哈希表的第二标志位;
若所述第二标志位为第一值,则清空所述第二哈希表存储的哈希值以及对应的TCP会话,并将所述第二标志位设为第二值,将所述第一哈希表的第一标志位设为第一值;
若所述第二标志位为第二值,则获取数据包及其对应的哈希值,将获取的数据包对应的哈希值存储在所述第二哈希表中。


4.根据权利要求1所述的TCP会话管理方法,其特征在于,所述将获取的数据包对应的哈希值存储在第一哈希表中包括:
判断所述第二哈希表中是否包括所述数据包对应的哈希值;
若是,则将所述数据包对应的哈希值存储在所述第一哈希表中,并将所述数据包对应的哈希值从所述第二哈希表中删除,以及更新所述数据包对应的TCP会话;
若否,则在所述第一哈希表中查找所述数据包对...

【专利技术属性】
技术研发人员:郭子亮
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

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

1