一种识别码的生成方法和装置以及识别码应用方法

文档序号:6432341阅读:343来源:国知局
专利名称:一种识别码的生成方法和装置以及识别码应用方法
技术领域
本发明涉及信息技术领域,特别是涉及识别码的生成方法和装置以及识别码应用方法。
背景技术
通用唯一识别码(UniversallyUnique Identifier, UUID)是一个软件建构的标准,亦为自由软件基金会(Open Software Foundation, 0SF)的组织在分布式计算环境 (Distributed Computing Environment, DCE)领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。 如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的⑶ID,即是微软的Microsoft' sGlobally Unique Identifier s (⑶IDs),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS 加密分区区、GN0ME、KDE、Mac OS X等等。另外,也可以在e2fsprogs包中的UUID库找到实现。一组UUID,系由一串16位组(亦称16字节,或1 位)的16进位数字所构成,是故UUID理论上的总数为216x8 = 2128,约等于3. 4x1038o也就是说若每奈秒产生1兆个UUID, 要花100亿年才会将所有UUID用完。UUID的标准型式包含32个16进位数字,以连字号分为五段,形式为8-4_4-4_12 的 32 个字符。示例;550e8400-d9b-41d4-a716-44665M40000。使用UUID的好处在分布式的软件系统中(比如DCE/RPC,COM+, C0RBA)就能体现出来,它能保证每个节点所生成的标识都不会重复,并且随着WEB服务等整合技术的发展, UUID的优势将更加明显。通用唯一标识符还可以用来指向大多数的可能的物体。微软和其他一些软件公司都倾向使用全球唯一标识符(⑶ID),这也是通用唯一标识符的一种类型, 可用来指向组建对象模块对象和其他的软件组件。有的情况下,一个物体具有一种特殊的“型别”标识,比如针对地理数据中的要素、 要素类、要素属性,天然的在这种物体上隐含有这些特殊的型别;再者在分布式的系统中或者具有数据中心级别的数据操作中,具有同类UUID的物体,需要快速的知道该物体的型别,而不是通过额外的手段去从其它地方获取它的型别, 一是并不知道型别记录在什么地方,二是这种信息的获取也是耗时的,需要从另外的复杂的数据中心做检索。针对上述情况,基于UUID,在其中记录了型别(这种型别是有限的,通常是在一个可以列举的范围内,不能是无限的,否则就破坏了 UUID的发生原则)。使用识别码,通常是在分布式软件系统,或者在异种网络环境唯一标识一种物体的最有效的方法。其次,一种物体一但确定,一般都具有了自生的类型信息。显而易见的,为了解决上述问题,通常的做法是使用UUID作为物体的唯一标识符,同时使用一个相关的附加属性字段来描述该物体的类型。基于此,一个物体需要使用两个部分才能唯一确定一个物体和物体的类型。随之带来的问题是,增加了描述一个物体的复杂度,并在应用场合不得不使用两个数据的配合,同时也增加了在网络环境中传输的数据量。用UUID来唯一标识一个要素类、要素或者要素上的一个属性方面,是已知的公认的做法。就是把每一个实体序列化时都用一个UUID来标识,同时用一个约定的方式规定为具体的类型(上述所说的要素类、要素、要素属性等),然后再根据不同的类型类型指定需要序列化的数据。但是现有的UUID在使用的过程中也有一些不足,一是比较占存储空间,简单的和一个整型相比存储一个UUID要花费更多的空间,二是在网络资源有限的情况下额外的增加了传输的负担。

