发明内容
本发明的目的是针对上述不足之处提供一种利用分布式数据存储程序存储车载信息的系统及其存储方法,相对于传统的数据存储和处理方案具有高扩展性,高容错性,高处理性能和低成本的特点。
利用分布式数据存储程序存储车载信息的系统及其存储方法是采取以下技术方案实现的:利用分布式数据存储程序存储车载信息的装置包括车载信息终端、服务器集群、数据处理服务器DP、数据访问服务器DAP和存储程序,车载信息终端安装在车辆上,用以向服务器集群发送车辆位置信息,服务器集群由至少五台PC机组成,存储程序安装在服务器集群中的PC机上。存储程序包括开源的分布式数据存储程序软件Cassandra, Cassandra是一个混合型的非关系的数据库,具有模式灵活、真正的可扩展性、多数据中心识别、列表数据结构、范围查询以及分布式写操作的特点。对Cassandra的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加服务器(PC机)就可以了。由于数据在物理上是分布的,但是在逻辑上仍然是统一的整体,多台服务器组成的集群可以使数据处理的压力得到良好分配,在数据存储空间和性能到达极限的情况下,还可以通过在集群中增加服务器来解决这些问题。
数据处理服务器DP包括三个模块,分别是企业提供的第三方接口控件模块、数据处理模块和分布式数据存储程序软件Cassandra 客户端插件Hector。数据处理服务器DP通过分布式数据存储程序软件Cassandra 客户端插件Hector建立和分布式数据库的连接并管理这些连接,然后通过企业提供的第三方接口控件模块接收来自数据中心的车载信息终端位置信息数据,由数据处理模块解析成符合分布式数据存储程序软件Cassandra数据模型的数据后,再从分布式数据存储程序软件Cassandra 客户端插件Hector中调取可用的连接,将数据从这个连接中写入分布式数据存储程序软件Cassandra分布式集群。
数据访问服务器DAP包括3个模块,分别是:HTTP服务模块、数据处理模块和分布式数据存储程序软件Cassandra 客户端插件Hector。数据访问服务器DAP通过HTTP服务模块接收HTTP客户端的请求,经过数据处理模块的处理将请求转化成符合分布式数据存储程序软件Cassandra数据请求格式的数据,由分布式数据存储程序软件Cassandra 客户端插件Hector发送给服务器集群,再把分布式数据存储程序软件Cassandra 客户端插件Hector返回的结果(终端位置信息数据)转化成XML的数据格式返回给HTTP客户端。
所述的PC机为台式机或者专业的数据库服务器,该系统可以兼用不同的硬件环境,集群中的服务器硬件可以采用台式PC机,也可以采用专业的服务器硬件。把该系统部署在普通的台式PC机上,在节约成本上更具有优势,6-7台3000元的台式PC机的性能和存储容量即可和一台专业10万元的数据库服务器媲美。
利用分布式数据存储程序存储车载信息的系统的存储方法包括以下步骤:
1)配置分布式数据存储系统的运行环境,建立服务器集群,并将分布式数据存储程序软件Cassandra安装在服务器集群中的PC机上。
2)建立数据存储结构,根据车载信息终端位置信息的数据内容和分布式数据存储程序软件Cassandra框架支持的数据结构的特点设置一套便于存储和查询的数据结构。
Cassandra的数据结构包括Keyspace,Key, Column,SuperColumn,ColumnFamily,SuperColumnFamily。
在车载信息终端上传的位置信息数据主要以终端IMEI作为标识,来区分不同的终端,每一个终端会在不同时间点上传一条数据,所以根据这样的情况和Cassandra数据结构的特点建立数据结构。
首先建立一个默认的KeySpace名位GPS,然后用一个SuperColumnFamily-名为LocationInfo存储终端位置信息数据。这个SuperColumnFamily 的每个key表示为IMEI,也就是每个ColumnFamily 保存一个终端的数据。每个ColumnFamily 中的每一个Key表示为GPS-Time (终端上传数据的时间点), 也就是每个SuperColumn保存一条GPS位置信息数据。每个SuperColumn中的每一个Key表示为某一条GPS数据中的每一个数据项 ( 比如:经度),每个Column表示一个数据项,例如经度:127.2365。
3)设置数据处理服务器DP和数据访问服务器DAP,数据处理服务器DP连接itrackstar数据处理中心连接,从中读取数据车载信息终端的位置信息数据,然后该服务器通过Cassandra的客户端驱动连接至分布式数据存储集群,写入位置信息数据。
数据访问服务器DAP通过Http服务向企业内其他的应用平台提供对 位置信息数据的查询。其内部也是由Cassandra客户端驱动与分布式数据存储集群相连。
4)启动数据处理服务器DP和数据访问服务器DAP。
本发明的优点:
1)数据容量优势
以往只能满足为客户保存1年的数据,现在通过加入更多的硬件,可以保存5-10年的数据,甚至更长时间的数据。
2)系统兼容性优势
对于传统的oracle数据库而言,在存储车载信息采集终端的数据时,采用以不同的采集终端分表的方式存储,这就意味着每当有新的终端加入系统时,需要新建一张表。而该项目采用的特殊的key/value数据结构,无需新建表。大大减少了数据存储系统的复杂性。同时对于不同协议的数据和不同厂家生产的传感器加入系统时,无需更改数据结构和表结构。大大增加了系统的兼容性。
3)高容错性,灾难性恢复,无单点故障
4)扩展简单,数据增容时只需要增加硬件即可
5)节约成本,使用不同的PC机搭建的集群,和符合传统的数据存储要求的大型服务器相比, 减少了相当的硬件成本。一台具有500G 硬盘的PC价格大约在3000元,6台这样的PC的性能和存储容量就相当于一台专业10万的数据存储服务器。虽然初期部署时需要进行大量的准备工作,但简单的扩展增容方式,维护和管理成本也得到了降低。
具体实施方式
参照附图1~3,利用分布式数据存储程序存储车载信息的装置包括车载信息终端、服务器集群、数据处理服务器DP、数据访问服务器DAP和存储程序,车载信息终端安装在车辆上,用以向服务器集群发送车辆位置信息,服务器集群由至少五台PC机组成,存储程序安装在服务器集群中的PC机上。存储程序包括开源的分布式数据存储程序软件Cassandra, Cassandra是一个混合型的非关系的数据库,具有模式灵活、真正的可扩展性、多数据中心识别、列表数据结构、范围查询以及分布式写操作的特点。对Cassandra的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加服务器(PC机)就可以了。由于数据在物理上是分布的,但是在逻辑上仍然是统一的整体,多台服务器组成的集群可以使数据处理的压力得到良好分配,在数据存储空间和性能到达极限的情况下,还可以通过在集群中增加服务器来解决这些问题。
数据处理服务器DP包括三个模块,分别是企业提供的第三方接口控件模块、数据处理模块和分布式数据存储程序软件Cassandra 客户端插件Hector。数据处理服务器DP通过分布式数据存储程序软件Cassandra 客户端插件Hector建立和分布式数据库的连接并管理这些连接,然后通过企业提供的第三方接口控件模块接收来自数据中心的车载信息终端位置信息数据,由数据处理模块解析成符合分布式数据存储程序软件Cassandra数据模型的数据后,再从分布式数据存储程序软件Cassandra 客户端插件Hector中调取可用的连接,将数据从这个连接中写入分布式数据存储程序软件Cassandra分布式集群。
数据访问服务器DAP包括3个模块,分别是:HTTP服务模块、数据处理模块和分布式数据存储程序软件Cassandra 客户端插件Hector。数据访问服务器DAP通过HTTP服务模块接收HTTP客户端的请求,经过数据处理模块的处理将请求转化成符合分布式数据存储程序软件Cassandra数据请求格式的数据,由分布式数据存储程序软件Cassandra 客户端插件Hector发送给服务器集群,再把分布式数据存储程序软件Cassandra 客户端插件Hector返回的结果(终端位置信息数据)转化成XML的数据格式返回给HTTP客户端。
所述的PC机为台式机或者专业的数据库服务器。
利用分布式数据存储程序存储车载信息的系统的存储方法包括以下步骤:
1)配置分布式数据存储系统的运行环境,建立服务器集群,并将分布式数据存储程序软件Cassandra安装在服务器集群中的PC机上;
2)建立数据存储结构,根据车载信息终端位置信息的数据内容和分布式数据存储程序软件Cassandra框架支持的数据结构的特点设置一套便于存储和查询的数据结构;
3)设置数据处理服务器DP和数据访问服务器DAP,数据处理服务器DP连接itrackstar数据处理中心连接,从中读取数据车载信息终端的位置信息数据,然后该服务器通过Cassandra的客户端驱动连接至分布式数据存储集群,写入位置信息数据;
数据访问服务器DAP通过Http服务向企业内其他的应用平台提供对 位置信息数据的查询。其内部也是由Cassandra客户端驱动与分布式数据存储集群相连;
4)启动数据处理服务器DP和数据访问服务器DAP。