CN106201918B - 一种基于大数据量和大规模缓存快速释放的方法和系统 - Google Patents
一种基于大数据量和大规模缓存快速释放的方法和系统 Download PDFInfo
- Publication number
- CN106201918B CN106201918B CN201610555255.3A CN201610555255A CN106201918B CN 106201918 B CN106201918 B CN 106201918B CN 201610555255 A CN201610555255 A CN 201610555255A CN 106201918 B CN106201918 B CN 106201918B
- Authority
- CN
- China
- Prior art keywords
- caching
- data
- sequence number
- release
- extensive
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
Landscapes
- Engineering & Computer Science (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
本发明公开了一种基于大数据量和大规模缓存快速释放的方法,数据的修改原则是在入缓存的同时将系统“当前存盘序列号”赋值给该数据的缓存标记域;系统拥有“当前存盘序列号”和“前一个存盘序列号”,缓存数据的批量“写入”(也称落盘)硬盘的操作将定周期进行,每一次“写入”过程结束后,修改这2个参数:“当前存盘序列号”=前一个周期的“当前存盘序列号”+1,而“前一个存盘序列号”=前一个周期的“当前存盘序列号”;当系统缓存需要释放空间时,系统将数据的缓存标记域的数值与系统此刻的“前一个存盘序列号”进行比对,大于等于的数据不能清除,反则如果是小于的数据都可以被清除,完成缓存的安全释放。
Description
技术领域
本发明涉及计算机数据缓存技术领域,具体涉及一种基于大数据量和大规模缓存快速释放的方法和系统。
背景技术
计算机软件在处理数据时,需要对数据库进行读和写的操作,所有需要写入和读取的数据都会先进入缓存,当处理的数据量不断增加时,就需要增加缓存的容量,而计算机缓存的容量相对于数据总量来讲是有限的。
缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。L1Cache(一级缓存)是CPU第一层高速缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般L1缓存的容量通常在32-256KB。L2Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速率与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,普通台式机CPU的L2缓存一般为128KB到2MB或者更高,笔记本、服务器和工作站上用CPU的L2高速缓存最高可达1MB-3MB。
缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速率就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的。
随着计算机应用的不断发展,需要处理的数据量不断增加,而且数据量的增长总是大于缓存容量的增长,如果按照数据被访问的频繁来选择缓存的数据,而把其它最少访问的数据释放(清除),那么在释放的频率很高和每次释放的容量很大时,就有可能把应该写入磁盘的数据在没有完成写入的情况下清除了。
如公开(公告)号为CN105095495A的中国专利,公开了一种分布式文件系统缓存管理方法和系统,其中,方包括:元数据服务器MDS对缓存集合进行检索,确定所述缓存集合中缓存的数目;判断所述缓存的数目是否大于预设最大缓存数,若大于,则向客户端发送缓存释放请求;所述客户端接收到所述缓存释放请求后,根据栈算法将所述缓存集合中当前不使用节点的缓存清除。当MDS判定缓存集合内缓存数目超过最大缓存数时,向客户端发送缓存释放请求,使客户端得知系统对缓存资源的使用情况,并针对当前缓存资源的使用情况做出响应,根据栈算法将缓存集合中当前不使用节点的缓存清除,实现对缓存集合内缓存的有效管理。该方法也不能保证缓存清除的精度,容易把不该清除的缓存清除掉。
因此,如何在有限缓存容量的条件下,通过及时释放必要的缓存空间为后续数据处理提供可用的缓存容量,同时又保证缓存释放的安全性和高效性,就是本发明的算法所要达到的效果。
发明内容
本发明所要解决的技术问题在于提供一种基于大数据量和大规模缓存快速释放的方法和系统,使得一个数据处理系统能够极大地提高系统缓存容量的利用率,又不增加系统的计算负担和数据写入的安全性。
本发明所要解决的技术问题采用以下技术方案来实现:
一种基于大数据量和大规模缓存快速释放的方法,包括以下方法步骤:
步骤一、在系统设置“当前存储磁盘序列号”和“前一个存储磁盘序列号”,缓存数据的批量“写入”(也称落盘)存储磁盘的操作将定期进行;
步骤二、每一次“写入”过程结束后,修改这2个参数:“当前存储磁盘序列号”=前一个时钟周期的“当前存储磁盘序列号”+1,而“前一个存储磁盘序列号”=前一个时钟周期的“当前存储磁盘序列号”;
其中,写入时钟周期的结束边缘将触发二个计数器加一,并把这二个相邻的整数赋值给系统的二个存盘序列号:
批量修改过程在一个时钟周期完成;
步骤三、数据的修改原则是在写入缓存的同时将系统“当前存储磁盘序列号”赋值给该数据的缓存标记域;
步骤四、当系统缓存需要释放空间时,系统将数据的缓存标记域的数值与系统此刻的“前一个存储磁盘序列号”进行比对,大于等于的数据不能清除,反则如果是小于的数据都可以被清除;
步骤五、按照数据被访问频率和最近访问时间排序快速完成缓存的安全释放。
进一步地,所述(步骤三)中缓存标记只在读入缓存时被赋值一次。
进一步地,所述(步骤一)中所有进入缓存的“写入”数据都在下一个“写入”周期被写入存储磁盘。
进一步地,所述(步骤四)中缓存释放队列中所有进入缓存的只读数据进入缓存的时间在写入数据之后,在队列前面的先释放。
进一步地,所述(步骤四)中缓存释放队列中所有进入缓存的只读数据都根据被使用的时间戳排队,在队列前面的先释放。
一种基于大数据量和大规模缓存快速释放的系统,包括系统计算单元、缓存单元和系统存储单元,所述系统计算单元用于数据的计算,所述缓存单元用于数据在系统计算单元层读写存储数据时进行缓存,以提高系统的效率,所述系统存储单元用于保存应用所需数据。
本发明的有益效果是:
1.缓存数据的管理上,采用附加缓存标志位,这是一个U32的整数;
2.每次缓存标志位只需赋值一次,就可以完成每个数据的进出缓存的操作,节省了一次赋值的操作,在大数据量大规模缓存管理过程中就极大地减少了系统的计算资源,并且提高了系统速度和效率;
3.系统始终维护二个系统标志符,这是二个U32的相邻整数,每次的操作都是最简单的计数加一。
4、本发明基于大数据量和大规模缓存快速释放的方法和系统普遍适用于各种数据处理过程中的缓存释放管理,成为解决缓存容量瓶颈的新技术标准。
附图说明
图1是本发明基于大数据量和大规模缓存释放的流程图;
图2是本发明基于大数据量和大规模缓存释放系统的架构框图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
图1是本发明基于大数据量和大规模缓存释放的方法的详细流程图,包括以下步骤:
步骤101:在系统设置“当前存储磁盘序列号”和“前一个存储磁盘序列号”,缓存数据的批量“写入”(也称落盘)磁盘的操作将定期进行。
当系统重新启动时,将这二个系统存储磁盘序列号立即读入缓存
步骤102:每一次“写入”过程结束后,修改这2个参数:“当前存储磁盘序列号”=前一个周期的“当前存储磁盘序列号”+1,而“前一个存储磁盘序列号”=前一个周期的“当前存储磁盘序列号”。
步骤102具体包括如下过程:
写入时钟周期的结束边缘将触发二个计数器加一,并把这二个相邻的整数赋值给系统的二个存储磁盘序列号:
步骤103:数据写入缓存的同时将系统“当前存储磁盘序列号”赋值给该数据的缓存标记域。
批量修改过程在一个时钟周期完成。
步骤104:系统将数据的缓存标记域的数值与系统此刻的“前一个存储磁盘序列号”进行比对,大于等于的数据不能清除,反则如果是小于的数据都可以被清除。
如图2所示,本发明基于大数据量和大规模缓存释放的系统包括系统计算单元,缓存单元,系统存储单元;
所述系统计算单元用于数据的计算。
所述缓存单元用于数据在系统计算单元层读写存储数据时进行缓存,以提高系统的效率;
所述系统存储用于保存应用所需数据。
本发明揭示的基于大数据量和大规模缓存释放方法和系统,实现了以最低限度的附加计算量,获得缓存空间的高效快速安全利用,解决了大数据条件下缓存容量快速释放和数据写入安全的矛盾。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种基于大数据量和大规模缓存快速释放的方法,其特征在于,包括以下方法步骤:
步骤S1、在系统设置“当前存储磁盘序列号”和“前一个存储磁盘序列号”,缓存数据的批量“写入”存储磁盘的操作将定期进行;
步骤S2、每一次“写入”过程结束后,修改这2个参数:“当前存储磁盘序列号”=前一个时钟周期的“当前存储磁盘序列号”+1,而“前一个存储磁盘序列号”=前一个时钟周期的“当前存储磁盘序列号”;
步骤S3、数据的修改原则是在写入缓存的同时将系统“当前存储磁盘序列号”赋值给该数据的缓存标记域;
步骤S4、当系统缓存需要释放空间时,系统将数据的缓存标记域的数值与系统此刻的“前一个存盘序列号”进行比对,大于等于的数据不能清除,反则如果是小于的数据都可以被清除;
步骤S5、按照数据被访问频率和最近访问时间排序快速完成缓存的安全释放。
2.根据权利要求1所述的一种基于大数据量和大规模缓存快速释放的方法,其特征在于,所述步骤S3中缓存标记只在读入缓存时被赋值一次。
3.根据权利要求1所述的一种基于大数据量和大规模缓存快速释放的方法,其特征在于,所述步骤S2中所有进入缓存的“写入”数据都在下一个写入时钟周期被写入存储磁盘。
4.根据权利要求1所述的一种基于大数据量和大规模缓存快速释放的方法,其特征在于,所述步骤S4中缓存释放队列中所有进入缓存的只读数据进入缓存的时间在写入数据之后,在队列前面的先释放。
5.根据权利要求1所述的一种基于大数据量和大规模缓存快速释放的方法,其特征在于,所述步骤S4中缓存释放队列中所有进入缓存的只读数据都根据被使用的时间戳排队,在队列前面的先释放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610555255.3A CN106201918B (zh) | 2016-07-14 | 2016-07-14 | 一种基于大数据量和大规模缓存快速释放的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610555255.3A CN106201918B (zh) | 2016-07-14 | 2016-07-14 | 一种基于大数据量和大规模缓存快速释放的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201918A CN106201918A (zh) | 2016-12-07 |
CN106201918B true CN106201918B (zh) | 2019-02-12 |
Family
ID=57475854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610555255.3A Active CN106201918B (zh) | 2016-07-14 | 2016-07-14 | 一种基于大数据量和大规模缓存快速释放的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201918B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193947A (zh) * | 2017-05-22 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种文件系统缓存增量刷新方法及系统 |
CN109144425A (zh) * | 2018-09-07 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种元数据存储方法、装置、设备及计算机可读存储介质 |
CN110399095B (zh) * | 2019-06-12 | 2022-12-02 | 厦门网宿有限公司 | 一种存储空间的统计方法和装置 |
CN111984889A (zh) * | 2020-02-21 | 2020-11-24 | 广东三维家信息科技有限公司 | 缓存方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492353A (zh) * | 2002-10-10 | 2004-04-28 | �Ҵ���˾ | 通过执行转移指令访问全局促进工具的方法、设备和系统 |
CN101252589A (zh) * | 2008-03-25 | 2008-08-27 | 中国科学院计算技术研究所 | 数据缓存装置和采用该装置的网络存储系统及缓存方法 |
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN103168293A (zh) * | 2010-08-31 | 2013-06-19 | 甲骨文国际公司 | 用于删除缓存块的方法和系统 |
CN104317735A (zh) * | 2014-09-24 | 2015-01-28 | 北京云巢动脉科技有限公司 | 大容量缓存及数据存储和读取、内存分配和回收的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183145B2 (en) * | 2009-04-27 | 2015-11-10 | Intel Corporation | Data caching in a network communications processor architecture |
-
2016
- 2016-07-14 CN CN201610555255.3A patent/CN106201918B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492353A (zh) * | 2002-10-10 | 2004-04-28 | �Ҵ���˾ | 通过执行转移指令访问全局促进工具的方法、设备和系统 |
CN101252589A (zh) * | 2008-03-25 | 2008-08-27 | 中国科学院计算技术研究所 | 数据缓存装置和采用该装置的网络存储系统及缓存方法 |
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN103168293A (zh) * | 2010-08-31 | 2013-06-19 | 甲骨文国际公司 | 用于删除缓存块的方法和系统 |
CN104317735A (zh) * | 2014-09-24 | 2015-01-28 | 北京云巢动脉科技有限公司 | 大容量缓存及数据存储和读取、内存分配和回收的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106201918A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105205014B (zh) | 一种数据存储方法和装置 | |
CN108009008A (zh) | 数据处理方法和系统、电子设备 | |
CN106201918B (zh) | 一种基于大数据量和大规模缓存快速释放的方法和系统 | |
CN109240946A (zh) | 数据的多级缓存方法及终端设备 | |
CN103246613B (zh) | 缓存装置及用于缓存装置的缓存数据获取方法 | |
CN103370691B (zh) | 管理缓冲器溢出状况 | |
CN100383792C (zh) | 缓存数据库数据组织方法 | |
TWI309005B (en) | Stack caching systems and methods | |
CN103279428B (zh) | 一种显式的面向流应用的多核Cache一致性主动管理方法 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN101673188A (zh) | 一种固态硬盘的数据存取方法 | |
CN101231619A (zh) | 一种基于非连续页的动态内存管理方法 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN114546295B (zh) | 一种基于zns固态硬盘的智能写分配方法和装置 | |
CN115080455B (zh) | 一种计算机芯片、计算机板卡、存储空间分配方法及装置 | |
EP0032956A1 (en) | Data processing system utilizing hierarchical memory | |
CN109918450A (zh) | 基于分析类场景下的分布式并行数据库及存储方法 | |
CN104834484A (zh) | 基于嵌入式可编程逻辑阵列的数据处理系统及处理方法 | |
CN103049392A (zh) | 缓存目录的实现方法及装置 | |
CN102411632B (zh) | 基于链表的内存数据库页式存储方法 | |
CN115129621A (zh) | 一种内存管理方法、设备、介质及内存管理模块 | |
CN116501249A (zh) | 一种减少gpu内存重复数据读写的方法及相关设备 | |
CN101341471B (zh) | 动态高速缓存管理的设备和方法 | |
CN107346342A (zh) | 一种基于存储计算的文件调用方法与系统 | |
Xie et al. | PetPS: Supporting huge embedding models with persistent memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |