CN102147766A - 一种维护tcp流表结构和乱序缓冲区的方法 - Google Patents
一种维护tcp流表结构和乱序缓冲区的方法 Download PDFInfo
- Publication number
- CN102147766A CN102147766A CN2010105984348A CN201010598434A CN102147766A CN 102147766 A CN102147766 A CN 102147766A CN 2010105984348 A CN2010105984348 A CN 2010105984348A CN 201010598434 A CN201010598434 A CN 201010598434A CN 102147766 A CN102147766 A CN 102147766A
- Authority
- CN
- China
- Prior art keywords
- address
- order
- link
- formation
- connection
- 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
Links
Abstract
本发明提供了一种维护TCP流表结构和乱序缓冲区的方法,TCP连接管理系统使用片外存储器记录连接信息和乱序连接信息,为每个连接分配的内存空间大小相同,把每个连接的内存空间地址放在地址池中,建立连接时或者乱序时,从地址池中取出一个地址使用,释放连接时将该连接所占用地址回收至地址池。本发明充分利用内存空间,不导致浪费,只要用完就释放,可以被其他连接使用。
Description
技术领域
本发明涉及内存管理领域,具体涉及一种维护TCP流表结构和乱序缓冲区的方法。
背景技术
计算机软件在当今社会得到了越来越广泛的应用,一方面,计算机软件正在被应用于越来越多的领域当中;另一方面,计算机软件的用户也由原来的专业的计算机工程师,转变为现在的不同知识水平的广大用户。这就要求10计算机软件功能强大,但简单易用,这种要求直接导致计算机软件规模变大,复杂度增加,使得用户在应用计算机软件时,软件错误的发生率增加,其中,最主要、最常见的错误就是软件在进行内存访问时引起的错误。这种错误总体表现为两种形式:一种是读写地址引用错误;另一种是读写权限违反许可,这两种错误统称为非法内存访问。目前,非法内存访问会导致严重的不良后巧果:非法读内存,会引起数据引用出错,导致系统混乱;非法写内存,会破坏内存中的正常数据,严重时,还会导致系统瘫痪
板卡设计中,内存空间大小有限,增加内存空间相应也增加了成本,合理使用内存变得很重要。目前存在的连接管理系统中,将内存作为单表结构使用,每个结点存储一个连接信息,需要几十字节,某些结点不被使用,造成内存空间浪费严重。本系统使用双表结构,第一个表只记录连接信息表的地址信息,地址只需要几个字节,即便结点不被使用,空间浪费显然减少了10倍之多。
发明内容
本发明提供了一种维护TCP流表结构和乱序缓冲区的方法,步骤如下:
A、根据内存空间大小和用途,将记录连接信息的空间地址存入连接地址池中,将记录乱序连接信息的地址存入乱序缓冲区地址池中;
B、系统初始化后,从连接地址池和乱序缓冲区地址池中读出2K个地址分别存入两个先进先出缓冲区队列。
C、新建连接时,从连接地址队列中取出一个可用地址,并将连接信息写入该地址指向的缓冲区;
D、如果连接乱序,从乱序缓冲区队列中取出一个可用地址,将该地址和乱序连接信息提交乱序重排模块进行处理。
E、连接断开时,将分配给该TCP连接的连接地址和乱序缓冲区地址回收到接收释放地址缓冲区队列中。
F、检查可用地址队列快空信号和释放地址队列的快满信号,如果可用地址队列快空,从地址池中取地址,如果释放地址队列快满,回收地址到地址池中。
本发明充分利用内存空间,不导致浪费,只要用完就释放,可以被其他连接使用。
附图说明
图1为本发明原理图
具体实施方式
A、根据内存空间大小和用途,将记录连接信息的空间地址存入连接地址池中,将记录乱序连接信息的地址存入乱序缓冲区地址池中;
B、系统初始化后,从连接地址池和乱序缓冲区地址池中读出2K个地址分别存入两个先进先出缓冲区队列。
C、新建连接时,从连接地址队列中取出一个可用地址,并将连接信息写入该地址指向的缓冲区;
D、如果连接乱序,从乱序缓冲区队列中取出一个可用地址,将该地址和乱序连接信息提交乱序重排模块进行处理。
E、连接断开时,将分配给该TCP连接的连接地址和乱序缓冲区地址回收到接收释放地址缓冲区队列中。
F、检查可用地址队列快空信号和释放地址队列的快满信号,如果可用地址队列快空,从地址池中取地址,如果释放地址队列快满,回收地址到地址池中。
充分利用内存空间,不导致浪费,只要用完就释放,可以被其他连接使用。
Claims (1)
1.一种维护TCP流表结构和乱序缓冲区的方法,其特征在于:步骤如下:
A、根据内存空间大小和用途,将记录连接信息的空间地址存入连接地址池中,将记录乱序连接信息的地址存入乱序缓冲区地址池中;
B、系统初始化后,从连接地址池和乱序缓冲区地址池中读出2K个地址分别存入两个先进先出缓冲区队列。
C、新建连接时,从连接地址队列中取出一个可用地址,并将连接信息写入该地址指向的缓冲区;
D、如果连接乱序,从乱序缓冲区队列中取出一个可用地址,将该地址和乱序连接信息提交乱序重排模块进行处理。
E、连接断开时,将分配给该TCP连接的连接地址和乱序缓冲区地址回收到接收释放地址缓冲区队列中。
F、检查可用地址队列快空信号和释放地址队列的快满信号,如果可用地址队列快空,从地址池中取地址,如果释放地址队列快满,回收地址到地址池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010598434.8A CN102147766B (zh) | 2010-12-17 | 2010-12-17 | 一种维护tcp流表结构和乱序缓冲区的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010598434.8A CN102147766B (zh) | 2010-12-17 | 2010-12-17 | 一种维护tcp流表结构和乱序缓冲区的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102147766A true CN102147766A (zh) | 2011-08-10 |
CN102147766B CN102147766B (zh) | 2015-03-25 |
Family
ID=44422038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010598434.8A Active CN102147766B (zh) | 2010-12-17 | 2010-12-17 | 一种维护tcp流表结构和乱序缓冲区的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102147766B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739818A (zh) * | 2012-06-21 | 2012-10-17 | 华为技术有限公司 | 一种地址调度方法、装置及系统 |
WO2022147762A1 (zh) * | 2021-01-08 | 2022-07-14 | 华为技术有限公司 | 一种数据包排序方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0633531A1 (en) * | 1993-07-05 | 1995-01-11 | Nec Corporation | Memory management system and method |
US6272257B1 (en) * | 1997-04-30 | 2001-08-07 | Canon Kabushiki Kaisha | Decoder of variable length codes |
CN101605018A (zh) * | 2009-06-17 | 2009-12-16 | 中兴通讯股份有限公司 | 一种基于流的深度报文检测协议解码方法、设备及系统 |
-
2010
- 2010-12-17 CN CN201010598434.8A patent/CN102147766B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0633531A1 (en) * | 1993-07-05 | 1995-01-11 | Nec Corporation | Memory management system and method |
US6272257B1 (en) * | 1997-04-30 | 2001-08-07 | Canon Kabushiki Kaisha | Decoder of variable length codes |
CN101605018A (zh) * | 2009-06-17 | 2009-12-16 | 中兴通讯股份有限公司 | 一种基于流的深度报文检测协议解码方法、设备及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739818A (zh) * | 2012-06-21 | 2012-10-17 | 华为技术有限公司 | 一种地址调度方法、装置及系统 |
CN102739818B (zh) * | 2012-06-21 | 2015-05-27 | 华为技术有限公司 | 一种地址调度方法、装置及系统 |
WO2022147762A1 (zh) * | 2021-01-08 | 2022-07-14 | 华为技术有限公司 | 一种数据包排序方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102147766B (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102223394B (zh) | 用于提供远程直接存储设备访问的方法、服务器 | |
US10360176B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
CN102209103B (zh) | 向多个存储控制器多播写请求 | |
CN102347896B (zh) | 一种基于以太网加载fpga和dsp的平台及其实现方法 | |
US8990462B2 (en) | Storage device, computing system including the same and data transferring method thereof | |
US8874820B2 (en) | Mechanism for facilitating a configurable port-type peripheral component interconnect express/serial advanced technology attachment host controller architecture | |
US10802995B2 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
US8499308B2 (en) | Initiator notification method and apparatus | |
US8199759B2 (en) | Method and apparatus for enabling ID based streams over PCI express | |
US10540307B1 (en) | Providing an active/active front end by coupled controllers in a storage system | |
US20070008988A1 (en) | Enhanced network direct attached storage controller | |
CN105404596B (zh) | 一种数据传输方法、装置及系统 | |
US20150347012A1 (en) | System and method of interleaving data retrieved from first and second buffers | |
JP5514169B2 (ja) | 情報処理装置および情報処理方法 | |
WO2006083868A3 (en) | Including descriptor queue empty events in completion events | |
EP4310659A2 (en) | Non-volatile memory switch with host isolation | |
CN102819517A (zh) | Pcie接口卡 | |
US10198305B2 (en) | Managing a storage device using a hybrid controller | |
US8140724B1 (en) | SATA pass through port | |
US20130054885A1 (en) | Multiport memory element and semiconductor device and system including the same | |
US20170344510A1 (en) | Storage system, method, and apparatus for fast io on pcie devices | |
KR20100126500A (ko) | 포트 멀티플라이어 확장을 위한 방법과 장치와 시스템 | |
CN103929475B (zh) | 一种以太网架构的硬盘存储系统及硬盘数据操作方法 | |
US20100115152A1 (en) | Sending large command descriptor block (CDB) Structures in serial attached SCSI(SAS) controller | |
CN102147766A (zh) | 一种维护tcp流表结构和乱序缓冲区的方法 |
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: 20221207 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 |