专利名称:一种文件加载方法及装置的制作方法
技术领域:
本发明涉及计算机领域,特别涉及一种文件加载方法及装置。
背景技术:
计算机系统中硬盘上的文件是不同时间复制或建立到硬盘上的,它们都处于硬盘分区的不同位置,因此,它们一般是不连续的(在硬盘上随机排列)。某一个计算机动作,如操作系统启动或者启动某一个应用程序(如文字处理)等,所需要使用的文件却是基本确定的。以计算机操作系统的启动为例,操作系统启动过程中需要加载大量的文件(包括应用程序、函数库、驱动程序以及文本文件等),由于这些文件都处于不同的位置,是不连续·的,因此操作系统启动时需要从硬盘分区的不同位置加载这些文件,从而完成启动过程。发明人在实现本发明实施例技术方案的过程中发现,现有技术中至少存在以下缺
占-
^ \\\ 操作系统启动或应用程序启动时,由于需要加载的文件都处于硬盘分区的不同位置,在加载这些文件时,需要根据规则在硬盘上的不同位置上查找这些文件,然后读取这些文件并加载到内存,这种随机读取的方式需要耗费较长的时间,从而会导致加载文件的速度较慢,导致操作系统启动速度或应用程序启动速度较慢,浪费了启动时间,大大降低了用户体验。
发明内容
本发明实施例的目的是提供一种文件加载方法及装置,以提高操作系统启动或应用程序启动时加载文件的速度。本发明实施例的技术方案是这样实现的一种文件加载方法,包括加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的;如果存在所述批量文件硬盘镜像,则申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像;通过所述批量文件内存镜像中的文件完成加载响应。上述的文件加载方法,其中,还包括如果不存在所述批量文件硬盘镜像,则从硬盘中将所述待加载文件加载至内存;通过加载至内存的所述待加载文件完成加载响应。上述的文件加载方法,其中,从硬盘中将所述待加载文件加载至内存后还包括在硬盘上建立一个或多个连续的区域;在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。上述的文件加载方法,其中,所述在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像,包括对加载至内存的所述待加载文件进行压缩,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。上述的文件加载方法,其中,形成所述待加载文件的批量文件硬盘镜像后还包括判断是否需要对所述批量文件硬盘镜像中的文件进行更新;
如果需要对所述批量文件硬盘镜像中的文件进行更新,则确定所述批量文件硬盘镜像中需要更新的文件;对所述批量文件硬盘镜像中需要更新的文件进行更新。一种文件加载装置,包括第一判断单元,用于在加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的;第一加载单元,用于当存在所述批量文件硬盘镜像时,申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像;第一响应单元,用于通过所述批量文件内存镜像中的文件完成加载响应。上述的文件加载装置,其中,还包括第二加载单元,用于当不存在所述批量文件硬盘镜像时,从硬盘中将所述待加载文件加载至内存;第二响应单元,用于通过加载至内存的所述待加载文件完成加载响应。上述的文件加载装置,其中,还包括建立单元,用于在硬盘上建立一个或多个连续的区域;备份单元,用于在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。上述的文件加载装置,其中,所述备份单元进一步用于对加载至内存的所述待加载文件进行压缩,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。上述的文件加载装置,其中,还包括第二判断单元,用于判断是否需要对所述批量文件硬盘镜像中的文件进行更新;确定单元,用于当需要对所述批量文件硬盘镜像中的文件进行更新时,确定所述批量文件硬盘镜像中需要更新的文件;更新单元,用于对所述批量文件硬盘镜像中需要更新的文件进行更新。由以上本发明实施例提供的技术方案可见,本发明实施例通过在硬盘上建立一个或多个连续的区域,将操作系统启动或者应用程序启动时的待加载文件在所述一个或多个连续的区域中进行备份,形成所述待加载文件的批量文件硬盘镜像,这样,在操作系统启动或者应用程序启动时,就不需要如现有技术那样随机读取硬盘,而是顺序读取硬盘,并且是一次性将所述批量文件硬盘镜像中的所有文件加载到内存,如此,提高了加载文件的速度,缩短了操作系统启动或应用程序启动的时间,大大增强了用户体验。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例一的文件加载方法流程图;图2为本发明实施例二的文件加载方法流程图;图3为本发明实施例的文件加载装置的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明实施例一的文件加载方法流程图,该实施例应用于计算机操作系统的启动。参照图I,包括如下步骤步骤101 :操作系统启动,获取待加载文件的信息;在计算机开机时,引导程序(boot)被自动执行,引导程序首先获取操作系统启动所需加载到内存的文件信息,包括应用程序、函数库、驱动程序以及文本文件等,然后通知CPU把这些文件加载到内存。步骤102 :加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,若是,进入步骤103,否则,进入步骤105 ;所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的。采用本发明实施例的方法后,操作系统首次启动时,硬盘中不会存在所述批量文件硬盘镜像,因此,进入步骤105,从硬盘中将所述待加载文件加载至内存;操作系统再次启动时,由于在首次启动时已经建立了批量文件硬盘镜像(参见步骤107),因此,进入步骤103,直接将批量文件硬盘镜像中的文件加载到内存。步骤103 :如果存在所述批量文件硬盘镜像,则申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像;本步骤中,由于所有待加载文件形成了一个批量文件硬盘镜像,则可以象读取一个文件那样从硬盘中一次性读取所有待加载文件,并将读取到的所有待加载文件一次性写入内存,完成文件的加载过程。步骤104 :通过所述批量文件内存镜像中的文件完成加载响应,结束;完成文件加载后,对操作系统运行中相关文件的访问,就可以直接定位到所述批量文件内存镜像,并将所述批量文件内存镜像中的文件返回给需求方。步骤105 :如果不存在所述批量文件硬盘镜像,则从硬盘中将所述待加载文件加载至内存;步骤106 :通过加载至内存的所述待加载文件完成加载响应;。步骤107 :在硬盘上建立一个或多个连续的区域,在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。步骤107具体包括首先,根据文件大小统计这些待加载文件需要占用的硬盘的总空间,然后在硬盘内查找与总空间大小一致的硬盘空间,并记录该硬盘空间的位置;如果硬盘上不存在与总空间大小一致的硬盘空间,则可以获取两个或两个以上的硬盘空间,并使得这些硬盘空间的大小之和等于所述总空间的大小。然后,按照待加载文件的加载顺序将这些待加载文件保存到所述查找到的硬盘空间中。 可选地,还可以将原始位置处的待加载文件删除,以节约硬盘的存储空间。举个简单的例子,假设操作系统启动需要按照顺序将文件A、B、C加载到内存,文件A存储在硬盘的第一空间,文件B存储在硬盘的第四空间,文件C存储在硬盘的第三空间,假定文件A和文件C之间的第二空间与文件B的文件大小一致,则将文件B移动到该第二空间内,由此形成批量文件硬盘镜像,该批量硬盘镜像占用的空间是连续的(由第一空间、第二空间和第三空间拼接而成)。可见,经过上述处理,待加载文件就保存到了连续区域,形成了批量文件硬盘镜像。操作系统在下一次启动时,就能够直接将其中的所有文件一次性读出,并将其一次性写入到内存中,形成批量文件内存镜像。在硬盘中,对批量文件硬盘镜像的操作犹如对一个文件的操作一样,只需要一次寻址和读取即可,不需要反复查找和读取,因此,提高了读取速度;并且,由于是一次性将所有待加载文件写入到内存,也提高了写入速度。通过这些手段,就提高了加载速度。后续,就可以根据批量文件内存镜像,完成文件的加载响应。优选地,在对加载至内存的所述待加载文件进行备份前,还先对这些待加载文件进行压缩,然后,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。经上述压缩处理后,批量文件硬盘镜像所占用的存储空间变小,这样,从硬盘中读取批量文件镜像中的文件的时间就会缩短,从而提高了文件加载速度,进而提高了计算机的启动速度。另外,操作系统启动时需要加载到内存的文件可能会发生更新。例如,在操作系统运行的过程中,对计算机的硬件或者运行在操作系统之上的应用软件的配置进行了更新,这会导致加载到内存的相关文件发生了变化;或者,新安装了一个硬件或软件,这会导致有新的文件加载到内存;或者,删除了一个硬件或软件,这会导致加载到内存的相关文件被删除。当发生上述情形时,如果不对批量文件磁盘镜像进行更新,会导致操作系统下次启动时加载到内存中的文件不正确,有可能会使计算机硬件或运行在操作系统之上的应用软件不能正常工作。有鉴于此,本发明实施例的方法在形成所述待加载文件的批量文件硬盘镜像后还包括判断是否需要对所述批量文件硬盘镜像中的文件进行更新;如果需要对所述批量文件硬盘镜像中的文件进行更新,则确定所述批量文件硬盘镜像中需要更新的文件;对所述批量文件硬盘镜像中需要更新的文件进行更新,包括增加文件、删除文件或用新的文件替换旧的文件等。图2为本发明实施例二的文件加载方法流程图,该实施例应用于计算机中应用程序的启动。参照图2,包括如下步骤
步骤201 :应用程序启动,获取待加载文件的信息;应用程序(例如文字处理程序)运行在操作系统之上,应用程序启动时,也需要将一些文件加载到内存中,例如,配置文件、动态链接文件、函数库文件等。步骤202 :加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,若是,进入步骤203,否则,进入步骤205 ;所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的。采用本发明实施例的方法后,应用程序首次启动时,硬盘中不会存在所述批量文件硬盘镜像,因此,进入步骤205,从硬盘中将所述待加载文件加载至内存;应用程序再次启动时,由于在首次启动时已经建立了批量文件硬盘镜像(参见步骤207),因此,进入步骤203,直接将批量文件硬盘镜像中的文件加载到内存。步骤203 :如果存在所述批量文件硬盘镜像,则申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像; 本步骤中,由于所有待加载文件形成了一个批量文件硬盘镜像,则可以象读取一个文件那样从硬盘中一次性读取所有待加载文件,并将读取到的所有待加载文件一次性写入内存,完成文件的加载过程。步骤204 :通过所述批量文件内存镜像中的文件完成加载响应,结束;完成文件加载后,对应用程序运行中相关文件的访问,就可以直接定位到所述批量文件内存镜像,并将所述批量文件内存镜像中的文件返回给需求方。步骤205 :如果不存在所述批量文件硬盘镜像,则从硬盘中将所述待加载文件加载至内存;步骤206 :通过加载至内存的所述待加载文件完成加载响应;。步骤207 :在硬盘上建立一个或多个连续的区域,在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。步骤207具体包括首先,根据文件大小统计这些待加载文件需要占用的硬盘的总空间,然后在硬盘内查找与总空间大小一致的硬盘空间,并记录该硬盘空间的位置;如果硬盘上不存在与总空间大小一致的硬盘空间,则可以获取两个或两个以上的硬盘空间,并使得这些硬盘空间的大小之和等于所述总空间的大小。然后,按照待加载文件的加载顺序将这些待加载文件保存到所述查找到的硬盘空间中。
可选地,还可以将原始位置处的待加载文件删除,以节约硬盘的存储空间。举个简单的例子,假设应用程序启动需要按照顺序将文件A、B、C加载到内存,文件A存储在硬盘的第一空间,文件B存储在硬盘的第四空间,文件C存储在硬盘的第三空间,假定文件A和文件C之间的第二空间与文件B的文件大小一致,则将文件B移动到该第二空间内,由此形成批量文件硬盘镜像,该批量硬盘镜像占用的空间是连续的(由第一空间、第二空间和第三空间拼接而成)。可见,经过上述处理,待加载文件就保存到了连续区域,形成了批量文件硬盘镜像。应用程序在下一次启动时,就能够直接将其中的所有文件一次性读出,并将其一次性写入到内存中,形成批量文件内存镜像。在硬盘中,对批量文件硬盘镜像的操作犹如对一个文件的操作一样,只需要一次寻址和读取即可,不需要反复查找和读取,因此,提高了读取速 度;并且,由于是一次性将所有待加载文件写入到内存,也提高了写入速度。通过这些手段,就提高了加载速度。后续,就可以根据批量文件内存镜像,完成文件的加载响应。优选地,在对加载至内存的所述待加载文件进行备份前,还先对这些待加载文件进行压缩,然后,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。经上述压缩处理后,批量文件硬盘镜像所占用的存储空间变小,这样,从硬盘中读取批量文件镜像中的文件的时间就会缩短,从而提高了文件加载速度,进而提高了应用程序的启动速度。另外,应用程序启动时需要加载到内存的文件可能会发生更新。例如,在应用程序运行的过程中,对应用程序的配置进行了更新,这会导致加载到内存的相关文件发生了变化;或者,新安装了一个插件,这会导致有新的文件加载到内存;或者,删除了一个插件,这会导致加载到内存的相关文件被删除。当发生上述情形时,如果不对批量文件磁盘镜像进行更新,会导致应用程序下次启动时加载到内存中的文件不正确,有可能会使应用程序不能正常工作。有鉴于此,本发明实施例的方法在形成所述待加载文件的批量文件硬盘镜像后还包括判断是否需要对所述批量文件硬盘镜像中的文件进行更新;如果需要对所述批量文件硬盘镜像中的文件进行更新,则确定所述批量文件硬盘镜像中需要更新的文件;对所述批量文件硬盘镜像中需要更新的文件进行更新,包括增加文件、删除文件或用新的文件替换旧的文件等。与本发明文件加载方法的实施例相对应,本发明还提供了文件加载装置的实施例。图3为本发明实施例的文件加载装置的结构图,该文件加载装置应用于计算机中操作系统或者应用程序的启动。参照图3,该文件加载装置包括第一判断单元10,用于在加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的;
第一加载单元20,用于当存在所述批量文件硬盘镜像时,申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像;第一响应单元30,用于通过所述批量文件内存镜像中的文件完成加载响应。进一步,该文件加载装置还可包括第二加载单元(图未示),用于当不存在所述批量文件硬盘镜像时,从硬盘中将所述待加载文件加载至内存;第二响应单元(图未示),用于通过加载至内存的所述待加载文件完成加载响应。进一步,该文件加载装置还可包括建立单元(图未示),用于在硬盘上建立一个或多个连续的区域;
·
备份单元(图未示),用于在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。所述备份单元(图未示)进一步用于对加载至内存的所述待加载文件进行压缩,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。进一步,该文件加载装置还可包括第二判断单元(图未示),用于判断是否需要对所述批量文件硬盘镜像中的文件进行更新;确定单元(图未示),用于当需要对所述批量文件硬盘镜像中的文件进行更新时,确定所述批量文件硬盘镜像中需要更新的文件;更新单元(图未示),用于对所述批量文件硬盘镜像中需要更新的文件进行更新。通过以上的实施方式的描述可知,本发明实施例通过在硬盘上建立一个或多个连续的区域,将操作系统启动或者应用程序启动时的待加载文件在所述一个或多个连续的区域中进行备份,形成所述待加载文件的批量文件硬盘镜像,这样,在操作系统启动或者应用程序启动时,就不需要如现有技术那样随机读取硬盘,而是顺序读取硬盘,并且是一次性将所述批量文件硬盘镜像中的所有文件加载到内存,如此,提高了加载文件的速度,缩短了操作系统启动或应用程序启动的时间,大大增强了用户体验。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,对各步骤的先后变化也在本发明的保护范围之内。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种文件加载方法,其特征在于,包括 加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的; 如果存在所述批量文件硬盘镜像,则申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像; 通过所述批量文件内存镜像中的文件完成加载响应。
2.根据权利要求I所述的文件加载方法,其特征在于,还包括 如果不存在所述批量文件硬盘镜像,则从硬盘中将所述待加载文件加载至内存; 通过加载至内存的所述待加载文件完成加载响应。
3.根据权利要求2所述的文件加载方法,其特征在于,从硬盘中将所述待加载文件加载至内存后还包括 在硬盘上建立一个或多个连续的区域; 在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。
4.根据权利要求3所述的文件加载方法,其特征在于,所述在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像,包括 对加载至内存的所述待加载文件进行压缩,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。
5.根据权利要求3或4所述的文件加载方法,其特征在于,形成所述待加载文件的批量文件硬盘镜像后还包括 判断是否需要对所述批量文件硬盘镜像中的文件进行更新; 如果需要对所述批量文件硬盘镜像中的文件进行更新,则确定所述批量文件硬盘镜像中需要更新的文件; 对所述批量文件硬盘镜像中需要更新的文件进行更新。
6.一种文件加载装置,其特征在于,包括 第一判断单元,用于在加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的; 第一加载单元,用于当存在所述批量文件硬盘镜像时,申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像; 第一响应单元,用于通过所述批量文件内存镜像中的文件完成加载响应。
7.根据权利要求6所述的文件加载装置,其特征在于,还包括 第二加载单元,用于当不存在所述批量文件硬盘镜像时,从硬盘中将所述待加载文件加载至内存; 第二响应单元,用于通过加载至内存的所述待加载文件完成加载响应。
8.根据权利要求7所述的文件加载装置,其特征在于,还包括 建立单元,用于在硬盘上建立一个或多个连续的区域;备份单元,用于在所述一个或多个连续的区域中对加载至内存的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。
9.根据权利要求8所述的文件加载装置,其特征在于,所述备份单元进一步用于 对加载至内存的所述待加载文件进行压缩,在所述一个或多个连续的区域中对压缩后的所述待加载文件进行备份,形成所述待加载文件的批量文件硬盘镜像。
10.根据权利要求8或9所述的文件加载装置,其特征在于,还包括 第二判断单元,用于判断是否需要对所述批量文件硬盘镜像中的文件进行更新; 确定单元,用于当需要对所述批量文件硬盘镜像中的文件进行更新时,确定所述批量文件硬盘镜像中需要更新的文件; 更新单元,用于对所述批量文件硬盘镜像中需要更新的文件进行更新。
全文摘要
本发明实施例公开了一种文件加载方法及装置,方法包括加载待加载文件前,判断是否存在所述待加载文件的批量文件硬盘镜像,所述批量文件硬盘镜像是指在硬盘上建立一个或多个连续的区域对所述待加载文件进行备份后形成的;如果存在所述批量文件硬盘镜像,则申请内存加载所述批量文件硬盘镜像中的文件,生成批量文件内存镜像;通过所述批量文件内存镜像中的文件完成加载响应。根据本发明的实施例,能够提高操作系统启动或应用程序启动时加载文件的速度。
文档编号G06F9/445GK102760063SQ20111010422
公开日2012年10月31日 申请日期2011年4月25日 优先权日2011年4月25日
发明者周大凯, 毕洪江, 郭卫先 申请人:联想(北京)有限公司