一种基于Android移动终端冷启动的方法和装置的制作方法

文档序号:6607522阅读:249来源:国知局
专利名称:一种基于Android移动终端冷启动的方法和装置的制作方法
技术领域
本发明涉及Android移动终端的启动技术,特别是一种基于Android移动终端冷 启动的方法和装置。
背景技术
随着ARM中央处理器、同步动态随机存储器(SDRAM,SynchronousDynamic Random Access Memory)/双倍速率同步动态随机存储器(DDR, DoubleData Rate)内存 芯片和NAND/SD卡非易失存储芯片的快速发展,手机、掌上电脑(PDA,Personal Digital Assistant)、导航仪、上网本等便携式移动终端的运行速度和存储容量得到了飞速的发展; 尤其在手机技术领域,已经从传统的支持短信功能的普通手机扩展为具有上网、游戏、多媒 体播放、导航、移动电视、蓝牙等多功能的智能手机。为应对越来越复杂的手机应用,google公司提供了一种新的手机操作系统平 台=Android,其核心为一个修改版的Linux内核,以及一个新开发的JAVA虚拟机;Linux 内核可以运行服务程序,JAVA虚拟机可以运行数量众多的apk应用程序,由此,一个成品 Android手机所携带的应用程序及服务程序的总和在IOOM字节到200M字节之间。现有技术中,从打开电源到启动完毕的过程中,Android手机的启动时间往往需要 大约1分钟的时间,该过程主要包括系统初始化、驱动加载和初始化、服务程序和应用程序 的加载和运行,其中,服务程序和应用程序的加载运行占用了大部分的启动时间,极大地影 响了 Android手机的开机速度。

发明内容
有鉴于此,本发明的主要目的在于提供一种基于Android移动终端冷启动的方法 和装置,以减少服务程序和应用程序的加载运行所耗费的时间,从而缩短Android移动终 端从开机到可操作状态所花费的时间。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种基于Android移动终端冷启动的方法,该方法包括在快速冷启动模式下,当关闭移动终端的电源后,移动终端在待机状态下将需要 保存的数据备份到非易失存储设备中,然后将移动终端断电;当重新启动移动终端后,将备份在非易失存储设备中的数据恢复到相应的物理内存。上述方案中,所述关闭移动终端的电源之前,该方法还包括设置或触发移动终端 的快速冷启动模式,生成相应的快速冷启动状态变量并保存。上述方案中,所述移动终端在待机状态下将需要保存的数据备份到非易失存储设 备中,具体包括当移动终端的电源管理模块查询快速冷启动状态变量存在时,将包含物理 内存布局信息的变量的物理地址保存到指定的物理内存,关闭内存管理单元(MMU)并运行 移动终端的引导系统;引导系统查询快速冷启动模式设置后,分析物理内存中每个页面的信息,将程序内存中已使用的页面数据及物理地址备份到非易失存储设备中,并设置成功 备份标志后,将移动终端断电。上述方案中,所述将备份在非易失存储设备中的数据恢复到相应的物理内存,具 体包括引导系统检查快速冷启动模式标志和成功备份标志都处于设置状态后,在相应的 物理内存中恢复上一次待机状态下程序内存中已使用的页面的物理地址、以及Android内 核和根文件系统,并清除快速冷启动模式标志和成功备份标志。上述方案中,所述将备份在非易失存储设备中的数据恢复到相应的物理内存之 后,该方法还包括引导系统唤醒移动终端,使移动终端恢复到待机之前的页面,并进入可 操作状态。本发明还提供了一种基于Android移动终端冷启动的装置,该装置包括待机保 存模块及数据恢复模块;其中,待机保存模块,用于在快速冷启动模式下,当关闭移动终端的电源后,使移动终端 在待机状态下将需要保存的数据备份到非易失存储设备中,然后将移动终端断电;数据恢复模块,用于当重新启动移动终端后,将备份在非易失存储设备中的数据 恢复到相应的物理内存。上述方案中,该装置还包括状态变量生成模块,用于通过设置或触发移动终端的 快速冷启动模式,生成相应的快速冷启动状态变量并保存。上述方案中,所述待机保存模块将需要保存的数据备份到非易失存储设备中,具 体包括当移动终端的电源管理模块查询快速冷启动状态变量存在时,将包含物理内存布 局信息的变量的物理地址保存到指定的物理内存,关闭MMU并运行移动终端的引导系统;引 导系统查询快速冷启动模式设置后,分析物理内存中每个页面的信息,将程序内存中已使用 的页面数据及物理地址备份到非易失存储设备中,并设置成功备份标志后,将移动终端断电。上述方案中,所述数据恢复模块将备份在非易失存储设备中的数据恢复到相应的 物理内存,具体包括引导系统检查快速冷启动模式标志和成功备份标志都处于设置状态 后,在相应的物理内存中恢复上一次待机状态下程序内存中已使用的页面的物理地址、以 及Android内核和根文件系统,并清除快速冷启动模式标志和成功备份标志。上述方案中,该装置还包括唤醒模块,用于唤醒移动终端,使移动终端恢复到待 机之前的页面,并进入可操作状态。本发明所提供的一种基于Android移动终端冷启动的方法和装置,在快速冷启动 模式下,当关闭移动终端的电源后,移动终端在待机状态下将需要保存的数据备份到非易 失存储设备中,然后将移动终端断电;当重新启动移动终端后,将备份在非易失存储设备中 的数据恢复到相应的物理内存。采用本发明所述的方法和装置,其优点在于通过对已使用页面进行备份,可以提 高数据备份和恢复的效率,大大缩短移动终端冷启动的时间;另外,在快速冷启动模式下, 将程序内存的数据保存到非易失存储设备中,保证了程序内存的数据在移动终端断电后不 易丢失,可使移动终端重新启动时将数据快速恢复到待机之前的状态。


