专利名称:实时数据在线压缩与解压缩方法
技术领域:
本发明涉及实时数据处理方法,特别是涉及过程控制系统中一种实时数据在线压缩与解压缩方法及相应的文件结构。
背景技术:
过程控制系统运行过程中的数据往往需要记录,以备以后的工艺分析、故障追溯以及控制方案改进等参考用途。而控制系统又需要长期运行,这样对于存放数据的文件所需的硬盘空间要求就比较大,这给数据的存放及访问带来了限制。
现有的一些过程控制系统为了解决这一问题,也采用了一些数据压缩算法,如死区数据方法,它是LZW压缩算法的一种特例,将采集的过程数据根据预定义的死区进行过滤,如果该死区定义为0,则表示如果该标签的当前值与前一个值不同时,该值被记录,如果完全一致,该值被滤掉;另一种是基于变化率的矢量压缩,先记录A和B点,判断采集的数据点C如果落在A和B点的直线上或者在斜率的变化的死区范围内,则B点数据不被记录到数据文件,采集到D点仍在A和C点的直线上或者在斜率的变化的死区范围内,则C点数据不被记录到数据文件,当采集到E点数据时,直线DE的斜率相对于CD斜率的变化已经超过了死区的限制,所以D点数据被记录到数据文件。以此类推,拐点处的数据被记录下,死区范围内的数据都被压缩处理而没有记录,在解压缩时通过插值的算法回取到这部分数据。因此,死区的压缩特征在非0定义下是有损的,其本质是在相邻的时间区域内过滤重复的数据点,这个区域宽度由死区决定,死区越大,压缩损伤越厉害,这将导致数据的人为不连续性。在过程数据库中,有些值譬如累积量往往需要表示一个非常大的数,其单位通常情况下为Mpa、T、Km3等,而这个数本身是一个保留了许多位小数,这时如果采用死区压缩保存数据,就会跟实际数值相差较大。而且此种方法针对数据值进行压缩,所压缩的比例非常有限。因此,现有的过程控制系统中,其数据记录中采用的压缩算法比较有限且效率不高。
发明内容
本发明的目的是提供一种过程控制系统中实时数据在线压缩与解压缩方法,它采用了现有的比较成熟的压缩算法,设计了一种适合在线压缩的文件结构,从而实现了数据的在线压缩存入,读取时则能够平缓解压读取。
本发明采用如下技术方案一种实时数据在线压缩与解压缩方法,包括以下步骤a.读取实时数据;实时数据的读取设置为一独立线程,该线程初始化时通过实时数据读取接口先读取需要记录的位号信息,然后每一采集周期按该位号信息列表读取现场设备的实时数据,并将读取来的数据暂时存放;所述暂时存放的数据共享读写操作,并有一标志用来表示当前数据的状态,此标志使得实时数据的读取与数据的压缩区分开;b.进行数据压缩;为了使数据的压缩与实时数据的读取互不影响,实时数据的压缩也采用一独立线程,该线程的压缩过程采用队列方式,在每个执行周期中从压缩队列里移出若干个待压缩位号,将其压缩并产生压缩数据包;c.进行数据存放;压缩后的数据被写入并保存,保存采用文件组结构,包括若干个压缩数据文件,压缩数据文件记录数据的时间范围可在系统组态时定义,压缩线程在每个执行周期首先检查是否到达时间上限需要新建压缩数据文件,若条件满足,则调用新建数据文件并在索引文件中写入新建的数据文件,否则仍对原压缩数据文件进行操作;压缩后的数据包存放在压缩数据文件的数据区,而压缩包在文件中的绝对地址记录在文件的索引区;在压缩线程检测到执行周期的时间上限时,将准备调用新建数据文件,但在调用新建数据文件之前,将实时数据缓存模块中仍属于前一周期的所有数据进行压缩并写入前一周期的数据文件中;d.获取历史数据;获取历史数据包括数据查询、解压缩与读取,获取历史数据采用动态链接库技术,进一步包括以下步骤
d1.读取索引文件,从该文件获取压缩数据文件列表;d2.查询索引文件,按提交进来的数据时间范围筛选这些文件;d3.打开满足时间要求的数据文件,获取该文件中记录的位号信息;d4.从获取来的位号信息列表中查找欲读取位号,如果没有该位号信息记录则返回零,如果有则获得该位号在该文件中的索引信息;d5.根据所获取的索引信息获得该位号的数据区地址范围读取并筛选满足要求的数据;d6.压缩数据解包,按照压缩算法的解压缩过程将压缩数据逐步还原;d7.数据读取模块读取解压缩后的数据并显示给用户。
所述步骤c中,索引区不仅记录了各位号的每个压缩包的文件地址,还包括数据时间;在数据区中,一个位号的若干个压缩包构成一个数据条,数据条的分配按照先来先分配和连续地址分配的原则。
所述步骤c中,预先设定数据保存时间,当数据文件数目超出时,新建的数据文件就覆盖最早的文件。
所述步骤d中,若所查询的数据的时间范围新于索引文件中最新数据时间,则在读取数据文件之后根据最新的位号信息在临时文件中查询、筛选并读取这些数据。
一种进行如权利要求1所述的实时数据在线压缩与解压缩方法的装置,其特征在于,包括实时数据读取接口装置,获取过程监控系统运行中的数据,并根据组态设定的需要读取的位号清单从现场设备中读取相应位号信息清单及其数据;实时数据缓存装置,临时存放由所述实时数据读取接口装置获取的位号信息,并在压缩执行时的读取,该装置的数据实时获取与在线压缩互不干扰,并且保证异常终止系统数据的可恢复性;实时数据压缩执行装置,从所述实时数据缓存装置中读取待压缩数据,并压缩所读取出的数据,产生压缩包;实时过程数据库装置,存放压缩后的数据,根据压缩包与时间范围的对应关系编入索引;
数据查询装置,对实时过程数据库中的数据进行查询,根据查询数据的请求条件索引到压缩包地址;解压缩装置,根据压缩编码时的对应关系从压缩数据中还原出原数据;数据读取装置,将解压缩后的数据提供给查询的用户。
所述装置中数据的获取与存放均是以文件结构形式进行。
所述实时数据缓存装置包含临时数据文件,所述实时过程数据库装置包含压缩数据文件和索引文件。
所述临时数据文件除文件标识外,还包括位号数据信息区和第一数据区、第二数据区;所述位号数据信息区记录了所述第一数据区和第二数据区的状态,包括实时写入、写满等待压缩、正在压缩和空闲。
所述压缩数据文件包含有若干个压缩数据文件,每个压缩数据文件根据时间片段设置,即根据预先设定的每个压缩数据文件记录数据的时间范围,每到一个新的时间片段时,所述压缩装置将在所述实时过程数据库装置中新建一个压缩数据文件,以存放下一个时间片段的压缩数据;所述压缩数据文件格式除文件标识外,还包括位号个数、索引区起始地址、数据区起始地址、文件最大记录时间、文件最后记录时间、信息区中记录最后一次位号位置、文件信息区、索引区和数据区;位号个数、索引区起始地址、数据区起始地址和文件最大记录时间根据实际需要的情况预先设定;文件最后记录时间、信息区中记录最后一次位号位置在压缩执行过程中动态修改;文件信息区用于存放待压缩数据的位号信息,包括它们的ID、量程、单位和描述;文件索引区用于存放各个位号按数据压缩包与记录时间的对应关系;文件数据区就是用于存放压缩后的各位号的数据;每个位号在文件索引区和数据区中分配的空间由位号信息中的其它参数例如单个数据文件记录的最大时间、数据记录最小采集周期决定。
所述的索引文件,是对所有压缩数据文件进行管理并提供查询方式的文件,其文件格式除文件标识外,还包括已记录的文件个数和数据文件与时间对应索引。
由于采用了上述技术方案,本发明具有以下优点本发明采用较成熟的LZW算法,压缩过程针对数据结构,具有较高的压缩比;本发明的压缩数据保存采用文件结构形式,实现了数据的在线压缩存入,同时读取时能够平缓解压缩读取;本发明的数据保存中还采用了多级索引的方式,大大提高了历史数据查询效率。
图1为本发明的整体结构方框图。
图2为本发明的实时数据缓存模块的临时数据文件结构。
图3为本发明的压缩数据文件结构。
图4为本发明的索引文件结构。
图5为本发明的实时数据缓存模块的工作流程。
图6为本发明的多级索引的文件形式。
具体实施例方式
下面结合附图和实施例来进一步说明本发明的技术方案。
请参阅图1,为本发明的整体结构方框图。是一种采用本发明所述的实时数据在线压缩与解压缩方法的装置,它包括实时数据读取接口装置11、实时数据缓存装置12、实时数据压缩执行装置13、实时过程数据库装置14、数据查询装置15、解压缩装置16、数据读取装置17;实时数据读取接口装置11,主要负责过程监控系统运行中数据的获取,它根据预先设定(可以在组态时设定)需要读取的位号清单从现场设备的实时数据管理模块10中读取相应位号信息清单及其数据;实时数据缓存装置12,用于临时存放由实时数据读取接口装置11中获取的位号信息,以便压缩执行时的读取,其特点在于使数据的实时获取与在线压缩互不干扰,并且保证异常终止系统数据的可恢复;实时数据压缩执行模块装置13,其特点是从实时数据缓存装置12中读取待压缩数据,并采用一定的压缩算法(如较成熟的LZW算法)压缩所读取出的数据,同时产生压缩包;
实时过程数据库装置14,用于存放压缩后的数据,其特点在于根据压缩包与时间范围的对应关系编入索引,以便读取时有高效率;数据查询装置15,主要是对实时过程数据库装置14中的数据进行查询,根据查询数据的请求条件索引到压缩包地址;解压缩装置16,是根据压缩编码时的对应关系从压缩数据中还原出原数据;数据读取装置17,是将解压缩后的数据提供给查询的用户。
请参阅图2,为本发明的实时数据缓存装置12中的临时数据文件结构。临时数据文件除文件标识21外,还包括位号数据信息区22和第一数据区23、第二数据区24。位号数据信息区22记录了第一数据区23和第二数据区24的状态,如实时写入、写满等待压缩、正在压缩和空闲。在临时数据中分配两个数据区,这样可以使临时数据写入与压缩数据时的读取可以交替使用两块数据区而互不干扰。其工作流程参见图5,过程如下步骤S51,实时采集记录一位号数据;步骤S52,采集该位号数据后,判断该文件中这个位号两块数据区的状态,找出两块中状态标记为“实时写入”的数据区,如果两块数据区都为“空闲”则,进入步骤S53,否则直接进入步骤S54;步骤S53,取第一块数据区,并标上“实时写入”状态(除了这种两块都为空闲状态外,由本发明的其它机制保证了不会有其它可能产生没有任何一块是“实时写入”状态的情况,如两块都是待压缩或正在压缩状态);步骤S54,然后从实时数据接口模块中读取实时数据,并记录在状态为“实时写入”的数据区中;步骤S55,压缩的提交;当状态为“实时写入”的数据区完成了预定数量的数据读取与记录后,修改该数据区状态为“写满等待压缩”状态;步骤S56,判断另一数据区是否为“空闲”,如不为“空闲”,则进入步骤S57等待其至空闲为止再进行相关操作;如果另一数据区为“空闲”,则进入步骤S58;步骤S58,将该数据区状态改为“实时写入状态”,并且将“写满等待压缩”状态的数据区提交压缩线程进行数据压缩;
步骤S59,数据的压缩;压缩线程收到压缩数据请求之后,放入压缩队列。该线程每个工作周期按请求时间早到早压执行压缩请求。压缩完成之后,修改该数据区状态为“空闲”。
请参阅图3,为本发明的压缩数据文件结构。本发明所述的压缩数据文件,其特点在于包括若干个压缩数据文件,每个压缩数据文件根据时间片段设置,即根据预先设定的每个压缩数据文件记录数据的时间范围,每到一个新的时间片段时,压缩模块将在实时过程数据库模块中新建一个压缩数据文件,以存放下一个时间片段的压缩数据,这样方便历史数据的查询。压缩数据文件格式除文件标识31外,还包括位号个数32、索引区起始地址33、数据区起始地址34、文件最大记录时间35、文件最后记录时间36、信息区中记录最后一次位号位置37、文件信息区38、索引区39和数据区310和隔离区域311。位号个数32、索引区起始地址33、数据区起始地址34和文件最大记录时间35根据实际需要的情况预先设定(可在组态时设置);文件最后记录时间36、信息区中记录最后一次位号位置37在压缩执行过程中动态修改;文件信息区38用于存放待压缩数据的位号信息,包括它们的ID、量程、单位和描述等;索引区39用于存放各个位号按数据压缩包与记录时间的对应关系,索引区39的最基本单位是索引块,索引块包含了压缩数据的时间和地址范围及其对应关系;数据区310就是用于存放压缩后的各位号的数据;每个位号在文件索引区和数据区中分配的空间由位号信息中的其它参数例如单个数据文件记录的最大时间、数据记录最小采集周期决定。
索引区39和数据区310对压缩数据写入与读取过程如下数据的写入过程某位号的一段时间内数据压缩成数据包之后,在为该位号分配的索引块区域中找到最近一次使用的索引块,并且在其后新建一块索引块,新建的索引块记录了该包数据的时间范围,和将要写入的数据区的绝对物理地址起始范围;完成索引区记录之后,按索引块预计的地址在数据区中写入该数据包。
数据的读取过程指定时间范围读取某位号时,在历史数据文件组中找到与该时间段相符的数据文件(即下述图4的说明)。之后,在该数据文件的索引区中根据地址范围找到相应的为该位号分配的索引块,根据该索引块中记录的地址在数据区读取相应的压缩数据包,并且解压成数据组,从而完成数据的读取。
请参阅图4,为本发明的索引文件结构。本发明所述的索引文件,即对所有压缩数据文件进行管理并提供查询方式的文件,其文件格式除文件标识41外,还包括已记录的文件个数42和数据文件与时间的对应索引43。本发明对历史数据的获取采用了多级索引的文件形式,获取历史数据的方法将在下面做详细描述。
本发明的实时数据在线压缩与解压缩方法,包括以下步骤a.读取实时数据,将实时数据的读取在设置为一独立线程,该线程初始化时通过实时数据读取接口先读取需要记录的位号信息,然后每一采集周期(如1秒)按该位号信息列表从现场设备的实时数据管理模块(所述实时数据管理模块是设置在现场设备中的具有实时更新数据,并且提供读取、写入数据接口的功能模块)中读取实时数据,并将读取来的数据暂时存放在实时数据缓存模块中;实时数据缓存模块可提供共享读写操作,该模块的实现文件中有一标志用来表示当前数据的几种状态(实时写入、写满等待压缩、正在压缩和空闲),此标志使得实时数据的读取与数据的压缩区分开,从而为在线压缩提供了可能。
b.进行数据压缩,为了使数据的压缩与实时数据的读取互不影响,实时数据的压缩执行模块也采用了一独立线程,该线程的压缩过程采用队列方式,在每个执行周期中从压缩队列里移出若干个待压缩位号,采用一定的压缩算法,产生压缩数据包。采用压缩消息的队列方式使压缩过程平缓进行,避免了CPU占用高峰而给系统其它模块带来影响。
c.进行数据存放,压缩后的数据被写入并保存在实时过程数据库模块,该模块的数据存放采用文件组结构,包括若干个压缩数据文件,压缩数据文件记录数据的时间范围可在系统组态时定义,压缩数据文件的新建由压缩模块完成,压缩线程在每个执行周期首先检查是否到达时间上限需要新建压缩数据文件,若条件满足,则调用新建数据文件并在索引文件中写入新建的数据文件,否则仍对原压缩数据文件进行操作。
压缩后的数据包存放在压缩数据文件的数据区,而压缩包在文件中的绝对地址记录在文件的索引区,索引区不仅记录了各位号的每个压缩包的文件地址,还包括数据时间等,以便数据的查询。在数据区中,一个位号的若干个压缩包构成一个数据条(数据条是为某一位号一次性分配的地址范围),数据条的分配按照先来先分配和连续地址分配的原则,这样使得系统运行过程中文件逐渐增长、有效的利用存储空间,即使在硬盘空间较紧张的情况下也可稳定运行。
在压缩线程检测到执行周期的时间上限时,将准备调用新建数据文件,但在调用新建数据文件之前,将实时数据缓存模块中仍属于前一周期的所有数据进行压缩并写入前一周期的数据文件中,以保证数据按周期时间压缩的完整性。
另外,考虑到即使采用压缩,数据文件也不可能无限制的进行记录与保存,因此预先可设定(可组态时定义)数据保存时间,当数据文件数目超出时,新建的数据文件就覆盖最早的文件,以达到数据文件数目的限制。
d.获取历史数据,历史数据的获取包括数据查询、解压缩与读取。历史数据获取模块采用动态链接库技术,以方便程序调用。本发明对历史数据的获取采用了多级索引的文件形式,请参见图6,其索引步骤为d1.先读取索引文件,从该文件获取压缩数据文件列表;d2.查询索引文件,按提交进来的数据时间范围筛选这些文件;d3.打开满足时间要求的数据文件,获取该文件中记录的位号信息;d4.从获取来的位号信息列表中查找欲读取位号,如果没有该位号信息记录则返回零,如果有则获得该位号在该文件中的索引信息,即相应索引块中信息;d5.根据所获取的索引块信息获得该位号的数据区地址范围读取并筛选满足要求的数据;d6.获得压缩数据包后,按照LZW算法所述的隐含在压缩数据中压缩过程中动态生成的对应关系编码表将压缩数据逐步还原;d7.数据读取模块读取解压缩后的数据并显示给用户。
若所查询的数据的时间范围新于索引文件中最新数据时间,则在读取数据文件之后根据最新的位号信息在临时文件中查询、筛选并读取这些数据。
本发明中所采用的LZW(Lempel-Ziv-Welch,三位发明人的缩写)算法是一种比较高效的压缩算法。其基本原理是LZW把每一个第一次出现的字符串用一个数值来编码,在还原程序中再将这个数值还成原来的字符串。例如用数值0x100代替字符串“abccddeee”,每当出现该字符串时,都用0x100代替,这样就起到了压缩的作用。至于0x100与字符串的对应关系则是在压缩过程中动态生成的,而且这种对应关系隐含在压缩数据中,随着解压缩的进行这张编码表会从压缩数据中逐步得到恢复,后面的压缩数据再根据前面数据产生的对应关系产生更多的对应关系,直到压缩文件结束为止,由于LZW压缩算法是无损的,即能完全还原,因此不影响数据内容。
由于采用了上述技术方案,本发明具有以下优点本发明采用较成熟的LZW算法,压缩过程针对数据结构,具有较高的压缩比;本发明的压缩数据保存采用文件结构形式,实现了数据的在线压缩存入,同时读取时能够平缓解压缩读取;本发明的数据保存中还采用了多级索引的方式,大大提高了历史数据查询效率。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
权利要求
1.一种实时数据在线压缩与解压缩方法,包括以下步骤a.读取实时数据;实时数据的读取设置为一独立线程,该线程初始化时通过实时数据读取接口先读取需要记录的位号信息,然后每一采集周期按该位号信息列表读取现场设备的实时数据,并将读取来的数据暂时存放;所述暂时存放的数据共享读写操作,并有一标志用来表示当前数据的状态,此标志使得实时数据的读取与数据的压缩区分开;b.进行数据压缩;为了使数据的压缩与实时数据的读取互不影响,实时数据的压缩也采用一独立线程,该线程的压缩过程采用队列方式,在每个执行周期中从压缩队列里移出若干个待压缩位号,将其压缩并产生压缩数据包;c.进行数据存放;压缩后的数据被写入并保存,保存采用文件组结构,包括若干个压缩数据文件,压缩数据文件记录数据的时间范围可在系统组态时定义,压缩线程在每个执行周期首先检查是否到达时间上限需要新建压缩数据文件,若条件满足,则调用新建数据文件并在索引文件中写入新建的数据文件,否则仍对原压缩数据文件进行操作;压缩后的数据包存放在压缩数据文件的数据区,而压缩包在文件中的绝对地址记录在文件的索引区;在压缩线程检测到执行周期的时间上限时,将准备调用新建数据文件,但在调用新建数据文件之前,将实时数据缓存模块中仍属于前一周期的所有数据进行压缩并写入前一周期的数据文件中;d.获取历史数据;获取历史数据包括数据查询、解压缩与读取,获取历史数据采用动态链接库技术,进一步包括以下步骤d1.读取索引文件,从该文件获取压缩数据文件列表;d2.查询索引文件,按提交进来的数据时间范围筛选这些文件;d3.打开满足时间要求的数据文件,获取该文件中记录的位号信息;d4.从获取来的位号信息列表中查找欲读取位号,如果没有该位号信息记录则返回零,如果有则获得该位号在该文件中的索引信息;d5.根据所获取的索引信息获得该位号的数据区地址范围读取并筛选满足要求的数据;d6.压缩数据解包,按照压缩算法的解压缩过程将压缩数据逐步还原;d7.数据读取模块读取解压缩后的数据并显示给用户。
2.如权利要求1所述的实时数据在线压缩与解压缩方法,其特征在于,所述步骤c中,索引区不仅记录了各位号的每个压缩包的文件地址,还包括数据时间;在数据区中,一个位号的若干个压缩包构成一个数据条,数据条的分配按照先来先分配和连续地址分配的原则。
3.如权利要求1所述的实时数据在线压缩与解压缩方法,其特征在于,所述步骤c中,预先设定数据保存时间,当数据文件数目超出时,新建的数据文件就覆盖最早的文件。
4.如权利要求1所述的实时数据在线压缩与解压缩方法,其特征在于,步骤d中,若所查询的数据的时间范围新于索引文件中最新数据时间,则在读取数据文件之后根据最新的位号信息在临时文件中查询、筛选并读取这些数据。
5.一种进行如权利要求1所述的实时数据在线压缩与解压缩方法的装置,其特征在于,包括实时数据读取接口装置,获取过程监控系统运行中的数据,并根据组态设定的需要读取的位号清单从现场设备中读取相应位号信息清单及其数据;实时数据缓存装置,临时存放由所述实时数据读取接口装置获取的位号信息,并在压缩执行时的读取,该装置的数据实时获取与在线压缩互不干扰,并且保证异常终止系统数据的可恢复性;实时数据压缩执行装置,从所述实时数据缓存装置中读取待压缩数据,并压缩所读取出的数据,产生压缩包;实时过程数据库装置,存放压缩后的数据,根据压缩包与时间范围的对应关系编入索引;数据查询装置,对实时过程数据库中的数据进行查询,根据查询数据的请求条件索引到压缩包地址;解压缩装置,根据压缩编码时的对应关系从压缩数据中还原出原数据;数据读取装置,将解压缩后的数据提供给查询的用户。
6.如权利要求5所述的装置,其特征在于,其数据的获取与存放均是以文件结构形式进行。
7.如权利要求6所述的装置,其特征在于,所述实时数据缓存装置包含临时数据文件,所述实时过程数据库装置包含压缩数据文件和索引文件。
8.根据权利要求7所述的装置,其特征在于,所述临时数据文件除文件标识外,还包括位号数据信息区和第一数据区、第二数据区;所述位号数据信息区记录了所述第一数据区和第二数据区的状态,包括实时写入、写满等待压缩、正在压缩和空闲。
9.根据权利要求7所述的装置,其特征在于,所述压缩数据文件包含有若干个压缩数据文件,每个压缩数据文件根据时间片段设置,即根据预先设定的每个压缩数据文件记录数据的时间范围,每到一个新的时间片段时,所述压缩装置将在所述实时过程数据库装置中新建一个压缩数据文件,以存放下一个时间片段的压缩数据;所述压缩数据文件格式除文件标识外,还包括位号个数、索引区起始地址、数据区起始地址、文件最大记录时间、文件最后记录时间、信息区中记录最后一次位号位置、文件信息区、索引区和数据区;位号个数、索引区起始地址、数据区起始地址和文件最大记录时间根据实际需要的情况预先设定;文件最后记录时间、信息区中记录最后一次位号位置在压缩执行过程中动态修改;文件信息区用于存放待压缩数据的位号信息,包括它们的ID、量程、单位和描述;文件索引区用于存放各个位号按数据压缩包与记录时间的对应关系;文件数据区就是用于存放压缩后的各位号的数据;每个位号在文件索引区和数据区中分配的空间由位号信息中的其它参数例如单个数据文件记录的最大时间、数据记录最小采集周期决定。
10.根据权利要求7所述的装置,其特征在于,所述的索引文件,是对所有压缩数据文件进行管理并提供查询方式的文件,其文件格式除文件标识外,还包括已记录的文件个数和数据文件与时间对应索引。
全文摘要
本发明公开了一种过程控制系统中实时数据在线压缩与解压缩方法及相应的文件结构。它采用了现有比较成熟的压缩算法,设计了一种适合在线压缩的文件结构,由实时数据读取接口模块、实时数据缓存模块、实时数据压缩执行模块、实时过程数据库模块、数据查询模块、解压缩模块、数据读取模块组成,其中,实时数据缓存模块包含临时数据文件,实时过程数据库模块包含压缩数据文件和索引文件。本发明压缩过程针对过程实时数据的结构,采用文件组多级索引的方式,具有较高的压缩比,同时实现了对实时数据的在线压缩存入和平缓解压读取,大大提高了历史数据查询效率。
文档编号G06F12/00GK1612252SQ20031010829
公开日2005年5月4日 申请日期2003年10月31日 优先权日2003年10月31日
发明者张伟, 盛剑国, 黄文君 申请人:浙江中控技术股份有限公司