CN1786939A - 实时数据压缩方法 - Google Patents
实时数据压缩方法 Download PDFInfo
- Publication number
- CN1786939A CN1786939A CN 200510115119 CN200510115119A CN1786939A CN 1786939 A CN1786939 A CN 1786939A CN 200510115119 CN200510115119 CN 200510115119 CN 200510115119 A CN200510115119 A CN 200510115119A CN 1786939 A CN1786939 A CN 1786939A
- Authority
- CN
- China
- Prior art keywords
- numerical value
- dictionary
- time data
- data
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种实时数据压缩方法,用于过程控制系统中对数据包数据进行压缩,所述实时数据包括模拟量的数值,该方法包括:1)初始化字典,将压缩过程中可能出现的字符初始化到字典中;2)读入数值;3)将实时数据的相邻数据相减获取差值,在压缩文件中保存读入的第一个数值;4)采用LZW算法对所述差值进行压缩。本发明实现了对实时数据的无损压缩,压缩过程安全可靠;同时,采用本发明的方法对过程控制系统数据的压缩及解压过程均具有很好的快速性,能够满足实时数据库的要求,提高了历史数据的查询效率。
Description
技术领域
本发明涉及实时数据处理方法,特别是涉及过程控制系统中一种实时数据压缩方法。
背景技术
过程控制系统中的实时数据库提供历史数据存储功能,用来保存现场的过程数据,以备工艺分析、故障追溯以及控制方案改进等参考用途。由于现今控制系统的应用趋向于大型化,系统内的信号数量成倍增加,而控制系统又需要长期运行,要保存的历史数据量非常大,因而,如果将这些数据直接存储,不仅会占用大量的系统存储空间,而且会使数据的传输、转存变得困难。基于上述的需求,需要将数据压缩技术引入过程控制系统。
参照图1,过程控制系统中的历史数据分为三大类:数值、时间标签和质量码。数值包括开关量的数值、模拟量的数值和累积量的数值,模拟量的数值是其中冗余度最低、最难压缩的数据;根据数据精度的不同,模拟量的数值又分为百分量和浮点值。
数据压缩技术是随着信息论的发展而产生的,在发展的过程中逐步出现了通用压缩技术以及专用领域的压缩技术。通用压缩技术的典型算法包括:PPM算法、BWT算法和LZ系列算法等,他们通常以计算机存储的最小单位“字节”为单元进行压缩处理,而不管数据本身的特质。专用压缩技术针对相关技术领域,如多媒体压缩技术、过程数据压缩技术等。这些技术或针对特定数据设计专门算法,或用通用算法变形改造,但一定会充分利用数据本身的特征。
目前,在过程控制领域中应用较多的专用压缩算法大致包括下面两种,第一种是死区数据方法,它将采集的过程数据根据预定义的死区进行过滤,如果该死区定义为0,则表示如果该标签的当前值与前一个值不同时,该值被记录,如果完全一致,该值被滤除;另一种是基于变化率的矢量压缩,典型的代表是美国OSI公司开发的旋转门压缩算法,该算法的原理是通过查看当前数据点与前一个被保留的数据点所构成的压缩偏移覆盖区来决定数据的取舍;如果偏移覆盖区可以覆盖两者之间的所有点,则不保留该数据点,如果有数据点落在压缩偏移覆盖区之外,则保留当前数据点的前一个点,并以最新保留的数据点作为新的起点。
上述两种压缩算法通常是有损的,其本质是在相邻的时间区域内过滤重复的数据点,这个区域宽度越大,压缩损伤越厉害,将导致数据的人为不连续性。而且此种方法是通过减少保留的数据点的个数来实现压缩的,所压缩的比例非常有限,如果遇到抖动比较剧烈的数据波形,则必须先进行数据滤波然后再行压缩。这样的压缩过程将使数据整体失去线性特征,不适合用于精度要求高的场合。
中国专利申请号200310108294.1,发明名称为实时数据在线压缩与解压缩方法,在该专利申请文件中公开了一种实时数据压缩方法,该方法实现了对于历史数据的无损压缩,由其申请文件记载可知,该技术方案目的在于提供适合实时数据在线压缩的方法,其中包括适合在线压缩的文件结构。本发明可作为实时数据在线压缩与解压缩方法该申请案的后续方案,主要目的是解决上文所述现有技术中存在的问题,提高实时数据压缩执行模块的压缩效果,以节省存储空间,进一步提高查询效率。
发明内容
本发明的目的是提供一种过程控制系统中实时数据压缩方法,该方法能够对实时数据进行高效无损压缩。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的。
一种实时数据压缩方法,用于过程控制系统中对数据包数据进行压缩,所述实时数据包括模拟量的数值,该方法包括:1)初始化字典,将压缩过程中可能出现的字符初始化到字典中;2)读入数值;3)将实时数据的相邻数据相减获取差值,在压缩文件中保存读入的第一个数值;4)采用LZW算法对所述差值进行压缩。
上述方法3)中进一步包括:判断所述差值是否大于已初始化到字典中的字符项数,若不大于则进行4);否则,采用LZ78算法对所述差值进行压缩。
上述方法基础上,1)中压缩过程中可能出现的前256项字符初始化到字典中。当过程控制实时数据为浮点值时,2)中进一步包括:读入实时数据量程上下限,将所述实时数据转化为其量程内的百分数;并且还可进一步判断:判断该数据包数值波动幅度是否大于预置的门限,如果大于则进行3);否则,取该包数据最小值,将每个数值与所述最小值相减获取差值,在压缩文件中保存所述最小值,并进行4)。
当过程控制的实时数据包括开关量数值时,则在1)之前将历史数据分类,包括:提取模拟量数值,进行1);以及提取开关量数值,并判断开关量是否为0,若是则向压缩文件写入一位0,否则向压缩文件写入一位1。
当过程控制的实时数据包括累计量数值时,则1)之前将历史数据分类,包括:提取模拟量数值,进行1);以及提取累计量数值进行以下操作:71)初始化字典,将压缩过程中可能出现的字符初始化到字典中;72)读入数值;73)将实时数据的相邻数据相减获取差值,在压缩文件中保存读入的第一个数值;74)采用LZW算法对所述差值进行压缩。
当过程控制的实时数据包括时间标签时,则在1)之前将历史数据分类,包括:提取模拟量数值,进行1);以及提取时间标签进行以下操作:81)存储第一个时间标签,将相邻两个时间标签值相减获取差值;82)采用RLE算法对所述差值进行压缩。
当过程控制的实时数据包括质量码时,则在1)之前将历史数据分类,包括:提取模拟量数值,进行1);以及提取质量码采用RLE算法进行压缩。
本发明的另一种实时数据压缩方法,用于过程控制系统中对数据包数据进行压缩,所述实时数据包括模拟量的数值,具体为:1)初始化字典,将压缩过程中可能出现的字符初始化到字典中;2)读入数值;3)取该包数据最小值,将每个数值与所述最小值相减获取差值,在压缩文件中保存所述最小值;4)采用LZW算法对所述差值进行压缩。
在上述方法基础上,在3)中进一步包括:判断所述差值是否大于已初始化到字典中的字符项数,若不大于则进行4);否则,采用LZ78算法对所述差值进行压缩。
当过程控制实时数据为浮点值时,2)中进一步包括:读入实时数据量程上下限,将所述实时数据转化为其量程内的百分数。
综上所述,本发明的优点在于:由于本发明的压缩方法是在通用压缩算法基础上进行的改进,因而实现了对实时数据的无损压缩,并且压缩过程安全可靠;同时,采用本发明的方法对过程控制系统数据的压缩及相应的解压过程均具有很好的快速性,能够满足实时数据库的要求,提高了历史数据的查询效率。
进一步,本发明根据过程控制系统数据的特征设计不同的压缩算法,并在压缩前对实时数据进行预处理,大大提高了实时数据的冗余度,使得数据压缩率有很大的提高。
附图说明
图1为过程控制系统中历史数据分类示意图;
图2为本发明中时间标签压缩流程图;
图3为本发明中质量码压缩流程图;
图4为本发明中开关量数值压缩流程图;
图5为本发明中浮点值和累积量数值的压缩流程图;
图6为本发明浮点值预处理方法流程图;
图7为本发明百分量数值压缩流程图。
具体实施方式
如背景技术所述,过程控制系统中的历史数据分为三大类:数值、时间标签和质量码。数值是数据点的值;时间标签和质量码是对数据点属性的描述,其中时间标签描述数值采集的时间点,质量码描述数据信号工作的质量状态。
数值是历史数据中最关键的部分,分为开关量的数值、模拟量的数值和累积量的数值三种。开关量的数值一般采用1个字节来表示,其值有0或非0两种,分别表示该数值对应的信号状态为关或开。
模拟量的数值是最难压缩的部分,其按数据精度不同还分为百分量和浮点值两种,百分量大多采用12~16位的整数来表示,浮点值采用2~4字节的低精度浮点来表示。模拟量数值的特点在于:数据具有较好的连续性,但由于采样过程的原因,大部分过程数据会存在微幅抖动现象,即相邻两点之间的小幅波动比较普遍,但大幅波动或者突变不常见;数据的整体相关性不强,波形没有显著特征,具有较大的随机性。累积量的数值是将模拟量的数值按照一定的时间周期累加得到的,由于其需要表示的数据范围较大,采用6~8字节的高精度浮点来表示。
时间标签用于标识数值采集的时间。控制系统一般以固定的周期进行数据采样,并打上当前时刻的时间标签。因此,时间标签基本按时间周期呈等差数列排列,只有当出现漏点现象时,时间值出现不规则跳变。一般的,漏点现象作为系统的一种故障现象,出现是个别、孤立的,不会对数据的整体形态产生影响。
质量码是对数据信号工作质量状态的描述。通常0表示工作状态正常,非零则表示信号数据可疑或已出现异常。质量码数据的特点十分明显,正常状态下始终保持0状态,出现异常时其数值一般也会保持较长的一段时间。整体上,质量码数据极少出现快速、频繁的波动,总是定值分段连续。
本发明的核心思想是:三类数据的数据特征不同,为了得到好的压缩效果,本发明首先将历史数据分类提取,再根据每类数据的数据形态设计压缩算法;其中,对于时间标签和质量码进行预处理后采用RLE算法进行压缩处理;对于浮点值和累积量的数值采用改进过的LZW算法进行压缩,并在压缩前对数据进行预处理以提高数据冗余度,从而提高压缩率;对于百分量的数据特征设计了一种新型的压缩算法RTLZ,该压缩算法以LZW算法为基础,在字典结构上将LZW与LZ78算法相结合,并改变了LZW按字节压缩的方式,采用按值压缩的方式。
在过程控制系统的实时数据库中通常至少包括数值部分,并且,在更加完善的系统中还会包括时间标签和质量码这两种数据;进一步,在数值中,一定存在模拟量的数值,进而该模拟量的数值可能是百分量或是浮点值的其中一种,也可能两种都同时存在,并且多数情况下百分量和浮点值都存在;数值中开关量的数值有可能不存在于实时数据中,而累积量的数值是多数情况下都不存在于过程控制系统的实时数据。
以下具体说明本发明中对过程控制系统的历史数据的压缩方式。在该实施例中,假设过程控制系统中包括上述所有类型的数据。
由于各类数据的数据特征不同,对于绝大多数的压缩算法而言,数据的同质性越强,压缩率越高,而对压缩速度一般没有太大影响。对于过程控制系统的实时数据,首先将所述实时数据分类。即分别提取时间标签、质量码、开关量数值、百分量数值、浮点值、累计量数值。
将实时数据进行分类后,分别对每类数据进行压缩。本发明所采用的压缩算法是以通用压缩算法为基础,根据数据特征对其加以改进和创新得到的,因此,首先必须从通用压缩算法中找到一类适合应用于实时数据库中的压缩算法。一般来说,除非是数据的冗余度非常高,否则,一种压缩算法很难同时兼顾压缩时间和压缩率。由于实时数据库对实时性的要求很高,本发明在选择压缩算法时,首要考虑其压缩和解压缩时间。在分析了各种典型的通用压缩算法后,本发明选择RLE算法压缩时间标签和质量码,并在对时间标签进行压缩之前进行了预处理;选择LZW算法压缩浮点值和累积量的数值,为了提高数据的压缩率,对LZW算法做了改进,并在压缩前对数据进行了预处理;开关量的数值由于本身规律性非常明显,只需对其进行一些处理就可以达到压缩的目的;而百分量的压缩方法,则是采用将LZW算法与LZ78算法相结合的新型算法RTLZ来实现压缩的。下面将分别介绍各类数据的压缩流程。
参照图2,说明本发明的时间标签压缩流程。时间标签的规律性比较明显,即在一般情况下,时间标签的差值为同一个值——时间记录周期,将时间标签的差值采用RLE算法压缩可以得到较好的压缩效果。
通用算法中的RLE压缩算法是从多媒体压缩发展出来的一种简单的压缩算法,它对于数据连续相同的文件压缩性能极好。其原理是:如果d连续出现n次,则以单个字符对nd替换n次出现者。例如,字符串“aaaabccccc”,采用RLE压缩算法压缩后变成@4ab@5c。其中@是一个标识字符,它必须在字符串中从来没有出现过,标识它后面的字符对是表示重复字符串的(详见《数据压缩原理与应用(第二版)》:13页)。
本发明对于时间标签的压缩方法是在RLE算法的基础上加入对时间标签的预处理方法得到的,过程如下:
步骤S21,存储时间标签的基准值;对时间标签的预处理方法是将原数据取差值,为了在解压缩的时候将数据无损还原,需要在压缩开始时保存时间标签的基准值——第一个时间标签值;
步骤S22,采用差值法进行预处理;该步骤对时间标签进行预处理,所述差值的求取方法是将相邻的两个时间标签值相减,基于时间标签的数据特点,获得的差值大部分等于同一个值——时间记录周期;
步骤S23,判断前后两个差值是否相等,如相等,则进入步骤S24;如果不相等,则进入步骤S25;
步骤S24,统计差值相等次数;最初的差值相等次数初始化为0,在步骤S23中若两个差值相等,则将差值相等次数加1,返回步骤S22;
步骤S25,存储差值相等次数;当下一个差值与当前差值不相等时,将差值相等的那段数据的压缩结果进行存储,首先存储差值相等次数;
步骤S26,存储差值;至此一段数据的压缩结束,若文件还没有压缩完成,则重新进入步骤S22,开始压缩下一段数据。
参阅图3,具体说明本发明中质量码的压缩流程。所述质量码数据的特点是定值分段连续,不需要进行任何预处理,即可采用RLE算法进行压缩,过程如下:
步骤S31,读取质量码;
步骤S32,判断前后两个质量码的值是否相等;如相等,则进入步骤S33;如果不相等,则进入步骤S34;
步骤S33,统计质量码相等次数;在步骤S33中质量码相等的情况下,将质量码相等次数加1,返回步骤S31;
步骤S34,存储质量码相等次数;在步骤S33中质量码不相等的情况下,将一段数据的压缩结果存储起来,首先存储质量码相等次数;
步骤S35,存储质量码的值;至此,一段数据的压缩结束,若文件还没有压缩完成,则重新进入步骤S31,开始压缩下一段数据。
参阅图4,具体说明本发明中开关量数值的压缩流程。开关量数据本身的冗余度极高,只需对其进行简单的处理就可以得到非常好的压缩效果,过程如下:
步骤S41,读入开关量;每次读入一个开关量数值,对其做下面的处理以实现压缩;
步骤S42,判断开关量的值是否为0,如果是,则进入步骤S43;否则,进入步骤S44;
步骤S43,向压缩文件写入一位0;以1bit来表示开关量的一个数值,由此实现对开关量的压缩;若文件压缩尚未完成,重新进入步骤S41;
步骤S44,向压缩文件写入一位1,如果文件压缩尚未完成,重新进入步骤S41。
通常过程控制系统中,浮点值由2到4字节的低精度浮点表示,累积量数值由6~8字节的高精度浮点来表示,这两种类型的数据在所采用的编程环境下,其二进制编码以字节为单位,没有规律性,而通用压缩算法是以字节为单位进行压缩的,因此,采用通用压缩算法直接对这两类数值进行压缩,效果均不理想。本发明选择通用压缩技术中的LZW算法做为其压缩算法,并根据压缩算法的不足进行了两方面改进:首先,针对字典容量有限和字符串匹配速度较慢的问题,改进后的压缩算法设计了特定的字典模型,该字典模型针对数据形态定制字典容量,并采用散列函数实现字符串的匹配,大大提高了算法的执行速度;其次,对于LZW算法压缩率不高的问题,改进的方法是在压缩前对数据进行预处理,使数值的数据形态与LZW算法的特征紧密结合,以提高压缩率。
如背景技术中所述,通用压缩算法包括PPM算法、BWT算法和LZ系列算法。LZ系列算法是基于字典模型的压缩算法,其原理是以字典的索引号代替它所表示的字符串。LZ系列算法包括LZ77、LZ78、LZW以及它们的各种变体,其应用最为广泛,PKZIP、WinZIP、gzip等压缩工具中都有它的影子。
其中,LZW算法的基本原理是:首先将所有可能出现的字符初始化到字典中,在压缩进程中,如果当前字符串在字典中出现过,则将下一个字符添加到当前字符串中,查找其在字典中是否有匹配,如此继续;若当前字符串不在字典中,则将当前字符串加入字典,并输出当前最大匹配串的字典索引,将当前字符串置为其最后一个字符。LZW解压缩时,只要与压缩时同步的维护字典,就可以将字典还原,实现解压(详见《数据压缩原理与应用(第二版)》:129-137页)。
假设待压缩字符串为“abababcd”,具体说明LZW算法的压缩原理,参照表1的压缩流程。
步骤1,初始化字典,把所有可能出现的字符初始化到字典中,本字符串中的出现了4个字符a,b,c,d,将其初始化为字典的前4项,字典索引分别为0,1,2,3;步骤2,开始压缩,当前字符为a,在字典中已经出现过,读入下一个字符b,字符串ab在字典中未出现过,则将ab加入字典中,字典索引为4,并输出最大匹配串a对应的字典索引0,将当前字符串置为b;步骤3,读入下一个字符a,将其添加到当前字符串中,查找当前字符串ba是否在字典中出现过,未出现,则将ba加入字典,字典索引为5,并输出最大匹配串b对应的字典索引1,将当前字符串置为a;步骤4,读入下一个字符b,当前字符串为ab,查找ab是否在字典中出现过,找到匹配,再读入下一个字符a,查找当前字符串aba是否在字典中出现过,未出现,则将aba加入字典,字典索引为6,并输出最大匹配串ab对应的字典索引4,将当前字符串置为a;步骤5,读入下一个字符b,当前字符串为ab,ab已在字典中,读入字符c,查找当前字符串abc是否在字典中,未找到,则将abc加入字典,字典索引为7,并输出最大匹配串ab对应的字典索引4,将当前字符串置为c;步骤6,读入字符d,查找当前字符串cd是否在字典中出现过,未出现,则将cd加入字典,字典索引为8,并输出最大匹配串c对应的字典索引2,将当前字符串置为d;步骤7,无待压缩的字符,输出当前字符串d对应的字典索引3,压缩完成。
步骤 | 待压缩字符串 | 字典 | 输出 | |
索引 | 字符串 | |||
1(初始化字典) | 0 | a | ||
1 | b | |||
2 | c | |||
3 | d | |||
2 | abababcd | 4 | ab | 0 |
3 | bababcd | 5 | ba | 1 |
4 | ababcd | 6 | aba | 4 |
5 | abcd | 7 | abc | 4 |
6 | cd | 8 | cd | 2 |
7 | d | 3 |
参照图5,具体说明本发明中对浮点值和累积量数值的压缩流程。
步骤S51,初始化字典;LZW算法在压缩前需要将有可能出现的字符初始化到字典中,本发明在压缩前将字典的前256项初始化,即将前256个可能出现的字符初始化到字典中;然而,本发明中并不限定初始化到字典中的字符数,本实施例所述256为本发明推荐值;
步骤S52,读入数值,并对其做相应的预处理;浮点值与累积量的数值的数据特征不同,本发明采用不同的预处理方法对其进行处理:累积量的数值是将模拟量的数值按照一定的时间周期累加得到的,因此,累积量的数值前后间的差值通常是相近的,且这个差值总是正值,基于上述累积量数值的数据特征,采用差值法对累积量的数值进行预处理,即用当前累积量的数值减去其前一个累积量的数值,对得到的差值进行压缩,并将第一个累积量的数值保存到压缩文件中以便解压缩时还原;
浮点值的预处理方法较为复杂,其流程如图6所示,将在后文进行介绍;
步骤S53,按字节读入处理后的数值;浮点值与累积量的数值均是大于1个字节的,由于LZW算法是按字节进行压缩,因此每次只读入数值的一个字节,直至该数值压缩完成;
步骤S54,将读入的字符添加到当前字符串中;当前字符串初始时为空,随着数值输入不断变化,LZW算法的搜索和匹配操作都是针对当前字符串进行,每读入一个字符,就将该字符添加到当前字符串中;
步骤S55,搜索当前字符串是否在字典中;在字典中采用散列方式搜索当前字符串,该方式的搜索速度较快;若当前字符串在字典中,则进入步骤S58,否则,进入步骤S56;
步骤S56,输出当前最大匹配串的字典索引;当前字符串不在字典中,则将能够在字典中搜索到的最长字符串的字典索引输出,由此达到压缩的目的;
步骤S57,将当前字符串加入字典,将该字符作为当前字符串;由于当前字符串在字典中未出现过,将其添加到字典中,以便使得再出现该字符串时,可以在字典中查找到匹配;当前字符并未经过压缩,因此将其作为当前字符串,继续进行压缩;
步骤S58,判断该数值是否压缩完毕;判断是否当前数值的所有字节都已压缩完成,如果是,则进入步骤S52,否则,进入步骤S53。
参照图6,具体说明本发明中浮点值预处理方法流程,即对应于上文S52中对浮点值的预处理。基于过程控制系统中浮点值数据具有较好的连续性,相邻两数据间的小幅波动比较常见,大幅波动较少,对其相邻数据取差值,这个差值通常是相近的,进而达到了增强数据冗余度的目的,但由于浮点值的编码方式比较特殊,即使两个数值非常相近,其二进制编码以字节为单位也是没有规律的,为了进一步增强数据冗余度,本发明采用将浮点值转化为其在量程范围内的百分数,再对转化后的浮点值取差值的方法来进行预处理。具体处理流程如下:
步骤S61,判断数据包数值是否波动较大;在将浮点值转化为量程内的百分数后,还需对其做进一步的预处理,包括两种方法:差值法和最小值法;如果数值波动较大,则进行步骤S62,后续将进一步采用差值法进行预处理,否则进行步骤S63,后续将进一步采用最小值法进行预处理;
本步骤对数据包数值波动判断为本领于的公知技术,常用的方法为:预置一门限值,将数据包中最大值与最小值求差值,判断差值与所述门限值的大小,当差值大时则认为该数据包数值波动较大,否则判定为数值波动不大;
步骤S62:读入数据量程上下限,将浮点值转换为量程内的百分数,在压缩文件中存储读入的第一个数值,进行步骤S64;浮点值的预处理需要在已知量程上下限的情况下进行,所述的第一个数值作为基准值用于压缩的处理;
步骤S63:读入数据量程上下限,将浮点值转换为量程内的百分数,在压缩文件中存储该包数据的最小值,进行步骤S65;浮点值的预处理需要在已知量程上下限的情况下进行,所述的最小值作为基准值用于压缩的处理;
步骤S62与S63中均包括存储基准值,如上所述,在压缩文件中存储基准值,用来在解压时实现数据的无损还原;
步骤S62与S63中所述将浮点值转换为量程内的百分数的方法为:在已知浮点值量程上下限的情况下,把浮点值采用其占量程范围的百分比来表示,再乘以109;在这里,乘以109的目的是保证浮点值的精度不损失,低精度浮点含有6~7位有效数字,乘以109就可以将这些有效数字都保存下来,以便解压的时候实现无损还原。举例来说,如果浮点值的量程上下限为100和200,浮点值为160.532,则转化的方法是:(160.532-100)/(200-100)×109=605320000,取其整数部分。则605320000就是160.5的百分数;
步骤S64,差值法;若该包数据波动较大,则采用差值法处理转化后的百分数;差值法是将相邻的数据相减取差值,虽然整包数据波动较大,但相邻数据间的波动通常较小,对于差值进行压缩,压缩效果会比压缩原数据好一些。在这里,由于差值会出现正负相间的情况,直接影响数据的压缩率,本预处理方法中对差值进行特殊编码,即单独设置符号位标识正负,待压缩的差值都为正值;
步骤S65,最小值法;若该包数据波动较小,则采用最小值法处理转化后的百分数;最小值法的思路是给出一包数据的最小值,将每个数据减去这个最小值,对得到的差值进行压缩。最小值法也是针对差值法中差值为负的情况而提出的。采用最小值法处理后的数据量程范围会变小,使匹配变得容易,从而提高压缩率。最小值法应用范围较窄,只适用于数据的整体波动比较小的场合,且随着数据波动的增大,最小值法的优势会降低。
至此,浮点值的预处理完成。
在上述步骤S62与S63中,所述基准值的格式既可为百分数格式也可为浮点值格式。
参照图7,具体说明本发明中百分量压缩流程图。百分量的二进制编码规律性强,且相邻数据之间的波动较小。大量的实验表明,12位的百分量(数值采用12位二进制编码表示,表示的范围为0~4095),其相邻数据之间的差值绝大部分都小于256,因此,本发明对差值采用LZW算法压缩,并采用按值压缩(即每次读入一个百分量数值,而不是一个字节)的方式,并且只初始化字典的前256项,当差值小于256时,对百分量所采用的压缩方式与LZW按字节压缩是基本相同;而当出现差值大于256的情况时,采用LZ78算法的处理方式,将该差值加入字典,并将该标识符与差值一同输出。以上为本发明提供的RTLZ算法的基本原理,与LZW算法和LZ78算法相比,RTLZ有下列优点:首先,RTLZ的压缩时间较短,由于采用了按值压缩的方式,减少了搜索匹配的次数,从而缩短了压缩时间;其次,RTLZ在很大程度上提高了数据压缩率,LZW算法与LZ78算法都是按字节压缩的,即每次只从数据中读入一个字节,这样会破坏数据本身的规律性,使得数据压缩率不高,而RTLZ采用按值压缩方式,充分利用了数据的规律性,取得了非常好的压缩效果。
对于百分量的压缩将应用到现有技术中的LZW压缩算法或LZ78压缩算法,所述LZW算法上文已进行介绍,所述LZ78的压缩算法是一种基于字典模型的无损压缩算法,其基本原理是:字典开始时为空,在压缩进程中,遇到字典中未出现的字符,则将其加入字典中,并输出标识符与该字符;如果当前字符串在字典中,则将下一个字符添加到当前字符串中,查找其在字典中是否有匹配,如此继续,直到没有匹配为止,此时,将当前字符串添加到字典中,输出当前最大匹配串的字典索引与当前字符串的最后一个字符,并将当前字符串设置为空(详见《数据压缩原理与应用(第二版)》:121-123页)。
举例说明,采用LZ78算法对字符串“abababcd”压缩,压缩流程见表1。字典开始为空,步骤1,当前字符为a,该字符不在字典中,则将其加入字典,字典索引为1,并输出标识符(可取0)和该字符a;步骤2,当前字符为b,该字符依然不在字典中,将其加入字典,字典索引为2,并输出标识符0和该字符b;步骤3,当前字符为a,该字符已在字典中,读入下一个字符b,将b添加到当前字符串中,在字典中搜索ab是否已经出现过,由于字符串ab不在字典中,将ab添加到字典中,字典索引为3,并输出当前最大匹配串a的字典索引1以及字符b,当前字符串置为空;步骤4,当前字符为a,在字典中查找到匹配,读入下一个字符b,将b添加到当前字符串中,在字典中搜索ab是否已经出现过,ab已经存在于字典中,再读入下一个字符c,查找abc是否已在字典中,没有查找到匹配,则将abc添加到字典中,字典索引为4,并输出ab对应的字典索引3以及字符c,当前字符串置为空;步骤5,当前字符为d,该字符不在字典中,将其加入字典,字典索引为5,并输出标识符0和字符d,至此压缩完成。
步骤 | 待压缩字符串 | 字典 | 输出 | |
索引 | 字符串 | |||
1 | abababcd | 1 | a | (0,a) |
2 | bababcd | 2 | b | (0,b) |
3 | ababcd | 3 | ab | (1,b) |
4 | abcd | 4 | abc | (3,c) |
5 | d | 5 | d | (0,d) |
基于上述的说明,采用本发明提供的RTLZ的压缩算法对百分量进行压缩的流程如下:
步骤S701,初始化字典;与LZW算法相同,RTLZ算法在压缩开始时也需要初始化字典,字典初始化的数目由百分量的数值特点决定,一般而言,12位的百分量压缩,初始化字典的前256项即可;
步骤S702,读入字符;读入百分量,并对其进行预处理,预处理的方法是采用图6步骤S64中的差值法;并且,本发明不限定预处理过程的具体实现方式,例如本发明并不排除采用步骤S66或其他方式获得相应的差值;
步骤S703,判断该字符是否大于预置的设定值;即在本实施例中(采用S64的差值法进行预处理),判断百分量的差值是否大于字典中已初始化的数目,在百分量采用12位表示的情况下,该设定值为256;若大于,则进入步骤S704,否则,进入步骤S705;
步骤S704,判断该字符是否已在字典中;该差值大于设定值,则判断该差值是否已经在字典中出现过,若已经出现过,则进入步骤S705,否则,进入步骤S710;
步骤S705,将该字符添加到当前字符串中;该差值已经在字典中,则不论差值是否大于设定值,均按照LZW方式进行压缩,将该差值添加到当前字符串中;
步骤S706,搜索当前字符串是否在字典中;在字典中采用散列方式搜索当前字符串,若当前字符串在字典中,则重新进入步骤S702,否则,进入步骤S707;
步骤S707,输出当前最大匹配串的字典索引;当前字符串不在字典中,则将能够在字典中搜索到的最长字符串的字典索引输出,由此达到压缩的目的;
步骤S708,将当前字符串加入字典,将该字符作为当前字符串;由于当前字符串在字典中未出现过,将其添加到字典中,以便使得再出现该字符串时,可以在字典中查找到匹配;当前字符并未经过压缩,因此将其作为当前字符串,继续进行压缩;
步骤S709,输出当前最大匹配串的字典索引;该差值大于设定值且其不在字典中,则需将其前面未经输出的字符串输出,即输出当前最大匹配串的字典索引;
步骤S710,输出标识符和该字符;将该差值输出到压缩文件中,为了标识输出的差值是第一次在字典中出现,在其前面添加一个标识符;
步骤S711,将该字符加入字典,并将该字符作为当前字符串;将该差值加入字典中,并将该差值作为当前字符串继续压缩。
上述实施例为本发明的较佳实施例,其中,多个处理流程中对各步骤并不要求严格的执行顺序,因而本领域技术人员可根据实际情况调整执行顺序。如图6所示的处理环节中,也可先进行浮点值到百分数的转换,再判断该数据包数值的波动范围,以选择适当的预处理方法。
以上为本发明的第一实施例,上例中对百分量的压缩时的预处理采用了如步骤S64所述的差值法,然而本发明同样可采用如步骤S66所述的最小值法进行预处理。
则本发明在进行百分量的压缩时的又一实施例的方法为:初始化字典,将压缩过程中可能出现的字符初始化到字典中;读入数值;取该包数据最小值,将每个数值与所述最小值相减获取差值,在压缩文件中保存所述最小值;判断所述差值是否大于已初始化到字典中的字符项数,若不大于则采用LZW算法对所述差值进行压缩;否则,采用LZ78算法对所述差值进行压缩。
同理,对于浮点值的压缩,本发明将所述浮点值转换为量程内的百分数后,对其进行预处理并进行压缩处理。参照上文所举实施例,当数据包数值波动较大,则采用差值法进行预处理,否则采用最小值法进行预处理;进而进行压缩处理。上述为本发明的较优实现方式,对于浮点值压缩的预处理也可单一采用差值法/最小值法。
以上为具体说明了本发明的实施方式,由上文可知,在本发明中,为了对过程控制系统中的实时数据进行快速、稳定和高效的压缩,本发明克服了现有通用压缩算法应用于所述实时数据压缩中的缺陷。例如:PPM算法和BWT算法的压缩率相对较高,但是这两种算法耗费的压缩和解压时间较长,不能满足实时数据库的要求。LZ系列压缩算法原理实现较为容易,代码实现过程中没有大量的复杂运算,耗费的压缩和解压时间相对较短,尤其是解压时,效率很高——这是LZ系列压缩算法的优势;同时,LZ系列算法本身也存在较明显的不足,如字典容量的限制、对于输入数据的适应性较慢、压缩率不高等。通用压缩算法中的RLE算法,其原理非常简单,在压缩特定数据时,其压缩效果非常好,不仅压缩率高,压缩和解压缩时间也可以忽略不计,但这种算法的针对性非常强,无法广泛应用。综上所述,现有的通用压缩算法都存在不同的缺点而无法直接应用于实时数据库中。基于该分析,本发明在实现对过程控制系统的实时数据进行压缩的过程中,对现有压缩方法进行了改进,并对实时数据进行了相应的预处理,进而实现了对实时数据安全可靠、无损的压缩,进而本发明压缩不仅具有较高的压缩率,并且压缩速度快,满足了实时数据库的要求,并提高了历史数据的查询效率。
以上对本发明所提供的实时数据压缩方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1、一种实时数据压缩方法,用于过程控制系统中对数据包数据进行压缩,所述实时数据包括模拟量的数值,其特征在于:
1)初始化字典,将压缩过程中可能出现的字符初始化到字典中;
2)读入数值;
3)将实时数据的相邻数据相减获取差值,在压缩文件中保存读入的第一个数值;
4)采用LZW算法对所述差值进行压缩。
2、如权利要求1所述的实时数据压缩方法,其特征在于,还包括:
判断所述差值是否大于已初始化到字典中的字符项数,若不大于则进行4);否则,采用LZ78算法对所述差值进行压缩。
3、如权利要求1或2所述的实时数据压缩方法,其特征在于:
1)中压缩过程中可能出现的前256项字符初始化到字典中。
4、如权利要求1所述的实时数据压缩方法,其特征在于:
2)中还包括:读入实时数据量程上下限,将所述实时数据转化为其量程内的百分数。
5、如权利要求4所述的实时数据压缩方法,其特征在于:
2)中读入数值后进一步包括:判断该数据包数值波动幅度是否大于预置的门限,如果大于则进行3);否则,
取该包数据最小值,将每个数值与所述最小值相减获取差值,在压缩文件中保存所述最小值,并进行4)。
6、如权利要求1或2所述的实时数据压缩方法,所述实时数据包括开关量数值,其特征在于:
1)之前将历史数据分类,包括:提取模拟量数值,进行1);并且,提取开关量数值进行以下操作:
判断开关量是否为0,若是则向压缩文件写入一位0,否则向压缩文件写入一位1。
7、如权利要求1或2所述的实时数据压缩方法,所述实时数据包括累计量数值,其特征在于:
1)之前将历史数据分类,包括:提取模拟量数值,进行1);并且,提取累计量数值进行以下操作:
71)初始化字典,将压缩过程中可能出现的字符初始化到字典中;
72)读入数值;
73)将实时数据的相邻数据相减获取差值,在压缩文件中保存读入的第一个数值;
74)采用LZW算法对所述差值进行压缩。
8、如权利要求1或2所述的实时数据压缩方法,所述实时数据包括时间标签,其特征在于:
1)之前将历史数据分类,包括:提取模拟量数值,进行1);并且,提取时间标签进行以下操作:
81)存储第一个时间标签,将相邻两个时间标签值相减获取差值;
82)采用RLE算法对所述差值进行压缩。
9、如权利要求1或2所述的实时数据压缩方法,所述实时数据包括质量码,其特征在于:
1)之前将历史数据分类,包括:提取模拟量数值,进行1);并且,提取质量码采用RLE算法进行压缩。
10、一种实时数据压缩方法,用于过程控制系统中对数据包数据进行压缩,所述实时数据包括模拟量的数值,其特征在于:
1)初始化字典,将压缩过程中可能出现的字符初始化到字典中;
2)读入数值;
3)取该包数据最小值,将每个数值与所述最小值相减获取差值,在压缩文件中保存所述最小值;
4)采用LZW算法对所述差值进行压缩。
11、如权利要求10所述的实时数据压缩方法,其特征在于,还包括:
判断所述差值是否大于已初始化到字典中的字符项数,若不大于则进行4);否则,采用LZ78算法对所述差值进行压缩。
12、如权利要求10所述的实时数据压缩方法,其特征在于:
2)中还包括:读入实时数据量程上下限,将所述实时数据转化为其量程内的百分数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101151194A CN100385437C (zh) | 2005-11-10 | 2005-11-10 | 实时数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101151194A CN100385437C (zh) | 2005-11-10 | 2005-11-10 | 实时数据压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1786939A true CN1786939A (zh) | 2006-06-14 |
CN100385437C CN100385437C (zh) | 2008-04-30 |
Family
ID=36784406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101151194A Active CN100385437C (zh) | 2005-11-10 | 2005-11-10 | 实时数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100385437C (zh) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435136C (zh) * | 2006-06-21 | 2008-11-19 | 浙江中控软件技术有限公司 | 一种基于最小二乘线性拟合的实时数据压缩方法 |
WO2010021698A2 (en) * | 2008-08-19 | 2010-02-25 | Netapp, Inc. | System and method for compression of partially ordered data sets |
CN100595596C (zh) * | 2007-12-12 | 2010-03-24 | 北京四方继保自动化股份有限公司 | 电网广域测量系统(wams)中动态数据压缩存储方法 |
CN102014283A (zh) * | 2010-11-30 | 2011-04-13 | 上海大学 | 一阶差分前缀表示的图像数据无损压缩的编码方法 |
CN102323977A (zh) * | 2011-06-29 | 2012-01-18 | 无锡市吉天通信科技有限公司 | 基于心电特征点的心电数据存储方法 |
CN102437854A (zh) * | 2011-11-03 | 2012-05-02 | 电子科技大学 | 一种高压缩比的工业实时数据压缩方法 |
CN102437856A (zh) * | 2011-11-04 | 2012-05-02 | 国电南京自动化股份有限公司 | 基于特征点提取的地铁综合监控系统三级数据压缩方法 |
CN102611454A (zh) * | 2012-01-29 | 2012-07-25 | 上海锅炉厂有限公司 | 一种实时历史数据动态无损压缩方法 |
CN103023509A (zh) * | 2012-11-14 | 2013-04-03 | 无锡芯响电子科技有限公司 | 一种硬件lz77压缩实现系统及其实现方法 |
CN101610088B (zh) * | 2008-06-17 | 2013-07-24 | 香港科技大学 | 基于具有安全特性的压缩技术来编码数据的系统和方法 |
CN103236846A (zh) * | 2013-05-02 | 2013-08-07 | 浙江中控技术股份有限公司 | 一种工业实时数据压缩方法及装置 |
CN103258030A (zh) * | 2013-05-09 | 2013-08-21 | 西安电子科技大学 | 基于字典与游长编码的移动设备内存压缩方法 |
CN103309889A (zh) * | 2012-03-15 | 2013-09-18 | 华北计算机系统工程研究所 | 一种利用gpu协同计算实现实时数据并行压缩的方法 |
CN101692251B (zh) * | 2009-08-31 | 2013-10-02 | 上海宝信软件股份有限公司 | 基于函数参数估计的通用过程数据在线压缩、解压方法 |
CN103488564A (zh) * | 2013-09-13 | 2014-01-01 | 北京航空航天大学 | 一种分布式实时测试系统多路测试数据压缩与归并方法 |
CN103607207A (zh) * | 2013-11-11 | 2014-02-26 | 大连理工大学 | 一种即插即用的多接口数据压缩设备 |
CN104281616A (zh) * | 2013-07-10 | 2015-01-14 | 北京旋极信息技术股份有限公司 | 数据处理方法 |
CN104484476A (zh) * | 2014-12-31 | 2015-04-01 | 中国石油天然气股份有限公司 | 一种抽油机示功图数据压缩存储方法及装置 |
CN104867166A (zh) * | 2015-05-22 | 2015-08-26 | 北京师范大学 | 一种基于稀疏字典学习的油井示功图压缩存储方法 |
CN105205153A (zh) * | 2015-09-24 | 2015-12-30 | 小米科技有限责任公司 | 文件存储方法和装置 |
CN103312335B (zh) * | 2013-05-20 | 2017-04-12 | 四川智行电子科技有限公司 | 移动gis技术的空间路线矢量数据累积偏移实时压缩方法 |
CN103944580B (zh) * | 2014-04-14 | 2017-07-04 | 天津普仁万合信息技术有限公司 | 一种生理体征传感器持续采集信号的无损压缩方法 |
CN107193925A (zh) * | 2017-05-15 | 2017-09-22 | 浙江正泰中自控制工程有限公司 | 一种基于列式存储技术的实时数据压缩算法 |
CN108062376A (zh) * | 2017-12-12 | 2018-05-22 | 清华大学 | 一种基于相似工况的时间序列压缩存储方法及系统 |
CN109412604A (zh) * | 2018-12-05 | 2019-03-01 | 云孚科技(北京)有限公司 | 一种基于语言模型的数据压缩方法 |
CN109637111A (zh) * | 2018-12-25 | 2019-04-16 | 歌尔科技有限公司 | 红外信号压缩方法、装置、用户设备及存储介质 |
CN109962710A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 数据压缩方法、电子设备及计算机可读存储介质 |
CN110784227A (zh) * | 2019-10-21 | 2020-02-11 | 清华大学 | 一种对数据集的多路压缩方法、装置及存储介质 |
CN110795409A (zh) * | 2019-10-31 | 2020-02-14 | 国网辽宁省电力有限公司阜新供电公司 | 一种常规发电机组参数导入psasp的实现方法 |
CN110808738A (zh) * | 2019-09-16 | 2020-02-18 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、设备及计算机可读存储介质 |
CN111510153A (zh) * | 2019-01-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 数列的压缩、解压缩方法和装置以及电子设备 |
CN112104376A (zh) * | 2020-11-19 | 2020-12-18 | 南京艾科朗克信息科技有限公司 | 一种证券期货行情数据实时压缩方法 |
CN112688692A (zh) * | 2020-12-23 | 2021-04-20 | 深圳市骏普科技开发有限公司 | 抄表数据压缩方法、数据格式、设备及存储介质 |
CN113239002A (zh) * | 2021-05-18 | 2021-08-10 | 中国铁建重工集团股份有限公司 | 一种掘进机施工数据管理方法、装置、系统及存储介质 |
WO2022058583A1 (en) * | 2020-09-18 | 2022-03-24 | Leica Microsystems Cms Gmbh | Method for compression of time tagged data from time correlated single photon counting |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494409B (zh) * | 2018-03-14 | 2021-07-13 | 电子科技大学 | 基于小字典的随钻中子测井仪井下高速实时压缩方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1251449A (zh) * | 1998-10-18 | 2000-04-26 | 华强 | 两类字典压缩算法在数据压缩中的组合带参运用 |
US6570511B1 (en) * | 2001-10-15 | 2003-05-27 | Unisys Corporation | Data compression method and apparatus implemented with limited length character tables and compact string code utilization |
GB0210604D0 (en) * | 2002-05-09 | 2002-06-19 | Ibm | Method and arrangement for data compression |
CN100377247C (zh) * | 2003-10-31 | 2008-03-26 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
-
2005
- 2005-11-10 CN CNB2005101151194A patent/CN100385437C/zh active Active
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435136C (zh) * | 2006-06-21 | 2008-11-19 | 浙江中控软件技术有限公司 | 一种基于最小二乘线性拟合的实时数据压缩方法 |
CN100595596C (zh) * | 2007-12-12 | 2010-03-24 | 北京四方继保自动化股份有限公司 | 电网广域测量系统(wams)中动态数据压缩存储方法 |
CN101610088B (zh) * | 2008-06-17 | 2013-07-24 | 香港科技大学 | 基于具有安全特性的压缩技术来编码数据的系统和方法 |
US8250043B2 (en) | 2008-08-19 | 2012-08-21 | Netapp, Inc. | System and method for compression of partially ordered data sets |
WO2010021698A3 (en) * | 2008-08-19 | 2010-04-22 | Netapp, Inc. | System and method for compression of partially ordered data sets |
WO2010021698A2 (en) * | 2008-08-19 | 2010-02-25 | Netapp, Inc. | System and method for compression of partially ordered data sets |
CN101692251B (zh) * | 2009-08-31 | 2013-10-02 | 上海宝信软件股份有限公司 | 基于函数参数估计的通用过程数据在线压缩、解压方法 |
CN102014283A (zh) * | 2010-11-30 | 2011-04-13 | 上海大学 | 一阶差分前缀表示的图像数据无损压缩的编码方法 |
CN102323977A (zh) * | 2011-06-29 | 2012-01-18 | 无锡市吉天通信科技有限公司 | 基于心电特征点的心电数据存储方法 |
CN102323977B (zh) * | 2011-06-29 | 2014-04-30 | 无锡市吉天通信科技有限公司 | 基于心电特征点的心电数据存储方法 |
CN102437854A (zh) * | 2011-11-03 | 2012-05-02 | 电子科技大学 | 一种高压缩比的工业实时数据压缩方法 |
CN102437854B (zh) * | 2011-11-03 | 2014-03-26 | 电子科技大学 | 一种高压缩比的工业实时数据压缩方法 |
CN102437856A (zh) * | 2011-11-04 | 2012-05-02 | 国电南京自动化股份有限公司 | 基于特征点提取的地铁综合监控系统三级数据压缩方法 |
CN102611454A (zh) * | 2012-01-29 | 2012-07-25 | 上海锅炉厂有限公司 | 一种实时历史数据动态无损压缩方法 |
CN102611454B (zh) * | 2012-01-29 | 2014-12-24 | 上海锅炉厂有限公司 | 一种实时历史数据动态无损压缩方法 |
CN103309889A (zh) * | 2012-03-15 | 2013-09-18 | 华北计算机系统工程研究所 | 一种利用gpu协同计算实现实时数据并行压缩的方法 |
CN103023509A (zh) * | 2012-11-14 | 2013-04-03 | 无锡芯响电子科技有限公司 | 一种硬件lz77压缩实现系统及其实现方法 |
CN103236846B (zh) * | 2013-05-02 | 2016-08-10 | 浙江中控技术股份有限公司 | 一种工业实时数据压缩方法及装置 |
CN103236846A (zh) * | 2013-05-02 | 2013-08-07 | 浙江中控技术股份有限公司 | 一种工业实时数据压缩方法及装置 |
CN103258030B (zh) * | 2013-05-09 | 2016-04-13 | 西安电子科技大学 | 基于字典与游长编码的移动设备内存压缩方法 |
CN103258030A (zh) * | 2013-05-09 | 2013-08-21 | 西安电子科技大学 | 基于字典与游长编码的移动设备内存压缩方法 |
CN103312335B (zh) * | 2013-05-20 | 2017-04-12 | 四川智行电子科技有限公司 | 移动gis技术的空间路线矢量数据累积偏移实时压缩方法 |
CN104281616A (zh) * | 2013-07-10 | 2015-01-14 | 北京旋极信息技术股份有限公司 | 数据处理方法 |
CN104281616B (zh) * | 2013-07-10 | 2017-10-13 | 北京旋极信息技术股份有限公司 | 数据处理方法 |
CN103488564B (zh) * | 2013-09-13 | 2016-08-31 | 北京航空航天大学 | 一种分布式实时测试系统多路测试数据压缩与归并方法 |
CN103488564A (zh) * | 2013-09-13 | 2014-01-01 | 北京航空航天大学 | 一种分布式实时测试系统多路测试数据压缩与归并方法 |
CN103607207B (zh) * | 2013-11-11 | 2016-08-17 | 大连理工大学 | 一种即插即用的多接口数据压缩设备 |
CN103607207A (zh) * | 2013-11-11 | 2014-02-26 | 大连理工大学 | 一种即插即用的多接口数据压缩设备 |
CN103944580B (zh) * | 2014-04-14 | 2017-07-04 | 天津普仁万合信息技术有限公司 | 一种生理体征传感器持续采集信号的无损压缩方法 |
CN104484476B (zh) * | 2014-12-31 | 2019-04-12 | 中国石油天然气股份有限公司 | 一种抽油机示功图数据压缩存储方法及装置 |
CN104484476A (zh) * | 2014-12-31 | 2015-04-01 | 中国石油天然气股份有限公司 | 一种抽油机示功图数据压缩存储方法及装置 |
CN104867166A (zh) * | 2015-05-22 | 2015-08-26 | 北京师范大学 | 一种基于稀疏字典学习的油井示功图压缩存储方法 |
CN104867166B (zh) * | 2015-05-22 | 2018-04-06 | 北京师范大学 | 一种基于稀疏字典学习的油井示功图压缩存储方法 |
CN105205153A (zh) * | 2015-09-24 | 2015-12-30 | 小米科技有限责任公司 | 文件存储方法和装置 |
CN105205153B (zh) * | 2015-09-24 | 2018-10-19 | 小米科技有限责任公司 | 文件存储方法和装置 |
CN107193925B (zh) * | 2017-05-15 | 2019-09-20 | 浙江正泰中自控制工程有限公司 | 一种基于列式存储技术的实时数据压缩方法 |
CN107193925A (zh) * | 2017-05-15 | 2017-09-22 | 浙江正泰中自控制工程有限公司 | 一种基于列式存储技术的实时数据压缩算法 |
CN108062376A (zh) * | 2017-12-12 | 2018-05-22 | 清华大学 | 一种基于相似工况的时间序列压缩存储方法及系统 |
CN109962710A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 数据压缩方法、电子设备及计算机可读存储介质 |
CN109412604A (zh) * | 2018-12-05 | 2019-03-01 | 云孚科技(北京)有限公司 | 一种基于语言模型的数据压缩方法 |
CN109637111A (zh) * | 2018-12-25 | 2019-04-16 | 歌尔科技有限公司 | 红外信号压缩方法、装置、用户设备及存储介质 |
CN111510153A (zh) * | 2019-01-31 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 数列的压缩、解压缩方法和装置以及电子设备 |
CN111510153B (zh) * | 2019-01-31 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 数列的压缩、解压缩方法和装置以及电子设备 |
CN110808738A (zh) * | 2019-09-16 | 2020-02-18 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、设备及计算机可读存储介质 |
CN110808738B (zh) * | 2019-09-16 | 2023-10-20 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、设备及计算机可读存储介质 |
CN110784227A (zh) * | 2019-10-21 | 2020-02-11 | 清华大学 | 一种对数据集的多路压缩方法、装置及存储介质 |
CN110795409A (zh) * | 2019-10-31 | 2020-02-14 | 国网辽宁省电力有限公司阜新供电公司 | 一种常规发电机组参数导入psasp的实现方法 |
CN110795409B (zh) * | 2019-10-31 | 2023-08-29 | 国网辽宁省电力有限公司阜新供电公司 | 一种常规发电机组参数导入psasp的实现方法 |
WO2022058583A1 (en) * | 2020-09-18 | 2022-03-24 | Leica Microsystems Cms Gmbh | Method for compression of time tagged data from time correlated single photon counting |
CN112104376B (zh) * | 2020-11-19 | 2022-02-15 | 南京艾科朗克信息科技有限公司 | 一种证券期货行情数据实时压缩方法 |
CN112104376A (zh) * | 2020-11-19 | 2020-12-18 | 南京艾科朗克信息科技有限公司 | 一种证券期货行情数据实时压缩方法 |
CN112688692A (zh) * | 2020-12-23 | 2021-04-20 | 深圳市骏普科技开发有限公司 | 抄表数据压缩方法、数据格式、设备及存储介质 |
CN113239002A (zh) * | 2021-05-18 | 2021-08-10 | 中国铁建重工集团股份有限公司 | 一种掘进机施工数据管理方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100385437C (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1786939A (zh) | 实时数据压缩方法 | |
US9054729B2 (en) | System and method of compression and decompression | |
US8791843B2 (en) | Optimized bitstream encoding for compression | |
US7515762B2 (en) | Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements | |
CN1446404A (zh) | 操作码的双模数据压缩 | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
EP4012928A1 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
US5010345A (en) | Data compression method | |
CN107682016B (zh) | 一种数据压缩方法、数据解压方法及相关系统 | |
US20120130965A1 (en) | Data compression method | |
Kärkkäinen et al. | Hybrid compression of bitvectors for the FM-index | |
Bhattacharjee et al. | Comparison study of lossless data compression algorithms for text data | |
US9035809B2 (en) | Optimizing compression engine throughput via run pre-processing | |
US20050232504A1 (en) | Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements | |
CN112968706A (zh) | 数据压缩方法、fpga芯片及fpga在线升级方法 | |
US6778109B1 (en) | Method for efficient data encoding and decoding | |
CA2770348A1 (en) | Compression of bitmaps and values | |
Beal et al. | Compressed parameterized pattern matching | |
CN102843142B (zh) | 可编程逻辑器件配置数据流压缩、解压缩处理方法及系统 | |
EP0435802B1 (en) | Method of decompressing compressed data | |
Crochemore et al. | The rightmost equal-cost position problem | |
Martínez-Prieto et al. | Natural language compression on edge-guided text preprocessing | |
Abel | Incremental frequency count—a post BWT‐stage for the Burrows–Wheeler compression algorithm | |
Adiego et al. | Mapping words into codewords on PPM | |
Rajput et al. | Comparative Study of Data Compression Techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |