[发明专利]一种生成主键的方法和分布式系统在审
申请号: | 202110481413.6 | 申请日: | 2021-04-30 |
公开(公告)号: | CN113190554A | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 蒋树新 | 申请(专利权)人: | 平安养老保险股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/27;G06F16/28 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 程超;王立姣 |
地址: | 200120 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 主键 方法 分布式 系统 | ||
本发明公开了一种生成主键的方法,包括:管理节点接收主键生成请求,管理节点根据主键生成请求确定主键生成参数;管理节点从多个配置节点中确定一目标配置节点,并将主键生成参数发送至目标配置节点;目标配置节点判断本地是否存储有目标数据表名称关联的未使用序列号;当目标配置节点本地未存储目标数据表名称关联的未使用序列号时,目标配置节点将主键生成参数发送至Redis,并接收Redis返回的与目标数据表名称关联的目标数量的未使用序列号,并将接收到的未使用序列号存储至本地;当目标配置节点本地存储有目标数据表名称关联的未使用序列号时,目标配置节点从本地获取一未使用序列号,并根据获取的未使用序列号生成主键。
技术领域
本发明涉及分布式存储技术领域,具体涉及一种生成主键的方法和用于生成主键的分布式系统。
背景技术
在关系型数据库中,每张数据表都有自己的主键,主键指的是一个列或多列的组合,其值能唯一标识数据表中的每一行,通过它可强制表的实体完整性。
现有的一种主键生成方案中,为了保证主键具有唯一性和单调递增性,会利用数据库锁实现数据表的主键生成任务,但是在高并发情况下,这种方式存在效率低且无法充分利用计算机性能的问题。
针对现有技术中在高并发情况下利用数据库锁实现主键生成任务存在效率低且无法充分利用计算机性能的技术问题,目前尚未存在有效的解决方案。
发明内容
本发明的目的在于提供了一种生成主键的方法和用于生成主键的分布式系统,能够解决现有技术中在高并发情况下利用数据库锁实现主键生成任务存在效率低且无法充分利用计算机性能的技术问题。
本发明的一个方面提供了一种生成主键的方法,应用于分布式系统,所述分布式系统包括一管理节点和多个配置节点,所述方法包括:所述管理节点接收主键生成请求;所述管理节点根据所述主键生成请求确定主键生成参数,其中,所述主键生成参数包括目标数据表名称和数值大于1的目标数量;所述管理节点从所述多个配置节点中确定一目标配置节点,并将所述主键生成参数发送至所述目标配置节点;所述目标配置节点判断本地是否存储有所述目标数据表名称关联的未使用序列号,其中,所述未使用序列号用于生成所述目标数据表名称关联的数据表的主键;当所述目标配置节点本地未存储所述目标数据表名称关联的未使用序列号时,所述目标配置节点将所述主键生成参数发送至Redis,接收Redis返回的与所述目标数据表名称关联的所述目标数量的未使用序列号,并将接收到的未使用序列号存储至本地;当所述目标配置节点本地存储有所述目标数据表名称关联的未使用序列号时,所述目标配置节点从本地获取一未使用序列号,并根据获取的所述未使用序列号生成所述主键。
可选地,所述管理节点从所述多个配置节点中确定一目标配置节点的步骤包括:所述管理节点获取本地存储的目录表,其中,所述目录表包括多条目录信息,每条所述目录信息包括数据表名称、所述数据表名称关联的未使用序列号的数量和存储所述数据表名称关联的未使用序列号的配置节点的节点标识;所述管理节点将所述目标数据表名称与各条所述目录信息中的数据表名称进行比对,获得对比结果;所述管理节点根据所述对比结果确定所述目标配置节点。
可选地,所述管理节点根据所述对比结果确定所述目标配置节点的步骤包括:当所述对比结果表征仅存在一条所述目录信息中的数据表名称与所述目标数据表名称一致时,所述管理节点将该目录信息中的节点标识指向的配置节点确定为所述目标配置节点。
可选地,所述管理节点根据所述对比结果确定所述目标配置节点的步骤包括:当所述对比结果表征存在多条所述目录信息中的数据表名称与所述目标数据表名称一致时,所述管理节点从该多条目录信息中确定包含未使用序列号的数量最多的目录信息,并将确定出的目录信息中的节点标识指向的配置节点确定为所述目标配置节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安养老保险股份有限公司,未经平安养老保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110481413.6/2.html,转载请声明来源钻瓜专利网。