[發明專利]一種用于多副本分布式系統的計算機數據讀寫方法有效
| 申請號: | 201310475697.3 | 申請日: | 2013-10-12 |
| 公開(公告)號: | CN103530362B | 公開(公告)日: | 2017-01-04 |
| 發明(設計)人: | 汪東升;王占業;鞠大鵬 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京清亦華知識產權代理事務所(普通合伙)11201 | 代理人: | 羅文群 |
| 地址: | 100084*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 副本 分布式 系統 計算機 數據 讀寫 方法 | ||
1.一種用于多副本分布式系統的計算機數據讀寫方法,多副本分布式系統內的每份數據有N個副本,N為奇數,定義N個副本中的任意一個副本為主副本,主副本用于接受計算機用戶的寫請求,N份副本用于接受讀請求,其特征在于該方法中的數據寫操作包括以下步驟:
(1)計算機用戶向多副本分布式系統發起一個寫請求,寫請求數據的標識記為K,并將寫請求發送至標識為K的數據的主副本所在計算機節點;
(2)主副本所在計算機節點接收到寫請求后,調用多副本分布式系統的接口,該接口利用網絡時間協議,從本計算機節點中讀取當前時間,記為操作時間戳ts,并將操作時間戳ts與標識K發送給標識為K的數據的其余N‐1份副本所在的計算機節點,N‐1份副本所在的計算機節點接收到操作時間戳ts與標識K后,向主副本所在計算機節點發出接收確認;
(3)主副本所在計算機節點接收到(N‐1)/2份接收確認后,將標識為K的數據寫入成功的信息通知計算機用戶;
(4)主副本所在計算機節點生成一個與操作時間戳ts數值相同的數據時間戳ts_data,調用多副本分布式系統的接口,向其余N‐1份副本所在的計算機節點發送標識K、數據時間戳ts_data以及請求寫入的標識為K的數據;
(5)除主副本外其余N‐1份副本所在計算機節點接收到主副本所在計算機節點發出的標識K、數據時間戳ts_data以及請求寫入的標識為K的數據,寫操作結束;
數據讀操作包括以下步驟:
(6)計算機用戶向多副本分布式系統發起一個讀請求,讀請求數據的標識記為J,計算機用戶調用多副本分布式系統的接口,向標識為J的數據的所有N份副本所在計算機節點發送一個讀取請求,并等待N份副本所在計算機節點的接收確認;
(7)標識為J的數據的副本所在計算機節點接收到計算機用戶的上述讀請求后,從本計算機節點內檢索標識為J的數據的操作時間戳ts和數據時間戳ts_data,若操作時間戳ts與數據時間戳ts_data同時被檢索出,則向計算機用戶發送操作時間戳ts作為確認信息,若操作時間戳ts與數據時間戳ts_data中的任意一個未被檢索出,則向計算機用戶發送一個字符串“Null”作為確認信息;
(8)計算機用戶接收到(N+1)/2份標識為J的數據的副本所在計算機節點發送的確認信息后,根據確認信息進行如下動作:若接收到的(N+1)/2份確認信息全部為“Null”字符串,則調用多副本分布式系統的接口,向標識為J的數據的主副本所在計算機節點讀取數據標識為J的數據的副本,若接收到的(N+1)/2份確認信息中,有一個或一個以上為操作時間戳ts,則計算機用戶從所有操作時間戳ts中選出最新的操作時間戳ts,并調用多副本分布式系統的接口,向發送最新操作時間戳ts的計算機節點讀取數據標識為J的數據的副本;
(9)計算機用戶接收標識為J的數據的副本,讀操作結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310475697.3/1.html,轉載請聲明來源鉆瓜專利網。





