CN104199860B - 一种基于二维地理位置信息的数据集分片方法 - Google Patents

一种基于二维地理位置信息的数据集分片方法 Download PDF

Info

Publication number
CN104199860B
CN104199860B CN201410403157.9A CN201410403157A CN104199860B CN 104199860 B CN104199860 B CN 104199860B CN 201410403157 A CN201410403157 A CN 201410403157A CN 104199860 B CN104199860 B CN 104199860B
Authority
CN
China
Prior art keywords
piece
geohash
node
data
pieces
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
CN201410403157.9A
Other languages
English (en)
Other versions
CN104199860A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201410403157.9A priority Critical patent/CN104199860B/zh
Publication of CN104199860A publication Critical patent/CN104199860A/zh
Application granted granted Critical
Publication of CN104199860B publication Critical patent/CN104199860B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于二维地理位置信息的数据集分片方法,包括:(1)将每条数据的二维的地理位置信息转化为2进制geoHash值;(2)依据geoHash值进行分片,每个分片有公共的geoHash前缀,并在分片的过程中建立或更新片索引;(3)当有新增数据时,在索引中查找与新增数据具有最长公共geoHash前缀的片,然后将数据插入到该片中,若数据插入导致片的大小超过设定值,则按照(2)对片进行分裂。本发明利用将二维地理位置信息转化为geoHash值后进行数据分片,能尽量的保证地理位置上相邻的数据被分在相同的片上,对基于地理位置的分布式应用有很好的优化作用。

Description

