CN116361076B - 一种国产数据库备份方法 - Google Patents

一种国产数据库备份方法 Download PDF

Info

Publication number
CN116361076B
CN116361076B CN202310642045.8A CN202310642045A CN116361076B CN 116361076 B CN116361076 B CN 116361076B CN 202310642045 A CN202310642045 A CN 202310642045A CN 116361076 B CN116361076 B CN 116361076B
Authority
CN
China
Prior art keywords
database
catalog
wal
under
domestic
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.)
Active
Application number
CN202310642045.8A
Other languages
English (en)
Other versions
CN116361076A (zh
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.)
Huoshi Creation Technology Co ltd
Original Assignee
Hangzhou Firestone 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 Firestone Technology Co ltd filed Critical Hangzhou Firestone Technology Co ltd
Priority to CN202310642045.8A priority Critical patent/CN116361076B/zh
Publication of CN116361076A publication Critical patent/CN116361076A/zh
Application granted granted Critical
Publication of CN116361076B publication Critical patent/CN116361076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于国产数据库备份技术领域,公开了一种国产数据库备份方法,其包括如下步骤:下载wal‑g源代码文件并解压;分别在wal‑g根目录下的main、internal以及cmd目录下新增国产数据库目录,目录名称和国产数据库名称相同;将新增国产数据库对应的开源数据库的代码文件拷贝进新增国产数据库目录下;修改wal‑g根目录下go.mod文件,以增加与新增国产数据库的连接;在wal‑g根目录下创建新增国产数据库的目录,并在该目录下放置国产数据库的驱动程序;编译安装源代码修改后的wal‑g,利用修改后的wal‑g对国产数据库备份。本发明利于实现多数据库环境下,特别是多国产数据库环境下所有数据库的便捷备份。

Description

