一种汽车定位信息存储方法及装置与流程

文档序号:12010238阅读:259来源:国知局
一种汽车定位信息存储方法及装置与流程
本发明涉及汽车导航领域,更具体地说,涉及一种汽车定位信息存储方法及装置。

背景技术:
现在的汽车中常配置有GPS等定位导航装置,汽车用户在驾驶汽车时能够随时随地知晓自己的确切位置。汽车导航具有的自动语音导航、最佳路径搜索等功能,大大便利了人们的出行。但是随着使用导航装置的汽车越来越多,以及随着汽车用户的要求越来越高,相应的汽车导航装置上报频率(就是汽车导航装置将定位信息发送给控制中心)也需要越来越快,每秒平均有几万条,在高峰时段可能会达到上十万条,汽车定位信息往往需要至少保存3年以上(3年约47万亿条)。现有技术中,传统的关系数据库无法满足如此频繁、海量的汽车定位信息数据的存储需求。

技术实现要素:
本发明要解决的技术问题在于,针对现有技术的传统的关系数据库无法满足如此频繁、海量的汽车定位信息数据的存储需求的缺陷,提供一种汽车定位信息存储方法及装置。本发明解决其技术问题所采用的技术方案是:构造一种汽车定位信息存储方法,包括以下步骤:S1、批量存储程序接收到多个汽车定位信息后,将所述汽车定位信息分批次地写入HBASE;S2、预设一优先访问时间段,将在所述优先访问时间段开始之前就已经写入所述HBASE的所述汽车定位信息周期性地备份到本地硬盘;S3、在所述汽车定位信息备份成功后,将已经备份的所述汽车定位信息从所述HBASE中删除。在本发明所述的汽车定位信息存储方法中,所述步骤S1包括以下子步骤:S11、所述批量存储程序的多个接收线程接收到所述汽车定位信息后,将所述汽车定位信息分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列;S12、所述存储线程将所述存储队列中的所述汽车定位信息分批次地写入HBASE。在本发明所述的汽车定位信息存储方法中,所述步骤S11所述的将所述汽车定位信息分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列的操作包括:按照汽车导航装置的ID,通过HASH算法将所述汽车定位信息平均分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列。在本发明所述的汽车定位信息存储方法中,在所述步骤S12中,所述存储线程将最后接收到的所述汽车定位信息单独作为一个文件写入所述HBASE中。在本发明所述的汽车定位信息存储方法中,所述步骤S12包括:所述存储线程根据预定时间或者预定信息量分批次地将所述存储队列中的所述汽车定位信息写入HBASE。在本发明所述的汽车定位信息存储方法中,在所述步骤S2中,将所述汽车定位信息按照汽车导航装置的ID以及所述汽车定位信息的产生时间周期性地备份到本地硬盘,并将保存的汽车定位信息文件以日期命名。在本发明所述的汽车定位信息存储方法中,所述汽车定位信息存储方法还包括:通过所述HBASE提供的接口查询备份到本地硬盘的汽车定位信息文件中的汽车定位信息。实施本发明的汽车定位信息存储方法,具有以下有益效果:通过本发明实施例提供的汽车定位信息存储方法,可以有效解决现有技术的传统的关系数据库无法满足如此频繁,如此海量的汽车定位信息数据的存储需求的缺陷,可以及时地存储频繁、海量的汽车定位信息数据,并且通过将历史的汽车定位信息保存到本地硬盘,减小了HBASE的负担,也可以通过HBASE提供的接口方便的查询历史的汽车定位信息。本发明还提供一种汽车定位信息存储装置,包括以下模块:信息写入模块,用于批量存储程序接收到多个汽车定位信息后,将所述汽车定位信息分批次地写入HBASE;信息备份模块,用于预设一优先访问时间段,将在所述优先访问时间段开始之前就已经写入所述HBASE的所述汽车定位信息周期性地备份到本地硬盘;信息删除模块,用于在所述汽车定位信息备份成功后,将已经备份的所述汽车定位信息从所述HBASE中删除。在本发明所述的汽车定位信息存储装置中,所述信息写入模块包括以下子模块:信息接收单元,用于在所述批量存储程序的多个接收线程接收到所述汽车定位信息后,将所述汽车定位信息分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列;信息写入单元,用于通过所述存储线程将所述存储队列中的所述汽车定位信息分批次地写入HBASE。在本发明所述的汽车定位信息存储装置中,所述信息接收单元还用于按照汽车导航装置的ID,通过HASH算法将所述汽车定位信息平均分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列。在本发明所述的汽车定位信息存储装置中,信息接收单元还用于通过所述存储线程将最后接收到的所述汽车定位信息单独作为一个文件写入所述HBASE中。在本发明所述的汽车定位信息存储装置中,所述信息接收单元还用于通过所述存储线程根据预定时间或者预定信息量分批次地将所述存储队列中的所述汽车定位信息写入HBASE。在本发明所述的汽车定位信息存储装置中,所述信息备份模块还用于将所述汽车定位信息按照汽车导航装置的ID以及所述汽车定位信息的产生时间周期性地备份到本地硬盘,并将保存的汽车定位信息文件以日期命名。在本发明所述的汽车定位信息存储装置中,所述汽车定位信息存储装置还包括:查询模块,用于通过所述HBASE提供的接口查询备份到本地硬盘的汽车定位信息文件中的汽车定位信息。实施本发明的汽车定位信息存储装置,具有以下有益效果:通过本发明实施例提供的汽车定位信息存储装置,可以有效解决现有技术的传统的关系数据库无法满足频繁地存入海量的汽车定位信息数据的存储需求的缺陷,可以及时地存储频繁、海量的汽车定位信息数据,并且通过将历史的汽车定位信息保存到本地硬盘,减小了HBASE的负担,也可以通过HBASE提供的接口方便的查询历史的汽车定位信息。附图说明下面将结合附图及实施例对本发明作进一步说明,附图中:图1是本发明一个较佳实施例提供的汽车定位信息存储方法流程图;图2是图1所示的步骤S1的子步骤流程图;图3是本发明一个较佳实施例提供的汽车定位信息存储装置的结构示意图;图4是图3所示的信息写入模块的结构示意图;图5是本发明另一个较佳实施例提供的汽车定位信息存储装置的结构示意图。具体实施方式为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式,下述具体实施方式以及附图,仅为更好地理解本发明,并不对本发明做任何限制。如图1所示,本发明一实施例提供一种汽车定位信息存储方法,该方法适用于汽车导航的场景中,可以由汽车导航基地台的服务器来实现,当然本发明也不仅限于此。所述汽车定位信息存储方法包括以下步骤:S1、批量存储程序接收到多个汽车定位信息后,将所述汽车定位信息分批次地写入HBASE;因为汽车在行驶过程中会不断地将定位信息上报到控制中心,加上控制中心会接收多台汽车上导航装置上报的定位信息,因此会产生多个汽车定位信息;HBASE是一种高可靠性、高性能、面向列、可伸缩的分布式存储系统,可在PC服务器上搭建起大规模结构化存储集群,所述批量存储程序是与HBASE配套的存储程序。S2、预设一优先访问时间段,将在所述优先访问时间段开始之前就已经写入所述HBASE的所述汽车定位信息周期性地备份到本地硬盘;预设的优先访问时间段可以灵活设置,比如通常用户只是访问最近的汽车定位信息,而在基本不会访问一年前的汽车定位信息,因此可以将时间段设置为一年,当然,本发明也不局限于此,那么为了减少HBASE的存储和访问开销,可以将一年前的汽车定位信息存储备份到本地硬盘。因为汽车定位信息是实时产生的,因此备份的操作也应该是周期性的。S3、在所述汽车定位信息备份成功后,将已经备份的所述汽车定位信息从所述HBASE中删除。为了减少HBASE的存储和访问开销,可以将已经备份成功的所述汽车定位信息从所述HBASE中删除。优选地,如图2所示,在本发明实施例提供的汽车定位信息存储方法中,该方法适用于汽车导航的场景中,可以由多台服务器来实现,当然本发明也不仅限于此,所述步骤S1包括以下子步骤:S11、所述批量存储程序的多个接收线程接收到所述汽车定位信息后,将所述汽车定位信息分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列;所述批量存储程序具有多个操作线程,其中包括多个接收线程和多个存储线程,每个存储线程对应一个存储队列。S12、所述存储线程将所述存储队列中的所述汽车定位信息分批次地写入HBASE。优选地,在本发明实施例提供的汽车定位信息存储方法中,该方法适用于汽车导航的场景中,可以由多台服务器来实现,当然本发明也不仅限于此,所述步骤S11所述的将所述汽车定位信息分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列的操作包括:按照汽车导航装置的ID,通过HASH算法将所述汽车定位信息平均分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列。一般每台汽车都会安装一台汽车导航装置,而每个汽车导航装置对应一个唯一的序列号,也就是汽车导航装置的ID,因为HASH算法是公知的算法,因此具体如何计算在此处不再赘述,将所述汽车定位信息平均分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列,是为了均衡每个存储序列的信息数量以及平衡每个存储线程的负担。优选地,在本发明实施例提供的汽车定位信息存储方法中,该方法适用于汽车导航的场景中,可以由多台服务器来实现,当然本发明也不仅限于此,在所述步骤S12中,所述存储线程将最后接收到的所述汽车定位信息单独作为一个文件写入所述HBASE中。因为用户一般会查询最新的汽车定位信息,因此将最后接收到的所述汽车定位信息单独作为一个文件写入所述HBASE可以更加方便地查询汽车定位信息。优选地,在本发明实施例提供的汽车定位信息存储方法中,该方法适用于汽车导航的场景中,可以由多台服务器来实现,当然本发明也不仅限于此,所述步骤S12包括:所述存储线程根据预定时间或者预定信息量分批次地将所述存储队列中的所述汽车定位信息写入HBASE。因为汽车定位信息是实时产生的,因此如果实时地通过存储线程将所述存储队列中的所述汽车定位信息写入HBASE会增加HBASE的负担,因此可以预先设置一时间,在间隔预定的时间后将所述存储队列中的所述汽车定位信息写入HBASE;或者预设一个预定信息量阈值,等到所述汽车定位信息到达该阈值的时候,将所述存储队列中的所述汽车定位信息写入HBASE,这样就可以平衡将所述汽车定位信息写入HBASE的及时行和HBASE负担的减小。优选地,在本发明实施例提供的汽车定位信息存储方法中,该方法适用于汽车导航的场景中,可以由多台服务器来实现,当然本发明也不仅限于此,在所述步骤S2中,将所述汽车定位信息按照汽车导航装置的ID以及所述汽车定位信息的产生时间周期性地备份到本地硬盘,并将保存的汽车定位信息文件以日期命名。通过该实施例可以很方便地从备份到本地硬盘的汽车定位信息文件中很方便地查询历史的汽车定位信息。另外备份的周期可以灵活设置,比如一个星期,或者5天或者一个月,并且优选地,可以将每次备份的时间点选为凌晨等汽车导航装置上报频率最低的时候,可以通过统计来确定汽车导航装置上报频率最低的时间,这样可以减小对操作中心对HBASE的正常访问的干扰。优选地,在本发明实施例提供的汽车定位信息存储方法中,该方法适用于汽车导航的场景中,可以由多台服务器来实现,当然本发明也不仅限于此,所述汽车定位信息存储方法还包括:通过所述HBASE提供的接口查询备份到本地硬盘的汽车定位信息文件中的汽车定位信息。实施本发明的汽车定位信息存储方法,具有以下有益效果:通过本发明实施例提供的汽车定位信息存储方法,可以有效解决现有技术的传统的关系数据库无法满足频繁地存入海量的汽车定位信息数据的存储需求的缺陷,可以及时地海量的汽车定位信息数据,并且通过将历史的汽车定位信息保存到本地硬盘,减小了HBASE的负担,也可以通过HBASE提供的接口方便的查询历史的汽车定位信息。如图3所示,在本发明实施例提供的汽车定位信息存储方法中,包括以下模块:信息写入模块,用于批量存储程序接收到多个汽车定位信息后,将所述汽车定位信息分批次地写入HBASE;因为汽车在行驶过程中会不断地将定位信息上报到控制中心,加上控制中心会接收多台汽车上导航装置上报的定位信息,因此会产生多个汽车定位信息;HBASE是一种高可靠性、高性能、面向列、可伸缩的分布式存储系统,可在PC服务器上搭建起大规模结构化存储集群,所述批量存储程序是与HBASE配套的存储程序。信息备份模块,用于预设一优先访问时间段,将在所述优先访问时间段开始之前就已经写入所述HBASE的所述汽车定位信息周期性地备份到本地硬盘;预设的优先访问时间段可以灵活设置,比如通常用户只是访问最近的汽车定位信息,而在基本不会访问一年前的汽车定位信息,因此可以将时间段设置为一年,当然,本发明也不局限于此,那么为了减少HBASE的存储和访问开销,可以将一年前的汽车定位信息存储备份到本地硬盘。因为汽车定位信息是实时产生的,因此备份的操作也应该是周期性的。信息删除模块,用于在所述汽车定位信息备份成功后,将已经备份的所述汽车定位信息从所述HBASE中删除,为了减少HBASE的存储和访问开销,可以将已经备份成功的所述汽车定位信息从所述HBASE中删除。优选地,如图4所示,在本发明实施例提供的汽车定位信息存储装置中,所述信息写入模块包括以下子模块:信息接收单元,用于在所述批量存储程序的多个接收线程接收到所述汽车定位信息后,将所述汽车定位信息分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列;所述批量存储程序具有多个操作线程,其中包括多个接收线程和多个存储线程,每个存储线程对应一个存储队列。信息写入单元,用于通过所述存储线程将所述存储队列中的所述汽车定位信息分批次地写入HBASE。优选地,在本发明实施例提供的汽车定位信息存储装置中,所述信息接收单元还用于按照汽车导航装置的ID,通过HASH算法将所述汽车定位信息平均分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列,一般每台汽车都会安装一台汽车导航装置,而每个汽车导航装置对应一个唯一的序列号,也就是汽车导航装置的ID,因为HASH算法是公知的算法,因此具体如何计算在此处不再赘述,将所述汽车定位信息平均分配到所述接收线程对应的所述批量存储程序的存储线程的存储队列,是为了均衡每个存储序列的信息数量以及平衡每个存储线程的负担。优选地,在本发明实施例提供的汽车定位信息存储装置中,信息接收单元还用于通过所述存储线程将最后接收到的所述汽车定位信息单独作为一个文件写入所述HBASE中,因为用户一般会查询最新的汽车定位信息,因此将最后接收到的所述汽车定位信息单独作为一个文件写入所述HBASE可以更加方便地查询汽车定位信息。优选地,在本发明实施例提供的汽车定位信息存储装置中,所述信息接收单元还用于通过所述存储线程根据预定时间或者预定信息量分批次地将所述存储队列中的所述汽车定位信息写入HBASE,因为汽车定位信息是实时产生的,因此如果实时地通过存储线程将所述存储队列中的所述汽车定位信息写入HBASE会增加HBASE的负担,因此可以预先设置一时间,在间隔预定的时间后将所述存储队列中的所述汽车定位信息写入HBASE;或者预设一个预定信息量阈值,等到所述汽车定位信息到达该阈值的时候,将所述存储队列中的所述汽车定位信息写入HBASE,这样就可以平衡将所述汽车定位信息写入HBASE的及时行和HBASE负担的减小。优选地,在本发明实施例提供的汽车定位信息存储装置中,所述信息备份模块还用于将所述汽车定位信息按照汽车导航装置的ID以及所述汽车定位信息的产生时间周期性地备份到本地硬盘,并将保存的汽车定位信息文件以日期命名,通过该实施例可以很方便地从备份到本地硬盘的汽车定位信息文件中很方便地查询历史的汽车定位信息。另外备份的周期可以灵活设置,比如一个星期,或者5天或者一个月,并且优选地,可以将每次备份的时间点选为凌晨等汽车导航装置上报频率最低的时候,可以通过统计来确定汽车导航装置上报频率最低的时间,这样可以减小对操作中心对HBASE的正常访问的干扰。优选地,如图5所示,在本发明实施例提供的汽车定位信息存储装置中,所述汽车定位信息存储装置还包括:查询模块,用于通过所述HBASE提供的接口查询备份到本地硬盘的汽车定位信息文件中的汽车定位信息。实施本发明的汽车定位信息存储装置,具有以下有益效果:通过本发明实施例提供的汽车定位信息存储装置,可以有效解决现有技术的传统的关系数据库无法满足频繁地存入海量的汽车定位信息数据的存储需求的缺陷,可以及时地海量的汽车定位信息数据,并且通过将历史的汽车定位信息保存到本地硬盘,减小了HBASE的负担,也可以通过HBASE提供的接口方便的查询历史的汽车定位信息。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1