内存管理方法及系统技术方案

技术编号:13378495 阅读:113 留言:0更新日期:2016-07-21 07:31
本发明专利技术提供一种内存管理方法及系统。根据所述方法,所述系统按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之间的逻辑处理关系;将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前优先级;从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中;释放当前优先级对应的内存段;将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,直至所述待处理语句处理完成。本发明专利技术能够提高内存使用效率。

【技术实现步骤摘要】

本专利技术涉及计算机处理领域,尤其涉及一种内存管理方法及系统
技术介绍
内存管理对于一个大型系统有着至关重要的影响,占用大量的内存和频繁的内存申请都会加重系统的负担,最终导致系统的运行效率下降。现有的内存管理基本原则为:减少向操作系统分配内存的次数,即一次申请多次利用。一般的方式采用一次性向操作系统分配一个大的内存,并准备两个链表;将此大内存划分为多个小内存块,所有的小内存块加入空闲链表,系统使用的时候从空闲链表中摘除,放入工作链表,使用完之后再次放回空闲链表;在对链表操作时,需要先上锁保护共享资源。当进行复杂运算、或数据处理时,系统仅以复杂运算的处理过程为整体,提供一个较大的内存空间,并利用链表方式维护所提供的内存空间,但却未能细化内存空间的使用,使得复杂运算过程中对该内存空间的管理不够精细,内存使用率低。
技术实现思路
本专利技术提供一种内存管理方法及系统,用于解决现有技术中复杂运算、或数据处理过程中未提供有针对性的内存管理的问题。为解决上述问题,本专利技术提供一种内存管理方法,包括:按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之间的逻辑处理关系;将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前优先级;从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中;释放当前优先级对应的内存段;将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,直至所述待处理语句处理完成。优选地,所述待处理语句包括:数据库语句和/或逻辑运算语句。优选地,将所述待处理语句逐级分解成多个子语句之前,还包括:按照待处理语句中的处理标识的优先级,将待处理语句中子语句和处理标识基于二叉树结构进行设置。优选地,采用内存堆栈作为各内存段。优选地,所述将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中包括:将分解后同一优先级的多个处理标识,以及所连接的子语句按照优先级保存在同一内存段中。优选地,所述内存段包括:工作区域和输出区域;则从当前优先级对应的内存段中读取包含处理标识的子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中包括:从当前优先级对应的内存段的工作区域中读取包含处理标识的子语句,进行语句处理,获得处理结果;将所述处理结果保存在当前优先级对应的内存段的输出区域中,并传递至下一优先级对应的内存段的工作区域中。优选地,所述从当前优先级对应的内存段中读取包含处理标识的子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中包括:从当前优先级对应的内存段中读取由多个处理标识连接的子语句;判断所述子语句的多种处理方式中是否有符合存储在预先单独开辟的内存段中的优选处理方式;若是,则按照所符合的优选方式,来进行语句处理,获得处理结果;若否,则组合所述子语句的处理方式,并按照各处理方式分别进行语句处理;统计各处理方式的处理性能,并将优选的处理方式保存在所述预先单独开辟的内存段中。优选地,所述内存段中包含临时区域,则所述组合子语句的处理方式,并按照各处理方式分别进行语句处理包括:若至少两个处理方式中包含相同处理部分,则将所述相同处理部分进行处理,获得临时处理结果并保存在所述临时区域中;利用所述临时区域中的各临时处理结果和所对应的各处理方式,分别进行语句处理。基于上述目的,本专利技术还提供一种内存管理系统,包括:语句分解模块,用于按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之间的逻辑处理关系;内存保存模块,用于将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;语句处理模块,用于根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前优先级;从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中;内存释放模块,用于释放当前优先级对应的内存段,并通知所述语句处理模块;所述语句处理模块还用于将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,直至所述待处理语句处理完成。优选地,所述内存段包括:工作区域和输出区域;则所述语句处理模块用于从当前优先级对应的内存段的工作区域中读取包含处理标识的子语句,进行语句处理,获得处理结果;以及,将所述处理结果保存在当前优先级对应的内存段的输出区域中,并传递至下一优先级对应的内存段的工作区域中。如上所述,本专利技术的内存管理方法及系统,具有以下有益效果:通过将复杂的语句按照处理标识的优先级进行分解缓存,再逐级计算、释放内存段,如此实现了对复杂语句内存的分段管理,能够及时释放语句处理过程中占用的内存;另外,利用二叉树结构设置子语句和处理标识,能够提高确定用于存放各子语句的内存段的效率;另外,采用内存堆栈能够解决为各内存段设置工作链表的操作,进一步提高计算机的执行效率;还有,将分解后同一优先级的多个处理标识,以及所连接的子语句按照优先级保存在同一内存段中,有利于减少内存段的寻址次数,提高寻址效率;再者,将各内存段进行分区域管理,实现内存段的流水化作业,提高了处理器和内存之间的交互效率;还有,预存储位于同一内存段中的子语句的处理方式,有利于子语句在重复执行时,以提供最优的处理性能;此外,设置临时区域,有利于在选择处理方式过程中减少处理器的重复运算。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本专利技术实施例的内容和这些附图获得其他的附图。图1是本专利技术的内存管理方法的一个实施例的方法流程图。图2是本专利技术的内存管理方法中分解语句的一个实施例的分解示意图。图3是本专利技术的内存管理方法中步骤S4的一个实施例的方法流程图。图4是本专利技术的专利技术名称的又一个实施例的结构方框图。具体实施方式为使本专利技术解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本专利技术实施本文档来自技高网...

