【技术实现步骤摘要】
一种生成分布式系统中唯一标识的方法
本专利技术涉及Web应用与开发
,具体涉及一种生成分布式系统中唯一标识的方法。
技术介绍
UUID是通用唯一识别码(UniversallyUniqueIdentifier),在其他语言中也叫GUID,可以生成一个长度32位的全局唯一识别码。UUID虽然可以保证全局唯一,但占用32位有些太长,并且是无序的,入库时性能比较差。分布式系统(distributedsystem)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。UUID虽然可以保证全局唯一,如果我们的插入完全无序,不但会导致一些中间节点产生分裂,也会白白创造出很多不饱和的节点,这样大大降低了数据库插入的性能。本专利技术以时间戳、工作机器ID、序列号为基本组成元素,通过算法自动快速生成有序的唯一标识,解决了分布式系统中唯一标识生成的无序性且入库性能差的问题,可广泛应用于WEB应用与开发过程中。
技术实现思路
本专利技术解决的技术问题在于提供一种生成分布式系 ...
【技术保护点】
1.一种生成分布式系统中唯一标识的方法,其特征在于:所述的方法包含以下几个步骤:/n步骤一、确定生成唯一标识组成元素;/n步骤二、确定生成变量;/n步骤三、编写生成唯一标识构造函数;/n步骤四、采用保证线程安全的方式编写获取下一个ID的函数;/n步骤五、调用生成函数并执行。/n
【技术特征摘要】
1.一种生成分布式系统中唯一标识的方法,其特征在于:所述的方法包含以下几个步骤:
步骤一、确定生成唯一标识组成元素;
步骤二、确定生成变量;
步骤三、编写生成唯一标识构造函数;
步骤四、采用保证线程安全的方式编写获取下一个ID的函数;
步骤五、调用生成函数并执行。
2.根据权利要求1所述的一种生成分布式系统中唯一标识的方法,其特征在于:所述的步骤一中,生成唯一标识元素包括时间戳,工作机器ID,序列号;时间戳占用41bit,精确到毫秒,总共可以容纳约69年的时间;工作机器id占用10bit,其中高位5bit是数据中心ID(dataCenterId),低位5bit是工作节点ID(workerId),做多可以容纳1024个节点;序列号占用12bit,这个值在同一毫秒同一节点上从0开始不断累加,最多可以累加到4095。
3.根据权利要求1所述的一种生成分布式系统中唯一标识的方法,其特征在于:所述的步骤二中,确定生成初始变量,包括初始时间戳、机器ID点位数、数据标识ID占位数,支持的最大机器ID,支持的最大数据标识ID,序列在id中占...
【专利技术属性】
技术研发人员:丁继锋,张来卿,庞严冬,
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。