Как сделать, чтобы распределенные установки генерировали уникальные SKU?
У меня есть приложение с открытым исходным кодом 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}. Но тогда корни не будут по-настоящему уникальными - чем корнее корень, тем больше риск столкновения.
Как я могу сделать это?