[發明專利]一種基于鍵值對的數據處理方法及系統有效
| 申請號: | 201510765510.2 | 申請日: | 2015-11-11 |
| 公開(公告)號: | CN105426451A | 公開(公告)日: | 2016-03-23 |
| 發明(設計)人: | 范叢明;黃超;馮駿 | 申請(專利權)人: | 深圳市華訊方舟科技有限公司;深圳市華訊方舟軟件信息有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳中一專利商標事務所 44237 | 代理人: | 張全文 |
| 地址: | 518000 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 鍵值 數據處理 方法 系統 | ||
技術領域
本發明屬于數據存儲技術領域,尤其涉及一種基于鍵值對的數據處理方法及系統。
背景技術
開源數據庫Redis是一個高性能的鍵值對數據庫,也稱非關系型數據庫,它支持主從同步,數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器,這使得Redis可執行單層樹復制。開源數據庫Redis的出現,很大程度補償了關系型數據庫存儲的不足,在部分場合可以對關系型數據庫起到很好的補充作用。隨著互聯網web2.0網站的興起,開源數據庫Redis已經成了一個極其熱門的新領域,非關系型數據庫產品的發展也非常迅速。但是,目前開源數據庫Redis的數據處理方式一般為單進程處理,當接收到客戶端發送的操作命令時,服務器端只能通過隊列的方式處理客戶端發送的操作命令,無法利用處理器的多核優勢進行并發處理,而單核處理能力有限,因此使得開源數據庫Redis的數據處理性能較低。此外,目前在部署數據庫時,由于單個數據庫實例性能瓶頸的問題,一般需要部署多個數據庫實例才能達到業務性能需求,這樣就需要投入大量的時間和人力對數據庫進行監控和運維,增加了數據庫管理的負擔。
發明內容
本發明實施例的目的在于提供一種基于鍵值對的數據處理方法及系統,旨在解決上述開源數據庫Redis的數據處理性能較低,并且需要投入大量的時間和人力對數據庫進行監控和運維,增加了數據庫管理的負擔的問題。
本發明實施例是這樣實現的,一種基于鍵值對的數據處理方法,包括:
服務器集群中的任一節點接收客戶端發送的數據庫鍵命令;
所述節點計算所述數據庫鍵命令中攜帶的key值所對應的哈希槽,并判斷所述哈希槽是否由自己負責;
若是,則所述節點執行所述數據庫鍵命令;
若否,則所述節點向所述客戶端返回moved錯誤的提示信息,使所述客戶端根據所述提示信息轉向所述服務器集群中正確的節點。
在本發明實施例所述的基于鍵值對的數據處理方法中,在服務器集群中的任一節點接收客戶端發送的數據庫鍵命令之前還包括:
將所述服務器集群中的多個哈希槽分別指派給所述服務器集群中的各個節點,并將所述多個哈希槽的指派信息存儲至所述服務器集群中的每個節點。
在本發明實施例所述的基于鍵值對的數據處理方法中,所述提示信息包括所述key值所對應的哈希槽被指派的節點名稱。
在本發明實施例所述的基于鍵值對的數據處理方法中,所述節點計算所述數據庫鍵命令中攜帶的key值所對應的哈希槽具體包括:
所述節點采用集群使用公式CRC16(key)%16384來計算key值所對應的哈希槽,其中,CRC16(key)語句用于計算key值的CRC16校驗和。
在本發明實施例所述的基于鍵值對的數據處理方法中,所述數據庫鍵命令包括get命令、set命令、del命令和hget命令。
本發明實施例的另一目的在于提供一種基于鍵值對的數據處理系統,包括位于服務器集群中節點內部的接收模塊、計算模塊、判斷模塊、執行模塊以及提示模塊,所述接收模塊、所述計算模塊、所述判斷模塊以及所述執行模塊依次連接,所述判斷模塊還與所述提示模塊連接,其中:
所述接收模塊,用于接收客戶端發送的數據庫鍵命令;
所述計算模塊,用于計算所述數據庫鍵命令中攜帶的key值所對應的哈希槽;
所述判斷模塊,用于判斷所述哈希槽是否由所述節點負責;
所述執行模塊,用于若是由所述節點負責,則執行所述數據庫鍵命令;
所述提示模塊,用于若不是由所述節點負責,則向所述客戶端返回moved錯誤的提示信息,使所述客戶端根據所述提示信息轉向所述服務器集群中正確的節點。
在本發明實施例所述的基于鍵值對的數據處理系統中,還包括與所述服務器集群中的節點相連的分配模塊和位于所述節點內部與所述分配模塊和所述判斷模塊連接的存儲模塊,其中:
所述分配模塊,用于將所述服務器集群中的多個哈希槽分別指派給所述服務器集群中的各個節點;
所述存儲模塊,用于存儲所述多個哈希槽的指派信息。
在本發明實施例所述的基于鍵值對的數據處理系統中,所述提示信息包括所述key值所對應的哈希槽被指派的節點名稱。
在本發明實施例所述的基于鍵值對的數據處理系統中,所述計算模塊具體用于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市華訊方舟科技有限公司;深圳市華訊方舟軟件信息有限公司,未經深圳市華訊方舟科技有限公司;深圳市華訊方舟軟件信息有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510765510.2/2.html,轉載請聲明來源鉆瓜專利網。





