1.一种车辆状态数据存储系统,其特征在于:包括
状态数据写入模块,用于获取车辆的状态数据,并根据车辆id将状态数据写入到不同的数据库中;
状态数据归档模块,用于在车辆状态数据上传较少时对写入数据库的数据进行分组,再将数据同步归档至oss,同时在数据库中删除已经归档的数据;
状态数据查询模块,用于对查询任务进行拆解后在数据库或oss中查询相关数据。
2.根据权利要求1所述的一种车辆状态数据存储系统,其特征在于:所述状态数据写入模块包括若干个并行写入单元,所述写入单元由配置表、状态数据存储表和写入队列组成,所述配置表由表名前缀、可写标志和可读标志字段项组成,所述存储表由可读可写状态表和不可写状态表组成。
3.根据权利要求1所述的一种车辆状态数据存储系统,其特征在于:所述状态数据归档模块包括数据分组单元、数据上传单元和数据删除单元,所述数据分组单元自不可写状态表中读取相关数据并进行排序和分组,所述数据上传单元将分组的数据上传至oss进行归档,所述数据删除单元用于删除数据库内已经归档的数据。
4.根据权利要求1所述的一种车辆状态数据存储系统,其特征在于:所述状态数据查询模块包括任务拆分单元、数据查询单元和数据合并单元,所述任务拆分单元用于根据车辆id和查询时间对任务进行分解,所述数据查询单元根据分解的任务进行数据查询和提取,所述数据合并单元将查询到的数据进行合并后再反馈。
5.一种车辆状态数据存储方法,其特征在于:包括以下步骤:
(1)接收车辆上传的状态数据后进行分析处理,根据车辆id计算出数据库编号,追加到对应数据库写入队列中;
(2)数据库写入队列根据配置表的参数值,获取可写表的表名前缀,同时根据车辆id计算出表索引号,同时生成表名,批量写入到状态数据存储表中;
(3)在车辆状态数据上传业务量较少时,调整配置表中表可写和可读状态;
(4)批量处理状态数据存储表,读取表内状态数据,按车辆id和记录年月日进行分组,按记录时间进行升序排列;
(5)以记录年月日和车辆id,生成key值;从oss上查找是否存在相同key数据文件,存在就读取数据文件,与从步骤3查询到数据进行合并,把合并后数据转换为数据文件,更新到oss中;如果不存在,直接把步骤3查询到数据转为数据文件,保存到oss中;
(6)所有数据处理完成后,修改数据储存表的可读标记,删除已归档状态数据存储表中的数据。
6.根据权利要求5所述的一种车辆状态数据存储方法,其特征在于:归档后的数据状态查询具体包括以下步骤:
(1)收到状态数据查询任务,根据车辆id和查询时间,按单个车辆和单天把查询任务分解多个子任务,推动到多任务查询队列;
(2)等待所有查询子任务完成查询;对接所有查询子任务结果进行合并,返回给查询任务。