定位数据存储、转换和查询方法与流程

文档序号:18618961发布日期:2019-09-06 22:18阅读:409来源:国知局

本发明涉及数据存储、转换和查询技术,特别涉及对定位数据的存储、转换和查询技术。



背景技术:

目前定位设备向服务器上传定位数据时,其上传的定位数据是原始定位数据,例如gps原始定位数据为wgs84坐标系统下的经纬度数据,wifi原始定位数据为wifi设备的mac地址,而目前我国多数电子地图使用的坐标系统是gcj-02,因此需要对原始定位数据进行转换后,才能在电子地图中得到准确的定位位置。

现有技术中定位设备将原始定位数据上传到服务器后,服务器先将接收到的每条原始定位数据进行转换,然后再存储转换后的定位数据,由于服务器的处理能力有限,当定位设备数量较多时,上传的大量原始定位数据会堆积到服务器消息队列,占用服务器大量资源,不仅影响整个系统的性能,而且导致定位数据上报频率不足。另外,若将定位数据的转换处理都集中到终端设备查询时再实时处理,处理查询的数据时仍需要消耗大量的时间,会导致数据查询响应缓慢,甚至请求超时而造成查询失败。综上,现有技术中存储、转换和查询定位数据的综合处理效率较低。



技术实现要素:

本发明为解决现有技术中存储、转换和查询定位数据的综合处理效率较低的问题,提供一种定位数据存储、转换和查询方法。

为解决上述问题,本发明采用的技术方案是:

定位数据存储、转换和查询方法,应用于定位数据存储、转换和查询系统,所述系统包括定位设备、服务器和终端设备,所述服务器分别与定位设备和终端设备连接通信,定位数据存储、转换和查询方法包括:

定位设备采集原始定位数据,并将采集到的原始定位数据发送到服务器;

服务器为接收到的每条原始定位数据添加对应的标记信息,并存储接收到的原始定位数据和与原始定位数据相对应的标记信息,所述标记信息包括数据类型和数据是否转换标志,所述数据是否转换标志初始为未转换;

服务器按照预设规则读取预设数量的数据类型相同的原始定位数据,并根据本次读取到的原始定位数据的数据类型,调用具有相应数据类型转换策略的api对本次读取到的原始定位数据进行转换,并将存储的相应原始定位数据替换为对应的本次转换后的定位数据,并将本次转换后的定位数据所对应的数据是否转换标志更新为已转换;

终端设备向服务器请求获取定位数据,服务器分别读取终端设备所请求的不同数据类型的所有定位数据,对于本次读取到的任一类型的所有定位数据:服务器通过定位数据所对应的数据是否转换标志分别判断本次读取到的每条定位数据是原始定位数据还是转换后的定位数据,若读取到的所有定位数据都是转换后的定位数据,则服务器将读取到的所有定位数据都返回给终端设备,若读取到的所有定位数据中存在原始定位数据,则服务器从该存在的所有原始定位数据中选取预设数量的原始定位数据,并根据选取的原始定位数据的数据类型,调用具有相应数据类型转换策略的api对选取的原始定位数据进行转换,得到与选取的原始定位数据对应的转换后的定位数据,并将得到的与选取的原始定位数据对应的转换后的定位数据以及读取到的所有定位数据中的转换后的定位数据返回给终端设备。

作为进一步优化,所述方法还包括服务器将得到的与选取的原始定位数据对应的转换后的数据以及读取到的所有定位数据中的转换后的定位数据返回给终端设备时,异步将存储的相应原始定位数据替换为对应的本次转换后的定位数据,以及异步将本次转换后的定位数据所对应的数据是否转换标志更新为已转换。

作为进一步优化,所述若读取到的所有定位数据中存在原始定位数据,则服务器根据该存在的所有原始定位数据的定位时间顺序,从该存在的所有原始定位数据中选取最新的预设数量的原始定位数据。

作为进一步优化,所述预设规则包括:服务器根据原始定位数据的定位时间顺序,读取最新的预设数量的原始定位数据。

作为进一步优化,所述预设规则包括:当服务器的资源利用率低于预设的资源利用率阈值时,服务器读取预设数量的原始定位数据。

作为进一步优化,所述预设规则包括:服务器定时读取预设数量的原始定位数据。

作为进一步优化,所述原始定位数据包括卫星原始定位数据和wifi原始定位数据,所述服务器按照预设规则读取预设数量的数据类型相同的原始定位数据时,所读取的wifi原始定位数据的预设数量小于所读取的卫星原始定位数据的预设数量,所述服务器从该存在的所有原始定位数据中选取预设数量的原始定位数据时,所选取的wifi原始定位数据的预设数量小于所选取的卫星原始定位数据的预设数量。

有益效果是:本发明在存储定位数据时,服务器存储原始定位数据,不进行数据转换处理,提高了定位数据的存储效率,原始定位数据存储后,服务器根据相应规则对部分定位数据进行处理,当终端设备请求获取定位数据时,再对所请求的定位数据中的有限数量的原始数据进行转换,最后服务器将终端设备所请求的且为转换后的定位数据返回给终端设备,上述将定位数据的转换过程进行分流,使得终端设备所请求的定位数据中可能有一部分已经完成转换,缩短了数据请求时间,并且限制终端设备请求定位数据时所需转换的原始定位数据数量,避免了请求超时,从而提高了定位数据的查询效率,另外,服务器存储的所有原始定位数据不是每一条都必然经过转换,并且转换过程进行了分流,不是集中处理,提高了定位数据的转换效率。

具体实施方式

下面结合实施例,详细说明本发明的技术方案。

本发明的原理是:服务器对定位设备上报的原始定位数据添加标记信息并直接存储原始定位数据,原始定位数据存储后,服务器对存储的原始定位数据进行选择性转换,终端设备请求获取定位数据时,服务器对终端设备所请求的定位数据中的原始定位数据进行选择性转换,最终终端设备得到的都是转换后的数据。

具体的,本发明的定位数据存储、转换和查询方法,应用于定位数据存储、转换和查询系统,所述系统包括定位设备、服务器和终端设备,所述服务器分别与定位设备和终端设备连接通信,定位数据存储、转换和查询方法包括:

定位设备采集原始定位数据,并将采集到的原始定位数据发送到服务器;

服务器为接收到的每条原始定位数据添加对应的标记信息,并存储接收到的原始定位数据和与原始定位数据相对应的标记信息,所述标记信息包括数据类型和数据是否转换标志,所述数据是否转换标志初始为未转换;

服务器按照预设规则读取预设数量的数据类型相同的原始定位数据,并根据本次读取到的原始定位数据的数据类型,调用具有相应数据类型转换策略的api对本次读取到的原始定位数据进行转换,并将存储的相应原始定位数据替换为对应的本次转换后的定位数据,并将本次转换后的定位数据所对应的数据是否转换标志更新为已转换;

终端设备向服务器请求获取定位数据,服务器分别读取终端设备所请求的不同数据类型的所有定位数据,对于本次读取到的任一类型的所有定位数据:服务器通过定位数据所对应的数据是否转换标志分别判断本次读取到的每条定位数据是原始定位数据还是转换后的定位数据,若读取到的所有定位数据都是转换后的定位数据,则服务器将读取到的所有定位数据都返回给终端设备,若读取到的所有定位数据中存在原始定位数据,则服务器从该存在的所有原始定位数据中选取预设数量的原始定位数据,并根据选取的原始定位数据的数据类型,调用具有相应数据类型转换策略的api对选取的原始定位数据进行转换,得到与选取的原始定位数据对应的转换后的定位数据,并将得到的与选取的原始定位数据对应的转换后的定位数据以及读取到的所有定位数据中的转换后的定位数据返回给终端设备。

对上述方法进行进一步优化,具体可以是:

上述方法还包括服务器将得到的与选取的原始定位数据对应的转换后的数据以及读取到的所有定位数据中的转换后的定位数据返回给终端设备时,异步将存储的相应原始定位数据替换为对应的本次转换后的定位数据,以及异步将本次转换后的定位数据所对应的数据是否转换标志更新为已转换。上述采用异步的方式对定位数据和数据是否转换标志进行更新,用户的实际等待时间就只是从终端设备发起请求到服务器返回转换后的定位数据的时间,之后的定位数据和数据是否转换标志更新的时间并不计算在等待时间内,进一步提高了定位数据查询的效率。

上述若读取到的所有定位数据中存在原始定位数据,则服务器根据该存在的所有原始定位数据的定位时间顺序,从该存在的所有原始定位数据中选取最新的预设数量的原始定位数据。一般来说用户需要的是比较新的定位数据,因此转换时优先转换较新的定位数据,更加符合用户需求。

上述预设规则可以包括:服务器根据原始定位数据的定位时间顺序,读取最新的预设数量的原始定位数据。一般来说用户需要的是比较新的定位数据,因此转换时优先转换较新的定位数据,更加符合用户需求。

上述预设规则可以包括:当服务器的资源利用率低于预设的资源利用率阈值时,服务器读取预设数量的原始定位数据。在服务器资源占用较少时对原始定位数据进行转换,能够充分利用服务器资源并且不会影响服务器性能。

上述预设规则可以包括:服务器定时读取预设数量的原始定位数据。通过定时读取原始定位数据进行转换的方式,保证一段时间内定位设备上传的原始定位数据中有一部分能够得到转换,降低定位数据查询时服务器的处理压力。

上述原始定位数据包括卫星原始定位数据和wifi原始定位数据,所述服务器按照预设规则读取预设数量的数据类型相同的原始定位数据时,所读取的wifi原始定位数据的预设数量小于所读取的卫星原始定位数据的预设数量,所述服务器从该存在的所有原始定位数据中选取预设数量的原始定位数据时,所选取的wifi原始定位数据的预设数量小于所选取的卫星原始定位数据的预设数量。由于卫星原始定位数据的转换效率高于wifi原始定位数据的转换效率,服务器在定时转换时,为了保证单次wifi原始定位数据的转换时间和卫星原始定位数据的转换时间大致相同,因此一次读取或选取的需要转换的wifi原始定位数据的数量应小于相应读取或选取的需要转换的卫星原始定位数据的数量。

实施例

下面具体举例说明本发明的技术方案。

本例的定位数据存储、转换和查询方法,基于现有的定位数据存储、转换和查询系统,该系统包括定位设备、服务器和终端设备,服务器分别与定位设备和终端设备连接通信。下面以原始定位数据为gps原始定位数据和wifi原始定位数据为例进行说明。

具体的,本例通过以下步骤对gps定位数据和wifi定位数据进行存储、转换和查询。

步骤s1、定位设备采集gps原始定位数据和wifi原始定位数据,并将采集到的gps原始定位数据和wifi原始定位数据发送到服务器。

步骤s2、服务器为接收到的每条gps原始定位数据和wifi原始定位数据添加对应的标记信息,并存储接收到的gps原始定位数据及其标记信息、wifi原始定位数据及其标记信息,其中,标记信息包括数据类型和数据是否转换标志,数据是否转换标志初始为未转换。

步骤s3、服务器定时读取预设数量的gps原始定位数据和/或预设数量的wifi原始定位数据,其中,所读取的wifi原始定位数据的预设数量小于所读取的gps原始定位数据的预设数量,读取的gps原始定位数据是按照gps原始定位数据的定位时间顺序的最新的预设数量的gps原始定位数据,读取的wifi原始定位数据是按照wifi原始定位数据的定位时间顺序的最新的预设数量的wifi原始定位数据。

步骤s4、服务器根据步骤s3中所读取的原始定位数据的数据类型,调用具有gps原始定位数据转换策略的api对步骤s3中读取到的gps原始定位数据进行转换,并将存储的相应gps原始定位数据替换为对应的本次转换后的gps定位数据,并将本次转换后的gps定位数据所对应的数据是否转换标志更新为已转换;和/或调用具有wifi原始定位数据转换策略的api对步骤s3中读取到的wifi原始定位数据进行转换,并将存储的相应wifi原始定位数据替换为对应的本次转换后的wifi定位数据,并将本次转换后的wifi定位数据所对应的数据是否转换标志更新为已转换。

步骤s5、终端设备向服务器请求获取gps定位数据和wifi定位数据。

步骤s6、服务器读取终端设备所请求的所有gps定位数据,以及终端设备所请求的所有wifi定位数据,对于本次读取到的任一类型的所有定位数据,以gps定位数据为例进行以下处理:服务器通过gps定位数据所对应的数据是否转换标志分别判断本次读取到的每条gps定位数据是gps原始定位数据还是转换后的gps定位数据,若读取到的所有gps定位数据都是转换后的gps定位数据,则服务器将读取到的所有gps定位数据都返回给终端设备,若读取到的所有gps定位数据中存在gps原始定位数据,则服务器从该存在的所有gps原始定位数据中选取预设数量的gps原始定位数据,其中,选取的gps原始定位数据是按照gps原始定位数据的定位时间顺序的最新的预设数量的gps原始定位数据,然后服务器调用具有gps原始定位数据转换策略的api对选取的gps原始定位数据进行转换,得到与选取的gps原始定位数据对应的转换后的gps定位数据,并将得到的与选取的gps原始定位数据对应的转换后的gps定位数据以及读取到的所有gps定位数据中的转换后的gps定位数据返回给终端设备。对读取到的所有wifi定位数据的处理与上述gps定位数据处理原理相同,这里不再赘述,但区别点在于,服务器从存在的所有wifi原始定位数据中选取预设数量的wifi原始定位数据时,所选取的wifi原始定位数据的预设数量小于所选取的gps原始定位数据的预设数量。

步骤s7、服务器异步将存储的相应gps原始定位数据替换为对应的本次转换后的gps定位数据,并异步将本次转换后的gps定位数据所对应的数据是否转换标志更新为已转换,以及异步将存储的相应wifi原始定位数据替换为对应的本次转换后的wifi定位数据,并异步将本次转换后的wifi定位数据所对应的数据是否转换标志更新为已转换。

另外,上述步骤s3中服务器读取gps原始定位数据和/或wifi原始定位数据时,可选地,服务器还可以根据其资源利用率来控制读取频率,即当服务器的资源利用率低于预设的资源利用率阈值时,服务器读取预设数量的gps原始定位数据和/或预设数量的wifi原始定位数据。上述各个步骤中对gps原始定位数据和/或wifi原始定位数据进行转换时,若相应的api支持批量转换,则优先采用批量转换的方式。

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