CN113918328A - 一种基于lru的数据缓冲区内存释放调度系统及方法 - Google Patents
一种基于lru的数据缓冲区内存释放调度系统及方法 Download PDFInfo
- Publication number
- CN113918328A CN113918328A CN202111164471.2A CN202111164471A CN113918328A CN 113918328 A CN113918328 A CN 113918328A CN 202111164471 A CN202111164471 A CN 202111164471A CN 113918328 A CN113918328 A CN 113918328A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- level
- partition
- release
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种基于LRU的数据缓冲区内存释放调度系统及方法,用于处理数据传输任务中的缓存释放,对重要信息文件数据进行分级保留;解决了数据缓存中某些重要资源容易被错误的终止,导致之后再次调度消耗大量时间的问题;实现了内存领域的资源利用相对均衡的基础上缩短了数据传输任务的整体执行时间。本发明所述的系统及方法将内存区域进行分区,按照级别分别优先放置相应的缓存数据文件,在内存释放时首先释放低级别缓存区的数据,避免了重要数据的清理;通过分区算法,显著地提升了内存数据调度整体时间。
Description
技术领域
本发明属于数据库的内存缓存管理领域,尤其是涉及一种基于LRU的数据缓冲区内存释放调度系统及方法。
背景技术
LRU(Least Recently Used)是一种常见的页面置换算法,在计算中,所有的文件操作都要放在内存中进行,然而计算机内存大小是固定的,所以我们不可能把所有的文件都加载到内存,因此我们需要制定一种策略对加入到内存中的文件进项选择。
利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。即淘汰最近最长时间未访问过的页面。
发明内容
有鉴于此,本发明旨在提出一种基于LRU的数据缓冲区内存释放调度系统及方法,以解决计算环境下在缓冲区的内存上的资源有效利用空间利用不足的情况,为了实现在缓冲区的内存上的有效利用率的相对均衡的基础上缩短计算机数据调度的整体执行时间。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于LRU的数据缓冲区内存释放调度方法,包括以下步骤:
S1、对内存区域大致分为高、中、低三个等级区域;
S2、将三个等级区域由高到低进行排序,并分别进行命名;
S3、对调用的数据文件的优先度进行设定,根据调用的数据文件占用内存的大小,对调用的数据文件对应的等级区域大小进行优化;
S4、使用状态接口实时获取各内存分区状态;
S5、根据调用的数据文件的优先度分配合理内存区域,以及根据内存释放方法对内存中的数据进行释放;
内存释放方法包括以下内容:根据调用的数据文件的优先级判断所属内存分区等级,优先占用与本优先级一致的内存区域,若本内存区域占满并且不释放的情况下,占用本优先级下一级或本优先级下一级的任意一级。
进一步的,步骤S1中三个区域的大小由管理员设置。
进一步的,步骤S2中命名方式如下:步骤S2中命名方式如下:将三个等级区域由高到低进行排序,并根据排序结果依次命名,命名名称包括:本内存的内存名称、本内存的等级、本内存的内存分区实际大小,命名格式具体如下:BUFFER_a_[size]、BUFFER_b_[size]、BUFFER_c_[size]、BUFFER_d_[size]……,级别大小为a>b>c>d以此类推,[size]代表所分出的内存分区实际大小,BUFFER为统一内存名称,字母表示其分区所存放数据等级。
进一步的,步骤S5中内存释放方法包括以下内容:根据数据文件的优先级判断所属内存分区等级,优先占用与本优先级一致的内存区域,若本内存区域占满并且不释放的情况下,占用本优先级下一级或本优先级下一级的任意一级;
具体如下:
内存释放方法包括高级内存释放方法,中级内存释放方法、低级内存释放方法,具体如下:
1)高级内存释放方法包括:优先占用最高级及以下的内存分区,在整体内存资源紧张时不进行内存释放,占用下一级内存分区;
2)中级内存释放方法包括:
第一种情况,占用中级及以下的内存分区,在低级、中级内存资源紧张时,可占用最高级内存分区,在整体或高级内存紧张时进行内存释放;
第二种情况,占用中级及以下的内存分区,在低级、中级以及整体内存紧张时进行内存释放;
3)低级内存释放方法包括:占用低级内存分区,在低级分区紧张时可占用中级内存分区,随时依照LRU原则进行内存释放。
一种基于LRU的数据缓冲区内存释放调度系统,包括:内存分区管理器、数据任务管理器、数据缓冲分配器、内存状态扫描器、内存资源管理器;
内存分区管理器:用于管理内存的合并、拆分、命名、分级;
数据任务管理器:用于设置特殊数据的内存等级和内存释放方法;
数据缓冲分配器:用于解析数据任务管理器设定的数据优先级,并根据数据优先级安排在合理的内存区域,在内存出现资源紧张的时候依照数据任务管理器的设定原则对其他数据进行释放;
内存状态扫描器:用于实时获取数据缓冲分配器对不同内存分区的状态;
内存资源管理器:用于根据数据任务管理器对不同数据设定的释放原则,在资源紧张时对合法数据进行释放,或者暂时提升优先级,确保最高级数据不被影响。
进一步的,内存分区的状态包括包括分区名字、分区大小、分区等级、数据名称、数据大小、数据占用时间、数据释放原则。
相对于现有技术,本发明所述的一种基于LRU的数据缓冲区内存释放调度系统及方法具有以下优势:
(1)本发明所述的一种基于LRU的数据缓冲区内存释放调度系统及方法,满足计算任务中更多的数据传输需求,更加充分的利用每个任务在运行时的资源;避免数据传输过程中重要数据发生资源抢占现象;避免将重要额的数据进行错误的释放;极大地提升内存资源的利用率,进一步平衡了内存中不同数据的占用情况。
(2)本发明所述的一种基于LRU的数据缓冲区内存释放调度系统及方法,可避免计算数据任务时经常发生的重要数据所占据的内存资源被错误抢占的现象。该使得客户或者管理员可以将其自身业务较为重要的数据进行优先级[谦让度降低]提升,存放在级别较高的内存区域,从而很大程度上避免由于突发庞大的数据量涌入,而直接被系统错误释放,使得下次重新调用该重要数据的时间增加的情况。
(3)本发明所述的一种基于LRU的数据缓冲区内存释放调度系统及方法,可保证整体数据信息在内存中被合理的分配,确保数据缓冲不被挤占释放,避免由于错误释放引发的系统性整体崩溃。将内存管理细致化精确化,是的整体进度上的计算时间缩短,计算崩溃次数减少。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种基于LRU的数据缓冲区内存释放调度系统及方法的过程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
一种基于LRU的数据缓冲区内存释放调度方法,包括以下步骤:
S1、对内存区域大致分为高、中、低三个等级区域;
S2、将三个等级区域由高到低进行排序,并分别进行命名;
S3、对调用的数据文件的优先度进行设定,根据调用的数据文件占用内存的大小,对调用的数据文件对应的等级区域大小进行优化;
S4、使用状态接口实时获取各内存分区状态;
S5、根据调用的数据文件的优先度分配合理内存区域,以及根据内存释放方法对内存中的数据进行释放。
步骤S1中三个区域的大小由管理员设置。
步骤S2中命名方式如下:步骤S2中命名方式如下:将三个等级区域由高到低进行排序,并根据排序结果依次命名,命名名称包括:本内存的内存名称、本内存的等级、本内存的内存分区实际大小,命名具体如下:BUFFER_a_[size]、BUFFER_b_[size]、BUFFER_c_[size]、BUFFER_d_[size]……,级别大小为a>b>c>d以此类推,[size]代表所分出的内存分区实际大小,BUFFER为统一内存名称,字母表示其分区所存放数据等级。
步骤S5中内存释放方法包括以下内容:根据数据文件的优先级判断所属内存分区等级,优先占用与本优先级一致的内存区域,若本内存区域占满并且不释放的情况下,占用本优先级下一级或本优先级下一级的任意一级;
如图1所示,内存释放方法包括高级内存释放方法,中级内存释放方法、低级内存释放方法;
1)高级内存释放方法包括:优先占用最高级及以下的内存分区,在整体内存资源紧张时不进行内存释放,占用下一级内存分区;
2)中级内存释放方法包括:
第一种情况,占用中级及以下的内存分区,在低级、中级内存资源紧张时,可占用最高级内存分区,在整体或高级内存紧张时进行内存释放;
第二种情况,占用中级及以下的内存分区,在低级、中级以及整体内存紧张时进行内存释放;
3)低级内存释放方法包括:占用低级内存分区,在低级分区紧张时可占用中级内存分区,随时依照LRU原则进行内存释放。
使用状态接口获取各内存分区实时状态:
通过状态接口,实时扫描各分区的数据信息,从而得到切实的情况,对新进入内存的数据进行等级分化和内存分配;
根据调用任务优先级分配合理内存区域:
按照事先设置好的不同任务的优先级,系统根据判断将其放入相应的内存区域,分配原则为向下兼容,若无空间,按照内存释放方法进行内存释放。
一种基于LRU的数据缓冲区内存释放调度系统,包括:内存分区管理器、数据任务管理器、数据缓冲分配器、内存状态扫描器、内存资源管理器;
内存分区管理器:用于管理内存的合并、拆分、命名、分级;
数据任务管理器:用于设置特殊数据的内存等级和内存释放方法;
数据缓冲分配器:用于解析数据任务管理器设定的数据优先级,并根据数据优先级安排在合理的内存区域,在内存出现资源紧张的时候依照数据任务管理器的设定原则对其他数据进行释放;
内存状态扫描器:用于实时获取数据缓冲分配器对不同内存分区的状态;
内存资源管理器:用于根据数据任务管理器对不同数据设定的释放原则,在资源紧张时对合法数据进行释放,或者暂时提升优先级,确保最高级数据不被影响。
内存分区的状态包括包括分区名字、分区大小、分区等级、数据名称、数据大小、数据占用时间、数据释放原则。
举例:
一条很宽的马路上面正在行驶的有货车、汽车、自行车、行人。仅仅是大小不同。在突发大自行车和行人涌入时,由于空间位置有限,所以交警[内存分配机制]强制让部分汽车、大货车停下,其中有的汽车货车需要经常性的使用,停下的货车汽车启动又会消耗大量时间。或者有的汽车虽然不常用但承载着重要的数据信息,那么这种情况便是开发者和客户不想看到的。
可避免计算数据任务时经常发生的重要数据所占据的内存资源被错误抢占的现象。该使得客户或者管理员可以将其自身业务较为重要的数据进行优先级[谦让度降低]提升,存放在级别较高的内存区域,从而很大程度上避免由于突发庞大的数据量涌入,而直接被系统错误释放,使得下次重新调用该重要数据的时间增加的情况。
具体实施过程:
基于LRU的数据缓冲区域内存分层过程由以下个组件协同完成:
1、内存分区管理器:负责管理内存的合并、拆分、命名、分级。
2、数据任务管理器:负责设置特殊数据的内存等级和释放原则。
3、数据缓冲分配器:负责解析数据优先级安排在合理的内存区域,在内存出现资源紧张的时候依照数据任务管理器的设定原则对其他数据进行释放。
4、内存状态扫描器:实时获取不同内存分区的状态,包括但不限于分区名字、分区大小、分区等级、数据名称、数据大小、数据占用时间、数据释放原则等等;管理员或者授权用户可通过扫描器和数据任务管理器对不同的数据进行内存环境设置。
5、内存资源管理器:依照不同数据设定的释放原则,在资源紧张时对合法数据进行释放,或者暂时提升优先级,确保最高级数据不被影响。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于LRU的数据缓冲区内存释放调度方法,其特征在于包括以下步骤:
S1、对内存区域大致分为高、中、低三个等级区域;
S2、将三个等级区域由高到低进行排序,并分别进行命名;
S3、对调用的数据文件的优先度进行设定,根据调用的数据文件占用内存的大小,对调用的数据文件对应的等级区域大小进行优化;
S4、使用状态接口实时获取各内存分区状态;
S5、根据调用的数据文件的优先度分配合理内存区域,以及根据内存释放方法对内存中的数据进行释放;
内存释放方法包括以下内容:根据调用的数据文件的优先级判断所属内存分区等级,优先占用与本优先级一致的内存区域,若本内存区域占满并且不释放的情况下,占用本优先级下一级或本优先级下一级的任意一级。
2.根据权利要求1所述的一种基于LRU的数据缓冲区内存释放调度方法,其特征在于:步骤S1中三个区域的大小由管理员设置。
3.根据权利要求1所述的一种基于LRU的数据缓冲区内存释放调度方法,其特征在于:步骤S2中命名方式如下:将三个等级区域由高到低进行排序,并根据排序结果依次命名,命名名称包括:本内存的内存名称、本内存的等级、本内存的内存分区实际大小。
4.根据权利要求1所述的一种基于LRU的数据缓冲区内存释放调度方法,其特征在于:内存释放方法包括高级内存释放方法,中级内存释放方法、低级内存释放方法,具体如下:
1)高级内存释放方法包括:优先占用最高级及以下的内存分区,在整体内存资源紧张时不进行内存释放,占用下一级内存分区;
2)中级内存释放方法包括:
第一种情况,占用中级及以下的内存分区,在低级、中级内存资源紧张时,可占用最高级内存分区,在整体或高级内存紧张时进行内存释放;
第二种情况,占用中级及以下的内存分区,在低级、中级以及整体内存紧张时进行内存释放;
3)低级内存释放方法包括:占用低级内存分区,在低级分区紧张时可占用中级内存分区,随时依照LRU原则进行内存释放。
5.一种基于LRU的数据缓冲区内存释放调度系统,其特征在于包括:内存分区管理器、数据任务管理器、数据缓冲分配器、内存状态扫描器、内存资源管理器;
内存分区管理器:用于管理内存的合并、拆分、命名、分级;
数据任务管理器:用于设置特殊数据的内存等级和内存释放方法;
数据缓冲分配器:用于解析数据任务管理器设定的数据优先级,并根据数据优先级安排在合理的内存区域,在内存出现资源紧张的时候依照数据任务管理器的设定原则对其他数据进行释放;
内存状态扫描器:用于实时获取数据缓冲分配器对不同内存分区的状态;
内存资源管理器:用于根据数据任务管理器对不同数据设定的释放原则,在资源紧张时对合法数据进行释放,或者暂时提升优先级,确保最高级数据不被影响。
6.根据权利要求5所述的一种基于LRU的数据缓冲区内存释放调度系统,其特征在于:内存分区的状态包括分区名字、分区大小、分区等级、数据名称、数据大小、数据占用时间、数据释放原则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111164471.2A CN113918328A (zh) | 2021-09-30 | 2021-09-30 | 一种基于lru的数据缓冲区内存释放调度系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111164471.2A CN113918328A (zh) | 2021-09-30 | 2021-09-30 | 一种基于lru的数据缓冲区内存释放调度系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918328A true CN113918328A (zh) | 2022-01-11 |
Family
ID=79237786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111164471.2A Pending CN113918328A (zh) | 2021-09-30 | 2021-09-30 | 一种基于lru的数据缓冲区内存释放调度系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918328A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055897A (zh) * | 2022-08-25 | 2023-05-02 | 荣耀终端有限公司 | 拍照方法及其相关设备 |
CN117880229A (zh) * | 2024-03-11 | 2024-04-12 | 苏州特思恩科技有限公司 | 一种buffer资源自动释放器的实现方法 |
CN117880229B (zh) * | 2024-03-11 | 2024-05-17 | 苏州特思恩科技有限公司 | 一种buffer资源自动释放器的实现方法 |
-
2021
- 2021-09-30 CN CN202111164471.2A patent/CN113918328A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055897A (zh) * | 2022-08-25 | 2023-05-02 | 荣耀终端有限公司 | 拍照方法及其相关设备 |
CN116055897B (zh) * | 2022-08-25 | 2024-02-27 | 荣耀终端有限公司 | 拍照方法及其相关设备 |
CN117880229A (zh) * | 2024-03-11 | 2024-04-12 | 苏州特思恩科技有限公司 | 一种buffer资源自动释放器的实现方法 |
CN117880229B (zh) * | 2024-03-11 | 2024-05-17 | 苏州特思恩科技有限公司 | 一种buffer资源自动释放器的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8141096B1 (en) | System, method, and computer program product for group scheduling of computer resources | |
US7565507B2 (en) | Cooperative memory management allowing program request and release memory as needed | |
CN102067098B (zh) | 用于分层策略管理的系统、方法和设备 | |
CN1728118B (zh) | 资源分配管理方法和设备 | |
CA2566681A1 (en) | Dynamic memory management of unallocated memory in a legal partitioned data processing system | |
CN1786927A (zh) | 应用层高速缓存映像知晓和再分配的系统和方法 | |
CN1786928A (zh) | 应用层高速缓存映像知晓和再分配的系统和方法 | |
CA2383825A1 (en) | Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system | |
CN105468619B (zh) | 用于数据库连接池的资源分配方法和装置 | |
CN111352736A (zh) | 大数据资源的调度方法、装置、服务器及存储介质 | |
CN109753361A (zh) | 一种内存管理方法、电子设备及存储装置 | |
CN113918328A (zh) | 一种基于lru的数据缓冲区内存释放调度系统及方法 | |
CN114610497A (zh) | 容器调度方法、集群系统、装置、电子设备及存储介质 | |
CN109150759B (zh) | 一种渐进式非阻塞机会资源预留方法及系统 | |
CN116560860B (zh) | 一种基于机器学习的资源优先级的实时优化调整方法 | |
JP2006323872A (ja) | 論理区画の予備リソース提供方法及び計算機システム | |
CN114844791B (zh) | 基于大数据的云服务自动管理分配方法、系统及存储介质 | |
KR100788328B1 (ko) | 그리드 컴퓨팅을 이용한 미들웨어 시스템 및 그 동작 방법 | |
CN115878910A (zh) | 线路查询方法、装置和存储介质 | |
CN111813564B (zh) | 集群资源管理方法、装置及容器集群管理系统 | |
CN116263715A (zh) | 一种面向云原生智能排版服务的自动缩放系统及方法 | |
CN112416538B (zh) | 一种分布式资源管理框架的多层次架构和管理方法 | |
WO2008044865A1 (en) | Device and method for allocating memory of terminal device | |
JP2874571B2 (ja) | メモリ管理装置 | |
CN111796932A (zh) | 一种gpu资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |