CN108763104A - 预读取文件页的方法、装置及存储介质 - Google Patents

预读取文件页的方法、装置及存储介质 Download PDF

Info

Publication number
CN108763104A
CN108763104A CN201810500488.2A CN201810500488A CN108763104A CN 108763104 A CN108763104 A CN 108763104A CN 201810500488 A CN201810500488 A CN 201810500488A CN 108763104 A CN108763104 A CN 108763104A
Authority
CN
China
Prior art keywords
page
offset address
cold
file
memory
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.)
Granted
Application number
CN201810500488.2A
Other languages
English (en)
Other versions
CN108763104B (zh
Inventor
顾云建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201810500488.2A priority Critical patent/CN108763104B/zh
Publication of CN108763104A publication Critical patent/CN108763104A/zh
Application granted granted Critical
Publication of CN108763104B publication Critical patent/CN108763104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开关于一种预读取文件页的方法、装置及存储介质,该方法包括:在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至终端的内存或该内存对应的缓存中,和/或根据预先存储的热页的偏移地址将热页读取至终端的内存或该内存对应的缓存中,冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,热页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从终端的内存或该内存对应的缓存中获取导致缺页异常的冷页或热页,缩短了应用冷启动过程中的耗时。

Description

预读取文件页的方法、装置及存储介质
技术领域
本公开涉及计算机应用技术领域,尤其涉及一种预读取文件页的方法、装置及存储介质。
背景技术
当前,在应用启动的过程中,通常需要读取固定的一些文件页,由于应用的每次启动过程中都会重复读取这些相同的文件页,导致应用启动耗时较长。故在相关技术中,在应用第一次启动的过程中,将启动过程中所有打开过的文件的文件名保存到数据库中。在下一次启动应用时,循环将数据库中所有文件的内容读入到内存中,这样会将每一个文件的全部内容都读入到内存中,需消耗较大的内存。
发明内容
为克服相关技术中存在的问题,本公开提供一种预读取文件页的方法、装置及存储介质。
根据本公开的第一个方面,提供了一种预读取文件页的方法,所述方法应用于终端,包括:在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至缓存或所述终端的内存中,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存中,所述缓存为所述内存对应的缓存,所述文件预读取指令为应用冷启动过程中用于预读取文件页的指令,所述冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,所述热页的偏移地址为在所述应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从所述缓存或所述内存中获取导致缺页异常的所述冷页或所述热页。
可选地,所述方法还包括:在获取到文件预读取指令之前,在所述应用第一次冷启动的过程中,存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址。
可选地,所述存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址,包括:将所述冷页的偏移地址和/或所述热页的偏移地址存储在文件预读IOP的驱动中。
可选地,所述方法还包括:在所述应用第一次启动结束后,将所述冷页的偏移地址和/或热页的偏移地址保存至数据库中,所述数据库存储于所述终端的闪存中。
可选地,根据预先存储的冷页的偏移地址将冷页读取至缓存或所述终端的内存中,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存中,包括:根据所述数据库中预先存储的冷页的偏移地址读取所述冷页至所述缓存或所述内存,和/或根据所述数据库中预先存储的所述热页的偏移地址读取所述热页至所述缓存或所述内存。
根据本公开的第二个方面,提供了一种预读取文件页的装置,所述装置应用于终端,包括:读取模块,用于在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至缓存或所述终端的内存,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存,所述缓存所述内存对应的缓存,所述文件预读取指令为应用冷启动过程中用于预读取文件页的指令,所述冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,所述热页的偏移地址为在所述应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;获取模块,用于在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从所述缓存或所述内存中获取导致缺页异常的所述冷页或所述热页。
可选地,所述装置还包括:第一存储模块,用于在获取到文件预读取指令之前,在所述应用第一次冷启动的过程中,存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址。
可选地,所述存储模块用于:将所述冷页的偏移地址和/或所述热页的偏移地址存储在文件预读IOP的驱动中。
可选地,所述装置还包括:第二存储模块,用于在所述应用第一次启动结束后,将所述冷页的偏移地址和/或热页的偏移地址存储至数据库中,所述数据库存储于所述终端的闪存中。
可选地,所述读取模块用于:根据所述数据库中预先存储的冷页的偏移地址读取所述冷页至所述缓存或所述内存,和/或根据所述数据库中预先存储的所述热页的偏移地址读取所述热页至所述缓存或所述内存。
根据本公开的第三个方面,提供了一种预读取文件页的装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至缓存或终端的内存,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存,所述缓存为所述内存对应的缓存,所述文件预读取指令为应用冷启动过程中用于预读取文件页的指令,所述冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,所述热页的偏移地址为在所述应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从所述缓存或所述内存中获取导致缺页异常的所述冷页或所述热页。
根据本公开的第四个方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行根据本公开第一个方面所述的方法。
本公开提供的预读取文件页的方法,在应用冷启动的过程中根据预先存储的文件页的偏移地址将冷页和/或热页读取至终端的内存或该内存对应的缓存,在应用冷启动过程中访问文件发生缺页异常时,可直接基于导致缺页异常的冷页或热页的偏移地址在终端的内存或该内存对应的缓存中获取相应的冷页或热页,减少了应用冷启动过程中的耗时。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种预读取文件页的方法的流程图。
图2是根据一示例性实施例示出的一种预读取文件页的方法的流程图。
图3是根据一示例性实施例示出的一种预读取文件页的方法的流程图。
图4是根据一示例性实施例示出的一种预读取文件页的方法的流程图。
图5是根据一示例性实施例示出的一种预读取文件页的方法的流程图。
图6是根据一示例性实施例示出的一种预读取文件页的方法的流程图。
图7是根据一示例性实施例示出的一种预读取文件页的装置的框图。
图8是根据一示例性实施例示出的一种预读取文件页的装置的框图。
图9是根据一示例性实施例示出的一种预读取文件页的装置的框图。
图10是根据一示例性实施例示出的一种预读取文件页的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种预读取文件页的方法的流程图,该方法应用于终端,例如该方法可由终端来执行,如图1所示,该方法包括如下步骤:
步骤101:在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至终端的内存或该内存对应的缓存,和/或,根据预先存储的热页的偏移地址将热页读取至终端的内存或该内存对应的缓存,其中,文件预读取指令为在应用冷启动的过程中用于预读取文件页的指令,冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,热页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;
其中,终端的内存对应的缓存为终端的内存用于进行数据交换的缓冲区;应用冷启动所需的文件页存储在终端的闪存中或终端的闪存所对应的缓存中。
步骤102:在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从终端的内存或该内存对应的缓存中获取导致缺页异常的冷页或热页。
本实施例提供的预读取文件页的方法,在应用冷启动的过程中根据预先存储的文件页的偏移地址将冷页和/或热页读取至终端的内存或该内存对应的缓存,在应用冷启动过程中访问文件发生缺页异常时,可直接基于导致缺页异常的冷页或热页的偏移地址在终端的内存或该内存对应的缓存中获取相应的冷页或热页,减少了应用冷启动过程中的耗时。
图2是根据一示例性实施例示出的一种预读取文件页的方法的流程图,如图2所示,该方法在上述步骤101以及102的基础上,还可包括步骤100,在步骤100中,在获取到文件预读取指令之前,在应用第一次冷启动的过程中,存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址。基于该步骤100,使得应用在后续的冷启动时如果发生缺页异常可以使用第一次冷启动过程中存储的偏移地址来获取导致缺页异常的冷页或热页。其中,预先存储文件页的偏移地址可包括:预先存储在第一次冷启动过程中,访问文件所产生的所有缺页异常中的文件页的偏移地址,其中,这些偏移地址中可能包括冷页的偏移地址,也可能包括热页的偏移地址,还可能即包括冷页的偏移地址,又包括热页的偏移地址。或者,如果当前并非第一次冷启动应用,且应用在之前的冷启动过程中也并未存储过访问文件产生的缺页异常中的冷页的偏移地址或热页的偏移地址,则当前执行冷启动的过程中,即可存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址,作为预先存储文件页的偏移地址,在应用下一次冷启动时,执行上述步骤101以及步骤102。
图3是根据一示例性实施例示出的一种预读取文件页的方法的流程图,如图3所示,在图2中所示的预读取文件页的方法中,存储访问文件产生的缺页异常中的冷页和/或热页的偏移地址的步骤可通过步骤100’来实现,在步骤100’中,将冷页的偏移地址和/或热页的偏移地址存储在IOP(IO-Prefetcher,文件预读)的驱动中,可以在应用冷启动结束后,再将这些偏移地址存储至其他位置,避免延长应用的冷启动时间。
图4是根据一示例性实施例示出的一种预读取文件页的方法的流程图,如图4所示,该方法在图3所示的预读取文件页的方法的基础上还可包括步骤103,在步骤103中,在应用第一次启动结束后,将冷页的偏移地址和/或热页的偏移地址保存至数据库中,该数据库存储于终端的闪存中,在应用后续冷启动进行文件预读时,均可以根据数据库中预先存储的文件页的偏移地址,读取相应的文件页。
图5是根据一示例性实施例示出的一种预读取文件页的方法的流程图,如图5所示,在图1所示的预读取文件的方法中,根据预先存储的冷页的偏移地址将冷页读取至终端的内存或该内存对应的缓存,和/或根据预先存储的热页的偏移地址将热页读取至终端的内存或该内存对应的缓存的步骤可通过步骤101’来实现,在步骤101’中,根据数据库中预先存储的冷页的偏移地址从数据库中读取冷页至终端的内存或该内存对应的缓存,和/或根据数据库中预先存储的热页的偏移地址读取热页至终端的内存或该内存对应的缓存。其中,从数据库中读取热页和/或冷页包括,从数据库中读取在当前之前应用由于访问文件产生缺页异常中的所有文件页,也即导致产生缺页异常的所有文件页。同上,该文件页中可能包括热页,或包括冷页,或即包括热页又包括冷页。
图6是根据一示例性实施例示出的一种预读取文件页的方法的流程图,如图6所示,该方法包括如下处理:
App(应用)在第一次冷启动时,App通过重新开始文件预读指令perfIOPrefetchStart(为上述文件预读指令的一个示例)通知IOP进程预读取文件,IOP进程通过IOP driver(驱动)与Kernel内核进行交互,在访问文件产生filemap_fault:pageis
Cold异常(为上述缺页异常的一个示例)时,即出现了热页对应的缺页异常,mm内存管理单元将该缺页异常中读取冷页的偏移地址和/或热页的偏移地址记录在IOP drivr(驱动)中。
启动结束后,IOP进程通过开始获取StartCapture指令获取驱动中记录的冷页的偏移地址和/或热页的偏移地址保存在数据库db中。
在下一次启动应用时,App通过perfIOPrefetchStart指令通知IOP进程预读取文件,IOP进程预先将保存在数据库中的所有偏移地址将与这些偏移地址对应的冷页和/热页预读取到内存中,如图6右侧的流程所示,在App下一次启动时,产生了filemap_fault:pageis hot in page_cahe异常(为上述缺页异常的一个示例),即出现了热页对应的缺页异常,这时,即可以从内存中获取导致该异常的热页。
图7是根据一示例性实施例示出的一种预读取文件页的装置的框图,该装置应用于终端,如图7所示,该装置70包括如下组成部分:
读取模块71,用于在获取到文件预读指令后,根据预先存储的冷页的偏移地址将冷页读取至终端的内存或该内存对应的缓存,和/或根据预先存储的热页的偏移地址将热页读取至终端的内存或该内存对应的缓存,其中,文件预读指令为应用启动过程中用于预读取文件页的指令,冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,热页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;
获取模块72,用于在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从终端的内存或该内存对应的缓存中获取导致缺页异常的冷页或热页。
图8是根据一示例性实施例示出的一种预读取文件页的装置的框图,如图8所示,该装置80在上述装置70的基础上还可包括:第一存储模块81,该模块用于在获取到文件预读取指令之前,在应用第一次冷启动的过程中,存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址。
在一种可实现方式中,存储模块用于:将冷页的偏移地址和/或热页的偏移地址存储在文件预读IOP的驱动中。
图9是根据一示例性实施例示出的一种预读取文件页的装置的框图,如图9所示,该装置90还可包括:第二存储模块91,用于在应用第一次启动结束后,将冷页的偏移地址和/或热页的偏移地址存储至数据库中,数据库存储于终端的闪存中。
在一种可实现方式中,上述读取模块可用于:根据数据库中预先存储的冷页的偏移地址读取冷页至终端的内存或该内存对应的缓存,和/或根据数据库中预先存储的热页的偏移地址读取热页至终端的内存或该内存对应的至缓。
图10是根据一示例性实施例示出的一种预读取文件页的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种预读取文件页的方法,其特征在于,所述方法应用于终端,包括:
在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至缓存或所述终端的内存中,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存中,所述缓存为所述内存对应的缓存,所述文件预读取指令为应用冷启动过程中用于预读取文件页的指令,所述冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,所述热页的偏移地址为在所述应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;
在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从所述缓存或所述内存中获取导致缺页异常的所述冷页或所述热页。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取到文件预读取指令之前,在所述应用第一次冷启动的过程中,存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址。
3.根据权利要求2所述的方法,其特征在于,所述存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址,包括:
将所述冷页的偏移地址和/或所述热页的偏移地址存储在文件预读IOP的驱动中。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
在所述应用第一次启动结束后,将所述冷页的偏移地址和/或热页的偏移地址保存至数据库中,所述数据库存储于所述终端的闪存中。
5.根据权利要求4所述的方法,其特征在于,所述根据预先存储的冷页的偏移地址将冷页读取至缓存或所述终端的内存中,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存中,包括:
根据所述数据库中预先存储的所述冷页的偏移地址读取所述冷页至所述缓存或所述内存,和/或根据所述数据库中预先存储的所述热页的偏移地址读取所述热页至所述缓存或所述内存。
6.一种预读取文件页的装置,其特征在于,所述装置应用于终端,包括:
读取模块,用于在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至缓存或所述终端的内存,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存,所述缓存所述内存对应的缓存,所述文件预读取指令为应用冷启动过程中用于预读取文件页的指令,所述冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,所述热页的偏移地址为在所述应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;
获取模块,用于在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从所述缓存或所述内存中获取导致缺页异常的所述冷页或所述热页。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一存储模块,用于在获取到文件预读取指令之前,在所述应用第一次冷启动的过程中,存储访问文件产生的缺页异常中的冷页的偏移地址和/或热页的偏移地址。
8.根据权利要求7所述的装置,其特征在于,所述存储模块用于:
将所述冷页的偏移地址和/或所述热页的偏移地址存储在文件预读IOP的驱动中。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
第二存储模块,用于在所述应用第一次启动结束后,将所述冷页的偏移地址和/或热页的偏移地址存储至数据库中,所述数据库存储于所述终端的闪存中。
10.根据权利要求9所述的装置,其特征在于,所述读取模块用于:
根据所述数据库中预先存储的所述冷页的偏移地址读取所述冷页至所述缓存或所述内存,和/或根据所述数据库中预先存储的所述热页的偏移地址读取所述热页至所述缓存或所述内存。
11.一种预读取文件页的装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在获取到文件预读取指令后,根据预先存储的冷页的偏移地址将冷页读取至缓存或终端的内存,和/或根据预先存储的热页的偏移地址将热页读取至所述缓存或所述内存,所述缓存为所述内存对应的缓存,所述文件预读取指令为应用冷启动过程中用于预读取文件页的指令,所述冷页的偏移地址为在应用之前的冷启动过程中访问文件产生的缺页异常中的冷页的偏移地址,所述热页的偏移地址为在所述应用之前的冷启动过程中访问文件产生的缺页异常中的热页的偏移地址;
在访问文件产生缺页异常时,基于导致缺页异常的冷页或热页的偏移地址从所述缓存或所述内存中获取导致缺页异常的所述冷页或所述热页。
12.一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行根据权利要求1至5任一项所述的方法。
CN201810500488.2A 2018-05-23 2018-05-23 预读取文件页的方法、装置及存储介质 Active CN108763104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810500488.2A CN108763104B (zh) 2018-05-23 2018-05-23 预读取文件页的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810500488.2A CN108763104B (zh) 2018-05-23 2018-05-23 预读取文件页的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN108763104A true CN108763104A (zh) 2018-11-06
CN108763104B CN108763104B (zh) 2022-04-08

Family

ID=64004887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810500488.2A Active CN108763104B (zh) 2018-05-23 2018-05-23 预读取文件页的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108763104B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427804A (zh) * 2020-03-12 2020-07-17 深圳震有科技股份有限公司 一种减少缺页中断次数的方法、存储介质及智能终端
WO2020198913A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Apparatus, method, and system for collecting cold pages
CN112445725A (zh) * 2019-08-27 2021-03-05 华为技术有限公司 预读取文件页的方法、装置和终端设备
CN115858046A (zh) * 2023-02-28 2023-03-28 荣耀终端有限公司 一种预加载内存页的方法、电子设备及芯片系统
CN115858047A (zh) * 2023-02-28 2023-03-28 荣耀终端有限公司 一种预加载文件页的方法、电子设备及芯片系统

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021816A (zh) * 2007-03-22 2007-08-22 北京中星微电子有限公司 一种读取数据的方法及装置
CN102156753A (zh) * 2011-04-29 2011-08-17 中国人民解放军国防科学技术大学 面向固态硬盘文件系统的数据页缓存方法
CN103294492A (zh) * 2012-02-27 2013-09-11 联想(北京)有限公司 一种提升操作系统启动速度的方法、系统及设备
CN103309740A (zh) * 2013-06-05 2013-09-18 腾讯科技(深圳)有限公司 程序启动方法、装置和设备
CN103365787A (zh) * 2013-06-20 2013-10-23 酷丰实业(上海)有限公司 Nand闪存存储设备及加速应用程序启动的方法
CN103677920A (zh) * 2013-12-11 2014-03-26 清华大学 关键应用程序识别及启动提速的方法及系统
CN103810009A (zh) * 2014-02-20 2014-05-21 北京奇虎科技有限公司 一种计算机操作系统启动加速的方法和装置
CN104199684A (zh) * 2014-08-13 2014-12-10 百度在线网络技术(北京)有限公司 浏览器冷启动的实现方法及装置
WO2016192498A1 (zh) * 2015-06-02 2016-12-08 腾讯科技(深圳)有限公司 软件启动方法、终端及存储介质
CN106407341A (zh) * 2016-09-05 2017-02-15 努比亚技术有限公司 页面处理的方法、装置及系统
CN106681990A (zh) * 2015-11-05 2017-05-17 华中科技大学 一种移动云存储环境下缓存数据的预取方法
CN106970881A (zh) * 2017-03-10 2017-07-21 浙江大学 一基于大页的冷热页追踪及压缩回收方法
CN107122209A (zh) * 2017-04-18 2017-09-01 努比亚技术有限公司 终端启动的加速装置及方法
CN107480150A (zh) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 一种文件加载方法和装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021816A (zh) * 2007-03-22 2007-08-22 北京中星微电子有限公司 一种读取数据的方法及装置
CN102156753A (zh) * 2011-04-29 2011-08-17 中国人民解放军国防科学技术大学 面向固态硬盘文件系统的数据页缓存方法
CN103294492A (zh) * 2012-02-27 2013-09-11 联想(北京)有限公司 一种提升操作系统启动速度的方法、系统及设备
CN103309740A (zh) * 2013-06-05 2013-09-18 腾讯科技(深圳)有限公司 程序启动方法、装置和设备
CN103365787A (zh) * 2013-06-20 2013-10-23 酷丰实业(上海)有限公司 Nand闪存存储设备及加速应用程序启动的方法
CN103677920A (zh) * 2013-12-11 2014-03-26 清华大学 关键应用程序识别及启动提速的方法及系统
CN103810009A (zh) * 2014-02-20 2014-05-21 北京奇虎科技有限公司 一种计算机操作系统启动加速的方法和装置
CN104199684A (zh) * 2014-08-13 2014-12-10 百度在线网络技术(北京)有限公司 浏览器冷启动的实现方法及装置
WO2016192498A1 (zh) * 2015-06-02 2016-12-08 腾讯科技(深圳)有限公司 软件启动方法、终端及存储介质
CN106681990A (zh) * 2015-11-05 2017-05-17 华中科技大学 一种移动云存储环境下缓存数据的预取方法
CN107480150A (zh) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 一种文件加载方法和装置
CN106407341A (zh) * 2016-09-05 2017-02-15 努比亚技术有限公司 页面处理的方法、装置及系统
CN106970881A (zh) * 2017-03-10 2017-07-21 浙江大学 一基于大页的冷热页追踪及压缩回收方法
CN107122209A (zh) * 2017-04-18 2017-09-01 努比亚技术有限公司 终端启动的加速装置及方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020198913A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Apparatus, method, and system for collecting cold pages
US11954356B2 (en) 2019-03-29 2024-04-09 Intel Corporation Apparatus, method, and system for collecting cold pages
CN112445725A (zh) * 2019-08-27 2021-03-05 华为技术有限公司 预读取文件页的方法、装置和终端设备
CN111427804A (zh) * 2020-03-12 2020-07-17 深圳震有科技股份有限公司 一种减少缺页中断次数的方法、存储介质及智能终端
CN111427804B (zh) * 2020-03-12 2022-05-20 深圳震有科技股份有限公司 一种减少缺页中断次数的方法、存储介质及智能终端
CN115858046A (zh) * 2023-02-28 2023-03-28 荣耀终端有限公司 一种预加载内存页的方法、电子设备及芯片系统
CN115858047A (zh) * 2023-02-28 2023-03-28 荣耀终端有限公司 一种预加载文件页的方法、电子设备及芯片系统
CN115858046B (zh) * 2023-02-28 2023-07-21 荣耀终端有限公司 一种预加载内存页的方法、电子设备及芯片系统

Also Published As

Publication number Publication date
CN108763104B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
JP7498779B2 (ja) 画面表示方法及び電子デバイス
CN108763104A (zh) 预读取文件页的方法、装置及存储介质
CN105607927A (zh) 页面显示方法及装置
US20140136213A1 (en) Mobile terminal and control method thereof
CN105487680B (zh) 用于终端截屏的方法、装置及终端
CN105426086A (zh) 页面中搜索功能框的显示处理方法及装置
CN105845124A (zh) 音频处理方法及装置
CN105609096A (zh) 文本数据输出方法和装置
CN104238912A (zh) 应用控制方法及装置
CN104636106A (zh) 图片显示方法和装置、终端设备
CN107820006A (zh) 控制摄像头摄像的方法及装置
CN106802808A (zh) 悬浮按钮控制方法及装置
CN109600303A (zh) 内容分享方法、装置及存储介质
CN107181856A (zh) 一种应用控制方法及终端
CN107273448A (zh) 信息显示方法、装置及计算机可读存储介质
CN107087111A (zh) 光学防抖的控制方法和装置、移动终端、计算机可读存储介质
CN109036404A (zh) 语音交互方法及装置
CN106502664B (zh) 提醒用户打开应用的方法及装置
CN107393528A (zh) 语音控制方法及装置
CN109558229A (zh) 浏览器控制方法及装置
CN105677215A (zh) 应用控制方法及装置
CN105245898B (zh) 图像数据存储方法和装置
CN105682187B (zh) 图标显示方法及装置
CN107632835A (zh) 应用安装方法及装置
CN106658668A (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
GR01 Patent grant
GR01 Patent grant