TWI740901B - 執行資料恢復操作的方法及裝置 - Google Patents
執行資料恢復操作的方法及裝置 Download PDFInfo
- Publication number
- TWI740901B TWI740901B TW106105349A TW106105349A TWI740901B TW I740901 B TWI740901 B TW I740901B TW 106105349 A TW106105349 A TW 106105349A TW 106105349 A TW106105349 A TW 106105349A TW I740901 B TWI740901 B TW I740901B
- Authority
- TW
- Taiwan
- Prior art keywords
- change log
- information
- metadata
- user data
- original
- Prior art date
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 351
- 238000005192 partition Methods 0.000 claims description 49
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 30
- 230000007246 mechanism Effects 0.000 abstract description 23
- 238000005516 engineering process Methods 0.000 abstract description 14
- 238000003860 storage Methods 0.000 description 29
- 238000007726 management method Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明公開了一種執行資料恢復操作的方法及裝置。其中,該方法包括:獲取待恢復到的第一變更日誌的標識資訊;根據標識資訊查找第一變更日誌;通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。本發明解決了相關技術中的所提到的分散式資料處理平臺系統恢復機制需要從當前最新的變更日誌經過多個中間變更日誌依次回滾才能恢復至指定的目標變更日誌,操作較為繁瑣且易造成資料丟失的技術問題。
Description
本發明涉及電腦領域,具體而言,涉及一種執行資料恢復操作的方法及裝置。
開放資料處理服務(Open Data Processing Service,簡稱為ODPS)由阿里雲自主研發的分散式大量資料處理平臺,其提供了豐富的資料處理功能和靈活的程式設計框架,應用於資料分析、挖掘、商業智慧等領域。ODPS採用抽象的作業處理框架將不同場景的各種計算任務統一在同一個平臺之上,共用安全、儲存、資料管理和資源調度,為來自不同用戶需求的各種資料處理任務提供統一的程式設計介面和介面。
元資料是指描述資料屬性的資訊,其用來支援如指示儲存位置、歷史資料、資源查找、檔記錄等功能。換言之,元資料(Metadata)是描述其它資料的資料(data about other data),或者說是用於提供某種資源的有關資訊的結構資料(structured data)其使用目的在於:識別資源,評價資源,追蹤資源在使用過程中的變化,實
現簡單高效地管理大量網路化資料以及實現資訊資源的有效發現、查找、一體化組織和對使用資源的有效管理。元資料的基本特點主要有:a)元資料一經建立,便可共用。元資料的結構和完整性依賴於資訊資源的價值和使用環境;元資料的開發與利用環境往往是一個變化的分散式環境;任何一種格式都不可能完全滿足不同團體的不同需要;b)元資料首先是一種編碼體系。元資料是用來描述數位化資訊資源,特別是網路資訊資源的編碼體系,這導致了元資料和傳統資料編碼體系的根本區別;元資料的最為重要的特徵和功能是為數位化資訊資源建立一種機器可理解框架。
元資料體系構建了電子政務的邏輯框架和基本模型,從而決定了電子政務的功能特徵、運行模式和系統運行的總體性能。電子政務的運作都基於元資料來實現,其主要作用有:描述功能、整合功能、控制功能和代理功能。
由於元資料也是資料,因此可以用類似資料的方法在資料庫中進行儲存和獲取。如果提供數據元的組織同時提供描述資料元的元資料,將會使資料元的使用變得準確而高效。用戶在使用資料時可以首先查看其元資料以便能夠獲取自己所需的資訊。
目前,在分散式資料處理平臺系統中,已經存在一種大規模或超大規模資料集合場景下的資料版本化系統,用戶可以通過這個系統輕易地實現資料恢復、時間點還原、
更改撤銷以及資料重做等操作。
圖1是根據相關技術提供的分散式資料處理平臺系統生成資料版本管理記錄過程的示意圖。如圖1所示,該系統在資料恢復過程中,如果採用鏈式的資料恢復方式,那麼彼此的資料恢復操作之間便會存在依賴關係,換言之,如果用戶需要恢復的版本比較舊時,則必須根據當前的變更日誌(Change Log,其是指對資料操作的變更日誌,其可用於資料恢復)記錄,依次回滾到指定的版本。
以上述表1為例,相關技術中所採用的資料恢復方式通常是基於分散式資料庫中的changelog機制來完成的,其具體實施過程如下:
第一步.用戶通過具有日誌記錄查詢功能的指令查看到目前記錄的表(table)的資料版本。
第二步.若用戶指定其中特定的changelog id(1452216975272855351),並使用具有日誌記錄回滾功能的指令,則需要啟動資料恢復機制,恢復到指定版本。
第三步.掃描table的版本記錄,獲取到從當前的狀態到指定版本的所有操作記錄,倒序的依次生成恢復計畫。如表1所示,當用戶指定恢復到1452216975272855351這個資料版本時,需要從1452407775639627693開始依次逆序地恢復每個版本,直到恢復到1452216975272855351這個版本。
第四步.按照已經生成的恢復計畫開始恢復,其實現方式即為按照順序運算元據和元資料的處理邏輯。
目前的資料版本以及恢復機制,其實質上都是一次作業,會運算元據和元資料,這同用戶的作業以及內部的跨集群複製作業的最後處理從原理上來看都是一致的。
然而,由於現有的恢復機制需要從當前狀態依次倒序恢復,直至恢復到指定版本。上述示例僅是簡單地列舉了其中少量的資料版本,如果線上的表操作執行過於頻繁,可能會出現從1452407775639627693這個資料版本到
1452216975272855351,中間的版本狀態成千上萬,也就是在恢復到一個指定版本時,可能中間過程需要依次處理數千次的操作。
目前,相關技術中所能夠提供的大量資料處理平臺(例如:HIVE等資料倉庫)不具備資料恢復的管理模組,而傳統的資料庫(例如:MYSQL)所採用的解決方案是獲取每次操作的差異資料進行保存,以便於在執行後續恢復操作的過程中能夠按照儲存的差異資料進行恢復,這在大量資料處理系統中,帶來了很大的依賴性,恢復資料發雜性高,而且風險高。
綜上所述,針對目前相關技術中所能夠提供的資料恢復方式,還是很有可能會帶來以下亟待解決的技術難題:
資料恢復的複雜度大大提升,其中涉及的資料和元資料操作較多,由此會帶來資料不一致的風險以及造成資料恢復的失敗率提升,進而直接導致資料恢復失敗,甚至是由於發生資料和元資料不匹配的情況而造成資料丟失;另外,此種依次倒序的恢復方式還會極大地增加所需恢復時間的開銷。
由此可見,依賴版本依次逆序恢復的資料恢復方式,不僅能夠造成恢復時間的大幅提升,而且,該恢復資料的行為由於需要通過對資料和元資料的一系列操作來完成,由此加大了用戶操作的複雜度,此外,還有可能增加系統內部複製等機制的衝突概率,進而加大用戶操作異常或者恢復異常可能性,帶來資料恢復失敗風險。
針對上述的問題,目前尚未提出有效的解決方案。
本發明實施例提供了一種執行資料恢復操作的方法及裝置,以至少解決相關技術中的所提到的分散式資料處理平臺系統恢復機制需要從當前最新的變更日誌經過多個中間變更日誌依次回滾才能恢復至指定的目標變更日誌,操作較為繁瑣且易造成資料丟失的技術問題。
根據本發明實施例的一個方面,提供了一種執行資料恢復操作的方法,包括:獲取待恢復到的第一變更日誌的標識資訊;根據標識資訊查找第一變更日誌;通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。
可選地,通過第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌包括:從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將第二原始用戶資料恢復至第一原始用戶資料以及將第二原始元資料恢復至第一原始元資料。
可選地,通過第二變更日誌中記錄的用戶資料資訊與
元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌包括:從第二變更日誌中解析出已修改用戶資料和已修改元資料,並將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料,其中,已修改用戶資料和已修改元資料是按照第二變更日誌中記錄的修改物件的操作類型對第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
可選地,根據標識資訊查找第一變更日誌包括以下之一:通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據標識資訊從變更日誌清單資訊或者變更日誌分區資訊中查找第一變更日誌;通過在變更日誌查詢命令中添加清單名稱和標識資訊或者通過在變更日誌查詢命令中添加分區名稱和標識資訊,查找第一變更日誌。
可選地,獲取第一變更日誌的標識資訊包括:接收觸發資料恢復操作的控制指令,其中,控制指令中攜帶有標識資訊;對控制指令執行鑒權操作,並在鑒權成功的情況下,從控制指令中獲取標識資訊。
可選地,在通過第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌之後,還包括:返回與控制指令對應的提示資訊,其中,提示資訊
用於表示第二變更日誌已經成功恢復至第一變更日誌。
根據本發明實施例的另一方面,還提供了一種執行資料恢復操作的裝置,包括:獲取模組,用於獲取待恢復到的第一變更日誌的標識資訊;查找模組,用於根據標識資訊查找第一變更日誌;恢復模組,用於通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。
可選地,恢復模組包括:解析單元,用於從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;恢復單元,用於從第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將第二原始用戶資料恢復至第一原始用戶資料以及將第二原始元資料恢復至第一原始元資料。
可選地,恢復模組包括:解析單元,用於從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;恢復單元,用於從第二變更日誌中解析出已修改用戶資料和已修改元資料,並將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料,其中,已修改用戶資料和已修改元資料是按照第二變更日誌中記錄的修改物件的操作類型對第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
可選地,查找模組,用於通過在變更日誌查詢命令中
添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據標識資訊從變更日誌清單資訊或者變更日誌分區資訊中查找第一變更日誌;或者,通過在變更日誌查詢命令中添加清單名稱和標識資訊或者通過在變更日誌查詢命令中添加分區名稱和標識資訊,查找第一變更日誌。
可選地,獲取模組包括:接收單元,用於接收觸發資料恢復操作的控制指令,其中,控制指令中攜帶有標識資訊;獲取單元,用於對控制指令執行鑒權操作,並在鑒權成功的情況下,從控制指令中獲取標識資訊。
可選地,上述裝置還包括:回饋模組,用於返回與控制指令對應的提示資訊,其中,提示資訊用於表示第二變更日誌已經成功恢復至第一變更日誌。
在本發明實施例中,採用從當前最新記錄的變更日誌僅通過執行一次恢復操作便恢復至指定的目標變更日誌的方式,通過最新記錄的變更日誌中記錄的用戶資料資訊與元資料資訊以及目標變更日誌中記錄的用戶資料資訊與元資料資訊將最新記錄的變更日誌直接恢復至目標變更日誌而省略了對最新記錄的變更日誌與目標變更日誌之間存在多條待撤銷的變更日誌的依次回滾的處理過程,從而實現了降低分散式資料庫恢復機制的操作複雜度,提高分散式資料庫恢復機制的成功率以及減少分散式資料庫恢復機制的時間開銷的技術效果,進而解決了相關技術中的所提到的分散式資料處理平臺系統恢復機制需要從當前最新的變
更日誌經過多個中間變更日誌依次回滾才能恢復至指定的目標變更日誌,操作較為繁瑣且易造成資料丟失的技術問題。
10:電腦終端、獲取模組
20:查找模組
30:恢復模組
40:回饋模組
100:接收單元
102:處理器、獲取單元
104:記憶體
106:傳輸裝置
300:解析單元
302:恢復單元
此處所說明的圖式用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在圖式中:圖1是根據相關技術提供的分散式資料處理平臺系統生成資料版本管理記錄過程的示意圖;圖2是本發明實施例的一種執行資料恢復操作的方法的電腦終端的硬體結構方塊圖;圖3是根據本發明實施例的執行資料恢復操作的方法的流程圖;圖4是根據本發明優選實施例的採用不同方式查詢日誌變更記錄的對比示意圖;圖5是根據本發明實施例的執行資料恢復操作的裝置的結構方塊圖;圖6是根據本發明優選實施例的執行資料恢復操作的裝置的結構方塊圖;圖7是根據本發明實施例的一種電腦終端的結構方塊圖。
為了使所屬技術領域中具有通常知識者更好地理解本發明方案,下面將結合本發明實施例中的圖式,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,所屬技術領域中具有通常知識者在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
需要說明的是,本發明的說明書和請求項書及上述圖式中的術語“第一”、“第二”等是用於區別類似的物件,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
根據本發明實施例,還提供了一種執行資料恢復操作的方法的方法實施例,需要說明的是,在圖式的流程圖示出的步驟可以在諸如一組電腦可執行指令的電腦系統中執
行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的循序執行所示出或描述的步驟。
本發明實施例一所提供的方法實施例可以在行動終端、電腦終端或者類似的運算裝置中執行。以運行在電腦終端上為例,圖2是本發明實施例的一種執行資料恢復操作的方法的電腦終端的硬體結構方塊圖。如圖2所示,電腦終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限於微處理器MCU或可程式設計邏輯器件FPGA等的處理裝置)、用於儲存資料的記憶體104、以及用於通信功能的傳輸裝置106。所屬技術領域中具有通常知識者可以理解,圖2所示的結構僅為示意,其並不對上述電子裝置的結構造成限定。例如,電腦終端10還可包括比圖2中所示更多或者更少的元件,或者具有與圖2所示不同的配置。
記憶體104可用於儲存應用軟體的軟體程式以及模組,如本發明實施例中的執行資料恢復操作的方法對應的程式指令/模組,處理器102通過運行儲存在記憶體104內的軟體程式以及模組,從而執行各種功能應用以及資料處理,即實現上述的執行資料恢復操作的方法。記憶體104可包括高速隨機記憶體,還可包括非易失性記憶體,如一個或者多個磁性儲存裝置、快閃記憶體、或者其他非易失性固態記憶體。在一些實例中,記憶體104可進一步包括相對於處理器102遠端設置的記憶體,這些遠端存放
器可以通過網路連接至電腦終端10。上述網路的實例包括但不限於網際網路、企業內部網、區域網路、行動通訊網及其組合。
傳輸裝置106用於經由一個網路接收或者發送資料。上述的網路具體實例可包括電腦終端10的通信供應商提供的無線網路。在一個實例中,傳輸裝置106包括一個網路介面卡(Network Interface Controller,簡稱為NIC),其可通過基站與其他網路設備相連從而可與網際網路進行通訊。在一個實例中,傳輸裝置106可以為射頻(Radio Frequency,簡稱為RF)模組,其用於通過無線方式與網際網路進行通訊。
在上述運行環境下,本發明提供了如圖3所示的執行資料恢復操作的方法。圖3是根據本發明實施例的執行資料恢復操作的方法的流程圖。如圖3所示,該方法可以包括以下處理步驟:步驟S302:獲取待恢復到的第一變更日誌的標識資訊;步驟S304:根據標識資訊查找第一變更日誌;步驟S306:通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。
通過本發明實施例所提供的技術方案,採用從當前最
新記錄的變更日誌(相當於上述第二變更日誌)僅通過執行一次恢復操作便恢復至指定的目標變更日誌(相當於上述第一變更日誌)的方式,通過最新記錄的變更日誌中記錄的用戶資料資訊與元資料資訊以及目標變更日誌中記錄的用戶資料資訊與元資料資訊將最新記錄的變更日誌直接恢復至目標變更日誌而省略了對最新記錄的變更日誌與目標變更日誌之間存在多條待撤銷的變更日誌的依次回滾的處理過程,從而實現了降低分散式資料庫恢復機制的操作複雜度,提高分散式資料庫恢復機制的成功率的技術效果,進而解決了相關技術中的所提到的分散式資料處理平臺系統恢復機制需要從當前最新的變更日誌經過多個中間變更日誌依次回滾才能恢復至指定的目標變更日誌,操作較為繁瑣且易造成資料丟失的技術問題。
在使用分散式資料處理平臺系統執行資料處理的過程中往往會遇到因誤操作而引起的資料被誤刪除或者被誤覆蓋,為此,分散式資料處理平臺系統的資料版本管理恢復模組(例如:ChangeLogs)提供了一種大量資料版本化的機制和資料恢復的工具,即,可以使用資料版本管理恢復模組將大量資料撤銷或者恢復至資料的任意歷史版本、查看每個版本修改的內容。因此,通過資料版本管理恢復模組可以實現資料在被誤刪除或者被誤覆蓋之後能夠及時得到恢復,以確保資料維護的安全性。
通過資料版本管理恢復模組的保存時間可以確定資料版本管理恢復模組功能是否開啟,例如:當資料版本管理
恢復模組的保存時間小於預設時長時,則表示資料版本管理恢復模組功能關閉,不記錄資料版本管理恢復模組;當資料版本管理恢復模組的保存時間大於或等於預設時長時,則表示當前資料版本管理恢復模組功能開啟,會自動記錄資料版本管理恢復模組。在資料版本管理恢復模組的保存時間範圍內,已經執行的任意修改操作都可以得到即時恢復。
資料版本管理恢復模組中的每條變更日誌完整地記錄了修改表或分區的操作類型、用戶、查詢、環境資訊、原始的元資料和資料全量快照以及修改後的元資料和資料全量快照,用戶可以利用資料版本管理恢復模組執行回滾或者資料恢復等操作。
可選地,在步驟S306中,通過第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌可以包括以下執行步驟:
步驟S3061:從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;考慮到第一變更日誌中記錄的用戶資料資訊包括:在對處理物件(分區或者清單)執行與第一變更日誌中包含的操作類型對應的修改操作前的第一原始用戶資料和第一原始元資料以及在執行與第一變更日誌中包含的操作類型對應的修改操作後的已修改用戶資料和已修改元資料。而如果需要將當前最新記錄的變更日誌恢復到用戶指定的變
更日誌,那麼最終結果便是需要將當前最新記錄的變更日誌中用戶資料資訊和元資料資訊恢復至在對處理物件(分區或者清單)執行與第一變更日誌中包含的操作類型對應的修改操作前的第一原始用戶資料和第一原始元資料。因此,需要從第一變更日誌中解析(或提取)出第一原始用戶資料和第一原始元資料。即,待恢復到的目標物件為第一原始用戶資料和第一原始元資料。
步驟S3062:從第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將第二原始用戶資料恢復至第一原始用戶資料以及將第二原始元資料恢復至第一原始元資料;或者,從第二變更日誌中解析出已修改用戶資料和已修改元資料,並將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料,其中,已修改用戶資料和已修改元資料是按照第二變更日誌中記錄的修改物件的操作類型對第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
相對於上述待恢復到的目標物件而言,被恢復的源物件既可以是在對處理物件(分區或者清單)執行與第二變更日誌中包含的操作類型對應的修改操作前的第二原始用戶資料和第二原始元資料,也可以是在執行與第二變更日誌中包含的操作類型對應的修改操作後的已修改用戶資料和已修改元資料,進而在確定出待恢復到的目標物件以及被恢復的源物件的基礎上,通過僅執行一次資料恢復操作,便可以直接將第二原始用戶資料恢復至第一原始用戶
資料以及將第二原始元資料恢復至第一原始元資料;或者,將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料。
例如:用戶在2016-01-08 09:36:15在支付寶上執行第一次操作,創建一個個人帳戶,此時將產生第一個變更記錄,其用戶資料資訊主要包括:user,2016-01-08 09:36:15,新建帳戶內的具體金額(0元),相應的元資料資訊則主要包括:用戶名、創建時間以及帳戶餘額等描述用戶資料屬性的資訊。由於該帳戶為新建帳戶,因此,該新建帳戶的餘額為0元。
如果用戶在2016-01-08 09:57:23執行第二次操作,向支付寶的新建帳戶存入200元人民幣,那麼此時將產生第二個變更記錄,其用戶資料資訊主要包括:user,2016-01-08 09:57:23,新建帳戶內的具體金額(200元)以及人民幣,相應的元資料資訊則主要包括:用戶名、創建時間、帳戶餘額以及幣種等描述用戶資料屬性的資訊。
如果用戶在2016-01-09 09:52:20執行第三次操作,從支付寶的新建帳戶提取50元人民幣,那麼此時將產生第三個變更記錄,其用戶資料資訊主要包括:user,2016-01-09 09:52:20,新建帳戶內的具體金額(150元)以及人民幣,相應的元資料資訊則主要包括:用戶名、創建時間、帳戶餘額以及幣種等描述用戶資料屬性的資訊。通過此次操作,當前變更記錄可以包括:對用戶帳戶儲存記錄表進行修改操作前的原始用戶資料(user,2016-01-08
09:57:23,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種);對用戶帳戶儲存記錄表進行修改操作後的已修改用戶資料(user,2016-01-09 09:52:20,150元以及人民幣)以及已修改元資料(用戶名、創建時間、帳戶餘額以及幣種)。
在中間經歷過N-1次操作後,如果用戶在2016-01-10 14:32:28執行第N次操作,需要將帳戶內的100元人民幣轉成日元,那麼此時將產生第N個變更記錄,其元資料資訊在現有的用戶名、創建時間、帳戶餘額以及幣種等屬性資訊的基礎上還可能需要增加匯率屬性,相應地,用戶資料資訊在幣種屬性下除了人民幣以外又新增了日元資料以及匯率值(1人民幣=17.4825日元)。通過此次操作,當前變更記錄可以包括:對用戶帳戶儲存記錄表進行修改操作前的原始用戶資料(user,2016-01-10 09:40:50,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種);對用戶帳戶儲存記錄表進行修改操作後的已修改用戶資料(user,2016-01-10 14:32:28,200元,人民幣以及日元)以及已修改元資料(用戶名、創建時間、帳戶餘額、幣種以及匯率)。
如果用戶需要將第N個變更記錄恢復至第三個變更記錄,那麼首先,需要從第三個變更記錄中提取對用戶帳戶儲存記錄表進行修改操作前的原始用戶資料(user,2016-01-08 09:57:23,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種)。其次,再從第N
個變更記錄中提取對用戶帳戶儲存記錄表進行修改操作前的原始用戶資料(user,2016-01-10 09:40:50,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種);或者,對用戶帳戶儲存記錄表進行修改操作後的已修改用戶資料(user,2016-01-10 14:32:28,200元,人民幣以及日元)以及已修改元資料(用戶名、創建時間、帳戶餘額、幣種以及匯率)。然後,既可以將原始用戶資料(user,2016-01-10 09:40:50,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種)恢復至原始用戶資料(user,2016-01-08 09:57:23,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種),也可以將已修改用戶資料(user,2016-01-10 14:32:28,200元,人民幣以及日元)以及已修改元資料(用戶名、創建時間、帳戶餘額、幣種以及匯率)恢復至原始用戶資料(user,2016-01-08 09:57:23,200元以及人民幣)以及原始元資料(用戶名、創建時間、帳戶餘額以及幣種)。
可選地,在步驟S304中,根據標識資訊查找第一變更日誌可以包括以下方式之一:
方式一、通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據標識資訊從變更日誌清單資訊或者變更日誌分區資訊中查找第一變更日誌;
作為分散式資料處理平臺系統用戶可以通過SHOW CHANGELOGS FOR TABLE<表名>[PARTITION(<分區名>)]語法結構查詢特定表或分區的資料版本管理恢復模組。然後,再根據logId從特定表或分區的資料版本管理恢復模組查詢到對應的變更記錄。
方式二、通過在變更日誌查詢命令中添加清單名稱和標識資訊或者通過在變更日誌查詢命令中添加分區名稱和標識資訊,查找第一變更日誌。
作為分散式資料處理平臺系統用戶也可以通過SHOW CHANGELOGS FOR TABLE<表名>[PARTITION(<分區名>)]<logId>語法直接查詢到特定表或分區的變更記錄。
其中,上述<logId>是每一條資料版本管理恢復模組的唯一ID,其本質上是一個不會重複的精確到奈秒的時間戳記。在SHOW CHANGELOGS列表中可以看到,當因為誤操作造成資料被誤刪除或者被誤覆蓋發生異常時,便可以通過上述兩條命令查找到特定的變更記錄,以便於用戶及時發現問題,恢復資料版本。
可選地,在步驟S302中,獲取第一變更日誌的標識資訊可以包括以下執行步驟:S3021:接收觸發資料恢復操作的控制指令,其中,控制指令中攜帶有標識資訊;S3022:對控制指令執行鑒權操作,並在鑒權成功的情況下,從控制指令中獲取標識資訊。
在優選實施例中,用戶可以指定需要恢復到的
logId,並可以使用UNDO語法結構(即UNDO TABLE<表名>[PARTITION(<分區名>)]TO<logId>)啟動資料恢復機制,僅通過執行一次資料恢復操作直接將最新記錄的變更日誌恢復至需要保留的變更日誌。因此,無論是分區或清單資料被誤刪除或者被誤覆蓋,都可以使用上述命令進行恢復。
當然,在用戶指定需要恢復到的logId並啟動資料恢復機制後,需要預先對用戶進行分散式資料處理平臺系統鑒權,判斷用戶是否具有對變更日誌執行恢復操作的許可權,如果用戶具有對變更日誌執行恢復操作的許可權,則從用戶提交的觸發資料恢復機制的命令中獲取logId;而如果用戶不具有對變更日誌執行恢復操作的許可權,則直接向用戶發出告警或拒絕用戶對資料版本管理恢復模組進行存取。
可選地,在通過第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌之後,還包括:返回與控制指令對應的提示資訊,其中,提示資訊用於表示第二變更日誌已經成功恢復至第一變更日誌。
如果在用戶指定需要恢復到的logId,並使用UNDO語法結構(即UNDO TABLE<表名>[PARTITION(<分區名>)]TO<logId>)啟動資料恢復機制,然後僅通過執行一次資料恢復操作便成功將最新記錄的變更日誌恢復至需要保留的變更日誌後,可以向用戶返回資料恢復操作執行
成功,最新記錄的變更日誌已經恢復至用戶指定的目標變更日誌的提示資訊,進而結束整個資料恢復流程。
為了更加突出本發明實施例所提供的技術方案與現有解決方案的區別,將結合圖3所示的示例作進一步的比對。圖4是根據本發明優選實施例的採用不同方式查詢日誌變更記錄的對比示意圖。如圖4所示,假設當前最新儲存的日誌記錄表中包括標識資訊依次為:1452216975272855351,1452216989166724482,1452217464192642287,...,1452407625046628818,1452407726812625638,1452407775639627693。假設當前需要恢復至標識資訊為1452216989166724482這個版本的日誌記錄,那麼按照相關技術中提供的恢復方案:1452407775639627693→1452407726812625638→1452407625046628818→…→1452217464192642287→1452216989166724482;即按照變更記錄的記錄順序依次回滾至1452216989166724482。
與之相比,採用本發明實施例所提供的技術方案:1452407775639627693→1452216989166724482;即從當前最新記錄的1452407775639627693直接恢復至指定版本1452216989166724482。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是所屬技術領域中具有通常知識者應該知悉,本發明並不受所描述的
動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,所屬技術領域中具有通常知識者也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模組並不一定是本發明所必須的。
通過以上的實施方式的描述,所屬技術領域中具有通常知識者可以清楚地瞭解到根據上述實施例的執行資料恢復操作的方法可借助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存介質(如ROM/RAM、磁碟、光碟)中,包括若干指令用以使得一台終端設備(可以是手機,電腦,伺服器,或者網路設備等)執行本發明各個實施例所述的方法。
根據本發明實施例,還提供了一種用於實施上述執行資料恢復操作的裝置,圖5是根據本發明實施例的執行資料恢復操作的裝置的結構方塊圖。如圖5所示,該裝置包括:獲取模組10,用於獲取待恢復到的第一變更日誌的標識資訊;查找模組20,用於根據標識資訊查找第一變更日誌;恢復模組30,用於通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復
至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。
可選地,圖6是根據本發明優選實施例的執行資料恢復操作的裝置的結構方塊圖。如圖6所示,恢復模組30包括:解析單元300,用於從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;恢復單元302,用於從第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將第二原始用戶資料恢復至第一原始用戶資料以及將第二原始元資料恢復至第一原始元資料。
可選地,解析單元300,用於從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;恢復單元302,用於從第二變更日誌中解析出已修改用戶資料和已修改元資料,並將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料,其中,已修改用戶資料和已修改元資料是按照第二變更日誌中記錄的修改物件的操作類型對第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
可選地,查找模組20,用於通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據標識資訊從變更日誌清單資訊或者變更日誌分區資訊中查找第一變更日誌;或者,通過在變更日誌查詢命令中添加清單名稱和標識資訊或者通過在變更日誌查詢命令中添加分區名稱和標識資訊,查找第一變更日誌。
可選地,如圖6所示,獲取模組10可以包括:接收單元100,用於接收觸發資料恢復操作的控制指令,其中,控制指令中攜帶有標識資訊;獲取單元102,用於對控制指令執行鑒權操作,並在鑒權成功的情況下,從控制指令中獲取標識資訊。
可選地,如圖6所示,上述裝置還可以包括:回饋模組40,用於返回與控制指令對應的提示資訊,其中,提示資訊用於表示第二變更日誌已經成功恢復至第一變更日誌。
本發明的實施例可以提供一種電腦終端,該電腦終端可以是電腦終端群中的任意一個電腦終端設備。可選地,在本實施例中,上述電腦終端也可以替換為行動終端等終端設備。
可選地,在本實施例中,上述電腦終端可以位於電腦網路的多個網路設備中的至少一個網路設備。
可選地,圖7是根據本發明實施例的一種電腦終端的結構方塊圖。如圖7所示,該電腦終端可以包括:一個或多個(圖中僅示出一個)處理器以及記憶體。
其中,記憶體可用於儲存軟體程式以及模組,如本發明實施例中的執行資料恢復操作方法和裝置對應的程式指令/模組,處理器通過運行儲存在記憶體內的軟體程式以及模組,從而執行各種功能應用以及資料處理,即實現上
述的執行資料恢復操作的方法。記憶體可包括高速隨機記憶體,還可以包括非易失性記憶體,如一個或者多個磁性儲存裝置、快閃記憶體、或者其他非易失性固態記憶體。在一些實例中,記憶體可進一步包括相對於處理器遠端設置的記憶體,這些遠端存放器可以通過網路連接至終端。上述網路的實例包括但不限於網際網路、企業內部網、區域網路、行動通訊網及其組合。
處理器可以通過傳輸裝置調用記憶體儲存的資訊及應用程式,以執行下述步驟:S1,獲取待恢復到的第一變更日誌的標識資訊;S2,根據標識資訊查找第一變更日誌;S3,通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。
可選的,上述處理器還可以執行如下步驟的程式碼:從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將第二原始用戶資料恢復至第一原始用戶資料以及將第二原始元資料恢復至第一原始元資料。
可選的,上述處理器還可以執行如下步驟的程式碼:從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從第二變更日誌中解析出已修改用戶資料和已修改
元資料,並將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料,其中,已修改用戶資料和已修改元資料是按照第二變更日誌中記錄的修改物件的操作類型對第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
可選的,上述處理器還可以執行如下步驟的程式碼:通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據標識資訊從變更日誌清單資訊或者變更日誌分區資訊中查找第一變更日誌;或者,通過在變更日誌查詢命令中添加清單名稱和標識資訊或者通過在變更日誌查詢命令中添加分區名稱和標識資訊,查找第一變更日誌。
可選的,上述處理器還可以執行如下步驟的程式碼:接收觸發資料恢復操作的控制指令,其中,控制指令中攜帶有標識資訊;對控制指令執行鑒權操作,並在鑒權成功的情況下,從控制指令中獲取標識資訊。
可選的,上述處理器還可以執行如下步驟的程式碼:返回與控制指令對應的提示資訊,其中,提示資訊用於表示第二變更日誌已經成功恢復至第一變更日誌。
採用本發明實施例,採用從當前最新記錄的變更日誌僅通過執行一次恢復操作便恢復至指定的目標變更日誌的方式,通過最新記錄的變更日誌中記錄的用戶資料資訊與元資料資訊以及目標變更日誌中記錄的用戶資料資訊與元
資料資訊將最新記錄的變更日誌直接恢復至目標變更日誌而省略了對最新記錄的變更日誌與目標變更日誌之間存在多條待撤銷的變更日誌的依次回滾的處理過程,從而實現了降低分散式資料庫恢復機制的操作複雜度,提高分散式資料庫恢復機制的成功率以及減少分散式資料庫恢復機制的時間開銷的技術效果,進而解決了相關技術中的所提到的分散式資料處理平臺系統恢復機制需要從當前最新的變更日誌經過多個中間變更日誌依次回滾才能恢復至指定的目標變更日誌,操作較為繁瑣且易造成資料丟失的技術問題。
所屬技術領域中具有通常知識者可以理解,圖7所示的結構僅為示意,電腦終端也可以是智慧手機(如Android手機、iOS手機等)、平板電腦、掌上電腦以及行動網際網路設備(Mobile Internet Devices,MID)、PAD等終端設備。圖7其並不對上述電子裝置的結構造成限定。例如,電腦終端還可包括比圖7中所示更多或者更少的元件(如網路介面、顯示裝置等),或者具有與圖7所示不同的配置。
所屬技術領域中具有通常知識者可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程式來指令終端設備相關的硬體來完成,該程式可以儲存於一電腦可讀儲存介質中,儲存介質可以包括:快閃記憶體盤、唯讀記憶體(Read-Only Memory,ROM)、隨機存取器(Random Access Memory,RAM)、磁片或光碟等。
本發明的實施例還提供了一種儲存介質。可選地,在本實施例中,上述儲存介質可以用於保存上述實施例一所提供的執行資料恢復操作的方法所執行的程式碼。
可選地,在本實施例中,上述儲存介質可以位於電腦網路中電腦終端群中的任意一個電腦終端中,或者位於行動終端群中的任意一個行動終端中。
可選地,在本實施例中,儲存介質被設置為儲存用於執行以下步驟的程式碼:S1,獲取待恢復到的第一變更日誌的標識資訊;S2,根據標識資訊查找第一變更日誌;S3,通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及第一變更日誌中記錄的用戶資料資訊與元資料資訊將第二變更日誌恢復至第一變更日誌,其中,在第二變更日誌與第一變更日誌之間存在多條待撤銷的變更日誌。
可選地,在本實施例中,儲存介質還被設置為儲存用於執行以下步驟的程式碼:從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將第二原始用戶資料恢復至第一原始用戶資料以及將第二原始元資料恢復至第一原始元資料。
可選地,在本實施例中,儲存介質還被設置為儲存用
於執行以下步驟的程式碼:從第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從第二變更日誌中解析出已修改用戶資料和已修改元資料,並將已修改用戶資料恢復至第一原始用戶資料以及將已修改元資料恢復至第一原始元資料,其中,已修改用戶資料和已修改元資料是按照第二變更日誌中記錄的修改物件的操作類型對第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
可選地,在本實施例中,儲存介質還被設置為儲存用於執行以下步驟的程式碼:通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據標識資訊從變更日誌清單資訊或者變更日誌分區資訊中查找第一變更日誌;或者,通過在變更日誌查詢命令中添加清單名稱和標識資訊或者通過在變更日誌查詢命令中添加分區名稱和標識資訊,查找第一變更日誌。
可選地,在本實施例中,儲存介質還被設置為儲存用於執行以下步驟的程式碼:接收觸發資料恢復操作的控制指令,其中,控制指令中攜帶有標識資訊;對控制指令執行鑒權操作,並在鑒權成功的情況下,從控制指令中獲取標識資訊。
可選地,在本實施例中,儲存介質還被設置為儲存用於執行以下步驟的程式碼:返回與控制指令對應的提示資訊,其中,提示資訊用於表示第二變更日誌已經成功恢復
至第一變更日誌。
上述本發明實施例序號僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅是示意性的,例如該單元的劃分,僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,單元或模組的間接耦合或通信連接,可以是電性或其它的形式。
該作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨實體存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單
元的形式實現。
該集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存介質中,包括若干指令用以使得一台電腦設備(可為個人電腦、伺服器或者網路設備等)執行本發明各個實施例該方法的全部或部分步驟。而前述的儲存介質包括:隨身碟、唯讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、移動硬碟、磁碟或者光碟等各種可以儲存程式碼的介質。
以上所述僅是本發明的優選實施方式,應當指出,對於所屬技術領域中具有通常知識者來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
Claims (12)
- 一種執行資料恢復操作的方法,其特徵在於,包括:獲取待恢復到的第一變更日誌的標識資訊;根據該標識資訊查找該第一變更日誌;通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及該第一變更日誌中記錄的用戶資料資訊與元資料資訊將該第二變更日誌恢復至該第一變更日誌,其中,在該第二變更日誌與該第一變更日誌之間存在多條待撤銷的變更日誌。
- 根據請求項1所述的方法,其中,通過該第二變更日誌中記錄的用戶資料資訊與元資料資訊以及該第一變更日誌中記錄的用戶資料資訊與元資料資訊將該第二變更日誌恢復至該第一變更日誌包括:從該第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從該第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將該第二原始用戶資料恢復至該第一原始用戶資料以及將該第二原始元資料恢復至該第一原始元資料。
- 根據請求項1所述的方法,其中,通過該第二變更日誌中記錄的用戶資料資訊與元資料資訊以及該第一變更日誌中記錄的用戶資料資訊與元資料資訊將該第二變更日誌恢復至該第一變更日誌包括: 從該第一變更日誌中解析出第一原始用戶資料和第一原始元資料;從該第二變更日誌中解析出已修改用戶資料和已修改元資料,並將該已修改用戶資料恢復至該第一原始用戶資料以及將該已修改元資料恢復至該第一原始元資料,其中,該已修改用戶資料和該已修改元資料是按照該第二變更日誌中記錄的修改物件的操作類型對該第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
- 根據請求項1所述的方法,其中,根據該標識資訊查找該第一變更日誌包括以下之一:通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據該標識資訊從該變更日誌清單資訊或者該變更日誌分區資訊中查找該第一變更日誌;通過在變更日誌查詢命令中添加清單名稱和該標識資訊或者通過在變更日誌查詢命令中添加分區名稱和該標識資訊,查找該第一變更日誌。
- 根據請求項1所述的方法,其中,獲取該第一變更日誌的該標識資訊包括:接收觸發資料恢復操作的控制指令,其中,該控制指令中攜帶有該標識資訊;對該控制指令執行鑒權操作,並在鑒權成功的情況下,從該控制指令中獲取該標識資訊。
- 根據請求項5所述的方法,其中,在通過該第二變更日誌中記錄的用戶資料資訊與元資料資訊以及該第一變更日誌中記錄的用戶資料資訊與元資料資訊將該第二變更日誌恢復至該第一變更日誌之後,還包括:返回與該控制指令對應的提示資訊,其中,該提示資訊用於表示該第二變更日誌已經成功恢復至該第一變更日誌。
- 一種執行資料恢復操作的裝置,其特徵在於,包括:獲取模組,用於獲取待恢復到的第一變更日誌的標識資訊;查找模組,用於根據該標識資訊查找該第一變更日誌;恢復模組,用於通過最新記錄的第二變更日誌中記錄的用戶資料資訊與元資料資訊以及該第一變更日誌中記錄的用戶資料資訊與元資料資訊將該第二變更日誌恢復至該第一變更日誌,其中,在該第二變更日誌與該第一變更日誌之間存在多條待撤銷的變更日誌。
- 根據請求項7所述的裝置,其中,該恢復模組包括:解析單元,用於從該第一變更日誌中解析出第一原始用戶資料和第一原始元資料;恢復單元,用於從該第二變更日誌中解析出第二原始用戶資料和第二原始元資料,並將該第二原始用戶資料恢 復至該第一原始用戶資料以及將該第二原始元資料恢復至該第一原始元資料。
- 根據請求項7所述的裝置,其中,該恢復模組包括:解析單元,用於從該第一變更日誌中解析出第一原始用戶資料和第一原始元資料;恢復單元,用於從該第二變更日誌中解析出已修改用戶資料和已修改元資料,並將該已修改用戶資料恢復至該第一原始用戶資料以及將該已修改元資料恢復至該第一原始元資料,其中,該已修改用戶資料和該已修改元資料是按照該第二變更日誌中記錄的修改物件的操作類型對該第二變更日誌中記錄的原始用戶資料和原始元資料進行修改後得到的。
- 根據請求項7所述的裝置,其中,該查找模組,用於通過在變更日誌查詢命令中添加清單名稱獲取變更日誌清單資訊或者通過在變更日誌查詢命令中添加分區名稱獲取變更日誌分區資訊,並根據該標識資訊從該變更日誌清單資訊或者該變更日誌分區資訊中查找該第一變更日誌;或者,通過在變更日誌查詢命令中添加清單名稱和該標識資訊或者通過在變更日誌查詢命令中添加分區名稱和該標識資訊,查找該第一變更日誌。
- 根據請求項7所述的裝置,其中,該獲取模組包括:接收單元,用於接收觸發資料恢復操作的控制指令, 其中,該控制指令中攜帶有該標識資訊;獲取單元,用於對該控制指令執行鑒權操作,並在鑒權成功的情況下,從該控制指令中獲取該標識資訊。
- 根據請求項11所述的裝置,其中,該裝置還包括:回饋模組,用於返回與該控制指令對應的提示資訊,其中,該提示資訊用於表示該第二變更日誌已經成功恢復至該第一變更日誌。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610166586.8A CN107220142B (zh) | 2016-03-22 | 2016-03-22 | 执行数据恢复操作的方法及装置 |
CN201610166586.8 | 2016-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201737126A TW201737126A (zh) | 2017-10-16 |
TWI740901B true TWI740901B (zh) | 2021-10-01 |
Family
ID=59899354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106105349A TWI740901B (zh) | 2016-03-22 | 2017-02-17 | 執行資料恢復操作的方法及裝置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20190026193A1 (zh) |
EP (1) | EP3435235B1 (zh) |
CN (1) | CN107220142B (zh) |
SG (1) | SG11201807484TA (zh) |
TW (1) | TWI740901B (zh) |
WO (1) | WO2017162032A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579865A (zh) * | 2017-10-18 | 2018-01-12 | 北京奇虎科技有限公司 | 分布式代码服务器的权限管理方法、装置及系统 |
CN110019046B (zh) * | 2017-12-29 | 2024-05-14 | 北京奇虎科技有限公司 | 一种日志落地方法及装置 |
US10891202B2 (en) * | 2018-05-15 | 2021-01-12 | Sap Se | Recovery of in-memory databases using a backward scan of the database transaction log |
CN108984337B (zh) * | 2018-05-29 | 2021-04-16 | 杭州网易再顾科技有限公司 | 一种数据同步异常的修复方法、修复装置、介质和计算设备 |
CN111078463B (zh) * | 2018-10-19 | 2023-05-02 | 阿里云计算有限公司 | 数据备份的方法、装置和系统 |
CN109656935B (zh) * | 2018-11-23 | 2023-12-01 | 创新先进技术有限公司 | 用于数据库的数据回放的方法和系统 |
CN111367836B (zh) * | 2018-12-25 | 2023-06-13 | 阿里巴巴集团控股有限公司 | 一种针对数据库的处理方法及装置 |
CN109857593B (zh) * | 2019-01-21 | 2020-08-28 | 北京工业大学 | 一种数据中心日志缺失数据恢复方法 |
CN111984460B (zh) * | 2019-05-21 | 2023-11-24 | 华为云计算技术有限公司 | 元数据的恢复方法及装置 |
CN110389860A (zh) * | 2019-06-20 | 2019-10-29 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112256656B (zh) * | 2019-07-22 | 2023-04-18 | 金篆信科有限责任公司 | 事务回滚方法及装置、数据库、系统、计算机存储介质 |
CN112486373B (zh) * | 2019-08-23 | 2022-06-03 | 珠海金山办公软件有限公司 | 编辑操作撤消方法、装置、电子设备及存储介质 |
CN110795447A (zh) * | 2019-10-29 | 2020-02-14 | 中国工商银行股份有限公司 | 数据处理方法、数据处理系统、电子设备和介质 |
CN111638904B (zh) * | 2020-05-11 | 2023-12-22 | 贝壳技术有限公司 | 一种数据配置的还原方法、装置以及可读存储介质 |
CN111625552B (zh) * | 2020-05-20 | 2024-01-02 | 北京百度网讯科技有限公司 | 数据收集方法、装置、设备和可读存储介质 |
CN114546998A (zh) * | 2022-01-13 | 2022-05-27 | 北京元年科技股份有限公司 | 数据中台的数据处理方法、装置、设备及可读存储介质 |
CN114978891B (zh) * | 2022-05-17 | 2024-04-30 | 西安易朴通讯技术有限公司 | 网络设备bios配置的处理方法、设备及存储介质 |
CN117971565B (zh) * | 2024-03-29 | 2024-06-18 | 天津南大通用数据技术股份有限公司 | 一种恢复列存储分布式数据库误删除数据的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI304536B (en) * | 2003-12-15 | 2008-12-21 | Ibm | Apparatus, system, method, and computer readable recording medium recording instruction for backing up data within a grid system |
CN102238162A (zh) * | 2010-12-03 | 2011-11-09 | 元润康联(上海)科技有限公司 | 一种医院间非结构化信息归档的方法 |
CN103034636A (zh) * | 2011-09-29 | 2013-04-10 | 盛乐信息技术(上海)有限公司 | 一种非关系型数据库的回滚方法、装置及系统 |
US20130151895A1 (en) * | 2011-12-09 | 2013-06-13 | Altibase Corp. | Apparatus and method of managing databases of active node and standby node of main memory database management system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543001B2 (en) * | 2004-06-17 | 2009-06-02 | International Business Machines Corporation | Storing object recovery information within the object |
US7310711B2 (en) * | 2004-10-29 | 2007-12-18 | Hitachi Global Storage Technologies Netherlands B.V. | Hard disk drive with support for atomic transactions |
US8527721B2 (en) * | 2008-12-26 | 2013-09-03 | Rajeev Atluri | Generating a recovery snapshot and creating a virtual view of the recovery snapshot |
CN100555289C (zh) * | 2007-12-20 | 2009-10-28 | 中国科学院计算技术研究所 | 一种持续数据保护系统及其实现方法 |
CN100583050C (zh) * | 2008-06-11 | 2010-01-20 | 华中科技大学 | 基于时间戳日志存储的连续数据保护和恢复方法 |
CN101436207B (zh) * | 2008-12-16 | 2011-01-19 | 浪潮通信信息系统有限公司 | 一种基于日志快照的数据恢复和同步方法 |
US8572309B2 (en) * | 2009-03-12 | 2013-10-29 | Marvell World Trade Ltd. | Apparatus and method to protect metadata against unexpected power down |
US8954647B2 (en) * | 2011-01-28 | 2015-02-10 | Apple Inc. | Systems and methods for redundantly storing metadata for non-volatile memory |
CN104699712B (zh) * | 2013-12-09 | 2018-05-18 | 阿里巴巴集团控股有限公司 | 对数据库中的库存记录信息进行更新的方法及装置 |
CN103761161B (zh) * | 2013-12-31 | 2017-01-04 | 华为技术有限公司 | 恢复数据的方法、服务器及系统 |
CN105205053A (zh) * | 2014-05-30 | 2015-12-30 | 阿里巴巴集团控股有限公司 | 一种数据库增量日志解析方法及系统 |
CN104217174A (zh) * | 2014-09-05 | 2014-12-17 | 四川长虹电器股份有限公司 | 分布式文件安全存储系统及其存储方法 |
CN105069617B (zh) * | 2015-07-27 | 2018-10-12 | 飞天诚信科技股份有限公司 | 一种恢复不完整交易的方法和装置 |
-
2016
- 2016-03-22 CN CN201610166586.8A patent/CN107220142B/zh active Active
-
2017
- 2017-02-17 TW TW106105349A patent/TWI740901B/zh not_active IP Right Cessation
- 2017-03-09 SG SG11201807484TA patent/SG11201807484TA/en unknown
- 2017-03-09 WO PCT/CN2017/076036 patent/WO2017162032A1/zh active Application Filing
- 2017-03-09 EP EP17769309.0A patent/EP3435235B1/en active Active
-
2018
- 2018-09-20 US US16/137,473 patent/US20190026193A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI304536B (en) * | 2003-12-15 | 2008-12-21 | Ibm | Apparatus, system, method, and computer readable recording medium recording instruction for backing up data within a grid system |
CN102238162A (zh) * | 2010-12-03 | 2011-11-09 | 元润康联(上海)科技有限公司 | 一种医院间非结构化信息归档的方法 |
CN103034636A (zh) * | 2011-09-29 | 2013-04-10 | 盛乐信息技术(上海)有限公司 | 一种非关系型数据库的回滚方法、装置及系统 |
US20130151895A1 (en) * | 2011-12-09 | 2013-06-13 | Altibase Corp. | Apparatus and method of managing databases of active node and standby node of main memory database management system |
Also Published As
Publication number | Publication date |
---|---|
EP3435235A4 (en) | 2019-05-15 |
EP3435235B1 (en) | 2020-11-18 |
CN107220142A (zh) | 2017-09-29 |
WO2017162032A1 (zh) | 2017-09-28 |
EP3435235A1 (en) | 2019-01-30 |
SG11201807484TA (en) | 2018-10-30 |
CN107220142B (zh) | 2020-10-09 |
US20190026193A1 (en) | 2019-01-24 |
TW201737126A (zh) | 2017-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI740901B (zh) | 執行資料恢復操作的方法及裝置 | |
EP2834759B1 (en) | Telemetry system for a cloud synchronization system | |
US10509696B1 (en) | Error detection and mitigation during data migrations | |
WO2016180160A1 (zh) | 数据快照的恢复方法和装置 | |
US8676749B2 (en) | Statement logging in databases | |
WO2020207010A1 (zh) | 数据备份方法、装置及计算机可读存储介质 | |
WO2017063520A1 (zh) | 数据库的操作方法及装置 | |
US7908246B2 (en) | Separating file data streams to enhance progressive incremental processing | |
CN102360410B (zh) | 一种文件系统的用户操作发现方法和装置 | |
CN113806301B (zh) | 数据同步方法、装置、服务器及存储介质 | |
US10083070B2 (en) | Log file reduction according to problem-space network topology | |
CN104516796A (zh) | 一种基于命令集的网元备份与恢复方法及装置 | |
JP6942458B2 (ja) | プログラム、システム及び情報処理方法 | |
CN109361553B (zh) | 配置回滚方法及装置 | |
KR102392880B1 (ko) | 계층화 문서를 관리하는 방법 및 이를 이용한 장치 | |
WO2018000524A1 (zh) | 一种备份文件的方法及装置 | |
CN116701063B (zh) | 数联网数据语用内存状态数据的持久化方法、装置及系统 | |
US11016821B2 (en) | Resegmenting chunks of data for efficient load balancing across indexers | |
WO2018036235A1 (zh) | 一种solr数据迁移方法和装置 | |
US10242025B2 (en) | Efficient differential techniques for metafiles | |
CN108363607B (zh) | 一种云平台虚拟机的虚拟链路断电恢复方法 | |
CN108228226B (zh) | 硬链接的差分方法、装置及相应终端 | |
US20210042271A1 (en) | Distributed garbage collection for dedupe file system in cloud storage bucket | |
CN113032477A (zh) | 基于gtid的长距离数据同步方法、装置及计算设备 | |
US20240281408A1 (en) | High Availability Storage using Overlapping Time Windows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |