CN117931095A - 地图数据存储方法、装置、电子设备和存储介质 - Google Patents
地图数据存储方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117931095A CN117931095A CN202410323328.0A CN202410323328A CN117931095A CN 117931095 A CN117931095 A CN 117931095A CN 202410323328 A CN202410323328 A CN 202410323328A CN 117931095 A CN117931095 A CN 117931095A
- Authority
- CN
- China
- Prior art keywords
- map data
- file block
- map
- target
- file
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000003860 storage Methods 0.000 title claims abstract description 79
- 238000013500 data storage Methods 0.000 title claims abstract description 73
- 230000008520 organization Effects 0.000 claims abstract description 42
- 230000036961 partial effect Effects 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 134
- 230000006870 function Effects 0.000 description 27
- 238000007726 management method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 235000001275 Bouea macrophylla Nutrition 0.000 description 12
- 240000001160 Bouea macrophylla Species 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种地图数据存储方法、装置、电子设备和存储介质;该方法包括获取待存储数据以及多个文件块,文件块用于存储地图数据库的部分地图数据,文件块包括属性信息;确定待存储数据对应的候选地图范围以及多个文件块中每一文件块对应的地图范围;将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块;根据候选文件块的属性信息,确定候选文件块对应的数据索引模式;基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中。在本申请实施例中通过设置多个文件块来将大量的地图拆分存储,不仅降低了存储效率,而且提高了地图数据的查询效率。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种地图数据存储方法、装置、电子设备和存储介质。
背景技术
电子地图是指利用计算机和通信技术生成、存储、处理和显示地图数据的数字化地图。它是地图数据的电子化表现形式,可以在计算机、移动设备和互联网上进行展示和交互。
随着移动互联网和智能手机的普及,电子地图已成为人们生活中不可或缺的工具,方便了人们的出行和导航,促进了位置服务和地理信息应用的发展。
电子地图的正常使用需要预先对相应的地图数据进行存储,然而,目前对地图数据的存储方式不仅存储成本较高,而且不利于用户进行地图数据的查询,导致地图数据的查询效率较低。
发明内容
本申请实施例提供一种地图数据存储方法、装置、电子设备和存储介质,可以降低地图数据存储的成本,提升地图数据的查询效率。
本申请实施例提供一种地图数据存储方法,包括:
获取待存储数据以及多个文件块,所述文件块用于存储地图数据库的部分地图数据,所述文件块包括属性信息;
确定所述待存储数据对应的候选地图范围以及所述多个文件块中每一文件块对应的地图范围;
将所述多个文件块中地图范围与所述候选地图范围匹配的文件块,确定为候选文件块;
根据所述候选文件块的属性信息,确定所述候选文件块对应的数据索引模式;
基于所述数据索引模式对所述待存储数据进行数据组织,并将组织后的待存储数据存入所述候选文件块中。
本申请实施例还提供一种地图数据存储装置,包括:
获取单元,用于获取待存储数据以及多个文件块,所述文件块用于存储地图数据库的部分地图数据,所述文件块包括属性信息;
第一确定单元,用于确定所述待存储数据对应的候选地图范围以及所述多个文件块中每一文件块对应的地图范围;
匹配单元,用于将所述多个文件块中地图范围与所述候选地图范围匹配的文件块,确定为候选文件块;
第二确定单元,用于根据所述候选文件块的属性信息,确定所述候选文件块对应的数据索引模式;
存储单元,用于基于所述数据索引模式对所述待存储数据进行数据组织,并将组织后的待存储数据存入所述候选文件块中。
在一些实施例中,获取单元,具体用于:
接收地图划分指令,并根据所述地图划分指令将地图数据库中的地图数据划分为多个第一子地图数据;
分别对所述多个第一子地图数据进行哈希计算,得到多个哈希值,所述多个哈希值与所述多个第一子地图数据一一对应;
将所述多个哈希值进行比对;
若所述多个哈希值中不存在相同的哈希值,则基于所述多个第一子地图数据生成多个文件块,所述多个第一子地图数据与所述多个文件块一一对应。
在一些实施例中,获取单元,具体还用于:
获取参考地图数据;
采用预设分形曲线,将所述参考地图数据分割为多个第二子地图数据;
针对所述多个第二子地图数据中的每一第二子地图数据,确定所述第二子地图数据对应的地图范围;
从地图数据库中获取与所述地图范围之间存在交集的候选地图数据;
基于所述候选地图数据生成所述第二子地图数据对应的文件块。
在一些实施例中,该地图数据存储装置还可以包括:
查询请求获取单元,用于获取查询请求,所述查询请求携带第一查询信息和第二查询信息;
文件块查询单元,用于根据所述第一查询信息,从所述多个文件块中查询得到目标文件块;
模式确定单元,用于依据所述目标文件块的属性信息,确定所述目标文件块对应的目标索引模式;
数据查询单元,用于基于所述第二查询信息和所述目标索引模式,从所述目标文件块中查询得到目标地图数据。
在一些实施例中,所述属性信息包括文件类型,所述模式确定单元,具体用于:
依据所述目标文件块对应的文件类型,确定所述目标文件块中地图数据的组织方式;
基于所述组织方式,确定所述目标文件块对应的目标索引模式。
在一些实施例中,文件块查询单元,包括:
检测子单元,用于在所述第一查询信息中检测指定信息,所述指定信息包括文件块标识、文件块地址以及目标地图范围中的至少一种;
确定子单元,用于若检测到所述指定信息,则将所述多个文件块中与所述指定信息匹配的文件块确定为所述目标文件块。
在一些实施例中,确定子单元,具体用于:
若检测到目标地图范围,则获取所述多个文件块中每一文件块对应地图范围;
将所述多个文件块中地图范围与所述目标地图范围之间存在交集的文件块确定为所述目标文件块。
在一些实施例中,数据查询单元,具体用于:
基于所述第二查询信息和所述目标索引模式生成目标查询指令,所述目标查询指令符合所述目标索引模式对应的第一语法,所述第一语法为用于索引地图数据的语法;
基于所述目标查询指令,从所述目标文件块中查询得到目标地图数据。
在一些实施例中,所述地图数据存储装置还包括:
信息提取单元,用于从所述目标文件块的属性信息中提取出状态信息,所述状态信息表征所述目标文件块是否处于锁定状态;
第一执行单元,用于若所述状态信息指示所述目标文件块不处于锁定状态,则执行所述基于所述第二查询信息和所述目标索引模式,从所述目标文件块中查询得到目标地图数据的步骤。
在一些实施例中,所述地图数据存储装置还包括:
第一验证单元,用于当接收到针对所述目标文件块的操作指令时,对所述操作指令进行语法验证;
第一状态调整单元,用于若所述操作指令符合第二语法,则执行所述操作指令,并将所述目标文件块的状态信息调整为锁定状态,所述第二语法为用于操作文件块的语法;
第二状态调整单元,用于当所述操作指令执行完成时,将所述目标文件块的状态信息调整为非锁定状态。
在一些实施例中,所述地图数据存储装置还包括:
第二验证单元,用于对所述第一查询信息进行语法验证;
第二执行单元,用于若所述第一查询信息符合第三语法,则执行所述根据所述第一查询信息,从所述多个文件块中查询得到目标文件块的步骤,所述第三语法为用于定位文件块的语法。
本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种地图数据存储方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种地图数据存储方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请实施例所提供的任一种地图数据存储方法中的步骤。
本申请实施例提供的地图数据存储方法中,可以通过获取待存储数据以及多个文件块,文件块用于存储地图数据库的部分地图数据,文件块包括属性信息;然后,确定待存储数据对应的候选地图范围以及多个文件块中每一文件块对应的地图范围;再将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块;接着,根据候选文件块的属性信息,确定候选文件块对应的数据索引模式;最后,基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中。
在本实施例中,由于提前设置了多个用于存储地图数据库的部分地图数据的文件块,从而可以将大量的地图数据拆解后存储到多个文件块,以有效降低地图数据的存储成本。其中,在获取到需要存储的待存储数据时,可以将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块,从而可以根据地图范围准确筛选出待存储数据所要存储到的文件块中,以便后续可以根据地图范围这一条件快速地从多个文件块中查询到该待存储数据。此外,通过根据候选文件块的属性信息,确定候选文件块对应的数据索引模式,基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中,从而可以方便后续在查询该待存储数据时,可以直接候选文件块自身的索引模式进行数据查询,大大提升了数据查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的地图数据存储方法的场景示意图;
图1b是本申请实施例提供的地图数据存储方法的流程示意图;
图1c是本申请实施例提供的城市X的电子地图示意图;
图2a是本申请实施例提供的地图数据存储方法应用在服务器中的示意图;
图2b是本申请实施例提供的文件块的规格示意图;
图2c是本申请实施例提供的采用Z阶曲线生成文件块的流程示意图;
图2d是本申请实施例提供的存储文件块时采用目录树示意图;
图2e是本申请实施例提供的对地图数据的查询过程示意图;
图2f是本申请实施例提供的函数集合示意图;
图2g是本申请实施例提供的系统架构示意图;
图2h是本申请实施例提供的对地图数据进行查询的过程示意图;
图2i是本申请实施例提供的对地图数据进行存储的过程示意图;
图3是本申请实施例提供的地图数据存储装置的一种结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种地图数据存储方法、装置、电子设备和存储介质。
其中,该地图数据存储装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该地图数据存储装置还可以集成在多个电子设备中,比如,地图数据存储装置可以集成在多个服务器中,由多个服务器来实现本申请的地图数据存储方法。
在一些实施例中,服务器也可以以终端的形式来实现。
例如,参考图1a,图1a示出了本申请实施例提供的地图数据存储方法的应用场景示意图。
如图1a中所示,该应用场景可以包括终端设备100和服务器200,具体的该应用场景可以是终端设备100与服务器200交互的环境。其中,终端设备100可以通过网络与服务器200进行通信。
其中,服务器200中可以预先存储有地图数据库,地图数据库包含了大量的地图数据。其中,终端设备100可以向服务器200发送查询请求,以指示服务器200返回与查询请求对应的地图数据。可选地,终端设备包括但不限于:智能手机、平板电脑、智能可穿戴设备、车载终端等等。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
人工智能(Artificial Intelligence,AI)是一种利用数字计算机来模拟人类感知环境、获取知识并使用知识的技术,该技术可以使机器具有类似于人类的感知、推理与决策的功能。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
分布式存储是指将数据存储在多台计算机或服务器上的存储系统,通过网络连接这些计算机,使其共同提供存储服务。分布式存储系统通常具有高可用性、可伸缩性和容错能力,可以有效地管理大规模数据,并提供快速访问和备份恢复能力。
自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自动驾驶技术有着广泛的应用前景。
其中,可以理解的是,在本申请的具体实施方式中,涉及到用户的查询请求、存储请求等相关数据,当本申请以下实施例运用到具体产品或技术中时,需要获得许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在本实施例中,提供了一种地图数据存储方法,如图1b所示,该地图数据存储方法的具体流程可以如下:
101、获取待存储数据以及多个文件块,文件块用于存储地图数据库的部分地图数据,文件块包括属性信息。
其中,待存储数据可以为当前需要被存储的地图数据。
其中,文件块是一种用于存储地图数据的文件结构,其中,文件块中可以包括地图数据库的部分地图数据以及文件块的属性信息。其中,文件块的属性信息为文件块的元数据,示例性地,该元数据可以包括但不限于:文件类型、文件块标识、同步时间、键值对(Key-Value)等等。
在一些实施方式中,多个文件块可以是预先设置好的,每个文件块可以用于存储相应地图范围的地图数据,例如文件块1可以用于存储地图数据库中地图范围为区域A对应的地图数据,文件块2可以用于存储地图数据库中地图范围为区域B对应的地图数据,文件块3可以用于存储新添加到地图数据库中的地图数据。
其中,地图范围可以是指电子地图的区域范围,例如城市X的地图范围为电子地图中城市X所覆盖的区域范围,由于电子地图中每一区域范围的地图都是基于相应的地图数据得到的,所以上述每一第二子地图数据都对应一个地图范围。可以理解的是,该地图范围可以是平面上的范围,也可以是空间上的范围。具体地,该地图范围可以是坐标集合。
在一些实施方式中,在步骤101中,获取多个文件块的具体实施方式可以包括:
A1、接收地图划分指令,并根据地图划分指令将地图数据库中的地图数据划分为多个第一子地图数据。
其中,地图划分指令用于指示服务器将地图数据库中的地图数据进行划分。
可选地,地图划分指令可以是用户输入到服务器中的,通过该地图划分指令,用户可以自定义地划分地图数据库中的地图数据。示例性地,请参考图1c,地图数据库存储了如图1c所示的城市X地图的地图数据,可见,城市X包括A区、B区、C区以及D区。作为一种实施方式,用户可以将城市X地图的地图数据划分为:A区对应的地图数据、B区对应的地图数据、C区对应的地图数据以及D区对应的地图数据,从而得到4个第一子地图数据。作为另一种实施方式,用户可以将城市X地图的地图数据划分为:A区和B区对应的地图数据、C区对应的地图数据以及D区对应的地图数据,从而得到3个第一子地图数据。
A2、分别对多个第一子地图数据进行哈希计算,得到多个哈希值,多个哈希值与多个第一子地图数据一一对应。
在一些实施方式中,可以通过预设哈希算法,对分别对多个第一子地图数据进行哈希计算,以得到多个哈希值。其中,得到的哈希值可以表征其对应的第一子地图数据的地图内容。也就是说,若两个第一子地图数据对应的哈希值一样,表明这两个第一子地图数据的地图内容是一致的。
可选地,预设哈希算法可以为MD5算法(一种哈希函数),MD5算法将任意长度的输入数据转换为固定长度的128位散列值(哈希值)。
沿用上述示例,例如图1c中A区对应的地图数据通过预设哈希算法进行计算可以得到哈希值a,B区对应的地图数据通过预设哈希算法进行计算可以得到哈希值b,C区对应的地图数据通过预设哈希算法进行计算可以得到哈希值c,D区对应的地图数据通过预设哈希算法进行计算可以得到哈希值d。
A3、将多个哈希值进行比对。
沿用上述示例,针对多个哈希值中的每一哈希值,可以将该哈希值分别与多个哈希值中的其它哈希值进行一致性比对。可选地,在比对过程中,已经比对过的两个哈希值可以在后续的比对中不在进行比对操作。例如,可以将上述哈希值a分别与哈希值b、哈希值c、哈希值d进行比对;再将上述哈希值b分别与哈希值c、哈希值d进行比对;再将上述哈希值c与哈希值d进行比对。
A4、若多个哈希值中不存在相同的哈希值,则基于多个第一子地图数据生成多个文件块,多个第一子地图数据与多个文件块一一对应。
沿用上述示例,如果哈希值a、哈希值b、哈希值c以及哈希值d经过相互比对后均不相同,则可以基于A区对应的地图数据(即第一子地图数据)生成文件块a、基于B区对应的地图数据生成文件块b、基于C区对应的地图数据生成文件块c、基于D区对应的地图数据生成文件块d。
在一些实施方式中,在基于第一子地图数据生成文件块时,可以将第一子地图数据存储到文件块中的指定位置,并为该文件块添加属性信息,比如添加的属性信息可以包括文件类型、如文件块标识(如文件块的身份证标识号,即文件块ID)、文件块对应的MD5值、地址等等。其中,在为文件块添加文件块ID需要保证各个文件块的文件块ID均不相同。
可以理解的是,由于文件块中的地图数据通过MD5计算,所以得到的哈希值可以用来检查文件块在传输或存储过程中地图数据是否被修改。如果文件块的任何内容发生变化,即使只是一个字节,通过MD5计算得到的哈希值也会有很大差异。
在本实施方式中,通过接收地图划分指令,并根据地图划分指令将地图数据库中的地图数据划分为多个第一子地图数据;再分别对多个第一子地图数据进行哈希计算,得到多个哈希值;然后,将多个哈希值进行比对;若多个哈希值中不存在相同的哈希值,则基于多个第一子地图数据生成多个文件块,从而可以实现用户自定义确定多个文件块,并保证确定的多个文件块不会存在内容完全重复的情况,提高的文件块的生成质量。
在另一些实施方式中,在步骤101中,获取多个文件块的具体实施方式可以包括:
B1、获取参考地图数据。
其中,参考地图数据可以地图数据库中用户自定义选取的地图数据,可选地,参考地图数据可以是一个省对应的地图数据,也可以一个城市对应的地图数据,还可以是一个区县对应的地图数据。
B2、采用预设分形曲线,将参考地图数据分割为多个第二子地图数据。
其中,预设分形曲线用于在空间上将参考地图递归地划分,并按照特定的顺序访问每个子空间来实现这一映射。
可选地,该预设分形曲线可以为Z阶曲线,Z阶曲线(也称为Z-order曲线或莫顿(Morton)编码)由于Z阶曲线可以在空间分形时保持多维数据点的局部性,所以被广泛用于多维数据的索引和查询优化中。
在一些实施方式中,可以将参考地图数据对应的空间图形通过Z阶曲线分形为多个子空间图形,然后获取每个子空间图形对应的地图数据作为第二子地图数据。
其中,在将参考地图数据分割为多个第二子地图数据时,多个第二子地图数据的数量可以根据实际需求确定,可选地,可以根据参考地图数据的数据量确定多个第二子地图数据的数量,例如根据参考地图数据的数据量为M,多个第二子地图数据的数量为N,其中,N为正整数,N与M之间可以正相关。
B3、针对多个第二子地图数据中的每一第二子地图数据,确定第二子地图数据对应的地图范围。
在一些实施方式中,可以将每一第二子地图数据对应的空间图形通过坐标集合表示,并将该坐标集合作为该第二子地图数据对应地图范围。
B4、从地图数据库中获取与地图范围之间存在交集的候选地图数据。
在一些实施方式中,地图数据库预先存储有多个初始地图数据,可以第二子地图数据对应地图范围分别与多个初始地图数据对应的地图范围进行比对,以确定第二子地图数据对应的地图范围是否与初始地图数据对应的地图范围之间存在交集,即第二子地图数据对应的坐标集合与初始地图数据对应的坐标集合之间是否存在重复的坐标。
示例性地,请参阅表1,表1示出了多个第二子地图数据和多个初始地图数据。
表1
以第二子地图数据a为例,可以将第二子地图数据a对应的地图范围分别与初始地图数据a对应的地图范围、初始地图数据b对应的地图范围、初始地图数据d对应的地图范围进行比对,以确定两个地图范围之间是否存在交集,若第二子地图数据a对应的地图范围与初始地图数据a、初始地图数据c对应的地图范围之间存在交集,则可以将初始地图数据a、初始地图数据c确定为第二子地图数据对应的候选地图数据。同理,多个第二子地图数据中除了第二子地图数据a的第二子地图数据(如第二子地图数据b、第二子地图数据c)也可以通过上述地图范围比对方式筛选出对应的候选地图数据。
B5、基于候选地图数据生成第二子地图数据对应的文件块。
沿用上述示例,针对第二子地图数据a,可以基于初始地图数据a、初始地图数据c生成第二子地图数据a对应的文件块。同理,除第二子地图数据a的第二子地图数据也可以通过上述方式生成相应的文件块。
在本实施方式中,通过获取参考地图数据,再采用预设分形曲线,将参考地图数据分割为多个第二子地图数据。然后,针对多个第二子地图数据中的每一第二子地图数据,确定第二子地图数据对应的地图范围。再从地图数据库中获取与地图范围之间存在交集的候选地图数据。最后,基于候选地图数据生成第二子地图数据对应的文件块,从而可以方便后续利用文件块进行空间检索,提高地图数据的查询效率。
在一些实施方式中,在对多个文件块进行存储时,可以将多个文件块设置在不同的存储节点中,例如分布在不同的磁盘阵列,以形成分布式文件系统,从而可以有效降低对地图数据的存储成本。
102、确定待存储数据对应的候选地图范围以及多个文件块中每一文件块对应的地图范围。
在一些实施方式中,待存储数据对应的候选地图范围可以是用户在输入待存储数据一并输入的,例如用户在设备上输入待存储数据时,可以在该设备的地图范围选择界面上同时选取候选地图范围,其中,地图范围选择界面可以包括供用户选择的多个地图范围。
在一些实施方式中,多个文件块中每一文件块可以在建立时就利用该文件块标识关联一个地图范围,并将关联关系进行存储,在确定文件块后可以根据文件块的标识从关联关系从确定出相应的地图范围。
103、将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块。
示例性地,例如待存储数据对应的候选地图范围为在电子地图中的为区域范围a,多个文件块中的文件块A对应的地图范围为区域范围A,且区域范围A包括区域范围a,那么可以确定文件块A与候选地图范围匹配,则可以将文件块A为候选文件块。
104、根据候选文件块的属性信息,确定候选文件块对应的数据索引模式。
其中,数据索引模式为适用于候选文件块中地图数据的组织方式的索引方式。例如,候选文件块中地图数据是以哈希表的方式组织的,那么数据索引模式可以是哈希索引模式。
在一些实施方式中,不同文件块的属性信息可以预先关联不同的数据索引模式,以得到索引模式映射表,因此,在确定候选文件块的属性信息后,可以根据该属性信息从索引模式映射表中匹配出相应的数据索引模式。
在一些实施方式中,属性信息包括文件类型,在步骤104中,根据候选文件块的属性信息,确定候选文件块对应的数据索引模式的具体实施方式可以包括:
根据候选文件块对应的文件类型,确定候选文件块中地图数据的组织方式。
其中,地图数据的组织方式是指将地图数据按照某种特定的结构进行组织和存储的方式。不同的组织方式适用于不同的应用场景,可以提高数据的访问效率、降低存储成本等。
作为一种实施方式,可以预先将多种文件类型与多种组织方式建立映射关系,因此在确定文件类型后,可以从该映射关系中查找到相应的组织方式。
在本实施方式中,针对地图数据的组织方式可以包括线性结构、树形结构、哈希表、图形结构等等。其中,线性结构是最简单的数据组织方式,数据按照线性顺序依次排列。常见的线性结构包括数组、链表等。树形结构是数据按照层级关系组织的一种结构。常见的树形结构包括二叉树、B树、B+树等。图形结构是由节点和边构成的一种结构,用于表示实体之间的关系。常见的图形结构包括有向图、无向图等。哈希表是一种根据关键字直接访问内存位置的数据结构,可以快速查找数据。常见的哈希表包括散列表等。
基于组织方式,确定候选文件块对应的数据索引模式。
105、基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中。
沿用上述示例,例如候选文件块为文件块A,文件块A对应的数据索引模式所使用的数据组织方式为线性结构,那么可以将待存储数据通过线性结构进行数据组织,得到组织后的待存储数据,然后,再将组织后的待存储数据存入文件块A中。
可见,在本实施方式中,由于提前设置了多个用于存储地图数据库的部分地图数据的文件块,从而可以将大量的地图数据拆解后存储到多个文件块,以有效降低地图数据的存储成本。其中,在获取到需要存储的待存储数据时,可以将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块,从而可以根据地图范围准确筛选出待存储数据所要存储到的文件块中,不仅提高的数据存储效率,而且通过文件块进行存储,降低了存储成本,同时以便后续可以根据地图范围这一条件快速地从多个文件块中查询到该待存储数据。此外,通过根据候选文件块的属性信息,确定候选文件块对应的数据索引模式,基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中,从而可以方便后续在查询该待存储数据时,可以直接候选文件块自身的索引模式进行数据查询,大大提升了数据查询效率。
在一些实施例中,在步骤105之后,该方法还可以包括:
S1、获取查询请求,查询请求携带第一查询信息和第二查询信息。
其中,查询请求可以是用于查询地图数据的请求。在一些实施方式中,用户可以通过终端设备使用地图服务提供商的应用程序编程接口(Application ProgrammingInterface,API)向服务器发起地图数据的查询请求。服务器在获得该查询请求后,可以依据查询请求查询得到相应的目标地图数据,并将该目标地图数据返回给用户给的终端设备。其中,目标地图数据为用户想要获得的地图数据。
其中,第一查询信息可以为用于查询文件块的信息,可选地,第一查询信息可以是用于筛选出需要查询的目标文件块的查询条件,比如查询条件可以包括需要查询的文件块对应的文件块标识、地址、建立时间、空间索引结构等等。
其中,第二查询信息可以为用于查询地图数据的信息,可选地,第二查询信息可以包括用于筛选出目标地图数据的查询条件,比如,该查询条件可以包括数据检索条件、空间查询条件、组合条件等。
其中,空间查询条件可以是根据空间位置关系进行数据检索,例如范围查询、邻近查询、交叉查询等。用户可以指定地理区域的边界框、几何形状或其他空间信息来限定检索范围。
其中,数据检索条件为通过数据属性、特征来筛选出目标地图数据的条件,可选地,数据检索条件可以包括属性条件、时间条件等。
其中,属性条件可以是根据地理数据的属性信息进行检索,例如根据地点名称、类别、标签等属性进行数据过滤。用户可以设定属性条件来筛选符合特定属性要求的数据。
其中,时间条件可以是根据时间属性进行数据检索,例如按时间范围、日期或时间戳进行数据筛选。时间条件可用于检索历史轨迹、时序数据等与时间相关的地图数据。
其中,组合条件可以是将上述多个条件组合起来进行数据检索,例如同时考虑空间、属性和时间条件,以获取符合多方面要求的数据。
S2、根据第一查询信息,从上述多个文件块中查询得到目标文件块,文件块中包括地图数据库的部分地图数据以及文件块的属性信息。
在一些实施方式中,在步骤S2中,根据第一查询信息,从上述多个文件块中查询得到目标文件块的具体实施方式可以包括:
C1、在第一查询信息中检测指定信息,指定信息包括文件块标识、文件块地址以及目标地图范围中的至少一种。
其中,文件块地址为表征文件块的存储位置的信息,例如文件块地址可以为文件块的文件路径,通过文件路径可以直接定位到文件块的存储位置。
C2、若检测到指定信息,则将上述多个文件块中与指定信息匹配的文件块确定为目标文件块。
在一些实施方式中,文件块标识可以与文件块地址预先建立映射关系,当在第一查询信息中检测到文件块标识,可以获取与该文件块标识对应的文件块地址,再基于文件块地址定位到目标文件块。
在一些实施方式中,指定信息还可以包括与文件块的一些相关信息例如文件类型、存储时间等等,多个文件块可以预先通过目录树的方式进行存储,目录树中的每个节点对应了文件块中的一个相关信息,例如目录树的一级节点对应文件块的文件类型、一级节点分支下的二级节点对应文件块的存储时间、二级节点分支下的三级节点对应文件块的文件块标识。因此,当在第一查询信息中检测文件块标识、文件类型、存储时间时,可以通过目录树层层筛选从而快速定位到目标文件块。
在一些实施方式中,在步骤C2中,若检测到指定信息,则将上述多个文件块中与指定信息匹配的文件块确定为目标文件块的具体实施方式可以包括:
若检测到目标地图范围,则获取多个文件块中每一文件块对应地图范围。
将多个文件块中地图范围与目标地图范围之间存在交集的文件块确定为目标文件块。
其中,目标地图范围可以为用户需要查询的目标地图数据对应的地图范围。
其中,每一文件块对应地图范围与目标地图范围进行比对的具体实施方式可以参考步骤B4中的范围比对方式,故不在此赘述。
在本实施方式中,通过在检测到目标地图范围的情况下,获取多个文件块中每一文件块对应地图范围,并将多个文件块中地图范围与目标地图范围之间存在交集的文件块确定为目标文件块,从而能够通过空间检索的方式快速定位到目标文件块,进而有效提升地图数据的查询效率。
在一些实施方式中,在步骤S2之前,该方法还可以包括:
对第一查询信息进行语法验证。
若第一查询信息符合第三语法,则执行根据第一查询信息,从上述多个文件块中查询得到目标文件块的步骤,第三语法为用于定位文件块的语法。
其中,第三语法可以为用于存储文件块的数据库所使用的语法,例如存储文件块的数据库可以为联合数据库(Union DB),那么第三语法则为联合数据库中支持文件块地址定位的语法,如u_search(),其中,u_search()为Union DB中用于定位文件块地址的函数。
在本实施方式中,通过在第一查询信息符合第三语法的情况下,才执行根据第一查询信息,从上述多个文件块中查询得到目标文件块的步骤,从而可以保证对目标文件块的查询操作可以正常执行。
S3、依据目标文件块的属性信息,确定目标文件块对应的目标索引模式。
在一些实施方式中,属性信息包括文件类型,依据目标文件块的属性信息,确定目标文件块对应的目标索引模式,包括:
依据目标文件块对应的文件类型,确定目标文件块中地图数据的组织方式。
其中,地图数据的组织方式是指将地图数据按照某种特定的结构进行组织和存储的方式。不同的组织方式适用于不同的应用场景,可以提高数据的访问效率、降低存储成本等。
作为一种实施方式,可以预先将多种文件类型与多种组织方式建立映射关系,因此在确定文件类型后,可以从该映射关系中查找到相应的组织方式。
在本实施方式中,针对地图数据的组织方式可以包括线性结构、树形结构、哈希表、图形结构等等。其中,线性结构是最简单的数据组织方式,数据按照线性顺序依次排列。常见的线性结构包括数组、链表等。树形结构是数据按照层级关系组织的一种结构。常见的树形结构包括二叉树、B树、B+树等。图形结构是由节点和边构成的一种结构,用于表示实体之间的关系。常见的图形结构包括有向图、无向图等。哈希表是一种根据关键字直接访问内存位置的数据结构,可以快速查找数据。常见的哈希表包括散列表等。
基于组织方式,确定目标文件块对应的目标索引模式。
其中,目标索引模式为适用于目标文件块中地图数据的组织方式的索引方式。例如,目标文件块中地图数据是以哈希表的方式组织的,那么目标索引模式可以是哈希索引模式。
S4、基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据。
在一些实施方式中,在步骤S4中,基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据,包括:
基于第二查询信息和目标索引模式生成目标查询指令,目标查询指令符合目标索引模式对应的第一语法,第一语法为用于索引地图数据的语法。
其中,第一语法可以为符合文件块中存储地图数据的数据库和目标索引模式的语法。例如文件块中存储地图数据的数据库的为结构化查询语言(Structured QueryLanguage,SQL)数据库,目标索引模式为哈希索引模式,那么第一语法为适用于哈希索引模式的SQL语句。
基于目标查询指令,从目标文件块中查询得到目标地图数据。
在本实施方式中,通过基于第二查询信息和目标索引模式生成目标查询指令,目标查询指令符合目标索引模式对应的第一语法,并基于目标查询指令,从目标文件块中查询得到目标地图数据,从而可以保证目标地图数据的查询操作能够正常执行,从而提升查询效率。
在一些实施方式中,在步骤S4之前,该方法还可以包括:
从目标文件块的属性信息中提取出状态信息,状态信息表征目标文件块是否处于锁定状态。
其中,当目标文件块处于锁定状态时,表明该目标文件块不可使用。
示例性地,其中,状态信息可以用不同的字符表示,例如用状态信息“1”表示目标文件块是处于锁定状态,用状态信息“0”表示目标文件块不处于锁定状态。
若状态信息指示目标文件块不处于锁定状态,则执行基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据的步骤。
在一些实施方式中,当接收到针对目标文件块的锁定指令时,可以根据锁定指令对目标文件块中的状态信息进行调整,例如可以根据锁定指令,将目标文件块的状态信息调整为“1”。其中,锁定指令可以是用户根据实际需求向服务器发送的。
在一些实施方式中,该方法还可以包括:
当接收到针对目标文件块的操作指令时,对操作指令进行语法验证。
其中,操作指令为用于对目标文件块进行相应操作,该操作包括但不限于:删除、备份、覆盖、加载等。
若操作指令符合第二语法,则执行操作指令,并将目标文件块的状态信息调整为锁定状态,第二语法为用于操作文件块的语法。
其中,第二语法可以为用于存储文件块的数据库所使用的相关语法,例如存储文件块的数据库可以为联合数据库(Union DB),那么第三语法则为联合数据库中支持文件块操作的语法,比如:u_load(),u_delete(),u_backup(),u_recover()。其中,u_load()为Union DB中用于加载文件块的函数。u_delete()为Union DB中用于删除文件块的函数。u_backup()为Union DB中用于备份文件块的函数。u_recover()为Union DB中用于覆盖文件块的函数。
当操作指令执行完成时,将目标文件块的状态信息调整为非锁定状态。
在本实施方式中,通过当接收到针对目标文件块的操作指令时,对操作指令进行语法验证,若操作指令符合第二语法,则执行操作指令,并将目标文件块的状态信息调整为锁定状态,从而可以保证目标文件块在已经被其他用户使用时精准地进入锁定状态,以防止目标文件的并发冲突。
考虑到关系型空间数据库无法支持海量的地图数据,当地图数据的数据量超过阈值会影响关系型空间数据库的性能,且基于关系型数据库的地图数据存储方案难以扩展,需按照使用峰值准备资源,存储成本极高,不便于地图数据的查询,在本实施例中,通过先获取查询请求,其中,查询请求携带第一查询信息和第二查询信息;再根据第一查询信息,从上述多个文件块中查询得到目标文件块,文件块中包括地图数据库的部分地图数据以及文件块的属性信息;然后,依据目标文件块的属性信息,确定目标文件块对应的目标索引模式;最后,基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据。由于提前将大量的地图数据拆解为多个文件块进行存储,且多个文件块可以形成分布式文件系统,从而可以有效降低地图数据的存储成本。然后,结合多个文件块的存储方式,在接收到针对地图数据的查询请求后,可以先根据第一查询信息查询到目标文件块,以缩小地图数据查询范围,再根据目标文件块的属性信息可以准确地确定目标文件块对应的目标索引模式,最后,根据第二查询信息结合目标文件块对应的目标索引模式,在目标文件里块中查询得到目标地图数据,从而可以有效提升地图数据的查询效率。
根据上述实施例所描述的方法,以下将作进一步详细说明。
在本实施例中,将以服务器为例,对本申请实施例的方法进行详细说明。
如图2a所示,一种地图数据存储方法具体流程如下:
201、服务器获取待存储数据以及多个文件块,文件块用于存储地图数据库的部分地图数据,文件块包括属性信息。
示例性地,如图2b所示,文件块的规格可以定义为两个部分,这两个部分分别为元数据区(以下可以简称Meta区)和地图数据区(以下可简称Data区),其中,Meta区是文件块的元数据定义,一般包括文件块的文件类型、锁定状态,Md5值,文件ID,外界矩形(GeoHash),更新时间(也可称同步时间)和键值对(kv)属性。
其中,Data区一般包括空间索引区和地图数据区,空间索引区可以包括用于索引地图数据的索引字节和地图数据的数据字节,其中,索引字节可以与文件块的文件类型对应,即与文件块的索引模式对应。其中,该Data区可由支持空间检索的文件数据库如Sql数据库组成。
在一些实施方式中,在步骤201中,获取多个文件块的具体实施方式可以包括:
接收地图划分指令,并根据地图划分指令将地图数据库中的地图数据划分为多个第一子地图数据;
分别对多个第一子地图数据进行哈希计算,得到多个哈希值,多个哈希值与多个第一子地图数据一一对应;
将多个哈希值进行比对;
若多个哈希值中不存在相同的哈希值,则基于多个第一子地图数据生成多个文件块,多个第一子地图数据与多个文件块一一对应。
示例性地,在实际应用中,在确定生成文件块时,服务器可以接入外部ID系统,该外部ID系统可以根据自身的业务自定义地对地图数据库中的地图数据进行空间分块,以得到每个空间分块对应的文件块,其中,得到的文件块需要保证文件块的ID不重复以及文件块的MD5值的唯一性。
在一些实施方式中,在步骤201中,获取多个文件块的具体实施方式可以包括:
获取参考地图数据;
采用预设分形曲线,将参考地图数据分割为多个第二子地图数据;
针对多个第二子地图数据中的每一第二子地图数据,确定第二子地图数据对应的地图范围;
从地图数据库中获取与地图范围之间存在交集的候选地图数据;
基于候选地图数据生成第二子地图数据对应的文件块。
示例性地,以预设分形曲线为Z阶曲线为例,请参阅图2c,首先可以采用Z阶曲线的分形方式,将一张参考地图数据(如地图数据A)分割为指定数量N的独立且唯一的地图空间B(以下可以称地图box B),然后依据地图box B所确定的地图范围,从地图母库(即上述地图数据库)中选取出与地图box B相交的地图数据C集合,再依据C生成关于地图box B的文件块,最后可以将文件块进行存储。
202、服务器确定待存储数据对应的候选地图范围以及多个文件块中每一文件块对应的地图范围。
203、服务器将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块。
204、服务器根据候选文件块的属性信息,确定候选文件块对应的数据索引模式。
205、服务器基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中。
206、服务器获取查询请求,查询请求携带第一查询信息和第二查询信息。
207、服务器根据第一查询信息,从上述多个文件块中查询得到目标文件块,文件块中包括地图数据库的部分地图数据以及文件块的属性信息。
其中,在步骤207中,步骤“根据第一查询信息,从上述多个文件块中查询得到目标文件块”可以包括:
在第一查询信息中检测指定信息,指定信息包括文件块标识、文件块地址以及目标地图范围中的至少一种;
若检测到指定信息,则将上述多个文件块中与指定信息匹配的文件块确定为目标文件块。
在一些实施方式中,步骤“若检测到指定信息,则将上述多个文件块中与指定信息匹配的文件块确定为目标文件块”,可以包括:
若检测到目标地图范围,则获取多个文件块中每一文件块对应地图范围;
将多个文件块中地图范围与目标地图范围之间存在交集的文件块确定为目标文件块。
示例性地,请参阅图2d,文件块在存储时可以基于目录树的方式进行存储,文件块可以通过目录树的方式存储在不同磁盘阵列中,且遵循NFS协议,其中,NFS是一种网络文件系统协议,用于在不同的计算机之间共享文件和目录。通过目录树可以基于文件块的相关信息进行层层筛选(如目录树中时间2013年进行筛选),以快速地从多个文件块中确定目标文件块。同时,该多个文件块的目录树也可以实时地同步到云端存储中。
其中,在步骤207之前,该方法还可以包括:对第一查询信息进行语法验证;
若第一查询信息符合第三语法,则执行根据第一查询信息,从上述多个文件块中查询得到目标文件块的步骤,第三语法为用于定位文件块的语法。
208、服务器依据目标文件块的属性信息,确定目标文件块对应的目标索引模式。
其中,属性信息包括文件类型,步骤208的具体实施方式可以包括:
依据目标文件块对应的文件类型,确定目标文件块中地图数据的组织方式;
基于组织方式,确定目标文件块对应的目标索引模式。
209、服务器基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据。
其中,在步骤209中,步骤“基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据”可以包括:
基于第二查询信息和目标索引模式生成目标查询指令,目标查询指令符合目标索引模式对应的第一语法,第一语法为用于索引地图数据的语法;
基于目标查询指令,从目标文件块中查询得到目标地图数据。
其中,在步骤209之前,该方法还可以包括:
从目标文件块的属性信息中提取出状态信息,状态信息表征目标文件块是否处于锁定状态;
若状态信息指示目标文件块不处于锁定状态,则执行基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据的步骤。
在一些实施方式中,在步骤“从目标文件块的属性信息中提取出状态信息”之前,该方法还可以包括:
当接收到针对目标文件块的操作指令时,对操作指令进行语法验证;
若操作指令符合第二语法,则执行操作指令,并将目标文件块的状态信息调整为锁定状态,第二语法为用于操作文件块的语法;
当操作指令执行完成时,将目标文件块的状态信息调整为非锁定状态。
示例性地,步骤206至步骤209中对地图数据的查询过程可以如图2e所示,首先,用户可以向服务器输入查询条件,该查询条件包括针对文件块的第一查询条件(对应上述第一查询信息)和针对地图数据的第二查询条件(对应上述第二查询信息),然后,可以基于第一查询条件进行文件块的元数据索引,可选地,第一查询条件可以包括文件ID、文件路径、空间box等,其中,通过文件路径可以直接定位目标文件块的地址。通过文件ID可以结合B+树检索来定位到目标文件块的地址。通过空间box可以使用box检索外界矩形来定位到目标文件块的地址。
在得到目标文件块的地址后,可以识别目标文件块的文件类型,以确定二级索引,如上述Data区中的索引字节,其中,二级索引可以与目标文件块的索引模式对应。
最后,二级索引结合第二查询条件可以从目标文件块中查询到目标地图数据,并将目标地图数据的数据字节返回给用户。其中,第二查询条件可以包括数据检索条件和空间查询条件。
在一些实施方式中,本实施例中在地图数据存储过程中所使用的语法可以如图2f所示,可见,在本实施中可以在标准SQL基础上扩展UnionDB函数集合,以支持本实施例的地图数据存储方法中的混合索引和分层文件存储。其中,该函数集合中包括支持文件块操作的语法(如上述第二语法):u_load(),u_delete(),u_backup(),u_recover()。还包括支持文件块地址定位的语法(如上述第三语法):u_search()。还包括执行地图要素的检索的语法(即上述第一语法):u_id()。
在本实施例中,通过配合标准SQL语句,可实现UnionDB的存储管理和检索更新等能力。示例性地,在实际应用中,本实施的地图数据存储方法还可以应用在客户端(Client)和服务端(Server)。其中,当该地图数据存储方法应用在客户端和服务端时,可以采用如图2g所示的系统架构中。其中,在该系统架构可以包括应用层、驱动层、协议层、引擎层以及存储层,该应用层和驱动层可以设置在客户端,引擎层以及存储层可以设置在服务端。
其中,客户端负责处理上层应用,具体地,客户端具有应用能力(如数据服务)、块管理等服务能力以及数据驱动能力(如连接管理、协议解析、缓存优化、数据API管理及文件锁管理等)。
其中,服务端负责处理基础能力,具体地,服务端中的引擎层负责处理Client连接、Sql解析和优化、文件块管理和同步、以及针对文件块的一级索引能力。服务端中的存储层负责物理存储,具体包括主备切换和同步、云端副本存储、日志记录以及针对地图数据的二级数据索引。
其中,协议层作为中间层,用于定义客户端和服务端之间的交互标准。可选地,协议层可以依赖TCP协议、IP协议、NFS协议等。
其中,应用层能够提供具体的服务包括但不限于:提供各种语言(如Python、Java、Go、C++等)实现的服务框架,如Spring框架、Flask框架等,其中,应用层的服务可以运行在一些容器(如Tomcat、Apache等)或者基础语言环境(如Jre、JDK、Python等)中。其中,应用层还包括用于加载文件块的文件块加载模块、用于清除文件块的文件块清理模块,以及用于对文件块进行计算的文件块计算模块。
其中,驱动层负责数据驱动,对于上述将文件块进行锁定的功能可以由驱动层实现,具体地,驱动层可以包括用于对文件锁定进行管理的文件锁定模块,此外,驱动层还可以包括用于管理文件块API的API管理模块。
其中,引擎层可以使用Java语言实现,框架采用了Spring boot系列,依赖Java运行时环境,能够使用Redis、Mysql等技术。其中,引擎层还包括用于连接联合数据库的连接模块,用于管理文件块的文件块管理模块,用于索引文件块的元数据管理模块,用于同步文件块的文件块同步模块。
其中,存储层可以依赖分布式文件系统(如Cloud File Storage)、文件对象存储(Cloud Object Storage),并可以在文件块中使用文件数据库如Sqlite/Spatialite等技术。其中,存储层中可以包括用于存储文件块的主存储模块和从属存储模块,用于索引文件块中地图数据的索引管理模块。
在一些实施方式中,基于上述系统架构,在对地图数据进行查询的过程可以如图2h所示:
首先,用户可以向客户端输入查询请求,该查询请求中可以携带目标文件块的ID以及针对文件块的操作指令。
然后,客户端可以对查询请求进行合法性校验,即校验查询请求所携带的函数是否存在于如图2f所示的函数集合中,若存在,则确定该查询请求合法。
在查询请求合法的情况下,可以对该查询请求进行解析,以确定查询请求的操作意图(如选择、删除、更新等),从而得到操作指令,接下来驱动用于存储文件块的联合数据库,并根据目标文件块的ID从联合数据库中确定目标文件块。
然后,对目标文件块就进行文件锁校验,若目标文件块没有被锁定,则建立与上述联合数据库的长连接,再建立客户端与服务端的连接。
服务端在与客户端连接成功后,可以接收操作指令,并对操作指令进行指令校验,即校验操作指令所对应的函数是否存在于如图2f所示的函数集合中,若存在,则确定该操作指令检验通过。
然后,基于操作指令生成关于联合数据库的Sql语句。该Sql语句经过联合数据库的引擎解析后可以得到一级索引(对应上述第一查询信息)和二级索引(对应上述第二查询信息)。
接着,服务端可以根据一级索引进行文件块的元数据索引,即文件块地址定位,以定位目标文件块的地址,若该地址存在,该联合数据库的引擎可以继续基于二级索引从目标文件块中进行目标地图数据的查询,然后,通过Sql语句执行对查询到的目标地图数据执行与上述操作意图相关的操作,以得到更新后的目标文件块(以下可称目标part),并将更新后的目标part同步到云端,以完成文件块同步。
在一些实施方式中,基于上述系统架构,步骤201至步骤205中在对地图数据进行存储的过程可以如图2i所示:
首先,用户可以向客户端输入存储请求,该存储请求可以携带待存储数据和目标文件块的ID。
然后,客户端可以对存储请求进行合法性校验,即校验存储请求所携带的函数是否存在于如图2f所示的函数集合中,若存在,则确定该存储请求合法。
在存储请求合法的情况下,可以对该存储请求进行解析,以确定存储请求对应的操作意图(如在文件块中存储数据),从而得到存储操作指令,接下来驱动用于存储文件块的联合数据库,并根据目标文件块的ID从联合数据库中确定目标文件块。其中,可以理解的是,存储请求除了携带存储数据的操作意图外,还可以同时携带对文件块的操作意图(如存储、删除、备份、覆盖等)。
然后,对目标文件块就进行文件锁校验,若目标文件块没有被锁定,则根据存储操作指令生成针对文件块(以下可称part)的文件块存储指令;其中,可以理解的是,用户输入的存储请求需要转化成文件块存储指令才能被联合数据库使用。
接下来,客户端和服务端可以通过协议层进行交互,以使服务端可以接收文件块存储指令,并对文件块存储指令进行指令校验,即校验文件块存储指令所对应的函数是否存在于如图2f所示的函数集合中,若存在,则确定该文件块存储指令检验通过。
然后,服务端可以基于文件块存储指令生成关于联合数据库的Sql语句。该Sql语句经过联合数据库的引擎解析后可以得到一级索引(对应上述第一查询信息)和二级索引(对应上述第二查询信息)。
接下来,可以通过一级索引生成目标文件块的元数据,即文件块元数据生成,并定位到目标文件块的地址,即文件块地定位。通过联合数据库的引擎执行数据存储操作,将待存储数据存入目标文件块中。并将目标文件块同步到云端。
综上,本实施例的地图数据存储方法,可以支持超大地图数据集拆解为小文件块,配合混合索引机制(即对文件块的索引和对地图数据的索引),解决数据库的性能问题。此外,可以使用分布式文件系统和可调度计算资源,按需分配,提高地图数据的存储效率和查询效率,在实际应用中,仅需廉价磁盘和少量协调服务即可提供数据能力,成本极低,便于推广。经对本实施例的方法进行测试得到,该地图数据存储方法所使用的系统架构的成本不到目前相关地图数据存储架构的1/10,且利用该系统架构进行地图业务的效率比目前相关地图数据存储架构提升了5倍以上。
为了更好地实施以上方法,本申请实施例还提供一种地图数据存储装置,该地图数据存储装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以地图数据存储装置具体集成在地图数据存储为例,对本申请实施例的方法进行详细说明。
例如,如图3所示,该地图数据存储装置可以包括:
获取单元301,用于获取待存储数据以及多个文件块,文件块用于存储地图数据库的部分地图数据,文件块包括属性信息。
第一确定单元302,用于确定待存储数据对应的候选地图范围以及多个文件块中每一文件块对应的地图范围。
匹配单元303,用于将多个文件块中地图范围与候选地图范围匹配的文件块,确定为候选文件块。
第二确定单元304,用于根据候选文件块的属性信息,确定候选文件块对应的数据索引模式。
存储单元305,用于基于数据索引模式对待存储数据进行数据组织,并将组织后的待存储数据存入候选文件块中。
在一些实施方式中,获取单元301,具体用于:
接收地图划分指令,并根据地图划分指令将地图数据库中的地图数据划分为多个第一子地图数据。
分别对多个第一子地图数据进行哈希计算,得到多个哈希值,多个哈希值与多个第一子地图数据一一对应。
将多个哈希值进行比对。
若多个哈希值中不存在相同的哈希值,则基于多个第一子地图数据生成多个文件块,多个第一子地图数据与多个文件块一一对应。
在一些实施方式中,获取单元301,具体还用于:
获取参考地图数据。
采用预设分形曲线,将参考地图数据分割为多个第二子地图数据。
针对多个第二子地图数据中的每一第二子地图数据,确定第二子地图数据对应的地图范围。
从地图数据库中获取与地图范围之间存在交集的候选地图数据。
基于候选地图数据生成第二子地图数据对应的文件块。
在一些实施方式中,该地图数据存储装置还可以包括:
查询请求获取单元301,用于获取查询请求,查询请求携带第一查询信息和第二查询信息。
文件块查询单元,用于根据第一查询信息,从多个文件块中查询得到目标文件块。
模式确定单元,用于依据目标文件块的属性信息,确定目标文件块对应的目标索引模式。
数据查询单元,用于基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据。
在一些实施方式中,属性信息包括文件类型,模式确定单元,具体用于:
依据目标文件块对应的文件类型,确定目标文件块中地图数据的组织方式。
基于组织方式,确定目标文件块对应的目标索引模式。
在一些实施方式中,文件块查询单元,包括:
检测子单元,用于在第一查询信息中检测指定信息,指定信息包括文件块标识、文件块地址以及目标地图范围中的至少一种。
确定子单元,用于若检测到指定信息,则将上述多个文件块中与指定信息匹配的文件块确定为目标文件块。
在一些实施方式中,确定子单元,具体用于:
若检测到目标地图范围,则获取多个文件块中每一文件块对应地图范围;
将多个文件块中地图范围与目标地图范围之间存在交集的文件块确定为目标文件块。
在一些实施方式中,数据查询单元,具体用于:
基于第二查询信息和目标索引模式生成目标查询指令,目标查询指令符合目标索引模式对应的第一语法,第一语法为用于索引地图数据的语法。
基于目标查询指令,从目标文件块中查询得到目标地图数据。
在一些实施方式中,地图数据存储装置还包括:
信息提取单元,用于从目标文件块的属性信息中提取出状态信息,状态信息表征目标文件块是否处于锁定状态。
第一执行单元,用于若状态信息指示目标文件块不处于锁定状态,则执行基于第二查询信息和目标索引模式,从目标文件块中查询得到目标地图数据的步骤。
在一些实施方式中,地图数据存储装置还包括:
第一验证单元,用于当接收到针对目标文件块的操作指令时,对操作指令进行语法验证。
第一状态调整单元,用于若操作指令符合第二语法,则执行操作指令,并将目标文件块的状态信息调整为锁定状态,第二语法为用于操作文件块的语法。
第二状态调整单元,用于当操作指令执行完成时,将目标文件块的状态信息调整为非锁定状态。
在一些实施方式中,地图数据存储装置还包括:
第二验证单元,用于对第一查询信息进行语法验证。
第二执行单元,用于若第一查询信息符合第三语法,则执行根据第一查询信息,从上述多个文件块中查询得到目标文件块的步骤,第三语法为用于定位文件块的语法。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。
在一些实施例中,该地图数据存储装置还可以集成在多个电子设备中,比如,地图数据存储装置可以集成在多个服务器中,由多个服务器来实现本申请的地图数据存储方法。
在本实施例中,将以本实施例的电子设备为例进行详细描述,比如,如图4所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403、输入模块404以及通信模块405等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监测。在一些实施例中,处理器401可包括一个或多个处理核心;在一些实施例中,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,在一些实施例中,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该电子设备还可包括通信模块405,在一些实施例中通信模块405可以包括无线模块,电子设备可以通过该通信模块405的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块405可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种地图数据存储方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的方法。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种地图数据存储方法中的步骤,因此,可以实现本申请实施例所提供的任一种地图数据存储方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种地图数据存储方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种地图数据存储方法,其特征在于,包括:
获取待存储数据以及多个文件块,所述文件块用于存储地图数据库的部分地图数据,所述文件块包括属性信息;
确定所述待存储数据对应的候选地图范围以及所述多个文件块中每一文件块对应的地图范围;
将所述多个文件块中地图范围与所述候选地图范围匹配的文件块,确定为候选文件块;
根据所述候选文件块的属性信息,确定所述候选文件块对应的数据索引模式;
基于所述数据索引模式对所述待存储数据进行数据组织,并将组织后的待存储数据存入所述候选文件块中。
2.根据权利要求1所述的地图数据存储方法,其特征在于,所述获取多个文件块包括:
接收地图划分指令,并根据所述地图划分指令将地图数据库中的地图数据划分为多个第一子地图数据;
分别对所述多个第一子地图数据进行哈希计算,得到多个哈希值,所述多个哈希值与所述多个第一子地图数据一一对应;
将所述多个哈希值进行比对;
若所述多个哈希值中不存在相同的哈希值,则基于所述多个第一子地图数据生成多个文件块,所述多个第一子地图数据与所述多个文件块一一对应。
3.根据权利要求1所述的地图数据存储方法,其特征在于,所述获取多个文件块包括:
获取参考地图数据;
采用预设分形曲线,将所述参考地图数据分割为多个第二子地图数据;
针对所述多个第二子地图数据中的每一第二子地图数据,确定所述第二子地图数据对应的地图范围;
从地图数据库中获取与所述地图范围之间存在交集的候选地图数据;
基于所述候选地图数据生成所述第二子地图数据对应的文件块。
4.根据权利要求1至3中任一项 所述的地图数据存储方法,其特征在于,在所述基于所述数据索引模式对所述待存储数据进行数据组织,并将组织后的待存储数据存入所述候选文件块中之后,所述方法还包括:
获取查询请求,所述查询请求携带第一查询信息和第二查询信息;
根据所述第一查询信息,从所述多个文件块中查询得到目标文件块;
依据所述目标文件块的属性信息,确定所述目标文件块对应的目标索引模式;
基于所述第二查询信息和所述目标索引模式,从所述目标文件块中查询得到目标地图数据。
5.根据权利要求4所述的地图数据存储方法,其特征在于,所述属性信息包括文件类型,所述依据所述目标文件块的属性信息,确定所述目标文件块对应的目标索引模式,包括:
依据所述目标文件块对应的文件类型,确定所述目标文件块中地图数据的组织方式;
基于所述组织方式,确定所述目标文件块对应的目标索引模式。
6.根据权利要求4所述的地图数据存储方法,其特征在于,所述根据所述第一查询信息,从所述多个文件块中查询得到目标文件块,包括:
在所述第一查询信息中检测指定信息,所述指定信息包括文件块标识、文件块地址以及目标地图范围中的至少一种;
若检测到所述指定信息,则将所述多个文件块中与所述指定信息匹配的文件块确定为所述目标文件块。
7.根据权利要求6所述的地图数据存储方法,其特征在于,所述若检测到所述指定信息,则将所述多个文件块中与所述指定信息匹配的文件块确定为所述目标文件块,包括:
若检测到目标地图范围,则获取所述多个文件块中每一文件块对应地图范围;
将所述多个文件块中地图范围与所述目标地图范围之间存在交集的文件块确定为所述目标文件块。
8.根据权利要求4所述的地图数据存储方法,其特征在于,所述基于所述第二查询信息和所述目标索引模式,从所述目标文件块中查询得到目标地图数据,包括:
基于所述第二查询信息和所述目标索引模式生成目标查询指令,所述目标查询指令符合所述目标索引模式对应的第一语法,所述第一语法为用于索引地图数据的语法;
基于所述目标查询指令,从所述目标文件块中查询得到目标地图数据。
9.根据权利要求4所述的地图数据存储方法,其特征在于,在所述基于所述第二查询信息和所述目标索引模式,从所述目标文件块中查询得到目标地图数据之前,所述方法还包括:
从所述目标文件块的属性信息中提取出状态信息,所述状态信息表征所述目标文件块是否处于锁定状态;
若所述状态信息指示所述目标文件块不处于锁定状态,则执行所述基于所述第二查询信息和所述目标索引模式,从所述目标文件块中查询得到目标地图数据的步骤。
10.根据权利要求9所述的地图数据存储方法,其特征在于,所述方法还包括:
当接收到针对所述目标文件块的操作指令时,对所述操作指令进行语法验证;
若所述操作指令符合第二语法,则执行所述操作指令,并将所述目标文件块的状态信息调整为锁定状态,所述第二语法为用于操作文件块的语法;
当所述操作指令执行完成时,将所述目标文件块的状态信息调整为非锁定状态。
11.根据权利要求4所述的地图数据存储方法,其特征在于,在所述根据所述第一查询信息,从所述多个文件块中查询得到目标文件块之前,所述方法包括:
对所述第一查询信息进行语法验证;
若所述第一查询信息符合第三语法,则执行所述根据所述第一查询信息,从所述多个文件块中查询得到目标文件块的步骤,所述第三语法为用于定位文件块的语法。
12.一种地图数据存储装置,其特征在于,包括:
获取单元,用于获取待存储数据以及多个文件块,所述文件块用于存储地图数据库的部分地图数据,所述文件块包括属性信息;
第一确定单元,用于确定所述待存储数据对应的候选地图范围以及所述多个文件块中每一文件块对应的地图范围;
匹配单元,用于将所述多个文件块中地图范围与所述候选地图范围匹配的文件块,确定为候选文件块;
第二确定单元,用于根据所述候选文件块的属性信息,确定所述候选文件块对应的数据索引模式;
存储单元,用于基于所述数据索引模式对所述待存储数据进行数据组织,并将组织后的待存储数据存入所述候选文件块中。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~11任一项所述的地图数据存储方法中的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~11任一项所述的地图数据存储方法中的步骤。
15.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1~11任一项所述的地图数据存储方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410323328.0A CN117931095B (zh) | 2024-03-21 | 地图数据存储方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410323328.0A CN117931095B (zh) | 2024-03-21 | 地图数据存储方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117931095A true CN117931095A (zh) | 2024-04-26 |
CN117931095B CN117931095B (zh) | 2024-07-05 |
Family
ID=
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855322A (zh) * | 2012-09-11 | 2013-01-02 | 哈尔滨工程大学 | 一种基于空间探索技术的地图数据存储方法 |
CN104699815A (zh) * | 2015-03-24 | 2015-06-10 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法和系统 |
US9141372B1 (en) * | 2014-06-20 | 2015-09-22 | GM Global Technology Operations LLC | Secure and interruptible transfer of a map update package to a navigation device |
CN105138632A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种文件数据组织管理方法及文件管理服务器 |
CN105630410A (zh) * | 2015-12-03 | 2016-06-01 | 上海磁宇信息科技有限公司 | 使用非易失随机读写存储芯片动态管理文件存储区的方法 |
US20180011865A1 (en) * | 2015-07-27 | 2018-01-11 | Sas Institute Inc. | Distributed data set encryption and decryption |
CN107807989A (zh) * | 2017-11-03 | 2018-03-16 | 小草数语(北京)科技有限公司 | 小文件处理方法及装置 |
CN110580273A (zh) * | 2019-09-11 | 2019-12-17 | 四川易利数字城市科技有限公司 | 地图gis数据处理存储方法、装置、可读存储介质 |
CN110765076A (zh) * | 2019-10-25 | 2020-02-07 | 北京奇艺世纪科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111143289A (zh) * | 2019-12-26 | 2020-05-12 | 四川航天神坤科技有限公司 | 一种地图的瓦片数据处理方法及装置 |
KR20210037774A (ko) * | 2019-09-27 | 2021-04-07 | 주식회사 현대제이콤 | 지도를 위한 파일 관리 방법 |
CN113568585A (zh) * | 2021-08-03 | 2021-10-29 | 上海提喀科技有限公司 | 文件存取方法、设备、节点及存储介质 |
CN115292427A (zh) * | 2022-06-28 | 2022-11-04 | 北京百度网讯科技有限公司 | 地图数据存储方法、装置、计算机可读存储介质及服务器 |
CN115687675A (zh) * | 2022-10-26 | 2023-02-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载矢量地图数据处理方法 |
CN115794858A (zh) * | 2022-11-17 | 2023-03-14 | 中国工商银行股份有限公司 | 查询语句处理方法、装置、设备及存储介质 |
CN115905436A (zh) * | 2022-10-31 | 2023-04-04 | 文远京行(北京)科技有限公司 | 地图的加载方法、装置、设备及存储介质 |
CN117608476A (zh) * | 2023-11-24 | 2024-02-27 | 航天宏图信息技术股份有限公司 | 矢量数据分块存储方法、装置、电子设备及介质 |
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855322A (zh) * | 2012-09-11 | 2013-01-02 | 哈尔滨工程大学 | 一种基于空间探索技术的地图数据存储方法 |
US9141372B1 (en) * | 2014-06-20 | 2015-09-22 | GM Global Technology Operations LLC | Secure and interruptible transfer of a map update package to a navigation device |
CN104699815A (zh) * | 2015-03-24 | 2015-06-10 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法和系统 |
US20180011865A1 (en) * | 2015-07-27 | 2018-01-11 | Sas Institute Inc. | Distributed data set encryption and decryption |
CN105138632A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种文件数据组织管理方法及文件管理服务器 |
CN105630410A (zh) * | 2015-12-03 | 2016-06-01 | 上海磁宇信息科技有限公司 | 使用非易失随机读写存储芯片动态管理文件存储区的方法 |
CN107807989A (zh) * | 2017-11-03 | 2018-03-16 | 小草数语(北京)科技有限公司 | 小文件处理方法及装置 |
CN110580273A (zh) * | 2019-09-11 | 2019-12-17 | 四川易利数字城市科技有限公司 | 地图gis数据处理存储方法、装置、可读存储介质 |
KR20210037774A (ko) * | 2019-09-27 | 2021-04-07 | 주식회사 현대제이콤 | 지도를 위한 파일 관리 방법 |
CN110765076A (zh) * | 2019-10-25 | 2020-02-07 | 北京奇艺世纪科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111143289A (zh) * | 2019-12-26 | 2020-05-12 | 四川航天神坤科技有限公司 | 一种地图的瓦片数据处理方法及装置 |
CN113568585A (zh) * | 2021-08-03 | 2021-10-29 | 上海提喀科技有限公司 | 文件存取方法、设备、节点及存储介质 |
CN115292427A (zh) * | 2022-06-28 | 2022-11-04 | 北京百度网讯科技有限公司 | 地图数据存储方法、装置、计算机可读存储介质及服务器 |
CN115687675A (zh) * | 2022-10-26 | 2023-02-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载矢量地图数据处理方法 |
CN115905436A (zh) * | 2022-10-31 | 2023-04-04 | 文远京行(北京)科技有限公司 | 地图的加载方法、装置、设备及存储介质 |
CN115794858A (zh) * | 2022-11-17 | 2023-03-14 | 中国工商银行股份有限公司 | 查询语句处理方法、装置、设备及存储介质 |
CN117608476A (zh) * | 2023-11-24 | 2024-02-27 | 航天宏图信息技术股份有限公司 | 矢量数据分块存储方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106599104B (zh) | 一种基于redis集群的海量数据关联方法 | |
US20160357788A1 (en) | Resource name generation and derivation | |
US8396883B2 (en) | Spatial querying in a data warehouse | |
CN104239511B (zh) | 一种面向MongoDB的用户空间文件系统实现方法 | |
CN103810224A (zh) | 信息持久化和查询方法及装置 | |
US9659023B2 (en) | Maintaining and using a cache of child-to-parent mappings in a content-addressable storage system | |
US11151081B1 (en) | Data tiering service with cold tier indexing | |
CN105302920A (zh) | 一种云存储数据的优化管理方法和系统 | |
CN104408159A (zh) | 一种数据关联、加载、查询方法及装置 | |
CN108268614B (zh) | 一种森林资源空间数据的分布式管理方法 | |
CN111917834A (zh) | 一种数据同步方法、装置、存储介质及计算机设备 | |
US8527478B1 (en) | Handling bulk and incremental updates while maintaining consistency | |
CN115705313A (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
US20190370382A1 (en) | Unbalanced partitioning of database for application data | |
CN115918110A (zh) | 使用键值存储库的空间搜索 | |
CN111125216B (zh) | 数据导入Phoenix的方法及装置 | |
CN114595286A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN117931095B (zh) | 地图数据存储方法、装置、电子设备和存储介质 | |
CN113641686B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN117931095A (zh) | 地图数据存储方法、装置、电子设备和存储介质 | |
CN115113989B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN115630122A (zh) | 一种数据同步方法、装置、存储介质和计算机设备 | |
CN117009430A (zh) | 数据管理方法、装置和存储介质及电子设备 | |
CN114048219A (zh) | 图数据库更新方法及装置 | |
US20220365905A1 (en) | Metadata processing method and apparatus, and a computer-readable storage medium |
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 |