候志立
(積成電子股份有限公司,山東 濟南 250100)
一種基于用電信息采集終端的曲線數據存儲方案
候志立
(積成電子股份有限公司,山東 濟南 250100)
本文提出一種多個索引文件共享一個數據文件的存儲方案,來對測量點信息和曲線數據進行統一管理和有效定位,降低了存儲設備操作次數;采用文件大小虛擬定位技術針對回向校時提出了合理化解決方案;在索引文件MAP信息中增加曲線數據實際位置轉換系數優化了曲線數據周期性裁剪。
用電信息;采集終端;曲線數據;方案
本存儲方案涉及智能電網用電信息采集系統領域,特別涉及一種基于用電信息采集終端的曲線數據存儲方案。
電力用戶用電信息采集系統(power user electric energy data acquire system)是對電力用戶的用電信息進行采集、處理和實時監控的系統,用電信息采集終端(electric energy data acquire terminal)是對各信息采集點用電信息采集的設備,可實現電能表數據的采集、數據管理、數據雙向傳輸以及轉發或執行控制命令的設備。
隨著OFDM等調制技術的不斷發展及寬帶載波通信技術的廣泛應用,不同地市根據自身需求擴充了國網公司針對曲線數據管理及存儲的相關規定,像江蘇省供電公司提出用電信息采集終端應采集全體用戶的曲線數據并支持存儲512個用戶10天的電壓、電流、功率、電能示值等數據項24個整點曲線數據,為適應四表合一趨勢發展,要求在此基礎上支持存儲512個水表、氣表、燃氣表等的曲線數據;重慶市供電公司將重點用戶的數量擴充至255個,要求用電信息采集終端支持255個重點用戶10天的曲線數據存儲。
曲線數據存儲量的增大針對采集終端存儲時所采用的曲線數據存儲方案的性能也提出了極高的要求。包括以下幾點:
1.針對回向校時的處理能力。采集終端應能及時對校時后的曲線數據進行處理,確保曲線數據存儲的及時響應,保證曲線數據存儲的正確性和完整性。
2.曲線數據周期性裁剪的處理能力。當因存儲設備容量限制需要進行曲線數據周期性裁剪,所采用的存儲方案應能具備盡量減少對存儲設備的操作次數的設計以保證存儲設備的使用壽命。
3.針對測量點信息發生變更的處理能力。采集終端采用的存儲方案需要便于處理發生變更的測量點的曲線數據,盡量保證該測量點發生變更前后的數據完整性和一致性。
4.曲線存儲方案需要具備對曲線數據的正確性、完整性進行驗證的能力。
目前針對曲線數據的存儲方案有以下3種:
1.以測量點為存儲單元的存儲方案。終端存儲曲線數據的時候每個測量點創建一個文件,采用MAP+DATA的存儲結構,MAP存儲測量點相關信息,DATA存儲該測量點各時間點的曲線數據。但該存儲方式存在以下不足:
(1)隨著國網公司要求存儲的數據量越來越大,當測量點比較多的時候創建的文件比較多,不利于統籌管理。
(2)采集終端在上電啟動掛載文件系統的時候,文件系統會掃描每個block,判定每個block是否為壞塊、空塊來建立哈希表,如果創建的文件比較多,無疑延長了文件系統的檢查執行時間,進而延長了采集終端的啟動速度。
(3)針對像UFFS文件系統的一些版本,文件系統每創建一個文件就會占用一個block的存儲空間,并且該block上無法再創建新的文件,此時如果創建的文件存儲內容很少,就會對存儲空間造成極大浪費。
(4)當發生回向校時,需要對每個測量點文件中當前時間之后的曲線數據進行裁剪,如果需要裁剪的數據量較大、測量點較多,則裁剪執行時間較長,影響了曲線數據存儲。
(5)當因磁盤容量限制需要對文件進行裁剪,則對每個文件存儲的曲線數據都要進行裁剪處理,造成存儲設備操作過于頻繁,減少了存儲設備的使用壽命。
(6)如果采集終端測量點類型發生變更,則對應的曲線數據存儲單元長度也會發生變化,為了便于二分法查找,必須重建該測量點的曲線文件,造成測量點類型變更之前的數據丟失,影響了曲線數據完整性。
2.以時間為存儲單元的存儲方案,終端每天創建一個文件,文件中存儲所有測量點的曲線數據,該方案的優點是便于按日期進行文件裁剪,但該存儲方案存在如下不足:
(1)國網公司規定的曲線數據項繁多復雜,每個曲線數據項的數據單元長度不一,根據測量點所屬采集通道的不同,存儲密度也不一樣,造成文件存儲結構異常混亂,當進行文件查詢的時候無法快速有效定位需要查詢的數據,增加了查詢時CPU開銷,當需要查詢的曲線數據不在一個文件中的時候,需要對多個文件進行操作,無法達到對主站請求幀的及時響應,影響了嵌入式系統的實時性。
(2)當采集終端發生回向校時,要對當前時間之后的曲線數據進行裁剪,裁剪起始點的查找和定位很困難,增加了回向校時文件裁剪的執行時間,此時若存在曲線數據存儲需求,曲線文件存儲或會異常,曲線數據安全性受到影響。
(3)用電信息采集終端在現場運行過程中若出現故障,因曲線文件存儲結構混亂,增加了排查難度。
(4)當采集終端發生測量點信息變更、測量點被刪除或增加了新的測量點,及其不便于測量點信息的統籌管理。
(5)程序無法對存儲的曲線數據的有效性進行判定,進行曲線數據查詢的時候或會得到錯誤的數據并且無法進行有效驗證。
3.系統中增加嵌入式數據庫實現數據的存儲和管理。嵌入式數據庫的引入無疑方便了數據的存儲、獲取、刪減等操作,但這種存儲方案一方面增加了開發和維護成本,另一方面降低了程序的可移植性,并不是所有的嵌入式操作系統都適合嵌入式數據庫的移植,另外針對大量曲線數據回向校時的處理也較困難。
1.在用電信息采集終端文件系統新建用于存儲曲線索引文件及曲線數據文件的文件夾。
2.根據測量點所屬通信端口將曲線索引文件劃分為交流采樣通道的曲線索引文件、RS485x采集通道的曲線索引文件、本地通信通道的曲線索引文件,創建曲線數據文件用于存儲所有曲線數據。
3.設計各曲線索引文件及曲線數據文件的存儲結構。
交流采樣通道的曲線索引文件、RS485x采集通道的曲線索引文件及本地通信通道的曲線索引文件均包括MAP表頭和索引數據兩部分;
MAP表頭存儲曲線數據實際位置轉換系數、對應曲線索引文件有效大小、MAXNUM個測量點存儲單元的存儲信息(MAXNUM為對應曲線索引文件所屬通信通道允許接入的最大測量點數量),測量點存儲單元的存儲信息包括測量點號、曲線起始時標;
索引數據隨時間推移按照曲線存儲密度依次存儲每個曲線時標對應的索引數據塊,每個曲線時標對應的索引數據塊存儲曲線數據時標、該時標曲線數據起始相對存儲位置及MAXNUM個測量點曲線數據相對存儲位置;
曲線數據文件的存儲內容包括曲線數據文件有效大小及每個測量點每個曲線時標的曲線單元數據,曲線單元數據包括曲線時標、數據單元長度、曲線數據。
針對曲線索引文件及曲線數據文件存儲結構的相關說明:
(1)各索引文件及數據文件之間的依賴關系。交流采樣通道的曲線索引文件、RS485x采集通道的曲線索引文件及本地通信通道的曲線索引文件共享曲線數據文件,共同實現對曲線數據文件的管理和定位功能。
(2)曲線數據實際位置轉換系數說明。曲線數據實際位置轉換系數用于將索引文件中存儲的曲線數據絕對位置轉換成相對位置,優化文件裁剪。該系數記錄從曲線數據文件初始創建到系統當前時間為止每次裁剪總共裁掉的字節數(累加值),當進行曲線數據存儲的時候,用曲線數據的實際存儲位置加上數據實際位置轉換系數所得結果更新相應索引文件該曲線時標索引數據塊中對應測量點的相對存儲位置的值,當進行曲線數據查詢的時候,就可以用該測量點的相對存儲位置減去曲線數據實際位置轉換系數,即可得曲線數據實際位置,當進行文件裁剪的時候,避免了需要對每個索引文件的各曲線時標索引數據塊中記錄的每個相對存儲位置進行變更的麻煩,提高了裁剪效率。
(3)索引文件有效大小及數據文件有效大小說明。文件有效大小即從文件起始位置到索引數據塊或曲線單元數據追加位置之間的字節數,也即索引數據塊或曲線單元數據從文件有效大小定位的位置開始追加存儲新增數據,這是為了方便用電信息采集終端發生回向校時設計的。使用文件大小虛擬定位技術實現采集終端回向校時處理。文件大小虛擬定位技術描述為:采集終端發生回向校時,查找裁剪位置,但無須裁剪,只需用裁剪位置的偏移量更新文件有效大小的值,如此,裁剪位置之后的索引或曲線數據作為無效數據處理,這樣就避免了對索引文件進行裁剪,提高了曲線數據存儲效率和安全性。
(4)曲線數據文件的存儲內容根據測量點的曲線存儲結構不同,每個曲線數據存儲單元包含的數據類型不同,根據測量點的所屬通信通道不同,曲線數據單元的存儲密度也不一樣,但每個曲線數據單元的所屬時標具有順時遞增的規律。
1.根據用電信息采集終端校時后系統時間及存儲密度確定校時后待裁剪曲線數據時標。
2.根據曲線索引文件有效大小定位到曲線索引文件最后存儲的有效索引數據塊,從最后存儲的有效索引數據塊中讀取最后存儲的有效曲線數據時標。
3.若校時后待裁剪曲線數據時標小于最后存儲有效曲線數據時標,則轉步驟4;反之,不作回向校時處理。
4.曲線索引文件回向校時處理
根據校時后待裁剪曲線數據時標及二分法確定校時后待裁剪索引數據塊的位置,用該位置相對于曲線索引文件起始位置的偏移量更新曲線索引文件有效大小信息。
5.曲線數據文件回向校時處理
首先讀取曲線數據實際位置轉換系數和曲線索引文件有效大小;其次從曲線索引文件有效大小指向的位置讀取最后存儲的有效索引數據塊,從最后存儲的有效索引數據塊中獲取最后存儲的有效時標曲線數據起始相對存儲位置;然后用最后存儲的有效時標曲線數據起始相對存儲位置減去曲線數據實際位置轉換系數即得曲線數據文件中校時后最后存儲的曲線數據的實際位置,用該實際位置相對曲線數據文件起始位置的偏移量更新曲線數據文件有效大小的值。
1.對每個曲線索引文件進行裁剪
首先,需要按照如下步驟確定曲線索引文件裁剪位置。
(1)根據用電信息采集終端當前系統時間及規定的曲線最大存儲天數,計算出待裁剪位置的曲線數據時標。
(2)從曲線索引文件中讀取存儲的首個索引數據塊,從首個索引數據塊中獲取首個曲線數據時標。
(3)如果待裁剪位置的曲線數據時標不大于首個曲線數據時標,則不對曲線索引文件和曲線數據文件進行裁剪;反之,根據待裁剪位置的曲線數據時標和二分法確定曲線索引文件裁剪位置。
其次,對曲線索引文件進行裁剪。在曲線索引文件所在目錄中創建空文件作為臨時索引文件,臨時索引文件中存儲曲線索引文件MAP表頭及曲線索引文件裁剪位置到MAP表頭曲線索引文件有效大小指向的最后有效位置之間的索引數據。
然后,需要按照如下步驟更新臨時索引文件MAP表頭信息:
(1)曲線索引文件有效大小的更新:用臨時索引文件的大小更新臨時索引文件MAP表頭中曲線索引文件有效大小的值。
(2)確定曲線數據文件裁剪位置。
(3)曲線數據實際位置轉換系數的更新:根據曲線數據文件的實際裁剪位置計算出曲線數據文件本次裁剪需要裁掉的無效數據的字節數,用臨時索引文件中記錄的原實際位置轉換系數加上本次裁掉的無效數據字節數,即可得裁剪后的曲線數據實際位置轉換系數,將該轉換系數存儲在臨時索引文件MAP表頭數據實際位置轉換系數的位置。
(4)MAXNUM個測量點信息的更新:從臨時索引文件中讀取首個索引數據塊,從索引數據塊中獲取首個曲線數據時標,如果MAXNUM個測量點信息中存儲的曲線起始時標小于首個曲線數據時標,則將首個曲線數據時標寫入測量點曲線起始時標位置。
2.對曲線數據文件進行裁剪
首先在曲線數據文件所在目錄下創建臨時數據文件,將原曲線數據文件有效大小的值和根據步驟一中確定的原數據文件裁剪位置到原曲線數據文件有效大小指向的最后有效存儲位置之間的曲線數據裁剪到臨時數據文件中;然后用臨時數據文件的大小更新臨時數據文件存儲的曲線數據文件有效大小信息。
3.臨時文件更名:將原曲線索引文件及曲線數據文件刪除,臨時索引文件及臨時數據文件改名為原曲線索引文件及曲線數據文件的文件名。
1.數據存儲方案規避了類似于UFFS等文件系統個別版本特性造成的存儲空間資源浪費的缺陷,只要存儲空間滿足存儲需求,無需擴容即可實現所有測量點曲線數據的存儲。
2.減少了創建文件的數目,采用曲線索引文件對曲線數據文件進行定位實現數據存取及所有曲線索引文件共享一個曲線數據文件的方式,便于統籌管理。
3.提高了采集終端啟動時文件系統遍歷所有block的執行效率,提高了采集終端啟動速度。
4.索引文件存儲結構中增加曲線數據實際位置轉換系數,將索引數據存儲的曲線數據位置由絕對位置轉換成相對位置,避免了周期性裁剪對索引數據中存儲的曲線數據位置的更新,提高了裁剪效率,減少了對存儲設備的訪問次數,保證了存儲設備的使用壽命。
5.采用文件大小虛擬定位技術實現對采集終端發生回向校時的處理,轉變設計思路,規避了目前曲線數據存儲方案,當發生回向校時的時候需要對文件進行裁剪的弊端,提高了回向校時處理速度,保證了曲線數據存儲的及時性和安全性,確保了存儲設備壽命。
6.當測量點信息發生變更的時候,無須刪除信息變更之前的曲線數據,提高了曲線數據完整性。
7.此種曲線數據存儲方案不受操作系統、文件系統或編程方式的限制,方便程序移植,規避了使用數據庫造成的程序移植性降低的缺點。
8.針對異常斷電情況下的數據存儲及數據保護可提供較好的解決方案,可通過各種措施保證曲線數據的安全性和完整性,對存儲的曲線數據或文件的異常情況具備自恢復能力。
9.通用性良好。此種存儲方案可以有效應用于國網公司要求的日凍結數據、月凍結數據、日統計數據、月統計數據等的存儲,甚至非電力系統也具備采用價值。
10.該曲線數據存儲方案將國網公司規定的繁復復雜的一系列曲線數據項和多樣的曲線數據存儲密度有機地整合在一起,存儲結構簡單有序,便于曲線數據的定位、存儲和查詢,也便于對現場問題進行排查。
11.該曲線數據存儲方案提供了曲線數據有效性檢查能力,索引文件中存儲曲線起始存儲時標,且每個索引數據塊存儲曲線數據時標,曲線數據文件中每個曲線單元數據也存儲曲線數據時標和數據單元長度,可以通過以上存儲內容對曲線的正確性進行有效檢查和驗證。
[1]謝永剛.電力用戶的用電信息采集系統與應用探討[J].科技創新與應用,2012(32):137-138.
[2]周金飛.用電信息采集系統[J].農村電氣化,2012(9):43-44.
TM73
A