分布式数据库数据同步方法、相关装置及系统制造方法及图纸

技术编号:17162164 阅读:33 留言:0更新日期:2018-02-01 20:25
本发明专利技术提供的数据同步方法中,源数据节点可以正常处理应用客户端发送的数据操作指令,并生成数据复制日志发送到目的数据节点。目的数据节点在进行升级时,可以接收源数据节点发送的数据复制日志。在源数据节点的版本高于自身的版本时,先缓存该数据复制日志,在自身进行版本升级完成后,再根据缓存的复制日志进行数据复制,完成源数据节点和目的数据节点之间的同步。与现有技术相比,本发明专利技术实施例提供的升级方法使得源数据节点和目的数据节点在升级的同时,都可以处理应用客户端发送的数据操作命令,提高了分布式数据库的可靠性。

Data synchronization method, related device and system for distributed database

In the data synchronization method provided by the invention, the source data node can normally process the data operation instructions sent by the application client, and generate the data replication log to be sent to the destination data node. The destination data node can receive the data copy log sent by the source data node when the data node is upgraded. When the version of the source data node is higher than its version, the data replication log is first cached. After the version upgrade is completed, data replication is done according to the replication log of the cache, and the synchronization between the source data node and the destination data node is completed. Compared with the existing technology, the upgrading method provided by the embodiment of the invention enables the source data node and the destination data node to process data operation commands sent by the application client while upgrading, and improves the reliability of the distributed database.

【技术实现步骤摘要】
分布式数据库数据同步方法、相关装置及系统
本专利技术涉及数据库
,具体而言涉及一种分布式数据库数据同步方法、相关装置及系统。
技术介绍
近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式向分布式发展。分布式数据库具体指利用高速计算机网络将物理上分散的多个数据存储节点连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。现有技术提供了一种分布式数据库,如图1所示,数据节点1和数据节点2上存储了相同的数据,数据节点1和数据节点2均处于运行(Active)状态。数据操作指令可以发送到数据节点1或数据节点2进行执行,一个数据节点执行数据操作指令后,将执行结果通过复制日志的形式同步到另一数据节点,另一数据节点根据复制日志进行数据复制,从而实现数据节点1和2之间的数据同步。但是,分布式数据库在数据同步的过程中,存在需要对数据库进行升级的场景,例如对数据库中的数据模型增加字段、删除字段。现有技术提供了一种基于数据节点的数据同步方法,下面以数据节点2升级来介绍该方法,该方法主要包括如下步骤:S1、节点1暂停处理应用客户端发送的数据操作命令以及节点1和节点2之间暂停数据复制日志的传输。S2、节点2接收升级指令,执行版本升级操作,然后节点2接收应用客户端发送的数据操作命令并执行,记录数据复制日志。S3、节点2在升级完成后,将升级指令和数据复制日志发送给节点1,节点1接收节点2发送的数据复制日志和升级命令。S4、节点1先根据升级指令进行版本升级,然后再根据复制日志进行数据复制,在复制完成后,开始正常接收应用客户端发送的数据操作指令,并恢复节点1和节点2之间正常的数据同步。现有技术的数据同步方法在数据库进行升级时,数据节点1不能处理应用客户端发送的数据操作命令,只有数据节点2能处理应用客户端发送的数据操作命令,降低了分布式数据库的可靠性。
技术实现思路
本专利技术实施例提供了一种提高分布式数据库可靠性的数据同步方法和装置。在一方面,本专利技术实施例提供一种分布式数据库数据同步方法,应用于所述分布式数据库中的目的数据节点,所述目的数据节点在执行应用客户端发送的数据操作指令时,还包括:接收源数据节点发送的数据复制日志,所述复制日志中携带需要同步到所述目的节点的数据;获取所述源数据节点的版本,确定所述源数据节点的版本高于自身的版本时,缓存所述复制日志;接收元数据服务器发送的升级指令,所述升级指令用于指示所述目的数据节点进行版本升级;根据所述升级指令进行升级,在升级完成后,根据所述缓存的复制日志进行数据复制。其中,升级指令中携带修改目的数据节点的数据模型的字段或增加数据模型的字段的指令。在本实施例中,源数据节点可以正常处理应用客户端发送的数据操作指令,并生成数据复制日志发送到目的数据节点。目的数据节点在进行升级时,可以接收源数据节点发送的数据复制日志。在源数据节点的版本高于自身的版本时,先缓存该数据复制日志,在自身进行版本升级完成后,再根据缓存的复制日志进行数据复制,完成源数据节点和目的数据节点之间的同步。与现有技术相比,本专利技术实施例提供的升级方法使得源数据节点和目的数据节点在升级的同时,都可以处理应用客户端发送的数据操作命令,提高了分布式数据库的可靠性。结合第一方面,在一个可能的实施方案中,目的数据节点获取源数据节点的版本具体包括:根据所述数据复制日志获取所述源数据节点的版本,所述数据复制日志中携带所述源数据节点的版本;或者接收所述源数据节点发送的通知消息,所述通知消息中携带所述源数据节点的版本,根据所述通知消息获取所述源数据节点的版本。结合第一方面,在一个可能的实施方案中,所述方法还包括:目的数据节点在执行所述数据操作指令时,生成数据复制日志,所述数据复制日志中携带需要同步到与所述目的数据节点对应的数据节点的数据;向所述源数据节点发送所述数据复制日志,从而实现由目的数据节点到源数据节点之间的数据同步。结合第一方面,在一个可能的实施方案中,所述目的数据节点还在确定所述源数据节点的版本低于自身的版本时,则说明其自身可以处理源数据节点发送的复制日志,数据节点则根据所述复制日志进行数据复制,从而实现低版本到高版本的数据同步。结合第一方面,在一个可能的实施方案中,目的数据节点向源数据节点发送所述数据复制日志具体包括:将所述复制日志放到本机发送队列发送给所述源数据节点。相对于同步的方式(同步方式要求对端对复制日志处理完毕,同步才结束)传递复制日志,可以提高数据库系统的可用性。第二方面,本专利技术实施例提供一种分布式数据库的目的数据节点,其包括:数据操作指令处理单元,用于执行应用客户端发送的数据操作指令;接收单元,用于接收源数据节点发送的数据复制日志,所述复制日志中携带需要同步到所述目的节点的数据;日志缓存单元,获取所述源数据节点的版本,确定所述源数据节点的版本高于自身的版本时,缓存所述复制日志;所述接收单元还用于接收元数据服务器发送的升级指令,所述升级指令用于指示所述目的数据节点进行版本升级;升级单元,用于根据所述升级指令进行升级;日志同步单元,用于在升级完成后,根据所述缓存的复制日志进行数据复制。结合第二方面,在一种可能的实施方案中,日志缓存单元获取源数据节点的版本包括:所述日志缓存单元根据所述数据复制日志获取所述源数据节点的版本,所述数据复制日志中携带所述源数据节点的版本;或者所述日志缓存单元接收所述源数据节点发送的通知消息,所述通知消息中携带所述源数据节点的版本,根据所述通知消息获取所述源数据节点的版本。结合第二方面,在一种可能的实施方案中,所述目的数据节点还包括:日志生成单元,用于在执行所述数据操作指令时,生成数据复制日志,所述数据复制日志中携带需要同步到与所述目的数据节点对应的数据节点的数据;发送单元,用于向所述源数据节点发送所述数据复制日志。结合第二方面,在一种可能的实施方案中,目的数据节点的日志同步单元还用于在确定所述源数据节点的版本低于自身的版本时,根据所述复制日志进行数据复制。结合第二方面,在一种可能的实施方案中,目的数据节点的发送单元向源数据节点发送所述数据复制日志具体包括:所述发送单元将所述复制日志放到本机发送队列发送给所述源数据节点。第三方面,本专利技术实施例提供一种分布式数据库数据同步方法,应用于所述分布式数据库中的目的数据节点,其中,目的数据节点在执行应用客户端发送的数据操作指令时,还包括:接收所述元数据服务器发送的升级预通知指令,所述升级预通知指令中携带需要删除的表项;接收源数据节点发送的数据复制日志,所述数据复制日志中携带需要同步到所述目的节点的数据;确定所述复制日志中包含所述要删除的表项对应的数据时,则在根据所述复制日志进行数据复制时过滤所述要删除的表项对应的数据,对所述目的数据节点中已经存在的表项按照缺省值进行处理,从而实现源数据节点和目的数据节点之间的数据同步。结合第三方面,在一种可能的实施方案中,所述方法还包括:接收元数据服务器发送的升级指令,所述升级指令用于删除所述数据节点的表项,根据所述升级指令删除所述数据节点的表项。在本实施方案中,由于预先本文档来自技高网
...
分布式数据库数据同步方法、相关装置及系统

