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

一种应用数据的碎片化及交替存储方法

文献发布时间:2023-06-19 18:27:32


一种应用数据的碎片化及交替存储方法

技术领域

本发明涉及一种应用数据的碎片化及交替存储方法,属于数据存储技术领域。

背景技术

分散控制系统(DCS)采用分散控制和集中操作的设计原则,在电力和化工等工业控制领域具有广泛应用。DCS系统由工作站、通信网络、分散控制器和输入输出模件构成。其中,分散控制器是DCS系统的核心部件,它承担数据采集、运行控制逻辑和算法、控制输出,同时它还需要与工作站通过网络通信进行命令和数据交互、主备控制器之间的心跳监测和数据同步、控制器自身的状态监测和异常处理等功能。为了不用每次在断电后启动下装程序,控制器都需要有掉电保存应用程序数据的功能。通常保存数据采用的是直接把数据存成磁盘文件的方法。

通常对控制器的执行逻辑周期有较严格的时限要求(十毫秒级),因此直接存数据到磁盘文件的时间不能过长,否则会造成逻辑算法超时,而短时间的失控就可能会导致整个系统瘫痪。通常做法是仅保存精简的应用程序,减少保存数据量,实现一次保存完成操作。其次如果在保存过程中遇到控制器突然失电等意外故障,就会出现保存的文件不完整,导致失效的问题。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种应用数据的碎片化及交替存储方法,解决现有的分散控制系统的应用数据保存数据量小,且容易因为故障导致数据失效的技术问题。

为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种应用数据的碎片化存储方法,包括:

在分散控制系统初始化时,对逻辑算法各功能块进行归类划分;

根据每类功能块的应用数据生成相应的数据块,并对数据块构建索引图;

在分散控制系统正常运行中,利用逻辑算法执行的间隙根据索引图索引需要存储的数据块并存储该数据块的应用数据。

可选的,所述对逻辑算法各功能块进行归类划分包括:

获取逻辑算法中每个功能块的优先级,并基于优先级进行归类划分。

可选的,所述对数据块构建索引图包括:

根据功能块的优先级确定其所属数据块的优先级;

根据每个数据块的优先级对数据块进行编号;

对每个数据块设置更新位、校验位以及保存位;

按编号顺序保存每个数据块的保存位生成索引图;

其中,更新位、校验位以及保存位满足:

当用户操作修改任一功能块的应用数据时,该功能块对应的数据块的更新位变化;

当逻辑算法执行修改任一功能块的应用数据时,该功能块对应的数据块的校验位变化;

当数据块的更新位或校验位变化时,保存位置1;当数据块的更新位和校验位不变化时,保存位置0。

可选的,所述利用逻辑算法执行的间隙根据索引图索引需要存储的数据块并存储该数据块的应用数据包括:

在n次逻辑算法执行的间隙中,按编号顺序对索引图进行索引操作,获取编号对应的数据块的保存位;

若任一数据块的保存位为1,则保存该数据块的应用数据,在保存完成后,继续进行索引操作;

若任一数据块的保存位为0,则不保存该数据块的应用数据,继续进行索引操作;

若n次逻辑算法执行的间隙中,索引图的索引操作未结束,则在n+1次逻辑算法执行的间隙中,继续进行索引操作,直至索引图的索引操作结束。

第二方面,本发明提供了一种应用数据的碎片化存储系统,所述系统包括:

归类划分模块,用于在分散控制系统初始化时,对逻辑算法各功能块进行归类划分;

索引构建模块,用于根据每类功能块的应用数据生成相应的数据块,并对数据块构建索引图;

索引存储模块,用于在分散控制系统正常运行中,利用逻辑算法执行的间隙根据索引图索引需要存储的数据块并存储该数据块的应用数据。

第三方面,本发明提供了一种应用数据的碎片化存储,包括处理器及存储介质;

所述存储介质用于存储指令;

所述处理器用于根据所述指令进行操作以执行根据上述方法的步骤。

