CN103136202A - 实时数据库中动态预测有损压缩及解压的方法 - Google Patents
实时数据库中动态预测有损压缩及解压的方法 Download PDFInfo
- Publication number
- CN103136202A CN103136202A CN 201110374971 CN201110374971A CN103136202A CN 103136202 A CN103136202 A CN 103136202A CN 201110374971 CN201110374971 CN 201110374971 CN 201110374971 A CN201110374971 A CN 201110374971A CN 103136202 A CN103136202 A CN 103136202A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- slope
- tlast
- new data
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种实时数据库中动态预测有损压缩的方法,步骤如下:系统初始化,读入两个实时数据,将第一个数据写入数据库并保存为“最后写入数据”,根据前两个数据及误差允许范围,计算斜率上下限,初始化各修正值为0;读入新的数据,用新数据、“最后写入数据”及误差允许范围,计算斜率上下限;根据新数据的斜率上下限与当前斜率上下限进行比较,并决定是否保存新数据;调整当前斜率上下限及斜率修正值,并重复第二步。还公开了一种实时数据库中动态预测有损压缩的解压方法,包括如下步骤:设置查询时间为t,并读取t之前最近的3个数据p1(t1,v1),p2(t2,v2),p3(t3,v3),然后,通过如下计算方法计算出pt(t,vt)。本发明与现有计算相比,具有压缩比率大且误差小等优势。
Description
技术领域
本发明涉及的是一种实时数据库领域的方法,具体来讲,是一种通过动态修正、预测与检验实时数据,从而对数据进行有损压缩的方法。
背景技术
实时数据库主要用于工业监控领域,如火电厂厂级监控系统等。该领域中的实时数据有如下特点:
1、测点多。一个新建300WM的火电厂的监控系统测点数量超过10000个。测点多意味着系统并发任务多,对系统运行效率要求高。
2、数据量庞大。工业监控系统的数据采样频率多为秒级,即每秒每个测点获得一个数据。因此数据处理算法必须在有限的时间内完成数据处理才不会造成瓶颈。另一方面,庞大的数据量需要大量硬盘空间用于存储。
3、数据变化慢,冗余多。因为采样频率高,所以工业监控系统的实时数据多有变化慢的特点,特别对于整型与开关型变量,有大量冗余存在。
4、与时间相关性强。工业监控系统的数据随时间推移而变化,数据值与时间有很强的相关性。
5、存在不可避免的噪声。工业监控系统的数据在测量与传输过程中都有可能引入噪声。
因此数据压缩是实时数据库中的关键技术,数据压缩可分为有损压缩和无损压缩两种。而实时数据库中多采用先有损压缩,后无损压缩的二次压缩以达到更高的压缩比。有损压缩的原理是,通过一定的数据筛选规则,选择性地保留部分数据,抛弃部分数据,并保证解压算法的还原精度在系统精度误差允许范围内。因此有损压缩算法有较高的压缩比,但同时会导致系统精度下降。
目前实时数据库领域的有损压缩方法主要分为两大类:死区压缩和趋势压缩。
死区压缩是将新值与上一次的记录值进行比较,当两者差的绝对值小于误差允许阈值时,就抛弃该数据,反之保留该数据。死区压缩算法简单,但是压缩比低,很难满足实时数据库系统的要求。
趋势压缩以PI公司的旋转门算法为代表。旋转门算法大大提高了实时数据库的压缩率,但因为旋转门算法并没有对趋势的变化情况加以描述、记录和预测,因此压缩率和精确度都仍有提升的空间。
经过文献检索发现,Peter A.James于1995年在《Data CompressionFor Process Historians》一文中提出了SLIM有损压缩算法,该算法的压缩率和精确度较旋转门算法都有一定的优势,但是并未在实时数据库系统中被引入使用。且该算法仍有改进的空间。
发明内容
本发明的目的是:根据工业监控系统的数据特征及实时数据库对压缩算法的要求,提出了一种通过动态预测、修正与检验对实时数据进行有损压缩的方法,同时本发明的检验方法基于Peter A.James提出的SLIM压缩算法的检验方法,而通过动态修正与预测,可以同时提高有损压缩的压缩率和精确度。
本发明通过以下技术方案来实现:
一种实时数据库中动态预测有损压缩的方法,其特征在于,包括如下步骤:
步骤1:系统初始化,读入两个实时数据,将第一个数据写入数据库并保存为“最后写入数据”,根据前两个数据及误差允许范围,计算斜率上下限,初始化各修正值为0;
步骤2:读入新的数据,用新数据、“最后写入数据”及误差允许范围,计算斜率上下限;
步骤3:根据新数据的斜率上下限与当前斜率上下限进行比较,并决定是否保存新数据;
步骤4:调整当前斜率上下限及斜率修正值,并重复第二步;
其中:步骤1中所述的初始化过程,包括记录最初两个数据p1(t1,v1),p2(t2,v2),计算初始斜率上限rup=(v2+T-v1)/(t2-t1),斜率下限为rdown=(v2-T-v1)/(t2-t1),斜率中线为r=(v2-v1)/(t2-t1),其中T为误差容忍范围±T,初始化斜率修正值dr为0,将p1作为“最后写入数据”记录为plast(tlast,vlast),p2作为“最后读入数据”记录为pread(tread,vread);
步骤2中所述计算斜率上下限的过程,包括:读入新数据p3(t3,v3),计算斜率上限r’up=(v3+T-vlast)/(t3-tlast)+dr*(t3-tlast),斜率下限r’down=(v3-T-vlast)/(t3-tlast)+dr*(t3-tlast);
步骤3中所述比较过程如下:如果r’up>rup且r’down>rup,那么需要保存新数据;如果r’down<rdown且r’up<rdown,也需要保存新数据,否则,不保存新数据,只重新调整当前斜率;
步骤4中所述调整过程如下:根据步骤3中的结果,如果需要保存新数据,计算斜率修正值dr=((v3-vread)/(t3-tread)-r)/(tread-tlast),作一通过“最后读入数据”的纵垂线,如果r’up>rup,把该纵垂线与rup的交点写入数据库并记录为“最后写入数据”,如果r’down<rdown,把该纵垂线与rdown的交点写入数据库并记录为“最后写入数据”,重新计算rup=(v3+T-vlast)/(t3-tlast)+dr*(t3-tlast),rdown=(v3-T-vlast)/(t3-tlast)+dr*(t3-tlast);若无需保存新数据,如果r’up<rup,调整rup为r’up,如果r’down>rdown,调整rdown为r’down。无论是否保存新数据,记录当前数据为“最后读入数据”。
一种实时数据库中动态预测有损压缩的方法,其特征在于,包括如下步骤:设置查询时间为t,并读取t之前最近的3个数据p1(t1,v1),p2(t2,v2),p3(t3,v3),然后,通过如下计算方法计算出pt(t,vt);
所述计算方法如下:k1=(v2-v1)/(t2-t1),k2=(v3-v2)/(t3-t2),vt=v3+(t3-t2)(k2+(k2-k1)(t3-t2)/(t2-t1))。
本发明的有益效果是:本发明与旋转门和SLIM算法进行比较,对正弦曲线进行压缩:旋转门压缩方法的压缩比为17.8,还原误差为1.48;SLIM算法的压缩比为22.1,还原误差为1.17;本发明所述方法的压缩比为24.1,还原误差为1.15,由此可见,本发明与现有计算相比,具有压缩比率大且误差小等优势。
附图说明
图1是实时数据库中动态预测有损压缩的方法步骤框图;
图2是实时数据库中动态预测有损压缩的解压方法步骤框图。
具体实施方式
如图1所示,一种实时数据库中动态预测有损压缩的方法,步骤如下:
步骤1:系统初始化,读入两个实时数据,将第一个数据写入数据库并保存为“最后写入数据”,根据前两个数据及误差允许范围,计算斜率上下限,初始化各修正值为0;
步骤2:读入新的数据,用新数据、“最后写入数据”及误差允许范围,计算斜率上下限;
步骤3:根据新数据的斜率上下限与当前斜率上下限进行比较,并决定是否保存新数据;
步骤4:调整当前斜率上下限及斜率修正值,并重复第二步;
其中:步骤1中所述的初始化过程,包括记录最初两个数据p1(t1,v1),p2(t2,v2),计算初始斜率上限rup=(v2+T-v1)/(t2-t1),斜率下限为rdown=(v2-T-v1)/(t2-t1),斜率中线为r=(v2-v1)/(t2-t1),其中T为误差容忍范围±T,初始化斜率修正值dr为0,将p1作为“最后写入数据”记录为plast(tlast,vlast),p2作为“最后读入数据”记录为pread(tread,vread);
步骤2中所述计算斜率上下限的过程,包括:读入新数据p3(t3,v3),计算斜率上限r’up=(v3+T-vlast)/(t3-tlast)+dr*(t3-tlast),斜率下限r’down=(v3-T-vlast)/(t3-tlast)+dr*(t3-tlast);
步骤3中所述比较过程如下:如果r’up>rup且r’down>rup,那么需要保存新数据;如果r’down<rdown且r’up<rdown,也需要保存新数据,否则,不保存新数据,只重新调整当前斜率;
步骤4中所述调整过程如下:根据步骤3中的结果,如果需要保存新数据,计算斜率修正值dr=((v3-vread)/(t3-tread)-r)/(tread-tlast),作一通过“最后读入数据”的纵垂线,如果r’up>rup,把该纵垂线与rup的交点写入数据库并记录为“最后写入数据”,如果r’down<rdown,把该纵垂线与rdown的交点写入数据库并记录为“最后写入数据”,重新计算rup=(v3+T-vlast)/(t3-tlast)+dr*(t3-tlast),rdown=(v3-T-vlast)/(t3-tlast)+dr*(t3-tlast);若无需保存新数据,如果r’up<rup,调整rup为r’up,如果r’down>rdown,调整rdown为r’down。无论是否保存新数据,记录当前数据为“最后读入数据”。
如图2所示,一种实时数据库中动态预测有损压缩的解压方法,步骤如下:设置查询时间为t,并读取t之前最近的3个数据p1(t1,v1),p2(t2,v2),p3(t3,v3),然后,通过如下计算方法计算出pt(t,vt);所述计算方法如下:k1=(v2-v1)/(t2-t1),k2=(v3-v2)/(t3-t2),vt=v3+(t3-t2)(k2+(k2-k1)(t3-t2)/(t2-t1))。
Claims (7)
1.一种实时数据库中动态预测有损压缩的方法,其特征在于,包括如下步骤:
步骤1:系统初始化,读入两个实时数据,将第一个数据写入数据库并保存为“最后写入数据”,根据前两个数据及误差允许范围,计算斜率上下限,初始化各修正值为0;
步骤2:读入新的数据,用新数据、“最后写入数据”及误差允许范围,计算斜率上下限;
步骤3:根据新数据的斜率上下限与当前斜率上下限进行比较,并决定是否保存新数据;
步骤4:调整当前斜率上下限及斜率修正值,并重复第二步。
2.如权利要求1所述的实时数据库中动态预测有损压缩的方法,其特征在于,步骤1中所述的初始化过程,包括记录最初两个数据p1(t1,v1),p2(t2,v2),计算初始斜率上限rup=(v2+T-v1)/(t2-t1),斜率下限为rdown=(v2-T-v1)/(t2-t1),斜率中线为r=(v2-v1)/(t2-t1),其中T为误差容忍范围±T,初始化斜率修正值dr为0,将p1作为“最后写入数据”记录为plast(tlast,vlast),p2作为“最后读入数据”记录为pread(tread,vread)。
3.如权利要求1所述的实时数据库中动态预测有损压缩的方法,其特征在于,步骤2中所述计算斜率上下限的过程,包括:读入新数据p3(t3,v3),计算斜率上限r’up=(v3+T-vlast)/(t3-tlast)+dr*(t3-tlast),斜率下限r’down=(v3-T-vlast)/(t3-tlast)+dr*(t3-tlast)。
4.如权利要求1所述的实时数据库中动态预测有损压缩的方法,其特征在于,步骤3中所述比较过程如下:如果r’up>rup且r’down>rup,那么需要保存新数据;如果r’down<rdown且r’up<rdown,也需要保存新数据,否则,不保存新数据,只重新调整当前斜率。
5.如权利要求1所述的实时数据库中动态预测有损压缩的方法,其特征在于,步骤4中所述调整过程如下:根据步骤3中的结果,如果需要保存新数据,计算斜率修正值dr=((v3-vread)/(t3-tread)-r)/(tread-tlast),作一通过“最后读入数据”的纵垂线,如果r’up>rup,把该纵垂线与rup的交点写入数据库并记录为“最后写入数据”,如果r’down<rdown,把该纵垂线与rdown的交点写入数据库并记录为“最后写入数据”,重新计算rup=(v3+T-vlast)/(t3-tlast)+dr*(t3-tlast),rdown=(v3-T-vlast)/(t3-tlast)+dr*(t3-tlast);若无需保存新数据,如果r’up<rup,调整rup为r’up,如果r’down>rdown,调整rdown为r’down。无论是否保存新数据,记录当前数据为“最后读入数据”。
6.一种实时数据库中动态预测有损压缩的解压方法,其特征在于,包括如下步骤:设置查询时间为t,并读取t之前最近的3个数据p1(t1,v1),p2(t2,v2),p3(t3,v3),然后,通过如下计算方法计算出pt(t,vt)。
7.如权利要求6所述的实时数据库中动态预测有损压缩的解压方法,其特征在于,所述计算方法如下:k1=(v2-v1)/(t2-t1),k2=(v3-v2)/(t3-t2),vt=v3+(t3-t2)(k2+(k2-k1)(t3-t2)/(t2-t1))。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110374971 CN103136202A (zh) | 2011-11-22 | 2011-11-22 | 实时数据库中动态预测有损压缩及解压的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110374971 CN103136202A (zh) | 2011-11-22 | 2011-11-22 | 实时数据库中动态预测有损压缩及解压的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103136202A true CN103136202A (zh) | 2013-06-05 |
Family
ID=48496039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110374971 Pending CN103136202A (zh) | 2011-11-22 | 2011-11-22 | 实时数据库中动态预测有损压缩及解压的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103136202A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021579A (zh) * | 2016-06-01 | 2016-10-12 | 南京国电南自美卓控制系统有限公司 | 一种历史数据库的压缩方法 |
CN106557469A (zh) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种处理数据仓库中数据的方法及装置 |
CN107967360A (zh) * | 2017-12-22 | 2018-04-27 | 广东雅达电子股份有限公司 | 一种实时数据库文件存储方法 |
CN110262819A (zh) * | 2019-06-04 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习的模型参数更新方法及装置 |
CN114142865A (zh) * | 2021-10-28 | 2022-03-04 | 上海麦杰科技股份有限公司 | 一种工业物联网实时数据库单点有损压缩方法及装置 |
-
2011
- 2011-11-22 CN CN 201110374971 patent/CN103136202A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557469A (zh) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种处理数据仓库中数据的方法及装置 |
CN106021579A (zh) * | 2016-06-01 | 2016-10-12 | 南京国电南自美卓控制系统有限公司 | 一种历史数据库的压缩方法 |
CN106021579B (zh) * | 2016-06-01 | 2019-11-08 | 南京国电南自维美德自动化有限公司 | 一种历史数据库的压缩方法 |
CN107967360A (zh) * | 2017-12-22 | 2018-04-27 | 广东雅达电子股份有限公司 | 一种实时数据库文件存储方法 |
CN110262819A (zh) * | 2019-06-04 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习的模型参数更新方法及装置 |
CN114142865A (zh) * | 2021-10-28 | 2022-03-04 | 上海麦杰科技股份有限公司 | 一种工业物联网实时数据库单点有损压缩方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lim et al. | Towards Accurate and Fast Evaluation of {Multi-Stage} Log-structured Designs | |
CN102611454B (zh) | 一种实时历史数据动态无损压缩方法 | |
CN103136202A (zh) | 实时数据库中动态预测有损压缩及解压的方法 | |
US10310737B1 (en) | Size-targeted database I/O compression | |
CN106649026B (zh) | 适用于运维自动化系统的监测数据压缩方法 | |
US20130208795A1 (en) | Encoding motion vectors for video compression | |
CN102510287B (zh) | 一种工业实时数据的快速压缩方法 | |
CN104715039A (zh) | 基于硬盘和内存的列式存储和查询方法及设备 | |
US20170161661A1 (en) | Advisor Generating Multi-representations of Time Series Data | |
CN102884793B (zh) | 运动向量预测编码方法、运动向量预测解码方法、活动图像编码装置及活动图像解码装置 | |
Anitha | A new web usage mining approach for next page access prediction | |
US10715176B1 (en) | Recommending data compression scheme using machine learning and statistical attributes of the data | |
US10055454B2 (en) | System and a method for executing SQL basic operators on compressed data without decompression process | |
CN102437854A (zh) | 一种高压缩比的工业实时数据压缩方法 | |
CN116915259B (zh) | 基于物联网的仓配数据优化储存方法及系统 | |
WO2021226922A1 (zh) | 数据压缩方法及装置、数据压缩设备和可读存储介质 | |
Ilić et al. | A comparative analysis of smart metering data aggregation performance | |
Zhang et al. | QD-compressor: A quantization-based delta compression framework for deep neural networks | |
CN110083487A (zh) | 一种基于数据局部性的引用数据块碎片消除方法及系统 | |
CN104133883A (zh) | 电话号码归属地数据压缩算法 | |
EP2981081B1 (en) | Methods and devices for coding and decoding depth information, and video processing and playing device | |
CN1904882A (zh) | 数据库近线数据的压缩方法 | |
US11604738B2 (en) | Device and method for data compression using a metadata cache | |
CN105302691A (zh) | 一种元数据性能监控方法及系统 | |
CN100445951C (zh) | 韧体执行装置与执行方法、韧体配置器与配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130605 |