- 相關推薦
分布式網(wǎng)絡系統(tǒng)中的數(shù)據(jù)訪問設計與優(yōu)化
分布式網(wǎng)絡系統(tǒng)中的數(shù)據(jù)訪問設計與優(yōu)化*
張均東,任 光,陳 健
(大連海事大學 輪機工程學院,遼寧大連 116026)
摘 要: 在基于局域網(wǎng)的大型分布式仿真和控制系統(tǒng)中,包括數(shù)據(jù)庫服務器在內(nèi)的各計算機之間的信息交互方案的設計是系統(tǒng)性能優(yōu)異的關鍵,尤其是在計算機數(shù)量較多或待交互的單位時間信息量較大時更為重要。計算機間的信息交互涉及各機間的共享數(shù)據(jù)的讀取、存貯和更新等方面的內(nèi)容,需采取有效的系統(tǒng)規(guī)劃、實時通訊和快速數(shù)據(jù)庫訪問等手段解決。本文全面論述了有關內(nèi)容,給出了有效的解決方案。
關鍵詞:網(wǎng)絡系統(tǒng)、 信息交互、優(yōu)化設計
1 前言
隨著計算機和網(wǎng)絡技術的不斷提高,使用基于局域網(wǎng)的,分布式的計算機系統(tǒng)對大型、綜合或復雜的工業(yè)過程和運行環(huán)境進行系統(tǒng)仿真與運行模擬以及控制已越來越普遍。由于這樣的仿真與控制系統(tǒng)一般規(guī)模龐大或過程復雜,單獨一臺計算機無法完成整個系統(tǒng)任務,需要多機參與,構(gòu)成計算機網(wǎng)絡,通過網(wǎng)上信息交互共同協(xié)調(diào)完成整個仿真與控制任務。各機之間信息交互的方式、頻率和數(shù)量決定了整個網(wǎng)絡系統(tǒng)的綜合性能。由于在這樣的系統(tǒng)中,機間的信息交互一般都非常頻繁,各機都要面臨數(shù)據(jù)更新、系統(tǒng)運行、結(jié)果存貯等過程的快速性問題,因此有關的設計是非常重要和關鍵的。
2 系統(tǒng)規(guī)劃與設計
無論是仿真還是控制系統(tǒng),合理的系統(tǒng)和數(shù)據(jù)規(guī)劃至關重要。通過系統(tǒng)和數(shù)據(jù)規(guī)劃可以優(yōu)化系統(tǒng)設計,解決各機任務均衡,資源充分利用等問題,在兼顧可靠性、安全性和故障可診斷性的同時充分發(fā)揮系統(tǒng)的整體效率和性能,并容許具有一定的可擴展性。
目前有許多分布式仿真和控制系統(tǒng)采用以數(shù)據(jù)庫為中心的設計方案。在這種設計方案中,網(wǎng)上的交互信息通過數(shù)據(jù)庫來進行,首先由產(chǎn)生交互信息的機器存入數(shù)據(jù)庫,然后由需要該交互信息的機器從數(shù)據(jù)庫中讀出來完成一個信息交互或更新過程。由于該信息交互通過一個中間環(huán)節(jié)即數(shù)據(jù)庫來進行,因此在網(wǎng)上的計算機數(shù)量較多或程序要求的數(shù)據(jù)更新較多較快時,易造成數(shù)據(jù)沖突和網(wǎng)絡堵塞,極易導致系統(tǒng)運行遲緩或死機,成為整個系統(tǒng)性能的瓶頸。
當然以數(shù)據(jù)庫為中心的分布式仿真和控制系統(tǒng)也有其優(yōu)點,其編程思路比較簡單清晰,容易被人理解和掌握。對于網(wǎng)上信息交互量不多的系統(tǒng),可以采用以數(shù)據(jù)庫為中心的系統(tǒng),同時可以通過數(shù)據(jù)規(guī)劃合理地分配各計算機的任務,使用一些編程技術來降低網(wǎng)上的信息流量,提高系統(tǒng)的性能。例如在程序中應盡量使用全局變量創(chuàng)建公用數(shù)據(jù)庫連接,避免每次不必要的數(shù)據(jù)連接重建時間。
如果系統(tǒng)較大、網(wǎng)上信息交互量較多或?qū)ο到y(tǒng)實時性和可擴展性要求較高時,應采用實時網(wǎng)絡數(shù)據(jù)通訊的設計方案。在以數(shù)據(jù)庫為中心的系統(tǒng)設計方案中,由于數(shù)據(jù)的變化首先要存入數(shù)據(jù)庫,然后被其它程序訪問才能刷新,經(jīng)歷了數(shù)據(jù)庫存取這一中間環(huán)節(jié)。如果網(wǎng)上有多個應用程序都需要知道該數(shù)據(jù)的變化,則都必須通過數(shù)據(jù)庫訪問才能更新。這樣就浪費了許多網(wǎng)絡資源,容量造成瓶頸。在采用實時網(wǎng)絡數(shù)據(jù)通訊的設計方案中,通過網(wǎng)絡實時通訊來解決網(wǎng)上各機器間的數(shù)據(jù)交互與刷新問題,其中對于多臺機器都需要的數(shù)據(jù)變化通過網(wǎng)絡廣播的方式,以定時和數(shù)據(jù)變化實時觸發(fā)傳送的機制向所需機器通知該數(shù)據(jù)已發(fā)生變化和具體的數(shù)值;對于只存在兩臺機器之間的信息交互可采用點對點的方式進行通訊。通訊的數(shù)據(jù)格式和組織可以自行定義。因此,與以數(shù)據(jù)庫為中心的方案相比,該設計方案減少了因數(shù)據(jù)刷新所需的多次訪問問題,大大減少了數(shù)據(jù)流量,同時網(wǎng)絡傳輸還可以增加數(shù)據(jù)正確性和合法性校驗,為操作者或系統(tǒng)管理員及時提供系統(tǒng)信息和出錯信息,便于系統(tǒng)故障診斷和系統(tǒng)調(diào)試。
如果把各子系統(tǒng)初始化數(shù)據(jù)都保存在服務器的數(shù)據(jù)庫中,則各機一起啟動時,由于都需要建立數(shù)據(jù)庫鏈接,讀取其中的初始化數(shù)據(jù),容易造成起動時間過長的現(xiàn)象。為此,對于不必要存于服務器的數(shù)據(jù)可存于本地數(shù)據(jù)庫中,本地數(shù)據(jù)庫可采用ACCESS數(shù)據(jù)庫。對于一般不變的系統(tǒng)初始化數(shù)據(jù)也可以備存到本地數(shù)據(jù)庫中,供日常程序起動時使用。如果系統(tǒng)的初始化數(shù)據(jù)進行了更新,可以編制一段程序,根據(jù)數(shù)據(jù)庫服務器的數(shù)據(jù)庫版本號來更新本地數(shù)據(jù)庫。無論何種方案,數(shù)據(jù)庫的訪問總是不能避免的,如何提高數(shù)據(jù)庫的訪問速度非常值得研究。
3 提高數(shù)據(jù)庫訪問速度(以SQL數(shù)據(jù)庫為例)
客戶機程序一般采用VC ,VB,
【分布式網(wǎng)絡系統(tǒng)中的數(shù)據(jù)訪問設計與優(yōu)化】相關文章:
應用LabSQL實現(xiàn)LabVIEW中數(shù)據(jù)庫的訪問03-07
GIS訪問網(wǎng)絡數(shù)據(jù)庫中若干技術問題的探討03-18
大型ORACLE數(shù)據(jù)庫優(yōu)化設計方案03-21
Oracle數(shù)據(jù)庫的優(yōu)化03-18
異地并行設計中WEB數(shù)據(jù)庫設計*03-18
利用客戶訪問日志數(shù)據(jù)研究客戶需求和服務設計03-24
VB訪問數(shù)據(jù)庫的方法及接口的比較03-18
一種分布式移動SNS的資源訪問授權方式03-03