[發明專利]一種數據庫并行回放的控制方法以及控制系統在審
| 申請號: | 202310269626.1 | 申請日: | 2023-03-20 |
| 公開(公告)號: | CN116302699A | 公開(公告)日: | 2023-06-23 |
| 發明(設計)人: | 李勇;張文江;王亞輝;馮國瑜;孫家彥;馬驊;梁繼良 | 申請(專利權)人: | 北京優炫軟件股份有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14;G06F9/54;G06F16/23 |
| 代理公司: | 北京冬瓜知識產權代理事務所(普通合伙) 11854 | 代理人: | 孫曉芳 |
| 地址: | 100081 北京市海淀區學院南路*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 并行 回放 控制 方法 以及 控制系統 | ||
1.一種數據庫并行回放的控制方法,其特征在于,包括如下步驟:
創建startup進程以及指定數據量的日志回放進程redo?worker以共享內存隊列;
startup進程從日志文件中按照順序讀取日志記錄,根據日志類型是否進行并行回放,如果是則進行哈希運算,根據哈希運算的結果將日志記錄分發到相應的redo?worker進行回放;
redo?worker回放進程根據初始化配置進行表級或頁級日志回放,在日志回放的同時提供對數據庫的只讀服務,保證讀取的數據在事務中的一致性。
2.根據權利要求1所述的控制方法,其特征在于,所述startup進程由postmaster進程來控制啟動進入恢復階段,同時startup進程通知postmaster進程啟動redo?workers,所述postmaster進程負責數據庫并行回放的控制方法的初始化以及啟動過程。
3.根據權利要求2所述的控制方法,其特征在于,以表或頁面為單位對日志記錄進行所述哈希運算,所述哈希運算的過程包括:從日志記錄中解析出計算redo?worker序號的字段,通過哈希運算計算獲得redo?worker序號,將日志分發到對應的redo?worker進程的消息隊列進行回放。
4.根據權利要求3所述的控制方法,其特征在于,日志回放的過程中,需要根據數據庫當前狀態判斷是否需要恢復,如果需要則獲取恢復的起始位點以及目標恢復時間線進行日志恢復;恢復環境清理后退出日志回放。
5.根據權利要求4所述的控制方法,其特征在于,確認數據庫需要恢復的過程包括:需要恢復則啟動日志回放,通過檢查點文件讀取第一條需要回放日志,啟動并行日志回放,進入循環回放日志。
6.根據權利要求4所述的控制方法,其特征在于,循環回放日志的過程中,根據日志類型判斷日志是否分發,分發則將日志記錄分發到相應的消息隊列,否則直接進行回放,然后進行下一條日志記錄的讀取,按照上述方法進行判斷是否分發。
7.根據權利要求4所述的控制方法,其特征在于,在退出日志回放之前,讀取最后一個有效或回放日志記錄,記錄到日志文件中,檢查如果沒有恢復到一致點或結束點終止進程,釋放日志回放時申請的內存。
8.采用權利要求1-7任一項所述的數據庫并行回放的控制方法的控制系統,其特征在于,包括:
創建模塊:用于創建startup進程以及指定數據量的日志回放進程redo?worker以共享內存隊列;
分發模塊:用于startup進程從日志文件中按照順序讀取日志記錄,根據日志類型是否進行并行回放,如果是則進行哈希運算,根據哈希運算的結果將日志記錄分發到相應的redo?worker進行回放;
回放模塊:用于redo?worker回放進程根據初始化配置進行表級或頁級日志回放,在日志回放的同時提供對數據庫的只讀服務,保證讀取的數據在事務中的一致性。
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述程序執行時實現權利要求1-7任一項所述數據庫并行回放的控制方法的步驟。
10.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現如權利要求1-7任一項所述數據庫并行回放的控制方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京優炫軟件股份有限公司,未經北京優炫軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310269626.1/1.html,轉載請聲明來源鉆瓜專利網。





