首页 / 专利库 / 资料储存系统 / 根哈希 / 分布式数据库同步方法和系统

分布式数据库同步方法和系统

阅读:1023发布:2020-12-27

专利汇可以提供分布式数据库同步方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了分布式 数据库 同步方法和系统,布式数据库包括主 服务器 集群和备份服务器集群,主服务器集群包括第一主 节点 和第二主节点,备份服务器集群包括第一备份节点和第二备份节点;所述方法包括:生成主服务器集群哈希树和备份服务器集群哈希树;确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树;确定第二主节点中需同步的数据单元和第二备份节点需同步的数据单元;进行数据同步。由于本发明中,在确定需同步数据单元时可以在各个节点分别完成,所以可以实现多个节点分别同步确定需同步数据单元,从而节省执行数据一致性检查时所需的时间,进而提高数据同步效率。,下面是分布式数据库同步方法和系统专利的具体信息内容。

1.一种分布式数据库同步方法,其特征在于,分布式数据库包括主服务器集群和备份服务器集群,主服务器集群中主节点包括一个或多个区间,备份服务器集群中备份节点包括一个或多个区间,主服务器集群中每个区间在备份服务器集群中都对应一个区间,主服务器集群包括第一主节点和第二主节点,备份服务器集群包括第一备份节点和第二备份节点,所述方法包括:
第一主节点获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中所述区间哈希值为叶节点的主服务器集群哈希树;其中,主节点的区间哈希树为主节点以区间中的数据单元为叶节点构造的哈希树;
第一备份节点获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,备份节点的区间哈希树为备份节点以区间中的数据单元为叶节点构造的哈希树;
第一主节点通过比较主服务器集群哈希树和备份服务器集群哈希树,确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树;
第二主节点通过比较第二主节点的区间哈希树和第二备份节点的区间哈希树,确定第二主节点中需同步的数据单元和第二备份节点需同步的数据单元;
第二主节点根据第二主节点中需同步的数据单元和第二备份节点中需同步的数据单元进行数据同步。
2.根据权利要求1所述分布式数据库同步方法,其特征在于,所述以区间中的数据单元为叶节点构造的哈希树,具体包括:
根据数据单元信息和区间信息为每个区间构造以数据单元为叶节点的树结构;
根据哈希模型,计算所述树结构每个叶节点的哈希值,以生成所述区间哈希树;
为每个区间哈希树加入对应的区间标识。
3.根据权利要求2所述分布式数据库同步系统,其特征在于,所述主服务器集群中每个区间在备份服务器中都对应一个区间,具体的包括:
分别为所述主服务器集群中每个区间和所述备份服务器中每个区间设有区间标识;
将所述主服务器集群中每个区间的区间标识和对应的备份服务器中区间的区间标识加以关联。
4.根据权利要求3所述分布式数据库同步系统,其特征在于,
所述第一主节点在多个主节点中选举产生;所述第一备份节点在多个备份节点中选举产生。
5.一种分布式数据库同步系统,其特征在于,所述分布式数据库同步系统包括主服务器集群和备份服务器集群,主服务器集群中主节点包括一个或多个区间,备份服务器集群中备份节点包括一个或多个区间,主服务器集群中每个区间在备份服务器集群中都对应一个区间,主服务器集群包括第一主节点和第二主节点,备份服务器集群包括第一备份节点和第二备份节点;
第一主节点包括主服务器集群哈希树生成单元,用于获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中所述区间哈希值为叶节点的主服务器集群哈希树;其中,主节点的区间哈希树为主节点以区间中的数据单元为叶节点构造的哈希树;
第一备份节点包括备份服务器集群哈希树生成单元,用于获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,备份节点的区间哈希树为备份节点以区间中的数据单元为叶节点构造的哈希树;
第一主节点包括区间确定单元,用于通过比较主服务器集群哈希树和备份服务器集群哈希树,确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树;
第二主节点包括数据确定单元,用于通过比较第二主节点的区间哈希树和第二备份节点的区间哈希树,确定第二主节点中需同步的数据单元和第二备份节点需同步的数据单元;
第二主节点包括同步单元,用于根据第二主节点中需同步的数据单元和第二备份节点中需同步的数据单元进行数据同步。
6.根据权利要求5所述分布式数据库同步系统,其特征在于,所述主服务器集群哈希树生成单元和所述备份服务器集群哈希树生成单元均包括区间哈希树生成模,所述区间哈希树生成模块包括:
树生成器,用于根据数据管理单元的数据单元信息和区间管理单元的区间信息为每个区间构造以数据单元为叶节点的树结构;
哈希值生成器,用于根据哈希模型,计算所述树结构每个叶节点的哈希值,以生成所述区间哈希树;
区间标识单元,用于为每个区间哈希树加入区间标识。
7.根据权利要求6所述分布式数据库同步系统,其特征在于,所述主服务器集群和所述备份服务器集群均包括:
选举单元,用于在多个所述主节点中确定所述第一主节点,或,在多个所述备份节点中确定所述第一备份节点。

