一种工业网关数据补报方法和工业网关与流程

文档序号:16888115发布日期:2019-02-15 22:49阅读:158来源:国知局
一种工业网关数据补报方法和工业网关与流程

本发明涉及工业网关领域,尤其涉及一种工业网关及其数据管理方法。



背景技术:

网关的作用是连接两个或多个异构的网络,使之能够相互通信。工业网关将异构传感网络融入工业互联网,在工业现场的多种总线协议与要求的通信协议之间进行协议转换,实现不同协议之间的数据交互。但工业网关与普通互联网网关设备的工作环境不同,工业网关还须针对苛刻的工业应用环境。

在工业网关的架构中,由采集服务进行数据采集,通过数据处理模块进行数据处理,然后通过上报模块将数据发送到云端业务层。但在实际运行环境下,由于网络原因或者某些服务异常等情况,都会导致采集的数据无法实时发送到云端或其它外部接收端,导致数据丢失等情况。



技术实现要素:

本发明针对现有技术中的不足,提供了一种工业网关数据补报方法,其具体包括:创建定时补报任务,同时监听与外部接收端的连接状态;将实时采集的工业设备数据写入数据库后,通过第一通道上报给外部接收端,同时对上报失败数据进行标记后写入数据库;在监听到网络连接恢复或者补报周期到达时,从数据库中读取指定数量的上报失败数据,通过第二通道将所述上报失败数据发送给外部接收端。

优选的,所述工业网关包括采集模块、数据处理模块和上报模块,其中所述工业网关数据补报的方法具体包括:

s11,所述上报模块在系统启动时创建定时补报任务,同时监听与外部接收端的连接状态;

s12,所述采集模块将采集的工业设备数据通过第一通道发送到数据处理模块;

s13,所述数据处理模块通过第一通道接收采集模块发送的工业设备数据,并将所述工业设备数据写入数据库后,通过第一通道发送给上报模块;

s14,所述上报模块通过第一通道将所述工业设备数据发送到外部接收端并反馈发送状态;

s15,所述数据处理模块根据所述发送状态修改数据库中的对应数据标识,在收到上报模块的网络连接恢复或者补报周期到达指令后,从数据库中根据所述数据标识读取指定数量的上报失败数据通过第二通道发送给上报模块进行数据补报。

优选的,所述步骤s15具体包括:

s151,上报模块在监听到网络连接恢复或者补报周期到达时向数据处理模块发送补报指令,所述指令包含了此次所需补报的上报失败数据数量和/或所在时间段参数;

s152,数据处理模块接收到补报指令,更新补报数据的截止时间;

s153,数据处理模块根据补报指令从数据库中读取未上报的数据,其中,数据库中的数据包含数据存入时间和是否上报的标识字段。

s154,数据处理模块将批量获取的待补报的上报失败数据通过第二通道发送给上报模块进行数据补报。

优选的,所述的工业网关数据补报的方法还包括:

s155,上报模块通过第二通道将补报数据发送到外部接收端后,将上报成功的所有补报数据身份信息发送给数据处理模块,所述数据处理模块根据身份信息查找并修改数据库内对应数据的上报标识字段;

s156,数据处理模块检查数据库中是否还存在具有未上报标识的数据,如无则补报结束,否则等待上报模板的下一补报指令。

优选的,对所述的上报失败数据通过第二通道发送给上报模块进行数据补报前,对上报失败数据进行压缩处理。

本发明还公开了一种工业网关,包括采集模块、数据处理模块和上报模块,其中:所述采集模块,用于将采集的工业设备数据通过第一通道发送到数据处理模块;所述上报模块,用于在系统启动时创建定时补报任务,同时监听与外部接收端的连接状态;同时所述上报模块通过第一通道将从所述数据处理模块接收的工业设备数据发送到外部接收端并反馈发送状态;所述数据处理模块,用于通过第一通道接收采集模块发送的工业设备数据,并将所述工业设备数据写入数据库后,通过第一通道发送给上报模块;并根据上报模块反馈的发送状态修改数据库中的对应数据标识,在收到上报模块的网络连接恢复或者补报周期到达指令后,从数据库中根据所述数据标识读取指定数量的上报失败数据通过第二通道发送给上报模块进行数据补报。

