CN114461405B - 一种内存中锁定页面的存储方法及相关装置 - Google Patents
一种内存中锁定页面的存储方法及相关装置 Download PDFInfo
- Publication number
- CN114461405B CN114461405B CN202210339963.9A CN202210339963A CN114461405B CN 114461405 B CN114461405 B CN 114461405B CN 202210339963 A CN202210339963 A CN 202210339963A CN 114461405 B CN114461405 B CN 114461405B
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- lock
- target
- electronic device
- 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
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种内存中锁定页面的存储方法及相关装置,该方法应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,该方法包括:电子设备在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为目标时间段内未被访问的锁定页面;电子设备将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;电子设备在内存中压缩目标页面。电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,提高了内存的使用效率,从而使得电子设备的性能提升。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种内存中锁定页面的存储方法及相关装置。
背景技术
电子设备在读取文件数据的过程中,可以优先从电子设备的内存中查找是否缓存了目标数据。当内存中存在目标数据时,电子设备可以直接从内存中读取该目标数据;而当内存中不存在目标数据时,电子设备可以访问除内存外的其他存储设备,并将该存储设备中的目标数据读入内存,然后电子设备再从内存中读取目标数据。
通常情况下,电子设备的内存空间有限,这使得在内存空间不足时,电子设备通常将回收内存中的部分存储空间,以便利用回收的这部分数据所占用的内存空间存储新的数据。被回收的存储空间内原本存储的数据将被从内存中删除。但是,这些被删除的数据后续可能又会被电子设备访问。
目前,为了解决上述问题,电子设备通常都将一些预设的核心的文件页面锁定在内存中,这些页面被称为锁定页面。锁定页面稳定地存储在内存中,不会被从内存中删除。但在实际的应用中,不同的用户在电子设备上的常用功能存在很大的区别,电子设备提供的核心功能不一定都为用户的常用功能。锁定页面中存在一些页面被访问的频次很低,这些页面将浪费内存的存储空间,降低内存的使用效率,从而使得电子设备的性能下降。
发明内容
本申请提供了一种内存中锁定页面的存储方法及相关装置,用于提高了内存的使用效率,从而使得电子设备的性能提升。
第一方面,本申请提供了一种内存中锁定页面的存储方法,该方法应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,该方法包括:电子设备在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为目标时间段内未被访问的锁定页面;电子设备将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;电子设备在内存中压缩目标页面。
本申请实施例提供的方法可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯锁定页面中不常被访问的目标页面。目标页面可以为目标时间段内未被访问的页面。电子设备可以判断目标页面被访问的概率较低,从而电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分的存储空间可以用来存储被访问频次更高的页面,提高了内存的使用效率,从而使得电子设备的性能提升。
作为一种可能的实施方式,电子设备在锁定页面中确定目标页面,包括:在目标时间段的起始时刻,电子设备标记锁定页面;当锁定页面中的第一页面被访问时,电子设备清除第一页面的标记;在目标时间段的终点时刻,电子设备将仍存在标记的锁定页面确定为目标页面。通过在目标时间段的起始时刻标记锁定页面,然后在目标时间段内将被访问的页面的标记删除,从而使得电子设备可以直接从页面的标记中识别出目标页面。
作为一种可能的实施方式,本申请实施例提供的内存中锁定页面的存储方法还可以包括:当电子设备访问目标页面时,电子设备解压目标页面并将目标页面存入锁定页面存储区域。当电子设备中的目标页面被访问时,电子设备可以解压被访问的页面,并将该页面存储如锁定页面存储区域,以便该页面被再次访问。
作为一种可能的实施方式,目标时间段的起始时刻为电子设备的屏幕亮起的时刻。在实际的应用中,电子设备可能在一段时间内没有被使用,那么电子设备也无法采集到这段时间内锁定页面的访问信息。电子设备的屏幕亮起后,该电子设备才开始被使用,此时电子设备才开始访问页面,本申请实施例提供的方案可以开始统计目标时间段的时长。
作为一种可能的实施方式,目标时间段的终点时刻为电子设备的屏幕熄灭的时刻。本申请实施例中电子设备将目标时间段的终点时刻设定为电子设备的屏幕熄灭的时刻,可以使得电子设备在灭屏时回收被确的目标页面,可以避免电子设备回收目标页面时影响电子设备其他功能的运行。
作为一种可能的实施方式,电子设备在锁定页面中确定目标页面,包括:电子设备周期性地在锁定页面中确定目标页面。电子设备确定目标页面的周期可以为具体的时间段,也可以为电子设备亮屏的累计时长,或者电子设备上运行的软件的数量达到预设数量所对应的时间段,本申请实施例在此不做限定。
作为一种可能的实施方式,当电子设备的***版本更新后,电子设备在锁定页面中确定目标页面的周期缩短。当电子设备的***版本更新后,电子设备中经常访问的页面可能与***版本之前发生了变化,为了及时识别出锁定页面中不常被访问的页面,电子设备可以缩短确定目标页面的周期。
本申请实施例还提供了一种内存中锁定页面的存储方法,该方法应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,该方法包括:电子设备在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为访问时间早于访问时间阈值的锁定页面;电子设备将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;电子设备在内存中压缩目标页面。
本申请实施例提供的方法可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯锁定页面中不常被访问的目标页面。电子设备可以判断目标页面被访问的概率较低,从而电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分的存储空间可以用来存储被访问频次更高的页面,提高了内存的使用效率,从而使得电子设备的性能提升。
作为一种可能的实施方式,电子设备在锁定页面中确定目标页面,包括:电子设备将锁定页面按照访问时间的早晚进行排序,得到锁定页面的有序队列;电子设备根据有序队列,将访问时间早于访问时间阈值的锁定页面确定为目标页面。在实际的应用中,电子设备在得到锁定页面的有序队列以后,可以将有序队列中排序在后的页面确定为目标页面,目标页面的排序比锁定页面中其他页面的排序靠后,目标页面占锁定页面的百分比可以为预设的百分比。
作为一种可能的实施方式,当电子设备访问目标页面时,电子设备解压目标页面并将目标页面存入锁定页面存储区域。
作为一种可能的实施方式,电子设备将目标页面存入交换页面存储区域,包括:当电子设备的可用内存低于第一内存阈值时,电子设备将目标页面存入交换页面存储区域。
作为一种可能的实施方式,本申请实施例提供的内存中锁定页面的方法,还包括:当电子设备的可用内存高于第二内存阈值时,电子设备解压目标页面并将目标页面存入锁定页面存储区域。在实际的应用中,当电子设备的可用内存高于第二内存阈值时,为了使得电子设备解压转存目标页面时消耗的计算资源不影响电子设备上其他程序的运行,电子设备可以在电子设备的CPU占用率小于占用率阈值时,解压目标页面并将目标页面存入锁定页面存储区域。
根据上述的内存中锁定页面的存储方法,本申请还提供了一种内存中锁定页面的存储装置,该装置应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,装置包括:第一确定模块,用于在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为目标时间段内未被访问的锁定页面;第一存储模块,用于将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;第一压缩模块,用于在内存中压缩目标页面。
作为一种可能的实施方式,第一确定模块具体用于:在目标时间段的起始时刻,标记锁定页面;当锁定页面中的第一页面被访问时,清除第一页面的标记;在目标时间段的终点时刻,将仍存在标记的锁定页面确定为目标页面。
根据上述的内存中锁定页面的存储方法,本申请还提供了一种内存中锁定页面的存储装置,该装置应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,装置包括:第二确定模块,用于在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为访问时间早于访问时间阈值的锁定页面;第二存储模块,应用于将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;第二压缩模块,用于在内存中压缩目标页面。
作为一种可能的实施方式,第二确定模块具体用于:将锁定页面按照访问时间的早晚进行排序,得到锁定页面的有序队列;根据有序队列,将访问时间早于访问时间阈值的锁定页面确定为目标页面。
根据上述的内存中锁定页面的存储方法和内存中锁定页面的存储装置,本申请还提供了一种电子设备,该电子设备包括处理器以及存储器:存储器用于存储计算机程序;处理器用于根据计算机程序执行上述的内存中锁定页面的存储方法。
根据上述的内存中锁定页面的存储方法和内存中锁定页面的存储装置,本申请还提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质用于存储计算机程序,计算机程序用于执行上述的内存中锁定页面的存储方法。
通过上述技术方案可知,本申请具有以下有益效果:
本申请实施例提供了一种内存中锁定页面的存储方法及相关装置,该方法应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,该方法包括:电子设备在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面;电子设备将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;电子设备在内存中压缩目标页面。
由此可知,本申请实施例提供的方法可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯锁定页面中不常被访问的目标页面。目标页面可以为目标时间段内未被访问的页面,也可以为内存中长期未访问的页面。电子设备可以判断目标页面被访问的概率较低,从而电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分的存储空间可以用来存储被访问频次更高的页面,提高了内存的使用效率,从而使得电子设备的性能提升。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种电子设备的软件架构图;
图2为本申请实施例提供的一种文件页面的示意图;
图3为本申请实施例提供的一种电子设备的界面图;
图4为本申请实施例提供的另一种电子设备的界面图;
图5为本申请实施例提供的一种电子设备的界面图;
图6为本申请实施例提供的另一种电子设备的界面图;
图7为本申请实施例提供的一种电子设备的软件架构图;
图8为本申请实施例提供的一种锁定页面存储区域和锁定页面交换区的示意图;
图9为本申请实施例提供的一种内存中锁定页面的存储方法的流程图;
图10为本申请实施例提供的一种内存中锁定页面的存储方法的信令图;
图11为本申请实施例提供的一种锁定页面的示意图;
图12为本申请实施例提供的另一种锁定页面的示意图;
图13为本申请实施例提供的一种锁定页面的示意图;
图14为本申请实施例提供的另一种锁定页面的示意图;
图15为本申请实施例提供的一种锁定页面的示意图;
图16为本申请实施例提供的一种内存中锁定页面的存储方法的信令图;
图17为本申请实施例提供的一种锁定页面的示意图;
图18为本申请实施例提供的另一种锁定页面的示意图;
图19为本申请实施例提供的一种锁定页面的示意图;
图20为本申请实施例提供的另一种锁定页面的示意图;
图21为本申请实施例提供的一种锁定页面的示意图;
图22为本申请实施例提供的一种内存中锁定页面的存储装置的示意图;
图23为本申请实施例提供的另一种内存中锁定页面的存储装置的示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了更好地理解本申请实施例提供案,先对本申请实施例提供的方案的应用场景进行介绍。
本申请实施例所提供的方法应用于电子设备中,本申请实施例中的电子设备可以包括手机、平板电脑和笔记本等。
参见图1,该图为本申请实施例提供的一种电子设备的软件架构图。
电子设备的软件架构可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明电子设备的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在本申请实施例中,如图1所示,Android的分层架构包括:应用程序层,内核层和设备层等等。
应用程序层和内核层之下为设备层,即响应各个IO请求的硬件器件,包括各类存储设备,例如多媒体卡(Multi media card,MMC)/嵌入式多媒体卡(Embedded multi mediacard,eMMC)、SCSI(Small Computer System Interface)硬盘\通用闪存存储(UniversalFlash Storage,UFS)等等。
应用程序层可安装有多个应用程序。以应用程序1(APP1)为例,响应于用户操作,应用程序1可发起一个或多个访问(read)请求。例如播放视频的过程中,执行上述播放视频的功能的应用程序可发起一个数据访问请求,响应于上述请求,上述应用程序可以读取存储设备中存储的视频数据,从而播放视频。
具体的,被发起的访问请求可经过内核层的文件***,达到块(Block)中的读写调度层(IO scheduler layer)。文件***可以包括虚拟文件***(VFS,virtualfilesystem)、页高速缓冲存储器(Page Cache)、Flash友好文件***(F2FS)、可扩展只读文件***(EROFS)和***扩展文件***(ext4)等。其中,VFS是一个内核软件层,是物理文件***与服务之间的一个接口层,它对文件***的所有细节进行抽象,使得不同的次级文件***在***中运行的其他进程看来,都是相同的。页高速缓冲存储器的大小为一页,即4K。在***读写文件时,它用于缓存文件的逻辑内容,从而加快对存储设备上映像和数据的访问。F2FS用于配置磁盘布局、选择分配和清理算法,优化IO数据读写性能。EROFS用来在保证嵌入式设备端到端的性能的前提下节省存储空间。ext4用于提供文件日志功能。 F2FS、EROFS、ext4都是具体的文件***类型,具有各自独立的文件管理规则,电子设备的存储***可以选择其中一种或多种文件***类型。对于每个已经挂载的文件***,VFS在内核中都生成一个块结构(block),块代表一个已经安装的文件***,用于存储文件***的控制信息,例如文件***类型、大小。
文件到内存之间的映射是按页(page)为单位进行管理的,页通常的大小为4K。文件通常由多个页的数据组成,文件中一个页的数据可以称为一个页面。内存中也包含有存储多个页的存储空间。如图2所示,文件A内包括A1页面、A2页面、A3页面、A4页面和A5页面。当内存访问文件A中的数据时,通常以页为单位,例如内存可以访问文件A中的A2页面、A3页面和A4页面。此时,内存将把文件A中的A2页面、A3页面和A4页面分别存储至内存的1页、2页和3页中,然后电子设备可以直接从内存读取A2页面、A3页面和A4页面。
对于IO访问请求,存储***可以在存储设备的内存 中查找是否存在该请求对应的页面。当内存中存在该页面时,存储***可以直接从内存中读取该页面;而当内存中不存在该页面时,存储***可以访问存储在外存中的文件,并将从文件中查找到的页面读入内存,然后存储***再从内存中读取页面。
由于存储***中内存空间有限,在内存空间不足时,手机通常将回收内存中的部分页面,以便利用回收的这部分页面占用的页存储新的数据。被回收的页面对应的数据将被从内存中删除。但如果这些被删除的页面很快又被手机重新访问,内存则又重新将这部分页面加载入内存。如此,内存中出现了部分页面反复换入换出内存,称为页面抖动。页面抖动将会增加外存的访问量,外存访问的速度较慢,从而可能导致手机出现操作卡顿的现象。
为了避免这种情况,电子设备一般的都将一些核心的内存页面锁定在内存中,这些页面被称为锁定页面。锁定页面稳定地存储在内存中,不会被从内存中删除,比如Linux***中的mlock功能。但在实际的应用中,不同的用户在电子设备上的常用功能存在很大的区别,电子设备提供的核心功能不一定都为用户的常用功能。这导致用户的电子设备中锁定页面中存在一些页面被访问的频次很低,这些页面将浪费内存的存储空间。
以电子设备作为手机为示例,如果用户a通常仅使用手机来玩游戏,那么用户a的手机的锁定页面中大概只存在30%与游戏相关的页面被访问的频次较高,其他70%的页面被访问的频次较低,这部分页面对应的内存空间被手机闲置。当用户a使用手机来玩需要较多内存资源的游戏时,由于手机中的锁定页面不能被从内存中删除,手机可能无法为该游戏申请到足够多的内存,影响该游戏在手机上运行流畅度。如此,一方面用户a的手机内存中存在部分内存空间被闲置,另一方面用户a的手机无法为运行的软件提供足够的内存空间。
在实际的应用中,假如用户b在手机中安装了多个类型不同的应用,包括社交应用、导航应用、购物应用和游戏应用等。且用户b在使用手机时,经常切换不同的应用使用,那么用户b的手机中锁定页面中大概也只存在80%的页面的访问频次较高,20%的页面的访问频次较低。因此用户b的手机中也仍然存在锁定页面占用的部分内存空间被闲置的问题。
为了解决上述的问题,本申请提供了一种内存中锁定页面的存储方法及相关装置,该方法包括:电子设备获得内存中锁定页面的访问信息,其中,锁定页面为锁定在电子设备的内存中的页面。电子设备根据访问信息在锁定页面中确定电子设备不常被访问的目标页面。在目标页面确定后,电子设备在内存中压缩目标页面。由此可知,本申请实施例提供的方法可以根据内存中锁定页面的访问信息,根据不同用户的使用习惯锁定页面中不常被访问的目标页面。然后电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分的存储空间可以用来存储被访问频次更高的页面,提高了内存的使用效率,从而使得电子设备的性能提升。
本申请实施例提供的内存中锁定页面的存储方法可以作为一种锁定页面管理功能应用在电子设备中。以手机作为示例,手机可以默认开启锁定页面管理功能。用户也可以在手机中对锁定页面管理功能进行设置,当用户想要开启或关闭手机的锁定页面管理功能时,如图3所示,用户可以现在手机的主显示界面上点击设置软件。如图4所示,手机将会显示多个可以设置的功能,包括无线局域网、蓝牙、蜂窝网络、个人热点和内存设置等。用户在其中找到内存设置的功能,打开内存设置。如图5所示,当用户打开内存设置后,手机将会显示锁定页面管理功能。用户可以通过滑动锁定页面管理功能的开关,来开启或关闭锁定页面管理功能。例如,在图5中用户可以将锁定页面管理功能的滑动开关向右滑动以开启锁定页面管理功能。
在实际的应用中,用户可能关闭了锁定页面管理功能。但如果手机检测到手机的内存不足,影响了手机的性能时,可以通过弹窗的方式提醒用户开启锁定页面管理功能,以提高手机访问数据的速度。如图6所示,手机可以在显示界面上弹窗显示“检测到您的手机运行速度较慢,是否开启锁定页面管理功能,以提高手机的性能”。如果用户同意开启此功能,并点击下面的“是”案件,则手机可以自动开启锁定页面管理功能。
下面对本申请实施例提供的一种在内存中锁定文件的方法的软件架构进行介绍。如图7所示,本申请实施例提供的电子设备可以包括应用程序层100、应用程序框架层200和内核层400。其中,应用程序层100包括多个应用(APP),例如相机、日历、地图和设置等。应用程序框架层200包括效率控制模块201。当电子设备中运行的***为安卓***时,电子设备还包括***库300。***库300中包括表面管理器、三维图形处理库、二维图形引擎和媒体库等。内核层400中包括识别模块401、回收模块402、恢复模块403、锁定页面管理模块404和交换页面管理模块405。 如图8所示,本申请实施例中的内存中可以包括锁定页面存储区域和锁定页面交换区域两个存储区域。锁定页面存储区域由锁定页面管理模块404进行管理。锁定页面交换区域由交换页面管理模块405进行管理。在锁定页面管理功能开启后,应用程序层100的应用程序向效率控制模块发送开启指令。效率控制模块201在接收到开启指令之后,向识别模块401发送识别指令。识别模块401在接收到识别指令后,根据锁定页面的访问信息,识别出锁定页面中的目标页面。效率控制模块201还会向回收模块402发送回收指令,回收模块402接收到回收指令后,在锁定页面存储区域中识别目标页面的信息,并根据目标页面信息将目标页面回收至锁定页面交换区域。交换页面管理模块405将目标页面压缩后,锁定在内存中。在效率控制模块201还会向恢复模块403发送恢复指令。恢复模块403接收到恢复指令后,根据恢复指令将待恢复的页面恢复至锁定页面存储区域。锁定页面管理模块404将恢复的页面锁定在内存中。
为了更好的理解本申请实施例提供的内存中锁定页面的存储方法,下面将通过附图来对本申请实施例提供的内存中锁定页面的存储方法,进行具体介绍。
参见图9,该图为本申请实施例提供的一种内存中锁定页面的存储方法的流程图。
如图9所示,本申请实施例提供的内存中锁定页面的存储方法,包括:
S901:电子设备在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面。
本申请实施例中的目标页面可以为目标时间段内未被访问的锁定页面,也可以为访问时间早于访问时间阈值的锁定页面,本申请实施例在此不做限定。本申请实施例中的目标时间段可以根据文件访问的实际情况进行设置,作为一个示例,目标时间段可以为一天。本申请实施例中的访问时间阈值可以根据文件访问的实际情况进行确定,作为一个示例,访问时间阈值可以为5000s。当目标页面为目标时间段内未被访问的锁定页面时,步骤S901对应的具体实施方式可以参考下述的步骤S1003。当目标页面为访问时间早于访问时间阈值的锁定页面时,步骤S901对应的具体实施方式可以参考下述的步骤S1603。
电子设备可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯确定锁定页面中的目标页面。本申请实施例中的内存可以包括锁定页面存储区域和锁定页面交换区域两个存储区域。其中,锁定页面存储区域用于存储未压缩的锁定页面,锁定页面交换区域用于存储压缩的目标页面,具体的介绍如图8所示,本申请实施例在此不再赘述。由于访问信息是用于确定页面存储区域内的锁定页面中的目标页面,电子设备在获得锁定页面的访问信息时,可以仅获得锁定页面存储区域内的锁定页面的访问信息。需要说明的是,本申请实施例中的锁定页面可以为一个页面,也可以为多个页面;本申请实施例中的目标页面可以为一个页面,也可以为多个页面,本申请实施例在此不做限定。
S902:电子设备将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放。
在目标页面确定后,电子设备可以将目标页面从锁定页面存储区域中换入交换页面存储区域。作为一个示例,如果锁定页面包括页面A、页面B、页面C和页面D,页面A、页面B、页面C和页面D被存储在锁定页面存储区域;当电子设备确定页面A、页面B和页面C为目标页面时,电子设备将压缩页面A、页面B和页面C,并将其换入锁定页面交换区域。步骤S902的具体实施方式可以参考步骤S1004至S1005,或S1604至S1605所述。
S903:电子设备在内存中压缩目标页面。
本申请实施例并不限定步骤S902和步骤S903的顺序。需要说明的是,电子设备可以在锁定页面存储区域内将目标页面进行压缩,然后再将压缩的目标页面从锁定页面存储区域换入锁定页面交换区域。电子设备也可以先将目标页面从锁定页面存储区域换入锁定页面交换区域,并在锁定页面交换区域对目标页面进行压缩,本申请实施例在此不做限定。步骤S903的具体实施方式可以参考步骤S1006或步骤S1606所述。
本申请实施例提供的方法可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯确定锁定页面中不常被访问的目标页面。然后电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,提高了内存的使用效率,从而使得电子设备的性能提升。
当电子设备将目标页面压缩后,该页面仍然可能被访问。作为一种可能的实施方式,当被压缩的目标页面被访问时,电子设备可以在内存中解压该目标页面。在实际的应用中,电子设备还可以将目标页面从锁定页面交换区域转入锁定页面存储区域进行存储。需要说明的是,电子设备可以在锁定页面交换区域解压目标页面,然后再将目标页面从锁定页面交换区域转入锁定页面存储区域进行存储。电子设备也可以先将目标页面从锁定页面交换区域转入锁定页面存储区域,然后在锁定页面存储区域对目标页面进行解压,本申请实施例在此不做限定。作为一个示例,如果目标页面包括页面A、页面B和页面C,页面A、页面B和页面C被压缩存储在锁定页面交换区域;当页面B被访问时,电子设备可以将页面B解压,并将页面B从锁定页面交换区域转入锁定页面存储区域进行存储,而页面A和页面C可以依然被压缩存储在锁定页面交换区域。
为了更好的理解本申请实施例提供的内存中锁定页面的存储方法,下面将通过两个示例对该方法进行介绍。
参见图10,该图为本申请实施例提供的一种内存中锁定页面的存储方法的信令图。
本申请实施例中的目标页面为目标时间段内未被访问的页面,如图10所示,本申请实施例提供的内存中锁定页面的存储方法包括:
S1001:电子设备开启锁定页面管理功能。
需要说明的是,电子设备可以自动开启锁定页面管理功能,电子设备也可以响应于用户的开启操作来开启锁定页面管理功能,本申请实施例在此不做限定,具体的实施方式如图3至图6所示,本申请实施例在此不再赘述。在实际的应用中,步骤S1001为可选的步骤,电子设备可以不执行步骤S1001,即电子设备可以默认锁定页面管理功能处于开启状态。
S1002:效率控制模块201向识别模块401发送识别指令。
本申请实施例中的效率控制模块201可以位于电子设备的应用程序框架层200,识别模块401可以位于电子设备的内核层400。效率控制模块201接收到锁定页面管理功能开启指令后,效率控制模块201向识别模块401发送识别指令。在本申请实施例中,效率控制模块201向识别模块401发送识别指令的时刻为目标时间段的起始时刻,识别模块401在目标时间段内识别锁定页面中未被访问的目标页面,目标页面也可以称为冷页。
为了使得确定的目标页面贴合电子设备当前的运行习惯,作为一种可能的实施方式,电子设备可以周期性地更新冷页。具体地,效率控制模块201可以在每个周期开启时,向识别模块401发送识别指令,从而使得识别模块401在每个周期对应的目标时间段内识别目标页面。周期的时长可以与其对应的目标时间段的时长相等,也可以大于其对应的目标时间段的时长,本申请实施例在此不做限定。当周期的时长与其对应的目标时间段的时长相等时,效率控制模块201在周期开始时向识别模块401发送识别指令,识别模块401在接收到识别指令后立刻开始采集锁定页面的访问信息直到该周期结束,并将该周期内未被访问的锁定页面确定为目标页面,即冷页。为了方便理解,下面将以周期的时长与其对应的目标时间段的时长相等作为示例来介绍具体的方案。
本申请实施例中的每个周期的时长可以为电子设备的开发者预先设定好的,也可以为电子设备的用户自主设定的,本申请实施例在此不做限定。作为一个示例,周期的时长可以为10个小时或者一天。通常来说,周期越长,锁定页面中未被访问的页面越少,即识别模块401识别到的冷页也就越少。作为一种可能的实施方式,电子设备还可以根据用户的使用习惯,缩短或者增长周期。作为一个示例,如果电子设备在白天被使用的频次较高,而在晚上被使用的频次较低,电子设备可以在白天缩短确定目标页面的周期,而在晚上增长识别目标页面的周期。
目标时间段的时长可以为具体的时间段,在一些实施例中,目标时间段也可以为电子设备亮屏的累计时长。在实际的应用中,电子设备可能在一段时间内没有被使用,那么识别模块401也无法采集到这段时间内锁定页面的访问信息。即目标时间段内可能存在一段无效的时间。为了解决该问题,效率控制模块201可以统计电子设备屏幕亮起的累计时长。作为一个示例,效率控制模块201可以在电子设备开机时,开启一个周期,并向识别模块401发送识别指令,识别模块401开始识别锁定页面存储区域中的目标页面。当电子设备灭屏时,效率控制模块201统计电子设备从当前周期开启时刻至电子设备灭屏时刻之间,电子设备屏幕亮起的累计时长。当该累计时长达到目标时间段的时长时,效率控制模块201向回收模块402发送回收指令,回收模块402回收目标页面,当前周期结束。等电子设备的屏幕再次亮起时,效率控制模块201判断下一个周期开始并重新向识别模块401发送识别指令,如此循环往复,直至锁定页面管理功能被关闭。
在上述的实施例中,本申请实施例中的效率控制模块201在电子设备灭屏后,才开始统计电子设备屏幕亮起的累计时长,并在累计时长达到目标时间段的时长时,向回收模块402发送回收指令,以使回收模块402回收目标页面。由于回收模块402回收目标页面的过程中需要占用电子设备部分***资源,本申请实施例中回收模块402通常在电子设备灭屏时回收目标页面,可以避免回收模块402回收目标页面时影响电子设备其他功能的运行。
作为一个示例,假设目标时间段为10个小时。当电子设备开机时,效率控制模块201判断周期开始并向识别模块401发送识别指令,识别模块401标记锁定页面存储区域中的锁定页面。在开机后,电子设备的屏幕在亮起了4个小时后灭屏,识别模块401将在这4个小时之内被访问的锁定页面的标记清除。电子设备灭屏后,电子设备屏幕亮起的累计时长不再增长,识别模块401也不再清除锁定页面的标记,直到电子设备的屏幕亮起。假设电子设备在灭屏后又亮起了6个小时,识别模块401将在这6个小时之内被访问的锁定页面的标记清除。在电子设备再次灭屏后,效率控制模块201判断电子设备屏幕亮起的累计时长已经达到了目标时间段的时长。效率控制模块201向回收模块402发送回收指令,回收模块402回收仍存在标记的目标页面,当前周期结束。
目标时间段的时长还可以为电子设备上运行的软件的数量达到预设数量所对应的时间段。应该理解,当电子设备经过多个应用场景的切换后,电子设备仍然没有访问到目标页面,说明目标页面的使用概率较低,后续被访问的概率较小,可以确定为冷页。作为一个示例,当预设数量为N时,识别模块401开始采集锁定页面的访问信息,识别模块401将会保持这个状态直到效率控制模块201检测到电子设备累计已运行过N个软件时,效率控制模块201重新向识别模块401发送识别指令,开启新的周期。
在实际的应用中,步骤S1002为可选的步骤,识别模块401可以在不接收效率控制模块201发送的识别指令的前提下,自主开启对目标页面的识别。例如,识别模块401可以自主按照固定周期对锁定页面进行标记,不需要效率控制模块对其进行触发。
S1003:识别模块401标记锁定页面存储区域中的锁定页面,并在接下来的时间内将被访问的锁定页面的标记清除。
识别模块401可以位于电子设备的内核层400。当目标时间段开始时,识别模块401接收效率控制模块201发送的识别指令,然后标记锁定页面存储区域中的锁定页面。在锁定页面存储区域中锁定页面全部被标记后,当锁定页面中的页面被访问时,识别模块401将清除该页面的标记。如此,在目标时间段结束时,识别模块401可以将仍存在标记的锁定页面确定为在该周期内一直未被访问的冷页面。
作为一个示例,假设锁定页面存储区域存储有页面1、页面2、页面3、页面4和页面5。如图11所示,识别模块401接收识别指令后,将页面1、页面2、页面3、页面4和页面5分别加上标记FLAG。如图12所示,在目标时间段内,如果页面2、页面3和页面5被访问过,识别模块401清除页面2、页面3和页面5中的标记FLAG。因此,在目标时间段的终点时刻,锁定页面存储区域页面1和页面4仍存在标记FLAG,而页面2、页面3和页面5则不存在标记。此时识别模块401可以确定页面1和页面4为冷页面。
S1004:效率控制模块201向回收模块402发送回收指令。
回收模块402可以位于电子设备的内核层400。效率控制模块201在目标时间段开始时,向识别模块401发送识别指令,在目标时间段结束时,识别模块401已经识别出锁定页面存储区域中的目标页面,此时效率控制模块201将向回收模块402发送回收指令,以使回收模块402回收锁定页面存储区域的目标页面。
需要说明的是,本申请实施例中的识别指令和回收指令通常是对应的。当电子设备周期性地更新冷页时,效率控制模块201可以在每个周期开启时,向识别模块401发送识别指令,而且在每个周期结束时,向回收模块402发送回收指令。如此,识别模块401可以周期性地识别目标页面,具体地识别模块401可以在每个周期开启时开始识别的目标页面。回收模块402也可以周期性地回收目标页面,具体地回收模块402可以在每个周期结束时回收目标页面,从而使得目标页面可以被回收模块402及时回收,从而释放一部分的内存空间。
需要说明的是,回收模块402回收目标页面的周期可以为具体的时间段,也可以为电子设备亮屏的累计时长,或者电子设备上运行的软件的数量达到预设数量所对应的时间段,具体实施方式参考步骤S1002所示,本申请实施例在此不再赘述。
与步骤S1002类似,本申请实施例中的步骤S1004也为可选的步骤,本申请实施例中的回收模块402可以在不接收效率控制模块201发送的回收指令的前提下,自主开启对目标页面的回收。例如,回收模块402可以自主按照固定周期对目标页面进行回收,不需要效率控制模块对其进行触发。
S1005:回收模块402回收锁定页面存储区域中仍具有标记的目标页面。
在目标时间段的终点时刻,回收模块402接收到效率控制模块201发送的回收指令,并将锁定页面存储区域中仍存在标记的页面回收。如图13所示,锁定页面存储区域中存储有页面1、页面2、页面3、页面4和页面5。其中,锁定页面存储区域页面1和页面4仍存在标记FLAG,而页面2、页面3和页面5则不存在标记。回收模块402接收到效率控制模块201发送的回收指令后,将页面1和页面4回收至交换页面存储区域中。此时,锁定页面存储区域仅存储有页面2、页面3和页面5,交换页面存储区域中存储有页面1和页面4。作为一种可能的实施方式,电子设备可以限定交换页面存储区域的最大空间,当交换页面存储区域被占满时,回收模块402可以中止回收目标页面。
当前周期结束后,在下一个周期开启时,效率控制模块201在目标时间段的起始时刻向识别模块401发送识别指令。如图14所示,识别模块401标记锁定页面存储区域中的页面2、页面3和页面5,而不再标记交换页面存储区域中的页面1和页面4。
S1006:交换页面管理模块405压缩并锁定交换页面存储区域中的目标页面。
交换页面管理模块405可以位于电子设备的内核层400。交换页面管理模块405主要用于管理交换页面存储区域中的页面。当回收模块将目标页面回收至交换页面存储区域中后,交换页面管理模块405可以将目标页面回收至内存或其他存储设备。当交换页面管理模块405将目标页面回收至其他存储设备时,目标页面不再占用内存空间,可以直接节省电子设备内存的存储空间。当交换页面管理模块405将目标页面回收至内存时,交换页面管理模块405可以将目标页面压缩并锁定在交换页面存储区域。一方面,由于目标页面被压缩,目标页面所占用的内存空间减少,可以在一定程度上节约内存的存储空间。另一方面,由于目标页面为电子设备中的锁定页面,电子设备中多个应用程序都可能访问锁定页面。即使用户在一段时间内所使用的应用程序没有访问目标页面,但在内存中将目标页面删除会减慢设备访问目标页面的速度,影响电子设备中其他应用程序的运行。本申请实施例提供的方案将目标页面压缩并锁定在内存中,可以使得电子设备访问目标页面的速度变快。由于目标页面仍被压缩在内存中,当电子设备访问目标页面时,可以直接在内存中将目标页面解压并访问。相比于在其他存储设备中访问目标页面,电子设备直接访问内存中压缩的目标页面的速度更快。
作为一种可能的实施方式,本申请实施例提供的交换页面管理模块405也可以将目标页面直接压缩在交换页面存储区域中,但不对目标页面进行锁定,本申请实施例在此不做限定。当交换页面管理模块405不对目标页面进行锁定时,由于目标页面仍被压缩在交换页面存储区域中,仍然可以节省内存的存储空间。在目标页面被内存回收之前,电子设备仍然可以以较快的速度访问目标页面。
S1007:恢复模块403检测到交换页面存储区域中的页面被访问时,将该页面恢复至锁定页面存储区域。
恢复模块403可以位于电子设备的内核层400。当电子设备访问交换页面存储区域中的页面时,恢复模块403可以将该页面解压,并将该页面恢复至锁定页面存储区域。作为一个示例,如图15所示,页面1和页面4被压缩存储在交换页面存储区域;当页面1被访问时,恢复模块403可以将页面1解压,并将页面1从锁定页面交换区域转入锁定页面存储区域进行存储。且由于页面1刚被访问,因此识别模块401还可以消除页面1的标记。由于页面4没有被访问,因此页面4仍被压缩存储在锁定页面交换区域。
S1008:锁定页面管理模块404锁定锁定页面存储区域中的页面。
锁定页面管理模块404可以位于电子设备的内核层400。锁定页面管理模块404主要用于管理锁定页面存储区域中的页面。当恢复模块403将被访问的页面恢复至锁定页面存储区域后,锁定页面管理模块404将被访问的页面锁定在锁定页面存储区域中。作为一个示例,锁定页面管理模块404可以将被访问的页面锁定在内存中的Mlock区域。需要说明的是,一方面由于目标页面(冷页)被压缩存储在内存中,冷页所占用的内存空间减少,可以释放出一部份内存空间,提高内存资源的利用率。另一方面,由于冷页仍然存储在内存中,当电子设备需要访问冷页时,可以直接从内存中将冷页解压并进行访问,而不用从除内存外的其他慢速存储中查找。因此,相比于将冷页从内存中删除,本申请实施提供的方法,在一定程度上加快了访问冷页的速度。
根据上述的实施例,本申请实施例提供的方法可以通过统计目标时间段内未被访问的页面,从而确定锁定页面中的冷页。作为另一种可能的实施方式,电子设备也可以将锁定页面根据访问时间进行排序,从而确定锁定页面中的冷页。下面将结合附图介绍将锁定页面根据访问时间进行排序,从而确定锁定页面中的冷页的方法。
参见图16,该图为本申请实施例提供的一种内存中锁定页面的存储方法的信令图。
本申请实施例中的目标页面为访问时间早于访问时间阈值的页面,如图16所示,本申请实施例提供的内存中锁定页面的存储方法包括:
S1601:电子设备开启锁定页面管理功能。
需要说明的是,电子设备可以自动开启锁定页面管理功能,电子设备也可以响应于用户的开启操作来开启锁定页面管理功能,本申请实施例在此不做限定,具体的实施方式如图3至图6所示,本申请实施例在此不再赘述。
S1602:效率控制模块201向识别模块401发送识别指令。
本申请实施例中的效率控制模块201可以位于电子设备的应用程序框架层200,识别模块401可以位于电子设备的内核层400。效率控制模块201接收到锁定页面管理功能开启指令后,效率控制模块201向识别模块401发送识别指令。在锁定页面管理功能保持在开启状态时,作为一种示例,电子设备开机后,效率控制模块201可以向识别模块401发送识别指令。作为一种可能的实施方式,本申请实施例中的效率控制模块201可以周期性的向识别模块401发送识别指令。具体地,效率控制模块201可以在每个周期开启时,向识别模块401发送识别指令,而且在每个周期结束时,向回收模块402发送回收指令。本申请实施例中的周期时长的确定可以参考步骤S1004所述,本申请实施例在此不做赘述。本申请实施例中的步骤S1002为可选的步骤,识别模块401可以在不接收效率控制模块201发送的识别指令的前提下,自主开启对目标页面的识别。
S1603:识别模块401确定锁定页面中访问时间早于访问时间阈值的页面为目标页面。
本申请实施例中的识别模块可以位于电子设备的内核层400。本申请实施例中的识别模块401可以直接从锁定页面中确定访问时间早于访问时间阈值的页面,也可以根据访问时间对锁定页面进行排序,然后根据排序得到的队列确定访问时间早于访问时间阈值的页面,本申请实施例在此不做限定。本申请实施例中的访问时间阈值可以根据文件访问的实际情况进行确定。访问时间阈值可以为页面的访问时间距离当前时间点的时长,例如5000s,也可以为真实的时间,例如8:02。
作为一个示例,识别模块401在将锁定页面存储区域中的页面根据访问时间进行时间标记后,可以将锁定页面存储区域中的锁定页面按照访问时间进行排序。如图17所示,锁定页面存储区域包括页面1、页面2、页面3、页面4和页面5。其中,页面5的时间标记为“T:0”,指示页面5是在起始时刻被访问的。页面1的时间标记为“T:12345”,指示页面1是在起始时刻后12345s被访问的。页面2的时间标记为“T:12333”,指示页面2是在起始时刻后12333s被访问的。页面3的时间标记为“T:12200”,指示页面3是在起始时刻后12200s被访问的。页面4的时间标记为“T:9100”,指示页面4是在起始时刻后9100s被访问的。页面时间标记的数字越大,说明该页面被访问的时间与当前时间越接近。识别模块400可以根据时间标记从大到小对页面进行排序,得到一个锁定页面的有序队列。假设此时页面3被访问,如图18所示,识别模块401将页面3从队列中的第四位换到队列中的第一位,并更新页面3的时间标记,具体地页面3的时间标记“T:12200”更新为“T:14500”。作为另一种可能的实施方式,本申请实施例中的页面的时间标记也可以为根据真实时间生成的时间标记,例如页面1在上午8:02被访问,那么页面1的时间标记就可以为“T:8:02”,申请实施例在此不做限定。
识别模块401在得到锁定页面的有序队列后,将访问时间早于访问时间阈值的页面确定目标页面。作为一个示例,假设当前时间为15000s,识别模块401可以将访问时间距离当前时间5000s以上的页面确定为目标页面,即将访问时间小于10000s的页面作为目标页面。在本申请实施例中,识别模块401可以确定访问时间小于10000s的页面4和页面5为目标页面。
作为另一种可能的实施方式,识别模块401在得到锁定页面的有序队列以后,可以将有序队列中排序在后的页面确定为目标页面,目标页面的排序比锁定页面中其他页面的排序靠后,目标页面占锁定页面的百分比可以为预设的百分比,例如20%。在实际的应用中目标页面占锁定页面的百分比还可以根据电子设备的实际运行工况进行决定,例如当电子设备的CPU占用率较低,内存中可用存储空间较小时,目标页面可以占锁定页面的百分比可以上升,例如30%。
S1604:效率控制模块201向回收模块402发送回收指令。
回收模块402可以位于电子设备的内核层400。在本申请实施例中,效率控制模块201可以在检测到电子设备的可用内存低于第一内存阈值时,向回收模块402发送回收指令,以提高电子设备的可用内存。作为一个示例,第一内存阈值可以为500MB。
作为另一种可能的实施方式,效率控制模块201可以在每个周期开启时,向识别模块401发送识别指令,而且在每个周期结束时,向回收模块402发送回收指令。本申请实施例中的周期时长的确定可以参考步骤S1004所述。本申请实施例中的步骤S1604为可选的步骤,本申请实施例中的回收模块402可以在不接收效率控制模块201发送的回收指令的前提下,自主开启对目标页面的回收。
S1605:回收模块402回收目标页面。
回收模块402在接收到效率控制模块201发送的回收指令后,回收锁定页面存储区域中的目标页面。作为一种可能的实施方式,回收模块402可以向访问识别模块401发送目标页面查询指令。识别模块401在接收了回收模块402发送的目标页面查询指令后,根据锁定页面的有序队列,判断锁定页面中的目标页面,并将目标页面信息发送至识别模块401。回收模块402接收识别模块401发送的目标页面信息并根据目标页面信息回收目标页面。作为另一种可能的实施方式,识别模块401在接收了回收模块402发送的目标页面查询指令后,可以自行根据锁定页面的有序队列,判断锁定页面中的目标页面,并回收目标页面。锁定页面中的目标页面可以为访问时间早于访问时间阈值的锁定页面,也可以为有序队列中排序在后的页面,具体地实施方式参见步骤S1603所示,本申请实施例在此不再赘述。
作为一个示例,如图19所示,锁定页面存储区域中存储有页面1、页面2、页面3、页面4和页面5,其中页面4和页面5为访问时间早于访问时间阈值的目标页面。回收模块402可以将页面4和页面5回收至交换页面存储区域中。此时,锁定页面存储区域仅存储有页面1、页面2和页面3,交换页面存储区域中存储有页面4和页面5。
S1606:交换页面管理模块405压缩并锁定交换页面存储区域中的目标页面。
交换页面管理模块405可以位于电子设备的内核层400。交换页面管理模块405主要用于管理交换页面存储区域中的页面,具体的实施方式如步骤S1006所示,本申请实施例在此不再赘述。
S1607:恢复模块403检测到交换页面存储区域中的页面被访问时,恢复被访问的页面。
恢复模块403可以位于电子设备的内核层400。当电子设备访问交换页面存储区域中的页面时,恢复模块403可以将该页面解压,并将该页面恢复至锁定页面存储区域。如图20所示,当页面5被访问时,恢复模块403将页面5解压,并将页面5从锁定页面交换区域转入锁定页面存储区域进行存储。由于页面5被访问,识别模块401还可以将页面5的时间标记更新为当前时间,具体地可以将页面5的时间标记“T:0”更新为“T:15600”。且由于页面5刚被访问,因此识别模块401将页面5排在有序队列的第一位。
S1608:锁定页面管理模块404锁定锁定页面存储区域中的页面。
锁定页面管理模块404可以位于电子设备的内核层400。锁定页面管理模块404主要用于管理锁定页面存储区域中的页面,具体的实施方式如步骤S1008所示,本申请实施例在此不再赘述。
S1609:效率控制模块201向恢复模块403发送恢复指令。
在本申请实施例中,恢复模块403可以主动恢复交换页面存储区域中被访问的页面,当效率控制模块201判断当前内存空间较为充足时,也可以向恢复模块403发送恢复指令,以使恢复模块403恢复交换页面存储区域中的页面。具体地,当效率控制模块201检测到电子设备的可用内存高于第二内存阈值时,可以向恢复模块403发送恢复指令。作为一个示例,第二内存阈值可以为800MB。
进一步地,考虑到恢复模块403恢复交换页面存储区域中页面时可能会占用电子设备的中央处理器(central processing unit,CPU)的计算资源。恢复模块403可以在电子设备的可用内存高于第二内存阈值,且电子设备CPU的占用率低于CPU占用阈值时,向恢复模块403发送恢复指令。作为一个示例,CPU占用阈值可以为30%。
S1610:恢复模块403将锁定页面交换区域中的页面恢复至锁定页面存储区域。
在恢复模块403接收到效率控制模块201发送的恢复指令后,可以将锁定页面交换区域中的全部页面或者一部分页面恢复至锁定页面存储区域。如图21所示,锁定页面存储区域中存储有页面1、页面2、页面3和页面5,交换页面存储区域中存储有页面4。恢复模块403在接收到恢复指令后,可以将页面4从交换页面存储区域换入锁定页面存储区域,并保留页面4原本的时间标记“T:9100”。
S1611:锁定页面管理模块404锁定锁定页面存储区域中的页面。
锁定页面管理模块404主要用于管理锁定页面存储区域中的页面,具体的实施方式如步骤S1608所示,本申请实施例在此不再赘述。
综上所述,本申请实施例提供的方法可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯锁定页面中不常被访问的目标页面。然后电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分被释放的存储空间可以用于存储其他被访问频次更高的页面,从而提高内存的整体使用效率,从而使得电子设备的性能提升。
在申请实施例中,锁定页面交换区域可以存在于内存中,也可以存储在其他的存储设备中,本申请在此不做限定。作为一个示例,在除内存外的其他存储设备中可以包括锁定页面交换区域。此时,锁定页面存储区域仍然在内存中,电子设备可以将锁定页面存储区域中不常被访问的目标页面从内存中换出,并存储在锁定页面交换区域中。如此,电子设备可以完全释放目标页面所占用的内存空间,但换出的目标页面再次被访问时,电子设备需要将目标页面从存储设备中换入内存,从而导致在存储设备中的目标页面的访问速度较慢。
综上所述,本申请实施例提供的方法可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯锁定页面中不常被访问的目标页面。目标页面可以为目标时间段内未被访问的页面,也可以为内存中长期未访问的页面。电子设备可以判断目标页面被访问的概率较低,从而电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分的存储空间可以用来存储被访问频次更高的页面,提高了内存的使用效率,从而使得电子设备的性能提升。
根据上述实施例提供的一种内存中锁定页面的存储方法,本申请实施例还提供了一种内存中锁定页面的存储装置。
参见图22,该图为本申请实施例提供的一种内存中锁定页面的存储装置示意图。
该装置应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,如图22所示,该装置包括:
第一确定模块2201,用于在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为目标时间段内未被访问的锁定页面;
第一存储模块2202,用于将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;
第一压缩模块2203,用于在内存中压缩目标页面。
作为一种可能的实施方式,第一确定模块具体用于:在目标时间段的起始时刻,标记锁定页面;当锁定页面中的第一页面被访问时,清除第一页面的标记;在目标时间段的终点时刻,将仍存在标记的锁定页面确定为目标页面。
根据上述实施例提供的一种内存中锁定页面的存储方法,本申请实施例还提供了一种内存中锁定页面的存储装置。
参见图23,该图为本申请实施例提供的另一种内存中锁定页面的存储装置示意图。
该装置应用于电子设备,电子设备的内存中包括锁定页面存储区域和交换页面存储区域,锁定页面存储区域中存储有锁定页面,如图23所示,该装置包括:
第二确定模块2301,用于在锁定页面中确定目标页面,锁定页面为锁定在电子设备的内存中的页面,目标页面为访问时间早于访问时间阈值的锁定页面;
第二存储模块2302,应用于将目标页面存入交换页面存储区域,锁定页面存储区域中目标页面所占用的存储空间被释放;
第二压缩模块2303,用于在内存中压缩目标页面。
作为一种可能的实施方式,第二确定模块具体用于:将锁定页面按照访问时间的早晚进行排序,得到锁定页面的有序队列;根据有序队列,将访问时间早于访问时间阈值的锁定页面确定为目标页面。
综上所述,本申请实施例提供的装置可以根据内存中锁定页面的访问信息,识别不同用户的使用习惯,从而根据不同用户的使用习惯锁定页面中不常被访问的目标页面。目标页面可以为目标时间段内未被访问的页面,也可以为内存中长期未访问的页面。电子设备在内存中压缩目标页面,从而使得目标页面在内存中所占据的存储空间减少,释放了一部分内存中效率较低的存储空间,这部分的存储空间可以用来存储被访问频次更高的页面,提高了内存的使用效率,从而使得电子设备的性能提升。
根据上述实施例提供的内存中锁定页面的存储方法和内存中锁定页面的存储装置,本申请实施例还提供了一种电子设备,该电子设备包括处理器以及存储器:存储器用于存储计算机程序;处理器用于根据计算机程序执行上述的锁定页面的存储方法。
根据上述实施例提供的内存中锁定页面的存储方法和内存中锁定页面的存储装置,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,计算机程序用于执行上述的锁定页面的存储方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种内存中锁定页面的存储方法,其特征在于,所述方法应用于电子设备,所述电子设备的内存中包括锁定页面存储区域和交换页面存储区域,所述锁定页面存储区域中存储有锁定页面,所述方法包括:
在目标时间段的起始时刻,所述电子设备标记所述锁定页面;
当所述锁定页面中的第一页面被访问时,所述电子设备清除所述第一页面的标记;
在所述目标时间段的终点时刻,所述电子设备将仍存在标记的锁定页面确定为目标页面,所述锁定页面为锁定在所述电子设备的内存中的页面,所述目标页面为目标时间段内未被访问的锁定页面;
所述电子设备将所述目标页面存入所述交换页面存储区域,所述锁定页面存储区域中所述目标页面所占用的存储空间被释放;
所述电子设备在所述内存中压缩所述目标页面。
2.据权利要求1所述的方法,其特征在于,还包括:
当所述电子设备访问所述目标页面时,所述电子设备解压所述目标页面并将所述目标页面存入所述锁定页面存储区域。
3.根据权利要求1所述的方法,其特征在于,所述目标时间段的起始时刻为所述电子设备的屏幕亮起的时刻。
4.根据权利要求1所述的方法,其特征在于,所述目标时间段的终点时刻为所述电子设备的屏幕熄灭的时刻。
5.根据权利要求1所述的方法,其特征在于,所述电子设备在所述锁定页面中确定目标页面,包括:
所述电子设备周期性地在所述锁定页面中确定目标页面。
6.根据权利要求5所述的方法,其特征在于,当所述电子设备的***版本更新后,所述电子设备在所述锁定页面中确定目标页面的周期缩短。
7.一种内存中锁定页面的存储方法,其特征在于,所述方法应用于电子设备,所述电子设备的内存中包括锁定页面存储区域和交换页面存储区域,所述锁定页面存储区域中存储有锁定页面,所述方法包括:
所述电子设备在所述锁定页面中确定目标页面,所述锁定页面为锁定在所述电子设备的内存中的页面,所述目标页面为访问时间早于访问时间阈值的锁定页面;
当所述电子设备的可用内存低于第一内存阈值时,所述电子设备将所述目标页面存入所述交换页面存储区域,所述锁定页面存储区域中所述目标页面所占用的存储空间被释放;
所述电子设备在所述内存中压缩所述目标页面。
8.根据权利要求7所述的方法,其特征在于,所述电子设备在所述锁定页面中确定目标页面,包括:
电子设备将所述锁定页面按照访问时间的早晚进行排序,得到所述锁定页面的有序队列;
所述电子设备根据所述有序队列,将访问时间早于访问时间阈值的锁定页面确定为目标页面。
9.根据权利要求7所述的方法,其特征在于,还包括:
当所述电子设备访问所述目标页面时,所述电子设备解压所述目标页面并将所述目标页面存入所述锁定页面存储区域。
10.根据权利要求7所述的方法,其特征在于,还包括:
当所述电子设备的可用内存高于第二内存阈值时,所述电子设备解压所述目标页面并将所述目标页面存入所述锁定页面存储区域。
11.一种内存中锁定页面的存储装置,其特征在于,所述装置应用于电子设备,所述电子设备的内存中包括锁定页面存储区域和交换页面存储区域,所述锁定页面存储区域中存储有锁定页面,所述装置包括:
第一确定模块,用于在目标时间段的起始时刻,标记所述锁定页面;当所述锁定页面中的第一页面被访问时,清除所述第一页面的标记;在所述目标时间段的终点时刻,将仍存在标记的锁定页面确定为目标页面,所述锁定页面为锁定在所述电子设备的内存中的页面,所述目标页面为目标时间段内未被访问的锁定页面;
第一存储模块,用于将所述目标页面存入所述交换页面存储区域,所述锁定页面存储区域中所述目标页面所占用的存储空间被释放;
第一压缩模块,用于在所述内存中压缩所述目标页面。
12.一种内存中锁定页面的存储装置,其特征在于,所述装置应用于电子设备,所述电子设备的内存中包括锁定页面存储区域和交换页面存储区域,所述锁定页面存储区域中存储有锁定页面,所述装置包括:
第二确定模块,用于在所述锁定页面中确定目标页面,所述锁定页面为锁定在所述电子设备的内存中的页面,所述目标页面为访问时间早于访问时间阈值的锁定页面;
第二存储模块,用于当所述电子设备的可用内存低于第一内存阈值时,所述电子设备将所述目标页面存入所述交换页面存储区域,所述锁定页面存储区域中所述目标页面所占用的存储空间被释放;
第二压缩模块,用于在所述内存中压缩所述目标页面。
13.根据权利要求12所述的装置,其特征在于,所述第二确定模块具体用于:
将所述锁定页面按照访问时间的早晚进行排序,得到所述锁定页面的有序队列;
根据所述有序队列,将访问时间早于访问时间阈值的锁定页面确定为目标页面。
14.一种电子设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1-6或权利要求7-10中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-6或权利要求7-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210339963.9A CN114461405B (zh) | 2022-04-01 | 2022-04-01 | 一种内存中锁定页面的存储方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210339963.9A CN114461405B (zh) | 2022-04-01 | 2022-04-01 | 一种内存中锁定页面的存储方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461405A CN114461405A (zh) | 2022-05-10 |
CN114461405B true CN114461405B (zh) | 2022-09-13 |
Family
ID=81418002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210339963.9A Active CN114461405B (zh) | 2022-04-01 | 2022-04-01 | 一种内存中锁定页面的存储方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461405B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843853A (zh) * | 2016-03-16 | 2016-08-10 | 北京小米移动软件有限公司 | 智能设备的清理方法及装置 |
CN107861999A (zh) * | 2017-10-20 | 2018-03-30 | 北京集奥聚合科技有限公司 | 一种hdfs中冷数据的处理方法及*** |
CN110609708A (zh) * | 2018-06-15 | 2019-12-24 | 伊姆西Ip控股有限责任公司 | 用于数据处理的方法、设备和计算机程序产品 |
CN114116191A (zh) * | 2021-06-24 | 2022-03-01 | 荣耀终端有限公司 | 内存冷页的处理方法及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130031046A (ko) * | 2011-09-20 | 2013-03-28 | 삼성전자주식회사 | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 |
WO2013161073A1 (ja) * | 2012-04-27 | 2013-10-31 | 株式会社日立製作所 | データ管理システム及び方法 |
US8965857B2 (en) * | 2012-12-28 | 2015-02-24 | Sybase, Inc. | Method and system to avoid space bloating during run-time compression |
-
2022
- 2022-04-01 CN CN202210339963.9A patent/CN114461405B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843853A (zh) * | 2016-03-16 | 2016-08-10 | 北京小米移动软件有限公司 | 智能设备的清理方法及装置 |
CN107861999A (zh) * | 2017-10-20 | 2018-03-30 | 北京集奥聚合科技有限公司 | 一种hdfs中冷数据的处理方法及*** |
CN110609708A (zh) * | 2018-06-15 | 2019-12-24 | 伊姆西Ip控股有限责任公司 | 用于数据处理的方法、设备和计算机程序产品 |
CN114116191A (zh) * | 2021-06-24 | 2022-03-01 | 荣耀终端有限公司 | 内存冷页的处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114461405A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190220418A1 (en) | Memory Management Method and Apparatus | |
US9235531B2 (en) | Multi-level buffer pool extensions | |
US9262313B2 (en) | Provisioning in heterogenic volume of multiple tiers | |
CN109992523B (zh) | 内存处理方法和装置、电子设备、计算机可读存储介质 | |
CN110018900B (zh) | 内存处理方法和装置、电子设备、计算机可读存储介质 | |
KR20150045348A (ko) | 전자 장치의 메모리 압축 방법 및 장치 | |
CN109992402B (zh) | 内存处理方法和装置、电子设备、计算机可读存储介质 | |
CN110945486B (zh) | 一种存储碎片管理方法及终端 | |
US11372779B2 (en) | Memory controller and memory page management method | |
CN114185494B (zh) | 内存匿名页的处理方法、电子设备及可读存储介质 | |
WO2015051641A1 (zh) | 一种磁盘镜像空间回收的方法及装置 | |
CN112000426B (zh) | 一种数据处理方法及装置 | |
CN114253908A (zh) | 键值存储***的数据管理方法及其装置 | |
WO2024099448A1 (zh) | 内存释放、内存恢复方法、装置、计算机设备及存储介质 | |
CN113204407A (zh) | 一种内存超配管理方法及装置 | |
CN110955488A (zh) | 一种持久性内存的虚拟化方法及*** | |
CN113778662A (zh) | 内存回收方法及装置 | |
CN107133334B (zh) | 基于高带宽存储***的数据同步方法 | |
CN114461405B (zh) | 一种内存中锁定页面的存储方法及相关装置 | |
US10976938B2 (en) | Block map cache | |
US20170315930A1 (en) | Cache scoring scheme for a cloud-backed deduplication storage system | |
CN110018987B (zh) | 快照创建方法、装置及*** | |
CN115543930A (zh) | 一种在内存中锁定文件的方法、装置及相关设备 | |
CN113485642A (zh) | 数据缓存方法及装置 | |
CN110018985B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230904 Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd. Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee before: Honor Device Co.,Ltd. |
|
TR01 | Transfer of patent right |