1. 程式人生 > >基於Web的B/S結構實時監控系統

基於Web的B/S結構實時監控系統

轉載:尉學軍,劉  躍

摘  要:提出了怎樣利用Web技術對生產過程進行監控,介紹了其基本結構和工作原理,並對系統所採用的關鍵技術進行了討論。

關鍵詞:B/S結構;ASP;ActiveX控制元件;DLL;實時監控

中圖分類號:TP277;TP311.54                       文獻標識碼:B



0  前  言

隨著企業生產規模的擴大和網路技術的發展,為了更好地實現企業內部資訊的共享和作出及時的決策,傳統意義上的對生產過程進行監控已經不能滿足現代化企業的要求。通過與網路技術相結合,以高效、可靠的方式實現企業內部資料的利用最大化,使企業能夠對生產過程進行實時監控,並且對所發生的意外情況及時進行處理,就顯得越來越迫切了。

Intranet是Internet技術在企業內部進行資訊傳遞的產物,在我國大中型企業中得到廣泛的應用。在工業監控系統中,應用Web技術實現遠端監控,成了越來越多的企業不可缺少的重要組成部分。目前,從結構模式上講,有B/S(Browser/Server)結構和C/S(Client/Server)結構。



1  B/S結構和C/S結構的比較

C/S結構就是傳統意義上的客戶機/伺服器模式,系統任務分別由客戶機和伺服器來完成。伺服器具有資料採集、控制和與客戶機通訊的功能;客戶端則包括與伺服器通訊和使用者介面模組。這是一種典型的“瘦伺服器/肥客戶機”的模式,它有以下缺點:

(1)部署困難,除了要安裝伺服器軟體外,對每臺客戶機都要安裝客戶軟體的一份拷貝。

(2)滿足不了客戶端跨平臺的要求。一般來說,客戶端的作業系統是不同的,與此對應的客戶端程式也是不同的。但是,為每一種作業系統設計一個客戶端程式是不現實的。而要求客戶放棄已有的作業系統來購買一新的作業系統會使客戶付出很大的代價。

(3)管理、維修費用高、難度大。

於是,我們就在傳統的C/S結構的中間加上一層,把原來客戶機所負責的功能交給中間層來實現,這個中間層即為Web伺服器層。這樣,客戶端就不負責原來的資料存取,我們只須在客戶端安裝瀏覽器就可以了。把原來的伺服器作為資料庫伺服器,在資料庫伺服器上安裝資料庫管理系統和建立資料庫。Web伺服器的作用就是對資料庫進行訪問,並通過Internet/Intranet網傳遞給瀏覽器。這樣,Web 伺服器既是瀏覽器的伺服器,又是資料庫伺服器的瀏覽器。在這種模式下,客戶機就變為一個簡單的瀏覽器,形成了“肥伺服器/瘦客戶機”的模式。B/S結構同C/S結構相比較,具有以下優點:

(1)可以非常容易地實現多使用者監控。

(2)開發環境與應用環境分離,便於系統的管理與升級。

(3)應用環境為標準的瀏覽器,簡化了傳統系統中較為複雜的GUI的開發;降低了對使用者的培訓、安裝、維護等費用。

(4)易於實現跨平臺的應用。



2  監控系統的具體實現

基於B/S結構的監控系統如圖1所示。

將採集到的資料通過動態連結庫DLL(Dynamic Link Library) 程式送到應用伺服器,應用伺服器負責與被控過程的連線,由VC++ 6.0編寫的應用程式呼叫.DLL程式,實現對資料的採集。同時,用ODBC(Open Database Connection)開放資料庫連結技術實現資料庫伺服器與應用伺服器之間的通訊,使採集到的資料儲存到資料庫伺服器。資料庫伺服器中的資料庫管理系統採用關係型資料庫MS.SQL.Server作業系統。客戶通過瀏覽器向Web伺服器提出請求,Web伺服器處理後,到資料庫伺服器上進行查詢,查詢結果送回到Web伺服器後,以HTML頁面的形式返回到瀏覽器。


圖1  B/S結構工業監控系統



2.1  動態連結與應用程式

動態連結庫(DLL)是Windows的重要組成部分。它是一個包含函式的庫檔案,可以獨立地編譯成在執行時才連結的.DLL檔案,這在工業監控系統中有著特殊的意義,這是因為工業監控對速度有很高的要求。在進行監控時,資料採集得不停地進行,使用.DLL檔案,使應用程式變小,留出更多的空間給應用程式進行資料處理使用,這樣就提高了監控的效率。Visual C++有很好的對底層系統的程式設計能力,可以利用它設計開發對埠的操作函式,編譯成動態連結庫供呼叫。

應用既負責.DLL程式的連結,同時又通過ODBC把.DLL所採集到的資料送到資料庫伺服器。它可以通過VC++ 6.0來編寫。在程式設計之前,首先用ODBC把資料庫新增到資料來源。程式設計的時候,首先必須使應用程式同資料來源連線起來,這可以通過MFC中的CDatabase類來實現;建立了同資料來源連線後,就可以對資料庫進行操作了,MFC中的CRecordSet類具有這種功能,它可以實時地修改資料庫的記錄,達到儲存所採集資料的目的。

2.2  Web伺服器與資料庫伺服器的通訊

資料庫伺服器中的資料庫可以採用MS.SQL.Server、Access、Oracle等資料庫管理系統。Web伺服器利用ASP、ODBC結合SQL資料庫技術來訪問資料庫。

ASP(Active Server Pages)是一個Web伺服器端的開發環境,利用它可以產生和執行動態的、互動的、高效能的Web伺服器應用程式。它集成了Microsoft的程式語言ISAPI,我們在ASP網頁的開發方案中用ADO(Active Data Object)技術對資料庫進行訪問。其步驟如下:

(1)使用ASP的Server物件“Server.CreateObject”建立要連線的物件,並用“Open”開啟待訪問的資料庫;

(2)設定SQL命令,使用“Execute”開始執行訪問資料庫的動作;

(3)使用ADO的Recordset 物件提供的命令,得到訪問的結果;

(4)關閉資料庫。

但是,這種訪問要經過資料庫伺服器和Web伺服器,這勢必會影響訪問的速度,只適合對歷史資料的訪問。對於實時資料,採用內嵌的ActiveX控制元件直接對應用伺服器進行訪問,這時Web伺服器和資料庫伺服器對此毫無知覺,提高了訪問的實時性。ActiveX技術是用於元件物件模型(COM)的一種技術,它使各種軟體元件可以在網路工作環境中相互使用。ActiveX控制元件是ActiveX的一個重要組成部分,利用它將實時資料與HTML網頁連線起來。



3  結束語

目前在我國,基於Web的資訊管理系統(MIS)不乏成功的應用,但是,基於Web的實時監控應用還比較少。B/S結構的網路技術是一種先進的,靈活的資料庫結構,利用它進行資料採集和生產過程監控在我國大中型企業中有著廣泛的應用。