优选的,所述数据处理模块还包括:数据接收模块,用于接收上报模块在监听到网络连接恢复或者补报周期到达时发送的补报指令,所述指令包括了此次所需补报的上报失败数据数量和/或所在时间段参数;信息更新模块,用于在数据接收模块接收到补报指令后,更新补报数据的截止时间;数据读取模块,用于根据补报指令从数据库中检索并读取未上报的数据,其中,数据库中的数据包含数据存入时间和是否上报的标识字段;数据发送模块,将批量获取的待补报的上报失败数据通过第二通道发送给上报模块进行数据补报。

优选的,所述数据处理模块还包括:数据修改模块,用于接收在上报模块通过第二通道将补报数据发送到外部接收端后反馈的所有补报数据身份信息,并根据身份信息查找并修改数据库内对应数据的上报标识字段;数据检查模块,用于检查数据库中是否还存在具有未上报标识的数据,如无则补报结束,否则等待上报模板的下一补报指令。

本发明还公开了另一种工业网关,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述各工业网关数据补报方法的步骤。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述各工业网关数据补报方法的步骤。

本发明通过将数据上报通道分成用于上报实时数据的第一通道和用于补报数据的第二通道,两通道互不干扰,将数据补报时对实时数据的影响降低到最小。同时对上报失败数据进行补报时采用批量上报的方式,减少通信次数,提高系统吞吐量。补报数据通过连接恢复补报和周期补报两种补报方式相结合,通过监听与外部接收端的通信连接状态,在监听到上报的连接恢复可以实时将数据进行补报,解决了主要的数据补报情况,而周期补报解决非连接断开需要补报的极少数情况,二者结合可以保证所述未上报数据能及时的、完整的进行完全自动的补报,保证了工业网关的数据上报的及时性和完整性。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明一实施例公开的工业网关数据补报的方法的流程示意图。

图2为本发明一实施例公开的工业网关数据补报的方法的另一流程示意图。

图3为本发明一实施例公开的步骤s15的具体流程示意图。

图4为本发明一实施例公开的工业网关结构示意图。

图5为本发明一实施例公开的工业网关数据处理模块结构示意图。

图6为本发明一实施例公开的工业网关数据补报的方法的另一流程示意图。

图7为本发明一实施例公开的步骤s202的具体流程示意图。

图8为本发明一实施例公开的步骤s202的另一具体流程示意图

图9为本发明一实施例公开的工业网关数据补报的方法的另一流程示意图。

图10为本发明一实施例公开的一种工业网关的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。

除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。

附图1为本发明公开的一种工业网关数据补报方法的一实施例流程图,通过将数据上报通道分为2个通道:实时通道和补报通道,将数据补报时对实时数据的影响降低到最小,其具体方法具体如下:

s1,创建定时补报任务,同时监听与外部接收端的连接状态。

s2,将实时采集的工业设备数据写入数据库后,通过第一通道上报给外部接收端,同时对上报失败数据进行标记后写入数据库。

s3,在监听到网络连接恢复或者补报周期到达时,从数据库中读取指定数量的上报失败数据,通过第二通道将所述上报失败数据发送给外部接收端。

所述工业网关数据补报的方法通过将数据上报通道分成用于上报实时数据的第一通道和用于补报数据的第二通道,两通道互不干扰,将数据补报时对实时数据的影响降低到最小。同时补报数据通过连接恢复补报和周期补报两种补报方式相结合,通过监听与外部接收端的通信连接状态,在监听到上报的连接恢复可以实时将数据进行补报,解决了主要的数据补报情况,而周期补报解决非连接断开需要补报的极少数情况,二者结合可以保证所述未上报数据能及时的、完整的进行完全自动的补报,保证了工业网关的数据上报的及时性和完整性。

附图2为本发明公开的一种工业网关数据补报方法的另一具体实施例流程图,具体如下:

s11,所述上报模块在系统启动时创建定时补报任务,同时监听与外部接收端的连接状态。

同时,上报模块分别创建第一通道和第二通道,所述第一通道为实时通道,用于传送实时采集的工业设备数据,所述第二通道为补报通道,用于传送未上报成功的补报数据,所述第一和第二通道指的是数据通信的机制,包括但是不限于socket,rest,rpc,消息队列等。上报模块建立的定时补报任务可以是每隔30分钟,从数据库中获取上报状态为失败的所有历史失败数据进行批量补报。

s12,所述采集模块将采集的工业设备数据通过第一通道发送到数据处理模块。

