基于文件pagecache预读加速开机启动的方法及装置制造方法及图纸

技术编号:27840438 阅读:26 留言:0更新日期:2021-03-30 12:24
本发明专利技术公开了基于文件pagecache预读加速开机启动的方法及装置,该方法包括:预读信息检测步骤,在Android系统内核启动完成,挂载好只读分区后,判断系统中是否已存在预读内容信息;预读内容获取步骤,若不存在预读内容信息,则通过Linux内核虚拟文件系统的读取文件接口相应的预设trace开关,收集开机启动过程中读取的文件信息,得到预读内容信息;预读加速开机步骤,若存在预读内容信息,基于Linux内核的文件预读机制,根据预读内容信息进行开机启动。本发明专利技术可自动追踪前一次正常开机过程中需要读取的存储数据信息,后续的开机通过追踪的内容信息进行预读,将读取内容异步加载到page cache,减少IO

【技术实现步骤摘要】
基于文件pagecache预读加速开机启动的方法及装置


[0001]本专利技术涉及Android系统开机启动的
,特别涉及一种基于文件pagecache预读加速开机启动的方法及装置。

技术介绍

[0002]Android系统的开机启动是用户体验至关重要的一环。当前Android系统开机过程会有大量的数据IO读取动作,从存储介质上寻址读取到数据一般是比较耗时的,此时CPU必须等到数据读取返回来时才能继续处理运行,CPU IO

Wait较多,会影响整体的开机性能。

技术实现思路

[0003]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种基于文件pagecache预读加速开机启动的方法,能够提升Android系统的开机速度。
[0004]本专利技术还提出一种具有上述基于文件pagecache预读加速开机启动的方法的基于文件pagecache预读加速开机启动的装置。
[0005]本专利技术还提出一种具有上述基于文件pagecache预读加速开机启动的方法的计算机可读存储介质。
[0006]根据本专利技术的第一方面实施例的基于文件pagecache预读加速开机启动的方法,包括:预读信息检测步骤,在Android系统内核启动完成,挂载好只读分区后,判断系统中是否已存在预读内容信息;预读内容获取步骤,若不存在所述预读内容信息,则通过Linux内核虚拟文件系统的读取文件接口相应的预设trace开关,收集开机启动过程中读取的文件信息,得到所述预读内容信息;预读加速开机步骤,若存在所述预读内容信息,基于Linux内核的文件预读机制,根据所述预读内容信息进行开机启动。
[0007]根据本专利技术实施例的基于文件pagecache预读加速开机启动的方法,至少具有如下有益效果:自动追踪前一次正常开机过程中需要读取的存储数据信息,后续的开机通过追踪的内容信息进行预读,将读取内容异步加载到page cache,减少IO

Wait,加速开机。
[0008]根据本专利技术的一些实施例,所述预读信息检测步骤还包括:检测所述预读内容信息是否存在备份文件,若存在,则所述预读内容信息异常,转入执行所述预读内容获取步骤。
[0009]根据本专利技术的一些实施例,所述预读信息检测步骤还包括:检测所述预读内容信息的构建数据,判断是否与当前机器信息一致;若一致,则执行所述预读加速开机步骤,否则执行所述预读内容获取步骤。
[0010]根据本专利技术的一些实施例,所述预读内容获取步骤还包括:检测系统是否为首次开机,若为首次开机,则关闭所述预设trace开关,进行开机;否则,开启所述预设trace开关,收集开机启动过程中读取的所述文件信息,得到所述预读内容信息。
[0011]根据本专利技术的一些实施例,通过device_provisioned判断是否为首次开机。
[0012]根据本专利技术的一些实施例,所述收集开机启动过程中读取的文件信息,得到所述
预读内容信息的方法包括:Android系统启动完成,基于ftrace机制,通过所述预设trace开关,读取解析所述文件信息,根据文件的偏移地址进行排序,将偏移地址连续的文件进行整合,生成所述预读内容信息。
[0013]根据本专利技术的一些实施例,根据所述预读内容信息进行开机启动的方法包括:调用系统接口readahead,根据所述预读内容信息,将相应的文件及偏移内容读取到page cache中。
[0014]根据本专利技术的第二方面实施例的基于文件pagecache预读加速开机启动的装置,包括:预读信息检测模块,用于在Android系统内核启动完成,挂载好只读分区后,判断系统中是否已存在预读内容信息;预读内容获取模块,用于通过Linux内核虚拟文件系统的读取文件接口相应的预设trace开关,收集开机启动过程中读取的文件信息,得到所述预读内容信息;预读加速开机模块,用于基于Linux内核的文件预读机制,根据所述预读内容信息进行开机启动。
[0015]根据本专利技术实施例的基于文件pagecache预读加速开机启动的装置,至少具有如下有益效果:自动追踪前一次正常开机过程中需要读取的存储数据信息,后续的开机通过追踪的内容信息进行预读,将读取内容异步加载到page cache,减少IO