一种基于二维地理位置信息的数据集分片方法
技术领域
本发明属于数据存储技术领域,具体涉及一种基于二维地理位置信息的数据集分片方法。
背景技术
在大数据时代,当数据量达到兆级别时,单个内存或磁盘存储不下。在这种情况下,需要将数据集以分布式的方式进行存储。当进行分布式存储时,需要对数据集进行分片,从而方便以片为单位对数据进行组织、管理、迁移等操作。当前热门的NOSQL数据库MongoDB在进行分布式存储时,正是先对数据集进行分片,然后在多个服务器上对片进行管理。
我们在数据库设计时,通常把一个较大的全局数据库按其数据项(即字段)或按某关键字的某些特征来进行划分,在这里我们称之为数据分片,划分出的各个片段组成一个个较小的局部数据库。
在进行数据分片时并不是盲目地对数据库进行划分。为了达到分片的目的,我们分片时必须遵循以下三个准则;数据分片的类型一般可分为水平分片、垂直分片、混合分片三类。
(1)完备性准则;必须把全局数据库的所有数据都映射到各个局部数据库中,即绝不允许发生一个属于全局关系的数据项目而不属于任一个局部数据库的情况。
(2)重构准则;划分所采用的方法必须确保能够由全局关系的各个局部数据库来重建全局数据库。
(3)不相交准则;对于水平划分,要求一个全局关系被划分后所得的各个数据片段互相不重叠,垂直划可放宽此限制。
当前已有的分片方案中,一般是选择一个一维的属性作为片键,比如数据的ID,然后对这一维属性根据线性范围直接划分为不同的片,这些分片方式不 能保证同一个片上的数据在地理上是相近的,或者即使利用了GeoHash来分片,也只是将GeoHash作为一个普通的一维属性,然后根据GeoHash的范围进行划分,没有很好的利用GeoHash的特性,不能很好的保证片上数据在地理位置上是相邻的。
GeoHash是一种对地图上的点进行编码的方法,它逐步的对地图划分为一个个网格,并按照点所在的网格来标识点;它将点的二维经纬度信息转化成一个一维的串,并且在大部分情况下,两个串的公共前缀越长,他们在地理上就越接近,而且,串的长度越长,精度也就越高。
发明内容
针对现有技术所存在的上述技术问题,本发明提供了一种基于二维地理位置信息的数据集分片方法,能够保证地理上相邻的数据尽量分布在相同的片上。
一种基于二维地理位置信息的数据集分片方法,所述的数据集中每条数据均含有关于经度和纬度的二维地理位置信息,所述的数据集分片方法包括如下步骤:
(1)将数据集中每条数据的二维地理位置信息转换为二进制的GeoHash值;
(2)根据所述的GeoHash值对数据集进行分片且每个片中的数据具有公共的GeoHash前缀,并在分片过程中建立并更新片的索引树;
(3)当数据集有新增数据时,从所述的索引树中查找出与该新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中;若插入新增数据后,该片的大小超过预设的上限值,则对该片进行分裂并更新索引树。
所述的步骤(2)中对数据集进行分片的过程如下:
初始时,新建一个片作为父片,将数据集中所有数据放入父片中,且令父片的公共GeoHash前缀为null;此时,若父片的大小未超过预设的上限值M,则分片结束;若父片的大小超过上限值M,则对父片进行分裂:
将父片分成两个子片A0和A1,令子片A0的公共GeoHash前缀为0,子片A1的公共GeoHash前缀为1;进而根据二进制GeoHash值的首位编码,将父片 中的所有数据分配至子片A0和A1中,即GeoHash值首位编码为0的数据分配至子片A0中,GeoHash值首位编码为1的数据分配至子片A1中;分配完毕后,判断子片A0和A1的大小是否超过上限值M:若均未超过,则分片结束;若子片Ai的大小超过上限值M,则使子片Ai作为父片并对其进行分裂:
将父片Ai分成两个子片Ai0和Ai1,i为0或1,令子片Ai0的公共GeoHash前缀为i0,子片Ai1的公共GeoHash前缀为i1;进而根据二进制GeoHash值的第二位编码,将父片Ai中的所有数据分配至子片Ai0和Ai1中,即GeoHash值第二位编码为0的数据分配至子片Ai0中,GeoHash值第二位编码为1的数据分配至子片Ai1中;分配完毕后,进而判断子片Ai0和Ai1的大小是否超过上限值M,若仍存在大小超过上限值M的子片,则根据以上操作继续对该子片进行分裂,直至所有子片大小都在上限值M以下,则分片结束。
所述的步骤(2)中通过以下方法建立并更新片的索引树:
分片过程中当初始新建一个片作为父片时,则为该父片对应新建一个索引节点并使该节点作为索引树的根节点,并使该索引节点的片地址对应为该父片在服务器中的存储地址,左孩子节点地址和右孩子节点地址均为null;
在对任一父片进行分裂后,为分裂得到的且不为空的子片对应新建一个索引节点,并令该索引节点的片地址对应为子片在服务器中的存储地址,左孩子节点地址和右孩子节点地址均为null;同时将父片对应索引节点的片地址置为null,左孩子节点地址指向父片分裂得到的且公共GeoHash前缀尾号为0的子片对应的索引节点在服务器中的存储地址,右孩子节点地址指向父片分裂得到的且公共GeoHash前缀尾号为1的子片对应的索引节点在服务器中的存储地址;
所述的索引节点均包含有三个地址:左孩子节点地址、片地址、右孩子节点地址。
所述的步骤(3)中通过以下方法从索引树中查找出与新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中:
从索引树的根节点开始,判断新增数据GeoHash值的首位编码:若首位编码为0,则根据根节点的左孩子节点地址查找到下一索引节点并作为当前节点;若首位编码为1,则根据根节点的右孩子节点地址查找到下一索引节点并作为当前节点;
判断当前节点是否为索引树的叶子节点:若是,则根据当前节点的片地址查找到对应的片,作为与新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中;若否,则判断新增数据GeoHash值的下一位编码:若下一位编码为0,则根据当前节点的左孩子节点地址查找到下一索引节点并使其作为当前节点;若首位编码为1,则根据当前节点的右孩子节点地址查找到下一索引节点并使其作为当前节点;
依此往下搜索直至判断出当前节点为索引树的叶子节点,则根据当前节点的片地址查找到对应的片,作为与新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中。
本发明分片方法利用地理位置信息作为片键,并利用GeoHash的特点,将具有相同GeoHash公共前缀的数据分在同一个片上,能尽量保证地理上相邻的数据分布在相同的片上。这种分片方式,对于基于地理位置的应用具有很好的实用价值,能够优化按照地理位置进行查询、统计的效率,能够按照地理位置范围来对数据进行管理,按照这种方式分片后查询效率大大提升。
附图说明
图1为本发明分片方法的步骤流程示意图。
图2为分片索引结构的示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
以下更为具体讲述分片过程,首先需要分片的数据集中每条数据中的二维地理位置信息,即将经纬度值转化为geoHash;如可将(纬度为42.6,经度为-5.6)转化成0110111111 11000 00100 00010,然后依据转化所得的这个二进制的geoHash值来对数据进行分片,geoHash值长度N根据数据地理位置精度要求进行配置,长度越长,误差越小。
如图1所示,具体的分片过程如下:
(1)初始时,所有的数据都在同一个片上,这个片的公共geoHash的前缀长度初始时为0,即没有公共前缀,此时,建立一个索引的头节点,该头结点值域为初始片存储位置,左孩子和右孩子均为空。
(2)如果片的数据量大于M,则将其拆分为两个子片,设父片的公共前缀为xxxxx,则两个子片的公共前缀分别为xxxxx0、xxxxx1;M值可根据应用的需求进行配置,M值大,则分片的大小越大,片的数量较少。
(3)将geoHash前缀为xxxxx0的数据分配到公共前缀为xxxxx0的子片上,前缀为xxxxx1的数据分配到公共前缀为xxxxx1的子片上;数据分配完后,为不为空的子片建立新的节点,让父节点的左孩子指向前缀为xxxxx0的节点,右孩子指向xxxxx1节点;
如果子片的数据量还是大于M,则重复(2)~(3)过程。
(4)如果片的公共前缀已经达到了最大值,即公共前缀已经与geoHash长度相同,片的数据量还是大于M,这种情况说明是geoHash精度不够或者同一个地点的数据很多,因为此时片中所有数据都有相同的geoHash。这可能有如下3种情况:a)N的值设置过小;b)M设置过小;c)数据集中有大量数据集中在相同的地点上,对于a)b)种情况,可以调整N和M值后重新分片,对于c)可对该片中的数据再选择另外的关键字按照传统的方法再进行分片。
建立如图2所示的索引结构概念图,其中节点上方的值代表当前节点所代表的数据片的公共geoHash前缀,即该片中所有的数据的geoHash都具有该前缀。
索引中每个节点包含三个域,左孩子节点,右孩子节点,以及值域,值域代表当前片的存储位置。所有非叶子节点中的值域都为空,所有叶子节点中的左孩子和右孩子节点为空,叶子节点的值域一定不为空。
初始片分好后,如果有新增的数据,需要先在索引树中查找到需要插入的片,然后进行插入,插入后,如果片的大小超过M,则按照上述的分片过程对该片进行拆分。
查找的过程是根据待插入数据的geoHash值,从索引树的头结点和geoHash值得第一位开始,依次取出geoHash值的每一位的值,如果为0,则查找左子树,为1则查找右子树,直到查找到叶子节点。如果查找到不为空的叶子节点,则 将数据插入到该节点指向的分片上;如果最后查找到空节点,则需要新建一个分片将数据插入,并且需要新建一个索引节点来替换该空节点。
按照上述方法步骤,我们对一个具体数据集进行分片操作,该数据集初始时有371222条数据,每条数据都具有经纬度信息,经纬度信息精确到小数点后6位。在本实施例中,将N设定为63位,以32位二进制位表示精度,31位二进制位表示纬度,数据分片大小M设定为500条数据;数据分片过程是在内存中进行的,编程语言采用java。
将数据读入内存后,用一个List进行存放,将所有数据的经纬度信息转化为63位的geoHash值;本实施例中采用分别将精度纬度转化之后再合并的方法。为了方便起见,将所有的geoHash前面再拼接一个0,刚好64位,可以用一个long型的变量存储。
初始化一个空的索引头,初始片为所有数据,初始公共geoHash前缀为0(因为第一步为了方便,每条数据的geoHash前面都拼接一个0)。
从初始片开始,按上述进行分裂,每个父片分裂得到两个子List,并对应的创建子节点。子节点的值域指向子List。并将父节点的孩子节点指向对应的子节点,然后将父节点的值域置为空。如果子List中的数据量仍然大于M,则继续分裂,直到分裂后的片数据量小于500。
当后面有新增数据时,按照上述相应操作进行数据插入,如果数据插入导致插入的片数据量大于500,则按照上述相应操作进行数据拆分。
我们对本实施方式做的一个矩形搜索的性能对比结果如下,矩形范围:左上角(经度127,纬度29),右下角(经度129,纬度27)。
内存分片搜索时间:0ms(按照本实施方式进行分片);
内存不分片搜索时间:16ms(不分片);
MongoDB搜索时间:31ms(按照id进行分片)。

