一种实现内存数据备份的方法、装置和系统的制作方法

文档序号:6574807阅读:199来源:国知局
专利名称:一种实现内存数据备份的方法、装置和系统的制作方法
技术领域
本发明涉及通信技术领域,特别是指一种实现内存数据备份的方法、装置和系统。
背景技术
在通信技术领域,对于网络的运营商而言,计费系统是网络中重要的组成部分,对计费系统的实时性能要求非常高;计费系统能否正常运行,即计费系统的安全性关系到网路中所有用户的利益。
因此,为能够实现计费系统的实时响应,开发出基于内存数据库的计费系统。基于内存数据库的计费系统,能够快速、实时响应外部的命令,对内存数据库中数据的进行各种查询、删除、修改等操作。
基于内存数据库的计费系统,由于内存数据库的所有数据都在内存中,只要系统重起或掉电,整个内存中的数据都不复存在。因此,存在安全性的问题。
为此,为解决安全性的问题提出解决方案是将静态的数据从存储设备中复制出,放入到内存中,这部分数据是不被修改的。这样能够提高计费系统的部分数据库的查询性能,由于在静态的数据中不能执行修改、删除、插入等操作,而影响数据库的性能主要是修改、删除、插入等这些操作,显然采用静态的数据实现内存数据的备份只保证数据的安全性却导致计费系统性能的下降。
为能够既保证实现数据安全、又不影响系统性能,目前现有技术采用主、备机的方式,主、备机之间采用热备份。主机内存数据库中数据产生的变动都会实时同步到备机的内存数据库中。这样,如果主机出现故障,故障前的数据变动存储在备机的内存数据库中不会丢失。由于考虑到主、备机还可能存在同时宕机的问题,主机必须将命令操作及数据变动记录到磁盘,通过零级备份、脏数据刷新(Check Point)、写逻辑日志等操作来实现。
其中,零级备份是内存数据库的一种备份机制,可以通过外部命令或定时触发方式将内存数据库的全部数据备份到磁盘指定的位置,相当于在磁盘中保存一份内存数据库全部数据的映像文件,可在数据恢复时候使用。
脏数据刷新是内存数据库按照指定的时间间隔或者指定的数据修改操作次数将内存数据库的脏数据刷新到磁盘。由于零级备份后,内存数据库依然接收来自外部的操作命令,在下次零级备份之前,内存数据库中可能会出现脏数据。脏数据是内存数据库由于接收外部的操作命令,内存数据库中的部分数据与磁盘中的备份数据不一致或者不存在磁盘的备份数据中,这部分数据称为脏数据。存在脏数据的危险是内存数据库系统在零级备份之前发生崩溃的时候,用户数据的缺失。通过脏数据刷新的操作能够在发生数据灾难时,快速、最大限度的恢复用户数据。
写逻辑日志是内存数据库用来记录对数据库数据产生变化的操作,目的是用来增量恢复时候使用。与零级备份的数据区别在于,零级备份数据是整个数据库的一个映像文件,而逻辑日志只记录数据发生变动时的数据操作。通过实时记录逻辑日志,在主、备机出现故障后,通过零级备份、脏数据刷新可以恢复大部分的数据,未及时记录的脏数据可通过实时记录的逻辑日志进行增量恢复。
采用主、备机方式,会存在只有主机对外提供业务服务,而备机只用于与主机的内存数据库保持同步,主机的内存数据库在做零级备份、脏数据刷新、写逻辑日志等操作的时候,必须中止来自外部对内存数据库中数据的所有命令,只有这些操作完成后才能恢复执行来自外部的命令的功能,这期间会极大的影响计费系统的性能,导致内存数据库间断性阻塞的问题。

