CN108595392B - 一种全局唯一标识符guid生成方法及装置 - Google Patents

一种全局唯一标识符guid生成方法及装置 Download PDF

Info

Publication number
CN108595392B
CN108595392B CN201810422203.8A CN201810422203A CN108595392B CN 108595392 B CN108595392 B CN 108595392B CN 201810422203 A CN201810422203 A CN 201810422203A CN 108595392 B CN108595392 B CN 108595392B
Authority
CN
China
Prior art keywords
value
guid
numerical value
bits
latitude
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810422203.8A
Other languages
English (en)
Other versions
CN108595392A (zh
Inventor
卢成伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201810422203.8A priority Critical patent/CN108595392B/zh
Publication of CN108595392A publication Critical patent/CN108595392A/zh
Application granted granted Critical
Publication of CN108595392B publication Critical patent/CN108595392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种全局唯一标识符GUID生成方法及装置,该方法包括:获取待标记对象的位置坐标,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,将所述二进制长度小于128位的数值,作为所述GUID,其中,由于GUID的二进制长度小于128位,小于现有技术中的GUID的二进制的长度,因此,缩短了现有技术中GUID的二进制长度,减小了占用空间。

Description

一种全局唯一标识符GUID生成方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种全局唯一标识符GUID生成方法及装置。
背景技术
全局唯一标识符(Globally Unique Identifier,GUID),是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。主要可以用于在拥有多个节点、多台计算机的网络或系统中,让分布式系统中的所有元素,都能有唯一的辨识资讯。
但是,现有技术中,GUID二进制长度较长,占用空间较大。
发明内容
本发明的目的在于提供一种GUID生成方法及装置,用以解决现有技术中的GUID二进制长度较长,占用空间较大的问题。
为实现上述目的,本发明的技术方案为:
第一,本发明提供一种GUID生成方法,所述方法包括:
获取待标记对象的位置坐标;
根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;
将所述二进制长度小于128位的数值,作为所述GUID。
进一步的,所述位置坐标中的各维度数据,分别为经度和纬度。
进一步的,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,具体包括:
根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;
根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;
根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;
将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;
其中,所述第一公式为:第七数值=第一数值*180+第四数值;
所述第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<16|第六数值&0x00FFFFFF。
进一步的,将所述二进制长度小于128位的数值,作为所述GUID之后,所述方法包括:
将所述GUID解析为位置坐标。
第二,本发明提供一种GUID生成装置,所述装置包括
获取模块,用于获取待标记对象的位置坐标;
转化模块,用于根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;
确定模块,用于将所述二进制长度小于128位的数值,作为所述GUID。
进一步的,所述位置坐标中的各维度数据,分别为经度和纬度。
进一步的,所述转化模块,具体用于:
根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;
根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;
根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;
将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;
其中,所述第一公式为:第七数值=第一数值*180+第四数值;
所述第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<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)>>18。
(4)根据第六公式,获取第四数值,其中,第六公式为:第三数值=(第八数值&0x3F000)>>12。
(5)根据第七公式,获取第五数值,其中,第七公式为:第五数值=(第八数值&0xFC0)>>6。
(6)根据第八公式,获取第三数值,其中,第八公式为:第六数值=第八数值&0x3F。
其中,根据第一数值~第三数值,便可获取到经度,根据第四数值~第六数值,便可获取到纬度。
本发明实施例1中,需要说明的是,GUID的总数是2^40个,GUID的产生是非随机的,和待标记对象的位置坐标有关,因为空间不能重叠,在一定的精度要求下,可保证GUID具备唯一性。
GUID分为两部分,第一部分和第二部分,第一部分便为上文中提及的第七数值,第二部分便为上文中提及的第八数值,GUID的格式可以为:第一部分-第二部分,其中,若GUID用十六进制来表示,则上述格式可表示为XXXX-XXXXX,那么每个X可以是0~9,或a~f范围内的一个十六进制的数字。
GUID的第一部分,是由经度的度和纬度的度分别对应的数值生成的,用户可以根据实际需求,确定是否仅仅只计算第一部分,将第一部分确定为GUID。
GUID的第二部分,是有经度和纬度的分、秒分别对应的数值生成的,用户可根据实际需求,确定使用精度是否精确到秒或者更小。若用户想要将经度提高到微秒或毫秒,那么,可以用上文提及的算法,来计算出GUID,此处不再进行赘述,只不过最终得到的GUID的二进制长度会大于40,但是依然小于128。
其中,可将上述第一部分称为主码,将上述第二部分称为次码。那么,上述GUID的格式可以为主码-次码。主码对应的经纬度中的度的数值,用于粗略定位待标记对象的位置,次码对应的经纬度中的分、秒的数值,用于精确定位待标记对象的位置,若对待标记对象的位置要求不精确,可获取精度到度的经纬度,以主码作为GUID;若对待标记对象的位置要求精确,可以获取精度到秒的经纬度,以主码-次码作为GUID。
GUID的范围为[0x0000000000,0xFD1FEFBEFB]。
二进制长度为40位的最大数值为0xFFFFFFFFFF,GUID的保留值位于(0xFD1FEFBEFB,0xFFFFFFFFFF)之间,用户可以根据实际情况进行设置。
另外,本发明实施例1中,位置坐标除了可以为经度和纬度外,还可以是其他任意类型的物理坐标,生成方法参见上文提及的方法,这里不再赘述,其中,需要说明的是,上述其他任意类型的物理坐标,可能不具有唯一性,所以生成的位局部的GIUD,用于在某一系统中进行标识使用。
通过获取待标记对象的位置坐标,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,将所述二进制长度小于128位的数值,作为所述GUID,其中,由于GUID的二进制长度小于128位,小于现有技术中的GUID的二进制的长度,因此,缩短了现有技术中GUID的二进制长度,减小了占用空间。
另外,现有技术中,生成GUID的算法比较复杂,一般在电脑端上使用,并且因为使用了时钟计数,还要求使用GUID的设备具有一定精度的时钟系统,限制了现有技术中的生成GUID的算法的使用范围。现有技术中,不同的操作系统,产生的GUID是不同的,无法统一使用,只能在某一系统中使用。然而,本发明实施例1中提供的GUID生成方法,使用的仅仅为较为简单的运算,对设备没要求,适用范围较广。且,本发明实施例1提供的GUID生成方法所生成的GUID,可适用于任何操作系统。
再者,现有技术中的GUID,仅仅用于唯一标识待标记的对象,除此便无其他含义,而本发明实施例1中提供的GUID生成方法生成的GUID,除了可唯一标识待标记对象外,还可表示该待标记对象的地理位置信息。
实施例2
本发明实施例2提供一种具体的GUID生成方法,该方法的流程示意图可参见图2,该方法包括下述步骤:
步骤201,获取待标记对象的经度和纬度。
其中,经度为100度10分5秒,纬度为10度7分9秒。
步骤202,根据第一公式计算第七数值,根据第二公式计算第八数值。
步骤203,将第七数值排列在第八数值前面得到的数值作为GUID。
沿用上例,则第一数值~第七数值分别为100、10、5、10、7及9。那么,第七数值=100*180+10=18001,第七数值对应的二进制数值为01000110 0101 0001,第七数值对应的二进制长度为16位;第八数值=10<<18|5<<12|7<<6|9&0x00FFFFFF=2642377,第八数值对应的二进制数值为0010 1000 0101 0001 1100 1001,第八数值对应的二进制长度为24位。将第七数值排在第八数值的前面得到的数值180012642377,作为二进制长度小于128位的数值,即GUID。
在一种实施场景中,GUID的格式可以为:第七数值-第八数值,那么沿用上例,GUID可以为18001-2642377,若用二进制来表示,则可以为0100 0110 0101 0001-0010 10000101 0001 1100 1001,若用十六进制来表示,则可以为4651-2851C9,其中4651是18001对应的十六进制数值,2851C9是2642377对应的十六进制数值。
通过获取待标记对象的位置坐标,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,将所述二进制长度小于128位的数值,作为所述GUID,其中,由于GUID的二进制长度小于128位,小于现有技术中的GUID的二进制的长度,因此,缩短了现有技术中GUID的二进制长度,减小了占用空间。
实施例3
本发明实施例3提供一种GUID生成装置,该装置的结构示意图可参见图3,该装置包括:
获取模块301,用于获取待标记对象的位置坐标。
转化模块302,用于根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值。
确定模块303,用于将所述二进制长度小于128位的数值,作为所述GUID。
在一种实施场景中,所述位置坐标中的各维度数据,分别为经度和纬度。
在一种实施场景中,所述转化模块302,具体用于:
根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;
根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;
根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;
将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;
其中,所述第一公式为:第七数值=第一数值*180+第四数值;
所述第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<16|第六数值&0x00FFFFFF。
在一种实施场景中,所述装置还包括解析模块,用于:
在所述确定模块将所述二进制长度小于128位的数值,作为所述GUID之后,将所述GUID解析为位置坐标。
通过获取待标记对象的位置坐标,根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,将所述二进制长度小于128位的数值,作为所述GUID,其中,由于GUID的二进制长度小于128位,小于现有技术中的GUID的二进制的长度,因此,缩短了现有技术中GUID的二进制长度,减小了占用空间。
需要说明的是,实施例1~3中提及的各技术特征可自由组合,本发明对此不进行任何限定。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (4)

1.一种全局唯一标识符GUID生成方法,其特征在于,所述方法包括:
获取待标记对象的位置坐标;
根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;
将所述二进制长度小于128位的数值,作为所述GUID;
所述位置坐标中的各维度数据,分别为经度和纬度;若待标记对象是虚拟的,非实体,则将某一虚拟系统中的所有待标记对象,赋予不重复的位置坐标;
根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值,具体包括:
根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;
根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;
根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;
将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;
其中,所述第一公式为:第七数值=第一数值*180+第四数值;
所述第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<16|第六数值&0x00FFFFFF;
GUID分为两部分,第一部分和第二部分;GUID的第一部分,是由经度的度和纬度的度分别对应的数值生成的,可以根据实际需求,确定是否仅仅只计算第一部分,将第一部分确定为GUID;
GUID的第二部分,是有经度和纬度的分、秒分别对应的数值生成的,用户可根据实际需求,确定使用精度是否精确到秒。
2.如权利要求1所述的方法,其特征在于,将所述二进制长度小于128位的数值,作为所述GUID之后,所述方法包括:
将所述GUID解析为位置坐标。
3.一种GUID生成装置,其特征在于,所述装置包括:
获取模块,用于获取待标记对象的位置坐标;
转化模块,用于根据预设规则,将所述位置坐标,转化为二进制长度小于128位的数值;
确定模块,用于将所述二进制长度小于128位的数值,作为所述GUID;
所述位置坐标中的各维度数据,分别为经度和纬度;若待标记对象是虚拟的,非实体,则将某一虚拟系统中的所有待标记对象,赋予不重复的位置坐标;
所述转化模块,具体用于:
根据所述经度和所述纬度,获取所述经度中的度、分、秒分别对应的第一数值、第二数值和第三数值,并获取所述纬度中的度、分、秒分别对应的第四数值、第五数值和第六数值;
根据第一公式,计算出第七数值,其中,所述第七数值对应的二进制长度为16位;
根据第二公式,计算出第八数值,其中,所述第八数值对应的二进制长度为24位;
将所述第七数值排列在所述第八数值前面得到的数值,作为所述二进制长度小于128位的数值;
其中,所述第一公式为:第七数值=第一数值*180+第四数值;
所述第二公式为:第八数值=第二数值<<18|第三数值<<12|第五数值<<16|第六数值&0x00FFFFFF;
GUID分为两部分,第一部分和第二部分;GUID的第一部分,是由经度的度和纬度的度分别对应的数值生成的,可以根据实际需求,确定是否仅仅只计算第一部分,将第一部分确定为GUID;
GUID的第二部分,是有经度和纬度的分、秒分别对应的数值生成的,用户可根据实际需求,确定使用精度是否精确到秒。
4.如权利要求3所述的装置,其特征在于,所述装置还包括解析模块,用于:
在所述确定模块将所述二进制长度小于128位的数值,作为所述GUID之后,将所述GUID解析为位置坐标。
CN201810422203.8A 2018-05-04 2018-05-04 一种全局唯一标识符guid生成方法及装置 Active CN108595392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810422203.8A CN108595392B (zh) 2018-05-04 2018-05-04 一种全局唯一标识符guid生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810422203.8A CN108595392B (zh) 2018-05-04 2018-05-04 一种全局唯一标识符guid生成方法及装置

Publications (2)

Publication Number Publication Date
CN108595392A CN108595392A (zh) 2018-09-28
CN108595392B true CN108595392B (zh) 2022-02-01

Family

ID=63620853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810422203.8A Active CN108595392B (zh) 2018-05-04 2018-05-04 一种全局唯一标识符guid生成方法及装置

Country Status (1)

Country Link
CN (1) CN108595392B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959121A (zh) * 2009-07-14 2011-01-26 阿孜古丽吾拉木 一种地理位置服务标识编码技术
WO2012013008A1 (zh) * 2010-07-29 2012-02-02 中兴通讯股份有限公司 管理终端数据记录的方法及装置
CN104298740A (zh) * 2014-10-09 2015-01-21 清华大学 地理位置编码方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103280152A (zh) * 2013-05-16 2013-09-04 浪潮通信信息系统有限公司 一种基于经纬度坐标转化码的楼宇建筑编码方法
CN104008128A (zh) * 2014-04-24 2014-08-27 深圳辉锐天眼科技有限公司 案件信息自动生成与呈现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959121A (zh) * 2009-07-14 2011-01-26 阿孜古丽吾拉木 一种地理位置服务标识编码技术
WO2012013008A1 (zh) * 2010-07-29 2012-02-02 中兴通讯股份有限公司 管理终端数据记录的方法及装置
CN104298740A (zh) * 2014-10-09 2015-01-21 清华大学 地理位置编码方法

