摘 要:設備管理系統的開發是以企事業單位有效地管理和使用設備為目的。該系統基于C/S體系結構,使用獨立的數據連接、臨時表緩沖、表鎖定和事務處理等技術,使系統可直接切換用戶,保持數據的一致性,減少不必要的更新操作。該系統有利于監督設備管理工作,提高了管理工作的效率和透明度,保證了數據的安全性,且可滿足不同用戶對數據的不同需求,可充分發揮數據庫服務器和客戶機處理的功能。
關鍵詞:設備管理系統;C/S;數據庫;數據一致性
中圖分類號:TP311文獻標識碼:A
文章編號:1004-373X(2010)02-084-02
Design and Implementation of Equipments′ Management System Based on C/S
LI Chunjie1,2,LIU Yue1,WANG Rui1,LI Hua1,LI Diankui1
(1.Commonality Teaching Department of Computer,Jiamusi University,Jiamusi,154007,China;
2.College of Computer Science and Technology,Harbin Engineering University,Harbin,150001,China)
Abstract:Equipments′ management system is designed to address the effective use of enterprises and institutions,as well as the demand for devices′ management.The system is based on C/S architecture,the use of an independent data connection,a temporary table buffer,table locks and transaction processing technology.The system can switch users to maintain data consistency and reduce unnecessary update.It is good for supervise equipments′ management,the efficiency and transparency of management are improved,the data security is ensured,and the needs of different users of data are fulfiiled.It exerts function for client and server.
Keywords:equipments′ management system;C/S;database;data consistency
長期以來,在許多企事業單位仍然使用人工管理設備的方法。用人工管理設備的缺點很多,如日志種類繁多,數量大,不好保存、易丟失,而且錄入和管理的重復性工作多,浪費時間和精力。即使使用管理軟件,大多也是單用戶或終端/主機結構和文件服務器模式的管理系統,數據不能共享,管理工作不透明,不易于監督,而且終端/主機管理系統對硬件選擇有限,硬件投資得不到保證;文件服務器模式只適用于小規模的局域網,對于用戶多,數量大的網絡就會產生網絡瓶頸。
客戶機/服務器(Client/Sevrer)應用程序結構是為了解決費用與性能的問題而提出的。它是中和了集中式結構和文件服務器結構的優缺點而發展成的[1],是一種多用戶應用程序的開發模式,一個服務器可以在同一時刻為多個客戶機提供服務。服務器主要負責有效管理系統資源,客戶端完成用戶與數據交互的任務。設備管理系統是基于臨時表緩沖技術的C/S系統,實現了客戶端在程序運行時,將讀取的數據放在臨時表中,對數據進行相應的操作功能,并且該系統有設置用戶操作權限的功能時,保證了數據的安全性,且滿足不同用戶對數據的不同需求。
1 系統結構及功能
1.1 系統設計思想
基于C/S體系結構的設備管理系統把客戶與服務器分開,使工作站具有獨立性,用戶不必局限于一種類型的平臺。將數據庫建立在服務器端,在客戶端有一個可執行文件和一個存放數據連接設置的文件。處理工作分配在客戶系統和數據庫服務器上。工作站只需運行前端軟件,而大量的數據處理工作在后端完成。服務器計算速度快,內存容量大,而且整個數據庫文件不必在網絡中往返傳遞,減少了信息流通量和用戶等待的時間。
1.2 系統結構的確立
通過調查分析,討論了確定的系統設計初步方案。根據該管理系統的具體要求,整個管理系統分為三個子系統[2,3]:用戶管理子系統、系統設置子系統、數據處理子系統。程序整體框圖如圖1所示。
圖1 程序整體框圖
1.3 系統功能
設備管理系統主要有三大功能,分別為:
用戶管理功能
主要是對系統設置了管理員和普通用戶的權限,以及對用戶密碼的設置。通過用戶名和密碼對用戶進行驗證,合法的用戶給予通過,并且只能使用權限范圍內的功能,而非法用戶則拒絕其進入系統[4,5]。
系統設置功能
主要是指與設備有關的類別、計量單位及使用設備相關的單位和部門的設置。
數據處理功能
是對最主要的數據予以處理的功能,即對設備進行管理的功能。包括更新設備功能,主要指對新進設備進行接收工作,對其進行詳細的記錄,包括名稱、配置、使用部門等的錄入,并設置該設備為正常使用狀態;當設備被淘汰或已經沒有維修價值時,對其進行報廢處理,即刪除數據,因為已與相關表建立聯系,因此也應將其與相關的其他數據一起刪除[6]。對設備借出、維修均有相應的詳細記錄,并將設備設置為相應的使用狀態。
設備在部門件轉移時,要有明確說明,以此防止設備的流失。在查詢模塊中,根據用戶的不同需求設計了多種渠道的查詢,可以對部門使用設備的情況、設備維修、借出等情況進行查詢,并可以打印相應的數據報表。數據備份主要是在服務器上對數據庫的完全備份,包括數據庫的轉儲和恢復,用于維持數據庫的安全性和完整性,以加強系統的維護功能[7]。
2 關鍵技術實現
2.1 獲取連接句柄設計
基于C/S體系結構的設備管理系統在運行時,可以直接切換用戶,不需要重新運行系統,這就需要獨立數據鏈接。方法是:判斷鏈接句柄是否有效,若無效,則讀取數據鏈接設置的(.XML)文件,重新進行鏈接,最后返回一個數據鏈接句柄。在數據鏈接設置的(.XML)文件中保存著驅動程序名、數據庫服務器名稱、登錄用戶名稱和密碼等信息,用戶可以修改次文件。把該文件與可執行(.EXE)文件一起保存在客戶端,這樣在服務器地址或登錄用戶信息改變時,就可以在客戶端應用程序中直接登錄,快速鏈接到服務器[8,9]。
2.2 臨時表的緩沖技術
客戶端在程序運行時,需要在服務器的數據庫表中讀取各個相關的數據;進行設置或修改后,再保存到數據庫表中。在整個過程中需要保持服務器端與客戶端數據的一致性,關鍵是臨時表的緩沖技術,方法是:讀取數據到臨時表中,將臨時表設置成行緩沖模式,使用可更新的臨時表技術更新服務器表,這樣就可以保證數據的一致性。其最大的好處就是可以對臨時表中的數據所做的修改,如增加、刪除、修改記錄時,自動生成相應SQL的數據操縱語句,分別為insert,delete,update,以此來簡化程序的復雜程度。
將臨時表設置成一個允許更新的表,可以通過自定義函數來實現。設置形參數分別為可更新臨時表名稱,與其對應的數據庫表名稱;進行更新時,關鍵字列表以及需要跟蹤變動的列、遠程表字段與臨時表字段的對應關系等。其中,進行更新時,關鍵字列表用于生成SQL的WHERE子句,更新時,使用遠程表字段與臨時表字段的對應關系,然后將根據臨時表中的記錄變動情況發送到數據庫表[10,11]。
2.3 表鎖定技術
在添加新記錄時,要先判斷該記錄在表中是否已經存在,以防止同時有兩個用戶同時添加同一條記錄。在修改表時,需要防止多個用戶同時更改數據,因此需要把表進行鎖定,可以使用SELE (Serializable)鎖定方式,將目前使用的表進行鎖定,防止數據發生碰撞而導致數據發生錯誤。
2.4 事務處理管理更新數據
使用事務來緩沖對內存或硬盤的數據更新操作,而不直接對數據庫進行更新,實際的更新在事務結束之后進行,這樣就可以防止由于某種原因系統不能執行對數據庫的更新操作,可以回滾整個事務,而不執行更新操作。需發送并更新服務器端數據庫的相應表,在客戶端提交數據前先置為人工事務處理,并鎖定表,防止其他用戶進行數據更新,若無錯誤,則提交事務處理,否則回滾所有操作[12]。
3 結 語
研究基于C/S體系結構的設備管理系統的目的在于提高設備管理工作的效率和透明度,有利于對管理工作的監督和數據的安全使用。企、事業單位的設備都要經歷使用、維修保養、報廢的過程,需要對其進行有效管理。設備管理系統解決了這個問題,對設備的使用、維護、借用、報廢工作,以及防止設備流失,合理分布資源,杜絕浪費有著深遠的意義。C/S系統結構在數據處理中的地位日益重要。在網絡數據庫中,C/S結構通過合理的任務分工和協同操作,可以充分發揮數據庫服務器和客戶機的處理功能[13],比單純使用數據庫技術有更加強大的服務器端支持。基于C/S結構的數庫應用系統是一個復雜的人機系統,還需要不斷完善,不斷提高系統運行效率及服務水平。
參考文獻
[1]林樂杰.科研管理信息系統中數據庫的設計與實現[D].北京:北京化工大學,2007.
[2]王山珊.數據庫系統概論[M].北京:高等教育出版社,2008.
[3]張毅,張傳林,張坤.銀行網點及自助設備管理信息系統設計與實現[J].計算機系統應用,2009(1):18-21.
[4]顏芳芳,尹吉良.基于SQL的數據庫分析研究[J].電腦知識與技術,2007(1):24-25,136.
[5]方林宏.設備信息管理系統的設計與實現[J].中國計量,2008(11):96.
[6]毛一心.Visual FoxPro 6.0應用及實例集錦(中文版)[M].北京:人民郵電出版社,2005.
[7]王建國,楊曉宇,李靜,等.醫療設備管理系統的設計與應用[J].中國醫療設備,2008(3):27-30.
[8]吳兆立.基于ASP技術的學生信息管理系統的設計與實現[J].計算機技術與發展,2008(9):48-50.
[9]張洪舉.Visual Foxpro軟件開發模式與應用案例[M].北京:人民郵電出版社,2006.
[10]吳君卓,徐蘇,陳美華,等.采購管理系統中PPAP的設計與實現[J].計算機與現代化,2008(10):137-139.
[11]盧樹強.基于C/S和B/S混合模式的高校教務管理系統的設計與實現[D].濟南:山東大學,2008.
[12]何秉榮.基于B/S的實驗設備管理系統[J].牡丹江大學學報,2009,18(1):104-106.
[13]吳向陽.基于C/S模式的醫療設備管理信息系統[J].醫院數字化,2009(3):36-38.
作者簡介 李春潔 女,1977年出生,黑龍江佳木斯人,在讀碩士研究生,講師。研究方向為數據庫與知識庫。
劉 越 男,1976年出生,黑龍江佳木斯人,碩士研究生,講師。研究方向為軟件工程。
王 銳 女,1974年出生,黑龍江佳木斯人,碩士研究生,副教授。研究方向為數據庫應用。