1 引言
è¿‘å¹´ä¾†ï¼Œå¯¦æ™‚æ•¸æ“šåº«çš„ç ”ç©¶å·²ç¶“æˆç‚ºç¾ä»£æ•¸æ“šåº«çš„é‡è¦ç ”ç©¶æ–¹å‘ä¹‹ä¸€ï¼Œåœ¨æ•¸æ“šåº«çš„ç ”ç©¶é ˜åŸŸå—åˆ°äº†æ¥µå¤§çš„é—œæ³¨ã€‚ä½œç‚ºå·¥æŽ§è»Ÿä»¶çš„é—œéµæŠ€è¡“ä¹‹ä¸€ï¼Œå¯¦æ™‚æ•¸æ“šåº«åœ¨ä¸€äº›å¯¦æ™‚æ€§è¦æ±‚較強的系統ä¸ç™¼æ®è‘—å分é‡è¦çš„作用。實時數據庫é©ç”¨äºŽè™•ç†ä¸æ–·æ›´æ–°ä¸”快速變化的數據,以åŠå…·æœ‰æ™‚é–“é™åˆ¶çš„事務。例如在電網監控系統ä¸ï¼Œå¸¸å¸¸éœ€è¦åœ¨å¹¾ç§’內刷新幾åƒç”šè‡³ä¸Šè¬ç¨®å¯¦æ™‚é‡å’Œç‹€æ…‹é‡ï¼ŒåŒæ™‚ï¼Œç‚ºä¿æŒç›£æŽ§ç•«é¢èˆ‡ç¾å ´ç‹€æ…‹çš„一致性,還需è¦åˆ·æ–°ç›¸æ‡‰çš„監控畫é¢ã€‚這就å°å¯¦æ™‚數據庫的檢索效率æå‡ºäº†æ›´é«˜çš„è¦æ±‚。
2 å½±éŸ¿æª¢ç´¢æ•ˆçŽ‡çš„å› ç´
在實時數據庫系統ä¸ï¼Œæ•¸æ“šçš„å˜å–速度是影響檢索效率的主è¦ç“¶é ¸ä¹‹ä¸€ã€‚在å°è¨ˆç®—機硬件的性能進行分æžåŽå¯ä»¥ç¢ºå®šï¼Œç¡¬ç›¤çš„å˜å–速度大致為100Mb/sï¼Œå¦‚æžœé »ç¹çš„進行外å˜çš„å˜å–æ“作,將會嚴é‡å½±éŸ¿ç³»çµ±æ•ˆçŽ‡ã€‚å…¶æ¬¡æ˜¯æŸ¥æ‰¾è¡¨çš„å¹³å‡æŸ¥æ‰¾é•·åº¦çš„影響,在大數據é‡çš„æƒ…æ³ä¸‹ï¼Œå¦‚æžœå¹³å‡æŸ¥æ‰¾é•·åº¦è¼ƒå¤§ä¹Ÿæœƒæˆç‚ºç³»çµ±çš„ç“¶é ¸ã€‚åŒæ™‚由于數據處ç†çš„ä¸å¯é 知性,當æŸå€‹æ•¸æ“šçš„處ç†éŽç¨‹ä¸èƒ½åœ¨è¦å®šçš„æ™‚é–“å…§å®Œæˆæ™‚,還å¯èƒ½ä½¿å¯¦æ™‚數據庫ä¸çš„æ•¸æ“šå¤±æ•ˆæˆ–è€…éºæ¼ä¸€äº›é‡è¦çš„æ•¸æ“šåŠäº‹ä»¶ï¼Œå³æœƒå¼•起數據處ç†çš„æ»¯åŽç”šè‡³æ²–çªã€‚
ç•¶ç„¶ï¼Œéš¨è‘—å¾®é›»åæŠ€è¡“的發展,大容é‡å…§å˜å·²ç¶“䏿˜¯è¨æƒ³è€Œæˆç‚ºäº‹å¯¦ã€‚é€šéŽæ“´å±•å…§å˜å¯ä»¥æŠŠæ‰€æœ‰éœ€è¦å¯¦æ™‚å˜å–的數據放在內å˜ä¸ï¼Œè€ŒæŠŠå¯¦æ™‚數據庫ä¸ç”¨äºŽæ±ºç–支æŒçš„æ·å²è¨˜éŒ„,以åŠå…¶ä»–çš„ä¸€äº›æ´¾ç”Ÿæ•¸æ“šï¼ˆå ±è¦è¨˜éŒ„ã€äº‹æ•…記錄ç‰ï¼‰å˜æ”¾åœ¨å¤–å˜ä¸Šçš„關系數據庫ä¸ï¼Œé€™åœ¨ä¸€å®šç¨‹åº¦ä¸Šå¯ä»¥ç·©è§£å°é€Ÿåº¦çš„è¦æ±‚。但內å˜ä¸å¯èƒ½ç„¡é™åˆ¶æ“´å¤§ï¼Œç‚ºæ¤å¿…é ˆç ”ç©¶è»Ÿä»¶ä¸Šçš„æ–¹æ³•ã€‚
3 基于å‘é‡çš„æª¢ç´¢
3.1 æ•¸æ“šçµæ§‹
在電網監控系統ä¸å¯¦æ™‚數據庫需è¦ä¿å˜å¾žå„個測控è£ç½®é‡‡é›†ä¸Šä¾†çš„æ•¸æ“šï¼Œç”¨äºŽå¯¦æ™‚監視和ç¾å ´æŽ§åˆ¶ï¼Œå¹¶å°ç›£æŽ§é»žçš„æƒ…æ³é€²è¡Œå ±è¦å’Œäº‹æ•…的判斷和分æžã€‚這些數據的å˜å„²çµæ§‹å°æŸ¥æ‰¾è¡¨çš„平凿Ÿ¥æ‰¾é•·åº¦æœ‰é‡è¦çš„影響。
æ ¹æ“šå‘é‡ï¼ˆvector)檢索效率比較高的特點,本文采用了å‘é‡ä¾†çµ„織這些數據,所形æˆçš„實時數據庫的å˜å„²çµæ§‹å¦‚圖1所示。其ä¸ï¼Œç¾å ´çš„æ¯å€‹ç›£æŽ§é»žæ˜¯ç”±å» ç«™å稱ã€ç›£æŽ§é»žé¡žåž‹ã€å’Œç›£æŽ§é»žå稱唯一確定的,æ¯å€‹ç›£æŽ§é»žçš„狀態則通éŽå¤šå€‹åƒæ•¸ä¾†æè¿°ï¼Œé€™äº›åƒæ•¸é€šå¸¸æ˜¯ç”±ç¾å ´å€¼ã€å ±è¦æ¨™å¿—ã€å ±è¦ä¸Šä¸‹é™ã€å ±è¦æ»å€ã€å·¥ä½œç‹€æ…‹å’Œä¸€äº›çµ±è¨ˆé‡ç‰çµ„æˆã€‚

3.2算法的實ç¾
為了減å°å¹³å‡æŸ¥æ‰¾é•·åº¦,該實時數據庫的排åºå’Œæª¢ç´¢å¯ä»¥æŒ‰ç…§å¦‚下算法實ç¾ï¼š
1ï¼Žå» ç«™å稱的排åºå’Œæª¢ç´¢ã€‚æ ¹æ“šå» ç«™çš„æ•¸é‡ä¸€èˆ¬éƒ½ç›¸å°è¼ƒå°‘çš„ç‰¹é»žï¼Œæ§‹é€ å¦‚ä¸‹é›†åˆé–“çš„æ˜ å°„ï¼šmapï¼šï½›å» ç«™åç¨±ï½ ï½›å‘é‡ä¸‹æ¨™ï½å…¶ä¸ï¼Œå» ç«™å稱為éµï¼Œå‘é‡ä¸‹æ¨™ç‚ºå€¼ï¼ŒäºŽæ˜¯å°±å¯ç”±å» ç«™å稱直接得到該å‘é‡å…ƒç´ çš„ä¸‹æ¨™ï¼Œå¾žè€ŒæŸ¥æ‰¾åˆ°è©²å» ç«™ã€‚
2.監控點類型和監控點å稱的排åºå’Œæª¢ç´¢ã€‚é‡å°ç›£æŽ§é»žé¡žåž‹å’Œç›£æŽ§é»žçš„å稱的數é‡ç›¸å°éƒ½æ¯”較大的特點,采用hash表å°å®ƒå€‘進行排åºã€‚為了æé«˜åœ°å€è¨ˆç®—çš„æ•ˆçŽ‡ï¼Œç”¨ç›´æŽ¥å®šå€æ³•ä¾†æ§‹é€ å“ˆå¸Œå‡½æ•¸ï¼Œé‡‡ç”¨éˆåœ°å€æ³•ä¾†è™•ç†æ²–çªã€‚é¦–å…ˆæ ¹æ“šåˆå§‹çš„æ•¸æ“šç¢ºå®šå“ˆå¸Œè¡¨çš„長度,一般情æ³ä¸‹ç‚ºäº†æ¸›å°‘æ²–çªï¼Œå¯ä»¥ç”Ÿæˆä¸€å€‹ç©ºå‘é‡ä½¿è©²å‘é‡çš„長度大于åˆå§‹æ•¸æ“šçš„長度,然åŽç”±çµ¦å®šçš„哈希函數和沖çªè™•ç†å‡½æ•¸æŠŠç›¸æ‡‰çš„監控點類型或監控點的åç¨±æ˜ å°„åˆ°å‘é‡çš„å„å€‹å…ƒç´ ä¸ã€‚如果該å‘é‡è¡¨å·²ç¶“è£æ»¿ï¼Œåªéœ€è¦åœ¨è©²å‘é‡å°¾éƒ¨ä¸æ·»åŠ ä¸€å€‹å…ƒç´ æŠŠæ–°å¢žçš„æ•¸æ“šå¡«å……åˆ°è©²å…ƒç´ ä¸ï¼Œç„¶åŽæŠŠè©²å…ƒç´ çš„ä¸‹æ¨™æ”¾åˆ°éˆåœ°å€è¡¨ä¸ã€‚
3ï¼Žç›£æŽ§é»žåƒæ•¸çš„æŽ’åºå’Œæª¢ç´¢ã€‚é›»ç¶²ç›£æŽ§ç³»çµ±ä¸æ¯å€‹ç›£æŽ§é»žå°æ‡‰ç¾å ´ä¸çš„一個è£ç½®ï¼Œæ‰€ä»¥ç›£æŽ§é»žéœ€è¦ä¸€äº›åƒæ•¸ä¾†åæ˜ è©²è£ç½®çš„狀態,一般情æ³ä¸‹ï¼Œç›£æŽ§é»žçš„åƒæ•¸å€‹æ•¸éƒ½ä¸æœƒå¤ªå¤šã€‚æ ¹æ“šé †åºå˜å„²å’Œé †åºæª¢ç´¢åœ¨æ•¸æ“šé‡æ¯”較少時,效率比較高的特點,采å–é †åºå˜å„²å’Œé †åºæª¢ç´¢çš„æ–¹æ³•來實ç¾ã€‚å¹¶ä¸”æ ¹æ“šæª¢ç´¢é »çŽ‡ä¾†å‹•æ…‹èª¿æ•´åƒæ•¸çš„ä½ç½®ï¼Œä½¿æª¢ç´¢é »çŽ‡é«˜çš„åƒæ•¸ä½äºŽå‘é‡çš„å‰éƒ¨ï¼Œæª¢ç´¢é »çŽ‡ä½Žçš„åƒæ•¸ä½äºŽå‘é‡çš„åŽéƒ¨ã€‚
4.多線程技術的引入
在電網監控系統ä¸ï¼Œå¯¦æ™‚數據庫系統è¦å¯¦ç¾ç¾å ´çš„æ•¸æ“šå¯¦æ™‚çš„æ›´æ–°ï¼Œèƒ½å¤ æ ¹æ“šç¾å ´çš„æ•¸æ“šé€²è¡Œå®‰å…¨ç›£è¦–ã€ç¾å ´æ¨¡æ“¬ï¼Œå°ç¾å ´çš„æ•¸æ“šæ ¹æ“šç”¨æˆ¶çš„è¨ç½®çš„æ™‚間間隔進行ä¿å˜ï¼Œç™¼ç”Ÿäº‹æ•…的監控點進行事故追憶ç‰ã€‚如果這些功能全部由一個線程來完æˆï¼Œæœƒå› è³‡æºæ²–çªç‰å•é¡Œè€Œå½±éŸ¿è™•ç†æ•ˆçŽ‡ã€‚ç‚ºæ¤ï¼Œæˆ‘們采用了圖2æ‰€ç¤ºçš„å¤šç·šç¨‹çµæ§‹ã€‚整個系統有通信線程ã€å ±è¦è™•ç†ç·šç¨‹ã€å¯«æ·å²åº«ç·šç¨‹ã€å¯«ç£ç›¤ç·šç¨‹ã€é¡¯ç¤ºç›£æŽ§ç·šç¨‹å’Œä¸»ç•Œé¢ç·šç¨‹çµ„æˆã€‚
通信線程主è¦è² 責實時數據庫和ç¾å ´çš„通信。ç¾å ´çš„å„個測控è£ç½®æŠŠé‡‡é›†ä¾†çš„æ•¸æ“šé€åˆ°å„個端å£ï¼Œé€šä¿¡ç·šç¨‹å¯¦æ™‚的掃æå„個端å£ï¼Œé€šéŽå„種è¦ç´„è½‰æ›æŠŠç¾å ´é‡‡é›†ä¾†çš„生數據轉æ›ç‚ºç³»çµ±æˆ–ç”¨æˆ¶èƒ½å¤ ç†è§£çš„熟數據é€åˆ°å¯¦æ™‚數據庫ä¸ï¼Œå¿…è¦æ™‚把生數據也一åŒé€åˆ°å¯¦æ™‚數據庫ä¸ï¼ŒåŒæ™‚接å—顯示監控線程傳來的å„種控制和調節命令,并通éŽç›¸æ‡‰çš„通信è¦ç´„轉æ›ç‚ºæ¸¬æŽ§è£ç½®èƒ½å¤ è˜åˆ¥çš„æ•¸æ“šï¼Œé€åˆ°åº•層è£ç½®ä¸åŽ»åŸ·è¡Œã€‚é€šä¿¡ç·šç¨‹é‚„è² è²¬æŠŠéœ€è¦ä¿å˜çš„ç¾å ´ç”Ÿæ•¸æ“šã€é€šä¿¡æ¨¡å¡Šçš„系統信æ¯å’Œæ•…障信æ¯å¯«å…¥ä¸€ç·©æ²–å€éšŠåˆ—ä¸ï¼Œäº¤ç”±å¦ä¸€ç·šç¨‹ä¾†è™•ç†ã€‚
å ±è¦è™•ç†ç·šç¨‹ä¸»è¦è² 責數據庫的實時掃æã€å ±è¦å’Œäº‹æ•…的判斷和處ç†ã€‚該線程由通信線程觸發,處ç†éŽç¨‹ç”±åœ–3å ±è¦è™•ç†æµç¨‹åœ–所示,當有數據寫入實時數據庫時就觸發該線程。為了防æ¢å ±è¦å’Œäº‹æ•…äº‹ä»¶çš„éºæ¼ï¼Œç”¨å…¨å±€è®Šé‡ NoProccessCount來記錄在一個實時數據庫的掃æå‘¨æœŸä¸ç¾å ´å€¼å·²ç¶“改變但未被處ç†çš„點數,用來bNew標志該點的ç¾å ´å€¼åœ¨è©²æŽƒæå‘¨æœŸä¸æ˜¯å¦è¢«æ”¹è®Šã€‚當通信線程寫實時數據庫時,置相應點的bNew標志為改變狀態,并把 NoProccessCount增1ã€‚ç•¶å ±è¦è™•ç†ç·šç¨‹è§¸ç™¼åŽï¼Œé¦–å…ˆåœ¨å¯¦æ™‚åº«ä¸æŸ¥æ‰¾åˆ°è©²é»žï¼Œ

使NoProccessCount減1,置bNewç‚ºæœªæ”¹è®Šç‹€æ…‹ï¼Œé€²è¡Œå ±è¦å’Œäº‹æ•…åˆ¤æ–·ã€‚å¦‚æžœç™¼ç”Ÿå ±è¦æˆ–事故則進行相應的處ç†ï¼Œå¹¶æŠŠå ±è¦ä¿¡æ¯æˆ–事故追憶值寫入相應的緩沖å€éšŠåˆ—ä¸ï¼Œç”±å¦ä¸€ç·šç¨‹ä¾†è™•ç†ã€‚ç„¶åŽåˆ¤æ–·NoProccessCount是å¦ç‚ºï¼ã€‚如果為ï¼è¡¨ç¤ºå¯¦æ™‚æ•¸æ“šåº«ä¸æ²’有è¦è™•ç†çš„點,該線程ç‰å¾…直到下一次被觸發。å¦å‰‡æŽƒæä¸‹ä¸€å€‹ç›£æŽ§é»žï¼Œåˆ¤æ–·è©²é»žçš„bNew是å¦è™•于改變狀態。若是,使bNewè¨ç‚ºæœªæ”¹è®Šç‹€æ…‹ï¼ŒNoProccessCount減1ï¼Œé€²è¡Œå ±è¦å’Œäº‹æ•…åˆ¤æ–·ã€‚å¦‚æžœç™¼ç”Ÿå ±è¦å’Œäº‹æ•…進行相應的處ç†ï¼Œç„¶åŽåˆ¤æ–·NoProccessCount的值。循環執行以上æ¥é©Ÿï¼Œç›´åˆ°è¢«çµæŸäº‹ä»¶è§¸ç™¼ï¼Œè©²ç·šç¨‹çµæŸã€‚
寫æ·å²åº«ç·šç¨‹ä¸»è¦è² 責把實時數據庫ä¸çš„æ•¸æ“šå®šæ™‚地ä¿å˜åˆ°å¤–å˜æ•¸æ“šåº«ä¸ã€‚在電網監控系統ä¸ï¼Œå…許用戶自定義æ·å²åº«æ•¸æ“šï¼Œå³ç”¨æˆ¶å¯ä»¥å®šç¾©è¦ä¿å˜çš„狀態變化é‡å’Œæ¸¬é‡å€¼ä»¥åŠä¿å˜çš„æ™‚é–“é–“éš”ã€‚åœ¨å¯¦ç¾æ™‚為æé«˜æ•ˆçŽ‡ï¼Œæˆ‘å€‘å°‡æ‰€æœ‰éœ€è¦ä¿å˜æ·å²æ•¸æ“šçš„ç›£æŽ§é»žä¿¡æ¯æ§‹æˆä¸€å€‹éˆè¡¨ï¼Œåœ¨è©²éˆè¡¨ä¸æ·å²åº«æŽ¥é»žçš„çµæ§‹ç‚ºï¼š
struct HistoryNodeï½›
string stationName;
string typeName;
string pointName;
time_t startTime;
double intervalTime;
struct HistoryNode *next;
ï½ ;
å…¶ä¸ï¼šstationNameç‚ºè©²é»žçš„å» ç«™å稱,typeName 為該點的類型,pointName為該點的å稱,startTime為上一次å˜å…¥æ·å²åº«çš„æ™‚間,intervalTime為寫入æ·å²åº«çš„æ™‚間間隔。寫æ·å²åº«ç·šç¨‹å¯¦æ™‚å°éˆè¡¨é€²è¡ŒæŽƒæï¼Œæ–¹æ³•是:å°éˆè¡¨ä¸çš„æ¯ä¸€å€‹é»žï¼Œé¦–å…ˆå–系統時間與startTime比較,如果系統時間和startTime之差大于intervalTime,說明該點的寫æ·å²åº«å‘¨æœŸå·²åˆ°ï¼Œé€™æ™‚ç”±stationNameã€typeNameã€pointNameæ§‹æˆç´¢å¼•在檢索實時數據庫,得到該點的值,并將其寫入相應緩沖å€éšŠåˆ—ä¸ï¼Œç„¶åŽç”±å¯«ç£ç›¤ç·šç¨‹å¯«å…¥å¤–å˜æ•¸æ“šåº«ï¼Œå¦å‰‡æŽƒæä¸‹ä¸€å€‹ç¯€é»žã€‚
顯示監控線程主è¦è² 責ç¾å ´å¯¦æ™‚模擬和ç¾å ´æŽ§åˆ¶ã€‚ç¾å ´ä¸çš„æ¯å€‹é»žåœ¨æ¨¡æ“¬ç•«é¢ä¸éƒ½æœ‰ç›¸æ‡‰çš„æ˜ åƒï¼Œè©²ç·šç¨‹å®šæ™‚掃æç•«é¢ä¸æ¯å€‹æ˜ åƒé»žï¼Œæ ¹æ“šæ˜ åƒé»žçš„å» ç«™å稱ã€ç›£æŽ§é»žé¡žåž‹ã€ç›£æŽ§é»žåç¨±æŸ¥æ‰¾å¯¦æ™‚æ•¸æ“šåº«ï¼Œå¾—åˆ°è©²æ¨¡æ“¬é»žçš„å€¼ï¼Œå¹¶æ ¹æ“šè©²å€¼ä¾†æ”¹è®Šç•«é¢ä¸Šæ¨¡æ“¬é»žçš„狀態或顯示該值。
主界é¢ç·šç¨‹ä¸»è¦è² 責用戶的在線è¨ç½®å·¥ä½œã€‚該線程把用戶自定義的一些信æ¯å¦‚æ·å²åº«æ•¸æ“šå®šç¾©ã€å ±è¦å…許定義ã€å ±è¦ä¸Šä¸‹é™å®šç¾©ç‰å¯«å…¥å¯¦æ™‚數據庫ä¸ã€‚åŒæ™‚é‚„è² è²¬å„種線程的管ç†å·¥ä½œã€‚

寫ç£ç›¤ç·šç¨‹ä¸»è¦è² 責把緩沖å€éšŠåˆ—ä¸çš„æ•¸æ“šå¯«å…¥å¤–å˜ï¼Œå°äºŽç·©æ²–å€éšŠåˆ—的讀寫引入了生產者—消費者模型,åƒè¦‹åœ–4。在該模型ä¸åˆ†åˆ¥æœ‰ä¸€å€‹ç”Ÿç”¢è€…(RP)和一個消費者(WPï¼‰å…©å€‹ç·©å˜æ± ,其ä¸é€šä¿¡é€²ç¨‹ã€å ±è¦è™•ç†ç·šç¨‹ã€å¯«æ·å²åº«ç·šç¨‹ç‚ºç”Ÿç”¢è€…,寫ç£ç›¤ç·šç¨‹ç‚ºæ¶ˆè²»è€…,åŒä¸€æ™‚刻å°åŒä¸€å€‹ç·©å˜æ± 的生產者和消費者è¦äº’斥地訪å•。開始時,由生產者å³é€šä¿¡é€²ç¨‹ã€å ±è¦è™•ç†ç·šç¨‹ã€å¯«æ·å²åº«ç·šç¨‹å…¶ä¸ä¹‹ä¸€ï¼Œè² è²¬å…ˆå°‡å…©å€‹ç·©å˜æ± éƒ½å……æ»¿ï¼Œç•¶å…©å€‹ç·©å˜æ± 都寫滿åŽï¼Œå¦‚果系統ä¸é‚„æœ‰æ–°ç”¢ç”Ÿçš„æ•¸æ“šï¼Œå‰‡æ“´å¤§ç¬¬äºŒå€‹ç·©æ²–æ± ã€‚ç„¶åŽæŠŠç¬¬ä¸€å€‹ç·©æ²–æ± äº¤çµ¦å¯«ç£ç›¤ç·šç¨‹ï¼Œå¹¶é€šçŸ¥å®ƒå¯ä»¥è®€å–數據了,這是寫ç£ç›¤ç·šç¨‹é–‹å§‹æŠŠç¬¬ä¸€å€‹ç·©æ²–æ± çš„æ•¸æ“šå¯«å…¥å¤–å˜ä¸ã€‚當寫ç£ç›¤ç·šç¨‹è®€å®Œä¸€å€‹ç·©å˜æ± åŽï¼ŒæŠŠè©²ç·©æ²–æ± äº¤çµ¦ç”Ÿç”¢è€…ç·šç¨‹ï¼Œå¹¶é€šçŸ¥ç”Ÿç”¢è€…ç·šç¨‹ï¼Œè©²ç·©å˜æ± 已空å¯ä»¥ç¹¼çºŒæŽ¥æ”¶æ•¸æ“šäº†ï¼Œç„¶åŽï¼Œç‰å¾…ç¬¬äºŒå€‹ç·©æ²–æ± å¯è®€æ™‚æŠŠè©²ç·©æ²–æ± ä¸çš„æ•¸æ“šå¯«å…¥å¤–å˜ã€‚這樣輪æµçš„進行讀寫,使得通信進程ã€å ±è¦è™•ç†ç·šç¨‹ã€å¯«æ·å²åº«ç·šç¨‹å°æ•¸æ“šçš„æ“ä½œéƒ½æ˜¯åœ¨å…§å˜ä¸é€²è¡Œï¼Œå¯ä»¥å¤§å¤§æé«˜è™•ç†çš„æ•ˆçŽ‡ã€‚

整個系統通éŽå„個線程之間的相互å”調來工作,å„線程之間利用事件來觸發,å¯ä»¥é¿å…å› å¾ªç’°æª¢æ¸¬è€Œæµªè²»ç³»çµ±æ•ˆçŽ‡ã€‚
4ï¼ŽçµæŸèªž
與ç¾å˜çš„實時數據庫的檢索方法相比,本文æå‡ºçš„兩種方法在減å°è¡¨çš„平凿Ÿ¥æ‰¾é•·åº¦å’Œæé«˜æ•¸æ“šè™•ç†çš„速度方é¢å–得了較好的效果。例如在文ç»ã€15】和ã€16】ä¸å¯¦æ™‚數據庫的å˜å„²å½¢å¼é‡‡ç”¨çš„æ˜¯ï¼¢-æ¨¹çµæ§‹å’Œé †åºçµæ§‹ã€‚å‡å®šå¯¦æ™‚æ•¸æ“šåº«ä¸æ•¸æ“šé …的個數為nï¼Œå¹³å‡æŸ¥æ‰¾é•·åº¦ASLã€‚é‡‡ç”¨é †åºæŸ¥æ‰¾çš„æ–¹ASL=(n+1)/2ï¼›B-æ¨¹çµæ§‹çš„平凿Ÿ¥æ‰¾é•·åº¦ ,其ä¸m為B-樹的階數。
è€Œåˆ©ç”¨é‡‡ç”¨æœ¬æ–‡ä»‹ç´¹çš„æª¢ç´¢æ–¹æ³•æ™‚ï¼Œåœ¨å» ç«™å稱的檢索ä¸ï¼ŒASL=1;監控點類型和監控點的å稱的檢索ä¸ï¼Œ ASL=1+α/2<=1.5(α<=1)。
在ç†è€…開發的電網監控系統ä¸ï¼Œæˆ‘們綜åˆé‹ç”¨äº†ä¸Šè¿°æ–¹æ³•。經測試該實時數據庫在IBM APTIVA (Pentium III 550,128Må…§å˜ï¼ŒWindows 2000 Server)æœå‹™å™¨ä¸Šé‹è¡Œï¼Œç•¶ç¾å ´è¶…éŽäº”åƒå€‹ç›£æŽ§é»žç¾å ´ï¼Œæ•¸æ“šé€šéŽä¸²å£ä»¥9600比特率與實時數據庫進行通信å¯é”到的性能指標:與文ç»ã€17】ä¸ä¸‰ç¶åŠ›æŽ§çš„å¯¦æ™‚æ•¸æ“šåº«æ€§èƒ½æŒ‡æ¨™ç›¸æ¯”è¼ƒå¦‚è¡¨1所示。

åƒè€ƒæ–‡ç»
1 王èƒï¼Œé‡‘æµ·æ±ï¼ŒæŽç¦ä¸ã€‚工控組態軟件實時數據庫系統的è¨è¨ˆèˆ‡å¯¦ç¾ 計算機應用 2000,1,6
2 劉云生, 易åµï¼Œä½™åˆ©å¹³ã€‚ 一個實時數據模型。å°åž‹å¾®åž‹è¨ˆç®—機系統 2000,5
3 湯å瀛,哲鳳å±ï¼Œæ¹¯å°ä¸¹ã€‚計算機æ“作系統。西安電å科技大å¸å‡ºç‰ˆç¤¾ 2001,8,1
4 嚴蔚æ•,å³å‰æ°‘ã€‚æ•¸æ“šçµæ§‹ã€‚清è¯å¤§å¸å‡ºç‰ˆç¤¾1999,7
5 Stanley Lippmanç‰è‘—, 潘愛民è¯ã€‚ C++ Primer 。ä¸åœ‹é›»åŠ›å‡ºç‰ˆç¤¾ 2002,5
6 DLG107-92, 500kv變電站微機監控系統è¨è¨ˆæŠ€è¡“è¦å®šï¼Œä¸åœ‹é›»åŠ›å‡ºç‰ˆç¤¾ï¼Œ1992
7 DLG 5002-91,地å€é›»ç¶²èª¿åº¦è‡ªå‹•化è¨è¨ˆæŠ€è¡“è¦ç¨‹ï¼Œä¸åœ‹é›»åŠ›å‡ºç‰ˆç¤¾ï¼Œ1991
8 DLG5002-92,電力系統調度自動化è¨è¨ˆæŠ€è¡“è¦ç¨‹ï¼Œä¸åœ‹é›»åŠ›å‡ºç‰ˆç¤¾ï¼Œ1992
9 DL476-92 電力系統實時數據通信應用層å”è°ï¼Œä¸åœ‹é›»åŠ›å‡ºç‰ˆç¤¾ï¼Œ1992
10 楊玲.。實時數據庫概述,冶金自動化, 1996 ,3
11 談竹奎。一種é 動系統實時數據庫的構æˆï¼Œé›»åŠ›è‡ªå‹•åŒ–è¨å‚™ï¼Œ2002,1
12 周æ¥ç¥¥ï¼Œä½™å°æ–‡ã€‚實時數據庫管ç†è»Ÿä»¶çš„集æˆç–略,計算機工程,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 陶志祥,黃衛。實時數據庫技術在高速公路事件管ç†ä¸çš„æ‡‰ç”¨, 土木工程å¸å ± 2001,3
17 賀鵬è¼ã€‚ FIX軟件在電力系統ä¸çš„æ‡‰ç”¨, 世界儀表與自動化 2002
18 馬國è¯ã€‚ 監控組態軟件åŠå…¶æ‡‰ç”¨, 清è¯å¤§å¸å‡ºç‰ˆç¤¾ 2001,8
作者簡介:
æ®·ä¿å¤ï¼ˆ1975- )男 å±±æ±é‡‘鄉縣人,碩士,主è¦ç ”ç©¶æ–¹å‘:實時監控,多媒體傳輸。
牛連強(1965- )男 é¼å¯§è“‹ç¸£äººï¼Œæ•™æŽˆï¼Œä¸»è¦ç ”ç©¶æ–¹å‘:科å¸è¨ˆç®—å¯è¦–è¯ï¼Œè¨ˆç®—機仿真。
å¼µå‹ç”·ï¼ˆ1968- )女 副教授,主è¦ç ”ç©¶æ–¹å‘:數據庫ç†è«–。
王曉æ±ï¼ˆ1979- )男 æ²³å—å—陽人 碩士,主è¦ç ”ç©¶æ–¹å‘ï¼šé›»åŠ›ç›£æŽ§ç³»çµ±ï¼Œæ•¸å—æ°´å°ã€‚