掌桥专利:专业的专利平台
掌桥专利
首页

一种物联网数据采集网关离线状态高效缓存历史数据方法

文献发布时间:2023-06-19 13:46:35


一种物联网数据采集网关离线状态高效缓存历史数据方法

技术领域

本发明属于物联网技术领域,特别是涉及一种物联网数据采集网关离线状态高效缓存历史数据方法。

背景技术

物联网数据采集网关,也叫工业物联网智能网关、无线数据采集网关,属于无线传感器网络产品。具有高度集成化的特点,对接入的传感器数据进行数据采集、协议转换、数据转发、无线通讯传输等功能,支持多种通讯协议和通讯方式,可采用4G,wifi及以太网等多种通讯方式。

物联网数据采集网关具有:受限的处理能力、少量的内存和磁盘空间、脆弱的无线条件等特征。

物联网数据采集网关在数据转发的过程中,经常会遇到通讯状态不好的情况,在这种情况下没法将数据转发到云端,云端应用依赖的数据完整性不能满足。

物联数据采集网关通常内存和磁盘空间有限,由于缓存引擎存储效率不高,造成缓存的数据量很少,同时在长时间离线状态下会造成磁盘写满的情况。

发明内容

本发明的目的在于提供一种用于物联网数据采集网关离线情况下历史数据的缓存方法,解决物联数据采集网关通常内存和磁盘空间有限,由于缓存引擎存储效率不高,造成缓存的数据量很少,同时在长时间离线状态下会造成磁盘写满的情况。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明的目的在于提供一种物联网数据采集网关离线状态高效缓存历史数据方法,包括物联网数据采集网关部署关系、缓存文件创建和缓存文件删除阶段、缓存文件组成阶段、缓存数据编码和压缩阶段、缓存记录读取阶段;

所述物联网采集网关部署关系包括现场仪表、物联网数据采集网关、和云端服务器,所述现场仪表的数据通过被所述物联网数据采集网关采集后暂存所述物联网数据采集网关的内部,通过网络传输等通讯方式将数据上传到云端服务器;

所述现场仪表的数据需要缓存时,若缓存文件未被写满时,可继续进行写入操作,下一次数据会追加写入本次使用缓存文件,若缓存文件写满时,需将当前缓存文件进行关闭,并且进行压缩归档,同时判断当前整体缓存文件的容量是否达到上限值,若未达到上限值则继续创建新的缓存文件继续写入数据,若达到上限值,则删除已有文件中最早已归档的缓存文件,并且创建新的缓存文件继续写入数据。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述物联网数据采集网关在网络不稳定的情况下会继续暂时储存所述现场仪表的数据,待网络恢复后,会将缓存的数据提上传到云端服务器。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述物联网数据采集网关恢复上传时,会对文件夹进行查找判断是否有缓存文件,若无缓存文件,则结束恢复数据上传,若具有缓存文件,会查找缓存文件中编号最小的缓存文件,并且进行判断是否为zip文件,若是zip文件需要对其进行解压打开,若不是则直接打开缓存文件,再继续校验缓存文件的文件头信息,并且查找文件索引信息区,寻找第一个未被标识删除的索引信息项,并根据索引信息和偏移量和字节数读取缓存数据,并将缓存数据进行校验,待缓存数据读取完成,会随之更新缓存文件的索引信息的删除标识项,并将缓存数据进行解压操作,再通过不定长解码进行解码得到缓存数据每个属性值,同时返还使用者,并通过网络传输上传到云端服务器。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述缓存文件设置有文件头信息、记录索引信息区和记录数据信息区,当创建新缓存文件时,首先写入文件头信息,然后根据设定的文件可以存储的记录数,创建缓存文件的索引块基本信息。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述缓存文件的文件头信息包含三个元素,固定数值、文件容量和已使用记录数量,所述固定数值起判断是不是缓存文件的作用,所述文件容量可以是预先设定的值,所述使用记录数量达到文件容量时,则表示该缓存文件已经被写满。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述记录索引信息区内具有多条索引信息,可根据预设定值看出具有多少索引信息。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述索引信息设置有缓存记录在文件的偏移位置、缓存记录的字节数量、缓存记录的循环冗余校验(CRC)值和是否标识为删除状态。其删除状态是指物联网数据采集网关恢复联网状态后,会从缓存文件中读取缓存记录,并且将所读取的记录上传到云端服务器中,此时该记录就为删除状态,直到本缓存文件全部被读取完成,该缓存文件就会被删除。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述记录数据信息区内具有多条缓存记录数据,缓存记录数据的条数与引索信息数量相同,在写入缓存记录数据之前,会对写入的缓存记录数据进行变长编码,然后对编码后的比特数组进行LZ77算法与哈夫曼编码的无损数据压缩,压缩后的无损压缩数据会被写入缓存文件的缓存记录区,同时更新当前缓存文件的文件头信息和索引信息。

进一步地,一种物联网数据采集网关离线状态高效缓存历史数据方法,所述缓存记录数据具有多属性信息,本发明会根据不同的缓存记录数据的类型进行不定式长编码,已减少空间占用,并且每个数据对应不同的数值,最后在对已经编码的缓存记录数据进行压缩作为缓存文件的数据。

