CN110442556A - 缓存预加载方法、移动终端以及计算机存储介质 - Google Patents
缓存预加载方法、移动终端以及计算机存储介质 Download PDFInfo
- Publication number
- CN110442556A CN110442556A CN201910690861.XA CN201910690861A CN110442556A CN 110442556 A CN110442556 A CN 110442556A CN 201910690861 A CN201910690861 A CN 201910690861A CN 110442556 A CN110442556 A CN 110442556A
- Authority
- CN
- China
- Prior art keywords
- file
- buffer area
- support method
- information
- add support
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种缓存预加载方法、移动终端以及计算机存储介质。该缓存预加载方法包括:当缓存区重启使用时,获取预先持久化存储的文件信息,其中,文件信息至少包括文件存储路径;根据文件信息中的文件存储路径获取对应的文件,并将文件加载在缓存区。本申请的缓存预加载方法能够自动加载恢复缓存区的文件,提高服务器重启后应用程序访问文件系统的速度。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种缓存预加载方法、移动终端以及计算机存储介质。
背景技术
在Linux或Windows等操作系统中,为提高文件系统性能,内核利用一部分物理内存分配出缓存区,用于缓存文件数据,当内核收到文件读写请求时,内核先在缓存区中查找是否有缓存的数据,如果有则直接使用缓存数据;没有的话再通过磁盘驱动,操作磁盘来获取相应的数据。由于缓存区(内存)的访问速度远远高于磁盘,使用系统缓存可以有效改善文件系统的访问性能。
由于系统物理内存空间有限,操作系统会根据缓存中数据的最近访问时间、使用频率等因素综合考虑,在内存不足时淘汰较早的缓存数据,保证最新、“最热”的数据存在内存缓存区中。在很多业务系统中,对由于文件系统的访问往往有一定的规律性,比如经常访问最近30天的数据、经常访问和某个要素相关联的数据。当系统缓存经过一段时间的淘汰调整后,留在内存中的数据往往就是使用频率最高或者最近刚刚使用过的数据,从而可以大幅提高上层业务系统的读取、查询效率。
在数据库、分布式存储等领域,系统缓存对应用系统的读取性能会产生比较大的影响。
发明内容
本申请提供了一种缓存预加载方法、移动终端以及计算机存储介质,主要解决的技术问题是如何自动加载恢复缓存区的文件。
为解决上述技术问题,本申请提供了一种缓存预加载方法,该缓存预加载方法包括:
当缓存区重启使用时,获取预先持久化存储的文件信息,其中,所述文件信息至少包括文件存储路径;
根据所述文件信息中的文件存储路径获取对应的文件,并将所述文件加载在所述缓存区。
为解决上述技术问题,本申请还提供了一种移动终端,所述移动终端包括:
获取模块,用于当缓存区重启使用时,获取预先持久化存储的文件信息,其中,所述文件信息至少包括文件存储路径;
处理模块,用于根据所述文件信息中的文件存储路径获取对应的文件;
加载模块,用于将所述文件加载在缓存区。
为解决上述技术问题,本申请还提供了另一种移动终端,所述移动终端包括存储器和处理器,其中,所述存储器与所述处理器耦接;
其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的缓存预加载方法。
为解决上述技术问题,本申请还提供了一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被处理器执行时,用以实现如上述的缓存预加载方法。
与现有技术相比,本申请的有益效果是:当缓存区重启使用时,移动终端获取预先持久化存储的文件信息,其中,文件信息至少包括文件存储路径;根据文件信息中的文件存储路径获取对应的文件,并将文件加载在缓存区;当缓存区被关闭时,缓存区中存储的文件会全部丢失,导致服务器刚启动时,所有的查询都需要从磁盘上读数据,导致这些查询/读取请求特别慢;本申请的移动终端在重启服务器时,可以直接通过预先持久化存储的文件信息自动将文件信息对应的文件加载在缓存区,能够有效提高服务器重启后应用程序访问文件系统的速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的缓存预加载方法第一实施例的流程示意图;
图2是本申请提供的缓存预加载方法第二实施例的流程示意图;
图3是本申请提供的缓存预加载方法第三实施例的流程示意图;
图4是本申请提供的移动终端一实施例的结构示意图;
图5是本申请提供的移动终端另一实施例的结构示意图;
图6是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的缓存预加载方法可以应用于文件系统、数据库、分布式文件系统或分布式数据库领域,通过预先加热数据到系统缓存的方式,可以有效大幅度提高(Linux或者Windows)服务器重启后、数据初次查询检索的效率。
具体地,本申请提出了一种缓存预加载方法,请参阅图1,图1是本申请提供的缓存预加载方法第一实施例的流程示意图。
如图1所示,本实施例的缓存预加载方法具体包括以下步骤:
S101:当缓存区重启使用时,获取预先持久化存储的文件信息,其中,文件信息至少包括文件存储路径。
其中,当缓存区重启使用,或者服务进程启动时,移动终端获取磁盘中预先持久化存储的文件信息,其中,文件信息中至少包括文件存储路径。
在本申请的移动终端中,缓存区或者服务进程可以被设置为随操作系统开机自启动。因此,当移动终端开机时,本申请的缓存预加载方法也可以自运行。
具体地,文件信息的存储方式可以表现为下述表格:
文件名称 | 文件存储路径 |
文件1 | /data/file-1 |
文件2 | /data/file-2 |
文件3 | /data/file-3 |
S102:根据文件信息中的文件存储路径获取对应的文件,并将文件加载在缓存区。
其中,移动终端从上述表格的文件信息中获取至少一条文件存储路径,例如获取的文件存储路径为/data/file-1。移动终端在磁盘中定位该文件存储路径/data/file-1,并从该文件存储路径/data/file-1对应的存储区域获取对应的文件。
进一步地,移动终端将获取的文件自加载在缓存区,以使当移动终端自启动时,缓存区即可自加载对应的文件文件;当应用程序需要访问文件时,可以优先从缓存区查询是否存在对应的文件,而不需要直接访问磁盘,提高应用程序访问文件系统的速度。
在本实施例中,当缓存区重启使用时,移动终端获取预先持久化存储的文件信息,其中,文件信息至少包括文件存储路径;根据文件信息中的文件存储路径获取对应的文件,并将文件加载在缓存区;当缓存区被关闭时,缓存区中存储的文件会全部丢失,导致服务器刚启动时,所有的查询都需要从磁盘上读数据,导致这些查询/读取请求特别慢;本实施例的移动终端在重启服务器时,可以直接通过预先持久化存储的文件信息自动将文件信息对应的文件加载在缓存区,能够有效提高服务器重启后应用程序访问文件系统的速度。
对于图1所示实施例中的S101之前,本申请进一步提出了另一种具体的缓存预加载方法。具体请参阅图2,图2是本申请提供的缓存预加载方法第二实施例的流程示意图。
如图2所示,本实施例的缓存预加载方法具体提出了以下方法:
S201:在缓存区关闭前,将缓存区中文件的文件信息进行持久化存储。
其中,当服务进程正常运行时,即缓存区关闭前,移动终端按照预设周期将缓存区中文件的文件信息进行持久化存储。
具体地,预设周期可以设置为30秒或者60秒。移动终端按照预设周期获取缓存区中文件的文件信息,其中,文件的文件信息至少包括文件存储路径、起始偏移以及数据长度。
在上述实施例文件信息的存储方式的基础上,本实施例文件信息的存储方式还可以存储为下述表格:
文件名称 | 文件存储路径 | 起始偏移(字节) | 长度(字节) |
文件1 | /data/file-1 | 0 | 10485760 |
文件2 | /data/file-1 | 20971520 | 5242880 |
文件3 | /data/file-2 | 0 | 6257640 |
进一步地,移动终端收集到上述文件信息后,将文件信息写入持久化存储介质,包括但不限于SSD盘(Solid State Drive,固态硬盘)、机械硬盘等。持久化信息也可以存储为自定义的其它格式,例如纯文本格式、json(数据交换格式)、xml(可扩展标记语言格式)或其它自定义格式等。
S202:监测缓存区的文件,记录文件的访问信息,访问信息至少包括文件的被访问频率。
其中,移动终端还可以在缓存区关闭前,监测缓存区的文件,并记录文件的访问信息。从记录的访问信息中,移动终端可以获取对应文件的被访问频率,并将被访问频率的信息写入文件信息中。
在本实施例中,移动终端在缓存区关闭前,收集包括文件的被访问频率、文件存储路径、起始偏移以及数据长度等文件信息,并将上述文件信息持久化存储在磁盘中,以使当缓存区重新启动时,移动终端根据磁盘中的文件信息将对应文件自加载到缓存区。
对于图1所示实施例中的S102,本申请进一步提出了另一种具体的缓存预加载方法。具体请参阅图3,图3是本申请提供的缓存预加载方法第三实施例的流程示意图。
如图3所示,本实施例的缓存预加载方法具体提出了以下方法:
S301:基于文件存储路径定位文件的存储区域。
其中,当缓存区重新启动时,移动终端从磁盘中获取持久化存储的文件信息,并从文件信息中获取文件存储路径、起始偏移、文件长度等信息。
进一步地,移动终端根据文件存储路径定位文件在磁盘中的存储区域。
S302:基于起始偏移从存储区域中定位文件的起始存储区域。
其中,在上述定位的存储区域的基础上,移动终端根据文件存储的起始偏移定位文件的起始存储区域。
S303:基于数据长度以及起始存储区域从存储区域中定位文件的结束存储区域。
其中,在上述起始存储区域的基础上,移动终端根据文件的数据长度定位文件的结束存储区域。
S304:基于起始存储区域以及结束存储区域读取对应的文件。
其中,移动终端在磁盘的起始存储区域和结束存储区域读取对应的文件,并将该文件加载到缓存区。
由于系统缓存要累积、调整一段时间,才能达到最优状态(例如:有file-1,file-2,file-3三个文件,第一次业务请求查询file-1全文,导致file-1被完全缓存。但后续的业务请求中,file-1再也没有被使用过,大部分情况都是在访问file-3全文和file-2的后半部分。但系统需要累积多次请求、进行几轮缓存调整后,才会将file-1清出缓存,完全替换为file-3和file-2),这就进一步影响服务器启动初期的查询性能。
进一步地,移动终端还可以根据文件信息中的被访问频率确定被访问频率满足预设要求的文件。预设要求可以设置为被访问频率大于或等于每天1次,或者其它要求,在此不再赘述。
获取被访问频率满足预设要求的文件对应的文件存储路径后,移动终端获取持久化信息中的文件路径,并根据持久化信息中的文件存储路径获取被访问频率高的文件。
在本实施例中,缓存预加载方法解决了系统重启后因系统缓存中没有数据导致初期查询类请求性能很差的问题;进一步地,通过记录系统重启前的缓存文件信息,在系统重启后自动加载恢复,确保缓存中的文件都是重启前经常使用的“热数据”,真正提高系统缓存命中率,从而大幅度提高系统重启后初次应用程序访问文件系统的速度。
为实现上述实施例的缓存预加载方法,本申请还提出了一种移动终端,具体请参阅图4,图4是本申请提供的移动终端一实施例的结构示意图。
移动终端400包括获取模块41、处理模块42以及加载模块43。其中,处理模块42分别与获取模块41、加载模块43耦接。
获取模块41,用于当缓存区重启使用时,获取预先持久化存储的文件信息,其中,文件信息至少包括文件存储路径。
处理模块42,用于根据文件信息中的文件存储路径获取对应的文件。
加载模块43,用于将文件加载在缓存区。
为实现上述实施例的缓存预加载方法,本申请还提出了另一种移动终端,具体请参阅图5,图5是本申请提供的移动终端另一实施例的结构示意图。
移动终端500包括存储器51和处理器52,其中,存储器51和处理器52耦接。
存储器51用于存储程序数据,处理器52用于执行程序数据以实现上述实施例的缓存预加载方法。
在本实施例中,处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器52也可以是任何常规的处理器等。
本申请还提供一种计算机存储介质,如图6所示,计算机存储介质600用于存储程序数据,程序数据在被处理器执行时,用以实现如本申请缓存预加载方法实施例中所述的方法。
本申请缓存预加载方法实施例中所涉及到的方法,在实现时以软件功能单元的形式存在并作为独立的产品销售或使用时,可以存储在装置中,例如一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种缓存预加载方法,其特征在于,所述缓存预加载方法包括:
当缓存区重启使用时,获取预先持久化存储的文件信息,其中,所述文件信息至少包括文件存储路径;
根据所述文件信息中的文件存储路径获取对应的文件,并将所述文件加载在所述缓存区。
2.根据权利要求1所述的缓存预加载方法,其特征在于,所述缓存预加载方法进一步包括:
在所述缓存区关闭前,将所述缓存区中文件的所述文件信息进行持久化存储。
3.根据权利要求2所述的缓存预加载方法,其特征在于,所述在所述缓存区关闭前,将所述缓存区中文件的所述文件信息进行持久化存储的步骤,进一步包括:
按照预设周期获取所述缓存区中文件的所述文件信息,所述文件信息至少包括所述文件存储路径、起始偏移以及数据长度。
4.根据权利要求3所述的缓存预加载方法,其特征在于,所述根据所述文件信息中的文件存储路径获取对应的文件的步骤,进一步包括:
基于所述文件存储路径定位所述文件的存储区域;
基于所述起始偏移从所述存储区域中定位所述文件的起始存储区域;
基于所述数据长度以及所述起始存储区域从存储区域中定位所述文件的结束存储区域;
基于所述起始存储区域以及所述结束存储区域读取对应的所述文件。
5.根据权利要求3所述的缓存预加载方法,其特征在于,所述预设周期为60秒或30秒;所述持久化信息的存储格式为纯文本格式、数据交换格式或可扩展标记语言格式。
6.根据权利要求2所述的缓存预加载方法,其特征在于,所述在所述缓存区关闭前,将所述缓存区中文件的所述文件信息进行持久化存储的步骤,包括:
监测所述缓存区的文件,记录所述文件的访问信息;所述文件信息包括所述访问信息,所述访问信息至少包括所述文件的被访问频率。
7.根据权利要求6所述的缓存预加载方法,其特征在于,所述根据所述文件信息中的文件存储路径获取对应的文件的步骤,进一步包括:
确定所述访问频率满足预设要求的所述文件;
获取所述持久化信息中的文件存储路径;
根据所述持久化信息中的文件存储路径获取所述访问频率高的文件。
8.一种移动终端,其特征在于,所述移动终端包括:
获取模块,用于当缓存区重启使用时,获取预先持久化存储的文件信息,其中,所述文件信息至少包括文件存储路径;
处理模块,用于根据所述文件信息中的文件存储路径获取对应的文件;
加载模块,用于将所述文件加载在缓存区。
9.一种移动终端,其特征在于,所述移动终端包括存储器和处理器,其中,所述存储器与所述处理器耦接;
其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如权利要求1~7中任一项所述的缓存预加载方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序数据,所述程序数据在被处理器执行时,用以实现如权利要求1~7中任一项所述的缓存预加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690861.XA CN110442556A (zh) | 2019-07-29 | 2019-07-29 | 缓存预加载方法、移动终端以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690861.XA CN110442556A (zh) | 2019-07-29 | 2019-07-29 | 缓存预加载方法、移动终端以及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110442556A true CN110442556A (zh) | 2019-11-12 |
Family
ID=68432091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910690861.XA Pending CN110442556A (zh) | 2019-07-29 | 2019-07-29 | 缓存预加载方法、移动终端以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442556A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508713A (zh) * | 2011-10-12 | 2012-06-20 | 杭州华三通信技术有限公司 | 进程启动方法及内核、进程 |
CN102541602A (zh) * | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
CN102750174A (zh) * | 2012-06-29 | 2012-10-24 | Tcl集团股份有限公司 | 文件加载方法及装置 |
CN104965793A (zh) * | 2014-09-26 | 2015-10-07 | 浙江大华技术股份有限公司 | 一种云存储数据节点装置 |
US20180300355A1 (en) * | 2017-04-18 | 2018-10-18 | International Business Machines Corporation | Implementing a secondary storage dentry cache |
-
2019
- 2019-07-29 CN CN201910690861.XA patent/CN110442556A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508713A (zh) * | 2011-10-12 | 2012-06-20 | 杭州华三通信技术有限公司 | 进程启动方法及内核、进程 |
CN102541602A (zh) * | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
CN102750174A (zh) * | 2012-06-29 | 2012-10-24 | Tcl集团股份有限公司 | 文件加载方法及装置 |
CN104965793A (zh) * | 2014-09-26 | 2015-10-07 | 浙江大华技术股份有限公司 | 一种云存储数据节点装置 |
US20180300355A1 (en) * | 2017-04-18 | 2018-10-18 | International Business Machines Corporation | Implementing a secondary storage dentry cache |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7343396B2 (en) | Precomputation of web documents | |
CN106649349B (zh) | 用于游戏应用的数据缓存方法、装置和系统 | |
US9092475B2 (en) | Database log parallelization | |
US20020032671A1 (en) | File system and file caching method in the same | |
US10467116B2 (en) | Checkpointing using FPGA | |
CN107491523A (zh) | 存储数据对象的方法及装置 | |
CN109446222A (zh) | 一种双缓存的数据存储方法、装置及存储介质 | |
US8713260B2 (en) | Adaptive block pre-fetching method and system | |
US20130290636A1 (en) | Managing memory | |
CN107092628B (zh) | 时间序列数据的处理方法和装置 | |
CN103678166A (zh) | 一种采用固态硬盘作为计算机高速缓存的实现方法及系统 | |
CN102780603A (zh) | 网站流量控制方法及装置 | |
CN111221828A (zh) | 一种提高数据库数据和缓存数据一致性的方法及终端 | |
US9094225B1 (en) | Discovery of short-term and emerging trends in computer network traffic | |
JP5661355B2 (ja) | 分散キャッシュシステム | |
CN111061654B (zh) | 缓存刷新处理方法及装置和电子设备 | |
CN110442556A (zh) | 缓存预加载方法、移动终端以及计算机存储介质 | |
US7529891B2 (en) | Balanced prefetching exploiting structured data | |
JPH07239808A (ja) | 分散データ管理方式 | |
US8191066B2 (en) | Continuously loading series of data whether data is requested or not, in response to end command unloading the data in descendent order of reference probability | |
CN105162891A (zh) | 一种基于ip网络的数据存储方法 | |
US10691614B1 (en) | Adaptive page replacement | |
CN112650694B (zh) | 一种数据读取方法、装置、缓存代理服务器及存储介质 | |
CN114461590A (zh) | 一种基于关联规则的数据库文件页预取方法及装置 | |
CN115080459A (zh) | 缓存管理方法及装置、计算机可读存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191112 |
|
RJ01 | Rejection of invention patent application after publication |