def generate_snowflake_id(timestamp: int, worker_id: int, sequence: int) -> int:
"""
生成雪花算法ID
Args:
timestamp: 时间戳,单位毫秒
worker_id: 工作节点ID,范围0-1023
sequence: 序列号,范围0-4095
Returns:
雪花算法ID
"""
timestamp_left_shift = timestamp << 22
worker_id_left_shift = worker_id << 17
sequence_left_shift = sequence << 12
snowflake_id = timestamp_left_shift | worker_id_left_shift | sequence_left_shift
return snowflake_id
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。