一种启动文件加载方法、装置及电子设备的制作方法

文档序号:6544299阅读:148来源:国知局
一种启动文件加载方法、装置及电子设备的制作方法
【专利摘要】本发明实施例提供一种启动文件加载方法、装置及电子设备,其中方法包括:在检测到应用启动指令时,通过第一加载程序控制处理器从磁盘中加载第一文件至内存中,第一文件为启动应用时所需的启动文件的部分文件;在检测到处理器与磁盘的读写空闲时间段时,通过第二加载程序确定磁盘中未加载至内存中的第二文件,第二文件为启动文件中除第一文件外还需加载至内存的文件,其中,在读写空闲时间段时,第一加载程序停止执行;通过第二加载程序在读写空闲时间段,控制处理器将部分第二文件或全部第二文件从磁盘中加载至内存中。本发明实施例能够在应用启动时,实时快速的加载启动文件,从而实现应用的快速启动。
【专利说明】一种启动文件加载方法、装置及电子设备

【技术领域】
[0001] 本发明涉及数据处理【技术领域】,更具体地说,涉及一种启动文件加载方法、装置及 电子设备。

【背景技术】
[0002] 在启动电子设备(如PC,智能手机等)内所装载的应用时,应用的启动过程主要 涉及电子设备内的三个部件:磁盘,内存和处理器;这三个部件的具体关系为:在应用启动 时,需要将磁盘内所存储的应用启动所需的启动文件加载到内存中,处理器再根据内存中 所加载的启动文件进行应用的启动。
[0003] 目前为了缩短应用启动所占用的时间,提高电子设备的使用效率;电子设备所装 载的应用在启动时,往往采用预取启动文件的方式进行启动文件的加载,具体过程为:在应 用启动时,先不执行启动操作,而是先将与启动应用相关的启动文件加载到内存中,在启动 文件加载完毕后,再根据内存中已加载的启动文件进行应用的启动。
[0004] 本发明的发明人在实现本发明的过程中发现:现有采用预取启动文件的方式进行 启动文件的加载,需要在文件全部加载至内存后,才进行应用的启动,这种方式虽然能减少 应用启动过程中的硬缺页,使得应用的启动速度得到一定的提升;但并无法在加载启动文 件的同时进行应用的启动,而是需要文件全部加载至内存后才进行应用的启动,使得应用 启动速度的提升较为有限。


【发明内容】

[0005] 为解决上述技术问题,本发明实施例提供一种启动文件加载方法、装置及电子设 备,以解决现有采用预取启动文件的方式进行启动文件的加载所存在的并无法在加载启动 文件的同时进行应用的启动,而是需要文件全部加载至内存后才进行应用的启动,使得应 用启动速度的提升较为有限的问题。
[0006] 为实现上述目的,本发明实施例提供如下技术方案:
[0007] -种启动文件加载方法,包括:
[0008] 在检测到应用启动指令时,通过第一加载程序控制处理器从磁盘中加载第一文件 至内存中,所述第一文件为启动应用时所需的启动文件的部分文件;
[0009] 在检测到所述处理器与所述磁盘的读写空闲时间段时,通过第二加载程序确定所 述磁盘中未加载至所述内存中的第二文件,所述第二文件为所述启动文件中除第一文件外 还需加载至所述内存的文件,其中,在所述读写空闲时间段时,所述第一加载程序停止执 行;
[0010] 通过所述第二加载程序在所述读写空闲时间段,控制处理器将部分所述第二文件 或全部所述第二文件从所述磁盘中加载至所述内存中。
[0011] 一种启动文件加载装置,包括:
[0012] 第一加载模块,用于在检测到应用启动指令时,通过第一加载程序控制处理器从 磁盘中加载第一文件至内存中,所述第一文件为启动应用时所需的启动文件的部分文件;
[0013] 文件确定模块,用于在检测到所述处理器与所述磁盘的读写空闲时间段时,通过 第二加载程序确定所述磁盘中未加载至所述内存中的第二文件,所述第二文件为所述启动 文件中除第一文件外还需加载至所述内存的文件,其中,在所述读写空闲时间段时,所述第 一加载程序停止执行;
[0014] 第二加载模块,用于通过所述第二加载程序在所述读写空闲时间段,控制处理器 将部分所述第二文件或全部所述第二文件从所述磁盘中加载至所述内存中。
[0015] 一种电子设备,包括上述所述的启动文件加载装置。
[0016] 基于上述技术方案,本发明实施例提供的启动文件加载方法主要涉及两个加载程 序:第一加载程序和第二加载程序;第一加载程序在检测到应用启动指令时,调取执行,从 而控制处理器从磁盘中加载第一文件至内存中;在加载了第一文件,进行应用启动时,处理 器需要进行处理计算,网络通信等任务,此时,处理器与磁盘将存在读写空闲时间段,则可 停止执行第一加载程序,调取执行第二加载程序;第二加载程序被调取执行后,可确定出磁 盘中未加载至内存中的第二文件,进而在该读写空闲时间段,将部分或全部第二文件(主要 视读写空闲时间段的持续时间长度而定)从磁盘中加载至内存中。本发明实施例可在处理 器与磁盘的读写空闲时间段,通过第二加载程序利用处理器未被使用的资源实现部分或全 部第二文件由磁盘至内存的加载,从而加快启动文件从磁盘至内存的加载,使得应用能较 为快速的启动。并且本发明实施例所提供的第一加载程序和第二加载程序均是在检测到应 用启动指令时,进行实时的启动文件加载,能够在检测到应用启动指令时,实时快速的加载 启动文件,从而实现应用的快速启动。

【专利附图】

【附图说明】
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0018] 图1为本发明实施例提供的启动文件加载方法的流程图;
[0019] 图2为本发明实施例提供的启动文件加载方法的另一流程图;
[0020] 图3为本发明实施例提供的启动文件加载方法的再一流程图;
[0021] 图4为本发明实施例提供的预置文件的确定过程的方法流程图;
[0022] 图5为本发明实施例提供的对原始磁盘读写行为记录进行处理的方法流程图;
[0023] 图6为本发明实施例提供的启动文件加载装置的结构框图;
[0024] 图7为本发明实施例提供的文件确定模块的结构框图;
[0025] 图8为本发明实施例提供的确定单元的结构框图;
[0026] 图9为本发明实施例提供的启动文件加载装置的另一结构框图;
[0027] 图10为本发明实施例提供的处理模块的结构框图;
[0028] 图11为本发明实施例提供的关系建立模块的结构框图;
[0029] 图12为本发明实施例提供的启动文件加载装置的再一结构框图;
[0030] 图13为本发明实施例提供的启动文件加载装置的又一结构框图;
[0031] 图14为本发明实施例提供的启动文件加载装置的又另一结构框图;
[0032] 图15为本发明实施例提供的电子设备的硬件结构框图。

【具体实施方式】
[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0034] 图1为本发明实施例提供的启动文件加载方法的流程图,该启动文件加载方法可 应用于装载有应用的电子设备中,电子设备可以是PC (personal computer,个人计算机), 智能手机,平板电脑等;参照图1,该方法可以包括:
[0035] 步骤S100、在检测到应用启动指令时,通过第一加载程序控制处理器从磁盘中加 载第一文件至内存中,所述第一文件为启动应用时所需的启动文件的部分文件;
[0036] 应用启动指令是用于进行应用的启动,应用的启动可由用户行为触发,如用户点 击了应用在桌面上的图标,触发了应用启动指令,从而执行应用的启动流程;显然,应用的 启动也可由电子设备自动触发,如可在设定时刻(如开机时)设置某一应用启动运行,则在 该设定时刻到来时,电子设备可生成应用启动指令,自动触发应用启动运行。可选的,本发 明实施例所指应用可以是操作系统应用(如windows操作系统应用,ios操作系统应用等), 也可以是非操作系统应用(如word应用,视频播放应用等)。
[0037] 在检测到应用启动指令后,本发明实施例可调取第一加载程序进行启动文件由磁 盘至内存的加载;通过第一加载程序可指引处理器从磁盘中加载启动文件至内存中。可选 的,第一加载程序可以是应用中内置的固有启动文件加载程序,启动文件的加载方式主要 是按照应用编写者的意图进行。在本发明实施例中,第一加载程序可以是应用在启动时, 电子设备所调取的第一个用来加载启动文件的加载程序,可以认为是启动文件加载的主程 序。
[0038] 可选的,通过第一加载程序控制处理器从磁盘中加载第一文件至内存中的方式可 以是:通过第一加载程序控制处理器根据预定应用启动逻辑从磁盘中加载第一文件至内存 中。预定应用启动逻辑可以是应用启动时,指导处理器进行启动文件加载的逻辑;预定应用 启动逻辑可以由应用编写者的意图进行设置。
[0039] 由于在通过第一加载程序控制处理器从磁盘中加载启动文件至内存的过程中,应 用是进行实时启动的,处理器会根据已加载至内存的启动文件进行应用的启动,因此处理 器会根据已加载的启动文件进行处理计算、网络通信(如下载应用更新内容)等任务;在通 过第一加载程序控制处理器从磁盘中加载启动文件至内存的过程中,处理器和磁盘将存在 读写空闲时间段,在该读写空闲时间段处理器将进行处理计算、网络通信等任务,而不通过 第一加载程序从磁盘中加载启动文件至内存中。本发明实施例所指的第一文件为:在读写 空闲时间段之前,通过第一加载程序从磁盘加载至内存的部分启动文件。
[0040] 步骤S110、在检测到所述处理器与所述磁盘的读写空闲时间段时,通过第二加载 程序确定所述磁盘中未加载至所述内存中的第二文件,所述第二文件为所述启动文件中除 第一文件外还需加载至所述内存的文件,其中,在所述读写空闲时间段时,所述第一加载程 序停止执行;
[0041] 在处理器通过第一加载程序从磁盘加载了部分启动文件至内存后,处理器可能会 进行处理计算、网络通信等任务,此时处理器与磁盘之间将存在读写空闲时间段,在该读写 空闲时间段的持续期间,第一加载程序将停止执行;同时,在检测到该读写空闲时间段时, 本发明实施例可调取第二加载程序,确定通过第一加载程序加载了部分启动文件至内存 后,还需加载至内存的文件,即为本发明实施例所指的第二文件。
[0042] 步骤S120、通过所述第二加载程序在所述读写空闲时间段,控制处理器将部分所 述第二文件或全部所述第二文件从所述磁盘中加载至所述内存中。
[0043] 在处理器与磁盘的读写空闲时间段的持续期间,第一加载程序将停止执行,转而 执行第二加载程序,通过第二加载程序可指引处理器利用未被使用的处理器资源将部分或 全部第二文件从磁盘中加载至内存。可选的,通过第二加载程序所加载的第二文件的多少 主要是根据该读写空闲时间段的持续时间而定,若该读写空闲时间段的持续时间足够长, 则本发明实施例可通过第二加载程序将全部的第二文件从磁盘加载到内存中,若该读写空 闲时间段持续时间较短,则本发明实施例只能通过第二加载程序将部分的第二文件从磁盘 加载到内存中。
[0044] 本发明实施例提供的启动文件加载方法主要涉及两个加载程序:第一加载程序和 第二加载程序;第一加载程序在检测到应用启动指令时,调取执行,从而控制处理器从磁盘 中加载第一文件至内存中;在加载了第一文件,进行应用启动时,处理器需要进行处理计 算,网络通信等任务,此时,处理器与磁盘将存在读写空闲时间段,则可停止执行第一加载 程序,调取执行第二加载程序;第二加载程序被调取执行后,可确定出磁盘中未加载至内存 中的第二文件,进而在该读写空闲时间段,将部分或全部第二文件(主要视读写空闲时间段 的持续时间长度而定)从磁盘中加载至内存中。本发明实施例可在处理器与磁盘的读写空 闲时间段,通过第二加载程序利用处理器未被使用的资源实现部分或全部第二文件由磁盘 至内存的加载,从而加快启动文件从磁盘至内存的加载,使得应用能较为快速的启动。并且 本发明实施例所提供的第一加载程序和第二加载程序均是在检测到应用启动指令时,进行 实时的启动文件加载,能够在检测到应用启动指令时,实时快速的加载启动文件,从而实现 应用的快速启动。
[0045] 可选的,在该读写空闲时间段结束后,若通过第二加载程序并未将全部第二文件 由磁盘加载内存中,则本发明实施例可恢复执行第一加载程序,停止执行第二加载程序,通 过第一加载程序进行剩余启动文件的加载,若在进行剩余启动文件的加载过程中,再次出 现处理器与磁盘的读写空闲时间段,则可再次停止执行第一加载程序,调取执行第二加载 程序进行余下的启动文件由磁盘至内存的加载;上述过程可重复执行,直至全部启动文件 由磁盘加载至内存中。
[0046] 对应的,图2示出了本发明实施例提供的启动文件加载方法的另一流程图,参照 图2,该方法可以包括:
[0047] 步骤S200、检测到应用启动指令;
[0048] 步骤S210、通过第一加载程序控制处理器将磁盘中需加载至内存的启动文件加载 至内存中;
[0049] 步骤S220、判断处理器与磁盘是否存在读写空闲时间段,若是,执行步骤S230,若 否,执行步骤S210 ;
[0050] 步骤S230、在磁盘中还存在有未加载至内存的启动文件时,停止执行第一加载程 序,通过第二加载程序确定所述磁盘中还需加载至内存的启动文件;
[0051] 步骤S240、通过所述第二加载程序在所述读写空闲时间段,控制处理器将磁盘中 还需加载至内存的启动文件加载至内存中;
[0052] 步骤S250、若在所述读写空闲时间段内,通过所述第二加载程序将磁盘中还需加 载至内存的启动文件全部加载至内存中,则启动文件全部加载完毕;
[0053] 步骤S260、若在所述读写空闲时间段结束时,磁盘中还有需加载至内存的启动文 件,则停止执行第二加载程序,恢复执行第一加载程序,返回步骤S210。
[0054] 值得注意的是,本发明实施例在将启动文件由磁盘加载至内存的过程中,应用是 处于实时启动状态的。
[0055] 可选的,在图1所示方法中,通过所述第二加载程序在所述读写空闲时间段,控制 处理器将部分所述第二文件从所述磁盘中加载至所述内存中后,若该读写空闲时间段结 束,则本发明实施例可停止执行第二加载程序,恢复执行第一加载程序,重新通过第一加载 程序实现磁盘中未加载至内存的启动文件的加载。对应的,图3示出了本发明实施例提供 的启动文件加载方法的再一流程图,结合图1和图3所示,图3所示方法包括:
[0056] 步骤S300、在检测到应用启动指令时,通过第一加载程序控制处理器从磁盘中加 载第一文件至内存中,所述第一文件为启动应用时所需的启动文件的部分文件;
[0057] 步骤S310、在检测到所述处理器与所述磁盘的读写空闲时间段时,通过第二加载 程序确定所述磁盘中未加载至所述内存中的第二文件,所述第二文件为所述启动文件中除 第一文件外还需加载至所述内存的文件,其中,在所述读写空闲时间段时,所述第一加载程 序停止执行;
[0058] 步骤S320、通过所述第二加载程序在所述读写空闲时间段,控制处理器将部分所 述第二文件从所述磁盘中加载至所述内存中;
[0059] 步骤S330、在所述读写空闲时间段结束后,通过第一加载程序控制处理器从磁盘 中加载第三文件至内存中,所述第三文件为所述第二文件中还需加载至所述内存的文件, 其中,在所述读写空闲时间段结束时,所述第一加载程序开始执行,所述第二加载程序停止 执行。
[0060] 可选的,本发明实施例可以设置有预置文件,预置文件中记录有启动应用与对应 启动文件的对应关系;在检测到处理器与磁盘的读写空闲时间段,调取第二加载程序进行 启动文件的加载时,本发明实施例可根据预置文件确定第二文件,即确定出磁盘中除通过 第一加载程序已加载至内存的第一文件外,还需加载的文件。预置文件中表征启动应用与 对应启动文件的对应关系的方式可以是:在预置文件中记录从磁盘加载启动文件至内存 时,所对应的磁盘读写行为记录与启动应用的对应关系。在此基础上,本发明实施例在调取 第二加载程序后,可确定出第一文件所对应的第一磁盘读写行为记录,从所述预置文件中 记录的与启动应用对应的磁盘读写行为记录中,去除第一磁盘读写行为记录,形成与第二 文件所对应的磁盘读写行为记录;进而通过第二文件对应的磁盘读写行为记录确定第二文 件。
[0061] 可选的,在得到与第二文件所对应的磁盘读写行为记录后,本发明实施例可根据 所述第二文件对应的磁盘读写行为记录,控制处理器将所述磁盘中与所述第二文件对应的 磁盘读写行为记录对应的部分文件加载至所述内存中;或者,根据所述第二文件对应的磁 盘读写行为记录,控制处理器将所述磁盘中与所述第二文件对应的磁盘读写行为记录对应 的全部文件加载至所述内存中。
[0062] 可选的,预置文件的确定过程可以为:在检测到应用启动指令时,监控处理器从磁 盘中加载启动文件至内存,所对应的原始磁盘读写行为记录,将原始磁盘读写行为记录进 行处理后,建立处理后的磁盘读写行为记录与启动应用的对应关系,生成预置文件。可选 的,原始磁盘读写行为记录表征的是启动应用对应的所有磁盘读写行为轨迹,包括操作时 间、文件、磁盘对象、读/写操作类型、操作范围(文件偏移和长度)、操作结果等。
[0063] 可选的,监控处理器从磁盘中加载启动文件至内存,所对应的原始磁盘读写行为 记录可以是:在通过第一加载程序控制处理器从磁盘中加载全部启动文件至内存时,监控 所对应的原始磁盘读写行为记录;即此时,只通过第一加载程序进行全部启动文件由磁盘 至内存的加载。可选的,本发明实施例可通过第一加载程序,根据预定应用启动逻辑控制处 理器从磁盘中加载全部启动文件至内存中。对应的,图4示出了本发明实施例提供的预置 文件的确定过程的方法流程,参照图4,该方法可以包括:
[0064] 步骤S400、在检测到应用启动指令时,获取通过第一加载程序控制处理器从磁盘 中加载所述启动文件至所述内存,所对应的原始磁盘读写行为记录;
[0065] 步骤S410、对原始磁盘读写行为记录进行处理,建立处理后的磁盘读写行为记录 与所述应用的对应关系,生成所述预置文件。
[0066] 可选的,对原始磁盘读写行为记录进行处理的方式可以是对原始磁盘读写行为记 录进行过滤、合并、去重等处理;对应的,图5示出了一种对原始磁盘读写行为记录进行处 理的方法流程,参照图5,该方法可以包括:
[0067] 步骤S500、对原始磁盘读写行为记录中,与所述内存中已存储的记录相重合的记 录进行过滤;
[0068] 进行处理前的磁盘读写行为记录可以认为是原始的磁盘读写行为记录数据,其中 包括了进程名、文件名、文件偏移、文件读写长度、打开/关闭/读/写、访问时间、访问频 率、访问结果等数据。
[0069] 由于在应用启动过程中,内存中可能已经存储了一些与磁盘读写行为记录一致的 记录,因此这部分内存中已存储的与磁盘读写行为记录相同的记录需要进行过滤剔除,以 提高磁盘读写行为记录的处理效率。如在应用启动过程中,会读取操作系统的数据,这个数 据已经存在于内存中,而原始磁盘读写行为记录中如果包含这个记录,则为了处理效率,可 以把这个记录剔除掉。
[0070] 步骤S510、将过滤后的磁盘读写行为记录中,读取同一文件时相邻的读取记录进 行合并;
[0071] 过滤后的磁盘读写行为记录中可能会存在读取同一文件时,相邻的读取记录,本 发明实施例可将这些相邻的记录合并成一条记录;如存在两条读取同一文件的记录,分别 为进程A读取文件B中的第100字节,进程A读取文件B中的第101字节,则这两条记录为相 邻记录,此时可合并这两条记录为同一条记录,如合并成进程A读取文件B中的第100-101 字节。可选的,本发明实施例中合并的粒度可以进行设置。本发明实施例通过合并可减少 实时加载启动文件过程中的磁盘读取次数。
[0072] 步骤S520、对合并后的磁盘读写行为记录进行去重处理,使得读取同一文件的多 个记录所对应的访问区间互不重叠;
[0073] 在对磁盘读写行为记录进行合并后,有可能其中读取同一文件的两条以上记录所 包含的文件访问区间存在重叠的部分,如进程A读取文件B中的第100-120个字节;进程A 读取文件B中的第110-115个字节,则这两条记录所包含的文件访问区间即存在重叠的部 分(第110-115个字节),因此需要将重叠的部分进行去重处理,得到去重处理后的结果:进 程A读取文件B中的第100-120个字节;使得读取同一文件的多个记录所对应的访问区间 互不重叠。
[0074] 通过去重处理可使得实时加载启动文件的过程中每一次磁盘读写操作能够读取 到尽量多的有效数据。
[0075] 步骤S530、将去重处理后的磁盘读写行为记录进行格式化处理,以使去重处理后 的磁盘读写行为记录所对应的文件绝对路径转化为相对路径;
[0076] 由于每一个应用在不同机器上安装的路径不一样,所以需要根据配置信息中应 用的安装路径,将去重处理后的磁盘读写行为记录中的绝对路径转换成相对路径,比如进 程 A 读取文件 C: \Program Files (x86) \pingguo\B. dat 中的第 100-110 个字节,那么格 式化后就变成了进程A读取文件INSTALLPath\B. dat,INSTALLPath就代表了 C: \Program Files (x86) \pingguo\,这个是应用相对安装路径。
[0077] 对应的,建立格式化处理的磁盘读写行为记录与启动应用的对应关系,即可生成 预置文件。
[0078] 可选的,本发明实施例对于一个应用可以对应一份预置文件,预置文件可加入到 文件列表中,该文件列表中可记录有多个应用所对应的预置文件;在某一应用启动,本发明 实施例调取执行第二加载程序时,可从文件列表中确定出启动应用对应的预置文件,从而 通过所确定的预置文件进行部分或全部第二文件由磁盘至内存的加载。
[0079] 本发明实施例提供的启动文件加载方法主要可以涉及三个部分:行为监控部分, 学习部分和加速加载部分。
[0080] 其中,行为监控部分包括对终端设备中的进程监控,文件监控,窗口监控和网络监 控,从而对需要进行启动文件加速加载的应用的行为进行监控。
[0081] 在进行预置文件的生成时,行为监控部分监控到应用被触发启动时,学习部分将 开始工作,具体工作流程可如图4和图5所示,从而跟踪应用的所有I/O行为轨迹,包括操 作时间、文件、磁盘对象、读/写操作类型、操作范围、操作结果等;然后对这些I/O行为轨迹 信息进行过滤、合并、去重和格式化处理,建立处理后的行为轨迹信息与应用的对应关系, 最后会生成预置文件。
[0082] 在预置文件生成后,当行为监控部分监控到预置文件对应的应用被触发启动时, 加速加载部分将开始工作,具体工作流程可如图1,图2和图3所示,从而根据学习部分所生 成的预置文件,在检测到处理器与磁盘的读写空闲时间段时,通过第二加载程序确定磁盘 中未加载至内存中的第二文件,从而通过第二加载程序在读写空闲时间段,控制处理器将 部分第二文件或全部第二文件从磁盘中加载至内存中,实现启动文件的加速加载。
[0083] 可选的,本发明实施例提供的启动文件加载方法还可以涉及配置部分,配置部分 可对行为监控部分,学习部分和加速加载部分进行信息配置;包括对需要进行启动文件加 速加载的应用进行配置(对应的应用也需要进行预置文件的生成),对学习部分的预置文件 生成时机进行配置,对加速加载部分的加速时机进行配置等。
[0084] 可选的,下面以启动电子设备所装载的一游戏应用的启动为例,对本发明实施例 提供的启动文件加载方法进行描述,下文描述仅为便于理解本发明实施例提供的启动文件 加载方法,其不应成为本发明实施例保护范围的限制。
[0085] 在检测到游戏应用的启动指令时,调取第一加载程序从而控制处理器从磁盘中加 载游戏应用的启动文件至内存中;可选的,调取第一加载程序控制处理器从磁盘中加载游 戏应用的启动文件至内存的方式可以是,调取第一加载程序后,根据预定应用启动逻辑从 磁盘中加载游戏应用的启动文件至内存中;
[0086] 处理器可根据已加载至内存中的启动文件对游戏应用进行实时启动,在启动游戏 应用的过程中,由于需要对启动文件进行计算处理,或通过网络通信下载游戏应用的更新 内容,因此处理器与磁盘将存在读写空闲时间段;
[0087] 在检测到该读写空闲时间段时,停止执行第一加载程序,调取执行第二加载程序, 根据预置文件确定所述磁盘中还需加载至内存的启动文件,进而通过所述第二加载程序在 所述读写空闲时间段,控制处理器将部分或全部还需加载至内存的启动文件从所述磁盘中 加载至所述内存中。在处理器与磁盘存在读写空闲时间段时,本发明实施例可利用处理器 未被使用的资源,通过第二加载程序在该读写空闲时间段进行启动文件的加载,提升启动 文件的加载速度,提升游戏应用实时启动的速度。
[0088] 本发明已经针对windows操作系统,常用办公应用,第三方游戏应用进行了应用 和效果分析。通过实时加速,游戏主程序启动速度能够提升30%左右,游戏地图加载能够提 升40%左右,MS Word能够提升30%左右,操作系统启动能够提升35%左右。操作系统和应 用应用启动和运行速度都得到了明显的提升。下表示出一些应用的启动速度对比数据,可 进行参照:
[0089]