s13,所述数据处理模块通过第一通道接收采集模块发送的工业设备数据,并将所述工业设备数据写入数据库后,通过第一通道发送给上报模块。

所示实时采集的工业设备数据进行上报时需将数据进行处理,包括将采集的工业设备数据转换为带有采集时间和上报状态字段的数据格式,此时上报状态字段是0,代表该数据为未上报,需要上报,并写入数据库。然后数据处理模块再将所述的工业设备数据通过第一通道发送给上报模块。

s14,所述上报模块通过第一通道将所述工业设备数据发送到外部接收端并反馈发送状态。

当上报模块检查到与外部接收端的连接断开时,直接将等待上报的工业设备数据丢弃不做处理。如果发送成功后,将发送成功的所有工业设备数据的id通知给数据处理模块。

s15,所述数据处理模块根据所述发送状态修改数据库中的对应数据标识,在收到上报模块的网络连接恢复或者补报周期到达指令后,从数据库中根据所述数据标识读取指定数量的上报失败数据通过第二通道发送给上报模块进行数据补报。

当上报模块监听到网络连接恢复或者补报周期到达,通知数据处理模块进行数据补报。数据处理模块根据配置从数据库中读取指定数量的未上报数据,通过第二通道及补报通道发送给上报模块进行数据补报。

所述工业网关数据补报的方法通过将数据上报通道分成用于上报实时数据的第一通道和用于补报数据的第二通道,两通道互不干扰,将数据补报时对实时数据的影响降低到最小。同时对上报失败数据进行补报时采用批量上报的方式,减少通信次数,提高系统吞吐量。补报数据通过连接恢复补报和周期补报两种补报方式相结合,通过监听与外部接收端的通信连接状态,在监听到上报的连接恢复可以实时将数据进行补报,解决了主要的数据补报情况,而周期补报解决非连接断开需要补报的极少数情况,二者结合可以保证所述未上报数据能及时的、完整的进行完全自动的补报,保证了工业网关的数据上报的及时性和完整性。

在另一些实施例中,所述步骤s15可以具体包括:

s151,上报模块在监听到网络连接恢复或者补报周期到达时向数据处理模块发送补报指令,所述指令包含了此次所需补报的上报失败数据数量和/或所在时间段参数。

具体的,上报模块在通知数据处理模块进行数据补报,其补报指令携带参数,用于通知数据处理模块补报什么时间之前的数据,在另一些实施例中,所述指令中也可包含此次所需补报的上报失败数据数量。所述数据处理模块可以根据指令中的数据时间段参数或者上报数据数量要求去数据库中检索和获取对应的待补报的数据。

s152,数据处理模块接收到补报指令,更新补报数据的截止时间。

数据处理模块根据补报指令中的具体上报数据的时间段要求对此次需获取的待补报数据进行检索和获取,同时更新内置的预设补报数据的时间段要求。

s153,数据处理模块根据补报指令从数据库中读取未上报的数据,其中,数据库中的数据包含数据存入时间和是否上报的标识字段。

数据处理模块根据数据时间段参数或者上报数据数量从数据库中读取未上报的数据。即从数据库中获取上报状态为0的,且数据录入时间在所要求的时间段内的数据。同时如果还有上报数据数量要求,则所获取的此批补报数据的大小不能超过其上报数据数量要求,否则可以将录入时间较新或较旧的数据取消此批补报。

在一些实施例中,所述数据处理模块也可对获取的此批补报数据进行压缩,以进一步提高传输效率,减少带宽利用率,提升传输速度。

在一些实施例中,所述数据处理模块接收到上报模块的补报指令时,将所述补报指令写入补报队列,所述数据处理模块的补报线程/进程不断读取队列,有补报任务时按序依次获取补报队列中的补报指令依次进行补报,没有补报任务阻塞等待补报任务的到来。从而保证网络抖动或者与周期补报重合等情况导致上报模块同时发送多个补报指令给数据处理模块,所述数据处理模块同时只进行一个补报任务,防止数据的重复上报。

s154,数据处理模块将批量获取的待补报的上报失败数据通过第二通道发送给上报模块进行数据补报。

本实施例所述工业网关数据补报的方法通过采用批量上报的方式,通过设置筛选每批补报数据的时间段和数量大小等要求,将数据库中的待补报数据分批进行补报,减少通信次数,提高系统吞吐量。同时将批量数据压缩上报,可进一步提高传输效率,减少带宽利用率,提升传输速度。

