[发明专利]一种降低系统内存分配释放冲突的方法有效
申请号: | 201710428101.2 | 申请日: | 2017-06-08 |
公开(公告)号: | CN107391253B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 刘马良;张强;李邦戈;潘亚楠;李星;刘鼎三 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 俞梁清 |
地址: | 519000 广东省珠*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 降低 系统 内存 分配 释放 冲突 方法 | ||
1.一种降低系统内存分配释放冲突的方法,其特征在于,该方法包括:
A.服务器启动时,创建由多个等同大小内存池组成的内存池组,初始化索引编号并设置下次被请求的内存池序号;
B.根据线程请求,分配所述步骤A设置的内存池序列号,并同时修改索引编号;
C.将已分配的内存池编号存储至内存块头部保留字段;
D.当已分配内存池释放时,获取保留字段中的内存池编号并发送至对应的内存池;
所述的步骤B还包括:
当服务器线程请求分配内存时,使用Index对应编号的内存池进行内存分配,并在被分配内存块中增加一个保留字段,以及,修改Index为(Index+1)(mod N);
当其他服务器线程再次请求分配内存时,自动循环分配后续编号的内存池。
2.根据权利要求1所述的降低系统内存分配释放冲突的方法,其特征在于,所述的步骤A还包括:
启动服务器进程,创建多个内存池,其内存池编号依次为[0,1,2...(N-1)],内存池编号为[0,1,2...(N-1)]中所有内存池组成一个内存池组,并为每个内存池组分配等同大小的内存空间;
创建与内存池对应的索引编号Index,使用Index记录下一次内存分配请求应该选择的内存池序号,并将Index初始化为0。
3.根据权利要求1所述的降低系统内存分配释放冲突的方法,其特征在于,所述的步骤D还包括:
服务器使用分配的内存存储用户请求的数据包和/或待发送给用户的响应包,当完成请求和/或响应处理后释放内存块,取出内存块中对应的内存池编号,并将取出的内存池编号对应的内存释放至[0,1,2...(N-1)]内存池组中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710428101.2/1.html,转载请声明来源钻瓜专利网。