[發明專利]一種關系型分布式數據庫的分片存儲方法及裝置有效
| 申請號: | 201811378143.0 | 申請日: | 2018-11-19 |
| 公開(公告)號: | CN109635037B | 公開(公告)日: | 2022-12-09 |
| 發明(設計)人: | 周曉聰;尹林楓 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/28;G06F16/22 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 林麗明 |
| 地址: | 510260 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 關系 分布式 數據庫 分片 存儲 方法 裝置 | ||
1.一種關系型分布式數據庫的分片存儲方法,其特征在于,包括如下步驟:
S10基于系統數據庫建立有向圖數據庫模型,建立有向圖數據庫模型的步驟包括:
以系統數據表為模型的節點及以系統數據表之間外鍵約束關系為兩個節點間有向邊生成的系統有向圖;
將系統有向圖轉化的鄰接矩陣;
在鄰接矩陣以入度為0的某一節點為起點遍歷其他節點獲得的路徑集;
對路徑集按節點個數多少進行排序獲得的節點有向序列集;
基于節點有向序列集有向性求解所得的有向圖各個節點的最小有向距離;
S20輸入待存儲數據表、其與具有對應外鍵約束關系節點之間的有效距離至有向圖數據庫模型;
S30分片存儲數據表:待存儲數據表作為表節點基于節點有向序列集有向性遍歷遞歸路徑集,將表節點加入到在路徑集有效距離范圍內的節點有向序列集;
S40生成新的路徑集,具體步驟為:
S401在鄰接矩陣尋找入度為0的節點作為表節點啟動遍歷查找;
S402判斷該節點是否被訪問過,若被訪問過,則標記該節點,且返回S401;若未被訪問過,則進入S403;
S403從該節點沿著路徑集中其對應的路徑深度遞歸遍歷,直至該節點無路可走;
S404由該節點的所有遍歷路徑生成新的路徑集;
子路徑是指被另一條節點路徑完全包含的節點路徑,所述S404之后還包括:
S405識別并刪除表節點的子路徑,生成新的路徑集。
2.如權利要求1所述的關系型分布式數據庫的分片存儲方法,其特征在于,所述系統數據表之間的外鍵約束關系為以下三種約束關系的其中之一:
直接外鍵約束關系:創建數據表時,直接使用SQL語句指定的外鍵約束關系;
傳遞外鍵約束關系:數據表A的字段參照數據表B的主鍵字段,數據表B的字段參照數據表C的主鍵字段,數據表A的參照字段與數據表C的主鍵字段是傳遞外鍵約束關系;
隱式外鍵約束關系:數據表B的字段參照數據表A的主鍵字段,表C的字段參照數據表A的主鍵字段,數據表B與數據表C的參照字段是隱式外鍵約束關系。
3.如權利要求1所述的關系型分布式數據庫的分片存儲方法,其特征在于,所述求解所得的有向圖各個節點的最小有向距離的方法采用弗洛伊德算法。
4.如權利要求1所述的關系型分布式數據庫的分片存儲方法,其特征在于,所述對路徑集按節點個數多少進行排序是根據路徑節點個數從小到大的順序進行的排序。
5.一種關系型分布式數據庫的分片存儲裝置,其特征在于,包括:
建模模塊,用于基于系統數據庫建立有向圖數據庫模型,建立有向圖數據庫模型的步驟包括:以系統數據表為模型的節點及以系統數據表之間外鍵約束關系為兩個節點間有向邊生成的系統有向圖;將系統有向圖轉化的鄰接矩陣;在鄰接矩陣以入度為0的某一節點為起點遍歷其他節點獲得的路徑集;對路徑集按節點個數多少進行排序獲得的節點有向序列集;基于節點有向序列集有向性求解所得的有向圖各個節點的最小有向距離;
輸入模塊,用于輸入待存儲數據表、其與具有對應外鍵約束關系節點之間的有效距離至有向圖數據庫模型;
分片存儲模塊,用于以待存儲數據表作為表節點基于節點有向序列集有向性遍歷遞歸路徑集,將表節點加入到在路徑集有效距離范圍內的節點有向序列集;
所述建模模塊包括:
第一生成單元,用于以系統數據表為模型的節點及以系統數據表之間外鍵約束關系為兩個節點間有向邊生成的系統有向圖;
轉化單元,用于將系統有向圖轉化的鄰接矩陣;
第二生成單元,用于在鄰接矩陣以入度為0的某一節點為起點遍歷其他節點獲得的路徑集;
排序單元,用于對路徑集按節點個數多少進行排序獲得的節點有向序列集;
求解單元,用于基于節點有向序列集有向性求解所得的有向圖各個節點的最小有向距離;
所述第二生成單元包括:
尋找子單元,用于尋找無有向邊指向的節點作為起點啟動遍歷查找;
第一判斷子單元,用于判斷該節點是否被訪問過,若被訪問過,則標記該節點,且返回尋找子單元;若未被訪問過,則進入遍歷子單元;
遍歷子單元,用于從該節點沿著路徑集中其對應的路徑深度遞歸遍歷,直至該節點無路可走;
生成子單元,用于由所有節點的遍歷路徑生成路徑集;
第二判斷子單元,用于識別節點子路徑;
刪除子單元,用于刪除節點子路徑。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811378143.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種區塊鏈構建模型及構建方法
- 下一篇:一種結構化數據異地雙讀寫方法





