CN108920606B - 地图数据处理方法、装置、终端设备及存储介质 - Google Patents

地图数据处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN108920606B
CN108920606B CN201810685308.2A CN201810685308A CN108920606B CN 108920606 B CN108920606 B CN 108920606B CN 201810685308 A CN201810685308 A CN 201810685308A CN 108920606 B CN108920606 B CN 108920606B
Authority
CN
China
Prior art keywords
data
map
block data
map block
index
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
CN201810685308.2A
Other languages
English (en)
Other versions
CN108920606A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Dadi Tongtu Beijing Technology Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Dadi Tongtu Beijing Technology 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 Tencent Technology Shenzhen Co Ltd, Tencent Dadi Tongtu Beijing Technology Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810685308.2A priority Critical patent/CN108920606B/zh
Publication of CN108920606A publication Critical patent/CN108920606A/zh
Application granted granted Critical
Publication of CN108920606B publication Critical patent/CN108920606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)

Abstract

本发明公开了一种地图数据处理方法、装置、终端设备及存储介质,属于地图技术领域。所述方法包括:获取电子地图应用的任一实例的地图块数据请求,所述地图块数据请求包括至少一个地图块数据的数据索引,所述电子地图应用包括至少两个实例;获取与所述地图块数据请求中的数据索引对应的地图块数据;将地图块数据缓存到公共数据缓存区,公共数据缓存区是电子地图应用中的至少两个实例共同访问的缓存区。本申请通过在电子地图应用工作时,将不同的实例请求的地图块数据存入公共数据缓存区,由于公共数据缓存区为能够被电子地图应用中的所述至少两个实例访问,无需重复为各个实例提供地图块数据缓存,节省了地图块数据存储所需的存储资源。

Description