在另一些实施例中,所述步骤s15还具体包括:

s155,上报模块通过第二通道将补报数据发送到外部接收端后,将上报成功的所有补报数据身份信息发送给数据处理模块,所述数据处理模块根据身份信息查找并修改数据库内对应数据的上报标识字段。

上报模块将数据发送到外部接收端后,将发送成功的所有数据的id通知数据处理模块。数据处理模块将补发成功数据的上报标识修改为已上报,即将数据库中的对应数据的上报状态字段由0修改为1。

s156,数据处理模块检查数据库中是否还存在具有未上报标识的数据,如无则补报结束,否则等待上报模板的下一补报指令。

在本批补报数据上报完成,上报模块通知数据处理模块补报下一批数据,所述数据处理模块检查数据库中是否还存在具有上报标识为0的数据,如无则补报结束,否则等待上报模板的下一补报指令,或者直接根据前述补报指令从数据库中检索获取下一批的待补报数据,进而重复上述各补报。

附图4为一种工业网关的结构示意图,本实施例中所公开的一种工业网关包括采集模块13、数据处理模块12、上报模块11和数据库14,其中:

所述采集模块13用于将采集的工业设备数据通过第一通道发送到数据处理模块12;

所述上报模块11用于在系统启动时创建定时补报任务,同时监听与外部接收端的连接状态;同时所述上报模块11通过第一通道将从所述数据处理模块接收的工业设备数据发送到外部接收端2并反馈发送状态;

所述数据处理模块12用于通过第一通道接收采集模块13发送的工业设备数据,并将所述工业设备数据写入数据库14后,通过第一通道发送给上报模块11;并根据上报模块11反馈的发送状态修改数据库14中的对应数据标识,在收到上报模块11的网络连接恢复或者补报周期到达指令后,从数据库14中根据所述数据标识读取指定数量的上报失败数据通过第二通道发送给上报模块11进行数据补报。

在另一些实施例中,如附图5所示,所述数据处理模块12还包括数据接收模块121、信息更新模块122、数据读取模块123和数据发送模块124。其中

所述数据接收模块121,用于接收上报模块11在监听到网络连接恢复或者补报周期到达时发送的补报指令,所述指令包括了此次所需补报的上报失败数据数量和/或所在时间段参数;

所述信息更新模块122,用于在数据接收模块接收到补报指令后,更新数据库内的补报数据的截止时间;

所述数据读取模块123,用于根据补报指令从数据库中检索并读取未上报的数据,其中,数据库中的数据包含数据存入时间和是否上报的标识字段;

所述数据发送模块124,将批量获取的待补报的上报失败数据通过第二通道发送给上报模块进行数据补报。

在另一些实施例中,所述数据处理模块12还可包括数据修改模块125和数据检查模块126,所述的数据修改模块125,用于接收在上报模块通过第二通道将补报数据发送到外部接收端后反馈的所有补报数据身份信息,并根据身份信息查找并修改数据库内对应数据的上报标识字段。所述的数据检查模块126,用于检查数据库中是否还存在具有未上报标识的数据,如无则补报结束,否则等待上报模板的下一补报指令。

需要说明的是,本说明书中前述各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的上述工业网关而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

附图6为本发明公开的一种工业网关数据补报方法的另一实施例流程图,通过采用动态切换数据存储和上报模式的方式,既保证数据的完整性,又保证工业网关存储空间的最优使用,其具体方法具体如下:

s201,获取工业网关数据库的剩余容量,当剩余容量小于第一阈值时,删除所述数据库中的已上报数据并只保留未上报或者上报失败数据。

工业网关内部控制器通过定时任务,调用操作系统函数,读取数据库的剩余容量大小,其中本实施例中所述第一阈值可以是数据库全部容量的50%,当然也可以根据需求选择其它值,当剩余容量小于50%时,控制器向数据储存单元发送删除存储的已上报数据的指令,数据库收到指令后可将内部数据库中已上报的数据导出并压缩至zip格式的备份文件中,之后删除其数据库中已上报的数据,使得数据库中只留下上报失败的数据,而后通过人为因素释放或导出备份文件后,即可增加数据储存单元的剩余容量。

s202,再次检测所述数据库剩余容量,当所述剩余容量高于第一阈值时保持数据写入模式为第一写入模式,否则根据所述剩余容量范围选取对应写入模式,并将数据写入模式由第一写入模式切换为所选写入模式。

