張向明
摘要: 為提高高校大學生電子設計競賽元器件管理效率,提高電子元器件利用率,設計和開發了一套智能化的電子元器件管理系統。系統基于MIDAS和ADO技術,結合高校電子設計競賽日常培訓中電子元器件的管理特點,采用多層分布式架構,對電子元器件管理系統進行了設計與實現,系統全程使用條碼化管理。開發結果表明,系統具有簡便易用,高效快捷等優點,將更有利于提高實驗室日常實訓中電子元器件的發放與回收、采購與庫存預警等管理工作效率。
關鍵詞: 多層分布式應用服務包; 電子競賽; 電子元器件管理系統; ADO技術
中圖分類號: TN919?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2014)08?0108?05
Design and development of?MIDAS?based electronic component management?system
for university electronic design contest
ZHANG Xiang?ming
(College of computer science, South?Central University for Nationalities, Wuhan 430074, China )
Abstract: In order to improve the management efficiency of components for the undergraduate electronic design contest, and raise the utilization rate of electronic components, a set of electronic component management system based on MIDAS (multi?tier distributed application services suite) and ADO technology was designed and developed. In combination with the management features of electronic components in daily training of electronic design contest in colleges and universities, a distributed multi?tier architecture was used in the electronic components management system design and implementation. The bar code technology was adopted in the system. The results show that the developed system has the advantages of simple operation, high efficiency, and can improve the management efficiency of distribution, collection, laboratory procurement and inventory early warning of electronic components.
Keywords: multi?tier distributed application services suite; electronic device competition; electronic component management system; and chips; ADO technology
0引言
隨著中國教育體制改革的不斷推進,各高校越來越重視學生創新能力的培養與訓練,以期達到提升學生創新素質、增強學生適應市場和社會的目的。全國大學生電子設計競賽是一項面向理科學生的重要賽事,其全國競賽組委會由國家教育部、信息產業部及部分參賽省市教委代表及電子類專家組成,負責全國競賽的組織領導、協調工作,其重要性不言而喻[1?2]。
競賽要使用到大量的電子元器件,涉及的元器件品種多達幾百種,且使用數量繁多。學生在競賽前期的實訓中,需要頻繁地領用元器件,高校實驗室管理人員需要對元器件的消耗情況進行匯總,對貴重器件進行登記與跟蹤,同時還要對元器件庫存有充分的了解,以便對元器件庫進行有效合理的補充。目前很多高校的元器件管理工作仍處在于手工管理狀態:仍然以手工方式登記學生領用情況,以人工方式對器件進行跟蹤,目測元器件庫存是否充足,學生領用元器件查找費時,這些問題極大地影響了電子競賽的高效管理[3]。
為提高競賽管理效率及元器件使用率,將構建一套智能化的電子元器件管理系統。因競賽實訓工作均在學校內完成,故將系統的架構設計為三層C/S(客戶/服務器)結構,采用MIDAS和ADO技術來開發系統,按軟件工程理論和方法對系統的各項模塊進行設計,實現元器件采購計劃管理、元器件入庫、學生領用元器件、元器件查詢、元器件統計分析等主要功能。
1系統架構和開發環境
基于高校電子設計競賽的實際情況,系統采用C/S架構的多層分布式環境來開發,使用DELPHI7.0為開發平臺,充分地運用其MIDAS,ADO等技術來構建一個基于數據服務層、業務邏輯應用服務層及客戶層的分布式智能化管理系統,開發過程中使用的一些相關技術分析如下:
1.1多層分布式系統
分布式結構實際上是一種分布式應用系統,被分成數個不同的部分并且被執行在不同的機器之中,引入了應用程序服務器概念,應用程序服務器是一個包含系統業務邏輯的應用程序,以一種特定的組件形態,如MicroSoft的COM/DCOM,CORBA等對象,封裝應用系統的邏輯程序代碼,執行特定企業功能,然后把這些企業對象分發到應用服務器。
1.2體系結構
三層或多層體系結構中比二層C/S結構增加了一個中間層到客戶端和數據庫端間。中間層的實現有多種方法,目前最常用的是應用服務器,把使用的事務和消息服務器看作應用系統的基礎“中間件”平臺[4],客戶端程序不直接與數據庫服務器通信,而是通過中間層?應用服務器來訪問,當有客戶端程序發出數據請求時,通過指令傳送到應用服務器,應用服務器接到指令后,調用相應函數(Function)、過程(Procedure)等業務邏輯來向數據庫服務器發出指令,數據庫服務器經過運算后,將處理結果反饋至應用服務器,再由應用服務器將中間結果反饋至客戶端程序,從而大大減少數據庫端訪問量過大的開銷,提高數據處理能力和系統運行效率[5],如圖1所示。
圖1 三層C/S體系結構
1.3MIDAS技術
多層分布式應用服務包(Multi?tier Distributed Application Services Suite,MIDAS),在Delphi企業版里被用來創建多層應用程序。MIDAS提供了一套高級組件、服務和核心技術,可以簡化跨平臺(Windows,UNIX,Linux)、跨產品的多級分布式應用系統的開發,通過它可以用相同的組件訪問不同的后端應用程序服務器,在帶寬具有挑戰性的網絡中,與其他解決方案所產生的分布式應用相比,具有更快、更容易和更高的特性[6]。
MIDAS三層體系結構指邏輯上的三層,即應用表示層、應用邏輯層和數據層。應用表示層主要負責用戶端界面,提供給用戶一個操作方便且簡單快捷的應用服務接口;應用邏輯層(或為應用服務器)是整個結構中最重要的部分,實現應用程序的應用邏輯處理;數據層(又為數據庫服務器)則負責數據的存取和管理。應用邏輯層將業務規則、數據訪問及合法性檢驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過通信協議與中間層建立連接,再經由中間層與數據庫進行交互。Delphi對多層分布式應用程序的支持主要得益于其MIDAS技術,該技術允許分割數據庫應用程序,并實現對商業規則和進程的集中管理[7]。
2系統分析與設計
2.1系統需求分析
在軟件工程理論中,需求分析是軟件工程設計最重要的一環,是連通用戶與軟件開發人員的橋梁,是整個開發過程的重要基礎。電子元器件因種類多、設計期間用量大、參賽參訓人數多、實驗人員管理雜等特點,元器件管理系統需要有準確、全面的一手用戶需求資料,從而設計出符合要求的功能需求,為電子設計競賽實驗室管理人員提供高效、準確的統計與分析數據,更好地做好服務[8]。歸納出以下需求:
(1) 元器件基本要素:元器件是元件和器件的概稱,包括元器件類別、名稱、規格、型號等要素。
(2) 元器件存放要素:為方便電子設計實訓時學生快捷領用元器件,在元器件存放時,嚴格按規定存放到指定編號的小器件單元,單元按元器件類別分類存放,按序編號。
(3) 元器件采購要素:包括元器件類別、名稱、規格、型號、日期、數量、單價、供應商等。
(4) 元器件的出庫要素:學生領用和元器件調撥,包括元器件類別、名稱、規格、型號、數量、出庫類別、領用人學號、姓名(或被調撥單位名稱)、領用日期等要素。
(5) 用戶信息:包括實驗室管理人員、學生,權限分為查詢、統計、入庫、出庫、可領用等。
(6) 系統的功能需求。根據電子設計競賽實訓元器件管理的特性及元器件發放的流程分析,電子元器件管理系統需要完成的功能有:元器件基本設置、采購及入庫、元器件發放(或領用)、元器件調撥、元器件庫存統計及預警、元器件相關查詢等功能。
2.2系統的功能設計
通過上述的系統需要分析,設計出本系統應完成的具體功能結構(如圖2所示)。
圖2 元器件管理系統功能結構圖
(1) 用戶權限管理功能模塊。電子設計競賽日常培訓由實驗室工作人員管理,負責元器件的采購計劃、元器件的發放與回收、庫存分析等工作。按用戶的實際操作范圍,生成不同的角色,每一角色具有不同的使用權限,然后為不同的操作用戶分配不同的角色。權限分為:普通管理員、超級管理員。
(2) 元器件倉庫管理功能模塊。對元器件倉庫按元器件的類別進行分類管理,并按元器件的規格、型號來分別設置元器件倉庫存放地點,設置統一編號管理元器件倉庫。可實現按倉庫編號查元器件名稱、數量等操作;可根據元器件查找倉庫,方便學生領用時快速尋找元器件。
(3) 元器件進庫管理功能模塊。根據年度采購計劃;采購后元器件入庫。入庫信息包含供應商、價格、日期、倉存單元編號等信息;該模塊能實現數據的錄入與修改操作及元器件的入庫和查詢匯總操作等功能。
(4) 元器件出庫功能模塊。元器件出庫方式主要有:學生領用元器件、元器件調撥。學生領用元器件,需先經遠程預約領用,由實驗室人員按預約進行發放;實驗室人員能根據預先設定的元器件存放地址準確找到元器件;元器件調撥必須要有調入單位信息,需經超級管理員審核方可執行。
(5) 元器件庫存預警功能模塊。根據實際庫存及系統預設預警數量,系統自動并作出相應庫存預警。
(6) 元器件倉存統計查詢功能模塊。按各種統計要求設計各類統計查詢功能,可統計某段時間內元器件的使用量,并可生成各類報表。
(7) 條碼管理。學生學號、元器件均采用條碼管理,方便錄入。
2.3系統的體系結構設計
電子元器件管理系統建立在局域網和關系數據庫的基礎之上,將存在于實際操作和數據庫中的數據抽象為業務邏輯對象,通過對象管理框架進行管理。在此基礎上,構建若干適應電子競賽用元器件實際情況的功能模塊,通過友好的用戶界面與用戶交互,完成電子設計競賽和實驗室人員元器件管理服務的系統。其中:
(1) 對象管理框架層:提供實現電子元器件管理的各種功能的核心構架;
(2) 系統功能模塊層:在用戶界面層,用戶命令的處理均由各項功能模塊完成;
(3) 圖形用戶界面層:提供友好的交互式的圖形界面,使學生和實驗室人員可以直觀方便地完成電子元器件管理系統的各項功能;
(4) 系統支持層:電子元器件管理系統是一個多層分布式的管理系統,分布式技術及網絡技術有效支持分散數據的集中管理,而關系數據庫的數據操作功能有效支持了系統對象在底層數據庫的管理[9?10]。
3系統的具體實現與特點
根據多層分布式系統的結構和電子元器件管理的特點,分別實現該系統數據庫層、業務邏輯層、用戶表示層的詳細設計。
3.1系統數據庫層服務器的實現
根據電子元器件管理系統的功能要求,選取MicroSoft SQL Server 2000作為后臺數據庫。SQL Server2000具有強大的數據管理功能,支持數據的完整性、安全性管理和并發控制。在數據庫服務器中構建關系數據庫(ElecComponentsDb),建立若干個數據表,分別存放用戶權限管理、元器件類別、元器件入庫資料、元器件領導用管理、元器件調撥等信息,并設置若干個由多個表JOIN連接的視圖,以設計各類管理功能需要的交叉查詢功能。大量在客戶端不能完成的系統功能,全部設計為數據庫服務器端的存儲過程,用存儲過程來實現系統功能,達到了既快速,又安全的目的。主要存儲過程有:
(1) 元器件領庫存余量計算算法功能:PROCEDURE ElecChipsCalc;
(2) 元器件分類匯總:PROCEDURE ElecChipsStas;
(3) 元器件進倉處理:PROCEDURE ElecCmpsIn;
(4) 元器件領用處理: PROCEDURE ElecCmpsOut等。
3.2應用服務器的建立
(1) 使用數據集組件連接遠程數據庫
使用Delphi7.0分布式VCL組件建立一個OLE Automation服務器,客戶端程序通過應用服務器的IAppServer接口連接客戶端應用程序供其調用。通過加入讀取INI文件中存儲的服務器、用戶名、口令等信息的代碼以及授權等信息碼后。從外置INI文件讀取信息的程序代碼如下:
sf:Tinifile;//INI文件實例
begin
sf:=Tinifile.Create(ExtractFilePath(Paramstr(0))+'ScunSys.ini');
with sf do
begin
edtserv.text:=readstring('system','Server','(Local)');
edtdb.text:=readstring('system','DbName','scunpersondb'); //
edtuser.text:=readstring('system','UserName','sa');
edtpwd.text:= readstring('system','password','**');
// 讀取服務器信息、數據庫、User用戶信息、Password口令信息等
end;
(2) 通過RDM的IAppServer接口來存取遠程數據庫的數據集
在RDM中通過數據集組件的方式顯然不能完全解決數據的高速存取及數據連接池的問題,且安全性不能得到保障,故在本系統中采用了通過設置IAppServer接口函數來實現數據集的存取操作.
在系統中,根據獲取數據集、存儲數據集及其他功能實現的方式設立以下幾種主要的業務函數:
① 通過數據庫端存儲過程獲取數據。(有數據集返回)
function AccqDataFromStoreproc (): OleVariant; 該函數返回值為一數據集,直接賦值給DataSet.Data,從客戶端接收SQL語句獲取數據。程序代碼如下:
function TScunAppS.AccqDataFromStoreproc(const spName: WideString;Params: OleVariant; const spdname: WideString): OleVariant;
var
i:integer;
sconn:Tadoconnection; //設置TAdoConnection實例
fromsp:TadoStoredproc; //設置TAdo Storedproc;實例接收客戶端傳遞的存儲過程名稱及其參數列表
begin
sconn:=Tadoconnection.create(self);
if ScunAppInfo.ConnectDB(sconn) then
begin
fromsp:=TadoStoredproc.Create(self);
spdsp:=Tdatasetprovider.Create(self);
with spdsp do
begin
DataSet:=fromsp;
exported:=true;
resolvetodataset:=true;
name:=spdname;
end;
with fromsp do
begin
close;
connection:=sconn;
Procedurename:=spname;
if (varisarray(params)) then
begin
parameters.Clear;
for i:=vararraylowbound(params,1) to vararrayhighbound(params,1) do
begin
Parameters.Add;
Parameters[i].Value:=params[i];
//從params分離出存儲過程參數
end;
end
else
exit;
prepared:=true;
try
active:=true;
result:=spdsp.Data; //獲取數據集,Variant參數回傳客戶端
except
on e: Exceptiondoraise;
end;
end;
end;
scunappinfo.stpspname:=spdname;
end;
② 更新數據集函數有兩個:UpdateByScript,UpdateByStoreProc,從客戶端接收SQL語句更新數據集。
③ 其他類函數:ECmpLogin, ECmpUnLogin,ReleaseDSProvider,用于對應用服務器的操作和管理。
3.3客戶端應用程序的建立
在Delphi中建立一個項目組,連接應用程序服務器,然后建立一個新的Application應用程序。新建一數據模塊,加入一個MIDAS組件板中的TDCOM Connection組件,設定其Computer Name屬性值為應用程序服務器位于的主機名稱。設定TDCOM Connection要使用的應用程序服務器,設置應用程序服務器的GUID和填在TDCOM Connection的ServerGUID屬性值。再添加TClientDataSet組件,設置其Provider Name 屬性值,激活TClient DataSet的實例,使其通過中間層從數據庫服務器中取得數據集。
在多層體系中,應用程序將待更新的數據暫存在客戶端應用程序中,系統真正要求將數據集更新回數據庫時,必須調用應用程序服務器提供的Apply Updates方法,才會把更新的數據集真正的更新回后端數據庫中,其更新方法如下:
If(DataModule1.Clientdataset1.changecount>0) then
//判斷數據集是否有更新發生
begin
DataModule1.Clientdataset1.Post;
DataModule1.Clientdataset1.ApplyUpdates(0);
//更新數據集至數據庫
end;
3.4主要功能模塊的實現
(1) 根據系統的功能設計詳細設計書,制作程序用戶界面圖,并編寫程序代碼,實現電子元器件管理系統的各項主要功能。如圖3所示為電子元器件管理系統的主界面窗口。
圖3 電子元器件管理系統主界面圖
(2) 用戶登錄密碼加/解密算法實現。因使用的數據庫SQL Server2000存放用戶信息的表字符均為明文,而管理人員復雜,登錄用戶密碼易被泄密,故采用異或算法來對用戶密碼明文進行加密,讀取密碼時進行解密。具體算法如下:
ss:='';
ts:=trim(passWord.text); //用戶輸入的密碼加密
for i:=1 to length(ts) do
ss:=ss+char(ord(ts[i]) xor 127);
解密算法同樣采用xor算法來實現。
(3) 元器件入庫管理模塊。系統設定元器件入庫前必須要有預算計劃,每次入庫自動生成一個入庫單號,然后在該入庫單下進行元器件各類參數信息的錄入。見圖4為元器件入庫管理模塊。
圖4 元器件入庫管理模塊圖
(4) 元器件領用管理模塊。在電子設計日常實訓中,學生經常要進入實驗室進行領用元器件,在領用元器件前學生必須經過系統的預約,預約領哪些元器件,并經指導老師審核后,方可到實驗室領取所預約的元器件。元器件領用管理模塊實現功能如圖5所示。
圖5 元器件領用管理模塊圖
其他功能模塊均已按設計要求進行實現,并經測試使用正常。在系統的使用過程中,學號、元器件編號無使用條碼錄入,增添了程序的可操作性和快捷性。
3.5多層穩固性及容錯與負載平衡能力的處理
系統采用了多個應用服務器來同時處理客戶端進程,系統的穩固性必然受到影響,程序在開發過程中使用DELPHI提供的TSimple Object Broker 組件的內置功能來實現系統的穩固性。通過修改TSimple Object Broker的屬性servers值來添加及維護一個能夠執行應用程序服務器的機器列表,并設置TDCOM Connection 或TSocket Connection以連接遠程服務器。當連結的主機故障時, TDCOM Connection 或TSocket Connection 可以從TSimple Object Broker 取得一個新的能夠執行應用程序服務器的遠程機器名稱,然后再連結到這臺新機器以取得應用程序服務器的服務[11]。
本系統采用動態平衡算法來保證負載平衡能力,主要依靠TSimple Object Broker組件強大的功能,設定TSimple Object Broker 的LoadBalanced 屬性來提供簡單的負載平衡能力。這樣當某臺應用服務器出現故障時,客戶端系統能通過TSimple Object Broker組件的負載平衡能力自動尋找正常運行的應用服務器,并接管該進程的管理功能,從而達到負載平衡的功能。
4結語
通過對全國大學生電子設計競賽元器件管理的現狀和特點進行了全面的分析,提出了采用多層分布式結構和C/S架構平臺的分析和設計方法,充分運用成熟的MIDAS框架和ADO技術來開發三層體系結構的電子競賽元器件管理系統,將電子競賽元器件管理的多項處理業務邏輯封裝在中間層應用服務器層,運用Delphi 7開發客戶端程序,構建了一個功能強大的電子元器件管理系統。結果表明由MIDAS開發的三層架構的電子元器件管理系統易于維護,結構層次優化,安全性更高,極大地提高了高校電子設計競賽及其實訓電子元器件的管理效率。系統還充分運用Delphi開發平臺解決了應用服務器的多層穩固性及容錯與負載平衡,使應用層服務器運行更加穩定,運行速度更快更高效。
參考文獻
[1] 刁鳴,王松武,李海波.大學生電子設計競賽的實施與思考[J]. 實驗室技術與管理,2010,27(9):127?129.
[2] 梁偉,盧剛,陳建泗.基于信息支持設備的電路板元器件定位軟件開發[J].計算機應用與軟件,2011(1):201?203.
[3] 王曉英,劉思揚.基于B/S 的實驗室EIMS分析與設計[J].現代電子技術,2013,36(17):155?158,162.
[4] 楊佳麗,黎敬濤.基于PHP的一個家庭理財系統的設計與實現[J].計算機應用與軟件,2013(2):259?262.
[5] 王寧,吳慶學.基于VFP的校園招聘信息管理系統的設計與實現[J].現代電子技術,2013,36(4):23?25.
[6] 聶維.基于Java的中小型企業人事管理系統的設計與實現[J]. 現代電子技術,2013,36(20):91?93.
[7] 陶昕,謝昕.基于COM/DCOM 集成的多數據庫系統的研究與實現[J].微計算機信息,2011,27(6):206?208.
[8] 朱學寧,林加論,張錦.大學物理實驗報告自動批閱系統的設計與實現[J].現代電子技術,2013,36(12):58?60.
[9] 張俐,張維璽,陸冰峰.基于SH框架和DAO工廠模式的網上充值卡銷售系統的設計與實現[J].計算機應用與軟件,2013(8):123?126.
[10] 劉小豫,韓麗娜.基于.NET的排球成績測評系統的設計與實現[J].現代電子技術,2013,36(4):26?28.
[11] 楊勤文.基于Delphi 的企業應用信息系統簡易開發平臺的設計與實現[J].計算機應用與軟件,2013(2):328?333.
圖5 元器件領用管理模塊圖
其他功能模塊均已按設計要求進行實現,并經測試使用正常。在系統的使用過程中,學號、元器件編號無使用條碼錄入,增添了程序的可操作性和快捷性。
3.5多層穩固性及容錯與負載平衡能力的處理
系統采用了多個應用服務器來同時處理客戶端進程,系統的穩固性必然受到影響,程序在開發過程中使用DELPHI提供的TSimple Object Broker 組件的內置功能來實現系統的穩固性。通過修改TSimple Object Broker的屬性servers值來添加及維護一個能夠執行應用程序服務器的機器列表,并設置TDCOM Connection 或TSocket Connection以連接遠程服務器。當連結的主機故障時, TDCOM Connection 或TSocket Connection 可以從TSimple Object Broker 取得一個新的能夠執行應用程序服務器的遠程機器名稱,然后再連結到這臺新機器以取得應用程序服務器的服務[11]。
本系統采用動態平衡算法來保證負載平衡能力,主要依靠TSimple Object Broker組件強大的功能,設定TSimple Object Broker 的LoadBalanced 屬性來提供簡單的負載平衡能力。這樣當某臺應用服務器出現故障時,客戶端系統能通過TSimple Object Broker組件的負載平衡能力自動尋找正常運行的應用服務器,并接管該進程的管理功能,從而達到負載平衡的功能。
4結語
通過對全國大學生電子設計競賽元器件管理的現狀和特點進行了全面的分析,提出了采用多層分布式結構和C/S架構平臺的分析和設計方法,充分運用成熟的MIDAS框架和ADO技術來開發三層體系結構的電子競賽元器件管理系統,將電子競賽元器件管理的多項處理業務邏輯封裝在中間層應用服務器層,運用Delphi 7開發客戶端程序,構建了一個功能強大的電子元器件管理系統。結果表明由MIDAS開發的三層架構的電子元器件管理系統易于維護,結構層次優化,安全性更高,極大地提高了高校電子設計競賽及其實訓電子元器件的管理效率。系統還充分運用Delphi開發平臺解決了應用服務器的多層穩固性及容錯與負載平衡,使應用層服務器運行更加穩定,運行速度更快更高效。
參考文獻
[1] 刁鳴,王松武,李海波.大學生電子設計競賽的實施與思考[J]. 實驗室技術與管理,2010,27(9):127?129.
[2] 梁偉,盧剛,陳建泗.基于信息支持設備的電路板元器件定位軟件開發[J].計算機應用與軟件,2011(1):201?203.
[3] 王曉英,劉思揚.基于B/S 的實驗室EIMS分析與設計[J].現代電子技術,2013,36(17):155?158,162.
[4] 楊佳麗,黎敬濤.基于PHP的一個家庭理財系統的設計與實現[J].計算機應用與軟件,2013(2):259?262.
[5] 王寧,吳慶學.基于VFP的校園招聘信息管理系統的設計與實現[J].現代電子技術,2013,36(4):23?25.
[6] 聶維.基于Java的中小型企業人事管理系統的設計與實現[J]. 現代電子技術,2013,36(20):91?93.
[7] 陶昕,謝昕.基于COM/DCOM 集成的多數據庫系統的研究與實現[J].微計算機信息,2011,27(6):206?208.
[8] 朱學寧,林加論,張錦.大學物理實驗報告自動批閱系統的設計與實現[J].現代電子技術,2013,36(12):58?60.
[9] 張俐,張維璽,陸冰峰.基于SH框架和DAO工廠模式的網上充值卡銷售系統的設計與實現[J].計算機應用與軟件,2013(8):123?126.
[10] 劉小豫,韓麗娜.基于.NET的排球成績測評系統的設計與實現[J].現代電子技術,2013,36(4):26?28.
[11] 楊勤文.基于Delphi 的企業應用信息系統簡易開發平臺的設計與實現[J].計算機應用與軟件,2013(2):328?333.
圖5 元器件領用管理模塊圖
其他功能模塊均已按設計要求進行實現,并經測試使用正常。在系統的使用過程中,學號、元器件編號無使用條碼錄入,增添了程序的可操作性和快捷性。
3.5多層穩固性及容錯與負載平衡能力的處理
系統采用了多個應用服務器來同時處理客戶端進程,系統的穩固性必然受到影響,程序在開發過程中使用DELPHI提供的TSimple Object Broker 組件的內置功能來實現系統的穩固性。通過修改TSimple Object Broker的屬性servers值來添加及維護一個能夠執行應用程序服務器的機器列表,并設置TDCOM Connection 或TSocket Connection以連接遠程服務器。當連結的主機故障時, TDCOM Connection 或TSocket Connection 可以從TSimple Object Broker 取得一個新的能夠執行應用程序服務器的遠程機器名稱,然后再連結到這臺新機器以取得應用程序服務器的服務[11]。
本系統采用動態平衡算法來保證負載平衡能力,主要依靠TSimple Object Broker組件強大的功能,設定TSimple Object Broker 的LoadBalanced 屬性來提供簡單的負載平衡能力。這樣當某臺應用服務器出現故障時,客戶端系統能通過TSimple Object Broker組件的負載平衡能力自動尋找正常運行的應用服務器,并接管該進程的管理功能,從而達到負載平衡的功能。
4結語
通過對全國大學生電子設計競賽元器件管理的現狀和特點進行了全面的分析,提出了采用多層分布式結構和C/S架構平臺的分析和設計方法,充分運用成熟的MIDAS框架和ADO技術來開發三層體系結構的電子競賽元器件管理系統,將電子競賽元器件管理的多項處理業務邏輯封裝在中間層應用服務器層,運用Delphi 7開發客戶端程序,構建了一個功能強大的電子元器件管理系統。結果表明由MIDAS開發的三層架構的電子元器件管理系統易于維護,結構層次優化,安全性更高,極大地提高了高校電子設計競賽及其實訓電子元器件的管理效率。系統還充分運用Delphi開發平臺解決了應用服務器的多層穩固性及容錯與負載平衡,使應用層服務器運行更加穩定,運行速度更快更高效。
參考文獻
[1] 刁鳴,王松武,李海波.大學生電子設計競賽的實施與思考[J]. 實驗室技術與管理,2010,27(9):127?129.
[2] 梁偉,盧剛,陳建泗.基于信息支持設備的電路板元器件定位軟件開發[J].計算機應用與軟件,2011(1):201?203.
[3] 王曉英,劉思揚.基于B/S 的實驗室EIMS分析與設計[J].現代電子技術,2013,36(17):155?158,162.
[4] 楊佳麗,黎敬濤.基于PHP的一個家庭理財系統的設計與實現[J].計算機應用與軟件,2013(2):259?262.
[5] 王寧,吳慶學.基于VFP的校園招聘信息管理系統的設計與實現[J].現代電子技術,2013,36(4):23?25.
[6] 聶維.基于Java的中小型企業人事管理系統的設計與實現[J]. 現代電子技術,2013,36(20):91?93.
[7] 陶昕,謝昕.基于COM/DCOM 集成的多數據庫系統的研究與實現[J].微計算機信息,2011,27(6):206?208.
[8] 朱學寧,林加論,張錦.大學物理實驗報告自動批閱系統的設計與實現[J].現代電子技術,2013,36(12):58?60.
[9] 張俐,張維璽,陸冰峰.基于SH框架和DAO工廠模式的網上充值卡銷售系統的設計與實現[J].計算機應用與軟件,2013(8):123?126.
[10] 劉小豫,韓麗娜.基于.NET的排球成績測評系統的設計與實現[J].現代電子技術,2013,36(4):26?28.
[11] 楊勤文.基于Delphi 的企業應用信息系統簡易開發平臺的設計與實現[J].計算機應用與軟件,2013(2):328?333.