发明内容
本发明的实施例提供一种实现内存数据备份的方法、装置和系统,以提高主机、备机的工作性能和效率。
本发明的实施例提供一种实现内存数据备份的方法,包括接收主机内存数据库产生的逻辑日志;按照所述逻辑日志同步备机内存中的数据,对所述内存中的数据执行备份操作。
本发明的实施例提供一种实现内存数据备份的装置,包括接收单元、内存数据库,所述接收单元,用于接收主机内存数据库产生的逻辑日志;所述内存数据库包括同步单元,用于按照所述接收单元接收到的所述逻辑日志同步内存中的数据;备份单元,用于对所述内存中的数据执行备份操作。
本发明的实施例提供一种实现内存数据备份的系统,包括主机和备机,主机包括内存数据库,用于实现对内存中的数据进行操作;发送单元,用于将内存数据库对内存中数据进行操作后产生的逻辑日志发送至备机;备机包括接收单元、内存数据库,所述接收单元,用于接收所述逻辑日志;所述内存数据库包括同步单元,用于按照所述接收单元接收到的所述逻辑日志同步内存中的数据;备份单元,用于对所述内存中的数据执行备份操作。
本发明的实施例中,所涉及的方法、装置和系统中,备机的内存数据库根据主机所发送的逻辑日志实时备份自身内存中的数据,并执行备份操作,使主机的内存数据库能够不间断的向外界提供各种数据操作,不受备份操作的影响,使主、备机工作性能和效率有较大提高。


