[發明專利]數據寫入方法、裝置和電子設備在審
| 申請號: | 202011167636.7 | 申請日: | 2020-10-27 |
| 公開(公告)號: | CN114489464A | 公開(公告)日: | 2022-05-13 |
| 發明(設計)人: | 張丞 | 申請(專利權)人: | 北京金山云網絡技術有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京超凡宏宇專利代理事務所(特殊普通合伙) 11463 | 代理人: | 徐麗 |
| 地址: | 100000 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 寫入 方法 裝置 電子設備 | ||
1.一種數據寫入方法,其特征在于,所述方法包括:
接收針對目標數據的數據寫入請求;
基于存儲節點的運行狀態,確定用于寫入所述目標數據的目標存儲塊;其中,所述目標存儲塊的主副本設置在本地節點;所述目標存儲塊的從副本,設置在除所述本地節點以外的存儲節點;
將所述目標數據寫入所述目標存儲塊的主副本和從副本中。
2.根據權利要求1所述的方法,其特征在于,所述存儲節點的運行狀態包括正常狀態和異常狀態;所述異常狀態的存儲節點的節點信息保存在預設的狀態存儲單元;
所述基于存儲節點的運行狀態,確定用于寫入所述目標數據的目標存儲塊的步驟,包括:
基于所述狀態存儲單元保存的節點信息,確定異常狀態的存儲節點;
將設置在處于所述異常狀態的存儲節點的從副本,確定為異常副本;
從所述本地節點對應的多個存儲塊中,將所述異常副本對應的存儲塊之外的存儲塊,確定為備選存儲塊;
從所述備選存儲塊中,確定用于寫入所述目標數據的目標存儲塊。
3.根據權利要求2所述的方法,其特征在于,所述從所述備選存儲塊中,確定用于寫入所述目標數據的目標存儲塊的方式,包括下述中的一種:
將所述備選存儲塊中,最后一次寫入數據的時間距離當前時間最近的備選存儲塊確定為所述目標存儲塊;
從所述備選存儲塊中,將存儲空間剩余量最大的所述備選存儲塊確定為所述目標存儲塊;
從所述備選存儲塊中,隨機確定一個備選存儲塊作為所述目標存儲塊。
4.根據權利要求1所述的方法,其特征在于,所述將所述目標數據寫入所述目標存儲塊的主副本和從副本中的步驟之后,所述方法還包括:
如果接收到所述從副本所處的存儲節點返回的寫入失敗消息,將所述從副本所處的存儲節點確定為處于異常狀態的存儲節點,提取所述寫入失敗消息攜帶的節點信息;其中,所述節點信息包括IP地址和端口號;
將提取到的所述節點信息保存至預設的狀態存儲單元;其中,所述狀態存儲單元中保存有處于異常狀態的存儲節點的節點信息。
5.根據權利要求4所述的方法,其特征在于,所述將提取到的所述節點信息保存至預設的狀態存儲單元的步驟之后,所述方法還包括:
向返回寫入失敗消息的存儲節點發送所述目標數據的數據寫入請求;
如果返回寫入失敗消息的所述存儲節點返回寫入成功消息,將所述存儲節點的節點信息從所述狀態存儲單元中刪除;
如果返回寫入失敗消息的所述存儲節點返回寫入失敗消息,繼續執行向返回寫入失敗消息的存儲節點發送目標數據的數據寫入請求,直到所述存儲節點返回寫入成功消息。
6.根據權利要求2所述的方法,其特征在于,所述狀態存儲單元保存的節點信息,通過下述方式獲得:
通過主動探測器,檢測所述存儲節點的運行狀態;
如果檢測到所述存儲節點處于異常狀態,將所述存儲節點的節點信息保存至所述狀態存儲單元。
7.根據權利要求2所述的方法,其特征在于,所述狀態存儲單元保存的節點信息,通過下述方式獲得:
接收所述存儲節點發送的節點狀態信息;
如果所述節點狀態信息指示所述存儲節點處于異常狀態,將所述存儲節點的節點信息保存至所述狀態存儲單元。
8.根據權利要求1所述的方法,其特征在于,所述存儲節點的運行狀態包括正常狀態和異常狀態;所述基于存儲節點的運行狀態,確定用于寫入所述目標數據的目標存儲塊的步驟,包括:
將設置在處于所述正常狀態的存儲節點的從副本,確定為正常副本;
從所述本地節點對應的多個存儲塊中,將所述正常副本對應的存儲塊,確定為待選存儲塊;
從所述待選存儲塊中,確定用于寫入所述目標數據的目標存儲塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京金山云網絡技術有限公司,未經北京金山云網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011167636.7/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





