一种在分布式系统中生成唯一键的方法、装置及系统制造方法及图纸

技术编号:10090345 阅读:257 留言:0更新日期:2014-05-28 13:22
本发明专利技术公开了一种在分布式系统中生成唯一键的方法、装置及系统,唯一键分配装置接收分布式系统中的节点请求分配唯一健的请求;唯一键分配装置为节点分配唯一键;唯一键为长整型的数据类型,并且包括标识节点的分布式标识的多个比特;分布式系统中的每个节点的分布式标识为唯一值。本发明专利技术的分布式系统中生成唯一键的方法、装置及系统,生成包括节点的分布式标识的长整型唯一键,适应大规模分布式系统;唯一键的生成与外部环境无关,可以适应慢速、高延迟网络环境,并且,生成的键值采用64位长整型方式,存储开销小,唯一键大体上基于时序分布,可以保证键值的单向递增,可以进行比较、范围、排序处理。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种在分布式系统中生成唯一键的方法、装置及系统,唯一键分配装置接收分布式系统中的节点请求分配唯一健的请求;唯一键分配装置为节点分配唯一键;唯一键为长整型的数据类型,并且包括标识节点的分布式标识的多个比特;分布式系统中的每个节点的分布式标识为唯一值。本专利技术的分布式系统中生成唯一键的方法、装置及系统,生成包括节点的分布式标识的长整型唯一键,适应大规模分布式系统;唯一键的生成与外部环境无关,可以适应慢速、高延迟网络环境,并且,生成的键值采用64位长整型方式,存储开销小,唯一键大体上基于时序分布,可以保证键值的单向递增,可以进行比较、范围、排序处理。【专利说明】—种在分布式系统中生成唯一键的方法、装置及系统
本专利技术涉及分布式系统
,尤其涉及一种在分布式系统中生成唯一键的方法、装置及系统。
技术介绍
唯一键生成方法被广泛应该于各种WEB系统、数据库系统、应用系统,为各种系统的正常运行提供了保障;在分布式系统出现后,又出现了各种分布式唯一键生成方法。唯一键生成器已经成为所有系统中都不可或缺的一部分。目前,唯一键生成方法中的集中唯一键生成方法,存在如下问题:I)存在单点故障。2)无法适应大规模分布式系统。3)在慢速、高延迟网络环境下,可能会导致严重问题。而分布式唯一键生成方法,包括:UUID等。这种方式存在如下缺点:I)生成的键值采用文本方式,存储开销大。2)生成的键值随机分布,不便于基于此键值进行比较、范围、排序处理。考虑到传统方法的上述弊端,需要一种新的分布式唯一键生成方法,以解决分布式系统中唯一键生成的问题。【
技术实现思路
】有鉴于此,本专利技术要解决的一个技术问题是提供一种在分布式系统中生成唯一键的方法,生成包括节点的分布式标识的长整型唯一键。一种在分布式系统中生成唯一键的方法,包括:唯一键分配装置接收分布式系统中的节点请求分配唯一健的请求;所述唯一键分配装置为所述节点分配唯一键;所述唯一键为长整型的数据类型,并且包括标识所述节点的分布式标识的多个比特;其中,分布式系统中的每个节点的分布式标识为唯一值。根据本专利技术的方法的一个实施例,进一步的,所述唯一键的最高位为符号位,所述符号位的值恒为O。根据本专利技术的方法的一个实施例,进一步的,所述唯一键还包括:标识时间戳的多个比特;其中,所述时间戳为当前的时间减去一个初始设置的时间戳。根据本专利技术的方法的一个实施例,进一步的,所述唯一键还包括:标识序列号的多个比特;其中,所述序列号采用单调递增的正整数。根据本专利技术的方法的一个实施例,进一步的,所述唯一键为具有64个比特的长整型,以O至63标识所述唯一键的每一位;最高第O位为符号位,值恒为O ;第I至32位标识时间戳;所述时间戳的单位为秒,为当前的时间减去一个初始设置的时间戳;第33位至50位标识当前Is时间内序列器的值,所述序列器每秒进行更新,采用单调递增序列;第51位至63位标识所述节点分布式标识。本专利技术要解决的一个技术问题是提供一种在分布式系统中生成唯一键的装置,生成包括节点的分布式标识的长整型唯一键。一种分布式系统的唯一键生成装置,包括:分配请求接收单元,用于接收到分布式系统中的节点请求分配唯一健的请求;分布式标识生成单元,为分布式系统中的每个节点生成唯一的分布式标识;唯一键分配单元,用于为所述节点分配唯一键;所述唯一键为长整型的数据类型,并且包括标识所述节点的分布式标识的多个比特。根据本专利技术的装置的一个实施例,进一步的,所述唯一键最高位为符号位,所述符号位的值恒设定为O。根据本专利技术的装置的一个实施例,进一步的,还包括时间戳生成单元,用于生成标识时间戳的多个比特;其中,所述时间戳为当前的时间减去一个初始设置的时间戳;所述唯一键包括所述标识时间戳的多个比特。根据本专利技术的装置的一个实施例,进一步的,还包括序列号生成单元,用于生成标识序列号的多个比特;其中,所述序列号采用单调递增的正整数,所述唯一键包括所述标识序列号的多个比特。根据本专利技术的装置的一个实施例,进一步的,所述唯一键为具有64个比特的长整型,以O至63标识所述唯一键的每一位;所述最高位设置单元将最高第O位的值恒设定为O ;时间戳生成单元生成16比特的时间戳;所述唯一键的第I至32位标识时间戳;所述时间戳的单位为秒,为当前的时间减去一个初始设置的时间戳;所述序列号生成单元生成18比特的序列号;所述唯一键的第33位至50位标识序列号;所述序列号生成单元每秒都进行更新,所生成的序列号采用单调递增序列;分布式标识生成单元生成13比特的节点分布式标识;所述唯一键的第51位至63位标识所述节点分布式标识。一种分布式系统,包括如上所述的分布式系统的唯一键生成装置。本专利技术的分布式系统中生成唯一键的方法、装置及系统,生成包括节点的分布式标识的长整型唯一键,适应大规模分布式系统;唯一键的生成与外部环境无关,可以适应慢速、高延迟网络环境,并且,生成的键值采用64位长整型方式,存储开销小,唯一键大体上基于时序分布,可以保证键值的单向递增,可以进行比较、范围、排序处理。【专利附图】【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为根据本专利技术的在分布式系统中生成唯一键的方法的一个实施例的流程图;图2为根据本专利技术的唯一键的一个实施例的示意图;图3为根据本专利技术的分布式系统的唯一键生成装置的一个实施例的示意图;图4为根据本专利技术的分布式系统的唯一键生成装置的另一个实施例的示意图。【具体实施方式】下面参照附图对本专利技术进行更全面的描述,其中说明本专利技术的示例性实施例。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合各个图和实施例对本专利技术的技术方案进行多方面的描述。在分布式系统中,为了得到唯一键,一般有两种方案:I)在中心节点(非分布的)进行唯一键生成,每个分布式节点向中心节点请求唯一键或者唯一键范围。2)每个分布式节点独立的生成唯一键,这个要求方法保证多个节点上生成的键互不重复。第一种方案,也叫做集中唯一键生成方法,包括:序列器方式、随机数方式等。大多数据库系统都内置支持此方法,如Oracle的SEQ序列器、PostgreSQL的SERIAL type、MySQL的自增长主键等。这种方式存在如下缺点:I)存在单点故障。2)无法适应大规模分布式系统。3)在慢速、高延迟网络环境下,可能会导致严重问题。第二种方案,也叫做分布式唯一键生成方法,包括:UUID等。这种方式存在如下缺占-^ \\\.I )生成的键值采用文本方式,存储开销大。2)生成的键值随机分布,不便于基于此键值进行比较、范围、排序处理。考虑到传统方法的上述弊端,本专利技术提出了一种新颖的分布式唯一键生成方法,以解决分布式系统中唯一键生成的问题。图1为根据本专利技术的本文档来自技高网
...

【技术保护点】
一种在分布式系统中生成唯一键的方法,其特征在于,包括:唯一键分配装置接收分布式系统中的节点请求分配唯一健的请求;所述唯一键分配装置为所述节点分配唯一键;所述唯一键为长整型的数据类型,并且包括标识所述节点的分布式标识的多个比特;其中,分布式系统中的每个节点的分布式标识为唯一值。

【技术特征摘要】

【专利技术属性】
技术研发人员:章军赵洪波唐维李文宇田朝文贾海燕冯晓东张鉴赵敬谦常力元俞韶桢
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1