CN114860689A - 一种在异构数据库之间迁移数据对象的方法及系统 - Google Patents

一种在异构数据库之间迁移数据对象的方法及系统 Download PDF

Info

Publication number
CN114860689A
CN114860689A CN202210461905.3A CN202210461905A CN114860689A CN 114860689 A CN114860689 A CN 114860689A CN 202210461905 A CN202210461905 A CN 202210461905A CN 114860689 A CN114860689 A CN 114860689A
Authority
CN
China
Prior art keywords
database
migrated
data
data object
layer
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.)
Pending
Application number
CN202210461905.3A
Other languages
English (en)
Inventor
刘名卓
李锦�
刘莹
张金银
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Bizhi Technology Co ltd
Original Assignee
Hangzhou Bizhi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Bizhi Technology Co ltd filed Critical Hangzhou Bizhi Technology Co ltd
Priority to CN202210461905.3A priority Critical patent/CN114860689A/zh
Publication of CN114860689A publication Critical patent/CN114860689A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在异构数据库之间迁移数据对象的方法及系统,所述方法应用于具有应用层、引擎层和存储层的应用软件,包括以下步骤:S1.通过应用层为应用软件使用者提供软件界面和SDK软件开发应用包的接入方式;S2.通过引擎层读取使用者的配置信息,将待迁移数据库中的数据对象解析成通用数据对象模型,再将通用数据对象模型生成目标数据库语言或者生成编程语言实体类;S3.通过存储层将目标数据库语言或者编程语言实体类写入到目标数据库中,并生成日志文件。本方法和系统能够快速便捷的实现异构数据库之间数据对象的迁移,并支持生成SQL语句以及主流编程语言的实体类。

Description