Claims (3)

1.一种基于二维地理位置信息的数据集分片方法,所述的数据集中每条数据均含有关于经度和纬度的二维地理位置信息,所述的数据集分片方法包括如下步骤:
(1)将数据集中每条数据的二维地理位置信息转换为二进制的GeoHash值;
(2)根据所述的GeoHash值对数据集进行分片且每个片中的数据具有公共的GeoHash前缀,并在分片过程中建立并更新片的索引树;其中对数据集进行分片的具体过程如下:
初始时,新建一个片作为父片,将数据集中所有数据放入父片中,且令父片的公共GeoHash前缀为null;此时,若父片的大小未超过预设的上限值M,则分片结束;若父片的大小超过上限值M,则对父片进行分裂:
将父片分成两个子片A0和A1,令子片A0的公共GeoHash前缀为0,子片A1的公共GeoHash前缀为1;进而根据二进制GeoHash值的首位编码,将父片中的所有数据分配至子片A0和A1中,即GeoHash值首位编码为0的数据分配至子片A0中,GeoHash值首位编码为1的数据分配至子片A1中;分配完毕后,判断子片A0和A1的大小是否超过上限值M:若均未超过,则分片结束;若子片Ai的大小超过上限值M,则使子片Ai作为父片并对其进行分裂:
将父片Ai分成两个子片Ai0和Ai1,i为0或1,令子片Ai0的公共GeoHash前缀为i0,子片Ai1的公共GeoHash前缀为i1;进而根据二进制GeoHash值的第二位编码,将父片Ai中的所有数据分配至子片Ai0和Ai1中,即GeoHash值第二位编码为0的数据分配至子片Ai0中,GeoHash值第二位编码为1的数据分配至子片Ai1中;分配完毕后,进而判断子片Ai0和Ai1的大小是否超过上限值M,若仍存在大小超过上限值M的子片,则根据以上操作继续对该子片进行分裂,直至所有子片大小都在上限值M以下,则分片结束;
(3)当数据集有新增数据时,从所述的索引树中查找出与该新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中;若插入新增数据后,该片的大小超过预设的上限值,则对该片进行分裂并更新索引树。
2.根据权利要求1所述的数据集分片方法,其特征在于:所述的步骤(2)中通过以下方法建立并更新片的索引树:
分片过程中当初始新建一个片作为父片时,则为该父片对应新建一个索引节点并使该节点作为索引树的根节点,并使该索引节点的片地址对应为该父片在服务器中的存储地址,左孩子节点地址和右孩子节点地址均为null;
在对任一父片进行分裂后,为分裂得到的且不为空的子片对应新建一个索引节点,并令该索引节点的片地址对应为子片在服务器中的存储地址,左孩子节点地址和右孩子节点地址均为null;同时将父片对应索引节点的片地址置为null,左孩子节点地址指向父片分裂得到的且公共GeoHash前缀尾号为0的子片对应的索引节点在服务器中的存储地址,右孩子节点地址指向父片分裂得到的且公共GeoHash前缀尾号为1的子片对应的索引节点在服务器中的存储地址;
所述的索引节点均包含有三个地址:左孩子节点地址、片地址、右孩子节点地址。
3.根据权利要求2所述的数据集分片方法,其特征在于:所述的步骤(3)中通过以下方法从索引树中查找出与新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中:
从索引树的根节点开始,判断新增数据GeoHash值的首位编码:若首位编码为0,则根据根节点的左孩子节点地址查找到下一索引节点并作为当前节点;若首位编码为1,则根据根节点的右孩子节点地址查找到下一索引节点并作为当前节点;
判断当前节点是否为索引树的叶子节点:若是,则根据当前节点的片地址查找到对应的片,作为与新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中;若否,则判断新增数据GeoHash值的下一位编码:若下一位编码为0,则根据当前节点的左孩子节点地址查找到下一索引节点并使其作为当前节点;若首位编码为1,则根据当前节点的右孩子节点地址查找到下一索引节点并使其作为当前节点;
依此往下搜索直至判断出当前节点为索引树的叶子节点,则根据当前节点的片地址查找到对应的片,作为与新增数据具有最长公共GeoHash前缀的片,并将该新增数据插入该片中。
CN201410403157.9A 2014-08-15 2014-08-15 一种基于二维地理位置信息的数据集分片方法 Active CN104199860B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410403157.9A CN104199860B (zh) 2014-08-15 2014-08-15 一种基于二维地理位置信息的数据集分片方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410403157.9A CN104199860B (zh) 2014-08-15 2014-08-15 一种基于二维地理位置信息的数据集分片方法

