• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      狀態(tài)監(jiān)測系統(tǒng)中實時數(shù)據(jù)庫的研究

      2012-04-13 03:15:12林俊林敏胡華威
      電力工程技術 2012年3期
      關鍵詞:進程數(shù)據(jù)處理內(nèi)存

      林俊,林敏,胡華威

      (1.江蘇西電南自智能電力設備有限公司,江蘇南京211102;2.南京國電南自電網(wǎng)自動化有限公司,江蘇南京211100)

      在智能變電站中,狀態(tài)監(jiān)測的綜合監(jiān)測單元采用IEC61850標準與站端系統(tǒng)通信,站端監(jiān)測系統(tǒng)收集各單元匯總的監(jiān)測信息,將其存入監(jiān)測數(shù)據(jù)庫中,所有這些數(shù)據(jù)有些是連續(xù)變化的,有些是離散變化的,變化快慢各異,數(shù)據(jù)庫需要適應這些數(shù)據(jù)存儲的要求,并通過人機界面將處理過的數(shù)據(jù)集中顯示,供設備檢修人員使用;另一方面需要將數(shù)據(jù)對遠方集中監(jiān)測主站發(fā)布。一般的商用數(shù)據(jù)庫多是磁盤存儲,其數(shù)據(jù)需要按照一定的交換策略被調(diào)至內(nèi)存緩沖區(qū)后才能被存取,在執(zhí)行時受到磁盤I/O的束縛,事務的響應時間受等待延遲、查找延遲等限制,因此在系統(tǒng)中需設計實時數(shù)據(jù)庫,數(shù)據(jù)庫常駐內(nèi)存,消除了事務處理的I/O瓶頸問題,提高了系統(tǒng)的性能和吞吐量,滿足實時響應的要求[1]。

      1 實時數(shù)據(jù)庫的需求

      實時數(shù)據(jù)庫是指數(shù)據(jù)和事務都具有定時特性或確定的定時限制的數(shù)據(jù)庫系統(tǒng),其正確性不僅依賴于邏輯結果,而且依賴于邏輯結果產(chǎn)生的時間,即系統(tǒng)寧可接受在時間限度內(nèi)的不準確的數(shù)據(jù),也不接受超過時間限制的準確的數(shù)據(jù)。所以數(shù)據(jù)庫一方面要求很強的時效性,即必須在一定的時間內(nèi)完成數(shù)據(jù)的傳輸和預處理,另一方面要求很強的可靠性和吞吐性能,即使在流量很大時,也不能丟失數(shù)據(jù)。通常實時數(shù)據(jù)庫應滿足下列功能需求[2]:(1)實時數(shù)據(jù)處理的高速度和高精度,以保證整個系統(tǒng)的穩(wěn)定運行;(2)歷史數(shù)據(jù)存儲和壓縮,使系統(tǒng)能夠存儲足夠的信息,以備查詢、分析;(3)應用程序開發(fā)接口,保證系統(tǒng)的開發(fā)和可擴展性;(4)方便、直觀的圖形化組態(tài)工具,便于客戶的操作和監(jiān)視。

      2 實時數(shù)據(jù)庫的設計

      為保證實時數(shù)據(jù)庫的運行效率,該系統(tǒng)按地址直接訪問的方式建立實時數(shù)據(jù)庫,即通過共享內(nèi)存數(shù)據(jù)完成數(shù)據(jù)的存儲,這是最快的可用進程間通信(IPC)形式。在共享內(nèi)存中構建按地址指針直接訪問數(shù)據(jù)的實時數(shù)據(jù)庫,以滿足通信的實時性和可靠性的需求。另外實時數(shù)據(jù)庫需要將數(shù)據(jù)定時存入歷史數(shù)據(jù)庫中以備查詢和其他接口使用,歷史庫利用商業(yè)數(shù)據(jù)庫MySql通用、靈活等諸多優(yōu)點定義和保存所需數(shù)據(jù)[3]。因此實時數(shù)據(jù)處理進程中建立了兩級數(shù)據(jù)存儲機制:(1)內(nèi)存數(shù)據(jù)庫,保證查詢的實時、快速性,但是數(shù)據(jù)量有限;(2)使用磁盤的歷史數(shù)據(jù)庫,將經(jīng)過壓縮的數(shù)據(jù)存入歷史數(shù)據(jù)庫中,保證數(shù)據(jù)掉電不丟失,且易于查詢和綜合分析。

      2.1 數(shù)據(jù)庫構建過程

      由于采用IEC61850標準通信,為適應數(shù)據(jù)結構,內(nèi)存數(shù)據(jù)庫采用面向?qū)ο蟮姆绞綐嬙?,根?jù)IEC61850提供的變電站配置描述語言SCL形成的XML格式的模型文件,為每個XML元素創(chuàng)建對應的對象,由于模型文件采用樹狀結構編排,因此所有解析后的對象也形成樹形結構,所有數(shù)據(jù)都保存在樹的節(jié)點中,所有的訪問均是針對該樹狀結構[4]。該內(nèi)存數(shù)據(jù)庫采用多叉樹的方式構建,首先,分析模型文件,得到第1個元素及其子元素,并為該元素及其子元素分別創(chuàng)建對象p和q1,……,qn,其中,n是子元素的個數(shù);其次,構建多叉樹,分別將q1,……,qn設置為p的孩子;最后,對于已將創(chuàng)建對象的元素,記其對象為p,分析模型文件,得到該元素的子元素,并為其創(chuàng)建對象,不妨仍記為q1,……,qn,重復第二步,直到文檔中所有的元素都創(chuàng)建了對應的對象,構造結束[5]。構造出的多叉樹結構如圖1所示。

      2.2 數(shù)據(jù)存儲過程

      系統(tǒng)初始化時,實時數(shù)據(jù)處理進程將根據(jù)IEC61850的模型文件構建內(nèi)存數(shù)據(jù)庫,同時將數(shù)據(jù)結構信息通知數(shù)據(jù)緩存模塊,緩存模塊為實時數(shù)據(jù)庫模塊和歷史數(shù)據(jù)模塊,分別開辟數(shù)據(jù)緩存池,通過通信接口接收各數(shù)據(jù)點的信息,并將信息同時填入對應的數(shù)據(jù)緩存結構中。實時數(shù)據(jù)緩存池根據(jù)共享內(nèi)存數(shù)據(jù)庫提供的操作指針,直接將數(shù)據(jù)放入內(nèi)存庫中,提供給在線運行模塊使用;歷史數(shù)據(jù)緩存池接收數(shù)據(jù)后首先經(jīng)壓縮模塊,產(chǎn)生實時數(shù)據(jù)送往歷史數(shù)據(jù)處理模塊做二次緩存,待緩存數(shù)據(jù)窗填滿或到達自動轉(zhuǎn)存時間后發(fā)送至歷史數(shù)據(jù)庫。整個實時數(shù)據(jù)系統(tǒng)的數(shù)據(jù)存儲過程如下圖2所示。

      圖1 多叉樹結構

      圖2 數(shù)據(jù)存儲過程

      在系統(tǒng)運行時,同時要進行數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)讀寫和查詢、事件報警、歷史數(shù)據(jù)存盤等操作,因此需建立并發(fā)控制機制,以滿足實時性要求[6]。

      3 實時數(shù)據(jù)庫的實現(xiàn)

      3.1 建立內(nèi)存數(shù)據(jù)庫

      系統(tǒng)定義了多叉樹節(jié)點的數(shù)據(jù)結構:

      每種類型的節(jié)點都單獨定義了數(shù)據(jù)結構,如M_Object為數(shù)據(jù)對象節(jié)點等,在每個節(jié)點實例中都分配了一個ID號,作為該類型數(shù)據(jù)節(jié)點數(shù)組的下標,ID號根據(jù)哈希算法獲得,是每個節(jié)點的唯一標示,理想的哈希表采用特定的哈希函數(shù)能夠在記錄的存儲位置與其關鍵值之間建立確定的對應關系,使每個關鍵字和結構中唯一的存儲位置相對應,因此通過這個ID可以不需要比較便直接取得查找的數(shù)據(jù),使用該ID建立起來的索引能夠提高數(shù)據(jù)庫的訪問速度。

      由于內(nèi)存庫采用面向?qū)ο蟮乃枷霕嫿?,每種類型節(jié)點都是一張獨立的表,表間的關聯(lián)關系采用父、子指針的方式創(chuàng)建,而非關系型數(shù)據(jù)庫的外鍵關聯(lián)。

      3.2 定義數(shù)據(jù)庫接口

      在實時數(shù)據(jù)處理進程中提供一組接口函數(shù)實現(xiàn)對實時數(shù)據(jù)庫的讀寫、查詢和管理等工作。常用接口如表1所示。除了定義常用的讀取、查詢等操作接口外,數(shù)據(jù)庫提供高效的消息通知機制,以便快速將數(shù)據(jù)變化發(fā)布給系統(tǒng)各進程使用。需要消息通知的進程,如告警信息進程,將感興趣的數(shù)據(jù)點在實時數(shù)據(jù)庫中進行注冊,并給出通知的觸發(fā)選項,如“數(shù)據(jù)變化”、“品質(zhì)變化”等,被注冊過的數(shù)據(jù)點,當發(fā)生上述改變時,即刻調(diào)用通知接口,將信息發(fā)送給需要的各進程,這些接口均由數(shù)據(jù)處理模塊完成[7]。

      3.3 歷史數(shù)據(jù)處理方式

      歷史數(shù)據(jù)處理時首先需要經(jīng)過數(shù)據(jù)壓縮,對于開關類型數(shù)據(jù)采用變化保存的方式壓縮,壓縮模塊在處理開關量時將其與歷史數(shù)據(jù)處理模塊中緩存的最后一個點數(shù)據(jù)進行比較,若相同則不保存狀態(tài),只更新最后一點收到的時間,若不同則產(chǎn)生一條新的緩存數(shù)據(jù)。對于模擬量數(shù)據(jù)采用旋轉(zhuǎn)門壓縮算法,首先在數(shù)據(jù)庫中為每個數(shù)據(jù)點設置默認的壓縮因子,將收到的數(shù)據(jù)點與緩存數(shù)據(jù)中前一個被保留的構成壓縮偏移覆蓋區(qū)域,若區(qū)域中沒有任何點落在區(qū)域以外,則無需保存任何數(shù)據(jù),若區(qū)域中有任何一點未被覆蓋,則將新收到的數(shù)據(jù)點的前一點保存入緩存,之后以該保存點為起點,繼續(xù)接收數(shù)據(jù),并重復該算法。所謂的壓縮覆蓋區(qū)域?qū)嶋H上是平行四邊形,起點為前一個被保存的點,終點是新收到的數(shù)據(jù)點,其垂直邊長為壓縮因子的2倍,并以數(shù)據(jù)點為中點;使用壓縮算法可以大幅減少數(shù)據(jù)存儲量,保證歷史數(shù)據(jù)庫能夠長期運行[8]。

      歷史數(shù)據(jù)寫入采用2級寫入控制,即(1)歷史數(shù)據(jù)模塊中為每種數(shù)據(jù)類型開辟兩個緩存窗口,當一個窗口填滿時,自動將窗口數(shù)據(jù)一次性寫入歷史庫,同時清空該窗口,新收到的數(shù)據(jù)填入另一緩存窗口中;(2)歷史數(shù)據(jù)庫根據(jù)系統(tǒng)設置,定時交替讀取2個緩存窗口,同時清空被讀取的窗口,新收到的數(shù)據(jù)填入另一緩存窗口中。通過該方法可以減少磁盤的讀寫次數(shù),加快寫入效率。

      表1 數(shù)據(jù)庫接口

      3.4 數(shù)據(jù)并發(fā)控制

      針對數(shù)據(jù)并發(fā)控制,實時數(shù)據(jù)庫提供了數(shù)據(jù)對象加/解鎖機制,具有操作權限的進程在使用數(shù)據(jù)庫時首先執(zhí)行LOCK操作鎖定指定的對象,從而獨占該資源,并在完成后執(zhí)行UNLOCK操作解鎖,釋放對應的資源。如果該操作進程退出或出現(xiàn)異常,未能按指定時間解鎖資源,則實時庫將自動釋放該資源,以避免數(shù)據(jù)死鎖,保證系統(tǒng)的穩(wěn)定性。

      4 結束語

      文中分析了狀態(tài)監(jiān)測系統(tǒng)中實時數(shù)據(jù)庫的需求,根據(jù)IEC61850標準要求構建了實時內(nèi)存數(shù)據(jù)庫,并設計了數(shù)據(jù)庫的操作模塊,給出了數(shù)據(jù)庫各功能模塊的實現(xiàn)方式。通過該方法開發(fā)的數(shù)據(jù)庫已用于監(jiān)測系統(tǒng)軟件中,提高了系統(tǒng)的實時性和可靠性,能夠適應智能變電站應用的需求。

      [1] 傅蕾,胡敏強.變電站監(jiān)控軟件系統(tǒng)中內(nèi)存數(shù)據(jù)庫的研究[J].電力自動化設備,2002,22(10):67-70.

      [2] 周釗.基于實時數(shù)據(jù)庫的歷史數(shù)據(jù)處理技術研究[D].北京:華北電力大學,2008.

      [3] 談蘇偉.電網(wǎng)調(diào)度自動化前置子系統(tǒng)實時數(shù)據(jù)庫的設計和實現(xiàn)[J].電力自動化設備,2009,29(7):130-133.

      [4] 董越,孫宏斌,吳文傳,等.EMS中公共信息模型導入/導出技術[J].電力系統(tǒng)自動化,2002,26(3):10-14.

      [5] 黃建才.基于IEC61850的內(nèi)存數(shù)據(jù)庫的組織[J].福建電腦,2007(6):101-102.

      [6] 劉浩,萬昆.基于動態(tài)鏈接庫DLL的實時數(shù)據(jù)庫系統(tǒng)研究與開發(fā)[J].東北電力學院學報,2005,25(1):36-39.

      [7] 金舒,戴宏斌,賈志敏.面向?qū)ο蟮母咝阅軐崟r數(shù)據(jù)庫ChRDB[J].電力自動化設備,2009,29(12):88-93.

      [8] 陸會明,周釗,廖常斌.基于實時數(shù)據(jù)庫系統(tǒng)的歷史數(shù)據(jù)處理[J].電力自動化設備,2009,29(3):127-131.

      猜你喜歡
      進程數(shù)據(jù)處理內(nèi)存
      認知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補與極大似然估計法*
      心理學報(2022年4期)2022-04-12 07:38:02
      ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
      水泵技術(2021年3期)2021-08-14 02:09:20
      債券市場對外開放的進程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      “春夏秋冬”的內(nèi)存
      當代陜西(2019年13期)2019-08-20 03:54:22
      基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應用
      社會進程中的新聞學探尋
      民主與科學(2014年3期)2014-02-28 11:23:03
      基于內(nèi)存的地理信息訪問技術
      我國高等教育改革進程與反思
      Linux僵死進程的產(chǎn)生與避免
      基于POS AV610與PPP的車輛導航數(shù)據(jù)處理
      云安县| 乾安县| 两当县| 顺昌县| 北流市| 新绛县| 凯里市| 中宁县| 报价| 陕西省| 和林格尔县| 偏关县| 临江市| 昌邑市| 曲松县| 都兰县| 淅川县| 曲沃县| 上栗县| 葵青区| 东乡族自治县| 安泽县| 郧西县| 长白| 东安县| 巴东县| 高邮市| 池州市| 邢台市| 墨脱县| 上饶市| 札达县| 南溪县| 化州市| 远安县| 增城市| 淮北市| 余姚市| 南雄市| 遂宁市| 华亭县|