[发明专利]一种报文压缩存储方法及装置在审
申请号: | 201711227888.2 | 申请日: | 2017-11-29 |
公开(公告)号: | CN107968782A | 公开(公告)日: | 2018-04-27 |
发明(设计)人: | 见永刚;郭森 | 申请(专利权)人: | 北京经纬恒润科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/40 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100101 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 压缩 存储 方法 装置 | ||
技术领域
本发明涉及车载总线技术领域,特别是涉及一种报文压缩存储方法及装置。
背景技术
随着汽车产业快速发展,CAN总线被用作汽车各类零部件间的通信总线,实现各类零部件间的数据传输。为了对各类零部件的状态进行监控和预测,整车运行时,需要对采集的CAN总线上CAN报文进行存储。
现有的报文存储方法,对采集到的CAN报文按照总线进行存储或者按照CAN ID进行存储,存储基本格式为:时间戳+ID+报文内容。
发明人对现有技术的研究过程中发现,现有的存储方式虽然能够完整的存储CAN总线上的报文,但是,由于对报文的获取为周期性获取,如每隔1秒采集一次CAN总线上的报文,并且在不同的周期中相同总线上的报文大部分数据位或信号的变化不会很大,所以就导致重复记录了很多时间戳信息。
例如,当整车在不拥堵的高速上行驶时,大部分时间整车都在匀速行驶,因此,相邻两个采集时间点所获取的CAN报文不仅时间戳重复性高,CAN报文的报文内容也几近相同,如,第一采集时间点所获取的CAN报文的第一时间戳为×年×月×日×时A分,第一报文内容为80公里/小时,与第一采集时间点相邻的第二时间点所获取的CAN报文的第二时间戳为×年×月×日×时B分,第二报文内容为85公里/小时,可见,第一时间戳与第二时间戳仅“分”值不同,而“年、月、点”的值都相同,同样地,第一报文内容与第二报文内容的高位“8”相同,仅低位不同,如果按照现有技术的报文存储方法,会将第一时间戳、第二时间戳、第一报文内容和第二报文内容分别存储,但由于第一时间戳与第二时间戳、第一报文内容与第二报文内容的重复性,现有技术的存储方法无疑会造成存储空间的浪费和存储效率的低下。
发明内容
为解决上述技术问题,本发明实施例提供了一种报文压缩存储方法及装置,以解决现有技术中浪费存储空间、存储效率低的问题,技术方案如下:
一种报文压缩存储方法,包括:
接收原始报文数据;
获取所述原始报文数据中的各个时间戳,第一时间戳为所述原始报文数据的基准时间,依据所述各个时间戳计算各个时间段变化量;
获取所述原始报文数据中的各个报文数据段,将所述各个报文数据段中的第一报文数据段作为基本报文数据段,依据所述各个报文数据段计算各个报文数据段变化量;
记录所述原始报文数据的块头信息、所述原始报文数据的基准时间、所述各个时间段变化量、所述基本报文数据段和除所述第一报文数据段以外的各个报文数据段变化量。
优选地,所述块头信息包括:通道号、CAN ID号、自定义重构字节序和报文发送周期,所述块头信息的长度为64Byte。
优选地,所述依据所述各个时间戳计算各个时间段变化量,包括:
按照所述时间戳由先至后顺序,逐个计算在后与在前两个相邻的时间戳的差值,获得一组时间差;其中,将第二时间戳与所述第一时间戳的差值作为第一时间段变化量;
按照获得所述时间差的先后顺序,逐个计算在后与在前两个相邻的所述时间差的差值作为各个时间段变化量。
优选地,还包括:依据预设区间,确定所述各个时间段变化量的长度和值,存储所述各个时间段变化量的长度和值:
若Tn=0,则Tn长度为1bit,值为0;
若Tn在第一区间[-63,64),则Tn长度为9bits,值为(10+Tn)b;
若Tn在第二区间[-255,256),则Tn长度为12bits,值为(110+Tn)b;
若Tn在第三区间[-2047,2048),则Tn长度为16bits,值为(1110+Tn)b;
若Tn在所述第三区间以外,长度为36bits,值为(1111+Tn)b;
其中,Tn为所述各个时间段变化量中的任一时间段变化量,所述预设区间包括所述第一区间、所述第二区间和所述第三区间。
优选地,所述依据所述各个报文数据段计算各个报文数据段变化量包括:
XORn=dnXORdn-1;
其中,n为大于等于2的正整数,dn为第n个报文数据段,dn-1为第n-1个报文数据段,XORn为所述各个数据段变化量中的任一数据段变化量,XOR为取异或运算。
优选地,还包括:
依据预设条件,确定所述数据段变化量的长度和值,存储所述各个时间段变化量的长度和值。
优选地,依据预设条件,确定所述数据段变化量的长度和值,包括:
若XORn等于0,则Dn长度为1bit,值为(0)b;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京经纬恒润科技有限公司,未经北京经纬恒润科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711227888.2/2.html,转载请声明来源钻瓜专利网。