Publications (2)

Publication Number Publication Date
CN104199860A CN104199860A (zh) 2014-12-10
CN104199860B true CN104199860B (zh) 2017-05-10

Family

ID=52085153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410403157.9A Active CN104199860B (zh) 2014-08-15 2014-08-15 一种基于二维地理位置信息的数据集分片方法

Country Status (1)

Country Link
CN (1) CN104199860B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156195B (zh) * 2015-04-20 2019-06-18 阿里巴巴集团控股有限公司 基于位置信息的搜索方法及其系统
CN105022790B (zh) * 2015-06-19 2018-04-06 中国科学院遥感与数字地球研究所 一种面向对象的城市实体地理编码整合方法
CN107273376B (zh) * 2016-04-07 2020-08-04 阿里巴巴集团控股有限公司 目标位置搜索方法和装置
CN107291785A (zh) 2016-04-12 2017-10-24 滴滴(中国)科技有限公司 一种数据查找方法及装置
CN106844534B (zh) * 2016-12-30 2019-11-22 西安电子科技大学 面向NoSQL数据库的将地理空间数据一维化的GeoHash编码方法
CN108427675B (zh) * 2017-02-13 2022-09-02 阿里巴巴集团控股有限公司 构建索引的方法及设备
CN106991149B (zh) * 2017-03-28 2020-11-10 桂林电子科技大学 一种融合编码和多版本数据的海量空间对象存储方法
CN107169128A (zh) * 2017-06-05 2017-09-15 游密科技(深圳)有限公司 一种给通用数据模型绑定地理位置信息的方法
CN107491525A (zh) * 2017-08-17 2017-12-19 小草数语(北京)科技有限公司 分布式地址比对方法和装置
CN109344198A (zh) * 2018-09-19 2019-02-15 国网浙江省电力有限公司嘉兴供电公司 基于MongoDB分布式集群架构的日志系统及分片方法
CN109299747B (zh) * 2018-10-24 2020-12-15 北京字节跳动网络技术有限公司 一种类簇中心的确定方法、装置、计算机设备及存储介质
CN110597845A (zh) * 2019-09-05 2019-12-20 深圳前海微众银行股份有限公司 一种分布式存储及检索地理数据的方法、装置及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246679A (zh) * 2012-02-13 2013-08-14 刘龙 一种实现基于位置的搜索的系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983953B2 (en) * 2011-10-18 2015-03-17 Nokia Corporation Methods and apparatuses for facilitating interaction with a geohash-indexed data set

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246679A (zh) * 2012-02-13 2013-08-14 刘龙 一种实现基于位置的搜索的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
nosqlfan.图解 MongoDB 地理位置索引的实现原理.《http://blog.nosqlfan.com/html/1811.html》.2011,第1-2页. *
金安 等.基于GeoHash的面数据区域查询.《地理与地理信息科学》.2013,第29卷(第5期),第31-35页. *

