CN112540852A - 一种地图数据下载方法、***、终端设备及存储介质 - Google Patents
一种地图数据下载方法、***、终端设备及存储介质 Download PDFInfo
- Publication number
- CN112540852A CN112540852A CN202011520877.5A CN202011520877A CN112540852A CN 112540852 A CN112540852 A CN 112540852A CN 202011520877 A CN202011520877 A CN 202011520877A CN 112540852 A CN112540852 A CN 112540852A
- Authority
- CN
- China
- Prior art keywords
- downloading
- map
- thread pool
- map data
- tile
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种地图数据下载方法、***、终端设备及可读存储介质,本发明通过记录下载数据量、耗时、下载时的CPU占用率及内存占用率来调整下载的线程池大小与瓦片地图数量,解决了现有技术中由于客户端的配置不同,单次下载数据量过大的情况下存在单机性能的瓶颈,进而导致客户端硬件资源占用过多而引起的部分地图数据下载任务失败的技术问题。
Description
技术领域
本发明涉及电子数据处理技术领域,特别涉及一种地图数据下载方法、***、终端设备及存储介质。
背景技术
测绘技术的发展为现代电子地图提供了更加丰富的数据。尤其在自动驾驶及相关技术的驱动下,高精度地图作为关键源数据之一,在自动驾驶的导航、定位等功能中起到非常关键的作用。相较于传统的地图数据,高精度地图具有数据类型更丰富、数据采集点更密集、层级更多、更新更频繁等特点,这也就造成了高精度地图的数据量远大于传统的电子地图。
目前传统的获取区域地图的方法通常是以市级行政区域为单位,将服务端所存储的最新地图版本更新至客户端,而由于客户端的配置不同,单次下载数据量过大的情况下存在单机性能的瓶颈,进而导致客户端硬件资源占用过多而引起的部分地图数据下载任务失败的问题。
发明内容
本发明提供一种地图数据下载方法、***、终端设备及存储介质,在下载中记录下载的数据情况与客户端的状态,动态调整机器负载,以解决单次数据量加载过多引起部分地图数据下载失败的技术问题。
本发明提出的地图数据下载方法包括以下步骤:
使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
优选地,所述使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、CPU占用率及内存占用率的步骤之前还包括:
响应于下载任务的启动,生成用于下载地图数据的消息队列;
将待下载地图中预设数量的瓦片地图通过所述消息队列进行解析;
根据所述解析结果,所述消息队列将未下载的数据发送至所述预设大小的线程池。
优选地,所述地图数据下载方法还包括:
根据下载请求参数确定瓦片地图的范围,进而根据每个瓦片地图的参数生成每个瓦片地图对应的唯一识别码,得到唯一识别列表;
所述消息队列根据所述唯一识别码在所述唯一识别列表中对已发送至线程池的瓦片地图进行标记。
优选地,所述地图数据下载方法还包括:
当所述线程池已满时,将新增的已标记瓦片地图的唯一识别码放入线程池的工作等待队列中。
优选地,所述地图数据下载方法还包括:
当所述工作等待队列的大小已达到线程池的大小时,将所述新增的已标记瓦片地图的唯一识别码放入缓存列表中,并检查缓存列表的大小;
当所述缓存列表的大小等于单个线程的处理数量时,将所述缓存列表中的数据发送至消息队列中。
优选地,所述地图数据下载方法还包括:
所述消息队列根据所述标记后的唯一识别列表,得到数据总量及已处理数据量;
当所述已处理数据量小于所述数据总量时,读取所述调整后的瓦片地图数量至所述消息队列;当所述已处理数据量等于所述数据总量时,下载任务结束。
优选地,所述地图数据下载方法还包括:
当所述工作等待队列的大小未达到线程池的大小时,则线程池根据所述唯一识别码获取对应的瓦片地图进行数据下载。
本发明还提出一种地图数据下载***,所述地图数据下载***包括:
下载统计单元,用于使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
压力计算单元,用于根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
比对调整单元,用于根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
本发明还提出一种地图数据下载终端设备,所述地图数据下载终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的地图数据下载程序,所述地图数据下载程序被所述处理器执行时实现如上所述的地图数据下载方法的步骤。
本发明还提出一种可读存储介质,所述可读存储介质上存储有地图数据下载程序,所述地图数据下载程序被处理器执行时实现如上所述的地图数据下载方法的步骤。
本发明通过根据预设参数下载地图数据后,根据下载的数据量、耗时、下载时的CPU占用率及内存占用率来计算预设下载参数对客户端设备的负载压力,并据此调节下载参数,以解决现有技术中由于单次下载数据量过大的情况下存在单机性能的瓶颈,进而导致客户端硬件资源占用过多而引起的部分地图数据下载任务失败的问题,达到了提升下载成功率,减少流量消耗,一定程度上提升下载速度的效果,提升了用户体验。
附图说明
图1是本发明地图数据下载方法实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明地图数据下载方法另一实施例的流程示意图;
图3为本发明地图数据下载方法另一实施例的流程示意图;
图4为本发明地图数据下载***的功能模块图。
具体实施方式
以下结合具体实施方式对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
参照图1,图1是本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。
如图1所示,所述终端设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储终端设备。
本领域技术人员可以理解,图1中示出的结构并不构成对所述终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及地图数据下载程序。
在图1所示的网络设备中,网络接口1004主要用于连接后台终端设备,与所述后台终端设备进行数据通信;用户接口1003主要用于连接外设;所述网络设备通过处理器1001调用存储器1005中存储的地图数据下载程序,并执行以下操作:
使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
进一步地,所述使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、CPU占用率及内存占用率的步骤之前还包括:
响应于下载任务的启动,生成用于下载地图数据的消息队列;
将待下载地图中预设数量的瓦片地图通过所述消息队列进行解析;
根据所述解析结果,所述消息队列将未下载的数据发送至所述预设大小的线程池。
进一步地,所述地图数据下载方法还包括:
根据下载请求参数确定瓦片地图的范围,进而根据每个瓦片地图的参数生成每个瓦片地图对应的唯一识别码,得到唯一识别列表;
所述消息队列根据所述唯一识别码在所述唯一识别列表中对已发送至线程池的瓦片地图进行标记。
进一步地,所述地图数据下载方法还包括:
当所述线程池已满时,将新增的已标记瓦片地图的唯一识别码放入线程池的工作等待队列中。
进一步地,所述地图数据下载方法还包括:
当所述工作等待队列的大小已达到线程池的大小时,将所述新增的已标记瓦片地图的唯一识别码放入缓存列表中,并检查缓存列表的大小;
当所述缓存列表的大小等于单个线程的处理数量时,将所述缓存列表中的数据发送至消息队列中。
进一步地,所述地图数据下载方法还包括:
所述消息队列根据所述标记后的唯一识别列表,得到数据总量及已处理数据量;
当所述已处理数据量小于所述数据总量时,读取所述调整后的瓦片地图数量至所述消息队列;当所述已处理数据量等于所述数据总量时,下载任务结束。
进一步地,所述地图数据下载方法还包括:
当所述工作等待队列的大小未达到线程池的大小时,则线程池根据所述唯一识别码获取对应的瓦片地图进行数据下载。
本实施例通过设定预设参数下载地图数据时,获取下载的数据量、耗时、下载时的CPU占用率及内存占用率并计算预设下载参数对客户端设备的负载压力,以调节下载参数,根据设备性能选择合适的下载负载,以解决现有技术中由于单次下载数据量过大的情况下存在单机性能的瓶颈,进而导致客户端硬件资源占用过多而引起的部分地图数据下载任务失败的问题,减少了下载失败的概率,提升了用户体验。
基于上述硬件结构,提出本发明地图数据下载方法的实施例。
参照图2所述地图数据下载方法包括以下步骤:
S10、使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
易于理解的是,由于初次下载时不清楚终端设备可用于下载的性能,即使是同样硬件的设备,可能由于后台工作的软件占用的性能不同而造成可用于下载的性能存在差异,因此,本实施例通过两个对CPU和内存影响最大的预设参数来进行首次的下载,以获取关键信息,即下载的数据量、耗时、下载时的CPU占用率及内存占用率,以便于获取该终端设备当前可用于下载的性能,在本实施例中,记录下载的数据量、耗时、下载时的CPU占用率及内存占用率的文件是实时更新的,尽可能的保证记录下载细节详细且完整,便于后续的处理。
需要说明的是,本领域技术人员常用的线程池通常包括正在处理的线程及等待队列,本申请所述的线程池为其中正在处理的线程部分,等待队列已由本申请工作等待队列进行替换,便于对下载过程进行调整,进一步优化本申请所述的地图下载方法。
S20、根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
需要说明的是,虽然预设的线程池大小与预设数量的瓦片地图在所有设备及所有地图中下载时的运算量并不完全一致,因此需要根据下载的数据量及耗时估算下载该数据的运算量,而后再通过耗时、下载时的CPU及内存占用率得到设备当前可用于下载的性能,且预设参数下的运算量应当远低于常规设备的运算性能,以避免第一次下载时出现下载失败的情况。
S30、根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
值得强调的是,本实施例将客户端下载压力量化为数据进行计算,并将其与目标下载压力即预设阈值进行比较,当高于预设阈值时,调低下载压力,当低于预设阈值时,调高下载压力,通常情况下第一次下载应当显著低于预设阈值,调整后的下载参数即线程池大小和瓦片地图数量进行下载后的下载压力,通常也并不是很贴合预设阈值,然而第二次下载时依然可以通过检测关键信息调整下载参数使得下载压力贴合预设阈值,通常在第三次下载时,下载参数已经较为稳定,而当后台任务再次占用性能时,本实施例技术方案也可以仅需通过一次下载动态调整下载压力以适应可用于下载的性能动态变化的终端设备。
本实施例通过记录下载时的关键信息调整下载参数,实现了下载所占用的性能根据终端设备的空闲性能进行动态调整,以解决现有技术中由于单次下载数据量过大的情况下存在单机性能的瓶颈,进而导致客户端硬件资源占用过多而引起的部分地图数据下载任务失败的问题,减少了重复下载的情况,降低了流量的消耗,提升了下载速度,也保障了终端设备使用本申请技术方案后在下载地图数据时的设备流畅程度,提升了用户体验。
参照图3,所述使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、CPU占用率及内存占用率的步骤之前还包括:
S11、响应于下载任务的启动,生成用于下载地图数据的消息队列;
易于理解的是,在本实施例中,预先定义消息队列Q,***启动时如果未检测到该队列则自动生成该队列。
S12、将待下载地图中预设数量的瓦片地图通过所述消息队列进行解析;
需要说明的是,由于输入消息队列的数据包含额外的信息,才可实现记录是否下载以及定位瓦片地图的功能,因此需要进行解析才可实现确定是否需要进行下载及获取下载进度等操作。
S13、根据所述解析结果,所述消息队列将未下载的数据发送至所述预设大小的线程池。
值得强调的是,在上述场景中,定义参数N(初始消息队列单次处理数据量)、T(线程池初始大小),则***在启动时在初始化模块生成核心线程与最大线程均为T。
具体地,所述地图数据下载方法还包括:
根据下载请求参数确定瓦片地图的范围,进而根据每个瓦片地图的参数生成每个瓦片地图对应的唯一识别码,得到唯一识别列表;
易于理解的是,在上述场景中该步骤为:根据输入的参数(坐标点经纬度、区域代码等)得到需要下载的瓦片地图数据唯一标识列表Lkey={key0,key1,key2,key3,key4...keyM},将该列表放入存入静态变量中以供后续使用。
所述消息队列根据所述唯一识别码在所述唯一识别列表中对已发送至线程池的瓦片地图进行标记。
需要说明的是,在上述场景中该步骤为:取初始起始下标Pstart为0,将Pstart、当前已处理数据量S(初始值为0)与总数据量M放入值放入消息队列Q中。
具体地,所述地图数据下载方法还包括:
当所述线程池已满时,将新增的已标记瓦片地图的唯一识别码放入线程池的工作等待队列中。
需要说明的是,在上述场景中该步骤为:在消息队列Q的接收端解析出上述数据后,根据将Pstart与当前的N值将{keystart,keystart+1...keystrat+n}依次放入线程池中执行。
具体地,所述地图数据下载方法还包括:
当所述工作等待队列的大小已达到线程池的大小时,将所述新增的已标记瓦片地图的唯一识别码放入缓存列表中,并检查缓存列表的大小;
易于理解的是,在上述场景中该步骤为:如果在尝试将keym放入工作等待队列时,工作等待队列的容量已经达到T*N,则将keym放入到缓存列表Ckey中,并检查Ckey的大小。
当所述缓存列表的大小等于单个线程的处理数量时,将所述缓存列表中的数据发送至消息队列中。
需要说明的是,在上述场景中,单个线程的处理数量为N,在该步骤为9.如果Ckey=N,则将Ckey中的数据发送到消息队列中。
具体地,所述地图数据下载方法还包括:
所述消息队列根据所述标记后的唯一识别列表,得到数据总量及已处理数据量;
需要说明的是,通常情况下,正在处理的数据即已被消息队列推送完毕的数据会被认为已经处理,由于线程池加上工作等待队列以及缓存中的数据对整个下载内容而言非常小,且通常在2秒内即可全部下载完成,且读取数据总量时,通常该数已经下载完成,因此将该数据计为已处理数据并不会影响体验。
当所述已处理数据量小于所述数据总量时,读取所述调整后的瓦片地图数量至所述消息队列;当所述已处理数据量等于所述数据总量时,下载任务结束。
可以理解的是,在上述场景中该步骤为:读取当前已处理数据量S与总数据量M,如果S=M,则下载任务结束。
具体地,所述地图数据下载方法还包括:
当所述工作等待队列的大小未达到线程池的大小时,则线程池根据所述唯一识别码获取对应的瓦片地图进行数据下载。
需要强调的是,在上述场景中,该步骤为:如果S<M,则更新消息队列中的Pstart值为Pstart+N,并将消息放入消息队列中。
需要说明的是,载过程中记录下载数据大小Km、下载耗时Cm,下载过程中每两秒检测一次CPU与·内存负载,在keym下载完成后得到时间Cm内的CPU负载UCm、物理内存负载Umm,在N个瓦片地图数据下载后,通过公式计算出当前的动态负载系数Hcurrent,计算公式为
其中a、b、c为常数系数,可以在配置文件进行调整。比较Hcurrent与H的值,如果Hcurrent>=H,则调整N=N*d,T=N*d,H=H+e。
本实施例通过公开具体的数据处理流程,设置消息队列Q,工作等待队列以及缓存来辅助线程池进行数据下载,并具体公开负载的计算流程,完善了本申请技术方案,通过多级的队列机制,提高了线程池的处理效率,也缓解了线程池的负载压力,进一步解决了由于线程池负载压力过大,客户端硬件资源占用过多而引起的部分地图数据下载任务失败的问题,达到了提升下载成功率的目的,减少了流量消耗,提升了用户体验。
参照图4,本发明还提出一种地图数据下载***,所述地图数据下载***包括:
下载统计单元,用于使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
压力计算单元,用于根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
比对调整单元,用于根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
由于本***采用了上述所有实施例的全部技术方案,因此之上具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
本发明还提出一种地图数据下载终端设备,所述地图数据下载终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的地图数据下载程序,所述地图数据下载程序被所述处理器执行时实现如上所述的地图数据下载方法的步骤,由于本终端设备采用了上述所有实施例的全部技术方案,因此之上具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
本发明还提出一种可读存储介质,所述可读存储介质上存储有地图数据下载程序,所述地图数据下载程序被处理器执行时实现如上所述的地图数据下载方法的步骤,由于本存储介质采用了上述所有实施例的全部技术方案,因此之上具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种地图数据下载方法,其特征在于,所述地图数据下载方法包括以下步骤:
使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
2.根据权利要求1所述的地图数据下载方法,其特征在于,所述使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、CPU占用率及内存占用率的步骤之前还包括:
响应于下载任务的启动,生成用于下载地图数据的消息队列;
将待下载地图中预设数量的瓦片地图通过所述消息队列进行解析;
根据所述解析结果,所述消息队列将未下载的数据发送至所述预设大小的线程池。
3.根据权利要求2所述的地图数据下载方法,其特征在于,还包括:
根据下载请求参数确定瓦片地图的范围,进而根据每个瓦片地图的参数生成每个瓦片地图对应的唯一识别码,得到唯一识别列表;
所述消息队列根据所述唯一识别码在所述唯一识别列表中对已发送至线程池的瓦片地图进行标记。
4.根据权利要求3所述的地图数据下载方法,其特征在于,还包括:
当所述线程池已满时,将新增的已标记瓦片地图的唯一识别码放入线程池的工作等待队列中。
5.根据权利要求4所述的地图数据下载方法,其特征在于,还包括:
当所述工作等待队列的大小已达到线程池的大小时,将所述新增的已标记瓦片地图的唯一识别码放入缓存列表中,并检查缓存列表的大小;
当所述缓存列表的大小等于单个线程的处理数量时,将所述缓存列表中的数据发送至消息队列中。
6.根据权利要求5所述的地图数据下载方法,其特征在于,还包括:
所述消息队列根据所述标记后的唯一识别列表,得到数据总量及已处理数据量;
当所述已处理数据量小于所述数据总量时,读取所述调整后的瓦片地图数量至所述消息队列;当所述已处理数据量等于所述数据总量时,下载任务结束。
7.根据权利要求5所述的地图数据下载方法,其特征在于,还包括:
当所述工作等待队列的大小未达到线程池的大小时,则线程池根据所述唯一识别码获取对应的瓦片地图进行数据下载。
8.一种地图数据下载***,其特征在于,所述地图数据下载***包括:
下载统计单元,用于使用预设大小的线程池下载预设数量的瓦片地图,并记录下载的数据量、耗时、下载时的CPU占用率及内存占用率;
压力计算单元,用于根据所述数据量、所述耗时、所述下载时的CPU占用率及所述内存占用率计算客户端压力;
比对调整单元,用于根据所述客户端压力与预设阈值调整所述线程池的大小及所述预设瓦片地图的数量,并使用调整后的线程池下载调整后的瓦片地图数量。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行地图数据下载程序,所述地图数据下载程序被所述处理器执行时实现如权利要求1至7中任一项所述的地图数据下载方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有地图数据下载程序,所述地图数据下载程序被处理器执行时实现根据权利要求1至7中任一项所述的地图数据下载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011520877.5A CN112540852A (zh) | 2020-12-21 | 2020-12-21 | 一种地图数据下载方法、***、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011520877.5A CN112540852A (zh) | 2020-12-21 | 2020-12-21 | 一种地图数据下载方法、***、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112540852A true CN112540852A (zh) | 2021-03-23 |
Family
ID=75018991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011520877.5A Pending CN112540852A (zh) | 2020-12-21 | 2020-12-21 | 一种地图数据下载方法、***、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540852A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227726A (zh) * | 2024-05-23 | 2024-06-21 | 山东华创远智信息科技有限公司 | 地理信息***gis显示方法、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295107A1 (en) * | 2007-05-23 | 2008-11-27 | Fabrizio Muscarella | Adaptive Thread Pool |
US20130111489A1 (en) * | 2011-07-19 | 2013-05-02 | Daniel A. Gerrity | Entitlement vector for managing resource allocation |
CN104038439A (zh) * | 2014-06-18 | 2014-09-10 | 中国工商银行股份有限公司 | 报文流量控制方法及*** |
CN104980468A (zh) * | 2014-04-09 | 2015-10-14 | 深圳市腾讯计算机***有限公司 | 处理业务请求的方法、装置及*** |
CN106293670A (zh) * | 2015-06-03 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种事件处理方法、设备及一种服务器 |
CN110489242A (zh) * | 2019-09-24 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 分布式数据计算方法、装置、终端设备及存储介质 |
CN112070775A (zh) * | 2020-09-29 | 2020-12-11 | 成都星时代宇航科技有限公司 | 遥感图像优化处理方法,装置,电子设备及存储介质 |
-
2020
- 2020-12-21 CN CN202011520877.5A patent/CN112540852A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295107A1 (en) * | 2007-05-23 | 2008-11-27 | Fabrizio Muscarella | Adaptive Thread Pool |
US20130111489A1 (en) * | 2011-07-19 | 2013-05-02 | Daniel A. Gerrity | Entitlement vector for managing resource allocation |
CN104980468A (zh) * | 2014-04-09 | 2015-10-14 | 深圳市腾讯计算机***有限公司 | 处理业务请求的方法、装置及*** |
CN104038439A (zh) * | 2014-06-18 | 2014-09-10 | 中国工商银行股份有限公司 | 报文流量控制方法及*** |
CN106293670A (zh) * | 2015-06-03 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种事件处理方法、设备及一种服务器 |
CN110489242A (zh) * | 2019-09-24 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 分布式数据计算方法、装置、终端设备及存储介质 |
CN112070775A (zh) * | 2020-09-29 | 2020-12-11 | 成都星时代宇航科技有限公司 | 遥感图像优化处理方法,装置,电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227726A (zh) * | 2024-05-23 | 2024-06-21 | 山东华创远智信息科技有限公司 | 地理信息***gis显示方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960507B (zh) | 编译优化方法、装置、存储介质、智能终端及服务器 | |
CN109104336B (zh) | 服务请求处理方法、装置、计算机设备及存储介质 | |
US10101910B1 (en) | Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager | |
CN109413186B (zh) | 应用程序更新方法、终端、服务器及*** | |
US10079907B2 (en) | Cached data detection | |
US20050235094A1 (en) | Information processor capable of using past processing space | |
WO2023050712A1 (zh) | 一种深度学习业务的任务调度方法及相关装置 | |
US20030182390A1 (en) | Selective caching of servable files | |
WO2021093365A1 (zh) | 一种gpu显存管理控制方法及相关装置 | |
CN111008087B (zh) | 一种消息处理方法及装置 | |
WO2020088170A1 (zh) | 域名***配置方法及相关装置 | |
US11799961B2 (en) | File directory traversal method, apparatus, device, and medium | |
US20140281060A1 (en) | Low-contention update buffer queuing for large systems | |
CN112540852A (zh) | 一种地图数据下载方法、***、终端设备及存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN110311963B (zh) | 消息推送方法、装置、计算机设备及计算机可读存储介质 | |
WO2021068515A1 (zh) | 存储***中数据管理方法和装置 | |
WO2019128380A1 (zh) | 一种优化应用程序安装的方法、装置及终端 | |
JP2004240965A (ja) | Java(登録商標)プログラムでのクラスローディング過程を短縮するシステム及び方法 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN111052072B (zh) | 一种免安装应用程序下载方法及装置 | |
CN112950370B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN113849125A (zh) | 一种cdn服务器磁盘读取的方法、装置及*** | |
US9471374B2 (en) | Request processing system, method and program product |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210323 |