我想要创建9位数字的数字‘d,在不同的机器上是独一无二的。我目前正在使用数据库序列,但我想知道是否可以不使用数据库序列。序列将用于X12 EDI事务,因此它们不必永远是唯一的。也许只有24小时是独一无二的。
我唯一的想法是:
我最大的问题是如果硬盘坏了该怎么办。我不知道它停在哪里了。
我所有的其他想法基本上都是重新创建一个集中的数据库序列。
有什么想法吗?
发布于 2009-07-27 04:19:55
如果HD失败,您只需设置新的和未使用的2位服务器标识符,并确保该数字是唯一的(至少24小时)。
发布于 2009-07-27 04:33:03
以下内容
{XX}{dd}{HHmm}{N}其中{XX}是机器号{dd}是月份{HHmm}当前时间(24小时)的日期,{N}是顺序编号。
一个hd崩溃将需要超过一分钟,所以从0开始再次不是一个问题。
还可以根据需要将{dd}替换为{ss}数秒。每分钟的唯一性期与请求。
发布于 2009-07-27 04:14:52
如何生成GUID (确保唯一性),然后使用某种哈希函数将GUID转换为9位数字?
就在我头顶上..。
https://stackoverflow.com/questions/1186387
复制相似问题