馬長武 張騰云 徐廣飛 劉可述 孫利剛 崔建鐵
摘 要:?繼電保護裝置在更新參數(shù)時需要保存文件,當在寫文件過程中意外斷電,會引起寫參數(shù)文件錯誤,重新上電后參數(shù)文件錯誤可能導(dǎo)致設(shè)備死機等無法預(yù)料的后果。針對這一問題,提出了兩種解決方案:備份文件方式和高可靠性文件系統(tǒng)。詳細闡述了兩者的實現(xiàn)方法,并對其效果和優(yōu)劣做了對比。提出的兩種方法可以在裝置意外掉電時保證參數(shù)文件可用,從而避免設(shè)備死機,提高裝置可靠性。
關(guān)鍵詞:?繼電保護; 意外掉電; 備份文件; 高可靠性文件系統(tǒng)
中圖分類號: 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 引言
繼電保護裝置中,有大量的參數(shù)文件和日志信息需要保存,例如CCD、CID等參數(shù)文件[1],以及定值、故障錄波、日志等[2-3],都需要掉電不丟失。flash是一種非易失性內(nèi)存,在沒有電流供應(yīng)的條件下也能夠長久地保持數(shù)據(jù),廣泛應(yīng)用在移動存儲、數(shù)碼相機、等數(shù)字設(shè)備中。低成本,高可靠性的特點,讓flash在繼電保護裝置也得到廣泛應(yīng)用[4]。盡管可以采用Cache或其他手段,由于flash較低的寫入速率[5-6],以及需要先擦除再寫入的特性,如果在寫文件過程中發(fā)生意外斷電、電壓不穩(wěn)定,或發(fā)生故障,可能導(dǎo)致文件長度、內(nèi)容等一系列錯誤。輕則導(dǎo)致設(shè)備參數(shù)錯誤、保護裝置運行不正常,重則由于文件超長、文件末尾缺少END等導(dǎo)致裝置無法啟動。
近年來發(fā)展的就地化保護裝置安裝在戶外一次設(shè)備附近,設(shè)備死機造成無法遠程調(diào)試,現(xiàn)場調(diào)試、檢修等需要更長的時間修復(fù)[7]。
本文對繼電保護裝置中出現(xiàn)意外掉電,如何保證裝置正常運行的問題進行了研究,提出兩種解決方案:備份文件方式和
高可靠性文件系統(tǒng)(High Reliability File System, HRFS)。
本文對這兩種方案的實現(xiàn)方式進行詳細闡述,對其效果和優(yōu)劣做了對比。本文提出的兩種方法可以在裝置意外掉電時保證參數(shù)可用,從而避免設(shè)備死機,提高裝置可靠性。
1 備份文件方式
1.1 系統(tǒng)介紹
本文以在繼電保護裝置中廣泛使用的MS-DOS文件系統(tǒng)(DosFs)闡述備份文件方式。
DosFs向不同要求的實時應(yīng)用程序提供了良好的適應(yīng)性,具有與廣泛可用的存儲器和可恢復(fù)介質(zhì)的兼容性[8]。但是DosFs在保存參數(shù)、寫文件過程時,如果發(fā)生斷電或故障,會出現(xiàn)文件或磁盤錯誤。重新啟動后,系統(tǒng)由于解析參數(shù)文件失敗、或讀磁盤失敗不能正常啟動,無法通過遠程連接的方式重新下載參數(shù)。技術(shù)人員需要連接設(shè)備重新下載參數(shù),操作復(fù)雜。
本文提出的備份文件的方式,在寫文件過程中通過編程,使意外發(fā)生時仍然有正確的文件可供使用。當文件出現(xiàn)錯誤時,啟用備份文件以保證裝置能夠正常啟動。
1.2 實現(xiàn)原理
備份文件方式的流程,如圖1所示。
其中文件A是需要修改的參數(shù)文件,文件B是一個臨時文件,文件A是文件A的備份文件。
用戶在線修改保護裝置的參數(shù)后,保護裝置將新的參數(shù)寫入?yún)?shù)文件:
1) 要寫入文件A,首先創(chuàng)建文件B。本步驟成功,文件B內(nèi)容為空;若失敗,文件B創(chuàng)建失敗,兩種情況下文件A都可用。
2) 將新的參數(shù)寫入文件B中。新的參數(shù)寫入文件B后,文件B將與文件A具有完全相同的結(jié)構(gòu)、格式,不同的是文件B中是新參數(shù),而文件A中是修改之前的參數(shù)。本步驟成功,則使用文件B作為參數(shù)文件進行解析;若失敗,文件A可以正常解析。
3) 將文件A復(fù)制為A。文件A作為文件A的備份,只在當文件B和文件A都不可用時才使用。
4) 刪除文件A。步驟3)與4)中的操作無論是否成功,都使用文件B作為參數(shù)文件。
5) 將文件B重命名為A。本步驟成功,文件B被重命名為文件A,從用戶角度看,本步驟完成后,文件A中的參數(shù)更新完成。若失敗,即使文件A和文件B都解析失敗,仍然有備份文件A可用于設(shè)備正常啟動。
6) 最后,刪除文件A。刪除備份文件A,寫文件操作才真正結(jié)束。
從上述步驟中看到,如果裝置意外斷電,系統(tǒng)中可能存在A、 A、B三種文件。裝置啟動時,首先,判斷參數(shù)文件B是否存在,若B存在則直接讀取B中的參數(shù),此時的參數(shù)是最新參數(shù);若B不存在,則讀文件A中的參數(shù);若A也不存在,則讀備份文件A中的參數(shù)。因此任何一個步驟失敗,在重新啟動時A、A、B中至少有1個文件可用,從而保證了裝置的正常啟動。
1.3 小結(jié)
備份文件方式能夠解決保護裝置意外掉電后文件損壞的問題,實現(xiàn)原理中步驟1)~6)中任意一個時刻掉電,保護裝置中至少有1個文件存在并且參數(shù)正確。這種方式的缺點是邏輯性較強,需要大量的軟件編程,編碼過程中容易出現(xiàn)邏輯漏洞。由于參數(shù)文件數(shù)量多,且名稱和格式、內(nèi)容各不相同,采用這種方式在復(fù)制、解析文件時無法完全復(fù)用代碼,產(chǎn)生大量的冗余,給后續(xù)人員維護、升級軟件造成困難。
2 HRFS
2.1 系統(tǒng)介紹
高可靠性文件系統(tǒng)(HRFS)是用于實時系統(tǒng)的提交文件系統(tǒng)。HRFS最主要的特點是:崩潰恢復(fù)。如果系統(tǒng)意外斷電或崩潰,HRFS會在系統(tǒng)重新啟動時回滾到最后一個提交點。上次完成提交后所做的任何更改都將丟失,但磁盤仍處于一致狀態(tài)[9]。
相較于文件損壞導(dǎo)致設(shè)備死機,丟失新寫入的數(shù)據(jù)造成的危害要小得多。因此HRFS能夠回滾提交的特點,特別適用于繼電保護裝置。
2.2 實現(xiàn)原理
HRFS的工作原理是,寫操作時,不是直接寫入文件,而是將修改的數(shù)據(jù)寫入臨時塊。例如,為了寫入塊A,首先分配塊B,并且將數(shù)據(jù)寫入B。當提交完成時,塊B被重新映射以替換塊A,并且塊A被釋放。
HRFS能夠回滾的特性決定了HRFS寫文件比DosFs耗時要長。鑒于此,HRFS提供了HRFS_DEFAULT_MAX_BUFFERS用于其緩存機制的緩沖區(qū)數(shù)。通過增加緩存區(qū)個數(shù)以優(yōu)化HRFS的性能,如圖2所示。
寫5MB大小的文件,緩沖區(qū)個數(shù)增加寫文件耗時明顯減少。需要注意的是雖然增加緩沖區(qū)的數(shù)量可以提高性能,但它會以堆內(nèi)存為代價。因此緩沖區(qū)數(shù)的選定需要結(jié)合繼電保護裝置的實際內(nèi)存大小以及文件大小,如果內(nèi)存足夠,推薦設(shè)置為1024。
DosFs與HRFS寫文件耗時對比,如圖3所示。
x軸是寫入文件的大小,y軸表示寫文件耗時,單位s。柱形圖中左邊是DosFs的寫文件耗時,中間HRFS(16)是緩沖區(qū)個數(shù)為16時HRFS的寫文件耗時,右邊HRFS(1024)是緩沖區(qū)個數(shù)為1024時HRFS的寫文件耗時。當文件超過500kB時,HRFS的耗時顯著增加,遠遠超過DosFs。HRFS的緩沖區(qū)個數(shù)設(shè)置為1024時,寫文件耗時與DosFs持平。
為了驗證HRFS能夠回滾的效果,在非HRFS系統(tǒng)和HRFS系統(tǒng)下,同樣在寫5MB大小的文件過程中斷電,查看斷電之后的文件內(nèi)容。由于保護裝置中的參數(shù)文件通常以二進制方式存在,為方便實驗分析,原始文件全部填充為0x01,更新參數(shù)文件操作是將0x01全部更新為0x02。
圖4是非HRFS系統(tǒng)和HRFS系統(tǒng)下,更新參數(shù)文件操作過程中意外斷電后,文件內(nèi)容的對比。
如圖4上半部分,是非HRFS系統(tǒng)下在寫文件過程中斷電,文件中包含新數(shù)據(jù)0x02和舊數(shù)據(jù)0x01,表明只完成部分寫文件操作,文件數(shù)據(jù)出錯。如圖4下半部分,是HRFS系
統(tǒng)下正在寫文件過程中斷電,重啟后文件回滾到上一次成功提交時的狀態(tài),即0x01,新寫入的內(nèi)容全部被回退,保證了文件的正確性。
2.3 小結(jié)
HRFS能夠有效的防止寫操作中意外掉電引起的文件錯誤,新數(shù)據(jù)如果沒有寫完則全部丟棄,確保文件正確、保護設(shè)備能夠正常啟動。
HRFS將避免文件錯誤的操作由用戶編程變成由操作系統(tǒng)自動完成,這樣極大的減少了軟件開發(fā)的工作,并且減少流程中的邏輯錯誤,提高編碼效率。保存文件過程邏輯清晰、流程簡單,給后續(xù)維護和升級帶來極大的便捷。
3 實驗
為驗證提出的兩種保護措施的可靠性,進行可靠性對比實驗。在寫參數(shù)文件過程中的任意時刻斷電,重啟之后設(shè)備能正常啟動的比例,實驗結(jié)果如表1所示。
從表1的實驗結(jié)果可以看出,在不采用保護措施時,寫文件過程中掉電會有小概率情況導(dǎo)致設(shè)備無法正常啟動。本文提出的備份文件方式和HRFS方式,都能保證設(shè)備正常啟動。
為了比較兩種措施的優(yōu)劣,從操作耗時和代碼復(fù)雜度兩個方面進行對比,結(jié)果如下:
1、耗時。繼電保護裝置對操作的實時性要求較高,寫文件耗時越短,表明裝置的處理速度越快。相同條件下同樣大小的文件,備份文件方式和HRFS的耗時情況如表2所示。從表中可以看出寫同樣大小的文件,HRFS耗時要少于備份文件方式。
2、代碼復(fù)雜度。備份文件方式和HRFS的復(fù)雜度對比,如表3所示。
備份文件方式需要開發(fā)人員進行周密的邏輯設(shè)計和代碼開發(fā),而且由于文件格式、內(nèi)容不同,無法完全復(fù)用。HRFS則是由操作系統(tǒng)完成回滾操作,開發(fā)簡單、無須額外的編碼。
通過兩組實驗對比結(jié)果表明,備份文件方式和HRFS都能保證在寫操作中意外掉電時文件的正確性,使得保護設(shè)備能夠正常啟動。HRFS高可靠性文件系統(tǒng)無論是在代碼邏輯還是代碼量上,相比備份文件方式都要簡單得多,但是需要操作系統(tǒng)支持。備份文件方式是則通過軟件編程實現(xiàn),不依賴操作系統(tǒng),更具有普適性。
4 總結(jié)
針對繼電保護裝置中出現(xiàn)意外掉電,如何保證裝置正常運行這一問題,本文提出了兩種解決方案:備份文件方式、高可靠性文件系統(tǒng)HRFS。詳細闡述了這兩種方案的實現(xiàn)方式,驗證兩種方式的可靠性,并對其效果和優(yōu)劣做了對比。本文提出的兩種方法可以在裝置意外掉電時保證參數(shù)可用,從而避免設(shè)備死機,提高裝置可靠性。
參考文獻
[1]
國家電網(wǎng)公司電力調(diào)度控制中心. 智能變電站繼電保護工程文件技術(shù)規(guī)范(Q/GDW 11471-2015 )[S]. State Grid Corporation of China, 2016.
[2] 王冠南, 段惠明, 熊華強,等. 就地化故障錄波系統(tǒng)設(shè)計與關(guān)鍵技術(shù)[J]. 電力系統(tǒng)自動化, 2017, 41(16): 53-57.
[3] 侯先棟, 王邦惠, 劉偉,等. 基于文件方式的繼電保護裝置定值遠方操作方法[J]. 電力工程技術(shù), 2018, 37(1): 147-152.
[4] 鄭文靜, 李明強, 舒繼武. Flash存儲技術(shù)[J]. 計算機研究與發(fā)展, 2010, 47(4): 716-726.
[5] 趙倩,唐磊. 一種基于NAND Flash的多通道存儲系統(tǒng)編址方式研究與實現(xiàn)[J]. 微電子學(xué)與計算機, 2018(9): 32-36.
[6] 王冬, 楊瓊. 提高嵌入式文件系統(tǒng)在塊設(shè)備上實時性的研究[J]. 航空計算技術(shù), 2017, 47(5): 101-103.
[7] 李巖軍, 艾淑云, 王興國, 等. 繼電保護就地化及測試研究[J]. 智能電網(wǎng), 2014, 2(3): 16-21.
[8] 王晉東, 黃海, 王坤, 等. 基于VxWorks的dosFs文件系統(tǒng)分析與實現(xiàn)[J]. 微計算機信息, 2008(32): 85-87.
[9] 張哲, 車鑫, 李運華. 一種高可靠嵌入式文件系統(tǒng)的應(yīng)用策略研究[J]. 航空計算技術(shù), 2014, 44(5): 111-113.
(收稿日期: 2019.07.28)