CN108334582A - 一种实时数据库中历史数据的压缩方法 - Google Patents
一种实时数据库中历史数据的压缩方法 Download PDFInfo
- Publication number
- CN108334582A CN108334582A CN201810077041.9A CN201810077041A CN108334582A CN 108334582 A CN108334582 A CN 108334582A CN 201810077041 A CN201810077041 A CN 201810077041A CN 108334582 A CN108334582 A CN 108334582A
- Authority
- CN
- China
- Prior art keywords
- data
- historical data
- real
- time
- historical
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种实时数据库中历史数据的压缩方法,包括:步骤S1、在内存中开辟实时数据缓存区和历史数据缓存区;步骤S2、将采集到的实时数据搬迁至实时数据缓存区;步骤S3、将实时数据缓存区的实时数据搬迁至历史数据压缩模块,将其压缩成历史数据压缩文件保存在所述历史数据缓存区中;步骤S4、当所述历史数据缓存区中的历史数据压缩文件的大小超过设定大小时,附上索引文件后进行保存在历史数据存储区中。本发明方法能同时应对多个通信点大量数据的输入,在满足历史数据文件最小化的同时,将历史数据进行有效的压缩,并确保高效的历史数据查询效率,提高了客户体验。
Description
技术领域
本发明涉及工业自动化控制技术领域,特别涉及一种实时数据库中历史数据的压缩方法。
背景技术
实时数据库是实时系统技术和数据库技术相结合的产物,具有高实时性、高数据吞吐量等特点,在自动控制领域得到了广泛的应用。当前,国内外主流实时数据库产品一般都提供了历史数据存储功能,能够长时间地保存、备份现场的过程数据。但是由于控制现场的采集点多,采集时间周期短,因而要保存的历史数据量非常大。如果将这些数据直接存储,不仅会占用大量的系统存储空间,而且会降低数据的实时性,使数据的传输、查询变得困难。因此如何在保持数据库高实时性的同时,尽可能地提高数据库的容量,是实时数据研究的一个热点方向。
发明内容
本发明要解决的技术问题,在于提供一种实时数据库中历史数据的压缩方法,用以解决现有技术中由于控制现场的采集点多,采集时间周期短、数据量大,导致历史数据存储困难、占用系统空间大,进而影响客户体验的问题。
本发明是这样实现的:一种实时数据库中历史数据的压缩方法,包括:
步骤S1、在内存中开辟实时数据缓存区和历史数据缓存区;
步骤S2、将采集到的实时数据搬迁至实时数据缓存区;
步骤S3、将实时数据缓存区的实时数据搬迁至历史数据压缩模块,将其压缩成历史数据压缩文件保存在所述历史数据缓存区中;
步骤S4、当所述历史数据缓存区中的历史数据压缩文件的大小超过设定大小时,附上索引文件后进行保存在历史数据存储区中。
进一步的,所述实时数据的提取与存储的过程是:
(a)由数据采集装置将采集的实时数据传输至控制站中;
(b)位于PC端的通讯程序根据事先配置好的控制站地址与通讯点信息将该控制站地址实时数据搬迁至位于内存中的实时数据缓存区进行存储,所述实时数据包含控制站信息及通讯点信息;
(c)通信数据搬迁执行模块将位于实时数据缓存区的实时数据值搬迁至实时数据同步模块、历史数据压缩存储模块、历史数据服务接口模块和报警数据判定储存模块。
进一步的,
所述通信数据搬迁执行模块为Car.exe;
所述实时数据同步模块为ValueIntf.exe;
所述历史数据压缩存储模块为Bag.exe;
所述历史数据服务接口模块为Door.exe;
所述报警数据判定储存模块为Alarm.exe。
进一步的,所述历史数据压缩文件包含历史IO点信息、历史数据缓存头和历史数据内容。
进一步的,所述步骤S3和步骤S4由历史数据压缩存储模块Bag.exe来执行。
进一步的,所述索引文件包括日期索引文件和时期索引文件。
进一步的,所述压缩的规则包括模拟量规则和数字量规则:
所述模拟量规则为:
(M1)、数据变化满足压缩算法的压缩条件时压缩数据;
(M2)、距离前一压缩时间点的间隔时间超过压缩时间设置值时压缩数据;
所述数字量规则为:
(D1)、数据变化时压缩数据;
(D2)、通信质量发生变化时压缩数据;
(D2)、距离前一压缩时间点的间隔时间超过压缩时间设置值压缩数据。
进一步的,所述步骤S4中,当所述历史数据压缩文件的大小超过历史数据存储大小设置值时,对其进行二次压缩,生成包含所述历史数据压缩文件、日期索引文件和时间索引文件在内的二次压缩文件,然后再存储在所述历史数据存储区中。
本发明具有如下优点:本发明方法给出了一种新的文件型历史数据结构的设计,能同时应对多个通信点大量数据的输入,在满足历史数据文件最小化的同时,将历史数据进行有效的压缩,并确保高效的历史数据查询效率,提高了客户体验。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法中实时数据的提取与存储执行流程图。
图2为本发明方法中历史数据的压缩与存储执行流程图。
具体实施方式
本发明的实时数据库中历史数据的压缩方法,包括:
步骤S1、在内存中开辟实时数据缓存区和历史数据缓存区;
步骤S2、将采集到的实时数据搬迁至实时数据缓存区;
步骤S3、将实时数据缓存区的实时数据搬迁至历史数据压缩模块,将其压缩成历史数据压缩文件保存在所述历史数据缓存区中;
步骤S4、当所述历史数据缓存区中的历史数据压缩文件的大小超过设定大小时,附上索引文件后进行保存在历史数据存储区中,所述索引文件包括日期索引文件和时期索引文件。
如图1所示,所述实时数据的提取与存储的过程是:
(a)由传感器、PLC等备数据采集设将采集的实时数据传输至控制站中;
(b)位于PC端的通讯程序根据事先配置好的控制站地址与通讯点信息将该控制站地址实时数据搬迁至位于内存中的实时数据缓存区进行存储,所述实时数据包含控制站信息及通讯点信息;
(c)通信数据搬迁执行模块Car.exe将位于实时数据缓存区的实时数据值搬迁至实时数据同步模块ValueIntf.exe、历史数据压缩存储模块Bag.exe、历史数据服务接口模块Door.exe、报警数据判定储存模块Alarm.exe。
如图2所示,历史数据的压缩与存储的过程:
(1)由历史数据压缩存储模块Bag.exe来执行对历史数据的压缩与存储。
(2)历史数据压缩存储模块Bag.exe将由实时数据内存区搬迁来的历史数据压缩后保存在历史数据缓存区域中,所述历史数据压缩文件包含历史IO点信息、历史数据缓存头和历史数据内容。
其中,所述压缩的规则包括模拟量规则和数字量规则:
所述模拟量规则为:
(M1)、数据变化满足压缩算法的压缩条件时压缩数据;
(M2)、距离前一压缩时间点的间隔时间超过压缩时间设置值时压缩数据;
所述数字量规则为:
(D1)、数据变化时压缩数据;
(D2)、通信质量发生变化时压缩数据;
(D2)、距离前一压缩时间点的间隔时间超过压缩时间设置值压缩数据。
(3)当所述历史数据压缩文件的大小超过历史数据存储大小设置值时,对其进行二次压缩,生成包含所述历史数据压缩文件、日期索引文件和时间索引文件在内的二次压缩文件,然后再存储在所述历史数据存储区中。所述历史数据文件包含历史数据的详细内容,文件编号为1-32000,编号顺序由该历史数据文件的生成顺序依次排列;所述日期索引文件,包含日期索引文件生成时的日期信息;时间索引文件则包含该文件生成时的时间信息,具体至秒。以此来保证历史信息的查询效率,提高了客户体验。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种实时数据库中历史数据的压缩方法,其特征在于:包括:
步骤S1、在内存中开辟实时数据缓存区和历史数据缓存区;
步骤S2、将采集到的实时数据搬迁至实时数据缓存区;
步骤S3、将实时数据缓存区的实时数据搬迁至历史数据压缩模块,将其压缩成历史数据压缩文件保存在所述历史数据缓存区中;
步骤S4、当所述历史数据缓存区中的历史数据压缩文件的大小超过设定大小时,附上索引文件后进行保存在历史数据存储区中。
2.根据权利要求1所述的一种实时数据库中历史数据的压缩方法,其特征在于:所述实时数据的提取与存储的过程是:
(a)由数据采集装置将采集的实时数据传输至控制站中;
(b)位于PC端的通讯程序根据事先配置好的控制站地址与通讯点信息将该控制站地址实时数据搬迁至位于内存中的实时数据缓存区进行存储,所述实时数据包含控制站信息及通讯点信息;
(c)通信数据搬迁执行模块将位于实时数据缓存区的实时数据值搬迁至实时数据同步模块、历史数据压缩存储模块、历史数据服务接口模块和报警数据判定储存模块。
3.根据权利要求2所述的一种实时数据库中历史数据的压缩方法,其特征在于:
所述通信数据搬迁执行模块为Car.exe;
所述实时数据同步模块为ValueIntf.exe;
所述历史数据压缩存储模块为Bag.exe;
所述历史数据服务接口模块为Door.exe;
所述报警数据判定储存模块为Alarm.exe。
4.根据权利要求1所述的一种实时数据库中历史数据的压缩方法,其特征在于:所述历史数据压缩文件包含历史IO点信息、历史数据缓存头和历史数据内容。
5.根据权利要求1所述的一种实时数据库中历史数据的压缩方法,其特征在于:所述步骤S3和步骤S4由历史数据压缩存储模块Bag.exe来执行。
6.根据权利要求1所述的一种实时数据库中历史数据的压缩方法,其特征在于:所述索引文件包括日期索引文件和时期索引文件。
7.根据权利要求1或6所述的一种实时数据库中历史数据的压缩方法,其特征在于:
所述压缩的规则包括模拟量规则和数字量规则:
所述模拟量规则为:
(M1)、数据变化满足压缩算法的压缩条件时压缩数据;
(M2)、距离前一压缩时间点的间隔时间超过压缩时间设置值时压缩数据;
所述数字量规则为:
(D1)、数据变化时压缩数据;
(D2)、通信质量发生变化时压缩数据;
(D2)、距离前一压缩时间点的间隔时间超过压缩时间设置值压缩数据。
8.根据权利要求7所述的一种实时数据库中历史数据的压缩方法,其特征在于:
所述步骤S4中,当所述历史数据压缩文件的大小超过历史数据存储大小设置值时,对其进行二次压缩,生成包含所述历史数据压缩文件、日期索引文件和时间索引文件在内的二次压缩文件,然后再存储在所述历史数据存储区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810077041.9A CN108334582B (zh) | 2018-01-26 | 2018-01-26 | 一种实时数据库中历史数据的压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810077041.9A CN108334582B (zh) | 2018-01-26 | 2018-01-26 | 一种实时数据库中历史数据的压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108334582A true CN108334582A (zh) | 2018-07-27 |
CN108334582B CN108334582B (zh) | 2022-04-05 |
Family
ID=62925794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810077041.9A Active CN108334582B (zh) | 2018-01-26 | 2018-01-26 | 一种实时数据库中历史数据的压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334582B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614248A (zh) * | 2018-12-03 | 2019-04-12 | Oppo广东移动通信有限公司 | 消息压缩方法、装置、存储介质及终端设备 |
CN111881138A (zh) * | 2020-07-29 | 2020-11-03 | 北京微步在线科技有限公司 | 一种数据存储方法及装置 |
CN112118283A (zh) * | 2020-07-30 | 2020-12-22 | 爱普(福建)科技有限公司 | 一种基于多级缓存的数据处理方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612252A (zh) * | 2003-10-31 | 2005-05-04 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
CN1716917A (zh) * | 2004-06-30 | 2006-01-04 | 中兴通讯股份有限公司 | 一种通过缓存提高多媒体消息中心业务处理性能的方法 |
CN1811640A (zh) * | 2006-01-19 | 2006-08-02 | 吴胜华 | 集散型大容量现场高速实时数据冗余通信方法及其系统 |
CN101158859A (zh) * | 2007-10-29 | 2008-04-09 | 中兴通讯股份有限公司 | 缺陷数据实时采集装置及其方法、生产线实时数据采集系统 |
CN103914449A (zh) * | 2012-12-29 | 2014-07-09 | 上海可鲁系统软件有限公司 | 一种多源时间序列数据压缩存储方法 |
EP2804091A1 (en) * | 2013-05-14 | 2014-11-19 | LSIS Co., Ltd. | Apparatus and method for data acquisition |
CN204360184U (zh) * | 2014-11-27 | 2015-05-27 | 杭州优稳自动化系统有限公司 | 一种基于实时数据库的Modbus设备主从站通讯管理系统 |
CN104866441A (zh) * | 2015-06-12 | 2015-08-26 | 陆小芳 | 基于USB Mass Storage接口的实时数据流传输 |
CN106448193A (zh) * | 2016-10-28 | 2017-02-22 | 杭州利艾智能科技有限公司 | 一种城市交通控制系统及控制方法 |
-
2018
- 2018-01-26 CN CN201810077041.9A patent/CN108334582B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612252A (zh) * | 2003-10-31 | 2005-05-04 | 浙江中控技术股份有限公司 | 实时数据在线压缩与解压缩方法 |
CN1716917A (zh) * | 2004-06-30 | 2006-01-04 | 中兴通讯股份有限公司 | 一种通过缓存提高多媒体消息中心业务处理性能的方法 |
CN1811640A (zh) * | 2006-01-19 | 2006-08-02 | 吴胜华 | 集散型大容量现场高速实时数据冗余通信方法及其系统 |
CN101158859A (zh) * | 2007-10-29 | 2008-04-09 | 中兴通讯股份有限公司 | 缺陷数据实时采集装置及其方法、生产线实时数据采集系统 |
CN103914449A (zh) * | 2012-12-29 | 2014-07-09 | 上海可鲁系统软件有限公司 | 一种多源时间序列数据压缩存储方法 |
EP2804091A1 (en) * | 2013-05-14 | 2014-11-19 | LSIS Co., Ltd. | Apparatus and method for data acquisition |
CN204360184U (zh) * | 2014-11-27 | 2015-05-27 | 杭州优稳自动化系统有限公司 | 一种基于实时数据库的Modbus设备主从站通讯管理系统 |
CN104866441A (zh) * | 2015-06-12 | 2015-08-26 | 陆小芳 | 基于USB Mass Storage接口的实时数据流传输 |
CN106448193A (zh) * | 2016-10-28 | 2017-02-22 | 杭州利艾智能科技有限公司 | 一种城市交通控制系统及控制方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614248A (zh) * | 2018-12-03 | 2019-04-12 | Oppo广东移动通信有限公司 | 消息压缩方法、装置、存储介质及终端设备 |
CN111881138A (zh) * | 2020-07-29 | 2020-11-03 | 北京微步在线科技有限公司 | 一种数据存储方法及装置 |
CN112118283A (zh) * | 2020-07-30 | 2020-12-22 | 爱普(福建)科技有限公司 | 一种基于多级缓存的数据处理方法及系统 |
CN112118283B (zh) * | 2020-07-30 | 2023-04-18 | 爱普(福建)科技有限公司 | 一种基于多级缓存的数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108334582B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334582A (zh) | 一种实时数据库中历史数据的压缩方法 | |
CN103488709B (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN104036375B (zh) | 基于条形码的物资动态跟踪的仓储数据处理系统及方法 | |
CN105718480B (zh) | 一种基于地理信息的海量三维数据调度的方法 | |
JP5781867B2 (ja) | 相対および絶対デルタ値を使用するデータ圧縮および復元 | |
CN103942210A (zh) | 海量日志信息的处理方法、装置与系统 | |
CN110175154A (zh) | 一种日志记录的处理方法、服务器及存储介质 | |
CN108197181A (zh) | 一种时序数据的压缩存储方法、电子设备及存储介质 | |
CN108182213A (zh) | 一种基于分布式系统的数据处理优化装置及方法 | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN107301214A (zh) | 在hive中数据迁移方法、装置及终端设备 | |
CN105245360A (zh) | 一种数据中心运维监控告警白名单系统 | |
CN104504116A (zh) | 一种实时数据库的存储方法 | |
CN109871364B (zh) | 一种数据融合与关联处理方法 | |
JP2012074026A5 (zh) | ||
CN107193494A (zh) | 一种基于ssd和hdd混合存储系统的rdd持久化方法 | |
CN107302569A (zh) | 一种面向云平台的安全监控数据采集与存储方法 | |
CN107506438A (zh) | 一种用于物联网的数据处理存储方法以及装置 | |
CN108829345A (zh) | 日志文件的数据处理方法和终端设备 | |
CN108959614A (zh) | 一种快照管理方法、系统、装置、设备及可读存储介质 | |
CN102622367A (zh) | 流程数据的过滤和压缩方法 | |
CN107179883A (zh) | 一种基于SSD和HDD的混合存储系统的Spark架构优化方法 | |
CN115543195A (zh) | 一种适用于时序存储的block落盘方法及系统 | |
KR20120132878A (ko) | 공정 제어 데이터베이스 시스템 구조 | |
CN104866410A (zh) | 一种基于iec 61850的状态监测日志存储及访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |