吳 偉,張 偉
(1.珠海供電局,廣東 珠海 519000;2.東方電子股份有限公司,山東 煙臺 264000)
長期以來,OCS系統(tǒng)在基礎(chǔ)模型維護的過程中存在多類問題,集中體現(xiàn)在描述不規(guī)范、信息不完整和二次維護基礎(chǔ)差等方面。珠海供電局在OCS系統(tǒng)升級項目過程中,結(jié)合自身的特點,制訂了一整套的參數(shù)維護體系,創(chuàng)建了符合自動化維護要求,并且滿足OCS系統(tǒng)功能特點的基礎(chǔ)數(shù)據(jù)維護模板。主站系統(tǒng)讀取分析基礎(chǔ)參數(shù)模板,通過一系列的轉(zhuǎn)換規(guī)則,實現(xiàn)信息參數(shù)的快速、高效、準確導入。
采用這種方式以后,規(guī)范了珠海供電局的基礎(chǔ)模型維護工作,對實現(xiàn)自動化維護工作的標準化具有重要意義。原始基礎(chǔ)參數(shù)模板作為源端維護的歸檔文檔,為整個OCS系統(tǒng)生命周期的模型維護提供了基礎(chǔ)數(shù)據(jù);實現(xiàn)了基礎(chǔ)模型維護標準化,實現(xiàn)了間隔、設(shè)備劃分明確,信息類型準確清晰;提高了基礎(chǔ)數(shù)據(jù)質(zhì)量,為后續(xù)功能擴展奠定了重要的數(shù)據(jù)基礎(chǔ)。
但在實際使用過程中,維護人員經(jīng)常使用主站系統(tǒng)的參數(shù)編輯工具,直接對參數(shù)屬性進行編輯修改,導致原始的數(shù)據(jù)模板與運行系統(tǒng)的參數(shù)之間存在不一致的情況;另外,由于數(shù)據(jù)模板的管理問題,部分原始數(shù)據(jù)模板存在丟失問題。為解決上述問題,本文研究采用OCS系統(tǒng)模型參數(shù)逆向?qū)С龅姆椒ā?/p>
目前,國內(nèi)主流的能量管理系統(tǒng)在進行系統(tǒng)設(shè)計時都參考了IEC61970標準,并結(jié)合系統(tǒng)的技術(shù)方案構(gòu)建了基礎(chǔ)模型設(shè)計[1-3]。隨著近幾年來信息化技術(shù)的發(fā)展,為了打破系統(tǒng)間信息孤島,實現(xiàn)信息的互聯(lián)互通,基本實現(xiàn)了系統(tǒng)間的信息交互操作[4-5]。
以信息交互為目的的CIM模型導出在國內(nèi)應用已經(jīng)非常成熟,實現(xiàn)了系統(tǒng)間的橫向、縱向交互;但是這種交互操作主要是簡化后的基礎(chǔ)信息,并沒有涵蓋所有的維護信息,且目前自動化系統(tǒng)的圖模維護更側(cè)重于采用圖模一體化工具的維護方式,以圖形操作技術(shù)為基礎(chǔ)、數(shù)據(jù)庫為核心,完成模型的構(gòu)建[6-7]。
在國內(nèi),以基礎(chǔ)模型維護為目的的信息導出功能還沒有得到充分地研究和應用。珠海供電局采用的系統(tǒng)參數(shù)逆向?qū)С黾夹g(shù),并依賴導出進行的信息維護和管理,具有重要的實踐意義。
參數(shù)逆向?qū)С錾傻臄?shù)據(jù)模板是對導入模板的逆向分析過程。原始基礎(chǔ)參數(shù)模板的維護是以遙測、遙信為主線進行的;參數(shù)逆向?qū)С鰰r,同樣需要遵循一條主線作為模型參數(shù)分析的主要線索。逆向?qū)С龅倪^程就是從分析遙測、遙信開始,擴展分析其他(如設(shè)備、量測和遠動等)屬性信息。
基礎(chǔ)參數(shù)模板維護和制定的主要原則是保證維護信息準確、完整,維護方式簡單、便捷?;A(chǔ)數(shù)據(jù)導入系統(tǒng)后的存儲設(shè)計的主要原則是在信息準確、完整的前提下,盡量提高數(shù)據(jù)訪問、處理效率,降低數(shù)據(jù)存儲空間。從數(shù)據(jù)存儲的角度講,數(shù)據(jù)信息在其生命周期的2個階段內(nèi),不是簡單的對應關(guān)系,因而導致了數(shù)據(jù)逆向分析過程無法從系統(tǒng)中一對一的讀取,這些存儲差異導致逆向分析過程需要采用不同的方法進行處理。按照組織方式的不同,這些差異包括如下幾種情況:1)重組類數(shù)據(jù),從系統(tǒng)的不同表的不同字段中解析獲取不同部分信息;2)離散類數(shù)據(jù),從系統(tǒng)的離散信息中進行重組,獲取信息;3)聚合類數(shù)據(jù),從系統(tǒng)的單一字段中進行拆解分析;4)直關(guān)聯(lián)數(shù)據(jù),從系統(tǒng)的固定字段中直接獲取信息。
針對不同類型的數(shù)據(jù),采用不同的處理方式、方法,具體包括聚合類數(shù)據(jù)的離散分析方法、行列模式轉(zhuǎn)換方法、離散數(shù)據(jù)的映射值匹配方法和直接映射讀取等方法。
逆向?qū)С隽鞒虉D如圖1所示。首先讀取系統(tǒng)的基礎(chǔ)數(shù)據(jù)參數(shù),這些參數(shù)是系統(tǒng)構(gòu)建時創(chuàng)建的管理類、定值類和功能類參數(shù),導出過程需要根據(jù)這些原始數(shù)據(jù)進行錄入信息的匹配輸出;然后依次讀取遙測、遙信參數(shù),并分析其關(guān)聯(lián)的設(shè)備、量測和遠動屬性,不同類型的數(shù)據(jù)使用不同的處理方法,逐條完成分析;最后,將分析后的結(jié)果存儲到結(jié)果表中,并在界面中顯示。
圖1 逆向?qū)С隽鞒虉D
在基礎(chǔ)參數(shù)模板中,為了維護信息類型的清晰、準確,信息是分散(離散)的,經(jīng)過一系列轉(zhuǎn)換操作后,變成聚合類數(shù)據(jù)存儲。逆向?qū)С鲞^程需要將這類聚合數(shù)據(jù)重新解析成離散數(shù)據(jù)。根據(jù)其存儲內(nèi)容劃分,主要分為如下兩大類。
1)字符類的聚合數(shù)據(jù)。基礎(chǔ)參數(shù)模板中最典型的字符類聚合數(shù)據(jù)是間隔代碼、設(shè)備代碼、信息編碼、間隔描述和信息內(nèi)容數(shù)據(jù)等內(nèi)容。這類信息最終匯聚在遙測、遙信、間隔的編碼和描述屬性中。逆向?qū)С鰰r需要從遙測、遙信編碼和描述中進行離散分析。其中,為了提高數(shù)據(jù)分析的準確性和效率,引入了模糊匹配的方法[8]。模糊匹配的思路是在構(gòu)建間隔的規(guī)則庫時,根據(jù)電力系統(tǒng)的專業(yè)術(shù)語,通過語義相近的方式,構(gòu)建了一套匹配語義規(guī)則庫。匹配語義庫的構(gòu)建語法采用了正則表達式的方式[9-10]。
2)數(shù)值類的聚合數(shù)據(jù)?;A(chǔ)參數(shù)模板中最典型的數(shù)值類聚合數(shù)據(jù)是告警設(shè)置信息。在維護模板中,推圖標志、語音標志和存盤標志等都是獨立配置屬性,其在系統(tǒng)中最終聚合存儲為一個整型值。逆向?qū)С鰰r,需要對整型值進行位的離散分析。分析時,需要根據(jù)系統(tǒng)的數(shù)據(jù)設(shè)計詞典,對整型值進行位操作運算,并逐位還原輸出。
珠海供電局的OCS系統(tǒng)在進行數(shù)據(jù)庫設(shè)計時,大量使用了彈性擴展的設(shè)計思路,主要體現(xiàn)在對于同屬性的數(shù)組類數(shù)據(jù),采用行的方式而非列的方式進行設(shè)計存儲。數(shù)組內(nèi)不同含義的數(shù)據(jù),采用不同標志位進行區(qū)分。以如圖2所示為例,原始基礎(chǔ)數(shù)據(jù)表中包含了基礎(chǔ)屬性1、數(shù)組屬性1和數(shù)組屬性2等屬性。在基礎(chǔ)數(shù)據(jù)維護中,使用3個域(列)分別顯示;而在系統(tǒng)數(shù)據(jù)庫的設(shè)計中,模型數(shù)據(jù)被拆分成2個表,數(shù)據(jù)庫表A和數(shù)據(jù)庫表B,2個數(shù)據(jù)表通過關(guān)鍵域name關(guān)聯(lián)?;A(chǔ)屬性1被存儲在數(shù)據(jù)庫表A中;數(shù)組屬性1和數(shù)組屬性2被存儲在數(shù)據(jù)庫表B中。數(shù)據(jù)庫表2采用了彈性擴展的設(shè)計思路,數(shù)組的列存儲方式轉(zhuǎn)換成行模式,每個數(shù)組屬性轉(zhuǎn)存成一條記錄,該條記錄以key-value形式呈現(xiàn)。
圖2 行列轉(zhuǎn)換示意圖
行模式的優(yōu)點是提高了擴展的彈性,如果數(shù)組屬性后續(xù)增加新的屬性,則直接增加key-flag標記即可,而不必對表結(jié)構(gòu)進行變更。大量使用的行存儲方式在提高系統(tǒng)擴展彈性的同時,也增加了數(shù)據(jù)讀取的復雜度。列模式可以通過一次讀取,獲取到所有相關(guān)信息;而行模式,由于增加了新的表單獨存儲數(shù)組信息,則需要額外增加多次讀取,并需要數(shù)據(jù)讀取接口根據(jù)數(shù)據(jù)標志定義重新組織數(shù)據(jù)。
為了高效解析并處理這類數(shù)據(jù),簡化逆向分析邏輯,逆向?qū)С龉ぞ咴O(shè)計使用了行列模式轉(zhuǎn)換方法。該方法巧妙使用了sql的分組聚合方法,快速地實現(xiàn)了數(shù)據(jù)信息由行方式向列方式的轉(zhuǎn)換。在設(shè)計時,通過關(guān)鍵屬性name進行g(shù)roup by操作,每個數(shù)組屬性對應一個decode分支判斷方法。采用這種方法,僅需要增加一次讀取,免除了讀取接口重新組織數(shù)據(jù)的過程。
基礎(chǔ)模型參數(shù)導入后,部分基礎(chǔ)數(shù)據(jù)按照系統(tǒng)組織結(jié)構(gòu)重新進行了離散式處理,最典型的類型是責任區(qū)的設(shè)置。責任區(qū)從通用性角度劃分為兩類:一類是公共責任區(qū),所有信號都歸屬這些責任區(qū);另一類是按業(yè)務(wù)劃分的非通用責任區(qū)。自動化維護人員按照業(yè)務(wù)需求,將模型參數(shù)進行責任區(qū)劃分,實現(xiàn)維護和信息調(diào)閱的分流功能;但業(yè)務(wù)單元的責任劃分有互相重疊的部分,導致無法直接按照業(yè)務(wù)邏輯進行劃分。
為了解決這個問題,系統(tǒng)將業(yè)務(wù)邏輯的責任區(qū)進行再分割,按照最小粒度進行整理,設(shè)計成31個責任區(qū)。業(yè)務(wù)邏輯單元根據(jù)需要選取責任區(qū),每個業(yè)務(wù)邏輯包含多個子責任區(qū),各邏輯單元的責任區(qū)互相存在交集。系統(tǒng)設(shè)計責任區(qū)和基礎(chǔ)參數(shù)模板的業(yè)務(wù)邏輯責任區(qū)形成一個M×N的多對多關(guān)系表?;A(chǔ)參數(shù)模板在導入過程中,只需要輸入一個邏輯單元名,處理程序自動分解成多個非通用子責任區(qū)。
這種設(shè)計思路給逆向?qū)С龅倪^程業(yè)務(wù)邏輯單元判定增加了很大的困難,如果逐一判斷比較,效率非常低。通過離散數(shù)據(jù)的位映射匹配方法可以快速進行信息判斷。其核心思想是首先根據(jù)分散信息構(gòu)建對應模型,過濾非通用責任區(qū),通過位映射方式計算出一個整型數(shù)據(jù)數(shù);然后將邏輯單元輸入到對應模型中,形成同樣的數(shù)據(jù)類型輸出;最終比較2個整型輸出信息,如果相等,則完成匹配。所謂位映射就是將離散數(shù)據(jù)信息按照邏輯順序依次定位到整型數(shù)據(jù)類型的計算機內(nèi)存存儲的某個位中(如果具備該離散屬性,則該位為1,否則為0),最終根據(jù)位映射信息計算成為某個整型數(shù)據(jù)。
在模型參數(shù)的逆向?qū)С鲞^程中,數(shù)據(jù)庫的存儲過程處理占據(jù)重要地位。數(shù)據(jù)解析過程中的中間數(shù)據(jù),也采用了表的方式進行存儲。如果存在多用戶并行操作的情況,容易導致導出數(shù)據(jù)間的沖突。針對這種情況,考慮使用2種方法解決并發(fā)問題:1)創(chuàng)建臨時表,每一次導出過程,創(chuàng)建一套針對本次導出的獨享控制權(quán)的表;2)對導出過程加鎖,當出現(xiàn)多用戶進行并行操作時,其他用戶會由于無法獲取到鎖,而無法進行后續(xù)操作。這2種方法都可以解決并行處理的數(shù)據(jù)沖突問題??紤]到逆向?qū)С龅氖褂萌藛T都是自動化人員,本身在工作中溝通交流的機會較多,而且逆向?qū)С龅氖褂妙l率也不會過高,如果采用第1種方法,會隨著時間的積累,引入大量的無用表,增加后續(xù)維護的工作量,所以本研究采用第2種加鎖的方式。
加鎖的實現(xiàn)是在管理表中增加一個鎖定的域,通過反轉(zhuǎn)方法設(shè)置是否加鎖。設(shè)置的過程又引入了數(shù)據(jù)庫的for update鎖,從而避免數(shù)據(jù)庫層面的并行風險。采用加鎖機制,實現(xiàn)了多用戶引起的并發(fā)操作影響,提高了導出信息的準確性和可靠性。
參數(shù)的逆向?qū)С鲞^程應該作為基礎(chǔ)模型數(shù)據(jù)全生命周期管理的一個環(huán)節(jié)。逆向?qū)С鍪且环N手段,而非最終目的。其重要作用包括對信息的導出、與導入前基礎(chǔ)參數(shù)模板的差異比較以及擴展應用功能。本項目實施后,有效改進了模型維護工作,并達到了如下效果:1)實現(xiàn)了原始模板數(shù)據(jù)的可逆性,保證了歸檔數(shù)據(jù)的準確性和一致性;2)利用原始模型數(shù)據(jù)的裝置信息實現(xiàn)了一二次設(shè)備量測的全景建模工作;3)利用逆向?qū)С龅脑紨?shù)據(jù)模板,保證了模型維護入口的唯一性,并可在后續(xù)的建模過程中完成批量修改變更信息;4)為后續(xù)的系統(tǒng)升級提供了標準完整的模型信息,從而保證了前期大量維護工作價值的延續(xù)。
通過本項目的實施,提高了珠海供電局對OCS系統(tǒng)基礎(chǔ)參數(shù)模型的維護水平,提高了維護效率。通過自動化工具的實現(xiàn),降低了系統(tǒng)對維護人員的經(jīng)驗水平要求,進一步規(guī)范了其工作的標準化進程。
本項目的實施具有重要的推廣價值。通過逆向工程獲取原始數(shù)據(jù)模板,并利用模板進行參數(shù)編輯維護,可高效實現(xiàn)對系統(tǒng)模型的編輯維護工作,通過源端維護實現(xiàn)模型的全生命周期管理。項目中使用的逆向解析方法,基本涵蓋了系統(tǒng)數(shù)據(jù)庫設(shè)計的所有技術(shù)方式,對系統(tǒng)的逆向分析導出具有廣泛的指導意義。
進一步講,利用該源端維護機制,可以實現(xiàn)數(shù)據(jù)中心的全景建模和智能告警的基礎(chǔ)模型維護。在不改造原有運行系統(tǒng)的模型結(jié)構(gòu)基礎(chǔ)上,通過對原始數(shù)據(jù)的維護管理,實現(xiàn)了模型維護源頭的唯一性,為全景模型的自動建模工作提供了可能;同時可以利用該項目的原始數(shù)據(jù)模型,進行信息的互聯(lián)互通整合,為后續(xù)其他功能的擴展奠定基礎(chǔ)。
[1] 張慎明, 劉國定. IEC 61970標準系列簡介[J]. 電力系統(tǒng)自動化, 2002, 26(14):1-6.
[2] 翁芳芳, 林俐, 楊以涵. CIM模型與關(guān)系模型的一種映射方法的探討[J]. 現(xiàn)代電力, 2005, 22(4):20-24.
[3] 胡繼芳, 王寧. IEC 61970與新一代OCS數(shù)據(jù)庫管理系統(tǒng)[J]. 電力系統(tǒng)自動化, 2000, 24(24):38-40.
[4] 潘毅, 周京陽, 吳杏平, 等. 基于電力系統(tǒng)公共信息模型的互操作試驗[J]. 電網(wǎng)技術(shù), 2003, 27(10):25-28.
[5] 董越, 孫宏斌, 吳文傳, 等. EMS中公共信息模型導入/導出技術(shù)[J]. 電力系統(tǒng)自動化, 2002, 26(3):10-14.
[6] 袁一鳴, 張麟, 王承民, 等. 圖模一體化技術(shù)及其在電網(wǎng)規(guī)劃軟件系統(tǒng)中的應用[J]. 東北電力大學學報, 2009, 29(2):1-4.
[7] 黃縉華, 趙強. 基于開放標準的電力系統(tǒng)圖數(shù)模一體化研究[J]. 現(xiàn)代電力, 2008, 24(2):99-102.
[8] 王婷婷. 字符串模糊匹配算法的探討[J]. 現(xiàn)代計算機, 2012(1):12-15.
[9] 張樹壯, 吳志剛, 羅浩. 一種高效的正則表達式匹配方法[J]. 高技術(shù)通訊, 2014, 24(6):551-557.
[10] 姚振軍, 黃德根, 紀翔宇. 正則表達式在漢英對照中國文化術(shù)語抽取中應用[J]. 大連理工大學學報, 2010, 50(2):291-295.