1.技術(shù)背景
1.1 B/S應(yīng)用模式介紹
當(dāng)Internet技術(shù)迅速發(fā)展時,人們希望把應(yīng)用程序放到網(wǎng)絡(luò)上去執(zhí)行,即:將運行在客戶機端的應(yīng)用軟件移植到服務(wù)器端,客戶機不再需要應(yīng)用程序,應(yīng)用軟件集中在服務(wù)器端,用戶通過瀏覽器來執(zhí)行應(yīng)用,這就是B/S模式。這種模式把Web技術(shù)和數(shù)據(jù)庫技術(shù)結(jié)合起來,實現(xiàn)了開發(fā)環(huán)境和應(yīng)用環(huán)境的分離,客戶端使用相對統(tǒng)一的瀏覽器代替客戶端軟件,B/S模式見圖1-1。
圖1-1 基于Web的客戶機/服務(wù)器應(yīng)用模式
1.2 ASP與ADO技術(shù)介紹
ASP即不是一種語言、也不是一種開發(fā)工具,而是一種內(nèi)含于信息服務(wù)管理器中的易學(xué)易用、可以集成Script語言到HTML頁面的服務(wù)器端的腳本語言環(huán)境,其主要功能是為生成動態(tài)的、交互式的Web服務(wù)器應(yīng)用程序提供一種功能強大的方式或技術(shù)。它是一種Web服務(wù)器端的技術(shù),它的所有命令和腳本均在服務(wù)器端解釋執(zhí)行、向數(shù)據(jù)庫發(fā)送SQL指令,執(zhí)行后再將結(jié)果以HTML格式傳送至客戶端的瀏覽器。
ActiveX數(shù)據(jù)對象(ADO)是一種易于使用的應(yīng)用程序接口(API),該接口將OLE DB封裝于以用于應(yīng)用程序的腳本語言中。編制動態(tài)網(wǎng)頁時,與數(shù)據(jù)庫連接用的就是ADO。
2.分廠網(wǎng)絡(luò)的建設(shè)
網(wǎng)絡(luò)的建設(shè)主要用到的硬件有服務(wù)器、客戶機、交換機、集線器、調(diào)制解調(diào)器、網(wǎng)卡、網(wǎng)線、廠內(nèi)電話線的等。分廠網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)見圖2-1。
圖2-1 分廠網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
[說明]上圖中分廠大樓內(nèi)的機器(如:設(shè)備科、技術(shù)科的機器)直接通過網(wǎng)線接入網(wǎng)絡(luò);離大樓較遠(yuǎn)的遠(yuǎn)程計算機,如:運一車間、運二車間、運三車間、分析儀表和廠內(nèi)的移動用戶通過撥號接入網(wǎng)絡(luò)。
3.數(shù)據(jù)庫設(shè)計及實現(xiàn)
3.1表結(jié)構(gòu)及表間的關(guān)系
計控分廠儀表數(shù)據(jù)表,儀表數(shù)據(jù)變更記錄表與其他被參照表間的關(guān)系如圖3-1。在表間關(guān)系圖中,每一個表用一個矩形框表示,最上方是表名,下面是相應(yīng)的字段,字段旁有鑰匙圖標(biāo)的是本表的主鍵字段。各表之間的連線表示這兩個表有參照關(guān)系,連線的“鑰匙標(biāo)記”端指向被參照表的主鍵字段,連線的“多標(biāo)記”端指向參照表(主表)的外鍵字段,兩個表之間就是通過被參照表的主鍵字段和參照表的外鍵字段進行聯(lián)系的,如:計控分廠儀表數(shù)據(jù)表與工藝單元表可以通過工藝單元字段進行表連接。兩個表建立關(guān)系后,可以對INSERT和UPDATE操作強制關(guān)系,如:計控分廠儀表數(shù)據(jù)表INSERT或UPDATE一條記錄時它的工藝單元字段必須是工藝單元表的所有記錄中工藝單元字段中已經(jīng)存在的值,否則不能進行這一操作。兩個表建立關(guān)系后,可以級聯(lián)更新相關(guān)字段,級聯(lián)刪除相關(guān)字段,即被參照表對記錄的主鍵字段進行修改時,參照表記錄的相應(yīng)外鍵字段自動做相應(yīng)的修改;被參照表刪除記錄時,參照表自動刪除本表與之相關(guān)的記錄。表之間建立對應(yīng)關(guān)系,并選擇表間的強制關(guān)系,就不用再單獨編寫表間的觸發(fā)器,減少了代碼編寫的復(fù)雜性,有效地保證了數(shù)據(jù)的一致性和完整性。
圖3-1 表間關(guān)系
3.2數(shù)據(jù)的導(dǎo)入
在以往的工作中,儀表分廠已經(jīng)積累了大量的儀表數(shù)據(jù)信息,它們以文件的形式存儲在電腦中,主要有兩種格式:一種是ACCESS文件*.mdb,一種是EXCEL文件*.xls。為了集中管理數(shù)據(jù),降低維護成本,需要將原有的數(shù)據(jù)文件導(dǎo)入由SQLSERVER管理的數(shù)據(jù)庫中,并對數(shù)據(jù)進行有效的整理,建立表之間的關(guān)系,保證數(shù)據(jù)的一致性和完整性,以便WEB頁面對數(shù)據(jù)信息進行訪問。下面是數(shù)據(jù)的導(dǎo)入方法:
在企業(yè)管理器的控制臺目錄下,找到shebei庫,點擊右鍵,在出現(xiàn)的菜單中選擇“所有任務(wù)”,在級聯(lián)菜單中選擇“導(dǎo)入數(shù)據(jù)”,將出現(xiàn)DTS導(dǎo)入/導(dǎo)出向?qū)В凑障驅(qū)У奶崾具M行數(shù)據(jù)的入。首先需要選擇數(shù)據(jù)源,如果導(dǎo)入的是EXCEL文件,則數(shù)據(jù)源選擇“Microsoft Excel 97
4.應(yīng)用軟件設(shè)計及實現(xiàn)
應(yīng)用系統(tǒng)需要實現(xiàn)數(shù)據(jù)的錄入、查詢、修改、刪除、數(shù)據(jù)的統(tǒng)計及報表的打印,以及數(shù)據(jù)的移動等模塊,系統(tǒng)結(jié)構(gòu)見圖4-1。下面挑選兩個模塊介紹實現(xiàn)方法。
圖4-1 儀表設(shè)備管理系統(tǒng)結(jié)構(gòu)圖
4.1單表快速查詢模塊
對于數(shù)據(jù)量不是很大的基表(如:工藝單元表),進行查詢時不需要輸入查詢條件。用戶點擊快速查詢模塊下拉菜單中對應(yīng)的表鏈接,便可顯示此表的所有記錄,見圖4-2。
圖4-2 單表查詢(工藝單元表)結(jié)果顯示畫面
在結(jié)果集界面中用戶可以利用上下移動鍵查看記錄,程序設(shè)計為在每條記錄的主鍵字段內(nèi)容值上建立鏈接,點擊鏈接可以進入這條記錄的編輯畫面,在編輯畫面可以對本條記錄進行修改、刪除。
4.2報表及統(tǒng)計模塊
系統(tǒng)設(shè)計了多個報表統(tǒng)計內(nèi)容,下面僅以儀表月檢修計劃報表為例介紹。現(xiàn)場的每一塊儀表,都需要校驗,只是校驗的周期不同。檢驗周期有兩個月、三個月、一年、二年等不同時間,所以每個月都需要遍例儀表數(shù)據(jù)庫,查詢出需要重新檢定的儀表進行檢定,之后修改儀表數(shù)據(jù)庫的檢定日期字段。儀表數(shù)據(jù)庫的檢定周期字段是int數(shù)據(jù)類型,數(shù)據(jù)值為天數(shù),天數(shù)以每月為30天,每年為365天計算而得出。儀表數(shù)據(jù)庫的檢定日期字段是smalldatetime,是日期型數(shù)據(jù)類型。我們的需要是查出“檢定日期”加上“檢定周期”的天數(shù)值后所得的日期值超過了當(dāng)前系統(tǒng)日期值的記錄,即當(dāng)前日期與檢定日期的天數(shù)之差大于檢定周期值的記錄。當(dāng)前系統(tǒng)的日期值可以通過函數(shù)getdate()獲得,日期與日期的運算由函數(shù)datediff(dy,檢定日期,getdate())完成,參數(shù)dy代表返回值為天數(shù),返回值為后兩個參數(shù)的天數(shù)之差。具體的SQL語句如下:
SELECT 儀表位號,工藝單元,檢定人員,檢定日期,檢定周期,datediff(dy,檢定日期,getdate()) AS 超出時間
FROM 計控分廠儀表數(shù)據(jù)
WHERE datediff(dy,檢定日期,getdate())>檢定周期
經(jīng)過查詢,結(jié)果如圖4-3,給出了需要檢定的儀表位號及相關(guān)信息:
圖4-3需檢定儀表統(tǒng)計結(jié)果顯示
5.系統(tǒng)安全
本系統(tǒng)將在企業(yè)的內(nèi)部網(wǎng)絡(luò)上使用,不接入Internet 所以它的安全問題主要是內(nèi)部的安全,利用完善的用戶安全控制機制可以最大程度保證儀表數(shù)據(jù)的安全。系統(tǒng)設(shè)置多重安全控制,從網(wǎng)絡(luò)訪問、數(shù)據(jù)庫訪問和應(yīng)用程序的訪問設(shè)置三重密碼機制,對個人權(quán)限進行詳細(xì)的劃分,保證系統(tǒng)的安全運行。不同的用戶分配不同的權(quán)限,根據(jù)自己所擁有的權(quán)限對網(wǎng)上數(shù)據(jù)資源進行訪問。同時,建立備份及恢復(fù)機制,在系統(tǒng)出現(xiàn)故障時,及時對系統(tǒng)和數(shù)據(jù)庫進行恢復(fù)。
6.結(jié)束語
目前,本系統(tǒng)已投入使用。本地人員可以直接查詢儀表數(shù)據(jù),遠(yuǎn)程用戶可以通過電話線登錄分廠網(wǎng)利用IE瀏覽器查看儀表相關(guān)數(shù)據(jù)。本系統(tǒng)的投運提高了工作效率,減少了出錯幾率。本系統(tǒng)是專為化工儀表數(shù)據(jù)管理設(shè)計開發(fā)的網(wǎng)絡(luò)版應(yīng)用軟件,可以向其它石化企業(yè)推廣使用。