首页  专利技术  电子电路装置的制造及其应用技术

一种异构模型数据的同步方法和装置与流程

2025-06-15 14:20:02 454次浏览
一种异构模型数据的同步方法和装置与流程

本发明涉及数据同步,特别是涉及一种异构模型数据的同步方法和装置。


背景技术:

1、现有技术中数据模型主要包括:关系数据模型、文档数据模型、图数据模型、宽表模型(例如,hbase模型)和时间序列模型,基于不同的数据模型,数据库领域分别开发了关系型数据库、文档型数据库、图数据库、hbase和时序数据库等不同类型的数据库管理系统。不同数据模型的数据即异构模型数据。

2、为了满足用户在不同使用场景下使用不同数据模型的数据存储需求,往往需要将异构模型数据在不同的数据库之间进行同步。现有技术针对每种源数据库的数据模型和每种目的数据库的数据模型,定义一套二者之间的数据定位方法及数据转换规则;数据对象从源数据库中读取进数据同步系统后,先基于相应的数据定位方法及数据转换规则对其进行数据内容层面上的转换,再对转换后的数据对象进行数据模型层面上的转换,最后写入到目的数据库。

3、然而,这种实现思路要求在支持异构数据同步的数据同步系统中,设计基于不同数据模型的数据定位方法和数据转换规则,增加了实现数据同步系统的复杂程度和工作量;且用户在使用相应的数据同步系统时,对于每一种源数据库的数据模型与每一种目的数据库的数据模型,均需要学习二者之间的数据定位方法及数据转换规则,学习成本较大,实用性不高。

4、鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。


技术实现思路

1、本发明要解决的技术问题是提供一种异构模型数据的同步方法和装置,其目的在于,提供了一种通用的异构模型数据同步方案,从源数据库读入数据对象后,将不同模型的数据对象统一封装成json格式,在数据同步系统内部统一使用json格式进行数据内容转换,再对json格式的数据对象进行数据模型转换,并装载至目的数据库,解决了现有技术中数据同步系统针对每种源数据库的数据模型与每种目的数据库的数据模型均设计不同的转换方案,所导致的实用性较差的问题。

2、本发明采用如下技术方案:

3、第一方面,本发明提供了一种异构模型数据的同步方法,包括:

4、从源数据库读取原始数据,将所述原始数据从源格式转换为json格式,得到第一待转换数据;其中,所述源格式为所述源数据库的数据格式;

5、对所述第一待转换数据进行数据内容转换,得到json格式的第二待转换数据;

6、对所述第二待转换数据进行数据模型转换,得到目标格式的待装载数据;将所述待装载数据写入至目的数据库;其中,所述目标格式为所述目的数据库的数据格式。

7、进一步地,所述从源数据库读取原始数据,将所述原始数据从源格式转换为json格式,得到第一待转换数据包括:

8、当所述原始数据为文档数据时,将所述原始数据确定为相应的第一待转换数据;

9、当所述原始数据为图数据中的点时,根据点构建点数据表,根据所述点数据表构建所述第一待转换数据;或,当所述原始数据为图数据中的边时,根据边构建边数据表,根据所述边数据表构建所述第一待转换数据;

10、当所述原始数据为关系数据或时序数据时,根据转换模式选择性地将所述原始数据对应的单个源数据库表转换为单层的json数据;或,将所述原始数据对应的多个源数据库表转换为多层嵌套的json数据,以得到所述第一待转换数据;

11、当所述原始数据为宽表数据时,根据所述原始数据构建两层的json数据,以得到所述第一待转换数据。

12、进一步地,所述当所述原始数据为图数据中的点时,根据点构建点数据表,根据所述点数据表构建所述第一待转换数据;或,当所述原始数据为图数据中的边时,根据边构建边数据表,根据所述边数据表构建所述第一待转换数据包括:

13、若所述原始数据为点,则按照所述点的唯一id,将所述点对应的点属性名及点属性值存储至初始化的点数据表,得到构建完成的点数据表;基于所述构建完成的点数据表,将所述点的唯一id作为第一键值对的键名,将所述点属性名及对应的点属性值作为所述第一键值对的键值,基于所述第一键值对得到单层的json数据,将所述单层的json数据作为相应的第一待转换数据;

14、若所述原始数据为边,则按照所述边的唯一id,将所述边对应的边属性名和边属性值存储至初始化的边数据表,得到构建完成的边数据表;基于所述构建完成的边数据表,将所述边的唯一id作为第二键值对的键名,将所述边属性名及对应的边属性值作为所述第二键值对的键值,基于所述第二键值对得到单层的json数据,将所述单层的json数据作为相应的第一待转换数据。

15、进一步地,所述当所述原始数据为关系数据或时序数据时,根据转换模式选择性地将所述原始数据对应的单个源数据库表转换为单层的json数据;或,将所述原始数据对应的多个源数据库表转换为多层嵌套的json数据,以得到所述第一待转换数据包括:

16、若所述转换模式为单表转换模式,则将所述源数据库表的列名作为第三键值对的键名,将所述源数据库表的列名对应的列值作为所述第三键值对的键值,得到所述源数据库表中至少一条数据的第三键值对;将所述源数据库表对应的所有的第三键值对构建为所述单层的json数据;