发明内容
有鉴于此,本发明提供一种识别码的生成方法和装置以及该识别码的应用方法, 使用该识别码就能快速识别出该识别码所代表的物体类型,并加快了信息检索的速度。本发明提供的一种识别码的生成方法,包括产生一个通用唯一识别码UUID,该UUID为16字节(1 位)的二进制数;利用预定的型别标识码对所产生的UUID进行数据重构,得到新的UUID,该新的 UUID携带有所述型别标识。更适宜地,利用预定的型别标识码对所产生的UUID进行数据重构,具体包括按照预定的算法将所述型别标识码分别与所述UUID上的变体位和/或版本位进行运算得到新的变体和/或版本;将所述新的版本和变体写入所产生的UUID对应的位置。本发明提供的一种识别码生成装置,包括UUID生成单元,用于产生一个通用唯一识别码UUID,该UUID为16字节(1 位) 的二进制数;重构单元,利用预定的型别标识码对所产生的UUID进行数据重构,得到新的 UUID,该新的UUID携带有所述型别标识。更适宜地,重构单元具体包括运算模块,按照预定的算法将所述型别标识码分别与所述UUID上的变体位和/或版本位进行运算得到新的变体和/或版本;将所述新的变体和版本写入所述UUID对应的位置。本发明还提供一种利用识别码确定对象类别的方法,采用前述方法产生的通用唯一识别码UUID标示对象,该方法包括获取所述UUID,并从中提取对UUID进行数据重构所涉及的字段;通过所述预定算法的逆运算得到型别标识码;根据所得到型别标识码确定所述对象的类别。综上所述,本发明提供的技术方案,利用类别标示信息对现有的UUID进行数据重构,使得重构后的UUID携带所述类别标示信息,从而实现对象或物体类别的识别。本发明能够充分利用UUID作为唯一识别码的特性,同时在不破环UUID的特性基础上注入了新的数据变量。提出了一种新的数据识别模式和应用方法。在同样的数据中增加了新的信息,减少对物体的描述数据资源量和网络传输量,有力地支撑了在地理环境中海量数据的标识、 存储、传输的一些问题。使用该识别码就能快速识别出该识别码所代表的物体类型。并加快了信息检索的速度。


