基于網(wǎng)絡(luò)的虛擬儀器測(cè)試系統(tǒng)
設(shè)計(jì)C/S模式時(shí)應(yīng)首先分析系統(tǒng)所要達(dá)到的指標(biāo)和功能要求,在此基礎(chǔ)上,把系統(tǒng)劃分為各個(gè)相對(duì)獨(dú)立的模塊,分配到各個(gè)計(jì)算機(jī)上,每個(gè)計(jì)算機(jī)執(zhí)行不同的功能,能在客戶機(jī)上完成的獨(dú)立任務(wù)就不要放在服務(wù)器上,以減低服務(wù)器的工作量。第二,要保證數(shù)據(jù)在服務(wù)器和客戶機(jī)、客戶機(jī)間可靠的傳輸。設(shè)計(jì)時(shí)需考慮網(wǎng)絡(luò)的帶寬要滿足傳輸要求,并減少網(wǎng)絡(luò)數(shù)據(jù)傳輸量。其次主要考慮的一個(gè)主要方面是選擇服務(wù)器類型。C/S模式中一種最基本的服務(wù)類型就是數(shù)據(jù)庫(kù)服務(wù)器,還有事務(wù)處理服務(wù)器、應(yīng)用服務(wù)器、對(duì)象服務(wù)器類型。
數(shù)據(jù)庫(kù)服務(wù)器中,客戶機(jī)使用一條SQL命令將服務(wù)請(qǐng)求發(fā)給數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)將范圍服務(wù)結(jié)果傳給客戶機(jī)。事務(wù)處理服務(wù)器把完成一項(xiàng)較為復(fù)雜的數(shù)據(jù)處理過(guò)程作為一項(xiàng)事務(wù)來(lái)對(duì)待,用一組SQL命令表示事務(wù)處理過(guò)程,服務(wù)器執(zhí)行完這組命令后將結(jié)果返回客戶機(jī)。應(yīng)用服務(wù)器用來(lái)控制一臺(tái)信息、圖象或電子郵件顯示設(shè)備,控制電子公告牌、具有下載能力的處理機(jī)。對(duì)象服務(wù)器的應(yīng)用程序是作為一種通信對(duì)象的結(jié)構(gòu)來(lái)設(shè)計(jì)的,即客戶機(jī)對(duì)象和服務(wù)器對(duì)象??蛻魴C(jī)對(duì)象用一個(gè)對(duì)象請(qǐng)求來(lái)代理它與服務(wù)器對(duì)象之間的所有通信任務(wù)??蛻魴C(jī)對(duì)象請(qǐng)求代理在服務(wù)器上找到對(duì)應(yīng)的服務(wù)器對(duì)象,并將結(jié)果返回客戶機(jī)。
在測(cè)試系統(tǒng)中,可以設(shè)計(jì)具有采集服務(wù)的采集服務(wù)器,進(jìn)行數(shù)據(jù)處理分析的服務(wù)器、服務(wù)器類型可以是數(shù)據(jù)庫(kù)服務(wù)器,監(jiān)控服務(wù)器、信息發(fā)布數(shù)據(jù)顯示等采用應(yīng)用服務(wù)器、對(duì)象服務(wù)器。根據(jù)實(shí)際情況選擇合適的服務(wù)器類型對(duì)提高網(wǎng)絡(luò)測(cè)試系統(tǒng)的效率很重要。 網(wǎng)絡(luò)系統(tǒng)的安全性和可靠性在設(shè)計(jì)時(shí)必須要考慮的一個(gè)重要問(wèn)題,這也是網(wǎng)絡(luò)系統(tǒng)的熱門話題,在此不再敘述。
?。?)軟件開(kāi)發(fā)方法
由于測(cè)試系統(tǒng)各個(gè)節(jié)點(diǎn)的任務(wù)不同,所連接的數(shù)據(jù)庫(kù)管理系統(tǒng)不一定相同,因此測(cè)試系統(tǒng)一般希望不依賴數(shù)據(jù)庫(kù)管理系統(tǒng)。所以數(shù)據(jù)庫(kù)的開(kāi)發(fā)常采用ODBC方式,ODBC是一個(gè)數(shù)據(jù)庫(kù)訪問(wèn)的標(biāo)準(zhǔn)接口,可以通過(guò)這個(gè)接口訪問(wèn)不同類的數(shù)據(jù)庫(kù),基本上可用于所有的關(guān)系數(shù)據(jù)庫(kù)。不管測(cè)試數(shù)據(jù)庫(kù)是哪一種關(guān)系數(shù)據(jù)庫(kù),只要有相應(yīng)類型數(shù)據(jù)庫(kù)的ODBC驅(qū)動(dòng)程序,就可訪問(wèn)數(shù)據(jù)庫(kù)。ODBC API包括以下組件:
?、?測(cè)試應(yīng)用程序;
?、隍?qū)動(dòng)程序管理器:根據(jù)應(yīng)用程序的需要裝載ODBC驅(qū)動(dòng)程序。
?、跲DBC驅(qū)動(dòng)程序:向指定的數(shù)據(jù)源提交SQL語(yǔ)句,向應(yīng)用程序傳送返回結(jié)果。
?、軘?shù)據(jù)源:用戶要訪問(wèn)的數(shù)據(jù)、DBMS及操作系統(tǒng)。
LabVIEW提供了。DBC、SQL、DataSocket開(kāi)發(fā)工具,采用這些工具編程將提高編程效率。DataSocket是NI公司推出的一種面向測(cè)量和自動(dòng)化工程的網(wǎng)上實(shí)時(shí)數(shù)據(jù)交換的編程技術(shù)。它包括DS Sewer Manager,DS Sewer和DS函數(shù)庫(kù)這幾個(gè)工具軟件,以及DSip協(xié)議,通用資源定位符URL和文件格式等技術(shù)規(guī)范,它能大大簡(jiǎn)化Internet網(wǎng)上計(jì)算機(jī)之間的測(cè)控?cái)?shù)據(jù)交換的編程工作。DS也可以用子一臺(tái)計(jì)算機(jī)內(nèi)或局域網(wǎng)中多個(gè)應(yīng)用程序之間的數(shù)據(jù)交換。DS函數(shù)庫(kù)包含Open,read,writedose等函數(shù),DS技術(shù)可在C 語(yǔ)言、VB和LabVIEW等多種開(kāi)發(fā)環(huán)境中使用。在遠(yuǎn)程數(shù)據(jù)交換中可考慮采用DataSocket軟件。
若虛擬儀器軟件采用的是VC編寫的,用戶對(duì)VC比較熟悉時(shí),可用VC++開(kāi)發(fā)數(shù)據(jù)庫(kù),VC提供了多種訪問(wèn)數(shù)據(jù)庫(kù)的方法:ODBC、MFC ODBC、DAO、OLE DB、ADO等。這些技術(shù)各有特點(diǎn)。
ODBC可以訪問(wèn)所有的關(guān)系數(shù)據(jù)庫(kù),不能訪問(wèn)對(duì)象數(shù)據(jù)庫(kù)和其他非關(guān)系數(shù)據(jù)庫(kù),因此對(duì)于高層的數(shù)據(jù)庫(kù)應(yīng)用技術(shù)可采用如6C ODBC。MFC ODBC是VC提供的面向?qū)ο髷?shù)據(jù)庫(kù)類,MFC ODBC類封裝了ODBC API,提供了面向?qū)ο蟮臄?shù)據(jù)庫(kù)類,ODBC類主要有Cdatabase,Crecordset,CrecordView等。使用Cdatabase對(duì)象類連接數(shù)據(jù)庫(kù),Crecordset類可以對(duì)數(shù)據(jù)庫(kù)記錄查找、排序、添加、刪除、更新等操作。CrecordVIew類用來(lái)顯示文檔,使用這些類編寫程序大大簡(jiǎn)化了應(yīng)用程序的編寫。
DAO(數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象)是VC提供的一種通過(guò)程序代碼創(chuàng)建和操縱本地的數(shù)據(jù)庫(kù)和遠(yuǎn)地的數(shù)據(jù),管理數(shù)據(jù)庫(kù)中的對(duì)象或結(jié)構(gòu)的機(jī)制。DA0支持兩種不同的數(shù)據(jù)庫(kù)環(huán)境,一種是使用Micsoft Jet數(shù)據(jù)庫(kù)引擎來(lái)訪問(wèn)Micosoft Jet數(shù)據(jù)庫(kù)數(shù)據(jù)、Micosoft Jet連接的ODBC數(shù)據(jù)庫(kù)數(shù)據(jù)等。一種是ODBC Direct工作區(qū),即直接訪問(wèn)一個(gè)ODBC數(shù)據(jù)庫(kù),可通過(guò)ODBC訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,無(wú)須裝載Micosoft Jet數(shù)據(jù)庫(kù)引擎。利用DAO技術(shù),我們可以訪問(wèn)從txt文件直到大型后臺(tái)數(shù)據(jù)庫(kù)的多種數(shù)據(jù)庫(kù)格式。
OLE DB是一種基于組件對(duì)象模型的數(shù)據(jù)庫(kù)接口(Component Object Modul, COM),對(duì)所有的文件提供了一個(gè)統(tǒng)一的調(diào)用接口,既可以訪問(wèn)關(guān)系數(shù)據(jù)庫(kù),也可以訪問(wèn)非關(guān)系數(shù)據(jù)(如電子表格、電子郵件、各種文檔、文件等),由于采用COM模型,系統(tǒng)穩(wěn)定,接口靈活,具有可利用性和封裝性,訪問(wèn)數(shù)據(jù)庫(kù)速度,快,因?yàn)榻M件化使OLE DB程序?qū)崿F(xiàn)了功能分配,作為客戶機(jī)的數(shù)據(jù)應(yīng)用程序只需要完成自己的數(shù)據(jù)管理功能,作為服務(wù)器數(shù)據(jù)提供程序也只需要完成自己的一部分功能即可。
C/S中對(duì)象服務(wù)器、應(yīng)用服務(wù)器的開(kāi)發(fā)可采用OLE DB技術(shù)。
ADO〈ActiveX Data Object〉是VC提供的又一種面向?qū)ο髷?shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)。OLE DB可以訪問(wèn)數(shù)據(jù)庫(kù)應(yīng)用的能力,但還需要編寫大量的代碼程序。ADO訪問(wèn)數(shù)據(jù)庫(kù)是通過(guò)OLE DB提供程序進(jìn)行的。ADO技術(shù)采用高層訪問(wèn)技術(shù)訪問(wèn)封裝了的OLE DB中COM接口。它提 種語(yǔ)言的訪問(wèn)技術(shù),包括VB、VC、VBA、VJ++,同時(shí)ADO還可以用描述的腳本語(yǔ)言訪問(wèn)cript、VCScript等,用ADO開(kāi)發(fā)網(wǎng)頁(yè)在客戶機(jī)和服務(wù)器應(yīng)用程序中容易建立Internet虛擬儀kkd txxy. LabVIEW和VirSual C++都提供了豐富的服務(wù)器和客戶機(jī)數(shù)據(jù)庫(kù)軟件工具,根據(jù)自己的情況選擇合適的數(shù)據(jù)庫(kù)軟件開(kāi)發(fā)環(huán)境將大大提高系統(tǒng)開(kāi)發(fā)的效率。
3、結(jié)束語(yǔ)
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與虛擬儀器技術(shù)的發(fā)展與結(jié)合,進(jìn)一步拓寬了虛擬儀器的應(yīng)用,使虛擬儀器在測(cè)試自動(dòng)化、遠(yuǎn)程教學(xué)方面得以發(fā)展和應(yīng)用。C/S模式的網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)不同的應(yīng)用將系統(tǒng)的功能劃分為相對(duì)獨(dú)立的功能模塊,并在系統(tǒng)內(nèi)進(jìn)行合理分配,使網(wǎng)絡(luò)虛擬儀器系統(tǒng)性能達(dá)到最優(yōu)。計(jì)算機(jī)軟件及軟件工具技術(shù)的發(fā)展與應(yīng)用使得編寫虛擬儀器系統(tǒng)性能達(dá)到最優(yōu)。計(jì)算機(jī)軟件及軟件工具技術(shù)的發(fā)展與應(yīng)用使得虛擬儀器與網(wǎng)絡(luò)系統(tǒng)軟件容易實(shí)現(xiàn),進(jìn)一步推動(dòng)了虛擬儀器網(wǎng)絡(luò)系統(tǒng)的發(fā)展。
評(píng)論