System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及人工智能和金融科技,尤其涉及一種數據備份恢復方法、裝置、計算機設備及存儲介質。
技術介紹
1、在金融領域,數據的完整性、安全性和可恢復性至關重要。隨著金融業務的快速發展,數據量呈現爆炸式增長,傳統的關系型數據庫在處理大規模、高維度的向量數據時顯得力不從心。向量數據庫milvus作為一種專為向量數據設計的存儲和檢索系統,在金融領域得到了廣泛應用。它能夠高效地存儲和檢索金融交易記錄、用戶行為特征等向量數據,為金融風控、智能投顧等應用提供了強有力的支持。
2、為了滿足金融領域對數據備份恢復的高要求,milvus數據庫支持備份恢復功能。通過其客戶端工具milvus-backup,用戶可以輕松地執行create命令進行數據備份,以及執行restore命令進行數據恢復。更值得一提的是,milvus還支持基于庫和集合粒度的備份恢復,為金融用戶提供了更加靈活的數據管理手段。
3、然而,盡管milvus的備份恢復功能在數據文件的備份和恢復方面表現出色,但它存在一個顯著的缺陷:只能數據文件,而無法直接備份索引文件。這意味著在恢復數據時,需要根據已備份的索引元信息為新集合重新創建索引。索引節點在收到創建索引的命令后才開始執行索引構建過程。雖然這種設計在一定程度上提供了靈活性,例如恢復時可以指定集合的前后綴,但索引備份恢復的實現卻相對復雜。特別是在創建新集合并根據文件批量寫入數據后,由于數據組織結構的變化,舊的索引文件往往無法與新集合直接匹配。
4、對于金融領域而言,這種索引重建的過程不僅耗時較長,而且存在
技術實現思路
1、本申請實施例的目的在于提出一種數據備份恢復方法、裝置、計算機設備及存儲介質,以解決現有數據備份恢復方法無法備份索引文件,需要重新創建索引,導致備份恢復耗時較長,且時效不確定的技術問題。
2、為了解決上述技術問題,本申請實施例提供一種數據備份恢復方法,采用了如下所述的技術方案:
3、通過鍵值數據庫的監聽機制監聽所述鍵值數據庫中的備份鍵值對的更改事件;
4、接收備份請求,將所述備份請求封裝為備份請求事件,并將所述備份請求事件寫入所述備份鍵值對,觸發所述更改事件;
5、通過數據節點從消息中間件中獲取備份數據形成數據文件,并調用數據寫入指令將所述數據文件寫入預設的存儲位置,同時暫停消費消息中間件的消息;
6、在所述數據文件寫入完成后,通過所述數據節點上報所述數據文件的元數據,并將所述元數據寫入所述鍵值數據庫的指定集合;
7、根據所述指定集合生成索引請求,通過索引節點基于所述索引請求為所述指定集合構建索引文件;
8、通過循環調用應用程序接口監聽所述索引節點的索引構建狀態,根據所述索引構建狀態判斷所述索引文件是否構建完成,在所述索引文件構建完成時,調用備份線程執行快照備份操作;
9、基于所述快照備份操作依次備份所述數據文件、所述索引文件和所述指定集合的鍵值對,得到備份文件;
10、在快照備份完成后,往所述鍵值數據庫寫入備份完成事件,并通知所述數據節點恢復消費所述消息中間件的消息。
11、為了解決上述技術問題,本申請實施例還提供一種數據備份恢復裝置,采用了如下所述的技術方案:
12、事件監聽模塊,用于通過鍵值數據庫的監聽機制監聽所述鍵值數據庫中的備份鍵值對的更改事件;
13、事件寫入模塊,用于接收備份請求,將所述備份請求封裝為備份請求事件,并將所述備份請求事件寫入所述備份鍵值對,觸發所述更改事件;
14、數據寫入模塊,用于通過數據節點從消息中間件中獲取備份數據形成數據文件,并調用數據寫入指令將所述數據文件寫入預設的存儲位置,同時暫停消費消息中間件的消息;
15、上報模塊,用于在所述數據文件寫入完成后,通過所述數據節點上報所述數據文件的元數據,并將所述元數據寫入所述鍵值數據庫的指定集合;
16、索引構建模塊,用于根據所述指定集合生成索引請求,通過索引節點基于所述索引請求為所述指定集合構建索引文件;
17、狀態監聽模塊,用于通過循環調用應用程序接口監聽所述索引節點的索引構建狀態,根據所述索引構建狀態判斷所述索引文件是否構建完成,在所述索引文件構建完成時,調用備份線程執行快照備份操作;
18、備份模塊,用于基于所述快照備份操作依次備份所述數據文件、所述索引文件和所述指定集合的鍵值對,得到備份文件;
19、恢復模塊,用于在快照備份完成后,往所述鍵值數據庫寫入備份完成事件,并通知所述數據節點恢復消費所述消息中間件的消息。
20、為了解決上述技術問題,本申請實施例還提供一種計算機設備,采用了如下所述的技術方案:
21、該計算機設備包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令時實現如上所述的數據備份恢復方法的步驟。
22、為了解決上述技術問題,本申請實施例還提供一種計算機可讀存儲介質,采用了如下所述的技術方案:
23、所述計算機可讀存儲介質上存儲有計算機可讀指令,所述計算機可讀指令被處理器執行時實現如上所述的數據備份恢復方法的步驟。
24、與現有技術相比,本申請主要有以下有益效果:
25、本申請提供一種數據備份恢復方法,通過將備份請求封裝為備份請求事件寫入鍵值數據庫的備份鍵值對,并通過鍵值數據庫的監聽機制進行監聽,即通過鍵值數據庫封裝和監聽備份請求,實現備份過程的實時狀態管理;通過調用數據寫入指令將數據文件寫入預設的存儲位置,同時暫停消費消息中間件的消息,能夠避免備份期間數據變化,確保數據一致性;在數據文件寫入完成后,根據數據文件的元數據構建索引文件,在索引文件構建完成時,執行快照備份操作進行備份,能夠確保備份數據的一致性和完整性,提高了備份效率和可靠性;在備份完成后,恢復正常數據處理,數據恢復過程不需要再重新構建索引,能夠大大縮短數據恢復的時間,提高數據恢復的時效性,從而確保業務的連續性,在遇到生產緊急問題進行集群切換、快速恢復時可以滿足客戶時效要求,有效解決了分布式環境下數據備份恢復的一致性、完整性、可用性以及時效性問題。
本文檔來自技高網...【技術保護點】
1.一種數據備份恢復方法,其特征在于,包括下述步驟:
2.根據權利要求1所述的數據備份恢復方法,其特征在于,所述通過鍵值數據庫的監聽機制監聽所述鍵值數據庫中的備份鍵值對的更改事件的步驟包括:
3.根據權利要求1所述的數據備份恢復方法,其特征在于,所述將所述備份請求封裝為備份請求事件,并將所述備份請求事件寫入鍵值數據庫的備份鍵值對的步驟包括:
4.根據權利要求1所述的數據備份恢復方法,其特征在于,所述通過數據節點從消息中間件中獲取備份數據形成數據文件的步驟包括:
5.根據權利要求1所述的數據備份恢復方法,其特征在于,所述通過索引節點基于所述索引請求為所述指定集合構建索引文件的步驟包括:
6.根據權利要求1所述的數據備份恢復方法,其特征在于,在所述基于所述快照備份操作依次備份所述數據文件、所述索引文件和所述指定集合的鍵值對,得到備份文件的步驟之后還包括:
7.根據權利要求1所述的數據備份恢復方法,其特征在于,在所述通知所述數據節點恢復消費所述消息中間件的消息的步驟之后還包括:
8.一種數據備份恢復裝置
9.一種計算機設備,其特征在于,包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令時實現如權利要求1至7中任一項所述的數據備份恢復方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機可讀指令,所述計算機可讀指令被處理器執行時實現如權利要求1至7中任一項所述的數據備份恢復方法的步驟。
...【技術特征摘要】
1.一種數據備份恢復方法,其特征在于,包括下述步驟:
2.根據權利要求1所述的數據備份恢復方法,其特征在于,所述通過鍵值數據庫的監聽機制監聽所述鍵值數據庫中的備份鍵值對的更改事件的步驟包括:
3.根據權利要求1所述的數據備份恢復方法,其特征在于,所述將所述備份請求封裝為備份請求事件,并將所述備份請求事件寫入鍵值數據庫的備份鍵值對的步驟包括:
4.根據權利要求1所述的數據備份恢復方法,其特征在于,所述通過數據節點從消息中間件中獲取備份數據形成數據文件的步驟包括:
5.根據權利要求1所述的數據備份恢復方法,其特征在于,所述通過索引節點基于所述索引請求為所述指定集合構建索引文件的步驟包括:
6.根據權利要求1所述的數據備份恢復方法,其特征...
【專利技術屬性】
技術研發人員:劉希,萬書武,蔣英明,王文理,
申請(專利權)人:平安科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。