第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

第五方面,本发明提供了一种应用数据的交替存储方法,包括:

采用如上述的碎片化存储方法将逻辑算法各功能块的应用数据依次存储为第一应用数据文件和第二应用数据文件。

与现有技术相比,本发明所达到的有益效果:

本发明提供了一种应用数据的碎片化及交替存储方法,1)碎片化存储方法将应用数据进行按功能块进行划分和组合,并采用块索引图的结构来管理数据,实现了碎片化操作的基础,也有助于提高检查的效率;2)对数据块设置更新位和校验位,采用对内存数据的校验计算比较操作,取代循环的磁盘写操作,大大缩短了操作耗时,还延长磁盘的使用寿命;3)利用逻辑执行的间隙时间进行数据块的碎片化保存操作,避免长时间的保存操作而出现的逻辑执行超时问题,有效保障了系统的稳定运行;4)交替存储方法采用数据文件交替存储的方式,避免了因为在保存文件的过程中遇到意外故障导致数据文件失效,而出现控制器启动后没有有效的数据文件来恢复运行。

附图说明

图1是本发明实施例一提供的一种应用数据的碎片化存储方法的流程图;

图2是本发明实施例一提供的一种数据块及其索引图的示意图;

图3是本发明实施例一提供的逻辑算法执行周期示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例一:

如图1所示,本发明实施例提供了一种应用数据的碎片化存储方法,包括:

1、在分散控制系统初始化时,对逻辑算法各功能块进行归类划分;

在本实施例中,为了确保因为故障导致数据失效的问题,采用优先级的方式进行归类划分,具体为:获取逻辑算法中每个功能块的优先级,并基于优先级进行归类划分。

2、根据每类功能块的应用数据生成相应的数据块,并对数据块构建索引图;

(1)当用户完成逻辑算法的设计,需要使用下载工具进行下载。当下载工具发出下载指令时,控制器就开始一边接收下载的逻辑算法和逻辑算法各功能块的应用数据,一边构建数据块和索引图。

(2)数据块的大小根据功能块的应用数据长度来确定,例如数字量类型的功能块数据长度为4字节,模拟量类型的功能块数据长度为40字节,可以把多个功能块组合成一个数据块。这样对于一个包含上千个功能块的逻辑算法,可以划分为几十个数据块。这样就可以在每次逻辑算法执行的间隙时间保存几个数据块,使得控制器不会被长时间的磁盘操作卡住,这种碎片化的保存方式避免了逻辑算法的超时执行。

(3)如图2所示,在数据块构建以后,对数据块构建索引图,具体包括:

根据功能块的优先级确定其所属数据块的优先级;

根据每个数据块的优先级对数据块进行编号(1~N);

对每个数据块设置更新位U、校验位CRC以及保存位;

按编号顺序保存每个数据块的保存位生成索引图;

其中,更新位、校验位以及保存位满足:

当用户操作修改任一功能块的应用数据时,该功能块对应的数据块的更新位变化;当逻辑算法执行修改任一功能块的应用数据时,该功能块对应的数据块的校验位变化;当数据块的更新位或校验位变化时,保存位置1;当数据块的更新位和校验位不变化时,保存位置0。

(4)分散控制系统初始化完成时,即下载完成后,下载工具发出下载结束的信号,控制器立刻将其逻辑算法各功能块的应用数据采用传统方式进行完整的存储。因为通常做下载操作时,用户会将设备设置为就地运行模式,即控制器与设备脱开,分散控制系统不会带着设备运转,因此即使保存时间长到逻辑算法运行超时,也不会影响到设备运行。而当在分散控制系统正常运行时,控制器会带着设备运行,就需要采用碎片化的存储方式。

3、在分散控制系统正常运行中,利用逻辑算法执行的间隙根据索引图索引需要存储的数据块并存储该数据块的应用数据。

在分散控制系统正常运行中,如图3所示,假设逻辑算法要求的执行周期是20ms,其中逻辑执行需要用10ms,那么剩下10ms的时间就可以用来存储应用数据。

