提高应用程序运行速度的方法、装置及终端制造方法及图纸

技术编号:7758888 阅读:262 留言:0更新日期:2012-09-14 00:25
本发明专利技术公开了一种提高应用程序运行速度的方法、装置及终端,属于计算机领域。方法包括:采集应用程序运行时缺页中断对应的本地数据信息,本地数据信息包括本地数据所在文件的文件名、本地数据在文件内的偏移以及本地数据的大小;根据采集到的本地数据信息获取对应的本地数据,并在获取到提高应用程序运行速度的指令后,加载获取到的本地数据。本发明专利技术通过加载根据应用程序运行时缺页中断对应的本地数据信息获取到的本地数据,以减少应用程序访问IO操作的耗时,提高应用程序运行速度;由于缺页中断对应的本地数据信息不局限于访问场景,可增强速度提高的效果;针对不同应用程序具有不同的速度优化程度,提高速度优化的针对性,扩大速度优化的空间。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及一种提高应用程序运行速度的方法、装置及终端
技术介绍
随着计算机技术的高速发展,应用程序的种类越来越多。为了满足用户对各类应用程序的运行需求,提高应用程序的运行速度,成为了众多研究者十分关注的课题。现有技术在提高应用程序的运行速度时,采取了预读和预加载(Prefetch)两种机制。其中,预读机制是指在读取本地数据文件时,除了读取当前所需数据外,还将当前所 需数据后的内容也一并读入内存中,以在用到该部分内容时,可从内存中直接读取,从而减少应用程序在IO(Input/Output,输入输出)上的耗时;预加载机制是指在开机加载操作系统时,读取常用的应用程序的主要内容,以备在该类应用程序启动时耗费大量时间来读取数据。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题预读机制仅适用于在加载应用程序时顺序访问本地数据的场景,针对应用程序运行时对本地数据进行随机访问的场景,该预读机制的作用并不显著;预加载机制针对所有应用程序运行速度进行优化,具有一定普遍性但缺乏针对性,对应用程序运行速度的优化空间有限。
技术实现思路
为了在提高应用程序运行速度的同时,提高速度优化的针对性,并增强速度提高的效果,本专利技术实施例提供了一种提高应用程序运行速度的方法、装置及终端。所述技术方案如下—方面,提供了一种提高应用程序运行速度的方法,所述方法包括采集应用程序运行时缺页中断对应的本地数据信息,所述本地数据信息包括本地数据所在文件的文件名、所述本地数据在所述文件内的偏移以及所述本地数据的大小;根据采集到的所述本地数据信息获取对应的本地数据,并在获取到提高所述应用程序运行速度的指令后,加载获取到的所述本地数据。其中,所述采集应用程序运行时缺页中断对应的本地数据信息,具体包括通过事件跟踪机制采集应用程序运行时的硬缺页事件和软缺页事件,从记录了所述硬缺页事件和软缺页事件的事件跟踪日志中获取所述应用程序运行时缺页中断对应的本地数据信息;或者,通过钩子HOOK技术对系统底层调用进行监控,并获取用于记录缺页中断对应的本地数据信息的监控代码,根据所述监控代码获取所述应用程序运行时缺页中断对应的本地数据信息。优选地,所述根据采集到的所述本地数据信息获取对应的本地数据,具体包括解析采集到的所述本地数据信息,得到本地数据所在文件的文件名、所述本地数据在所述文件内的偏移以及所述本地数据的大小;按照所述本地数据所在文件的文件名将采集到的本地数据信息进行聚合;按照所述本地数据在所述文件内的偏移将聚合后的本地数据信息进行合并,并在合并后的本地数据信息中选取符合预取条件的本地数据信息作为预取数据信息;根据选取的所述预取数据信息获取对应的本地数据。 进一步地,所述在合并后的本地数据信息中选取符合预取条件的本地数据信息作为预取数据信息之后,还包括根据所述应用程序的信息存储选取的所述预取数据信息;所述加载获取到的本地数据,具体包括根据所述应用程序的信息获取所述预取数据信息,并根据所述预取数据信息获取对应的本地数据,将获取到的本地数据加载至内存。进一步地,所述加载获取到的本地数据之前,还包括输出应用程序列表,提示用户在所述应用程序列表中选择提高运行速度的应用程序;根据用户在所述应用程序列表中选择的应用程序接收提高所述应用程序运行速度的指令以及所述应用程序的信息。另一方面,还提供了一种提高应用程序运行速度的装置,所述装置包括采集模块,用于采集应用程序运行时缺页中断对应的本地数据信息,所述本地数据信息包括本地数据所在文件的文件名、所述本地数据在所述文件内的偏移以及所述本地数据的大小;获取模块,用于根据所述采集模块采集到的所述本地数据信息获取对应的本地数据;加载模块,用于获取到提高所述应用程序运行速度的指令后,加载所述获取模块获取到的所述本地数据。其中,所述采集模块,具体用于通过事件跟踪机制采集应用程序运行时的硬缺页事件和软缺页事件,从记录了所述硬缺页事件和软缺页事件的事件跟踪日志中获取所述应用程序运行时缺页中断对应的本地数据信息;或者,所述采集模块,具体用于通过钩子HOOK技术对系统底层调用进行监控,并获取用于记录缺页中断对应的本地数据信息的监控代码,根据所述监控代码获取所述应用程序运行时缺页中断对应的本地数据信息。优选地,所述获取模块,具体包括解析单元,用于解析所述采集模块采集到的本地数据信息,得到本地数据所在文件的文件名、所述本地数据在所述文件内的偏移以及所述本地数据的大小;聚合单元,用于按照所述解析单元解析出的本地数据所在文件的文件名将采集到的本地数据信息进行聚合;合并单元,用于按照所述解析单元解析出的本地数据在所述文件内的偏移将所述聚合单元聚合后的本地数据信息进行合并;选取单元,用于在所述合并单元合并后的本地数据信息中选取符合预取条件的本地数据信息作为预取数据信息;获取单元,用于根据所述选取单元选取的所述预取数据信息获取对应的本地数据。进一步地,所述装置还包括存储模块,用于根据所述应用程序的信息存储所述选取单元选取的所述预取数据信息;所述加载模块,具体包括第一获取单元,用于根据所述应用程序的信息获取所述预取数据信息;第二获取单元,用于根据所述第一获取单元获取到的预取数据信息获取对应的本地数据; 加载单元,用于将所述第二获取单元获取到的本地数据加载至内存。进一步地,所述装置还包括输出模块,用于输出应用程序列表,提示用户在所述应用程序列表中选择提高运行速度的应用程序;接收模块,用于根据用户在所述输出模块输出的应用程序列表中选择的应用程序接收提高所述应用程序运行速度的指令以及所述应用程序的信息。再一方面,还提供了一种终端,所述终端包括上述提高应用程序运行速度的装置。本专利技术实施例提供的技术方案带来的有益效果是通过采集应用程序运行时缺页中断对应的本地数据信息,并加载根据本地数据信息获取到的本地数据,从而减少应用程序访问IO操作的耗时,达到提高应用程序运行速度的目的;另外,由于缺页中断对应的本地数据信息不局限于本地数据的访问场景,因而可增强速度提高的效果;且由于不同应用程序运行时缺页中断对应的本地数据信息不同,针对不同应用程序具有不同的速度优化程度,因而可提高速度优化的针对性,进而扩大速度优化的空间。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本专利技术实施例一提供的提高应用程序运行速度的方法流程图;图2是本专利技术实施例二提供的提高应用程序运行速度的方法流程图;图3是本专利技术实施例三提供的提高应用程序运行速度的装置的结构示意图;图4是本专利技术实施例三提供的获取模块的结构示意图;图5是本专利技术实施例三提供的另一种提高应用程序运行速度的装置的结构示意图;图6是本专利技术实施例三提供的加载模块的结构示意图;图7是本专利技术实施例三提供的又一种提高应用程序运行速度的装置的结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例一本实施例提供了一种提高应用程序运行速度的方法,参见图1,本实施例本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:林道正聂科峰方斌李世平
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1