G06F17/30
1.一种分布式数据库下全局主键生成方法,包括:
主键服务器集中的任意主键服务器接收到客户端发起的主键申 请请求时,将主键申请请求转发给主键服务器集中的主主键服务器;
所述主主键服务器对主键申请请求进行排序,并将排序结果依次 同步给主键服务器集中的所有主键服务器;
主键服务器集中的所有主键服务器均响应所述主主键服务器同 步的主键申请请求,按照相同的主键生成规则生成全局主键;
主键服务器集中的任意主键服务器在所述主主键服务器同步的 主键申请请求与本主键服务器接收的客户端发起的主键申请请求一致 时,将生成的全局主键返回给客户端。
2.根据权利要求1所述的方法,其特征在于,主键服务器集中 的所有主键服务器预先设置有相同的主键信息和配置信息;其中,所 述主键信息是所述客户端在用的最大全局主键,所述配置信息包括面 向所述客户端的主键生成规则、以及作为主主键服务器时对主键申请 请求的排序规则。
3.根据权利要求2所述的方法,其特征在于,所述主键服务器集 中的所有主键服务器均响应所述主主键服务器同步的主键申请请 求,按照相同的主键生成规则生成全局主键包括:
所述主键服务器集中的所有主键服务器均响应所述主主键服务 器同步的主键申请请求,将所述客户端在用的最大全局主键作为面向 所述客户端的主键生成规则的输入,生成相同的全局主键。
4.根据权利要求1所述的方法,其特征在于,所述主主键服务器 通过动态选举的方式从主键服务器集中选举产生,在当前主主键服 务器宕机时触发选举的操作,被选举出来的主主键服务器在主键服务 器集中广播自身的位置信息,所有主键服务器接收到广播信息后更 新本地的主主键服务器的位置信息。
5.根据权利要求1所述的方法,其特征在于,所述主主键服务器 对主键申请请求进行排序包括:
所述主主键服务器按照主键申请请求的接收时间对多个主键服务 器发来的主键申请请求进行排序。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
负载均衡设备接收客户端发起的主键申请请求,并将客户端发起 的主键申请请求均衡地路由给主键服务器集中的主键服务器。
7.一种分布式数据库下全局主键生成系统,包括:由主键服务器 组成的主键服务器集,该主键服务器集中有一个主主键服务器;
主键服务器包括请求处理模块、主键生成模块和请求响应模块, 请求处理模块用于在接收到客户端发起的主键申请请求时,将主键申 请请求转发给主主键服务器,主键生成模块用于响应所述主主键服务 器同步的主键申请请求,按照相同的主键生成规则生成全局主键,请 求响应模块用于在所述主主键服务器同步的主键申请请求与本主键服 务器接收的客户端发起的主键申请请求一致时,将生成的全局主键返 回给客户端;
主主键服务器包括请求排序模块和请求同步模块,请求排序模块 用于对主键申请请求进行排序,请求同步模块用于将主键申请请求的 排序结果依次同步给主键服务器集中的所有主键服务器。
8.根据权利要求7所述的系统,其特征在于,主键服务器还包括 存储模块,用于存储预先设置的相同的主键信息和配置信息;其中, 所述主键信息是所述客户端在用的最大全局主键,所述配置信息包括 面向所述客户端的主键生成规则、以及作为主主键服务器时对主键申 请请求的排序规则。
9.根据权利要求8所述的系统,其特征在于,所述主键生成模块, 具体用于响应所述主主键服务器同步的主键申请请求,将所述客户端 在用的最大全局主键作为面向所述客户端的主键生成规则的输入,生 成相同的全局主键。
10.根据权利要求7所述的系统,其特征在于,所述主主键服务 器还包括广播模块,用于在主键服务器集中广播自身的位置信息;
所述主键服务器还包括位置更新模块,用于接收到主主键服务器 的广播信息后更新本地的主主键服务器的位置信息。
11.根据权利要求7所述的系统,其特征在于,所述请求排序模 块,具体用于按照主键申请请求的接收时间对多个主键服务器发来的 主键申请请求进行排序。
12.根据权利要求7所述的系统,其特征在于,该系统还包括: 负载均衡设备,用于接收客户端发起的主键申请请求,并将客户端发 起的主键申请请求均衡地路由给主键服务器集中的主键服务器。
本发明涉及数据库领域,特别涉及一种分布式数据库下全局主键 生成方法和系统。
水平切分是搭建基于关系型数据库的分布式数据库集的关键 技术之一,主要是通过将数据库中数据量较大的表拆分为多个结构相 同的小表,小表分散存储在多个物理数据库中,并通过中间层软件将 客户端对大表的请求路由到多个小表所在的物理数据库中执行。由于 各个小表分散在多个物理库中,所以在新增数据时无法保证每个小表 的主键在全局的唯一性,因此当数据库实施了水平切分后,需要为分 布式数据库提供生成唯一且有序全局主键的服务。
全局主键目前有以下几种生成方法:
一,应用层自己产生唯一主键,这样会增加应用复杂度,并且数 据库的写入操作必须依赖应用。
二,通过一个节点提供独立的主键生成服务,一旦该节点发生故 障,则造成整个系统无法提供主键生成服务,因此存在单点故障问题 以及性能瓶颈问题。
三,通过多个节点提供主键生成服务,可能产生主键不连续或顺 序颠倒问题。例如,采用划分主键段的模式保持主键的不重复,A节 点采用1000开头,B节点采用2000开头,这种模式虽然可以确保主 键不重复,但是可能会导致有些大的主键先产生,小的主键还未产生, 存在主键不连续或顺序颠倒等问题,对于索引或排序带来困扰,不符 合数据库的使用规范。
本发明实施例所要解决的一个技术问题是:通过多个节点提供主 键生成服务时主键的有序和连续性问题。
根据本发明实施例的一个方面,提出一种分布式数据库下全局主 键生成方法,包括:主键服务器集中的任意主键服务器接收到客户 端发起的主键申请请求时,将主键申请请求转发给主键服务器集中 的主主键服务器;主主键服务器对主键申请请求进行排序,并将排序 结果依次同步给主键服务器集中的所有主键服务器;主键服务器集 中的所有主键服务器均响应主主键服务器同步的主键申请请求,按 照相同的主键生成规则生成全局主键;主键服务器集中的任意主键 服务器在主主键服务器同步的主键申请请求与本主键服务器接收的客 户端发起的主键申请请求一致时,将生成的全局主键返回给客户端。
在一个实施例中,主键服务器集中的所有主键服务器预先设置 有相同的主键信息和配置信息;其中,主键信息是客户端在用的最大 全局主键,配置信息包括面向客户端的主键生成规则、以及作为主主 键服务器时对主键申请请求的排序规则。
在一个实施例中,主键服务器集中的所有主键服务器均响应主 主键服务器同步的主键申请请求,按照相同的主键生成规则生成全局 主键包括:主键服务器集中的所有主键服务器均响应主主键服务器 同步的主键申请请求,将客户端在用的最大全局主键作为面向客户端 的主键生成规则的输入,生成相同的全局主键。
在一个实施例中,主主键服务器通过动态选举的方式从主键服务 器集中选举产生,在当前主主键服务器宕机时触发选举的操作,被 选举出来的主主键服务器在主键服务器集中广播自身的位置信息, 所有主键服务器接收到广播信息后更新本地的主主键服务器的位置信 息。
在一个实施例中,主主键服务器对主键申请请求进行排序包括: 主主键服务器按照主键申请请求的接收时间对多个主键服务器发来的 主键申请请求进行排序。
在一个实施例中,该方法还包括:负载均衡设备接收客户端发起 的主键申请请求,并将客户端发起的主键申请请求均衡地路由给主键 服务器集中的主键服务器。
根据本发明实施例的再一个方面,提出一种分布式数据库下全局 主键生成系统,包括:由主键服务器组成的主键服务器集,该主键 服务器集中有一个主主键服务器;主键服务器包括请求处理模块、 主键生成模块和请求响应模块,请求处理模块用于在接收到客户端发 起的主键申请请求时,将主键申请请求转发给主主键服务器,主键生 成模块用于响应主主键服务器同步的主键申请请求,按照相同的主键 生成规则生成全局主键,请求响应模块用于在主主键服务器同步的主 键申请请求与本主键服务器接收的客户端发起的主键申请请求一致 时,将生成的全局主键返回给客户端;主主键服务器包括请求排序模 块和请求同步模块,请求排序模块用于对主键申请请求进行排序,请 求同步模块用于将主键申请请求的排序结果依次同步给主键服务器集 中的所有主键服务器。
在一个实施例中,主键服务器还包括存储模块,用于存储预先设 置的相同的主键信息和配置信息;其中,主键信息是客户端在用的最 大全局主键,配置信息包括面向客户端的主键生成规则、以及作为主 主键服务器时对主键申请请求的排序规则。
在一个实施例中,主键生成模块,具体用于响应主主键服务器同 步的主键申请请求,将客户端在用的最大全局主键作为面向客户端的 主键生成规则的输入,生成相同的全局主键。
在一个实施例中,主主键服务器还包括广播模块,用于在主键服 务器集中广播自身的位置信息;主键服务器还包括位置更新模块, 用于接收到主主键服务器的广播信息后更新本地的主主键服务器的位 置信息。
在一个实施例中,请求排序模块,具体用于按照主键申请请求的 接收时间对多个主键服务器发来的主键申请请求进行排序。
在一个实施例中,该系统还包括:负载均衡设备,用于接收客户 端发起的主键申请请求,并将客户端发起的主键申请请求均衡地路由 给主键服务器集中的主键服务器。
本发明实施例构建主键服务器集,由集中的主主键服务器对 多个主键申请请求进行排序,并同步给集中的其他主键服务器,主 键生成分由集内的多个主键服务器执行,各主键服务器基于同步的 主键申请请求生成全局主键,保持了主键的强一致性,既保证全局主 键的有序和连续性,又可以避免主键生成的单点故障和性能瓶颈问题。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明 的其它特征及其优点将会变得清楚。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将 对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见 地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技 术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获 得其他的附图。
图1为本发明全局主键应用系统的一个实施例的示意图。
图2为本发明全局主键生成系统一个实施例的结构示意图。
图3为本发明全局主键生成系统再一个实施例的结构示意图。
图4为本发明分布式数据库下全局主键生成方法一个实施例的流程 示意图。
图5为本发明分布式数据库下全局主键生成方法一个应用示例的流 程示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案 进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实 施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实 际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限 制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相 对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺 寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详 细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说 明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是 示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具 有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此, 一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行 进一步讨论。
为了解决多个节点提供主键生成服务时主键的有序和连续性问 题,本发明提出一种能够保证全局主键的有序和连续性的主键生成方 法,下面具体说明。
图1为本发明全局主键应用系统的一个实施例的示意图。如图1 所示,全局主键应用系统100包括请求生成主键的客户端101和生成 全局主键的全局主键生成系统102。客户端101例如为分布式数据库, 在分布式数据库中有若干分片节点,每个分片节点均可以向全局主键 生成系统102请求生成主键。全局主键生成系统102负责响应客户端 101的主键申请请求,向客户端101提供唯一、有序且连续性的全局 主键。
图2为本发明全局主键生成系统一个实施例的结构示意图。如图 2所示,全局主键生成系统102包括由主键服务器(记为S01、 S02…Sn)组成的主键服务器集,主键服务器集中有一个主主键 服务器(也称master主键服务器,记为SM)。主键服务器均具有 接收主键申请请求、生成全局主键以及返回全局主键的功能。主主键 服务器除了具备普通主键服务器的功能之外,还具有主键申请请求的 排序和同步功能。后续具体说明排序和同步功能。客户端101可以连 接集中的任意主键服务器来申请主键。
图3为本发明全局主键生成系统再一个实施例的结构示意图。如 图3所示,全局主键生成系统102除了包括主键服务器集,还包括 负载均衡设备。各分片节点可以将主键申请请求统一发送给负载均衡 设备,再由负载均衡设备将客户端发起的主键申请请求均衡地路由给 主键服务器集中的某个主键服务器。设置负载均衡设备后,一方面, 各分片节点可以将主键申请请求发送给负载均衡设备,无需再关注集 中各主键服务器的地址,可以简化分片节点的发送工作,另一方面, 负载均衡设备可以根据集中各主键服务器的负载情况转发主键申 请请求,有利于均衡集中各主键服务器的负载。
在图1~图3所示的全局主键生成系统中,为提高集的可靠性, 可以通过动态选举的方式从主键服务器集中选举产生主主键服务 器,即从集中完全平等的多个主键服务器中选举一个作为主主键服务 器。在当前主主键服务器宕机时重新触发选举的操作。动态选举方式 产生主主键服务器的一个示例性方法为:集中的各主键服务器相互之 间发送选举请求,选举请求中携带有竞选主主键服务器的优先级参数, 拥有最高优先级的主键服务器将成为主主键服务器。其中,优先级参 数例如可以是主键服务器的处理能力等信息,但不限于此。进一步地, 在选举请求中可以携带两个优先级参数,一个主优先级参数,一个辅 优先级参数,优先通过比较主优先级参数确定主主键服务器,在主优 先级参数无法确定主主键服务器时,例如主优先级参数相同,此时可 以在主优先级参数的基础上参考辅优先级参数确定主主键服务器。例 如,在主键服务器的处理能力相同的情况下,存储空间大的作为主主 键服务器。被选举出来的主主键服务器在主键服务器集中广播自身的 位置信息,所有主键服务器接收到广播信息后更新本地的主主键服务器 的位置信息。
在一个实施例中,主键服务器集中的所有主键服务器预先设置 有相同的主键信息和配置信息;其中,主键信息是客户端在用的最大 全局主键(记为KEYn),配置信息包括面向客户端的主键生成规则 (记为规则X)、以及作为主主键服务器时对主键申请请求的排序规 则(记为规则Y)。排序规则Y例如可以为按照主键申请请求的接收 时间对多个主键服务器发来的主键申请请求进行排序,但不限于此。
图4为本发明分布式数据库下全局主键生成方法(简称“全局主 键生成方法”)一个实施例的流程示意图。如图4所示,本实施例的 全局主键生成方法包括以下步骤:
步骤S401,主键服务器集中的任意主键服务器接收到客户端 发起的主键申请请求时,将主键申请请求转发给主键服务器集中的 主主键服务器。
在一个实施例中,客户端可以将主键申请请求统一发送给集中 的负载均衡设备,再由负载均衡设备将客户端发起的主键申请请求均 衡地路由给主键服务器集中的某个主键服务器。作为一种示例性的 均衡路由方法,负载均衡设备可以将多个主键申请请求依次分发给集 内的主键服务器,例如,主键申请请求Q01分发给主键服务器S01, 主键申请请求Q02分发给主键服务器S02,主键申请请求Qn分发给 主键服务器Sn等,该方法简单并且容易实现。
在一个实施例中,当主键服务器接收到客户端发起的主键申请请 求时,根据本地记录的主主键服务器的位置信息,将主键申请请求转 发至主主键服务器上。如果主键申请请求发送失败,则说明主键服务 器本地记录的主主键服务器的位置信息是脏数据,主键服务器可以通 过广播的方式在集内寻新的主主键服务器,新的主主键服务器收 到广播信息后,将自身的位置信息发送给该主键服务器,主键服务器 更新本地的主主键服务器的位置信息,然后再将主键申请请求转发至 新的主主键服务器上。
步骤S402,主主键服务器对主键申请请求进行排序,并将排序 结果依次同步给主键服务器集中的所有主键服务器。
在一个实施例中,主主键服务器对主键申请请求进行排序包括: 主主键服务器按照主键申请请求的接收时间对多个主键服务器发来的 主键申请请求进行排序。本领域技术人员可以理解,本发明并不限定 具体的排序方式,根据需要还可以利用其它排序规则采用其他方式对 主键申请请求进行排序。
步骤S403,主键服务器集中的所有主键服务器均响应主主键 服务器同步的主键申请请求,按照相同的主键生成规则生成全局主 键。
在一个实施例中,主键服务器集中的所有主键服务器均响应主 主键服务器同步的主键申请请求,将客户端在用的最大全局主键作为 面向客户端的主键生成规则的输入,由于集中各主键服务器的主键 生成规则相同,作为主键生成基础的客户端在用的最大全局主键也相 同,因此集中各主键服务器可以生成相同的全局主键。在主键申请 请求中还可以包含生成主键所需的参数(如主键名、取值步长等), 对于集中的各主键服务器来说这些参数也是相同的,因此集中各 主键服务器基于相同的主键生成规则和最大全局主键并结合这些参数 同样可以生成相同的全局主键。例如,对于主键申请请求Qn,其响 应(主要指生成的全局主键)Rn=X(KEYn),显然,在主键生成规 则X相同,以及客户端在用的最大全局主键KEYn相同的情况下,生 成的全局主键也必然相同。因此,当所有主键服务器接收到的主键申 请请求的顺序和内容一致时,可以保证所有主键服务器存储的主键信 息也是一致的。
步骤S404,主键服务器集中的任意主键服务器在主主键服务 器同步的主键申请请求与本主键服务器接收的客户端发起的主键申 请请求一致时,将生成的全局主键返回给客户端,在二者不一致时, 则无须返回全局主键给客户端。
需要说明的是,由于主主键服务器将主键申请请求的排序结果依 次同步给主键服务器集中的所有主键服务器,因此,每一次同步均 需要执行步骤S403和S404。
上述全局主键生成方法,通过构建主键服务器集,由集中的 主主键服务器对多个主键申请请求进行排序,并同步给集中的其他 主键服务器,主键生成分由集内的多个主键服务器执行,各主键服 务器基于同步的主键申请请求生成全局主键,保持了主键的强一致 性,既保证全局主键的有序和连续性,又可以避免主键生成的单点故 障和性能瓶颈问题。
图5为本发明分布式数据库下全局主键生成方法一个应用示例 的流程示意图。其中一些初始化的操作,即,集中的所有主键服务 器预先设置相同的主键信息和配置信息,参考前述,这里不再赘述。 如图5所示,本实施例的全局主键生成方法包括以下步骤:
步骤S501,客户端(如分布式数据库)分片节点C01向全局主 键生成系统发起主键申请请求Q01,负载均衡设备将主键申请请求 Q01发送给主键服务器S01。
步骤S502,客户端分片节点C02向全局主键生成系统发起主键 申请请求Q02,负载均衡设备将主键申请请求Q02发送给主键服务 器S02。
步骤S503,主键服务器S01接收到客户端发起的主键申请请求 Q01,将主键申请请求Q01转发给主主键服务器。
步骤S504,主键服务器S02接收到客户端发起的主键申请请求 Q02,将主键申请请求Q02转发给主主键服务器。
当主键服务器接收到客户端发起的主键申请请求时,根据本地记 录的主主键服务器的位置信息,将主键申请请求转发至主主键服务器 上。如果发送失败,说明主键服务器本地记录的主主键服务器位置信 息为脏数据,则主键服务器通过广播的方式在集内寻新的主主键 服务器,新的主主键服务器收到广播信息后,将自身的位置信息发送 给该主键服务器,主键服务器更新本地的主主键服务器的位置信息, 然后再将主键申请请求转发至新的主主键服务器上。
步骤S505,主主键服务器接收到多个主键服务器发来的主键申请 请求时,根据排序规则Y对主键申请请求进行排序,并将排序结果依 次同步给主键服务器集中的所有主键服务器。
此处假设排序结果为主键申请请求Q01优于主键申请请求Q02, 则主主键服务器先将主键申请请求Q01同步给主键服务器集中的 所有主键服务器。
步骤S506,所有主键服务器均按照主键生成规则生成全局主键。
对于主键申请请求Q01,其响应(主要指生成的全局主键)R01=X (KEYn),如果主键申请请求Q01包含生成主键所需的参数(如主 键名、取值步长等),这些参数也相同,显然,在主键生成规则X 相同、客户端在用的最大全局主键KEYn相同、以及生成主键所需 的参数(如果有)相同的情况下,生成的全局主键也必然相同,即 R01相同。
步骤S507,当主键服务器S01发现主主键服务器同步的主键申 请请求与本主键服务器接收的客户端发起的主键申请请求一致时,将 生成的全局主键R01通过负载均衡设备返回给客户端分片节点C01。
步骤S508,主主键服务器继续将下一个主键申请请求Q02同步 给集中的所有主键服务器。
主主键服务器继续按顺序同步剩下的主键申请命令,主键服务器 重复操作S506和S507,直至所有客户端的主键申请请求均成功返回。
步骤S509,所有主键服务器均按照主键生成规则生成全局主键。
对于主键申请请求Q02,其响应(主要指生成的全局主键)R02=X (R01),如果主键申请请求Q02包含生成主键所需的参数(如主键 名、取值步长等),这些参数也相同,显然,在主键生成规则X相 同、客户端在用的最大全局主键R01相同、以及生成主键所需的参 数(如果有)相同的情况下,生成的全局主键也必然相同,即R02 相同。
步骤S510,当主键服务器S02主主键服务器同步的主键申请请 求与本主键服务器接收的客户端发起的主键申请请求一致时,将生成 的全局主键R02通过负载均衡设备返回给客户端分片节点C02,客 户端完成请求。
如图2所示,本实施例的分布式数据库下全局主键生成系统(简 称“全局主键生成系统”)包括:由主键服务器组成的主键服务器集 ,该主键服务器集中有一个主主键服务器;主键服务器包括请求 处理模块、主键生成模块和请求响应模块,请求处理模块用于在接收 到客户端发起的主键申请请求时,将主键申请请求转发给主主键服务 器,主键生成模块用于响应主主键服务器同步的主键申请请求,按照 相同的主键生成规则生成全局主键,请求响应模块用于在主主键服务 器同步的主键申请请求与本主键服务器接收的客户端发起的主键申 请请求一致时,将生成的全局主键返回给客户端;主主键服务器包括 请求排序模块和请求同步模块,请求排序模块用于对主键申请请求进 行排序,请求同步模块用于将主键申请请求的排序结果依次同步给主 键服务器集中的所有主键服务器。需要说明的是,主主键服务器也 具备普通主键服务器的功能,即主主键服务器也包括请求处理模块、 主键生成模块和请求响应模块。
在一个实施例中,主键服务器还包括存储模块,用于存储预先设 置的相同的主键信息和配置信息;其中,主键信息是客户端在用的最 大全局主键,配置信息包括面向客户端的主键生成规则、以及作为主 主键服务器时对主键申请请求的排序规则。
在一个实施例中,主键生成模块,具体用于响应主主键服务器同 步的主键申请请求,将客户端在用的最大全局主键作为面向客户端的 主键生成规则的输入,生成相同的全局主键。当主键申请请求包含生 成主键所需的参数(如主键名、取值步长等)时,主键生成模块,具 体还用于响应主主键服务器同步的主键申请请求,将客户端在用的最 大全局主键作为面向客户端的主键生成规则的输入,并结合生成主键 所需的参数生成相同的全局主键。
在一个实施例中,主主键服务器还包括广播模块,用于在主键服 务器集中广播自身的位置信息;主键服务器还包括位置更新模块, 用于接收到主主键服务器的广播信息后更新本地的主主键服务器的 位置信息。
在一个实施例中,请求排序模块,具体用于按照主键申请请求的 接收时间对多个主键服务器发来的主键申请请求进行排序。
在一个实施例中,如图3所示,全局主键生成系统还包括:负载 均衡设备,用于接收客户端发起的主键申请请求,并将客户端发起的 主键申请请求均衡地路由给主键服务器集中的主键服务器。
上述全局主键生成系统,通过构建主键服务器集,由集中的 主主键服务器对多个主键申请请求进行排序,并同步给集中的其他 主键服务器,主键生成分由集内的多个主键服务器执行,各主键服 务器基于同步的主键申请请求生成全局主键,保持了主键的强一致 性,既保证全局主键的有序和连续性,又可以避免主键生成的单点故 障和性能瓶颈问题。另外,系统中设置负载均衡设备后,一方面,各 分片节点可以将主键申请请求发送给负载均衡设备,无需再关注集 中各主键服务器的地址,可以简化分片节点的发送工作,另一方面, 负载均衡设备可以根据集中各主键服务器的负载情况转发主键申 请请求,有利于均衡集中各主键服务器的负载。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可 以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程 序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是 只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包 含在本发明的保护范围之内。
本文发布于:2023-04-13 19:51:23,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86695.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |