获取路况的方法、设备和介质与流程

文档序号:20079070发布日期:2020-03-10 10:16阅读:131来源:国知局
获取路况的方法、设备和介质与流程

本发明涉及地理信息领域,尤其涉及一种获取路况的方法、设备和计算机存储介质。



背景技术:

电子地图即数字地图,是利用计算机技术,以数字方式存储和查询的地图。电子地图的构成要素包括路网、兴趣点、河流山川等要素数据。目前的电子地图除了查找目标地点等基本功能外,还可以查看路况,路况包括“畅通”、“缓行”、“拥堵”等。

目前,用户一般通过客户端上安装的地图应用软件使用电子地图服务商提供的服务。因此,用户的客户端需要和电子地图服务商的服务器通过移动通讯网络进行数据交互以获取路况,数据交互必然会带来流量消耗和带宽的占用。因此,在获取路况的同时,如何减少客户端和服务器之间的数据流量,提高带宽的利用率是需要不断优化解决的问题。



技术实现要素:

本发明实施例提供了一种获取路况的方法、设备和计算机存储介质,能够减少客户端与服务器交互所使用的数据流量。

一种获取路况的方法,包括:

接收客户端发送的路况请求,所述路况请求包括客户端静态路况数据的标识和动态路况数据的标识;

基于所述路况请求中的静态路况数据的标识,确定静态更新数据;

基于所述路况请求中的动态路况数据的标识,确定动态更新数据;

将所确定的静态更新数据和动态更新数据下发给所述客户端,以使所述客户端更新路况。

所述基于所述路况请求中的静态路况数据的标识,确定静态更新数据,包括:

基于所述路况请求中的静态路况数据的标识,判断客户端的静态路况数据是否需要更新;

若需要更新,则将最新的静态路况数据确定为所述静态更新数据,或者,将最新的静态路况数据与客户端当前的静态路况数据之间不同的数据确定为所述静态更新数据;

若不需要更新,则所述静态更新数据为无。

所述基于所述路况请求中的动态路况数据的标识,确定动态更新数据,包括:

基于所述路况请求中的动态路况数据的标识,判断客户端的动态路况数据是否需要更新;

若需要更新,则将最新的动态路况数据确定为所述动态更新数据,或者,将最新的动态路况数据与客户端当前的动态路况数据之间不同的数据确定为所述动态更新数据;

若不需要更新,则所述动态更新数据为无。

所述基于所述路况请求中的静态路况数据的标识,判断客户端的静态路况数据是否需要更新,包括:

所述静态路况数据的标识对应版本号与最新的静态路况数据的标识对应版本号不同,判断客户端的静态路况数据需要更新;所述静态路况数据的标识对应版本号与最新的静态路况数据的标识对应版本号相同,判断客户端的静态路况数据不需要更新;

或,

所述静态路况数据的标识对应数据量与最新的静态路况数据的标识对应数据量不同,判断客户端的静态路况数据需要更新;所述静态路况数据的标识对应数据量与最新的静态地图路况数据的标识对应数据量相同,判断客户端的静态路况数据不需要更新。

所述基于所述路况请求中的动态路况数据的标识,判断客户端的动态路况数据是否需要更新,包括:

所述动态路况数据的标识对应版本号与当前的动态路况数据的标识对应版本号不同,判断客户端的动态路况数据需要更新;所述动态路况数据的标识对应版本号与当前的动态路况数据的标识对应版本号相同,判断客户端的动态路况数据不需要更新;

或,

所述动态路况数据的标识对应数据量与当前的动态路况数据的标识对应数据量不同,判断客户端的动态路况数据需要更新;所述动态路况数据的标识对应数据量与当前的动态地图路况数据的标识对应数据量相同,判断客户端的动态路况数据不需要更新。

静态路况数据与动态路况数据分别独立存储且具有各自的标识。

所述动态更新数据只包括用于描述路况为非畅通状态的数据,以使得所述客户端根据所述动态更新数据将相应道路更新为非畅通状态,其他道路更新为畅通状态。

