CN102098288A - 一种采用静态链表构造tcp节点池优化tcp连接管理的方法 - Google Patents

一种采用静态链表构造tcp节点池优化tcp连接管理的方法 Download PDF

Info

Publication number
CN102098288A
CN102098288A CN2010105977876A CN201010597787A CN102098288A CN 102098288 A CN102098288 A CN 102098288A CN 2010105977876 A CN2010105977876 A CN 2010105977876A CN 201010597787 A CN201010597787 A CN 201010597787A CN 102098288 A CN102098288 A CN 102098288A
Authority
CN
China
Prior art keywords
tcp
node
pool
node pool
hash
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.)
Granted
Application number
CN2010105977876A
Other languages
English (en)
Other versions
CN102098288B (zh
Inventor
刘朝辉
窦晓光
纪奎
刘灿
李锋伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Network Technology Co ltd
Original Assignee
TIANJIN SUGON COMPUTER INDUSTRY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TIANJIN SUGON COMPUTER INDUSTRY Co Ltd filed Critical TIANJIN SUGON COMPUTER INDUSTRY Co Ltd
Priority to CN201010597787.6A priority Critical patent/CN102098288B/zh
Publication of CN102098288A publication Critical patent/CN102098288A/zh
Application granted granted Critical
Publication of CN102098288B publication Critical patent/CN102098288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种采用静态链表构造TCP节点池优化TCP连接管理的方法。连接管理结构包括TCP并发连接hash表和TCP节点池,在系统开始时一次申请所有TCP节点需要的内存,并串联在一个静态链表中,形成一个TCP节点池,当一个TCP连接建立时,只需要从节点池中取出一个节点挂到hash表中,当一个TCP连接删除时,只需要把该TCP节点从hash表摘下放回节点池,避免系统运行过程中,频繁新建和关闭TCP连接时的内存申请和释放操作,提高TCP连接管理系统的效率。

Description

一种采用静态链表构造TCP节点池优化TCP连接管理的方法
技术领域
本发明涉及网络数据处理领域,具体涉及一种采用静态链表构造TCP节点池优化TCP连接管理的方法。
背景技术
TCP连接管理是TCP协议栈处理的重要内容,需要使用一个并发TCP连接表,保存当前的每个TCP连接,当一个新的TCP连接建立时,需要在TCP连接表中新建一个表项,当一个TCP连接关闭时,需要把该连接表项从并发连接表中删除。
在高速网络监测系统上,往往需要管理百万到千万个并发连接,TCP连接的建立和删除十分频繁,每秒钟内新建和关闭的连接数有时高达几十万个,每次新建和关闭连接都要申请和释放TCP节点结构,也就是说要频繁进行小内存的申请和释放,这会明显降低整个系统的效率。
专利号200710178168.1公开了一种互联网旁路监测系统的TCP连接管理方法,因为每个报文都要查找TCP连接表,所以在有大量的并发的TCP连接的情况下,大容量的TCP连接表必须使用hash表以提高查找效率。因为并发的TCP连接数是动态变化的,所以在hash表初始化时,没有给每个表项分配保存TCP连接信息的数据结构,而是用一个动态申请的TCP节点数据结构来保存TCP连接信息,当一个TCP连接建立或删除时,需要动态申请或释放一个TCP节点的内存。
发明内容
本发明的目的是减少避免新建和关闭TCP连接时的内存申请和释放操作。
一种采用静态链表构造TCP节点池优化TCP连接管理的方法,包括TCP并发连接hash表和TCP节点池,步骤如下:
A、申请内存,初始化保存TCP连接的hash表,每个hash表项指向TCP节点的索引指针设为-1,表示未分配的节点;
B、根据系统需要支持的最大并发TCP连接数,初始化时一次申请下所有TCP节点需要的内存,构造连续的TCP节点数组,每个TCP节点通过一个后继节点的索引指针连接起来,形成一个节点链表;
C、当TCP连接表中分配了一个hash表项,需要新建一个TCP连接时,就从TCP节点池的可用节点链表表头,摘下一个节点,把hash表项的节点索引指针设置为指向该节点的索引;
D、当TCP连接表中需要关闭一个TCP连接时,就把该连接的hash表项指向的TCP节点索引取出,从TCP节点池中找到该节点,把该节点连接到TCP可用节点链表表头,同时把hash表项的节点索引指针设置为-1,表示该表项没有分配TCP节点;
E、退出时释放TCP连接表和节点池内存。
本发明的一种优选技术方案在于:所述TCP并发连接表使用hash表结构实现,每个表项的指向是指向TCP节点结构的指针;所述TCP节点池使用静态链表构造,在内存分配时,节点池是连续的静态内存的TCP节点构成的数组,只在系统初始化时申请一次,节点池中的每个可用的TCP节点通过节点索引连成一个链表,可以动态的从节点池取出或放回。
本发明采用静态链表构造和hash表结合,在系统开始时一次申请所有TCP节点需要的内存,并串联在一个静态链表中,形成一个TCP节点池,当一个TCP连接建立时,只需要从节点池中取出一个节点挂到hash表中,当一个TCP连接删除时,只需要把该TCP节点从hash表摘下放回节点池,避免系统运行过程中,频繁新建和关闭TCP连接时的内存申请和释放操作,提高TCP连接管理系统的效率。
附图说明
图1是本发明连接表和节点池结构图
具体实施方式
本发明的TCP管理功能有两部分构成,一个是TCP并发连接表,另一个是TCP节点池。
连接表使用hash表结构实现,每个表项指向是指向TCP节点结构的指针。
TCP节点池使用静态链表构造,在内存分配时,节点池是连续的静态内存的TCP节点构成的数组,只在系统初始化时申请一次;节点池中的每个可用的TCP节点通过节点索引联成一个链表,可以动态的从节点池取出或放回。
TCP连接管理的方法和过程如下:
(1)系统开始时初始化TCP连接表。
申请内存,初始化保存TCP连接的hash表,每个hash表项指向TCP节点的索引指针设为-1,表示未分配节点。
(2)系统开始时初始化TCP节点池。
根据系统需要支持的最大并发TCP连接数,初始化时一次申请下所有TCP节点需要的内存,构造连续的TCP节点数组,每个TCP节点通过一个后继节点的索引指针连结起来,形成一个可用节点链表。
(3)新建TCP连接时分配TCP节点。
当TCP连接表中分配了一个hash表项,需要新建一个TCP连接时,就从TCP节点池的可用节点链表表头,摘下一个节点,把hash表项的节点索引指针设置为指向该节点的索引。
(4)关闭TCP连接时释放TCP节点。
当TCP连接表中需要关闭一个TCP连接时,就把该连接的hash表项指向的TCP节点索引取出,从TCP节点池中找到该节点,把该节点链接到TCP可用节点链表表头,同时,把hash表项的节点索引指针设置为-1,表示该表项没有分配TCP节点。
(5)系统退出时释放TCP连接表和节点池内存。

Claims (2)

1.一种采用静态链表构造TCP节点池优化TCP连接管理的方法,其特征在于:包括TCP并发连接hash表和TCP节点池,步骤如下:
A、申请内存,初始化保存TCP连接的hash表,每个hash表项指向TCP节点的索引指针设为-1,表示未分配的节点;
B、根据系统需要支持的最大并发TCP连接数,初始化时一次申请下所有TCP节点需要的内存,构造连续的TCP节点数组,每个TCP节点通过一个后继节点的索引指针连接起来,形成一个节点链表;
C、当TCP连接表中分配了一个hash表项,需要新建一个TCP连接时,就从TCP节点池的可用节点链表表头,摘下一个节点,把hash表项的节点索引指针没置为指向该节点的索引;
D、当TCP连接表中需要关闭一个TCP连接时,就把该连接的hash表项指向的TCP节点索引取出,从TCP节点池中找到该节点,把该节点连接到TCP可用节点链表表头,同时把hash表项的节点索引指针设置为-1,表示该表项没有分配TCP节点;
E、退出时释放TCP连接表和节点池内存。
2.如权利要求1所述一种采用静态链表构造TCP节点池优化TCP连接管理的方法,其特征在于:所述TCP并发连接表使用hash表结构实现,每个表项的指向是指向TCP节点结构的指针;所述TCP节点池使用静态链表构造,在内存分配时,节点池是连续的静态内存的TCP节点构成的数组,只在系统初始化时申请一次,节点池中的每个可用的TCP节点通过节点索引连成一个链表,可以动态的从节点池取出或放回。
CN201010597787.6A 2010-12-17 2010-12-17 一种采用静态链表构造tcp节点池优化tcp连接管理的方法 Active CN102098288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010597787.6A CN102098288B (zh) 2010-12-17 2010-12-17 一种采用静态链表构造tcp节点池优化tcp连接管理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010597787.6A CN102098288B (zh) 2010-12-17 2010-12-17 一种采用静态链表构造tcp节点池优化tcp连接管理的方法

Publications (2)

Publication Number Publication Date
CN102098288A true CN102098288A (zh) 2011-06-15
CN102098288B CN102098288B (zh) 2014-01-22

Family

ID=44131151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010597787.6A Active CN102098288B (zh) 2010-12-17 2010-12-17 一种采用静态链表构造tcp节点池优化tcp连接管理的方法

Country Status (1)

Country Link
CN (1) CN102098288B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363175A (zh) * 2014-11-21 2015-02-18 迈普通信技术股份有限公司 一种资源表构建方法和装置
CN109634966A (zh) * 2018-12-17 2019-04-16 广州天懋信息系统股份有限公司 基于哈希算法的千万级网络会话表管理方法、系统、介质和设备
CN109918203A (zh) * 2019-03-18 2019-06-21 深圳市网心科技有限公司 接入服务器内存管理优化方法、接入服务器及通信系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168281A1 (en) * 2003-12-05 2006-07-27 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
CN1940922A (zh) * 2005-09-30 2007-04-04 腾讯科技(深圳)有限公司 一种提高搜索信息速度的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168281A1 (en) * 2003-12-05 2006-07-27 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
CN1940922A (zh) * 2005-09-30 2007-04-04 腾讯科技(深圳)有限公司 一种提高搜索信息速度的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363175A (zh) * 2014-11-21 2015-02-18 迈普通信技术股份有限公司 一种资源表构建方法和装置
CN109634966A (zh) * 2018-12-17 2019-04-16 广州天懋信息系统股份有限公司 基于哈希算法的千万级网络会话表管理方法、系统、介质和设备
CN109918203A (zh) * 2019-03-18 2019-06-21 深圳市网心科技有限公司 接入服务器内存管理优化方法、接入服务器及通信系统

Also Published As

Publication number Publication date
CN102098288B (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN103488704B (zh) 一种数据存储方法及装置
CN103905311B (zh) 流表匹配方法和装置以及交换机
US20160117115A1 (en) Disk partition stitching and rebalancing using a partition table
CN105447014B (zh) 基于binlog的元数据管理方法和用于提供元数据的方法及装置
CN104462185B (zh) 一种基于混合结构的数字图书馆云存储系统
RU2005120652A (ru) Способы развертывания и свертывания для обеспечения управления свойствами файлов между системами объектов
CN105868033A (zh) 基于Redis实现优先级消息队列的方法及系统
CN102033882B (zh) 一种性能数据的存储方法及系统
CN105205143B (zh) 一种文件存储及处理方法、设备和系统
CN104462549A (zh) 一种数据处理方法和装置
CN103688257B (zh) 元数据管理方法和装置
CN102098288B (zh) 一种采用静态链表构造tcp节点池优化tcp连接管理的方法
CN102546823A (zh) 一种云存储系统的文件存储管理系统
CN102663007A (zh) 一种支持敏捷开发和横向扩展的数据存储与查询方法
CN107026876A (zh) 一种文件数据访问系统及方法
CN103324763A (zh) 一种手机端树形数据结构的展现方法
CN101707513A (zh) 基于正则表达式的深度包检测方法及设备
CN106230938A (zh) 一种客户端与服务器之间的目录信息同步方法及系统
CN102520994A (zh) 流式加载虚拟文件方法及系统
CN106156227A (zh) 一种数据传输方法及装置
CN102663020A (zh) 一种cdc数据分发方法和装置
CN109885423A (zh) 一种区块链源数据备份方法
CN102567419A (zh) 基于树结构的海量数据存储装置及方法
CN106384292A (zh) 社交网络用户关系采集系统及方法
CN107423321A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221219

Address after: 430040 NO.666, Wuhuan Avenue, linkonggang economic and Technological Development Zone, Wuhan City, Hubei Province (10)

Patentee after: Dawning Network Technology Co.,Ltd.

Address before: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street.

Patentee before: DAWNING INFORMATION INDUSTRY Co.,Ltd.

TR01 Transfer of patent right