亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android手機的Sqlite數據恢復技術綜述

        2019-12-02 08:56:52王春蘭康鵬程
        科技創(chuàng)新與應用 2019年32期
        關鍵詞:數據恢復數據存儲日志

        王春蘭 康鵬程

        摘? 要:各種智能設備的信息常用Sqlite數據庫儲存,這些信息可能會因為各種原因“丟失”。介紹了Sqlite數據庫基本情況,總結了傳統(tǒng)的可靠性高的Sqlite數據恢復方法并指出不足之處,然后對兩種新型數據恢復方法——以Sqlite存儲結構為基礎的數據恢復技術和以Sqlite預寫日志為基礎的數據恢復技術進行了闡述。

        關鍵詞:Sqlite數據庫;數據恢復;數據存儲;日志

        中圖分類號:TP309.3文獻標志碼:A 文章編號:2095-2945(2019)32-0160-03

        Abstract: Sqlite databases are commonly used to store information on various smart devices, which may be "lost" for various reasons. This paper introduces the basic situation of Sqlite database, summarizes the traditional high reliability Sqlite data recovery methods and points out the shortcomings. Then is describes two new data recovery methods, data recovery technology based on Sqlite storage structure and data recovery technology based on Sqlite prewrite log.

        Keywords: Sqlite database; data recovery; data storage; log

        1 概述

        Android手機以其開放、適應性強的優(yōu)勢,已經占了市場八成份額[1]。用戶與Android設備二十四小時“親密無

        間”,用戶的大量信息留在手機中。這些數據在偶然或者人為因素下數據可能“丟失”,對大量用戶而言,需要安全高效的數據恢復技術找回數據;在電子取證過程中,嫌疑人持有的智能設備中可能存儲有相關證據,可能被嫌疑人“刪除”,需要恢復數據,打擊犯罪。Android系統(tǒng)廣泛地使用Sqlite數據庫,其特點是輕量、快速、運行流暢[2]。目前有一些安卓手機Sqlite數據庫恢復方法,但面對不同品牌不同設備、甚至不同型時效果不盡如人意,恢復效率也不高。

        2 Sqlite數據庫

        Android使用開源的、與操作系統(tǒng)無關的SQL數據庫——SQLite。Sqlite數據庫為了簡化操作,將Sqlite數據庫集成到設備的操作中,并且封裝用于操作數據庫的API,以便快速操作數據庫[3,4]。因此,不同的用戶數據將會被各自APP管理,數據被創(chuàng)建并保存在各自應用對應的Sqlite數據庫目錄下,這些被記載的信息,其實是安卓手機Sqlite數據恢復的來源。提取和恢復數據庫信息,就是傳統(tǒng)數據恢復技術的核心步驟。

        2.1 Sqlite日志恢復技術

        Sqlite日志恢復措施是基于該庫的日志存放機制[5]。首先確保日志文件沒有缺失,數據才能被恢復。在系統(tǒng)異常崩潰,或者突然斷電時,日志文件會無法正常保存。這種方法以往主要用于計算機取證,在Android設備數據恢復技術中用得比較少,但在安卓手機信息恢復中也是一種可以嘗試的方法。

        2.2 Sqlite自由塊恢復技術

        Sqlite數據庫自由塊恢復措施,首先要發(fā)現索引中提供的各種數據,它們存在于Sqlite的內部頁面;然后掃描并發(fā)現存在的數據頁。接著提取存儲在數據頁面的空閑塊數據信息,最后根據所要恢復的數據特征找到數據并進行Sqlite數據恢復[6]。這種方法有一定的局限,當數據庫文件不夠完整,或者內部頁面索引數據不全時,都無法順利定位和恢復數據。

        可見Sqlite數據庫的兩種傳統(tǒng)恢復措施都存在一些缺點,不足以應對Sqlite數據庫恢復的需求。兩個比較完備的恢復技術應運而生,新型恢復技術根據Sqlite數據庫本身特點,根據存儲結構和預寫日志展開。

        3 新型Sqlite數據庫數據恢復技術

        3.1 以Sqlite存儲結構為基礎的數據恢復技術

        Sqlite數據庫的后端由B-tree、Pager和OS Interface組成。B-tree的職責是負責排序,維護多個數據庫頁之間錯綜復雜的關系,將頁面組織成樹狀結構,頁面就是樹的葉子。Pager負責傳輸,根據B-tree的請求從磁盤讀取頁面或者寫入頁面。

        在Sqlite數據庫操作時,不完全擦除原有數據,安卓手機中刪除的數據庫文件也可以存儲在某些文件中[7]。因此,對于Sqlite存儲的結構復原措施,順序掃描文件可能存在的空間,然后挖掘和獲取數據。首先得到數據分區(qū)的鏡像,接著定位有效的數據頁,然后寫入恢復后的數據庫數據,這一步依賴于數據頁記錄;最后,重復的記錄被丟棄,得到最終的信息。

        安卓設備信息存儲于邏輯分區(qū)的數據區(qū)域,這是公共存儲路徑[8]。得到數據分區(qū)鏡像是數據恢復的前提,可以把該分區(qū)復制到內存卡,或者直接復制到目標地址。每個app都有一個特殊的數據庫目錄,本步驟最終要獲取的是Sqlite數據庫[9]。一旦數據被覆蓋丟失,原來記錄存儲單元單位有3個不同的情形。第一種是記錄在該單元是完整的;第二種是記錄在該單元完整且有多個;第三種是記錄在該單位不完整。能恢復的只有第一種和第二種情況,最后一種沒有有效通過軟件的方法去恢復,可以嘗試物理方法解決。在Sqlite數據庫,數據頁面的大小空間通常為1024B或4096B,設備的最小存儲單元必然大于4096B;對應于文件系統(tǒng),也因為數據頁面使用逐頁存儲機制,在安卓手機中存儲所謂的“丟失的文件”,數據頁信息是不會丟失的,這對信息的恢復很有幫助。

        對于該恢復方法,最重要的三個部分分別是:找到B-tree頁面,發(fā)現記錄位置,然后恢復記錄。例如,在 B-tree頁的定位中,B-tree頁面定位算法的使命是在得到的映像中發(fā)現數據和內部頁面,便以提取頁面中的信息。

        3.2 以Sqlite預寫日志為基礎的數據恢復技術

        SQLite在3.7.0版本引入了WAL(Write-Ahead-Logging),WAL的全稱是Write Ahead Logging,它是很多數據庫中用于實現原子事務的一種機制。采用WAL機制后,對數據庫的修改并不直接寫入到數據庫文件中,而是寫入到另外一個稱為WAL的文件中;如果事務失敗,WAL中的記錄會被忽略,撤銷修改;如果事務成功,它將在隨后的某個時間被寫回到數據庫文件中,提交修改。讀操作時,SQLite將在WAL文件中搜索,找到最后一個寫入點,記住它,并忽略在此之后的寫入點(這保證了讀寫和讀讀可以并行執(zhí)行);隨后,它確定所要讀的數據所在頁是否在WAL文件中,如果在,則讀WAL文件中的數據,如果不在,則直接讀數據庫文件中的數據。寫操作時,SQLite將之寫入到WAL文件中即可,但是必須保證獨占寫入,因此寫寫之間不能并行執(zhí)行。

        這種數據恢復方法同樣需要獲取手機的鏡像。Android手機在執(zhí)行Sqlite數據更新操作時,會提前將相關信息寫入日志文件。在進行數據恢復時,首先掃描鏡像,找到要恢復的數據庫的日志文件,根據日志文件掃描數據庫的數據幀塊,最后將找到的數據塊按照對應順序合理連接,實現數據庫的恢復目的[10]。每一次操作的具體步驟是相似的,原理都是基于Sqlite的存儲結構,開始獲取數據分區(qū)的數據;接著定位有效的且連接在一起的有效幀塊;其次,根據具體情況寫入恢復數據庫中的數據頁記錄;最后,判斷是否已經存在同樣的記錄,如果有重復的記錄則丟棄,掃描完所有的數據塊后得到最終的完整信息。

        該方法中,最重要的有四個步驟:框架信息的定位和連接,記錄信息的提取和恢復。具體步驟如圖1所示。

        對于該數據庫預寫日志的措施,有必要在做好數據恢復前,了解數據的碎片化現象。但是記錄數據在碎片化之后,如果要恢復數據,其恢復過程需要過多的時間。如果直接連接所獲得的數據幀塊,則可以確保記錄數據不會有丟失,并且能夠提高還原后的效果。必須確定隨機數和連接幀塊,才能成功連接數據幀塊。比如:根據幻數掃描映像,然后找到日志文件。然后,搜索幀并提取記錄就要根據隨機數的大小,確定其是否包含于目標數據文件。再依照隨機數來繼續(xù)搜索,拿到所有數據塊;最后一步,逐一單獨計算得到數據塊連接空間的具體值,以值進行幀塊的連接。

        在預寫日志中根據給定目標恢復記錄,然后為下一個數據幀塊獲取和連接工作確定隨機數,就要用到確定隨機數算法。預寫日志的定位又要用到幻數,加以確認,得到臨時隨機數值;接著,根據臨時隨機數的值定位預寫文件日志記錄,并確定所有目標幀塊;最后,提取幀塊中的第一個所需目標記錄,當然,這不會完全正確提取,則需要判斷確定恢復的記錄,然后確定該隨機數。至于數據幀塊拼接算法,它主要通過確定的隨機數,再定位幀塊,最終完成目標幀塊拼接。幀塊由隨機數定位,初始偏移量會根據公式計算,得到的提取幀塊的數據,在下一次記錄恢復可以用到,依次執(zhí)行取得所有目標幀塊。在計算過程中,需要用到隨機數定位的幀塊的偏移大小和BLOCK_SIZE表示文件系統(tǒng)的分配大小。

        4 結論

        與傳統(tǒng)的數據恢復技術相比,新型恢復方法的亮點在于充分利用數據結構和存儲日志,以達到Sqlite數據庫恢復的目標。新型的數據恢復算法對Android手機的Sqlite數據庫數據信息恢復技術具有指導意義,可以大概率成功完成數據丟失后的恢復工作。

        參考文獻:

        [1]畢攀.基于紅黑樹的嵌入式數據庫Sqlite索引機制的優(yōu)化方案的研究[D].太原科技大學,2012.

        [2]李蔚.基于閃存數據庫系統(tǒng)的存儲管理技術研究[D].華中科技大學,2009.

        [3]楊有波.基于μC/OS-Ⅲ操作系統(tǒng)的Sqlite數據庫的移植與分析[D].河北工業(yè)大學,2014.

        [4]劉婕.基于Android系統(tǒng)的移動終端通訊錄的研究與設計[D].西安電子科技大學,2013.

        [5]課家教育.詳細談談Android系統(tǒng)中的Sqlite數據庫的應用[EB/OL].北京.[2016-04-08].http://www.kokojia.com/article/17544.html.

        [6]董婷婷.基于Android系統(tǒng)的手機隱私數據的加密研究[D].安徽理工大學,2017.

        [7]DragonWar.Sqlite預寫式日志[EB/OL].北京.[2014-12-03].https://blog.csdn.net/weixin_33748818/article/details/85676411.

        [8]李蔚.基于閃存數據庫系統(tǒng)的存儲管理技術研究[D].華中科技大學,2009.

        [9]王付華,王永杰.iPhone平臺Sqlite數據庫開發(fā)[J].電腦編程技巧與維護,2014(13):25-28.

        [10]陳浩.Android手機的Sqlite數據恢復技術研究[D].杭州電子科技大學,2016.

        猜你喜歡
        數據恢復數據存儲日志
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        游學日志
        淺談電力大數據平臺關鍵技術研究與應用
        開源數據庫數據存儲的實現路徑分析
        基于Android開發(fā)的APP數據存儲研究
        常見硬盤數據丟失的分析與恢復
        科技視界(2016年26期)2016-12-17 23:55:07
        哈希算法在物聯網數據存儲中的應用
        淺議數據安全與恢復
        基于Android—x86的windows恢復系統(tǒng)研究與設計
        軟件導刊(2016年9期)2016-11-07 18:29:36
        和黑人邻居中文字幕在线 | 国产自产精品露脸刺激91在线| 亚洲av色香蕉一区二区蜜桃| 最新国产激情视频在线观看| 中文字幕人妻无码视频| 亚州少妇无套内射激情视频| 国内精品福利在线视频| 婷婷久久亚洲中文字幕| 少妇高潮惨叫久久久久电影69| 草草久久久无码国产专区| 国产艳妇av在线出轨| 国产一区二区三区探花| 欧美性猛交aaaa片黑人| 又爽又黄又无遮挡的激情视频| 亚洲国产成人久久综合一区77| 日韩精品一区二区在线视| 真人做爰试看120秒| 国产自偷自偷免费一区| 久久国产乱子精品免费女| 亚洲女同一区二区三区| 国产69久久精品成人看| 亚洲av日韩av无码av| 国产精品一区二区AV不卡| 玖玖资源站亚洲最大的网站| 奇米影视第四色首页| 国产久视频国内精品999| 加勒比一本大道大香蕉| 在线观看午夜视频一区二区| 性一交一乱一透一a级| 国产成人精品麻豆| 亚洲一区二区三区色偷偷| 亚洲综合成人婷婷五月网址| 亚洲日韩欧美国产另类综合| 91亚洲色图在线观看| 免费人成视频网站在线不卡| 免费看黄色电影| 国产一区二区三区韩国| 激情五月开心五月啪啪| 99爱在线精品免费观看| 四虎精品成人免费观看| 日本一级二级三级在线|