在释放已上报数据所占容量后,工业网关内部控制器再次调用操作系统函数,读取数据储存单元的最新剩余容量,当所述剩余容量高于第一阈值即剩余容量已大于50%时,表明数据储存单元已经容量充裕,无需再切换数据写入模式,即保持数据写入模式为第一写入模式不变。

其中,本实施例中所述的第一写入模式为完全写入模式,所述完全写入模式为控制器将采集的所有数据写入数据储存模块的数据库中,完全写入模式具体工作模式如下:

控制器的采集模块实时将采集的各工业设备的数据上报到控制器数据处理模块。

数据处理模块将所有数据写入数据库,写入的数据状态是未上报,然后将数据发送到控制器上报模块。具体的,数据格式带有采集时间和上报状态的字段。此时上报状态是0,代表该数据需要上报。

上报模块上报数据,并在数据库标记已成功的数据。具体的,上报成功的数据,将其的上报状态标记为1,代表已上报

数据处理模块定时获取上报失败的数据,发送至上报模块进行补报,定时重复前述步骤,直到补报完毕。具体的,可检索获取上报状态为0的所有历史失败数据进行补报。

此类的完全写入模式可以保证采集的工业数据最大程度的完整保存,防止工业网关工作出现异常时导致异常数据的丢失,但是该完全写入模式将导致大量数据积压在网关内部,损耗大量存储空间。

因此,在当所述剩余容量低于第一阈值即剩余容量已小于50%时,说明即使已释放了数据库中已上报数据所占容量,但所述数据储存单元的剩余容量仍不充足,需要切换数据写入模式才能降低剩余容量的快速损耗。在本实施例中,所述工业网关针对剩余容量的不同范围对应预设了多组数据写入模式,控制器可根据所述剩余容量范围选取对应数据写入模式,并将数据写入模式由原先的第一写入模式即完全写入模式切换为于当前存储空间剩余容量对应的写入模式。

本实施例通过检测根据工业网关的剩余容量,根据剩余容量的不同状态动态切换数据存储和上报模式的方式,既最大程度的保证数据的完整性,又保证有限的网关存储空间的最优使用,防止大量数据积压在网关内部导致存储空间被写满,新采集的数据无法写入,从而引起网关性能下降甚至宕机的情况,有利保证网关服务的稳定运行,减少网关硬件成本投入。

在一些实施例中,如附图7所示,在前述实施例中的步骤s202中的根据所述剩余容量范围选取对应写入模式,并将数据写入模式由第一写入模式切换为所选写入模式,还可具体包括:

s2021,当所述剩余容量小于第一阈值且大于第二阈值时,将数据写入模式切换为第二写入模式,所述第二阈值小于第一阈值。

其中本实施例中所述第一阈值可以是数据库全部容量的50%,第二阈值是数据库全部容量的10%,当然也可以根据需求选择其它值。当剩余容量小于50%时,控制器向数据储存单元发送删除存储的已上报数据的指令,数据储存单元收到指令后可将内部数据库中已上报的数据导出并压缩至zip格式的备份文件中,之后删除其数据库中已上报的数据,使得数据库中只留下上报失败的数据,而后通过人为因素释放或导出备份文件后,即可增加数据储存单元的剩余容量。再次检测所述剩余容量,当所述剩余容量位于10%~50%间切换写入模式,并将数据写入模式由第一写入模式切换为第二写入模式。

s2022,将实时采集的工业设备数据进行上报并提取上报失败数据,对所述上报失败数据进行标记后存储至所述数据库。

其中,所示实时采集的工业设备数据进行上报时需将数据进行处理,包括将采集的工业设备数据转换为带有采集时间和上报状态字段的数据格式,此时上报状态是0,代表该数据需要上报,并写入数据库。

s2023,对所述数据库中的上报失败数据进行补报并删除补报成功数据。

具体的,控制器可每隔30分钟,从数据库中获取上报状态为0的所有历史失败数据进行批量补报,并将补报成功的数据提取出来导出删除。

其中,本实施例中所述的第二写入模式可以称为失败写入模式,所述失败写入模式为控制器只将上报失败数据写入的数据储存模块的数据库中,失败写入模式具体工作模式如下:

控制器的采集模块实时将采集的各工业设备的数据上报到控制器数据处理模块。

数据处理模块将实时数据发送到控制器上报模块。上报模块上报数据,并只对上报失败的数据进行写入数据库。

