劉繼飛 丁慧
摘要:為了有效地對建筑用能信息進(jìn)行監(jiān)控、分析和預(yù)警,以實現(xiàn)建筑的節(jié)能目標(biāo)。針對實際采集數(shù)據(jù)特點,確立了基于.Net框架、三層結(jié)構(gòu)模式,結(jié)合Ajax技術(shù)進(jìn)行系統(tǒng)實現(xiàn)的實施方案。設(shè)計并實現(xiàn)了基于.Net的建筑節(jié)能信息發(fā)布系統(tǒng),改善了建筑能源利用狀況信息發(fā)布和統(tǒng)計分析手段。
關(guān)鍵詞:建筑節(jié)能;三層模式;Ajax技術(shù);發(fā)布系統(tǒng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)06-0080-02
Design and Implementation of .NET-Based Building Energy-saving Information Distribution System
LIU Ji-fei, DING Hui
(School of Information & Control Engineering, Shenyang JianZhu University, Shenyang 110168, China)
Abstract: In order to supervise, analysize and warn the energy-using information of the building effectively, and achieve the building energy-saving arm. According to the actual sampling data feature, the .Net framework and the three-layer mode are chosen, combined with the Ajax technology accomplished the implementation plan. The .net-based energy-saving data distribution system is designed and implemented; it improves the condition of the information distributing and statistical analysis mean.
Key words: building energy-saving; three-layer model; Ajax technology; distribution system
近年來,我國在建筑節(jié)能領(lǐng)域取得了許多成績,盡管如此,建筑總能耗還在不斷攀升。世界能源組織2011年發(fā)布的全球能源展望報告指出,至2030年,我國建筑總能耗將達(dá)15.2億噸標(biāo)準(zhǔn)煤(TCE),要實現(xiàn)全世界節(jié)能減排總控目標(biāo),未來我國建筑能耗應(yīng)控制在11億TCE以內(nèi)[1]。
依靠建筑節(jié)能管理是實現(xiàn)節(jié)能減排目標(biāo)的有效措施,因此,本文在現(xiàn)有的建筑能耗數(shù)據(jù)采集的基礎(chǔ)上,從信息監(jiān)管視角設(shè)計建筑節(jié)能信息發(fā)布系統(tǒng),有效的對建筑用能信息進(jìn)行跟蹤、監(jiān)督、分析和預(yù)警,以實現(xiàn)建筑節(jié)能的目標(biāo)。
1 節(jié)能數(shù)據(jù)采集
建筑節(jié)能信息來源于計量水表、電表、太陽能光伏、傳感器等硬件設(shè)備采集的數(shù)據(jù)。具體采集內(nèi)容包括:電量、太陽能、水耗量、燃?xì)饬浚ㄌ烊粴饬炕蛎簹饬浚?、供熱耗熱量、空調(diào)冷量、中水水量、其他能源應(yīng)用量等。通過采集系統(tǒng)進(jìn)行上述數(shù)據(jù)的采集和處理后保存至數(shù)據(jù)庫或結(jié)構(gòu)化文件。
2 系統(tǒng)結(jié)構(gòu)設(shè)計
系統(tǒng)結(jié)構(gòu)(Software Architecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)系統(tǒng)各個方面的設(shè)計[2]。結(jié)構(gòu)是系統(tǒng)實現(xiàn)的藍(lán)圖,對象是直接構(gòu)成系統(tǒng)的組成部分(組件),各個組成部分按照目標(biāo)相關(guān)性構(gòu)成相應(yīng)的層次,各層之間的連接則明確和相對細(xì)致地描述組件之間的通訊。
2.1 體系結(jié)構(gòu)設(shè)計
底層的硬件采集到數(shù)據(jù)經(jīng)處理后形成不同形式的數(shù)據(jù)源,在此基礎(chǔ)上進(jìn)行信息發(fā)布。建筑節(jié)能信息發(fā)布系統(tǒng)采用基于.NET三層結(jié)構(gòu)的設(shè)計模式。系統(tǒng)總體架構(gòu)如圖1所示。
Microsoft.NET 框架(Framework)開源后,其工具和組件越來越多,同時智能性也在提高。豐富的面向?qū)ο蠼M件包使敏捷設(shè)計和實現(xiàn)成為可能,同時又讓系統(tǒng)遵守高內(nèi)聚低耦合原則,從而系統(tǒng)功能的維護(hù)、升級和擴(kuò)充變得容易。系統(tǒng)借鑒了MVC(Model模型-View視圖-Control控制)思想并在此基礎(chǔ)上擴(kuò)展,自底向上設(shè)計了數(shù)據(jù)服務(wù)層、中間層和用戶訪問層三個層次。層層之間有相關(guān)的數(shù)據(jù)雙向流動(如圖1中白色雙向箭頭所示)。
1)數(shù)據(jù)服務(wù)層包含各種需要發(fā)布的數(shù)據(jù)源,數(shù)據(jù)源類型有結(jié)構(gòu)化文件(Excel、XML、TXT等)、還有SQL Server和MySQL數(shù)據(jù)庫及其他,它們?yōu)樯蠈犹峁┰霞磾?shù)據(jù)。
2)中間層是系統(tǒng)架構(gòu)中核心部分,執(zhí)行服務(wù)器上的主要功能。以降低該層的復(fù)雜度,中間層又劃分了數(shù)據(jù)訪問層、模型層、業(yè)務(wù)邏輯層和表示邏輯層四個子層。
數(shù)據(jù)訪問子層通過ADO.NET/OLEDB技術(shù)與下面的數(shù)據(jù)服務(wù)層打交道,進(jìn)行數(shù)據(jù)存??;又通過.NET的反射技術(shù),產(chǎn)生模型層中的對象。模型子層是通用的類集,其對象實際上就是數(shù)據(jù)容器,用作中間各子層的采集、轉(zhuǎn)換、計算等各項處理的數(shù)據(jù)來源。模型子層和數(shù)據(jù)訪問子層有隔離作用,它們使系統(tǒng)的功能邏輯不直接依賴數(shù)據(jù)源,所以經(jīng)常變動的功能修改或數(shù)據(jù)修改只局限于本層,從而減少修改和維護(hù)工作量。數(shù)據(jù)訪問子層設(shè)計為開放的,通過Web.Config的配置,系統(tǒng)可以由當(dāng)前SQL Server數(shù)據(jù)庫轉(zhuǎn)換為MySQL、Oracle等數(shù)據(jù)存儲。
業(yè)務(wù)邏輯子層和表示邏輯子層用ASP.NET實現(xiàn),語言為C#。業(yè)務(wù)邏輯子層負(fù)責(zé)各種計算:包括信息組織、可視化處理、數(shù)學(xué)模型、查詢分析、能耗監(jiān)控預(yù)警、統(tǒng)計決策、系統(tǒng)設(shè)置等。表示邏輯子層把計算結(jié)果處理為Html界面元素和Javascript代碼集合,傳輸給瀏覽器。
3) 用戶訪問層是Web瀏覽器。用戶通過瀏覽器中呈現(xiàn)出的界面與系統(tǒng)交互,使用瀏覽器的好處訪問范圍大,不用安裝專門的客戶端程序,使用簡單方便。用戶訪問層頁面特效、Canvas圖像、SVG圖形、MsChart.Net圖表、WebStorage等緩存等頁面元素和功能采用Javascript腳本語言和XML為核心的Ajax技術(shù)實現(xiàn)。
系統(tǒng)總體結(jié)構(gòu)分為三層,中間層又劃分為四個子層。每層只與相鄰層進(jìn)行通信,不得跨層次調(diào)用。除模型子層外,其他層的實現(xiàn)都建立在下層的基礎(chǔ)上,下層為上層提供相應(yīng)服務(wù),各層要封裝自己的實現(xiàn),向上一層提供訪問接口。實踐證明,該體系結(jié)構(gòu)中各層高內(nèi)聚低耦合,具有很高的靈活性和可擴(kuò)充性。
3 系統(tǒng)實現(xiàn)
使用ASP.NET、C#和Javascipt,系統(tǒng)功能和界面的實現(xiàn)很簡單。頁面采用HTML