一种获取路况的方法,包括:

向服务器发送路况请求,所述路况请求包括静态路况数据的标识和动态路况数据的标识;

接收服务器基于所述路况请求中的静态路况数据的标识所确定并下发的静态更新数据,以及基于所述路况请求中的动态路况数据所确定并下发的动态更新数据;

基于所接收的静态更新数据和动态更新数据更新路况。

一种获取路况的设备,存储器,用于存储程序;

处理器,用于运行所述存储器中存储的所述程序,以执行如上述获取电子地图的方法。

一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被处理器执行时实现如上述的方法。

从上述技术方案中可以看出,首先,接收客户端发送的路况请求,基于路况请求中的静态路况数据的标识,确定静态更新数据;基于路况请求中的动态路况数据的标识,确定动态更新数据;将所确定的静态更新数据和动态更新数据下发给客户端,以使客户端更新路况。由于静态更新数据和动态更新数据小于下载全部路况数据的数据量,因此在获取路况时,能够减少客户端与服务器交互所使用的数据流量。

附图说明

从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。

图1是客户端从服务器获取路况的示意图;

图2是本发明实施例获取路况的方法流程示意图;

图3是本发明另一个实施例获取路况的方法流程示意图;

图4是本发明又一个实施例获取路况的方法流程示意图;

图5是本发明实施例获取路况的方法的计算设备的示例性硬件架构的结构图。

具体实施方式

为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。

电子地图是由多层地图图层构成的。每一层地图图层包含了电子地图的不同部分。这些地图图层是一层层叠加,这样就可以看到整个电子地图。也就是说,多层地图图层集合组成电子地图。作为一个示例,第一层地图图层包含国家边界,第二层地图图层有代表首都的符号,第三层地图图层包含高速公路。将上述地图图层叠加在一起就得到一个完整的电子地图。

在实际的生活中,客户端需要从服务器获取路况,以获知电子地图中道路的通行状态。路况随时间变化不定,一般在交通通勤高峰期间,市区部分道路的路况变化较快,剩余部分道路的路况变化较慢;在非交通通勤高峰期间,仅有几条道路的路况变化较快;大部分道路的路况变化较慢。

路况信息一般都存储在服务器上。参见图1,图1是客户端从服务器获取路况的示意图。

用户使用客户端,客户端与服务器通过有线网络和/或无线网络连接。客户端向服务器发送路况请求,目的在于从服务器获取路况信息。在本发明实施例中,客户端可以是但不限于,手机、平板电脑或笔记本电脑等设备的一种或多种。

服务器在收到客户端发送的路况请求后,则将路况数据发送至客户端。需要说明的是,服务器发送的路况数据是当前最新的路况数据。目的是使得客户端获知当前最新的路况数据。

客户端从服务器接收当前最新的路况数据。这样,客户端就可以获知当前最新的路况数据。然而,路况数据自身的数据量很大,客户端通过有线网络和/或无线网络,接收当前最新的路况数据需要使用较多的数据流量。换言之,客户端与服务器交互,获取当前最新的路况数据所使用的数据流量较大。

本发明实施例中获取电子地图的方法、设备和计算机存储介质,可以减少客户端与服务器交互,获取当前最新的路况数据所使用的数据流量。

下面结合具体的实施例以说明本发明的技术方案。参见图2,图2是本发明实施例获取路况的方法流程示意图。在图2中,以客户端从服务器获取路况数据为例进行说明。

s201、客户端向服务器发送路况请求。

客户端向服务器发送路况请求,目的在于从服务器获取路况数据。

一实施例中路况数据可以包括两部分,即静态路况数据和动态路况数据,下面进行具体说明。

在本发明的一个示例中,从数据的更新周期来看,静态路况数据可以包括长更新周期的路况数据。相应的,动态路况数据包括短更新周期的路况数据。也就是说,可以将路况数据依据更新周期分为两类,第一类为静态路况数据;第二类为动态路况数据。其中,静态路况数据的更新周期长于动态路况数据的更新周期。考虑到,静态路况数据的更新周期不同于动态路况数据的更新周期,那么可以将静态路况数据和动态路况数据进行分别存储。这样,不同种类的路况数据可以分别更新。

