CN116610500B - 数据备份方法、装置、设备及存储介质 - Google Patents
数据备份方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116610500B CN116610500B CN202310892429.5A CN202310892429A CN116610500B CN 116610500 B CN116610500 B CN 116610500B CN 202310892429 A CN202310892429 A CN 202310892429A CN 116610500 B CN116610500 B CN 116610500B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- backup
- open system
- main database
- 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 50
- 238000011084 recovery Methods 0.000 claims abstract description 39
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 230000001360 synchronised effect Effects 0.000 claims description 26
- 230000006399 behavior Effects 0.000 claims description 16
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 7
- 230000008676 import Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据备份方法、装置、设备及存储介质,包括将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;对备数据库中的数据进行整机备份,生成主数据库的数据备份点。本发明将非开放系统中主数据库的业务数据同步到开放系统中的备数据库,再对备数据库中的数据进行整机备份,生成主数据库的数据备份点,将非开放系统的数据备份转换为开放系统的数据备份,无需开发监控非开放系统磁盘读写的内核模块,降低了数据备份的成本,而且在进行数据恢复的时候可以把数据备份点快速重建到开放系统,降低了数据恢复的耗费时长。
Description
技术领域
本发明涉及数据库容灾技术领域,尤其涉及一种数据备份方法、装置、设备及存储介质。
背景技术
非开放性系统的开放性比较差,如果要对非开放系统开发内核模块监控磁盘读写,会导致开发工作量很大,且开发出来的内核模块通用性差,对非开放系统上的数据库业务数据进行整机备份的成本较高,而且在非开放系统中的数据库出现故障需要进行数据恢复的时候,只能将备份数据还原到相同架构的操作系统,无法跨平台进行数据恢复,而且只能通过数据库的恢复接口进行数据恢复,数据恢复耗费时间长,导致业务中断时间长。
发明内容
本发明的主要目的在于提供了一种数据备份方法、装置、设备及存储介质,旨在解决现有技术中非开放系统的数据备份成本高且数据恢复耗费时间长的技术问题。
为实现上述目的,本发明提供了一种数据备份方法,所述方法包括以下步骤:
将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;
对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。
可选地, 所述业务数据包括基础数据;
所述将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,包括:
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述主数据库的备份接口从所述主数据库中导出所述基础数据;
通过所述备数据库的恢复接口将所述基础数据导入所述备数据库;以及
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,通过所述主数据库的查询接口在所述主数据库中查询所述基础数据;
通过所述备数据库的数据导入接口将所述基础数据插入所述备数据库。
可选地,所述业务数据包括增量数据;
所述将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,包括:
监控非开放系统中主数据库的重做日志的变化,获得增量日志;
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述备数据库的恢复接口将所述增量日志导入所述备数据库,以将所述增量数据同步至所述备数据库;
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,对所述增量日志进行解析,以将所述增量日志转换回对所述主数据库进行操作的SQL语句;
在所述备数据库重放所述SQL语句,以将所述增量数据同步至所述备数据库。
可选地,所述对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点,包括:
扫描所述开放系统的磁盘数据块,获得有效基础数据,并对所述有效基础数据进行备份生成基础备份点;
监控开放系统中磁盘数据块的数据修改行为,并根据所述数据修改行为确定增量备份数据;
根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点。
可选地,所述根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点,包括:
根据所述主数据库与所述备数据库中数据的同步计划生成所述开放系统的备份计划;
根据所述备份计划将所述增量备份数据与所述基础备份点叠加,生成所述开放系统的数据备份点。
可选地,所述将非开放系统中主数据库的业务数据同步至开放系统中的备数据库之前,还包括:
获取非开放系统中主数据库的配置信息;
根据所述配置信息创建虚拟机,并根据所述配置信息在所述虚拟机中创建备数据库。
可选地,所述对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点之后,还包括:
在所述主数据库出现故障时,根据所述数据备份点创建业务虚拟机;
通过所述业务虚拟机替代所述主数据库提供数据服务;
在所述主数据库所在的系统修复之后将所述业务虚拟机的数据反向同步回所述主数据库。
此外,为实现上述目的,本发明还提出一种数据备份装置,所述装置包括:
同步模块,用于将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;
备份模块,用于对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。
此外,为实现上述目的,本发明还提出一种数据备份设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据备份程序,所述数据备份程序配置为实现如上文所述的数据备份方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据备份程序,所述数据备份程序被处理器执行时实现如上文所述的数据备份方法的步骤。
本发明将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。本发明将非开放系统中主数据库的业务数据同步到开放系统中的备数据库,再对备数据库中的数据进行整机备份,生成主数据库的数据备份点,将非开放系统的数据备份转换为开放系统的数据备份,无需开发监控非开放系统磁盘读写的内核模块,降低了数据备份的成本,而且在进行数据恢复的时候可以把数据备份点快速重建到开放系统,降低了数据恢复的耗费时长。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据备份设备的结构示意图;
图2为本发明数据备份方法第一实施例的流程示意图;
图3为本发明数据备份方法第二实施例的流程示意图;
图4为本发明数据备份方法第三实施例的流程示意图;
图5为本发明数据备份装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据备份设备结构示意图。
如图1所示,该数据备份设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据备份设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据备份程序。
在图1所示的数据备份设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;处理器1001、存储器1005可以设置在数据备份设备中,所述数据备份设备通过处理器1001调用存储器1005中存储的数据备份程序,并执行本发明实施例提供的数据备份方法。
本发明实施例提供了一种数据备份方法,参照图2,图2为本发明数据备份方法第一实施例的流程示意图。
本实施例中,所述数据备份方法包括以下步骤:
步骤S10:将非开放系统中主数据库的业务数据同步至开放系统中的备数据库。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,或者是一种能够实现上述功能的电子设备、数据备份设备等。以下以数据备份设备为例,对本实施例及下述各实施例进行举例说明。
可以理解的是,非开放系统可以是开放程度较低的非X86架构的系统以及云数据库所在的操作系统(如阿里云的RDS数据库所在的操作系统,用户只能通过标准接口访问数据库,但是访问不了数据库所在操作系统的后台,无法监控磁盘的写入行为和做整机备份),例如开放程度较低的系统包括但不限于:AIX系统、Solaris系统、HP-Unix系统等;主数据库可以是在非开放系统中安装的需要进行数据备份的数据库;开放系统可以是开放程度较高的X86架构、ARM架构的系统;备数据库可以是在开放系统中安装的用于同步主数据库中业务数据的数据库;X86架构的英文是The X86 architecture,是Intel公司开发的微处理器执行的计算机语言指令集,AMD公司的处理器也使用该指令集;ARM架构,是AdvancedRISC Machines Limited公司推出的一种RISC处理器体系架构,也是一个开放程度比较高的架构,很多Linux的发行版都支持该架构。对于这2类架构的系统,本实施例统称为开放系统。
步骤S20:对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。
可以理解的是,整机备份可以是将计算机的操作系统、应用程序、业务数据以及磁盘的分区、卷、文件系统等元数据进行备份,每次备份出来的数据称为数据备份点;将备数据库中同步的主数据库的业务数据进行整机备份,生成主数据库的数据备份点。
应该理解的是,对备数据库进行整机备份,其中整机备份可以是CDP备份,也可以是定时备份。由于备数据库是一个X86系统(如Linux、Windows),系统的开发性很好,可以很容易开发出相应的操作系统内核模块来监控磁盘的所有写入操作,以实现整机级的定时备份或者CDP备份;并且可以很方便的在X86平台上通过虚拟化技术启动该系统,可以在主数据库发生故障的时候(比如主数据库崩溃或在主数据库上执行了误删数据操作,导致数据丢失等),将整机备份的数据备份点快速重建到X86硬件平台上,实现业务的快速恢复;或者通过虚拟化技术,基于数据备份点的数据创建一台虚拟机,启动操作系统、业务系统,然后顶替主数据库对外提供数据库服务,在使用低成本实现非X86架构数据库、云数据库的备份、还原的同时,保证业务的连续性;CDP备份可以是通过磁盘过滤驱动等技术实时监控每块磁盘的写入行为,并把这些写入的数据以及磁盘号、磁盘偏移等进行保存,CDP备份可以实现过去任意一个时间点的数据恢复。CDP备份生成的备份点是一系列连续的备份点,依赖于目标主机的磁盘写入行为。CDP备份需要在全量备份或者增量备份的基础上进行数据叠加才能进行业务重建,所以全量备份、增量备份又叫CDP基础备份。
需要说明的是,现有的操作系统中,非开放系统(如AIX系统、Solaris系统、HP-Unix系统等非X86架构的系统)开放性比较差,如果要对非开放系统开发内核模块监控磁盘读写,开发的工作量很大,而且开发出来的内核模块通用性差,很难对非开放系统上的业务数据做实时备份,只能通过调用数据库的备份接口来做定时备份,这种备份方法存在以下问题:(1)只能对业务数据做定时备份,在非开放系统出现故障的时候可能会丢很多数据;(2)在做数据恢复的时候,只能将备份数据还原到相同架构的操作系统,无法跨平台,成本高(非X86架构的硬件要比X86架构的硬件贵很多);(3)只能通过数据库的恢复接口进行恢复,恢复时间要耗费的时间长,导致业务中断时间长,影响大。本实施例技术方案将非开放系统中的业务数据同步至开放系统中的备数据库,对备数据库中同步的业务数据进行整机备份,生成主数据库的数据备份点,将对非开放系统中数据的备份转化为对开放系统中数据的备份,实现了对非开放系统中的数据进行实时备份,在非开放系统出现故障时,减少非开放系统的数据丢失量。
进一步地,为了提高数据同步的效率,所述业务数据包括基础数据,所述步骤S10包括:在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述主数据库的备份接口从所述主数据库中导出所述基础数据;通过所述备数据库的恢复接口将所述基础数据导入所述备数据库;以及在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,通过所述主数据库的查询接口在所述主数据库中查询所述基础数据;通过所述备数据库的数据导入接口将所述基础数据插入所述备数据库。
可以理解的是,若主数据库所在的非开放系统和备数据库所在的开放系统的系统架构一致,无需考虑数据与系统架构的相关性,不需要通过数据库引擎把数据库底层的数据转换成与平台架构无关的数据,可以使用备份和恢复的方法进行数据同步,速度快且性能开销小;若主数据库所在的非开放系统和备数据库所在的开放系统的系统架构不一致,那么通过主数据库的查询接口来抽取主数据库中的业务数据,抽取到的数据与系统架构无关,再通过备数据库的数据导入接口将抽取的基础数据导入备数据库。
在具体实施中,若主数据库所在的非开放系统和备数据库所在的开放系统的系统架构一致,可以使用数据库的备份和恢复接口(或者使用工具、命令)完成基础数据的同步。由于很多的数据库都提供有备份、恢复的接口,如Oracle的RMAN、EXP/IMP、EXPDP/IMPDP工具,MySql的xtrabackup工具,SqlServer的VDI(Virtual Device Interface)接口,通过他们可以很方便的把主数据库的数据备份出来,然后恢复到备数据库中,完成基础数据的同步,简单高效。若主数据库所在的非开放系统和备数据库所在的开放系统的系统架构不一致,可以通过SQL查询语句,先把主数据库的基础数据抽取出来,基础数据包括数据字典和用户表数据;数据字典用于保存主数据库本身的系统信息及所有数据库对象信息,包括表、视图、索引、同义词、序列、存储过程、函数、包、触发器及其他各种对象等;用户表数据可以是用户通过业务系统写入的业务数据;然后通过SQL插入语句将基础数据导入到X86架构上安装的备数据库(数据库软件的版本需要一致)。导入基础数据的时候,需要先导入数据字典,然后再导入用户表数据。
进一步地,为了将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,所述业务数据包括增量数据,所述步骤S10,还包括:监控非开放系统中主数据库的重做日志的变化,获得增量日志;在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述备数据库的恢复接口将所述增量日志导入所述备数据库,以将所述增量数据同步至所述备数据库;在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,对所述增量日志进行解析,以将所述增量日志转换回对所述主数据库进行操作的SQL语句;在所述备数据库重放所述SQL语句,以将所述增量数据同步至所述备数据库。
可以理解的是,数据库软件在修改数据库数据的时候,会先把数据库的操作行为以及操作的数据先写入到重做日志文件中,再执行数据修改操作,重做日志里面记录了数据库所有数据的改变过程。对这些重做日志进行解析,可以逆向得到应用程序操作数据库时的SQL语句;对这些SQL语句进行重放,可以重现应用程序操作数据库的所有过程。重做日志文件由一系列大小相等的数据块组成,每个数据块包含了一个或多个数据库操作记录,每个操作记录都带有他的操作序号(对于Oracle数据库,这个操作序号就是SCN)。
应该理解的是,若非开放系统中主数据库和开放性系统中备数据库所在操作系统平台架构一致,则无需考虑数据与系统架构的相关性,直接通过备数据库的恢复接口将增量日志导入备数据库,从而将主数据库中的增量数据同步至备数据库。
可以理解的是,若非开放系统中主数据库和开放性系统中备数据库所在操作系统平台架构不一致,由于重做日志里面的数据是与操作系统平台相关的数据,因此将增量日志转换为对主数据库进行操作的SQL语句,在备数据库重放SQL语句,从而将主数据库的增量数据转换为与操作系统平台无关的数据后同步至备数据库。
在具体实施中,监控非开放系统中主数据库的重做日志的变化,获得增量日志的方式包括两种:(1)对于云数据库这类无法登录系统后台的这个情况,可以通过云数据库的开发接口来获得增量日志(各个厂商的云数据库的接口实现不一样,但基本都是通过http协议来查询);(2)对于AIX这类非开放系统,可以登陆系统后台,通过程序实时监控重做日志变化,获得写入的数据,从而获得增量日志。由于主数据库的所有“写”操作(比如对数据字典、用户表数据的增加、删除、修改等操作)都会记录到主数据库的重做日志里面,所以可通过分析主数据库的重做日志来获得主数据库所有的写入操作,然后将这些写入操作同步到备数据库,使得主数据库和备数据库的数据保持一致。由于重做日志里面的数据都是跟操作系统平台相关的数据,所以在对增量数据做同步的时候,需要识别主数据库操作系统的架构,如果主数据库和备数据库的架构相同,可以不对增量日志做解析,直接通过备数据库自身的数据恢复接口把增量数据同步到备数据库中(如MySql的mysqlbinlog工具);如果主数据库和备数据库的架构不同,则根据架构信息对增量日志进行解析(不同的数据库、不同的架构,重做日志的文件格式不一样,需要对每一种日志文件的结构进行分析),转换得到对主数据库进行操作的SQL语句,从而将增量日志中的数据转换成与操作系统平台无关的数据,然后调用备数据库的数据操作接口,在备数据库中重放解析出来的SQL语句,完成增量数据的同步,增量数据的同步操作可以是实时的,也可以是定时的(如果是定时的那么需要先把数据缓存),可以由用户来配置指定。
进一步地,为了提高业务连续性,保证业务的快速切换,所述步骤S10之前,还包括:获取非开放系统中主数据库的配置信息;根据所述配置信息创建虚拟机,并根据所述配置信息在所述虚拟机中创建备数据库。
可以理解的是,配置信息包括但不限于:主数据库的CPU线程数、内存大小、操作系统版本信息、数据库类型和版本、部署方式(单机版本或者是集群版本,如果是集群部署的话还需要采集集群相关的信息,如Private IP、Public IP、Scan IP、共享磁盘信息、磁盘组信息等)、数据库名、实例名、数据库连接串、监听器、表空间、数据库文件、数据内存配置(如SGA)、语言集等信息。
应该理解的是,备份服务器根据需要在虚拟化平台上创建、启动虚拟机,充当备数据库,接收主数据库的同步数据;如果是实时同步,那么虚拟机需要一直运行;如果是定时同步,虚拟机只需要在数据同步期间运行,同步完成之后就可以关闭,以便节约虚拟化平台的资源。
在具体实施中,对于本地的主数据库(如AIX、HP-Unix、Solaris是部署在本地机房的),可在主机上安装代理程序,通过代理程序采集主数据库的CPU线程数、内存的大小、操作系统版本信息、数据库类型和版本、部署方式(单机版本或者是集群版本,如果是集群部署的话还需要采集集群相关的信息,如Private IP、Public IP、Scan IP、共享磁盘信息、磁盘组信息等)、数据库名、实例名、数据库连接串、监听器、表空间、数据库文件、数据内存配置(如SGA)、语言集等配置信息,根据配置信息中与虚拟机相关的信息创建虚拟机,根据配置信息中与数据相关的信息创建备数据库;对于云数据库,可以直接调用云数据库的接口来获取主数据库的配置信息;云数据库可以是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势,云数据库的使用场景一般是云计算厂商把数据库及操作系统部署在他们的云上虚拟机中,只对用户提供数据的操作接口,用户无需关注数据库的具体部署,对于云数据库的备份、恢复,也需要调用云厂商提供的操作接口来实现。通过主数据库的配置信息创建备数据库和预先进行配置,后续再做业务切换的时候,管理员无需对备数据库再做额外的配置,直接就能使用。不但降低了管理员的运维难度,也大大缩短了业务中断时间,保障了业务连续性。
在一个例子中,为了节约资源,可以把虚拟化平台和备份服务器融合在一起,由备份服务器同时充当虚拟化平台,在其的内部直接创建、启动虚拟机,然后同步数据,再对虚拟机做整机备份,形成数据备份点,后续可通过数据备份点做快速重建或者虚拟机接管;不管是在虚拟化平台,还是在备份服务器上创建虚拟机,该虚拟机上需要安装有跟主数据库版本一致的备数据库,这样才能够同步主数据库的数据,后续在做业务恢复的时候可以无缝对接原有的业务系统,保证业务的快速恢复。为了方便创建虚拟机,可以预置一系列虚拟机模板,虚拟机模板安装有各个版本操作系统以及数据库的软件,比如(Oracle Linux 5.9+ Oracle 10g)、(Oracle Linux 6.8 + Oracle 11g)、(Oracle Linux 7.5 + Oracle12c),在创建虚拟机的时候,可以根据主数据库的数据库类型、数据库版本选择对应的虚拟机模板创建虚拟机,这样就可以简单方便的完成虚拟机的创建。
本实施例将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。本实施例将非开放系统中主数据库的业务数据同步到开放系统中的备数据库,再对备数据库中的数据进行整机备份,生成主数据库的数据备份点,将非开放系统的数据备份转换为开放系统的数据备份,无需开发监控非开放系统磁盘读写的内核模块,降低了数据备份的成本,而且在进行数据恢复的时候可以把数据备份点快速重建到开放系统,降低了数据恢复的耗费时长。
参考图3,图3为本发明数据备份方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S20包括:
步骤S201:扫描所述开放系统的磁盘数据块,获得有效基础数据,并对所述有效基础数据进行备份生成基础备份点;
步骤S202:监控开放系统中磁盘数据块的数据修改行为,并根据所述数据修改行为确定增量备份数据。
可以理解的是,数据修改行为可以是对磁盘数据块上存储的数据进行写入的行为;增量备份数据可以是把主数据库的增量数据同步到备数据库时,备数据库所在主机磁盘上写入的数据,可以通过磁盘过滤驱动监控得到。
步骤S203:根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点。
应该理解的是,将增量备份数据与基础备份点叠加生成主数据库的数据备份点。
在具体实施中,扫描开放系统的磁盘数据块,获得有效基础数据,并对有效基础数据进行备份生成基础备份点;对于增量数据,可以通过磁盘过滤监控获得,对这些数据备份之后,叠加在基础备份点之上,可以获得增量数据对应的备份点。由于主数据库的业务数据是定时或者实时同步到备数据库的,同步这些增量数据的时候(不管是同构还是异构),数据库引擎会把业务系统的增量数据转换成数据库文件的写入数据,文件系统又会把文件的写入数据转换成磁盘的写入数据,通过磁盘过滤驱动、虚拟化引擎可以获得这些写入数据,以及进行增量备份。当主数据库和备数据库的业务数据同步完毕之后,备数据库的业务数据就等同于主数据库的业务数据,对备数据库所在的主机做整机级全量或增量备份,形成备份点,这个备份点的业务数据也就等同于主数据库上的业务数据,进而实现了对主数据库业务数据的备份。这些数据的备份点可以保证在主数据库发生误操作的情况下,从数据备份点中恢复历史数据,保证数据不丢。
进一步地,为了根据用户需求对非开放系统的磁盘数据进行备份,所述步骤S203包括:根据所述主数据库与所述备数据库中数据的同步计划生成所述开放系统的备份计划;根据所述备份计划将所述增量备份数据与所述基础备份点叠加,生成所述开放系统的数据备份点。
可以理解的是,同步计划可以是用户设定的将主数据库中的业务数据同步至备数据库的计划;备份计划可以是对备数据库同步的业务数据进行备份的计划。
应该理解的是,根据备份计划确定备份模式,根据备份模式将增量数据与基础备份点叠加,生成开放系统的数据备份点;备份模式包括定时备份和实时备份。
在具体实施中,用户创建主数据库的同步计划,假设同步计划为定时同步计划,相应的备份计划为定时备份计划,根据设定的周期将开放系统上的增量数据备份到备份服务器,形成定时备份点;假设同步计划为实时同步计划,相应的备份计划为实时备份计划,则将开放系统上磁盘的写入数据信息(包括写操作的发生时间、写入磁盘的偏移量、写入的数据以及长度)备份到备份服务器,形成实时备份点(也叫CDP备份点、持续保护备份点)。根据数据库的同步计划生成开放系统的备份计划,可以降低管理员的运维难度,提升用户体验,既可以最大限度保护业务系统的数据,又可以最大限度节约系统资源。此外,还可以设定备数据库的部署方式(部署方式包括:单机部署和集群部署)、备数据库的存储空间、虚拟机CPU的线程数、内存等,若用户不做设定,则根据主数据库的配置信息创建虚拟机和设定备数据库配置信息;备份服务器根据主数据库采集的主数据库的配置信息、用户设定的配置信息,自动选择(根据主数据库的数据库类型、数据库版本来选择)虚拟机模板创建虚拟机,然后启动虚拟机,由于虚拟机模板只安装了数据库软件,并未创建数据库,所以虚拟机启动之后,还需要根据主数据库的数据库名、实例名、语言集、连接串、监听器等信息创建备数据库;由于现在很多数据库软件都支持命令行方式创建数据库,所以根据主数据库的配置信息设定好命令行之后,就可以实现自动化方式创建备数据库,通过设定好跟主数据库一样配置的备数据库,后续用户做业务恢复的时候无需再手工进行设定,既节省了业务恢复时间,同时也降低了管理员需要的技能要求,节省了企业成本。
本实施例扫描所述开放系统的磁盘数据块,获得有效基础数据,并对所述有效基础数据进行备份生成基础备份点;监控开放系统中磁盘数据块的数据修改行为,并根据所述数据修改行为确定增量备份数据;根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点。本实施例对开放系统中的有效基础数据进行备份生成基础备份点,将增量备份数据与基础备份点叠加生成主数据库的数据备份点,将非开放系统的数据备份转换为开放系统的数据备份,在降低数据备份成本的同时,提高了主数据库中数据的安全性。
参考图4,图4为本发明数据备份方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S20之后,所述方法还包括:
步骤S30:在所述主数据库出现故障时,根据所述数据备份点创建业务虚拟机。
可以理解的是,业务虚拟机可以是用于替代主数据库提供数据服务的虚拟机。
步骤S40:通过所述业务虚拟机替代所述主数据库提供数据服务;
步骤S50:在所述主数据库所在的系统修复之后将所述业务虚拟机的数据反向同步回所述主数据库。
在具体实施中,在主数据库出现故障的情况下,通过快速重建技术把数据备份点重建到X86系统的主机,实现业务的快速恢复,快速重建技术为一种系统和业务恢复技术,首先把系统启动所需要的数据先推送到开放系统主机,待推送的系统启动之后,系统上的业务也会随后启动并对外提供服务,然后系统会根据业务系统的需要,优先恢复业务系统需要的数据,之后再恢复剩余的数据,实现系统和业务的快速恢复;另外,也可以通过虚拟化技术,基于数据备份点创建业务虚拟机,通过业务虚拟机替代主数据库提供数据服务,以实现业务的快速恢复,在主数据库所在的系统修复之后,再将业务虚拟机的数据反向同步至主数据库,保证主数据库的数据完整性;由于备份过程中的数据、配置都是预先配置好,所以数据库重建之后就能正常的对外提供服务,无需人工再配置,节省时间,降低难度。
本实施例在所述主数据库出现故障时,根据所述数据备份点创建业务虚拟机;通过所述业务虚拟机替代所述主数据库提供数据服务;在所述主数据库所在的系统修复之后将所述业务虚拟机的数据反向同步回所述主数据库。本实施例能够在主数据库出现故障时,根据数据备份点创建业务虚拟机,通过业务虚拟机代替主数据库提供数据服务,实现业务的快速恢复,并且在主数据库所在的系统修复后将业务虚拟机的数据反向同步至主数据库,保证主数据库数据的完整性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据备份程序,所述数据备份程序被处理器执行时实现如上文所述的数据备份方法的步骤。
参照图5,图5为本发明数据备份装置第一实施例的结构框图。
如图5所示,本发明实施例提出的数据备份装置包括:
同步模块10,用于将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;
备份模块20,用于对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。
本实施例将非开放系统中主数据库的业务数据同步至开放系统中的备数据库;对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点。本实施例将非开放系统中主数据库的业务数据同步到开放系统中的备数据库,再对备数据库中的数据进行整机备份,生成主数据库的数据备份点,将非开放系统的数据备份转换为开放系统的数据备份,无需开发监控非开放系统磁盘读写的内核模块,降低了数据备份的成本,而且在进行数据恢复的时候可以把数据备份点快速重建到开放系统,降低了数据恢复的耗费时长。
基于本发明上述数据备份装置第一实施例,提出本发明数据备份装置的第二实施例。
在本实施例中,所述同步模块10,还用于在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述主数据库的备份接口从所述主数据库中导出所述基础数据;通过所述备数据库的恢复接口将所述基础数据导入所述备数据库;以及在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,通过所述主数据库的查询接口在所述主数据库中查询所述基础数据;通过所述备数据库的数据导入接口将所述基础数据插入所述备数据库,所述业务数据包括基础数据。
所述同步模块10,还用于监控非开放系统中主数据库的重做日志的变化,获得增量日志;在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述备数据库的恢复接口将所述增量日志导入所述备数据库,以将所述增量数据同步至所述备数据库;在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,对所述增量日志进行解析,以将所述增量日志转换回对所述主数据库进行操作的SQL语句;在所述备数据库重放所述SQL语句,以将所述增量数据同步至所述备数据库,所述业务数据包括增量数据。
所述备份模块20,还用于扫描所述开放系统的磁盘数据块,获得有效基础数据,并对所述有效基础数据进行备份生成基础备份点;监控开放系统中磁盘数据块的数据修改行为,并根据所述数据修改行为确定增量备份数据;根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点。
所述备份模块20,还用于根据所述主数据库与所述备数据库中数据的同步计划生成所述开放系统的备份计划;根据所述备份计划将所述增量备份数据与所述基础备份点叠加,生成所述开放系统的数据备份点。
所述同步模块10,还用于获取非开放系统中主数据库的配置信息;根据所述配置信息创建虚拟机,并根据所述配置信息在所述虚拟机中创建备数据库。
所述备份模块20,还用于在所述主数据库出现故障时,根据所述数据备份点创建业务虚拟机;通过所述业务虚拟机替代所述主数据库提供数据服务;在所述主数据库所在的系统修复之后将所述业务虚拟机的数据反向同步回所述主数据库。
本发明数据备份装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种数据备份方法,其特征在于,所述方法包括:
将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,所述非开放系统是开放程度较低的非X86架构的系统以及云数据库所在的操作系统,所述开放系统是开放程度较高的X86架构、ARM架构的系统;
对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点;
所述业务数据包括基础数据;所述将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,包括:
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述主数据库的备份接口从所述主数据库中导出所述基础数据;
通过所述备数据库的恢复接口将所述基础数据导入所述备数据库;以及
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,通过所述主数据库的查询接口在所述主数据库中查询所述基础数据;
通过所述备数据库的数据导入接口将所述基础数据插入所述备数据库。
2.如权利要求1所述的方法,其特征在于,所述业务数据包括增量数据;
所述将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,包括:
监控非开放系统中主数据库的重做日志的变化,获得增量日志;
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述备数据库的恢复接口将所述增量日志导入所述备数据库,以将所述增量数据同步至所述备数据库;
在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,对所述增量日志进行解析,以将所述增量日志转换回对所述主数据库进行操作的SQL语句;
在所述备数据库重放所述SQL语句,以将所述增量数据同步至所述备数据库。
3.如权利要求1或2任一项所述的方法,其特征在于,所述对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点,包括:
扫描所述开放系统的磁盘数据块,获得有效基础数据,并对所述有效基础数据进行备份生成基础备份点;
监控开放系统中磁盘数据块的数据修改行为,并根据所述数据修改行为确定增量备份数据;
根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点。
4.如权利要求3所述的方法,其特征在于,所述根据所述基础备份点和所述增量备份数据生成所述主数据库的数据备份点,包括:
根据所述主数据库与所述备数据库中数据的同步计划生成所述开放系统的备份计划;
根据所述备份计划将所述增量备份数据与所述基础备份点叠加,生成所述开放系统的数据备份点。
5.如权利要求1或2任一项所述的方法,其特征在于,所述将非开放系统中主数据库的业务数据同步至开放系统中的备数据库之前,还包括:
获取非开放系统中主数据库的配置信息;
根据所述配置信息创建虚拟机,并根据所述配置信息在所述虚拟机中创建备数据库。
6.如权利要求1或2任一项所述的方法,其特征在于,所述对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点之后,还包括:
在所述主数据库出现故障时,根据所述数据备份点创建业务虚拟机;
通过所述业务虚拟机替代所述主数据库提供数据服务;
在所述主数据库所在的系统修复之后将所述业务虚拟机的数据反向同步回所述主数据库。
7.一种数据备份装置,其特征在于,所述装置包括:
同步模块,用于将非开放系统中主数据库的业务数据同步至开放系统中的备数据库,所述非开放系统是开放程度较低的非X86架构的系统以及云数据库所在的操作系统,所述开放系统是开放程度较高的X86架构、ARM架构的系统;
备份模块,用于对所述备数据库中的数据进行整机备份,生成所述主数据库的数据备份点;
所述业务数据包括基础数据;所述同步模块还用于在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构一致的情况下,通过所述主数据库的备份接口从所述主数据库中导出所述基础数据;通过所述备数据库的恢复接口将所述基础数据导入所述备数据库;以及在非开放系统中主数据库和开放系统中备数据库所在操作系统的平台架构不一致的情况下,通过所述主数据库的查询接口在所述主数据库中查询所述基础数据;通过所述备数据库的数据导入接口将所述基础数据插入所述备数据库。
8.一种数据备份设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据备份程序,所述数据备份程序配置为实现如权利要求1至6中任一项所述的数据备份方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有数据备份程序,所述数据备份程序被处理器执行时实现如权利要求1至6任一项所述的数据备份方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892429.5A CN116610500B (zh) | 2023-07-20 | 2023-07-20 | 数据备份方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892429.5A CN116610500B (zh) | 2023-07-20 | 2023-07-20 | 数据备份方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610500A CN116610500A (zh) | 2023-08-18 |
CN116610500B true CN116610500B (zh) | 2024-04-09 |
Family
ID=87680422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310892429.5A Active CN116610500B (zh) | 2023-07-20 | 2023-07-20 | 数据备份方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610500B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904424B1 (en) * | 1999-10-21 | 2005-06-07 | International Business Machines Corporation | Method and a system for managing shell script file development and execution |
CN101114228A (zh) * | 2006-07-25 | 2008-01-30 | 华为技术有限公司 | 一种快速安装操作系统的方法及其系统 |
US10496499B2 (en) * | 2017-09-06 | 2019-12-03 | Royal Bank Of Canada | System and method for datacenter recovery |
CN112596951A (zh) * | 2020-12-24 | 2021-04-02 | 深圳市科力锐科技有限公司 | 一种nas数据容灾方法、装置、设备及存储介质 |
US11579981B2 (en) * | 2018-08-10 | 2023-02-14 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
-
2023
- 2023-07-20 CN CN202310892429.5A patent/CN116610500B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904424B1 (en) * | 1999-10-21 | 2005-06-07 | International Business Machines Corporation | Method and a system for managing shell script file development and execution |
CN101114228A (zh) * | 2006-07-25 | 2008-01-30 | 华为技术有限公司 | 一种快速安装操作系统的方法及其系统 |
US10496499B2 (en) * | 2017-09-06 | 2019-12-03 | Royal Bank Of Canada | System and method for datacenter recovery |
US11579981B2 (en) * | 2018-08-10 | 2023-02-14 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
CN112596951A (zh) * | 2020-12-24 | 2021-04-02 | 深圳市科力锐科技有限公司 | 一种nas数据容灾方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于AIX系统的Oracle数据库的备份与恢复研究;王晓磊;计算机光盘与应用(第10期);129 * |
基于TSM的图书馆快速恢复技术的探讨和应用;闫晓弟,等;;图书与情报(第6期);108-112 * |
Also Published As
Publication number | Publication date |
---|---|
CN116610500A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407356B (zh) | 一种数据备份方法及装置 | |
US9934107B1 (en) | Designating backup nodes and backing up in parallel in a high-availability environment | |
EP2494456B1 (en) | Backup using metadata virtual hard drive and differential virtual hard drive | |
WO2017049828A1 (zh) | 基于Linux的数据处理方法、装置和系统 | |
CN103164295B (zh) | 基于zfs文件系统和kvm内核虚拟底层系统的企业it业务虚拟化容灾方法 | |
CN109189860A (zh) | 一种基于Kubernetes系统的MySQL主备增量同步方法 | |
CN114466027B (zh) | 一种云原生数据库服务提供方法、系统、设备及介质 | |
WO2008092912A1 (en) | System and method of error recovery for backup applications | |
CN110543386B (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN109684298B (zh) | 数据库迁移方法、装置、设备及存储介质 | |
US20140215258A1 (en) | Cluster management in a shared nothing cluster | |
CN115098299B (zh) | 一种虚拟机的备份方法、容灾方法、装置及设备 | |
CN112596951A (zh) | 一种nas数据容灾方法、装置、设备及存储介质 | |
WO2015043155A1 (zh) | 一种基于命令集的网元备份与恢复方法及装置 | |
CN111666266A (zh) | 一种数据迁移方法及相关设备 | |
CN111274065B (zh) | 一种基于软件的灾备方法及装置 | |
CN107179934B (zh) | 云计算环境中虚拟机自动还原的方法和系统 | |
CN114328009A (zh) | 基于虚拟化和快照的异构数据库统一容灾备份方法和装置 | |
CN116610500B (zh) | 数据备份方法、装置、设备及存储介质 | |
CN115098300B (zh) | 一种数据库的备份方法、容灾方法、装置及设备 | |
CN111125060A (zh) | 一种数据库管理方法、系统、设备及存储介质 | |
CN112685230B (zh) | 一种分布式数据库实现指定时间点备份还原的方法 | |
CN114490570A (zh) | 生产数据同步方法、装置、数据同步系统及服务器 | |
CN114443369A (zh) | 异构集群虚拟机备份恢复方法、系统及云平台 | |
CN110688259B (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 |