如何生成可按时间排序的唯一ID?

问题描述

是否有一种方法可以生成一个通用的唯一ID,该ID总是在其生成的“时间”之前增加值?我们只能为这个问题假设UTC时区。

我特指具有类似时间的排序功能的是:

from time import sleep

id1 = generate_unique_id()
sleep(1)

id2 = generate_unique_id()
sleep(1)

id3 = generate_uniqueid()

assert id1 < id2
assert id2 < id3

因此id1可以是"abcdefgh-ksfn-123",id2可以是"abcdefgh-ksfn-231",等等。

我真的不希望直接将UTC时间戳用作ID,因为它确实包含一些信息,我希望不会向使用此ID的用户公开。我们还可以假设此ID将同时生成,即,对于两个单独的执行,时间参数可能是相同的(机会很小,但确实存在),但是ID应该不同。

Python / 3rd party模块中已经存在类似的东西吗? 如果不是,最好的方法是什么?甚至有可能生成这样的ID吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)