CN111444163B - 一种地图数据管理以及电子地图回滚的方法及装置 - Google Patents

一种地图数据管理以及电子地图回滚的方法及装置 Download PDF

Info

Publication number
CN111444163B
CN111444163B CN202010219780.4A CN202010219780A CN111444163B CN 111444163 B CN111444163 B CN 111444163B CN 202010219780 A CN202010219780 A CN 202010219780A CN 111444163 B CN111444163 B CN 111444163B
Authority
CN
China
Prior art keywords
map
map data
determining
leaf node
storage
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
CN202010219780.4A
Other languages
English (en)
Other versions
CN111444163A (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.)
Hanhai Information Technology Shanghai Co Ltd
Original Assignee
Hanhai Information Technology Shanghai Co Ltd
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 Hanhai Information Technology Shanghai Co Ltd filed Critical Hanhai Information Technology Shanghai Co Ltd
Priority to CN202010219780.4A priority Critical patent/CN111444163B/zh
Publication of CN111444163A publication Critical patent/CN111444163A/zh
Application granted granted Critical
Publication of CN111444163B publication Critical patent/CN111444163B/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
    • G06F16/219Managing data history or versioning
    • 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
    • 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/2255Hash tables
    • 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/23Updating
    • 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/29Geographical information databases

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)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书公开了一种地图数据管理以及电子地图回滚的方法及装置,根据电子地图中各元素的地图数据的哈希值以及地图数据的存储位置,确定叶子节点的哈希值,以生成对各元素的地图数据唯一对应的梅克尔树,当接收到新增地图数据时,可根据新增地图数据的哈希值及其存储位置,更新梅克尔树,并确定新的地图版本号。使得在进行电子地图回滚时,可以地图版本号确定对应的梅克尔树,并根据梅克尔树对应的数据,确定各地图数据存储地址,生成回滚地图。由于减少了更新地图版本对存储空间的需要,因此可更频繁的更新地图版本,使回滚的电子地图的时效性较高,并且不用查询元素对应的地图数据,减少了地图回滚的运算量。

Description

