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