一种设备运行速度优化方法和装置制造方法及图纸

技术编号:8800983 阅读:152 留言:0更新日期:2013-06-13 05:41
本发明专利技术实施例公开了一种设备运行速度优化方法和装置,其中方法的实现包括:在可执行文件启动前将预取数据文件加载到内存中;上述预取数据文件中存放有可执行文件在本次启动之前的启动过程中产生的预取数据,上述预取数据中对应不同文件的文件信息存放在上述预取数据文件中;拦截磁盘设备对象的输入输出请求包IRP处理,若IRP处理的内容存放在上述预取数据文件中,则从内存中读取读取上述IRP处理对应的内容。通过以上方案可将所有分散的I/O集中到一起,同时又为预取数据的压缩提供了可能。可以大大提高预取数据的加载效率,是具有普适性并且效果显著的设备提速方案。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种设备运行速度优化方法和装置
技术介绍
计算机开机慢和开机后运行慢一直是困扰计算机用户的一大难题。尤其是长期运行的计算机,开机慢和运行慢的问题更加严重。为解决该问题,很多软件公司一直在找突破加快开机速度的方法。其中视窗(windows)系统的预取机制就是其中较为常用的方案。另夕卜,第三方厂家也提供了各种优化工具,通过减轻第三方软件给操作系统带来的额外负担,并优化系统的一些设置来达到加速的目的。但从现状来看,第三方厂家应该还没有找到一个效果显著并且具有普适性的提速方案。主要原因是操作系统本身已经尽可能做了各种优化,通过设置操作系统参数能达到的效果有限,而第三方软件情况又太复杂,对系统性能造成的影响可能错综复杂,因此很难在确保用户使用性和系统性能两者之间找到一个平衡点。在当前的windows系统中,预取机制已经成为必不可少的技术,通过该技术可以大大改善用户计算机开机速度,假如一个计算机没有开启预取时的开机时间为50秒,开启预取后可能只有30秒。该技术主要包括两点:一、系统开机预取:操作系统通过捕获开机过程中程序产生的hardfault (—种中断处理函数)计算出开机过程中需要读取的文件内容信息,将这些信息保存起来,等下次启动时由内核模块预先读入这些内容,尽可能减少开机过程中程序产生的hardfault,从而让I/O (input/output,输入输出)对程序运行产生的影响减至最低。二、应用软件启动预取:操作系统捕获软件启动后10秒内的hardfault,并计算对应的文件信息,在下次启动软件前进行提前预取到内存中,减少程序运行产生的hardfault,达到加速目的。该方案主要是解决程序运行时的hardfault问题,因为在程序运行过程中除了中央处理器(Central Processing Unit,CPU)和内存外,影响运行的主要因素是I/O问题,I/O问题主要体现在hardfault的产生上,每次hardfault意味着程序要暂停运行,等待从物理存储器中读出对应的内容后才能继续运行。通过提前读入的方法可以有效改善程序运行阶段的I/O问题,实现设备提速。在开机预取阶段,上述预取机制的方案,操作系统保存了需要读取的文件偏移信息,然后在开机过程中按照文件偏移信息保存的顺序进行读入,同时程序也在同步运行,如果程序需要的信息还没来得及读入,则仍然会产生hardfault。因此I/O效率较低,故而开机速度较慢。
技术实现思路
本专利技术实施例提供了 一种设备运行速度优化方法和装置,用于提供具有普适性并且效果显著的设备提速方案。一种设备运行速度优化方法,包括:在可执行文件启动前将预取数据文件加载到内存中;上述预取数据文件中存放有可执行文件在本次启动之前的启动过程中产生的预取数据,上述预取数据中对应不同文件的文件信息存放在上述预取数据文件中;拦截磁盘设备对象的输入输出请求包IRP处理,若IRP处理的内容存放在上述预取数据文件中,则从内存中读取读取上述IRP处理对应的内容。一种设备运行速度优化方法,包括:获取可执行文件在启动过程中产生的预取数据;将预取数据中对应不同文件的文件信息存放在预取数据文件中;在上述可执行文件启动前将上述预取数据文件以及上述预取数据中的内容和磁盘物理偏移的对应关系,发送给上述可执行文件所在的装置。一种设备运行速度优化装置,包括:加载单元,用于在可执行文件启动前将预取数据文件加载到内存中;上述预取数据文件中存放有可执行文件在本次启动之前的启动过程中产生的预取数据,上述预取数据中对应不同文件的文件信息存放在上述预取数据文件中;拦截单元,用于拦截磁盘设备对象的输入输出请求包IRP处理;读取单元,用于若拦截单元拦截的IRP处理的内容存放在上述加载单元加载的预取数据文件中,则从内存中读取读取上述IRP处理对应的内容。一种设备运行速度优化装置,包括:数据获取单元,用于获取可执行文件在启动过程中产生的预取数据;文件生成单元,用于将预取数据中对应不同文件的文件信息存放在预取数据文件中;发送单元,用于在上述可执行文件启动前将上述预取数据文件以及上述预取数据中的内容和磁盘物理偏移的对应关系,发送给上述可执行文件所在的装置。从以上技术方案可以看出,本专利技术实施例具有以下优点:通过以上方案可将所有分散的I/o集中到一起,同时又为预取数据的压缩提供了可能。可以大大提高预取数据的加载效率,是具有普适性并且效果显著的设备提速方案。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例方法流程示意图;图2为本专利技术实施例方法流程示意图;图3为本专利技术实施例方法流程示意图;图4为本专利技术实施例装置结构示意图;图5为本专利技术实施例装置结构示意图6为本专利技术实施例装置结构示意图;图7为本专利技术实施例装置结构示意图;图8为本专利技术实施例装置结构示意图。具体实施例方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部份实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种设备运行速度优化方法,如图1所示,包括:101:在可执行文件启动前将预取数据文件加载到内存中;上述预取数据文件中存放有可执行文件在本次启动之前的启动过程中产生的预取数据,上述预取数据中对应不同文件的文件信息存放在上述预取数据文件中;可选地,加载的方式可以是使用引导启动类型的驱动来加载,或者其他的方式加载也是可以的本专利技术实施例对比不予限定。可选地,上述可执行文件包括:操作系统的可执行文件和\或应用程序文件。本专利技术实施例的方案适用于操作系统也适用于应用程序的运行加速,前者可以加快启动速度,后者可以加快应用程序运行速度。后续实施例将以操作系统为例进行说明,本领域技术人员可以理解的是,操作系统的举例不应理解为对本专利技术实施例的限定。可选地,上述预取数据中连续的内容及其对应的磁盘物理偏移存放在同一数据结构,并作为一个元素存放在预取数据文件中。上述数据结构可以是结构体,本领域技术人员可以理解的是结构体并不是数据结构的穷举,该优选的实现方案不应理解为对本专利技术实施例的唯一限定。进一步地,若上述预取数据文件为压缩后的预取数据文件;上述将预取数据文件加载到内存中之前还包括:获取解压规则,使用上述解压规则对上述压缩后的预取数据文件进行解压。通过压缩可以提高I/o读取效率,进而进一步提高设备运行速度。压缩的算法可以采用7Z的压缩算法或其他压缩算法,对此本专利技术实施例不予限定。本步骤中的预取数据文件可以由可执行文件所在的装置来生成,也可以是接收到的由其他装置生成的预取数据文件,并不影响本专利技术实施例的实现,因此本专利技术实施例对此不予限定。102:拦截磁盘设备对象的输入输出请求包(I/O Request Package, IRP)处理,若IRP处理的内容存放在上述预取数据文件中,则从内存中读取本文档来自技高网
...