【技术保护点】
一种分布式数据库数据同步方法,应用于所述分布式数据库中的目的数据节点,其特征在于,所述目的数据节点在执行应用客户端发送的数据操作指令时,还包括:接收源数据节点发送的数据复制日志,所述复制日志中携带需要同步到所述目的节点的数据;获取所述源数据节点的版本,确定所述源数据节点的版本高于自身的版本时,缓存所述复制日志;接收元数据服务器发送的升级指令,所述升级指令用于指示所述目的数据节点进行版本升级;根据所述升级指令进行升级,在升级完成后,根据所述缓存的复制日志进行数据复制。

【技术特征摘要】
1.一种分布式数据库数据同步方法,应用于所述分布式数据库中的目的数据节点,其特征在于,所述目的数据节点在执行应用客户端发送的数据操作指令时,还包括:接收源数据节点发送的数据复制日志,所述复制日志中携带需要同步到所述目的节点的数据;获取所述源数据节点的版本,确定所述源数据节点的版本高于自身的版本时,缓存所述复制日志;接收元数据服务器发送的升级指令,所述升级指令用于指示所述目的数据节点进行版本升级;根据所述升级指令进行升级,在升级完成后,根据所述缓存的复制日志进行数据复制。2.根据权利要求1所述的方法,其特征在于,所述获取源数据节点的版本包括:根据所述数据复制日志获取所述源数据节点的版本,所述数据复制日志中携带所述源数据节点的版本;或者接收所述源数据节点发送的通知消息,所述通知消息中携带所述源数据节点的版本,根据所述通知消息获取所述源数据节点的版本。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:【数据日志同步到源数据节点】在执行所述数据操作指令时,生成数据复制日志,所述数据复制日志中携带需要同步到与所述目的数据节点对应的数据节点的数据;向所述源数据节点发送所述数据复制日志。4.根据权利要求1所述的方法,其特征在于,还包括:【源节点版本低】确定所述源数据节点的版本低于自身的版本时,根据所述复制日志进行数据复制。5.根据权利要求3所述的方法,其特征在于,所述向源数据节点发送所述数据复制日志具体包括:将所述复制日志放到本机发送队列发送给所述源数据节点。6.一种分布式数据库的目的数据节点,其特征在于,包括:数据操作指令处理单元...

【专利技术属性】
技术研发人员:陶维忠吴刚
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1