一种分布式数据库的管理方法和系统技术方案

技术编号:8105813 阅读:165 留言:0更新日期:2012-12-21 04:42
本申请提供了一种分布式数据库的管理方法和系统,以解决数据库的管理过程复杂,访问效率低下的问题。其中,所述方法包括:将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。本申请简化了数据库的管理,提高了访问效率。

【技术实现步骤摘要】

本申请涉及数据库
,特别是涉及一种分布式数据库的管理方法和系统
技术介绍
在通信系统中,由于需要对大量的数据进行处理,因此对数据库访问的实时性和访问效率要求比较高。目前的数据库从数据库存储方式分为内存数据库和磁盘数据库。其中,内存数据库用于将数据库的所有数据和索引存储在内存中,数据库的访问和操作基于内存进行。磁盘数据库用于将数据库的所有数据和索引存储在文件中,数据库访问和操作基于文件进行。为了提高访问的实时性和访问效率,在通信系统中通常会采用内存数据库。但是由于存储在内存数据库中的数据在系统掉电后会丢失,因此对于其中一些重要的数据还需 要永久存储,例如,在通信中需要对配置信息或者重要的计费信息等进行存盘,此时就要求数据库同时具备内存数据库和磁盘数据库的特点。针对上述情况,目前常用的一种方法是在访问内存数据库时将需要永久存储的数据写入磁盘文件,系统启动时再将数据从磁盘文件加载到内存中。但是该方法需要针对内存数据库设计对应的磁盘文件格式,设计过程复杂,并且磁盘的操作性能不高,从而导致数据库的管理过程复杂,数据库的访问效率低下。
技术实现思路
本申请所要解决的技术问题是提供一种分布式数据库的管理方法和系统,以解决数据库的管理过程复杂,访问效率低下的问题。为了解决上述问题,本申请公开了一种分布式数据库的管理方法,包括将第一数据库的访问接口和第二数据库的访问接口封装为统一接口 ;为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同止/J/ O 优选的,所述第一数据库为内存数据库,所述第二数据库为物理数据库。优选的,所述依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步的步骤包括通过查找源节点的节点注册信息来确定与源节点同步的目标节点;完成所述源节点的数据库向目标节点的数据库的数据同步。优选的,每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;所述完成所述源节点的数据库向目标节点的数据库的数据同步的步骤包括源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。优选的,所述源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步的步骤包括源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点; 所述目标节点在接收到所述同步数据块后,该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;所述目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;所述目标节点依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库的数据同步。优选的,在源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,还包括通过查找目标节点的节点注册信息来确定向该目标节点同步的源节点;目标节点发送数据同步请求至所述源节点。优选的,所述方法还包括将所述目标节点作为源节点,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。优选的,在为节点创建数据库之后,还包括针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名;为每个数据表分配一个句柄,所述句柄和所述数据表名的下标一一对应;查找与所述句柄相对应的数据表名,访问所述数据表名对应的数组中登记的数据表的结构信息。优选的,所述方法还包括每个应用对应一个应用标识,针对每个应用标识注册与其相匹配的数据表;当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识;该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。另一方面,本申请还公开了一种分布式数据库的管理系统,所述管理系统应用于分布式节点,所述管理系统包括封装模块,用于将第一数据库的访问接口和第二数据库的访问接口封装为统一接Π ;其中,每个分布式节点包括第一创建模块、登记模块和同步模块,第一创建模块,用于为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;登记模块,用于在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点; 源节点上的同步模块和目标节点上的同步模块用于依据所述数据同步信息完成第一节点的数据库与第二节点的数据库之间的数据同步。优选的,每个节点上的同步模块包括第一查找单元,用于当所述节点为源节点时,通过查找该源节点的节点注册信息来确定与源节点同步的目标节点;源节点上的同步模块和目标节点上的同步模块用于完成源节点的数据库向目标节点的数据库的数据同步。优选的,每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;所述源节点上的同步模块和目标节点上的同步模块还用于通过源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。优选的,每个节点上的同步模块还包括第一存储单元,用于当所述节点为源节点时,通过该源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;第一获取单元,用于当所述节点为源节点时,通过该源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点;第二存储单元,用于当所述节点为目标节点时,在接收到所述同步数据块后,通过该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;第二获取单元,用于当所述节点为目标节点时,通过该目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;更新单元,用于当所述节点为目标节点时,依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库之间的数据同步。优选的,每个节点上的同步模块还包括第二查找单元,用于当所述节点为目标节点时,在第一存储单元通过源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,通过查找该目标节点的节点注册信息来确定向该目标节点同步的源节点;发送单元,用于当所述节点为目标节点时,发送数据同步请求至所述源节点。优选的,所述第一查找单元还用于当将所述目标节点作为源节点时,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;所述该节点上的同步模块和所述其他节点上的同步模块用于完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。优选的,所述每个分布式节点还包括第二创建模块,用于在为节点创建数据库之后,针对每个数据库创本文档来自技高网...

【技术保护点】
一种分布式数据库的管理方法,其特征在于,包括:将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。

【技术特征摘要】

【专利技术属性】
技术研发人员:林秋利
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:

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

1