CN111914028A - 一种基于图增量同步异构数据源数据关系的方法及装置 - Google Patents
一种基于图增量同步异构数据源数据关系的方法及装置 Download PDFInfo
- Publication number
- CN111914028A CN111914028A CN202010782798.5A CN202010782798A CN111914028A CN 111914028 A CN111914028 A CN 111914028A CN 202010782798 A CN202010782798 A CN 202010782798A CN 111914028 A CN111914028 A CN 111914028A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- relation
- database
- graph
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于图增量同步异构数据源数据关系的方法及装置,所述基于图增量同步异构数据源数据关系的装置包括异构数据源管理单元、图谱关系设计器、语言解析器、语言执行器、图谱数据存储器和图谱数据关系构建器,该基于图增量同步异构数据源数据关系的方法及装置设计合理,利用图的方式记录数据之间的关系来同步异构数据,大大降低了图谱数据的维护成本,能够在系统记录图谱关系,自动根据记录的图谱关系同步数据,大大降低了图谱数据库同步数据和使用数据的难度。
Description
技术领域
本发明属于大数据治理技术领域,特别涉及一种基于图增量同步异构数据源数据关系的方法及装置。
背景技术
智慧城市建设中离不开数据的治理,数据的分析,针对关系复杂的数据,比如通过标准地址可以关联到地址有哪些建筑物、地址发生了哪些事情,地址建筑物里面有哪些公司、公司里面有哪些人等等,业务场景不一样所需要的数据关系也不一样,通过多表关联查询的方式查询这些数据的关系,但是由于智慧城市数据量大,关系复杂的原因,关联查询效率非常低,为了解决关系复杂数据查询慢的问题,根据不同的业务场景提前在图谱数据库建立数据关系,可以利用图谱数据库的特点显著提高查询速度,上述例子中,通过图谱数据库可以做到手指轻轻一点可以立马查询到与地址相关的所有关系数据,但是唯一的痛点是智慧城市建设中业务需求繁多,业务需求不一样会导致所需要的数据关系不一样,针对不同的数据关系,需要定制化同步数据关系,特别是针对异构数据源,同一类数据在不同的数据库,需要定制化开发不同数据库的同步接口,无法做到针对不同数据库不同数据关系“零代码”数据同步,而且当业务需求变化的时候,可能需要更新数据同步代码,而且维护众多不同业务的数据同步代码相当浪费人力,为此,本发明提出一种基于图增量同步异构数据源数据关系的方法及装置。
发明内容
为了解决现有技术存在的问题,本发明提供了一种基于图增量同步异构数据源数据关系的方法及装置,该基于图增量同步异构数据源数据关系的装置设计合理,利用图的方式记录数据之间的关系来同步异构数据,大大降低了图谱数据的维护成本,能够在系统记录图谱关系,自动根据记录的图谱关系同步数据,大大降低了图谱数据库同步数据和使用数据的难度。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于图增量同步异构数据源数据关系的方法,具体步骤如下:
步骤S1:将异构数据源注册到系统;
步骤S2:根据实际业务需求在图谱关系设计器设计数据关系图,数据关系图由节点和连线组成,每个节点属性记录一组源数据地址,连线连接两个节点用于描述节点与节点之间的关系,每条连线属性记录一组源关系数据地址,以及节点源数据与源关系数据的关联字段;
步骤S3:根据每个节点源数据地址获取源数据,同步到图谱数据库;
步骤S4:根据连线记录的源关系数据地址,获取源关系数据,以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束;
步骤S5:用于检验待建立关系的两条数据是否存在于图谱数据库,如果存在,则进行步骤S8,如果不存在,则进行步骤S6;
步骤S6:从源数据库查询未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束;
步骤S7:同步待建立关系的两条数据到图谱数据库;
步骤S8:为待建立关系的两条数据在图谱数据库建立关系。
作为本发明的一种优选实施方式,所述步骤S1具体包括下述内容:注册Mysql、Oracle、ElasticSearch和Dgraph等异构数据源到系统,注册信息包括必要的IP、端口、账号和密码等信息,为了避免后续同步数据频繁的创建销毁数据源连接,浪费不必要的性能损耗,注册完后会在系统自动维护各个数据源的连接池,方便后面同步数据直接在连接池获取数据库连接。
作为本发明的一种优选实施方式,所述步骤S2具体包括下述内容:把即将同步到图谱数据库的数据都称为源数据,利用图谱关系设计器创建节点并通过配置节点属性的方式指向源数据,节点属性主要描述源数据地址,主要包括源数据数据源ID(通过数据源ID可以获取数据库的IP、端口等数据库连接信息),源数据集名称(表名/索引名),创建连线并通过配置连线属性的方式描述节点与节点的关系(即源数据与源数据之间的关系),连线属性主要描述关联表源数据地址,主要包括源节点ID、目标节点ID、源节点(源节点绑定的源数据)关联字段(如源节点源数据的ID等唯一值字段名)、目标节点(目标节点绑定的源数据)关联字段(如目标节点源数据的ID等唯一值字段名)、关联源数据数据源ID(通过数据源ID可以获取数据库的IP、端口等数据库连接信息)、关联源数据集名称(表名/索引名)、关联源数据与源节点(源节点绑定的源数据)关联字段、关联源数据与目标节点(目标节点绑定的源数据)关联字段。
作为本发明的一种优选实施方式,所述步骤S3具体包括下述步骤:
①:根据源数据地址信息连接数据库;
②:为了提高同步数据的效率每次同步需要记录本次同步时间,同步的时候只同步本次同步时间与上次同步时间之间创建或更新的数据来保证增量同步,所以每次同步查询源数据需要加上时间查询条件限制;
③:由于异构数据源查询语句不一样,针对不同数据源查询的时候比较困难,定义一套标准统一查询语言,相关查询条件全部编写为标准查询语言,再由语言解析器把标准语言解析成功对应数据库的查询语言;
④:由于不同的数据源连接对象不一样,所以需要定义不同的执行器来执行不同数据源的查询语言,这一步主要是把步骤③生成的查询语言放到对应的语言执行器执行来获取源数据;
⑤:通过上面步骤获取各个节点的源数据,通过图谱数据存储器存入图谱数据库,图谱数据存储器需要有自动根据业务ID来判断数据是存储还是更新来防止同样的数据在图谱数据库重复存储多条,当图谱数据库已经存在数据,则更新数据,图谱数据库不存在数据,则保存数据。
作为本发明的一种优选实施方式,所述步骤S4具体包括下述步骤:
①:根据源数据地址信息、连接数据库,源关系数据就是指源数据之间的关联关系表或索引,在一对一的情况下源关联关系表/索引也可以是源数据表;
②:为了提高同步数据的效率每次同步需要记录本次同步时间,同步的时候只同步本次同步时间与上次同步时间之间创建或更新的数据来保证增量同步,所以每次同步查询源数据需要加上时间查询条件限制;
③:由于异构数据源查询语句不一样,针对不同数据源查询的时候比较困难,定义一套标准统一查询语言,相关查询条件全部编写为标准查询语言,再由语言解析器把标准语言解析成功对应数据库的查询语言;
④:由于不同的数据源连接对象不一样,所以需要定义不同的执行器来执行不同数据源的查询语言,这一步主要是把步骤③生成的查询语言放到对应的语言执行器执行来获取源关系数据;
⑤:以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束。
作为本发明的一种优选实施方式,所述步骤S5具体包括下述内容:通过步骤S4获取的关系源数据,由于图谱数据库需要数据的uid(数据存入图谱数据库,数据库会自动生成唯一的uid来指向数据)来通过图谱数据关系构建器建立关联关系,则需要通过之前的连线属性绑定的关联字段信息从源关系数据中获取到字段值(如ID值等唯一值),根据字段值从图谱数据库查询数据的uid,如uid查询不到,则待关联的数据还没有同步到图谱数据库。
作为本发明的一种优选实施方式,所述步骤S6具体包括下述内容:根据步骤S5获取到的字段值从节点绑定的源数据地址获取未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束。
作为本发明的一种优选实施方式,所述步骤S7具体包括下述内容:使用图谱数据存储器存储S6查询到的两条数据到图谱,并返回图谱数据库自动生成的数据唯一值uid。
作为本发明的一种优选实施方式,所述步骤S8具体包括下述内容:根据上面步骤从图谱数据库获取到待建立关系的两条数据唯一值uid,使用图谱关系构建单元建立数据关系。
一种基于图增量同步异构数据源数据关系的装置,包括异构数据源管理单元、图谱关系设计器、语言解析器、语言执行器、图谱数据存储器和图谱数据关系构建器;
所述异构数据源管理单元用于注册Mysql、Oracle、ElasticSearch、Dgraph等异构数据源到系统,注册信息包括必要的IP、端口、账号和密码等信息;
所述图谱关系设计器用于绘制数据关系图,把数据与数据的关系通过图以及图元素的属性表达出来,关系图可以直观的表现出数据之间的从属关系,属性表达的是具体关联细节,为后面数据同步做铺垫;
所述语言解析器用于把统一的查询语言解析为对应数据库的查询语言,方便同步的时候只用面向统一的查询语言编程,不需要考虑不同的数据库查询方式不一样;
所述语言执行器用于执行不同数据库不同的查询语句,方便同步的时候只需要根据不同的数据源类型选择不同的语言执行器,不用考虑执行语句不同,以及连接客户端不同;
所述图谱数据存储器用于存入图谱数据库,图谱数据存储器需要有自动根据业务ID来判断数据是存储还是更新来防止同样的数据在图谱数据库重复存储多条,当图谱数据库已经存在数据,则更新数据,图谱数据库不存在数据,则保存数据。
所述图谱数据关系构建器用于构建图谱数据库数据之间的关系,由于图谱数据库需要数据的uid(数据存入图谱数据库,数据库会自动生成唯一的uid来指向数据)来通过图谱数据关系构建器建立关联关系,则需要通过业务唯一字段值(如业务ID等)来从图谱数据库查询出业务数据对应的uid。
本发明的有益效果:本发明的一种基于图增量同步异构数据源数据关系的装置,包括异构数据源管理单元、图谱关系设计器、语言解析器、语言执行器、图谱数据存储器和图谱数据关系构建器。
1、此基于图增量同步异构数据源数据关系的方法利用图的方式记录数据之间的关系来同步异构数据,大大降低了图谱数据的维护成本,能够在系统记录图谱关系,自动根据记录的图谱关系同步数据,大大降低了图谱数据库同步数据和使用数据的难度。
2、此基于图增量同步异构数据源数据关系的方法能够完全解放软件开发人员,数据同步完全可以交给现场实施,通过在页面绘制数据关系图的方式来同步数据,实施人员可以根据不同的业务需求绘制不同的数据关系图,能够基于不同的数据关系图来同步数据关系已适应不同的业务,当业务需求发生变化时候,只需要修改关系图,重新同步数据即可,真正做到“零代码”解放人力,降低开发成本目的。
3、此基于图增量同步异构数据源数据关系的方法能够解决关系比较复杂的数据同步困难和数据之间的关系难以维护的问题,能快速同步关联异构数据源的数据,不需要为不同的业务定制化抽取逻辑,提高数据运维效率,降低数据治理难度。
附图说明
图1为一种基于图增量同步异构数据源数据关系的方法的步骤流程图;
图2为一种基于图增量同步异构数据源数据关系的装置的结构示意图;
图3为一种基于图增量同步异构数据源数据关系的装置的图谱关系设计器效果图;
图中:1、异构数据源管理单元;2、图谱关系设计器;3、语言解析器;4、语言执行器;5、图谱数据存储器;6、图谱数据关系构建器。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
请参阅图1至图3,本发明提供一种技术方案:一种基于图增量同步异构数据源数据关系的方法,具体步骤如下:
步骤S1:将异构数据源注册到系统;
步骤S2:根据实际业务需求在图谱关系设计器设计数据关系图,数据关系图由节点和连线组成,每个节点属性记录一组源数据地址,连线连接两个节点用于描述节点与节点之间的关系,每条连线属性记录一组源关系数据地址,以及节点源数据与源关系数据的关联字段;
步骤S3:根据每个节点源数据地址获取源数据,同步到图谱数据库;
步骤S4:根据连线记录的源关系数据地址,获取源关系数据,以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束;
步骤S5:用于检验待建立关系的两条数据是否存在于图谱数据库,如果存在,则进行步骤S8,如果不存在,则进行步骤S6;
步骤S6:从源数据库查询未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束;
步骤S7:同步待建立关系的两条数据到图谱数据库;
步骤S8:为待建立关系的两条数据在图谱数据库建立关系。
作为本发明的一种优选实施方式,所述步骤S1具体包括下述内容:注册Mysql、Oracle、ElasticSearch和Dgraph等异构数据源到系统,注册信息包括必要的IP、端口、账号和密码等信息,为了避免后续同步数据频繁的创建销毁数据源连接,浪费不必要的性能损耗,注册完后会在系统自动维护各个数据源的连接池,方便后面同步数据直接在连接池获取数据库连接。
作为本发明的一种优选实施方式,所述步骤S2具体包括下述内容:把即将同步到图谱数据库的数据都称为源数据,利用图谱关系设计器创建节点并通过配置节点属性的方式指向源数据,节点属性主要描述源数据地址,主要包括源数据数据源ID(通过数据源ID可以获取数据库的IP、端口等数据库连接信息),源数据集名称(表名/索引名),创建连线并通过配置连线属性的方式描述节点与节点的关系(即源数据与源数据之间的关系),连线属性主要描述关联表源数据地址,主要包括源节点ID、目标节点ID、源节点(源节点绑定的源数据)关联字段(如源节点源数据的ID等唯一值字段名)、目标节点(目标节点绑定的源数据)关联字段(如目标节点源数据的ID等唯一值字段名)、关联源数据数据源ID(通过数据源ID可以获取数据库的IP、端口等数据库连接信息)、关联源数据集名称(表名/索引名)、关联源数据与源节点(源节点绑定的源数据)关联字段、关联源数据与目标节点(目标节点绑定的源数据)关联字段。
作为本发明的一种优选实施方式,所述步骤S3具体包括下述步骤:
①:根据源数据地址信息连接数据库;
②:为了提高同步数据的效率每次同步需要记录本次同步时间,同步的时候只同步本次同步时间与上次同步时间之间创建或更新的数据来保证增量同步,所以每次同步查询源数据需要加上时间查询条件限制;
③:由于异构数据源查询语句不一样,针对不同数据源查询的时候比较困难,定义一套标准统一查询语言,相关查询条件全部编写为标准查询语言,再由语言解析器把标准语言解析成功对应数据库的查询语言;
④:由于不同的数据源连接对象不一样,所以需要定义不同的执行器来执行不同数据源的查询语言,这一步主要是把步骤③生成的查询语言放到对应的语言执行器执行来获取源数据;
⑤:通过上面步骤获取各个节点的源数据,通过图谱数据存储器存入图谱数据库,图谱数据存储器需要有自动根据业务ID来判断数据是存储还是更新来防止同样的数据在图谱数据库重复存储多条,当图谱数据库已经存在数据,则更新数据,图谱数据库不存在数据,则保存数据。
作为本发明的一种优选实施方式,所述步骤S4具体包括下述步骤:
①:根据源数据地址信息、连接数据库,源关系数据就是指源数据之间的关联关系表或索引,在一对一的情况下源关联关系表/索引也可以是源数据表;
②:为了提高同步数据的效率每次同步需要记录本次同步时间,同步的时候只同步本次同步时间与上次同步时间之间创建或更新的数据来保证增量同步,所以每次同步查询源数据需要加上时间查询条件限制;
③:由于异构数据源查询语句不一样,针对不同数据源查询的时候比较困难,定义一套标准统一查询语言,相关查询条件全部编写为标准查询语言,再由语言解析器把标准语言解析成功对应数据库的查询语言;
④:由于不同的数据源连接对象不一样,所以需要定义不同的执行器来执行不同数据源的查询语言,这一步主要是把步骤③生成的查询语言放到对应的语言执行器执行来获取源关系数据;
⑤:以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束。
作为本发明的一种优选实施方式,所述步骤S5具体包括下述内容:通过步骤S4获取的关系源数据,由于图谱数据库需要数据的uid(数据存入图谱数据库,数据库会自动生成唯一的uid来指向数据)来通过图谱数据关系构建器建立关联关系,则需要通过之前的连线属性绑定的关联字段信息从源关系数据中获取到字段值(如ID值等唯一值),根据字段值从图谱数据库查询数据的uid,如uid查询不到,则待关联的数据还没有同步到图谱数据库。
作为本发明的一种优选实施方式,所述步骤S6具体包括下述内容:根据步骤S5获取到的字段值从节点绑定的源数据地址获取未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束。
作为本发明的一种优选实施方式,所述步骤S7具体包括下述内容:使用图谱数据存储器存储S6查询到的两条数据到图谱,并返回图谱数据库自动生成的数据唯一值uid。
作为本发明的一种优选实施方式,所述步骤S8具体包括下述内容:根据上面步骤从图谱数据库获取到待建立关系的两条数据唯一值uid,使用图谱关系构建单元建立数据关系。
一种基于图增量同步异构数据源数据关系的装置,包括异构数据源管理单元1、图谱关系设计器2、语言解析器3、语言执行器4、图谱数据存储器5和图谱数据关系构建器6;
所述异构数据源管理单元1用于注册Mysql、Oracle、ElasticSearch、Dgraph等异构数据源到系统,注册信息包括必要的IP、端口、账号和密码等信息;
所述图谱关系设计器2用于绘制数据关系图,把数据与数据的关系通过图以及图元素的属性表达出来,关系图可以直观的表现出数据之间的从属关系,属性表达的是具体关联细节,为后面数据同步做铺垫;
所述语言解析器3用于把统一的查询语言解析为对应数据库的查询语言,方便同步的时候只用面向统一的查询语言编程,不需要考虑不同的数据库查询方式不一样;
所述语言执行器4用于执行不同数据库不同的查询语句,方便同步的时候只需要根据不同的数据源类型选择不同的语言执行器4,不用考虑执行语句不同,以及连接客户端不同;
所述图谱数据存储器5用于存入图谱数据库,图谱数据存储器5需要有自动根据业务ID来判断数据是存储还是更新来防止同样的数据在图谱数据库重复存储多条,当图谱数据库已经存在数据,则更新数据,图谱数据库不存在数据,则保存数据;
所述图谱数据关系构建器6用于构建图谱数据库数据之间的关系,由于图谱数据库需要数据的uid(数据存入图谱数据库,数据库会自动生成唯一的uid来指向数据)来通过图谱数据关系构建器6建立关联关系,则需要通过业务唯一字段值(如业务ID等)来从图谱数据库查询出业务数据对应的uid。
此基于图增量同步异构数据源数据关系的方法利用图的方式记录数据之间的关系来同步异构数据,大大降低了图谱数据的维护成本,能够在系统记录图谱关系,自动根据记录的图谱关系同步数据,大大降低了图谱数据库同步数据和使用数据的难度;能够完全解放软件开发人员,数据同步完全可以交给现场实施,通过在页面绘制数据关系图的方式来同步数据,实施人员可以根据不同的业务需求绘制不同的数据关系图,能够基于不同的数据关系图来同步数据关系已适应不同的业务,当业务需求发生变化时候,只需要修改关系图,重新同步数据即可,真正做到“零代码”解放人力,降低开发成本目的;能够解决关系比较复杂的数据同步困难和数据之间的关系难以维护的问题,能快速同步关联异构数据源的数据,不需要为不同的业务定制化抽取逻辑,提高数据运维效率,降低数据治理难度。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种基于图增量同步异构数据源数据关系的方法,其特征在于,具体步骤如下:
步骤S1:将异构数据源注册到系统;
步骤S2:根据实际业务需求在图谱关系设计器设计数据关系图,数据关系图由节点和连线组成,每个节点属性记录一组源数据地址,连线连接两个节点用于描述节点与节点之间的关系,每条连线属性记录一组源关系数据地址,以及节点源数据与源关系数据的关联字段;
步骤S3:根据每个节点源数据地址获取源数据,同步到图谱数据库;
步骤S4:根据连线记录的源关系数据地址,获取源关系数据,以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束;
步骤S5:用于检验待建立关系的两条数据是否存在于图谱数据库,如果存在,则进行步骤S8,如果不存在,则进行步骤S6;
步骤S6:从源数据库查询未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束;
步骤S7:同步待建立关系的两条数据到图谱数据库;
步骤S8:为待建立关系的两条数据在图谱数据库建立关系。
2.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S1具体包括下述内容:注册Mysql、Oracle、ElasticSearch和Dgraph等异构数据源到系统,注册信息包括必要的IP、端口、账号和密码等信息,为了避免后续同步数据频繁的创建销毁数据源连接,浪费不必要的性能损耗,注册完后会在系统自动维护各个数据源的连接池,方便后面同步数据直接在连接池获取数据库连接。
3.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S2具体包括下述内容:把即将同步到图谱数据库的数据都称为源数据,利用图谱关系设计器创建节点并通过配置节点属性的方式指向源数据,节点属性主要描述源数据地址,主要包括源数据数据源ID(通过数据源ID可以获取数据库的IP、端口等数据库连接信息),源数据集名称(表名/索引名),创建连线并通过配置连线属性的方式描述节点与节点的关系(即源数据与源数据之间的关系),连线属性主要描述关联表源数据地址,主要包括源节点ID、目标节点ID、源节点(源节点绑定的源数据)关联字段(如源节点源数据的ID等唯一值字段名)、目标节点(目标节点绑定的源数据)关联字段(如目标节点源数据的ID等唯一值字段名)、关联源数据数据源ID(通过数据源ID可以获取数据库的IP、端口等数据库连接信息)、关联源数据集名称(表名/索引名)、关联源数据与源节点(源节点绑定的源数据)关联字段、关联源数据与目标节点(目标节点绑定的源数据)关联字段。
4.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S3具体包括下述步骤:
①:根据源数据地址信息连接数据库;
②:为了提高同步数据的效率每次同步需要记录本次同步时间,同步的时候只同步本次同步时间与上次同步时间之间创建或更新的数据来保证增量同步,所以每次同步查询源数据需要加上时间查询条件限制;
③:由于异构数据源查询语句不一样,针对不同数据源查询的时候比较困难,定义一套标准统一查询语言,相关查询条件全部编写为标准查询语言,再由语言解析器把标准语言解析成功对应数据库的查询语言;
④:由于不同的数据源连接对象不一样,所以需要定义不同的执行器来执行不同数据源的查询语言,这一步主要是把步骤③生成的查询语言放到对应的语言执行器执行来获取源数据;
⑤:通过上面步骤获取各个节点的源数据,通过图谱数据存储器存入图谱数据库,图谱数据存储器需要有自动根据业务ID来判断数据是存储还是更新来防止同样的数据在图谱数据库重复存储多条,当图谱数据库已经存在数据,则更新数据,图谱数据库不存在数据,则保存数据。
5.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S4具体包括下述步骤:
①:根据源数据地址信息、连接数据库,源关系数据就是指源数据之间的关联关系表或索引,在一对一的情况下源关联关系表/索引也可以是源数据表;
②:为了提高同步数据的效率每次同步需要记录本次同步时间,同步的时候只同步本次同步时间与上次同步时间之间创建或更新的数据来保证增量同步,所以每次同步查询源数据需要加上时间查询条件限制;
③:由于异构数据源查询语句不一样,针对不同数据源查询的时候比较困难,定义一套标准统一查询语言,相关查询条件全部编写为标准查询语言,再由语言解析器把标准语言解析成功对应数据库的查询语言;
④:由于不同的数据源连接对象不一样,所以需要定义不同的执行器来执行不同数据源的查询语言,这一步主要是把步骤③生成的查询语言放到对应的语言执行器执行来获取源关系数据;
⑤:以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束。
6.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S5具体包括下述内容:通过步骤S4获取的关系源数据,由于图谱数据库需要数据的uid(数据存入图谱数据库,数据库会自动生成唯一的uid来指向数据)来通过图谱数据关系构建器建立关联关系,则需要通过之前的连线属性绑定的关联字段信息从源关系数据中获取到字段值(如ID值等唯一值),根据字段值从图谱数据库查询数据的uid,如uid查询不到,则待关联的数据还没有同步到图谱数据库。
7.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S6具体包括下述内容:根据步骤S5获取到的字段值从节点绑定的源数据地址获取未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束。
8.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S7具体包括下述内容:使用图谱数据存储器存储S6查询到的两条数据到图谱,并返回图谱数据库自动生成的数据唯一值uid。
9.根据权利要求1所述的一种基于图增量同步异构数据源数据关系的方法,其特征在于:所述步骤S8具体包括下述内容:根据上面步骤从图谱数据库获取到待建立关系的两条数据唯一值uid,使用图谱关系构建单元建立数据关系。
10.一种基于图增量同步异构数据源数据关系的装置,其特征在于,包括异构数据源管理单元(1)、图谱关系设计器(2)、语言解析器(3)、语言执行器(4)、图谱数据存储器(5)和图谱数据关系构建器(6);
所述异构数据源管理单元(1)用于注册Mysql、Oracle、ElasticSearch、Dgraph等异构数据源到系统,注册信息包括必要的IP、端口、账号和密码等信息;
所述图谱关系设计器(2)用于绘制数据关系图,把数据与数据的关系通过图以及图元素的属性表达出来,关系图可以直观的表现出数据之间的从属关系,属性表达的是具体关联细节,为后面数据同步做铺垫;
所述语言解析器(3)用于把统一的查询语言解析为对应数据库的查询语言,方便同步的时候只用面向统一的查询语言编程,不需要考虑不同的数据库查询方式不一样;
所述语言执行器(4)用于执行不同数据库不同的查询语句,方便同步的时候只需要根据不同的数据源类型选择不同的语言执行器(4),不用考虑执行语句不同,以及连接客户端不同;
所述图谱数据存储器(5)用于存入图谱数据库,图谱数据存储器(5)需要有自动根据业务ID来判断数据是存储还是更新来防止同样的数据在图谱数据库重复存储多条,当图谱数据库已经存在数据,则更新数据,图谱数据库不存在数据,则保存数据;
所述图谱数据关系构建器(6)用于构建图谱数据库数据之间的关系,由于图谱数据库需要数据的uid(数据存入图谱数据库,数据库会自动生成唯一的uid来指向数据)来通过图谱数据关系构建器(6)建立关联关系,则需要通过业务唯一字段值(如业务ID等)来从图谱数据库查询出业务数据对应的uid。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010782798.5A CN111914028A (zh) | 2020-08-06 | 2020-08-06 | 一种基于图增量同步异构数据源数据关系的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010782798.5A CN111914028A (zh) | 2020-08-06 | 2020-08-06 | 一种基于图增量同步异构数据源数据关系的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914028A true CN111914028A (zh) | 2020-11-10 |
Family
ID=73288327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010782798.5A Withdrawn CN111914028A (zh) | 2020-08-06 | 2020-08-06 | 一种基于图增量同步异构数据源数据关系的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914028A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836063A (zh) * | 2021-01-27 | 2021-05-25 | 四川新网银行股份有限公司 | 一种实现特征溯源的方法 |
CN113064895A (zh) * | 2021-03-01 | 2021-07-02 | 苏宁金融科技(南京)有限公司 | 一种图谱的增量更新方法、装置及系统 |
-
2020
- 2020-08-06 CN CN202010782798.5A patent/CN111914028A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836063A (zh) * | 2021-01-27 | 2021-05-25 | 四川新网银行股份有限公司 | 一种实现特征溯源的方法 |
CN112836063B (zh) * | 2021-01-27 | 2023-06-06 | 四川新网银行股份有限公司 | 一种实现特征溯源的方法 |
CN113064895A (zh) * | 2021-03-01 | 2021-07-02 | 苏宁金融科技(南京)有限公司 | 一种图谱的增量更新方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189852B (zh) | 一种数据同步的方法及用于数据同步的装置 | |
CN110489445B (zh) | 一种基于多形态复合的海量数据快速查询方法 | |
CN106021594B (zh) | 数据库表和xml报文的映射处理方法及其系统 | |
CN107391653A (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
CN111708804B (zh) | 数据处理方法、装置、设备及介质 | |
CN103699638A (zh) | 一种基于配置参数实现跨数据库类型同步数据的方法 | |
CN103186639B (zh) | 数据生成方法及系统 | |
CN102708203A (zh) | 一种基于xml元数据的数据库动态管理方法 | |
CN103678532A (zh) | 变更语句逆向分析方法、数据库变更回退方法及系统 | |
CN110597891B (zh) | MySQL聚合为PostgreSQL数据库的设备、系统、方法、存储介质 | |
CN111914028A (zh) | 一种基于图增量同步异构数据源数据关系的方法及装置 | |
CN112231407A (zh) | PostgreSQL数据库的DDL同步方法、装置、设备和介质 | |
KR20220127443A (ko) | 데이터 아키텍쳐 관리 시스템 | |
CN111651519A (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN111414378B (zh) | 一种基于GraphQL的类元数据框架 | |
CN113934750A (zh) | 基于编译方式的数据血缘关系分析方法 | |
CN116955399A (zh) | 基于Calcite的统一SQL查询方法、系统及介质 | |
CN115129712A (zh) | 基于Oracle数据库的分区快速创建方法及系统 | |
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN100527131C (zh) | 一种ims数据库互动式访问方法和工具 | |
CN103177046B (zh) | 一种基于行存储数据库的数据处理方法和设备 | |
CN113468209A (zh) | 一种电网监控系统高速内存数据库访问方法 | |
CN113238865A (zh) | 基于Excel一键导入的快速构建知识图谱的方法 | |
CN111125129A (zh) | 数据处理方法和装置、存储介质及处理器 | |
CN114925142A (zh) | 一种orm框架的多类型数据库兼容方法、装置、设备及介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201110 |
|
WW01 | Invention patent application withdrawn after publication |