麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于Android移動終端冷啟動的方法和裝置的制作方法

文檔序號:6607522閱讀:318來源:國知局
專利名稱:一種基于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字節之間?,F有技術中,從打開電源到啟動完畢的過程中,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
主站蜘蛛池模板: 定边县| 丹阳市| 措美县| 科尔| 航空| 奉新县| 拉萨市| 林甸县| 凤台县| 永和县| 车险| 马鞍山市| 璧山县| 夏津县| 固镇县| 图木舒克市| 涞水县| 巨野县| 青海省| 德安县| 裕民县| 浮梁县| 沅江市| 麻栗坡县| 中超| 阳山县| 铜川市| 民丰县| 平定县| 阳新县| 洪江市| 丰都县| 青川县| 西宁市| 沙坪坝区| 漾濞| 沿河| 公主岭市| 凌海市| 南江县| 观塘区|