一种地图数据管理以及电子地图回滚的方法及装置
技术领域
本申请涉及信息处理技术领域,尤其涉及一种地图数据管理以及电子地图回滚的方法及装置。
背景技术
目前,电子地图通常是由地图中各元素对应的地图数据组成的,一般地,地图数据为几何结构(Geometry)数据类型的数据,用于描述空间几何信息的数据类型,如,描述坐标点、线、面、三维信息等。
并且,电子地图的生产方为了保证地图的准确性,会根据从若干数据源获取的数据,对存储的地图数据进行更新,并周期性对电子地图进行更新。同时,为了避免更新的地图数据出现错误,电子地图的生成方需要对各个发布版本的电子地图进行备份,以便方便当数据错误时,可先回滚至历史版本,在不影响地图使用的情况下进行错误排查修复。
在现有技术中,电子地图的回滚方式,按照电子地图的数据管理的不同主要分为两种方式。一种是将每次发布的电子地图的全量数据分别进行存储,在进行回滚时,直接根据历史存储的各版本的电子地图进行回滚。另一种,针对地图中的每个元素,按照该元素对应的地图数据的更新顺序,链式存储该元素对应的各地图数据以及数据的更新时间,在进行回滚时,根据需要回滚至的历史时间,针对每个元素,确定该元素对应的各地图数据中与历史时间匹配的地图数据,再根据确定出的各元素对应的地图数据,确定回滚生成的电子地图。
但是,前者由于存储的每个版本的电子地图都是全量数据的,因此为了减少存储压力,通常版本更新频率较低,这就导致回滚时只能回滚至的版本数据陈旧,影响电子地图的准确性。后者,由于需要针对每个元素,查询该元素对应的地图数据,导致回滚需要进行大量运算,并且随着时间增长更新数据的增加,运算量会越来越大,使回滚过程更加复杂。
发明内容
本说明书实施例提供的一种地图数据管理的方法以及电子地图回滚的方法及装置,用于部分解决现有技术中存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的地图数据管理的方法,包括:
获取新增的地图数据,确定所述地图数据对应的元素标识,所述元素标识唯一表征电子地图中的元素;
确定所述地图数据的哈希值,以及确定所述地图数据的存储位置,并将所述地图数据存储在所述存储位置;
从最近生成的梅克尔树的各叶子节点中,确定所述元素标识对应的叶子节点,并获取确定出的叶子节点对应的数据,其中,所述叶子节点为根据所述叶子节点对应的数据确定的哈希值;
根据所述地图数据的哈希值以及存储位置,更新获取的所述叶子节点对应的数据,以及更新所述叶子节点;
根据更新后所述叶子节点以及其他叶子节点更新所述梅克尔树,并记录更新后的梅克尔树各叶子节点对应数据的存储地址,将更新后的梅克尔树的根哈希值作为新增的地图版本号。
可选地,确定所述地图数据的存储位置,具体包括:
确定所述数据库中最新创建的文件;
按照存储顺序,确定所述地图数据存储在所述文件中的起始位置的偏移量;
根据所述地图数据的大小、所述偏移量以及所述文件的标识,确定所述存储位置。
可选地,根据所述地图数据的位数、所述偏移量以及所述文件的标识,确定所述存储位置,具体包括:
根据预设的文件最大容量,判断将所述地图数据存储至所述文件后,所述文件的容量是否超过所述最大容量;
若是,则新建文件,并重新确定所述地图数据在所述新建文件中的偏移量,并根据重新确定的偏移量、所述地图数据的位数以及所述新建文件的标识,确定所述存储位置;
若否,则根据所述地图数据的位数、所述偏移量以及所述文件的标识,确定所述存储位置。
可选地,所述电子地图中的各元素的元素标识是连续的。
可选地,采用下述方法生成梅克尔树,包括:
按照所述电子地图中包含的各元素标识的顺序以及指定数量,将各元素标识对应的地图数据的哈希值以及存储位置划分至若干桶中;
针对每个桶,确定该桶的存储位置,并将划分至该桶中的各元素标识对应的地图数据的哈希值以及存储位置,按各元素标识的顺序存储至该桶的存储位置;
根据该桶中的各元素标识对应的地图数据的哈希值以及存储位置的哈希值,确定所述梅克尔树中的叶子节点;
确定所述梅克尔树的存储位置,将各桶的存储位置以及各叶子节点存储至所述梅克尔树的存储位置;
根据各叶子节点以及各桶的存储位置,确定所述梅克尔树的根哈希值。
可选地,确定所述元素标识对应的叶子节点,具体包括:
根据所述元素标识的数值与所述指定数量相除的整数,确定所述元素标识对应的叶子节点。
可选地,获取确定出的叶子节点对应的数据,具体包括:
从所述最近生成的梅克尔树的存储位置,获取各桶的存储位置以及各叶子节点;
根据确定出的叶子节点,确定所述叶子节点对应的桶的存储位置;
所述存储位置获取各元素标识对应的地图数据的哈希值以及存储位置,作为所述叶子节点对应的数据。
本说明书提供的电子地图回滚的方法,包括:
接收回滚指令,所述回滚指令中包含需回滚至的时间点;
根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树,所述梅克尔树中包含若干叶子节点,所述叶子节点根据所述叶子节点对应数据确定的哈希值,叶子节点对应数据包括至少一个元素标识对应的地图数据的哈希值以及存储位置;
根据确定出的梅克尔树中各叶子节点对应数据的存储地址,确定各元素标识对应的地图数据的存储位置;
根据确定出的各存储位置,确定各地图数据,以生成回滚所需的电子地图。
可选地,根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树,具体包括:
根据所述时间点,从各地图版本号中,确定生成时间早于所述时间点,且与所述时间点的差值最小的地图版本号;
将确定出的地图版本号对应的梅克尔树,作为用于回滚的梅克尔树。
本说明书提供的地图数据管理的装置,包括:
第一获取模块,获取待更新的地图数据,确定所述地图数据对应的数据标识,不同的数据标识表征电子地图中显示的不同地图元素;
第一存储模块,确定所述地图数据的哈希值,以及确定所述地图数据在所述数据库中按顺序存储的存储位置,并存储所述地图数据至数据库;
第二获取模块,根据所述地图数据对应的数据标识,确定包含所述地图数据的数据桶的桶标识,并从所述数据库中获取最近更新所述桶标识对应的数据桶,其中,所述数据桶中包含若干地图数据的哈希值以及存储位置;
更新模块,根据所述地图数据的哈希值以及存储位置,替换所述数据桶中对应相同数据标识的地图数据的哈希值以及存储位置,得到更新后的数据桶;
第二存储模块,确定所述更新后的数据桶在所述数据库中按顺序存储的存储位置,并存储所述更新后的数据桶至数据库;
生成模块,从所述数据库获取各桶标识对应的最近更新数据桶,并根据获取的各数据桶包含的各地图数据,生成更新后的电子地图。
本说明书提供的电子地图回滚的装置,包括:
接收模块,接收回滚指令,所述回滚指令中包含需回滚至的时间点;
第一确定模块,根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树,所述梅克尔树中包含若干叶子节点的哈希值,所述叶子节点的哈希值根据所述叶子节点对应数据确定,叶子节点对应数据包括至少一个元素标识对应的地图数据的哈希值以及存储位置确定;
第二确定模块,根据确定出的梅克尔树中各叶子节点对应数据的存储地址,确定各元素标识对应的地图数据的存储位置;
回滚模块,根据确定出的各存储位置,确定各地图数据,以生成回滚所需的电子地图。
本说明书提供的计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法。
本说明书提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一所述的方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
根据电子地图中各元素的地图数据的哈希值以及地图数据的存储位置,确定叶子节点的哈希值,以生成对各元素的地图数据唯一对应的梅克尔树,当接收到新增地图数据时,可根据新增地图数据的哈希值及其存储位置,更新梅克尔树,并确定新的地图版本号。使得在进行电子地图回滚时,可以地图版本号确定对应的梅克尔树,并根据梅克尔树对应的数据,确定各地图数据存储地址,生成回滚地图。由于减少了更新地图版本对存储空间的需要,因此可更频繁的更新地图版本,使回滚的电子地图的时效性较高,并且不用查询元素对应的地图数据,减少了地图回滚的运算量。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的地图数据管理的流程示意图;
图2为本说明书实施例提供的梅克尔树结构示意图;
图3为本说明书实施例提供的梅克尔树结构示意图;
图4为本说明书实施例提供的更新过程示意图;
图5为本说明书实施例提供的电子地图回滚的流程示意图;
图6为本说明书实施例提供的地图数据管理装置的结构示意图;
图7为本说明书实施例提供的电子地图回滚装置的结构示意图;
图8为本说明书实施例提供的实现地图数据管理或电子地图回滚方法的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的地图数据管理的流程示意图,包括:
S100:获取新增的地图数据,确定所述地图数据对应的元素标识。
由于生产电子地图的服务提供方,可从若干下游数据提供方获取地图数据,并根据获取的地图数据进行电子地图的更新,因此通常这类服务提供方存在对地图数据管理,更新电子地图版本的需求。于是,在本说明书中,以这类服务提供方的服务器作为本说明实施例提供的地图数据管理的流程的执行主体为例进行说明。
如前所述,具体的,该服务器可接收下游数据提供方提供的新增的地图数据。其中,新增的地图数据可细分为两种:一种为电子地图中已有的元素的地图数据的更新数据,例如,某条道路因修路封闭施工,则服务器可获取该道路(即地图中已有的元素)的新增的地图数据,该新增的地图数据中该道路的信息可包含该道路因施工不可通行的信息,另一种为电子地图中未有的元素的地图数据,例如,某地新建一座建筑,则服务器首次获取该建筑的地图数据时,该地图数据就是电子地图中未有的元素的地图数据。
在本说明书中,为了方便对电子地图中的各元素的地图数据进行管理,该电子地图中的各元素的元素标识可以按照顺序确定,并且各元素标识在数值上可以是连续的。例如,假设电子地图中包含10万个元素,则元素标识可为从000001~100000的数字。
其中,服务器在获取新增的地图数据后,可以根据地图数据的内容,确定该地图数据对应的元素,并确定该地图数据对应的元素标识。例如,最简单的,由于通常地图中的元素是不重叠的,因此可以根据地图数据包含的地理位置(如,经纬度)确定地图数据属于哪个元素的。当然,因此若是原有地图数据出现变化的情况,则下游数据提供方在提供地图数据时地图数据中便可已经携带有元素标识,电子地图中元素的元素标识可以是预先有服务器提供给该下游数据提供方的。
另外,需要说明的是,在本说明书中元素标识是唯一表征电子地图中的元素,即使当某个元素因为更新而不再显示时,该元素的元素标识也不会复用在其他元素上,以避免数据错误。
S102:确定所述地图数据的哈希值,以及确定所述地图数据的存储位置,并将所述地图数据存储在所述存储位置。
在本说明书中,该服务器在确定新增的地图数据后,便可对地图数据进行散列计算,确定哈希值,并且还可按照预设的存储顺序,确定分配给该地图数据的存储位置,并将该地图数据存储至该存储位置。
具体的,在本说明书中该服务器在确定存储位置时,首先可确定数据库中最新创建的文件,其中该文件的存储空间为预设大小。之后,按照顺序确定该地图数据第一个字节在所述文件中的偏移量。最后,根据该地图数据的大小、该偏移量以及改文件的标识,确定该地图数据的存储位置。
例如,假设标识为10的文件为最新创建的文件,预设大小为5000bit,文件中已经存储的数据占512bit,则该地图数据的偏移量为513,假设该地图数据的大小为600bit,则该地图数据存储在该文件的513bit~1113bit。则10/513/600可表示该地图数据的存储位置。当然,该举例仅为一种地图数据的存储位置的记录形式,本申请并不限定采用其他形式记录存储位置。
S104:从最近生成的梅克尔树的各叶子节点中,确定所述元素标识对应的叶子节点,并获取确定出的叶子节点对应的数据,其中,所述叶子节点为根据所述叶子节点对应的数据确定的哈希值。
在本说明书中,当确定地图数据的存储位置以及哈希值后,服务器可确定最近生成地图版本对应的电子地图,并通过后续步骤对该电子地图中的地图数据进行更新。并且,在本说明书中为了方便地图版本的生成,以及避免地图版本的重复,利用电子地图中各元素的地图数据的哈希值以及存储位置,生成梅克尔树,并将梅克尔树的根哈希值作为地图版本号。如图2所示。
图2为本说明书提供的梅克尔树结构示意图,其中三角形表示哈希值,最上方的三角形为梅克尔树的根哈希值,虚线框中的圆形表示存储地址,虚线框中的虚线框中的三角形形表示地图数据的哈希值,也就是说对三角形和圆形形表示的数据进行散列操作确定哈希值为叶子节点,即虚线框连接的三角形。可见只要有任一元素标识对应的地图数据变化,便可得到一个新的梅克尔树。并且,在本说明书中,该服务器还可根据上述步骤S102同样的方式,将该地图数据的哈希值和存储地址,作为叶子节点对应的数据进行存储,并将叶子节点对应的数据的存储地址,作为梅克尔树对应的数据存储。
另外,在本说明书中,该梅克尔树对应的数据按照叶子节点对应的各元素标识的顺序排列。例如,假设叶子节点按照1~3的顺序排列,各叶子节点分别对应的存储位置为offset1~3,则梅克尔树对应的数据的结构为offset1offset2offset3。由于存储位置的数据大小都是固定的,假设为10bit,因此当需要确定按顺序排列的某各叶子节点的存储位置时,假设为第2个,则服务器可确定梅克尔树对应的数据中11~21bit的数据即可。
在本说明书中,该服务器可先从最近生成的梅克尔树中确定需要更新哪个叶子节点,并根据该梅克尔树对应的数据,确定该叶子节点对应的数据的存储位置,再根据叶子节点对应的数据的存储位置存储的数据,最后根据步骤S102确定的哈希值和存储地址,对叶子节点对应的数据进行更新,并更新叶子节点,以最后更新得到新的梅克尔树。
具体的,首先,该服务器可从最近生成的梅克尔树的各叶子节点中,确定所述元素标识对应的叶子节点。以该梅克尔树的叶子节点只对应一个元素标识为例,由于各元素标识都是按顺确定,因此该服务器可根据元素标识,确定叶子节点的顺序。之后,再从该梅克尔树对应的数据中确定该叶子节点对应的数据的存储位置。最后从该存储位置获取该叶子节点对应的数据,即元素标识对应的地图数据的哈希值和地图数据的存储位置。
S106:根据所述地图数据的哈希值以及存储位置,更新获取的所述叶子节点对应的数据,以及更新所述叶子节点。
在本说明书中,在确定出需要更新的叶子节点后,便可根据步骤S102确定出的地图数据的哈希值以及存储位置,确定新的哈希值更新该叶子节点。并且,确定更新后叶子节点对应数据的存储地址,并将地图数据的哈希值以及存储位置作为该叶子节点对应的数据,存储至更新后的叶子节点的存储地址。
S108:根据更新后所述叶子节点以及其他叶子节点更新所述梅克尔树,并记录更新后的梅克尔树各叶子节点对应数据的存储地址,将更新后的梅克尔树的根哈希值作为新增的地图版本号。
最后,在更新叶子节点后,服务器便可根据该更新该梅克尔树,将更新后的梅克尔树的根哈希值作为新增的地图版本号,同时还需要将更新后的梅克尔树各叶子节点对应数据的存储地址作为该更新后的梅克尔树对应的数据进行存储。以便后续再对数据更新时,可以确定叶子节点对应的数据。
基于图1所示的地图数据管理的方法,根据电子地图中各元素的地图数据的哈希值以及地图数据的存储位置,确定叶子节点的哈希值,以生成对各元素的地图数据唯一对应的梅克尔树,当接收到新增地图数据时,可根据新增地图数据的哈希值及其存储位置,更新梅克尔树,并确定新的地图版本号。使得在进行电子地图回滚时,可以地图版本号确定对应的梅克尔树,并根据梅克尔树对应的数据,确定各地图数据存储地址,生成回滚地图。由于减少了更新地图版本对存储空间的需要,因此可更频繁的更新地图版本,使回滚的电子地图的时效性较高,并且不用查询元素对应的地图数据,减少了地图回滚的运算量。
另外,在本说明书上述地图数据管理过程中,以该叶子节点仅对应一个元素标识为例进行说明,但是为了提高数据管理效率,该叶子节点也可对应多个元素标识。
具体的,在本说明书中,电子地图中的各元素的元素标识是数值连续的,根据各元素标识对应的地图数据构建梅克尔树时,可根据元素标识的顺序,按照指定数量,将各元素标识对应的地图数据的哈希值以及存储位置划分至若干桶中。
例如,假设共有10000个不同的元素标识,也就是说电子地图由10000个地图数据朱成成,其中元素标识为数值为:0001、0002、0003……9999、10000。假设指定数量为1000,则可将元素标识对应的地图数据以及存储位置划分至10个桶中。如表1所示。
元素标识范围
桶1 0001~1000
桶2 1001~2000
…… ……
桶10 9001~10000
表1
服务器可针对每个桶,确定该桶的存储位置,可采用与步骤S102中相同的方式确定。之后,将划分至该桶中的各元素标识对应的地图数据的哈希值以及存储位置,按各元素标识的顺序存储至该桶的存储位置。
例如,假设文件x中存储有划分至桶1的元素标识对应的地图数据的哈希值以及存储位置,则文件x中存储的内容为:hash0001、hash0002……hash1000、offset0001、offset0002……offset 1000。其中,hash0001表示元素标识0001的地图数据的哈希值,offset0001表示元素标识0001的地图数据的存储位置,其余同理。
于是,对文件x中存储的划分至桶1的元素标识对应的地图数据的哈希值以及存储位置进行散列计算的哈希值,即为叶子节点。这样针对每个桶,都可以确定一个叶子节点。
然后,服务器确定每个叶子节点对应的数据的存储位置,沿用上例为文件x中存储的内容hash0001、hash0002……hash1000、offset0001、offset 0002……offset1000对应的存储地址,以offset10001表示。则对应10个桶(相应的生成10个叶子节点),确定出10个叶子节点对应的数据的存储位置,如offset 10001~offset10010。
将每个叶子节点对应的数据的存储位置,作为梅克尔树对应的数据。根据每个叶子节点以及每个叶子节点对应的数据的存储位置,进行散列计算,确定梅克尔树的根哈希值,并将根哈希值和每个叶子节点对应的数据的存储位置对应存储。基于上述描述,本说明书提供另一种梅克尔树的结构示意图。
其中,梅克尔树对应的数据可单独存储,假设存储在文件y中,该梅克尔树对应的数据包括:hash10001、hash10002……hash10010、offset10001、offset10002……offset10010。
图3为本说明书提供的梅克尔树示意图。其中,三角形表示哈希值,圆形表示存储地址,下方的数字表示标识。下层虚线框中包含的是叶子节点对应的数据,下层虚线框的箭头所指的圆形表示叶子节点对应的数据的存储位置,由于是按顺序存储的因此在存储10000个地图数据后,才会存储叶子节点对应的数据,因此位置为offset10001,而上层的虚线框包含的是梅克尔树对应的数据,上层的虚线框的箭头所指的圆形表示梅克尔树对应的数据的存储位置,可以单独存储,以Root-offset1表示,表示首个生成的梅克尔树,图3中为跟对应数据存储地址标识的圆形。图3中仅示例性展示了第一个叶子节点,即图3中hash0001、hash0002……hash1000、offset0001、offset 0002……offset1000确定出第一个叶子节点hash10001。按顺序可确定第二个叶子节点是根据hash1001、hash1002……hash2000、offset1001、offset 1002……offset 2000确定的hash10002,依次类推,图3中梅克尔树包含10个叶子节点,则第十个叶子节点是根据hash9001、hash9002……hash10000、offset9001、offset9002……offset10000确定的hash10010。
另外由于梅克尔树的对应的数据,相当于叶子节点的管理文件,而叶子节点对应的数据相当于若干地图数据的管理文件,因此只要获取梅克尔树的对应的数据便可确定完整的电子地图中的各地图数据,而只要地图数据有变化,根哈希值也会出现变化,形成新的梅克尔树也就是新版本号的电子地图。
进一步地,在本说明书中,由于元素标识是按顺序划分至各桶中的,因此当确定需要更新的地图数据的元素标识后,便可根据该元素标识的数值与指定数量相除的整数,确定该元素标识对应的地图数据的哈希值以及存储位置是哪个叶子节点对应的数据,也就是需要更新哪个叶子节点。
继续沿用上例,假设需要更新的地图数据的元素标识为2345,则根据指定数量1000,可确定2345/1000的相除的整数为2,划分至第三个桶中,也就是梅克尔树的第三个叶子节点对应的数据中包含了元素标识为2345对应的地图数据的哈希值以及存储位置。
进一步,则服务器可根据最近生成的梅克尔树对应的数据,确定第二个叶子节点对应的数据的存储位置,假设梅克尔树对应的数据包括:hash10001、hash10002……hash10010、offset10001、offset10002……offset10010,则第三个叶子节点为hash10003,对应的数据的存储位置为offset10003,该服务器在offset10003,获取第三个叶子节点对应的数据。假设为:hash3001、hash3002……hash3000、offset3001、offset 3002……offset 3000。假设hash为8bit,则可根据元素标识2345,确定第345×8bit~346×8bit位存储的是元素标识2345对应的地图数据的哈希值,而假设地图数据的存储位置为10bit,则第346×8bit~346×(8bit+10bit)位存储的是元素标识2345对应的地图数据的存储地址。
于是服务器可将需要更新的地图数据的元素标识2345通过步骤S102确定的哈希值(假设标识为2345-1)以及存储位置(假设标识为10011),替换获取的该第三个叶子节点对应的数据中相应位置的数据,如图4所示,三角形表示哈希值,圆形表示存储地址,下方的数字表示标识。。并重新确定第三个叶子节点,以及第三个叶子节点对应的数据的存储位置,即offset10012。根据更新后的第三叶子节点以及其他叶子节点更新所述梅克尔树。重新确定梅克尔树对应的数据,以及重新确定梅克尔树对应的数据的存储位置,Root-offset2表示。
于是,由于元素标识2345的地图数据的更新,生成了新版本号的电子地图,确定出了新版本号的电子地图的梅克尔树,通过该梅克尔树可以确定该新版本号的电子地图对应的所有地图数据。
需要说明的是,上述hash+数字是指散列得到的哈希值的标识,数字表示的是第几个生成的hash。同理offset+数字是指确定出的存储地址的标识,数字表示的是第几个确定的存储地址,并非表示实际存储地址中的偏移量有多少。
进一步地,在本说明书步骤S102中,对于确定存储位置过程的描述中,该服务器还可根据预设的文件最大容量,判断将地图数据存储至该文件后,文件的容量是否超过最大容量,若是,则可新建文件,并重新确定地图数据在新建文件中的偏移量,并根据重新确定的偏移量、地图数据的位数以及新建文件的标识,确定所述存储位置,若否,则根据地图数据的位数、偏移量以及文件的标识,确定存储位置。
例如,假设文件的最大容量为1000bit,标号为10的文件当前已存储990bit的数据,而更新的地图数据的大小为20bit,则服务器可新建标号11的文件,并确定该地图数据的存储地址为11/0/20。而若该更新的地图数据的大小为5bit,则服务器可将该地图数据存储至标号10的文件中,存储地址为10/990/5。
可见在进行地图数据更新时,只需要存储更新的地图数据即可,无需重复存储没有变化的地图数据,并且也不需要链式存储同一元素标识的地图数据,而只需要根据元素标识,便可确定需要获取哪个叶子节点对应的数据,并可从梅克尔树对应的数据中,确定该叶子节点对应的数据的存储位置,然后只需要存储更新后的叶子节点对应的数据,并更新梅克尔树即可。
并且,本说明书中,由于叶子节点对应的数据以及梅克尔树对应的数据,均为哈希值和存储地址的合集,通常都是bit级别的数据,相较于地图数据来说存储所需空间很小,使得存储压力不会过度上升,可以提高地图数据管理的效率。
基于图1所示的地图数据管理的方法,本说明书还提供了一种电子地图回滚的流程示意图,如图5所示,具体可包括以下步骤:
S200:接收回滚指令,所述回滚指令中包含需回滚至的时间点。
在本说明书中,由于对电子地图进行回滚时,通常是基于时间记性回滚的,即,需要回滚至什时间之间的版本,因此该服务器可接收包含需回滚至的时间点的回滚指令。
S202:根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树。
在本说明书中,由于基于图1的地图数据管理流程,服务器只要获取新增的地图数据便可确定一个新的地图版本号,因此该服务器在进行地图回滚时,可根据回滚指令中包含的时间点,从已经生成的各地图版本号中,确定生成时间早于所述时间点,且与该时间点的差值最小的地图版本号,之后确定根哈希值与该地图版本号一致的梅克尔树,作为用于回滚的梅克尔树。
S204:根据确定出的梅克尔树中各叶子节点对应数据的存储地址,确定各元素标识对应的地图数据的存储位置。
在本说明书中,在确定出用于回滚的梅克尔树后,该服务器便可确定该梅克尔树对应的数据,并根据该梅克尔树对应的数据确定该梅克尔树各叶子节点对应数据的存储地址,之后再根据确定出的各存储地址,确定各叶子节点对应数据,根据各叶子节点对应数据确定各元素标识对应的地图数据的存储位置。其中此时确定出的各元素标识对应的地图数据,唯一对应于该用于回滚的梅克尔树。
S206:根据确定出的各存储位置,确定各地图数据,以生成回滚所需的电子地图。
最后,该服务器可根据确定出的各元素标识对应的地图数据的存储位置,确定各地图数据,并生成用于回滚的电子地图。可见在回滚时无需进行搜索,便可确定回滚所需的所有数据的存储地址。
基于图5所示的电子地图回滚的方法,根据电子地图中各元素的地图数据的哈希值以及地图数据的存储位置,确定叶子节点的哈希值,以生成对各元素的地图数据唯一对应的梅克尔树,当接收到新增地图数据时,可根据新增地图数据的哈希值及其存储位置,更新梅克尔树,并确定新的地图版本号。使得在进行电子地图回滚时,可以地图版本号确定对应的梅克尔树,并根据梅克尔树对应的数据,确定各地图数据存储地址,生成回滚地图。由于减少了更新地图版本对存储空间的需要,因此可更频繁的更新地图版本,使回滚的电子地图的时效性较高,并且不用查询元素对应的地图数据,减少了地图回滚的运算量。
基于图1所示地图数据管理过程,本说明书实施例还对应提供地图数据管理装置的结构示意图,如图6所示。
图6为本说明书实施例提供的地图数据管理装置的结构示意图,所述装置包括:
第一获取模块300,获取新增的地图数据,确定所述地图数据对应的元素标识,所述元素标识唯一表征电子地图中的元素;
存储模块302,确定所述地图数据的哈希值,以及确定所述地图数据的存储位置,并将所述地图数据存储在所述存储位置;
第二获取模块304,从最近生成的梅克尔树的各叶子节点中,确定所述元素标识对应的叶子节点,并获取确定出的叶子节点对应的数据,其中,所述叶子节点为根据所述叶子节点对应的数据确定的哈希值;
更新模块306,根据所述地图数据的哈希值以及存储位置,更新获取的所述叶子节点对应的数据,以及更新所述叶子节点;
管理模块308,根据更新后所述叶子节点以及其他叶子节点更新所述梅克尔树,并记录更新后的梅克尔树各叶子节点对应数据的存储地址,将更新后的梅克尔树的根哈希值作为新增的地图版本号。
可选地,所述存储模块302,确定所述数据库中最新创建的文件,按照存储顺序,确定所述地图数据存储在所述文件中的起始位置的偏移量,根据所述地图数据的大小、所述偏移量以及所述文件的标识,确定所述存储位置。
可选地,所述存储模块302,根据预设的文件最大容量,判断将所述地图数据存储至所述文件后,所述文件的容量是否超过所述最大容量,若是,则新建文件,并重新确定所述地图数据在所述新建文件中的偏移量,并根据重新确定的偏移量、所述地图数据的位数以及所述新建文件的标识,确定所述存储位置,若否,则根据所述地图数据的位数、所述偏移量以及所述文件的标识,确定所述存储位置。
可选地,电子地图中的各元素的元素标识是数值连续的。
可选地,所述装置还包括:生成模块310,按照所述电子地图中包含的各元素标识的顺序以及指定数量,将各元素标识对应的地图数据的哈希值以及存储位置划分至若干桶中,针对每个桶,确定该桶的存储位置,并将划分至该桶中的各元素标识对应的地图数据的哈希值以及存储位置,按各元素标识的顺序存储至该桶的存储位置,根据该桶中的各元素标识对应的地图数据的哈希值以及存储位置的哈希值,确定所述梅克尔树中的叶子节点,确定所述梅克尔树的存储位置,将各桶的存储位置以及各叶子节点存储至所述梅克尔树的存储位置,根据各叶子节点以及各桶的存储位置,确定所述梅克尔树的根哈希值。
可选地,所述第二获取模块304,根据所述元素标识的数值与所述指定数量相除的整数,确定所述元素标识对应的叶子节点。
可选地,所述第二获取模块304,从所述最近生成的梅克尔树的存储位置,获取各桶的存储位置以及各叶子节点,根据确定出的叶子节点,确定所述叶子节点对应的桶的存储位置,所述存储位置获取各元素标识对应的地图数据的哈希值以及存储位置,作为所述叶子节点对应的数据。
基于图5所示电子地图回滚过程,本说明书实施例还对应提供电子地图回滚装置的结构示意图,如图7所示。
接收模块400,接收回滚指令,所述回滚指令中包含需回滚至的时间点;
第一确定模块402,根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树,所述梅克尔树中包含若干叶子节点,所述叶子节点根据所述叶子节点对应数据确定的哈希值,叶子节点对应数据包括至少一个元素标识对应的地图数据的哈希值以及存储位置;
第二确定模块404,根据确定出的梅克尔树中各叶子节点对应数据的存储地址,确定各元素标识对应的地图数据的存储位置;
回滚模块406,根据确定出的各存储位置,确定各地图数据,以生成回滚所需的电子地图。
可选地,所述第一确定模块402,根据所述时间点,从各地图版本号中,确定生成时间早于所述时间点,且与所述时间点的差值最小的地图版本号,将确定出的地图版本号对应的梅克尔树,作为用于回滚的梅克尔树。
基于图1所示的地图数据管理方法以及图5所示的电子地图回滚方法,本说明书实施例还提出了图8所示的电子设备的示意结构图。如图8,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述任一地图数据管理方法或电子地图回滚方法。
本说明书实施例还提供了计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述地图数据管理或电子地图回滚方法中的任一个。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (6)