【技术保护点】
一种内存管理方法,其特征在于,包括:按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之间的逻辑处理关系;将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前优先级;从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的内存段中;释放当前优先级对应的内存段;将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,直至所述待处理语句处理完成。

【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:
按照待处理语句中处理标识的处理次序优先级由低到高的顺序,将所述待
处理语句逐级分解成多个子语句,其中,所述处理标识用于标识同级子语句之
间的逻辑处理关系;
将分解后的各级含有处理标识的子语句按照优先级保存在多个内存段中;
根据处理标识的处理次序优先级由高到低的顺序,确定最高优先级为当前
优先级;
从当前优先级对应的内存段中读取子语句,进行语句处理,获得处理结果,
并将处理结果保存至下一优先级对应的内存段中;
释放当前优先级对应的内存段;
将下一优先级更新为当前优先级,并返回执行子语句的读取和处理操作,
直至所述待处理语句处理完成。
2.根据权利要求1所述的内存管理方法,其特征在于,所述待处理语句包
括:数据库语句和/或逻辑运算语句。
3.根据权利要求1所述的内存管理方法,其特征在于,将所述待处理语句
逐级分解成多个子语句之前,还包括:
按照待处理语句中的处理标识的优先级,将待处理语句中子语句和处理标
识基于二叉树结构进行设置。
4.根据权利要求1所述的内存管理方法,其特征在于:采用内存堆栈作为
各内存段。
5.根据权利要求1所述的内存管理方法,其特征在于,所述将分解后的各
级含有处理标识的子语句按照优先级保存在多个内存段中包括:
将分解后同一优先级的多个处理标识,以及所连接的子语句保存在同一内

\t存段中。
6.根据权利要求1所述的内存管理方法,其特征在于,所述内存段包括:
工作区域和输出区域;则从当前优先级对应的内存段中读取包含处理标识的子
语句,进行语句处理,获得处理结果,并将处理结果保存至下一优先级对应的
内存段中包括:
从当前优先级对应的内存段的工作区域中读取包含处理标识的子语句,进
行语句处理,获得处理结果;
将所述处理结果保存在当前优先级对应的内存段的输出区域中,并传递至
下一优先级对应的内存段的工作区域中。
7.根据权利要求5或6所述的内存管理方法,其特征在于,所述从当前
优先级对应的内存段中读取包含处理标识的子语句,进行语句处理,获得处理
结果,并将处理结果保...

【专利技术属性】
技术研发人员:宋鑫张钦朱仲颖
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1