CN111708754A - 跨异构数据库的数据迁移方法和系统 - Google Patents

跨异构数据库的数据迁移方法和系统 Download PDF

Info

Publication number
CN111708754A
CN111708754A CN202010431143.3A CN202010431143A CN111708754A CN 111708754 A CN111708754 A CN 111708754A CN 202010431143 A CN202010431143 A CN 202010431143A CN 111708754 A CN111708754 A CN 111708754A
Authority
CN
China
Prior art keywords
database
read
data
platform
xml
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
Application number
CN202010431143.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.)
Nanjing SAC Automation Co Ltd
Original Assignee
Nanjing SAC Automation 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 Nanjing SAC Automation Co Ltd filed Critical Nanjing SAC Automation Co Ltd
Priority to CN202010431143.3A priority Critical patent/CN111708754A/zh
Publication of CN111708754A publication Critical patent/CN111708754A/zh
Withdrawn 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

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

Abstract

本发明公开了一种跨异构数据库的数据迁移方法和系统,所述方法包括响应于应用程序的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。本发明能够实现不同数据库平台下数据的安全迁移,数据迁移过程中减小了迁移出错概率。

Description

跨异构数据库的数据迁移方法和系统
技术领域
本发明属于电力系统自动化技术领域,具体涉及一种跨异构数据库的数据迁移方法和系统。
背景技术
随着具有自主可控的软硬件技术进步,发展基于自主可控数据库的监控系统也正在成为一种趋势。然而,不同的数据库之间存在很多差异,给用户的使用带来很多挑战,不同的数据库访问接口的实现、sql语句的调用、不同数据库底层函数的调用以及不同数据库下不同关键字和不同数据类型都存在各自的特点,对于开发人员来说,处理这些不同将变得十分繁琐。随着应用模块的不断增多,一个数据库接口发生变化需要修改的应用模块也随之增多。另外,随着自主可控数据库的不断发展更新,不仅有新的自主可控数据库不断涌现,原有的数据库版本迭代也不会少。不同数据库之间以及同一数据库不同版本之间数据的迁移也存在很多差异,甚至会出现迁移失败的情况,对于一台机器而言,想要完成不同数据库之间的数据迁移还需要同时支持多种不同的数据库。此外,不同数据库平台之间的数据迁移没有应用级的安全访问控制,对应用数据迁移的安全控制不能和应用程序相配合,想要把访问控制的策略和应用程序相互融合还需要进一步完善。
发明内容
针对上述问题,本发明提出一种跨异构数据库的数据迁移方法和系统,能够实现不同数据库平台下数据的安全迁移,数据迁移过程中增加了应用级的安全访问控制,同时数据迁移过程中减小了迁移出错概率。
为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
第一方面,本发明提供了一种跨异构数据库的数据迁移方法,包括:
响应于应用程序的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;
利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。
可选地,所述利用数据库读写接口读取当前数据库平台中各异构数据库中的数据,以及利用与目标数据库平台相连的数据库读写接口解析所述xml文件步骤之前还包括:
对数据库读写接口进行安全访问控制验证。
可选地,一个xml文件对应一种对象类型,一种对象类型对应一张数据库表,数据库表中的表字段和对象属性一一对应,数据库表中的记录与对象属性内容一一对应。
可选地,不同对象类型以不同数据库表形式存储于数据库中,多个对象以多条记录存储于数据库表中,所有应用数据以不同字段形式存储于数据库表的各条记录中。
可选地,各数据库读写接口均相同,各数据库读写接口中均设有用于区分不同数据库平台的宏定义,用于区分不同数据库。
可选地,所述将读取到的数据规范化转储为xml文件,包括以下步骤:
利用数据库读接口遍历各数据对象及属性,不同类型对象分别以对象类型为单位导出为不同xml文件,同一种类型对象以多条xml元素导出到对应xml文件,所有数据以xml元素属性形式导出到对应xml文件。
可选地,所述利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,包括:
利用与目标数据库平台相连的数据库读写接口遍历所述xml文件,一个文件对应一种对象类型,一个文件通过数据库读写接口创建一张数据库表,文件内容通过数据库读写接口插入对应数据记录至数据库表,一个xml元素即为一个数据对象对应一条数据库表记录。
第二方面,本发明提供了一种跨异构数据库的数据迁移系统,包括:应用程序、当前数据库平台、目标数据库平台和数据库读写接口;
应用程序发出数据迁移指令,
响应于应用程序发出的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;
利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。
可选地,所述当前数据库平台与数据库读取接口之间设有安全访问控制单元,对数据库读写接口进行安全访问控制验证。
可选地,所述目标数据库平台与数据库读取接口之间设有安全访问控制单元,对数据库读写接口进行安全访问控制验证。
与现有技术相比,本发明的有益效果:
本发明能够实现不同数据库平台下数据的安全迁移,数据迁移过程中增加了应用级的安全访问控制,同时数据迁移过程中减小了迁移出错概率,另外,对于一台机器而言,想要完成不同数据库之间的数据迁移不需要同时支持多种不同的数据库。
本发明能平滑实现应用程序在不同数据库平台下的切换,同样的应用程序,不需要作任何修改,可以在不同的数据库平台下完美切换,能有效适配不断涌现的新的自主可控数据库,只需要修改数据库统一封装接口,应用程序不用作任何修改。
本发明能有效简化应用程序开发人员对不同数据库的理解,对不同的数据库访问接口的实现、sql语句的调用、不同数据库底层函数的调用以及不同数据库下不同关键字和不同数据类型差异的特殊处理。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1为本发明一种实施例的规范化应用数据对象属性表图;
图2为本发明一种实施例的跨异构数据库的数据迁移方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
下面结合附图对本发明的应用原理作详细的描述。
实施例1
本发明实施例中提供了一种跨异构数据库的数据迁移方法,能够实现跨异构数据库的数据平台应用平滑切换。本发明通过提供一种统一的数据库读写接口,进行安全访问控制验证后,奖当前数据库平台下不同数据库的数据内容规范化转储为xml文件,再通过解析转储后的xml文件获取数据,将数据通过统一的数据库读写接口导入目标数据库平台中的对应数据库中,从而实现数据库内容迁移到另一数据库中。各应用程序可在另一数据库平台下通过统一的数据库读写接口读写数据,实现了跨异构数据库的数据平台应用的平滑切换。
如图2所示,具体地,本发明提供了一种跨异构数据库的数据迁移方法,包括:
响应于应用程序的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;
利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。
在本发明实施例的一种具体实施方式中,所述利用数据库读写接口读取当前数据库平台中各异构数据库中的数据,以及利用与目标数据库平台相连的数据库读写接口解析所述xml文件步骤之前还包括:
对数据库读写接口进行安全访问控制验证。
在本发明实施例的一种具体实施方式中,一个xml文件对应一种对象类型,一种对象类型对应一张数据库表,数据库表中的表字段和对象属性一一对应,数据库表中的记录与对象属性内容一一对应,具体参见图1。各个对象类型所对应的表结构、字段、索引、主键和外键。不同对象类型以不同数据库表形式存储于数据库中,多个对象以多条记录存储于数据库表中,所有应用数据以不同字段形式存储于数据库表的各条记录中。
在本发明实施例的一种具体实施方式中,各数据库读写接口均相同,各数据库读写接口中均设有用于区分不同数据库平台的宏定义,用于区分不同数据库。具体地:
数据库读写接口的实现通过不同的宏定义区分不同类型的数据库平台,根据不同数据库平台可提供不同的访问接口。连接数据库成功后,在需要调用sql语句时,统一封装的读数据库接口需要提供必要的参数如字段名等,将各参数按照不同数据库风格拼接成不同数据库平台下的sql语句进行执行并返回结果。对于备份、还原、导入文件等数据库底层函数,各数据库也不相同,如果需要调用,也要通过宏定义来区分函数命令与函数路径。另外,不同数据库平台下关键字不尽相同,达梦数据库把“section”作为关键字,其他数据库则没有。各数据库对关键字的处理也不同,有的需要加双隐号,有的需要加单隐号,有的跨域操作时不判断关键字,有的跨域操作时需要判断关键字,这些不同都可以通过宏定义来进行区别处理。各数据库对数据类型的处理方式不同,例如mysql支持int(10)数据类型而达梦支持int或者number(10)数据类型。各数据库还可能会都支持同一个函数但用法却不相同,例如聚合函数group by。总之,本发明中各数据库平台之间的差异有大有小,都要通过宏定义一一区分开来。
数据库读取接口提供简单的数据库连接、导入导出及读写等接口函数,隐藏复杂的数据库sql命令及内部函数访问过程。各应用程序统一调用数据库读取接口的接口函数,不用感知到数据库平台的变化。对调用接口函数时各应用程序必须提供必要的参数。在调用读取数据库函数时,提供需要读取的表名、列名以及读取条件。在调用插入数据库函数时,提供需要插入的表名、行数以及需要插入的数据。
在本发明实施例的一种具体实施方式中,所述将读取到的数据规范化转储为xml文件,包括以下步骤:
利用数据库读接口遍历各数据对象及属性,不同类型对象分别以对象类型为单位导出为不同xml文件,同一种类型对象以多条xml元素导出到对应xml文件,所有数据以xml元素属性形式导出到对应xml文件;具体地:
对当前数据库平台进行访问,经过权限安全访问控制单元的验证进入数据库连接,各应用数据已经过规范化设计存储于数据库中,通过统一的数据库读接口遍历经过规范化设计的各数据对象及属性。将读取到的对象按对象类型导出为xml文件,不同类型对象分别导出为不同xml文件,同一种类型对象以多条xml元素导出到对应xml文件,所有应用数据以xml元素属性形式导出到对象类型对应的xml文件。所有的xml文件存放在统一路径下,等到各数据对象遍历完成后进行zip打包方便拷贝。
在本发明实施例的一种具体实施方式中,所述利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,包括:
利用与目标数据库平台相连的数据库读写接口遍历所述xml文件,一个文件对应一种对象类型,一个文件通过数据库读写接口创建一张数据库表,文件内容通过数据库读写接口插入对应数据记录至数据库表,一个xml元素即为一个数据对象对应一条数据库表记录;具体地:
将xml文件拷贝到当前数据库平台,不用考虑此数据库平台是什么数据库类型,经过权限安全访问控制单元的验证进入数据库连接,遍历导出的xml文件,解析规范化xml文件,一个xml文件对应一种对象类型,一个xml文件通过OTL封装统一的数据库写接口创建一张数据库表,文件内容通过数据库写接口插入对应数据记录,一个xml元素即为一个数据对象对应一条数据库记录。
实施例2
本发明实施例中提供了一种跨异构数据库的数据迁移系统,包括:应用程序、当前数据库平台、目标数据库平台和数据库读写接口;
应用程序发出数据迁移指令,
响应于应用程序发出的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;
利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。
在本发明实施例的一种具体实施方式中,所述当前数据库平台与数据库读取接口之间设有安全访问控制单元,对数据库读写接口进行安全访问控制验证。
在本发明实施例的一种具体实施方式中,所述目标数据库平台与数据库读取接口之间设有安全访问控制单元,对数据库读写接口进行安全访问控制验证。
其余部分均与实施例1相同。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (10)

