在服務(wù)器推送模式下,當(dāng)有新的測試數(shù)據(jù)時,服務(wù)器主動將新數(shù)據(jù)推送到客戶端瀏覽器,這樣頁面更新就與實際測試達到同步,使網(wǎng)絡(luò)測試實時性更強。再結(jié)合瀏覽器的插件技術(shù),在Web頁面中嵌入Ac-tiveX控件或JavaApplet,實現(xiàn)頁面局部更新。這樣服務(wù)器只需發(fā)送剛測試的數(shù)據(jù),而無需整個頁面,從而降低了服務(wù)器的負擔(dān)。同時,由于Web頁中引入插件,特別是JavaApplet,將使客戶端具有一定的數(shù)據(jù)處理能力,充分利用客戶端計算機的資源,加大了網(wǎng)絡(luò)化虛擬儀器開發(fā)的靈活性。
其次,在數(shù)據(jù)拉曳模式下,客戶端與服務(wù)器并不持續(xù)保持TCP連接。當(dāng)一個頁面更新完畢,它們會中斷連接,在需要刷新數(shù)據(jù)時它們又必須重新建立連接。而在數(shù)據(jù)推送模式下,只要客戶端自己不斷開連接,在整個測試過程中,連接會一直保持著。由于建立和斷開TCP連接需要花費相當(dāng)多的時間,因此服務(wù)器數(shù)據(jù)推送模式比客戶端數(shù)據(jù)拉曳模式性能更高,在基于Web的虛擬儀器測試系統(tǒng)中更具優(yōu)勢。
基于B/S模式的虛擬儀器儀器測試技術(shù)的發(fā)展是立足于測量技術(shù),并不斷容納新技術(shù)的過程。傳統(tǒng)測試儀器主要是依靠硬件設(shè)備來完成整個測試活動,包括數(shù)據(jù)采集、處理和顯示等??梢葬槍Σ煌臏y試對象設(shè)計相應(yīng)的高性能硬件儀器,但其結(jié)構(gòu)復(fù)雜、成本高,一旦設(shè)計完成,再想擴展新的功能就非常困難。隨著計算機處理能力的不斷加強,依托軟件技術(shù)設(shè)計的靈活性,儀器進入/虛擬化0時代。/軟件就是儀器0已深入人心<1>。而網(wǎng)絡(luò)技術(shù)的發(fā)展完善、網(wǎng)絡(luò)產(chǎn)品性能的提高和Inter-net的廣泛普及,推動虛擬儀器進入了網(wǎng)絡(luò)時代?;贐/S模式的虛擬儀器正是儀器網(wǎng)絡(luò)化的一種。若虛擬儀器使測試數(shù)據(jù)的處理和顯示等移植到單個計算機,那么基于B/S模式的虛擬儀器就是把數(shù)據(jù)的處理、顯示合理地分布到測試計算機和客戶計算機,實現(xiàn)遠程測試,如所示。
基于B/S模式的虛擬儀器模型實現(xiàn)基于B/S模式的虛擬儀器的方式可以多種多樣:(1)通過配置LabVIEWWebServer實現(xiàn)這可以把運行在測試計算機上的前面板嵌入到客戶端的瀏覽器中,快速實現(xiàn)B/S模式虛擬儀器。但這種方式僅是把儀器面板轉(zhuǎn)移到了客戶端,并不能利用客戶計算機的處理資源,靈活性較差。而且根據(jù)不同的LabVIEW軟件版本,其支持的客戶端連接數(shù)只有1個或5個,要加大連接數(shù)須另向NI公司購買授權(quán)。(2)通過配置LabVNC實現(xiàn)LabVNC是基于虛擬網(wǎng)絡(luò)計算作業(yè)(virtualnet-workcomputing,VNC)協(xié)議的免費軟件。這種方式也僅是把虛擬儀器面板轉(zhuǎn)移到客戶端,客戶端面板圖像不穩(wěn)定且只允許一個客戶連接。