【权利要求】
1. 一种启动文件加载方法,其特征在于,包括: 在检测到应用启动指令时,通过第一加载程序控制处理器从磁盘中加载第一文件至内 存中,所述第一文件为启动应用时所需的启动文件的部分文件; 在检测到所述处理器与所述磁盘的读写空闲时间段时,通过第二加载程序确定所述磁 盘中未加载至所述内存中的第二文件,所述第二文件为所述启动文件中除第一文件外还需 加载至所述内存的文件,其中,在所述读写空闲时间段时,所述第一加载程序停止执行; 通过所述第二加载程序在所述读写空闲时间段,控制处理器将部分所述第二文件或全 部所述第二文件从所述磁盘中加载至所述内存中。
2. 根据权利要求1所述的启动文件加载方法,其特征在于,所述通过第二加载程序确 定所述磁盘中未加载至所述内存中的第二文件包括: 在检测到所述处理器与所述磁盘的读写空闲时间段时,根据预置文件确定第二文件, 所述预置文件记录有所述应用与对应启动文件的对应关系。
3. 根据权利要求2所述的启动文件加载方法,其特征在于,所述预置文件记录有所述 应用与对应启动文件的对应关系包括:所述预置文件记录有从所述磁盘加载所述启动文件 至所述内存时,所对应的磁盘读写行为记录与所述应用的对应关系;所述根据预置文件确 定束-文件包括: 确定第一文件所对应的第一磁盘读写行为记录; 从所述预置文件中记录的与所述应用对应的磁盘读写行为记录中,去除所述第一磁盘 读写行为记录,形成与所述第二文件所对应的磁盘读写行为记录; 通过所述第二文件对应的磁盘读写行为记录确定所述第二文件。
4. 根据权利要求2或3所述的启动文件加载方法,其特征在于,所述预置文件的确定过 程包括: 在检测到所述应用启动指令时,获取通过第一加载程序控制处理器从磁盘中加载所述 启动文件至所述内存,所对应的原始磁盘读写行为记录; 对所述原始磁盘读写行为记录进行处理,建立处理后的磁盘读写行为记录与所述应用 的对应关系,生成所述预置文件。
5. 根据权利要求4所述的启动文件加载方法,其特征在于,所述对所述原始磁盘读写 行为记录进行处理包括: 对原始磁盘读写行为记录中,与所述内存中已存储的记录相重合的记录进行过滤; 将过滤后的磁盘读写行为记录中,读取同一文件时相邻的读取记录进行合并; 对合并后的磁盘读写行为记录进行去重处理,使得读取同一文件的多个记录所对应的 访问区间互不重叠; 将去重处理后的磁盘读写行为记录进行格式化处理,W使去重处理后的磁盘读写行为 记录所对应的文件绝对路径转化为相对路径; 所述建立处理后的磁盘读写行为记录与所述应用的对应关系包括: 建立格式化处理的磁盘读写行为记录与所述应用的对应关系。
6. 根据权利要求3所述的启动文件加载方法,其特征在于,所述控制处理器将部分所 述第二文件从所述磁盘中加载至所述内存中包括: 根据所述第二文件对应的磁盘读写行为记录,控制处理器将所述磁盘中与所述第二文 件对应的磁盘读写行为记录对应的部分文件加载至所述内存中; 或,所述控制处理器将全部所述第二文件从所述磁盘中加载至所述内存中包括: 根据所述第二文件对应的磁盘读写行为记录,控制处理器将所述磁盘中与所述第二文 件对应的磁盘读写行为记录对应的全部文件加载至所述内存中。
7. 根据权利要求1所述的启动文件加载方法,其特征在于,在控制处理器将部分所述 第二文件从所述磁盘中加载至所述内存中后,所述方法还包括: 在所述读写空闲时间段结束后,通过第一加载程序控制处理器从磁盘中加载第H文件 至内存中,所述第H文件为所述第二文件中还需加载至所述内存的文件,其中,在所述读写 空闲时间段结束时,所述第一加载程序开始执行,所述第二加载程序停止执行。
8. 根据权利要求1或2或3或5或6或7所述的启动文件加载方法,其特征在于,所述 通过第一加载程序控制处理器从磁盘中加载第一文件至内存中包括: 通过第一加载程序控制处理器根据预定应用启动逻辑从磁盘中加载第一文件至内存 中。
9. 一种启动文件加载装置,其特征在于,包括: 第一加载模块,用于在检测到应用启动指令时,通过第一加载程序控制处理器从磁盘 中加载第一文件至内存中,所述第一文件为启动应用时所需的启动文件的部分文件; 文件确定模块,用于在检测到所述处理器与所述磁盘的读写空闲时间段时,通过第二 加载程序确定所述磁盘中未加载至所述内存中的第二文件,所述第二文件为所述启动文件 中除第一文件外还需加载至所述内存的文件,其中,在所述读写空闲时间段时,所述第一加 载程序停止执行; 第二加载模块,用于通过所述第二加载程序在所述读写空闲时间段,控制处理器将部 分所述第二文件或全部所述第二文件从所述磁盘中加载至所述内存中。
10. 根据权利要求9所述的启动文件加载装置,其特征在于,所述文件确定模块包括: 确定单元,用于在检测到所述处理器与所述磁盘的读写空闲时间段时,根据预置文件 确定第二文件,所述预置文件记录有所述应用与对应启动文件的对应关系。
11. 根据权利要求10所述的启动文件加载装置,其特征在于,所述预置文件记录有所 述应用与对应启动文件的对应关系包括;所述预置文件记录有从所述磁盘加载所述启动 文件至所述内存时,所对应的磁盘读写行为记录与所述应用的对应关系;所述确定单元包 括: 第一记录确定子单元,用于确定第一文件所对应的第一磁盘读写行为记录; 去除子单元,用于从所述预置文件中记录的与所述应用对应的磁盘读写行为记录中, 去除所述第一磁盘读写行为记录,形成与所述第二文件所对应的磁盘读写行为记录; 第二记录确定子单元,用于通过所述第二文件对应的磁盘读写行为记录确定所述第二 文件。
12. 根据权利要求10或11所述的启动文件加载装置,其特征在于,所述启动文件加载 装置还包括: 获取模块,用于在检测到所述应用启动指令时,获取通过第一加载程序控制处理器从 磁盘中加载所述启动文件至所述内存,所对应的原始磁盘读写行为记录; 处理模块,用于对所述原始磁盘读写行为记录进行处理; 关系建立模块,用于建立处理后的磁盘读写行为记录与所述应用的对应关系,生成所 述预置文件。
13. 根据权利要求12所述的启动文件加载装置,其特征在于,所述处理模块包括: 过滤单元,用于对原始磁盘读写行为记录中,与所述内存中已存储的记录相重合的记 录进行过滤; 合并单元,用于将过滤后的磁盘读写行为记录中,读取同一文件时相邻的读取记录进 行合并; 去重单元,用于对合并后的磁盘读写行为记录进行去重处理,使得读取同一文件的多 个记录所对应的访问区间互不重叠; 格式化单元,用于将去重处理后的磁盘读写行为记录进行格式化处理,W使去重处理 后的磁盘读写行为记录所对应的文件绝对路径转化为相对路径; 所述关系建立模块包括: 建立单元,用于建立格式化处理的磁盘读写行为记录与所述应用的对应关系。
14. 根据权利要求9所述的启动文件加载装置,其特征在于,所述启动文件加载装置还 包括: 第一加载恢复模块,用于在所述读写空闲时间段结束后,通过第一加载程序控制处理 器从磁盘中加载第H文件至内存中,所述第H文件为所述第二文件中还需加载至所述内存 的文件,其中,在所述读写空闲时间段结束时,所述第一加载程序开始执行,所述第二加载 程序停止执行。
15. -种电子设备,其特征在于,包括权利要求9-14任一项所述的启动文件加载装置。
【文档编号】G06F9/445GK104346194SQ201410158988
【公开日】2015年2月11日 申请日期:2014年4月18日 优先权日:2014年4月18日
【发明者】张大鹏, 朱仪姣, 魏雪, 王文强 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1