17、若所述转换模式为多表转换模式,则基于所述单表转换模式,得到每个源数据库表对应的单层的json数据;按照所述源数据库中源数据库表之间的主外键关系,确定多个单层的json数据之间的父子节点关系,基于所述父子节点关系得到多层嵌套的json数据。

18、进一步地,所述当所述原始数据为宽表数据时,根据所述原始数据构建两层的json数据,以得到所述第一待转换数据包括:

19、将所述原始数据的列簇包含的所有列的列名作为第四键值对的键名,将所述列簇中列名对应的列值作为所述第四键值对的键值,基于所述原始数据的第四键值对得到叶子节点的json数据;

20、将所述原始数据的列簇的列簇名作为第五键值对的键名,将所述叶子节点的json数据作为所述第五键值对的键值,基于所述原始数据的第五键值对得到根节点的json数据。

21、进一步地,所述对所述第一待转换数据进行数据内容转换,得到json格式的第二待转换数据包括:

22、按照用户指定路径,依次确定本次进行数据内容转换的第一待转换数据中的待转换键值对;

23、按照数据转换规则,对所述待转换键值对的键名和/或键值进行修改,直至完成对所述用户指定路径中所有的待转换键值对的数据内容转换。

24、进一步地,所述按照用户指定路径,依次确定本次进行数据内容转换的第一待转换数据中的待转换键值对包括:

25、按照所述原始数据在所述源数据库中的数据库名、模式名、源数据库表的表名和所述源数据库表中的列名,在数据同步系统中依次搜索相应的待转换键值对;

26、和/或,按照所述原始数据在所述源数据库中的节点名和所述节点名中的属性名,在所述数据同步系统中依次搜索相应的待转换键值对;

27、和/或,按照所述原始数据在所述源数据库中的源数据库表的表名、所述源数据库表中的列簇名和相应的列簇中的列名,在所述数据同步系统中依次搜索相应的待转换键值对。

28、进一步地,数据同步系统从源数据库读取原始数据,以及将所述待装载数据写入至目的数据库;所述数据同步系统包括至少一个读取组件、至少一个转换组件和至少一个装载组件;

29、所述异构模型数据的同步方法还包括:

30、当运行所述数据同步系统的设备的cpu负载超过负载阈值时,在读取组件和所述读取组件连接的转换组件之间,每次传递多条json格式的第一待转换数据,和/或,在转换组件和所述转换组件连接的装载组件之间,每次传递多条json格式的第二待转换数据;

31、当运行所述数据同步系统的设备的cpu负载未超过负载阈值时,在读取组件和所述读取组件连接的转换组件之间,每次传递单条json格式的第一待转换数据,和/或,在转换组件和所述转换组件连接的装载组件之间,每次传递单条json格式的第二待转换数据;

32、其中,所述读取组件用于从源数据库读取原始数据,将所述原始数据从源格式转换为json格式,得到第一待转换数据;所述转换组件用于对所述第一待转换数据进行数据内容转换,得到json格式的第二待转换数据;所述装载组件用于对所述第二待转换数据进行数据模型转换,得到目标格式的待装载数据,将所述待装载数据写入至目的数据库。

33、第二方面,本发明还提供了一种异构模型数据的同步装置,用于实现第一方面所述的异构模型数据的同步方法,所述异构模型数据的同步装置包括:

34、至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的异构模型数据的同步方法。

35、第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的异构模型数据的同步方法。

36、第四方面,提供了一种芯片,包括:处理器和接口,用于从存储器中调用并运行存储器中存储的计算机程序,执行如第一方面中的异构模型数据的同步方法。

37、第五方面,提供了一种包含指令的计算机程序产品,当该指令在计算机或处理器上运行时,使得计算机或处理器执行如第一方面至第四方面及其任一项的异构模型数据的同步方法。

38、第六方面,提供了一种异构模型数据的同步方法系统,包括如第二方面的异构模型数据的同步装置,并使用如第一方面所述的异构模型数据的同步方法,完成第二方面的异构模型数据的同步装置的交互。

39、区别于现有技术,本发明至少具有以下有益效果:

40、本发明从源数据库读取原始数据,将原始数据的源格式转换为json格式,得到第一待转换数据;对第一待转换数据进行数据内容转换,得到json格式的第二待转换数据;对第二待转换数据进行数据模型转换,得到目的数据库所使用的目标格式的待装载数据,并将其写入至目的数据库;本发明将原始数据读取至数据同步系统时,将其统一封装成json格式,对数据内容的转换仅需基于json格式,进而简化了异构模型数据之间的转换操作,能够在同构数据库或异构数据库之间实现数据的抽取、转换和装载任务,解决了现有技术中数据同步系统针对每种源数据库的数据模型与每种目的数据库的数据模型均设计不同的转换方案,实用性较差的问题。

文档序号 : 【 40051248 】

技术研发人员:梅纲,袁松彪,吕童,张驻西
技术所有人:武汉达梦数据库股份有限公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
梅纲袁松彪吕童张驻西武汉达梦数据库股份有限公司
一种办公行业的大模型会议纪要生成系统的制作方法 一种面板漏制程缺陷检测方法、系统、设备及存储介质与流程
相关内容