1.一种跨异构数据库的数据迁移方法,其特征在于,包括:
响应于应用程序的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;
利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。
2.根据权利要求1所述的一种跨异构数据库的数据迁移方法,其特征在于:所述利用数据库读写接口读取当前数据库平台中各异构数据库中的数据,以及利用与目标数据库平台相连的数据库读写接口解析所述xml文件步骤之前还包括:
对数据库读写接口进行安全访问控制验证。
3.根据权利要求1所述的一种跨异构数据库的数据迁移方法,其特征在于:一个xml文件对应一种对象类型,一种对象类型对应一张数据库表,数据库表中的表字段和对象属性一一对应,数据库表中的记录与对象属性内容一一对应。
4.根据权利要求3所述的一种跨异构数据库的数据迁移方法,其特征在于:不同对象类型以不同数据库表形式存储于数据库中,多个对象以多条记录存储于数据库表中,所有应用数据以不同字段形式存储于数据库表的各条记录中。
5.根据权利要求1所述的一种跨异构数据库的数据迁移方法,其特征在于:各数据库读写接口均相同,各数据库读写接口中均设有用于区分不同数据库平台的宏定义,用于区分不同数据库。
6.根据权利要求1所述的一种跨异构数据库的数据迁移方法,其特征在于,所述将读取到的数据规范化转储为xml文件,包括以下步骤:
利用数据库读接口遍历各数据对象及属性,不同类型对象分别以对象类型为单位导出为不同xml文件,同一种类型对象以多条xml元素导出到对应xml文件,所有数据以xml元素属性形式导出到对应xml文件。
7.根据权利要求1所述的一种跨异构数据库的数据迁移方法,其特征在于,所述利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,包括:
利用与目标数据库平台相连的数据库读写接口遍历所述xml文件,一个文件对应一种对象类型,一个文件通过数据库读写接口创建一张数据库表,文件内容通过数据库读写接口插入对应数据记录至数据库表,一个xml元素即为一个数据对象对应一条数据库表记录。
8.一种跨异构数据库的数据迁移系统,其特征在于,包括:应用程序、当前数据库平台、目标数据库平台和数据库读写接口;
应用程序发出数据迁移指令,
响应于应用程序发出的数据迁移指令,利用与当前数据库平台相连的数据库读写接口读取当前数据库平台中各异构数据库中的数据,将读取到的数据规范化转储为xml文件,不同xml文件对应不同对象类型;
利用与目标数据库平台相连的数据库读写接口解析所述xml文件,并将解析后的xml文件导入至目标数据库平台中对应的数据库中,实现跨异构数据库的数据迁移。
9.根据权利要求8所述的一种跨异构数据库的数据迁移系统,其特征在于,所述当前数据库平台与数据库读取接口之间设有安全访问控制单元,对数据库读写接口进行安全访问控制验证。
10.根据权利要求8所述的一种跨异构数据库的数据迁移系统,其特征在于,所述目标数据库平台与数据库读取接口之间设有安全访问控制单元,对数据库读写接口进行安全访问控制验证。
CN202010431143.3A 2020-05-20 2020-05-20 跨异构数据库的数据迁移方法和系统 Withdrawn CN111708754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010431143.3A CN111708754A (zh) 2020-05-20 2020-05-20 跨异构数据库的数据迁移方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010431143.3A CN111708754A (zh) 2020-05-20 2020-05-20 跨异构数据库的数据迁移方法和系统