一种在异构数据库之间迁移数据对象的方法及系统
技术领域
本发明涉及计算机及网络通信技术领域,特别涉及一种异构数据库之间迁移数据对象的方法及系统。
背景技术
随着数据处理技术时代的到来,企业高速发展的同时也促成了数据量的爆发式增长,数据量爆发式增长就需要频繁的扩容或者增加数据库。现代化企业运营中,各部门系统长时间独立建设,系统内用于底层数据存储的数据库管理系统也是各有不同。随着企业规模的扩大和业务的升级,原有的数据中心的架构体系、系统性能及存储容量逐渐不能满足业务的需要,因而需要进行企业信息系统的改造和升级,数据迁移是其中非常重要的环节。数据迁移,又称之为数据移植,是指从一种数据环境(源数据库)中提取数据,根据需要,迁移或移植到另一种数据环境(目标数据库)中。异构数据库是指具有不同数据模型、不同体系结构,或者虽是同一类型但为不同厂家研制的数据库,如同为关系型数据库的SQLServer和Oracle等。异构数据库间数据迁移,即在如上所述数据库之间无损地,接近等价地移植数据。对于异构数据库间的数据迁移,传统方案多采用基于数据库或数据接口硬编码数据迁移程序,或人工录入的方式。但前者开发成本较高,重用性较差;后者所需时间和人力都非常大,且很难保证数据的准确性。
在异构数据库数据对象迁移的过程中,工具的选择变得尤为重要,现在的解决办法基本都是:借助通用的数据库管理和开发工具来进行异构数据库的迁移,比如可以使用类似于Navicat的数据传输功能来同步MySQL和Oracle。或者使用powerdesigner这种建模工具的逆向工程功能,将源数据表生成物理模型,最后根据物理模型来创建目标数据表。
但这些方式仍有不足:一方面,如果要迁移的数据库表很多,那么使用可视化工具会很慢,而且容易出错,使用此类方法迁移效率低并且支持的数据库有限;另一方面,这些软件都是商业软件,使用者需要支付一笔费用,而且不是国产自主可控的,随时都有被禁止使用的风险。在此环境下,开源数据库或者国产自研的数据库变得尤为重要。
发明内容
针对现有技术存在的问题,本发明的目的在于通过应用软件和SDK软件开发应用包的方式,能够快速便捷的实现异构数据库之间数据对象的迁移,并支持生成SQL语句以及主流编程语言的实体类。
为实现上述目的,本发明提供一种在异构数据库之间迁移数据对象的方法,所述方法应用于具有应用层、引擎层和存储层的应用软件,包括以下步骤:
S1.通过应用层为应用软件使用者提供软件界面和SDK软件开发应用包的接入方式;
S2.通过引擎层读取使用者的配置信息,将待迁移数据库中的数据对象解析成通用数据对象模型,再将通用数据对象模型生成目标数据库语言或者生成编程语言实体类;
S3.通过存储层将目标数据库语言或者编程语言实体类写入到目标数据库中,并生成日志文件。
进一步,步骤S1中,配置信息包括待迁移数据库的数据源驱动器、数据库链接、用户名、密码以及需要生成数据对象的目标数据库的数据源驱动器或者自定义驱动器文件位置、数据库链接、用户、密码;在应用层会对待迁移数据库和目标数据库进行连通性测试;连通性测试通过后使用SDK软件开发应用包,形成yaml配置文件。
进一步,步骤S2中包括子步骤S21.引擎层读取应用层的yaml配置文件并进行待迁移数据库的连接,将待迁移数据对象加载到程序对应的实体类中,通过判断待迁移数据库的类型,选择相应的驱动方式,使用驱动管理器连接待迁移数据库,驱动注册之后,将驱动管理器保存在已注册的驱动列表中。
进一步,步骤S2中包括子步骤S22.获取待迁移数据库表信息:通过驱动管理器的获取元数据方法获取待迁移数据库的元信息,通过元信息获取到所有的表名和表注释,将获取到的表名和表注释映射到待迁移数据库表实体类中,此时应用软件页面将显示所有的待迁移数据库表名和表注释;使用SDK软件开发应用包的方式将待迁移数据库表信息记录到日志文件;从而完成待迁移数据对象到待迁移数据库表实体类的映射。
进一步,步骤S2中包括子步骤S23.获取字段信息并生成通用数据对象模型:通过驱动管理器的预编译获取预编译对象,再通过预编译对象的getMetaData()方法获取结果集元数据,再通过getColumns()方法获取待迁移数据库表信息的字段信息,索引也通过getIndexInfo()方法进行获取;通过预编译对象获取注释信息;最后将获取的字段信息、索引和字段注释映射到通用数据对象模型中。
进一步,步骤S2中包括子步骤S24.进行数据字段的转换,包括首先构建各个数据库之间的数据类型映射关系表,通过数据类型映射关系表加正则匹配的方式实现待迁移数据库到目标数据库数据对象类型的转换;其次根据数据类型映射关系表与通用表字段实体类进行比对与替换;最后生成一个新的目标数据库表字段实体类。
数据类型映射关系表中,在存在待迁移数据库表中的字段与目标数据库表字段是一对多的关系的情况下,通过在程序中使用正则表达式Number\(\d+\s*(\,\s*\d+)\)来区分判断。
进一步,步骤S2中包括子步骤S25.目标SQL语句及编程语言实体类的生成,通过代码中对模版的填充构建出建表语句以及建立索引的语句;编程语言实体类的生成首先通过配置文件指定编程语言,接着根据编程语言加载对应的模版,然后使用目标表字段实体类进行填充,最后生成编程语言实体类。
另一方面,本发明提供一种在异构数据库之间迁移数据对象的系统,用于实施根据本发明所述的方法,所述系统包括应用层、引擎层和存储层;
所述应用层为软件使用者提供软件界面以及SDK软件开发应用包的接入方式;
所述引擎层用于读取使用者的配置信息,将待迁移数据库的数据对象解析成通用数据对象模型,再将通用数据对象模型生成目标数据库语言或者生成编程语言实体类;
所述存储层用于将目标数据库语言或者编程语言实体类写入到目标数据库中,并生成日志文件,记录迁移的信息。
进一步,通过所述应用层、引擎层和存储层的配合协作使得程序通过读取配置中数据库的种类选择对应的驱动器,通过配置的链接连接到指定数据库,通过读取数据库的方式,将数据对象转换成通用的模型,最后再转换成目标数据对象。
本发明的主要优点在于通过应用软件或SDK软件开发应用包,两种方式进行数据库对象的迁移,迁移过程中不需要人工干预可自动完成,节省大量时间。并且生成SQL语句以及主流编程语言的实体类,节省了后续开发中的编写建表语句以及实体类的时间。
附图说明
图1为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统架构示意图;
图2为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统中数据源表结构示意图;
图3A为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统中数据库表实体类示意图;
图3B为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统中通用表字段实体类示意图;
图3C为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统中目标表字段实体类示意图;
图4A为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统中生成的SQL语句示意图;
图4B为根据本发明实施例在异构数据库之间迁移数据对象的方法和系统中生成的Java代码的实体类示意图。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下结合附图1-4对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
为了快速便捷的实现异构数据库之间数据对象的迁移,本发明实施例提供一种在异构数据库之间迁移数据对象的方法及系统,如图1所示,根据本发明的在异构数据库之间迁移数据对象的系统包括三个部分,分别为应用层1、引擎层2和存储层3。通过上述应用层1、引擎层2和存储层3的配合协作使得程序通过读取配置中数据库的种类选择对应的驱动器,通过配置的链接连接到指定数据库,通过读取数据库的方式,将数据对象转换成通用的模型,最后再转换成目标数据对象。其中,应用层1内包括应用程序11和SDK软件开发应用包12;引擎层2用于实现配置读取、连接数据库、生成通用数据对象模型、数据字段转换和生成目标数据库语言或变成语言实体类的功能;存储层3用于实现日志写入、日志存储、通用对象存储和目标数据库存储的功能。
另一方面,根据本发明的在异构数据库之间迁移数据对象的方法的基本流程为:
S1.通过应用层1为软件使用者提供了软件界面以及SDK软件开发应用包的接入方式;
S2.通过引擎层2读取使用者的配置信息,将待迁移数据库中的数据对象解析成通用数据对象模型,再将通用数据对象模型生成目标数据库语言或者生成编程语言实体类;
S3.通过存储层3将目标数据库语言或者编程语言实体类写入到目标数据库中,生成日志文件,记录成功以及失败的信息。
具体的,步骤S1中,在应用层1中,应用程序11提供了可视化的界面,无编程经验也可以根据提示进行操作,其通过API接口的方式与引擎层进行通信;SDK软件开发应用包是对引擎层API接口的封装,使用者可以通过SDK软件开发应用包实现快速的集成与开发;应用程序与SDK软件开发应用包提供了yaml格式的配置文件,引擎层通过读取配置文件获取到使用者的相关配置,其中配置信息包括待迁移数据库的数据源驱动器、数据库链接、用户名、密码以及需要生成数据对象的目标数据库的数据源驱动器或者自定义驱动器文件位置、数据库链接、用户、密码。在应用层会对待迁移数据库和目标数据库进行连通性测试;如无法连通则给出相应错误提示以及建议,以便使用者修改。本发明的方法支持生成多种目标数据库的数据对象以及编程语言实体类。
程序中的默认参数选项包括:待迁移数据对象是否存储到本地MySQL数据库本实施例中,待迁移数据对象是否存储到本地MySQL数据库默认为打开;是否将待迁移数据对象迁移到目标数据库默认为打开。本发明的方法和系统支持的数据源类型有:MySQL、Oracle、SQLServer、PostgreSQL、GreenPlum、SQLite、DB2、MaxCompute、以及TiDB等,同时使用者可以通过上传自定义的驱动器的方式来适配更多的数据源。本实施例中,数据源表结构如图2所示,包括数据源驱动器、数据库链接、用户名、密码和自定义驱动器文件位置。
步骤S2中,引擎层2是本发明的在异构数据库之间迁移数据对象的方法及系统的核心,步骤S2包括以下子步骤:
S21.引擎层读取应用层的yaml配置文件并进行待迁移数据库的连接。将待迁移数据对象加载到程序对应的实体类中,通过判断待迁移数据库的类型,选择相应的驱动方式,使用驱动管理器连接待迁移数据库,驱动注册之后,将驱动管理器保存在已注册的驱动列表中,后续的处理使用所述驱动列表进行操作。
S22.获取待迁移数据库表信息:通过驱动管理器的获取元数据方法获取待迁移数据库的元信息,通过元信息获取到所有的表名、表注释,将获取到的表名、表注释映射到待迁移数据库表实体类中,此时应用软件页面将显示所有的待迁移数据库表名、表注释;使用SDK软件开发应用包的方式将待迁移数据库表信息记录到日志文件;从而完成待迁移数据对象到待迁移数据库表实体类的映射。
S23.获取字段信息并生成通用数据对象模型:通过驱动管理器的预编译(prepareStatement)获取预编译对象,再通过预编译对象的getMetaData()方法获取结果集元数据,再通过getColumns()方法获取待迁移数据库表信息的字段信息。索引的获取与字段的获取是类似的,通过getIndexInfo()方法来获取。字段注释的获取:以Mysql为例,通过预编译对象执行executeQuery(“showfullcolumnsfromtableName”)来获取注释信息。最后将获取的字段信息、索引和字段注释映射到通用数据对象模型中,如图3B所示。
S24.进行数据字段的转换,因为不同数据库之间字段类型存在着差异,此步骤解决从待迁移数据库到目标数据库数据类型转换的问题。软件有提前构建好的各个数据库之间的数据类型映射关系表,数据迁移时直接使用对应的映射关系表,同时使用者也可以根据需要自定义修改。映射关系表的映射规则为一对一的关系,如果存在待迁移数据库表中的字段与目标数据库表字段是一对多的关系,例如:Oracle中的Number(5,1)对应着MySQL中的decimal(5,1);Oracle中的Number(5)对应着MySQL中的int(5)。此例中,Oracle一个Number对应着MySQL中的decimal和int类型,那么在程序中使用正则表达式Number\(\d+\s*(\,\s*\d+)\)来区分判断。通过映射关系表加正则匹配的方式可以解决待迁移数据库到目标数据库数据对象类型转换的问题。其次根据数据类型映射关系表与通用表字段实体类进行比对与替换,最后生成一个新的目标数据库表字段实体类。如图3C所示。
S25.目标数据库语言和编程语言实体类的生成。程序中提供了多种主流SQL的模版,如Mysql、Oracle、SQLServer、MaxCompute等。SQL(Structured Query Language)是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。
通过代码中对模版的填充构建出建表语句以及建立索引的语句。程序也支持自定义模版的方式进行生成,通过自定义模版以及指定加载字段的方式构造出相应的SQL。编程语言实体类的生成也是通过模版的方式来实现,首先通过配置文件指定编程语言,接着根据编程语言加载对应的模版,然后使用目标表字段实体类进行填充,最后生成一份指定编程语言实体类。
存储层3通过配置文件决定结果输出到目标数据库。写入目标数据库则通过引擎层2生成的建表建索引的语句来执行,此过程通过驱动管理器DriverManager来实现,目标数据库使用了对应数据库提供的SDK软件开发应用包来实现,提高迁移的成功率。对于写入失败的部分记录在日志文件中,待迁移完成后分析日志文件并修复重拾。
本实施例中通过测试将MySQL数据对象迁移到MaxCompute和Oracle中进行说明。首先在MySQL中构建需要迁移的32张表,使用本发明的方法在使用SDK软件开发应用包的情况下进行一键迁移,并输出对应的建表语句以及Java语言的实体类。
生成的SQL语句为图4A所示,查看日志文件中是否每一条SQL都成功执行,并且对每一张表的表结构进行比对,接着对生成的建表语句通过人工的方式运行,观察是否成功,最后将Java语言的实体类导入项目中,并通过mybatis的方式进行映射,观察是否成功,生成的Java代码的实体类如图4B所示。计算每种方式目标数据库与源数据库的比值,最后求得3种方式平均值为最终成功率。
结果分析:在日志文件中32张表全部运行成功,并且在MaxCompute和Oracle中均构建成功,并且SQL语句可以通过人工的方式运行成功,测试后得出最终成功率100%。
本发明的关键技术在于通过SDK软件开发应用包的接入方式使用数据类型映射关系表生成异构数据的SQL语句及主流开发语言实体类。
在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。
上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。

