[发明专利]X-BIT压缩编码算法有效

专利信息
申请号: 201210404833.5 申请日: 2012-10-23
公开(公告)号: CN102904580A 公开(公告)日: 2013-01-30
发明(设计)人: 刘有志;唐新华;罗文理;李志金;谌志东;刘克勤 申请(专利权)人: 湖南大唐先一科技有限公司
主分类号: H03M7/46 分类号: H03M7/46
代理公司: 南昌新天下专利商标代理有限公司 36115 代理人: 胡山
地址: 410000 湖南省长沙市岳*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: bit 压缩 编码 算法
【说明书】:

技术领域

发明涉及数据压缩领域,具体为一种X-BIT压缩编码算法。

背景技术

实时数据库广泛应用于电力、电信、钢铁、石油化工、装备制造等领域,主要用于存储工业生产过程中测量点数据(包括点ID、值、时间戳、点状态),负责实时数据(当前测量点值)的读写和历史数据(过去的值)读取,是一种时序数据,它的主要特点是:短时间内数据值相差不大。

对于历史数据的压缩,一般使用的以字符为依据的通用压缩算法(如ZIP、RAR等)是无法达到理解效果的,有时压缩的结果可能比未压缩前更占空间大。目前在业内使用最多的两种实时数据压缩算法是PI使用的旋转门压缩算法和EDNA使用的霍夫曼压缩算法。旋转门压缩算法的压缩比高,但它是有损压缩,数据有失真,对于某些高精度的要求无法满足。哈夫曼压缩算法是编码压缩的一种,通过构造哈夫曼树来实现编码和压缩,哈夫曼压缩算法属于无损压缩,但是要想得到较高的压缩率,需要进行一些特殊的处理。以EDNA为例,虽然它通过一些特殊的处理提高了压缩比,但确牺牲了历史数据的检索效率。

现有技术还存在以下缺点:1、目前使用的按字节压缩(如ZIP、RAR、霍夫曼)主要缺点是压缩率比较低,对二进制数据压缩,压缩率更低。2、有损压缩(旋转门)虽然压缩率比较高,但是数据有一定的失真。

发明内容

本发明所解决的技术问题在于提供一种X-BIT压缩编码算法,以解决实时数据库中,历史数据压缩问题,保证了数据不失真的情况下,提高数据的压缩率,减少磁盘的占用,提高海量数据存储能力。

本发明所解决的技术问题采用以下技术方案来实现:

X-BIT压缩编码算法,具体压缩过程如下:

(1)数据准备并转换:数据在经过实时服务处理后,时间戳将转换成以秒为单位的UTC时间,每条记录用13个字节来存储原始数据;

(2)时间差分:对存储的原始数据进行时间差分处理;

(3)值排序:采用快速排序算法对时间差分处理后的数据进行值排序;

(4)计算序号最大位数:计算出最大序号的最小二进制位;

(5)生成序号压缩流:根据第(4)步计算出的序号最大位数,将序号写入缓存流中;

(6)生成状态压缩流:通过分析状态数据的重复率来决定采用的压缩方案;目前的设置是,当有1/3的状态相同时,采用重复计数法进行压缩;否则,采用按位压缩法;

重复计数法:在进行状态数据分析的同时,将生成一张二维表,记录了每一段重复状态的索引位置和重复数,压缩方案标志占1个位,表示后续压缩数据的压缩方案,在解压时会根据该标志来自动选择解压方案;重复次数使用第(4)步中计算的序号最大位数来存储;接下来的3个位存储状态值;

按位压缩法:以3位为标准来存储状态值;

(7)生成时差压缩流:通过分析时差数据的重复率来决定采用的压缩方案;目前的设置是,当有1/2的时差相同时,采用重复计数法进行压缩;否则,采用按位压缩法;

重复计数法:在对时差数据进行分析的同时,将生成一张二维表,记录了每一段重复时差的索引位置和重复数;时间的第一记录值保留原值;

按位压缩法:通过标志位将不同数值范围内的数按不同的位数进行存储;

(8)生成差值压缩流:通过分析差值数据的重复率来决定采用的压缩方案;目前的设置是,当有1/4的差值相同时,采用重复计数法进行压缩;否则,采用按位压缩法;

重复计数法:处理方式与第(7)步中的重复计数法相同;

按位压缩法:先采用倍率转整算法;再通过标志位将不同数值范围内的数按不同的位数进行存储,此时的处理方式与第(7)步中的按位压缩法相同;

 (9)组合:将之前各个步骤输出的结果组合成一个字节流,即是压缩结果。

本发明中,第(7)步中的按位压缩法的具体方法为:通过标志位设置四套存储方案,将不同数值范围内的数按不同的位数进行存储,四套存储方案分别是:时差≤3时,标志位为00,采用2个二进制位存储;3<时差≤63时,标志位为01,采用6个二进制位存储;63<时差≤1024时,标志位为10,采用10个二进制位存储;1024<时差≤4294967295时,标志位为11,采用32个二进制位存储。

本发明中,第(8)步中的倍率转整算法的具体方法为:据本批数据的实际情况,对数据进行转整;查找差分值中小数位最长的一位,根据最长的小数位设定本组值的倍率。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大唐先一科技有限公司,未经湖南大唐先一科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210404833.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top