1.一种地图数据管理的方法,其特征在于,包括:
获取新增的地图数据,确定所述地图数据对应的元素标识,所述元素标识唯一表征电子地图中的元素;
确定所述地图数据的哈希值,以及确定所述地图数据的存储位置,并将所述地图数据存储在所述存储位置;
从最近生成的梅克尔树的各叶子节点中,确定所述元素标识对应的叶子节点,并获取确定出的叶子节点对应的数据,其中,所述叶子节点为根据所述叶子节点对应的数据确定的哈希值;
根据所述地图数据的哈希值以及存储位置,更新获取的所述叶子节点对应的数据,以及更新所述叶子节点;
根据更新后所述叶子节点以及其他叶子节点更新所述梅克尔树,并记录更新后的梅克尔树各叶子节点对应数据的存储地址,将更新后的梅克尔树的根哈希值作为新增的地图版本号;
所述电子地图中的各元素的元素标识是数值连续的;
采用下述方法生成梅克尔树,包括:
按照所述电子地图中包含的各元素标识的顺序以及指定数量,将各元素标识对应的地图数据的哈希值以及存储位置划分至若干桶中;
针对每个桶,确定该桶的存储位置,并将划分至该桶中的各元素标识对应的地图数据的哈希值以及存储位置,按各元素标识的顺序存储至该桶的存储位置;
根据该桶中的各元素标识对应的地图数据的哈希值以及存储位置的哈希值,确定所述梅克尔树中的叶子节点;
确定所述梅克尔树的存储位置,将各桶的存储位置以及各叶子节点存储至所述梅克尔树的存储位置;
根据各叶子节点以及各桶的存储位置,确定所述梅克尔树的根哈希值。
2.如权利要求1所述的方法,其特征在于,确定所述地图数据的存储位置,具体包括:
确定数据库中最新创建的文件;
按照存储顺序,确定所述地图数据存储在所述文件中的起始位置的偏移量;
根据所述地图数据的大小、所述偏移量以及所述文件的标识,确定所述存储位置。
3.如权利要求2所述的方法,其特征在于,根据所述地图数据的位数、所述偏移量以及所述文件的标识,确定所述存储位置,具体包括:
根据预设的文件最大容量,判断将所述地图数据存储至所述文件后,所述文件的容量是否超过所述最大容量;
若是,则新建文件,并重新确定所述地图数据在所述新建文件中的偏移量,并根据重新确定的偏移量、所述地图数据的位数以及所述新建文件的标识,确定所述存储位置;
若否,则根据所述地图数据的位数、所述偏移量以及所述文件的标识,确定所述存储位置。
4.如权利要求1所述的方法,其特征在于,确定所述元素标识对应的叶子节点,具体包括:
根据所述元素标识的数值与所述指定数量的模,确定所述元素标识对应的叶子节点。
5.如权利要求1所述的方法,其特征在于,获取确定出的叶子节点对应的数据,具体包括:
从所述最近生成的梅克尔树的存储位置,获取各桶的存储位置以及各叶子节点;
根据确定出的叶子节点,确定所述叶子节点对应的桶的存储位置;
所述存储位置获取各元素标识对应的地图数据的哈希值以及存储位置,作为所述叶子节点对应的数据。
6.一种电子地图回滚的方法,所述电子地图采用权利要求1的地图数据管理方法进行管理,其特征在于,包括:
接收回滚指令,所述回滚指令中包含需回滚至的时间点;
根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树,所述梅克尔树中包含若干叶子节点,所述叶子节点根据所述叶子节点对应数据确定的哈希值,叶子节点对应数据包括至少一个元素标识对应的地图数据的哈希值以及存储位置;
根据确定出的梅克尔树中各叶子节点对应数据的存储地址,确定各元素标识对应的地图数据的存储位置;
根据确定出的各存储位置,确定各地图数据,以生成回滚所需的电子地图;
根据所述时间点以及已经生成的各地图版本号,确定用于回滚的梅克尔树,具体包括:
根据所述时间点,从各地图版本号中,确定生成时间早于所述时间点,且与所述时间点的差值最小的地图版本号;
将确定出的地图版本号对应的梅克尔树,作为用于回滚的梅克尔树。
CN202010219780.4A 2020-03-25 2020-03-25 一种地图数据管理以及电子地图回滚的方法及装置 Active CN111444163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010219780.4A CN111444163B (zh) 2020-03-25 2020-03-25 一种地图数据管理以及电子地图回滚的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010219780.4A CN111444163B (zh) 2020-03-25 2020-03-25 一种地图数据管理以及电子地图回滚的方法及装置

