CN109635037A - 一种关系型分布式数据库的分片存储方法及装置 - Google Patents
一种关系型分布式数据库的分片存储方法及装置 Download PDFInfo
- Publication number
- CN109635037A CN109635037A CN201811378143.0A CN201811378143A CN109635037A CN 109635037 A CN109635037 A CN 109635037A CN 201811378143 A CN201811378143 A CN 201811378143A CN 109635037 A CN109635037 A CN 109635037A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- digraph
- tables
- path set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000012634 fragment Substances 0.000 title claims abstract description 26
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims abstract description 32
- 238000012217 deletion Methods 0.000 claims abstract description 4
- 230000037430 deletion Effects 0.000 claims abstract description 4
- 108010001267 Protein Subunits Proteins 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- SCKSZDPELRSPES-UHFFFAOYSA-N 4-(4-chlorophenyl)benzene-1,2-diol Chemical group C1=C(O)C(O)=CC=C1C1=CC=C(Cl)C=C1 SCKSZDPELRSPES-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000545 stagnation point adsorption reflectometry Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种关系型分布式数据库的分片存储方法及装置,本装置用于实现本方法,本方法为以数据表为节点,以数据表间的外键约束关系为两节点间的有向边,生成有向图;将有向图转化为有向图的邻接矩阵;输入有向图的邻接矩阵及待添加节点的有效距离;对邻接矩阵的节点进行路径查找,获取所有节点路径生成路径集;删除所有节点路径的子路径获得有效路径集;将有效路径集排序成有序路径序列集;求解有向图中各个节点最小有向距离;按照排序序列遍历路径集,完成有效距离范围内的节点添加,重返删除、排序及求解步骤。本发明实现将存在连接关系的数据表划分到一个数据存储节点,有效避免数据表跨存储节点的连接操作。
Description
技术领域
本发明涉及数据存储领域,特别涉及一种关系型分布式数据库的分片存储方法及装置。
背景技术
随着数据量的猛增,一个节点的数据存储结构已经无法满足用户的访问需求,为了解决这个问题,一般会采用分布式的存储结构。这种结构将数据按照一定的规则存储到不同的数据节点上,有效的解决了一个数据存储节点无法承受大量数据访问的问题。那么应该按照什么规则将各个数据表划分到不同的数据节点,有人提出了一种针对社交网络数据进行分库的方法,这种方法首先使用贝叶斯方法识别出网络中的块结构,然后将得到的每个块映射到一个数据库;有人提出使用聚类分析完成对社交化网络数据库进行分库;有人部署并评估了企业优化引擎—Hermans,根据通信数据分析生成用户的社交图,并对用户进行空间并置,将空间分布紧密的用户放在同一个服务器上,减少邮件收发双方的邮件副本的二次存储空间浪费;有人提出一种可以自由设定分段范围的分库方法;有人研究了一个系统—Volley,依照用户的访问日志,将数据服务器按照地理分布进行划分,就是让信息的接收者更加靠近信息源;有人提出了一致性Hash算法;有人研发的SPAR系统将社交网络中的用户和所有邻居用户数据都放置在一个服务器上;有人提出一种支持自由规划的分库扩容方案;还有常用的水平切分或垂直切分方法,水平切分就是将数据表行按照一定的规则存储到不同的数据节点,垂直切分就是按照功能模块将数据表存储到不同的数据节点。在将数据表划分到不同存储节点的过程,数据表的连接操作是一个很重要的问题,而上述划分方法在对数据进行划分的过程中,没有考虑数据表的连接操作,这样将会出现跨存储节点的数据表连接操作,使操作数据库的性能很差。
发明内容
本发明的主要目的是提出一种关系型分布式数据库的分片存储方法,旨在克服以上问题。
为实现上述目的,本发明提出的一种关系型分布式数据库的分片存储方法,包括如下步骤:
S10基于系统数据库建立有向图数据库模型,有向图数据库模型包括:
以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图;
将系统有向图转化的邻接矩阵;
在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集;
对路径集按节点个数多少进行排序获得的节点有向序列集;
基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离;
S20输入待存储数据表、其与具有对应外键约束关系节点之间的有效距离至有向图数据库模型;
S30分片存储数据表:以待存储数据表作为表节点基于节点有向序列集有向性遍历递归路径集,将表节点加入到在路径集有效距离范围内的节点有向序列集。
优选地,所述系统数据表之间的外键约束关系为以下三种约束关系的其中之一:
直接外键约束关系:创建数据表时,直接使用SQL语句指定的外键约束关系;
传递外键约束关系:数据表A的字段参照数据表B的主键字段,数据表B 的字段参照数据表C的主键字段,数据表A的参照字段与数据表C的主键字段是传递外键约束关系;
隐式外键约束关系:数据表B的字段参照数据表A的主键字段,表C的字段参照数据表A的主键字段,数据表B与数据表C的参照字段是隐式外键约束关系。
优选地,所述S30之后还包括S40:
S401在邻接矩阵寻找入度为0的节点作为表节点启动遍历查找;
S402判断该节点是否被访问过,若被访问过,则标记该节点,且返回S401;若未被访问过,则进入S403;
S403从该节点沿着路径集中其对应的路径深度递归遍历,直至该节点无路可走;
S404由该节点的所有遍历路径生成新的路径集。
优选地,子路径是指被另一条节点路径完全包含的节点路径,所述S404 之后还包括:
S405删除表节点的子路径,生成新的路径集。
优选地,所述S404之后还包括:
S405识别并删除表节点的子路径,生成新的路径集。
优选地,所述求解所得的有向图各个节点的最小有向距离的方法采用佛洛依德算法。
优选地,所述对路径集按节点个数多少进行排序是根据路径节点个数从小到大的顺序进行的排序。
本发明还公开了一种关系型分布式数据库的分片存储装置,包括:
建模模块,用于基于系统数据库建立有向图数据库模型,有向图数据库模型包括:以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图、将系统有向图转化的邻接矩阵、在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集、对路径集按节点个数多少进行排序获得的节点有向序列集、基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离;
输入模块,用于输入待存储数据表、其与具有对应外键约束关系节点之间的有效距离至有向图数据库模型;
分片存储模块,用于以待存储数据表作为表节点基于节点有向序列集有向性遍历递归路径集,将表节点加入到在路径集有效距离范围内的节点有向序列集。
优选地,所述建模模块包括:
第一生成单元,用于以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图;
转化单元,用于将系统有向图转化的邻接矩阵;
第二生成单元,用于在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集;
排序单元,用于对路径集按节点个数多少进行排序获得的节点有向序列集;
求解单元,用于基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离。
优选地,所述第二生成单元包括:
寻找子单元,用于寻找无有向边指向的节点作为起点启动遍历查找;
第一判断子单元,用于判断该节点是否被访问过,若被访问过,则标记该节点,且返回寻找单元;若未被访问过,则进入遍历单元;
遍历子单元,用于从该节点沿着路径集中其对应的路径深度递归遍历,直至该节点无路可走;
生成子单元,用于由所有节点的遍历路径生成路径集;
第二判断子单元,用于识别节点子路径;
删除子单元,用于删除节点子路径。
本发明将系统数据库抽像为有向图数据库模型,该模型包括系统有向图、邻接矩阵、路径集、节点有向序列集、最小有向距离等特征,将存在外键约束关系的数据表作为有向图一个表节点,在有向图数据库模型的路径集基于节点有向序列集遍历递归,将表节点加入到在路径集有效距离范围内的节点有向序列集。这样,实现了将在约束关系的数据表划分到同一个数据表节点,有效避免数据表跨存储节点的连接操作。
本发明还通过将外键约束关系定义为以下三种约束关系的其中之一:
直接外键约束关系、传递外键约束关系、隐式外键约束关系,进一步地,将用户数据表划分到相对应外键约束关系的数据存储节点,避免出现跨节点表连接操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本方法一实施例的方法流程图;
图2为本方法另一实施例的方法流程图;
图3为本装置一实施例的功能模块图;
图4为本装置的所述建模模块的功能模块细化图;
图5为本装置的所述第二生成单元的功能模块细化图;
图6为本发明实操实例的有向图;
图7为本发明实操实例的邻接矩阵示意图;
图8为本发明实操实例的各个节点间有向最小距离示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1-8所示,本发明提出的一种关系型分布式数据库的分片存储方法,包括如下步骤:
S10基于系统数据库建立有向图数据库模型,有向图数据库模型包括:
以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图;
将系统有向图转化的邻接矩阵;
在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集;
对路径集按节点个数多少进行排序获得的节点有向序列集;
基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离;
S20输入待存储数据表、其与具有对应外键约束关系节点之间的有效距离至有向图数据库模型;
S30分片存储数据表:待存储数据表作为表节点基于节点有向序列集有向性遍历递归路径集,将表节点加入到在路径集有效距离范围内的节点有向序列集。
优选地,所述系统数据表之间的外键约束关系为以下三种约束关系的其中之一:
直接外键约束关系:创建数据表时,直接使用SQL语句指定的外键约束关系;
传递外键约束关系:数据表A的字段参照数据表B的主键字段,数据表B 的字段参照数据表C的主键字段,数据表A的参照字段与数据表C的主键字段是传递外键约束关系;
隐式外键约束关系:数据表B的字段参照数据表A的主键字段,表C的字段参照数据表A的主键字段,数据表B与数据表C的参照字段是隐式外键约束关系。
优选地,所述S30之后还包括S40:
S401在邻接矩阵寻找入度为0的节点作为表节点启动遍历查找;
S402判断该节点是否被访问过,若被访问过,则标记该节点,且返回S401;若未被访问过,则进入S403;
S403从该节点沿着路径集中其对应的路径深度递归遍历,直至该节点无路可走;
S404由该节点的所有遍历路径生成新的路径集。
优选地,子路径是指被另一条节点路径完全包含的节点路径,所述S404 之后还包括:
S405删除表节点的子路径,生成新的路径集。
优选地,所述S404之后还包括:
S405识别并删除表节点的子路径,生成新的路径集。
优选地,所述求解所得的有向图各个节点的最小有向距离的方法采用佛洛依德算法。
优选地,所述对路径集按节点个数多少进行排序是根据路径节点个数从小到大的顺序进行的排序。
在本发明实施例中,本发明先基于系统数据库建立有向图数据库模型,该模型由7个程序执行完成,其主干程序为Algorithm1,其他程序都被Algorithm1调用,为了实现将存在外键约束关系的数据表划分到一个数据节点,需要将所有的数据表以及数据表之间的外键约束转化为一个有向图,每个数据表定义为有向图中的一个数据节点,每个外键约束关系定义为两个节点之间的一条有向边,如果表B引用表A的主键作为外键,那么在有向图中就会有一条从B指向A的有向箭头。得到了数据表的有向图后,执行这7个算法程序,完成将数据表划分到不同数据节点,避免跨节点连接操作。
主干程序Algorithm1具体为:
Algorithm2:SearchPath(用来实现基于邻接矩阵的深度查询,找到所有的路径,生成路径集)
(1)输入邻接矩阵
(2)输出路径集
(3)以邻接矩阵的入度为0的节点为起点进行遍历查找,满足条件开始查找,这里所说的条件为:入度为0且未被访问过的节点。查找过程调用 Algorithm3:识别节点是否被访问,被访问过的节点入度标记为1,就此止步;未被访问过的节点开始深度递归遍历,直至无路可走时返回路径,并将访节点遍历历经路径加入路径集,形成新的路径集。
Algorithm4:DeleteSubPath(用以删除Algorithm2中得到的路径的子路径),其间还会调用Algorithm5,Algorithm5:isEffecPath(用来识别是否为有效路径,即没有子路径的节点路径),这里所说的子路径为被另一条节点路径完全包含的节点路径。
Algorithm6:sortPATH(用来对路径序列进行排序),输入有效路径集,输出排序后的节点有向序列集,排序的原则:根据路径所包含节点个数从少到多排序。
Algorithm7:MinDistanceMatrix(用来求所有节点之间的最小有向距离),输入邻接矩阵,输出矩阵节点的最小有向距离,求解最小有向距离采用佛洛依德算法,该算法为现有技术,在此不累述。
当数据表作为表节点输入有向图数据库模型时,同时输入的还有其与具有对应外键约束关系节点之间的有效距离,具体情况需要根据数据表内的内容找到对应外键约束关系来定义适中的distance值(即有效距离),也称为距离变量。如果distance值定义过大,会出现将很多数据表划分到同一个数据节点;如果distance值定义过小,又会导致出现跨节点的数据表连接操作,所以需要根据根据数据表内的内容找到对应外键约束关系来定义适中的distance 值,这样这样才能很合理的将用户数据表划分到不同的数据节点。
本发明还公开了一种关系型分布式数据库的分片存储装置,用于实现上述方法,其包括:
建模模块10,用于基于系统数据库建立有向图数据库模型,有向图数据库模型包括:以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图、将系统有向图转化的邻接矩阵、在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集、对路径集按节点个数多少进行排序获得的节点有向序列集、基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离;
输入模块20,用于输入待存储数据表、其与具有对应外键约束关系节点之间的有效距离至有向图数据库模型;
分片存储模块30,用于以待存储数据表作为表节点基于节点有向序列集有向性遍历递归路径集,将表节点加入到在路径集有效距离范围内的节点有向序列集。
优选地,所述建模模块10包括:
第一生成单元101,用于以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图;
转化单元102,用于将系统有向图转化的邻接矩阵;
第二生成单元103,用于在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集;
排序单元104,用于对路径集按节点个数多少进行排序获得的节点有向序列集;
求解单元105,用于基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离。
优选地,所述第二生成单元103包括:
寻找子单元1031,用于寻找无有向边指向的节点作为起点启动遍历查找;
第一判断子单元1032,用于判断该节点是否被访问过,若被访问过,则标记该节点,且返回寻找单元;若未被访问过,则进入遍历单元;
遍历子单元1033,用于从该节点沿着路径集中其对应的路径深度递归遍历,直至该节点无路可走;
生成子单元1034,用于由所有节点的遍历路径生成路径集;
第二判断子单元1035,用于识别节点子路径;
删除子单元1036,用于删除节点子路径。
实操实例:
1.需要将系统的数据表转化为有向图,这里以某个系统为例,假设该系统的数据表经过转换之后,得到的有向图如图6所示。
2.在这个系统中有9张数据表,通过有向图获得系统中各个数据表之间的外键约束关系。将系统的有向图转化为邻接矩阵,结果如图7所示。
3.通过把邻接矩阵作为输入条件,经过Algorithm2可以得到路径集 R={DHCB,DCB,FAB,FGHCB,FAE,IGHCB},其间调用Algorithm3开始路径遍历。
4.从得到的路径集通过使用Algorithm4得到的有效路径集。比如:节点D 的路径序列“DC”是节点D的路径序列“HDCB”的子路径,所以经过算法运算之后,会将子路径删除,得到最后的有效路径集。这里所说的子路径是指被另一条路径完全包含的路径。其间调用Algorithm5,判断是否为有效路径集。
5.得到有效路径集之后,需要对路径集中的路径序列进行排序,将路径中节点比较少的路径排在前面,节点数比较多的路径序列排在后面,排序过程使用Algorithm6完成,这样将会得到根据路径中节点数从小到大排好了序的路径集。比如:路径集初始包含abcae两条路径,排序之后就变成了ae abc。
6.求解有向图各个数据节点中的最短距离:得到了有序的路径序列集后,需要求解到达各个数据节点的有向最小距离,这个操作使用Algorithm7完成,经过这个算法之后,可以得到各个节点之间的有向最小距离,各个节点之间的有向最小距离,如图8所示。
7.在Algorithm1中,定义表节点与系统数据库具有对应外键约束关系节点之间的距离变量(即有效距离),逐渐遍历各条有效路径,将有效距离范围内的数据节点添加到相应的路径序列,完成表节点于系统数据库的分片存储。比如:以X节点为例,定义距离C节点的有向最小距离为2,在有效路径ABCDEFG中,X直接加到末尾,生成新的有效路径ABCDEFGX,这样有效路径内的节点被分到同一个数据库服务器,有效路径是为了将进行连接操作数据表划分到一个数据库服务器的手段。
以上所述仅为本发明优选实施例,并非限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种关系型分布式数据库的分片存储方法,其特征在于,包括如下步骤:
S10基于系统数据库建立有向图数据库模型,有向图数据库模型包括:
以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图;
将系统有向图转化的邻接矩阵;
在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集;
对路径集按节点个数多少进行排序获得的节点有向序列集;
基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离;
S20输入待存储数据表、其与具有对应外键约束关系节点之间的有效距离至有向图数据库模型;
S30分片存储数据表:待存储数据表作为表节点基于节点有向序列集有向性遍历递归路径集,将表节点加入到在路径集有效距离范围内的节点有向序列集。
2.如权利要求1所述的关系型分布式数据库的分片存储方法,其特征在于,所述系统数据表之间的外键约束关系为以下三种约束关系的其中之一:
直接外键约束关系:创建数据表时,直接使用SQL语句指定的外键约束
关系;
传递外键约束关系:数据表A的字段参照数据表B的主键字段,数据表B的字段参照数据表C的主键字段,数据表A的参照字段与数据表C的主键字段是传递外键约束关系;
隐式外键约束关系:数据表B的字段参照数据表A的主键字段,表C的字段参照数据表A的主键字段,数据表B与数据表C的参照字段是隐式外键约束关系。
3.如权利要求1所述的关系型分布式数据库的分片存储方法,其特征在于,所述S30之后还包括S40生成新的路径集,具体步骤为:
S401在邻接矩阵寻找入度为0的节点作为表节点启动遍历查找;
S402判断该节点是否被访问过,若被访问过,则标记该节点,且返回S401;若未被访问过,则进入S403;
S403从该节点沿着路径集中其对应的路径深度递归遍历,直至该节点无路可走;
S404由该节点的所有遍历路径生成新的路径集。
4.如权利要求3所述的关系型分布式数据库的分片存储方法,其特征在于,子路径是指被另一条节点路径完全包含的节点路径,所述S404之后还包括:
S405删除表节点的子路径,生成新的路径集。
5.如权利要求4所述的关系型分布式数据库的分片存储方法,其特征在于,所述S404之后还包括:
S405识别并删除表节点的子路径,生成新的路径集。
6.如权利要求1所述的关系型分布式数据库的分片存储方法,其特征在于,所述求解所得的有向图各个节点的最小有向距离的方法采用弗洛伊德算法。
7.如权利要求1所述的关系型分布式数据库的分片存储方法,其特征在于,所述对路径集按节点个数多少进行排序是根据路径节点个数从小到大的顺序进行的排序。
8.一种关系型分布式数据库的分片存储装置,其特征在于,包括:
建模模块,用于基于系统数据库建立有向图数据库模型,有向图数据库模型包括:以系统数据表为模型的节点及以系统数据表之间外键约束关系为两个节点间有向边生成的系统有向图、将系统有向图转化的邻接矩阵、在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集、对路径集按节点个数多少进行排序获得的节点有向序列集、基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离;
输入模块,用于输入待存储数据表、其与具有对应外键约束关系节点之间的有效距离至有向图数据库模型;
分片存储模块,用于以待存储数据表作为表节点基于节点有向序列集有向性遍历递归路径集,将表节点加入到在路径集有效距离范围内的节点有向序列集。
9.如权利要求8所述的关系型分布式数据库的分片存储装置,其特征在
于,所述建模模块包括:
第一生成单元,用于以系统数据表为模型的节点及以系统数据表之间外
键约束关系为两个节点间有向边生成的系统有向图;
转化单元,用于将系统有向图转化的邻接矩阵;
第二生成单元,用于在邻接矩阵以入度为0的某一节点为起点遍历其他节点获得的路径集;
排序单元,用于对路径集按节点个数多少进行排序获得的节点有向序列集;
求解单元,用于基于节点有向序列集有向性求解所得的有向图各个节点的最小有向距离。
10.如权利要求8所述的关系型分布式数据库的分片存储装置,其特征在于,所述第二生成单元包括:
寻找子单元,用于寻找无有向边指向的节点作为起点启动遍历查找;
第一判断子单元,用于判断该节点是否被访问过,若被访问过,则标记该节点,且返回寻找单元;若未被访问过,则进入遍历单元;
遍历子单元,用于从该节点沿着路径集中其对应的路径深度递归遍历,直至该节点无路可走;
生成子单元,用于由所有节点的遍历路径生成路径集;
第二判断子单元,用于识别节点子路径;
删除子单元,用于删除节点子路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811378143.0A CN109635037B (zh) | 2018-11-19 | 2018-11-19 | 一种关系型分布式数据库的分片存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811378143.0A CN109635037B (zh) | 2018-11-19 | 2018-11-19 | 一种关系型分布式数据库的分片存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635037A true CN109635037A (zh) | 2019-04-16 |
CN109635037B CN109635037B (zh) | 2022-12-09 |
Family
ID=66068722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811378143.0A Active CN109635037B (zh) | 2018-11-19 | 2018-11-19 | 一种关系型分布式数据库的分片存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635037B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399387A (zh) * | 2019-07-26 | 2019-11-01 | 北京明略软件系统有限公司 | 基于表关联关系动态生成查询sql的方法及装置 |
CN110471994A (zh) * | 2019-07-22 | 2019-11-19 | 北京三快在线科技有限公司 | 复制数据的方法、装置、存储介质及电子设备 |
CN110825743A (zh) * | 2019-10-31 | 2020-02-21 | 北京百度网讯科技有限公司 | 一种图数据库的数据导入方法、装置、电子设备和介质 |
CN112559631A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112579709A (zh) * | 2020-12-17 | 2021-03-30 | 中国农业银行股份有限公司 | 一种数据表识别方法、装置、存储介质及电子设备 |
CN117076547A (zh) * | 2023-10-16 | 2023-11-17 | 江苏量界数据科技有限公司 | 基于虚拟分布式服务器的数据存储方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216911A (zh) * | 2008-01-04 | 2008-07-09 | 清华大学 | 支持分布式执行的工作流模型动态分割方法 |
CN104809249A (zh) * | 2015-05-18 | 2015-07-29 | 北京嘀嘀无限科技发展有限公司 | 数据结构的处理方法和系统 |
US20160342737A1 (en) * | 2015-05-22 | 2016-11-24 | The University Of British Columbia | Methods for the graphical representation of genomic sequence data |
US20170068746A1 (en) * | 2015-09-04 | 2017-03-09 | International Business Machines Corporation | Dynamic partitioning of graph databases based on edge sampling |
US20170116315A1 (en) * | 2015-10-21 | 2017-04-27 | International Business Machines Corporation | Fast path traversal in a relational database-based graph structure |
CN107276896A (zh) * | 2016-11-24 | 2017-10-20 | 北京交通大学 | 改进迪杰斯特拉算法的两点间最短路径搜索方法 |
US20180260125A1 (en) * | 2017-03-10 | 2018-09-13 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
CN108536758A (zh) * | 2018-03-20 | 2018-09-14 | 中山大学 | 一种数据库模式的数据表重构方法、装置及系统 |
-
2018
- 2018-11-19 CN CN201811378143.0A patent/CN109635037B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216911A (zh) * | 2008-01-04 | 2008-07-09 | 清华大学 | 支持分布式执行的工作流模型动态分割方法 |
CN104809249A (zh) * | 2015-05-18 | 2015-07-29 | 北京嘀嘀无限科技发展有限公司 | 数据结构的处理方法和系统 |
US20160342737A1 (en) * | 2015-05-22 | 2016-11-24 | The University Of British Columbia | Methods for the graphical representation of genomic sequence data |
US20170068746A1 (en) * | 2015-09-04 | 2017-03-09 | International Business Machines Corporation | Dynamic partitioning of graph databases based on edge sampling |
US20170116315A1 (en) * | 2015-10-21 | 2017-04-27 | International Business Machines Corporation | Fast path traversal in a relational database-based graph structure |
CN107276896A (zh) * | 2016-11-24 | 2017-10-20 | 北京交通大学 | 改进迪杰斯特拉算法的两点间最短路径搜索方法 |
US20180260125A1 (en) * | 2017-03-10 | 2018-09-13 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
CN108536758A (zh) * | 2018-03-20 | 2018-09-14 | 中山大学 | 一种数据库模式的数据表重构方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
周晓聪等: "面向对象软件内聚度度量数据分布的实证研究", 《软件学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471994A (zh) * | 2019-07-22 | 2019-11-19 | 北京三快在线科技有限公司 | 复制数据的方法、装置、存储介质及电子设备 |
CN110399387A (zh) * | 2019-07-26 | 2019-11-01 | 北京明略软件系统有限公司 | 基于表关联关系动态生成查询sql的方法及装置 |
CN110825743A (zh) * | 2019-10-31 | 2020-02-21 | 北京百度网讯科技有限公司 | 一种图数据库的数据导入方法、装置、电子设备和介质 |
CN110825743B (zh) * | 2019-10-31 | 2022-03-01 | 北京百度网讯科技有限公司 | 一种图数据库的数据导入方法、装置、电子设备和介质 |
CN112559631A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112559631B (zh) * | 2020-12-15 | 2023-09-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112579709A (zh) * | 2020-12-17 | 2021-03-30 | 中国农业银行股份有限公司 | 一种数据表识别方法、装置、存储介质及电子设备 |
CN112579709B (zh) * | 2020-12-17 | 2023-07-28 | 中国农业银行股份有限公司 | 一种数据表识别方法、装置、存储介质及电子设备 |
CN117076547A (zh) * | 2023-10-16 | 2023-11-17 | 江苏量界数据科技有限公司 | 基于虚拟分布式服务器的数据存储方法 |
CN117076547B (zh) * | 2023-10-16 | 2024-01-02 | 江苏量界数据科技有限公司 | 基于虚拟分布式服务器的数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109635037B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635037A (zh) | 一种关系型分布式数据库的分片存储方法及装置 | |
US7010308B2 (en) | Managing and querying moving point data | |
CN103955511B (zh) | 一种城市3d建筑数据的云平台数据组织和检索方法 | |
CN105138601B (zh) | 一种支持模糊约束关系的图模式匹配方法 | |
CN102945249B (zh) | 一种策略规则匹配查询树生成方法、匹配方法及装置 | |
CN104412266A (zh) | 用于具有动态排序的树结构的多维数据储存和文件系统的方法和装置 | |
CN107092667B (zh) | 基于社交网络的群组查找方法和装置 | |
CN104978376B (zh) | 一种追踪分享路径评论的方法及系统 | |
CN104462260A (zh) | 一种基于k-核的社区搜索算法 | |
CN112328877B (zh) | 时间依赖路网上多用户的skyline查询的方法 | |
CN109840284A (zh) | 家族亲缘关系知识图谱构建方法与系统 | |
CN109271562A (zh) | 通行费用确定方法、路网节点关系模型构建方法及装置 | |
CN106131785A (zh) | 一种实现定位的方法、装置及位置服务系统 | |
CN113987024A (zh) | 一种基于遥感空间大数据的无感化智能检索方法 | |
CN102982034B (zh) | 互联网站内信息的搜索方法和搜索系统 | |
Al Jawarneh et al. | Cost-effective strategies for provisioning NoSQL storage services in support for industry 4.0 | |
CN103001874B (zh) | 一种基于节点标签集的延迟容忍移动社会网络路由方法 | |
CN111177481A (zh) | 用户标识映射方法及装置 | |
CN105786941A (zh) | 一种信息挖掘方法和装置 | |
WO2022037102A1 (zh) | 面向多方协作的利益相关者服务价值冲突发现和消解方法 | |
CN113704248A (zh) | 一种基于外置索引的区块链查询优化方法 | |
CN113407810A (zh) | 一种基于大数据的城市信息和服务集成系统及方法 | |
CN110263108A (zh) | 一种基于道路网的关键词Skyline模糊查询方法及系统 | |
CN110347676A (zh) | 基于关系r树的不确定性时态数据管理与查询方法 | |
CN115935087A (zh) | 一种基于时间窗口的地理社区搜索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |