[发明专利]数据管理方法、装置、系统、存储介质及电子设备有效
申请号: | 201711449172.7 | 申请日: | 2017-12-27 |
公开(公告)号: | CN108121813B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 柳扬;陈小刚 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F12/1009;G06F12/109 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 南毅宁;魏嘉熹 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据管理 方法 装置 系统 存储 介质 电子设备 | ||
1.一种数据管理方法,其特征在于,所述方法应用于数据库的存储引擎,所述方法包括:
预先将所述数据库的数据库文件映射到数据库进程虚拟地址空间的映射空间区,其中,所述数据库文件位于非易失随机访问存储器的文件系统中,所述映射空间区由若干动态块组成,每个动态块包含一个或多个页,所述页为可分配的最小单元,部分或所有动态块的空闲内存片段作为链表元素存在于两个或两个以上的链表中,一个空闲内存片段对应一个链表元素,不同链表用于存放内存大小在不同范围区间的空闲内存片段,所述不同链表由数组的若干数组元素形成索引;
响应于接收到分配空闲内存的分配请求,根据所述数组形成的索引,在所述两个或两个以上的链表中查找空闲内存片段大小足够所述分配请求的链表元素;
将查找出的所述链表元素对应的空闲内存片段分配给所述分配请求,以及将所述链表元素从其所在链表删除;
所述方法还包括:
响应于存在需要释放的空闲内存片段,根据所述数组形成的索引,将要释放的空闲内存片段作为链表元素插入内存大小范围区间与要释放的空闲内存片段大小相应的链表;
所述映射空间区的所有动态块顺序连接;
所述根据所述数组形成的索引,将要释放的空闲内存片段作为链表元素插入内存大小范围区间与要释放的空闲内存片段大小相应的链表包括:
判断要释放的空闲内存片段大小是否为页的整数倍;
如果不是整数倍,将所述要释放的空闲内存片段所在的动态块拆分为空闲内存片段占一页的部分空间的第一动态块、及空闲内存片段占页的整数倍的第二动态块,其中,所述第二动态块位于所述第一动态块之后,所述第二动态块与被拆分的动态块的下一动态块连接;
根据所述数组形成的索引,将所述第一动态块的空闲内存片段作为链表元素插入内存大小范围区间与所述第一动态块的空闲内存片段大小相应的链表中;
如果是整数倍,将所述要释放的空闲内存片段视为第二动态块;
判断所述第二动态块的空闲内存段与其连接的后继动态块是否形成连续空闲空间;
如果未形成连续空闲空间,则根据所述数组形成的索引,将所述第二动态块的空闲内存片段作为链表元素插入内存大小范围区间与所述第二动态块的空闲内存片段大小相应的链表中;
如果形成连续空闲空间,则将所述第二动态块与其形成连续空闲空间的后继动态块合并为一个第三动态块;
判断所述第三动态块是否可拆分为符合不同链表内存范围的多个动态块;
如果可拆分,将所述第三动态块拆分为符合不同链表内存范围的多个动态块,根据所述数组形成的索引,将拆分出的各个动态块的空闲内存片段分别作为链表元素插入内存大小范围区间与各个动态块的空闲内存片段大小相应的链表中;
如果不可拆分,根据所述数组形成的索引,将所述第三动态块的空闲内存片段作为链表元素插入内存大小范围区间与所述第三动态块的空闲内存片段大小相应的链表中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果在所述两个或两个以上的链表中查找不到空闲内存片段大小足够所述分配请求的链表元素,则在所述映射空间尚未加入链表的动态块中,查找出含有的页足够所述分配请求的动态块,根据所述分配请求要求分配的空闲空间,将查找出的动态块相应大小的若干页分配给所述分配请求;
如果查找出的动态块在分配后仍有剩余空闲页,将所述剩余空闲页作为要释放的空闲内存片段,进入所述根据数组形成的索引,将要释放的空闲内存片段作为链表元素插入内存大小范围区间与要释放的空闲内存片段大小相应的链表的步骤。
3.根据权利要求1所述的方法,其特征在于,所述数组的一个数组元素指向一个链表,所述数组的第N个数组元素指向第N个链表,所述第N个链表的每个链表元素用于存放内存大小在大于等于2N且小于2(N+1)的空闲内存片段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711449172.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用程序接口缓存管理方法、应用服务器及存储介质
- 下一篇:动画捕捉管理系统