[發(fā)明專利]數(shù)據(jù)庫碎片文件的分析方法和裝置有效
| 申請?zhí)枺?/td> | 201711271077.2 | 申請日: | 2017-12-05 |
| 公開(公告)號: | CN108132971B | 公開(公告)日: | 2020-08-04 |
| 發(fā)明(設(shè)計)人: | 陳明輝;張輝極;劉鋼;張磊 | 申請(專利權(quán))人: | 廈門市美亞柏科信息股份有限公司 |
| 主分類號: | G06F16/17 | 分類號: | G06F16/17;G06F16/16 |
| 代理公司: | 廈門福貝知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 35235 | 代理人: | 郝學(xué)江 |
| 地址: | 361000 福建省廈門*** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 碎片 文件 分析 方法 裝置 | ||
1.一種數(shù)據(jù)庫碎片文件的分析方法,其特征在于,包括:
判斷數(shù)據(jù)庫碎片文件中是否存在一或多個表結(jié)構(gòu);
若存在該一或多個表結(jié)構(gòu),從該數(shù)據(jù)庫碎片文件中取得該一或多個表結(jié)構(gòu),否則從存儲介質(zhì)的文件系統(tǒng)中查找對應(yīng)于該數(shù)據(jù)庫碎片文件的數(shù)據(jù)庫文件;
若找到該數(shù)據(jù)庫文件,從該數(shù)據(jù)庫文件中取得該一或多個表結(jié)構(gòu),否則從該存儲介質(zhì)的未分配空間中查找該數(shù)據(jù)庫碎片文件中的數(shù)據(jù)表相關(guān)的表結(jié)構(gòu)列表;以及
若找到該表結(jié)構(gòu)列表,根據(jù)該表結(jié)構(gòu)列表取得該一或多個表結(jié)構(gòu),否則根據(jù)該數(shù)據(jù)庫碎片文件復(fù)原該一或多個表結(jié)構(gòu);
其中,根據(jù)該數(shù)據(jù)庫碎片文件復(fù)原該一或多個表結(jié)構(gòu)的步驟包括:
步驟A:從該數(shù)據(jù)庫碎片文件讀取下一頁;
步驟B:若該下一頁不為空則判斷該下一頁是否是葉子頁,否則執(zhí)行步驟D;
步驟C:若該下一頁是葉子頁,讀取該下一頁的至少一條記錄,根據(jù)數(shù)據(jù)庫記錄格式和該至少一條記錄的內(nèi)容推導(dǎo)該下一頁的對應(yīng)表結(jié)構(gòu),并將該對應(yīng)表結(jié)構(gòu)插入表結(jié)構(gòu)列表,而后返回執(zhí)行步驟A,否則執(zhí)行步驟A;步驟D:選擇該表結(jié)構(gòu)列表中的該對應(yīng)表結(jié)構(gòu)中的至少一個作為該一或多個表結(jié)構(gòu);
根據(jù)該一或多個表結(jié)構(gòu)中的至少一個分析該數(shù)據(jù)庫碎片文件中的數(shù)據(jù)庫記錄。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該數(shù)據(jù)庫碎片文件為SQLite文件碎片,根據(jù)該數(shù)據(jù)庫碎片文件復(fù)原該一或多個表結(jié)構(gòu)的步驟包括:
根據(jù)該數(shù)據(jù)庫碎片文件的葉子頁復(fù)原該一或多個表結(jié)構(gòu)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,該步驟C包括:若該下一頁是葉子頁,讀取該下一頁的第一條記錄,根據(jù)該數(shù)據(jù)庫記錄格式推導(dǎo)該下一頁的該對應(yīng)表結(jié)構(gòu),并將該對應(yīng)表結(jié)構(gòu)插入該表結(jié)構(gòu)列表,而后返回執(zhí)行步驟A。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,該數(shù)據(jù)庫記錄格式為SQLite記錄格式。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,該根據(jù)該一或多個表結(jié)構(gòu)中的至少一個分析該數(shù)據(jù)庫碎片文件中的該數(shù)據(jù)庫記錄包括:
根據(jù)該表結(jié)構(gòu)從該數(shù)據(jù)庫碎片文件的所有頁面中找到屬于對應(yīng)于該表結(jié)構(gòu)的一個特定數(shù)據(jù)表的至少一個復(fù)原頁面;以及
根據(jù)該一或多個表結(jié)構(gòu)中的至少一個分析該特定數(shù)據(jù)表的該至少一個復(fù)原頁面中的該特定數(shù)據(jù)表的該數(shù)據(jù)庫記錄。
6.一種數(shù)據(jù)庫碎片文件的分析裝置,包括處理器和存儲器,該存儲器中存儲有該存儲器中存儲有表結(jié)構(gòu)復(fù)原單元和數(shù)據(jù)庫碎片文件分析單元,其特征在于,該表結(jié)構(gòu)復(fù)原單元:
判斷數(shù)據(jù)庫碎片文件中是否存在一或多個表結(jié)構(gòu);
若存在該一或多個表結(jié)構(gòu),從該數(shù)據(jù)庫碎片文件中取得該一或多個表結(jié)構(gòu),否則從存儲介質(zhì)的文件系統(tǒng)中查找對應(yīng)于該數(shù)據(jù)庫碎片文件的數(shù)據(jù)庫文件;
若找到該數(shù)據(jù)庫文件,從該數(shù)據(jù)庫文件中取得該一或多個表結(jié)構(gòu),否則從該存儲介質(zhì)的未分配空間中查找該數(shù)據(jù)庫碎片文件中的數(shù)據(jù)表相關(guān)的表結(jié)構(gòu)列表;以及
若找到該表結(jié)構(gòu)列表,根據(jù)該表結(jié)構(gòu)列表取得該一或多個表結(jié)構(gòu),否則根據(jù)該數(shù)據(jù)庫碎片文件復(fù)原該一或多個表結(jié)構(gòu);
其中,該表結(jié)構(gòu)復(fù)原單元根據(jù)該數(shù)據(jù)庫碎片文件復(fù)原該一或多個表結(jié)構(gòu)包括:
步驟A:從該數(shù)據(jù)庫碎片文件讀取下一頁;
步驟B:若該下一頁不為空則判斷該下一頁是否是葉子頁,否則執(zhí)行步驟D;
步驟C:若該下一頁是葉子頁,讀取該下一頁的至少一條記錄,根據(jù)數(shù)據(jù)庫記錄格式和該至少一條記錄的內(nèi)容推導(dǎo)該下一頁的對應(yīng)表結(jié)構(gòu),并將該對應(yīng)表結(jié)構(gòu)插入表結(jié)構(gòu)列表,而后返回執(zhí)行步驟A,否則執(zhí)行步驟A;以及
步驟D:選擇該表結(jié)構(gòu)列表中的該對應(yīng)表結(jié)構(gòu)中的至少一個作為該一或多個表結(jié)構(gòu);
該數(shù)據(jù)庫碎片文件分析單元:
根據(jù)該一或多個表結(jié)構(gòu)中的至少一個分析該數(shù)據(jù)庫碎片文件中的數(shù)據(jù)庫記錄。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該數(shù)據(jù)庫碎片文件為SQLite文件碎片,該表結(jié)構(gòu)復(fù)原單元根據(jù)該數(shù)據(jù)庫碎片文件復(fù)原該一或多個表結(jié)構(gòu)的步驟包括:
根據(jù)該數(shù)據(jù)庫碎片文件的葉子頁復(fù)原該一或多個表結(jié)構(gòu)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門市美亞柏科信息股份有限公司,未經(jīng)廈門市美亞柏科信息股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711271077.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