地图数据处理方法、装置、终端设备及存储介质
技术领域
本发明涉及地图技术领域,特别涉及一种地图数据处理方法、装置、终端设备及存储介质。
背景技术
随着互联网和移动终端等技术的发展,电子地图成为人们日常生活必不可少的部分。
在部分电子地图应用中,电子地图应用可以提供多个实例(Instance),这多个实例以不同的形式进行地图显示。例如,电子地图应用提供三个实例,第一个实例通过电子地图应用主界面的导航地图进行显示,第二个实例通过桌面小部件(widget)进行显示,第三个实例通过汽车的仪表盘进行显示。
在这多个实例的工作过程中,各个实例间相互独立,每个实例单独维护自身的地图块数据,导致地图块数据存储所需的存储资源花销较大。
发明内容
本发明实施例提供了一种地图数据处理方法、装置、终端设备及存储介质,使得电子地图应用工作时,能够节省地图块数据存储所需的存储资源。所述技术方案如下:
一方面,提供了一种地图数据处理方法,所述方法包括:
获取电子地图应用的任一实例的地图块数据请求,所述地图块数据请求包括至少一个地图块数据的数据索引,所述电子地图应用包括至少两个实例,所述实例用于在用户界面上输出地图画面;
获取与所述地图块数据请求中的数据索引对应的地图块数据;
将所述地图块数据缓存到公共数据缓存区,所述公共数据缓存区是所述电子地图应用中的所述至少两个实例共同访问的缓存区。
另一方面,还提供了一种地图数据处理装置,所述装置包括:
获取模块,用于获取电子地图应用的任一实例的地图块数据请求,所述地图块数据请求包括至少一个地图块数据的数据索引,所述电子地图应用包括至少两个实例,所述实例用于在用户界面上输出地图画面;
处理模块,用于获取与所述地图块数据请求中的数据索引对应的地图块数据;
缓存模块,用于将所述地图块数据缓存到公共数据缓存区,所述公共数据缓存区是所述电子地图应用中的所述至少两个实例共同访问的缓存区。
另一方面,还提供了一种终端设备,所述终端设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如第一方面所述的地图数据处理方法。
另一方面,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如第一方面所述的地图数据处理方法。
本发明实施例提供的技术方案带来的有益效果是:
在电子地图应用工作时,对于任一个实例发送的地图块数据请求,获取对应的地图块数据存入公共数据缓存区,由于公共数据缓存区为能够被电子地图应用中的所述至少两个实例访问,无需重复为各个实例提供地图块数据缓存,节省了地图块数据存储所需的存储资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种电子地图***的结构示意图;
图2是本发明实施例提供的一种地图数据处理方法的流程图;
图3是本发明实施例提供的另一种地图数据处理方法的时序图;
图4是本发明实施例提供的电子地图的加载流程图;
图5是本发明实施例提供的一种地图数据处理装置的结构示意图;
图6是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是一种电子地图***的结构示意图,参见图1,该***包括终端设备10和车载终端20,其中,终端设备10包括但不限于智能手机、平板电脑、智能可穿戴设备等,车载终端20可以包括前述仪表盘。终端设备10中安装有电子地图应用,电子地图应用不仅可以在终端设备的导航地图进行地图显示,还可以在终端设备的桌面小部件进行地图显示,还可以通过汽车仪表盘上进行地图显示,三种显示方式可以由电子地图应用的三个实例来完成。其中,汽车仪表盘可以与导航地图(或桌面小部件)同时进行地图显示,即对应的实例同时工作;而导航地图和桌面小部件通常分时进行显示。
每个实例的工作过程相同,包括:获取地图块数据;对获取到的地图块数据进行样式匹配得到渲染数据;采用渲染数据进行图像渲染,得到地图画面。
这三个实例在上述工作过程中,各个实例间互不关联,每个实例单独维护自身的地图块数据,导致地图块数据存储所需的存储资源花费较大。
需要说明的是,前述仪表盘仅为一种实现方式,电子地图应用中的实例还可以通过其他具有显示功能的设备进行地图画面的输出。
图2是本发明实施例提供的一种地图数据处理方法的流程图,参见图2,该方法由前述终端设备执行,该方法包括:
步骤101:获取电子地图应用的任一实例的地图块数据请求。
其中,电子地图应用包括至少两个实例。实例也即对象,实例用于在用户界面上输出地图画面,不同的实例用于在不同的用户界面上输出地图画面,其中,用户界面可以为终端设备的导航地图、桌面小部件以及仪表盘。电子地图应用通过两个或多个实例可以分别输出不同界面的地图,每个实例对应终端设备中的不同内存空间,具有独立的数据和方法。每个实例分别对应有一个加载线程和渲染线程,进行数据加载和画面渲染;所有实例对应一个数据引擎,进行数据获取,步骤101~步骤103即由该数据引擎执行,通过一个数据引擎进行所有实例的数据处理,能够节省处理资源。
在终端设备中的电子地图应用工作时,加载线程先加载地图块数据,然后根据该地图块数据生成渲染数据,最后通过渲染线程进行渲染得到地图画面。其中,加载线程加载地图块数据时,如果缓存中没有要加载的地图块数据,则需要向数据引擎进行请求,来获取地图块数据,而数据引擎则按照步骤101~步骤103为加载线程提供地图块数据。
其中,地图块数据请求包括至少一个地图块数据的数据索引。在电子地图应用中,地图按照位置划分为多个地图块,每个地图块对应一个单独的地图块数据,每个地图块具有一个索引,也即该地图块对应的地图块数据的数据索引。
其中,地图块数据包括:点数据、线数据、面数据,其中,点数据、线数据、面数据均包括位置和样式,其中点数据的位置即对应的经纬度,线数据、面数据的位置可以由若干个点数据的位置构成,例如直线的位置可以由两端的点的位置表示,矩形平面的位置可以由四个顶点的位置表示。样式是指该数据在地图上对应的图案的类型,例如面数据的样式可以为学校面、居民楼等,线数据的样式可以为白色虚线、黑色实线等,点数据的样式可以为文字标记、兴趣点等。
步骤102:获取与地图块数据请求中的数据索引对应的地图块数据。
在本发明实施例中,地图块数据可以存储在本地,例如离线数据,也可以存储在服务器的数据库中,所以步骤102,实际就是在离线数据和/或服务器的数据库中查找数据索引对应的地图块数据。例如,在离线数据中查找得到地图块数据请求中的所有数据索引对应的地图块数据;或者,在离线数据中查找得到地图块数据请求中的一部分数据索引对应的地图块数据,在服务器的数据库中查找得到地图块数据请求中的另一部分数据索引对应的地图块数据;或者,在离线数据中未查找到地图块数据请求中的数据索引对应的地图块数据,在服务器的数据库中查找得到地图块数据请求中的所有数据索引对应的地图块数据。
步骤103:将地图块数据缓存到公共数据缓存区,该公共数据缓存区是电子地图应用中的至少两个实例共同访问的缓存区。
其中,公共数据缓存区中每个地图块数据仅存储一份。
在获取到地图块数据请求中的数据索引对应的地图块数据后,将地图块数据存入公共数据缓存区,以执行后续渲染操作。
本申请通过在电子地图应用工作时,对于不同的实例发送的地图块数据请求,获取对应的地图块数据存入公共数据缓存区,由于公共数据缓存区为能够被电子地图应用中的至少两个实例访问,无需重复为各个实例提供地图块数据缓存,节省了地图块数据存储所需的存储资源。
图3是本发明实施例提供的另一种地图数据处理方法的时序图,参见图3,该方法由前述终端设备执行,该终端设备中的电子地图应用至少两个实例,每个实例分别对应有一个加载线程和渲染线程,所有实例对应一个数据引擎,该方法可以通过加载线程、渲染线程和数据引擎执行,该方法流程包括:
步骤201:当检测到用户触摸操作时,通过加载线程根据用户触摸操作,确定需要获取的地图块数据。
在电子地图应用中,将地图分为多个地图块,每个地图块对应一个单独的地图块数据,每个地图块具有一个索引,也即该地图块对应的地图块数据的数据索引。
其中,地图块数据包括:点数据、线数据、面数据,其中,点数据、线数据、面数据均包括位置和样式,其中点数据的位置即对应的经纬度,线数据、面数据的位置可以由若干个点数据的位置构成,例如直线的位置可以由两端的点的位置表示,矩形平面的位置可以由四个顶点的位置表示。样式是指该数据在地图上对应的图案的类型,例如面数据的样式可以为学校面、居民楼等,线数据的样式可以为白色虚线、黑色实线等,点数据的样式可以为文字标记、兴趣点(Point of Interest,POI)等。
具体地,加载线程监听电子地图应用发送的触摸事件;当监听到触摸事件时,说明检测到用户触摸操作;否则,检测到用户触摸操作。其中,触摸事件表示监听到该触摸事件的加载线程对应的实例输出的地图被触摸。
对于通过终端设备的触摸屏输出地图画面的实例而言:终端设备通过触摸屏检测用户触摸操作,当检测到用户的触摸操作时,通知电子地图应用,此时电子地图应用根据当前显示的地图画面确定对应的实例,并向该实例通知该触摸事件,该实例通过加载线程来执行步骤201。对于通过仪表盘的触摸屏输出地图画面的实例而言:如果是仪表盘的屏幕检测到用户触摸操作,则仪表盘将通知终端设备仪表盘的屏幕发生用户触摸操作,终端设备通知电子地图应用,电子地图应用向仪表盘对应的实例通知该触摸事件,该仪表盘对应的实例通过加载线程来执行步骤201。
在该步骤201中,根据用户触摸操作,确定需要获取的地图块数据,可以包括:
确定当前显示的地图画面移动前的四个顶点的位置;根据用户触摸操作确定地图画面的移动轨迹和/或用户手势;根据移动轨迹和/或用户手势确定移动后的地图画面的四个顶点的位置;根据移动后的地图画面的四个顶点的位置,确定移动后的地图画面包括的所有地图块;确定在移动前的地图画面中已有的地图块;根据在移动前的地图画面中已有的地图块,确定所有地图块中剩下的地图块,得到需要获取的地图块数据。
其中,位置可以是该点的经纬度。用户手势包括但不限于地图放大、地图缩小等。
由于在触摸操作过程中,虽然触摸操作后,地图画面对应的范围改变,但可能触摸操作后的地图画面中仍然有一部分地图块是之前显示过的,所以这部分地图块数据无需重新获取。
在本实施例中,每个地图块可以是一个矩形,每个地图块的四个顶点的位置事先存储在终端设备中,因此,在确定了移动后的地图画面的四个顶点的位置后,即可确定移动后的地图画面所包括的所有地图块。例如,确定了移动后的地图画面的四个顶点的位置后,查找顶点在移动后的地图画面的四个顶点构成的矩形中的地图块,得到移动后的地图画面所包括的所有地图块。这里顶点在移动后的地图画面的四个顶点构成的矩形中的地图块,既可以是一个顶点在该矩形内,也可以是两个或者多个顶点在该矩形内。
下面结合图4对两个实例(实例A和B)同时工作时,地图数据处理过程进行说明:
在步骤201中,当实例A对应的地图画面的范围改变时,实例A对应的加载线程确定需要获取的新的地图块数据;当实例B对应的地图画面的范围改变时,实例B对应的加载线程确定需要获取的新的地图块数据。
步骤202:通过加载线程在公共数据缓存区查找需要获取的地图块数据,如果查找到所有需要获取的地图块数据,则通过加载线程加载所有需要获取的地图块数据,并执行步骤208;如果未查找到所有需要获取的地图块数据,则通过加载线程先加载查找到的地图块数据(如果未查找到任何地图块数据,则这一步不需要进行加载),并执行步骤203。
其中,该公共数据缓存区是电子地图应用中的至少两个实例共同访问的缓存区,也即能够被电子地图应用中的至少两个实例访问的缓存区。公共数据缓存区是内存中的一个预定区域,通过设计公共数据缓存区,避免了不同的实例在获取相同的地图块数据后,分别存放在内存的不同位置,造成内存资源浪费。
在该步骤中,在公共数据缓存区查找需要获取的地图块数据,可以包括:根据需要获取的地图块数据的数据索引在公共数据缓存区查找需要获取的地图块数据。公共数据缓存区存储有地图块数据及对应的数据索引,可以按照数据索引的顺序,顺序存储地图块数据,从而方便查找。
如图4所示,在步骤202中,实例A对应的加载线程在公共数据缓存区查找需要获取的地图块数据;实例B对应的加载线程在公共数据缓存区查找需要获取的地图块数据。两个加载线程在同一个公共数据缓存区进行地图块数据查找。实例A和实例B需要获取的地图块数据可以相同,也可以不同。
步骤203:通过加载线程生成地图块数据请求,地图块数据请求包括至少一个地图块数据的数据索引。
其中,地图块数据请求根据未被查找到的需要获取的地图块数据的数据索引生成。
如图4所示,在步骤203中,实例A、实例B的加载线程分别根据各自未找到的地图块数据生成地图块数据请求。
步骤204:通过加载线程将地图块数据请求传递给终端设备内的数据引擎。
相应地,数据引擎获取电子地图应用的任一实例的地图块数据请求。
其中,数据引擎是电子地图应用中的一个处理单元,具有离线数据存储及查找、在线下载等功能。
如图4所示,在步骤204中,实例A、实例B的加载线程分别将地图块数据请求发送给数据引擎,数据引擎接收两个加载线程发送的地图块数据请求。
步骤205:通过数据引擎获取与地图块数据请求中的数据索引对应的地图块数据。
在本发明实施例中,地图块数据可以存储在本地,例如离线数据,也可以存储在服务器的数据库中,所以步骤205,实际就是在离线数据和/或服务器的数据库中查找数据索引对应的地图块数据。例如,在离线数据中查找得到地图块数据请求中的所有数据索引对应的地图块数据;或者,在离线数据中查找得到地图块数据请求中的一部分数据索引对应的地图块数据,在服务器的数据库中查找得到地图块数据请求中的另一部分数据索引对应的地图块数据;或者,在离线数据中未查找到地图块数据请求中的数据索引对应的地图块数据,在服务器的数据库中查找得到地图块数据请求中的所有数据索引对应的地图块数据。
在该步骤205中,获取与地图块数据请求中的数据索引对应的地图块数据,包括:
在离线数据中查找数据索引对应的地图块数据,离线数据为电子地图应用的离线数据,也即至少两个实例共用该离线数据,每个实例对应的地图块数据都在该离线数据中查找。具体地,根据数据索引在离线数据中进行查找,确定离线数据中是否存在对应的地图块数据。当在离线数据中查找到所有的数据索引对应的地图块数据时,在离线数据中获取查找到的数据索引对应的地图块数据。当在离线数据中查找到部分数据索引对应的地图块数据时,在离线数据中获取查找到的数据索引对应的地图块数据,同时从地图服务器下载未查找到的数据索引对应的地图块数据;当在离线数据中未查找到任何数据索引对应的地图块数据时,从地图服务器下载所有的数据索引对应的地图块数据。
其中,离线数据保存了终端设备下载过的地图块数据,而地图服务器则保存了电子地图应用所需的所有地图块数据。在本实施例中,所有实例共用离线数据,无需为每个实例单独设置离线数据,节省了存储资源。
其中,在离线数据中查找到部分数据索引对应的地图块数据,也即数据索引包括第一数据索引和第二数据索引,当在离线数据中查找到第一数据索引对应的地图块数据,且未查找到第二数据索引对应的地图块数据时,在离线数据中获取第一数据索引对应的地图块数据,同时从地图服务器下载第二数据索引对应的地图块数据。其中,第一数据索引、第二数据索引均可以包括一个、两个或多个数据索引。
其中,从地图服务器下载第二数据索引对应的地图块数据,包括:
向地图服务器发送下载请求,下载请求包括第二数据索引;接收地图服务器发送的地图块数据。
其中,向地图服务器发送下载请求,包括:
判断下载队列中是否存在第二数据索引对应的下载任务,下载队列为电子地图应用的下载队列,也即至少两个实例共用该下载队列,每个实例对应的地图块数据都通过该下载队列下载。
当下载队列中不存在第二数据索引对应的下载任务时,将数据索引对应的下载任务分配给下载队列;当下载队列中存在第二数据索引对应的下载任务时,则只需等待该下载任务的执行即可。
通过下载队列向地图服务器发送下载请求。
其中,将数据索引对应的下载任务分配给下载队列是指,将数据索引对应的下载任务分配给下载队列中的下载线程。在线下载功能通过该下载队列实现,该下载队列也即下载线程队列,可以包括多个下载线程,在同一时间,不同的下载线程可以下载不同的地图块数据,从而实现多个地图块数据的并行下载。
在本实施例中,多个实例共用一个下载队列,节省了处理和存储资源。由于不同的实例的地图块数据都是通过数据引擎进行获取,然后存入公共数据缓存区中,所以相同的地图块数据不会重复获取,自然也就减少了从地图服务器下载的次数。该下载队列中下载线程的数量可以根据实际需求进行设计,例如可以根据在默认地图比例时,地图画面中地图块的数量以及对电子地图应用响应速度的要求来设计。
可选地,该方法还包括:
将从地图服务器中下载到的地图块数据保存到离线数据中。通过将从服务器下载的地图块数据存储到离线数据中,使得后续有相同的地图块数据需求时,无需再次下载,节省了下载所用的处理资源。
如图4所示,在步骤205中,数据引擎通过离线数据和/或在线下载得到地图块数据。如果实例A和实例B需要获取的地图块数据中,存在重叠的部分,这部分地图块数据,数据引擎只需要获取一次,从而大大降低了处理资源消耗。
步骤206:通过数据引擎将地图块数据缓存到公共数据缓存区。
在获取到地图块数据请求中的数据索引对应的地图块数据后,将地图块数据缓存到公共数据缓存区,以使得各个实例都能够通过对应的渲染线程对地图块数据执行渲染操作。
如图4所示,在步骤206中,数据引擎将地图块数据缓存到公共数据缓存区。如果实例A和实例B需要获取的地图块数据中,存在重叠的部分,这部分地图块数据在公共数据缓存区只需要存储一次,从而大大节省了存储资源。
步骤207:通过加载线程再次在公共数据缓存区查找未获取到的地图块数据。
在本发明实施例中,在步骤202中若没有查找到全部需要获取的地图块数据,则该查找动作会周期性地执行,即周期性地在公共数据缓存区查找未查找到的地图块数据,直到在公共数据缓存区查找到所有需要获取的地图块数据为止。并且,加载线程在查找过程中,每次会加载新查找到的地图块数据,直到加载了所有需要获取的地图块数据。
其中,查找动作的周期间隔可以根据需要设计,例如1秒或0.5秒等。
该步骤207与步骤202相同,在此不再详细描述。
如图4所示,在步骤207中,实例A对应的加载线程在公共数据缓存区查找步骤202未查找到的地图块数据;实例B对应的加载线程在公共数据缓存区查找步骤202未查找到的地图块数据。
步骤208:通过渲染线程对地图块数据进行样式匹配得到渲染数据。
其中,样式匹配是指对于不同的点、线、面数据,采用不同的样式形成图案。例如,面数据对应的是高速路,则采用高速路的样式进行匹配,形成图案。经过样式匹配得到的渲染数据为矢量图。
如图4所示,在步骤208中,实例A对应的渲染线程对实例A对应的加载线程获取到的地图块数据进行样式匹配;实例B对应的渲染线程对实例B对应的加载线程获取到的地图块数据进行样式匹配。
步骤209:通过渲染线程采用渲染数据进行图像渲染,得到地图画面。
采用渲染数据进行图像渲染是指,对前一步形成的图案进行矢量栅格化,也即将矢量图形转化为位图(栅格图像),最后形成地图画面。
如图4所示,在步骤209中,实例A对应的渲染线程和实例B对应的渲染线程分别采用各自的渲染数据进行图像渲染。
本申请通过在电子地图应用工作时,对于不同的实例发送的地图块数据请求,获取对应的地图块数据存入公共数据缓存区,由于公共数据缓存区为能够被电子地图应用中的至少两个实例访问,无需重复为各个实例提供地图块数据缓存,节省了地图块数据存储所需的存储资源。另外,在本申请中所有实施例共用离线数据,能够节省离线数据占用的存储资源;同时,所有的实施例共用下载队列,不会出现相同的地图块数据重复下载的情况,节省了处理资源和网络资源。
图5是本发明实施例提供的一种地图数据处理装置的结构示意图,参见图5,该装置包括:获取模块301、处理模块302和缓存模块303。获取模块301用于获取电子地图应用的任一实例的地图块数据请求,地图块数据请求包括至少一个地图块数据的数据索引,电子地图应用包括至少两个实例,实例用于在用户界面上输出地图画面。处理模块302用于获取与地图块数据请求中的数据索引对应的地图块数据。缓存模块303用于将地图块数据缓存到公共数据缓存区,该公共数据缓存区是电子地图应用中的至少两个实例共同访问的缓存区。
可选地,处理模块302包括离线获取子模块321和在线获取子模块322。离线获取子模块321用于在离线数据中查找数据索引对应的地图块数据,离线数据为电子地图应用的离线数据,该数据索引包括第一数据索引和第二数据索引;当在离线数据中查找到第一数据索引对应的地图块数据,且未查找到第二数据索引对应的地图块数据时,在离线数据中获取第一数据索引对应的地图块数据;在线获取子模块322用于从地图服务器下载第二数据索引对应的地图块数据。
其中,在线获取子模块322,用于向地图服务器发送下载请求,下载请求包括第二数据索引;接收地图服务器发送的地图块数据。
其中,在线获取子模块322,用于判断下载队列中是否存在第二数据索引对应的下载任务,下载队列为电子地图应用的下载队列;当下载队列中不存在第二数据索引对应的下载任务时,将数据索引对应的下载任务分配给下载队列;通过下载队列向地图服务器发送下载请求。
可选地,该装置还包括:存储模块304,用于将从地图服务器中下载到的地图块数据保存到离线数据中。
可选地,该装置还包括:查找模块305,用于当检测到用户触摸操作时,根据用户触摸操作,确定需要获取的地图块数据;在公共数据缓存区查找需要获取的地图块数据;生成模块306,用于当在公共数据缓存区未查找到所有需要获取的地图块数据时,根据未查找到的地图块数据的数据索引生成地图块数据请求。
可选地,查找模块305,还用于周期性地在公共数据缓存区查找未查找到的地图块数据。
需要说明的是:上述实施例提供的地图数据处理装置在实现地图数据处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的地图数据处理装置与地图数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明实施例提供的一种终端设备的结构示意图。该终端设备可以是移动终端。具体来讲:终端设备400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例提供的驾驶提醒方法。
在一些实施例中,终端设备400还可选包括有:***设备接口403和至少一个***设备。处理器401、存储器402和***设备接口403之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口403相连。具体地,***设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
***设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和***设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和***设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置终端设备400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在终端设备400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在终端设备400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位终端设备400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源409用于为终端设备400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备400还包括有一个或多个传感器140。该一个或多个传感器140包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
加速度传感器411可以检测以终端设备400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器412可以检测终端设备400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对终端设备400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在终端设备400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在终端设备400的侧边框时,可以检测用户对终端设备400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置终端设备400的正面、背面或侧面。当终端设备400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416,也称距离传感器,通常设置在终端设备400的前面板。接近传感器416用于采集用户与终端设备400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与终端设备400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与终端设备400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端设备400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本发明实施例提供的图2或图3所示的地图数据处理方法的指令。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算***的处理器执行时,使得计算***能够执行图2或图3所示实施例提供的地图数据处理方法。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图2或图3所示实施例提供的地图数据处理方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种地图数据处理方法,其特征在于,所述方法包括:
获取电子地图应用的任一实例的地图块数据请求,所述地图块数据请求包括至少一个地图块数据的数据索引,所述电子地图应用包括至少两个实例,所述实例用于在用户界面上输出地图画面;
在离线数据中查找所述数据索引对应的地图块数据,所述离线数据为所述电子地图应用的离线数据,所述数据索引包括第一数据索引和第二数据索引;
当在所述离线数据中查找到所述第一数据索引对应的地图块数据,且未查找到所述第二数据索引对应的地图块数据时,在所述离线数据中获取所述第一数据索引对应的地图块数据,同时从地图服务器下载所述第二数据索引对应的地图块数据;
将所述地图块数据缓存到公共数据缓存区,所述公共数据缓存区是所述电子地图应用中的所述至少两个实例共同访问的缓存区。
2.根据权利要求1所述的方法,其特征在于,所述从地图服务器下载所述第二数据索引对应的地图块数据,包括:
向所述地图服务器发送下载请求,所述下载请求包括所述第二数据索引;
接收所述地图服务器发送的地图块数据。
3.根据权利要求2所述的方法,其特征在于,所述向所述地图服务器发送下载请求,包括:
判断下载队列中是否存在所述第二数据索引对应的下载任务,所述下载队列为所述电子地图应用的下载队列;
当所述下载队列中不存在所述第二数据索引对应的下载任务时,将所述第二数据索引对应的下载任务分配给所述下载队列;
通过所述下载队列向所述地图服务器发送所述下载请求。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将从所述地图服务器中下载到的地图块数据保存到所述离线数据中。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取电子地图应用的任一实例的地图块数据请求,包括:
当检测到用户触摸操作时,根据所述用户触摸操作,确定需要获取的地图块数据;
在所述公共数据缓存区查找需要获取的地图块数据;
当在所述公共数据缓存区未查找到所有需要获取的地图块数据时,根据未查找到的地图块数据的数据索引生成所述地图块数据请求。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
周期性地在所述公共数据缓存区查找未查找到的地图块数据。
7.一种地图数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取电子地图应用的任一实例的地图块数据请求,所述地图块数据请求包括至少一个地图块数据的数据索引,所述电子地图应用包括至少两个实例,所述实例用于在用户界面上输出地图画面;
处理模块,用于在离线数据中查找所述数据索引对应的地图块数据,所述离线数据为所述电子地图应用的离线数据,所述数据索引包括第一数据索引和第二数据索引;
当在所述离线数据中查找到所述第一数据索引对应的地图块数据,且未查找到所述第二数据索引对应的地图块数据时,在所述离线数据中获取所述第一数据索引对应的地图块数据,同时从地图服务器下载所述第二数据索引对应的地图块数据;
缓存模块,用于将所述地图块数据缓存到公共数据缓存区,所述公共数据缓存区是所述电子地图应用中的所述至少两个实例共同访问的缓存区。
8.一种终端设备,其特征在于,所述终端设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至6任一项所述的地图数据处理方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至6任一项所述的地图数据处理方法。
CN201810685308.2A 2018-06-28 2018-06-28 地图数据处理方法、装置、终端设备及存储介质 Active CN108920606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810685308.2A CN108920606B (zh) 2018-06-28 2018-06-28 地图数据处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810685308.2A CN108920606B (zh) 2018-06-28 2018-06-28 地图数据处理方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN108920606A CN108920606A (zh) 2018-11-30
CN108920606B true CN108920606B (zh) 2020-10-23

