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