[发明专利]一种实时数据无损压缩方法及系统无效
申请号: | 201110374947.5 | 申请日: | 2011-11-22 |
公开(公告)号: | CN103138764A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 卢学东;杨永军;孙益;程相杰;张旭;田兴东;吴景彪 | 申请(专利权)人: | 上海麦杰科技股份有限公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 何新平 |
地址: | 200233 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 数据 无损 压缩 方法 系统 | ||
技术领域
本发明涉及实时数据无损压缩方法及系统,具体是一种针对实时数据库经有损压缩处理后的无损压缩方法及系统。
背景技术
实时数据库(RTDB-Real Time DataBase)是数据库系统发展的一个分支,是数据库技术结合实时处理技术产生的。实时数据库可用于工厂流程的自动采集、储存和监视,可在线储存每个工艺过程点的多年数据,可以提供清晰、精确的操作情况画面,用户既可浏览工厂当前的生产情况,也可回顾过去的生产情况,可以说,实时数据库对于流程工业系统来说就如同飞机上的“黑匣子”。然而随着工业技术的发展,现在的大型过程控制系统的实时数据种类繁多,来源复杂,更新速度快,精度要求高,要保存的历史数据量非常大。因而如果将这些数据直接储存,会占用非常大的存储空间,还会对数据的传输、备份、分析造成困难。所以实时数据库系统急需引入数据压缩技术。
实时数据压缩技术可以分为两大类,分别是有损压缩和无损压缩。大部分实时数据库系统会先对数据进行有损压缩,再使用无损压缩算法进行二次压缩,以达到更大的压缩率。目前比较通用的有损压缩算法主要有两种,第一种是死区压缩算法,这种算法较为简单,它将采集的数据根据预定义的死区进行比较,如果该数据在死区外则记录该数值,否则滤去该数值;另一种是由美国OSI公司研发的旋转门 压缩算法(SDT),此算法已经成功的运用在了PI实时数据库系统中,此算法主要针对的对象是浮点数据类型的数据,其本质是通过一条由起点到终点确定的直线代替一些连续数据点。
实时数据无损压缩算法很多源自通用无损压缩算法,包括PPM算法、BWT算法和LZ系列算法等。PPM算法和BWT算法压缩率较高,但是这两种压缩算法耗费的压缩和解压缩时间比较长,不满足实时数据库的要求。而LZ系列算法较为简单,压缩时间更短,扩展性更强,因此本发明选择对LZ系列算法中的LZ77算法进行改进。如图1所示,LZ77算法又被称为“滑动窗口压缩算法”,这是由于该算法维护一个虚拟的,可以跟随压缩进程滑动的窗口,这个窗口中的内容即是最近的历史数据,要压缩的字符串如果在该窗口中出现,则输出其长度和出现的位置。而本发明对LZ77的改进主要在于处理匹配字符串长度及位置的方式。
Wenjun,Huang等人在2006年的The Sixth World Congress onIntelligent Control and Automation(第六届世界智能控制和自动化会议)上发表的论文《A Lossless Data Compression Algorithm for Real-timeDatabase(一种实时数据库无损数据压缩算法)》中提出了一种基于LZW算法的实时数据压缩算法。具体为先计算相邻数据的差值,并使用RLE算法和改进的LZW算法对差值进行压缩存储。但是这种压缩算法,无论在压缩和解压缩过程中都需要大量的浮点型数值运算,会对整个系统运行的时间消耗带来不利的影响。本发明提出的无损压缩方法计算量小,在压缩时间和解压缩时间上具有更大的优势,特别 适合对实时性要求比较高的实时数据库系统。
另外,目前高速发展的工业技术对实时数据库系统的性能有着很高的要求,一个实时数据压缩程序在运行的过程中必然需要频繁地动态申请内存,如此会造成三大隐患:一是容易出现内存泄露;二是会在系统中产生大量的内存碎片,降低系统内存的利用率;三是系统的内存分配函数往往通过系统调用实现,而系统调用比普通函数调用更加耗时。本发明通过构建内存池可以缓解这一性能问题。所谓内存池是指在真正使用内存之前,先申请分配一定数量的的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。
发明内容
为了适应实时数据库压缩解压缩进程对实时性的要求,本发明提出了一种实时数据的无损压缩方法及系统,专门针对经有损压缩后的数据进行二次压缩。该方法在保证压缩率的前提下,压缩与解压缩时间都具有一定优势,而且采取优化措施大大减少内存消耗,具有较高的性能。
本发明解决其技术问题所采用的技术方案是:
一种实时数据的无损压缩方法及系统,其特征在于,由两个模块组成,分别是:压缩解压模块和内存池模块;
所述压缩解压缩是本系统的主模块,负责实时数据的无损压缩和解压缩,其主要操作方法步骤包括:
1、初始化系统;
2、将未处理数据与滑动窗口内数据匹配,获取最大匹配字符串的长度以及偏移位置,如图1所示;
3、将长度和偏移位置与最近产生的匹配字符串的长度和偏移位置做比较;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海麦杰科技股份有限公司,未经上海麦杰科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110374947.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置