Wait,加速开机。
[0016]根据本专利技术的第三方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术的第一方面实施例的方法。
[0017]根据本专利技术实施例的基于文件pagecache预读加速开机启动的装置,至少具有同本专利技术的第一方面实施例的方法同样的有益效果。
[0018]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0019]本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0020]图1为本专利技术实施例的方法的流程示意图;
[0021]图2为本专利技术实施例的方法实施后的系统启动过程示意图;
[0022]图3为本专利技术实施例的系统的模块示意框图。
[0023]附图标记:
[0024]预读信息检测模块100、预读内容获取模块200、预读加速开机模块300。
具体实施方式
[0025]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0026]在本专利技术的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0027]名词解释:
[0028]ftrace:用于帮助开发人员了解Linux内核的运行时行为,以便进行故障调试或性能分析。
[0029]参照图1,本专利技术的实施例的方法包括:预读信息检测步骤,在Android系统内核启动完成,挂载好只读分区后,判断系统中是否已存在预读内容信息;预读内容获取步骤,若不存在预读内容信息,则通过Linux内核虚拟文件系统的读取文件接口相应的预设trace开关,收集开机启动过程中读取的文件信息,得到预读内容信息;预读加速开机步骤,若存在预读内容信息,基于Linux内核的文件预读机制,根据预读内容信息进行开机启动。
[0030]在本专利技术的实施例中,参照图2,Android系统在内核启动完成,通过init进程挂载好system、product、vendor等只读分区之后,在启动的系统服务进程中开启一个新的treadahea本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于文件pagecache预读加速开机启动的方法,其特征在于,包括:预读信息检测步骤,在Android系统内核启动完成,挂载好只读分区后,判断系统中是否已存在预读内容信息;预读内容获取步骤,若不存在所述预读内容信息,则通过Linux内核虚拟文件系统的读取文件接口相应的预设trace开关,收集开机启动过程中读取的文件信息,得到所述预读内容信息;预读加速开机步骤,若存在所述预读内容信息,基于Linux内核的文件预读机制,根据所述预读内容信息进行开机启动。2.根据权利要求1所述的基于文件pagecache预读加速开机启动的方法,其特征在于,所述预读信息检测步骤还包括:检测所述预读内容信息是否存在备份文件,若存在,则所述预读内容信息异常,转入执行所述预读内容获取步骤。3.根据权利要求1所述的基于文件pagecache预读加速开机启动的方法,其特征在于,所述预读信息检测步骤还包括:检测所述预读内容信息的构建数据,判断是否与当前机器信息一致;若一致,则执行所述预读加速开机步骤,否则执行所述预读内容获取步骤。4.根据权利要求1所述的基于文件pagecache预读加速开机启动的方法,其特征在于,所述预读内容获取步骤还包括:检测系统是否为首次开机,若为首次开机,则关闭所述预设trace开关,进行开机;否则,开启所述预设trace开关,收集开机启动过程中读取的所述文件信息,得到所述预读内容信息。5.根据权利要求2所述的基于文件pagecache预读加...

【专利技术属性】
技术研发人员:蒋斌朱振华
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1