【技术保护点】
一种设备运行速度优化方法,其特征在于,包括:在可执行文件启动前将预取数据文件加载到内存中;所述预取数据文件中存放有所述可执行文件在本次启动之前的启动过程中产生的预取数据,所述预取数据中对应不同文件的文件信息存放在所述预取数据文件中;拦截磁盘设备对象的输入输出请求包IRP处理,若IRP处理的内容存放在所述预取数据文件中,则从内存中读取读取所述IRP处理对应的内容。

【技术特征摘要】
1.一种设备运行速度优化方法,其特征在于,包括: 在可执行文件启动前将预取数据文件加载到内存中;所述预取数据文件中存放有所述可执行文件在本次启动之前的启动过程中产生的预取数据,所述预取数据中对应不同文件的文件信息存放在所述预取数据文件中; 拦截磁盘设备对象的输入输出请求包IRP处理,若IRP处理的内容存放在所述预取数据文件中,则从内存中读取读取所述IRP处理对应的内容。2.根据权利要求1所述方法,其特征在于,所述从内存中读取读取所述IRP处理对应的内容之前还包括: 禁止可执行文件在启动过程中读取所述可执行文件在本次启动之前的启动过程中产生的预取数据;获取所述预取数据中的内容和磁盘物理偏移的对应关系; 所述从内存中读取所述IRP处理对应的内容包括: 依据所述预取数据中的内容和磁盘物理偏移的对应关系从内存中读取所述IRP处理对应的内容。3.根据权利要求1所述方法,其特征在于,所述可执行文件包括: 操作系统的可执行文件和\或应用程序文件。4.根据权利要求1所述方法,其特征在于,所述预取数据中连续的内容及其对应的磁盘物理偏移存放在同一数据结构,并作为一个元素存放在预取数据文件中。5.根据权利要求1至4任意一项所述方法,其特征在于,所述预取数据文件为压缩后的预取数据文件;所述将预取数据文件加载到内存中之前还包括: 获取解压规则,使用所述解压规则对所述压缩后的预取数据文件进行解压。6.一种设备运行速度优化方法,其特征在于,包括: 获取可执行文件在启动过程中产生的预取数据; 将预取数据中对应不同文件的文件信息存放在预取数据文件中; 在所述可执行文件启动前将所述预取数据文件以及所述预取数据中的内容和磁盘物理偏移的对应关系,发送给所述可执行文件所在的装置。7.根据权利要求6所述方法,其特征在于,所述将预取数据中对应不同文件的文件信息存放在预取数据文件中包括: 将连续的内容及其对应的磁盘物理偏移存放在同一数据结构作为一个元素存放在预取数据文件中。8.根据权利要求6或7所述方法,其特征在于,所述将所述预取数据文件发送给所述可执行文件所在的装置之前还包括:将所述预取数据文件压缩; 所述将所述预取数据文件发送给所述可执行文件所在的装置包括: 将压缩后的预取数据文件发送给所述可执行文件所在的装置。9.一种设备运行速度优化装置,其特征在于,包括: 加载单元,用于在可执行文件启动前将预取数据文...

【专利技术属性】
技术研发人员:张领
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1