Claims (10)

1.一种在异构数据库之间迁移数据对象的方法,其特征在于,所述方法应用于具有应用层、引擎层和存储层的应用软件,包括以下步骤:
S1.通过应用层为应用软件使用者提供软件界面和SDK软件开发应用包的接入方式;
S2.通过引擎层读取使用者的配置信息,将待迁移数据库中的数据对象解析成通用数据对象模型,再将通用数据对象模型生成目标数据库语言或者生成编程语言实体类;
S3.通过存储层将目标数据库语言或者编程语言实体类写入到目标数据库中,并生成日志文件。
2.根据权利要求1所述的在异构数据库之间迁移数据对象的方法,其特征在于,步骤S1中,配置信息包括待迁移数据库的数据源驱动器、数据库链接、用户名、密码以及需要生成数据对象的目标数据库的数据源驱动器或者自定义驱动器文件位置、数据库链接、用户、密码;在应用层会对待迁移数据库和目标数据库进行连通性测试;连通性测试通过后使用SDK软件开发应用包,形成yaml配置文件。
3.根据权利要求2所述的在异构数据库之间迁移数据对象的方法,其特征在于,步骤S2中包括子步骤S21.引擎层读取应用层的yaml配置文件并进行待迁移数据库的连接,将待迁移数据对象加载到程序对应的实体类中,通过判断待迁移数据库的类型,选择相应的驱动方式,使用驱动管理器连接待迁移数据库,驱动注册之后,将驱动管理器保存在已注册的驱动列表中。
4.根据权利要求3所述的在异构数据库之间迁移数据对象的方法,其特征在于,步骤S2中包括子步骤S22.获取待迁移数据库表信息:通过驱动管理器的获取元数据方法获取待迁移数据库的元信息,通过元信息获取到所有的表名和表注释,将获取到的表名和表注释映射到待迁移数据库表实体类中,此时应用软件页面将显示所有的待迁移数据库表名和表注释;使用SDK软件开发应用包的方式将待迁移数据库表信息记录到日志文件;从而完成待迁移数据对象到待迁移数据库表实体类的映射。
5.根据权利要求4所述的在异构数据库之间迁移数据对象的方法,其特征在于,步骤S2中包括子步骤S23.获取字段信息并生成通用数据对象模型:通过驱动管理器的预编译获取预编译对象,再通过预编译对象的getMetaData()方法获取结果集元数据,再通过getColumns()方法获取待迁移数据库表信息的字段信息,索引也通过getIndexInfo()方法进行获取;通过预编译对象获取注释信息;最后将获取的字段信息、索引和字段注释映射到通用数据对象模型中。
6.根据权利要求5所述的在异构数据库之间迁移数据对象的方法,其特征在于,步骤S2中包括子步骤S24.进行数据字段的转换,包括首先构建各个数据库之间的数据类型映射关系表,通过数据类型映射关系表加正则匹配的方式实现待迁移数据库到目标数据库数据对象类型的转换;其次根据数据类型映射关系表与通用表字段实体类进行比对与替换;最后生成一个新的目标数据库表字段实体类。
7.根据权利要求6所述的在异构数据库之间迁移数据对象的方法,其特征在于,数据类型映射关系表中,在存在待迁移数据库表中的字段与目标数据库表字段是一对多的关系的情况下,通过在程序中使用正则表达式Number\(\d+\s*(\,\s*\d+)\)来区分判断。
8.根据权利要求7所述的在异构数据库之间迁移数据对象的方法,其特征在于,步骤S2中包括子步骤S25.目标SQL语句及编程语言实体类的生成,通过代码中对模版的填充构建出建表语句以及建立索引的语句;编程语言实体类的生成首先通过配置文件指定编程语言,接着根据编程语言加载对应的模版,然后使用目标表字段实体类进行填充,最后生成编程语言实体类。
9.一种在异构数据库之间迁移数据对象的系统,用于实施根据权利要求1-8任一项所述的方法,其特征在于,所述系统包括应用层、引擎层和存储层;
所述应用层为软件使用者提供软件界面以及SDK软件开发应用包的接入方式;
所述引擎层用于读取使用者的配置信息,将待迁移数据库的数据对象解析成通用数据对象模型,再将通用数据对象模型生成目标数据库语言或者生成编程语言实体类;
所述存储层用于将目标数据库语言或者编程语言实体类写入到目标数据库中,并生成日志文件,记录迁移的信息。
10.根据权利要求9所述的在异构数据库之间迁移数据对象的系统,其特征在于,通过所述应用层、引擎层和存储层的配合协作使得程序通过读取配置中数据库的种类选择对应的驱动器,通过配置的链接连接到指定数据库,通过读取数据库的方式,将数据对象转换成通用的模型,最后再转换成目标数据对象。
CN202210461905.3A 2022-04-28 2022-04-28 一种在异构数据库之间迁移数据对象的方法及系统 Pending CN114860689A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210461905.3A CN114860689A (zh) 2022-04-28 2022-04-28 一种在异构数据库之间迁移数据对象的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210461905.3A CN114860689A (zh) 2022-04-28 2022-04-28 一种在异构数据库之间迁移数据对象的方法及系统

