CN116361076B - 一种国产数据库备份方法 - Google Patents
一种国产数据库备份方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000009434 installation Methods 0.000 claims abstract description 5
- 238000011161 development Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 241001178520 Stomatepia mongo Species 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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对新增国产数据库备份。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11799839B2 (en) * | 2021-03-29 | 2023-10-24 | Oracle International Corporation | Cross-regional replication of keys |
-
2023
- 2023-06-01 CN CN202310642045.8A patent/CN116361076B/zh active Active
Patent Citations (7)
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)
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 | |
CN116361076B (zh) | 一种国产数据库备份方法 | |
CN111736826B (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) | 一种通用数据库驱动适配接口系统 | |
Hipp et al. | Integrating Association Rule Mining Algorithms with Relational Database Systems. | |
CN115809070A (zh) | 一种对象存储在私有云和大数据集群中的混合应用的方法 | |
CN114090595A (zh) | 一种基于多态电网模型的驱动型数据处理方法 | |
CN101403971A (zh) | 基于代理的数据对象持久化方法及装置 | |
Kiura et al. | Distributed Agricultural Model System | |
CN100562193C (zh) | 逻辑文件加载的方法与系统 | |
Van Der Weerd | Unified design and implementation of FPA control systems. | |
KR0160914B1 (ko) | 클라이언트/서버 환경에서 이 기종 데이타베이스 연결방법 | |
CN117499245A (zh) | 一种自动捕获用户操作并追踪定位应用异常的实现方法 | |
CN115495456A (zh) | 一种基于Solr的索引数据动态更新的处理系统及方法 |
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 |