一种在内存中锁定文件的方法、装置及相关设备与流程

文档序号:32742164发布日期:2022-12-30 19:34阅读:46来源:国知局
一种在内存中锁定文件的方法、装置及相关设备与流程

1.本技术涉及存储技术领域,尤其涉及一种在内存中锁定文件的方法、装置及相关设备。


背景技术:

2.目前,电子设备在读取数据的过程中,可以优先从电子设备的内存中查找是否存在目标数据。当内存中存在目标数据时,电子设备可以直接从内存中读取该目标数据;而当内存中不存在目标数据时,电子设备可以访问除内存外的其他存储设备,并将该存储设备中的目标数据读入内存,然后电子设备再从内存中读取目标数据。
3.通常情况下,电子设备的内存空间有限,这使得在内存空间不足时,电子设备通常将回收内存中的部分存储空间,以便利用回收的这部分数据所占用的内存空间存储新的数据。被回收的存储空间内原本存储的数据将被从内存中删除。但是,这些被删除的数据后续可能会被电子设备频繁访问,这使得电子设备会频繁地访问存储设备的数据,而电子设备从存储设备中读取数据的速度较慢,从而电子设备因为频繁访问存储设备而容易导致电子设备出现卡顿,降低了用户使用电子设备的体验。因此,本领域急需一种可以提高用户使用电子设备的体验的方法。


技术实现要素:

4.本技术提供了一种在内存中锁定文件的方法、装置及相关设备,用于降低电子设备访问存储设备的概率,提高用户使用电子设备的体验。
5.第一方面,本技术提供了一种在内存中锁定文件的方法,包括:电子设备获得电子设备的多个文件中每个文件在目标时间段内的访问量以及每个文件的文件大小,每个文件在目标时间段内的访问量包括每个文件占用的多个页被访问的次数总和;电子设备根据每个文件的访问量和每个文件的大小,从多个文件中确定热点文件,多个文件还包括非热点文件,其中,在热点文件和非热点文件的大小一致时,热点文件的访问量大于非热点文件的访问量,且在热点文件和非热点文件的访问量一致时,热点文件的大小小于非热点文件的大小;电子设备在内存中锁定热点文件。
6.由上可知,电子设备可以根据用户使用电子设备实际使用情况选择多个文件中热点较高的热点文件,并将热点文件锁定在内存中。由于热点文件是根据用户实际使用电子设备的情况确定的,因此电子设备可以根据用户不同的使用习惯确定不同的热点文件,从而使得热点文件与用户的使用习惯较为匹配。如此,本技术实施例提供的方案可以较为准确地确定热点文件,在一定程度上可以避免页面抖动问题的产生,从而可以提高电子设备在内存中访问数据的命中率,进而提高电子设备访问数据的速度,在一定程度上避免电子设备出现操作卡顿现象,提高了用户的使用体验。
7.作为一种可能的实施方式,热点文件的读取系数大于非热点文件的读取系数,其中,多个文件中目标文件的读取系数为根据目标文件的访问量和目标文件的大小确定的,
目标文件为多个文件中任意一个文件,目标文件的读取系数与目标文件的访问量呈正相关,目标文件的读取系数与目标文件的大小呈负相关。作为一个示例,目标文件的读取系数可以为目标文件的访问量和目标文件的大小的比值。本技术实施例通过可以通过读取系数来评估每个文件的热度,读取系数与文件的访问量呈正相关,与文件的大小呈负相关。文件的热度越高,该文件成为热点文件的可能性越大。
8.作为一种可能的实施方式,本技术实施例提供的在内存中锁定文件的方法还包括:电子设备获得在目标时间段内访问每个文件的软件的第一数量。相应地,电子设备根据每个文件的访问量、每个文件的大小和每个文件对应的第一数量,从多个文件中确定热点文件,热点文件对应的第一数量大于数量阈值。本技术实施例还可以根据访问文件的软件数量(第一数量)来判断该文件的热度。在目标时间段内,如果访问该文件的软件数量较多,说明该文件的应用场景较为广泛,电子设备可以判断该文件的热度较高。
9.作为一种可能的实施方式,本技术实施例提供的在内存中锁定文件的方法还包括:电子设备获得每个文件对应的第二数量,每个文件对应的第二数量包括目标时间段内每个文件占用的多个页分别被访问的次数。相应地,电子设备根据每个文件的访问量、每个文件的大小和每个文件对应的第二数量,从多个文件中确定热点文件。作为一种可能的实施方式,热点文件对应的第二数量的方差小于方差阈值。本技术实施例还可以通过文件中每个页分别被访问的次数来判断该文件的热度。在目标时间段内,文件中每个页被访问的次数越平均,说明该文件的整体热度越高。
10.作为一种可能的实施方式,热点文件占用的空间大小不超过预设空间大小。在实际的应用中,为了方便对热点文件的管理,可以在内存中划出一个预设空间来存储热点文件。
11.作为一种可能的实施方式,电子设备包括多个应用软件,目标时间段为电子设备上运行的应用软件的数量达到预设数量所对应的时间段。在本技术实施例中目标时间段可以为不固定的时间。当目标时间段开始时,电子设备开始对电子设备运行过的软件进行计数,当电子设备上运行的软件大道预设数量时,目标时间段结束。
12.作为一种可能的实施方式,本技术实施例提供的在内存中锁定文件的方法还包括:电子设备存储热点文件对应的热点文件列表,热点文件列表记录了热点文件的标识。电子设备保存的热点文件列表,可以在热点文件配置丢失时,例如电子设备重启时,不用重新采集文件的访问数据确定热点文件,而是可以直接根据保存的热点文件列表确定热点文件。
13.作为一种可能的实施方式,当电子设备重启时,本技术实施例提供的在内存中锁定文件的方法还包括:电子设备根据热点文件列表在内存中锁定热点文件。
14.作为一种可能的实施方式,热点文件列表被周期性的更新,本技术实施例提供的在内存中锁定文件的方法还包括:当电子设备满足预设条件时,电子设备缩短更新热点文件列表的周期。作为一个示例,预设条件包括电子设备的系统版本完成升级。在电子设备的系统版本完成升级时,由于电子设备的系统版本变化,很可能导致电子设备的热点文件发生变化,此时为了使得热点文件与电子设备的系统版本匹配,电子设备可以缩短热点文件列表的更新周期。
15.根据上述的在内存中锁定文件的方法,本技术实施例还提供了一种在内存中锁定
文件的装置,该装置应用于电子设备,包括:获得模块,用于获得电子设备的多个文件中每个文件在目标时间段内的访问量以及每个文件的文件大小,每个文件在目标时间段内的访问量包括每个文件占用的多个页被访问的次数总和;确定模块,用于根据每个文件的访问量和每个文件的大小,从多个文件中确定热点文件,多个文件还包括非热点文件,其中,在热点文件和非热点文件的大小一致时,热点文件的访问量大于非热点文件的访问量,且在热点文件和非热点文件的访问量一致时,热点文件的大小小于非热点文件的大小;锁定模块,用于在内存中锁定热点文件。
16.作为一种可能的实施方式,热点文件的读取系数大于非热点文件的读取系数,其中,多个文件中目标文件的读取系数为根据目标文件的访问量和目标文件的大小确定的,目标文件为多个文件中任意一个文件,目标文件的读取系数与目标文件的访问量呈正相关,目标文件的读取系数与目标文件的大小呈负相关。
17.作为一种可能的实施方式,目标文件的读取系数为目标文件的访问量和目标文件的大小的比值。
18.作为一种可能的实施方式,本技术实施例提供的在内存中锁定文件的装置还包括:第一数量获得模块,用于获得在目标时间段内访问每个文件的软件的第一数量;确定模块具体用于,根据每个文件的访问量、每个文件的大小和每个文件对应的第一数量,从多个文件中确定热点文件,热点文件对应的第一数量大于数量阈值。
19.作为一种可能的实施方式,本技术实施例提供的在内存中锁定文件的装置还包括:第二数量获得模块,用于获得每个文件对应的第二数量,每个文件对应的第二数量包括目标时间段内每个文件占用的多个页分别被访问的次数;确定模块具体用于,根据每个文件的访问量、每个文件的大小和每个文件对应的第二数量,从多个文件中确定热点文件。
20.根据上述的在内存中锁定文件的方法和在内存中锁定文件的装置,本技术实施例还提供了一种电子设备,该设备包括处理器以及存储器:存储器用于存储计算机程序;处理器用于根据计算机程序执行上述的在内存中锁定文件的方法。
21.根据上述的在内存中锁定文件的方法和在内存中锁定文件的装置,本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,计算机程序用于执行上述的在内存中锁定文件的方法
22.通过上述技术方案可知,本技术具有以下有益效果:
23.本技术实施例提供了一种在内存中锁定文件的方法、装置及相关设备,该方法包括:电子设备获得电子设备的多个文件中的每个文件在目标时间段内的访问量,每个文件在目标时间段内的访问量包括每个文件占用的多个页被访问的次数总和;电子设备根据每个文件的访问量和每个文件的大小,锁定多个文件中的热点文件,在热点文件和多个文件中的非热点文件的大小一致时,热点文件的访问量大于非热点文件的访问量,且在热点文件和非热点文件的访问量一致时,热点文件的大小小于非热点文件的大小。
24.由此可知,通过获得电子设备中文件的访问量和文件的大小,可以根据用户使用电子设备实际使用情况确定电子设备中的热点文件,从而可以锁定电子设备常用的热点文件,使得电子设备的热点文件不会被电子设备换出内存。由于热点文件被锁定在了内存中,电子设备在读取数据时有更大的概率可以直接从内存中读取,而不用从其他慢速的存储设备中读取,如此,可以降低电子设备访问慢速存储设备的概率,提高用户使用电子设备的体
flash storage,ufs)等等。
45.应用程序层可安装有多个应用程序。以应用程序1(app1)为例,响应于用户操作,应用程序1可发起一个或多个访问(read)请求。例如播放视频的过程中,执行上述播放视频的功能的应用程序可发起一个数据访问请求,响应于上述请求,上述应用程序可以读取存储设备中存储的视频数据,从而播放视频。
46.具体的,被发起的访问请求可经过内核层的文件系统,达到块(block)中的读写调度层(io scheduler layer)。文件系统可以包括虚拟文件系统(vfs,virtual filesystem)、页高速缓冲存储器(page cache)、flash友好文件系统(f2fs)、可扩展只读文件系统(erofs)和第四代扩展文件系统(ext4)等。其中,vfs是一个内核软件层,是物理文件系统与服务之间的一个接口层,它对文件系统的所有细节进行抽象,使得不同的次级文件系统在系统中运行的其他进程看来,都是相同的。页高速缓冲存储器的大小为一页,即4k。在系统读写文件时,它用于缓存文件的逻辑内容,从而加快对存储设备上映像和数据的访问。f2fs用于配置磁盘布局、选择分配和清理算法,优化io数据读写性能。erofs用来在保证嵌入式设备端到端的性能的前提下节省存储空间。ext4用于提供文件日志功能。对于每个已经挂载的文件系统,vfs在内核中都生成一个块结构(block),块代表一个已经安装的文件系统,用于存储文件系统的控制信息,例如文件系统类型、大小。
47.文件到内存之间的映射是按页(page)为单位进行管理的,页通常的大小为4k。文件通常由多个页的数据组成,文件中一个页的数据可以称为一个页面。内存中也包含有存储多个页的存储空间。如图1b所示,文件a内包括a1页面、a2页面、a3页面、a4页面和a5页面。当内存访问文件a中的数据时,通常以页为单位,例如内存可以访问文件a中的a2页面、a3页面和a4页面。此时,内存将把文件a中的a2页面、a3页面和a4页面分别存储至内存的1页、2页和3页中,然后电子设备可以直接从内存读取a2页面、a3页面和a4页面。
48.对于io访问请求,存储系统可以在存储设备的内存中查找是否存在该请求对应的页面。当内存中存在该页面时,存储系统可以直接从内存中读取该页面;而当内存中不存在该页面时,存储系统可以访问存储在外存中的文件,并将从文件中查找到的页面读入内存,然后存储系统再从内存中读取页面。
49.由于存储系统中内存空间有限,在内存空间不足时,手机通常将回收内存中的部分页面,以便利用回收的这部分页面占用的页存储新的数据。被回收的页面对应的数据将被从内存中删除。但如果这些被删除的页面很快又被手机重新访问,内存则又重新将这部分页面加载入内存。如此,内存中出现了部分页面反复换入换出内存,称为页面抖动。页面抖动将会增加外存的访问量,外存访问的速度较慢,从而可能导致手机出现操作卡顿的现象。
50.以电子设备为手机作为示例。用户在使用手机时,如果手机的内存空间比较充足,那么该手机的反映速度和运行状况都会比较良好,手机很难出现卡顿的现象。当随着手机中应用软件的不断更新迭代,应用软件提供的功能越来越多,应用软件也越来越庞大,对手机运行资源,尤其是手机的内存的要求也越来越高。具体地,应用软件的数据越来越多,用户可能同时打开数个数据较大的软件,此时存储系统中可用内存较少,内存中的访问命中率下降,容易出现页面抖动的问题,从而导致手机出现操作卡顿的现象,影响用户的使用体验。
51.为了缓解页面抖动的问题,存储系统可以将一部分经常被访问的热点文件锁定在内存中。被锁定的热点文件中的页面不会再被内存回收,当电子设备访问被锁定文件中的页面时,电子设备可以直接在内存中访问该页面。被锁定的页面不会被存储删除,因此也可以避免页面抖动的问题。然而在实际的应用中,每个电子设备的用户使用电子设备的功能存在差异,例如不同的用户使用电子设备运行的常用应用的个数、应用的类型和使用的时间都存在差别,从而对于不同用户使用电子设备来说,热点文件也会存在差别。如果电子设备锁定的热点文件是预设好的,无法与电子设备用户的使用习惯匹配,电子设备还是会发生页面抖动的问题。因此,如何较为精准地锁定电子设备中的热点文件,使得热点文件与电子设备用户的使用习惯匹配,成为本领域需要解决的问题。
52.为了解决上述的问题,本技术提供了一种锁定内存中热点文件的方案。首先,电子设备在目标时间段内采集电子设备中存储的多个文件的访问信息。访问信息可以为多个文件中每个文件的访问量,即每个文件占用的多个页被访问的次数总和。然后电子设备根据文件的访问信息和文件的大小评估每个文件的热度。通常来说,文件的访问量越大,文件的热度越高。而在相同访问量的情况下,文件的大小越小,文件的热度越高。在评估了多个文件的热度后,电子设备可以根据用户使用电子设备实际使用情况选择多个文件中热点较高的热点文件,并将热点文件锁定在内存中。由于热点文件是根据用户实际使用电子设备的情况确定的,因此电子设备可以根据用户不同的使用习惯确定不同的热点文件,从而使得热点文件可以与用户的使用习惯较为匹配。如此,本技术实施例提供的方案可以较为准确地确定热点文件,在一定程度上可以避免页面抖动问题的产生,从而可以提高电子设备在内存中访问数据的命中率,进而提高电子设备访问数据的速度,在一定程度上避免电子设备出现操作卡顿现象,提高了用户的使用体验。
53.在实际的应用中,手机可以默认使用锁定热点文件的方案,即手机默认开启热点文件锁定功能。用户也可以在手机中对热点文件功能进行设置,当用户想要开启或关闭手机的热点文件锁定功能时,如图1c所示,用户可以现在手机的主显示界面上点击设置软件。如图1d所示,手机将会显示多个可以设置的功能,包括无线局域网、蓝牙、蜂窝网络、个人热点和内存设置等。用户在其中找到内存设置的功能,打开内存设置。如图1e所示,当用户打开内存设置后,手机将会显示热点文件锁定的功能。用户可以通过滑动热点文件锁定功能的开关,来开启或关闭热点文件锁定功能。例如,在图1e中用户可以将热点文件的滑动开关向右滑动以开启热点文件锁定功能。
54.在实际的应用中,用户可能关闭了热点文件锁定功能。但如果手机检测到手机的运行速度较低,可能会出现卡顿现象时,可以通过弹窗的方式提醒用户开启热点文件锁定功能,以提高手机访问数据的速度。如图1f所示,手机可以在显示界面上弹窗显示“检测到您的手机可能出现卡顿现象,是否开启热点文件锁定功能,以减少手机卡顿?”。如果用户同意开启此功能,并点击下面的“是”案件,则手机可以自动开启热点文件锁定功能。
55.下面对本技术实施例提供的一种在内存中锁定文件的方法的软件架构进行介绍。如图2所示,在内存中锁定文件的方法中电子设备包括应用程序层100、应用程序框架层200、内核层300和设备层。其中,应用程序层100可以包括多个app,例如app1、app2和app3等。应用程序框架层200包括统计周期控制模块201、热点文件配置模块202和热点文件识别模块203。内核层300包括访问信息采集模块301和热点文件内存锁定模块302。设备层400包
括存储设备401。热点文件识别模块203中包括热点文件筛选模块2031和热点文件保存模块2032。
56.在热点文件锁定功能开启后,应用程序层100的应用程序向统计周期控制模块201发送开启指令。统计周期控制模块201在接收到开启指令后,向访问信息采集模块301301发送采集指令。访问信息采集模块301根据采集指令,在目标时间段内采集电子设备访问多个文件的访问信息,并将多个文件对应的访问信息发送至热点文件识别模块203。热点文件识别模块203根据访问信息采集模块301采集的访问信息和文件大小,在存储设备中存储的多个文件中筛选出热点文件,并将热点文件对应的热点文件列表发送至热点文件配置模块202。热点文件配置模块202根据热点文件列表依次向热点文件内存锁定模块302发送热点文件信息,以使得热点文件内存锁定模块302根据热点文件信息将热点文件锁定在内存中。热点文件列表可以被周期性更新。内存中被锁定的热点文件将一直被存储在内存中,直至热点文件列表更新。热点文件列表更新后,热点文件配置模块202根据新的热点文件列表发送新的热点文件信息至热点文件内存锁定模块302,以使热点文件内存锁定模块302锁定新的热点文件。统计周期控制模块201用于调节控制热点文件的更新周期。
57.为了更好的理解本技术实施例提供的在内存中锁定文件的方法,下面将通过附图来对本技术实施例提供的在内存中锁定文件的方法,进行具体介绍。
58.参见图3,该图为本技术实施例提供的一种在内存中锁定文件的方法的信令图。
59.如图3所示,本技术实施例提供的在内存中锁定文件的方法,包括:
60.s301:统计周期控制模块201向访问信息采集模块301发送采集指令。
61.统计周期控制模块201位于电子设备中的应用程序框架层200,访问信息采集模块301位于电子设备的内核层。
62.当电子设备的热点文件锁定功能被开启后,电子设备向统计周期控制模块201发送开启指令。在实际的应用中,电子设备可以在开启使用后默认开启热点文件锁定功能。用户也可以在电子设备的设置中开启或关系热点文件锁定功能。电子设备在检测到页面抖动问题后,也可以提醒用户开启热点文件锁定功能,具体的实施方式参考如图1c至图1e部分所述,本技术实施例在此不再赘述。
63.统计周期控制模块201在接收到开启指令后,向访问信息采集模块301发送采集指令。需要说明的是,用户可以主动开启热点文件锁定功能,电子设备也可以在检测到电子设备运行速度较慢,出现卡顿现象时,自动开启热点文件锁定功能,以缓解电子设备的卡顿现象。当然,为了获得较好的运行速度,在电子设备第一次被使用时,电子设备可以默认开启热点文件锁定功能,本技术实施例在此不做限定。
64.为了使得采集的访问信息贴合电子设备当前的运行习惯,本技术实施例中的统计周期控制模块201可以控制在内存中锁定文件的周期,并根据锁定文件的周期发送采集指令。具体地,在一个新的周期开启时,统计周期控制模块201可以通过向访问信息采集模块301发送采集指令,来触发访问信息采集模块301采集存储设备中存储的多个文件的访问信息,例如文件的访问量。需要说明的是,采集指令中可以包含采集访问信息的目标时间段。当访问信息采集模块301接收到包含目标时间段的采集指令后,将在目标时间段内采集多个文件的访问量。在当前的周期结束,新的周期开启时,统计周期控制模块201可以重新向访问信息采集模块301发送采集指令,以使得访问信息采集模块301重新采集访问信息,更
新内存中锁定的文件,如此循环往复,直至热点文件锁定功能被关闭。
65.作为一种可能的实施方式,本技术实施例中的统计周期控制模块201发送采集指令的周期可以为预设的周期,例如7天。统计周期控制模块201还可以根据电子设备的应用场景或电子设备的系统版本调节该发送周期。当检测到电子设备的应用场景发生频繁变化时,即电子设备上运行的应用频繁变化时,统计周期控制模块201可以缩短发送采集指令的周期。例如,电子设备检测到用户在在一天内切换了10个以上的app时,电子设备中的统计周期控制模块201可以缩短发送采集指令的周期,将原本的7天发送一次采集指令,缩短为5天发送一次采集指令。当检测到电子设备的应用场景长期较为稳定时,即电子设备上长期运行的应用较为固定时,统计周期控制模块201可以加长发送采集指令的周期。例如,电子设备检测到用户在七天内仅长期使用了3个app,电子设备中的统计周期控制模块201可以拉长发送采集指令的周期,将原本的7天发送一次采集指令,增加为10天发送一次采集指令。当电子设备的系统版本调整时,例如电子设备的系统版本升级时,统计周期控制模块201可以缩短发送采集指令的周期。在实际的应用中,当电子设备的系统版本升级时,统计周期控制模块201可以将原本的7天周期缩短为3天,并且立刻向访问信息采集模块301发送一次采集指令。
66.s302:访问信息采集模块301采集存储设备401存储的多个文件的访问量。
67.访问信息采集模块301位于电子设备的内核层300,存储设备401位于电子设备的设备层400。具体的,访问信息采集模块301在接收到统计周期控制模块201发送的采集指令后,根据采集指令中的目标时间段,采集电子设备中多个文件中每个文件在目标时间段内的访问信息,然后将每个文件在目标时间内的访问信息发送至热点文件筛选模块2031。需要说明的是,电子设备存储系统中多个文件可以为存储设备中的全部文件,也可以为存储设备中指定的部分文件。作为一种可能的实施方式,访问信息采集模块301在接收到采集指令后,就可以开始采集多个文件的访问信息,即本技术实施例中目标时间段的起始点可以为访问信息采集模块301接收到采集指令时。作为另一种可能的实施方式,本技术实施例中的目标时间段的起始点也可以为访问信息采集模块301接收到采集指令的预设延迟时间后,或者目标时间段的起始点也可以为预设的时刻,本技术实施例在此不做限定。
68.目标时间段的时长可以为预设时长,例如10个小时。目标时间段的时长也可以为电子设备上运行的软件的数量达到预设数量所对应的时间段。作为一个示例,当预设数量为n时,访问信息采集模块301开始采集多个文件的访问信息后,将会保持这个状态直到当访问信息采集模块301检测到电子设备累计已运行过n个软件时,访问信息采集模块301结束采集,并把采集得到的访问信息发送至热点文件筛选模块。
69.在实际的应用中电子设备在访问文件时,通常不会访问整个文件,而访问文件中的一个或多个页。作为一种可能的实施方式,本技术中多个文件的访问信息可以包括每个文件的访问量。在实际的应用中,访问信息采集模块301采集文件的访问量实际为采集文件中每个页面的访问次数,然后访问信息采集模块301再累加文件中每个页面的访问次数,获得该文件的访问量。文件在目标时间段内的访问量包括该文件占用的多个页被访问的次数总和。如图4所示,b文件在存储设备中需要占用b1、b2、b3和b4四个页。b文件在目标时间段内被访问了一次,在这次访问中b1页和b2页均被访问了,而b3页和b4页均未被访问,那么b文件在目标时间段内的访问量为2。
70.作为一种可能的实施方式,为了使得内存中被锁定的文件被访问的概率更高,访问信息采集模块301还可以获得在目标时间段内访问每个文件的软件的第一数量,以获得每个文件被访问的软件场景数。文件的第一数量越高,即该文件对应的软件场景数越高,表示该文件会在越多的应用场景下被访问。访问信息采集模块301还可以获得每个文件对应的第二数量,每个文件对应的第二数量包括目标时间段内每个文件占用的多个页(page)分别被访问的次数。文件中多个页访问分别被访问的次数越接近,则表明该文件被访问的页面分布越平均。
71.s303:访问信息采集模块301将多个文件的访问量发送至热点文件筛选模块2031。
72.当访问信息模块301还获得了多个文件对应的第一数量时,可以将第一数量连同多个文件的访问量一起发送至热点文件筛选模块2031。同理,当访问信息模块301获得了多个文件对应的第二数量时,可以将第二数量连同多个文件的访问量一起发送至热点文件筛选模块2031。
73.s304:热点文件筛选模块2031根据每个文件的访问量和每个文件的大小,从多个文件中确定热点文件。
74.热点文件筛选模块2031被包括在热点文件识别模块203内,热点文件识别模块203位于电子设备的应用程序框架层200。需要说明的是,热点文件筛选模块2031可以将多个文件分为热点文件和非热点文件,然后将热点文件对应的热点文件列表发送至热点文件保存模块2031。在热点文件和非热点文件的大小一致时,热点文件的访问量大于非热点文件的访问量,且在热点文件和非热点文件的访问量一致时,热点文件的大小小于非热点文件的大小。需要说明的是,本技术实施例中的热点文件可以为一个文件,也可以为多个文件,本技术实施例在此不做限定。
75.为了更好地解释本技术实施例中的热点文件和非热点文件,本技术实施例将多个文件中的任意一个文件称为目标文件,目标文件可以为热点文件,也可以为非热点文件。目标文件的访问量越多,目标文件成为热点文件的概率越高。相应地,目标文件的尺寸大小越小,目标文件成为热点文件的概率越高。
76.作为一种可能的实施方式,热点文件筛选模块2031可以根据目标文件的读取系数来判断目标文件是否为热点文件。热点文件的读取系数大于非热点文件的读取系数。目标文件的读取系数根据目标文件的访问量和目标文件的大小确定,且目标文件的读取系数与目标文件的访问量呈正相关,目标文件的读取系数与目标文件的大小呈负相关,例如目标文件的读取系数可以为目标文件的访问量和目标文件的大小的比值。目标文件的读取系数越大,目标文件成为热点文件的可能性越高。
77.为了使得筛选出的热点文件被访问的概率更高,访问信息采集模块301还会将第一数量和第二数量发送至热点文件筛选模块2031。热点文件筛选模块2031可以根据每个文件的访问量、每个文件的大小和每个文件对应的第一数量,从多个文件中确定热点文件。具体的,热点文件筛选模块2031可以先将多个文件中第一数量小于数量阈值的文件确定为非热点文件,然后从第一数量大于数据阈值的文件中筛选热点文件。如果文件对应的第一数量小于数量阈值,则表明该文件只在电子设备的少数应用场景中被访问,因此热点文件筛选模块可以直接确定该文件为非热点文件。数量阈值可以根据在目标时间段内电子设备运行过的所有软件的数量来确定,即可以根据电子设备在目标时间段内所有的应用场景数来
确定。作为一个示例,假设在目标时间段内电子设备一个运行过10个软件,那么数量阈值可以为0.4*10=4。
78.热点文件筛选模块2031还可以根据每个文件对应的第二数量来确定热点文件。每个文件对应的第二数量包括目标时间段内每个文件占用的多个页分别被访问的次数。例如,a文件包括a1、a2和a3三页,在目标时间段内a文件被访问3次,a1页被访问1次,a2页被访问2次,a3页被访问2次。那么a文件对应的第二数量包括1、2和2。文件的第二数量可以反映文件中多个页面的访问次数分布情况,如果文件中多个页面的访问次数差异较大,那么即使该文件对应的访问次数较多,由于该文件中访问次数较多的页面不容易被内存换出,而该文件中访问次数较小的页面被内存访问的概率过小,因此该文件中的页面被内存换出后回收的概率较小,不需要锁定在内存中。而多个页面的访问次数分布较为均匀的文件,在内存中有更大的概率被回收。由此,热点文件筛选模块2031可以直接确定文件中多个页面访问次数差异较大的文件为非热点文件,然后热点文件筛选模块2031可以从剩下的文件中继续筛选热点文件。
79.在实际的应用中,为了评估文件中的多个页面分别对应的访问次数是否分布均匀,热点文件筛选模块2031可以计算第二数量的方差或者平均差,并根据计算得到的方差或者平均差来判断访问次数是否分布均匀。作为一个示例,热点文件筛选模块2031可以计算文件a的第二数量的方差,当文件a的方差大于方差阈值时,判断文件a中多个页面分别对应的访问次数分布不均匀,从而确定文件a为非热点文件。当文件a的方差小于方差阈值时,判断文件a中的多个页面对应的访问次数分布较为均匀,然后可以根据文件a对应的访问次数和文件a的大小,对文件a进行进一步的判断。
80.作为一个示例,热点文件筛选模块2031可以将多个文件中第一数量小于数量阈值的文件确定为非热点文件,并将多个文件中第二数量的标准差大于标准差阈值的文件确定为非热点文件,然后将多个文件中读取系数小于读取系数阈值的文件确定为非热点文件,最后将多个文件中剩下的文件确定为热点文件。
81.在实际的应用中,电子设备可以将内存中的一部分预设空间作为专门存储热点文件的空间。相应地,热点文件占用的空间大小不超过预设空间大小。在实际的应用中,热点文件筛选模块2031可以先根据文件的第一数量和文件的第二数量,将多个文件中的部分文件确定为非热点文件,然后将剩下的文件按照读取系数从大到小进行排序;最后热点文件筛选模块2031根据预设空间的大小按照读取系数的排序确定多个文件中的热点文件。例如,在根据第一数量和第二数量对多个文件进行筛选后,剩下文件按照读取系数从大到小进行排序为文件1、文件2、文件3、文件4和文件5。热点文件筛选模块2031依次累加这五个文件的文件大小,直到累加的文件大小超过了预设空间大小,则将该文件之前的文件确定为热点文件。如果预设空间大小为100b,文件1为20b,文件2为50b,文件3为20b,文件4为30b;热点文件筛选模块2031将文件1、文件2和文件3累加时得到的总大小为90b,小于预设空间大小;然后热点文件筛选模块2031再将文件4累加得到的总大小为120b,大于预设空间大小;则热点文件筛选模块2031将文件1、文件2和文件3确定为热点文件,文件4和文件5确定为非热点文件。
82.s305:热点文件筛选模块2031向热点文件保存模块2032发送热点文件列表。
83.热点文件保存模块2032被包括在热点文件识别模块203内,热点文件识别模块203
位于电子设备的应用程序框架层200。
84.热点文件筛选模块2031根据其确定的热点文件,生成热点文件列表,并将该热点文件列表发送至热点文件保存模块2032。热点文件列表记录了一个周期内的热点文件的标识,热点文件列表可以用于对热点文件进行配置。
85.s306:热点文件保存模块2032保存热点文件对应的热点文件列表。
86.热点文件保存模块2032可以将热点文件列表持久化保存到存储设备中,直至统计周期控制模块201重新向访问信息采集模块301发送采集指令,热点文件保存模块将更新热点文件列表。热点文件保存模块2032保存的热点文件列表,可以在热点文件配置丢失时,例如电子设备关机重启时,再次将热点文件列表发送至热点文件配置模块202,以使得热点文件配置模块202可以直接根据保存的热点文件列表进行配置。
87.s307:热点文件保存模块2032将热点文件列表发送至热点文件配置模块202。
88.s308:热点文件配置模块202根据热点文件列表向热点文件内存锁定模块302发送热点文件信息。
89.热点文件保存模块2032可以根据热点文件列表中热点文件的标识,获得热点文件信息,并将热点文件信息发送至热点文件内存锁定模块302。通常情况下,热点文件为多个文件,此时热点文件配置模块可以依次向热点文件配置模块202发送热点文件中的多个文件。
90.s309:热点文件内存锁定模块302根据热点文件信息在内存中锁定热点文件。
91.热点文件配置模块202位于电子设备的应用程序框架层200。内存中被锁定的热点文件将一直被存储在内存中,直至热点文件列表更新。热点文件配置模块202更新热点文件列表后,热点文件配置模块202根据新的热点文件列表发送新的热点文件信息至热点文件内存锁定模块302,热点文件内存锁定模块302根据新的热点文件信息在内存中锁定新的热点文件。作为一种可能的实施方式,热点文件信息可以为热点文件的名称或编码,热点文件配置模块202可以依次向热点文件内存锁定模块发送热点文件名称或编码,从而使得热点文件内存锁定模块302在内存中依次锁定热点文件。被锁定的热点文件在被访问时,将直接在内存中进行访问。由于热点文件被锁定在了内存中,电子设备在读取数据时有更大的概率可以直接从内存中读取,而不用从其他慢速的存储设备中读取,如此,可以降低电子设备访问慢速存储设备的概率,提高用户使用电子设备的体验。
92.在本技术实施例中,由于热点文件是根据电子设备的使用状态进行确定的,具体地电子设备的使用状态可以包括文件的访问量、文件的应用场景和文件中页面的访问次数,相比于预设的热点文件,本技术实施例中可以根据电子设备用户的实际使用习惯确定热点文件,从而提高热点文件被访问的概率,提高用户使用电子设备的体验。进一步的,本技术实施例中的热点文件还会进行周期性地更新,从而使得热点文件与电子设备用户当前的使用习惯匹配,提高了电子设备在内存中访问文件的命中率,提升电子设备的访问效率。
93.参见图5,该图为本技术实施例提供的一种在内存中锁定文件的方法的流程图。
94.如图5所示,本技术实施例提供的内存中锁定文件的方法,包括:
95.s501:电子设备获得电子设备的多个文件中每个文件在目标时间段内的访问量以及每个文件的文件大小,每个文件在目标时间段内的访问量包括每个文件占用的多个页被访问的次数总和。
96.s502:电子设备根据每个文件的访问量和每个文件的大小,从多个文件中确定热点文件,多个文件还包括非热点文件,其中,在热点文件和非热点文件的大小一致时,热点文件的访问量大于非热点文件的访问量,且在热点文件和非热点文件的访问量一致时,热点文件的大小小于非热点文件的大小。
97.s503:电子设备在内存中锁定热点文件。
98.由此可知,电子设备可以根据用户使用电子设备实际使用情况选择多个文件中热点较高的热点文件,并将热点文件锁定在内存中。由于热点文件是根据用户实际使用电子设备的情况确定的,因此电子设备可以根据用户不同的使用习惯确定不同的热点文件,从而使得热点文件可以与用户的使用习惯较为匹配。如此,本技术实施例提供的方案可以较为准确地确定热点文件,在一定程度上可以避免页面抖动问题的产生,在一定程度上避免电子设备出现操作卡顿现象,提高了用户的使用体验。
99.作为一种可能的实施方式,热点文件的读取系数大于非热点文件的读取系数,其中,多个文件中目标文件的读取系数为根据目标文件的访问量和目标文件的大小确定的,目标文件为多个文件中任意一个文件,目标文件的读取系数与目标文件的访问量呈正相关,目标文件的读取系数与目标文件的大小呈负相关。作为一个示例,目标文件的读取系数为目标文件的访问量和目标文件的大小的比值,本技术中热点文件占用的空间大小不超过预设空间大小。
100.作为一种可能的实施方式,电子设备还可以获得在目标时间段内访问每个文件的软件的第一数量。此时,电子设备根据每个文件的访问量、每个文件的大小和每个文件对应的第一数量,从多个文件中确定热点文件,热点文件对应的第一数量大于数量阈值。
101.作为一种可能的实施方式,电子设备还可以获得每个文件对应的第二数量,每个文件对应的第二数量包括目标时间段内每个文件占用的多个页分别被访问的次数。此时电子设备根据每个文件的访问量、每个文件的大小和每个文件对应的第二数量,从多个文件中确定热点文件。
102.综上所述,在本技术实施例中,由于热点文件是根据电子设备的使用状态进行确定的,相比于预设的热点文件,本技术实施例中可以根据电子设备用户的使用习惯确定热点文件,从而提高热点文件被访问的概率,提高用户使用电子设备的体验。本技术实施例中的热点文件还会进行周期性地更新,从而使得热点文件与电子设备用户当前的使用习惯匹配,提高了电子设备在内存中访问文件的命中率,提升电子设备的访问效率。本技术实施例中热点文件更新的周期还会随着电子设备的使用状态进行变化,进一步提高用户使用电子设备的体验。
103.根据上述实施例提供的在内存中锁定文件的方法,本技术实施例还提供了一种在内存中锁定文件的装置。
104.参见图6,该图为本技术实施例提供的一种在内存中锁定文件的装置的示意图。
105.本技术实施例提供的在内存中锁定文件的装置应用于电子设备,如图6所示,该装置,包括:
106.获得模块601,用于获得电子设备的多个文件中每个文件在目标时间段内的访问量以及每个文件的文件大小,每个文件在目标时间段内的访问量包括每个文件占用的多个页被访问的次数总和。
107.确定模块602,用于根据每个文件的访问量和每个文件的大小,从多个文件中确定热点文件,多个文件还包括非热点文件,其中,在热点文件和非热点文件的大小一致时,热点文件的访问量大于非热点文件的访问量,且在热点文件和非热点文件的访问量一致时,热点文件的大小小于非热点文件的大小。
108.锁定模块603,用于在内存中锁定热点文件。
109.作为一种可能的实施方式,热点文件的读取系数大于非热点文件的读取系数,其中,多个文件中目标文件的读取系数为根据目标文件的访问量和目标文件的大小确定的,目标文件为多个文件中任意一个文件,目标文件的读取系数与目标文件的访问量呈正相关,目标文件的读取系数与目标文件的大小呈负相关。作为一个示例,目标文件的读取系数为目标文件的访问量和目标文件的大小的比值。
110.作为一种可能的实施方式,本技术实施例中的在内存中锁定文件的装置还包括:第一数量获得模块,用于获得在目标时间段内访问每个文件的软件的第一数量;确定模块具体用于,根据每个文件的访问量、每个文件的大小和每个文件对应的第一数量,从多个文件中确定热点文件,热点文件对应的第一数量大于数量阈值。
111.作为一种可能的实施方式,本技术实施例中的在内存中锁定文件的装置还包括:第二数量获得模块,用于获得每个文件对应的第二数量,每个文件对应的第二数量包括目标时间段内每个文件占用的多个页分别被访问的次数;确定模块具体用于,根据每个文件的访问量、每个文件的大小和每个文件对应的第二数量,从多个文件中确定热点文件。
112.根据上述实施例提供的在内存中锁定文件的方法和在内存中锁定文件的装置,本技术实施例还提供了一种电子设备,该电子设备包括处理器以及存储器。其中,存储器用于存储计算机程序;处理器用于根据计算机程序执行上述实施例中的在内存中锁定文件的方法。
113.根据上述实施例提供的在内存中锁定文件的方法和在内存中锁定文件的装置,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序用于执行上述实施例中的在内存中锁定文件的方法。
114.综上所述,在本技术实施例中,由于热点文件是根据电子设备的使用状态进行确定的,相比于预设的热点文件,本技术实施例提供的装置可以根据电子设备用户的使用习惯确定热点文件,从而提高热点文件被访问的概率,进而提高用户使用电子设备的体验。本技术实施例中的热点文件还会进行周期性地更新,从而使得热点文件与电子设备用户当前的使用习惯匹配,提高了电子设备在内存中访问文件的命中率,提升电子设备的访问效率。
115.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
116.在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显
示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
117.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
118.另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
119.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
120.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1