地图数据的下发方法、更新方法、存储介质及电子设备.pdf
《地图数据的下发方法、更新方法、存储介质及电子设备.pdf》由会员分享,可在线阅读,更多相关《地图数据的下发方法、更新方法、存储介质及电子设备.pdf(17页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010270455.0 (22)申请日 2020.04.08 (71)申请人 北京嘀嘀无限科技发展有限公司 地址 100193 北京市海淀区东北旺西路8号 院34号楼 (72)发明人 国佳杰张颖峰向振伟周康 王长春谷更新柳铭学章颢 (74)专利代理机构 北京金信知识产权代理有限 公司 11225 代理人 庄何媛范继晨 (51)Int.Cl. G06F 16/23(2019.01) G06F 16/29(2019.01) G06F 8/658(2018.01) (54)发明名。
2、称 地图数据的下发方法、 更新方法、 存储介质 及电子设备 (57)摘要 本公开提供了一种地图数据的下发方法、 更 新方法、 存储介质及电子设备, 以地图中某一划 分的区域的地图作为请求和更新的主体, 将不同 版本地图的ID记录在该区域中, 而不是每一个瓦 片中, 有效减少了客户端请求的次数和频率, 并 且以区域为单位下发不同版本之间变更的瓦片 或区别清单, 即可以实现地图数据快速的更新, 保证当天编译的数据在客户端请求时可以直接 进行下发操作, 使客户端可以及时实现地图数据 更新, 提升了用户的使用体验。 权利要求书2页 说明书12页 附图2页 CN 111813787 A 2020.10.。
3、23 CN 111813787 A 1.一种地图数据的下发方法, 应用于服务端, 其特征在于, 包括: 接收客户端发送的第一更新请求, 其中, 所述第一更新请求中至少包括当前区域的第 二版本地图的第二ID; 判断所述第二ID与服务端内当前存储所述区域的第一版本地图的第一ID是否相同; 在所述第二ID与所述第一ID相同的情况下, 向客户端下发更新的瓦片数据; 在所述第二ID与所述第一ID不同的情况下, 向客户端下发所述第一版本地图与所述第 二版本地图之间的区别清单, 其中, 所述区别清单至少包括: 所述第一版本地图与所述第二 版本地图之间具有差异的瓦片ID。 2.根据权利要求1所述的下发方法, 。
4、其特征在于, 所述向客户端下发所述第一版本地图 与所述第二版本地图之间的区别清单之后, 还包括: 向所述客户端下发所述具有差异的瓦片ID对应的瓦片数据。 3.根据权利要求1所述的下发方法, 其特征在于, 所述接收客户端发送的第一更新请求 之前, 还包括: 依次判断在所述第一版本地图和第三版本地图中所述瓦片ID对应的瓦片数据是否相 同, 其中, 所述第三版本地图为所述第一版本地图之前的任意一个版本地图; 在所述第一版本地图和所述第三版本地图中所述瓦片ID对应的瓦片数据不相同的情 况下, 将所述瓦片ID添加至所述第一版本地图与所述第三版本地图之间的区别清单中。 4.根据权利要求1所述的下发方法, 。
5、其特征在于, 所述区别清单的更新模式至少包括全 量更新和增量更新。 5.根据权利要求4所述的下发方法, 其特征在于, 在所述第一版本地图和所述第三版本 地图中所述瓦片ID对应的瓦片数据不相同的情况下, 还包括: 统计所述第一版本地图和所述第三版本地图中瓦片数据不相同的瓦片ID的数量; 在所述数量超过预设阈值的情况下, 将所述第一版本地图中所有瓦片ID添加至所述第 一版本地图与所述第三版本地图之间的区别清单中; 在所述服务端向客户端下发第一版本地图与第三版本地图之间的区别清单时, 将所述 区别清单的更新模式设置为全量更新。 6.根据权利要求5所述的下发方法, 其特征在于, 所述将所述区别清单的更。
6、新模式设置 为全量更新后, 还包括: 将所述第一版本地图的所有瓦片数据下发至所述客户端。 7.一种地图数据的更新方法, 应用于客户端, 其特征在于, 包括: 向服务端发送第一更新请求, 其中, 所述第一更新请求中至少包括当前区域的第二版 本地图的第二ID; 接收所述服务端下发的更新的瓦片数据, 或, 第一版本地图与所述第二版本地图之间 的区别清单, 其中, 所述区别清单至少包括: 所述第一版本地图与所述第二版本地图之间具 有差异的瓦片ID, 所述第一版本地图为服务端当前存储的所述区域的地图; 在接收到所述更新的瓦片数据的情况下, 在所述当前区域的地图文件中写入所述更新 的瓦片数据; 在接收到所。
7、述区别清单的情况下, 将所述当前区域的所述第二版本地图的第二ID更新 为第一ID, 从所述地图文件中删除所述具有差异的瓦片ID的瓦片数据。 权利要求书 1/2 页 2 CN 111813787 A 2 8.根据权利要求7所述的更新方法, 其特征在于, 在接收到所述区别清单的情况下, 还 包括: 接收所述服务端下发的所述具有差异的瓦片ID对应的瓦片数据。 9.根据权利要求7所述的更新方法, 其特征在于, 所述区域的地图文件至少包括: 地图 数据表和版本信息表; 其中, 所述地图数据表用于存储所述区域的所有瓦片ID对应的瓦片 数据; 所述版本信息表至少用于存储所述区域的当前版本地图的ID、 上次数。
8、据更新时间、 上 次版本询问时间。 10.根据权利要求9所述的更新方法, 其特征在于, 还包括: 在接收到所述更新的瓦片数据的情况下, 将所述上次数据更新时间和所述上次版本询 问时间更新为接收所述更新的瓦片数据的时间; 在接收到所述区别清单的情况下, 将所述上次版本询问时间更新为接收到所述区别清 单的时间。 11.根据权利要求9所述的更新方法, 其特征在于, 所述区别清单的更新模式至少包括 全量更新和增量更新。 12.根据权利要求11所述的更新方法, 其特征在于, 还包括: 在接收到所述区别清单的情况下, 判断所述区别清单的更新模式; 在所述区别清单的更新模式为增量更新的情况下, 从所述地图文。
9、件中删除所述具有差 异的瓦片ID的瓦片数据; 在所述区别清单的更新模式为全量更新的情况下, 删除当前客户端存储的所述地图文 件。 13.根据权利要求12所述的更新方法, 其特征在于, 所述删除当前客户端存储的所述地 图文件之后, 还包括: 接收所述服务端下发的所述第一版本地图的所有瓦片数据; 根据所述第一版本地图的所有瓦片数据重新生成所述区域的地图文件。 14.一种存储介质, 存储有计算机程序, 其特征在于, 所述计算机程序被处理器执行时 实现权利要求1至6中任一项所述方法的步骤。 15.一种存储介质, 存储有计算机程序, 其特征在于, 所述计算机程序被处理器执行时 实现权利要求7至13中任一。
10、项所述方法的步骤。 16.一种电子设备, 至少包括存储器、 处理器, 所述存储器上存储有计算机程序, 其特征 在于, 所述处理器在执行所述存储器上的计算机程序时实现权利要求1至6中任一项所述方 法的步骤。 17.一种电子设备, 至少包括存储器、 处理器, 所述存储器上存储有计算机程序, 其特征 在于, 所述处理器在执行所述存储器上的计算机程序时实现权利要求7至13中任一项所述 方法的步骤。 权利要求书 2/2 页 3 CN 111813787 A 3 地图数据的下发方法、 更新方法、 存储介质及电子设备 技术领域 0001 本公开涉及移动互联网地图领域, 特别涉及一种地图数据的下发方法、 更新。
11、方法、 存储介质及电子设备。 背景技术 0002 目前城市发展进度加快, 随着地铁、 高铁等重点工程的开通, 城市地图也需要随着 实际工程的变化而进行更新。 现有技术中, 地图数据的更新频率通常是当天编译的数据在 第二天才会体现在用户使用的客户端上, 进而造成了用户获取信息的延迟, 影响了用户的 使用体验。 发明内容 0003 本公开实施例的目的在于提供一种地图数据的下发方法、 更新方法、 存储介质及 电子设备, 以解决现有技术中地图更新数据延迟的问题。 0004 为了解决上述技术问题, 本公开的实施例采用了如下技术方案: 一种地图数据的 下发方法, 应用于服务端, 包括: 接收客户端发送的第。
12、一更新请求, 其中, 所述第一更新请求 中至少包括当前区域的第二版本地图的第二ID; 判断所述第二ID与服务端内当前存储所述 区域的第一版本地图的第一ID是否相同; 在所述第二ID与所述第一ID相同的情况下, 向客 户端下发更新的瓦片数据; 在所述第二ID与所述第一ID不同的情况下, 向客户端下发所述 第一版本地图与所述第二版本地图之间的区别清单, 其中, 所述区别清单至少包括: 所述第 一版本地图与所述第二版本地图之间具有差异的瓦片ID。 0005 进一步, 所述向客户端下发所述第一版本地图与所述第二版本地图之间的区别清 单之后, 还包括: 向所述客户端下发所述具有差异的瓦片ID对应的瓦片数。
13、据。 0006 进一步, 所述接收客户端发送的第一更新请求之前, 还包括: 依次判断在所述第一 版本地图和第三版本地图中所述瓦片ID对应的瓦片数据是否相同, 其中, 所述第三版本地 图为所述第一版本地图之前的任意一个版本地图; 在所述第一版本地图和所述第三版本地 图中所述瓦片ID对应的瓦片数据不相同的情况下, 将所述瓦片ID添加至所述第一版本地图 与所述第三版本地图之间的区别清单中。 0007 进一步, 所述区别清单的更新模式至少包括全量更新和增量更新。 0008 进一步, 在所述第一版本地图和所述第三版本地图中所述瓦片ID对应的瓦片数据 不相同的情况下, 还包括: 统计所述第一版本地图和所述。
14、第三版本地图中瓦片数据不相同 的瓦片ID的数量; 在所述数量超过预设阈值的情况下, 将所述第一版本地图中所有瓦片ID 添加至所述第一版本地图与所述第三版本地图之间的区别清单中; 在所述服务端向客户端 下发第一版本地图与第三版本地图之间的区别清单时, 将所述区别清单的更新模式设置为 全量更新。 0009 进一步, 所述将所述区别清单的更新模式设置为全量更新后, 还包括: 将所述第一 版本地图的所有瓦片数据下发至所述客户端。 说明书 1/12 页 4 CN 111813787 A 4 0010 另一方面, 本公开实施例还提出了一种地图数据的更新方法, 应用于客户端, 包 括: 向服务端发送第一更新。
15、请求, 其中, 所述第一更新请求中至少包括当前区域的第二版本 地图的第二ID; 接收所述服务端下发的更新的瓦片数据, 或, 第一版本地图与所述第二版本 地图之间的区别清单, 其中, 所述区别清单至少包括: 所述第一版本地图与所述第二版本地 图之间具有差异的瓦片ID, 所述第一版本地图为服务端当前存储的所述区域的地图; 在接 收到所述更新的瓦片数据的情况下, 在所述当前区域的地图文件中写入所述更新的瓦片数 据; 在接收到所述区别清单的情况下, 将所述当前区域的所述第二版本地图的第二ID更新 为第一ID, 从所述地图文件中删除所述具有差异的瓦片ID的瓦片数据。 0011 进一步, 在接收到所述区别。
16、清单的情况下, 还包括: 接收所述服务端下发的所述具 有差异的瓦片ID对应的瓦片数据。 0012 进一步, 所述区域的地图文件至少包括: 地图数据表和版本信息表; 其中, 所述地 图数据表用于存储所述区域的所有瓦片ID对应的瓦片数据; 所述版本信息表至少用于存储 所述区域的当前版本地图的ID、 上次数据更新时间、 上次版本询问时间。 0013 进一步, 还包括: 在接收到所述更新的瓦片数据的情况下, 将所述上次数据更新时 间和所述上次版本询问时间更新为接收所述更新的瓦片数据的时间; 在接收到所述区别清 单的情况下, 将所述上次版本询问时间更新为接收到所述区别清单的时间。 0014 进一步, 所。
17、述区别清单的更新模式至少包括全量更新和增量更新。 0015 进一步, 还包括: 在接收到所述区别清单的情况下, 判断所述区别清单的更新模 式; 在所述区别清单的更新模式为增量更新的情况下, 从所述地图文件中删除所述具有差 异的瓦片ID的瓦片数据; 在所述区别清单的更新模式为全量更新的情况下, 删除当前客户 端存储的所述地图文件。 0016 进一步, 所述删除当前客户端存储的所述地图文件之后, 还包括: 接收所述服务端 下发的所述第一版本地图的所有瓦片数据; 根据所述第一版本地图的所有瓦片数据重新生 成所述区域的地图文件。 0017 再一方面, 本公开实施例提出一种存储介质, 存储有计算机程序,。
18、 其特征在于, 所 述计算机程序被处理器执行时实现上述地图数据的下发方法的步骤。 0018 再一方面, 本公开实施例提出一种存储介质, 存储有计算机程序, 其特征在于, 所 述计算机程序被处理器执行时实现上述地图数据的更新方法的步骤。 0019 再一方面, 本公开实施例提出一种电子设备, 至少包括存储器、 处理器, 所述存储 器上存储有计算机程序, 其特征在于, 所述处理器在执行所述存储器上的计算机程序时实 现上述地图数据的下发方法的步骤。 0020 再一方面, 本公开实施例提出一种电子设备, 至少包括存储器、 处理器, 所述存储 器上存储有计算机程序, 其特征在于, 所述处理器在执行所述存储。
19、器上的计算机程序时实 现上述地图数据的更新方法的步骤。 0021 本公开实施例的有益效果在于: 以地图中某一划分的区域的地图作为请求和更新 的主体, 将不同版本地图的ID记录在该区域中, 而不是每一个瓦片中, 有效减少了客户端请 求的次数和频率, 并且以区域为单位下发不同版本之间变更的瓦片或区别清单, 即可以实 现地图数据快速的更新, 保证当天编译的数据在客户端请求时可以直接进行下发操作, 使 客户端可以及时实现地图数据更新, 提升了用户的使用体验。 说明书 2/12 页 5 CN 111813787 A 5 附图说明 0022 图1为本公开第一实施例中地图数据的下发方法的流程图; 0023 。
20、图2为本公开第二实施例中地图数据的更新方法的流程图; 0024 图3为本公开第五和第六实施例中电子设备的结构示意图。 具体实施方式 0025 此处参考附图描述本公开的各种方案以及特征。 0026 应理解的是, 可以对此处申请的实施例做出各种修改。 因此, 上述说明书不应该视 为限制, 而仅是作为实施例的范例。 本领域的技术人员将想到在本公开的范围和精神内的 其他修改。 0027 包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例, 并且与上 面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开 的原理。 0028 通过下面参照附图对给定为非限制性实例的实施例的。
21、优选形式的描述, 本公开的 这些和其它特性将会变得显而易见。 0029 还应当理解, 尽管已经参照一些具体实例对本公开进行了描述, 但本领域技术人 员能够确定地实现本公开的很多其它等效形式, 它们具有如权利要求所述的特征并因此都 位于借此所限定的保护范围内。 0030 当结合附图时, 鉴于以下详细说明, 本公开的上述和其他方面、 特征和优势将变得 更为显而易见。 0031 此后参照附图描述本公开的具体实施例; 然而, 应当理解, 所申请的实施例仅仅是 本公开的实例, 其可采用多种方式实施。 熟知和/或重复的功能和结构并未详细描述以避免 不必要或多余的细节使得本公开模糊不清。 因此, 本文所申请。
22、的具体的结构性和功能性细 节并非意在限定, 而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以 实质上任意合适的详细结构多样地使用本公开。 0032 本说明书可使用词组 “在一种实施例中” 、“在另一个实施例中” 、“在又一实施例 中” 或 “在其他实施例中” , 其均可指代根据本公开的相同或不同实施例中的一个或多个。 0033 本公开的第一实施例提供了一种地图数据的下发方法, 主要应用于地图软件的后 台服务端中, 维护人员在需要对地图进行更新时, 将更新的地图数据在服务端中进行编译, 以形成新的地图版本以及对应的版本号。 本实施例中服务端实现的地图数据的下发方法的 流程图如图1所。
23、示, 主要包括步骤S101至S104: 0034 S101, 接收客户端发送的第一更新请求; 0035 S102, 判断第二ID与服务端内当前存储区域的第一版本地图的第一ID是否相同, 在第二ID与第一ID相同的情况下, 执行步骤S103, 在第二ID与第一ID不同的情况下, 执行步 骤S104; 0036 S103, 向客户端下发更新的瓦片数据; 0037 S104, 在第二ID与第一ID不同的情况下, 向客户端下发第一版本地图与第二版本 地图之间的区别清单。 0038 客户端在希望更新地图时, 会向服务端发送携带有客户端内保存的当前区域的第 说明书 3/12 页 6 CN 11181378。
24、7 A 6 二版本地图所对应的第二ID的第一更新请求, 服务端会根据第一更新请求中所携带的第二 ID, 进行如何对客户端当前版本的地图下发更新数据的判断。 具体地, 针对当前区域, 服务 端会判断第二ID与自身存储的该区域的第一版本地图的第一ID是否相同, 由于服务端中存 储的都是该区域最新的版本地图, 所以若第二ID与第一ID相同, 说明客户端中除了本次新 更新的瓦片以外, 地图中的其他瓦片应当与服务端中的瓦片相同, 此时只需要将本次新编 译的瓦片数据下发至客户端即可; 若第二ID与第一ID不同, 则说明客户端内保存的第二版 本地图已经不是最新的地图, 此时下发第一版本地图与第二版本地图之间。
25、的区别清单, 该 区别清单中记载了第一版本地图与第二版本地图之间所有具有差异的瓦片ID, 以供客户端 根据区别清单内记载的瓦片ID进行自身版本的更新, 区别清单中同时还应记载有第一ID和 第二ID。 0039 进一步地, 在服务端下发区别清单之后, 还需要将区别清单内记载的瓦片ID对应 的瓦片数据下发至客户端, 但是通常情况下区别清单和对应的瓦片数据是分别下发至客户 端的, 在接收到第一更新请求后可以先下发区别清单, 在客户端下次请求这个瓦片的时候 再下发对应的瓦片数据即可。 0040 在服务端端更新地图数据至第一版本地图后, 接收第一更新请求之前, 需要对比 当前第一版本地图与第三版本地图之。
26、间的瓦片数据是否相同, 其中, 第三版本地图是指第 一版本地图之前的任意一个的历史版本地图, 若第一版本地图和第三版本地图中瓦片数据 不相同, 则将不同的瓦片对应的瓦片ID添加至第一版本地图和第三版本地图之间的区别清 单中。 应当了解的是, 在服务端中应当保存有多个历史版本地图, 在每次更新了新的版本地 图之后, 都需要将当前新版本地图与之前的历史版本地图进行对比, 并生成当前新版本与 之前所有历史版本地图中的每个历史版本地图之间的区别清单。 客户端当前的第二版本地 图若与第一版本地图不同, 则第二版本地图也是历史版本地图中的其中一个版本, 服务端 可根据第二版本地图的第二ID, 对应获取其与。
27、第一版本地图之间的区别清单即可。 0041 在生成区别清单时, 服务端还需要对应确定区别清单的更新模式, 主要包括全量 更新和增量更新, 全量更新是指需要用户清空之前的所有瓦片数据, 并对应下载最新版本 地图的所有瓦片数据以完成更新, 增量更新是指仅更新与最新版本地图中不同的瓦片数 据。 在实际使用时, 服务端可根据最新版本地图与历史版本地图之间的对比结果进行更新 模式的确定, 例如, 在第一版本地图和第三版本地图中瓦片ID对应的瓦片数据不相同的情 况下, 统计第一版本地图和第三版本地图中瓦片数据不相同的瓦片ID的数量, 若该数量超 过预设阈值, 如超过瓦片总数量的90, 即可将区别清单的更新。
28、模式设置为全量更新, 并且 将第一版本地图的所有瓦片的瓦片ID添加至区别清单中。 在该区别清单下发至客户端后, 客户端会因区别清单的更新模式为全量更新而清除当前区域的第二版本地图中所对应的 所有瓦片数据, 在再次请求时, 服务端则将第一版本地图的所有瓦片数据进行下发, 供客户 端进行更新。 0042 在实际使用时, 还可以对服务端对编译地图的过程进行改进, 主要包括以下几个 方面: 0043 首先, 针对服务端中的编译器进行改进, 为了保证源数据中道路形状点与ID均能 保持稳定, 将现有的道路编译的顺序由 “拼接(joinlink)-裁剪-抽稀” 调整为 “裁剪- joinlink-抽稀” ,。
29、 且joinlink前按照稳定的道路ID进行排序, 并且提升了编译速度, 保证了 说明书 4/12 页 7 CN 111813787 A 7 编译过程的效率。 0044 其次, 在编译过程中首先按照坐标对信息点(POI, Point of Interest)、 道路单 元、 区域等进行分组, 缩小成与瓦片同等级范围后再做避让, 以防止出现POI名称、 道路名称 重合或过于密集等问题。 0045 再次, 在对POI按照重要程度进行排序(rank)时, 通过基础类型rank、 挖掘rank、 点 击分数和订单层级四个部分进行排序, 在rank过程中, 基础类型rank与订单层级相对稳定, 而挖掘r。
30、ank与点击分数微调频率较高, 因此对挖掘rank与点击分数的变化做模糊化处理, 如只采用百位与十位, 忽略个位变化。 0046 最后, 在输出编译好的地图数据之前, 按二进制中所需的树形进行再次排序, 并且 保证在瓦片的内容没有更新的情况下, 不同版本之间编译出的该瓦片的二进制数据应当相 同。 0047 进一步地, 为了降低客户端在更新时所消耗的流量, 在编译过程中进行数据分层, 由于道路单元和POI点等内容的更新频率较高, 因此将其单独进行划分, 优选划分为以下三 层: 与道路单元、 道路名标注、 三维道路等道路相关的道路层; 与POI点、 信息面(AOI, Area of Interes。
31、t)、 AOI面标签等相关的POI层; 以及与多边形面(polygon)、 楼宇面(building)、 其他点(other point)、 其他面(other line)相关的其他层。 通过分层减小数据的划分粒 度, 方便进行数据更新, 且各个层的规格和处理方式完全一致, 内容可根据实际情况随时调 整。 0048 在数据编译结束后, 根据当前版本地图的数据内容生成与历史版本地图数据之间 的区别清单, 需要注意的是, 结合分层后的三层数据, 每个区域之间的区别清单也对应有三 份, 分别为道路层的区别清单、 POI层的区别清单以及其他层的区别清单, 并在下发区别清 单时, 对应下载存在更新的区别。
32、清单即可。 0049 在实际使用时, 可以使用日期作为地图数据的版本号, 共占用两个字节, 其中前12 个比特为当前系统时间距离以特定日期的天数, 如距离20181101的天数, 后4比特表示这是 当天的第几版数据。 0050 应当了解的是, 服务端中应维持当前最新版本的全量数据与多份区别清单, 每次 上线时清除之前的数据和区别清单, 重新入新版本的全量数据, 并入历史版本相对于当前 版本的区别清单。 例如, 在只考虑一条增量线的情况下, 历史版本为1、 2、 3, 现在服务端中存 储的应该是3的全量数据, 与1to3、 2to3的区别清单; 第二天当4上线时, 要清除当前服务内 的数据与区别。
33、清单, 并入4的全量数据, 与1to4、 2to4、 3to4的区别清单; 第三天5数据准备上 线, 且准备上全量(即要求用户清空之前的所有缓存), 则清除4的数据与区别清单, 入5的全 量数据, 但由于5是全量更新, 此时不需要增加5与历史版本之间的区别清单。 0051 本实施例以地图中某一划分的区域的地图作为请求和更新的主体, 将不同版本地 图的ID记录在该区域中, 而不是每一个瓦片中, 有效减少了客户端请求的次数和频率, 并且 以区域为单位下发不同版本之间变更的瓦片或区别清单, 即可以实现地图数据快速的更 新, 保证当天编译的数据在客户端请求时可以直接进行下发操作, 使客户端可以及时实现。
34、 地图数据更新, 提升了用户的使用体验。 0052 本公开的第二实施例公开了一种地图数据的更新方法, 主要应用于用户持有的客 户端中, 用户在开启客户端或者从当前区域切换到另一个区域时, 会向服务端请求该区域 说明书 5/12 页 8 CN 111813787 A 8 的更新情况, 并根据服务端下发的内容进行自身存储的地图数据的更新。 本实施例中客户 端实现地图数据的更新方法的流程图如图2所示, 主要包括步骤S201至S204: 0053 S201, 向服务端发送第一更新请求; 0054 S202, 接收服务端下发的更新的瓦片数据, 或, 第一版本地图与第二版本地图之间 的区别清单; 0055。
35、 S203, 在接收到更新的瓦片数据的情况下, 在当前区域的地图文件中写入更新的 瓦片数据; 0056 S204, 在接收到区别清单的情况下, 将当前区域的第二版本地图的第二ID更新为 第一ID, 从地图文件中删除具有差异的瓦片ID的瓦片数据。 0057 客户端在希望更新地图时, 会向服务端发送携带有客户端内保存的当前区域的第 二版本地图所对应的第二ID的第一更新请求, 服务端会根据第一更新请求中所携带的第二 ID, 进行如何对客户端当前版本的地图下发更新数据的判断, 具体的判断方式和下发内容 详见本公开的第一实施例, 客户端则根据下发内容进行自身数据的更新。 0058 具体地, 在服务端下发。
36、的内容是更新的瓦片数据的情况下, 说明当前客户端的地 图版本与服务端一致, 此时对应将瓦片数据写入至该区域的地图文件内即可; 若服务端下 发的记录又服务端当前存储的该区域第一版本地图与第二版本地图之间具有差异的瓦片 ID的区别清单, 则将当前区域的第二版本地图的第二ID更新为第一ID, 并删除该区域地图 文件中区别清单内具有差异的瓦片ID对应的瓦片数据, 并在下次请求该瓦片时, 根据服务 端下发的瓦片数据更新该地图文件。 0059 区域的地图文件为保存该区域所有瓦片数据的文件, 在本实施例中使用sqlite文 件作为客户端缓存数据的存储规格, 针对每个区域存储一个sqlite文件, 每个sql。
37、ite文件 至少包括地图数据表和版本信息表, 其中, 地图数据表用于存储区域的所有瓦片ID对应的 瓦片数据; 版本信息表至少用于存储区域的当前版本地图的ID、 上次数据更新时间和上次 版本询问时间, 上次数据更新时间用于表征上一次实际发生瓦片数据更新的时间, 上次版 本询问时间则是接收到服务端下发的内容的时间, 但不限制服务端下发的内容是瓦片数据 还是区别清单; 即, 在接收到更新的瓦片数据的情况下, 将上次数据更新时间和上次版本询 问时间更新为接收更新的瓦片数据的时间; 在接收到区别清单的情况下, 将上次版本询问 时间更新为接收到区别清单的时间。 0060 服务端在确定区别清单时还会同时确定。
38、区别清单的更新模式, 主要包括全量更新 和增量更新, 客户端在接收到区别清单时, 也会根据区别清单的更新模式调整自身更新的 模式。 具体地, 在接收到所述区别清单时, 首先判断区别清单的更新模式; 若区别清单的更 新模式为增量更新, 则从地图文件中删除具有差异的瓦片ID的瓦片数据, 并在下次请求时 根据服务端下发的瓦片数据在地图文件中重新添加上述瓦片ID对应的瓦片数据; 若区别清 单的更新模式为全量更新, 为了提升更新速度, 直接删除当前区域对应的地图文件, 并在接 收服务端下发的第一版本地图的所有瓦片数据后, 重新生成该区域的地图文件。 0061 在实际使用时也会出现先接收到瓦片数据后接收到。
39、区别清单的问题, 因此在接收 到瓦片数据时, 若本地没有这个区域的地图文件, 则创建一个地图文件, 并将下发的瓦片数 据与版本号写入地图文件中; 若本地已有这个区域的地图文件, 则检查瓦片数据中的版本 号与地图文件的版本号是否一致, 若一致, 则将瓦片数据写进去, 并更新地图文件中的上次 说明书 6/12 页 9 CN 111813787 A 9 数据更新时间, 若不一致, 则先将瓦片数据在缓存中放着, 记下这些瓦片的索引, 等接收到 对应的区别清单并更新版本号后, 再去缓存中找到这些瓦片并写入, 以此解决瓦片数据比 区别清单先接收到的问题。 0062 客户端通常在启动时请求当前区域的数据是否。
40、存在更新, 此时要更新地图文件中 的上次版本询问时间; 在地图出现缺图时也可请求当前区域的数据是否存在更新, 除了第 二版本地图的第二ID, 在第一更新请求中还可以携带一个是否需要下发区别清单的参数, 例如当前时间距离地图文件中存储的上次版本询问时间不超过30秒, 则可不用重新下发区 别清单, 若需要重新下发区别清单, 则需要同时更新地图文件中的上次版本询问时间; 在当 前时间距离上次数据更新时间超过15分钟, 同样需要重新发送更新请求, 并同时更新地图 文件中的上次版本询问时间, 用户在使用中进行了区域切换时, 也需要重新进行更新数据 的请求。 0063 本实施例以地图中某一划分的区域的地图。
41、作为请求和更新的主体, 将不同版本地 图的ID记录在该区域中, 而不是每一个瓦片中, 有效减少了客户端请求的次数和频率, 并且 以区域为单位下发不同版本之间变更的瓦片或区别清单, 即可以实现地图数据快速的更 新, 保证当天编译的数据在客户端请求时可以直接进行下发操作, 使客户端可以及时实现 地图数据更新, 提升了用户的使用体验。 0064 本公开第三实施例提供了一种存储介质, 该存储介质为计算机可读介质, 存储有 计算机程序, 该计算机程序被处理器执行时实现本公开第一实施例提供的方法, 包括如下 步骤S11至S14: 0065 S11, 接收客户端发送的第一更新请求, 其中, 第一更新请求中至。
42、少包括当前区域 的第二版本地图的第二ID; 0066 S12, 判断第二ID与服务端内当前存储区域的第一版本地图的第一ID是否相同; 0067 S13, 在第二ID与第一ID相同的情况下, 向客户端下发更新的瓦片数据; 0068 S14, 在第二ID与第一ID不同的情况下, 向客户端下发第一版本地图与第二版本地 图之间的区别清单, 其中, 区别清单至少包括: 第一版本地图与第二版本地图之间具有差异 的瓦片ID。 0069 计算机程序被处理器执行向客户端下发第一版本地图与第二版本地图之间的区 别清单之后, 还被处理器执行如下步骤: 向客户端下发具有差异的瓦片ID对应的瓦片数据。 0070 计算机。
43、程序被处理器执行接收客户端发送的第一更新请求之前, 还被处理器执行 如下步骤: 依次判断在第一版本地图和第三版本地图中瓦片ID对应的瓦片数据是否相同, 其中, 第三版本地图为第一版本地图之前的任意一个版本地图; 在第一版本地图和第三版 本地图中瓦片ID对应的瓦片数据不相同的情况下, 将瓦片ID添加至第一版本地图与第三版 本地图之间的区别清单中。 0071 具体地, 区别清单的更新模式至少包括全量更新和增量更新。 计算机程序被处理 器执行第一版本地图和第三版本地图中瓦片ID对应的瓦片数据不相同的情况下时, 具体被 处理器执行如下步骤: 统计第一版本地图和第三版本地图中瓦片数据不相同的瓦片ID的数。
44、 量; 在数量超过预设阈值的情况下, 将第一版本地图中所有瓦片ID添加至第一版本地图与 第三版本地图之间的区别清单中; 在服务端向客户端下发第一版本地图与第三版本地图之 间的区别清单时, 将区别清单的更新模式设置为全量更新。 说明书 7/12 页 10 CN 111813787 A 10 0072 计算机程序被处理器执行将区别清单的更新模式设置为全量更新后之后, 还被处 理器执行如下步骤: 将第一版本地图的所有瓦片数据下发至客户端。 0073 本实施例以地图中某一划分的区域的地图作为请求和更新的主体, 将不同版本地 图的ID记录在该区域中, 而不是每一个瓦片中, 有效减少了客户端请求的次数和频。
45、率, 并且 以区域为单位下发不同版本之间变更的瓦片或区别清单, 即可以实现地图数据快速的更 新, 保证当天编译的数据在客户端请求时可以直接进行下发操作, 使客户端可以及时实现 地图数据更新, 提升了用户的使用体验。 0074 本公开第四实施例提供了一种存储介质, 该存储介质为计算机可读介质, 存储有 计算机程序, 该计算机程序被处理器执行时实现本公开第二实施例提供的方法, 包括如下 步骤S21至S24: 0075 S21, 向服务端发送第一更新请求, 其中, 第一更新请求中至少包括当前区域的第 二版本地图的第二ID; 0076 S22, 接收服务端下发的更新的瓦片数据, 或, 第一版本地图与第。
46、二版本地图之间 的区别清单, 其中, 区别清单至少包括: 第一版本地图与第二版本地图之间具有差异的瓦片 ID, 第一版本地图为服务端当前存储的区域的地图; 0077 S23, 在接收到更新的瓦片数据的情况下, 在当前区域的地图文件中写入更新的瓦 片数据; 0078 S24, 在接收到区别清单的情况下, 将当前区域的第二版本地图的第二ID更新为第 一ID, 从地图文件中删除具有差异的瓦片ID的瓦片数据。 0079 计算机程序被处理器执行在接收到区别清单的情况下时, 具体被处理器执行如下 步骤: 接收服务端下发的具有差异的瓦片ID对应的瓦片数据。 0080 具体地, 区域的地图文件至少包括: 地图。
47、数据表和版本信息表; 其中, 地图数据表 用于存储区域的所有瓦片ID对应的瓦片数据; 版本信息表至少用于存储区域的当前版本地 图的ID、 上次数据更新时间、 上次版本询问时间; 区别清单的更新模式至少包括全量更新和 增量更新。 0081 计算机程序还被处理器执行如下步骤: 在接收到更新的瓦片数据的情况下, 将上 次数据更新时间和上次版本询问时间更新为接收更新的瓦片数据的时间; 在接收到区别清 单的情况下, 将上次版本询问时间更新为接收到区别清单的时间。 0082 计算机程序还被处理器执行如下步骤: 在接收到区别清单的情况下, 判断区别清 单的更新模式; 在区别清单的更新模式为增量更新的情况下,。
48、 从地图文件中删除具有差异 的瓦片ID的瓦片数据; 在区别清单的更新模式为全量更新的情况下, 删除当前客户端存储 的地图文件。 0083 计算机程序被处理器执行删除当前客户端存储的地图文件之后, 还被处理器执行 如下步骤: 接收服务端下发的第一版本地图的所有瓦片数据; 根据第一版本地图的所有瓦 片数据重新生成区域的地图文件。 0084 本实施例以地图中某一划分的区域的地图作为请求和更新的主体, 将不同版本地 图的ID记录在该区域中, 而不是每一个瓦片中, 有效减少了客户端请求的次数和频率, 并且 以区域为单位下发不同版本之间变更的瓦片或区别清单, 即可以实现地图数据快速的更 新, 保证当天编译。
49、的数据在客户端请求时可以直接进行下发操作, 使客户端可以及时实现 说明书 8/12 页 11 CN 111813787 A 11 地图数据更新, 提升了用户的使用体验。 0085 本公开第五实施例提供了一种电子设备, 该电子设备的结构示意图可以如图3所 示, 至少包括存储器100和处理器200, 存储器100上存储有计算机程序, 处理器200在执行存 储器100上的计算机程序时实现本公开第一实施例提供的方法。 示例性的, 电子设备计算机 程序步骤如下S31至S34: 0086 S31, 接收客户端发送的第一更新请求, 其中, 第一更新请求中至少包括当前区域 的第二版本地图的第二ID; 0087。
50、 S32, 判断第二ID与服务端内当前存储区域的第一版本地图的第一ID是否相同; 0088 S33, 在第二ID与第一ID相同的情况下, 向客户端下发更新的瓦片数据; 0089 S34, 在第二ID与第一ID不同的情况下, 向客户端下发第一版本地图与第二版本地 图之间的区别清单, 其中, 区别清单至少包括: 第一版本地图与第二版本地图之间具有差异 的瓦片ID。 0090 处理器在执行存储器上存储的向客户端下发第一版本地图与第二版本地图之间 的区别清单之后, 还执行如下计算机程序: 向客户端下发具有差异的瓦片ID对应的瓦片数 据。 0091 处理器在执行存储器上存储的接收客户端发送的第一更新请求。
- 内容关键字: 地图 数据 下发 方法 更新 存储 介质 电子设备
活性炭吸附印刷废气净化设备.pdf
园林绿化植物可调式保护支架.pdf
烟气脱硫塔的除尘装置.pdf
石材仿形切割装置.pdf
茶叶加工用上料装置.pdf
藻类培养容器的自动清洗装置.pdf
轨道车用液压马达与扇叶的连接装置.pdf
布卷抽布装置.pdf
双电源切换装置.pdf
应用于综合配电箱风冷却的降温装置.pdf
电力电缆安装用张紧装置.pdf
用于兽药残留检测的样品预处理装置.pdf
矿用可移动终端的模块电路.pdf
净水剂检测用取样装置.pdf
汽车双发电机双蓄电池并联电路.pdf
防火型电气控制柜.pdf
便携式食品样品取样装置.pdf
电缆铺设夹持组件.pdf
柜体装配检验装置.pdf
用于按摩椅的柔性按摩机构.pdf
硬炭及其制备方法、二次电池.pdf
汽车左悬置支架焊接设备.pdf
路面摊铺器.pdf
滤波器腔体生产装置.pdf
带漏电的保护插线板.pdf
电动轮椅安全阈值控制方法.pdf
重点管控一般工业固体废物筛查方法及系统.pdf
用于小型渠道整型施工装置及施工方法.pdf
miRNA标志物组合在制备预测年龄产品中的应用.pdf
水质检测方法及其系统.pdf
防误插的圆形电连接器.pdf
用于新能源汽车零件的皮碗压装装置.pdf
一种一孔两用的隧洞排水孔结构.pdf
钢管桩围堰结构.pdf
一种生态砌块.pdf
一种铁路桥梁用泄水管.pdf
一种卷帘门的抗风装置.pdf
一种掺有非预应力钢筋的管桩钢筋笼.pdf
大型沉管隧道管段基础.pdf
汽车手套箱开启装置.pdf
城市道路上空花园式电动跃层停车商务楼.pdf
蒸压加气砌块砌窗结构.pdf
一种升降式旋转室外消火栓.pdf
框架结构T型连接柱.pdf
防静电地板吸板器.pdf
一种建筑用箱体或井口预留孔洞活动模具.pdf
速成拉建房屋.pdf
预制桥面板精轧螺纹钢筋弧形连接构造.pdf
一种内固定式伸缩门滑行导轨及伸缩门.pdf
多用途封井器.pdf
一种新型圆弧建筑模板紧固件.pdf