标识生成方法、装置、设备及存储介质与流程

文档序号:34087963发布日期:2023-05-07 01:49阅读:27来源:国知局
标识生成方法、装置、设备及存储介质与流程

本公开涉及计算机,尤其涉及一种标识生成方法、装置、设备及存储介质。


背景技术:

1、雪花算法是一种生成标识(identity document,id)的算法,雪花算法支持多个标识生成应用分布式部署并同时工作,能够每秒生成上百万的id且不会重复。在多个标识生成应用构成的雪花算法应用中,为了保证多个标识生成应用生成的id不会冲突,可以通过给每个标识生成应用分配不同的工作机器标识worker id,但是,如果某些标识生成应用的工作机器标识相同,则雪花算法生成的id就无法完全避免冲突。因此,工作机器标识的正确设置,是保证雪花算法正确运行的关键。

2、相关技术中,工作机器标识通常依靠标识生成应用所在的宿主机器的ip(internet protocol)地址取模映射至一个小空间(按照雪花算法的规范,通常是10个bit,1~1023),这种空间映射的方式往往无法完全避免生成的id冲突,而且在容器化微服务部署场景中,多个标识生成应用可以共享一台宿主机器,也会导致生成的id冲突。


技术实现思路

1、为了解决上述技术问题,本公开提供了一种标识生成方法、装置、设备及存储介质。

2、本公开实施例的第一方面提供了一种标识生成方法,应用于kubernetes平台,该方法包括:

3、响应于服务单元发送的雪花标识生成请求,获取kubernetes平台中的statefulset控制器生成的服务单元对应的目标主机名称;

4、基于目标主机名称,确定服务单元对应的目标机器标识;

5、将目标机器标识发送至服务单元,以使服务单元基于目标机器标识生成雪花标识。

6、本公开实施例的第二方面提供了一种标识生成装置,应用于kubernetes平台,该装置包括:

7、获取模块,用于响应于服务单元发送的雪花标识生成请求,获取kubernetes平台中的statefulset控制器生成的服务单元对应的目标主机名称;

8、确定模块,用于基于目标主机名称,确定服务单元对应的目标机器标识;

9、发送模块,用于将目标机器标识发送至服务单元,以使服务单元基于目标机器标识生成雪花标识。

10、本公开实施例的第三方面提供了一种标识生成设备,该设备包括存储器和处理器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,可以实现上述第一方面的标识生成方法。

11、本公开实施例的第四方面提供了一种计算机可读存储介质,存储介质中存储有计算机程序,当计算机程序被处理器执行时,可以实现上述第一方面的标识生成方法。

12、本公开实施例提供的技术方案与现有技术相比具有如下优点:

13、本公开实施例,通过响应于服务单元发送的雪花标识生成请求,获取kubernetes平台中的statefulset控制器生成的服务单元对应的目标主机名称;基于目标主机名称,确定服务单元对应的目标机器标识;将目标机器标识发送至服务单元,以使服务单元基于目标机器标识生成雪花标识,可以通过statefulset的方式部署雪花算法对应的应用服务,将基于服务单元对应的主机名称确定的机器标识作为雪花算法的工作机器标识,生成雪花标识,可以保证雪花算法的工作机器标识在容器化微服务部署环境中的唯一性,避免使生成的雪花标识冲突,可以容许服务单元重启或机器漂移,在成熟的kubernetes平台中应用,实现简单方便,提高了雪花算法生成标识的准确性和稳定性。



技术特征:

1.一种标识生成方法,其特征在于,应用于kubernetes平台,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述响应于服务单元发送的雪花标识生成请求,获取所述kubernetes平台中的statefulset控制器生成的所述服务单元对应的目标主机名称,包括:

3.根据权利要求1所述的方法,其特征在于,所述基于所述目标主机名称,确定所述服务单元对应的目标机器标识,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于所述目标主机名称中的序号,确定所述服务单元对应的目标机器标识,包括:

5.根据权利要求1所述的方法,其特征在于,所述服务单元基于statefulset管理方式容器化微服务部署在所述kubernetes平台中。

6.根据权利要求1所述的方法,其特征在于,所述statefulset控制器在每个服务单元启动时为所述服务单元分配唯一的主机名称,所述服务单元重启时对应的主机名称保持不变。

7.根据权利要求1所述的方法,其特征在于,所述服务单元包括所述kubernetes平台中的pod单元,每个所述pod单元包括一个容器,每个所述容器中运行一个标识生成应用程序。

8.一种标识生成装置,其特征在于,应用于kubernetes平台,所述装置包括:

9.一种标识生成设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述的标识生成方法。


技术总结
本公开涉及一种标识生成方法、装置、设备及存储介质。本公开实施例,通过响应于服务单元发送的雪花标识生成请求,获取Kubernetes平台中的StatefulSet控制器生成的服务单元对应的目标主机名称;基于目标主机名称,确定服务单元对应的目标机器标识;将目标机器标识发送至服务单元,以使服务单元基于目标机器标识生成雪花标识,可以通过StatefulSet的方式部署雪花算法对应的应用服务,将基于服务单元对应的主机名称确定的机器标识作为雪花算法的工作机器标识,生成雪花标识,可以保证雪花算法的工作机器标识在容器化微服务部署环境中的唯一性,避免使生成的雪花标识冲突,在成熟的Kubernetes平台中应用,实现简单方便,提高了雪花算法生成标识的准确性和稳定性。

技术研发人员:李良斌
受保护的技术使用者:北京声智科技有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1