图1是本发明实施例一实现数据备份的流程图;图2是本发明实施例二实现数据备份的流程图;图3是本发明实施例三实现数据备份的流程图;图4是本发明实施例四实现数据备份的流程图;
图5是本发明实施例五中装置的结构图;图6是本发明实施例六中系统的结构图。
具体实施例方式
下面结合附图详细说明本发明的各实施例。以在融合计费系统(CBE,Convergent Billing Engine)中实现内存数据备份为例。
CBE系统是一个实时、基于内存数据库的计费系统。CBE系统采用内存数据库技术来提高系统的实时响应性能,内存数据库通过将系统的常用数据库表中的数据全部映射到主机的共享内存中,并且在数据库表上的关键字段上建立内存索引的方式,来提高系统对关键数据的实时访问性能。
CBE系统是采用主、备机的方式实现内存数据库中数据的备份。主、备机最初在内存中存有相同的内存数据库表中常用数据。其中,备机根据接收来自外部的命令、或预定的时间间隔、或预定的对内存中数据的操作次数来实现零级备份操作、脏数据刷新操作。参见图1,结合图1来详细说明实施例一中实现数据备份同步的过程。
步骤S101将日志表中的逻辑日志发送到备机;主、备机工作后,双机实现通信,主机不断接收来自外部的命令,其内存数据库根据命令对内存中的数据进行操作。主机不断扫描日志表,当内存中数据发生变动后,将日志表中的逻辑日志发送到备机。
步骤S102备机将逻辑日志写入到磁盘;备机接收缓冲器(Buffer)收到逻辑日志后,将逻辑日志在磁盘中保存。
步骤S103备机同步内存中数据;备机中的内存数据库根据接收缓冲器中的逻辑日志,实现写内存数据库的操作,根据逻辑日志同步内存中的数据,并在同步后通知主机删除已经同步过的逻辑日志。
为避免主、备机同时出现故障后,在内存中的数据无法恢复。因此,由备机来实现备份操作,备份操作是指零级备份、脏数据刷新等操作。这样,可以不影响主机的内存数据库对外提供业务服务。在备机执行脏数据刷新、零级备份的时候,主机的内存数据库依然会响应外部的命令操作,并产生逻辑日志发送到备机的接收缓冲器。此时由于备机的内存数据库正在执行将内存中数据写入到磁盘的过程,影响备机按照逻辑日志同步内存中的数据。对于这种情况,下面通过实施例二来说明解决方案,参见图2,步骤S201将日志表中的逻辑日志发送到备机;主、备机工作后,主机不断接收来自外部的命令,其内存数据库根据命令对内存中的数据进行操作。主机不断扫描日志表,当内存中数据发生变动后,将日志表中的逻辑日志发送到备机。
步骤S202备机将逻辑日志写入到磁盘;备机接收Buffer收到逻辑日志后,将逻辑日志在磁盘中保存。
步骤S203备机执行备份操作;备机在接收到逻辑日志后,执行备份操作。当然,还可以在执行备份操作前增加预定条件,在满足预定条件后,执行备份操作。预定条件可以是接收到外部的执行命令、或时间间隔超过预定阈值、或对内存中数据的操作次数超过预定阈值等。备份操作是零级备份操作、脏数据刷新等操作。如果是执行零级备份、或是脏数据刷新操作,备机的内存数据库在操作过程中,将会被锁住。
步骤S204备机在执行备份操作时,将接收Buffer中的临时日志移至备机的进程临时Buffer1;其中,接收Buffer用于接收来自主机的所有数据,实现与主机的信息交互,其空间有限,存放逻辑日志的时间不可过长。备机在执行备份操作时,其内存数据库无法根据主机发送来的逻辑日志同步内存中的数据。因此,备机在执行备份操作时,将接收Buffer中收到的来自主机的逻辑日志移至进程临时Buffer1中,等到备份操作执行完成后再进行内存数据的同步。
步骤S205备机根据进程临时Buffer1中的逻辑日志同步内存中的数据;备机在执行完备份操作后,备机的内存数据库根据进程临时Buffer1中的逻辑日志,同步内存中的数据,并在同步后通知主机删除已经同步过的逻辑日志。
当备份操作是零级备份、或脏数据刷新时,备机会在执行成功后,会将磁盘中的逻辑日志,移至备份目录,对于脏数据刷新操作结束后,将内存数据库中所有脏数据标识清空。
步骤S206备机根据接收Buffer中的逻辑日志同步内存数据;上述的实现过程中,备机的内存数据库根据进程临时Buffer1中的逻辑日志全部同步完内存中的数据后,恢复到如实施例一中所描述的工作状态,即备机的内存数据库根据接收Buffer中所收到来自主机的逻辑日志,实时同步内存中的数据。
在实施例二的实现过程中,执行步骤S204时,如果出现异常情况,即由于备机长时间没有执行完备份操作、或备机在执行备份操作过程中,主机内存数据库在瞬间产生大量的操作,都会导致主机所发送的逻辑日志较多,逻辑日志所占用的空间超过进程临时Buffer1的空间,进程临时Buffer1的空间存满后,导致逻辑日志无法从接收Buffer中移出,如果逻辑日志无法及时从接收Buffer中移出,占用太多接收Buffer的空间,会严重影响主、备机之间其它信息的交互,出现故障。为避免这种现象的出现,可在备机中添加存储空间,通过添加进程临时Buffer2来解决,下面通过实施例三说明在添加进程临时Buffer2后备机的数据备份过程,参见图3,步骤S301将日志表中的逻辑日志发送到备机;主、备机工作后,主机不断接收来自外部的命令,其内存数据库根据接收到的命令对内存中的数据进行操作。主机不断扫描日志表,当内存中数据发生变动后,将日志表中的逻辑日志发送到备机。
步骤S302备机将逻辑日志写入到磁盘;备机接收Buffer收到逻辑日志后,将逻辑日志在磁盘中保存。
步骤S303备机执行备份操作;备机在接收到逻辑日志后,执行备份操作。当然,还可以在执行备份操作前增加预定条件,在满足预定条件后,执行备份操作。预定条件可以是接收到外部的执行命令、或时间间隔超过预定阈值、或对内存中数据的操作次数超过预定阈值等。备份操作是零级备份操作、脏数据刷新等操作。如果是执行零级备份、或是脏数据刷新操作,备机的内存数据库在操作过程中,将会被锁住。
步骤S304备机在执行备份操作时,将接收Buffer中的逻辑日志移至备机的进程临时Buffer1;其中,接收Buffer用于接收来自主机的所有数据,备机在执行备份操作时,将接收Buffer中收到的来自主机的逻辑日志移至进程临时Buffer1中。
步骤S305在进程临时Buffer1存满后,备机将接收Buffer中的逻辑日志移至进程临时Buffer2中;由于备机长时间没有执行完备份操作、或备机在执行备份操作过程中,主机内存数据库在瞬间产生大量的操作,都会导致主机所发送的逻辑日志较多,逻辑日志所占用的空间超过进程临时Buffer1的空间,进程临时Buffer1的空间存满后,备机将接收Buffer中的逻辑日志移至进程临时Buffer2中。
步骤S306备机根据进程临时Buffer1中的逻辑日志同步内存中的数据;备机在执行完备份操作后,备机的内存数据库根据进程临时Buffer1中的逻辑日志,同步内存中的数据,清空进程临时Buffer1,并在同步后通知主机删除已经同步过的逻辑日志。
当备份操作是零级备份、或脏数据刷新时,备机会在执行成功后,会将磁盘中的逻辑日志,移至备份目录,对于脏数据刷新操作结束后,将内存数据库中所有脏数据标识清空。
步骤S307备机根据进程临时Buffer2中的逻辑日志同步内存中的数据;备机在执行完步骤S306后,内存数据库根据进程临时Buffer2中的逻辑日志同步内存中的数据,在同步内存中数据的过程中,备机可能还会有逻辑日志从接收Buffer中移至进程临时Buffer2,此时会出现将逻辑日志移至进程临时Buffer2和通过进程临时Buffer2中逻辑日志同步内存数据两个步骤竞争使用进程临时Buffer2,这时,内存数据库会通过依靠进程的锁机制来保证共享资源的互斥操作。
步骤S308备机根据接收Buffer中的逻辑日志同步内存数据;备机的内存数据库根据进程临时Buffer2中的逻辑日志全部同步完内存中的数据后,恢复到如实施例一中所描述的工作状态,即备机的内存数据库根据接收Buffer中所收到来自主机的逻辑日志,实时同步内存中的数据。在上述实施例中,采用的是两个缓冲器,对于缓冲器的数量而言,对于多个缓冲器,实现过程也是相同的。
在所描述的实施例中,如果出现进程临时Buffer1、Buffer2的空间全部被存满,或主、备机出现异常情况导致双机通信阻塞,如果出现这种特殊情况,主机会先将逻辑日志保存到磁盘上,以后再将逻辑日志发送到备机。下面通过实施例四说明具体的实现过程,参见图4,步骤S401将日志表中的逻辑日志发送到备机;主、备机工作后,主机不断接收来自外部的命令,其内存数据库根据接收到的命令对内存中的数据进行操作。主机不断扫描日志表,当内存中数据发生变动后,将日志表中的逻辑日志发送到备机。
步骤S402备机将逻辑日志写入到磁盘;备机接收Buffer收到逻辑日志后,将逻辑日志在磁盘中保存。
步骤S403备机执行备份操作;备机在接收到逻辑日志后,执行备份操作。当然,还可以在执行备份操作前增加预定条件,在满足预定条件后,执行备份操作。预定条件可以是接收到外部的执行命令、或时间间隔超过预定阈值、或对内存中数据的操作次数超过预定阈值等。备份操作是零级备份操作、脏数据刷新等操作。如果是执行零级备份、或是脏数据刷新操作,备机的内存数据库在操作过程中,将会被锁住。
步骤S404备机在执行备份操作时,将接收Buffer中的逻辑日志移至备机的进程临时Buffer1;其中,接收Buffer用于接收来自主机的所有数据,备机在执行备份操作时,将接收Buffer中收到的来自主机的逻辑日志移至进程临时Buffer1中。
步骤S405在进程临时Buffer1存满后,备机将接收Buffer中的逻辑日志移至进程临时Buffer2中;由于备机长时间没有执行完备份操作、或备机在执行备份操作过程中,主机内存数据库在瞬间产生大量的操作,都会导致主机所发送的逻辑日志较多,逻辑日志所占用的空间超过进程临时Buffer1的空间,进程临时Buffer1的空间存满后,备机将接收Buffer中的逻辑日志移至进程临时Buffer2中。
步骤S406a主机将逻辑日志保存到磁盘上;如果出现特殊情况,即进程临时Buffer2上的空间也全部存满,此时备机会向主机发送空间已满的通知,表明两个缓冲区已经没有空间,主机会停止向备机发送逻辑日志,将产生的逻辑日志保存到磁盘上。
步骤S406备机根据进程临时Buffer1中的逻辑日志同步内存中的数据;备机在执行完备份操作后,备机的内存数据库根据进程临时Buffer1中的逻辑日志,同步内存中的数据后,清空进程临时Buffer1,并在同步后通知主机删除已经同步过的逻辑日志。
步骤S407备机根据进程临时Buffer2中的逻辑日志同步内存中的数据;备机在执行完步骤S406后,内存数据库根据进程临时Buffer2中的逻辑日志同步内存中的数据,同步内存中的数据后,清空进程临时Buffer2,并在同步后通知主机删除已经同步过的逻辑日志。
步骤S408备机根据接收Buffer中的逻辑日志同步内存数据;备机的内存数据库根据进程临时Buffer2中的逻辑日志全部同步完内存中的数据后,恢复到如实施例一中所描述的工作状态,即备机的内存数据库根据接收Buffer中所收到来自主机的逻辑日志,实时同步内存中的数据。
步骤S409主机从磁盘上将未发送给备机的逻辑日志读入到发送Buffer;在备机恢复后,向主机发送同步完成的通知,表明备机已经按照进程缓冲Buffer1、进程缓冲Buffer2中的逻辑日志同步完内存中的数据。主机收到同步完成的通知后,需要先从磁盘上将逻辑日志读入到发送Buffer,将保存的逻辑日志发送到备机。
步骤S410主机将发送Buffer中的逻辑日志发送到备机。
备机的接收Buffer在接收到来自主机的逻辑日志后,内存数据库根据接收Buffer中的逻辑日志同步内存中的数据。
在上述各个实施例中,主、备机在工作过程中,主机和备机之间的通信可能会因为各种情况出现中断,这时主机会将逻辑日志保存到磁盘中,等到主、备机之间的通信恢复后,执行步骤S409、步骤S410,备机的内存数据库根据接收Buffer中的逻辑日志同步内存中的数据。
在本发明的各个实施例中,备机的接收Buffer只是用于接收来自主机的逻辑日志,在备机的内存数据库执行备份操作的过程中,由于接收Buffer的空间有限,还要用于接收主机的其它消息。因此,备机会在内存数据库执行备份操作的过程中,接收到来自主机的逻辑日志后,将接收到的逻辑日志保存在缓冲器中,即保存在进程临时Buffer1、进程临时Buffer2中,当然,上述实施例中可采用一个缓冲器,也可采用多个缓冲器。当采用多个缓冲器时,能够减少上述步骤S307中共同竞争使用同一缓冲器现象的发生,以更好地提高备机的工作效率。
通过上述的实施例中的备份操作,当内存数据库出现故障后,进行恢复时,首先在主机内存数据库中恢复最近一次备机在磁盘上通过零级备份操作时生成的映像文件,然后在主机上恢复最近一次脏数据刷新后的逻辑日志,至此,主机恢复成功;主机恢复成功后,备机的内存数据库恢复最近一次磁盘上通过零级备份操作时生成的映像文件,然后恢复最近一次脏数据刷新后的逻辑日志,双机全部恢复成功。
上面的各个实施例详细地阐述主、备机之间实现内存中数据备份的过程,对于备机这种装置,通过实施例五详细说明其结构组成,参见图5,该实施例提供一种实现内存数据备份的装置,所述装置包括接收单元501、内存数据库502,接收单元501,用于接收主机内存数据库产生的逻辑日志;所述内存数据库502包括同步单元503,用于按照接收单元501接收到的所述逻辑日志同步内存中的数据;备份单元504,用于对所述内存中的数据执行备份操作。
所述装置还包括第一缓冲器505、第二缓冲器506,所述第一缓冲器505即上述实施例中的进程临时Buffer1,所述第二缓冲器即进程临时Buffer2。
在备份单元504执行备份操作时,第一缓冲器505,用于存储接收单元所收到的逻辑日志;第二缓冲器506,用于在第一缓冲器505存满后,存储接收单元501所收到的逻辑日志。
所述装置还包括控制单元507,用于在备份单元504执行完备份操作后,控制同步单元503按照第一缓冲器505、第二缓冲器506中逻辑日志同步内存中的数据。
所述装置还包括判断单元508,用于判断是否满足预定条件,如果满足,则触发所述备份单元504执行所述备份操作。预定条件可以是接收到外部的执行命令、或时间间隔超过预定阈值、或对内存中数据的操作次数超过预定阈值等。
将实施例五中的装置用于内存数据的备份时,可以和主机进行通信,备份主机产生的内存数据,下面结合图六描述本发明的实施例六的系统,参见图六,该实施例提供一种实现内存数据备份的系统,包括主机和备机,主机包括内存数据库609,用于实现对内存中的数据进行操作;发送单元610,用于将内存数据库对内存中数据进行操作后产生的逻辑日志发送至备机;备机包括接收单元601、内存数据库602,接收单元601,用于接收所述逻辑日志;所述内存数据库602包括同步单元603,用于按照接收单元601接收到的所述逻辑日志同步内存中的数据;备份单元604,用于对所述内存中的数据执行备份操作。
在该实施例中,所述系统中备机还包括第一缓冲器605、第二缓冲器606,在备份单元604执行备份操作时,第一缓冲器605,用于存储接收单元601所收到的逻辑日志;第二缓冲器606,用于在第一缓冲器605存满后,存储接收单元601所收到的逻辑日志。
在该实施例中,所述系统中备机还包括控制单元607,用于在备份单元604执行完备份操作后,控制同步单元603按照第一缓冲器605、第二缓冲器606中逻辑日志同步内存中的数据。
在该实施例中,所述系统中备机还包括通知单元608,用于当第一缓冲器605、第二缓冲器606全部存满逻辑日志后,向所述主机发送空间已满通知;当所述同步单元603按照第一缓冲器605、第二缓冲器606中的逻辑日志同步完内存中的数据后,向所述主机发送同步完成通知;在该实施例中,所述系统中主机还包括接收控制单元611,用于接收到所述空间已满通知后,触发写入单元612;当接收到所述同步完成通知后,触发提取单元613;写入单元612,用于在接收触发后,将所述内存数据库对内存中数据进行操作后产生的逻辑日志保存到存储设备中;提取单元613,用于在接收触发后,将存储设备中保存的所述内存数据库609对内存中数据进行操作后产生的逻辑日志传输到发送单元610;恢复单元614,用于当主机、备机之间的通信中断后,触发写入单元612;当主机、备机之间的通信恢复后,触发提取单元613。
在该实施例中,所述备机还包括判断单元615,用于判断是否满足预定条件,如果满足,则触发所述备份单元604执行所述备份操作。预定条件可以是接收到外部的执行命令、或时间间隔超过预定阈值、或对内存中数据的操作次数超过预定阈值等。
在上述的各个实施例中,备机在执行备份操作的过程中,主机的内存数据库是处于工作状态,当然,主机的内存数据库也可处于非工作状态,无论主机的内存数据库处于何种状态,都不影响本发明的实现。备机的内存数据库根据主机所发送的逻辑日志实时备份自身内存中的数据,并执行备份操作,使主机的内存数据库能够不间断的向外界提供各种数据操作,不受备份操作的影响而中断对外界提供服务,使主机工作效率有较大的提高;当备机的内存数据库在执行备份操作时,由于此时内存数据库处于被锁的状态,无法按照接收的逻辑日志同步内存中的数据,通过第一缓冲器、第二缓冲器存储所接收到的逻辑日志,从而使主机的内存数据库能够不间断对外提供数据操作,并将逻辑日志实时发送至备机,使主、备机的工作效率有较大提高;当备机的两个缓冲器全部存满,主机将内存数据库产生的逻辑日志保存到磁盘上,当备机处理完两个缓冲器中的逻辑日志后,将磁盘上保存的逻辑日志发送给备机,或当主、备机之间通信中断,主机将内存数据库产生的逻辑日志保存到磁盘上,当主、备机之间的通信恢复后,将磁盘上保存的逻辑日志发送给备机。从而保证在出现各种问题后,主机的内存数据库都能不间断的向外界提供数据操作,并将产生的逻辑日志实时发送至备机,使主、备机的性能和工作效率有较大提高。
对于本发明实施例中的方法、装置和系统,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现内存数据备份的方法,其特征在于,包括接收主机内存数据库产生的逻辑日志;按照所述逻辑日志同步备机内存中的数据,对所述内存中的数据执行备份操作。
2.根据权利要求1所述的方法,其特征在于,对所述内存中的数据执行备份操作的过程中,所述主机的内存数据库处于工作状态或非工作状态。
3.根据权利要求1所述的方法,其特征在于,按照所述逻辑日志同步备机内存中的数据,及对所述内存中的数据执行备份操作由备机的内存数据库来执行;备机的内存数据库在执行所述备份操作的过程中,接收到来自所述主机的逻辑日志后,该方法进一步包括备机将接收到的逻辑日志保存在缓冲器中。
4.根据权利要求3所述的方法,其特征在于,所述缓冲器为一个或两个以上。
5.根据权利要求3或4所述的方法,其特征在于,当备机的缓冲器全部存满逻辑日志后,该方法进一步包括所述备机向所述主机发送空间已满通知,所述主机收到空间已满的通知后,将产生的逻辑日志保存到存储设备中;所述备机处理完缓冲器中的逻辑日志后,向所述主机发送同步完成通知,所述主机收到同步完成通知后,将所述存储设备中的逻辑日志发送到所述备机。
6.根据权利要求1所述的方法,其特征在于,任意时刻主、备机之间的通信出现中断,该方法进一步包括主机将产生的逻辑日志保存到存储设备中,当主、备机之间的通信恢复后,将所述存储设备中的逻辑日志发送到备机。
7.根据权利要求1所述的方法,其特征在于,对所述内存中的数据执行备份操作之前,该方法进一步包括判断是否满足预定条件,如果满足,则执行所述备份操作;所述满足预定条件为接收到执行命令、或时间间隔超过预定阈值、或对内存中数据的操作次数超过预定阈值。
8.根据权利要求1所述的方法,其特征在于,所述执行备份操作为执行零级备份操作或脏数据刷新操作。
9.一种实现内存数据备份的装置,其特征在于,所述装置包括接收单元、内存数据库,所述接收单元,用于接收主机内存数据库产生的逻辑日志;所述内存数据库包括同步单元,用于按照所述接收单元接收到的所述逻辑日志同步内存中的数据;备份单元,用于对所述内存中的数据执行备份操作。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括缓冲器,用于在所述备份单元执行备份操作时,存储所述接收单元所收到的逻辑日志。
11.根据权利要求10所述的装置,其特征在于,所述缓冲器为一个或两个以上。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括控制单元,用于在所述备份单元执行完备份操作后,控制所述同步单元按照缓冲器中的逻辑日志同步内存中的数据。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括判断单元,用于判断是否满足预定条件,如果满足,则触发所述备份单元执行所述备份操作。
14.一种实现内存数据备份的系统,其特征在于,包括主机和备机,主机包括内存数据库,用于实现对内存中的数据进行操作;发送单元,用于将内存数据库对内存中数据进行操作后产生的逻辑日志发送至备机;备机包括接收单元、内存数据库,所述接收单元,用于接收所述逻辑日志;所述内存数据库包括同步单元,用于按照所述接收单元接收到的所述逻辑日志同步内存中的数据;备份单元,用于对所述内存中的数据执行备份操作。
15.根据权利要求14所述的系统,其特征在于,所述备机还包括缓冲器,用于在所述备份单元执行备份操作时,存储所述接收单元所收到的逻辑日志。
16.根据权利要求15所述的系统,其特征在于,所述缓冲器为一个或两个以上。
17.根据权利要求15或16所述的系统,其特征在于,所述备机还包括控制单元,用于在所述备份单元执行完备份操作后,控制所述同步单元按照缓冲器中的逻辑日志同步内存中的数据。
18.根据权利要求15或16所述的系统,其特征在于,所述备机还包括通知单元,用于当缓冲器全部存满逻辑日志后,向所述主机发送空间已满通知;当所述同步单元按照缓冲器中的逻辑日志同步完内存中的数据后,向所述主机发送同步完成通知。
19.根据权利要求18所述的系统,其特征在于,所述主机还包括接收控制单元,用于接收到所述空间已满通知后,触发写入单元;当接收到所述同步完成通知后,触发提取单元;所述写入单元,用于在接收触发后,将所述内存数据库对内存中数据进行操作后产生的逻辑日志保存到存储设备中;所述提取单元,用于在接收触发后,将存储设备中保存的所述内存数据库对内存中数据进行操作后产生的逻辑日志传输到所述发送单元;恢复单元,用于当主机、备机之间的通信中断后,触发所述写入单元;当主机、备机之间的通信恢复后,触发所述提取单元。
20.根据权利要求14所述的系统,其特征在于,所述备机还包括判断单元,用于判断是否满足预定条件,如果满足,则触发所述备份单元执行所述备份操作。
全文摘要
本发明公开了一种实现内存数据备份的方法、装置和系统。本发明的方法包括接收主机内存数据库产生的逻辑日志;按照所述逻辑日志同步备机内存中的数据,对所述内存中的数据执行备份操作。本发明还公开了一种实现内存数据备份的装置,包括接收单元、内存数据库,内存数据库包括同步单元,备份单元。发明公开了一种实现内存数据备份的系统。本发明的方法、装置和系统能够保证主机的内存数据库实时向外界提供数据操作,不受备份操作的影响而产生中断,使主机的工作性能和效率有较大提高。
文档编号G06F17/30GK101034364SQ200710090770
公开日2007年9月12日 申请日期2007年4月2日 优先权日2007年4月2日
发明者唐硕 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1