一种基于图增量同步异构数据源数据关系的方法及装置制造方法及图纸

技术编号:26304070 阅读:20 留言:0更新日期:2020-11-10 19:59
本发明专利技术提供一种基于图增量同步异构数据源数据关系的方法及装置,所述基于图增量同步异构数据源数据关系的装置包括异构数据源管理单元、图谱关系设计器、语言解析器、语言执行器、图谱数据存储器和图谱数据关系构建器,该基于图增量同步异构数据源数据关系的方法及装置设计合理,利用图的方式记录数据之间的关系来同步异构数据,大大降低了图谱数据的维护成本,能够在系统记录图谱关系,自动根据记录的图谱关系同步数据,大大降低了图谱数据库同步数据和使用数据的难度。

【技术实现步骤摘要】
一种基于图增量同步异构数据源数据关系的方法及装置
本专利技术属于大数据治理
,特别涉及一种基于图增量同步异构数据源数据关系的方法及装置。
技术介绍
智慧城市建设中离不开数据的治理,数据的分析,针对关系复杂的数据,比如通过标准地址可以关联到地址有哪些建筑物、地址发生了哪些事情,地址建筑物里面有哪些公司、公司里面有哪些人等等,业务场景不一样所需要的数据关系也不一样,通过多表关联查询的方式查询这些数据的关系,但是由于智慧城市数据量大,关系复杂的原因,关联查询效率非常低,为了解决关系复杂数据查询慢的问题,根据不同的业务场景提前在图谱数据库建立数据关系,可以利用图谱数据库的特点显著提高查询速度,上述例子中,通过图谱数据库可以做到手指轻轻一点可以立马查询到与地址相关的所有关系数据,但是唯一的痛点是智慧城市建设中业务需求繁多,业务需求不一样会导致所需要的数据关系不一样,针对不同的数据关系,需要定制化同步数据关系,特别是针对异构数据源,同一类数据在不同的数据库,需要定制化开发不同数据库的同步接口,无法做到针对不同数据库不同数据关系“零代码”数据同步,而且当业务需求变化的时候,可能需要更新数据同步代码,而且维护众多不同业务的数据同步代码相当浪费人力,为此,本专利技术提出一种基于图增量同步异构数据源数据关系的方法及装置。
技术实现思路
为了解决现有技术存在的问题,本专利技术提供了一种基于图增量同步异构数据源数据关系的方法及装置,该基于图增量同步异构数据源数据关系的装置设计合理,利用图的方式记录数据之间的关系来同步异构数据,大大降低了图谱数据的维护成本,能够在系统记录图谱关系,自动根据记录的图谱关系同步数据,大大降低了图谱数据库同步数据和使用数据的难度。为了实现上述目的,本专利技术是通过如下的技术方案来实现:一种基于图增量同步异构数据源数据关系的方法,具体步骤如下:步骤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查询不到,则待关联的数据还没有同步到图谱数据库。<本文档来自技高网...

【技术保护点】
1.一种基于图增量同步异构数据源数据关系的方法,其特征在于,具体步骤如下:/n步骤S1:将异构数据源注册到系统;/n步骤S2:根据实际业务需求在图谱关系设计器设计数据关系图,数据关系图由节点和连线组成,每个节点属性记录一组源数据地址,连线连接两个节点用于描述节点与节点之间的关系,每条连线属性记录一组源关系数据地址,以及节点源数据与源关系数据的关联字段;/n步骤S3:根据每个节点源数据地址获取源数据,同步到图谱数据库;/n步骤S4:根据连线记录的源关系数据地址,获取源关系数据,以每条关系源数据记录两条数据的关联关系为依据为图谱数据库数据建立关联关系,遍历关系源数据循环进行S5以下步骤直到遍历结束;/n步骤S5:用于检验待建立关系的两条数据是否存在于图谱数据库,如果存在,则进行步骤S8,如果不存在,则进行步骤S6;/n步骤S6:从源数据库查询未同步到图谱数据库的源数据,查询到数据则进行步骤S7,查询不到数据则代表由于数据问题无法建立数据关系,本次建立关系结束;/n步骤S7:同步待建立关系的两条数据到图谱数据库;/n步骤S8:为待建立关系的两条数据在图谱数据库建立关系。/n

【技术特征摘要】
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具体包括下述步骤:
①:根据源数据地址...

【专利技术属性】
技术研发人员:王柳敬
申请(专利权)人:湖北云图智胜科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1