CN102006081B - 智能楼宇中海量能耗信息的压缩方法 - Google Patents
智能楼宇中海量能耗信息的压缩方法 Download PDFInfo
- Publication number
- CN102006081B CN102006081B CN 201010567749 CN201010567749A CN102006081B CN 102006081 B CN102006081 B CN 102006081B CN 201010567749 CN201010567749 CN 201010567749 CN 201010567749 A CN201010567749 A CN 201010567749A CN 102006081 B CN102006081 B CN 102006081B
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- point
- file
- value
- 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.)
- Expired - Fee Related
Links
Images
Abstract
一种智能楼宇中海量能耗信息的压缩方法,步骤如下:1)先对楼宇中个监测端的数据进行采集,对于采集得到的数据的记录点每条记录为一个三元组(tagid,time,data);2)当某记录点的时态属性值发生改变时,对应的新数据存入一级缓存中,然后直接返回下一个任务,这些新数据由后台数据存储线程存入文件;3)设立二级缓存;4)设置历史数据压缩区,并在该压缩区中对缓存区中的数据进行压缩后再将其转存到磁盘文件;5)采用文件队列的形式来组织数据文件,当一个文件存满后,才启用文件队列中下一个文件;6)当压缩完成后,把压缩后的数据存入存储器中,供所需用户端调用。
Description
技术领域
本发明涉及建筑能耗监控技术领域,具体是一种智能楼宇中海量能耗信息的压缩和解压缩方法
技术背景
智能楼宇能耗信息在线实时监测是利用电子测控技术实现对智能楼宇内的水、电、暖等能源消耗情况进行分量式监测,电能分项数据采集;并应用无线传感网络技术,实现对建筑物室内温湿度、CO2、甲醛含量等环境定时采集监测;通过建立数据中心,构建省市多级能耗监管系统。该能耗监管系统能够对能耗数据进行分析统计,获得准确建筑真实的能耗数据,便于政府部门进一步强化监督管理,确保建筑全面执行建筑节能强制性标准,建立和完善能效测评、用能标准、能耗统计、能源审计、能效公示、用能定额、节能服务等各项制度,促进既有高耗能国家机关办公建筑和大型公共建筑节能运行和改造,可有效控制楼宇内能源的浪费,达到优化能源供应、提高能源管理水平、节约能源成本的目的。
由于系统提供每天各智能楼宇能耗信息在线实时监测回路能耗的实时监测功能,每间隔一定时间(可由用户设定)采集一次能耗数据。对于省市多级能耗监管系统,由于监测现场的采集点多,采集时间周期短,因而要保存的历史数据量非常大。如果将这些数据直接存储,不仅会占用大量的系统存储空间,而且会降低数据的实时性,使数据的传输、查询变得困难。
发明内容
为了解决现有技术中存在的上述问题,减少对海量历史数据存储管理的成本,本发明根据智能楼宇管理系统中的能耗信息数据结构特点,提出了一种新的海量能耗信息的压缩和解压缩方法。本方法充分考虑了不同特性信号点的需求,采用开放性的记录方式给予工程配置以最大的自由度,能够很好地配合工程应用,有效地过滤冗余数据。利用数据平滑对数据序列中强噪声点进行处理,使得处理后的数据能接近被测参数的实际值,主要用于降低传感器的测量精度误差给数据处理带来的影响。时间戳的处理采用了周期跨度的保存方式,具有很高的压缩比,与内存数据库中的缓存结构设计相结合,使得压缩方法与结构设计相得益彰。在浮点数的压缩方法的过程中,采取了量程转换的方法,该方法的理论基础更牢固,实际工程应用的压缩性能更好,并且实现方法更为有效和合理。与传统的数据压缩算法相比较,该算法的压缩率有了显著的提高,并大大缩短了压缩时间,具有很强的应用价值。
本发明的技术方案如下:
一种智能楼宇中海量能耗信息的压缩方法,步骤如下:
1)先对楼宇中个监测端的数据进行采集,对于采集得到的数据,设智能楼宇能耗信息在线实时监测现场的记录点每条记录为一个三元组(tagid,time,data),分别表示点编号、数据的采集时态和采集的数据;
2)当某记录点的时态属性值发生改变时,对应的新数据存入一级缓存中,然后直接返回下一个任务,这些新数据由后台数据存储线程存入文件;
所述一级缓存是一个数据队列,由数据管理线程和数据存储线程共享;
3)设立二级缓存:
对应每个tagid设有两个固定大小的缓存区,存储线程从一级缓存中取得数据,写入该id对应的缓存区;当某点对应的缓存区已满的时候,一次性地把该缓存区中的所有数据转入历史数据压缩区中,并将另一个缓存区变为当前缓存区,继续接收一级缓存的历史数据,如此交替进行;
4)设置历史数据压缩区,并在该压缩区中,对步骤3)的缓存区中的数据进行压缩后再将其转存到磁盘文件;
5)采用文件队列的形式来组织数据文件,当一个文件存满后,才启用文件队列中下一个文件;
6)当压缩完成后,把压缩后的数据存入存储器中,供所需用户端调用。
附图说明
图1数据转储流程示意图;
图2数据存储流程示意图;
图3开关量的变化压缩示意图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步说明。
一种智能楼宇中海量能耗信息的压缩方法,步骤如下:
1)设计智能楼宇能耗信息在线实时监测现场的记录点每条记录为一个三元组:(tagid,time,data),分别表示点编号,数据的采集时间,当时的数据状态和采集的数据;
2)当系统中某对象的时态属性值发生改变时,这个新值并不直接存人数据文件中,系统把该值存入一级缓冲中,然后直接返回下一个任务,而这些数据由后台数据存储线程负责存入文件;
3)设立二级缓存。一级缓存是一个数据队列,由数据管理线程和数据存储线程共享。而二级缓存是为了防止频繁的文件写入,提高数据存储的效率。系统为每个tagid设立两个固定大小的缓存区(如4KB),存储线程从一级缓存中取得数据,并不直接写入文件,而是写入该id对应的缓存区,只有当某点对应的缓存区已满的时候,系统才会一次性地把该缓存区中的所有数据转入历史数据压缩区中。并将另一个缓存区成为当前缓存区,继续接收一级缓存的历史数据,如此交替进行从而避免了在历史数据压缩保存时无法保存一级缓存历史数据现象的出现。
4)在历史数据压缩区中,对步骤3)的缓存区中的数据进行压缩后再将其转存到磁盘文件。对缓存区中的数据进行压缩,是一种多级压缩策略,包括了初级压缩、核心压缩两个阶段以及对数据文件的定期整理压缩;初级压缩过程中,先由数据平滑处理对数据序列中的强噪声点进行平滑计算;再由记录方式过滤根据组态信息、预处理数据序列,保留下需要的数据点;核心压缩过程中,首先进行时间戳压缩,然后根据不同的数据类型,分别采用不同的方法进行数据量过滤压缩,最后经过数据类型转换,完成对所有过程数据的压缩;
5)采用文件队列的形式来组织数据文件,当一个文件存满后,才启用文件队列中下一个文件。
6)当压缩完成后,把压缩后的数据存入存储器中,供所需用户端调用。
所述步骤4)中,对缓存区中的数据进行压缩,是一种多级压缩策略,包括了初级压缩、核心压缩两个阶段以及对数据文件的定期整理压缩;
初级压缩过程中,先由数据平滑处理对数据序列中的强噪声点进行平滑计算;再由记录方式过滤根据组态信息、预处理数据序列,保留下需要的数据点;
核心压缩过程中,首先进行时间戳压缩,然后根据不同的数据类型,分别采用不同的方法进行数据量过滤压缩,最后经过数据类型转换,完成对所有过程数据的压缩。
所述核心压缩过程中,如果组态时用户配置了定期整理策略,则定期地对数据文件进行无损压缩备份,并清理原始数据。
所述步骤5)中,文件队列的长度由系统管理员来设定。
初级压缩过程中,
1)首先要根据传感器的测量精度来确定是否需要进行数据平滑,当传感器的测量误差较大时,则对数据块中的噪声点进行处理,使得处理后的数据更能代表或者更接近被测参数的实际值;数据平滑处理在科学研究中应用广泛,常用的方法有移动窗口多项式最小二乘拟和平滑方法,粗糙惩罚方法,以及kernel平滑方法、卡尔曼滤波法、指数平滑法、五点三次平滑法、七点二次平滑法等。事实上无论是哪种平滑方法,平滑结果都是对每组数据进行的修正计算,对于比较准确的数据都存在精度损失的可能。
2)记录方式过滤根据组态信息、预处理数据序列,保留下需要的数据点。不同的记录点,其记录的数据对应着不同物理意义的现场信号量,如温度、压力、流量等,即使是物理意义相同的信号量,信号变化快慢也存在着差异。因此,保存历史数据时采用有针对性的记录方式,只在有必要的时刻才保存信息,可以有效地对采集到的数据进行过滤,进而减小存储的总量。记录方式过滤的主要参数是来源于工程组态时对记录点的配置,由工程人员根据实际记录点的物理意义、信号特性等信息,设置周期记录方式的k值(对于每个记录点,实际的记录周期应该设置为最小记录周期的整数倍,即Ti=k·T(k=1,2,K),k值由用户在工程组态时配置),或者死区记录方式的Δ值(设ys为某记录点最近一次保存的数据值,该记录点待压缩的数据序列为y1,y2,K,yn-1,yn,定义一个精度值Δ,依次对序列中的值yi做如下比较:若yi满足|yi-ys|≥Δ,则将yi保存,并记录ys=yi;否则过滤掉yi值不予保存);初级压缩中的所有参数是对用户完全开放的。
所述核心压缩包括时间戳压缩,和针对不同数据类型的开关量压缩、整型量压缩和模拟量压缩;
1)时间戳压缩:
对于同一个记录点,每次对二级缓存中的一组历史数据压缩时,完整地记录该组数据的起始时间戳Ts,对于其他数据的时间戳Ti,则使用“周期跨度”来表示,表达形式为:
Ti=Ts+i×T
式中i为一个0到255的整数,表示Ti相对于起始时间Ts的“周期跨度”,T为该点的记录周期;由于记录周期T另外保存在配置文件中,一个时间戳实际上存储的信息仅为一个周期跨度i,占用1个字节;同时,因为采用了这种时间戳的存储方式,在内存二级缓存中,将单个记录点的数据缓存量限制为255,也就是一个字节能够表示的最大时间跨度;
2)开关量压缩
开关量进行数据量过滤时,采用了变化压缩算方法,提取时间点中的关键数据点保存;
3)整型量压缩
对于整型量的压缩,采用变化压缩算法,只保存关键数据点;
4)模拟量压缩
对模拟量的数据量过滤,提出了一种的自控精度SDT算法,自控精度SDT算法如下:
设ΔE为SDT算法的压缩精度参数,其压缩原理为:起点t0为最近一次存储的点,以距离t0为ΔE的上下两点作为支点,建立两扇虚拟的门,只有一个数据时门闭合;随着数据点的增加,门会旋转着打开,门的宽度可延伸,一旦打开就不能再闭合;只要两扇门的内角和小于180°(两扇门未平行),旋转操作就可以继续;当两扇门的内角和大于等于180°,就停止操作,存储前一数据点,并由该点开始新一段压缩。数据压缩过程中,计算出实际压缩性能与期望性能之间的偏差,根据偏差大小调整压缩精度Δ五,并作为下一组数据的压缩精度,使得实际性能指标不断地逼近期望值。SDT算法可以理解为带有变化趋势判断的死区压缩,压缩精度ΔE决定了两扇门达到平行时能够容纳的精度范围,因此,SDT算法的压缩效果对ΔE的依赖性很大。然而该算法的ΔE是一个固定值并且需要预先设置,通常需要丰富的经验或者长时间的试验才能够得到合适的值,因而很多情况下ΔE设置与实际数据特性不符严重限制了SDT算法的性能。SDT算法是一种有损压缩算法,即在压缩过程中通过丢弃一些数据来达到减少数据容量的要求。这些被丢弃的数据必须在一定范围内不影响数据的恢复和重建,因此,数据的解压缩误差通常作为评价压缩过程好坏的重要标准。
所述步骤3)中,对数据文件的定期整理压缩是指定期整理历史数据压缩区,按照组态时的配置对历史数据文件进行压缩备份。
本例技术方案的说明:
智能楼宇能耗信息在线实时监测现场的记录点多为现场实时数据,记录点的数据类型简单而固定,只有开关量、模拟量和整型量三种,且其时间标签为毫秒级。每条记录都是一个三元组:(tagid,time,data),分别表示点编号,数据的采集时态和采集的数据。
其中tagid是智能楼宇管理系统中给每一个点分配一个唯一的id,它是由变量号(short int,2字节)、设备号(Byte,1字节)、子系统号(Byte,1字节)组合成一个int型(4字节)的统一编号。可容纳10万以上的点。
time时间标签用于标识数据采集的时间。每记录一个数据,都给它打上当前时刻的时间标签。一般来说,开关量只有当变化了才记录,而对于模拟量则设定一个采样周期,时间周期是由用户设定的,根据系统的要求来选定,有的量变化慢(如温度),可以设定它的周期比较长,有的变化快,则设定的采样周期时间短。
data数据是历史数据中最关键的部分,系统中的位号分为很多类型,数据分为开关量的数据、模拟量的数据(包括浮点量和整型量)三种。
当系统中某对象的时态属性值发生改变时,这个新值并不直接存人数据文件中,系统把该值存入一级缓冲中,然后直接返回下一个任务,而这些数据由后台数据存储线程负责存入文件。
设立二级缓存。一级缓存是一个数据队列,由数据管理线程和数据存储线程共享。而二级缓存是为了防止频繁的文件写入,提高数据存储的效率。系统为每个tagid设立两个固定大小的缓存区(如4KB),存储线程从一级缓存中取得数据,并不直接写入文件,而是写入该id对应的缓存区,只有当某点对应的缓存区已满的时候,系统才会一次性地把该缓存区中的所有数据转入历史数据压缩区中。并将另一个缓存区成为当前缓存区,继续接收一级缓存的历史数据,如此交替进行从而避免了在历史数据压缩保存时无法保存一级缓存历史数据现象的出现。
为了尽可能地节省磁盘空间,我们对缓存区中的数据进行有效的压缩后再将其转存到磁盘文件。
为了防止数据文件过于庞大、不利于管理,系统采取以文件队列的形式来组织数据文件,文件的长度由系统管理员来设定,当一个文件存满后,才启用文件队列中下一个文件,从而提高数据存储和查询的效率。
对缓存区中的数据进行压缩的是一种多级压缩策略,包括了初级压缩、核心压缩两个阶段以及对数据文件的定期整理压缩。如图2所示,该策略可以描述为:初级压缩过程中,数据平滑处理对数据序列中的强噪声点进行平滑计算,在传感器的测量误差较大时降低噪声干扰;记录方式过滤根据组态信息、预处理数据序列,保留下需要的数据点。核心压缩过程中,首先进行时间戳压缩,然后根据不同的数据类型,分别采用不同的方法进行数据量过滤压缩,最后经过数据类型转换步骤,完成对所有过程数据的压缩。如果组态时用户配置了定期整理策略,则会定期地对数据文件进行无损压缩备份,并清理原始数据。
数据平滑处理:当传感器的测量误差较大时,就需要对数据块中的噪声点进行处理,使得处理后的数据更能代表或者更接近被测参数的实际值,这就是数据平滑过程。首先要根据传感器的测量精度来确定是否需要进行数据平滑,其次是使用何种平方法,不同的平滑方法对平滑后的数据结果有一定影响。
不同的记录点,其记录的数据对应着不同物理意义的现场信号量,如温度、压力、流量等,即使是物理意义相同的信号量,信号变化快慢也存在着差异。因此,保存历史数据时采用有针对性的记录方式,只在有必要的时刻才保存信息,可以有效地对采集到的数据进行过滤,进而减小存储的总量。记录方式过滤的主要参数是来源于于工程组态时对记录点的配置,由工程人员根据实际记录点的物理意义、信号特性等信息,设置周期记录方式的k值,或者死区记录方式的Δ值。可见,记录方式过滤的压缩效果对组态人员的工程经验有着较多的依赖,因此,本级压缩中的所有参数是对用户完全开放的。
核心压缩:工业的历史数据是基于时间序列的数据,数据量会随着时间的推移不断地增加。对历史数据库的要求是所记录的历史数据必须能够反映出系统在一系列时刻的状态,因此时间戳与数据值必须严格对应地记录。在核心压缩过程中,首先解决时间戳压缩的问题。另外,为了提高历史数据库系统的效率,便于统一管理,在内存缓存中的历史数据统一按照4字节进行暂存,此时并没有考虑信号点的实际数据类型。因而在数据的核心压缩阶段,进行数据压缩和存储格式转换是必不可少的过程。需要说明的是,在这个过程中,将减少采样数据序列中冗余数据的过程,称为数据量过滤。数据量过滤是根据开关量、整型量和模拟量三类不同信号的特点,分别设计了有针对性的压缩方法,下文将详细分析该过程使用的压缩方法。三种信号类型的数据在实际存储中又对应着三种不同的C什数据类型,分别为char,int和float,将上述数据类型占用的存储空间减小的过程,称为数据位精简。
时间戳压缩
对于同一个记录点,每次对二级缓存中的一组历史数据压缩时,完整地记录该组数据的起始时间戳Ts,对于其他数据的时间戳Ti,则使用“周期跨度”来表示,表达形式为:
Ti=Ts+i×T
式中i为一个0到255的整数,表示Ti相对于起始时间Ts的“周期跨度”,T为该点的记录周期(精度记录方式下,该周期等于系统的扫描周期1秒)。由于记录周期T另外保存在配置文件中,这样一来,一个时间戳实际上存储的信息仅为一个周期跨度i,占用1个字节,极大降低了存储空间的占用。同时,因为采用了这种时间戳的存储方式,在内存二级缓存中,将单个记录点的数据缓存量限制为255,也就是一个字节能够表示的最大时间跨度。需要指出的是,在实际保存到文件中时,一组数据中连续数据点的i值并不一定是连续递增的整数。因为经过了数据量过滤压缩后,实际存储的数据点所对应的时间戳是无规律的。
开关量压缩
开关量信号点只有0和1两种状态,其数据值是跳变的,而不是连续性地变化。另外,在工业现场,有相当一部分的开关量数据在特定甚至很长的时间段内状态不发生变化,因此,本文在对开关量进行数据量过滤时采用了变化压缩算法。如图3,时间点t0:t6分别应着开关量值1,0,0,0,1,0,0,根据变化压缩算法提取t0,t1,t4,t5时刻的关键数据点保存,而t2,t3,t6时刻的数据值丢弃不保存。这样,在严格保证数据序列准确性的同时,实现了数据量的过滤。开关量在实际存储时使用了char这种数据类型,占用了1个字节的存储空间,而实际上表示一个开关量只需要1位,因此对于经过变化压缩算法过滤后的开关量数据,要进行数据位精简。在使用C一编程时最小的操作单位是1个字节而并非1位,因此,开关量在精简时采用了移位的方法,将8个开关量数据存放于1个字节的不同位置,读数据时同样通过移位操作取出。进行移位操作虽然增加了数据管理的负担,对数据的读取速度也有一定影响,但是该压缩方法成功地将开关量的存储空间降到了最小,并保证了8∶1的高压缩比,综合考虑,上述的影响是可以接受的.
整型量压缩
整型量信号点的历史数据具有一定的特殊性,它们通常是将一系列的开关量组合记录,存储时占用4个字节(32位),每一位的数据都有着严格的意义,因此不允许出现任何误差。对于整型量的压缩,只进行一步数据量过滤,处理方法与开关量相同,采用变化压缩算法,只保存关键数据点,此处不再赘述。数据量过滤后就不再进行数据位精简,直接将需要保存的数据按照4字节大小存储到数据文件中。
模拟量压缩
模拟量信号是工业历史数据库存储的主要信号类型,也是数据量最多、信号复杂度最高、压缩难度最大的信号类型,本文研究的重点在于对模拟量的数据量过滤,提出了一种的自控精度SDT算法。模拟量信号点的数据,在实际存储时使用4字节的float类型,即单精度浮点数存储。
定期整理压缩:定期整理是按照组态时的配置对历史数据文件进行压缩备份,一方面保证数据的安全性,另一方面可以清理硬盘空间,提高历史数据库的运行效率。
本级文件整理压缩采用的是无损压缩技术。对历史数据压缩的复杂程度与解压耗时是相互制约的关系,在定期整理策略的设计上要根据不同历史数据文件的应用需求与特点,权衡两者的关系,选择合理的策略进行数据的压缩。对于工业现场的备份数据,在追溯历史信息、分析故障等特定应用时才需要解压查询。虽然备份数据不需要经常地查询使用,但要保证其时间跨度上的完整性,即要求涵盖系统运行以来几乎每个时间段上的现场数据,数据量巨大。因此,对于备份数据,可以适当地牺牲解压耗时来换取高的压缩比。相反,对于需要经常查询的近期数据文件或者关键数据文件,查询性能是至关重要的。过于繁琐的压缩步骤会直接影响到数据的解压缩效率,解压时间过长将使得历史数据库的查询性能让人难以接受。
在本方法的压缩策略设计中,数据的实时压缩是以工业数据为对象的压缩过程,此时并未采用二次无损压缩技术,即磁盘数据文件中的数据都是没有经过无损压缩的。历史数据库仅在数据定期整理时采用无损压缩技术,独立于在线压缩完成。定期整理为多级压缩策略的最后一个步骤,当历史数据文件存储到一定量,如一个星期或者一个月时,会在新的进程中以数据文件为对象,进行无损压缩,采用标准的LZW算法,不对数据的准确性造成任何影响。
Claims (7)
1.一种智能楼宇中海量能耗信息的压缩方法,步骤如下:
1)先对楼宇中各监测端的数据进行采集,对于采集得到的数据,设智能楼宇能耗信息在线实时监测现场的记录点每条记录为一个三元组(tagid,time,data),分别表示点编号、数据的采集时态和采集的数据;
2)当某记录点的时态属性值发生改变时,对应的新数据存入一级缓存中,然后直接返回下一个任务,这些新数据由后台数据存储线程存入文件;
所述一级缓存是一个数据队列,由数据管理线程和数据存储线程共享;
3)设立二级缓存:
对应每个tagid设有两个固定大小的缓存区,存储线程从一级缓存中取得数据,写入该tagid对应的缓存区;当该tagid对应的其中一个缓存区已满的时候,一次性地把该缓存区中的所有数据转入历史数据压缩区中,并将另一个缓存区变为当前缓存区,继续接收一级缓存的历史数据,如此交替进行;
4)设置历史数据压缩区,并在该压缩区中,对步骤3)的缓存区中的数据进行压缩后再将其转存到磁盘文件;
5)采用文件队列的形式来组织数据文件,当一个文件存满后,才启用文件队列中下一个文件;
6)当压缩完成后,把压缩后的数据存入存储器中,供所需用户端调用。
2.根据权利要求1所述的智能楼宇中海量能耗信息的压缩方法,其特征是所述步骤4)中,对步骤3)的缓存区中的数据进行压缩,是一种多级压缩策略,包括了初级压缩、核心压缩两个阶段以及对数据文件的定期整理压缩;
初级压缩过程中,a)先由数据平滑处理对数据序列中的强噪声点进行平滑处理;b)再由记录方式过滤根据组态信息、预处理数据序列,保留下需要的数据点;
核心压缩过程中,首先进行时间戳压缩,然后根据不同的数据类型,分别采用不同的方法进行数据量过滤压缩,最后经过数据类型转换,完成对所有过程数据的压缩。
3.根据权利要求2所述的智能楼宇中海量能耗信息的压缩方法,其特征是所述核心压缩过程中,如果组态时用户配置了定期整理策略,则定期地对数据文件进行无损压缩备份,并清理原始数据。
4.根据权利要求1所述的智能楼宇中海量能耗信息的压缩方法,其特征是所述步骤5)中,文件队列的长度由管理员设定。
5.根据权利要求3所述的智能楼宇中海量能耗信息的压缩方法,其特征是所述初级压缩过程中,先由数据平滑处理对数据序列中的强噪声点进行平滑处理;再由记录方式过滤根据组态信息、预处理数据序列,保留下需要的数据点;
1)对a)中,根据传感器的测量精度来确定是否需要进行数据平滑,当传感器的测量误差较大时,则对数据块中的噪声点进行处理,使得处理后的数据更能代表或者更接近被测参数的实际值;数据平滑的方法包括移动窗口多项式最小二乘拟合平滑方法、粗糙惩罚方法,kernel平滑方法、卡尔曼滤波法、指数平滑法、五点三次平滑法或七点二次平滑法;
2)对于b)中,记录方式过滤是指,保存历史数据时,只在有必要的时刻才保存信息;记录方式过滤的主要参数是来源于工程组态时对记录点的配置,由工程人员根据实际记录点的物理意义、信号特性等信息,设置周期记录方式的k值,或者死区记录方式的Δ值;
初级压缩中的所有参数是对用户完全开放的;
对于所述k值,对于每个记录点,实际的记录周期应该设置为最小记录周期的整数倍,即Ti=k·T,k=1,2,…,k值由用户在工程组态时配置;
对于所述Δ值,设ys为某记录点最近一次保存的数据值,该记录点待压缩的数据序列为y1,y2,…,yn-1,yn,定义一个精度值Δ,依次对序列中的值yi做如下比较:若yi满足|yi-ys|≥Δ,则将yi保存,并记录ys=yi;否则过滤掉yi值不予保存。
6.根据权利要求2所述的智能楼宇中海量能耗信息的压缩方法,其特征是所述核心压缩包括时间戳压缩,和针对不同数据类型的开关量压缩、整型量压缩和模拟量压缩;
1)时间戳压缩:
对于同一个记录点,每次对二级缓存中的一组历史数据压缩时,完整地记录该组数据的起始时间戳Ts,对于其他数据的时间戳Ti,则使用“周期跨度”来表示,表达形式为:
Ti=Ts+i×T
式中i为一个0到255的整数,表示Ti相对于起始时间Ts的“周期跨度”,T为该点的记录周期;由于记录周期T另外保存在配置文件中,一个时间戳实际上存储的信息仅为一个周期跨度i,占用1个字节;同时,因为采用了这种时间戳的存储方式,在内存二级缓存中,将单个记录点的数据缓存量限制为255,也就是一个字节能够表示的最大时间跨度;
2)开关量压缩
开关量进行数据量过滤时,采用了变化压缩算法,提取时间点中的关键数据点保存;
3)整型量压缩
对于整型量的压缩,采用变化压缩算法,只保存关键数据点;
4)模拟量压缩
对模拟量的数据量过滤,提出了一种的自控精度SDT算法;自控精度SDT算法如下:
设ΔE为SDT算法的压缩精度参数,其压缩过程为:起点t0为最近一次存储的点,以距离t0为ΔE的上下两点作为支点,建立两扇虚拟的门,只有一个数据时门闭合;随着数据点的增加,门会旋转着打开,门的宽度可延伸,一旦打开就不能再闭合;只要两扇门的内角和小于1800即两扇门未平行,旋转操作就可以继续;当两扇门的内角和大于等于1800,就停止操作,存储前一数据点,并由该点开始新一段压缩;
数据压缩过程中,计算出实际压缩性能与期望性能之间的偏差,根据偏差大小调整压缩精度△E,并作为下一组数据的压缩精度,使得实际性能指标不断地逼近期望值。
7.根据权利要求1所述的智能楼宇中海量能耗信息的压缩方法,其特征是所述步骤3)中,对数据文件的定期整理压缩是指定期整理历史数据压缩区,按照组态时的配置对历史数据文件进行压缩备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010567749 CN102006081B (zh) | 2010-12-01 | 2010-12-01 | 智能楼宇中海量能耗信息的压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010567749 CN102006081B (zh) | 2010-12-01 | 2010-12-01 | 智能楼宇中海量能耗信息的压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102006081A CN102006081A (zh) | 2011-04-06 |
CN102006081B true CN102006081B (zh) | 2013-06-05 |
Family
ID=43813197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010567749 Expired - Fee Related CN102006081B (zh) | 2010-12-01 | 2010-12-01 | 智能楼宇中海量能耗信息的压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102006081B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722508A (zh) * | 2011-09-28 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种现场数据库提取技术统计的方法及系统 |
CN102437856A (zh) * | 2011-11-04 | 2012-05-02 | 国电南京自动化股份有限公司 | 基于特征点提取的地铁综合监控系统三级数据压缩方法 |
CN103794006B (zh) | 2012-10-31 | 2016-12-21 | 国际商业机器公司 | 用于处理多个传感器的时序数据的方法和装置 |
CN106330995A (zh) * | 2015-06-19 | 2017-01-11 | 陕西重型汽车有限公司 | 用于车联网的三级数据压缩装置及其方法 |
US10339121B2 (en) * | 2015-08-06 | 2019-07-02 | Sap Se | Data compression |
CN105955673A (zh) * | 2016-05-26 | 2016-09-21 | 广东雅达电子股份有限公司 | 一种能耗监测数据的过滤方法 |
CN108234464B (zh) * | 2017-12-25 | 2021-02-09 | 中国铁路总公司 | 用于信号集中监测系统的采集数据高效压缩方法 |
CN108540136B (zh) * | 2018-03-13 | 2021-06-29 | 华侨大学 | 一种适用于农业传感数据的压缩方法 |
CN110879800B (zh) * | 2018-09-05 | 2023-08-18 | 阿里巴巴集团控股有限公司 | 数据写入、压缩和读取方法、数据处理方法及装置 |
CN109656167B (zh) * | 2018-12-14 | 2022-02-22 | 广州河东科技有限公司 | 一种基于智能设备的通信控制系统及方法 |
CN109799449B (zh) * | 2018-12-20 | 2021-07-02 | 深圳科安达电子科技股份有限公司 | 一种基于参数识别的轨道电路监测数据解压缩方法和处理系统 |
CN109933568A (zh) * | 2019-03-13 | 2019-06-25 | 安徽海螺集团有限责任公司 | 一种工业大数据平台系统及其查询方法 |
CN110826203A (zh) * | 2019-10-25 | 2020-02-21 | 成都大汇智联科技有限公司 | 水轮机顶盖连接螺栓疲劳寿命的评估方法及监测系统 |
CN111681353B (zh) * | 2020-05-28 | 2022-03-25 | 浙江大华技术股份有限公司 | 热成像测温方法、一体化设备及存储介质 |
CN112764989A (zh) * | 2021-01-12 | 2021-05-07 | 湖北宸威玺链信息技术有限公司 | 一种用于监控应用服务启停时间的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612252A (zh) * | 2003-10-31 | 2005-05-04 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
CN1945644A (zh) * | 2006-10-13 | 2007-04-11 | 福建师范大学 | 一种航标遥测终端的多层次分级数据处理系统及方法 |
CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101821696B (zh) * | 2007-08-28 | 2013-02-20 | Commvault系统公司 | 如数据存储操作的自适应能耗管理的数据处理资源的能耗管理 |
-
2010
- 2010-12-01 CN CN 201010567749 patent/CN102006081B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612252A (zh) * | 2003-10-31 | 2005-05-04 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
CN1945644A (zh) * | 2006-10-13 | 2007-04-11 | 福建师范大学 | 一种航标遥测终端的多层次分级数据处理系统及方法 |
CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102006081A (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102006081B (zh) | 智能楼宇中海量能耗信息的压缩方法 | |
CN100435136C (zh) | 一种基于最小二乘线性拟合的实时数据压缩方法 | |
CN101667205B (zh) | 一种面向快速回放的实时测点数据存储方法 | |
CN102437856A (zh) | 基于特征点提取的地铁综合监控系统三级数据压缩方法 | |
CA2871313C (en) | Method and system for managing power grid data | |
CN102510287B (zh) | 一种工业实时数据的快速压缩方法 | |
CN109684416A (zh) | 一种高并发实时历史数据存储系统 | |
CN101609986A (zh) | 基于决策树的多级联合协调自动电压控制方法 | |
CN102073712B (zh) | 基于动态变化帧的过程数据全息归档和反演方法 | |
CN112632127B (zh) | 设备运行实时数据采集及时序的数据处理方法 | |
CN104682962A (zh) | 一种海量燃气数据的压缩方法 | |
CN102437854B (zh) | 一种高压缩比的工业实时数据压缩方法 | |
CN109994131A (zh) | 一种基于索引的工频录波文件压缩存储方法及系统 | |
CN109753526A (zh) | 一种基于时序相似度对告警信息分析查询的装置及方法 | |
CN101995823B (zh) | 基于统计预测技术的节能控制方法 | |
CN106610616A (zh) | 一种基于大数据分析的性能自动调优方法及装置 | |
CN103218680A (zh) | 水务企业的数据分析决策系统 | |
CN103679288A (zh) | 一种径流式小水电集群发电功率短期预测方法及预测系统 | |
CN103198157A (zh) | 一种大地电场数据的压缩存储处理方法 | |
CN1614688A (zh) | 基于硬盘的监控数据文件处理方法及其硬盘检测方法 | |
CN102508925A (zh) | 一种电站锅炉运行性能分析系统的实现方法 | |
CN110134690B (zh) | Oracle数据库超大数据快速存储方法及系统 | |
CN108182198A (zh) | 存储先进控制器运行数据的控制装置和读取方法 | |
CN1904882A (zh) | 数据库近线数据的压缩方法 | |
CN111241074A (zh) | 基于时序数据和关系数据的钢铁企业数据中心应用系统 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130605 Termination date: 20131201 |