[发明专利]一种用于流媒体服务器的内存集中动态分配方法有效
申请号: | 201710175311.5 | 申请日: | 2017-03-22 |
公开(公告)号: | CN106991010B | 公开(公告)日: | 2019-11-08 |
发明(设计)人: | 谈精华;向煜;陈巍 | 申请(专利权)人: | 武汉虹信通信技术有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 严彦 |
地址: | 430073 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种用于流媒体服务器的内存集中动态分配方法,对不同的数据类型进行内存分配时,集中动态管理分配和释放,实现方式包括内存初始化时,传入内存块单元大小和内存块单元数量;对申请的内存块单元大小进行4位字节对齐运算;通过冒泡法对内存块单元大小进行从小到大的排序,将内存块单元大小相同的内存块单元进行合并;初始化内存池,遍历各内存块类型,配置内存块信息,针对当前内存块类型根据相应单元块数量遍历生成空闲内存块单元节点链表;根据需要,将已分配的内存池空闲空间分配给新节点,释放掉不需要的内存节点。本发明采用内存池的设计,对内存的分配与释放进行算集中管理,提高了系统运行的效率,减少了内存泄露的风险。 | ||
搜索关键词: | 一种 用于 流媒体 服务器 内存 集中 动态分配 方法 | ||
【主权项】:
1.一种用于流媒体服务器的内存集中动态分配方法,其特征在于:对不同的数据类型进行内存分配时,集中动态管理分配和释放,实现方式如下,步骤S1,内存初始化时,传入的参数包括内存块单元大小和内存块单元数量;步骤S2,对申请的内存块单元大小进行4位字节对齐运算;步骤S3,通过冒泡法对申请的各内存块单元相应内存块单元大小进行从小到大的排序,得到相应数组;对应的内存块单元数量也对应排序,得到相应数组;步骤S4,根据步骤S3所得申请的内存块单元大小相应数组和内存块单元数量相应数组,将内存块单元大小相同的内存块单元进行合并,每种内存块单元大小对应一种内存块类型,得到内存块类型分别相应单元块数量;步骤S5,分配内存池地址,初始化内存池,创建内存池互斥对象;根据步骤S4所得结果,遍历各内存块类型,配置内存块信息,针对当前内存块类型,根据相应单元块数量遍历生成空闲内存块单元节点链表;步骤S6,根据需要,将已分配的内存池空闲空间分配给新节点,释放掉不需要的内存节点;步骤S5中,遍历各内存块类型时,配置内存块信息如下,赋值内存块空间TBlockInfo的地址为内存池指向的内存空间地址加上当前i值,其中i为内存块类型;初始化内存块空间大小,赋值为内存块单元大小数组标号为i对应元素的值A(i);初始化内存块空间单元个数,设为内存块单元数量数组标号为i对应元素的值B(i);初始化可用单元为零,初始化已用单元个数为零;初始化内存块空间开始地址,包括分配大小为A(i)×B(i)的内存空间指向的地址;赋值内存块空间的结束地址,包括内存块空间开始地址加上A(i)×B(i)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉虹信通信技术有限责任公司,未经武汉虹信通信技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710175311.5/,转载请声明来源钻瓜专利网。