数据处理模块定时获取上报失败的数据,发送至上报模块进行补报,定时重复前述步骤,直到补报完毕。

本实施例通过在数据库存储空间不太充裕,剩余容量已下降到一半以下时,工业网关控制器只针对上报失败的数据进行写入数据库,有效的节约了存储空间。在补报成功后,会进一步删除数据库中成功的补报数据,有效的回收资源,提高网关中数据库的利用效率。

在另一些实施例中,所述的工业网关数据补报的方法还包括了以下步骤,当所述剩余容量小于第三阈值时,按预设规则对数据库中的上传失败数据进行排序并删除占第一比例的在先数据,所述第三阈值位于第一阈值和第二阈值之间。

其中具体的,所述的预设规则可以是根据上传失败数据中的采集时间字段,对占所述数据库数据容量中第一比例的采集时间在前的上传失败数据进行删除。本实施例中,所述的第三阈值可以选择是数据库全部容量的25%,第一比例可以选用5%,即当所述剩余容量小于25%时,控制器向数据库发送指令,数据库对数据库内的上传失败数据按采集时间的先后顺序,删除5%的采集时间在先的旧数据,以释放存储空间。

通过在数据库存储空间极其紧缺,剩余容量已下降到四分之三以下时,工业网关筛选数据库中相对陈旧的上传失败数据,对其进行删除,从而给新的失败数据预留空间。保持最新数据持续可写入状态,减少网关因数据写入问题造成的宕机等事故。

在另一些实施例中,为方便起见,上述当所述剩余容量小于25%选用的将一定比例旧的未上报的数据进行删除从而为写入新的失败数据腾出容量空间的方式称为循环写入模式,用于保持最新数据持续可写入状态,减少网关因数据写入问题造成的宕机等事故。

在另一些实施例中,如附图8所示,在前述实施例中的步骤s202中的根据所述剩余容量范围选取对应写入模式,并将数据写入模式由第一写入模式切换为所选写入模式,还可具体包括:

s2031,当所述剩余容量小于第四阈值时,将数据写入模式切换为第三写入模式,所述第四阈值小于第一阈值。

其中本实施例中所述第一阈值可以是数据库全部容量的50%,第四阈值是数据库全部容量的10%,当然也可以根据需求选择其它值。当所述剩余容量小于10%时切换写入模式,将数据写入模式由第一写入模式切换为第三写入模式。或者当剩余容量小于10%时,控制器也可先向数据储存单元发送删除存储的已上报数据的指令,数据储存单元收到指令后可将内部数据库中已上报的数据导出并压缩至zip格式的备份文件中,之后删除其数据库中已上报的数据,使得数据库中只留下上报失败的数据,而后通过人为因素释放或导出备份文件后,即可增加数据储存单元的剩余容量。再次检测所述剩余容量,当所述剩余容量仍小于10%时切换写入模式,并将数据写入模式由第一写入模式切换为第三写入模式。

s2032,对实时采集的工业设备数据进行上报,且不提取和存储上报失败数据。

s2033,对所述数据库中的上报失败数据进行补报并删除补报成功数据,同时也不存储补报失败数据。

具体的,控制器可每隔30分钟,从数据库中获取上报状态为0的所有历史失败数据进行批量补报,并将补报成功的数据提取出来导出删除。在另一些实施例中,也可对补报再次失败的数据从数据库中提取出来导出删除。

其中,本实施例中所述的第三写入模式可以称为不写入模式,所述不写入模式为控制器均不写入数据到数据库中,只负责从数据库中读取需补报的数据,不写入模式具体工作模式如下:

控制器的采集模块实时将采集的各工业设备的数据上报到控制器数据处理模块。

数据处理模块将实时数据发送到控制器上报模块。上报模块上报数据,对上报失败的数据不写入数据库。

数据处理模块定时获取上报失败的数据,发送至上报模块进行补报,上报模块对补报成功的数据进行删除,补报仍旧失败的不进行更改,定时重复前述步骤,直到补报完毕。

本实施例通过在数据库存储空间已经趋于饱和时,在数据无存储价值,或者数据写入已经存在严重问题,影响到其他服务性能时,通过将数据写入模式切换到不写入模式,完全绕开数据库的操作,做到数据直接上报,从而停止数据库读写问题带来的危害。防止因存储空间被写满,新采集的数据无法写入,引起工业网关宕机的问题。

