CN103197988A - 一种数据备份、恢复的方法、设备和数据库系统 - Google Patents
一种数据备份、恢复的方法、设备和数据库系统 Download PDFInfo
- Publication number
- CN103197988A CN103197988A CN2012100019649A CN201210001964A CN103197988A CN 103197988 A CN103197988 A CN 103197988A CN 2012100019649 A CN2012100019649 A CN 2012100019649A CN 201210001964 A CN201210001964 A CN 201210001964A CN 103197988 A CN103197988 A CN 103197988A
- Authority
- CN
- China
- Prior art keywords
- backup
- data
- internal storage
- disk
- storage data
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种数据备份、恢复的方法、设备和数据库系统,其主要内容包括:在确定备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个数据备份磁盘中,且使得在任意相邻的两个备份时间点进行内存数据备份操作时,内存数据备份至不同的数据备份磁盘中,提高了内存数据库中内存数据备份的安全性,避免了由于数据备份磁盘损坏而导致备份的内存数据丢失的问题,同时内存数据可在数据备份磁盘中保存一定时长,一定程度上提高了内存数据保存的持久性;当内存数据库出现异常导致内存数据库中的内存数据全部丢失需要恢复时,可从最近一次备份的数据备份磁盘中获取内存数据进行恢复。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种数据备份、恢复的方法、设备和数据库系统。
背景技术
随着计算机技术的不断发展,人们对实时响应能力的需求日益提高,充分利用内存技术提升数据库的性能成为数据库发展的一种趋势。随之产生的内存数据库是以牺牲内存资源为代价换取了数据处理的实时性,并直接将数据资源放在内存中进行操作,使得内存数据库数据处理的速度是传统数据库数据处理速度的10倍以上。
但是,随着社会信息化程度的不断提高,数据信息量的不断增大,人们在数据存储的安全和持久方面也提出了更高的要求。采用内存数据库对内存数据进行管理,承载内存数据的介质是随机存储器,具有内存的特性,内存容量的大小决定内存数据保存在内存数据库中的时间长短。一旦承载内存数据库的服务器外界出现异常或者服务器的主机异常(断电或者重启等)时,内存数据库异常掉电,将导致内存数据库中的内存数据瞬间全部丢失,这样将给用户带来很大的不便;同时,内存数据库中的内存数据会在响应用户终端的操作时(如读写会话操作)实时发生变化,也就是说内存数据库中的内存数据不具有持久性。
面对内存数据库出现异常导致内存数据库中的内存数据全部丢失的情况,目前可采用对内存数据库中的内存数据进行备份的方式来克服,其备份方式为:
为内存数据库分配一个物理磁盘,可通过周期性地或手动设定时间的方式,将内存数据库中的内存数据备份至该物理磁盘中,后一次备份的内存数据将覆盖前一次备份的内存数据。当内存数据库出现异常导致内存数据丢失时,可从该物理磁盘中读取备份的内存数据,并将该备份的内存数据导入内存数据库,实现内存数据库中内存数据的恢复。
在现有的针对内存数据库的备份方式中,若物理磁盘损坏,则无法为内存数据库进行内存数据的恢复;另外,在从内存数据库向物理磁盘备份内存数据的过程中,若内存数据库出现异常,则该备份过程将会失败,进而导致物理磁盘中之前备份的内存数据的丢失。
综上所述,目前针对内存数据库的备份方式还存在较高的安全隐患,不能满足较高安全性的备份要求,且无法克服内存数据库中的内存数据不具有持久性的问题。
发明内容
本发明实施例提供了一种数据备份、恢复的方法、设备和系统,用以解决现有技术中对内存数据库进行内存数据备份的方式存在安全性能差,以及无法保证内存数据库中的内存数据具有持久性的问题。
一种数据备份的方法,该方法包括:
在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中;
其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘。
一种数据恢复的方法,该方法包括:
确定最近一次进行内存数据备份的数据备份磁盘;
利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
一种数据备份的设备,该设备包括:
数据确定模块,用于在备份时间点到达时,确定内存数据库中当前的内存数据;
数据备份模块,用于将确定的所述内存数据备份至多个数据备份磁盘中的一个磁盘中,其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘。
一种数据恢复的设备,该设备包括:
磁盘确定模块,用于确定最近一次进行内存数据备份的数据备份磁盘;
数据恢复模块,用于利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
一种数据库系统,该系统包括:
内存数据库,用于存放内存数据;
数据备份设备,用于在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中,其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘;
多个数据备份磁盘,用于备份内存数据。
本发明有益效果如下:
本发明实施例在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中,且使得在任意相邻的两个备份时间点,内存数据备份至不同的数据备份磁盘,这样提高了内存数据库中内存数据备份的安全性,避免了由于数据备份磁盘损坏而导致备份的内存数据丢失的问题;当内存数据库出现异常导致内存数据库中的内存数据全部丢失需要恢复时,可从最近一次备份的数据备份磁盘中获取内存数据进行恢复。
附图说明
图1为实施例一的一种数据备份的方法流程图;
图2为实施例二的一种数据备份的方法流程图;
图3(a)为日志文件的结构示意图;
图3(b)为日志文件中数据块的结构示意图;
图4为实施例三的一种数据恢复的方法流程图;
图5为实施例四的一种数据备份的设备的结构示意图;
图6为实施例五的一种数据恢复的设备的结构示意图;
图7为实施例六的一种数据库系统的结构示意图;
图8为一种数据库系统的结构框架图。
具体实施方式
为了实现本发明的目的,本发明实施例提供了一种数据备份、恢复的方法、设备和系统,在对内存数据库中的内存数据进行更新操作时,判断内存数据备份时间点是否已到达,在确定备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个数据备份磁盘中,且使得在任意相邻的两个备份时间点进行内存数据备份操作时,内存数据备份至不同的数据备份磁盘中,提高了内存数据库中内存数据备份的安全性,避免了由于数据备份磁盘损坏而导致备份的内存数据丢失的问题,同时内存数据可在数据备份磁盘中保存一定时长,一定程度上提高了内存数据保存的持久性;当内存数据库出现异常导致内存数据库中的内存数据全部丢失需要恢复时,可从最近一次备份的数据备份磁盘中获取内存数据进行恢复。
下面结合说明书附图对本发明实施例进行详细说明。
实施例一:
如图1所示,为本实施例一的一种数据备份的方法流程图,该方法包括:
步骤101:判断对内存数据库中的内存数据进行备份的备份时间点是否到达,若备份时间点到达,则执行步骤102;否则,继续对备份时间点进行监测。
在本步骤101中,所述备份时间点可以是周期性的时间点(例如:以10分钟为周期,9:00为一个备份时间点,9:10为一个备份时间点),也可以是根据实际内存数据库执行操作的速率来确定备份时间点,例如:内存数据库执行操作的速率越快,备份时间点的间隔越小;内存数据库执行操作的速率越慢,备份时间点的间隔越大。
步骤102:在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中。其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘。
所述数据备份磁盘为物理磁盘,如硬盘设备。
在本步骤102的方案中,采用多个数据备份磁盘来备份的方式可有效避免备份失败的情况,但是,考虑到数据备份磁盘数量过多时,系统的磁盘占用量过大,为此,本步骤102的方案中优选采用2个数据备份磁盘之间乒乓备份。
在每次将内存数据备份至一个数据备份磁盘时,可记录本次备份的时间戳,以及本次备份所使用的数据备份磁盘。以2个数据备份磁盘之间乒乓备份为例,假设从9点开始,每10分钟达到一次备份时间,因此,记录的内容为:
数据备份磁盘0在9点备份一次内存数据,spacename.chkpt.0:9:00;
数据备份磁盘1在9点10分备份一次内存数据,spacename.chkpt.1:9:10;
……
依次按照上述方式记录,可确定每次备份所使用的数据备份磁盘以及备份时间点。
在本步骤102中,在备份时间点到达时,可采取以下两种不同的备份方式进行内存数据库中的当前内存数据的备份:
第一种:异步方式。异步方式通常应用在内存数据变化较少的应用场景中(例如:内存数据为导入的用户资料)。
将内存数据库中备份时间点的内存数据全部替换确定的数据备份磁盘中的数据,即在任一备份时间点到达时,将备份时间点的内存数据全部复制到确定的数据备份磁盘中,覆盖数据备份磁盘中的已存在的数据。
由于内存数据变化较小,因此,在一次备份后,可在一段较长的时间之后再次备份,备份的次数少,因此,采取异步备份的方式即全部替换的方式来进行内存数据的备份,对数据读写的资源占用量较少,同时还能保证在数据备份的过程中内存数据的完整性。
第二种:同步方式。同步方式通常应用在内存数据变化较大的应用场景中(例如:内存数据为话费信息)。具体包括以下步骤:
第一步:确定备份时间点的目标数据备份磁盘;
第二步:将该备份时间点的内存数据库中的内存数据进行网格化操作;
第三步:查询在参考备份时间点之后,经网格化操作之后的内存数据中发生变化的数据块,其中所述参考备份时间点是上一次向确定的所述目标数据备份磁盘进行备份的备份时间点;
第四步:利用查询出的数据块更新第一步确定的所述目标数据备份磁盘中的内存数据。
由于在相邻两个备份时间点之间的内存数据变化较大,相邻两次备份的间隔较短,因此,采取同步备份的方式即部分更新的方式来进行内存数据的备份,可有效减少每次备份时对数据读写的时间以及减少读写操作的资源占用量。
通过实施例一的方案,在确定的备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中,且保证在任意相邻的备份时间点,内存数据备份至不同的数据备份磁盘,不仅保证了内存数据在数据备份磁盘的持久性,而且也提升了数据备份磁盘的高可用性,防止在备份时间点备份进程启动后,尚未结束前,内存数据库出现异常造成的数据备份磁盘的不可用,使用多个数据备份磁盘,提高了内存数据备份的安全性。
实施例二:
本实施例二是本实施例一中各步骤的详细描述,本实施例二以同步备份的方式为例进行说明。如图2所示,为实施例二的一种数据备份的方法的流程图,该方法包括:
步骤201:判断对内存数据库中的内存数据进行备份的备份时间点是否到达,若备份时间点到达,则执行步骤202;否则,继续对备份时间点进行监测。
步骤202:在备份时间点到达时,锁定内存数据库中当前的内存数据的镜像副本。
需要说明的是,由于内存数据库中的内存数据变化比较大,可能出现在内存数据进行备份的过程中,有对内存数据进行操作的会话,此时,可能出现内存数据在备份的过程中发生变化的情况。若采取在内存数据上加排他锁的方法,虽然会避免内存数据的变化,但是也会影响内存数据库的并发效率,导致在备份过程中内存数据库中的内存数据无法使用的情况。因此,在本步骤的方案中,在备份时间点到达时,使用内存数据复制并发技术,即锁定内存数据库中当前的内存数据的镜像副本,使得镜像副本的内容在备份过程中不会发生变化,保证了在备份时间点备份至数据备份磁盘中的内存数据和该备份时间点的内存数据库中的内存数据的一致性。
在本次备份结束时,对内存数据库中内存数据的镜像副本解锁。
步骤203:将备份时间点的内存数据库中的内存数据进行网格化操作,并确定本次备份的目标数据备份磁盘。
在本步骤203中,对内存数据进行网格化操作时,网格的划分大小根据内存数据库中内存数据变化的大小而定,内存数据变化越大,网格化程度越高。
步骤202和步骤203的执行顺序不限于本实施例的顺序,也可并行执行,还可以先执行步骤203,再执行步骤202。
步骤204:查询在参考备份时间点之后,经过网格化操作之后的内存数据中发生变化的数据块。
步骤205:判断在更新过程中是否有针对查询出的数据块的会话操作,若有,则执行步骤206;否则,执行步骤207。
步骤206:利用镜像副本中与查询出的数据块对应的数据块更新确定的本次备份的目标数据备份磁盘中的内存数据,跳转执行步骤208。
在本步骤206中,当确定在更新过程中有针对查询出的数据块的会话操作,即对查询出的数据块将执行更新操作,为了保证更新后的数据备份磁盘中的数据与备份时间点的内存数据库中的内存数据一致,同时不影响对内存数据库中的内存数据的实时更新操作,启用锁定的备份时间点到达时内存数据库中内存数据的镜像副本,利用该镜像副本中与查询出的数据块对应的数据块更新数据备份磁盘中的内存数据。
步骤207:利用查询出的数据块更新确定的本次备份的目标数据备份磁盘中的内存数据,继续执行步骤208。
步骤208:确定对内存数据库中的内存数据进行操作时产生的内存日志,所述内存日志中包含操作类型和本次操作的版本号。
在本实施例中步骤201~步骤207实现的是对内存数据库中的内存数据进行备份的过程,同时,在内存数据库中还有REDO日志用来记录对内存数据库进行操作的任何事务,其中包括对内存数据库中的内存数据进行备份的操作。在对内存数据库中的内存数据进行操作为对内存数据进行备份操作时,所述操作类型为备份操作,所述版本号为本次备份的备份时间点。
步骤209:在满足设定条件时,将所述内存日志备份至日志备份磁盘的日志文件中。
在本步骤209中,由于当有会话对内存数据库进行操作产生内存日志时,内存日志插入共享内存缓冲区比直接写入磁盘的操作速度要快,在将内存日志写入磁盘生成REDO日志文件之前,需先将内存日志插入redo log buffer(日志缓存),并通知LogWriter进程将redo log buffer中的内存日志写入日志备份磁盘的日志文件中,因此所述设定条件是指LogWriter进程将redo log buffer中的内存日志写入日志备份磁盘的日志文件中的条件,具体可包括:
条件1:周期性地将内存日志写入日志备份磁盘的日志文件中。
例如,每3秒LogWriter进程将redo log buffer中的内存日志写入日志备份磁盘的日志文件中一次;
条件2:在有会话(包括备份会话操作)对内存数据库进行操作产生内存日志时,通知LogWriter进程将redo log buffer中的内存日志写入日志备份磁盘的日志文件中;
条件3:当redo log buffer中插入的内存日志占redo log buffer容量的使用量达到设定阈值时(如达到三分之一时,或者达到1M时),LogWriter进程将redo log buffer中的内存日志写入日志备份磁盘的日志文件中。
需要说明的是,本步骤209中的设定条件不限于所列举出的这三个条件,也不限于所列举出的三个条件中的参数信息,满足LogWriter进程执行写入操作的条件都可以使用,在这里不做具体限定。
具体地,在满足其中任一个条件时,将所述内存日志备份至日志备份磁盘的日志文件中,具体实施步骤包括:
第一步:确定对内存数据库中的内存数据进行操作,即会话事务产生,内存日志包含的本次操作的版本号自动更新,如版本号加1。
第二步:针对本次操作产生的内存日志插入redo log buffer中,并通知LogWriter。
具体地,所述redo log buffer大小固定,放在共享内存中。redo log buffer由头部和数据区两部分组成,其中redo log buffer头部存储的是redo log buffer的一些状态信息,包括:LogWriter进程PID号、数据区的长度、头指针、尾指针、可存放的数据量、Log Buffer变更版本号和生成的时间等信息。
数据区用于存放内存日志。由于内存日志大小不确定,因此采取循环队列的方式实现,分别由头尾指针和size指示数据的位置和大小,其中,头指针总是指向数据的第一个字节,尾指针总是指向下一个插入位置,在插入内存日志时,尾指针增加,在读取内存日志时,头指针增加;头尾指针越过数据区尾部后滑动到数据区头部,实现循环存放内存日志。
第三步:在满足设定条件时,LogWriter从redo log buffer中读取内存日志,将该内存日志备份至日志备份磁盘的日志文件中。
具体地,所述日志文件是在内存数据库创建时生成的,大小固定,一般有多个,按顺序编号,几个日志文件循环使用。其中,日志文件有文件头和多个数据块组成,如图3(a)所示。
所述日志文件的文件头包括:文件标志、内存数据库版本号、文件序号、有效标记、活动标记、操作的版本号的最小值和最大值。如表1所示,为日志文件的文件头信息的详细介绍:
序号 | 内容 | 说明 |
1 | 文件标志 | 固定字符串,内容为“LCMDB REDO LOG |
2 | LCMDB版本号 | LCMDB2.0 |
3 | 文件序号 | 日志文件的序号 |
4 | 有效标记 | 如果文件正常关闭则为1,否则是0 |
5 | 活动标记 | 如果是当前使用的文件为1,否则为0 |
6 | 操作版本的最小值 | 文件包含事务Commit记录的最小SCN |
7 | 操作版本的最大值 | 文件包含事务Commit记录的最大SCN |
表1
所述数据块由块头、记录区和块尾组成,如图3(b)所示。所述块头由4字节的块头标记和4字节的长度组成,所述块尾由4字节的长度和4字节的块尾标记组成。例如:块头标记为:0X8FDF780F,块尾标记为:0X8F866F7B,文件结束标记为:0X8F3B190B。记录区在记录内存日志内容时,采用文本格式,记录之间用\n隔开,记录的第一个字符为记录类型,包括:操作类型、操作开始标记、事务会话、事务Rollback、insert、update、delete和备份时间点。如表2所示,为记录类型的详细介绍:
表2
第四步:LogWriter更新共享内存中LogWriter运行状态信息,并判断写入日志文件的版本号是否小于插入redo log buffer的版本号,若是,确认LogWriter写入日志文件成功,否则,返回失败,重新写入日志文件。
所述LogWriter运行状态信息中包括:LogWriter进程PID、最近一次写入时间、最近一次写入的操作版本号、最近一次写入日志的成功标志和当前使用的日志文件序号等信息。
需要说明的是,步骤201~步骤207与步骤208~步骤209不限于本实施例所写的执行顺序,可以并行执行步骤208~步骤209与执行步骤201~步骤207,也可以先执行步骤208~步骤209,再执行步骤201~步骤207,这里不做限定。
实施例三:
如图4所示,为本实施例三的一种数据恢复的方法的流程图,具体包括:
步骤301:当内存数据库出现异常后,需要恢复异常之前内存数据库中内存数据时,确定最近一次进行内存数据备份的数据备份磁盘。
具体地,当内存数据库出现异常后,确定最近一次进行内存数据备份的备份时间点,进而确定该备份时间点进行内存数据备份的数据备份磁盘。
较优地,从日志文件中确定操作类型为备份操作的内存日志,并从确定的内存日志中查询出最近一个备份时间点,并将在该查询出的备份时间点进行备份操作的数据备份磁盘作为最近一次进行内存数据备份的数据备份磁盘。
步骤302:利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
具体地,利用确定的数据备份磁盘中已备份的内存数据,将内存数据库中内存数据恢复至该数据备份磁盘对应的备份时间点的内存数据状态。
较优地,利用日志文件中记载的的内存日志,以确定的数据备份磁盘中的数据为基础进行内存数据库的内存数据恢复,具体包括:
首先:从日志文件中确定所述查询出的最近一个备份时间点之后备份的内存日志;
其次:根据确定的在最近一个备份时间点之后备份的内存日志,确定在最近一个备份时间点之后对内存数据进行过的操作,并对数据备份磁盘中已备份的内存数据重新进行确定的所述操作,得到内存数据库中恢复的内存数据。
通过实施例三的方案,当内存数据库出现异常和/或内存数据库中内存数据丢失时,通过确定最近一次进行内存数据备份的数据备份磁盘,利用确定的数据备份磁盘中已备份的内存数据,和日志备份磁盘中的日志文件,将内存数据库中的内存数据恢复至异常出现时的状态,提高了内存数据库数据恢复的准确性。
实施例四:
如图5所示,为本实施例四的一种数据备份的设备的结构示意图,该设备包括:判断模块41、数据确定模块42和数据备份模块43。其中:
判断模块41,用于判断备份时间点是否达到;数据确定模块42,用于在备份时间点到达时,确定内存数据库中当前的内存数据;数据备份模块43,用于将确定的所述内存数据备份至多个数据备份磁盘中的一个磁盘中,其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘。
具体地,所述数据备份模块43包括:划分子模块44、查询子模块45和更新子模块46。其中,
划分子模块44,用于将所述内存数据进行网格化操作;查询子模块45,用于查询在参考备份时间点之后,经过网格化操作之后的内存数据中发生变化的数据块,所述参考备份时间点是上一次向同一数据备份磁盘进行备份的备份时间点;更新子模块46,用于利用查询出的数据块更新同一数据备份磁盘中的内存数据。
较优地,该数据备份设备还包括:锁定模块47。其中:
锁定模块47,用于在备份时间点到达时,锁定内存数据库中当前的内存数据的镜像副本。
所述更新子模块46,具体用于判断在更新过程中是否有针对查询出的数据块的会话操作,若没有,则利用查询出的数据块更新同一数据备份磁盘中的内存数据,否则,利用锁定模块47锁定的镜像副本中与查询出的数据块对应的数据块更新同一数据备份磁盘中的内存数据。
该数据备份设备还包括:确定日志模块48和日志备份模块49。其中
确定日志模块48,用于确定对内存数据库中的内存数据进行操作时产生的内存日志,所述内存日志中包含操作类型和本次操作的版本号;日志备份模块49,用于在满足设定条件时,将所述内存日志备份至日志备份磁盘的日志文件中。
实施例五:
如图6所示,为本实施例五的一种数据恢复的设备的结构示意图,该设备包括:磁盘确定模块51和数据恢复模块52。其中,
磁盘确定模块51,用于确定最近一次进行内存数据备份的数据备份磁盘;数据恢复模块52,用于利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
其中,所述磁盘确定模块51,具体用于从日志文件中确定操作类型为备份操作的内存日志,并从确定的内存日志中查询出最近一个备份时间点,并将在该查询出的备份时间点进行备份操作的数据备份磁盘作为最近一次进行内存数据备份的数据备份磁盘。
具体地,所述数据恢复模块52包括:确定内存日志子模块53和数据恢复子模块54。其中,
确定内存日志子模块53,用于从日志文件中确定所述查询出的最近一个备份时间点之后备份的内存日志;数据恢复子模块54,用于根据确定的在最近一个备份时间点之后备份的内存日志,确定在最近一个备份时间点之后对内存数据进行过的操作,并对数据备份磁盘中已备份的内存数据重新进行确定的所述操作,得到内存数据库中恢复的内存数据。
实施例六:
如图7所示,为本实施例六的一种数据备份、恢复的系统结构示意图,该系统包括:内存数据库61、数据备份设备62和多个数据备份磁盘63。其中,
内存数据库61,用于存放内存数据;
数据备份设备62,用于判断备份时间点是否达到,并在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中,其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘;
多个数据备份磁盘63,用于备份内存数据。
具体地,所述内存数据库61通过API接口实现与外界设备之间的信令交互。内存数据库61在进行内存数据存储时,可将内存数据库划分为不同的存储区,包括:数据字典区、数据表空间、索引区等。
所述数据备份磁盘63,可根据内存数据库61划分存储区的形式进行划分,例如:备份数据字典区、备份数据表象区、备份索引区等。较优地,在备份时间点到达时,可根据当前内存数据所在内存数据库中的存储位置,将该内存数据备份至数据备份磁盘中同样的存储区中。
所述数据备份设备62,具体用于将所述内存数据进行网格化操作,并查询在参考备份时间点之后,经过网格化操作之后的内存数据中发生变化的数据块,所述参考备份时间点是上一次向同一数据备份磁盘进行备份的备份时间点,并利用查询出的数据块更新同一数据备份磁盘中的内存数据。
所述数据备份设备62,还用于在备份时间点到达时,锁定内存数据库中当前的内存数据的镜像副本。
所述数据备份设备62,还具体用于判断在更新过程中是否有针对查询出的数据块的会话操作,若没有,则利用查询出的数据块更新同一数据备份磁盘中的内存数据,否则,利用镜像副本中与查询出的数据块对应的数据块更新同一数据备份磁盘中的内存数据。
较优地,该系统还包括:数据恢复设备64。其中,
数据恢复设备64,用于确定最近一次进行内存数据备份的数据备份磁盘,并利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
较优地,如图8所示,为一种数据库的系统框架图。在数据库系统中,所述内存数据库61中包含日志缓存,所述数据备份磁盘也可是日志备份磁盘。
所述数据备份设备62,还用于确定对内存数据库中的内存数据进行操作时产生的内存日志,所述内存日志中包含操作类型和本次操作的版本号,并在满足设定条件时,将所述内存日志备份至日志备份磁盘的日志文件中。
其中,数据备份设备62在对内存数据库中的内存数据进行操作为对内存数据进行备份操作时,所述操作类型为备份操作,所述版本号为本次备份的备份时间点。
所述数据恢复设备64,具体用于从日志文件中确定操作类型为备份操作的内存日志,并从确定的内存日志中查询出最近一个备份时间点,并将在该查询出的备份时间点进行备份操作的数据备份磁盘作为最近一次进行内存数据备份的数据备份磁盘。
所述数据恢复设备64,还具体用于从日志文件中确定所述查询出的最近一个备份时间点之后备份的内存日志,并根据确定的在最近一个备份时间点之后备份的内存日志,确定在最近一个备份时间点之后对内存数据进行过的操作,并对数据备份磁盘中已备份的内存数据重新进行确定的所述操作,得到内存数据库中恢复的内存数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种数据备份的方法,其特征在于,该方法包括:
在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中;
其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘。
2.如权利要求1所述数据备份的方法,其特征在于,将内存数据库中当前的内存数据备份至一个数据备份磁盘中,具体包括:
将所述内存数据进行网格化操作,并查询在参考备份时间点之后,经网格化操作之后的内存数据中发生变化的数据块,所述参考备份时间点是上一次向同一数据备份磁盘进行备份的备份时间点;
利用查询出的数据块更新同一数据备份磁盘中的内存数据。
3.如权利要求2所述数据备份的方法,其特征在于,所述方法还包括:
在备份时间点到达时,锁定内存数据库中当前的内存数据的镜像副本;
利用查询出的数据块更新同一数据备份磁盘中的内存数据,具体包括:
判断在更新过程中是否有针对查询出的数据块的会话操作;
若没有,则利用查询出的数据块更新同一数据备份磁盘中的内存数据;
若有,则利用镜像副本中与查询出的数据块对应的数据块更新同一数据备份磁盘中的内存数据。
4.如权利要求1所述数据备份的方法,其特征在于,所述方法还包括:
确定对内存数据库中的内存数据进行操作时产生的内存日志,所述内存日志中包含操作类型和本次操作的版本号;
在满足设定条件时,将所述内存日志备份至日志备份磁盘的日志文件中。
5.如权利要求4所述数据备份的方法,其特征在于,在对内存数据库中的内存数据进行操作为对内存数据进行备份操作时,所述操作类型为备份操作,所述版本号为本次备份的备份时间点。
6.一种基于权利要求1~5任一所述的方法备份的内存数据进行数据恢复的方法,其特征在于,该方法包括:
确定最近一次进行内存数据备份的数据备份磁盘;
利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
7.如权利要求6所述数据恢复的方法,其特征在于,若将内存日志备份至日志备份磁盘的日志文件,则确定最近一次进行内存数据备份的数据备份磁盘,具体包括:
从日志文件中确定操作类型为备份操作的内存日志,并从确定的内存日志中查询出最近一个备份时间点,并将在该查询出的备份时间点进行备份操作的数据备份磁盘作为最近一次进行内存数据备份的数据备份磁盘。
8.如权利要求7所述数据恢复的方法,其特征在于,利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据,具体包括:
从日志文件中确定所述查询出的最近一个备份时间点之后备份的内存日志;
根据确定的在最近一个备份时间点之后备份的内存日志,确定在最近一个备份时间点之后对内存数据进行过的操作,并对数据备份磁盘中已备份的内存数据重新进行确定的所述操作,得到内存数据库中恢复的内存数据。
9.一种数据备份的设备,其特征在于,该设备包括:
数据确定模块,用于在备份时间点到达时,确定内存数据库中当前的内存数据;
数据备份模块,用于将确定的所述内存数据备份至多个数据备份磁盘中的一个磁盘中,其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘。
10.如权利要求9所述的数据备份的设备,其特征在于,所述数据备份模块包括:
划分子模块,用于将所述内存数据进行网格化操作;
查询子模块,用于查询在参考备份时间点之后,经网格化操作之后的内存数据中发生变化的数据块,所述参考备份时间点是上一次向同一数据备份磁盘进行备份的备份时间点;
更新子模块,用于利用查询出的数据块更新同一数据备份磁盘中的内存数据。
11.如权利要求10所述的数据备份的设备,其特征在于,该设备还包括:
锁定模块,用于在备份时间点到达时,锁定内存数据库中当前的内存数据的镜像副本;
所述更新子模块,具体用于判断在更新过程中是否有针对查询出的数据块的会话操作,若没有,则利用查询出的数据块更新同一数据备份磁盘中的内存数据,否则,利用镜像副本中与查询出的数据块对应的数据块更新同一数据备份磁盘中的内存数据。
12.如权利要求9所述的数据备份的设备,其特征在于,该设备还包括:
确定日志模块,用于确定对内存数据库中的内存数据进行操作时产生的内存日志,所述内存日志中包含操作类型和本次操作的版本号;
日志备份模块,用于在满足设定条件时,将所述内存日志备份至日志备份磁盘的日志文件中。
13.一种基于权利要求9~12任一所述的设备备份的内存数据进行数据恢复的设备,其特征在于,该设备包括:
磁盘确定模块,用于确定最近一次进行内存数据备份的数据备份磁盘;
数据恢复模块,用于利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
14.如权利要求13所述的数据恢复的设备,其特征在于,
所述磁盘确定模块,具体用于从日志文件中确定操作类型为备份操作的内存日志,并从确定的内存日志中查询出最近一个备份时间点,并将在该查询出的备份时间点进行备份操作的数据备份磁盘作为最近一次进行内存数据备份的数据备份磁盘。
15.如权利要求14所述的数据恢复的设备,其特征在于,所述数据恢复模块包括:
确定内存日志子模块,用于从日志文件中确定所述查询出的最近一个备份时间点之后备份的内存日志;
数据恢复子模块,用于根据确定的在最近一个备份时间点之后备份的内存日志,确定在最近一个备份时间点之后对内存数据进行过的操作,并对数据备份磁盘中已备份的内存数据重新进行确定的所述操作,得到内存数据库中恢复的内存数据。
16.一种数据库系统,其特征在于,该系统包括:
内存数据库,用于存放内存数据;
数据备份设备,用于在备份时间点到达时,将内存数据库中当前的内存数据备份至多个数据备份磁盘中的一个磁盘中,其中,在任意相邻的两个备份时间点进行备份操作时,内存数据备份至不同的数据备份磁盘;
多个数据备份磁盘,用于备份内存数据。
17.如权利要求16所述的系统,其特征在于,该系统还包括:
数据恢复设备,用于确定最近一次进行内存数据备份的数据备份磁盘,并利用确定的数据备份磁盘中已备份的内存数据恢复内存数据库中的内存数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100019649A CN103197988A (zh) | 2012-01-05 | 2012-01-05 | 一种数据备份、恢复的方法、设备和数据库系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100019649A CN103197988A (zh) | 2012-01-05 | 2012-01-05 | 一种数据备份、恢复的方法、设备和数据库系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103197988A true CN103197988A (zh) | 2013-07-10 |
Family
ID=48720575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100019649A Pending CN103197988A (zh) | 2012-01-05 | 2012-01-05 | 一种数据备份、恢复的方法、设备和数据库系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103197988A (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927251A (zh) * | 2014-03-18 | 2014-07-16 | 烽火通信科技股份有限公司 | 一种嵌入式系统的日志管理方法 |
CN104063447A (zh) * | 2014-06-17 | 2014-09-24 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN104216802A (zh) * | 2014-09-25 | 2014-12-17 | 北京金山安全软件有限公司 | 一种内存数据库恢复方法和设备 |
CN104537037A (zh) * | 2014-12-23 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种处理数据库日志的方法及装置 |
CN104572339A (zh) * | 2013-10-17 | 2015-04-29 | 捷达世软件(深圳)有限公司 | 基于分布式文件系统的数据备份还原系统及方法 |
CN105159818A (zh) * | 2015-08-28 | 2015-12-16 | 东北大学 | 内存数据管理中日志恢复方法及其仿真系统 |
CN105468475A (zh) * | 2015-11-16 | 2016-04-06 | 北京奇虎科技有限公司 | 数据库的备份方法及备份装置 |
CN105843895A (zh) * | 2016-03-22 | 2016-08-10 | 北京建飞无限科技有限公司 | 基于Ehcache的数据查询及同步方法,装置及系统 |
CN105980995A (zh) * | 2013-10-30 | 2016-09-28 | 慧与发展有限责任合伙企业 | 数据中心复制 |
CN106528582A (zh) * | 2015-09-15 | 2017-03-22 | 北京国双科技有限公司 | 数据库的备份方法和装置 |
CN106528349A (zh) * | 2016-12-06 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN106557383A (zh) * | 2015-09-24 | 2017-04-05 | 北京国双科技有限公司 | 一种数据恢复的方法及装置 |
CN107025150A (zh) * | 2017-03-30 | 2017-08-08 | 南京车喇叭信息科技有限公司 | 一种实现数据备份实时恢复控制的系统及其方法 |
CN107145403A (zh) * | 2017-04-20 | 2017-09-08 | 浙江工业大学 | 面向Web开发环境的关系型数据库数据回溯方法 |
CN107562579A (zh) * | 2017-10-20 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种自动备份数据库数据的方法及装置 |
CN108121789A (zh) * | 2017-12-19 | 2018-06-05 | 苏州精濑光电有限公司 | 一种日志管理方法及系统 |
CN108255909A (zh) * | 2017-07-27 | 2018-07-06 | 平安科技(深圳)有限公司 | 基于Oracle数据库的数据表备份方法及服务器 |
CN108959548A (zh) * | 2018-07-02 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 业务请求的处理方法及装置 |
CN111209608A (zh) * | 2020-02-25 | 2020-05-29 | 于梦丽 | 一种大数据存储系统 |
CN111324620A (zh) * | 2020-02-18 | 2020-06-23 | 中国联合网络通信集团有限公司 | 数据处理方法、装置及存储介质 |
CN111324485A (zh) * | 2020-01-20 | 2020-06-23 | 杭州安恒信息技术股份有限公司 | 一种数据表的数据信息备份方法、装置、设备及存储介质 |
CN111581023A (zh) * | 2020-05-06 | 2020-08-25 | 中国银行股份有限公司 | 银行内存数据处理方法及装置 |
CN112417218A (zh) * | 2020-11-10 | 2021-02-26 | 上海商米科技集团股份有限公司 | 一种嵌入式设备可变格式日志记录方法 |
CN112988471A (zh) * | 2021-04-27 | 2021-06-18 | 北京邮电大学 | 一种工业互联网系统中的数据备份方法、装置及电子设备 |
WO2021179211A1 (zh) * | 2020-03-11 | 2021-09-16 | 深圳市欢太科技有限公司 | 确定数据完整性的方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055591A (zh) * | 2007-05-25 | 2007-10-17 | 中兴通讯股份有限公司 | 一种全内存数据库的数据存取方法 |
US20080228788A1 (en) * | 2007-03-16 | 2008-09-18 | Canon Kabushiki Kaisha | Information processing apparatus, method, and recording medium |
CN101620460A (zh) * | 2008-07-02 | 2010-01-06 | 联想(北京)有限公司 | 一种计算机系统休眠方法和一种计算机系统 |
CN102096676A (zh) * | 2009-12-11 | 2011-06-15 | 中国移动通信集团公司 | 数据更新及查询控制方法及系统 |
-
2012
- 2012-01-05 CN CN2012100019649A patent/CN103197988A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080228788A1 (en) * | 2007-03-16 | 2008-09-18 | Canon Kabushiki Kaisha | Information processing apparatus, method, and recording medium |
CN101055591A (zh) * | 2007-05-25 | 2007-10-17 | 中兴通讯股份有限公司 | 一种全内存数据库的数据存取方法 |
CN101620460A (zh) * | 2008-07-02 | 2010-01-06 | 联想(北京)有限公司 | 一种计算机系统休眠方法和一种计算机系统 |
CN102096676A (zh) * | 2009-12-11 | 2011-06-15 | 中国移动通信集团公司 | 数据更新及查询控制方法及系统 |
Non-Patent Citations (2)
Title |
---|
吴惠君: "《内存数据库备份恢复研究与设计》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
吴惠君: "《内存数据库备份恢复研究与设计》", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 30 December 2011 (2011-12-30), pages 138 - 917 * |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572339A (zh) * | 2013-10-17 | 2015-04-29 | 捷达世软件(深圳)有限公司 | 基于分布式文件系统的数据备份还原系统及方法 |
CN105980995A (zh) * | 2013-10-30 | 2016-09-28 | 慧与发展有限责任合伙企业 | 数据中心复制 |
CN103927251A (zh) * | 2014-03-18 | 2014-07-16 | 烽火通信科技股份有限公司 | 一种嵌入式系统的日志管理方法 |
CN103927251B (zh) * | 2014-03-18 | 2017-02-01 | 烽火通信科技股份有限公司 | 一种嵌入式系统的日志管理方法 |
CN104063447A (zh) * | 2014-06-17 | 2014-09-24 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN104063447B (zh) * | 2014-06-17 | 2018-04-17 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN104216802A (zh) * | 2014-09-25 | 2014-12-17 | 北京金山安全软件有限公司 | 一种内存数据库恢复方法和设备 |
CN104216802B (zh) * | 2014-09-25 | 2017-05-10 | 北京金山安全软件有限公司 | 一种内存数据库恢复方法和设备 |
CN104537037B (zh) * | 2014-12-23 | 2018-01-23 | 杭州华为数字技术有限公司 | 一种处理数据库日志的方法及装置 |
CN104537037A (zh) * | 2014-12-23 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种处理数据库日志的方法及装置 |
CN105159818A (zh) * | 2015-08-28 | 2015-12-16 | 东北大学 | 内存数据管理中日志恢复方法及其仿真系统 |
CN105159818B (zh) * | 2015-08-28 | 2018-01-02 | 东北大学 | 内存数据管理中日志恢复方法及其仿真系统 |
CN106528582A (zh) * | 2015-09-15 | 2017-03-22 | 北京国双科技有限公司 | 数据库的备份方法和装置 |
CN106528582B (zh) * | 2015-09-15 | 2019-07-23 | 北京国双科技有限公司 | 数据库的备份方法和装置 |
CN106557383B (zh) * | 2015-09-24 | 2021-08-10 | 北京国双科技有限公司 | 一种数据恢复的方法及装置 |
CN106557383A (zh) * | 2015-09-24 | 2017-04-05 | 北京国双科技有限公司 | 一种数据恢复的方法及装置 |
CN105468475A (zh) * | 2015-11-16 | 2016-04-06 | 北京奇虎科技有限公司 | 数据库的备份方法及备份装置 |
CN105843895B (zh) * | 2016-03-22 | 2019-07-02 | 北京建飞无限科技有限公司 | 基于Ehcache的数据查询及同步方法,装置及系统 |
CN105843895A (zh) * | 2016-03-22 | 2016-08-10 | 北京建飞无限科技有限公司 | 基于Ehcache的数据查询及同步方法,装置及系统 |
CN106528349A (zh) * | 2016-12-06 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN107025150A (zh) * | 2017-03-30 | 2017-08-08 | 南京车喇叭信息科技有限公司 | 一种实现数据备份实时恢复控制的系统及其方法 |
CN107145403A (zh) * | 2017-04-20 | 2017-09-08 | 浙江工业大学 | 面向Web开发环境的关系型数据库数据回溯方法 |
CN107145403B (zh) * | 2017-04-20 | 2020-06-30 | 浙江工业大学 | 面向Web开发环境的关系型数据库数据回溯方法 |
CN108255909A (zh) * | 2017-07-27 | 2018-07-06 | 平安科技(深圳)有限公司 | 基于Oracle数据库的数据表备份方法及服务器 |
CN108255909B (zh) * | 2017-07-27 | 2020-08-04 | 平安科技(深圳)有限公司 | 基于Oracle数据库的数据表备份方法及服务器 |
CN107562579A (zh) * | 2017-10-20 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种自动备份数据库数据的方法及装置 |
CN108121789B (zh) * | 2017-12-19 | 2020-06-30 | 苏州精濑光电有限公司 | 一种日志管理方法及系统 |
CN108121789A (zh) * | 2017-12-19 | 2018-06-05 | 苏州精濑光电有限公司 | 一种日志管理方法及系统 |
CN108959548A (zh) * | 2018-07-02 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 业务请求的处理方法及装置 |
CN108959548B (zh) * | 2018-07-02 | 2023-04-18 | 创新先进技术有限公司 | 业务请求的处理方法及装置 |
CN111324485A (zh) * | 2020-01-20 | 2020-06-23 | 杭州安恒信息技术股份有限公司 | 一种数据表的数据信息备份方法、装置、设备及存储介质 |
CN111324620A (zh) * | 2020-02-18 | 2020-06-23 | 中国联合网络通信集团有限公司 | 数据处理方法、装置及存储介质 |
CN111209608A (zh) * | 2020-02-25 | 2020-05-29 | 于梦丽 | 一种大数据存储系统 |
WO2021179211A1 (zh) * | 2020-03-11 | 2021-09-16 | 深圳市欢太科技有限公司 | 确定数据完整性的方法、装置、电子设备及存储介质 |
CN111581023A (zh) * | 2020-05-06 | 2020-08-25 | 中国银行股份有限公司 | 银行内存数据处理方法及装置 |
CN111581023B (zh) * | 2020-05-06 | 2023-08-22 | 中国银行股份有限公司 | 银行内存数据处理方法及装置 |
CN112417218A (zh) * | 2020-11-10 | 2021-02-26 | 上海商米科技集团股份有限公司 | 一种嵌入式设备可变格式日志记录方法 |
CN112988471A (zh) * | 2021-04-27 | 2021-06-18 | 北京邮电大学 | 一种工业互联网系统中的数据备份方法、装置及电子设备 |
CN112988471B (zh) * | 2021-04-27 | 2023-03-14 | 北京邮电大学 | 一种工业互联网系统中的数据备份方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103197988A (zh) | 一种数据备份、恢复的方法、设备和数据库系统 | |
US9710177B1 (en) | Creating and maintaining clones in continuous data protection | |
US9535801B1 (en) | Xcopy in journal based replication | |
US9588703B1 (en) | Method and apparatus for replicating the punch command | |
US7191299B1 (en) | Method and system of providing periodic replication | |
US8600945B1 (en) | Continuous data replication | |
US9471579B1 (en) | Replicating selected snapshots from one storage array to another, with minimal data transmission | |
US8438135B1 (en) | Mirroring metadata in a continuous data protection environment | |
US7844856B1 (en) | Methods and apparatus for bottleneck processing in a continuous data protection system having journaling | |
US7694086B1 (en) | Method and system for incremental backup of data volumes | |
US8898112B1 (en) | Write signature command | |
US8706700B1 (en) | Creating consistent snapshots across several storage arrays or file systems | |
US9740572B1 (en) | Replication of xcopy command | |
US8380957B2 (en) | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices | |
US8862546B1 (en) | Virtual access roll | |
RU2433458C2 (ru) | Создание согласованных с приложениями резервных копий виртуальных машин уровня хоста | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
CN105574187B (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
US20150213100A1 (en) | Data synchronization method and system | |
US10108507B1 (en) | Asynchronous copy on write | |
CN100498796C (zh) | 逻辑日志生成方法、数据库备份/恢复方法与系统 | |
CN101719165A (zh) | 一种实现数据库高效快速备份的方法 | |
CN111078667B (zh) | 一种数据迁移的方法以及相关装置 | |
JP2003536157A (ja) | データ記憶システムおよびプロセス | |
US7979651B1 (en) | Method, system, and computer readable medium for asynchronously processing write operations for a data storage volume having a copy-on-write snapshot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130710 |
|
RJ01 | Rejection of invention patent application after publication |