[发明专利]一种基于列式存储技术的实时数据压缩方法有效
申请号: | 201710346825.2 | 申请日: | 2017-05-15 |
公开(公告)号: | CN107193925B | 公开(公告)日: | 2019-09-20 |
发明(设计)人: | 黄永忠;徐兵;张建强;曹福国 | 申请(专利权)人: | 浙江正泰中自控制工程有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/21 |
代理公司: | 北京维正专利代理有限公司 11508 | 代理人: | 曹晓斐 |
地址: | 310018 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 存储 技术 实时 数据压缩 算法 | ||
本发明公开了一种基于列式存储技术的实时数据压缩方法,本发明的方法对于一个具体的列包里的序列,完成了可变步距计算公式的试算和评估,以及覆盖单元计算公式的搜索和参数计算,将可压缩划分内的实时数据列包进行压缩,从而解决了存储空间占用巨大的问题,减少硬件部署数量,小型化部署环境,节省部署成本,本发明能够实现实时、高频度、大数据量的数据压缩存储,大大减少存储空间占用的问题。
技术领域
本发明涉及数据压缩技术领域,特别涉及一种基于列式存储技术的实时数据压缩方法。
背景技术
实时数据库的数据结构设计,将其划分为内存和磁盘两个部分,其中磁盘部分又分为短期历史和长期历史两个部分。内存部分和磁盘部分都是列式存储结构,只是存储的物理位置不同。短期历史部分与长期历史部分的区别是,前者未进行数据压缩,而后者进行了数据压缩。
对于内存部分,我们所采取的是读写分离技术。这种技术为数据读写分别分配两种内存缓冲区。其中读区域只能用来读出数据,不能写入数据;写区域只能用来写入数据,不能读出数据。写区域是数个轮番写入数据的内存缓冲区。读区域则是一个内存区块的链接表,由写满数据的写区域转化而来。对于数据读取专门进行了缓存策略优化。
数据压缩的策略就是,只对长期历史部分进行压缩,而对短期历史部分不进行压缩。这是因为从用户需求来看,短期历史数据相较于长期历史数据仍然可能被程序频繁读取,因此不进行数据压缩可以避免查询时的效率损耗。在目前主流硬盘规格条件下,(不压缩的)短期历史部分的数据量是可以接受的。对此,主荐的磁盘类型是固态硬盘(SSD),可实现高性能的读写操作。
列式存储技术将数据按列包存储,每个数据包内都是同构数据,内容相关性高,存在被高度压缩的基础。在具体的压缩算法中,目前使用最广泛的是旋转门算法(SDT)。
旋转门算法比较擅长于压缩存在较多具有同一变化趋势的数据段的实时数据,但是对于以锯齿状为主的实时数据,压缩效率就比较低。究其原因,旋转门算法是一种线性拟合算法,而从工业设备采集的测量数据,很少是线性的。其背后的原因,决定现实中物理量变化的因素是多方面的,而且以非线性为主。
发明内容
本发明的目的是提供一种基于列式存储技术的实时数据压缩算法,对于一个具体的列包里的序列,完成了可变步距计算公式的试算和评估。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种基于列式存储技术的实时数据压缩方法,所述方法包括下述步骤,
(1)读入实时数据列包Xi,i=1,2,...,n,Xi为第i个对应的数据值;
(2)设△F为精度值,若对于列包中的序列Xi(a≤i≤b),有定义在[Ta,Tb]上的函数Fi=f(Ti),使得:
|Xi-Fi|≤△F
|X(a-1)-F(a-1)|>△F
|X(n+1)-F(n+1)|>△F
则称区间[Ta,Tb]为对于f(Ti)和△F的可压缩区间,称Fi=f(Ti)为Xi的一个覆盖函数;
所有覆盖函数都被事先赋予一个代码fid;在精度△F的意义上,用fid、f(Ti)的所有参数值以及a、b来替代可压缩区间内的所有Xi,实现数据压缩;
(3)对下标i赋予一个可变性,以下述函数表达:
i=S(j) (i,j∈{0}∪N)
S(j)称为一个划分函数,对应于其值域的集合{Ti|i=S(j)}称为一个划分,记为Γ(S);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江正泰中自控制工程有限公司,未经浙江正泰中自控制工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710346825.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高性能环保拖鞋
- 下一篇:一种使用手机拍照扫描生成脚部模型及数据的方法