[发明专利]主键生成方法及装置在审
| 申请号: | 202111243186.X | 申请日: | 2021-10-25 |
| 公开(公告)号: | CN113946583A | 公开(公告)日: | 2022-01-18 |
| 发明(设计)人: | 周波;金浩;张君;陈蓓珍;张建业 | 申请(专利权)人: | 浙江惠瀜网络科技有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/2455 |
| 代理公司: | 北京知果之信知识产权代理有限公司 11541 | 代理人: | 高科;李志刚 |
| 地址: | 311200 浙江省杭州市萧山区*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 主键 生成 方法 装置 | ||
本公开公开了一种主键生成方法及装置,包括基于预设的定义方式定义雪花ID的数据格式;按照所述数据格式,为不同的节点配置用于自动生成雪花ID的参数;响应于获取到节点的业务数据,自动生成雪花ID作为数据表中标识每条数据的主键。通过在定义雪花ID后,基于该定义方式对节点进行配置,并基于该配置自动生成节点的业务数据对应的雪花ID,提高了节点数据标识效率,并且基于配置的方式控制了雪花ID的生成过程。
技术领域
本公开涉及数据处理技术领域,具体涉及到一种主键生成方法及装置。
背景技术
随着信息系统的发展,越来越多的软件基于微服务架构进行分布式部署运行,以提高系统的可靠性和吞吐量。在部分业务场景下,同一套软件产品可能会在多个区域部署,且这些区域的业务数据还需要归集到统一的数据仓,用于实现类似数据中台的相关功能。
当所有区域的业务数据归集到数据仓时,需要为数据生成唯一的主键,相关技术中主键生成方法效率低。
发明内容
本公开的主要目的在于提供一种主键生成方法及装置。
为了实现上述目的,根据本公开的第一方面,提供了一种主键生成方法,包括:基于预设的定义方式定义雪花ID的数据个是;基于所述数据格式,为不同的节点配置用于自动生成雪花ID的参数;响应于获取到节点的业务数据,自动生成雪花ID作为数据表中标识每条数据的主键。
可选地,基于预设方式定义雪花ID的数据格式包括:对雪花ID从低位到高位所包括的预设二进制位数进行定义,得到从低位到高位依次包括节点ID位、序列号位、时间戳位和固定位的预定义后的雪花ID。
可选地,为不同的节点配置用于自动生成雪花ID的参数包括:配置在雪花ID自动生成过程中,满足更换时间戳位数值时自动生成的雪花ID所需要达到的数值;配置一组时间戳位的更换值;为每个节点配置初始雪花ID。
可选地,在对不同的节点进行配置后,所述方法还包括:实时监测节点发送的心跳数据,判断节点是否处于离线状态;如果节点处于离线状态,释放该节点。
可选地,响应于获取到节点的业务数据,基于所述参数,自动生成雪花ID作为数据表中标识每条数据的主键包括:响应于获取到节点的业务数据,在每秒内序列号位的值按照预设步长进行自增;当序列号位溢出,向所述时间戳位进行进位。
可选地,方法还包括:将生成的雪花ID缓存至无锁队列中。
根据本公开的第二方面,提供了一种主键生成装置,包括:定义单元,被配置成基于预设的定义方式定义雪花ID;配置单元,被配置成为不同的节点配置用于自动生成雪花ID的参数;主键生成单元,被配置成响应于获取到节点的业务数据,基于所述参数,自动生成雪花ID作为数据表中标识每条数据的主键。
可选地,基于预设方式定义雪花ID包括:对雪花ID从低位到高位所包括的预设二进制位数进行定义,得到从低位到高位依次包括节点ID位、序列号位、时间戳位和固定位的预定义后的雪花ID。
根据本公开的第三方面,提供了一种计算机可读存储介质,存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面任意一项实现方式所述的主键生成方法。
根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项实现方式所述的主键生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江惠瀜网络科技有限公司,未经浙江惠瀜网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111243186.X/2.html,转载请声明来源钻瓜专利网。





