[发明专利]一种TCP连接缓存应用数据的内存申请方法和系统有效
申请号: | 201110415220.7 | 申请日: | 2011-12-13 |
公开(公告)号: | CN102497431A | 公开(公告)日: | 2012-06-13 |
发明(设计)人: | 刘灿;刘朝辉;窦晓光;纪奎;邵宗有 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100084 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcp 连接 缓存 应用 数据 内存 申请 方法 系统 | ||
1.一种TCP连接缓存应用数据的方法,其包括如下步骤:
(1)初始化,根据应用规模为流缓存节点按多种尺度申请数个节点组成静态池,转步骤(2);
(2)流节点申请转步骤(3);流节点释放转步骤(7);
(3)从静态池中申请空闲节点,如果申请成功,则进入步骤(5),否则进入步骤(4);
(4)从操作系统申请动态流缓存节点,如果申请成功,则进入步骤(5),否则进入步骤(6);
(5)返回节点头指针,转步骤(11);
(6)返回空指针,转步骤(11);
(7)流缓存节点有动态申请标志转步骤(8),否则转步骤(9);
(8)静态池中,相同尺度的流缓存节点数小于设定阈值(如:1k个),转步骤
(9),否则转步骤(10);
(9)流缓存节点放入静态池中,转步骤(11);
(10)流缓存节点归还给操作系统,转步骤(11);
(11)结束;
其中,步骤1中所述的尺度包括三种,分别为:5k,1.5k,0.5k;步骤4中所述节点大小为静态中能满足需求最小的一种。
2.根据权利要求1所述的方法,其特征在于,步骤(3)中TCP连接从操作系统动态地申请获得固定长度len的缓冲区块。
3.根据权利要求1-2所述的方法,其特征在于,步骤(4)中TCP连接从操作系统动态地申请获得固定长度len的缓冲区块。
4.根据权利要求1-3所述的方法,其特征在于,步骤(7)~(10)中根据被释放节点的标识和静态池中相同尺度的节点个数确定节点由静态池回收还是操作系统回收。
5.根据权利要求1-4所述方法,其特征在于,所述TCP连接关闭或淘汰时,也采用节点回收的(7)~(10)模块来处理。
6.一种TCP连接缓存应用数据的内存申请的系统,其包括如下模块:
(1)初始化模块,根据应用规模为流缓存节点按多种尺度申请数个节点组成静态池;
(2)申请静态缓冲区块模块,流节点申请转模块(3);流节点释放转模块(7);
(3)从静态池中申请空闲节点,如果申请成功,则进入模块(5),否则进入模块(4);
(4)申请动态缓冲区模块,从操作系统申请动态流缓存节点,如果申请成功,则进入模块(5),否则进入模块(6);
(5)返回节点头指针,转模块(11);
(6)返回空指针,转模块(11);
(7)流缓存节点有动态申请标志转模块(8),否则转模块(9);
(8)静态池中,相同尺度的流缓存节点数小于设定阈值,转模块(9),否则转模块(10);
(9)流缓存节点放入静态池中,转模块(11);
(10)流缓存节点归还给操作系统,转模块(11);
(11)结束;
其中,初始化模块中所述的尺度包括三种,分别为:5k,1.5k,0.5k;申请动态缓冲区模块中所述节点大小为静态中能满足需求最小的一种。
7.根据权利要求6所述的系统,其特征在于,模块(3)中TCP连接从静态的缓存池中的空闲缓冲区链表中申请获得固定长度len的缓冲区块。
8.根据权利要求6-7所述的系统,其特征在于,模块(4)中TCP连接从动态的缓存池中的空闲缓冲区链表中申请获得固定长度len的缓冲区块。
9.根据权利要求6-8所述的系统,其特征在于,模块(7、8、9、10)中根据流缓冲节点的标志和静态缓冲池中的流缓存节点数,确定缓冲节点回收给静态池还是操作系统。
10.根据权利要求6-9所述系统,其特征在于,所述TCP连接关闭或淘汰时,也采用节点回收的(7)~(10)模块来处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110415220.7/1.html,转载请声明来源钻瓜专利网。