[发明专利]内存管理方法及系统有效
| 申请号: | 201610073294.X | 申请日: | 2016-02-02 |
| 公开(公告)号: | CN105786616B | 公开(公告)日: | 2019-03-12 |
| 发明(设计)人: | 宋鑫;张钦;朱仲颖 | 申请(专利权)人: | 上海达梦数据库有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆;胡彬 |
| 地址: | 201203 上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 管理 方法 系统 | ||
本发明提供一种内存管理方法及系统。根据所述方法,所述系统按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之间的逻辑处理关系;将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前优先级;从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中;释放当前优先级对应的内存段;将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,直至所述待处理语句处理完成。本发明能够提高内存使用效率。
技术领域
本发明涉及计算机处理领域,尤其涉及一种内存管理方法及系统。
背景技术
内存管理对于一个大型系统有着至关重要的影响,占用大量的内存和频繁的内存申请都会加重系统的负担,最终导致系统的运行效率下降。
现有的内存管理基本原则为:减少向操作系统分配内存的次数,即一次申请多次利用。一般的方式采用一次性向操作系统分配一个大的内存,并准备两个链表;将此大内存划分为多个小内存块,所有的小内存块加入空闲链表,系统使用的时候从空闲链表中摘除,放入工作链表,使用完之后再次放回空闲链表;在对链表操作时,需要先上锁保护共享资源。
当进行复杂运算、或数据处理时,系统仅以复杂运算的处理过程为整体,提供一个较大的内存空间,并利用链表方式维护所提供的内存空间,但却未能细化内存空间的使用,使得复杂运算过程中对该内存空间的管理不够精细,内存使用率低。
发明内容
本发明提供一种内存管理方法及系统,用于解决现有技术中复杂运算、或数据处理过程中未提供有针对性的内存管理的问题。
为解决上述问题,本发明提供一种内存管理方法,包括:按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之间的逻辑处理关系;将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前优先级;从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中;释放当前优先级对应的内存段;将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,直至所述待处理语句处理完成。
优选地,所述待处理语句包括:数据库语句和/或逻辑运算语句。
优选地,将所述待处理语句逐级分解成多个子语句之前,还包括:按照待处理语句中的处理标识的优先级,将待处理语句中子语句和处理标识基于二叉树结构进行设置。
优选地,采用内存堆栈作为各内存段。
优选地,所述将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中包括:将分解后同一优先级的多个处理标识,以及所连接的子语句按照优先级保存在同一内存段中。
优选地,所述内存段包括:工作区域和输出区域;则从当前优先级对应的内存段中读取包含处理标识的子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中包括:从当前优先级对应的内存段的工作区域中读取包含处理标识的子语句,进行语句处理,获得处理结果;将所述处理结果保存在当前优先级对应的内存段的输出区域中,并传递至下一优先级对应的内存段的工作区域中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610073294.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于redis与RDMA技术的调度平台
- 下一篇:应用打开方法及系统