Also Published As

Publication number Publication date
CN104199860A (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
CN104199860B (zh) 一种基于二维地理位置信息的数据集分片方法
CN104376053B (zh) 一种基于海量气象数据的存储与检索方法
CN100418092C (zh) 海量数据内存数据库中快速定位的网格+t树索引的方法
US6816779B2 (en) Programmatically computing street intersections using street geometry
CN101840400B (zh) 一种多级分类检索方法及系统
CN111723096B (zh) 一种集成GeoHash和Quadtree的空间数据索引方法
JP5152877B2 (ja) 文書ベースシステムにおける文書データ記憶方法およびその装置
CN104199986A (zh) 基于hbase和geohash的矢量数据空间索引方法
CN107766433A (zh) 一种基于Geo‑BTree的范围查询方法及装置
CN106021336A (zh) 一种对批量地址信息进行自动行政区划划分的方法
CN101727502A (zh) 一种数据查询方法及装置、系统
CN103377237B (zh) 高维数据的近邻搜索方法以及快速近似图像搜索方法
WO2022100154A1 (zh) 基于人工智能的地址标准化方法、装置、设备和存储介质
CN104539750A (zh) 一种ip定位方法和装置
US6658356B2 (en) Programmatically deriving street geometry from address data
WO2016043757A1 (en) Data to be backed up in a backup system
CN103365991A (zh) 一种基于一维线性空间实现Trie树的词典存储管理方法
CN106991149B (zh) 一种融合编码和多版本数据的海量空间对象存储方法
US20190377801A1 (en) Relational data model for hierarchical databases
CN112256821B (zh) 中文地址补全的方法、装置、设备及存储介质
CN110737663A (zh) 一种数据存储方法、装置、设备及存储介质
CN111813778B (zh) 一种面向大规模路网数据的近似关键字存储和查询方法
CN103299297A (zh) 文件目录存储方法、检索方法和设备
CN105447064B (zh) 一种电子地图数据制作及其使用方法和装置
CN110597805B (zh) 一种内存索引结构处理方法

Legal Events

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