zoukankan      html  css  js  c++  java
  • linux 的uuid码

    在提到这个之前,有个概念,就是什么是uuid呢?

    UUID码全称是通用唯一识别码 (Universally Unique Identifier, UUID),它 是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。

    UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。它会让网络任何一台计算机所生成的uuid码,都是互联网整个服务器网络中唯一的。它的原信息会加入硬件,时间,机器当前运行信息等等。

    UUID格式是:包含32个16进位数字,以“-”连接号分为五段,形式为8-4-4-4-12的32个字符。范例;550e8400-e29b-41d4-a716-446655440000 ,所以:UUID理论上的总数为216 x 8=2128,约等于3.4 x 1038。 也就是说若每奈秒产生1兆个UUID,要花100亿年才会将所有UUID用完。

    其实,大家做数据库设计时候,肯定听说过,guid(全局唯一标识符)码,它其实是与uuid类似,由微软支持。 这里编码,基本有操作系统内核产生。大家记得把,在windows里面,无论数据库,还是其它软件,很容易得到这个uuid编码。

    linux 的uuid码

    linux的uuid码也是有内核提供的,在/proc/sys/kernel/random/uuid这个文件内。其实,random目录,里面还有很多其它文件,都与生成uuid有关系的。

    [chengmo@centos5 ~/shell]$ cat /proc/sys/kernel/random/uuid
    dff68213-b700-4947-87b1-d9e640334196
    [chengmo@centos5 ~/shell]$ cat /proc/sys/kernel/random/uuid
    7b57209a-d285-4fd0-88b4-9d3162d2e1bc
    #连续2次读取,得到的uuid是不同的

    [chengmo@centos5 ~/shell]$ cat /proc/sys/kernel/random/uuid| cksum | cut -f1 -d" "
    2141807556
    #同上方法得到随机整数

  • 相关阅读:
    HDFS Java Client对hdfs文件增删查改
    Linux du查询文件大小
    Algorithms(4th)谢路云译大纲总结(附实现源码)
    百度开源e-chart初探
    由于java.util.Arrays.asList(...)导致的异常
    插入排序(1)——直接插入排序(insert sort)
    选择排序(2)——堆排序(heap sort)
    选择排序(1)——简单选择排序(selection sort)
    交换排序(2)——冒泡排序(bubble sort)
    ※交换排序(1)——快速排序(quick sort)
  • 原文地址:https://www.cnblogs.com/phpfans/p/5087899.html
Copyright © 2011-2022 走看看