图1为本发明实施例中基于Android移动终端冷启动的方法流程4
图2为本发明实施例中COntig_page_data结构体及成员变量的数据结构图;图3为本发明实施例中基于Android移动终端冷启动的装置结构示意图。
具体实施例方式本发明的基本思想是在快速冷启动模式下,关闭移动终端的电源后,移动终端在 待机状态下将需要保存的数据备份到非易失存储设备中,然后将移动终端断电;当重新启 动移动终端后,将备份在非易失存储设备中的数据恢复到相应的物理内存。本发明提供的基于Android移动终端冷启动的方法,如图1所示,包括以下步骤步骤101 设置快速冷启动模式,生成相应的快速冷启动状态变量并保存;本步骤中,在设置(setting)菜单中添加快速冷启动模式,用户在设置菜单中设 置快速冷启动模式后,会在移动终端的引导系统和电源管理模块能够访问的公共区域,如 CPU寄存器、物理内存、或非易失存储设备中生成相应的状态变量并保存;本实施例中,设 置快速冷启动模式后,将会在非易失存储设备中的system文件系统中生成一个包含所述 状态变量的fast_coIdboot文件并保存。步骤102 关闭移动终端的电源后,移动终端进入待机状态,保存物理内存的布局 fn息;本步骤中,用户按下移动终端电源按钮、准备关闭电源后,通过调用电源管理模块 接口使移动终端进入待机状态,该状态下应用程序被冻结,然后各个驱动程序开始进入睡 眠模式,所以这个状态下可以保证应用程序和驱动程序及其线程在物理内存中都处于静止 状态,所有的现场数据、服务程序和应用程序、以及驱动程序都保存在物理内存中,在这个 状态下大部分外设进入断电状态以节约电力,仅有物理内存保持供电以维持数据。待机状态下,电源管理模块查询system文件系统中是否有表示快速冷启动状态 变量的fast_coldboot文件,如果查询到所述fast_coldboot文件,则将Android内核全局 变量contig_page_data的物理地址保存到指定的物理内存,如=Reserved内存中的一个空 闲地址;电源管理模块关闭内存管理单元(MMU,MemoryManagement Unit)跳转到引导系统 入口地址,运行引导系统;其中,全局变量COntig_page_data中包含物理内存的布局信息, 以便于引导系统获取物理内存中每个页面的使用情况;如果电源管理模块没有查询到所述 fast_coldboot文件,则执行正常的关机流程。如图2所示,全局变量contig_page_data为一结构体变量,pcontig_page_data表 示指向该结构体变量的指针,pcontig_page_data所指向的指针变量bdata包括三个重要 数据,分别是· node_bootmem_map//页面使用情况映射表· node_min_pfn//程序内存起始页面号· node_low_pfn//程序内存终止页面号在图2中,通过node_min_pfn和node_low_pfn可以得知遍历的页面范围,每一 个页面大小为4K bytes,用页面号乘以4K就是页面所对应的物理地址,所以这里还可以计 算出遍历的物理内存范围;n0de_b00tmem_map指针指向页面使用情况映射表,该映射表中 每个bit代表一个页面的使用情况,如bit = 1表示页面已使用,bit = 0表示页面未使 用,一个字节可以记录8个页面的使用情况,所以该映射表的大小mapsize = (node_low_node_min_pfn) /8 字节。步骤103 引导系统将需要保存的页面备份到非易失存储设备中,并将移动终端 断电;本步骤中,引导系统查询到快速冷启动模式设置后,分析物理内存中每个页面的 信息以确定需要保存的页面;其中,物理内存中保存了很多类型的数据,包括引导系统、 Android内核、根文件系统、预留(Reserved)内存以及程序内存(Program RAM)等,其中,移 动终端设计时已将引导系统、Android内核、根文件系统等数据保存在非易失存储设备中, 因此这部分数据是不需要进行备份的;预留内存可以根据具体情况选择性备份;程序内存 占据了整个物理内存的绝大部分,由空闲页面和已使用页面构成,其中,已使用页面保存了 移动终端在待机状态下的应用程序和服务程序、驱动程序,以及Android唤醒时所需的现 场数据,所以引导系统只需将上述程序内存中已使用的页面进行备份。引导系统通过分析物理内存中每个页面的信息后,跳过空闲页面,将已使用的页 面数据及物理地址备份到非易失存储设备中,可以减少备份的工作量,为移动终端的冷启 动节约了恢复上述数据的时间。本实施例中,引导系统将已使用的页面数据及物理地址备份到非易失存储设备中 的具体过程如下引导系统查找Reserved内存中保存结构体变量c0ntig_page_data的物 理地址,并根据页面使用情况映射表和起止页面号可以得知需要备份的页面的物理地址。backupstruct结构体用于管理页面和物理地址,其定义如下typedef struct_backupstruct{u3 2 signature ;//签名用于判断该结构体是否有效u3 2 startpfn ;//保存程序内存起始页面物理地址u3 2 endpfn ;//保存程序内存终止页面物理地址u3 2 free ;//空闲页面数量u3 2 notfree ;//非空闲(已使用)页面数量u3 2 usedarray[MAXPAGENUM] ;//顺序保存非空闲页面的物理地址}backupstruct, ^pbackupstruct ;在backupstruct结构体中,引导系统将需要备份页面的物理地址按照顺序写 入usedarray数组中,并根据页面使用情况映射表和起止页面的物理地址给signature、 startpfn、endpfn、notfree、free等成员遍历赋值,并将该backupstruct结构体保存到非 易失存储设备的指定区域中,以便移动终端重新上电时能得到必要数据,最后将每个需要 备份的页面的数据以4K为单位连续写入非易失存储设备的指定区域中,并设置成功备份 标志后通过控制通用输入输出(GPI0,General Purpose Input Output)断开系统电源。此 时,移动终端处于关机状态,不消耗电池电量。步骤104 移动终端重新启动后,将备份在非易失存储设备中的数据恢复到相应 的物理内存;本步骤中,用户再次按下电源按钮,重新启动移动终端;移动终端上电后引导系统 首先启动,检查快速冷启动模式标志和成功备份标志都处于设置状态后,引导系统从非易 失存储设备中读取保存的数据,包括程序内存中已使用的页面的物理地址、以及Android 内核和根文件系统等数据;然后,在相应的物理内存中恢复上一次待机状态下程序内存中
6已使用的页面的物理地址、Android内核和根文件系统等数据,并清除快速冷启动模式标志 和成功备份标志。本实施例中,引导系统将保存的数据从非易失存储设备中恢复到物理内存的具体 过程为读取保存在非易失存储设备指定区域中的backupstruct结构体,并在物理内存中 首先恢复backupstruct结构体,判断成员变量signature是否有效,并假设signature值 为非零时,该成员变量有效;当signature有效时,则从startpfn、endpfn、notfree、free、 usedarray等成员变量中获得需要恢复页面的物理地址和数量,将usedarray数组中保存 的页面的物理地址按顺序以4K为单位恢复到相应的物理内存。上述过程在恢复128M数 据时,根据非易失存储设备读取速度的不同,一般需要10 15秒左右时间;程序内存恢复 后,再通过现有的引导系统正常启动流程将Android内核和根文件系统等数据从非易失存 储设备中搬运或解压到物理内存的指定区域中,在此不做详细描述。步骤105 引导系统唤醒Android系统,使移动终端恢复到待机之前的状态,并进 入可操作状态。本步骤中,数据完全恢复到物理内存后,引导系统打开MMU页表,恢复Android虚 拟内存映射,跳转到待机时Android的PC指针地址,唤醒Android系统并恢复驱动程序,使 移动终端恢复到待机之前的状态,并最终点亮屏幕进入可操作状态,至此快速启动过程完 成。此过程与现有技术的待机/唤醒过程完全相同,在此不做详细描述。由于目前Android终端上的大部分驱动程序都默认支持唤醒后重新初始化硬件 的功能,使各个硬件模块恢复到待机之前的状态,但也存在某些驱动模块不具备此功能,比 如手机的无线模块在待机时是保持供电和工作的,所以其驱动程序不会在唤醒流程中做额 外的初始化操作,所以在使用本方法启动后无线模块无法继续工作,对于这类模块,可以参 考具有唤醒初始化流程的驱动程序对其加以改进,以保证本方法的可实现性,在此不做赘 述。采用本发明所述的方法,在700M主频,256Mbytes RAM,512M NAND卡的平台上,在 NAND卡的读取速度为lOMbytes/s的情况下,恢复128M内存数据大约需要10 15秒左右 的时间,引导系统搬运或解压缩大约5M Android内核及根文件系统等数据大概需要1秒时 间,唤醒Android系统和驱动恢复大约需要3秒时间,所以理论上本发明所述的快速冷启动 时间可以在17 22秒左右完成;而普通的冷启动过程中,正常启动需要40秒左右时间,如 果加上用户操作进入应用程序界面的20秒左右时间,总共需要大约1分钟时间,由此可见, 本发明能够大大节约移动终端冷启动的时间。另外,移动终端在待机状态下将需要保存的数据备份到非易失存储设备后断电, 不仅能够使移动终端重新上电后恢复到待机前的状态,而且还能节约电池电量;例如在 用户需要关机又不希望中断现有应用程序时,可以通过设置快速冷启动功能后将移动终端 关机,在重新启动移动终端后,即可快速恢复到关机前的应用程序操作界面,节约了用户的 等待时间和操作程序,极大地方便了用户的使用。此外,本发明采用的非易失存储设备,可以是NAND卡、SD卡或微型硬盘等来备份 需要保存的页面;另外,在步骤101中,本发明不仅局限于用户通过设置菜单设置快速冷启 动模式,还可以通过移动终端在满足设定条件时自动触发快速冷启动模式以生成快速冷启 动状态变量,例如,当移动终端的电源电量减弱时,可以自动触发快速冷启动模式,生成快速冷启动状态变量并保存,并通过后续步骤进行页面备份,以保护移动终端的当前状态,避 免因电量不足给用户造成的损失。为实现上述方法,本发明还提供了一种基于Android移动终端冷启动的装置,如 图3所示,该装置包括待机保存模块及数据恢复模块;其中,待机保存模块,用于当关闭移动终端的电源后,使移动终端进入待机状态,并将需 要保存的数据备份到非易失存储设备中;数据恢复模块,用于当重新启动移动终端后,将备份在非易失存储设备中的数据 恢复到相应的物理内存。所述装置还包括状态变量生成模块,用于通过设置或触发移动终端的快速冷启动 模式,生成相应的快速冷启动状态变量并保存。所述待机保存模块将需要保存的数据备份到非易失存储设备中,具体包括当移 动终端的电源管理模块查询快速冷启动状态变量存在时,将包含物理内存的布局信息的变 量的物理地址保存到指定的物理内存,关闭MMU并运行移动终端的引导系统;引导系统查 询快速冷启动模式设置后,分析物理内存中每个页面的信息,将程序内存中已使用的页面 数据及物理地址备份到非易失存储设备中,并设置成功备份标志后,将移动终端断电。所述数据恢复模块将备份在非易失存储设备中的数据恢复到相应的物理内存,具 体包括引导系统检查快速冷启动模式标志和成功备份标志都处于设置状态后,在相应的 物理内存中恢复上一次待机状态下程序内存中已使用的页面的物理地址、以及Android内 核和根文件系统等数据,并清除快速冷启动模式标志和成功备份标志。所述该装置还包括唤醒模块,用于唤醒移动终端,使移动终端恢复到待机之前的 页面,并进入可操作状态。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护 范围之内。
权利要求
一种基于Android移动终端冷启动的方法,其特征在于,该方法包括在快速冷启动模式下,当关闭移动终端的电源后,移动终端在待机状态下将需要保存的数据备份到非易失存储设备中,然后将移动终端断电;当重新启动移动终端后,将备份在非易失存储设备中的数据恢复到相应的物理内存。
2.根据权利要求1所述的方法,其特征在于,所述关闭移动终端的电源之前,该方法还 包括设置或触发移动终端的快速冷启动模式,生成相应的快速冷启动状态变量并保存。
3.根据权利要求2所述的方法,其特征在于,所述移动终端在待机状态下将需要保存 的数据备份到非易失存储设备中,具体包括当移动终端的电源管理模块查询快速冷启动 状态变量存在时,将包含物理内存布局信息的变量的物理地址保存到指定的物理内存,关 闭内存管理单元(MMU)并运行移动终端的引导系统;引导系统查询快速冷启动模式设置 后,分析物理内存中每个页面的信息,将程序内存中已使用的页面数据及物理地址备份到 非易失存储设备中,并设置成功备份标志后,将移动终端断电。
4.根据权利要求3所述的方法,其特征在于,所述将备份在非易失存储设备中的数据 恢复到相应的物理内存,具体包括引导系统检查快速冷启动模式标志和成功备份标志都 处于设置状态后,在相应的物理内存中恢复上一次待机状态下程序内存中已使用的页面的 物理地址、以及Android内核和根文件系统,并清除快速冷启动模式标志和成功备份标志。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述将备份在非易失存储设备 中的数据恢复到相应的物理内存之后,该方法还包括引导系统唤醒移动终端,使移动终端 恢复到待机之前的页面,并进入可操作状态。
6.一种基于Android移动终端冷启动的装置,其特征在于,该装置包括待机保存模块 及数据恢复模块;其中,待机保存模块,用于在快速冷启动模式下,当关闭移动终端的电源后,使移动终端在待 机状态下将需要保存的数据备份到非易失存储设备中,然后将移动终端断电;数据恢复模块,用于当重新启动移动终端后,将备份在非易失存储设备中的数据恢复 到相应的物理内存。
7.根据权利要求6所述的装置,其特征在于,该装置还包括状态变量生成模块,用于通 过设置或触发移动终端的快速冷启动模式,生成相应的快速冷启动状态变量并保存。
8.根据权利要求7所述的装置,其特征在于,所述待机保存模块将需要保存的数据备 份到非易失存储设备中,具体包括当移动终端的电源管理模块查询快速冷启动状态变量 存在时,将包含物理内存布局信息的变量的物理地址保存到指定的物理内存,关闭MMU并 运行移动终端的引导系统;引导系统查询快速冷启动模式设置后,分析物理内存中每个页 面的信息,将程序内存中已使用的页面数据及物理地址备份到非易失存储设备中,并设置 成功备份标志后,将移动终端断电。
9.根据权利要求8所述的装置,其特征在于,所述数据恢复模块将备份在非易失存储设备 中的数据恢复到相应的物理内存,具体包括引导系统检查快速冷启动模式标志和成功备份标 志都处于设置状态后,在相应的物理内存中恢复上一次待机状态下程序内存中已使用的页面 的物理地址、以及Android内核和根文件系统,并清除快速冷启动模式标志和成功备份标志。
10.根据权利要求6至9任一项所述的装置,其特征在于,该装置还包括唤醒模块,用 于唤醒移动终端,使移动终端恢复到待机之前的页面,并进入可操作状态。
全文摘要
本发明公开了一种基于Android移动终端冷启动的方法和装置,在快速冷启动模式下,当关闭移动终端的电源后,移动终端在待机状态下将需要保存的数据备份到非易失存储设备中,然后将移动终端断电;当重新启动移动终端后,将备份在非易失存储设备中的数据恢复到相应的物理内存。采用本发明所述的方法和装置,能够大大缩短移动终端冷启动的时间,并且可使移动终端重新启动时将数据快速恢复到待机之前的状态。
文档编号G06F9/445GK101916201SQ20101025043
公开日2010年12月15日 申请日期2010年8月6日 优先权日2010年8月6日
发明者曾慧鹏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1