本发明的一个示例中,从数据的作用来看,静态路况数据可以包括路况的形状数据,例如用于描述有哪些道路,这些道路的宽度和长度等;动态路况数据包括用于描述道路路况的路况信息,例如用于描述道路“畅通”、“缓行”和“拥堵”等。一实施例中动态路况数据中的“畅通”、“缓行”和“拥堵”可以是服务器根据路段对应实际道路上车辆的行驶速度确定的路况数据。

作为一个示例,在同一台服务器或存储设备中,静态路况数据和动态路况数据分别独立存储,即作为两份单独的数据进行存储,且可以有各自的标识

客户端发送的路况请求中包括客户端静态路况数据的标识和动态路况数据的标识。也就是说,在客户端存储有静态路况数据和动态路况数据。客户端所存储的静态路况数据和动态路况数据均是之前从服务器获得的数据。

由于路况数据是随时间变化的数据,因此可以以标识区分不同时间的路况数据。静态路况数据有静态路况数据的标识,动态路况数据有动态路况数据的标识。作为一个示例,静态路况数据的标识可以是生成静态路况数据时的时间戳。动态路况数据的标识可以是生成动态路况数据时的时间戳。作为一个示例,静态路况数据的标识和动态路况数据的标识也可以是按照预设规则所设置的版本号。作为一个示例,静态路况数据的标识和动态路况数据的标识也可以是通过各自的数据量大小来命名或设置。

在本发明的一个实施例中,客户端首次向服务器发送路况请求,客户端未缓存路况数据。也就是说,客户端并未存储有静态路况数据和动态路况数据。那么,首次发送的路况请求中,静态路况数据的标识和动态路况数据的标识均为零。

服务器收到均为零的静态路况数据的标识和动态路况数据的标识,则说明客户端并未存储有静态路况数据和动态路况数据。那么,服务器向客户端发送的静态更新数据是最新的静态路况数据,动态更新数据是最新的动态路况数据。

s202、服务器接收客户端发送的路况请求。

服务器可以通过有线网络和/或无线网络,接收到客户端发送的路况请求。服务器根据接收的路况请求,可以获知客户端静态路况数据的标识和动态路况数据的标识。

s203、服务器确定更新数据。

服务器自身存储有最新的静态路况数据和最新的动态路况数据。基于最新的静态路况数据和静态路况数据的标识,可以判断客户端存储的静态路况数据是否为最新的静态路况数据。

还可以基于最新的动态路况数据和动态路况数据的标识,可以判断客户端存储的动态路况数据是否为最新的动态路况数据。

在本发明的一个实施例中,可以基于最新的静态路况数据的标识和静态路况数据的标识,判断客户端存储的静态路况数据是否为最新的静态路况数据。

具体来说,最新的静态路况数据的标识和静态路况数据的标识相同,则说明客户端存储的静态路况数据与最新的静态路况数据相同,因此确定客户端存储的静态路况数据是最新的静态路况数据。

最新的静态路况数据的标识和静态路况数据的标识不相同,则说明客户端存储的静态路况数据与最新的静态路况数据不相同,由于服务器自身存储的静态路况数据是最新的静态路况数据,因此确定客户端存储的静态路况数据不是最新的静态路况数据。作为一个示例,最新的静态路况数据的标识是v1.2,静态路况数据的标识是v1.1。

在本发明的一个实施例中,一般情况下,不同标识的静态路况数据的数据量不同,可以基于最新的静态路况数据的标识对应数据量和静态路况数据的标识对应数据量,判断客户端存储的静态路况数据是否为最新的静态路况数据。

具体来说,最新的静态路况数据的标识对应数据量和静态路况数据的标识对应数据量相同,则说明客户端存储的静态路况数据与最新的静态路况数据相同,因此确定客户端存储的静态路况数据是最新的静态路况数据。

最新的静态路况数据的标识对应数据量和静态路况数据的标识对应数据量不相同,则说明客户端存储的静态路况数据与最新的静态路况数据不相同,由于服务器自身存储的静态路况数据是最新的静态路况数据,因此确定客户端存储的静态路况数据不是最新的静态路况数据。

类似于判断客户端存储的静态路况数据是否为最新的静态路况数据。可以判断客户端存储的动态路况数据是否为最新的动态路况数据。

在本发明的一个实施例中,可以基于最新的动态路况数据的标识和动态路况数据的标识,判断客户端存储的动态路况数据是否为最新的静态路况数据。

具体来说,最新的动态路况数据的标识和动态路况数据的标识相同,则说明客户端存储的动态路况数据与最新的动态路况数据相同,因此确定客户端存储的动态路况数据是最新的静态路况数据。作为一个示例,最新的动态路况数据的标识是d1.1,客户端存储的动态路况数据的标识是d1.1。

最新的动态路况数据的标识和动态路况数据的标识不相同,则说明客户端存储的动态路况数据与最新的动态路况数据不相同,由于服务器自身存储的动态路况数据是最新的动态路况数据,因此确定客户端存储的动态路况数据不是最新的动态路况数据。

在本发明的一个实施例中,一般情况下,不同标识的动态路况数据的数据量不同,可以基于最新的动态路况数据的标识对应数据量和动态路况数据的标识对应数据量,判断客户端存储的动态路况数据是否为最新的动态路况数据。

具体来说,最新的动态路况数据的标识对应数据量和动态路况数据的标识对应数据量相同,则说明客户端存储的动态路况数据与最新的动态路况数据相同,因此确定客户端存储的动态路况数据是最新的动态路况数据。

最新的动态路况数据的标识对应数据量和动态路况数据的标识对应数据量不相同,则说明客户端存储的动态路况数据与最新的动态路况数据不相同,由于服务器自身存储的动态路况数据是最新的动态路况数据,因此确定客户端存储的动态路况数据不是最新的动态路况数据。

需要说明的是,在客户端存储的静态路况数据是最新的静态路况数据的情况下,此时服务器所确定的静态更新数据实际为无,即静态更新数据内容为空,没有实际的静态更新数据。具体在实现时,可以是下发一个为更新内容为空的静态更新数据,也可以直接不下发静态更新数据。客户端在接收到更新内容为空的静态更新数据或没有接收到静态更新数据时,都不会对客户端当前存储的静态路况数据进行更新。

对于动态路况数据类似的:在客户端存储的动态路况数据是最新的动态路况数据的情况下,此时服务器所确定的动态更新数据实际为无,即动态更新数据内容为空,没有实际的动态更新数据。具体在实现时,可以是下发一个为更新内容为空的动态更新数据,也可以直接不下发动态更新数据。客户端在接收到更新内容为空的动态更新数据或没有接收到动态更新数据时,都不会对客户端当前存储的动态路况数据进行更新。

在客户端存储的静态路况数据不是最新的静态路况数据的情况下,作为一个示例,服务器可以对客户端执行完整更新,即静态更新数据可以是最新的静态路况数据。作为另一个示例,服务器还可以对客户端执行增量更新,即静态更新数据还可以是最新的静态路况数据与客户端存储的静态路况数据之间不同的数据。上述不同的数据的数据量小于最新的静态路况数据的数据量,因此当静态更新数据为上述不同的数据的情况下,可以进一步减少客户端与服务器交互所使用的数据流量。

对于动态路况数据类似的:在客户端存储的动态路况数据不是最新的动态路况数据的情况下,作为一个示例,服务器可以对客户端执行完整更新,即动态更新数据可以是最新的动态路况数据。作为另一个示例,服务器可以对客户端执行增量更新,即动态更新数据还可以是最新的动态路况数据与客户端存储的动态路况数据之间不同的数据。上述不同的数据的数据量小于最新的动态路况数据的数据量,因此当动态更新数据为上述不同的数据的情况下,可以进一步减少客户端与服务器交互所使用的数据流量。

根据上述技术方案,服务器可以确定更新数据,其中更新数据可以包括静态更新数据和动态更新数据。

在本发明的一个实施例中,动态更新数据只包括用于描述路况为非畅通状态的数据。这样,客户端仅需要基于动态更新数据,将非畅通状态的数据相应的道路更新为非畅通状态,剩余未更新的道路的状态为畅通状态。一实施例中,当服务器对客户端执行完整更新时,动态更新数据只包括用于描述路况为非畅通状态的数据。

显然,非畅通状态的道路对应的动态更新数据的数据量较小,获取路况时能够减少客户端与服务器交互所使用的数据流量。

s204、服务器发送更新数据。

服务器发送静态更新数据和动态更新数据。服务器可以一次性发送静态更新数据和动态更新数据。考虑到,静态更新数据和动态更新数据的数据量较大的情况,服务器还可以分别发送静态更新数据和动态更新数据。

作为一个示例,服务器可以将静态更新数据和动态更新数据基于网络状态分为若干份,每次发送其中的一份。这样,可以缓解由于网络状态较差而导致的丢失数据。

s205、客户端接收更新数据。

客户接收到服务器发送的静态更新数据和动态更新数据后,结合静态更新数据、动态更新数据和客户端存储的地图数据,就可以在客户端显示当前的路况。

在本发明实施例的技术方案中,客户端通过服务器交互,客户端从而获取路况。通过s201至s205的说明,本发明实施例的技术方案可以总结为下述内容。

参见图3,图3是本发明另一个实施例获取路况的方法流程示意图,图3中各步骤的执行主体可以是服务器,具体包括:

s301、接收客户端发送的路况请求,路况请求包括客户端静态路况数据的标识和动态路况数据的标识。

服务器通过网络接收客户端发送的路况请求。服务器可以依据接收到的路况请求获知客户端静态路况数据的标识和动态路况数据的标识。

静态路况数据是更新周期长于预设周期的路况数据;动态路况数据是更新周期短于预设周期的路况数据。也就是说,静态路况数据的更新周期长于动态路况数据的更新周期。

s302、基于路况请求中的静态路况数据的标识,确定静态更新数据。

服务器可以根据路况请求中的静态路况数据的标识,确定客户端存储的静态路况数据是否是最新的静态路况数据。

在本发明的一个实施例中,若客户端存储的静态路况数据是最新的静态路况数据,则静态更新数据为无。

若客户端存储的静态路况数据不是最新的静态路况数据,则静态更新数据不为无。

具体来说,可以将最新的静态路况数据确定为静态更新数据。也就是说,服务器向客户端发送最新的静态路况数据。

或者,

将最新的静态路况数据与客户端存储的静态路况数据之间不同的数据确定为静态更新数据。也就是说,服务器向客户端发送最新的静态路况数据与客户端存储的静态路况数据之间不同的数据,而并非向客户端发送最新的静态路况数据,可以进一步减少客户端与服务器交互所使用的数据流量。

s303、基于路况请求中的动态路况数据的标识,确定动态更新数据。

服务器可以根据路况请求中的动态路况数据的标识,确定客户端存储的动态路况数据是否是最新的动态路况数据。

在本发明的一个实施例中,若客户端存储的动态路况数据是最新的动态路况数据,则动态更新数据为无。

若客户端存储的动态路况数据不是最新的动态路况数据,则动态更新数据不为无。

具体来说,可以将最新的动态路况数据确定为动态更新数据。也就是说,服务器向客户端发送最新的动态路况数据。

或者,

将最新的动态路况数据与客户端存储的动态路况数据之间不同的数据确定为动态更新数据。也就是说,服务器向客户端发送最新的动态路况数据与客户端存储的动态路况数据之间不同的数据,而并非向客户端发送最新的动态路况数据,可以进一步减少客户端与服务器交互所使用的数据流量。

