我有一个开源应用程序github.com/fredzannarbor/pagekicker-community,它为它构建的每个产品(书)创建顺序SKU。 SKU当前使用简单的bash文件增量生成。
sku=`tail -1 < "$LOCAL_DATA""SKUs/sku_list"`
echo "sku" $sku
当我是唯一一个运行该软件的人时,这很好,但现在它正在被其他人使用,我不希望SKU碰撞成为可能。默认情况下,每个SKU都应具有唯一的“根”,即软件的每次安装都应创建不与其他软件安装创建的SKU冲突的唯一SKU。我无法保证任何给定的安装都会发布或想要将其SKU发布到中央数据库。
我不想使用uuids,因为任何给定安装的SKU都是顺序的,这是有价值的。我想每个安装都可以生成一个单独的uuid并截断它,例如a62351sdg234 ...截断为a62351 {SKU}。但是根源不会真正独一无二 - 根越短,碰撞的风险就越大。
我该如何做到这一点?