本发明具有以下有益效果:

对所有需要缓存的采集点的数据,根据数据类型进行变长编码,降低存储空间,对编码后的数据使用了LZ77算法与哈夫曼编码的一个无损数据压缩算法进行压缩,建立一个包含索引信息块和数据块的缓存文件,每次按顺序将上面压缩的数据追加写入文件数据库,同时更新该文件的索引信息,对于缓存文件的索引信息写满的情况下,对缓存文件进行zip的归档压缩,对于缓存文件所有数据标识为删除状态,或者磁盘空间受限条件,都会删除最早的历史缓存文件。

本发明的历史数据缓存方法,将历史数据进行变长编码,多级压缩,降低了磁盘的存储开销,提高了存储量。在写入的内容加入了循环冗余校验,保证了数据的可靠性。并且在文件写满或磁盘空间达到上限,自动去删除过期的缓存文件,避免手动删除数据操作,降低数据采集网关的维护成本。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1:本发明的物联网数据采集网关的部署位置

图2:本发明的缓存文件创建和删除逻辑图

图3:本发明的缓存文件组成结构图

图4:本发明的缓存数据的编码和压缩阶段图

图5:本发明的缓存记录读取逻辑图

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“开孔”、“上”、“下”、“厚度”、“顶”、“中”、“长度”、“内”、“四周”等指示方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本发明的限制。

如图1-5所示:一种物联网数据采集网关离线状态高效缓存历史数据方法,

包括物联网数据采集网关部署关系、缓存文件创建和缓存文件删除阶段、缓存文件组成阶段、缓存数据编码和压缩阶段、缓存记录读取阶段;

所述物联网采集网关部署关系包括现场仪表、物联网数据采集网关、和云端服务器,所述现场仪表的数据通过被所述物联网数据采集网关采集后暂存所述物联网数据采集网关的内部,通过网络传输等通讯方式将数据上传到云端服务器;

所述现场仪表的数据需要缓存时,若缓存文件未被写满时,可继续进行写入操作,下一次数据会追加写入本次使用缓存文件,若缓存文件写满时,需将当前缓存文件进行关闭,并且进行压缩归档,同时判断当前整体缓存文件的容量是否达到上限值,若未达到上限值则继续创建新的缓存文件继续写入数据,若达到上限值,则删除已有文件中最早已归档的缓存文件,并且创建新的缓存文件继续写入数据。

如图1-5所示:所述物联网数据采集网关在网络不稳定的情况下会继续暂时储存所述现场仪表的数据,待网络恢复后,会将缓存的数据提上传到云端服务器。

如图1-5所示:所述物联网数据采集网关恢复上传时,会对文件夹进行查找判断是否有缓存文件,若无缓存文件,则结束恢复数据上传,若具有缓存文件,会查找缓存文件中编号最小的缓存文件,并且进行判断是否为zip文件,若是zip文件需要对其进行解压打开,若不是则直接打开缓存文件,再继续校验缓存文件的文件头信息,并且查找文件索引信息区,寻找第一个未被标识删除的索引信息项,并根据索引信息和偏移量和字节数读取缓存数据,并将缓存数据进行校验,待缓存数据读取完成,会随之更新缓存文件的索引信息的删除标识项,并将缓存数据进行解压操作,再通过不定长解码进行解码得到缓存数据每个属性值,同时返还使用者,并通过网络传输上传到云端服务器。

如图1-5所示:所述缓存文件设置有文件头信息、记录索引信息区和记录数据信息区,当创建新缓存文件时,首先写入文件头信息,然后根据设定的文件可以存储的记录数,创建缓存文件的索引块基本信息。

如图1-5所示:所述缓存文件的文件头信息包含三个元素,固定数值、文件容量和已使用记录数量,所述固定数值起判断是不是缓存文件的作用,所述文件容量可以是预先设定的值,所述使用记录数量达到文件容量时,则表示该缓存文件已经被写满。

如图1-5所示:所述记录索引信息区内具有多条索引信息,可根据预设定值看出具有多少索引信息。

如图1-5所示:所述索引信息设置有缓存记录在文件的偏移位置、缓存记录的字节数量、缓存记录的循环冗余校验(CRC)值和是否标识为删除状态。

如图1-5所示:所述记录数据信息区内具有多条缓存记录数据,缓存记录数据的条数与引索信息数量相同,在写入缓存记录数据之前,会对写入的缓存记录数据进行变长编码,然后对编码后的比特数组进行LZ77算法与哈夫曼编码的无损数据压缩,压缩后的无损压缩数据会被写入缓存文件的缓存记录区,同时更新当前缓存文件的文件头信息和索引信息。

如图1-5所示:所述缓存记录数据具有多属性信息,本发明会根据不同的缓存记录数据的类型进行不定式长编码,已减少空间占用,并且每个数据对应不同的数值,最后在对已经编码的缓存记录数据进行压缩作为缓存文件的数据。

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

相关技术
  • 一种物联网数据采集网关离线状态高效缓存历史数据方法
  • 一种智能网关、数据采集方法和物联网系统
技术分类

06120113808276