国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

可視化設(shè)備管理系統(tǒng)研究和設(shè)計

2013-12-19 02:17汪峰坤
宿州學(xué)院學(xué)報 2013年3期
關(guān)鍵詞:配置文件管理器插件

汪峰坤

安徽機電職業(yè)技術(shù)學(xué)院信息工程系,安徽蕪湖,241000

隨著校園信息化建設(shè)的發(fā)展, 數(shù)字化校園成為校園管理和發(fā)展的重要環(huán)節(jié)?!皵?shù)字化校園系統(tǒng)”是信息技術(shù)運用于教育改革過程所形成的研究成果之一。它以Internet 網(wǎng)絡(luò)技術(shù)為基礎(chǔ),利用先進的信息技術(shù)手段,實現(xiàn)教學(xué)、科研、管理和服務(wù)等資源的數(shù)字化,在物理校園的基礎(chǔ)上構(gòu)建一個信息化數(shù)字校園空間,以擴展物理校園的功能,從而實現(xiàn)教育過程數(shù)字化的目標(biāo)。

在數(shù)字化校園建設(shè)過程中,對高校實驗及實訓(xùn)設(shè)備建設(shè)和管理提出了更高的要求,特別是對昂貴設(shè)備的管理,其管理的好壞將直接關(guān)系到學(xué)校的經(jīng)濟利益、實驗教學(xué)質(zhì)量和科研水平的提高。硬件設(shè)施建設(shè)是實驗室建設(shè)的重要方面,管好設(shè)備是加強實驗室建設(shè)的重要內(nèi)容。

高校常用的設(shè)備管理軟件主要是從靜態(tài)的角度來管理設(shè)備,即記錄學(xué)校所購買的設(shè)備的數(shù)量與使用情況。在這些設(shè)備管理系統(tǒng)中沒有實質(zhì)的管理內(nèi)容。這些軟件無法實時查看這些設(shè)備當(dāng)前使用情況。

高校在重點設(shè)備所在的實驗室、車間等都安裝有監(jiān)控設(shè)備,而這些監(jiān)控設(shè)備只是起到簡單防盜的作用。這些監(jiān)控設(shè)備內(nèi)部通過網(wǎng)絡(luò)連接由服務(wù)器進行數(shù)據(jù)保存,保存的數(shù)據(jù)很難在別的系統(tǒng)中進行集成和使用。如果能利用這些監(jiān)控設(shè)備為高校的設(shè)備管理系統(tǒng)提供實時的設(shè)備使用情況,則對于學(xué)校和設(shè)備管理者可以主動地、更加容易理解與接受的方式了解“自己的設(shè)備”。

本文結(jié)合當(dāng)前高校主要使用的監(jiān)控設(shè)備情況,設(shè)計了一種具有通用功能的訪問監(jiān)控設(shè)備的輕量級框架(以下簡稱SDCS),此框架可以非常容易地集成不同種類、不同類型的監(jiān)控設(shè)備,通過主動訪問監(jiān)控設(shè)備,可將監(jiān)控設(shè)備當(dāng)前圖像抓取并統(tǒng)一保存在數(shù)據(jù)庫中,方便設(shè)備管理系統(tǒng)的訪問。

1 框架的實現(xiàn)策略

當(dāng)前,高校使用的主要的監(jiān)控系統(tǒng)是硬盤錄像機(簡稱DVR),這種監(jiān)控系統(tǒng)一般使用ARM架框、Linux系統(tǒng)的嵌入式設(shè)備,因為它具有很強大的視頻/圖像保存、截取及網(wǎng)絡(luò)管理功能,并且可以進行二次開發(fā)。但是,此類設(shè)備沒有統(tǒng)一的API接口,不同的廠商,甚至同一廠商不同型號的設(shè)備二次開發(fā)接口也不相同。

因此,在設(shè)計SDCS時,盡可能地降低對設(shè)備開發(fā)接口的依賴,以低耦合的方式聯(lián)接各種DVR設(shè)備。框架本身不包含任何與DVR設(shè)備應(yīng)用程序接口有關(guān)的應(yīng)用端的邏輯,通過高度抽象,提供了一組對外通用的API統(tǒng)一接口。通過框架屏蔽了不同類型的DVR設(shè)備在使用上的差異性,以插件的方式來動態(tài)加載和運行DVR設(shè)備的驅(qū)動,用來獲取DVR的實時圖像。

本框架的結(jié)構(gòu)如圖1,由框架內(nèi)核、DVR API接口和DVR驅(qū)動插件三部分組成。

1.1 內(nèi)核

SDCS的內(nèi)核是SDCS的核心和基礎(chǔ),主要實現(xiàn)讀取各DVR配置的基本信息、抓取圖片的時間段以及時間間隔的設(shè)置、利用反射加載插件運行、定時查詢DVR設(shè)備抓取圖片、將抓取的圖片保存為本地文件或者上傳到指定網(wǎng)絡(luò)路徑、異常管理、日志管理等功能。

