马长武 张腾云 徐广飞 刘可述 孙利刚 崔建铁
摘 要: 继电保护装置在更新参数时需要保存文件,当在写文件过程中意外断电,会引起写参数文件错误,重新上电后参数文件错误可能导致设备死机等无法预料的后果。针对这一问题,提出了两种解决方案:备份文件方式和高可靠性文件系统。详细阐述了两者的实现方法,并对其效果和优劣做了对比。提出的两种方法可以在装置意外掉电时保证参数文件可用,从而避免设备死机,提高装置可靠性。
关键词: 继电保护; 意外掉电; 备份文件; 高可靠性文件系统
中图分类号: TP 391 文献标志码: A
Discussion on Protective Measures for Accidental
Power Failure of Relay Protection Devices
MA Changwu, ZHANG Tengyun, XU Guangfei, LIU Keshu, SUN Ligang, CUI Jiantie
(Dongfang Electronics Co. Ltd., Yantai, Shandong 264000, China)
Abstract: The relay protection device needs to save files in updating the parameters. If the system unexpectedly loses power or crashes during a write operation, fatal file errors may occur. These errors may cause unpredictable behaviors such as device crash after power-on. In response to this problem, two solutions, backup file and high reliability file system, are proposed. This paper elaborates on the implementation of the two methods, and compares their effects, advantages and disadvantages. The two methods proposed can ensure that the parameter file is available when the device unexpectedly loses power, thus, can avoid device crash and improve device reliability.
Key words: relay protection; accidental power failure; backup file; high reliability file system
0 引言
繼电保护装置中,有大量的参数文件和日志信息需要保存,例如CCD、CID等参数文件[1],以及定值、故障录波、日志等[2-3],都需要掉电不丢失。flash是一种非易失性内存,在没有电流供应的条件下也能够长久地保持数据,广泛应用在移动存储、数码相机、等数字设备中。低成本,高可靠性的特点,让flash在继电保护装置也得到广泛应用[4]。尽管可以采用Cache或其他手段,由于flash较低的写入速率[5-6],以及需要先擦除再写入的特性,如果在写文件过程中发生意外断电、电压不稳定,或发生故障,可能导致文件长度、内容等一系列错误。轻则导致设备参数错误、保护装置运行不正常,重则由于文件超长、文件末尾缺少END等导致装置无法启动。
近年来发展的就地化保护装置安装在户外一次设备附近,设备死机造成无法远程调试,现场调试、检修等需要更长的时间修复[7]。
本文对继电保护装置中出现意外掉电,如何保证装置正常运行的问题进行了研究,提出两种解决方案:备份文件方式和
高可靠性文件系统(High Reliability File System, HRFS)。
本文对这两种方案的实现方式进行详细阐述,对其效果和优劣做了对比。本文提出的两种方法可以在装置意外掉电时保证参数可用,从而避免设备死机,提高装置可靠性。
1 备份文件方式
1.1 系统介绍
本文以在继电保护装置中广泛使用的MS-DOS文件系统(DosFs)阐述备份文件方式。
DosFs向不同要求的实时应用程序提供了良好的适应性,具有与广泛可用的存储器和可恢复介质的兼容性[8]。但是DosFs在保存参数、写文件过程时,如果发生断电或故障,会出现文件或磁盘错误。重新启动后,系统由于解析参数文件失败、或读磁盘失败不能正常启动,无法通过远程连接的方式重新下载参数。技术人员需要连接设备重新下载参数,操作复杂。
本文提出的备份文件的方式,在写文件过程中通过编程,使意外发生时仍然有正确的文件可供使用。当文件出现错误时,启用备份文件以保证装置能够正常启动。
1.2 实现原理
备份文件方式的流程,如图1所示。
其中文件A是需要修改的参数文件,文件B是一个临时文件,文件A是文件A的备份文件。
用户在线修改保护装置的参数后,保护装置将新的参数写入参数文件:
1) 要写入文件A,首先创建文件B。本步骤成功,文件B内容为空;若失败,文件B创建失败,两种情况下文件A都可用。
2) 将新的参数写入文件B中。新的参数写入文件B后,文件B将与文件A具有完全相同的结构、格式,不同的是文件B中是新参数,而文件A中是修改之前的参数。本步骤成功,则使用文件B作为参数文件进行解析;若失败,文件A可以正常解析。
3) 将文件A复制为A。文件A作为文件A的备份,只在当文件B和文件A都不可用时才使用。
4) 删除文件A。步骤3)与4)中的操作无论是否成功,都使用文件B作为参数文件。
5) 将文件B重命名为A。本步骤成功,文件B被重命名为文件A,从用户角度看,本步骤完成后,文件A中的参数更新完成。若失败,即使文件A和文件B都解析失败,仍然有备份文件A可用于设备正常启动。
6) 最后,删除文件A。删除备份文件A,写文件操作才真正结束。
从上述步骤中看到,如果装置意外断电,系统中可能存在A、 A、B三种文件。装置启动时,首先,判断参数文件B是否存在,若B存在则直接读取B中的参数,此时的参数是最新参数;若B不存在,则读文件A中的参数;若A也不存在,则读备份文件A中的参数。因此任何一个步骤失败,在重新启动时A、A、B中至少有1个文件可用,从而保证了装置的正常启动。
1.3 小结
备份文件方式能够解决保护装置意外掉电后文件损坏的问题,实现原理中步骤1)~6)中任意一个时刻掉电,保护装置中至少有1个文件存在并且参数正确。这种方式的缺点是逻辑性較强,需要大量的软件编程,编码过程中容易出现逻辑漏洞。由于参数文件数量多,且名称和格式、内容各不相同,采用这种方式在复制、解析文件时无法完全复用代码,产生大量的冗余,给后续人员维护、升级软件造成困难。
2 HRFS
2.1 系统介绍
高可靠性文件系统(HRFS)是用于实时系统的提交文件系统。HRFS最主要的特点是:崩溃恢复。如果系统意外断电或崩溃,HRFS会在系统重新启动时回滚到最后一个提交点。上次完成提交后所做的任何更改都将丢失,但磁盘仍处于一致状态[9]。
相较于文件损坏导致设备死机,丢失新写入的数据造成的危害要小得多。因此HRFS能够回滚提交的特点,特别适用于继电保护装置。
2.2 实现原理
HRFS的工作原理是,写操作时,不是直接写入文件,而是将修改的数据写入临时块。例如,为了写入块A,首先分配块B,并且将数据写入B。当提交完成时,块B被重新映射以替换块A,并且块A被释放。
HRFS能够回滚的特性决定了HRFS写文件比DosFs耗时要长。鉴于此,HRFS提供了HRFS_DEFAULT_MAX_BUFFERS用于其缓存机制的缓冲区数。通过增加缓存区个数以优化HRFS的性能,如图2所示。
写5MB大小的文件,缓冲区个数增加写文件耗时明显减少。需要注意的是虽然增加缓冲区的数量可以提高性能,但它会以堆内存为代价。因此缓冲区数的选定需要结合继电保护装置的实际内存大小以及文件大小,如果内存足够,推荐设置为1024。
DosFs与HRFS写文件耗时对比,如图3所示。
x轴是写入文件的大小,y轴表示写文件耗时,单位s。柱形图中左边是DosFs的写文件耗时,中间HRFS(16)是缓冲区个数为16时HRFS的写文件耗时,右边HRFS(1024)是缓冲区个数为1024时HRFS的写文件耗时。当文件超过500kB时,HRFS的耗时显著增加,远远超过DosFs。HRFS的缓冲区个数设置为1024时,写文件耗时与DosFs持平。
为了验证HRFS能够回滚的效果,在非HRFS系统和HRFS系统下,同样在写5MB大小的文件过程中断电,查看断电之后的文件内容。由于保护装置中的参数文件通常以二进制方式存在,为方便实验分析,原始文件全部填充为0x01,更新参数文件操作是将0x01全部更新为0x02。
图4是非HRFS系统和HRFS系统下,更新参数文件操作过程中意外断电后,文件内容的对比。
如图4上半部分,是非HRFS系统下在写文件过程中断电,文件中包含新数据0x02和旧数据0x01,表明只完成部分写文件操作,文件数据出错。如图4下半部分,是HRFS系
统下正在写文件过程中断电,重启后文件回滚到上一次成功提交时的状态,即0x01,新写入的内容全部被回退,保证了文件的正确性。
2.3 小结
HRFS能够有效的防止写操作中意外掉电引起的文件错误,新数据如果没有写完则全部丢弃,确保文件正确、保护设备能够正常启动。
HRFS将避免文件错误的操作由用户编程变成由操作系统自动完成,这样极大的减少了软件开发的工作,并且减少流程中的逻辑错误,提高编码效率。保存文件过程逻辑清晰、流程简单,给后续维护和升级带来极大的便捷。
3 实验
为验证提出的两种保护措施的可靠性,进行可靠性对比实验。在写参数文件过程中的任意时刻断电,重启之后设备能正常启动的比例,实验结果如表1所示。
从表1的实验结果可以看出,在不采用保护措施时,写文件过程中掉电会有小概率情况导致设备无法正常启动。本文提出的备份文件方式和HRFS方式,都能保证设备正常启动。
为了比较两种措施的优劣,从操作耗时和代码复杂度两个方面进行对比,结果如下:
1、耗时。继电保护装置对操作的实时性要求较高,写文件耗时越短,表明装置的处理速度越快。相同条件下同样大小的文件,备份文件方式和HRFS的耗时情况如表2所示。从表中可以看出写同样大小的文件,HRFS耗时要少于备份文件方式。
2、代码复杂度。备份文件方式和HRFS的复杂度对比,如表3所示。
备份文件方式需要开发人员进行周密的逻辑设计和代码开发,而且由于文件格式、内容不同,无法完全复用。HRFS则是由操作系统完成回滚操作,开发简单、无须额外的编码。
通过两组实验对比结果表明,备份文件方式和HRFS都能保证在写操作中意外掉电时文件的正确性,使得保护设备能够正常启动。HRFS高可靠性文件系统无论是在代码逻辑还是代码量上,相比备份文件方式都要简单得多,但是需要操作系统支持。备份文件方式是则通过软件编程实现,不依赖操作系统,更具有普适性。
4 总结
针对继电保护装置中出现意外掉电,如何保证装置正常运行这一问题,本文提出了两种解决方案:备份文件方式、高可靠性文件系统HRFS。详细阐述了这两种方案的实现方式,验证两种方式的可靠性,并对其效果和优劣做了对比。本文提出的两种方法可以在装置意外掉电时保证参数可用,从而避免设备死机,提高装置可靠性。
参考文献
[1]
国家电网公司电力调度控制中心. 智能变电站继电保护工程文件技术规范(Q/GDW 11471-2015 )[S]. State Grid Corporation of China, 2016.
[2] 王冠南, 段惠明, 熊华强,等. 就地化故障录波系统设计与关键技术[J]. 电力系统自动化, 2017, 41(16): 53-57.
[3] 侯先栋, 王邦惠, 刘伟,等. 基于文件方式的继电保护装置定值远方操作方法[J]. 电力工程技术, 2018, 37(1): 147-152.
[4] 郑文静, 李明强, 舒继武. Flash存储技术[J]. 计算机研究与发展, 2010, 47(4): 716-726.
[5] 赵倩,唐磊. 一种基于NAND Flash的多通道存储系统编址方式研究与实现[J]. 微电子学与计算机, 2018(9): 32-36.
[6] 王冬, 杨琼. 提高嵌入式文件系统在块设备上实时性的研究[J]. 航空计算技术, 2017, 47(5): 101-103.
[7] 李岩军, 艾淑云, 王兴国, 等. 继电保护就地化及测试研究[J]. 智能电网, 2014, 2(3): 16-21.
[8] 王晋东, 黄海, 王坤, 等. 基于VxWorks的dosFs文件系统分析与实现[J]. 微计算机信息, 2008(32): 85-87.
[9] 张哲, 车鑫, 李运华. 一种高可靠嵌入式文件系统的应用策略研究[J]. 航空计算技术, 2014, 44(5): 111-113.
(收稿日期: 2019.07.28)