Family

ID=64423145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810685308.2A Active CN108920606B (zh) 2018-06-28 2018-06-28 地图数据处理方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN108920606B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857821B (zh) * 2018-12-28 2023-10-20 浙江海幻信息技术有限公司 一种运动轨迹的记录方法、终端及计算机可读存储介质
CN110333835B (zh) * 2019-05-09 2023-07-25 阿波罗智联(北京)科技有限公司 车载数据图像的显示方法、***、电子设备及计算机可读介质
CN110674134B (zh) * 2019-09-16 2024-02-13 腾讯大地通途(北京)科技有限公司 一种地理信息数据存储方法、查询方法及装置
CN111672109B (zh) * 2020-06-10 2021-12-03 腾讯科技(深圳)有限公司 一种游戏地图生成的方法、游戏测试的方法以及相关装置
CN112333787B (zh) * 2020-11-13 2023-09-12 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质、终端及网络接入点设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038550A (zh) * 2006-03-17 2007-09-19 国际商业机器公司 信息处理装置和方法
CN102419770A (zh) * 2011-11-23 2012-04-18 中兴通讯股份有限公司 文件共享***及实现文件共享的方法、文件索引服务设备
CN104375857A (zh) * 2014-10-22 2015-02-25 腾讯科技(深圳)有限公司 一种应用程序运行多个实例的方法、装置及终端设备
CN104618503A (zh) * 2015-02-15 2015-05-13 西安酷派软件科技有限公司 一种***间数据同步共享方法、装置及终端
CN106021591A (zh) * 2016-06-06 2016-10-12 北京奇虎科技有限公司 终端的数据处理方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160210273A1 (en) * 2015-01-15 2016-07-21 Sap Se In-memory workspace management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038550A (zh) * 2006-03-17 2007-09-19 国际商业机器公司 信息处理装置和方法
CN102419770A (zh) * 2011-11-23 2012-04-18 中兴通讯股份有限公司 文件共享***及实现文件共享的方法、文件索引服务设备
CN104375857A (zh) * 2014-10-22 2015-02-25 腾讯科技(深圳)有限公司 一种应用程序运行多个实例的方法、装置及终端设备
CN104618503A (zh) * 2015-02-15 2015-05-13 西安酷派软件科技有限公司 一种***间数据同步共享方法、装置及终端
CN106021591A (zh) * 2016-06-06 2016-10-12 北京奇虎科技有限公司 终端的数据处理方法及***

