999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能建筑管理系統數據庫模塊的研究和設計

2007-01-01 00:00:00周路明歐陽松
計算技術與自動化 2007年4期

摘 要:隨著信息技術的飛速發展,真正意義上的智能建筑管理系統應當采用Web技術且具有很強的開放性和通用性。提出基于子系統平等方式的智能建筑管理系統,并對其數據庫模塊,包括實時數據庫、實時數據分發服務器、歷史數據庫、實時數據庫與OPC的通信幾個子模塊進行深入的研究和設計。實際應用表明,該系統的數據庫模塊設計合理、實時性高、安全穩定性好。

關鍵詞:子系統平等;智能建筑;實時數據庫;OPC;hash表

中圖分類號:TP311.13 文獻標識碼:A

1 引言

智能建筑管理系統(Intelligent Building Man-agement System)是信息時代和計算機技術應用的重要產物,其具體任務就是在物理上集成各子系統信息,集中監視各子系統、關鍵設備、關鍵監測點狀態,執行集中管理控制指令,向數據庫提供各子系統數據、圖像信息,實現各子系統間的聯動功能,并且協調優化各系統的運行,從而為建筑物提供安全、舒適、方便的生活條件和高效的工作環境,并保證其運行維護管理的經濟性和智能化。

現階段智能建筑管理系統集成模式…主要有:①基于硬結點方式的系統集成;②以串行通信方式進行的系統集成;③以樓宇自控系統BAS為平臺進行的系統集成;④采用開放式標準協議實現的系統集成;⑤基于子系統平等方式進行的系統集成。其中基于子系統平等方式進行的系統集成是目前公認最先進的集成方式,其核心思想是:

整個BMS集成分為上層管理網和下層現場控制網兩個網絡層次。系統集成數據庫位于上層管理網,各個子系統以平等的方式集成在現場控制網。各子系統的實時數據通過開放的工業標準接口(如OPC接口)轉換成統一的格式,存儲在系統集成數據庫中。系統集成管理網絡通過BMS系統核心調度程序對各子系統實現統一管理、監控及信息交換。這種系統集成方法有利于設備制造商各種子系統之間的集成,可以降低開發成本和開發難度,有利于節省項目開發時間。

隨著現代信息技術的發展,基于子系統平等的系統集成方式和支持以Web瀏覽和數據庫為核心應用的B/S(Browser/Server)監控模式的IBMS,已成為智能建筑系統集成的發展方向。

2 系統框架

本文研究的系統是在VC的背景下集成開發的,采用了基于子系統平等的集成方式。系統基本框架如圖1所示,整個系統采用分層分布式結構的集散監控,總體分為三層。最上層為監控管理中心,負責整個系統協調運行和綜合管理;中間監控層及各子系統,具有獨立運行能力,實現各系統的監測和控制;下層為現場設備層,包括各類傳感器、探測器、儀表和執行機構等。

3 數據庫模塊的研究與實現

在整個系統實現過程中,數據庫模塊為IBMS系統集成的關鍵,同時也是項目開發難點。數據庫模塊主要包括實時數據庫模塊、歷史數據庫模塊、實時數據分發服務器模塊以及實時數據庫與OPC客戶端的通信模塊。它為集成系統和下層子系統之間的數據通信提供高速通道,是智能建筑系統集成的核心。

數據庫模塊向上接受監控中心的控制指令,準確迅速地傳遞給各個子系統,達到控制設備運轉的目的;向下數據庫模塊從現場控制網獲取數據,對數據進行分析、處理,執行用戶定義的子系統聯動功能,保存歷史數據。數據庫模塊的層次結構如圖2所示。

3.1 實時數據分發服務器

實時數據分發服務器(RDDS)是實時數據庫與Web客戶端的數據通信接口。其功能是為瀏覽器端的頁面表現提供數據分發服務,接收并轉發客戶端(訪問、操作人員)下發的控制命令和事件記錄。這里我們設計了基于Sockett的實時數據分發服務器,提供客戶端與服務器之間的可靠無差錯的數據傳輸。

數據分發服務器與客戶端之間的數據交互方式采用面向連接的TCP/IP流式套接字,通信雙方接收數據通過多次握手完成,保證了數據傳輸的有效性。數據由操作功能信息碼和操作數據信息兩部分組成。接收方首先讀取操作功能信息碼,再根據操作功能信息碼確定下一步讀取操作中的數據類型和數據大小,以完成讀取操作數據信息,保證了數據傳輸的安全性。操作功能信息碼的各字段值由交互雙方的操作類型決定。操作類型劃分為客戶端注冊、客戶端注銷、客戶端用戶登錄、客戶端用戶退出、信息點同步、分發狀態數據和接收控制指令。操作數據信息的數據包結構如圖3所示:

實時數據分發服務器采用事件驅動機制傳輸數據,服務器把更新的數據主動提供給客戶端,以保證數據傳輸的實時性。

3.2 實時數據庫

實時數據庫是數據庫模塊的核心部分,在智能建筑集成系統中起著至關重要的作用。

本系統的實時數據庫基于對象方式進行設計,采用從上至下包容的方式:包含系統類對象、子系統類對象、設備類對象和點類對象。實時數據庫類對象的層次結構如圖4所示:

目前,在Windows環境的組態軟件中I/O接口驅動程序與系統實時數據庫之間的數據交換一般都是利用動態數據交換協議(DDE)來實現的。由于DDE為基于消息的協議標準,數據傳送過程需要處理多條消息,數據交換效率會受到影響。為了提高系統的實時性能,本文提出了利用動態鏈接庫(DLL)和全局共享內存技術來建立實時數據庫的設計思想,并通過給用戶提供一套接口標準——實時數據庫接口,來實現OPC Client及用戶程序和實時數據庫間的高速數據傳遞。實時數據庫接口由一組API函數組成,包括創建點、刪除點、設置點屬性、讀取點屬性等功能,OPC Client和各個用戶模塊可以直接訪問數據庫,使系統具有全面的開放型和二次開發功能。

如圖5,實時數據庫,OPC Client和分發服務器之間通過內存映射實現全局共享內存。OPCClient通過內存映射獲得實時數據庫點對象的指針,完成寫,讀,修改配置參數以及對數據的操作,包括添加、刪除對象。由于系統包含的點對象數量龐大,需要使用hash表來記錄點名與點對象的地址。本系統采用靜態分配桶(hash鏈表長度)結合拉鏈的方法構造hash鏈表。拉鏈即將所有關鍵字為同義詞的結點鏈接在同一個單鏈表中。hash表的結構如圖6所示,縱向的為靜態桶數據結構,橫向的為hash node節點數據。

以上的結構建立了點名與點內存地址的一個映射,這樣通過點名就可以查詢到點的內存地址,即點對象指針。本系統采用time33的hash算法,定義點名變量str,取hash初值為5381。核心代碼為:

hash+=(hash<<5)+(*str++);

用掩碼取結果的有效位,得到最終的hash值。

在多線程訪問同一個數據對象的情況下必須要考慮沖突的解決問題。本系統采用對數據加鎖的方式,即訪問數據必須先獲得鎖再進行操作。該算法構造一個和hash靜態桶數組一樣的一個BOOL型記錄鎖數組,訪問時通過點名經過hash函數運算得到一個key及對應桶數組的位置。得到key后判斷鎖數組對應位置的BOOL型變量是否為0(沒其他線程訪問),如果為0則改為1(這個操作過程須為原子操作),如果為1(其他線程正在操作數據)則放棄剩余時間片,等到下個時間再判斷是否鎖已經開了,循環一段時間如果還沒有開則放棄此次操作報警。經過測試,拉鏈長度16229靜態桶,插入10000個隨機字符串,最大拉鏈長度為7,一個記錄鎖最多鎖住7個點,函數調用總時間不超過1.4秒。算法分布為:kong:8739,elements=10000,good=5426,second=1683,three=322.four=53,five=6。輸出中的kong表示hash表的空桶數。elements表示hash表中一共存放了多少個元素,good表示“只有一個元素”的桶個數,sec-ond表示“有兩個元素”的桶個數,three表示“有三個元素”的桶個數,four表示“有四個元素”的桶個數,five表示“有五個元素”的桶個數,函數調用總時間表示hash函數總的執行時間。以上測試表明,該算法能以較快的速度建立hash表,并能很好地組織點名與內存地址的映射關系,減少沖突問題的發生。

3.3 實時數據庫與OPC的通信

OPC是OLE for Process Control的縮寫。顧名思義,OPC是一種利用微軟的COM/DCOM技術來達成自動化控制的協定。基于OPC技術的接口是一種有效的手段,能夠實現各異構子系統的無縫連接,從而快捷有效地把已有建筑子系統融合起來,組成智能建筑系統集成。

OPC協議采用Client/Server體系。應用程序作為OPC接口中的Client方,硬件驅動程序作為OPC接口中的Server方。OPC Client通過讀取配置文件,加載實時數據庫DLL并且打開內存映射文件獲得實時數據庫對象的指針。接著OPCClient遍歷實時數據庫各個子系統對象,創建相應線程并建立與各OPC Server的連接。OPC Client與實時數據庫間的通信如圖7所示,包括以下幾個步驟:

1)OPC Client初始化實時數據庫,由OPCClient提供初始化函數;

2)Web界面發生控制事件或觸發聯動腳本執行,實時數據庫執行OPC Client提供的接口函數寫OPC Server;

3)OPC Server數據發生變化時,系統調用COM接口里面的回調函數OnDataChange(),通過實時數據庫提供的接口,把更新的數據寫入實時數據庫。

當有大量的客戶和大量的數據進行交互的時候,采用這種異步通訊的方式可以避免客戶端數據請求的阻塞,最大限度地節省CPU和網絡資源,提高數據傳輸效率。

3.4 歷史數據庫

本系統使用SOL Server作為歷史數據庫的開發平臺。歷史數據庫用于記錄、保存和查詢各種報警和操作事件、設備運行數據及故障情況。系統采用時間片結合緩沖區鏈表的方法將實時數據庫里的數據寫入歷史數據庫。具體實現辦法是:緩沖區維護一個300條數據的鏈表,實時數據庫不斷將已更新的數據寫入緩存區。一旦緩存區滿或經過了一個時間片,系統就將緩存區里的數據追加到歷史數據庫里面。這樣做的好處是能防止斷電丟失緩存區里的數據且能提高數據的有效性和準確性。

4 結束語

本文提出了基于子系統平等的智能建筑管理系統,并對該系統的數據庫模塊,包括實時數據庫、實時數據分發服務器、歷史數據庫、實時數據庫與OPC的通信幾個子模塊進行了深入的研究和設計。基于流式套接字的分發服務器保證了數據傳輸的安全性、有效性和及時性;動態鏈接庫和全局共享內存技術的應用提高了系統的實時性;hash表在點名和點的內存地址之間建立了快速有效的映射關系;子系統平等方式集成的特點以及OPC技術的運用使得各個異構子系統之間的無縫集成成為可能,解決了系統集成的伸縮性問題。

目前該系統集成已在深圳某大廈得到了較好的應用。經測試,系統實時數據的傳輸時間≤1秒,控制命令的傳輸時間≤2秒,聯動控制命令傳輸時間≤2秒。事實證明該智能建筑管理系統的數據庫模塊設計合理,實時性高,安全穩定性好。

主站蜘蛛池模板: 玖玖精品视频在线观看| 六月婷婷精品视频在线观看| 高清无码手机在线观看| 久久精品视频亚洲| 试看120秒男女啪啪免费| 精品亚洲国产成人AV| 婷婷色在线视频| 国产亚洲高清视频| 亚洲视屏在线观看| 成人亚洲天堂| 午夜视频www| 动漫精品啪啪一区二区三区| AV无码无在线观看免费| 国产亚洲精品无码专| 三级视频中文字幕| 久久精品娱乐亚洲领先| 久久精品无码国产一区二区三区| 乱人伦中文视频在线观看免费| 91蜜芽尤物福利在线观看| 国产成人av大片在线播放| 久久精品国产精品青草app| Aⅴ无码专区在线观看| 国产激爽爽爽大片在线观看| 国产极品粉嫩小泬免费看| 黄片在线永久| 啪啪啪亚洲无码| 97国内精品久久久久不卡| 亚洲a免费| 黄色免费在线网址| 国产免费黄| 国产视频久久久久| 91区国产福利在线观看午夜| 亚洲第一香蕉视频| 99成人在线观看| 毛片网站观看| 国产精品嫩草影院av| 亚洲天堂首页| 国产va视频| 91无码视频在线观看| 亚洲色无码专线精品观看| 东京热av无码电影一区二区| 中文字幕永久在线看| 自拍欧美亚洲| 福利一区在线| 无码乱人伦一区二区亚洲一| 亚洲精品福利视频| 四虎精品黑人视频| 99热这里只有精品国产99| www.亚洲天堂| a级毛片网| 日韩精品毛片| 欧美午夜在线播放| 国产在线一区视频| 18禁影院亚洲专区| 中文字幕人成乱码熟女免费| 国产人免费人成免费视频| 欧美一区二区自偷自拍视频| 97国产在线观看| 中文成人在线视频| 国产资源免费观看| 亚洲一本大道在线| 国产夜色视频| 成人午夜精品一级毛片| 免费看a级毛片| 精品天海翼一区二区| 狠狠亚洲五月天| 午夜在线不卡| 亚洲va视频| 成人夜夜嗨| 91精品日韩人妻无码久久| 精品国产免费第一区二区三区日韩| 乱系列中文字幕在线视频| 精久久久久无码区中文字幕| 黄色网址免费在线| 97超碰精品成人国产| 国产日韩精品欧美一区喷| 五月婷婷丁香色| 亚洲天堂视频在线免费观看| 亚洲男人天堂2018| 国产成人一区免费观看| 欧美在线黄| 日本不卡在线播放|