说明书全文

分布式数据库同步方法和系统

技术领域

[0001] 本发明涉及数据库领域,更具体地说,涉及分布式数据库同步方法和系统。

背景技术

[0002] 随着计算的兴起,对海量数据存储和管理的需求也在不断地增加。在这样的趋势下,近几年出现了许多面向海量数据管理的大规模分布式数据库,通过利用商用硬件搭建大规模服务器集群来提供海量的数据存储和管理能
[0003] 副本机制作为保证数据库服务的可靠性和可用性的关键技术之一,在各种新兴的大规模分布式数据库系统中得到了广泛运用。在实际应用中,一般会在数据中心之间采用异步复制的方式,对数据复制只提供最终一致性的保证,即通过将主数据库的数据与副本数据库的数据进行同步的方式,来保证数据的可靠性和可用性。为了保证主数据库与副本数据库同步的有效性,需要在各种故障场景下都能检查并同步不一致的数据副本,确保数据库在出现故障后能快速恢复到出错前的正确状态,从而提升数据库的可用性和可靠性。
[0004] 现有技术中,所采用的技术方案一般为,在整个数据库同步系统包括有主数据库、副数据库和同步单元,主数据库和副数据库均包括数据格式化单元,哈希值生成器和树结构生成器。
[0005] 数据格式化单元负责按照共同数据模型接收,格式化,存储和管理数据单元。哈希模型定义了一种或多种哈希算法及其输入格式,哈希值生成器根据哈希模型为数据单元生成哈希值。树结构生成器把数据格式化单元中的数据单元组织成一棵树。在树结构生成器生成树后,哈希值生成器计算树中每个节点的哈希值,从而得到一棵哈希树。若节点为叶节点,节点哈希值通过对其包含的数据单元的哈希值的计算得到,如节点不是叶节点,节点哈希值通过对其子节点的哈希值和包含的数据单元的哈希值的计算得到。
[0006] 同步单元通过对比主数据库的哈希树和副数据库的哈希树,确定不一致的数据单元,同步单元通知主数据库将不一致的数据单元从主数据库传送至副数据库;在将所有的哈希树对比、并完成所有不一致的数据单元的传送后,即为完成了数据库的同步。
[0007] 发明人通过研究发现,现有技术中的技术方案至少存在以下缺陷
[0008] 由于在现有技术中,需要在同步单元中完成所有节点中数据单元的哈希树比较,所以执行数据一致性检查时,需要较长的时间,从而使得数据同步的效率较低。

发明内容