附图9为公开的一种工业网关数据补报方法的另一实施例流程图,该实施例中工业网关通过接收外部指令来切换数据存储和上报模式,其具体步骤包括:

s301,根据接收的写入模式切换指令,比较当前写入模式与切换后的后续写入模式的存储数据完整性级别。

工业网关控制器接收云端或其它服务器或管理终端发送的输入模式切换指令,控制器比较当前写入模式与切换后的后续写入模式的存储数据完整性级别,判断存储数据完整性是否提高。所述数据完整性级别的高低以数据储存单元数据库记录的数据的完整性程度高低为依据,记录的已上报和未上报或上报失败的数据越完整,其对应的存储数据完整性级别越高。以前述各实施例描述各类数据写入模式为例,来举例说明下存储数据完整性级别的对比判断,其中“完全写入模式”完整性最高,因为其数据库记录所有数据;“失败写入模式”完整性级别其次,数据库记录未上报或者上报失败的数据;“循环写入模式”完整性级别更低,数据库记录未上报或者上报失败的数据,并且循环写入状态下,空间不足将会按时间自然顺序,删除5%旧数据;“不写入模式”完整性级别最低,因其上报的数据不管成功和失败,都不写入数据库。

s302,当后续写入模式的存储数据完整性级别高于当前写入模式时,将写入模式切换为后续写入模式。即如果写入模式的完整性提高,则进入低完整性模式向高完整性模式切换的切换,不需要做兼容处理。

s303,当后续写入模式的存储数据完整性级别低于当前写入模式时,检测所述工业网关数据库是否存在已上报的数据,如否则进行切换。即如果存储数据完整性降低,则进入高完整性模式向低完整性模式切换的流程。控制器检测数据储存单元数据库中是否还有已上报的数据,如果数据库没有已上报的数据,则可直接将写入模式切换为后续写入模式。

s304,如果工业网关数据库存在已上报的数据,则所述数据库导出并删除已上报数据且只保留未上报和/或上报失败数据后,将写入模式切换为后续写入模式。即控制器向数据库发出指令导出并删除已上报数据,使得数据库只剩未上报或者上报失败的数据,再将写入模式切换为后续写入模式。

其中,在另一些实施例中,还包括步骤工业网关控制器关闭“模式智能切换”功能,关闭后稳定性将不由程序保障,需要人工监控。即工业网关控制器不再像前述各实施例那样通过定时任务,调用操作系统函数,读取数据储存单元的剩余容量大小,并根据所述剩余容量范围选取切换对应数据写入模式,而是通过接收外部指令来进行数据写入模式的切换。

本实施例通过外部指令控制工业网关切换相应的数据写入模式,而工业网关在比较相关切换前后的数据写入模式的存储数据完整性级别后,再进行相应切换,通过这种灵活快速的模式切换方式,既最大程度的保证数据的完整性,又保证有限的网关存储空间的最优使用。通过外部指令控制可更灵活的适应各类使用环境,防止突然剧增的数据储存需求导致的前述各实施例中的自动模式切换功能无法快速响应和迅速降低存储空间的占用量,而导致存储空间被写满从而引起网关性能下降甚至宕机的情况,使得工业网关能适应各类极端的数据存储环境,有利保证网关服务的运行稳定性和可靠性。

附图10为一种工业网关的示意图。该实施例的工业网关包括存储器102、处理器101以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如工业网关数据管理程序或网关数据补报程序。所述处理器执行所述计算机程序时实现上述各个工业网关数据补报的方法实施例中的各步骤。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述工业网关中的执行过程。例如,所述计算机程序可以被分割成存储模块和数据处理模块,各模块具体功能如下:所述存储模块,用于存储未上报的工业设备数据和/或上报失败数据。所述数据处理模块,用于获取存储模块中的剩余容量,当剩余容量小于第一阈值时,删除所述存储模块中的已上报数据并只保留未上报或者上报失败数据,并再次检测所述存储模块中的剩余容量,当所述剩余容量高于第一阈值时保持存储模块的数据写入模式为第一写入模式,否则根据所述剩余容量范围选取对应写入模式,并将数据写入模式由第一写入模式切换为所选写入模式。

所述工业网关可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是工业网关的示例,并不构成对工业网关设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述工业网关设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述工业网关设备的控制中心,利用各种接口和线路连接整个工业网关设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述工业网关设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述工业网关数据补报的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1