3.1、在n次逻辑算法执行的间隙中,按编号顺序对索引图进行索引操作,获取编号对应的数据块的保存位;

3.2、若任一数据块的保存位为1,则保存该数据块的应用数据,在保存完成后,继续进行索引操作;

3.3、若任一数据块的保存位为0,则不保存该数据块的应用数据,继续进行索引操作;

3.4、若n次逻辑算法执行的间隙中,索引图的索引操作未结束,则在n+1次逻辑算法执行的间隙中,继续进行索引操作(以未结束的数据块编号为起点),直至索引图的索引操作结束。

3.4、当所有的数据块保存完毕,更新存储的应用数据文件的版本号和时间戳,并切换到下一个应用数据文件进行下一轮的存储操作。

通过索引图方式,可以减少查找操作,有助于缩短这个阶段的耗时,可以在相同的时间内存储更多数据块的应用数据。采用保存位获取需要存储的数据块(即功能块的应用数据发生变化,其所属的数据块需要存储),而不是用循环保存数据到磁盘的方法,是因为磁盘的保存操作所耗时间,比内存数据的校验计算加上比较操作的耗时会多出2-3个数量级。尽量减少磁盘操作,不光可以缩短保存操作的耗时,还可以延长磁盘的使用寿命。

实施例二:

本发明实施例提供了一种应用数据的碎片化存储系统,系统包括:

归类划分模块,用于在分散控制系统初始化时,对逻辑算法各功能块进行归类划分;

索引构建模块,用于根据每类功能块的应用数据生成相应的数据块,并对数据块构建索引图;

索引存储模块,用于在分散控制系统正常运行中,利用逻辑算法执行的间隙根据索引图索引需要存储的数据块并存储该数据块的应用数据。

实施例三:

基于实施例一,本发明实施例提供了一种应用数据的碎片化存储,包括处理器及存储介质;

存储介质用于存储指令;

处理器用于根据指令进行操作以执行根据上述方法的步骤。

实施例四:

基于实施例一,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

实施例五:

基于实施例一,本发明实施提供了一种应用数据的交替存储方法,包括:

采用如上述的碎片化存储方法将逻辑算法各功能块的应用数据依次存储为第一应用数据文件和第二应用数据文件。即存储好第一应用数据文件后,再次存储为第二应用数据文件;下一轮的存储操作时,再切换为存储为第一应用数据文件,进行交替。

当在保存其中一个应用数据文件的过程中遇到硬件故障或者系统失电时,就可以使用另一个应用数据文件进行系统恢复,避免了控制器启动后恢复到初始化的状态,也不需要用户再次做下载的工作。在硬件故障或者系统失电后,控制器再次启动后,管理程序首先检查两个数据文件的存在和有效性,再通过应用数据文件中的版本号和时间戳来判断哪个应用数据文件更新,然后使用更新的那个应用数据文件来解析出逻辑算法和应用数据,恢复控制器的运行。

综上,本发明采用的碎片式存储方法利用控制器逻辑算法执行间隙的碎片时间来存储应用数据,既保存完整的应用程序,也能保存需要的状态数据,更有助于用户在控制器出现故障时做分析。另外避免长时间的保存操作而出现的逻辑执行超时问题,有效保障了系统的稳定运行。其中采用的保存位校验比较操作缩短了操作耗时,还延长磁盘的使用寿命。而采用交替存储的方法,可以解决意外故障引起的文件失效问题,避免了控制器启动后没有有效的数据文件来恢复运行的情况。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种数据存储方法及装置、一种计算设备及存储介质
  • 一种数据存储方法及装置、一种计算设备及存储介质
  • 一种数据存储的方法、数据下载的方法、装置及电子设备
  • 一种基于碎片化文档的元数据识别方法、存储介质及系统
  • 一种交替式存储同步连续传输的数据采集方法
技术分类

06120115573990