本文中的算法采用twitter的snowflake算法,具體請搜尋介紹,原來是用Scala寫的,因我項目需要,改寫成C++語言,主要用于高效的生成唯一的ID, 核心算法就是毫秒級時間(41位)+機器ID(10位)+毫秒内序列(12位).
網上也有好多PHP寫的插件子產品,核心用了網絡通訊将生成的ID發送給PHP使用,沒深入研究PHP的子產品寫法。
廢話不多說了,還是直接上代碼好了。
uuid.h
uuid.cpp
這樣的唯一ID就可以用來表示你系統中使用的例如物品唯一ID,坐騎唯一ID等等資料,友善記錄和追蹤。