s304、将所确定的静态更新数据和动态更新数据下发给客户端,以使客户端更新路况。

服务器向客户端下发静态更新数据和动态更新数据,客户端可以依据收到的静态更新数据和动态更新数据更新路况,那么在客户端所显示的路况是最新的路况。

在本发明实施例的技术方案中,服务器接收路况请求,路况请求包括静态路况数据的标识和所请求的动态路况数据的标识。服务器基于接收到静态路况数据的标识和所请求的动态路况数据的标识分别确定静态更新数据和动态更新数据,并将静态更新数据和动态更新数据发送至客户端,使得客户端更新路况。由于静态更新数据和动态更新数据能够利用最少的数据量更新客户端的路况,因此在减少客户端与服务器交互所使用数据流量的同时,客户端能够及时更新路况。

下面以客户端向服务器获取路况为例,结合具体的实际产生的数据流量说明本发明实施例的技术方案。

s1、客户端向服务器发送路况请求,客户端无缓存。

s2、服务器向客户端发送静态更新数据和动态更新数据。其中,静态更新数据的数据量为1千比特(kb),版本标识为:a1;动态更新数据的数据量为0.5kb,版本标识为:b1。

s3、客户端向服务器发送路况请求,其中,路况请求中包括静态路况数据的标识为a1,动态路况数据的标识为b1。

s4、服务器最新的静态路况数据的标识为a1,最新的动态路况数据的标识为b2。服务器确定没有静态更新数据,以及确定动态更新数据为:b1与b2不同的数据。

其中,动态更新数据的数据量为0.4kb,版本标识为:b2。即,服务器向客户端发送的数据量为0.4kb。

s5、客户端向服务器发送路况请求,其中,路况请求中包括静态路况数据的标识为a1,动态路况数据的标识为b2。

s6、服务器最新的静态路况数据的标识为a1,最新的动态路况数据的标识为b2。服务器确定静态更新数据为无,以及确定动态更新数据为无。

从上述实施例中,可以获知:若针对三次路况请求,每次均下载全部的静态路况数据和全部的动态路况数据,三次下发的数据量是:1.5kb*3=4.5kb。

而采用本发明实施例中的技术方案,针对三次请求下发的数据量是:1.5kb+0.4kb=1.9kb。

通过大量的统计分析,由于采用了本发明实施例的技术方案,使得客户端平均下行流量减少50%。

参见图4,图4是本发明又一个实施例获取路况的方法流程示意图,图4中各步骤的执行主体可以是客户端,作为一个示例,客户端可以是手机。具体包括:

s401、向服务器发送路况请求,路况请求包括静态路况数据的标识和动态路况数据的标识。

客户端向服务器发送路况请求,路况请求包括静态路况数据的标识和动态路况数据的标识。

需要说明的是,客户端首次向服务器发送路况请求,客户端未缓存路况数据。也就是说,客户端并未存储有静态路况数据和动态路况数据。那么,首次发送的路况请求中,静态路况数据的标识和动态路况数据的标识均为零。

s402、接收服务器基于路况请求中的静态路况数据的标识所确定并下发的静态更新数据,以及基于路况请求中的动态路况数据所确定并下发的动态更新数据。

客户端接收的静态更新数据和动态更新数据,静态更新数据和动态更新数据均是服务器基于路况请求中静态路况数据的标识和动态路况数据的标识分别确定的。

s403、基于所接收的静态更新数据和动态更新数据更新路况。

客户端基于所接收的静态更新数据和动态更新数据更新路况。

图5是示出能够实现根据本发明实施例获取电子地图的方法的计算设备的示例性硬件架构的结构图。

如图5所示,计算设备500包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505、以及输出设备506。其中,输入接口502、中央处理器503、存储器504、以及输出接口505通过总线510相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线510连接,进而与计算设备500的其他组件连接。

具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到计算设备500的外部供用户使用。

也就是说,图5所示的计算设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图4描述的获取路况的方法。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1