Also Published As

Publication number Publication date
CN108595392A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US11397724B2 (en) Method and apparatus for obtaining area speed limit value and terminal device
CN106919567B (zh) 一种兴趣点poi地址的处理方法及装置
CN109600186B (zh) 时钟同步方法及装置
CN108009346B (zh) 根据dxf格式工程图快速绘制svg格式地图的方法
CN103178998A (zh) 一种测控数据传输方法和装置
KR20210151726A (ko) 교통 데이터의 분석 방법, 장치, 기기, 차량, 저장 매체 및 컴퓨터 프로그램
CN102967303A (zh) 地理位置快速查找定位系统及方法
CN101882175B (zh) 离心标牌制作计算机绘图方法
CN104809250A (zh) 一种松散式数据一致性校验方法
CN108595392B (zh) 一种全局唯一标识符guid生成方法及装置
CN108093474B (zh) 利用虚拟时间同步实现室内定位的方法及系统
CN104684078B (zh) 基于仿真逼近的多基站定位算法
JP2019158608A (ja) 位置推定装置、位置推定プログラム、および位置推定方法
CN109327354B (zh) 一种生成信号转发测试用例的方法、装置及测试系统
CN111460237A (zh) 一种数据查询的方法、装置、可读存储介质和电子设备
CN104135547B (zh) 一种ip地址属性验证方法和系统
CN103490856B (zh) 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法
CN111800524B (zh) Modbus报文中多路数据原地址的解析方法
CN108055257A (zh) 一种fpga辅助高性能计算方法及fpga
CN102098724B (zh) 一种定位方法、及上报回环时间的方法装置
CN114579580A (zh) 存储数据的方法、查询数据的方法和装置
CN105279299A (zh) 电缆管线的线路生成方法和装置
CN114553819A (zh) 一种IPv6地址识别方法及装置
CN109254666B (zh) 虚拟现实设备定位同步方法、装置、设备和介质
CN106802931B (zh) 基于影响分析进行数据表查找的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant