熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 電網(wǎng)監(jiān)控系統(tǒng)中實(shí)時數(shù)據(jù)庫的快速檢索

電網(wǎng)監(jiān)控系統(tǒng)中實(shí)時數(shù)據(jù)庫的快速檢索

時間:2007-06-18 14:03:00來源:lijing

導(dǎo)語:?近年來,實(shí)時數(shù)據(jù)庫的研究已經(jīng)成為現(xiàn)代數(shù)據(jù)庫的重要研究方向之一,在數(shù)據(jù)庫的研究領(lǐng)域受到了極大的關(guān)注。
1 引言 近年來,實(shí)時數(shù)據(jù)庫的研究已經(jīng)成為現(xiàn)代數(shù)據(jù)庫的重要研究方向之一,在數(shù)據(jù)庫的研究領(lǐng)域受到了極大的關(guān)注。作為工控軟件的關(guān)鍵技術(shù)之一,實(shí)時數(shù)據(jù)庫在一些實(shí)時性要求較強(qiáng)的系統(tǒng)中發(fā)揮著十分重要的作用。實(shí)時數(shù)據(jù)庫適用于處理不斷更新且快速變化的數(shù)據(jù),以及具有時間限制的事務(wù)。例如在電網(wǎng)監(jiān)控系統(tǒng)中,常常需要在幾秒內(nèi)刷新幾千甚至上萬種實(shí)時量和狀態(tài)量,同時,為保持監(jiān)控畫面與現(xiàn)場狀態(tài)的一致性,還需要刷新相應(yīng)的監(jiān)控畫面。這就對實(shí)時數(shù)據(jù)庫的檢索效率提出了更高的要求。 2 影響檢索效率的因素 在實(shí)時數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的存取速度是影響檢索效率的主要瓶頸之一。在對計算機(jī)硬件的性能進(jìn)行分析后可以確定,硬盤的存取速度大致為100Mb/s,如果頻繁的進(jìn)行外存的存取操作,將會嚴(yán)重影響系統(tǒng)效率。其次是查找表的平均查找長度的影響,在大數(shù)據(jù)量的情況下,如果平均查找長度較大也會成為系統(tǒng)的瓶頸。同時由于數(shù)據(jù)處理的不可預(yù)知性,當(dāng)某個數(shù)據(jù)的處理過程不能在規(guī)定的時間內(nèi)完成時,還可能使實(shí)時數(shù)據(jù)庫中的數(shù)據(jù)失效或者遺漏一些重要的數(shù)據(jù)及事件,即會引起數(shù)據(jù)處理的滯后甚至沖突。 當(dāng)然,隨著微電子技術(shù)的發(fā)展,大容量內(nèi)存已經(jīng)不是設(shè)想而成為事實(shí)。通過擴(kuò)展內(nèi)存可以把所有需要實(shí)時存取的數(shù)據(jù)放在內(nèi)存中,而把實(shí)時數(shù)據(jù)庫中用于決策支持的歷史記錄,以及其他的一些派生數(shù)據(jù)(報警記錄、事故記錄等)存放在外存上的關(guān)系數(shù)據(jù)庫中,這在一定程度上可以緩解對速度的要求。但內(nèi)存不可能無限制擴(kuò)大,為此必須研究軟件上的方法。 3 基于向量的檢索 3.1 數(shù)據(jù)結(jié)構(gòu) 在電網(wǎng)監(jiān)控系統(tǒng)中實(shí)時數(shù)據(jù)庫需要保存從各個測控裝置采集上來的數(shù)據(jù),用于實(shí)時監(jiān)視和現(xiàn)場控制,并對監(jiān)控點(diǎn)的情況進(jìn)行報警和事故的判斷和分析。這些數(shù)據(jù)的存儲結(jié)構(gòu)對查找表的平均查找長度有重要的影響。 根據(jù)向量(vector)檢索效率比較高的特點(diǎn),本文采用了向量來組織這些數(shù)據(jù),所形成的實(shí)時數(shù)據(jù)庫的存儲結(jié)構(gòu)如圖1所示。其中,現(xiàn)場的每個監(jiān)控點(diǎn)是由廠站名稱、監(jiān)控點(diǎn)類型、和監(jiān)控點(diǎn)名稱唯一確定的,每個監(jiān)控點(diǎn)的狀態(tài)則通過多個參數(shù)來描述,這些參數(shù)通常是由現(xiàn)場值、報警標(biāo)志、報警上下限、報警死區(qū)、工作狀態(tài)和一些統(tǒng)計量等組成。
3.2算法的實(shí)現(xiàn) 為了減小平均查找長度,該實(shí)時數(shù)據(jù)庫的排序和檢索可以按照如下算法實(shí)現(xiàn): 1.廠站名稱的排序和檢索。根據(jù)廠站的數(shù)量一般都相對較少的特點(diǎn),構(gòu)造如下集合間的映射:map:{廠站名稱} {向量下標(biāo)}其中,廠站名稱為鍵,向量下標(biāo)為值,于是就可由廠站名稱直接得到該向量元素的下標(biāo),從而查找到該廠站。 2.監(jiān)控點(diǎn)類型和監(jiān)控點(diǎn)名稱的排序和檢索。針對監(jiān)控點(diǎn)類型和監(jiān)控點(diǎn)的名稱的數(shù)量相對都比較大的特點(diǎn),采用hash表對它們進(jìn)行排序。為了提高地址計算的效率,用直接定址法來構(gòu)造哈希函數(shù),采用鏈地址法來處理沖突。首先根據(jù)初始的數(shù)據(jù)確定哈希表的長度,一般情況下為了減少沖突,可以生成一個空向量使該向量的長度大于初始數(shù)據(jù)的長度,然后由給定的哈希函數(shù)和沖突處理函數(shù)把相應(yīng)的監(jiān)控點(diǎn)類型或監(jiān)控點(diǎn)的名稱映射到向量的各個元素中。如果該向量表已經(jīng)裝滿,只需要在該向量尾部中添加一個元素把新增的數(shù)據(jù)填充到該元素中,然后把該元素的下標(biāo)放到鏈地址表中。 3.監(jiān)控點(diǎn)參數(shù)的排序和檢索。電網(wǎng)監(jiān)控系統(tǒng)中每個監(jiān)控點(diǎn)對應(yīng)現(xiàn)場中的一個裝置,所以監(jiān)控點(diǎn)需要一些參數(shù)來反映該裝置的狀態(tài),一般情況下,監(jiān)控點(diǎn)的參數(shù)個數(shù)都不會太多。根據(jù)順序存儲和順序檢索在數(shù)據(jù)量比較少時,效率比較高的特點(diǎn),采取順序存儲和順序檢索的方法來實(shí)現(xiàn)。并且根據(jù)檢索頻率來動態(tài)調(diào)整參數(shù)的位置,使檢索頻率高的參數(shù)位于向量的前部,檢索頻率低的參數(shù)位于向量的后部。 4.多線程技術(shù)的引入 在電網(wǎng)監(jiān)控系統(tǒng)中,實(shí)時數(shù)據(jù)庫系統(tǒng)要實(shí)現(xiàn)現(xiàn)場的數(shù)據(jù)實(shí)時的更新,能夠根據(jù)現(xiàn)場的數(shù)據(jù)進(jìn)行安全監(jiān)視、現(xiàn)場模擬,對現(xiàn)場的數(shù)據(jù)根據(jù)用戶的設(shè)置的時間間隔進(jìn)行保存,發(fā)生事故的監(jiān)控點(diǎn)進(jìn)行事故追憶等。如果這些功能全部由一個線程來完成,會因資源沖突等問題而影響處理效率。為此,我們采用了圖2所示的多線程結(jié)構(gòu)。整個系統(tǒng)有通信線程、報警處理線程、寫歷史庫線程、寫磁盤線程、顯示監(jiān)控線程和主界面線程組成。 通信線程主要負(fù)責(zé)實(shí)時數(shù)據(jù)庫和現(xiàn)場的通信。現(xiàn)場的各個測控裝置把采集來的數(shù)據(jù)送到各個端口,通信線程實(shí)時的掃描各個端口,通過各種規(guī)約轉(zhuǎn)換把現(xiàn)場采集來的生數(shù)據(jù)轉(zhuǎn)換為系統(tǒng)或用戶能夠理解的熟數(shù)據(jù)送到實(shí)時數(shù)據(jù)庫中,必要時把生數(shù)據(jù)也一同送到實(shí)時數(shù)據(jù)庫中,同時接受顯示監(jiān)控線程傳來的各種控制和調(diào)節(jié)命令,并通過相應(yīng)的通信規(guī)約轉(zhuǎn)換為測控裝置能夠識別的數(shù)據(jù),送到底層裝置中去執(zhí)行。通信線程還負(fù)責(zé)把需要保存的現(xiàn)場生數(shù)據(jù)、通信模塊的系統(tǒng)信息和故障信息寫入一緩沖區(qū)隊(duì)列中,交由另一線程來處理。 報警處理線程主要負(fù)責(zé)數(shù)據(jù)庫的實(shí)時掃描、報警和事故的判斷和處理。該線程由通信線程觸發(fā),處理過程由圖3報警處理流程圖所示,當(dāng)有數(shù)據(jù)寫入實(shí)時數(shù)據(jù)庫時就觸發(fā)該線程。為了防止報警和事故事件的遺漏,用全局變量 NoProccessCount來記錄在一個實(shí)時數(shù)據(jù)庫的掃描周期中現(xiàn)場值已經(jīng)改變但未被處理的點(diǎn)數(shù),用來bNew標(biāo)志該點(diǎn)的現(xiàn)場值在該掃描周期中是否被改變。當(dāng)通信線程寫實(shí)時數(shù)據(jù)庫時,置相應(yīng)點(diǎn)的bNew標(biāo)志為改變狀態(tài),并把 NoProccessCount增1。當(dāng)報警處理線程觸發(fā)后,首先在實(shí)時庫中查找到該點(diǎn),
使NoProccessCount減1,置bNew為未改變狀態(tài),進(jìn)行報警和事故判斷。如果發(fā)生報警或事故則進(jìn)行相應(yīng)的處理,并把報警信息或事故追憶值寫入相應(yīng)的緩沖區(qū)隊(duì)列中,由另一線程來處理。然后判斷NoProccessCount是否為0。如果為0表示實(shí)時數(shù)據(jù)庫中沒有要處理的點(diǎn),該線程等待直到下一次被觸發(fā)。否則掃描下一個監(jiān)控點(diǎn),判斷該點(diǎn)的bNew是否處于改變狀態(tài)。若是,使bNew設(shè)為未改變狀態(tài),NoProccessCount減1,進(jìn)行報警和事故判斷。如果發(fā)生報警和事故進(jìn)行相應(yīng)的處理,然后判斷NoProccessCount的值。循環(huán)執(zhí)行以上步驟,直到被結(jié)束事件觸發(fā),該線程結(jié)束。 寫歷史庫線程主要負(fù)責(zé)把實(shí)時數(shù)據(jù)庫中的數(shù)據(jù)定時地保存到外存數(shù)據(jù)庫中。在電網(wǎng)監(jiān)控系統(tǒng)中,允許用戶自定義歷史庫數(shù)據(jù),即用戶可以定義要保存的狀態(tài)變化量和測量值以及保存的時間間隔。在實(shí)現(xiàn)時為提高效率,我們將所有需要保存歷史數(shù)據(jù)的監(jiān)控點(diǎn)信息構(gòu)成一個鏈表,在該鏈表中歷史庫接點(diǎn)的結(jié)構(gòu)為: struct HistoryNode{ string stationName; string typeName; string pointName; time_t startTime; double intervalTime; struct HistoryNode *next; } ; 其中:stationName為該點(diǎn)的廠站名稱,typeName 為該點(diǎn)的類型,pointName為該點(diǎn)的名稱,startTime為上一次存入歷史庫的時間,intervalTime為寫入歷史庫的時間間隔。寫歷史庫線程實(shí)時對鏈表進(jìn)行掃描,方法是:對鏈表中的每一個點(diǎn),首先取系統(tǒng)時間與startTime比較,如果系統(tǒng)時間和startTime之差大于intervalTime,說明該點(diǎn)的寫歷史庫周期已到,這時由stationName、typeName、pointName構(gòu)成索引在檢索實(shí)時數(shù)據(jù)庫,得到該點(diǎn)的值,并將其寫入相應(yīng)緩沖區(qū)隊(duì)列中,然后由寫磁盤線程寫入外存數(shù)據(jù)庫,否則掃描下一個節(jié)點(diǎn)。 顯示監(jiān)控線程主要負(fù)責(zé)現(xiàn)場實(shí)時模擬和現(xiàn)場控制。現(xiàn)場中的每個點(diǎn)在模擬畫面中都有相應(yīng)的映像,該線程定時掃描畫面中每個映像點(diǎn),根據(jù)映像點(diǎn)的廠站名稱、監(jiān)控點(diǎn)類型、監(jiān)控點(diǎn)名稱查找實(shí)時數(shù)據(jù)庫,得到該模擬點(diǎn)的值,并根據(jù)該值來改變畫面上模擬點(diǎn)的狀態(tài)或顯示該值。 主界面線程主要負(fù)責(zé)用戶的在線設(shè)置工作。該線程把用戶自定義的一些信息如歷史庫數(shù)據(jù)定義、報警允許定義、報警上下限定義等寫入實(shí)時數(shù)據(jù)庫中。同時還負(fù)責(zé)各種線程的管理工作。
寫磁盤線程主要負(fù)責(zé)把緩沖區(qū)隊(duì)列中的數(shù)據(jù)寫入外存,對于緩沖區(qū)隊(duì)列的讀寫引入了生產(chǎn)者—消費(fèi)者模型,參見圖4。在該模型中分別有一個生產(chǎn)者(RP)和一個消費(fèi)者(WP)兩個緩存池,其中通信進(jìn)程、報警處理線程、寫歷史庫線程為生產(chǎn)者,寫磁盤線程為消費(fèi)者,同一時刻對同一個緩存池的生產(chǎn)者和消費(fèi)者要互斥地訪問。開始時,由生產(chǎn)者即通信進(jìn)程、報警處理線程、寫歷史庫線程其中之一,負(fù)責(zé)先將兩個緩存池都充滿,當(dāng)兩個緩存池都寫滿后,如果系統(tǒng)中還有新產(chǎn)生的數(shù)據(jù),則擴(kuò)大第二個緩沖池。然后把第一個緩沖池交給寫磁盤線程,并通知它可以讀取數(shù)據(jù)了,這是寫磁盤線程開始把第一個緩沖池的數(shù)據(jù)寫入外存中。當(dāng)寫磁盤線程讀完一個緩存池后,把該緩沖池交給生產(chǎn)者線程,并通知生產(chǎn)者線程,該緩存池已空可以繼續(xù)接收數(shù)據(jù)了,然后,等待第二個緩沖池可讀時把該緩沖池中的數(shù)據(jù)寫入外存。這樣輪流的進(jìn)行讀寫,使得通信進(jìn)程、報警處理線程、寫歷史庫線程對數(shù)據(jù)的操作都是在內(nèi)存中進(jìn)行,可以大大提高處理的效率。
整個系統(tǒng)通過各個線程之間的相互協(xié)調(diào)來工作,各線程之間利用事件來觸發(fā),可以避免因循環(huán)檢測而浪費(fèi)系統(tǒng)效率。 4.結(jié)束語 與現(xiàn)存的實(shí)時數(shù)據(jù)庫的檢索方法相比,本文提出的兩種方法在減小表的平均查找長度和提高數(shù)據(jù)處理的速度方面取得了較好的效果。例如在文獻(xiàn)【15】和【16】中實(shí)時數(shù)據(jù)庫的存儲形式采用的是B-樹結(jié)構(gòu)和順序結(jié)構(gòu)。假定實(shí)時數(shù)據(jù)庫中數(shù)據(jù)項(xiàng)的個數(shù)為n,平均查找長度ASL。采用順序查找的方ASL=(n+1)/2;B-樹結(jié)構(gòu)的平均查找長度 ,其中m為B-樹的階數(shù)。 而利用采用本文介紹的檢索方法時,在廠站名稱的檢索中,ASL=1;監(jiān)控點(diǎn)類型和監(jiān)控點(diǎn)的名稱的檢索中, ASL=1+α/2<=1.5(α<=1)。 在筆者開發(fā)的電網(wǎng)監(jiān)控系統(tǒng)中,我們綜合運(yùn)用了上述方法。經(jīng)測試該實(shí)時數(shù)據(jù)庫在IBM APTIVA (Pentium III 550,128M內(nèi)存,Windows 2000 Server)服務(wù)器上運(yùn)行,當(dāng)現(xiàn)場超過五千個監(jiān)控點(diǎn)現(xiàn)場,數(shù)據(jù)通過串口以9600比特率與實(shí)時數(shù)據(jù)庫進(jìn)行通信可達(dá)到的性能指標(biāo):與文獻(xiàn)【17】中三維力控的實(shí)時數(shù)據(jù)庫性能指標(biāo)相比較如表1所示。
參考文獻(xiàn) 1 王荃,金海東,李福中。工控組態(tài)軟件實(shí)時數(shù)據(jù)庫系統(tǒng)的設(shè)計與實(shí)現(xiàn) 計算機(jī)應(yīng)用 2000,1,6 2 劉云生, 易嵐,余利平。 一個實(shí)時數(shù)據(jù)模型。小型微型計算機(jī)系統(tǒng) 2000,5 3 湯子瀛,哲鳳屏,湯小丹。計算機(jī)操作系統(tǒng)。西安電子科技大學(xué)出版社 2001,8,1 4 嚴(yán)蔚敏,吳偉民。數(shù)據(jù)結(jié)構(gòu)。清華大學(xué)出版社1999,7 5 Stanley Lippman等著, 潘愛民譯。 C++ Primer 。中國電力出版社 2002,5 6 DLG107-92, 500kv變電站微機(jī)監(jiān)控系統(tǒng)設(shè)計技術(shù)規(guī)定,中國電力出版社,1992 7 DLG 5002-91,地區(qū)電網(wǎng)調(diào)度自動化設(shè)計技術(shù)規(guī)程,中國電力出版社,1991 8 DLG5002-92,電力系統(tǒng)調(diào)度自動化設(shè)計技術(shù)規(guī)程,中國電力出版社,1992 9 DL476-92 電力系統(tǒng)實(shí)時數(shù)據(jù)通信應(yīng)用層協(xié)議,中國電力出版社,1992 10 楊玲.。實(shí)時數(shù)據(jù)庫概述,冶金自動化, 1996 ,3 11 談竹奎。一種遠(yuǎn)動系統(tǒng)實(shí)時數(shù)據(jù)庫的構(gòu)成,電力自動化設(shè)備,2002,1 12 周步祥,余小文。實(shí)時數(shù)據(jù)庫管理軟件的集成策略,計算機(jī)工程,1995,3 13 J. R. Haritsa, and K. Ramamritham. Real-Time Databases in the New Millenium Real-Time Systems, 2000 14 A. Datta, S. Mukherjee, P. Konana, I. Viguier, A. Bajaj. “Multiclass Transaction Scheduling and Overload Management in Firm Real-Time Database Systems”, Information Systems, vol.21, no. 1, 1996, pp. 29-54. 15 Haritsa J. and S. Seshadri . “Real-Time Index Concurrency Control”, IEEE Transactions on Knowledge and Data Engineering, 2000. 16 陶志祥,黃衛(wèi)。實(shí)時數(shù)據(jù)庫技術(shù)在高速公路事件管理中的應(yīng)用, 土木工程學(xué)報 2001,3 17 賀鵬輝。 FIX軟件在電力系統(tǒng)中的應(yīng)用, 世界儀表與自動化 2002 18 馬國華。 監(jiān)控組態(tài)軟件及其應(yīng)用, 清華大學(xué)出版社 2001,8 作者簡介: 殷保坤(1975- )男 山東金鄉(xiāng)縣人,碩士,主要研究方向:實(shí)時監(jiān)控,多媒體傳輸。 牛連強(qiáng)(1965- )男 遼寧蓋縣人,教授,主要研究方向:科學(xué)計算可視華,計算機(jī)仿真。 張勝男(1968- )女 副教授,主要研究方向:數(shù)據(jù)庫理論。 王曉東(1979- )男 河南南陽人 碩士,主要研究方向:電力監(jiān)控系統(tǒng),數(shù)字水印。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于泓格I-8811嵌入式控制器...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.hysjfh.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號

主站蜘蛛池模板: 潢川县| 昂仁县| 昌平区| 新疆| 赣州市| 陈巴尔虎旗| 双牌县| 文水县| 察隅县| 博爱县| 靖江市| 左权县| 隆林| 土默特左旗| 靖宇县| 阜新市| 巴塘县| 石河子市| 子长县| 张北县| 宜宾市| 宿迁市| 阳信县| 淮滨县| 西畴县| 左权县| 长岭县| 凉城县| 花莲市| 蓬溪县| 开阳县| 隆昌县| 姜堰市| 德钦县| 宜兴市| 澄城县| 昌图县| 尤溪县| 镇安县| 托克托县| 临湘市|