• 浪潮孙丕恕从信息时代到智能时代 人工智能价值将爆发式释放 2019-12-21
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
    • / 16
    • 下载费用:30 金币  

    重庆时时彩_稳定版: 加速启动的方法及装置.pdf

    关 键 词:
    加速 启动 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410187308.1

    申请日:

    2014.05.05

    公开号:

    CN104133691A

    公开日:

    2014.11.05

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/445申请日:20140505|||公开
    IPC分类号: G06F9/445 主分类号: G06F9/445
    申请人: 腾讯科技(深圳)有限公司
    发明人: 魏雪; 靳茜文; 王文强; 李旭阳; 高亢; 陈起儒
    地址: 518000 广东省深圳市福田区振兴路赛格科技园2栋东403室
    优先权:
    专利代理机构: 北京三高永信知识产权代理有限责任公司 11138 代理人: 滕一斌
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410187308.1

    授权公告号:

    ||||||

    法律状态公告日:

    2016.08.31|||2014.12.10|||2014.11.05

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种加速启动的方法及装置,属于互联网领域。该方法包括:当监控到应用的登录进程启动时,获取该应用的主进程对应的预取数据,并将获取的预取数据加载到缓存中,该预取数据根据对该应用的主进程的历史启动过程得到;当监控到登录进程启动完成或监控到该应用的主进程启动时,停止获取该应用的主进程对应的预取数据;根据缓存中加载的预取数据,完成该主进程的启动过程。该装置包括:获取???、停止??楹推舳??。本发明加速了该应用的启动,并且预取数据的过程是和登录进程同时进行的,当该登录进程登录完成时或启动主进程时,停止该预取数据的过程,并没有耽误主进程的启动过程,进而不会延长该主进程的启动过程。

    权利要求书

    权利要求书
    1.  一种加速启动的方法,其特征在于,所述方法包括:
    当监控到应用的登录进程启动时,获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中,所述预取数据根据对所述应用的主进程的历史启动过程得到;
    当监控到所述登录进程启动完成或监控到所述应用的主进程启动时,停止获取所述应用的主进程对应的预取数据;
    根据所述缓存中加载的预取数据,完成所述主进程的启动过程。

    2.  如权利要求1所述的方法,其特征在于,所述获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中,包括:
    根据所述登录进程标识,获取所述应用的主进程对应的预取信息;
    根据所述预取信息,从磁盘文件中读取对应的数据;
    将读取的数据确定为所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中。

    3.  如权利要求2所述的方法,其特征在于,所述根据所述登录进程标识,获取所述应用的主进程对应的预取信息,包括:
    根据所述登录进程标识,获取所述应用的主进程标识;
    根据所述主进程标识,确定所述主进程对应的预取信息的存储路径;
    根据所述主进程对应的预取信息的存储路径,获取所述主进程对应的预取信息。

    4.  如权利要求2所述的方法,其特征在于,所述根据所述预取信息,从磁盘文件中读取对应的数据,包括:
    对所述预取信息进行解析,得到解析后的预取信息;
    将所述解析后的预取信息组成特定数据结构的数据信息,所述数据信息包括所述应用程序的主进程所需数据的文件路径、偏移值和长度值;
    根据所述文件路径、偏移值和长度值,从磁盘文件中读取对应的数据。

    5.  如权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述应用的主进程启动过程中,根据所述预取信息对应的总数据大小和所述主进程已加载数据大小,计算所述主进程的启动进度;
    根据所述主进程的启动已耗时间、所述主进程已加载数据大小、预取数据大小和所述启动进度,计算所述主进程已加速时间;
    将所述主进程的启动进度和已加速时间进行显示。

    6.  如权利要求1所述的方法,其特征在于,所述当监控到应用的登录进程启动时,获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中之前,还包括:
    对所述应用的主进程的历史启动过程进行监控,得到所述应用的启动数据;
    根据所述启动数据,获取所述主进程在启动过程中从磁盘中读取的数据的偏移值和长度值;
    根据所述启动数据所在文件的文件路径、所述偏移值和所述长度值,生成预取信息。

    7.  如权利要求1所述的方法,其特征在于,所述当监控到应用的登录进程启动时,获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中之前,还包括:
    接收输入输出IO训练数据,所述IO训练数据包括文件数据和所述主进程对应的文件数据所在文件的相对文件路径;
    根据所述主进程在终端中的安装路径,将所述主进程对应的文件数据所在文件的相对文件路径转换为对应的绝对文件路径;
    将所述文件数据转换为对应的偏移值和长度值;
    根据所述绝对文件路径、偏移值和长度值,生成预取信息。

    8.  一种加速启动的装置,其特征在于,所述装置包括:
    第一获取???,用于当监控到应用的登录进程启动时,获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中,所述预取数据根据对 所述应用的主进程的历史启动过程得到;
    停止???,用于当监控到所述登录进程启动完成或监控到所述应用的主进程启动时,停止获取所述应用的主进程对应的预取数据;
    启动???,用于根据所述缓存中加载的预取数据,完成所述主进程的启动过程。

    9.  如权利要求8所述的装置,其特征在于,所述第一获取??榘ǎ?BR>获取单元,用于根据所述登录进程标识,获取所述应用的主进程对应的预取信息;
    读取单元,用于根据所述预取信息,从磁盘文件中读取对应的数据;
    加载单元,用于将读取的数据确定为所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中。

    10.  如权利要求9所述的装置,其特征在于,所述获取单元包括:
    第一获取子单元,用于根据所述登录进程标识,获取所述应用的主进程标识;
    确定子单元,用于根据所述主进程标识,确定所述主进程对应的预取信息的存储路径;
    第二获取子单元,用于根据所述主进程对应的预取信息的存储路径,获取所述主进程对应的预取信息。

    11.  如权利要求9所述的装置,其特征在于,所述读取单元包括:
    解析子单元,用于对所述预取信息进行解析,得到解析后的预取信息;
    组成子单元,用于将所述解析后的预取信息组成特定数据结构的数据信息,所述数据信息包括所述应用程序的主进程所需数据的文件路径、偏移值和长度值;
    读取子单元,用于根据所述文件路径、偏移值和长度值,从磁盘文件中读取对应的数据。

    12.  如权利要求8所述的装置,其特征在于,所述装置还包括:
    第一计算???,用于在所述应用的主进程启动过程中,根据所述预取信息对应的总数据大小和所述主进程已加载数据大小,计算所述主进程的启动进度;
    第二计算???,用于根据所述主进程的启动已耗时间、所述主进程已加载数据大小、预取数据大小和所述启动进度,计算所述主进程已加速时间;
    显示???,用于将所述主进程的启动进度和已加速时间进行显示。

    13.  如权利要求8所述的装置,其特征在于,所述装置还包括:
    监控???,用于对所述应用的主进程的历史启动过程进行监控,得到所述应用的启动数据;
    第二获取???,用于根据所述启动数据,获取所述主进程在启动过程中从磁盘中读取的数据的偏移值和长度值;
    第一生成???,用于根据所述启动数据所在文件的文件路径、所述偏移值和所述长度值,生成预取信息。

    14.  如权利要求8所述的装置,其特征在于,所述装置还包括:
    接收???,用于接收输入输出IO训练数据,所述IO训练数据包括文件数据和所述主进程对应的文件数据所在文件的相对文件路径;
    第一转换???,用于根据所述主进程在终端中的安装路径,将所述主进程对应的文件数据所在文件的相对文件路径转换为对应的绝对文件路径;
    第二转换???,用于将所述文件数据转换为对应的偏移值和长度值;
    第二生成???,用于根据所述绝对文件路径、偏移值和长度值,生成预取信息。

    说明书

    说明书加速启动的方法及装置
    技术领域
    本发明涉及互联网领域,特别涉及一种加速启动的方法及装置。
    背景技术
    随着互联网技术的快速发展,开发者开发的应用的种类越来越多,用户使用的应用也越来越多。当用户使用某个应用时,为了较快地启动该应用,需要对该应用的启动过程进行加速。
    目前加速启动的过程具体为:当终端监控到该应用启动时,挂起该应用启动过程中的进程。根据该进程的名称和该进程的内容数据,从该终端的磁盘文件中查找对应的预取信息,该预取信息是根据监控预设时间段内该进程从磁盘中读取的数据得到。如果查找到,则解析该预取信息,并从该预取信息中获取缓存中没有加载的数据的路径、偏移值和长度值。根据获取的路径、偏移值和长度值,预取对应的数据,并将预取的数据加载到该缓存中。此时,恢复该进程,使该进程从该缓存中读取需要的数据,如果该缓存中没有需要的数据,则可以从磁盘中读取需要的数据。由于进程从缓存中读取数据的速度大于从磁盘中读取数据的速度,所以实现了加速启动。
    由于不同的进程启动过程中花费的时间不同,所以针对不同的进程,终端根据预取信息预取数据时,只能预取到预设时间段内的数据时,当该进程启动过程中花费的时间小于该预设时间段时,终端会预取到该进程加载所需的数据之外的其他数据,当该进程启动过程中花费的时间大于该预设时间段时,终端会预取到的数据少于该进程加载所需的数据。并且当进程启动时,终端会首先挂起该进程,当预取数据加载完成后再恢复该进程,如果预取数据的准确率较低,会导致预取数据的命中率较低,此时会延长该进程的启动过程。
    发明内容
    为了解决现有技术的问题,本发明实施例提供了一种加速启动的方法及装 置。所述技术方案如下:
    一方面,提供了一种加速启动的方法,所述方法包括:
    当监控到应用的登录进程启动时,获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中,所述预取数据根据对所述应用的主进程的历史启动过程得到;
    当监控到所述登录进程启动完成或监控到所述应用的主进程启动时,停止获取所述应用的主进程对应的预取数据;
    根据所述缓存中加载的预取数据,完成所述主进程的启动过程。
    另一方面,提供了一种加速启动的装置,所述装置包括:
    第一获取???,用于当监控到应用的登录进程启动时,获取所述应用的主进程对应的预取数据,并将所述预取数据加载到缓存中,所述预取数据根据对所述应用的主进程的历史启动过程得到;
    停止???,用于当监控到所述登录进程启动完成或监控到所述应用的主进程启动时,停止获取所述应用的主进程对应的预取数据;
    启动???,用于根据所述缓存中加载的预取数据,完成所述主进程的启动过程。
    在本发明实施例中,该应用具有固定的模式,即先启动该应用的登录进程,当该登录进程登录完成时,该登录进程拉起该应用的主进程,所以,在该登录进程刚开始启动时,获取该主进程的预取数据,并将该预取数据加载到缓存中。为了避免IO请求之间产生冲突,在该登录进程登录完成时或主进程启动时,停止获取该预取数据。此时,该应用的主进程从该缓存中加载所需的数据,由于进程从缓存中读取数据的速度大于从磁盘中读取数据的速度,所以加速了该应用的启动。并且,该主进程的预取数据是根据对该应用的主进程的历史启动过程得到的,所以该预取数据是该主进程的完整启动过程中读取的数据。此外,预取数据的过程是和登录进程同时进行的,当该登录进程登录完成时或启动主进程时,停止该预取数据的过程,并没有耽误主进程的启动过程,进而不会延长该主进程的启动过程。
    附图说明
    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    图1是本发明实施例提供的一种加速启动的方法流程图;
    图2是本发明实施例提供的另一种加速启动的方法流程图;
    图3是本发明实施例提供的一种生成IO训练数据的示意图;
    图4是本发明实施例提供的一种应用显示界面示意图;
    图5是本发明实施例提供的一种加速启动的装置结构示意图。
    具体实施方式
    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
    图1是本发明实施例提供的一种加速启动的方法流程图,参见图1,该方法包括:
    步骤101:当监控到应用的登录进程启动时,获取该应用的主进程对应的预取数据,并将该预取数据加载到缓存中,该预取数据根据对该应用的主进程的历史启动过程得到;
    步骤102:当监控到该登录进程启动完成或监控到该应用的主进程启动时,停止获取该应用的主进程对应的预取数据;
    步骤103:根据该缓存中加载的预取数据,完成该主进程的启动过程。
    可选地,获取该应用的主进程对应的预取数据,并将该预取数据加载到缓存中,包括:
    根据该登录进程标识,获取该应用的主进程对应的预取信息;
    根据该预取信息,从磁盘文件中读取对应的数据;
    将读取的数据确定为该应用的主进程对应的预取数据,并将该预取数据加载到缓存中。
    可选地,根据该登录进程标识,获取该应用的主进程对应的预取信息,包括:
    根据该登录进程标识,获取该应用的主进程标识;
    根据该主进程标识,确定该主进程对应的预取信息的存储路径;
    根据该主进程对应的预取信息的存储路径,获取该主进程对应的预取信息。
    可选地,根据该预取信息,从磁盘文件中读取对应的数据,包括:
    对该预取信息进行解析,得到解析后的预取信息;
    将解析后的预取信息组成特定数据结构的数据信息,该数据信息包括该应用程序的主进程所需数据的文件路径、偏移值和长度值;
    根据该文件路径、偏移值和长度值,从磁盘文件中读取对应的数据。
    进一步地,该方法还包括:
    在该应用的主进程启动过程中,根据该预取信息对应的总数据大小和该主进程已加载数据大小,计算该主进程的启动进度;
    根据该主进程的启动已耗时间、该主进程已加载数据大小、预取数据大小和该启动进度,计算该主进程已加速时间;
    将该主进程的启动进度和已加速时间进行显示。
    可选地地,当监控到应用的登录进程启动时,获取该应用的主进程对应的预取数据,并将该预取数据加载到缓存中之前,还包括:
    对该应用的主进程的历史启动过程进行监控,得到该应用的启动数据;
    根据该启动数据,获取该主进程在启动过程中从磁盘中读取的数据的偏移值和长度值;
    根据该启动数据所在文件的文件路径、该偏移值和该长度值,生成预取信息。
    可选地,当监控到应用的登录进程启动时,获取该应用的主进程对应的预取数据,并将获取的预取数据加载到缓存中之前,还包括:
    接收IO(input/output,输入/输出)训练数据,该IO训练数据包括文件数据和该主进程对应的文件数据所在文件的相对文件路径;
    根据该主进程在终端中的安装路径,将该主进程对应的文件数据所在文件的相对文件路径转换为对应的绝对文件路径;
    将该文件数据转换为对应的偏移值和长度值;
    根据该绝对文件路径、偏移值和长度值,生成预取信息。
    在本发明实施例中,该应用具有固定的模式,即先启动该应用的登录进程, 当该登录进程登录完成时,该登录进程拉起该应用的主进程,所以,在该登录进程刚开始启动时,获取该主进程的预取数据,并将该预取数据加载到缓存中。为了避免IO请求之间产生冲突,在该登录进程登录完成时或主进程启动时,停止获取该预取数据。此时,该应用的主进程从该缓存中加载所需的数据,由于进程从缓存中读取数据的速度大于从磁盘中读取数据的速度,所以加速了该应用的启动。并且,该主进程的预取数据是根据对该应用的主进程的历史启动过程得到的,所以该预取数据是该主进程的完整启动过程中读取的数据。此外,预取数据的过程是和登录进程同时进行的,当该登录进程登录完成时或启动主进程时,停止该预取数据的过程,并没有耽误主进程的启动过程,进而不会延长该主进程的启动过程。
    图2是本发明实施例提供的一种加速启动的方法流程图,参见图2,该方法包括:
    步骤201:当监控到应用的登录进程启动时,获取该应用的主进程对应的预取信息,该预取信息根据对该应用的主进程的历史启动过程得到。
    具体地,当监控到应用的登录进程启动时,根据该登录进程标识,获取该应用的主进程标识;根据该主进程标识,确定该主进程对应的预取信息的存储路径;根据该主进程对应的预取信息的存储路径,获取该主进程对应的预取信息。
    其中,根据该登录进程标识,获取该应用的主进程标识的具体操作可以为:根据该登录进程标识,从已存储的应用标识与登录进程标识之间的对应关系中获取对应的应用标识;根据该应用标识,从已存储的应用标识与主进程标识之间的对应关系中获取对应的主进程标识。
    其中,当登录进程和主进程启动时,操作系统会创建该登录进程和主进程,并且操作系统会向该登录进程和主进程分别分配一个标识,即登录进程标识和主进程标识。登录进程标识可以唯一标识该登录进程,且登录进程标识可以为登录进程的名称;主进程标识也可以唯一标识该主进程,且主进程标识可以为该主进程的名称。
    其中,根据该主进程标识,确定该主进程对应的预取信息的存储路径的具体操作可以为:根据该主进程标识,获取该主进程对应的执行文件的内容数据。 根据该主进程标识和该主进程对应的执行文件的内容数据,确定该主进程对应的预取信息所在文件的文件名称,根据该文件名称确定该主进程对应的预取信息的存储路径。例如,该存储路径可以为应用安装目录\*.pref。
    其中,预取信息存储在终端包括的文件中,可以根据该文件名称查找到该预取信息的存储路径。
    其中,在本发明实施例中,触发获取该应用的主进程对应的预取信息的条件不仅可以为监控该应用的登录进程的启动,还可以是当检测到窗口显示时,触发获取该应用的主进程对应的预取信息,当然,还可以是其他的方式,在本发明实施例中对此不做具体限定。
    进一步地,在本发明实施例中,预取信息可以是该终端对该应用的主进程的历史启动过程进行监控得到,也可以是运营人员对应的终端事先启动该主进程,并对该主进程的启动过程进行监控,得到IO训练数据,并将该IO训练数据下发给该用户对应的终端,使该用户对应的终端生成预取信息。
    当该预取信息为该终端对该应用的主进程的历史启动过程进行监控得到时,生成预取信息的具体过程为:对该应用的主进程的历史启动过程进行监控,得到该应用的启动数据;根据该启动数据,获取该主进程在启动过程中从磁盘中读取的数据的偏移值和长度值;根据该启动数据所在文件的文件路径、偏移值和长度值,生成预取信息。
    其中,根据该启动数据,获取该主进程在启动过程中从磁盘中读取的数据的偏移值和长度值的具体操作可以为:从该启动数据中获取硬缺页事件,对该硬缺页事件进行分析,得到启动IO数据,该启动IO数据包括该主进程在启动过程中从磁盘中读取的数据的偏移值和长度值。
    当该预取信息为运营人员对应的终端事先启动该主进程,并对该主进程的启动过程进行监控,得到IO训练数据,并将该IO训练数据下发给该用户对应的终端,使该用户对应的终端生成预取信息时,该终端生成预取信息的具体操作可以为:接收IO训练数据,该IO训练数据包括该主进程对应的文件数据和该文件数据所在文件的相对文件路径。从该IO训练数据中获取该文件数据所在文件的相对文件路径,根据该主进程在该用户对应的终端中的安装路径,将该主进程对应的文件数据所在文件的相对文件路径转换为对应的绝对文件路径。并将该IO训练数据中的文件数据转换为对应的偏移值和长度值;根据该绝对文 件路径、偏移值和长度值,生成预取信息。
    例如,相对文件路径可以为该文件在该应用的安装文件下的哪个文件中,绝对文件路径可以为该文件在该终端中的哪个磁盘中的哪个文件下。
    其中,终端生成预取信息之后,存储该预取信息,即该预取信息对应一个存储路径。
    如图3所示,运营人员对应的终端事先启动该主进程,并对该主进程的启动过程进行监控,得到IO训练数据的具体操作可以为:运营人员可以事先启动该主进程,当该主进程启动后,该主进程可以向文件系统发送IO请求,此时IO捕获器对该主进程进行监控,获取到该IO请求,并将该IO请求发送给IO数据训练组件。该IO数据训练组件根据该IO请求,获取该主进程在启动过程中从磁盘中读取的数据,将读取的数据确定为该应用的启动数据。从该启动数据中获取硬缺页事件,对该硬缺页事件进行分析,得到启动IO数据,该启动IO数据包括该主进程在启动过程中从磁盘中读取的数据的偏移值和长度值。将该启动IO数据转换为文件数据,即将该偏移值和长度值转换为对应的文件位置。根据该应用的主进程的安装路径和该文件数据所在文件的文件路径,从该文件数据中选择该应用的主进程对应的文件数据。将该主进程对应的文件数据所在文件的绝对文件路径转换为相对文件路径。合并相邻的文件数据,根据合并后的文件数据和该主进程对应的文件数据所在文件的相对文件路径,生成IO训练数据。
    其中,该启动IO数据对应的文件位置可以为该启动IO数据在该文件中所占的比特位置。例如,该启动IO数据包括三个数据块,第一个数据块对应的文件位置为该文件中的第1-15比特,第二个数据块对应的文件位置为该文件中的第15-25比特,第三个数据块对应的文件位置为该文件中的第30-45比特。其中,合并相邻的文件数据时,由于第一个数据块的比特位置与第二数据块的比特位置相接,所以第一个数据块与第二个数据块相邻,可以将第一个数据块和第二个数据块合并为一个数据块,即合并后的数据块对应的文件位置为该文件中的第1-25比特。
    其中,根据该应用的主进程的安装路径和该文件数据所在文件的文件路径,从该文件数据中选择该应用的主进程对应的文件数据的具体操作可以为:将该应用的主进程的安装路径和该文件数据所在文件的文件路径进行比较,如果该 文件数据所在文件的文件路径位于该应用的主进程的安装路径下,则将该文件数据确定为该应用的主进程对应的文件数据。如果该文件数据所在的文件路径不在该应用的主进程的安装路径下,则确定该文件数据不为该应用的主进程对应的文件数据。
    进一步地,当该应用更新时,可以重新根据上述步骤生成IO训练数据,并根据新生成的IO训练数据,判断预取效果是否达到预设的效果,如果达到,则可以将该IO训练数据进行发布,使用户根据该IO训练数据更新预取信息。
    其中,判断预取效果是否达到预设的效果的具体操作可以为:根据该IO训练数据,获取对应的预取数据,并根据获取的预取数据完成该主进程的启动过程。判断该主进程的启动过程花费的时间是否小于或等于预设阈值,如果是,则确定该预取效果达到预设的效果;否则,确定该预取效果未达到预设的效果。
    步骤202:根据该主进程的预取信息,从磁盘文件中读取对应的数据。
    具体地,对该主进程的预取信息进行解析,得到解析后的预取信息;将解析后的预取信息组成特定数据结构的数据信息,该数据信息包括该应用的主进程所需数据的文件路径、偏移值和长度值;根据该文件路径、偏移值和长度值,从磁盘文件中读取对应的数据。
    其中,根据该主进程的预取信息,从磁盘文件中读取对应数据的??榭梢晕诤嗽と」δ苣??,特定数据结构的数据信息为该内核预取功能??榭梢允侗鸬氖菪畔?。该内核预取功能??榭梢愿莶僮飨低程峁┑慕涌?,实现数据的预取。
    其中,根据该文件路径、偏移值和长度值,从磁盘文件中读取对应的数据的具体操作可以为:根据该文件路径和偏移值,确定要读取的数据在磁盘中的起始位置。从该起始位置处,读取长度为该长度值的数据。
    其中,该文件路径即为上述所说的绝对文件路径。
    例如,预取信息包括的偏移值和长度值之间的对应关系可以如下表1所示,
    表1
    偏移值长度值0515103010
    其中,根据该预取信息中的文件路径和偏移值0,可以确定要读取的数据在磁盘中的起始位置为位置1,从该位置1开始,读取长度为5的数据。根据该文件路径和偏移值15,可以确定要读取的数据在磁盘中的起始位置为位置2,从该位置2开始,读取长度为10的数据。根据该文件路径和偏移值30,可以确定要读取的数据在磁盘中的起始位置为位置3,从该位置3开始,读取长度为10的数据。
    步骤203:将读取的数据确定为该应用的主进程对应的预取数据,并将该预取数据加载到缓存中。
    其中,可以将该预取数据加载到该缓存中的空闲位置处。
    其中,该预取数据为该应用的主进程启动时所需的数据,因此,在该主进程启动之前,可以将该预取数据加载到缓存中。当该主进程启动时,该主进程可以直接从缓存中读取所需的数据。
    步骤204:当监控到该登录进程启动完成或监控到该应用的主进程启动时,停止获取该应用的主进程对应的预取数据。
    其中,当登录进程启动完成时,该登录进程会拉起该应用的主进程。所以当监控到该登录进程启动完成或监控到该应用的主进程启动时,停止获取该应用的主进程对应的预取数据。
    由于该登录进程是与网络侧进行信息交互,预取数据是与该终端的操作系统进行IO请求交互,而该应用的主进程也是与该终端的操作系统进行IO请求交互,所以,为了避免预取数据的IO请求与该应用的主进程的IO请求之间产生冲突,当启动该应用的主进程时,停止获取该应用的主进程对应的预取数据。
    进一步地,停止获取该应用的主进程对应的预取数据的触发条件也可以是检测到窗口显示时触发,即检测到登录进程的启动完成时的窗口时停止获取该应用的主进程对应的预取数据,也可以是检测到主进程启动时的窗口时停止获取该应用的主进程对应的预取数据,本发明实施例对此不做具体限定。
    步骤205:根据缓存中加载的预取数据,完成该主进程的启动过程。
    由于进程从缓存中读取数据的速度大于从磁盘中读取数据的速度,所以该主进程从该缓存中加载的预取数据中读取所需的数据,可以增加该主进程读取数据的速度,进而加速了该应用的启动。
    由于预取数据的时间与该登录进程启动过程的时间相等,当预取信息对应 的总数据大小大于该终端在该登录进程启动过程对应的时间段预取数据的大小时,该终端在该时间段内没有预取到该预取信息对应的所有数据,所以,在该主进程启动过程中,如果该缓存中没有该主进程启动过程所需的数据时,该主进程还可以从磁盘中读取所需的数据。
    步骤206:在该应用的主进程启动过程中,根据预取信息对应的总数据大小和该主进程已加载数据大小,计算该主进程的启动进度。
    具体地,在该应用的主进程启动过程中,将该主进程已加载数据大小除以预取信息对应的总数据大小,得到该主进程的启动进度。
    其中,该预取信息根据该主进程在整个启动过程中读取的数据得到。
    步骤207:根据该主进程的启动已耗时间、该主进程已加载数据大小、预取数据大小和该启动进度,计算该主进程已加速时间。
    具体地,根据该主进程的启动已耗时间、该主进程已加载数据大小、预取数据大小和该启动进度,按照如下公式(1)计算该主进程已加速时间。
    T=tz1×z2×s---(1)]]>
    其中,在上述公式(1)中,T为该主进程已加速时间,t为该主进程的启动已耗时间,z1为该主进程已加载数据大小,z2为该主进程预取数据大小,s为该启动进度。
    其中,在本发明是实施例中,预取数据大小小于或等于预取信息对应的总数据大小。
    步骤208:将该主进程的启动进度和已加速时间进行显示。
    其中,可以将该主进程的启动进度和已加速时间显示在该应用的显示界面中。显示该主进程的启动进度和已加速时间的形式多种多样,本发明实施例对显示该主进行的启动进度和已加速时间的形式不做具体限定。例如,如图4所示的应用显示界面,该应用显示界面中可以显示该应用的图标,以及该主进程的加载提示信息,并在该显示界面的右下角显示该主进程的启动进度和已加速时间。在右下角图标的外圆圈可以指示该主进程的启动进度,通过右下角图标下方的文字指示该主进程的已加速时间,例如,该已加速时间为24秒时,可以在图4所示的应用显示界面中进行显示。
    在本发明实施例中,该应用具有固定的模式,即先启动该应用的登录进程,当该登录进程登录完成时,该登录进程拉起该应用的主进程,所以,在该登录 进程刚开始启动时,根据该主进程的预取信息,获取该主进程的预取数据,并将该预取数据加载到缓存中。为了避免IO请求之间产生冲突,在该登录进程登录完成时或主进程启动时,停止获取该预取数据。此时,该应用的主进程从该缓存中加载所需的数据,由于进程从缓存中读取数据的速度大于从磁盘中读取数据的速度,所以加速了该应用的启动。并且,该主进程的预取数据是根据对该应用的主进程的历史启动过程得到的,所以该预取数据是该主进程的完整启动过程中读取的数据。此外,预取数据的过程是和登录进程同时进行的,当该登录进程登录完成时或启动主进程时,停止该预取数据的过程,并没有耽误主进程的启动过程,进而不会延长该主进程的启动过程。
    图5是本发明实施例提供一种加速启动的装置结构示意图,参见图5,该装置包括:
    第一获取???01,用于当监控到应用的登录进程启动时,获取该应用的主进程对应的预取数据,并将该预取数据加载到缓存中,该预取数据根据对该应用的主进程的历史启动过程得到;
    停止???02,用于当监控到该登录进程启动完成或监控到该应用的主进程启动时,停止获取该应用的主进程对应的预取数据;
    启动???03,用于根据该缓存中加载的预取数据,完成该主进程的启动过程。
    可选地,第一获取???01包括:
    获取单元,用于根据该登录进程标识,获取该应用的主进程对应的预取信息;
    读取单元,用于根据该预取信息,从磁盘文件中读取对应的数据;
    加载单元,用于将读取的数据确定为该应用的主进程对应的预取数据,并将该预取数据加载到缓存中。
    其中,获取单元包括:
    第一获取子单元,用于根据该登录进程标识,获取该应用的主进程标识;
    确定子单元,用于根据该主进程标识,确定该主进程对应的预取信息的存储路径;
    第二获取子单元,用于根据该主进程对应的预取信息的存储路径,获取该 主进程对应的预取信息。
    其中,读取单元包括:
    解析子单元,用于对该预取信息进行解析,得到解析后的预取信息;
    组成子单元,用于将该解析后的预取信息组成特定数据结构的数据信息,该数据信息包括该应用程序的主进程所需数据的文件路径、偏移值和长度值;
    读取子单元,用于根据该文件路径、偏移值和长度值,从磁盘文件中读取对应的数据。
    进一步地,该装置还包括:
    第一计算???,用于在该应用的主进程启动过程中,根据该预取信息对应的总数据大小和该主进程已加载数据大小,计算该主进程的启动进度;
    第二计算???,用于根据该主进程的启动已耗时间、该主进程已加载数据大小、预取数据大小和该启动进度,计算该主进程已加速时间;
    显示???,用于将该主进程的启动进度和已加速时间进行显示。
    可选地,该装置还包括:
    监控???,用于对该应用的主进程的历史启动过程进行监控,得到该应用的启动数据;
    第二获取???,用于根据该启动数据,获取该主进程在启动过程中从磁盘中读取的数据的偏移值和长度值;
    第一生成???,用于根据该启动数据所在文件的文件路径、偏移值和长度值,生成预取信息。
    可选地,该装置还包括:
    接收???,用于接收输入输出IO训练数据,该IO训练数据包括文件数据和该主进程对应的文件数据所在文件的相对文件路径;
    第一转换???,用于根据该主进程在终端中的安装路径,将该主进程对应的文件数据所在文件的相对文件路径转换为对应的绝对文件路径;
    第二转换???,用于将该文件数据转换为对应的偏移值和长度值;
    第二生成???,用于根据该绝对文件路径、偏移值和长度值,生成预取信息。
    在本发明实施例中,该应用具有固定的模式,即先启动该应用的登录进程,当该登录进程登录完成时,该登录进程拉起该应用的主进程,所以,在该登录 进程刚开始启动时,获取该主进程的预取数据,并将该预取数据加载到缓存中。为了避免IO请求之间产生冲突,在该登录进程登录完成时或主进程启动时,停止获取该预取数据。此时,该应用的主进程从该缓存中加载所需的数据,由于进程从缓存中读取数据的速度大于从磁盘中读取数据的速度,所以加速了该应用的启动。并且,该主进程的预取数据是根据对该应用的主进程的历史启动过程得到的,所以该预取数据是该主进程的完整启动过程中读取的数据。此外,预取数据的过程是和登录进程同时进行的,当该登录进程登录完成时或启动主进程时,停止该预取数据的过程,并没有耽误主进程的启动过程,进而不会延长该主进程的启动过程。
    需要说明的是:上述实施例提供的加速启动的装置在加速启动时,仅以上述各功能??榈幕纸芯倮得?,实际应用中,可以根据需要而将上述功能分配由不同的功能??橥瓿?,即将装置的内部结构划分成不同的功能???,以完成以上描述的全部或者部分功能。另外,上述实施例提供的加速启动的装置与加速启动的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
    上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
    本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的?;し段е??!  ∧谌堇醋宰ɡ鴚ww.www.4mum.com.cn转载请标明出处

    关于本文
    本文标题:加速启动的方法及装置.pdf
    链接地址://www.4mum.com.cn/p-6111643.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 浪潮孙丕恕从信息时代到智能时代 人工智能价值将爆发式释放 2019-12-21
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 中哈尔滨麻将 五子棋游戏双人 fg美人捕鱼怎么赢 辽宁快乐12网站 青海11选5全天开奖号码 五子棋怎么玩完 7m篮球比分规则 东北麻将规则 海南彩票论坛 吉林十一选五走势图表 博彩玩具 沙巴体育比分网 大庆微乐龙江麻将下载 天天贵阳麻将房卡代理id 体彩福建31选718199期 浙江11选5任五遗漏