有效
一种继电保护关键数据冗余存储及可靠性恢复系统及方法
郑奕、李友军、周华良、郑玉平、崔玉、戴欣欣、巴超、周化
国电南瑞科技股份有限公司
摘要
本发明公开了一种继电保护关键数据冗余存储及可靠性恢复系统及方法,实现变电站二次设备继电保护关键数据的可靠备份以及装置异常时的可靠恢复,具有低成本,不影响CPU运行效率,备份数据可靠性高,易于嵌入式设备实现等特点。
1.一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:构建继电保护关键数据冗余存储及可靠性恢复系统,所述继电保护关键数据冗余存储及可靠性恢复系统包括用于存储内存数据的内存数据区、用于存储非易失数据的非易失数据区和处理器;在所述内存数据区和非易失数据区内均包括有用于存储继电保护关键数据的数据存储空间和用于存储继电保护关键数据对应的校验码的校验码存储空间;所述处理器用于对内存数据区、非易失数据区进行数据备份及恢复、计算及判断校验码,包括通过循环校验内存数据区中的数据和校验码,将内存数据区中存在验证成功的数据备份至非易失数据区,将非易失数据存储区验证成功的数据对应替换内存数据区中校验失败的数据,实现数据恢复;当系统上电初始化时,对非易失主备份区与非易失次备份区的数据与校验码进行交叉校验,对校验成功的数据和校验码恢复至内存运行区与内存备份区,对校验失败的数据加上校验时刻的时戳,以日志文件形式存储该数据用于错误分析;当有数据需要写入内存运行区时,计算该数据所在内存页面的校验码,并将该校验码更新至此内存页面对应的校验码存储空间,将内存运行区中的数据备份到内存备份区中,并将对应的校验码备份到内存备份区的校验码存储空间;系统正常运行时,循环校验内存运行区中的数据和校验码是否匹配,若无法匹配,则对内存运行区和内存备份区进行交叉校验,将校验成功的数据从内存备份区恢复至内存运行区;若不存在校验成功的数据,则将非易失数据存储区交叉验证成功的数据恢复至内存运行区和内存备份区,并将校验失败的数据加上校验时刻的时戳,以日志文件形式存储该数据用于错误分析;其中,所述的对非易失主备份区与非易失次备份区的数据与校验码进行交叉校验的步骤包括:步骤A1:对非易失主备份区的数据按数据块进行校验,将计算得出的校验码与非易失主备份区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤A6;若校验码不一致,则执行步骤A2;步骤A2:对非易失主备份区的数据按数据块进行校验,将计算得出的校验码与非易失次备份区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤A6;若校验码不一致,则执行步骤A3;步骤A3:对非易失次备份区的数据按数据块进行校验,将计算得出的校验码与非易失主备份区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤A6;若校验码不一致,则执行步骤A4;步骤A4:对非易失次备份区的数据按数据块进行校验,将计算得出的校验码与非易失次备份区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤A6;若校验码不一致,则执行步骤A5;步骤A5:将非易失主备份区的数据按数据块进行校验,将计算得出的校验码存储至非易失主备份区的校验码存储空间,并同时将此数据与校验码备份至非易失次备份区,执行步骤A6;步骤A6:将校验成功的数据进行备份或恢复操作。
2.根据权利要求1所述的一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:所述内存数据区包括内存运行区和内存备份区,所述非易失数据区包括非易失主备份区和非易失次备份区;所述内存运行区、内存备份区、非易失主备份区和非易失次备份区内均被划分为数据存储空间和校验码存储空间。
3.根据权利要求1所述的一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:所述内存数据按照继电保护数据类型分类存储,每个类型所对应的数据以内存页面为单位存储至内存数据区,每个内存页面单独校验得到校验码。
4.根据权利要求3所述的一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:所述非易失数据按照继电保护数据类型分类存储,每个类型所对应的数据以数据块为单位存储至非易失数据区,每个数据块单独校验得到校验码。
5.根据权利要求4所述的一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:所述内存页面大小与数据块大小保持一致。
6.根据权利要求1所述的一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:当系统正常运行时,所述的对内存运行区和内存备份区进行交叉校验的过程为:按继电保护数据类型以不同周期对内存运行区与内存备份区的数据与校验码进行交叉校验;将内存运行区和内存备份区进行交叉校验,校验成功的数据从内存备份区恢复至内存运行区并将该校验成功的数据备份至非易失主备份区和非易失次备份区;当系统正常运行时,所述的将非易失数据存储区交叉验证成功的数据恢复至内存运行区和内存备份区的过程为:对非易失主备份区和非易失次备份区的数据与校验码进行交叉校验,若校验通过,则将数据与校验码恢复至内存运行区与内存备份区;若校验不通过,则将校验失败的数据加上校验时刻的时戳,以日志文件形式存储该数据,并将内存运行区的数据重新计算出校验码,并备份至内存备份区、非易失主备份区和非易失次备份区。
7.根据权利要求6所述的一种继电保护关键数据冗余存储及可靠性恢复系统的方法,其特征在于:所述的对内存运行区与内存备份区的数据与校验码进行交叉校验的步骤包括:步骤B1:对内存运行区的数据按页面进行校验,将计算得出的校验码与内存运行区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤B6;若校验码不一致,则执行步骤B2;步骤B2:对内存运行区的数据按页面进行校验,将计算得出的校验码与内存备份区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤B6;若校验码不一致,则执行步骤B3;步骤B3:对内存备份区的数据按页面进行校验,将计算得出的校验码与内存运行区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤B6;若校验码不一致,则执行步骤B4;步骤B4:对内存备份区的数据按页面进行校验,将计算得出的校验码与内存备份区校验码存储空间对应的校验码进行对比,若校验码一致,则认为此数据有效,执行步骤B6;若校验码不一致,则执行步骤B5;步骤B5:将内存运行区的数据按页面进行校验,将计算得出的校验码存储至内存运行区的校验码存储空间,并同时将此数据与校验码备份至内存备份区,执行步骤B6;步骤B6:将校验成功的数据进行备份或恢复操作。