[0009] 有鉴于此,本发明提供分布式数据库同步方法和系统,以解决现有技术存在的数据同步的效率较低的问题。
[0010] 本发明是这样实现的:
[0011] 一方面,提供了一种分布式数据库同步方法,分布式数据库包括主服务器集群和备份服务器集群,主服务器集群中主节点包括一个或多个区间,备份服务器集群中备份节点包括一个或多个区间,主服务器集群中每个区间在备份服务器集群中都对应一个区间,主服务器集群包括第一主节点和第二主节点,备份服务器集群包括第一备份节点和第二备份节点,所述方法包括:
[0012] 第一主节点获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中所述区间哈希值为叶节点的主服务器集群哈希树;其中,主节点的区间哈希树为主节点以区间中的数据单元为叶节点构造的哈希树;
[0013] 第一备份节点获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,备份节点的区间哈希树为备份节点以区间中的数据单元为叶节点构造的哈希树;
[0014] 第一主节点通过比较主服务器集群哈希树和备份服务器集群哈希树,确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树;
[0015] 第二主节点通过比较第二主节点的区间哈希树和第二备份节点的区间哈希树,确定第二主节点中需同步的数据单元和第二备份节点需同步的数据单元;
[0016] 第二主节点根据第二主节点中需同步的数据单元和第二备份节点中需同步的数据单元进行数据同步。
[0017] 进一步的,所述以区间中的数据单元为叶节点构造的哈希树,具体包括:
[0018] 根据数据单元信息和区间信息为每个区间构造以数据单元为叶节点的树结构;
[0019] 根据哈希模型,计算所述树结构每个叶节点的哈希值,以生成所述区间哈希树;
[0020] 为每个区间哈希树加入对应的区间标识。
[0021] 进一步的,所述主服务器集群中每个区间在备份服务器中都对应一个区间,具体的包括:
[0022] 分别为所述主服务器集群中每个区间和所述备份服务器中每个区间设有区间标识;
[0023] 将所述主服务器集群中每个区间的区间标识和对应的备份服务器中区间的区间标识加以关联。
[0024] 进一步的,所述第一主节点在多个主节点中选举产生;所述第一备份节点在多个备份节点中选举产生。
[0025] 另一方面,本申请还提供了一种分布式数据库同步系统,所述分布式数据库同步系统包括主服务器集群和备份服务器集群,主服务器集群中主节点包括一个或多个区间,备份服务器集群中备份节点包括一个或多个区间,主服务器集群中每个区间在备份服务器集群中都对应一个区间,主服务器集群包括第一主节点和第二主节点,备份服务器集群包括第一备份节点和第二备份节点;
[0026] 第一主节点包括主服务器集群哈希树生成单元,用于获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中所述区间哈希值为叶节点的主服务器集群哈希树;其中,主节点的区间哈希树为主节点以区间中的数据单元为叶节点构造的哈希树;
[0027] 第一备份节点包括备份服务器集群哈希树生成单元,用于获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,备份节点的区间哈希树为备份节点以区间中的数据单元为叶节点构造的哈希树;
[0028] 第一主节点包括区间确定单元,用于通过比较主服务器集群哈希树和备份服务器集群哈希树,确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树;
[0029] 第二主节点包括数据确定单元,用于通过比较第二主节点的区间哈希树和第二备份节点的区间哈希树,确定第二主节点中需同步的数据单元和第二备份节点需同步的数据单元;
[0030] 第二主节点包括同步单元,用于根据第二主节点中需同步的数据单元和第二备份节点中需同步的数据单元进行数据同步。
[0031] 进一步的,所述主服务器集群哈希树生成单元和所述备份服务器集群哈希树生成单元均包括区间哈希树生成模,所述区间哈希树生成模块包括:
[0032] 树生成器,用于根据数据管理单元的数据单元信息和区间管理单元的区间信息为每个区间构造以数据单元为叶节点的树结构;
[0033] 哈希值生成器,用于根据哈希模型,计算所述树结构每个叶节点的哈希值,以生成所述区间哈希树;
[0034] 区间标识单元,用于为每个区间哈希树加入区间标识。
[0035] 进一步的,所述主服务器集群和所述备份服务器集群均包括:
[0036] 选举单元,用于在多个所述主节点中确定所述第一主节点,或,在多个所述备份节点中确定所述第一备份节点。
[0037] 通过上述描述可以得知,在本发明中,通过设有主协调节点和从协调节点,并能够分别通过主协调节点和从协调节点生成的以区间哈希值为叶节点的主服务器集群哈希树和备份服务器集群哈希树,从而可以初步地确定需同步主区间和需同步备份区间,以及,分别与需同步主区间、需同步备份区间对应的需同步主节点和需同步备份节点;然后,通过比较需同步主节点的区间哈希树和需同步备份节点的区间哈希树,可以确定哈希值不一致的对应数据单元为需同步主数据单元和需同步备份数据单元;由于本发明中,在确定需同步主数据单元和需同步备份数据单元时可以在各个节点分别完成,所以可以实现多个节点分别同步确定需同步数据单元,从而节省执行数据一致性检查时所需的时间,进而提高数据同步效率。附图说明
[0038] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1为本发明中分布式数据库同步系统的组织结构示意图;
[0040] 图2为本发明实施例提供的分布式数据库同步方法的流程示意图;
[0041] 图3为本发明提供的分布式数据库同步系统的结构示意图;
[0042] 图4为本发明提供的服务器集群中节点的结构示意图。

