一种内存数据库的容灾方法、备用服务器及系统技术方案

技术编号:5043110 阅读:301 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例涉及存储领域,公开了一种内存数据库的容灾方法、备用服务器及系统,该方法包括:接收主用服务器发送的携带了操作地址以及修改数据的重做日志;解析上述重做日志,获得上述操作地址以及修改数据;判断上述操作地址对应的页面是否在本地内存数据库中,若否,从上述磁盘中获取上述操作地址对应的页面,并加载到本地内存数据库中;将上述修改数据同步到上述操作地址对应的页面。本发明专利技术实施例不仅可以降低内存数据库的容灾成本,还可以减少备用服务器内存的占用,达到内存数据库的N+1容灾的目的。

【技术实现步骤摘要】

本发 明涉及存储领域,尤其涉及一种内存数据库的容灾方法、备用服务器及系统
技术介绍
内存数据库(Main Memory Database, MMDB)的容灾是指,将主用服务器的内存数 据库的数据每天或实时进行动态备份,并存储在远离主用服务器的备用服务器的内存数据 库中,当主用服务器因为发生地震、或火灾、或水灾、或战争而导致内存数据库毁坏时,可以 从备用服务器中进行数据恢复。内存数据库的容灾有两种方案,一种是1+1容灾方案,即一个备用服务器对应一 个主用服务器,其中,备用服务器和主用服务器中各有一套对等的内存数据库,当主用服务 器的内存数据库发生修改时,以重做日志的形式将修改数据同步到备用服务器,备用服务 器接收并解析重做日志获得操作地址ID以及修改数据后,将修改数据同步到该地址ID中。 另一种是N+1容灾方案,即一个备用服务器对应多个主用服务器,其中,备用服务器的内存 数据库大小等于对应的多个主用服务器的内存数据库大小之和,并且备用服务器用于为每 个主用服务器的内存数据库提供容灾服务的内存数据库区域互不相同。N+1容灾方案的实 现过程与1+1容灾方案的实现过程相似。专利技术人发现,上述的1+1容灾方案中,当主用服务器的数量增加时,需要相应地增 加备用服务器的数量,加大了容灾成本的投入;上述的N+1容灾方案中,当主用服务器数量 增加时,需要相应地增大备用服务器的内存,由于备用服务器的内存是有限的,如果主用服 务器的数量增加较多,备用服务器的内存可能无法满足容灾需求。
技术实现思路
本专利技术实施例提供了一种内存数据库的容灾方法、备用服务器及系统,不仅可以 降低内存数据库的容灾成本,还可以减少备用服务器内存的占用,达到内存数据库的N+1 容灾的目的。为了解决上述技术问题,本专利技术实施例提供如下技术方案本专利技术实施例提供了一种内存数据库的容灾方法,包括接收主用服务器发送的携带了操作地址以及修改数据的重做日志;解析所述重做日志,获得所述操作地址以及修改数据;判断所述操作地址对应的页面是否在本地内存数据库,若否,从磁盘中获取所述 操作地址对应的页面,并加载到本地内存数据库;将所述修改数据同步到所述操作地址对应的页面中。本专利技术实施例提供了一种备用服务器,包括接收模块,用于接收主用服务器发送的携带了操作地址以及修改数据的重做日 志;解析模块,用于解析所述接收模块接收的重做日志,获得所述操作地址以及修改数据; 第一判断模块,用于判断所述操作地址对应的页面是否在本地内存数据库;加载模块,用于在所述第一判断模块的判断结果为否时,从磁盘中获取所述操作 地址对应的页面,并加载到本地内存数据库;同步模块,用于将所述修改数据同步到所述操作地址对应的页面中。本专利技术实施例还提供了一种内存数据库的容灾系统,包括备用服务器和至少一个 主用服务器,所述备用服务器和主用服务器之间以可通信方式相连;所述主用服务器,用于向备用服务器发送携带了操作地址以及修改数据的重做日 志;所述备用服务器,用于接收所述主用服务器发送的携带了操作地址以及修改数据 的重做日志;解析所述重做日志,获得所述操作地址以及修改数据;判断所述操作地址对 应的页面是否在本地内存数据库中,若否,从磁盘中获取所述操作地址对应的页面,并加载 到本地内存数据库;将所述修改数据同步到所述操作地址对应的页面中。从以上技术方案可以看出,本专利技术实施例具有以下优点本专利技术实施例中,通过使用磁盘作为辅助存储介质,可以将主用服务器的内存数 据库中大部分数据存储到磁盘内,仅将主用服务器的内存数据库中临时发生变化的数据存 储在备用服务器的内存数据库中,这样可以减少对备用服务器内存的占用,达到内存数据 库的N+1容灾的目的;另外,本专利技术实施例以磁盘作为辅助存储介质,无需为每个主用服务 器配置一个备用服务器,从而可以降低内存数据库的容灾成本。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领 域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附 图。图1为本专利技术实施例中提供的一种内存数据库的容灾方法流程图;图2为本专利技术实施例中提供的一种获取操作地址对应页面的方法流程图;图3为本专利技术实施例中提供的又一种内存数据库的容灾方法流程图;图4为本专利技术实施例中提供的另一种内存数据库的容灾方法流程图;图5为本专利技术实施例中提供的一种从磁盘中加载页面的方法流程图;图6为本专利技术实施例中提供的一种备用服务器的结构示意图;图7为本专利技术实施例中提供的另一种备用服务器的结构示意图;图8为本专利技术实施例中提供的另一种备用服务器的结构示意图;图9为本专利技术实施例中提供的另一种备用服务器的结构示意图;图10为本专利技术实施例中提供的一种内存数据库的容灾系统的结构图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。请参阅图1,图1为本专利技术实施例中提供的一种内存数据库的容灾方法的流程示 意图。如图1所示,该方法可以包括步骤101、接收主用服务器发送的携带了操作地址以及修改数据的重做日志;举例来说,备用服务器可以通过同步传输方式或异步传输方式或其他传输方式来 接收主用服务器发送重做日志,该重做日志携带了操作地址以及修改数据。进一步地,为了防止接收的主用服务器发送的重做日志发生丢失,备用服务器可 以将接收的主用服务器发送的重做日志写入日志文件中,这样即使接收的主用服务器发送 的重做日志发生丢失,也可以从日志文件中提取出来。 102、解析上述重做日志,获得上述操作地址以及修改数据;103、判断上述操作地址对应的页面是否在本地内存数据库,若否,从磁盘中获取 上述操作地址对应的页面,并加载到本地内存数据库中;其中,内存数据库中的数据是以页面的形式进行存储的,一个内存数据库可以包 含若干个页面。在主用服务器中,工作需要的所有的数据都保存在主用服务器的内存数据 库中,例如包括内存数据库的管理数据、表记录数据、临时表记录数据以及索引数据。在本专利技术实施例中,备用服务器中只保存部分内容在内存,例如,本地内存数据库 只保存内存数据库的管理数据、索引数据以及部分表记录数据,将大部分表记录数据存储 到磁盘中,从而减少对本地内容数据库的占用。举例来说,上述的从磁盘中获取上述操作地址对应的页面,并加载到本地内存数 据库可以采用图2所示的方法。图2为本专利技术实施例中提供的一种获取操作地址对应页面 的方法流程图。如图2所示,该方法可以包括步骤201、向页面交换进程发送携带了上述操作地址的缺页请求;202、接收页面交换进程从磁盘中读取并发送的上述操作地址对应的页面;203、将上述操作地址对应的页面加载到本地内存数据库。如果上述操作地址对应的页面不在本地内存数据库时,可以通过向页面交换进程 发送缺页请求,由页面交换进程从磁盘中获取上述操作地址对应的页面,或者采用其他方 式从磁盘中获取上述操作地址对应的页面,本专利技术实施例在此不作限本文档来自技高网...

【技术保护点】
一种内存数据库的容灾方法,其特征在于,包括:接收主用服务器发送的携带了操作地址以及修改数据的重做日志;解析所述重做日志,获得所述操作地址以及修改数据;判断所述操作地址对应的页面是否在本地内存数据库,若否,从磁盘中获取所述操作地址对应的页面,并加载到本地内存数据库;将所述修改数据同步到所述操作地址对应的页面中。

【技术特征摘要】

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

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

1