[发明专利]时序数据库自适应有损压缩方法、系统及介质有效
申请号: | 202210318623.8 | 申请日: | 2022-03-29 |
公开(公告)号: | CN114665884B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 王宏志;姜楠;郑博;梁栋;叶天生;燕钰;丁小欧 | 申请(专利权)人: | 北京诺司时空科技有限公司;哈尔滨工业大学 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;H03M7/40 |
代理公司: | 哈尔滨华夏松花江知识产权代理有限公司 23213 | 代理人: | 岳昕 |
地址: | 100020 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 时序 数据库 自适应 有损 压缩 方法 系统 介质 | ||
1.时序数据库自适应有损压缩方法,其特征在于包括以下步骤:
步骤一:获取待压缩的时序数据,并将待压缩的时序数据划分成不同的数据块,数据块中的数据与其他数据块中的数据不重复;
步骤二:根据精度需求,删除每个数据块中精度需求以外的数据点位;
步骤三:针对步骤二处理后的数据块,将每个数据块中相关性最小的一个数据点位作为偏差,将其余部分作为基,利用基及偏差表示对应的数据块,若含有相同的基,则对应的数据块共用一个基,并将重复的基删除,最后计算所有基和偏差所需的存储空间;
步骤四:令i=i+1,执行步骤三进行迭代,若当前所需的存储空间大于上一次所需的存储空间时,则停止迭代,并将上一次得到的基和偏差作为最终基和偏差,其中,i表示每个数据块中相关性最小的数据点位的个数;
步骤五:将最终基和偏差进行存储;
所述步骤五的具体步骤为:
步骤五一:针对得到的最终基,在基字典中查找是否存在相同的基,若基字典中存在相同的基,则记录基字典中该基的ID,若基字典中不存在相同的基,则将该基保留;
步骤五二:针对步骤五一中保留的基,遍历待压缩的时序数据,并得到保留下来的基的使用次数;
步骤五三:将保留下来的基按使用次数从小到大进行排序,然后由长ID编码至短ID编码的顺序对从小到大排序的基进行编码;
步骤五四:利用步骤五三中编码后的基以及对应的ID更新基字典;
步骤五五:将ID与偏差进行存储。
2.根据权利要求1所述的时序数据库自适应有损压缩方法,其特征在于所述步骤一中将待压缩的时序数据划分成不同的数据块的具体步骤为:
通过迭代的方式将待压缩的时序数据划分成不存在重复的数据块,误差为0.1%。
3.根据权利要求1所述的时序数据库自适应有损压缩方法,其特征在于所述步骤五的具体步骤为:
针对最终基和偏差进行熵编码,并将熵编码后的数据进行存储。
4.根据权利要求3所述的时序数据库自适应有损压缩方法,其特征在于所述熵编码为:香农编码、哈夫曼编码或算术编码。
5.根据权利要求4所述的时序数据库自适应有损压缩方法,其特征在于所述熵编码为哈夫曼编码。
6.时序数据库自适应有损压缩系统,其特征在于包括:数据获取模块、数据切割模块、数据处理模块以及存储模块;
所述数据获取模块用于获取待压缩的时序数据;
所述数据切割模块用于将待压缩的时序数据分割成不同的数据块,数据块中的数据与其他数据块中的数据不重复;
所述数据处理模块用于针对分割后的数据块,确定数据块中的基与偏差,具体步骤为:
将每个数据块中相关性最小的一个数据点位作为偏差,将其余部分作为基,利用基及偏差表示对应的数据块,若含有相同的基,则对应的数据块共用一个基,并将重复的基删除,最后计算所有基和偏差所需的存储空间;
令i=i+1,基于上述步骤进行迭代,若当前所需的存储空间大于上一次所需的存储空间时,则停止迭代,并将上一次得到的基和偏差作为最终基和偏差,其中,i表示每个数据块中相关性最小的数据点位的个数;
所述存储模块将确定的基和偏差进行存储;
所述存储模块具体执行如下步骤:
步骤1:针对得到的最终基,在基字典中查找是否存在相同的基,若基字典中存在相同的基,则记录基字典中该基的ID,若基字典中不存在相同的基,则将该基保留;
步骤2:针对步骤1中保留的基,遍历待压缩的时序数据,并得到保留下来的基的使用次数;
步骤3:将使用次数多的基进行短ID的编码,将使用次数少的基进行长ID的编码;
步骤4:利用步骤3中编码后的基以及对应的ID更新基字典;
步骤5:将ID与偏差进行存储。
7.一种计算机可读的存储介质,其特征在于所述介质存储有时序数据库自适应有损压缩程序,所述时序数据库自适应有损压缩程序被计算机执行时,具体执行如下步骤:
步骤A:获取待压缩的时序数据,并将待压缩的时序数据划分成不同的数据块,数据块中的数据与其他数据块中的数据不重复;
步骤B:根据精度需求,删除每个数据块中精度需求以外的数据点位;
步骤C:针对步骤B处理后的数据块,将每个数据块中相关性最小的一个数据点位作为偏差,将其余部分作为基,利用基及偏差表示对应的数据块,若含有相同的基,则对应的数据块共用一个基,并将重复的基删除,最后计算所有基和偏差所需的存储空间;
步骤D:令i=i+1,执行步骤C进行迭代,若当前所需的存储空间大于上一次所需的存储空间时,则停止迭代,并将上一次得到的基和偏差作为最终基和偏差,其中,i表示每个数据块中相关性最小的数据点位的个数;
步骤E:针对得到的最终基,在基字典中查找是否存在相同的基,若基字典中存在相同的基,则记录基字典中该基的ID,若基字典中不存在相同的基,则将该基保留;
步骤F:针对步骤E中保留的基,遍历待压缩的时序数据,并得到保留下来的基的使用次数;
步骤G:将使用次数多的基进行短ID的编码,将使用次数少的基进行长ID的编码;
步骤H:利用步骤G中编码后的基以及对应的ID更新基字典;
步骤I:将ID与偏差进行存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京诺司时空科技有限公司;哈尔滨工业大学,未经北京诺司时空科技有限公司;哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210318623.8/1.html,转载请声明来源钻瓜专利网。