Publications (1)

Publication Number Publication Date
CN114860689A true CN114860689A (zh) 2022-08-05

Family

ID=82634114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210461905.3A Pending CN114860689A (zh) 2022-04-28 2022-04-28 一种在异构数据库之间迁移数据对象的方法及系统

Country Status (1)

Country Link
CN (1) CN114860689A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033519A (zh) * 2023-09-28 2023-11-10 北京谷器数据科技有限公司 一种关系型异构数据库数据同步的方法及系统
CN117591588A (zh) * 2023-11-21 2024-02-23 国金证券股份有限公司 数据处理系统及数据处理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033519A (zh) * 2023-09-28 2023-11-10 北京谷器数据科技有限公司 一种关系型异构数据库数据同步的方法及系统
CN117591588A (zh) * 2023-11-21 2024-02-23 国金证券股份有限公司 数据处理系统及数据处理方法

Similar Documents

Publication Publication Date Title
CN106598612B (zh) 一种数据库中数据表的操作方法及系统
CN114860689A (zh) 一种在异构数据库之间迁移数据对象的方法及系统
CN109491989B (zh) 数据处理方法及装置、电子设备、存储介质
US11580096B2 (en) System for uploading information into a metadata repository
US20070083543A1 (en) XML schema template builder
CN110941629B (zh) 元数据处理方法、装置、设备及计算机可读存储介质
CN111125440B (zh) 一种基于Monad的持久层复合条件查询方法与存储介质
US7707211B2 (en) Information management system and method
CN115220697A (zh) Api开发管理方法、装置、车辆及存储介质
CN108959391B (zh) 展现数据库集群架构图的设备、系统、方法、存储介质
CN110889013A (zh) 一种基于xml的数据关联方法、装置、服务器及存储介质
CN110879936B (zh) 一种基于TeamCenter的批量生成并输出工艺控制计划的方法
CN117150595A (zh) 基于人工智能的bim软件间互操作自动建模方法及系统
CN116450110A (zh) 基于自定义属性的数据库的访问代码自动生成方法及系统
CN112764763B (zh) 一种代码转换方法、系统、设备及计算机可读存储介质
CN115344966A (zh) 一种cad装配体零部件替换方法及系统
CN111427867B (zh) 一种基于混合式存储的模型持久化方法
CN107844639B (zh) 一种项目标准结构自动生成方法及系统
CN115577438B (zh) 一种用户透明的建筑结构模型数据交换方法、设备和介质
WO2017221364A1 (ja) アダプタ生成装置及び方法
CN116383094B (zh) 一种测试用例库构建方法、装置、设备及存储介质
JP7481283B2 (ja) メタデータ管理装置、データ管理システムおよびデータ再現方法
CN118113911A (zh) 一种电力系统数据库模型维护方法及系统
CN117971225A (zh) 一种基于多种数据库表自动生成java开发代码的方法
CN117951134A (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