[發明專利]一種強一致性的分布式鍵值數據庫系統及其讀寫方法有效
| 申請號: | 201310131454.8 | 申請日: | 2013-04-16 |
| 公開(公告)號: | CN103268318A | 公開(公告)日: | 2013-08-28 |
| 發明(設計)人: | 馮丹;黨永興;譚支鵬;孫建良;徐鵬;劉景寧 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 一致性 分布式 鍵值 數據庫 系統 及其 讀寫 方法 | ||
1.一種強一致性的分布式鍵值數據庫系統,包括客戶端和數據服務器集群,客戶端包括哈希模塊、定位模塊和轉發模塊,數據服務器集群包括多個數據區間,每個數據區間包括一個主節點和多個從節點,主節點包括第一讀模塊、寫模塊、第一恢復模塊、第一日志模塊、第一決議模塊、第一存儲引擎模塊,從節點包括第二讀模塊、第二決議模塊、第二日志模塊、第二恢復模塊、第二存儲引擎模塊,其特征在于,
哈希模塊用于接收從客戶發來的寫請求,并根據寫請求的鍵將該寫請求定位到數據區間,每個寫請求都具有一個系統自動分配的編號;
定位模塊用于將寫請求定位到數據區間的主節點;
轉發模塊用于將寫請求發送到主節點的寫模塊;
主節點的寫模塊用于將寫請求發送到第一日志模塊和第一決議模塊;
第一日志模塊用于將寫請求寫入日志;
第一決議模塊用于將寫請求發送到多個從節點的第二決議模塊;
從節點的第二決議模塊用于將寫請求發送到第二日志模塊,并將應答信息發送到主節點的第一決議模塊;
第二日志模塊用于將寫請求寫入日志;
第一決議模塊還用于統計來自從節點的第二決議模塊的應答信息的數量,并判斷其是否大于從節點數量的一半,如果大于則表示該寫請求可以被繼續執行,將寫請求寫入主節點的第一存儲引擎模塊,否則過程結束;
第一決議模塊還用于定時將提交信息發送到從節點的第二決議模塊;
第二決議模塊還用于根據接收到的提交信息將寫請求寫入第二存儲引擎模塊;
哈希模塊還用于接收從客戶發來的讀請求,并根據讀請求的鍵值將該讀請求定位到相應的數據區間;
定位模塊還用于判斷讀請求是否需要讀取最新的數據,若是則將該讀請求定位到數據區間的主節點,否則將該讀請求定位到數據空間的主節點或任意從節點;
轉發模塊還用于將讀請求發送到定位模塊所定位到的主節點的第一讀模塊或者從節點的第二讀模塊;
第一讀模塊用于從轉發模塊接收讀請求,并從第一存儲引擎模塊中讀取所需數據,并將數據返回給客戶端;
第二讀模塊用于從轉發模塊接收讀請求,并從第二存儲引擎模塊中讀取所需數據,并將數據返回給客戶端。
2.根據權利要求1所述的分布式鍵值數據庫系統,其特征在于,第一決議模塊具體是從系統中得到該主節點所屬數據區間的從節點ip列表,然后根據ip逐個給從節點發送寫請求以及該寫請求的編號。
3.根據權利要求1所述的分布式鍵值數據庫系統,其特征在于,第二決議模塊具體是首先獲得該從節點已經收到的寫請求的最大編號x,并跟當前收到的寫請求編號y相比,如果x+1=y,則第二決議模塊會給主節點發送應答信息,如果x+1≠y,則第二決議模塊不會給主節點發送應答信息。
4.根據權利要求1所述的分布式鍵值數據庫系統,其特征在于,提交信息為主節點最近處理的寫請求的編號。
5.根據權利要求1所述的分布式鍵值數據庫系統,其特征在于,
第一存儲引擎模塊和第二存儲引擎模塊完全相同,且均為改進的Leveldb存儲庫,且采用二級緩存隊列的方式;
Leveldb存儲庫中的二級緩存采用固態硬盤,用于緩存內存中有的SSTable的真實數據;
Leveldb存儲庫中的一級緩存采用內存,用于緩存SSTable的元信息;
內存和SSD的緩存置換算法都采用LRU算法。
6.根據權利要求5所述的分布式鍵值數據庫系統,其特征在于,第二決議模塊根據寫請求的信息中的鍵值,通過Leveldb存儲庫的寫方法,將該條鍵值記錄寫入Leveldb存儲庫中。
7.根據權利要求1所述的分布式鍵值數據庫系統,其特征在于,第一讀模塊和第二讀模塊具體是根據讀請求的信息中的鍵,通過Leveldb存儲庫的讀方法,從Leveldb存儲庫中讀取到鍵所對應的值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310131454.8/1.html,轉載請聲明來源鉆瓜專利網。