具体实施方式

[0043] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044] 为了解决现有技术中,数据同步的效率较低的问题,在本实施例中,提供了一种分布式数据库同步方法,图1描述了本发明中分布式数据库同步系统的组织结构,分布式数据库包括主服务器集群12和备份服务器集群13,主服务器集群12中主节点14包括一个或多个区间,备份服务器集群13中备份节点15包括一个或多个区间,主服务器集群12中每个区间在备份服务器集群13中都对应一个区间,主节点和备份节点中每个区间包括一个或多个数据单元。
[0045] 图2描述了本发明实施例提供的一种分布式数据库同步方法,其中,主服务器集群12包括第一主节点和第二主节点,备份服务器集群13包括第一备份节点和第二备份节点,该分布式数据库同步方法包括:
[0046] S11、生成主服务器集群哈希树和备份服务器集群哈希树。
[0047] 第一主节点获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中所述区间哈希值为叶节点的主服务器集群哈希树;其中,主节点的区间哈希树为主节点以区间中的数据单元为叶节点构造的哈希树;
[0048] 第一备份节点获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,备份节点的区间哈希树为备份节点以区间中的数据单元为叶节点构造的哈希树;
[0049] 本发明中的数据库服务器集群包括有多个节点来存储数据,首先根据各个节点的存储功能不同,将节点分为主节点和备份节点两种;在实际应用中,可以将多个主节点总称为主服务器集群,将多个备份节点总称为备份服务器集群,备份服务器集群用于对主服务器集群中的数据进行备份。
[0050] 在所述主节点和所述备份节点的功能均包括:管理、存储、和格式化数据单元;将数据单元按区间进行划分,并记录区间信息,具体的可以包括,通过数据管理单元维护包括多个数据单元的区间的区间信息。
[0051] 在本发明中,主节点和备份节点均包括的功能具体为:通过数据管理单元存储、格式化和管理数据;本发明中的数据单元是分布式数据库进行数据组织的最小单元,数据管理单元可以包括有多个数据单元,每个数据单元可以通过其数据单元标识来区分和识别。具体的,数据管理单元可以通过设定的数据模型来将需要存储的数据格式化成多个数据单元。
[0052] 本发明还在数据管理单元中,将多个数据单元组织为一个区间,通过区间管理单元来维护包括多个数据单元的区间的区间信息。也就是说,每个数据管理单元中,可以包括多个区间;区间是分布式数据库进行数据管理的最小单元。每个区间可以通过其区间标识来区分和识别。
[0053] 在基于以上组织结构的分布式数据库中,本发明中,所述提供的分布式数据库同步方法首先要通过第一主节点获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中所述区间哈希值为叶节点的主服务器集群哈希树;其中,主节点的区间哈希树为主节点以区间中的数据单元为叶节点构造的哈希树;
[0054] 第一备份节点获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,备份节点的区间哈希树为备份节点以区间中的数据单元为叶节点构造的哈希树;
[0055] 主节点和备份节点的区间哈希树的生成方式是类似的,具体可以为,根据数据管理单元中的数据单元信息和区间管理单元中的区间信息,通过哈希模型为每个区间生成以数据单元的哈希值为叶节点,且包括区间标识的区间哈希树。
[0056] 主服务器集群中每个区间在备份服务器中都对应一个区间,在本发明中,区间根据其所属的节点的性质可以分为分为主分区和备份分区两种,即,主节点中所包括的分区可以称之为主分区,备份节点中的分区可以称之为备份分区。主分区与备份分区一一对应,即主服务器集群中的主区间1在备份服务器集群中有对应的备份分区1,主服务器集群中的主区间2在备份服务器集群中有对应的备份分区2,以此类推;其中,备份分区通过和主分区同步来备份主分区中的数据。
[0057] 此外,还可以通过分别为主分区和备份分区设有区间标识,并通过所述区间标识将对应的主分区和备份分区加以关联的方式来使主分区与备份分区一一对应。
[0058] 本发明中的主节点和备份节点还可以根据数据管理单元中的数据单元信息和区间管理单元中的区间信息,通过哈希模型为每个区间生成以数据单元的哈希值为叶节点的区间哈希树。
[0059] 具体的,完成上述功能可以通过以下方式来实现:
[0060] 根据数据管理单元的数据单元信息和区间管理单元的区间信息构造以数据单元为叶节点的树结构;在实际应用中,可以通过树生成器来实现为每个区间构造以数据单元为叶节点的树结构。
[0061] 根据哈希模型,计算树结构每个叶节点的哈希值,以生成区间哈希树。
[0062] 在实际应用中,可以通过哈希值生成器来根据树结构生成区间哈希树,这样,通过为每个区间生成其对应的区间哈希树,从而通过建立区间哈希树,可以将主节点中区间的区间哈希树来与相应备份节点中的相应区间的哈希树的比较来确定是否有需要同步的数据单元。
[0063] 第一主节点获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值后,以各个主节点的区间哈希值为叶节点,生成主服务器集群哈希树;
[0064] 类似的,第一备份节点获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值后,以各个备份节点的区间哈希值为叶节点,生成备份服务器集群哈希树;
[0065] 本发明中,可以通过选举机制产生第一主节点或第一备份节点。即,第一主节点可以通过选举,在多个主节点中产生;类似的,第一备份节点也可以通过选举在多个备份节点中产生。
[0066] S12、确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树。
[0067] 第一主节点通过比较主服务器集群哈希树和备份服务器集群哈希树,确定区间哈希值不一致的第二主节点的区间哈希树和第二备份节点的区间哈希树;在进行数据一致性检查时,即,检查备份服务器集群与主服务器集群中的数据是否一致时,首先对比主服务器集群哈希树和备份服务器集群哈希树是否一致,如果一致,则表明该主服务器集群和备份服务器集群数据一致,不需要进行同步更新;如果不一致,则表明主服务器集群和备份服务器集群中的区间至少有一个区间需要同步更新。具体的,在本发明中,可以将区间哈希值不一致的主节点称之为第二主节点,将区间哈希值不一致的备份节点称之为第二备份节点;
[0068] 在本发明中,当比较主服务器集群哈希树和备份服务器集群时,发现不一致时,将造成不一致的对应区间确定为需同步主区间以及需同步备份区间,即,第二主节点和第二备份节点;进一步的,还可以将需同步主区间以及需同步备份区间的区间标识分别通知对应的主节点和备份节点,该主节点即为需同步主节点,该备份节点即为需同步备份节点。
[0069] 进一步的,在本发明中,通知所述需同步区间对应的需同步主节点和需同步备份节点的具体方式可以是,通过分别获取包括需同步主区间以及需同步备份区间所对应的区间的区间标识,以及,主节点和备份节点的节点标识信息的三元组数据,并将三元组数据分别发送至对应的主节点和备份节点;由于在三元组数据中,包括了区间的区间标识和与其对应的主节点和备份节点的节点标识,从而可以实现通知相应的主节点和备份节点。
[0070] S13、确定第二主节点中需同步的数据单元和第二备份节点中需同步的数据单元。
[0071] 第二主节点通过比较第二主节点的区间哈希树和第二备份节点的区间哈希树,确定第二主节点中需同步的数据单元和第二备份节点需同步的数据单元;
[0072] 由于在本发明中,还计算了各个区间的区间哈希值,所以当主节点和备份节点中对应的区间至少有一个需要同步更新时,通过比较第二主节点和第二备份节点中的区间哈希树,即可确定哈希值不一致的对应数据单元为需同步主数据单元以及需同步备份数据单元,从而确定了需要同步更新的数据单元。由于本发明中,需同步的节点可以为多个,所以第二主节点和第二备份节点也可以为多个。
[0073] 由于在本发明中,进行数据一致性检查时,多个第二主节点可以分别通过比较第二主区间的区间哈希树和对应的第二备份节点中第二备份区间的区间哈希树进行比较,所以可以实现多个节点间的同步运行,由于本发明可以有效地利用节点间的网络带宽和运算资源,从而节省了执行数据一致性检查和数据同步时所需的时间,进而也就有效地提高了数据同步效率。
[0074] 具体的,主节点1在与备份节点1进行数据一致性检查的同时,主节点2可以同时与备份节点2进行数据一致性检查,以此类推,可以是实现多个主节点与备份节点进行数据一致性的同步检查。
[0075] S14、第二主节点根据第二主节点中需同步的数据单元和第二备份节点中需同步的数据单元进行数据同步。
[0076] 在本发明中,完成需同步数据单元在对应的第二主节点和第二备份节点间的数据同步,具体可以由第二主节点完成。也就是说,在本发明中,每个主节点中均可设有同步单元,这样,当主单元为第二主节点时,通过其同步单元即可完成数据单元的同步更新。由于本发明中的同步单元为多个,所以在分布式环境下,发生单点故障的时候,如某个同步单元失效的时候,也不会影响整个数据库同步系统的正常运行。进而提高了分布式数据库同步系统的健硕性。
[0077] 图3描述了本发明提供的一种分布式数据库同步系统的结构,该分布式数据库同步系统包括主服务器集群12和备份服务器集群13,主服务器集群12包括第一主节点141和第二主节点142,备份服务器集群13包括第一备份节151点和第二备份节点152;
[0078] 第一主节点141包括主服务器集群哈希树生成单元121,用于获取主服务器集群中各个主节点的所有区间哈希树的根节点的区间哈希值,并生成以主服务器集群中区间哈希值为叶节点的主服务器集群哈希树;其中,第一节点可以从多个主节点中来确定。
[0079] 第一备份节点151包括备份服务器集群哈希树生成单元131,用于获取备份服务器集群中各个备份节点的所有区间哈希树的根节点的区间哈希值,并生成以备份服务器集群中所述区间哈希值为叶节点的备份服务器集群哈希树;其中,第一备份节点可以从多个备份节点中来确定。
[0080] 进一步的,本发明中,第一主节点141或第一备份节点151的确定具体可以通过选举机制产生。即,通过选举机制,在多个所述主节点中确定第一主节点,或,在多个所述备份节点中确定第一备份节点。
[0081] 第一主节点141包括区间确定单元122,用于通过比较主服务器集群哈希树和备份服务器集群哈希树,确定区间哈希值不一致的两个对应区间为需同步主区间以及需同步备份区间。
[0082] 进一步的,还可以通知所述需同步主区间以及需同步备份区间分别对应的第二主节点142即为需同步的主节点,第二备份节点152即为需同步的备份节点。当需同步主区间和需同步备份区间为多个,且需同步主区间和需同步备份区间分别位于多个第二主节点和第二备份节点中时,第二主节点和第二备份节点也就为多个。
[0083] 在进行数据一致性检查时,即,检查主服务器集群12与备份服务器集群13中的数据是否一致时,区间确定单元122首先对比主服务器集群哈希树和备份服务器集群哈希树是否一致,如果一致,则表明该主服务器集群12和备份服务器集群13数据一致,不需要进行同步更新;如果不一致,则表明主服务器集群12和备份服务器集群13中的区间至少有一个区间需要同步更新。
[0084] 进一步的,在本发明中,当比较主服务器集群哈希树和备份服务器集群时,发现不一致时,区间确定单元122还要将不一致的对应区间的区间标识分别通知对应的第二主节点142和第二备份节点152,该第二主节点142即为需同步主节点,该第二备份节点152即为需同步备份节点,第二主节点142和第二备份节点152的对应区间则分别为需同步主区间以及需同步备份区间。
[0085] 针对第一主节点如何通知需同步节点,在本发明中,区间确定单元122还可以包括三元组数据处理组件,当区间哈希值不一致时,区间确定单元122分别获取包括需同步区间的区间标识、主节点14和备份节点15的节点标识信息的三元组数据,并将所述三元组数据发送至分别需同步主区间以及需同步备份区间对应的主节点和备份节点,以通知需同步主节点和需同步备份节点。
[0086] 第二主节点142包括数据确定单元123,用于通过比较需同步主区间以及需同步备份区间的区间哈希树,确定哈希值不一致的对应数据单元为需同步主数据单元以及需同步备份数据单元;
[0087] 第二主节点142包括同步单元124,用于完成需同步主区间和需同步备份区间在对应的需同步主节点和需同步备份节点间的数据同步。
[0088] 由于在本发明中,还计算了各个区间的区间哈希树,所以当主节点和备份节点中对应的区间至少有一个需要同步更新时,数据确定单元123通过比较需同步主区间和需同步备份区间的区间哈希树,即可确定哈希值不一致的对应数据单元为需要同步的数据单元,这样就可以确定需同步主数据单元以及需同步备份数据单元。从而,通过同步单元124即可完成需同步主区间和需同步备份区间在对应的需同步主节点和需同步备份节点间的数据同步。
[0089] 由于在本发明中,进行数据一致性检查时主节点直接将其需同步主区间的区间哈希树和备份节点中需同步备份区间的区间哈希树进行比较,所以可以实现多个节点间的同步运行,由于本发明可以有效地利用节点间的网络带宽和运算资源,从而节省了执行数据一致性检查和数据同步时所需的时间,进而也就有效地提高了数据同步效率。
[0090] 由于在本发明中,同步单元可以设于主节点中,所以,在完成需同步数据单元在对应的需同步主节点和需同步备份节点间的数据同步,具体可以由第二主节点完成,第二主节点和第二备份节点均可以为多个,在本发明中,每个第二主节点中均可设有同步单元,这样,当多个第二主节点均为需同步主节点时,通过多个同步单元即可并行完成数据单元的同步更新。由于本发明中的同步单元为多个,所以在分布式环境下,发生单点故障的时候,如某个同步单元失效的时候,也不会影响整个数据库同步系统的正常运行。进而提高了分布式数据库同步系统的健硕性。
[0091] 针对主服务器集群中主节点和备份服务器集群中备份节点,图4描述了本发明中提供的服务器集群中节点的结构,包括主服务器集群中主节点和备份服务器集群中备份节点的结构,主节点14和备份节点15的结构包括:区间管理单元22,用于将数据单元24按区间23进行划分,并记录区间信息;区间哈希树生成单元25,用于根据数据单元信息和区间信息,通过哈希模型为每个区间生成以数据单元的哈希值为叶节点,且包括区间标识的区间哈希树;其中,区间23根据其所属的节点分为主分区和备份分区,所述主分区与所述备份分区一一对应,也就是说,主服务器集群中每个区间在备份服务器中都对应一个区间。
[0092] 本发明中的数据单元24是分布式数据库进行数据组织的最小单元,每个区间23可以包括有多个数据单元24,每个数据单元可以通过其数据单元标识来区分和识别。具体的,可以通过设定的数据模型来将需要存储的数据格式化成多个数据单元。
[0093] 通过区间管理单元22,可以维护包括多个数据单元24的区间23的区间信息。也就是说,每个节点中,可以包括多个区间23;区间23是分布式数据库进行数据管理的最小单元。每个区间可以通过其区间标识来区分和识别;
[0094] 区间23根据其所属的节点的性质可以分为主分区和备份分区两种,即,主节点中所包括的分区可以称之为主分区,备份节点中的分区可以称之为备份分区。主分区与备份分区一一对应,即主服务器集群中的主区间1在备份服务器集群中有对应的备份分区1,主服务器集群中的主区间2在备份服务器集群中有对应的备份分区2,以此类推;其中,备份分区通过和主分区同步来备份主分区中的数据。
[0095] 此外,还可以通过分别为主分区和备份分区设有区间标识,并通过所述区间标识将对应的主分区和备份分区加以关联的方式来使主分区与备份分区一一对应。
[0096] 本发明中的主节点和备份节点还包括有区间哈希树生成单元25,区间哈希树生成单元25根据数据单元信息和区间管理单元22中的区间信息,通过哈希模型可以为每个区间生成以数据单元的哈希值为叶节点的区间哈希树。
[0097] 具体的,完成上述功能可以通过以下方式来实现:
[0098] 根据数据单元信息和区间管理单元22的区间信息构造以数据单元24为叶节点的树结构;在实际应用中,可以通过树生成器来实现为每个区间构造以数据单元为叶节点的树结构。
[0099] 根据哈希模型,计算树结构每个叶节点的哈希值,以生成区间哈希树。
[0100] 在实际应用中,可以通过哈希值生成器来根据树结构生成区间哈希树,这样,通过为每个区间生成其对应的区间哈希树,从而通过建立区间哈希树,可以将主节点中区间的区间哈希树来与相应备份节点中的相应区间的哈希树的比较来确定是否有需要同步的数据单元。
[0101] 进一步的,在本发明中,区间哈希树生成单元25具体可以包括:树生成器,用于根据数据单元信息和区间管理单元的区间信息构造以数据单元为叶节点的树结构;哈希值生成器,用于根据哈希模型,计算树结构每个叶节点的哈希值,以生成所述区间哈希树。
[0102] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0103] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