CN100451974C - 会话表管理方法及装置 - Google Patents
会话表管理方法及装置 Download PDFInfo
- Publication number
- CN100451974C CN100451974C CNB200710063821XA CN200710063821A CN100451974C CN 100451974 C CN100451974 C CN 100451974C CN B200710063821X A CNB200710063821X A CN B200710063821XA CN 200710063821 A CN200710063821 A CN 200710063821A CN 100451974 C CN100451974 C CN 100451974C
- Authority
- CN
- China
- Prior art keywords
- chained list
- node
- session
- idle
- list
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种会话表管理方法及装置,其中方法包括:从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点,各链表结点对应于会话表中空闲的各会话表项;当该业务CPU接收到会话报文需要进行会话信息存储时,直接根据其局部空闲链表结点获取对应的会话表项进行会话信息存储。装置包括:会话表项获取模块。通过本发明,完成了对会话表项的获取、匹配和释放。由于每个业务CPU都具有一个相应的局部空闲链表,且该局部空闲链表中链接有多个从全局空闲链表中获取的链表结点,各个业务CPU从属于自己的局部空闲链表中获取链表结点所对应的会话表项时,不需要与其他业务CPU进行同步操作,因此降低了系统负担,提高了系统效率。
Description
技术领域
本发明涉及一种会话表管理方法,尤其涉及一种对多CPU系统中的会话表进行管理的方法及装置。
背景技术
会话表是动态生成和动态变化的数据表,它记录了会话的状态和各种属性,是防火墙和入侵防护系统(Intrusion Prevention System,简称IPS)的核心部件。当一个会话的首报文进入防火墙或IPS时,首先匹配各种策略表,查询所要做的各种操作,然后创建会话表用于记录会话属性和相应操作。后续报文到达时直接匹配会话表,根据会话表中记录的操作直接进行相应处理。因此,会话表的管理效率对防火墙和IPS的性能至关重要。
在单核系统中,系统只具有单个CPU,通过内部调度机制对不同任务进行切换,因此同一时间只有一个任务在运行,因此不需要进行同步操作。相反,多CPU系统是包含有多个CPU的系统,各CPU之间并发运行多个任务。如图1所示,多CPU系统包括一个分发CPU、多个业务CPU和一个会话表。其中,分发CPU用于将接收到的会话报文分发给不同的业务CPU执行,业务CPU在执行会话报文过程中要并发访问会话表将会话报文与会话表项中的会话信息进行匹配。具体地,现有会话表中设置有全局空闲链表,其链表结点保存有会话表中所有空闲会话表项的内存地址。业务CPU访问会话表时,从全局空闲链表中获取一个链表结点链接在本业务CPU的局部链表中。接收到会话报文后根据该链表结点所指向的会话表项进行报文匹配。
现有技术的缺陷在于:为了保证全局空闲链表内容的一致性,要求各个业务CPU之间进行同步操作,即在同一时刻只能有一个业务CPU访问全局空闲链表。因此,所有业务CPU的同步操作增加了系统负担,从而对系统效率带来了影响。
发明内容
本发明的目的是提供一种减少由于多CPU系统中多个CPU进行同步操作而对系统效率带来的影响。
为实现上述目的,本发明提供了一种会话表管理方法,包括:
从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点,各链表结点对应于会话表中空闲的各会话表项;
当该业务CPU接收到会话报文需要进行会话信息存储时,直接根据其局部空闲链表结点获取对应的会话表项进行会话信息存储。
为实现上述目的,本发明还提供了一种会话表管理装置,包括:
会话表项获取模块,该模块用于从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点,该链表结点对应于会话表中空闲的各会话表项,各会话表项用于存储会话信息。
通过本发明,完成了对会话表项的获取、匹配和释放。由于每个业务CPU都具有一个相应的局部空闲链表,且该局部空闲链表中链接有多个从全局空闲链表中获取的链表结点,各个业务CPU从属于自己的局部空闲链表中获取链表结点所对应的会话表项时,不需要与其他业务CPU进行同步操作,因此降低了系统负担,提高了系统效率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为现有多CPU系统会话表管理原理示意图;
图2为本发明所述会话表管理方法的流程图;
图3为本发明所述会话表管理装置的结构示意图。
具体实施方式
实施例1
本实施例提供了一种会话表管理方法,如图2所示,
步骤101,从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点,每个局部空闲链表与每个业务CPU相对应。例如,可以获取10个链表结点。其中,链表是一种常见的数据结构,全局空闲链表以链表形式保存有会话表中未被占用的会话表项的内存地址。局部空闲链表是专门分配给每个业务CPU的链表,各链表结点对应于会话表中空闲的各会话表项。
步骤102,当业务CPU接收到会话报文需要进行会话信息存储时,直接根据该业务CPU的局部空闲链表的链表结点获取相应的会话表项,其他未被获取的会话表项仍然保存在该局部空闲链表中。如果该业务CPU的局部空闲链表中没有对应于相应会话表项的链表结点存在时,则获取会话表项失败,则再次执行步骤101,否执行步骤103。多CPU系统工作时,分发CPU将属于同一会话的会话报文分发给同一个业务CPU,该业务CPU首次收到该会话的会话报文时,需要生成会话信息存储于会话表项中。
步骤103,将生成的会话信息存储到获取的会话表项中。当该业务CPU接收到属于该会话的会话报文时,与该会话表项中存储的会话信息进行匹配。具体匹配过程,可以维护一个局部哈希(Hash)表,该业务CPU根据该局部哈希(Hash)表对会话表项的索引,实现对会话报文的匹配。由于该局部哈希(Hash)表是基于该业务CPU的局部空闲链表生成的,因此有利于减小哈希表的大小,节省系统资源。
步骤104,当需要释放会话表项时,该业务CPU将将释放的会话表项所对应的链表结点作为该业务CPU所属的局部空闲链表的链表结点,以完成会话表项的缓释放。
步骤105,当该业务CPU所对应的局部空闲链表中的链表结点数目超过预定的数目时,将该局部空闲链表中超过部分的链表结点返回给全局空闲链表。例如,可以预先指定当局部空闲链表中的链表结点个数多于15个时,将其中的10个返回给全局空闲链表。
另外需要说明的是,本实施例上述步骤之间并没有必然的顺序要求。例如,步骤105中,向全局空闲链表返回会话表项的步骤,不一定要等到步骤104之后才执行,只要局部空闲链表中的链表结点数目超过预定的数目就可以执行返回过程。
通过本实施例所述方法,完成了对会话表项的获取、匹配和释放。由于每个业务CPU都具有一个相应的局部空闲链表,且该局部空闲链表中链接有多个从全局空闲链表中获取的链表结点,各个业务CPU从属于自己的局部空闲链表中获取链表结点所对应的会话表项时,不需要与其他业务CPU进行同步操作,因此降低了系统负担,提高了系统效率。
实施例2
本实施例提供了一种会话表管理装置,用于多CPU系统中,如图3所示,该会话表管理装置20包括:会话表项获取模块21,会话表项缓释放模块22和会话表项返回模块23。
会话表项获取模块21从多CPU系统的全局空闲链表中获取多个链表结点链接作为各个业务CPU的局部空闲链表的链表结点,该链表结点对于会话表中空闲的各会话表项。例如,可以获取10个链表结点链接于各个业务CPU的局部空闲链表中。当业务CPU接收到会话报文需要进行会话信息存储时,直接根据该业务CPU的局部空闲链表的链表结点获取相应的会话表项,将生成的会话信息存储到获取的会话表项中,其他未被获取的会话表项仍然保存在该局部空闲链表中。
当该业务CPU接收到属于该会话的会话报文时,与该会话表项中存储的会话信息进行匹配。具体匹配过程,可以维护一个局部哈希(Hash)表,该业务CPU根据该局部哈希(Hash)表对会话表项的索引,实现对会话报文的匹配。由于该局部哈希(Hash)表是基于该业务CPU的局部空闲链表生成的,因此有利于减小哈希表的大小,节省系统资源。
当需要释放会话表项时,会话表项缓释放模块22将释放的会话表项所对应的链表结点作为该业务CPU所属的局部空闲链表的链表结点,以完成会话表项的缓释放。
当该业务CPU所对应的局部空闲链表中的链表结点数目超过预定的数目时,会话表项返回模块23将该局部空闲链表中超过部分的链表结点返回给全局空闲链表。例如,可以预先指定当局部空闲链表中的链表结点个数多于15个时,将其中的10个返回给全局空闲链表。
通过本实施例所述装置,能够完成对会话表项的获取、匹配和释放。由于每个业务CPU都具有一个相应的局部空闲链表,且该局部空闲链表中链接有多个从全局空闲链表中获取的链表结点,各个业务CPU从属于自己的局部空闲链表中获取链表结点所对应的会话表项时,不需要与其他业务CPU进行同步操作,因此降低了系统负担,提高了系统效率。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (6)
1、一种会话表管理方法,其特征在于包括:
从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点,各链表结点对应于会话表中空闲的各会话表项;
当该业务CPU接收到会话报文需要进行会话信息存储时,直接根据其局部空闲链表结点获取对应的会话表项进行会话信息存储;
当所述业务CPU所属的局部空闲链表的结点数目超过预定数目时,将其中超过部分的链表结点返回给全局空闲链表。
2、根据权利要求1所述的会话表管理方法,其特征在于:
所述进行从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点操作的条件是:该业务CPU的局部空闲链表中没有对应相应会话表项的链表结点存在。
3、根据权利要求1所述的会话表管理方法,其特征在于:
释放会话表项,将释放的会话表项所对应的链表结点作为该业务CPU所属的局部空闲链表的链表结点。
4、根据权利要求1或3所述的会话表管理方法,其特征在于:
所述业务CPU维护一个局部Hash表,根据该局部Hash表进行会话表项的索引。
5、一种会话表管理装置,其特征在于:该装置包括:
会话表项获取模块,该模块用于从全局空闲链表中获取多个链表结点作为业务CPU局部空闲链表的链表结点,该链表结点对应于会话表中空闲的各会话表项,各会话表项用于存储会话信息;
会话表项返回模块,该模块判断所述业务CPU所属的局部空闲链表的结点数目超过预定数目时,将其中超过部分的链表结点返回给全局空闲链表。
6、根据权利要求5所述的会话表管理装置,其特征在于:该装置还包括:会话表项缓释放模块,该模块释放会话表项,将释放的会话表项所对应的链表结点作为该业务CPU所属的局部空闲链表的链表结点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710063821XA CN100451974C (zh) | 2007-02-12 | 2007-02-12 | 会话表管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710063821XA CN100451974C (zh) | 2007-02-12 | 2007-02-12 | 会话表管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101013382A CN101013382A (zh) | 2007-08-08 |
CN100451974C true CN100451974C (zh) | 2009-01-14 |
Family
ID=38700914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200710063821XA Expired - Fee Related CN100451974C (zh) | 2007-02-12 | 2007-02-12 | 会话表管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100451974C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304389B (zh) * | 2008-06-20 | 2011-12-07 | 成都市华为赛门铁克科技有限公司 | 报文处理方法、装置和系统 |
CN104484089A (zh) * | 2014-12-11 | 2015-04-01 | 上海斐讯数据通信技术有限公司 | 应用程序图标的显示方法 |
CN106789617B (zh) * | 2016-12-22 | 2020-03-06 | 东软集团股份有限公司 | 一种报文转发方法及装置 |
CN108471397B (zh) * | 2018-01-31 | 2020-12-15 | 华为技术有限公司 | 防火墙配置、报文发送方法和装置 |
CN110138662B (zh) * | 2019-05-08 | 2021-09-14 | 东软集团股份有限公司 | 多核系统中的会话表项处理方法、装置及多核系统 |
CN116436855B (zh) * | 2023-06-12 | 2023-09-12 | 建信金融科技有限责任公司 | 数据信息处理方法、装置、电子设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717884A (en) * | 1996-02-02 | 1998-02-10 | Storage Technology Corporation | Method and apparatus for cache management |
US6430580B1 (en) * | 1998-06-30 | 2002-08-06 | International Business Machines Corporation | Method of replication-based garbage collection in a multiprocessor system |
US20040165610A1 (en) * | 2003-02-26 | 2004-08-26 | International Business Machines Corporation | System and method for efficient replication and distribution of data objects |
-
2007
- 2007-02-12 CN CNB200710063821XA patent/CN100451974C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717884A (en) * | 1996-02-02 | 1998-02-10 | Storage Technology Corporation | Method and apparatus for cache management |
US6430580B1 (en) * | 1998-06-30 | 2002-08-06 | International Business Machines Corporation | Method of replication-based garbage collection in a multiprocessor system |
US20040165610A1 (en) * | 2003-02-26 | 2004-08-26 | International Business Machines Corporation | System and method for efficient replication and distribution of data objects |
Also Published As
Publication number | Publication date |
---|---|
CN101013382A (zh) | 2007-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100451974C (zh) | 会话表管理方法及装置 | |
CN100489814C (zh) | 一种共享缓存系统及实现方法 | |
US8626955B2 (en) | Directing packets to a processor unit | |
CN103412786A (zh) | 一种高性能服务器架构系统及数据处理方法 | |
WO2017092384A1 (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN103810115A (zh) | 一种内存池的管理方法和装置 | |
CN205430501U (zh) | 移动终端网络广告视频和正片视频无缝切换装置 | |
CN101414973B (zh) | 一种传输数据包的方法及装置 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
US9407447B2 (en) | Multicast message replication method and device | |
CN104572498A (zh) | 报文的缓存管理方法和装置 | |
CN105930357A (zh) | 分布式文件系统及数据节点数据存储处理的方法、装置 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN102402544A (zh) | 一种附件共享的方法、装置及业务系统 | |
CN110519354A (zh) | 一种分布式对象存储系统及其业务处理方法和存储介质 | |
CN102541693A (zh) | 数据的多副本存储管理方法和系统 | |
CN103581024A (zh) | Mac地址硬件与软件相结合的学习方法及装置 | |
CN101526959B (zh) | 一种数据存储方法和装置 | |
CN102917036A (zh) | 一种基于Memcached的分布式缓存数据同步实现方法 | |
CN109617821B (zh) | 一种组播报文的传输方法、主控板及设备 | |
Delaët et al. | Snap-stabilization in message-passing systems | |
WO2023155591A1 (zh) | 进度信息管控方法、微服务装置、电子设备及存储介质 | |
CN114024844B (zh) | 数据调度方法、数据调度装置及电子设备 | |
CN103853504B (zh) | 一种缓存系统数据存取方法 | |
CN114564458B (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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090114 Termination date: 20200212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |