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

智能建筑管理系統(tǒng)數(shù)據(jù)庫模塊的研究和設計

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

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

關鍵詞:子系統(tǒng)平等;智能建筑;實時數(shù)據(jù)庫;OPC;hash表

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

1 引言

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

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

整個BMS集成分為上層管理網(wǎng)和下層現(xiàn)場控制網(wǎng)兩個網(wǎng)絡層次。系統(tǒng)集成數(shù)據(jù)庫位于上層管理網(wǎng),各個子系統(tǒng)以平等的方式集成在現(xiàn)場控制網(wǎng)。各子系統(tǒng)的實時數(shù)據(jù)通過開放的工業(yè)標準接口(如OPC接口)轉換成統(tǒng)一的格式,存儲在系統(tǒng)集成數(shù)據(jù)庫中。系統(tǒng)集成管理網(wǎng)絡通過BMS系統(tǒng)核心調(diào)度程序?qū)Ω髯酉到y(tǒng)實現(xiàn)統(tǒng)一管理、監(jiān)控及信息交換。這種系統(tǒng)集成方法有利于設備制造商各種子系統(tǒng)之間的集成,可以降低開發(fā)成本和開發(fā)難度,有利于節(jié)省項目開發(fā)時間。

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

2 系統(tǒng)框架

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

3 數(shù)據(jù)庫模塊的研究與實現(xiàn)

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

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

3.1 實時數(shù)據(jù)分發(fā)服務器

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

數(shù)據(jù)分發(fā)服務器與客戶端之間的數(shù)據(jù)交互方式采用面向連接的TCP/IP流式套接字,通信雙方接收數(shù)據(jù)通過多次握手完成,保證了數(shù)據(jù)傳輸?shù)挠行浴?shù)據(jù)由操作功能信息碼和操作數(shù)據(jù)信息兩部分組成。接收方首先讀取操作功能信息碼,再根據(jù)操作功能信息碼確定下一步讀取操作中的數(shù)據(jù)類型和數(shù)據(jù)大小,以完成讀取操作數(shù)據(jù)信息,保證了數(shù)據(jù)傳輸?shù)陌踩浴2僮鞴δ苄畔⒋a的各字段值由交互雙方的操作類型決定。操作類型劃分為客戶端注冊、客戶端注銷、客戶端用戶登錄、客戶端用戶退出、信息點同步、分發(fā)狀態(tài)數(shù)據(jù)和接收控制指令。操作數(shù)據(jù)信息的數(shù)據(jù)包結構如圖3所示:

實時數(shù)據(jù)分發(fā)服務器采用事件驅(qū)動機制傳輸數(shù)據(jù),服務器把更新的數(shù)據(jù)主動提供給客戶端,以保證數(shù)據(jù)傳輸?shù)膶崟r性。

3.2 實時數(shù)據(jù)庫

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

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

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

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

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

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

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

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

3.3 實時數(shù)據(jù)庫與OPC的通信

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

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

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

2)Web界面發(fā)生控制事件或觸發(fā)聯(lián)動腳本執(zhí)行,實時數(shù)據(jù)庫執(zhí)行OPC Client提供的接口函數(shù)寫OPC Server;

3)OPC Server數(shù)據(jù)發(fā)生變化時,系統(tǒng)調(diào)用COM接口里面的回調(diào)函數(shù)OnDataChange(),通過實時數(shù)據(jù)庫提供的接口,把更新的數(shù)據(jù)寫入實時數(shù)據(jù)庫。

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

3.4 歷史數(shù)據(jù)庫

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

4 結束語

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

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

主站蜘蛛池模板: 国产欧美综合在线观看第七页| 国产麻豆精品久久一二三| 无码一区二区波多野结衣播放搜索| 天天综合天天综合| 亚洲成A人V欧美综合天堂| 一本无码在线观看| 91免费国产在线观看尤物| 天堂成人av| 国产99免费视频| 国产精品天干天干在线观看 | 人妻丰满熟妇啪啪| 国产成人精品高清不卡在线| 成人精品午夜福利在线播放| 四虎永久免费网站| 在线国产91| 欧美激情网址| 18禁不卡免费网站| 国产内射一区亚洲| 国产激情无码一区二区APP| 蜜桃臀无码内射一区二区三区| av手机版在线播放| 国产福利小视频高清在线观看| 中国国产A一级毛片| 亚洲成a人片在线观看88| 国产va在线观看免费| 亚洲欧美国产视频| 国产第四页| 亚洲人成成无码网WWW| 性喷潮久久久久久久久| 中文字幕中文字字幕码一二区| 真实国产精品vr专区| 中文字幕日韩视频欧美一区| 国产熟女一级毛片| 精品少妇人妻一区二区| 久久精品aⅴ无码中文字幕| 亚洲最大看欧美片网站地址| 婷婷开心中文字幕| 免费不卡视频| 国产一区二区三区日韩精品| 国产AV无码专区亚洲精品网站| 91人妻在线视频| 日韩第九页| 久久成人国产精品免费软件| 91亚洲视频下载| 国产一级二级三级毛片| 福利在线一区| 人人艹人人爽| 日本国产一区在线观看| 91久久大香线蕉| 国产欧美日韩91| 欧美一区二区人人喊爽| 国产精品手机在线观看你懂的| 区国产精品搜索视频| 亚洲欧美日韩中文字幕在线| 国产免费黄| 无码免费的亚洲视频| 91视频青青草| 免费一级毛片| 国产美女精品一区二区| 精品国产91爱| 成人一区在线| 欧美日韩资源| 性欧美精品xxxx| 国产va视频| a在线观看免费| 欧美日本二区| 久久婷婷国产综合尤物精品| 午夜性爽视频男人的天堂| 99在线观看免费视频| 日韩欧美高清视频| 亚洲天堂在线免费| 久久永久免费人妻精品| 日韩第一页在线| 亚洲精品无码抽插日韩| 视频国产精品丝袜第一页| 亚洲成人网在线观看| 婷婷色中文网| 小13箩利洗澡无码视频免费网站| 欧美五月婷婷| 青青青伊人色综合久久| 欧美性精品| 不卡的在线视频免费观看|