[发明专利]一种关系型分布式数据库的分片存储方法及装置有效
申请号: | 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.vipzhuanli.com/pat/books/201811378143.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种区块链构建模型及构建方法
- 下一篇:一种结构化数据异地双读写方法