Publications (2)

Publication Number Publication Date
CN111444163A CN111444163A (zh) 2020-07-24
CN111444163B true CN111444163B (zh) 2023-09-22

Family

ID=71648763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010219780.4A Active CN111444163B (zh) 2020-03-25 2020-03-25 一种地图数据管理以及电子地图回滚的方法及装置

Country Status (1)

Country Link
CN (1) CN111444163B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966773A (zh) * 2020-08-17 2020-11-20 北京嘀嘀无限科技发展有限公司 管理地图数据的方法、装置、电子设备和存储介质
CN113313099B (zh) * 2021-07-31 2021-10-29 广东兴睿科技有限公司 一种基于遥感影像地图的实时获取方法、***和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014452A2 (en) * 2008-07-31 2010-02-04 Microsoft Corporation Content discovery and transfer between mobile communications nodes
KR101882805B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
CN108846133A (zh) * 2018-07-04 2018-11-20 东北大学 基于b-m树的区块链存储结构、b-m树建立算法及查找算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387271B2 (en) * 2017-05-10 2019-08-20 Elastifile Ltd. File system storage in cloud using data and metadata merkle trees

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014452A2 (en) * 2008-07-31 2010-02-04 Microsoft Corporation Content discovery and transfer between mobile communications nodes
KR101882805B1 (ko) * 2017-04-17 2018-07-27 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
CN108846133A (zh) * 2018-07-04 2018-11-20 东北大学 基于b-m树的区块链存储结构、b-m树建立算法及查找算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任德志 ; 陈炬光 ; 王勇 ; 段晓冉 ; 郝玉洁 ; 吴晓华 ; .基于MIR树的空间查询验证方法.计算机工程.2020,(03),全文. *