图1为本发明提供的识别码生成方法流程图;图2为本发明实施例中提供的识别码生成方法流程图;图3为本发明实施例中提供的基于变体和版本位进行UUID重构方法流程图;图4为本发明实施例中提供的识别码生成装置架构示意图;图5为本发明提供的一种利用识别码确定对象类别的方法流程图;图6为本发明实施例中提供的利用识别码确定对象类别的方法流程图。
具体实施例方式为了在保证物体的唯一性必要条件下,尽可能多的保持物体原有的特征以及物体的类型信息,并能够更有效的减少数据的存储和传输,提出一种新的识别码,从识别码的生成到应用能够解决一些现有的不足。鉴于现有技术中存在的问题,本发明提出一种可用于辨别对象或物体类别的识别码的产生方法及装置,以及这种识别的应用方法,利用类别标示信息对现有的UUID进行数据重构,使得重构后的UUID携带所述类别标示信息,从而实现对象或物体类别的识别。而且不占更多的存储空间,不增加额外的传输负荷。参照图1,本发明提供的一种识别码的生成方法,包括如下步骤S01,产生一个通用唯一识别码UUID,该UUID为16字节(1 位)的二进制数;S02,利用预定的型别标识码对所产生的UUID进行数据重构,得到新的UUID,该新的UUID携带有所述型别标识码。步骤S02中,利用预定的型别标识码对所产生的UUID进行数据重构,具体包括(a)按照预定的算法将所述型别标识码分别与所述UUID上的变体位和/或版本位进行运算得到新的变体和/或版本;(b)将所述新的版本和变体写入所产生的UUID对应的位置。具体实施方案中,型别标识码采用8位二进制数,将该型别标识码拆分为高4位和低4位;分别与所述UUID上的变体和版本位进行运算得到新的变体和版本位。采用的运算方法,如,将8位的版本和型别标识码的高4位进行“按位与”或“按位或”的位运算,得到一个新的8位的版本,同理也可对变体做类似的处理。所述的UUID生成方法,进一步包括S03,将所述新的UUID作为要素物体的唯一标识,序列化到存储介质中,数据库, 数据文件。为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。实施例一本实例以地理信息世界中所要表达的物体出发,详细阐述本发明的技术方案。通常在面向地理信息领域时,每一种物体都是一个实体,也就是地球上的一种真实现象,它不能再细分为同一种类型的现象。通常需要对每个实体进行唯一标识的代码,它便于按实体进行存贮或对实体进行逐个查询和检索,以利于在海量的地理环境中的区分不同的物体。除此之外,每个实体还拥有一定的位置、形状、大小、数量或质量诸方面的特征, 以描述所有的呈二维、三维和多维分布的关于区域的现象,这些抽象的来说是用一系列的属性来描述。因此,一个实体,为了尽可能的描述为真实的地理特征,唯一标识码和相关的属性特征是必不可少的。这就引发了一个问题,一个是如何保证这个海量实体数据的唯一性,一是如何快速的了解这些数据的类别,即如何表明这个数据代表的是一个要素类、要素还是
要素属性。通常在UUID中有些位置记录了变体(Variants)和版本(Version),为了达到上述目的,本发明的一个实现方案中,在这两个关键位置做了数据重构,即增加了物体型别信息。具体的步骤如下S-a,使用通常的UUID发生器产生一个UUID ;S-b,规定物体的型别表(如要素1 ;要素类2,要素属性3),即用一个无符号整型数据标识型别,该数据的范围为0 255,共计256个,可用一 8位二进制数表示;S-c,在所产生的UUID上,在变体和版本位上设置型别信息;S-d,将该UUID作为物体的一个唯一标识符,序列化到存储介质中(数据库,数据文件等);在具体应用场合,接收到了该物体的UUID码,通过UUID分析并提取出该物体的型别,在型别表中比照,从而获取了该物体的真实类别,如获取的型别码值为1,则表示是一个要素,可以针对要素作进一步的分析和应用。参照图2,本实施例提供的一种识别码的生成方法,具体的步骤如下SlOl,使用通常的UUID发生器产生一个通用唯一识别码UUID,本质上是一个16字节(1 位)的二进制数,为了便于分析,结构如下表1所示表 权利要求
1.一种识别码的生成方法,其特征在于,包括产生一个通用唯一识别码UUID,该UUID为16字节(1 位)的二进制数; 利用预定的型别标识码对所产生的UUID进行数据重构,得到新的UUID,该新的UUID携带有所述型别标识。
2.如权利要求1所述的UUID生成方法,其特征在于,所述利用预定的型别标识码对所产生的UUID进行数据重构,具体包括按照预定的算法将所述型别标识码分别与所述UUID上的变体位和/或版本位进行运算得到新的变体和/或版本;将所述新的版本和变体写入所产生的UUID对应的位置。
3.如权利要求2所述的UUID生成方法,其特征在于,所述型别标识码为8位二进制数,将所述型别标识码拆分高4位和低4位, 分别与所述UUID上的变体和版本位进行运算得到新的变体和版本位。
4.如权利要求1所述的UUID生成方法,其特征在于,进一步包括将所述新的UUID作为要素物体的唯一标识,序列化到存储介质中,数据库,数据文件。
5.一种识别码生成装置,其特征在于,包括UUID生成单元,用于产生一个通用唯一识别码UUID,该UUID为16字节(1 位)的二进制数;重构单元,利用预定的型别标识码对所产生的UUID进行数据重构,得到新的UUID,该新的UUID携带有所述型别标识。
6.如权利要求5所述的识别码生成装置,其特征在于,所述重构单元,具体包括 运算模块,按照预定的算法将所述型别标识码分别与所述UUID上的变体位和/或版本位进行运算得到新的变体和/或版本;将所述新的变体和版本写入所述UUID对应的位置。
7.如权利要求6所述的识别码生成装置,其特征在于,所述型别标识码为8位二进制数,所述重构单元还包括拆分模块,用于将所述型别标识码拆分高4位和低4位;所述运算模块将所述型别标识码拆分高4位和低4位分别与所述UUID上的变体和版本位进行运算得到新的变体和版本位。
8.如权利要求5所述的识别码生成装置,其特征在于,进一步包括将所述新的UUID作为要素物体的唯一标识,序列化到存储介质中,数据库,数据文件。
9.一种利用识别码确定对象类别的方法,其特征在于,采用如权利要求1至4中任一项所述方法产生的通用唯一识别码UUID标示对象,该方法包括获取所述UUID,并从中提取对UUID进行数据重构所涉及的字段; 通过所述预定算法的逆运算得到型别标识码; 根据所得到型别标识码确定所述对象的类别。
10.如权利要求9所述的方法,其特征在于,所涉及的字段为变体位和/或版本。
全文摘要
本发明提供了一种识别码的生成方法,包括产生一个通用唯一识别码UUID;利用预定的型别标识码对该UUID进行数据重构,得到新的UUID,该新的UUID携带有型别标识。本发明提供的一种识别码生成装置,包括UUID生成单元,用于产生一个UUID;重构单元,利用预定的型别标识码对UUID进行数据重构,得到包含型别标识的新UUID。还提供一种利用识别码确定对象类别的方法,采用本发明提供的UUID标示对象。本发明在同样的数据中增加了新的信息,减少对物体的描述数据资源量和网络传输量,有力地支撑了海量数据的标识、存储、传输的一些问题。使用该识别码就能快速识别出该识别码所代表的物体类型,并加快了信息检索的速度。
文档编号G06K19/06GK102298716SQ20111025914
公开日2011年12月28日 申请日期2011年9月2日 优先权日2011年9月2日
发明者史明昌, 孙成宝, 曹刚, 李团宏, 李嵩, 黄兆伟 申请人:北京地拓科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1