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

技术编号:2838556 阅读:189 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现内存数据备份的方法、装置和系统。本发明专利技术的方法包括:接收主机内存数据库产生的逻辑日志;按照所述逻辑日志同步备机内存中的数据,对所述内存中的数据执行备份操作。本发明专利技术还公开了一种实现内存数据备份的装置,包括:接收单元、内存数据库,内存数据库包括:同步单元,备份单元。发明专利技术公开了一种实现内存数据备份的系统。本发明专利技术的方法、装置和系统能够保证主机的内存数据库实时向外界提供数据操作,不受备份操作的影响而产生中断,使主机的工作性能和效率有较大提高。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是指一种实现内存数据备份的方法、装置和系统
技术介绍
在通信
,对于网络的运营商而言,计费系统是网络中重要的组成部分,对计费系统的实时性能要求非常高;计费系统能否正常运行,即计费系统的安全性关系到网路中所有用户的利益。因此,为能够实现计费系统的实时响应,开发出基于内存数据库的计费系统。基于内存数据库的计费系统,能够快速、实时响应外部的命令,对内存数据库中数据的进行各种查询、删除、修改等操作。基于内存数据库的计费系统,由于内存数据库的所有数据都在内存中,只要系统重起或掉电,整个内存中的数据都不复存在。因此,存在安全性的问题。为此,为解决安全性的问题提出解决方案是将静态的数据从存储设备中复制出,放入到内存中,这部分数据是不被修改的。这样能够提高计费系统的部分数据库的查询性能,由于在静态的数据中不能执行修改、删除、插入等操作,而影响数据库的性能主要是修改、删除、插入等这些操作,显然采用静态的数据实现内存数据的备份只保证数据的安全性却导致计费系统性能的下降。为能够既保证实现数据安全、又不影响系统性能,目前现有技术采用主、备机的方式,主、备机之间采用热备份。主机内存数据库中数据产生的变动都会实时同步到备机的内存数据库中。这样,如果主机出现故障,故障前的数据变动存储在备机的内存数据库中不会丢失。由于考虑到主、备机还可能存在同时宕机的问题,主机必须将命令操作及数据变动记录到磁盘,通过零级备份、脏数据刷新(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收到逻辑日志后,将逻辑日志在磁盘中保存。步骤S20本文档来自技高网
...

【技术保护点】
一种实现内存数据备份的方法,其特征在于,包括:接收主机内存数据库产生的逻辑日志;按照所述逻辑日志同步备机内存中的数据,对所述内存中的数据执行备份操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:唐硕
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1