Also Published As

Publication number Publication date
CN108920606A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108920606B (zh) 地图数据处理方法、装置、终端设备及存储介质
CN110841285B (zh) 界面元素的显示方法、装置、计算机设备及存储介质
CN109862412B (zh) 合拍视频的方法、装置及存储介质
CN110362366B (zh) 一种应用界面显示方法及装置
CN110659127A (zh) 一种处理任务的方法、装置及***
CN111159604A (zh) 图片资源加载方法及装置
CN108734662B (zh) 显示图标的方法和装置
CN107943484B (zh) 执行业务功能的方法和装置
CN110569064B (zh) 接口标识生成方法、装置、设备及存储介质
CN111008083B (zh) 页面通信方法、装置、电子设备及存储介质
CN110971840B (zh) 视频贴图方法及装置、计算机设备及存储介质
CN111275607A (zh) 界面显示方法、装置、计算机设备及存储介质
CN112181915A (zh) 执行业务的方法、装置、终端和存储介质
CN112699906B (zh) 获取训练数据的方法、装置及存储介质
CN114594885A (zh) 应用图标的管理方法、装置、设备及计算机可读存储介质
CN110119233B (zh) 内容推送方法及装置、终端、存储介质
CN113836426A (zh) 一种信息推送的方法、装置及电子设备
CN110851435B (zh) 一种存储数据的方法及装置
CN113051485A (zh) 群组搜索方法、装置、终端及存储介质
CN113158099A (zh) 页面显示方法、装置和存储介质
CN111125571B (zh) 图片显示方法及装置
CN113590877B (zh) 获取标注数据的方法及装置
CN111222124B (zh) 使用权限分配的方法、装置、设备以及存储介质
CN111798358B (zh) 确定算路时间的方法、装置、电子设备及可读存储介质
CN111522576B (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