用于车联网的三级数据压缩装置及其方法与流程

文档序号:12624838阅读:365来源:国知局
用于车联网的三级数据压缩装置及其方法与流程
本发明涉及一种用于车联网的数据压缩装置及其方法,属于数据处理
技术领域

背景技术
:车联网一般由车载终端和管理网站两部分组成,车载终端通过CAN总线与硬线等与发动机、车身电气电路等进行信息互联,可以采集车辆、道路和环境相关数据,通过无线传输技术,车载终端将采集到的信息上传到管理网站。管理网站对采集到的信息进行加工、计算、共享和安全发布,可以根据不同的功能需求对车辆进行有效的引导与监管,以及提供专业的多媒体与移动互联网应用服务。由于目前车联网处于初期应用阶段,车载终端周期性上报给管理网站的信号种类少,数据量比较小,所以车载终端较少考虑对于采集数据的压缩处理,《道路运输车辆卫星定位系统终端通讯协议及数据格式》(JT/T808,后文简称808协议)中消息格式的定义也证实这一点,其消息格式都是格式化的,每个字段都有独立的含义,而且每个字段的长度都按照可能使用的最大长度来定义。虽然808协议前瞻性的定义了数据压缩上报消息(消息ID:0x0901),即采用GZIP压缩算法压缩较长消息,但是目前暂时还没有终端支持。随着车联网应用的深入,车载终端周期性上报给管理网站的信号种类将越来越多,数据量也将急剧增加,而无线网络传输的速率是有限的,而且目前运营商的收费是与传输的数据流量相关联的,因此车载终端加强数据压缩的处理则是必然趋势。技术实现要素:本发明所要解决的技术问题是提供一种用于车联网的三级数据压缩装置及其方法,对于车载终端周期性上报给管理网站的整车网络采集数据,采用该三级数据压缩方法压缩后,再上传给管理网站,接收到压缩数据后,管理网站使用对应的步骤解压恢复出原始数据,再存储到数据库中。采用该三级数据压缩方法,可以减小车载终端和管理网站之间无线传输的数据量,减少信道占用时间,提高终端和管理网站的交互效率,也降低流量费用。本发明提供的用于车联网的三级数据压缩装置及其方法,技术方案如下:一种用于车联网的三级数据压缩装置,其特征在于,数据压缩装置接收来自整车的网络采集数据,经处理后发送给管理网站,数据压缩装置包括依次连接的数据过滤模块、数据存储优化模块、通用无损压缩模块,其中:数据过滤模块,将信号分为开关量/枚举量一类,模拟量为另一类,分别进行数据过滤;数据存储优化模块,对分类后的数据分别进行时间的存储优化和模拟量数值的存储优化;通用无损压缩模块,使用通用的无损数据压缩算法对经过数据存储优化的数据进行压缩。进一步地,所述的用于车联网的三级数据压缩装置装载在车载终端上;所述的数据存储优化模块包括缓存模块,缓存模块先将优化过的数据进行存储,当达到设定的压缩周期时,一起打包发送给通用无损压缩模块进行压缩。进一步地,管理网站设有数据解压缩装置,数据解压缩装置包括依次连接的以下模块:通用无损解压缩模块、数据恢复模块,其中:通用无损解压缩模块,用与数据压缩装置相同的通用无损压缩算法对消息体进行解压缩;数据恢复模块,将经过存储优化的信息进行恢复。进一步地,所述的数据过滤装置包括信号类型分类模块、开关量和枚举量过滤模块、模拟量过滤模块:信号类型分类模块根据数据类型将数据分为开关量和枚举量、模拟量两种,并分别连接不同的过滤模块进行过滤;开关量和枚举量过滤模块在数据值只有在发生变化时才处理保存,并保存数据变化的时间和变化后的数值,否则,数据将被丢弃;模拟量过滤模块,对于每种信号,设定其向管理网站上报的周期,在这样一个周期内采集的数据,只采样保存一个数据值。进一步地,所述的数据存储优化模块,包括时间存储优化模块、开关量和枚举量存储优化模块、模拟量存储优化模块,根据数据类型不同而连接不同的模块,时间存储优化模块,对于时间的存储优化,每个三级数据压缩周期内,只完整记录周期的起始时间为基准时间,其他的时间都只记录与该基准时间的时间差,用 一个字节存放;开关量和枚举量存储优化模块,对于开关量和枚举量的时间,每一个数值对应记录一个时间差;模拟量存储优化模块,对于模拟量的时间只记录第一个采样数据对应的时间差;对于模拟量数据值的存储优化,通过基准值和差值的方式进行,差值的参考标准为所有数值中的最小值,把最小值定义为基准值,其他数值仅记录与该基准值的差值,差值所占存储大小由最大差值来确定。一种用于车联网的三级数据压缩方法,其特征在于,车载终端定义一个三级数据压缩周期,在每个周期内对整车网络采集的数据,均采用如下三个步骤对数据进行三级压缩处理后再封装上报给管理网站:压缩步骤一:数据过滤,根据信号类型将信号分为开关量,枚举量和模拟量三类,分别进行数据过滤;压缩步骤二:数据存储优化,包括时间的存储优化和模拟量数值的存储优化;压缩步骤三:通用无损压缩,使用通用无损数据压缩算法对经过数据存储优化的数据进行压缩。进一步地,压缩步骤一中的数据过滤方法具体为:对于开关量和枚举量,数据过滤方法为:数据值只有在发生变化时才处理保存,保存数据变化的时间和变化后的数值,否则,数据将被丢弃;而对于模拟量,对于每种信号,设定其向管理网站上报的周期,在这样一个周期内采集的数据,只采样保存一个数据值。进一步地,压缩步骤二中的数据存储优化方法具体为:对于时间的存储优化,每个三级数据压缩周期内,只完整记录周期的起始时间为基准时间,其他的时间都只记录与该基准时间的时间差,用一个字节存放;对于开关量和枚举量,每一个数值对应记录一个时间差,而对于模拟量,由于采样周期固定,只记录第一个采样数据对应的时间差;对于模拟量数据值的存储优化,通过基准值和差值的方式进行,差值所占存储大小由最大差值来确定;压缩步骤一与压缩步骤二是实时进行的,在所述的压缩步骤三中,数据是积累到一定时间进行一次压缩,在压缩步骤二中或在压缩步骤二与压缩步骤三的数据传输中间有一个缓存。进一步地,所述的模拟量数值的存储优化,是通过存储差值的方法,差值的参 考标准为所有数值中的最小值,把这个最小值定义为基准值,其他数值仅记录与该基准值的差值,模拟量的基准值采用四字节存储,而差值的数据类型则根据差值的最大值来选择长度尽量短的数据类型进行存储;差值的数据类型,限定存储为一字节、两字节或者四字节数据,即差值最大值小于等于一字节取值范围的,统一使用一字节存储,差值最大值大于一字节取值范围,又小于等于两字节取值范围的,统一使用两字节存储,差值最大值大于两字节取值范围的,统一使用四字节存储。进一步地,管理网站接收到扩展的数据压缩消息后,采取如下步骤对数据进行解压恢复处理:解压步骤一:通用无损解压缩,用与车载终端相同的通用无损压缩算法对消息体进行解压缩。解压步骤二:数据恢复,将经过存储优化的信息进行恢复。下面结合
发明内容与原理进一步说明:车载终端定义一个三级数据压缩周期(如15秒),在每个周期内对整车网络采集的数据,采用如下三个步骤对数据进行三级压缩处理后再封装上报给管理网站:步骤一:数据过滤。根据信号类型将信号分为开关量/枚举量和模拟量三类,分别进行数据过滤。对于开关量和枚举量,由于信号的数据值是跳变的,取值个数是有限的,而且在实际运行过程中,开关量和枚举量的数值一般不会频繁变化,在某些时间段内状态不发生变化,因此对于开关量和枚举量的数据过滤方法为:数据值只有在发生变化时才处理保存,保存数据变化的时间和变化后的数值,否则,数据将被丢弃。而对于模拟量,对于每种信号,设定其向管理网站上报的周期,在这样一个周期内采集的数据,只采样保存一个数据值。步骤二:数据存储优化经过数据过滤之后,在一个三级数据压缩周期内,对于开关量和枚举量,保存下来的是数值变化时的时间和数值,而对于模拟量,保存下来的是过滤后的N个采样时间及第一个采样值对应的时间。考虑到数据的实时性要求,车载终端定义的三级数据压缩周期一般都在秒级(如15秒),所以在一个三级数据压缩周期内,各个采样时间的变化主要是秒数的变化,而808协议中规定的时间的格式统一为YY-MM-DD-hh-mm-ss(GMT+8时间),精确到秒,采用BCD[6](6字节的8421码)数据类型存放,各个时间中的冗余信息 较多,所以数据存储优化的第一个优化点在于时间的存储优化,对于某个三级数据压缩周期,只需要完整记录周期的起始时间为基准时间,其他的时间都只记录与该基准时间的时间差,用一个字节存放即可。对于开关量,数值的变化周期不固定,所以每个采样都需要记录一个时间差,而对于模拟量,由于采样周期固定,所以只需要记录第一个采样数据采集时间的时间差即可,后续采样数据的采集时间,在管理网站上根据第一个采样数据采集时间的时间差和采样周期恢复即可。数据存储优化的第二个优化点在于模拟量数值的存储优化,也是通过存储差值的方法,不过差值的参考标准为所有数值中的最小值,把这个最下值定义为基准值,其他数值仅记录与该基准值的差值,为了降低算法的复杂度,不论模拟量的数值长度定义为几个比特(当前最大为32比特),所有模拟量的基准值都采用四字节存储,而差值的数据类型则根据差值的最大值来选择长度尽量短的数据类型进行存储。考虑到效率,差值的数据类型,限定为存储为一字节、两字节或者四字节数据,即差值最大值小于等于一字节取值范围的,统一使用一字节存储,差值最大值大于一字节取值范围,又小于等于两字节取值范围的,统一使用两字节存储,差值最大值大于两字节取值范围的,统一使用四字节存储。如车速是一个32比特的信号,每一个采样值需要占用四个字节,如果在某个三级数据压缩周期内,车速的最大差值不超过一个字节的取值范围,则该周期内其差值就只用一个字节存储即可。步骤三:通用无损压缩使用通用无损数据压缩算法对经过数据存储优化的数据进行压缩,由于终端系统资源差别很大,这里不限定特定的压缩算法,对于资源充足的终端系统,可以采用压缩比更大,但是资源开销相对也比较大的压缩算法。车载终端通过无线传输将扩展的数据压缩消息直接传送给管理网站,管理网站接收到扩展的数据压缩消息后,先解析扩展的数据压缩消息,再使用与车载终端相同的通用无损压缩算法对消息体进行解压缩,然后将经过存储优化的信息进行恢复,最后将数据存储到数据库即可。本发明提供的适用于车联网的三级数据压缩方法,有益效果在于:与不进行压缩与解压缩处理的数据传输相比,采用本发明的该种三级压缩算法,减少了无线数据传输的流量,减少信道占用时间,提高终端和管理网站的交互效率,也降低流量费用。单纯从压缩效率考察,该方法并不一定是最佳的压缩方法,因为数据存储优化部分并没有做到极限(差值长度没有精确到比特),而步骤三的通用无 损压缩也并没有限定特定的无损压缩算法,而不同的压缩算法压缩比是不同的,但是从系统总体需求考虑,通过合理选择步骤三的无损压缩算法,该三级数据压缩方法能够在压缩效率和执行速度这两个方面取得一个较好的折中,因此在车联网领域能够广泛适用。附图说明图1是本发明的三级数据压缩装置的一个实施例的结构图;图2是本发明的开关量的数据过滤方法图;图3是本发明的枚举量的数据过滤方法图;图4是本发明的模拟量的数据过滤方法图;图5是本发明的三级数据压缩装置的一个实施例的部分架构图。具体实施方式以下将结合附图和实施例对本发明进行详细描述。图1是本发明的三级数据压缩装置的一个实施例的结构图。车载终端定义一个三级数据压缩周期(如15秒),在每个周期内对整车网络采集的数据,采用如下四个步骤对数据进行三级压缩处理后再封装上报给管理网站:步骤一:数据过滤。根据信号类型将信号分为开关量,枚举量和模拟量三类,分别进行数据过滤。对于开关量和枚举量,由于信号的数据值是跳变的,取值个数是有限的,而且在实际运行过程中,开关量和枚举量的数值一般不会频繁变化,在某些时间段内状态不发生变化,因此对于开关量和枚举量的数据过滤方法为:数据值只有在发生变化时才处理保存,保存数据变化的时间和变化后的数值,否则,数据将被丢弃。图2为开关量的数据过滤方法,如图2所示,时间点t0,t1,t2,t3,t4,t5,t6分别对应着开关量值1,0,0,1,1,0,0,根据只保存发生变化时的值的原则,提取t0,t1,t3,t5时刻的关键数据点保存,而t2,t4,t6时刻的数据值丢弃不保存。类似的,图3为枚举量的数据过滤方法,图3中的枚举量取值范围为{0,3},t0,t1,t2,t3,t4,t5,t6分别对应着开关量值1,2,2,3,0,0,0,根据只保存发生变化时的值的原则,提取t0,t1,t3,t4时刻的关键数据点保存,而t2,t5,t6时刻的数据值丢弃不保存。而对于模拟量,对于每种信号,设定其向管理网站上报的周期,在这样一个周期内采集的数据,只采样保存一个数据值。如图4所示,假设车速信号上报给车载终端的周期为100毫秒,而设定其向管理网站上报的周期为2秒,则对车速的数据过滤方法为,每输入20个数据值In1,In2,In3...In20,只输出一个平均值Out1进行保存处理。考虑到系统的可扩展性,每种信号向管理网站上报的周期设计为可变的,管理网站可以通过管理报文给终端下发指令修改指定信号(或多个信号)的上报周期。步骤二:数据存储优化经过数据过滤之后,在一个三级数据压缩周期内,对于开关量和枚举量,保存下来的是数值变化时的时间和数值,而对于模拟量,保存下来的是过滤后的N个采样时间和采样值。考虑到数据的实时性要求,车载终端定义的三级数据压缩周期一般都在秒级,所以在一个三级数据压缩周期内,各个采样时间的变化主要是秒数的变化,所以数据存储优化的第一个优化点在于时间的存储优化,对于某个三级数据压缩周期,只需要完整记录周期的起始时间为基准时间,精确到秒,其他的时间都只记录与该基准时间的时间差,用一个字节存放即可。对于开关量,数值的变化周期不固定,所以每个采样都需要记录一个时间差,而对于模拟量,由于采样周期固定,所以只需要记录第一个采样数据采集时间的时间差即可,后续采样数据的采集时间,在管理网站上根据第一个采样数据采集时间的时间差和采样周期恢复即可。数据存储优化的第二个优化点在于模拟量数值的存储优化,也是通过存储差值的方法,不过差值的参考标准为所有数值中的最小值,把这个最小值定义为基准值,其他数值仅记录与该基准值的差值,为了降低算法的复杂度,不论模拟量的数值长度定义为几个比特(当前最大为32比特),所有模拟量的基准值都采用四字节存储,而差值的数据类型则根据差值的最大值来选择长度尽量短的数据类型进行存储。考虑到效率,差值的数据类型,限定为存储为一字节、两字节或者四字节数据,即差值最大值小于等于一字节取值范围的,统一使用一字节存储,差值最大值大于一字节取值范围,又小于等于两字节取值范围的,统一使用两字节存储,差值最大值大于两字节取值范围的,统一使用四字节存储。如车速是一个32比特的信号,每一个采样值需要占用四个字节,如果在某个三级数据压缩周期内,车速的最大差值不超过一个字节的取值范围,则该周期内其差值就只用一个字节存储即可。一个三级数据压缩周期超时时,将启动数据的存储优化,首先记录基准时间,然后分别对各种信号进行数据存储优化处理。对于各种模拟量信号,如表1所示记录:信号编号ID、采样个数n、第一个采样时间差△T1、采样周期T,差值长度(字节数)△VLen、基准值V、第一个采样值差值△V1...第n个采样值差值△Vn。表1:模拟量信号的数据存储优化结果IDn△T1T△VLenV△V1△V2...△Vn对于各种开关量和枚举量,如表2所示记录信号编号ID、采样个数n、第一个采集时间差△T1、第一个数据值V1...第n个采集时间差△Tn、第n个数据值Vn。表2:开关量和枚举量信号的数据存储优化结果IDn△T1V1△T2V2...△TnVn步骤三:通用无损压缩使用通用无损数据压缩算法对经过数据存储优化的数据进行压缩,由于终端系统资源差别很大,这里不限定特定的压缩算法,对于资源充足的终端系统,可以采用压缩比更大,但是资源开销相对比较大的压缩算法。在以上的步骤中,压缩步骤一与压缩步骤二是实时进行的,在所述的压缩步骤三中,数据是积累到一定时间进行一次压缩,在压缩步骤二中或在压缩步骤二与压缩步骤三的数据传输中间有一个缓存封装扩展压缩消息,由于808协议定义的数据压缩上报消息限定了压缩算法为GZIP压缩算法,而本发明中步骤三中使用的通用无损压缩算法并没有限定,所以本发明可以扩展新的消息类型用于发送经过三级压缩处理的数据。考虑到一个车联网管理网站可能和多种终端对接,所以扩展压缩消息头中需要定义一个压缩算法类型字段,用于记录车载终端所使用的无损压缩算法的类型。扩展的数据压缩报文格式如表3所示,经过三级压缩处理得到的压缩数据为消息体,消息头中除了消息ID和消息体的长度字段,为了方便管理网站解压缩,记录了一个消息体压缩前长度和压缩算法类型,另外为了增加压缩数据的安全性,还需要对消息体进行校验,并且在消息头中记录消息体校验值,扩展的数据压缩报文消息如表3所示:表3:扩展的数据压缩报文格式消息ID消息体长度消息体压缩前长度压缩算法类型消息体校验值消息体车载终端通过无线传输将扩展的数据压缩消息直接传送给管理网站,管理网站接收到扩展的数据压缩消息后,如图1,先根据消息头的内容对消息体进行解析并进行合法性校验,再使用与车载终端相同的通用无损压缩算法对消息体进行解压缩,然后根据时间差值恢复被存储优化的时间信息,根据数据差值恢复被存储优化的数据值,最后将恢复的数据存储到数据库即可。在一个具体实施例中,利用此方法形成的装置为:用于车联网的三级数据压缩装置,数据压缩装置接收来自整车的网络采集数据经处理后发送给管理网站,数据压缩装置包括依次连接的数据过滤模块、数据存储优化模块、通用无损压缩模块,其中:数据过滤模块将信号分为开关量和枚举量、模拟量二类,分别进行数据过滤;数据存储优化模块对分类后的数据均分别进行时间的存储优化和模拟量数值的存储优化;通用无损压缩模块对优化后的数据使用通用的无损数据压缩算法对经过数据存储优化的数据进行压缩;在本实施例中,三级数据压缩装置装载在车载终端上,在其他的实施例中,可以装载在其他终端上;数据存储优化模块包括缓存模块,缓存模块先将优化过的数据进行存储,当达到设定的压缩周期时,一起打包发送给通用无损压缩模块进行压缩。数据过滤装置包括信号类型分类模块、开关量和枚举量过滤模块、模拟量过滤模块:信号类型分类模块根据数据类型将数据分为开关量和枚举量、模拟量两种,并分别连接不同的过滤模块进行过滤;开关量和枚举量过滤模块在数据值只有在发生变化时才处理保存,并保存数据变化的时间和变化后的数值,否则,数据将被丢弃;模拟量过滤模块,对于每种信号,设定其向管理网站上报的周期,在这样一个周期内采集的数据,只采样保存一个数据值。数据存储优化模块,包括时间存储优化模块、开关量和枚举量存储优化模块、模拟量存储优化模块,根据数据类型不同而连接不同的模块,时间存储优化模块,对于时间的存储优化,每个三级数据压缩周期内,只完整记录周期的起始时间为基 准时间,其他的时间都只记录与该基准时间的时间差,用一个字节存放;开关量和枚举量存储优化模块,对于开关量和枚举量的时间,每一个数值对应记录一个时间差;模拟量存储优化模块,对于模拟量的时间只记录第一个采样数据对应的时间差;对于模拟量数据值的存储优化,通过基准值和差值的方式进行,差值的参考标准为所有数值中的最小值,把最小值定义为基准值,其他数值仅记录与该基准值的差值,差值所占存储大小由最大差值来确定。车载终端定义一个三级数据压缩周期,如15秒,数据经过数据压缩装置的时间在每个三级数据压缩周期内。压缩后的数据可使用JT/T808标准所规定的协议,以扩展数据类型进行传输。相应地,管理网站设有数据解压缩装置,数据解压缩装置包括依次连接的以下模块:通用无损解压缩模块、数据恢复模块,其中:通用无损解压缩模块,用与数据压缩装置相同的通用无损压缩算法对消息体进行解压缩;数据恢复模块,将经过存储优化的信息进行恢复。最后应当说明的是:以上实施例仅用以说明本案的技术方案而非对其限制;尽管参照较佳实施例对本案进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本案的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本案技术方案的精神,其均应涵盖在本案请求保护的技术方案范围当中。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1