当前位置: 首页 > 专利查询>卢成伟专利>正文

一种全局唯一标识符GUID生成方法及装置制造方法及图纸

技术编号:19056799 阅读:23 留言:0更新日期:2018-09-29 12:10
本发明专利技术公开了一种全局唯一标识符GUID生成方法及装置,该方法包括:获取待标记对象的位置坐标,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,将所述二进制长度小于128位的数值,作为所述GUID,其中,由于GUID的二进制长度小于128位,小于现有技术中的GUID的二进制的长度,因此,缩短了现有技术中GUID的二进制长度,减小了占用空间。

【技术实现步骤摘要】
一种全局唯一标识符GUID生成方法及装置
本专利技术涉及通信
,具体涉及一种全局唯一标识符GUID生成方法及装置。
技术介绍
全局唯一标识符(GloballyUniqueIdentifier,GUID),是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。主要可以用于在拥有多个节点、多台计算机的网络或系统中,让分布式系统中的所有元素,都能有唯一的辨识资讯。但是,现有技术中,GUID二进制长度较长,占用空间较大。
技术实现思路
本专利技术的目的在于提供一种GUID生成方法及装置,用以解决现有技术中的GUID二进制长度较长,占用空间较大的问题。为实现上述目的,本专利技术的技术方案为:第一,本专利技术提供一种GUID生成方法,所述方法包括:获取待标记对象的位置坐标;根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;将所述二进制长度小于128位的数值,作为所述GUID。进一步的,所述位置坐标中的各维度数据,分别为经度和纬度。进一步的,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,具体包括:根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;其中,所述第一公式为:第七数值=第一数值*180+第四数值;所述第二公式为:第八数值=第二数值&lt;&lt;18|第三数值&lt;&lt;12|第五数值&lt;&lt;16|第六数值&0x00FFFFFF。进一步的,将所述二进制长度小于128位的数值,作为所述GUID之后,所述方法包括:将所述GUID解析为位置坐标。第二,本专利技术提供一种GUID生成装置,所述装置包括获取模块,用于获取待标记对象的位置坐标;转化模块,用于根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;确定模块,用于将所述二进制长度小于128位的数值,作为所述GUID。进一步的,所述位置坐标中的各维度数据,分别为经度和纬度。进一步的,所述转化模块,具体用于:根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;其中,所述第一公式为:第七数值=第一数值*180+第四数值;所述第二公式为:第八数值=第二数值&lt;&lt;18|第三数值&lt;&lt;12|第五数值&lt;&lt;16|第六数值&0x00FFFFFF。进一步的,所述装置还包括解析模块,用于:在所述确定模块将所述二进制长度小于128位的数值,作为所述GUID之后,将所述GUID解析为位置坐标。本专利技术具有如下优点:通过获取待标记对象的位置坐标,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,将所述二进制长度小于128位的数值,作为所述GUID,其中,由于GUID的二进制长度小于128位,小于现有技术中的GUID的二进制的长度,因此,缩短了现有技术中GUID的二进制长度,减小了占用空间。附图说明图1为本专利技术提供的一种GUID生成方法的流程示意图;图2为本专利技术提供的一种具体的GUID生成方法的流程示意图;图3为本专利技术提供的一种GUID生成装置的结构示意图。具体实施方式以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。实施例1为了解决现有技术中的GUID二进制长度较长,占用空间较大的问题,本专利技术实施例1提供一种GUID生成方法,该方法的流程示意图可参见图1,该方法包括下述步骤:步骤101,获取待标记对象的位置坐标。步骤102,根据预设规则,将位置坐标,转化为二进制长度小于128位的数值。步骤103,将二进制长度小于128位的数值,作为GUID。上述位置坐标中的各维度数据,分别可以为经度和纬度。若待标记对象是虚拟的,非实体,则可将某一虚拟系统中的所有待标记对象,赋予不重复的位置坐标。若上述位置坐标中的各维度数据,分别为经度和纬度,则根据预设规则,将位置坐标,转化为二进制长度小于128位的数值的实现方式如下:(1)根据经度和纬度,获取经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值。其中,由于东经和西经可能存在数值相同的情况,南纬和北纬可能存在数值相同的情况,为了区别开来,可以事先设定,东经在度这一精度上的取值范围为0~180度,西经在度这一精度上的取值范围为181~360度,或者,东经在度这一精度上的取值范围为181~360度,西经在度这一精度上的取值范围为0~180度;南纬在度这一精度上的取值范围为0~90度,北纬在度这一精度上的取值范围为91~180度,或者,南纬在度这一精度上的取值范围为91~180度,北纬在度这一精度上的取值范围为0~90度。(2)根据第一公式,计算出第七数值,其中,第七数值对应的二进制长度为16位。其中,第一公式为:第七数值=第一数值*180+第四数值。(3)根据第二公式,计算出第八数值,其中,第八数值对应的二进制长度为24位。第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<16|第六数值&0x00FFFFFF。(4)将第七数值排列在第八数值前面得到的数值,作为二进制长度小于128位的数值。综上,最终得到的二进制长度小于128位的数值,二进制长度为40位。在执行步骤103之后,可根据GUID获取到待标记对象所在的位置坐标,即可以将GUID解析为位置坐标。若位置坐标中的各维度数据,分别为经度和纬度,则可采用下述方法解析:(1)根据第三公式,获取第一数值,其中,第三公式为:第一数值=[第七数值/180]。(2)根据第四公式,获取第三数值,其中,第四公式为:第四数值=第七数值%180。(3)根据第五公式,获取第二数值,其中,第五公式为:第二数值=(第八数值&0xFC0000)&gt;&gt;18。(4)根据第六公式,获取第四数值,其中,第六公式为:第三数值=(第八数值&0x3F000)&gt;&gt;12。(5)根据第七公式,获取第五数值,其中,第七公式为:第五数值=(第八数值&0xFC0)&gt;&gt;6。(6)根据第八公式,获取第三数值,其中,第八公式为:第本文档来自技高网...

【技术保护点】
1.一种全局唯一标识符GUID生成方法,其特征在于,所述方法包括:获取待标记对象的位置坐标;根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;将所述二进制长度小于128位的数值,作为所述GUID。

【技术特征摘要】
1.一种全局唯一标识符GUID生成方法,其特征在于,所述方法包括:获取待标记对象的位置坐标;根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;将所述二进制长度小于128位的数值,作为所述GUID。2.如权利要求1所述的方法,其特征在于,所述位置坐标中的各维度数据,分别为经度和纬度。3.如权利要求2所述的方法,其特征在于,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,具体包括:根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;其中,所述第一公式为:第七数值=第一数值*180+第四数值;所述第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<16|第六数值&0x00FFFFFF。4.如权利要求1所述的方法,其特征在于,将所述二进制长度小于128位的数值,作为所述GUID之后,所述方法包括:将所述GUID解析为位置坐标。5...

【专利技术属性】
技术研发人员:卢成伟
申请(专利权)人:卢成伟
类型:发明
国别省市:北京,11

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

1