Also Published As

Publication number Publication date
CN111444163A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN107526777B (zh) 一种基于版本号对文件进行处理的方法及设备
CN110134668B (zh) 应用于区块链的数据迁移方法、装置和设备
CN111444163B (zh) 一种地图数据管理以及电子地图回滚的方法及装置
CN110096528A (zh) 一种分布式***中生成序列的方法、装置及***
CN110399359B (zh) 一种数据回溯方法、装置及设备
CN110633096B (zh) 节点控制方法及装置、版本控制方法及装置、分布式***
CN107153680B (zh) 一种分布式内存数据库在线扩展节点的方法及***
CN115617799A (zh) 一种数据存储的方法、装置、设备及存储介质
CN113254163B (zh) 区块链数据的处理方法及装置
CN114840487A (zh) 分布式文件***的元数据管理方法和装置
CN116048977B (zh) 一种基于数据还原的测试方法及装置
CN116010419A (zh) 一种创建唯一索引和优化逻辑删除的方法及装置
CN114676132A (zh) 一种数据表关联方法、装置、存储介质及电子设备
CN112596780A (zh) 一种业务执行的方法以及装置
CN112685553A (zh) 一种在线文档查找替换的方法、装置、设备及介质
CN115840732B (zh) 确定目标对象在地图中的特殊区域内的方法、装置及设备
CN103984545A (zh) 一种移动终端广告请求方法和装置
CN116541407B (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN116414308A (zh) 数据存储方法、装置及***
CN116880905B (zh) 一种数据存储方法、装置、存储介质及电子设备
CN117743472A (zh) 一种存储任务断点同步方法、装置、介质及设备
CN117171401B (zh) 基于分层预计算的图数据中最短路径的查询方法和装置
CN116383202A (zh) 数据处理方法、相关设备及***
CN110033249B (zh) 一种流水落表方法及装置
CN116521734A (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