反射服務(wù)是當(dāng)框架運行DVR設(shè)備驅(qū)動插件時提供的服務(wù)支持,提供的功能主要有:得到導(dǎo)入的程序集字段、屬性、方法及特性等信息,檢查插件的數(shù)字簽名,檢查被反射的類及方法是否正確,動態(tài)實例化對象及調(diào)用方法等。

圖1 SDCS框架的結(jié)構(gòu)圖

SDCS框架的配置文件使用的都是XML格式文件,因為XML格式文件方便擴展、容易理解、跨平臺、便于存儲和傳輸,并且很多語言和工具都支持。框架的外部配置文件通過框架配置文件管理器進行統(tǒng)一的驗證及讀寫。框架配置文件管理器的核心部分是XML文件讀取器、DTD正確性驗證和配置內(nèi)容解析器。在內(nèi)核啟動之前,解析SDCS框架的配置文件,將內(nèi)核配置信息保存在全局?jǐn)?shù)據(jù)結(jié)構(gòu)中,根據(jù)配置信息完成內(nèi)核的啟動。

插件管理器是對DVR進行動態(tài)管理,支持熱插拔技術(shù),即不需要重新啟動SDCS系統(tǒng)就可以增加、修改或刪除要訪問的DVR設(shè)備。當(dāng)增加一個要獲取圖像的DVR設(shè)備時,插件管理和對象加載器聯(lián)合使用,對象加載器利用反射服務(wù)加載此設(shè)置的插件的唯一實例,并將此實例加入插件管理容器中,以便定時查詢服務(wù)調(diào)用。插件管理容器本質(zhì)上就是一個HashTable,用來保存對象的信息。當(dāng)刪除一個插件時,插件管理器以事件的方式通知定時查詢服務(wù),停止調(diào)用此插件對應(yīng)的DVR設(shè)備,然后在插件管理容器中去除此插件。

定時查詢服務(wù)是內(nèi)核啟動后最后一個運行的服務(wù),它根據(jù)插件管理器配置的DVR插件信息和框架配置文件管理器讀取的啟動這些DVR的時間段和時間間隔信息,啟動一個定時器,輪流訪問這些DVR設(shè)備。通過調(diào)用DVR統(tǒng)一API接口異步獲取DVR的圖像。

內(nèi)核中還有其他的一些通用服務(wù),如:日志服務(wù)跟蹤并記錄程序的運行狀態(tài),通過配置可將日志保存到數(shù)據(jù)庫、外部文件和Windows的事件管理器中,以方便開發(fā)人員的查看。資源服務(wù)提供軟件內(nèi)的字符串、圖像、圖標(biāo)等資源的讀取,通過此服務(wù),可以提供換膚、本地化。全局錯誤捕獲服務(wù)可以獲取在系統(tǒng)中未處理的異常信息,并通過日志服務(wù)進行保存。

1.2 DVR API統(tǒng)一接口

DVR API的統(tǒng)一接口是SDCS系統(tǒng)和外部直接訪問DVR設(shè)備的插件唯一聯(lián)系的地方,是為了屏蔽不同DVR設(shè)備不同的二次開發(fā)接口而設(shè)置的中間接口。

其主要內(nèi)容如下:

interface IDVRSuperClass

{

System.Drawing.Bitmap CaptureIMG();

string ChannelNumber {get;set;}

event EventHandler DVRImage;

event EventHandler DVRInfo;

string ImgName {get;set;}

long ImgQuality {get;set;}

string IpAddr{get;set;}

bool NetDVRLogin();

void NetDVRLogout();

string OtherParams{get;set;}

int PortNumber{get;set;}

string Pwd{get;set;}

string UserId{get;set;}

}

接口主要提供了DVR插件要完成的基本功能,訪問DVR的高級功能是由插件內(nèi)部完成的。DVR API的統(tǒng)一接口必須被SDCS和DVR插件共同引用。

定時查詢服務(wù)根據(jù)配置信息到插件管理容器中找到DVR驅(qū)動插件的唯一實例并進行初始化,調(diào)用NetDVRLogin方法連接DVR設(shè)備。連接成功后,調(diào)用CaptureIMG方法讀取DVR當(dāng)前圖像。如果當(dāng)前DVR設(shè)置為同步工作方式,則直接返回捕獲的圖像,如果是異步工作方式,則通過事件DVRImage返回圖像。圖像獲取后,調(diào)用NetDVRLogout方法關(guān)閉連接。

2 SDCS工作流程

框架啟動過程:啟動框架配置管理服務(wù),驗證讀取SDCS內(nèi)核的默認(rèn)配置文件并解析,根據(jù)配置文件的設(shè)置,檢查內(nèi)核信賴的DLL文件的完整性以及版本是否兼容。解析插件的配置文件,使用插件管理服務(wù)和對象加載器加載插件的唯一實例到插件管理容器中,最后啟動定時查詢服務(wù)。

框架運行過程:運行定時查詢服務(wù),當(dāng)?shù)街付ǖ臅r間時,檢查當(dāng)前時間是否在要獲取圖像的DVR設(shè)備時間設(shè)置范圍內(nèi)。如果在設(shè)置訪問DVR時間范圍內(nèi),則檢查此插件實例是否運行,如果未運行,則通過對象加載器加載到插件容器中,并注冊事件處理程序。如果已經(jīng)運行,則直接調(diào)用DVR API接口調(diào)用DVR插件中的CaptureIMG方法獲取圖像。

3 SDCS與設(shè)備管理系統(tǒng)其他子系統(tǒng)的交互

設(shè)備管理系統(tǒng)主要是由SDCS子系統(tǒng)、DVR圖像管理子系統(tǒng)、DVR設(shè)置子系統(tǒng)、錄制時間設(shè)置子系統(tǒng)和設(shè)備管理網(wǎng)站子系統(tǒng)組成,其中SDCS子系統(tǒng)處于一個中心位置。設(shè)備管理系統(tǒng)的部署圖如圖2。

圖2 設(shè)備管理系統(tǒng)的部署圖

子系統(tǒng)之間的交互如下:DVR設(shè)置子系統(tǒng)設(shè)置為WEB 服務(wù)的方式,它主要提供要管理的設(shè)備對應(yīng)的DVR的信息,包括DVR插件的名稱、訪問的地址、端點、通道、登錄的用戶名稱、密碼等信息。錄制時間設(shè)置子系統(tǒng)為SDCS提供要錄像的DVR編號以及錄像時間段和時間的間隔等信息。DVR圖像管理子系統(tǒng)是SDCS獲得DVR的圖像時上傳或本地保存時記錄的相關(guān)信息。設(shè)備管理網(wǎng)站子系統(tǒng)提供監(jiān)控設(shè)備編號、驅(qū)動信息的設(shè)置、獲取圖片的時間段和時間間隔的設(shè)置及查看監(jiān)控圖片的功能。SDCS子系統(tǒng)是以Windows服務(wù)的方式在計算機的后臺運行。

4 結(jié)束語

在學(xué)校的設(shè)備管理系統(tǒng)中,通過與監(jiān)控設(shè)置的連接,可以實時地查看設(shè)備的使用情況,及早發(fā)現(xiàn)閑置設(shè)備和利用率不高的設(shè)備,重新進行設(shè)備配置的優(yōu)化,避免教育資源的浪費。本文提出了一個通用的訪問DVR信息的框架,它通過統(tǒng)一接口屏蔽不同DVR設(shè)備二次開發(fā)接口的不同。通過插件降低了系統(tǒng)之間的耦合度,修改方便。對于動態(tài)增加、刪除DVR設(shè)備的插件,無須停止框架運行,支持熱插拔技術(shù)。通過本框架擴展支持某類型的DVR設(shè)備,只需要調(diào)用DVR設(shè)備的驅(qū)動程序?qū)崿F(xiàn)IDVRSuperClass接口,通過簡單配置即可由框架支持,擴展簡單、方便。

參考文獻:

[1]王孝明,胡健,陸坤,等.基于.NET平臺可復(fù)用軟件框架的設(shè)計與實現(xiàn)[J].計算機工程,2004,30(22):76-78

[2]崔冬華,劉吉林.基于反射的低耦合軟件框架的研究[J].計算機信息,2007,23(10):232-234

[3]孫玉鈺.基于.NET組件技術(shù)的插件式框架的研究[J].計算機應(yīng)用與軟件,2009,26(6):143-145

[4]劉佳,王麗宏,孫克寧.插件技術(shù)在控制系統(tǒng)中的應(yīng)用[J].計算應(yīng)用研究,2004(3):117-118

[5]Don Box.COM本質(zhì)論[M].潘愛民,譯.北京:中國電力出版社,2001:218-262

[6]Don Box,Chris Shells..NET本質(zhì)論:第1卷:公共語言運行庫[M].張曉坤,譯.北京:中國電力出版社,2004:86-96

猜你喜歡
配置文件管理器插件
應(yīng)急狀態(tài)啟動磁盤管理器
自編插件完善App Inventor與樂高機器人通信
互不干涉混用Chromium Edge
Windows文件緩沖處理技術(shù)概述
基于Zookeeper的配置管理中心設(shè)計與實現(xiàn)
忘記ESXi主機root密碼怎么辦
為View桌面準(zhǔn)備父虛擬機
基于jQUerY的自定義插件開發(fā)
MapWindowGIS插件機制及應(yīng)用
基于Revit MEP的插件制作探討
璧山县| 英山县| 台江县| 凤凰县| 将乐县| 天峻县| 金阳县| 灵寿县| 古蔺县| 阿克| 龙山县| 雷山县| 宣武区| 榆树市| 锡林郭勒盟| 陆川县| 曲麻莱县| 定边县| 图木舒克市| 红桥区| 锦州市| 广河县| 华宁县| 比如县| 清丰县| 铁岭市| 托克逊县| 兰考县| 历史| 明溪县| 互助| 日照市| 永和县| 江口县| 玉山县| 刚察县| 福海县| 巴楚县| 南川市| 监利县| 武鸣县|