[發明專利]分布式數據庫系統、數據庫訪問方法及裝置有效
| 申請號: | 201510863721.X | 申請日: | 2015-11-30 |
| 公開(公告)號: | CN106815251B | 公開(公告)日: | 2019-09-03 |
| 發明(設計)人: | 羅勱;劉權章 | 申請(專利權)人: | 成都華為技術有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/182 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 羅振安 |
| 地址: | 610041 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 數據庫 系統 訪問 方法 裝置 | ||
本發明公開了一種分布式數據庫系統、數據庫訪問方法及裝置,屬于網絡存儲領域。所述方法包括:數據庫集群節點通過線程向數據庫主節點發送訪問請求,數據庫主節點將訪問請求存儲至分發隊列,并向數據庫集群節點發送接收響應使數據庫集群節點掛起該線程,數據庫主節點從分發隊列依次獲取訪問請求,根據訪問請求從共享文件系統中讀數據或寫數據,向數據庫集群節點發送返回響應。本發明通過數據庫主節點能接收并發的訪問請求,并通過分發隊列逐個執行訪問請求,而不會出現卡死的現象,使Sqlite數據庫也能支持共享文件系統的并發機制,擴大了Sqlite數據庫的使用范圍。
技術領域
本發明實施例涉及網絡存儲領域,特別涉及一種分布式數據庫系統、數據庫訪問方法及裝置。
背景技術
Sqlite數據庫是一種輕量級數據庫。Sqlite數據庫具有無需安裝即可動態使用的特點。Sqlite數據庫常應用于移動操作系統,比如安卓(Android)系統和IOS系統。Sqlite數據庫在單機性質的移動操作系統上具有非常優秀的性能。
目前,現有技術也存在將Sqlite數據庫應用于分布式數據庫的場景。分布式數據庫采用了共享文件系統,該共享文件系統包括分散設置的多個數據存儲節點,多個數據存儲節點之間通過網絡相連,每個數據存儲節點上設置有一個Sqlite數據庫。
在實現本發明實施例的過程中,發明人發現現有技術至少存在以下問題:在實際使用中發現,Sqlite數據庫對共享文件系統的支持較差。在并發訪問共享文件系統的場景中,很容易出現卡死的現象。并發訪問時指存在多個業務節點同時請求訪問共享文件系統。
發明內容
為了解決現有技術的問題,本發明實施例提供了一種基于共享文件系統的分布式數據庫系統、訪問方法及裝置。所述技術方案如下:
第一方面,提供了一種分布式數據庫系統。該分布式數據庫系統包括:n個數據庫集群節點、數據庫主節點和共享文件系統,n≥3。數據庫集群節點,用于通過線程向數據庫主節點發送訪問請求;數據庫主節點,用于接收數據庫集群節點發送的訪問請求;將訪問請求存儲至分發隊列,并向數據庫集群節點發送接收響應;數據庫集群節點,還用于根據接收響應掛起線程;數據庫主節點,還用于從分發隊列依次獲取訪問請求;根據訪問請求從共享文件系統中讀數據或寫數據;向數據庫集群節點發送訪問請求的返回響應;數據庫集群節點,用于接收返回響應;根據返回響應喚醒線程。
本發明實施例提供的分布式數據庫系統,當多個數據庫集群節點并發訪問數據庫主節點時,數據庫主節點同時接收多個訪問請求并存儲至分發隊列,再從分發隊列中逐個獲取訪問請求并執行,使得在使用Sqlite數據庫的共享文件系統中,數據庫主節點能接收和處理并發的多個訪問請求,而不會出現卡死的現象,使Sqlite數據庫也能實現共享文件系統的并發機制,擴大了Sqlite數據庫的使用范圍。
在第一方面的第一種可能的實施方式中,在數據庫主節點根據訪問請求從共享文件系統中寫數據的方面:數據庫主節點,用于解析訪問請求;當訪問請求的類型為寫請求且寫任務線程為空閑時,提交與訪問請求對應的寫任務至寫任務線程,寫任務線程用于根據寫任務向共享文件系統寫入數據。在本實施方式中,通過使用數據庫主節點對訪問請求進行解析并獲得訪問請求的類型,對于寫請求,提交到寫任務線程,能將讀任務和寫任務分開執行,互不影響,保證了數據的一致性。
在第一方面的第二種可能的實施方式中,在數據庫主節點根據訪問請求從共享文件系統中讀數據的方面:數據庫主節點,用于解析訪問請求;當訪問請求的類型為讀請求時,提交與訪問請求對應的讀任務至讀任務線程,讀任務線程用于為讀任務分配獨立的數據庫句柄;根據數據庫句柄和讀任務從共享文件系統讀數據。在本實施方式中,通過使用數據庫主節點對訪問請求進行解析獲得訪問請求的類型,對于讀請求,提交到讀任務線程,能將讀任務和寫任務分開執行,互不影響,保證了數據的一致性。通過為讀任務分配獨立的數據庫句柄,使讀任務之間互相獨立,達到了可以并發讀取數據的效果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都華為技術有限公司,未經成都華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510863721.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種發送數據的方法、數據服務器以及服務器
- 下一篇:一種搜索方法和設備





