一种数据库的数据动态加载方法及装置与流程

文档序号:34899220发布日期:2023-07-26 06:58阅读:32来源:国知局
一种数据库的数据动态加载方法及装置与流程

本发明涉及数据库,尤其涉及一种数据库的数据动态加载方法及装置。


背景技术:

1、随着信息技术的发展,企业对数据管理的要求越来越高数据库逐渐成为主流的数据存储介质。一些行业对数据管理要求较高的机构如银行、证券等,一旦服务器出现意外停机、服务器遭到恶意攻击导致数据丢的失情况、存储介质受到物理损坏、人工操作失误等严重意外情况会造成不可挽回的损失。所以市面上出现一些数据库备份恢复工具和备份恢复开源软件,但是这些工具大多需要依靠生成介质文件保存数据,再将介质文件中的数据加载进数据库中。

2、目前市面上的数据库数据加载的方式都有如下几种:

3、1)同构数据库静态加载技术:在相同架构的数据库下(比如oracle和oracle,postgresql和postgresql,相同体系架构的数据库),当需要将数据文件进行移库处理时,需要对数据库进行重新启动,这样才能通过数据库机制将数据加载到新的库中。

4、2)异构数据库备份恢复技术:在不同架构的数据库中,需要进行数据的移库处理时,只能通过将旧的数据库中的数据通过备份工具,备份到某个数据文件,然后新库通过数据恢复工具,将数据文件导入到新库中,实现数据的加载。

5、3)数据文件的加载校验:目前在备份和恢复过程中,如果文件遭受改写,则恢复时会导入错误的数据。

6、目前技术中,进行数据加载的过程比较繁琐,而且会耗费大量的服务器资源。


技术实现思路

1、本发明要解决的技术问题是,如何简化数据加载的过程,节约服务器资源;有鉴于此,本发明提供一种数据库的数据动态加载方法及装置。

2、本发明采用的技术方案是,一种数据库的数据动态加载方法,包括:

3、步骤s1,在第一数据库中,获取加载表的表信息;

4、步骤s2,基于所述表信息,在第二数据库中创建被加载表;

5、步骤s3,将所述加载表由所述第一数据库加载至所述第二数据库。

6、在一个实施方式中,在第一数据库中,获取加载表的表信息的步骤之前,所述方法还包括:

7、确定所述第二数据库是否符合加载条件。

8、在一个实施方式中,其特征在于,所述第一数据库以及所述第二数据库之间互为同构数据库或异构数据库。

9、在一个实施方式中,当所述第一数据库以及所述第二数据库之间互为同构数据库时,基于所述表信息,在第二数据库中创建被加载表,包括:

10、在所述第二数据库中创建一个与所述加载表结构相同、类型相同的被加载表。

11、在一个实施方式中,当所述第一数据库以及所述第二数据库之间互为同构数据库时,将所述加载表由所述第一数据库加载至所述第二数据库,包括:

12、获取被加载表的物理文件绝对路径,利用所述路径将加载表的物理文件对应传输至所述被加载表;

13、对所述被加载表和所述加载表进行md5完整性校验;

14、在所述第一数据库中,将所述加载表的缓冲区清空,重新从所述物理文件中读取刷入所述缓冲区中,以实现对所述加载表的数据动态加载。

15、在一个实施方式中,当所述第一数据库以及所述第二数据库之间互为异构数据库时,所述基于所述表信息,在第二数据库中创建被加载表,包括:

16、基于所述第一数据库的结构确定所述被加载表的表信息,将所述被加载表的结构、表类型转换为所述第二数据库对应的表结构和类型。将转换后得到的表信息进行保存,用于在所述第二数据库中创建所述加载表。

17、在一个实施方式中,当所述第一数据库以及所述第二数据库之间互为异构数据库时,将所述加载表由所述第一数据库加载至所述第二数据库,包括:

18、记录对所述被加载表至当前时间节点的所有操作;

19、基于对所述被加载表的操作,确定所述被加载表中至目前时间节点的有效数据;

20、对每一条所述有效数据转化成符合所述第二数据库插入语法的sql语句,通过数据库程序编程接口发送给数据库后端,将表数据插入所述加载表中;

21、对所述被加载表和所述加载表进行md5完整性校验。

22、本发明的另一方面还提供了一种数据库的数据动态加载装置,包括:

23、获取单元,被配置为在第一数据库中,获取加载表的表信息;

24、创建单元,被配置为基于所述表信息,在第二数据库中创建被加载表;

25、动态加载单元,被配置为将所述加载表由所述第一数据库加载至所述第二数据库。

26、本发明的另一方面还提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的数据库的数据动态加载方法的步骤。

27、本发明的另一方面还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的数据库的数据动态加载方法的步骤。

28、采用上述技术方案,本发明简化了使用者需要导入其他数据库中的数据时的操作步骤,在实际操作时易于上手,操作简单;并且,本发明不会生成中间介质文件防止文件内容被恶意改动,直接通过linux系统的文件控制的方式相对较安全。



技术特征:

1.一种数据库的数据动态加载方法,其特征在于,包括:

2.根据权利要求1所述的数据库的数据动态加载方法,其特征在于,在第一数据库中,获取加载表的表信息的步骤之前,所述方法还包括:

3.根据权利要求2所述的数据库的数据动态加载方法,其特征在于,所述第一数据库以及所述第二数据库之间互为同构数据库或异构数据库。

4.根据权利要求3所述的数据库的数据动态加载方法,其特征在于,当所述第一数据库以及所述第二数据库之间互为同构数据库时,基于所述表信息,在第二数据库中创建被加载表,包括:

5.根据权利要求3所述的数据库的数据动态加载方法,其特征在于,当所述第一数据库以及所述第二数据库之间互为同构数据库时,将所述加载表由所述第一数据库加载至所述第二数据库,包括:

6.根据权利要求3所述的数据库的数据动态加载方法,其特征在于,当所述第一数据库以及所述第二数据库之间互为异构数据库时,所述基于所述表信息,在第二数据库中创建被加载表,包括:

7.根据权利要求3所述的数据库的数据动态加载方法,其特征在于,当所述第一数据库以及所述第二数据库之间互为异构数据库时,将所述加载表由所述第一数据库加载至所述第二数据库,包括:

8.一种数据库的数据动态加载装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据库的数据动态加载方法的步骤。

10.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据库的数据动态加载方法的步骤。


技术总结
本发明提出了一种数据库的数据动态加载方法及装置,方法包括:在第一数据库中,获取加载表的表信息;基于表信息,在第二数据库中创建被加载表;将加载表由第一数据库加载至第二数据库。本发明简化了使用者需要导入其他数据库中的数据时的操作步骤,在实际操作时易于上手,操作简单;并且,本发明不会生成中间介质文件防止文件内容被恶意改动,直接通过linux系统的文件控制的方式相对较安全。

技术研发人员:赵晨光,张龙,苗健,吕新杰
受保护的技术使用者:瀚高基础软件股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1