一种国产数据库备份方法
技术领域
本发明属于数据库备份技术领域,特别涉及一种国产数据库备份方法。
背景技术
目前市场占有率位居前列的各大开源数据库产品,都拥有自己的备份工具,在此基础上具有开源的通用型备份工具,因而可满足多数据库使用场景下的统一备份需求。
而国产数据库大多是基于开源数据库技术的二次开发,底层架构基本相同,但缺少通用型的备份工具,导致多类型国产数据库场景下的数据库备份效率低下,特别是在开源数据库和国产数据库同时使用的场景下,目前缺少通用型的备份工具。
如图1所示,目前国产数据库在备份方面缺少通用型备份工具,而现有的通用性开源数据库备份工具不提供对各国产数据库的备份功能。面对这样的现状,能否巧妙地利用现有资源,低成本实现方便快捷高效的备份国产数据库,是一个热门的研究方向。
发明内容
本发明的目的在于提出一种国产数据库备份方法,通过引入一款适配多种开源数据库的备份工具wal-g,并增加该工具对国产数据库的适配,使得该工具能够备份多种国产数据库,从而利于实现多数据库环境下,特别是多国产数据库环境下所有数据库的便捷备份。
本发明为了实现上述目的,采用如下技术方案:
一种国产数据库备份方法,包括如下步骤:
步骤1. 下载wal-g源代码文件,并解压;
步骤2. 增加需要适配的国产数据库的目录,即分别在wal-g根目录下的main、internal以及cmd目录下新增国产数据库目录,目录名称和国产数据库名称相同;
步骤3. 将新增国产数据库对应的开源数据库的代码文件拷贝进新增国产数据库目录下;其中对应的开源数据库是指国产数据库进行二次开发所依据的数据库;
步骤4. 修改wal-g根目录下的go.mod文件,以增加与新增国产数据库的连接;
在wal-g根目录下创建新增国产数据库的目录;下载该新增国产数据库的驱动程序,并将新增国产数据库的驱动程序放置在wal-g根目录下创建的新增国产数据库目录下;
步骤5. 编译安装源代码修改后的wal-g,利用修改后的wal-g对新增国产数据库备份。
本发明具有如下优点:
如上所述,本发明述及了一种国产数据库备份方法。本发明方法通过引入一款适配多种开源数据库的备份工具wal-g,并增加该工具对国产数据库的适配,使得该工具能够备份多种国产数据库,即可实现多数据库环境下,特别是多国产数据库环境下所有数据库的便捷备份,从而减少了软硬件资源的消耗,降低了环境的复杂度,以及备份操作的技术门槛。
附图说明
图1为现有国产数据库的备份流程现状示意图。
图2为本发明实施例中wal-g的原理框架图。
图3为本发明实施例中国产数据库备份方法的流程图。
图4为本发明实施例中利用wal-g连接国产数据库并进行备份的示意图。
图5为本发明实施例中国产数据库备份方法的备份示意图。
具体实施方式
技术术语解释:
jdbc:Java Database Connectivity,是SUN公司为了简化、统一对数据库的操作,定义的一套Java操作数据库的规范,一套客户端程序来访问数据库的通用接口。
备份工具wal-g介绍:
wal-g 是一款针对 PostgreSQL 的归档恢复工具(同时也提供对 MySQL、MariaDB、SQL Server、FoundationDB、和 MongoDB 的支持)。
wal-g 参考自 wal-e 并通过一些关键特性的不同取得了成功,包括使用了 LZ4、LZMA 或 Brotli 压缩、多进程并行。wal-g目前并不支持任何一种国产数据库的备份。
下面结合附图以及具体实施方式对本发明作进一步详细说明:
如图2所示,本实施例述及了一种国产数据库备份方法,该方法引入了一款适配多种开源数据库的备份工具wal-g,通过修改源代码,引入与新增国产数据库的连接方式。
wal-g能够在支持开源数据库备份的同时支持多种国产数据库的备份,如图2中右侧实线框内部分,满足了开源数据库和国产数据库同时使用场景下所有数据库的便捷备份需求。
在对本发明方法展开说明之前,首先梳理下wal-g的源代码架构,其架构为:
.github
benchmarks
cmd
docker
docs
internal
main
pkg
submodules
test
tests_func
testtools
Utility
其中,cmd、internal、main三个目录对开源数据库进行了分类,目前wal-g支持的开源数据库一共有七种,分别为:fdb、gp、mongo、mysql、pg、redis和sqlserver。
在梳理完wal-g的源代码架构之后,下面对本实施例中国产数据库备份方法进行详细说明。如图3所示,国产数据库备份方法包括如下步骤:
步骤1. 下载wal-g源代码文件,并解压。
步骤2. 增加需要适配的国产数据库的目录,分别在wal-g根目录下的main、internal以及cmd目录下新增国产数据库目录,目录名称和国产数据库名称相同。
该步骤2的详细过程为:
步骤2.1. 在wal-g根目录下的main目录中新增国产数据库目录;
步骤2.3. 在wal-g根目录下的cmd目录中新增国产数据库目录;
步骤2.2. 在wal-g根目录下的internal目录下的databases子目录中新增国产数据库目录。
步骤3. 将新增国产数据库对应的开源数据库的代码文件拷贝进新增国产数据库目录下;其中对应的开源数据库是指国产数据库进行二次开发所依据的数据库。
该步骤3的详细过程为:
步骤3.1. 将wal-g根目录下main目录下开源数据库目录下的全部文件拷贝至wal-g根目录下main目录下新增国产数据库的目录下;
步骤3.2. 将wal-g根目录下cmd目录下开源数据库目录下的全部文件拷贝至wal-g根目录下cmd目录下新增国产数据库的目录下;
步骤3.3. 将wal-g根目录下internal目录下databases子目录下开源数据库目录下的全部文件拷贝至wal-g根目录下internal目录下databases子目录下新增国产数据库的目录下。
步骤4. 修改wal-g根目录下go.mod文件(wal-g根目录下的go.mod文件本来就存在),增加与新增国产数据库连接的代码,从而实现与新增国产数据库的连接。
国产数据库虽然是基于开源数据库做的二次开发或者封装,但国产数据库在命名、工具、文件路径等方面均与对应的开源数据库有一定的差别。
因此,本发明通过对wal-g根目录下的go.mod文件修改,以增加与新增国产数据库的连接,使之适配新增国产数据库,使wal-g能连接上国产数据库,以实现备份功能。
在wal-g根目录下创建新增国产数据库目录;下载国产数据库的驱动程序即jdbc通用连接模块,如图4所示,并在该新增国产数据库目录下放置国产数据库的驱动程序。
本发明通过在wal-g源代码里面,以一款国产数据库对应一个目录的方式,集成各种国产数据库的jdbc通用连接模块,从而连接上相应的国产数据库,进行备份。
步骤5. 编译安装源代码修改后的wal-g,利用修改后的wal-g对新增国产数据库备份。
本发明通过在通用数据库备份工具wal-g现有基础上增加对多种国产数据库的适配,对该工具的适用数据库范围进行了扩充,最终使wal-g能同时备份多种国产数据库,如图5所示。
下面以人大金仓数据库(kingbase)为例,对本发明实施例中方法步骤进行举例说明。
步骤1. 下载wal-g源代码文件,并解压,命令如下:
1 wget https://github.com/wal-g/wal-g/archives/refs/heads/master.zip
2 unzip walg-master.zip。
步骤2. 分别在main、internal以及cmd目录下新增一个名为kingbase的目录。
该步骤2具体为:
步骤2.1. 在wal-g根目录下的main目录中新增kingbase目录,命令如下:
1 cd main
2 mkdir kingbase
3 cp -r pg/* kingbasel/ 。
步骤2.2. 在wal-g根目录下的cmd目录下新增kingbase目录,命令如下:
1 cd cmd
2 mkdir kingbase
3 cp -r pg/* kingbasel/ 。
步骤2.3. 在wal-g根目录下的internal目录下的databases子目录中新增kingbase目录,命令如下:
1 cd internal/databases
2 mkdir kingbase
3 cp -r pg/* kingbase/ 。
步骤3. 由于 kingbase是基于postgresql进行的二次开发,具体过程如下:
步骤3.1. 将wal-g根目录下main目录下pg目录下的全部文件拷贝至wal-g根目录下main目录下kingbase目录下。
步骤3.2. 将wal-g根目录下cmd目录下pg目录下的全部文件拷贝至wal-g根目录下cmd目录下kingbase目录下。
步骤3.3. 将wal-g根目录下internal目录下databases子目录下pg目录下的全部文件拷贝至wal-g根目录下internal目录下databases子目录下kingbase目录下。
步骤4. 修改wal-g根目录下go.mod文件,以增加与kingbase的连接方式。
该步骤4具体为:
步骤4.1. 修改wal-g根目录下go.mod文件,增加以下代码。
1 cat "require kingbase.com/gokb v0.0.0">>go.mod
2 cat "replace kingbase.com/gokb v0.0.0 =>./kingbase.com @v0.0.0/gokb">>go.mod。
通过增加以上代码,就能够通过wal-g连接并且备份人大金仓数据库了。
步骤4.2. 在wal-g根目录下创建kingbase的目录kingbase@v0.0.0,下载kingbase的驱动程序,放置于kingbase@v0.0.0目录下,命令如下:
1 mkdir kingbase
2 cd kingbase
3 wget https://kingbase.oss-cn-beijing.aliyuncs.com/KES INTERFACEdbc/x86/jdbc-x86.zip。
步骤5. 编译安装源代码修改后的wal-g,命令如下:
1 make USE BROTLI=1
2 make USE BROTLl=1 install。
利用修改后的wal-g对新增国产数据库进行备份。
此处需要说明的是,以上对于人大金仓数据库(kingbase)的处理步骤仅仅为示例性的,其他种类国产数据库的处理过程均可以参照上述kingbase的处理步骤。
由于按照上述处理过程,使得wal-g可支持多种国产数据库的备份操作,因此本发明能够实现多数据库环境下,特别是多国产数据库环境下所有数据库的便捷备份。
本发明实现了利用一款工具备份多种国产数据库的功能,在多国产数据库的环境中可有效降低原硬件资源成本,降低数据库环境部署及维护复杂度,降低数据库备份的技术门槛。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。

Claims (1)

1.一种国产数据库备份方法,其特征在于,包括如下步骤:
步骤1. 下载wal-g源代码文件,并解压;
步骤2. 增加需要适配的国产数据库的目录,即分别在wal-g根目录下的main、internal以及cmd目录下新增国产数据库目录,目录名称和国产数据库名称相同;
所述步骤2具体为:
步骤2.1. 在wal-g根目录下的main目录中新增国产数据库目录;
步骤2.3. 在wal-g根目录下的cmd目录中新增国产数据库目录;
步骤2.2. 在wal-g根目录下的internal目录下的databases子目录中新增国产数据库目录;
步骤3. 将新增国产数据库对应的开源数据库的代码文件拷贝进新增国产数据库目录下;其中对应的开源数据库是指国产数据库进行二次开发所依据的数据库;
所述步骤3具体为:
步骤3.1. 将wal-g根目录下main目录下开源数据库目录下的全部文件拷贝至wal-g根目录下main目录下新增国产数据库的目录下;
步骤3.2. 将wal-g根目录下cmd目录下开源数据库目录下的全部文件拷贝至wal-g根目录下cmd目录下新增国产数据库的目录下;
步骤3.3. 将wal-g根目录下internal目录下databases子目录下开源数据库目录下的全部文件拷贝至wal-g根目录下internal目录下databases子目录下新增国产数据库的目录下;
步骤4. 修改wal-g根目录下的go.mod文件,以增加与新增国产数据库的连接;
在wal-g根目录下创建新增国产数据库的目录;下载该新增国产数据库的驱动程序,并将新增国产数据库的驱动程序放置在wal-g根目录下创建的新增国产数据库目录下;
步骤5. 编译安装源代码修改后的wal-g,利用修改后的wal-g对新增国产数据库备份。
CN202310642045.8A 2023-06-01 2023-06-01 一种国产数据库备份方法 Active CN116361076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310642045.8A CN116361076B (zh) 2023-06-01 2023-06-01 一种国产数据库备份方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310642045.8A CN116361076B (zh) 2023-06-01 2023-06-01 一种国产数据库备份方法

Publications (2)

Publication Number Publication Date
CN116361076A CN116361076A (zh) 2023-06-30
CN116361076B true CN116361076B (zh) 2023-11-14

Family

ID=86940004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310642045.8A Active CN116361076B (zh) 2023-06-01 2023-06-01 一种国产数据库备份方法

Country Status (1)

Country Link
CN (1) CN116361076B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714859A (zh) * 2013-12-17 2015-06-17 南京壹进制信息技术有限公司 一种海量文件的快速备份与恢复的方法
CN104850598A (zh) * 2015-04-28 2015-08-19 江苏瑞中数据股份有限公司 一种实时数据库备份恢复方法
CN112269823A (zh) * 2020-10-30 2021-01-26 浪潮云信息技术股份公司 一种实现PostgreSQL增量数据同步的方法及系统
CN114138565A (zh) * 2021-12-09 2022-03-04 瀚高基础软件股份有限公司 一种加速数据库备份的方法及系统
CN114610385A (zh) * 2022-03-16 2022-06-10 山东福生佳信科技股份有限公司 一种运行环境适配系统及方法
CN115185599A (zh) * 2022-06-23 2022-10-14 中国民航信息网络股份有限公司 基于Golang的项目部署方法、系统及存储介质
CN115421765A (zh) * 2021-12-01 2022-12-02 万达信息股份有限公司 一种应用于国产化操作系统的大数据管理部署方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11799839B2 (en) * 2021-03-29 2023-10-24 Oracle International Corporation Cross-regional replication of keys

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714859A (zh) * 2013-12-17 2015-06-17 南京壹进制信息技术有限公司 一种海量文件的快速备份与恢复的方法
CN104850598A (zh) * 2015-04-28 2015-08-19 江苏瑞中数据股份有限公司 一种实时数据库备份恢复方法
CN112269823A (zh) * 2020-10-30 2021-01-26 浪潮云信息技术股份公司 一种实现PostgreSQL增量数据同步的方法及系统
CN115421765A (zh) * 2021-12-01 2022-12-02 万达信息股份有限公司 一种应用于国产化操作系统的大数据管理部署方法
CN114138565A (zh) * 2021-12-09 2022-03-04 瀚高基础软件股份有限公司 一种加速数据库备份的方法及系统
CN114610385A (zh) * 2022-03-16 2022-06-10 山东福生佳信科技股份有限公司 一种运行环境适配系统及方法
CN115185599A (zh) * 2022-06-23 2022-10-14 中国民航信息网络股份有限公司 基于Golang的项目部署方法、系统及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PostgreSQL热备原理研究及流复制运用;付莎;;电脑知识与技术(12);全文 *

Also Published As

Publication number Publication date
CN116361076A (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
EP0841626B1 (en) Data transfer mechanism
CN106933570B (zh) 一种基于插件技术的航天测发控软件平台
US6901405B1 (en) Method for persisting a schedule and database schema
EP0972258B1 (en) Java-to-database connectivity server
CA2228210A1 (en) File system interface to a database
US20030177146A1 (en) Method, system, and program product for migrating data from one data base management system to another data base management system
EP1573601A1 (en) System and method for storing and retrieving a field of a user defined type outside of a database store in which the type is defined
WO2000049533A3 (en) Hierarchical indexing for accessing hierarchically organized information in a relational system
KR20060080581A (ko) 저장 플랫폼과 애플리케이션 프로그램 사이의 애플리케이션프로그래밍 인터페이스
CN101008952A (zh) 一种持久层生成方法及装置
CN116361076B (zh) 一种国产数据库备份方法
EP1960910B1 (en) System and method for deploying an sql procedure
US20060242167A1 (en) Object based test library for WinFS data model
CN116804994A (zh) 数据同步方法、系统、装置、电子设备及存储介质
CN100416562C (zh) 一种电力自动化系统实时数据库管理系统及其实现方法
CN112231374A (zh) 一种通用数据库驱动适配接口系统
CN115809070A (zh) 一种对象存储在私有云和大数据集群中的混合应用的方法
CN114090595A (zh) 一种基于多态电网模型的驱动型数据处理方法
Kim et al. TMOM: A moving object main memory-based DBMS for telematics services
Kiura et al. Distributed Agricultural Model System
CN100562193C (zh) 逻辑文件加载的方法与系统
Van Der Weerd Unified design and implementation of FPA control systems.
von Bultzingsloewen et al. Kardamom—a dataflow database machine for real-time applications
CN115729578A (zh) 一种离线环境下支持多种操作系统的OLAP模式Oracle19c部署方法
CN117499245A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 310051 floor 7, block B, No. 482 Qianmo Road, Binjiang District, Hangzhou, Zhejiang

Patentee after: Huoshi Creation Technology Co.,Ltd.

Address before: 310051 floor 7, block B, No. 482 Qianmo Road, Binjiang District, Hangzhou, Zhejiang

Patentee before: HANGZHOU FIRESTONE TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder