[发明专利]一种周期性大数据处理的内存管理方法及装置有效
申请号: | 201410338967.0 | 申请日: | 2014-07-16 |
公开(公告)号: | CN104090848B | 公开(公告)日: | 2017-03-08 |
发明(设计)人: | 郑家亮 | 申请(专利权)人: | 云南大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 昆明科阳知识产权代理事务所53111 | 代理人: | 李行健 |
地址: | 650000*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 周期性 数据处理 内存 管理 方法 装置 | ||
1.一种周期性大数据处理的内存管理方法,其特征在于其中内存分配管理包括正序分配、逆序分配以及静态内存管理与动态分配相结合,内存整理是将所管理的静态内存保持前段完全连续可用,未释放的数据逆序连续存放于末段。
2.如权利要求1所述的周期性大数据处理的内存管理方法,其特征在于按以下步骤:
M0:初始化阶段——根据应用程序所处理的数据的特点、计算机内存配置的容量大小、以及历史分配情况以及当前计算机可分配内存条件来确定预分配静态内存额,向操作系统申请分配一块较大的内存,该内存称为静态内存,然后建立内存分配记录表并初始化,初始化正向静态内存分配指针S103、正向分配当前位置指针S105、逆序分配指针S104、逆序分配当前位置指针S106;
M1:内存分配管理——应用系统内存需求上升期,在静态内存区中从S103顺序无空隙地向后分配,顺序分配指针S105向后移;静态内存不足以满足分配需求时,按应用系统实际申请分配的内存大小向操作系统申请动态内存,并记入内存分配记录表,经过一个大数据处理操作周期后,进入静态内存碎片整理期,残留内存数据移动整理时,需再分配静态内存空间,这个阶段的分配进入逆序分配,就是由S104开始分配,最终把所有静态内存中未释放的数据都移动到S104开始到S106的一段连续无空隙的静态内存区;
M2:动态碎片整理——一个大数据处理周期结束后进入碎片整理期,以备下一周期有连续的静态内存空间可供使用,残留内存数据向静态内存区末端移动;结合M1内存分配方法,对静态内存中未释放的内存进行逆序内存再分配并移动数据;通过内存分配记录表,判断残留数据量大小,如果残留数据大于静态内存总量的1/3时,在动态碎片整理完成后,向操作系统重新申请过渡内存区,将静态内存区末端存放数据的区域移动到过渡内存区以存放残留数据;
M3:内存释放——根据内存记录表处理内存释放操作,在静态内存区的释放操作,仅需修改使用状态标志;由操作系统动态分配的内存,修改标志并通知操作系统释放相应的内存。
3.如权利要求1所述的周期性大数据处理的内存管理方法,其特征在于M1内存需求上升期标志为:两次分配间隔不超过1秒的连续内存分配量达上次最大分配量的1/5,并且还在继续分配作为标志,静态内存碎片整理期以上升期结束10秒后,5秒以内连续释放总内存分配量的2/3为标志。
4.如权利要求1所述的周期性大数据处理的内存管理方法,其特征在于:M1正序分配和逆序分配共用一块连续的静态内存区,静态内存用完或超过时,S105指针等于或接近S106。
5.如权利要求1所述的周期性大数据处理的内存管理方法,其特征在于:M1分配内存时,如果需求内存量RequiredMemory+S105>S106时,向操作系统申请相应的内存。
6.一种周期性大数据处理的内存管理装置,其特征在于:包括包括初始化管理模块、内存分配管理模块、内存整理模块、操作过程监测模块、装置释放模块,
初始化模块根据应用需求、计算机内存配置、以及历史分配情况、当前计算机可分配内存条件确定预分配静态内存额,向操作系统申请分配,完成记录数据初始化;
内存分配管理模块,在内存需求上升期在静态内存区中顺序无空隙地向后分配,内存碎片整理期残留内存移动再分配时在静态内存空间由后向前分配,静态内存不足以满足分配需求时向操作系统申请动态内存,并统一管理;
内存整理模块,主要包括一个动态内存碎片整理程序,在一个大数据处理周期结果后进入碎片整理,以备下一周期有连续的静态内存空间可供使用,残留内存数据向静态内存区末端移动,如果残留数据过大则向操作系统重新申请过渡内存区来存放残留数据;
操作过程监测模块,用于动态判断内存整理模块运行启动的时机,即判断内存分配处理需求上升期、内存集中释放期的开始与结束时机,启动对应的内存分配方案以及内存整理模块中的动态内存碎片整理程序,并对由于判断不准确引起的小问题进行修正;
装置释放模块,释放所有由操作系统分配的动态内存,依次释放静态再分配内存,最后释放预分配的静态内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南大学,未经云南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410338967.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于多值逻辑电路的地址译码方法
- 下一篇:生成测试用例的方法