亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2007-01-01 00:00:00周路明歐陽松
        計(jì)算技術(shù)與自動化 2007年4期

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

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

        中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A

        1 引言

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

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

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

        隨著現(xiàn)代信息技術(shù)的發(fā)展,基于子系統(tǒng)平等的系統(tǒng)集成方式和支持以Web瀏覽和數(shù)據(jù)庫為核心應(yīng)用的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é)構(gòu)的集散監(jiān)控,總體分為三層。最上層為監(jiān)控管理中心,負(fù)責(zé)整個系統(tǒng)協(xié)調(diào)運(yùn)行和綜合管理;中間監(jiān)控層及各子系統(tǒng),具有獨(dú)立運(yùn)行能力,實(shí)現(xiàn)各系統(tǒng)的監(jiān)測和控制;下層為現(xiàn)場設(shè)備層,包括各類傳感器、探測器、儀表和執(zhí)行機(jī)構(gòu)等。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        在多線程訪問同一個數(shù)據(jù)對象的情況下必須要考慮沖突的解決問題。本系統(tǒng)采用對數(shù)據(jù)加鎖的方式,即訪問數(shù)據(jù)必須先獲得鎖再進(jìn)行操作。該算法構(gòu)造一個和hash靜態(tài)桶數(shù)組一樣的一個BOOL型記錄鎖數(shù)組,訪問時通過點(diǎn)名經(jīng)過hash函數(shù)運(yùn)算得到一個key及對應(yīng)桶數(shù)組的位置。得到key后判斷鎖數(shù)組對應(yīng)位置的BOOL型變量是否為0(沒其他線程訪問),如果為0則改為1(這個操作過程須為原子操作),如果為1(其他線程正在操作數(shù)據(jù))則放棄剩余時間片,等到下個時間再判斷是否鎖已經(jīng)開了,循環(huán)一段時間如果還沒有開則放棄此次操作報(bào)警。經(jīng)過測試,拉鏈長度16229靜態(tài)桶,插入10000個隨機(jī)字符串,最大拉鏈長度為7,一個記錄鎖最多鎖住7個點(diǎn),函數(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表,并能很好地組織點(diǎn)名與內(nèi)存地址的映射關(guān)系,減少沖突問題的發(fā)生。

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

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

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

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

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

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

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

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

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

        4 結(jié)束語

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

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

        亚洲VA中文字幕欧美VA丝袜| 老色鬼在线精品视频| 日本最大色倩网站www| 国内少妇自拍区免费视频| 97精品国产手机| 久久成人免费电影| 在线看片免费人成视久网不卡| 国产熟女一区二区三区不卡| 精品免费久久久久久久| 99精品视频免费热播| 亚洲国产精品第一区二区三区| 国产日本精品一区二区| 久久免费看黄a级毛片| 国产美女在线精品免费观看| 亚洲成av人片无码不卡播放器| 久久婷婷夜色精品国产| 精品一区二区三区四区国产| 全球中文成人在线| 久久久久久久妓女精品免费影院 | 中文字幕亚洲区第一页| 国产午夜免费啪视频观看| 青青青爽在线视频观看| 风流少妇又紧又爽又丰满| 国产精彩视频| 国产精品午夜福利亚洲综合网| 久久精品国产免费观看三人同眠 | 亚洲精品国产成人AV| 日韩精品人妻少妇一区二区| 福利视频一区二区三区| 在线亚洲高清揄拍自拍一品区| 日韩人妻无码一区二区三区久久99 | 亚洲人成综合网站在线| 亚洲精品一区二区三区蜜臀| 亚洲一区在线观看中文字幕| 精品午夜福利无人区乱码一区 | 藏春阁福利视频| 无码AV大香线蕉伊人久久| 亚洲国产中文字幕一区| 国产一区二区波多野结衣| 国产aⅴ天堂亚洲国产av| 男人天堂亚洲一区二区|