一种数据库集群节点间数据同步的方法及装置制造方法及图纸

技术编号:14487727 阅读:63 留言:0更新日期:2017-01-28 19:40
本发明专利技术提供了一种数据库集群节点间数据同步的方法及装置,其中,所述方法包括:从元数据服务器获取需要同步的表的信息;检查锁队列,确认是否包括删除所述表的锁;如果所述锁队列中不包括所述表的删除信息,则进行数据同步。可以在对表进行修改之前将表删除,减少数据交换同步,避免浪费时间和系统资源。高效的完成数据库同步。

【技术实现步骤摘要】

本专利技术属于数据库集群领域,尤其是涉及一种数据库集群节点间数据同步的方法及装置
技术介绍
数据库集群使用中,用户需要经常进行建表,计算,删表这样的操作。在删表前,如果数据库集群某节点上的表发生了损坏,需要对这个数据库节点上的表进行同步。目前可以采用如下方法进行同步:在被同步的表上加锁,等待同步完成后,删表操作才能进行。如果同步时用户已经做完了计算,需要删除这个表,那么用户要等到同步完被删除的表之后才能对该表进行删除,这样就会浪费了大量时间和系统资源。
技术实现思路
本专利技术实施例提供了一种数据库集群节点间数据同步的方法及装置,用于解决上述存在的技术问题。一方面,本专利技术实施例提供了一种数据库集群节点间数据同步的方法,包括:从元数据服务器获取需要同步的表的信息;检查锁队列,确认是否包括删除所述表的锁;如果所述锁队列中不包括所述表的删除信息,则进行数据同步。进一步的,所述方法还包括:如果所述锁队列不包括所述表的删除信息,则放弃进行数据同步。进一步的,在进行数据同步之后,还包括:确认数据同步是否成功,如果不成功,则将所述表的名称和失败对应的节点写入元数据服务器,生成损坏信息;添加删除锁到锁队列中;在删除所述表成功后,删除所述删除锁;更进一步的,在进行数据同步之后,还包括:删除所述表在元数据服务器中的损坏信息。另一方面,本专利技术实施例还提供了一种数据库集群节点间数据同步的装置,包括:信息获取单元,用于从元数据服务器获取需要同步的表的信息;锁检查单元,用于检查锁队列,确认是否包括删除所述表的锁;同步单元,用于如果所述锁队列中不包括所述表的删除信息,则进行数据同步。进一步的,所述装置还包括:放弃单元,用于如果所述锁队列包括所述表的删除信息,则放弃进行数据同步。进一步的,所述装置还包括:写入单元,用于确认数据同步是否成功,如果不成功,则将所述表的名称和失败对应的节点写入元数据服务器,生成损坏信息;添加单元,用于添加删除锁到锁队列中;锁删除单元,用于在删除所述表成功后,删除所述删除锁。进一步的,所述装置还包括:损坏信息删除单元,用于删除所述表在元数据服务器中的损坏信息。本专利技术实施例通过从元数据服务器获取需要同步的表的信息;查锁队列,确认是否包括删除所述表的锁;如果所述锁队列中不包括所述表的删除信息,则进行数据同步。可以在对表进行修改之前将表删除,减少数据交换同步,避免浪费时间和系统资源。高效的完成数据库同步。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的数据库集群节点间数据同步的方法的流程示意图;图2是本专利技术实施例二提供的数据库集群节点间数据同步的方法的流程示意图;图3是本专利技术实施例三提供的数据库集群节点间数据同步的方法的流程示意图;图4是本专利技术实施例四提供的分数据库集群节点间数据同步装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1是本专利技术实施例一提供的数据库集群节点间数据同步的方法的流程示意图。本实施例可适用于数据库集群节点间数据同步的情况,该方法可以由数据库集群节点间数据同步装置来执行,该装置可由软件/硬件方式实现,并可集成于数据库集群节点中。参见图1,所述分布式数据库数据备份分片部署方法,包括:S110,从元数据服务器获取需要同步的表的信息。任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等等。系统中有一个节点专门司职元数据管理,所有元数据都存储在该节点的存储设备上。所有客户端对文件的请求前,都要先对该元数据管理器请求元数据。从元数据服务器可以获取需要进行同步的表的信息。示例性的,包括同步表的存放位置。S120,检查锁队列,确认是否包括删除所述表的锁。在数据库集群中包括锁队列管理器,锁队列管理器用来处理数据库的SQL的加锁请求,将请求排队存储,并向同步工具提供查询接口。数据库执行数据改变操作时,如果有部分数据库节点上失败,且失败节点上对应的数据的副本在其他节点上执行成功,将失败信息(表名,数据库节点名)记录到元数据服务器。数据库执行删除表操作,同时将删除锁加入到锁队列管理器。通过对锁队列管理器的查询,可以确定是否包括删除所述表的锁。S130,如果所述锁队列中不包括所述表的删除信息,则进行数据同步。如果所述锁队列中不包括所述表的删除信息,则说明该表并未损坏,则可以采用同步工具对所述表进行数据同步。本专利技术实施例通过从元数据服务器获取需要同步的表的信息;查锁队列,确认是否包括删除所述表的锁;如果所述锁队列中不包括所述表的删除信息,则进行数据同步。可以在对表进行修改之前将表删除,减少数据交换同步,避免浪费时间和系统资源。高效的完成数据库同步。在本实施例的一个优选实施方式中,所述方法还包括:如果所述锁队列包括所述表的删除信息,则放弃进行数据同步。如果所述锁队列中包括所述表的删除信息,则说明该表已经损坏,无需采用同步工具对所述表进行数据同步。或在同步一批数据时终止同步,避免浪费时间和系统资源。实施例二图2是本专利技术实施例二提供的数据库集群节点间数据同步的方法的流程示意图,本专利技术实施例以上述实施例为基础,进一步的,在进行数据同步之后增加如下步骤:确认数据同步是否成功,如果不成功,则将所述表的名称和失败对应的节点写入元数据服务器,生成损坏信息;添加删除锁到锁队列中;在删除所述表成功后,删除所述删除锁。参见图2,所述的数据库集群节点间数据同步的方法,包括:S210,从元数据服务器获取需要同步的表的信息。S220,检查锁队列,确认是否包括删除所述表的锁。S230,如果所述锁队列中不包括所述表的删除信息,则进行数据同步。S240,确认数据同步是否成功,如果不成功,则将所述表的名称和失败对应的节点写入元数据服务器,生成损坏信息。数据库用来接受SQL请求,请求执行过程中如果某个节点上的表损坏,数据库将损坏的表名、数据库节点名记录到元数据服务器中。S250,添加删除锁到锁队列中。由于表已经损坏,则可以将表删除,数据库执行删除表操作,同时将删除锁加入到锁队列管理器。S260,在删除所述表成功后,删除所述删除锁。如果成功删除表,通知元数据服务器,删除元数据中对应的表损坏信息,并通知锁队列服务器,删除锁队列中的这个表的删除锁。本实施例通过在进行数据同步之后增加如下步骤:确认数据同步是否成功,如果不成功,则将所述表的名称和失败对应的节点写入元数据服务器,生成损坏信息;添加删除锁到锁队列中;在删除所述表成功后,删除所述删除锁。可以对同步不成功的表进行删除,以避免后期再次进行同步,浪费时间和系统资源。实施例三图3是本专利技术实施例三提供的数据库集群节点间数据同步的本文档来自技高网...
一种数据库集群节点间数据同步的方法及装置

【技术保护点】
一种数据库集群节点间数据同步的方法,其特征在于,包括:从元数据服务器获取需要同步的表的信息;检查锁队列,确认是否包括删除所述表的锁;如果所述锁队列中不包括所述表的删除信息,则进行数据同步。

【技术特征摘要】
1.一种数据库集群节点间数据同步的方法,其特征在于,包括:从元数据服务器获取需要同步的表的信息;检查锁队列,确认是否包括删除所述表的锁;如果所述锁队列中不包括所述表的删除信息,则进行数据同步。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述锁队列包括所述表的删除信息,则放弃进行数据同步。3.根据权利要求1所述的方法,其特征在于,在进行数据同步之后,还包括:确认数据同步是否成功,如果不成功,则将所述表的名称和失败对应的节点写入元数据服务器,生成损坏信息;添加删除锁到锁队列中;在删除所述表成功后,删除所述删除锁。4.根据权利要求1所述的方法,其特征在于,在进行数据同步之后,还包括:删除所述表在元数据服务器中的损坏信息。5.一种数据库集群节点间数据同步的装置,其特征在于,...

【专利技术属性】
技术研发人员:崔维力武新张灵
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

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

1