Publications (1)

Publication Number Publication Date
CN111708754A true CN111708754A (zh) 2020-09-25

Family

ID=72538513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010431143.3A Withdrawn CN111708754A (zh) 2020-05-20 2020-05-20 跨异构数据库的数据迁移方法和系统

Country Status (1)

Country Link
CN (1) CN111708754A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495398A (zh) * 2022-09-28 2022-12-20 北京亚控科技发展有限公司 接口资源操作方法、装置、电子设备、存储介质及产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495398A (zh) * 2022-09-28 2022-12-20 北京亚控科技发展有限公司 接口资源操作方法、装置、电子设备、存储介质及产品
CN115495398B (zh) * 2022-09-28 2023-06-30 北京亚控科技发展有限公司 接口资源操作方法、装置、电子设备、存储介质

Similar Documents

Publication Publication Date Title
Skarra et al. Type evolution in an object-oriented database
US6349305B1 (en) Method and system for database processing by invoking a function related to index type definition, generating an execution plan based on index type name
US10438008B2 (en) Row level security
Koch et al. ORACLE7: the complete reference
US10949424B2 (en) Optimization technique for database application
US7660811B2 (en) System that facilitates database querying
JPS62164136A (ja) デ−タベ−ス・アクセス制御方式
WO2019237333A1 (en) Converting database language statements between dialects
US20070250517A1 (en) Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries
US8667010B2 (en) Database table partitioning allowing overlaps used in full text query
CN1976320B (zh) 数据访问控制方法及系统
CN101714167B (zh) 一种访问单文件数据库的方法及装置
CN109213813A (zh) 一种数据导出的方法和装置
US7213014B2 (en) Apparatus and method for using a predefined database operation as a data source for a different database operation
WO2023087720A1 (zh) 小程序生成方法、装置、设备及存储介质
CN111708754A (zh) 跨异构数据库的数据迁移方法和系统
CN113761040A (zh) 数据库与应用程序双向映射方法、设备、介质及程序产品
CN117421302A (zh) 一种数据处理方法及相关设备
Papavasileiou et al. Ariadne: Online provenance for big graph analytics
Marque-Pucheu et al. Interfacing Prolog and relational data base management systems
Kellogg et al. Using Pathfinder to evaluate user and system models
Patel et al. Relational databases and SQL language
CN114880394B (zh) 一种sql脚本的共享方法、设备及介质
Kambayashi et al. A relational data language with simplified binary relation handling capability
Tompa Choosing an efficient internal schema

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200925