分散式結構

分散式結構

分散式結構是客戶機/伺服器結構的一種特殊類型。在這種結構中,數據分布存儲在多台伺服器上。一個分散式資料庫是由分布於計算機網路上的多個邏輯相關的資料庫組成的,其中,網路上的每個節點都具有獨立處理能力,可以執行局部套用運算,也可通過網路執行全局套用運算。

基本介紹

  • 中文名:分散式結構
  • 外文名:distributed structure
  • 拼音:fēn bù shì jíe gòu
  • 屬性:客戶機/伺服器結構的特殊類型
  • 定義:網路中各結點之間有多條通路
  • 套用學科:計算機
定義,網路優點,實現模型,高度的分散式,

定義

網路中各結點之間有多條通路,就構成了分散式結構,見右圖所示。
分散式結構
分散式結構沒有固定的連線形式。從發信點到收信點的通路不止一條,通信時,由網路根據各結點的動態情況選擇通信的實際路徑。通信的控制功能分散在各結點上。它是最複雜的一種結構。它的通信控制也最複雜,對分散在各結點上的數據資源的管理也很複雜。由於結點問存在多條通路,當某些結點和鏈路發生故障時,仍有可能保證通信,所以有較高的可靠性。
分散式結構是客戶機/伺服器結構的一種特殊類型。在這種結構中,數據分布存儲在多台伺服器上。一個分散式資料庫是由分布於計算機網路上的多個邏輯相關的資料庫組成的,其中,網路上的每個節點都具有獨立處理能力,可以執行局部套用運算,也可通過網路執行全局套用運算。
分散式資料庫管理系統的數據物理上是分布存儲的,即數據存放在計算機網路上不同的局部資料庫中:而在邏輯上,數據之間有語義的聯繫,屬於一個系統。訪問數據的用戶既可以是本地用戶,也可以是通過網路連線的用戶。
OracleNet Services提供了企業級分散式連線方案,可以實現從客戶端套用到Oracle資料庫的網路會話。Oracle Net Services使用各種網路廣泛支持的通信協定或應用程式接口(API),為Oracle服務提供分散式資料庫和分散式進程管理。通信協定是一組規則,它決定了應用程式如何訪問網路,以及數據如何拆分成包在網路中傳輸等問題。API是一組過程,在網路環境中,它們提供了通過通信協定建立遠程連線的方法。

網路優點

分散式結構網路是將分布在不同地點的計算機通過線路互連起來的一種網路形式。
分散式結構網路具有如下優點:
(1)由於採用分散控制,即使整個網路中的某個局部出現故障,也不會影響全網的操作,因而具有很高的可靠性。
(2)網中的路徑選擇最短路徑算法,故網上延遲時間少,傳輸速率高,但控制複雜。
(3)各個節點間均可以直接建立數據鏈路,信息流程最短。
(4)便於全網範圍內的資源共享。
分散式網路的結構具有如下缺點:
(1)連線線路所用電纜長,造價高。
(2)網路管理軟體複雜。
(3)報文分組交換、路徑選擇、流向控制複雜。
鑒於分散式網路的結構特點,一般區域網路中並不採用這種結構,一般套用於物理距離較遠的公司或者單位位於不同地點之間的聯網。

實現模型

在分散式套用系統中最常使用的模型是客戶機/伺服器模型。客戶機/伺服器模型允許將任務量進行有效的劃分,由多個不同的應用程式一起分工合作,以提高系統效率,平衡網路負載。客戶機/伺服器模型還可能按其連線性再進行劃分,如果應用程式連線到正在使用的資料庫或網路,它便是連線的客戶。如果使用了應用程式,但沒有連線到資料庫或網路,它便是斷開的客戶。由於這種總體結構式的層次和連線模型並不互相排斥。每一個n層客戶機/伺服器應用程式都可以劃歸到連線的或斷開的類別中。
目前,在客戶機/伺服器模型中體系結構和連線方法主要有以下四種:
(1)傳統結構(兩層) 在傳統的客戶機/伺服器應用程式中,一個資料庫伺服器實現數據管理功能,而另一個客戶應用程式實現其他的功能。業務邏輯經常在客戶應用程式和資料庫宿主的存儲過程和觸發器中劃分。
(2)三層結構(n層)在三層模型中,資料庫伺服器實現數據管理功能,中間層應用程式實現公共業務邏輯,而界面組件提供用戶界面。當幾個應用程式訪問同樣的數據時,將相關的業務邏輯封裝到一個組件中就很有意義了。當訪問規則改變時,只有中間層組件需要更改。
(3)連線式 連線式客戶應用程式是一直保持對資料庫或網路連線的一種應用程式。這是一種最普通的客戶機/伺服器計算類型。應用程式實時回響用戶處理信息的要求,並將處理好的信息更新到資料庫中。在這種方式下處理數據的任務會落到RDBMs上。RDBMS通常並發更新和同時處理來自多個用戶對數據的請求。因為大量的和這些應用程式相關的業務規則都是以存儲過程、觸發器、授權和特權、用戶角色等形式存儲或設定在RDBMS內部。
(4)斷開式 斷開式應用程式是一種脫機操作的應用程式,它允許用戶處理數據而並不和某個網路或公司的數據倉庫直接連線。使得數據可以按照與使用實時事務處理不同的某種方式來進行處理。通常的方式是在給定周期的時間內接收數據並進行批處理,事務處理在本地數據倉庫進行,該倉庫必須能夠實現某種形式的複製操作。遠程用戶對公司數據倉庫中數據的複製或分發通常依靠周期性使用數據機連線到公司網路並傳輸數據來完成。這種傳輸通常由應用程式邏輯來處理,它利用了信息自動複製技術以保持數據的同步。這種方式在網路條件較差,實時處理要求不高的情況下是一種最佳的解決方案。
傳統的客戶機/伺服器模型實現起來可以特別快,因為它要求較少的前端沒計。用戶回響時間也可能要比更複雜的客戶機,伺服器模型的回響時間少。對於一個用戶數量少,範圍劃分清晰的應用程式來說,兩層模型是一個很好的選擇。
兩層應用程式通常不能很好地適應大量用戶使用的情況。在用戶數量增加時,存儲過程中真實業務邏輯的實現會導致資料庫競爭。客戶也需要高速地連線到資料庫伺服器上;因此對於遠程用戶來說兩層模型不是一個好選擇。更新分布可以很靈活,因為客戶組件中的改變必須要和伺服器組件中的改變很細心的協調。
三層應用程式一般比兩層應用程式具有更好的規模。在中間層中實現業務邏輯而不是用觸發器或存儲過程實現,這樣極大地減少了資料庫查詢的數量,因而也減少了資料庫競爭。當資料庫操作通過中間層時,用戶回響時問會增加。但是,儘管中間層初始化會降低開始的操作,但後續的操作會快得多。另外,並不是所有的資料庫操作都要通過中間層。對於簡單的資料庫查詢,其中的數據不可能再被使用,因此,從用戶界面直接訪問資料庫是適當的。
雖然三層模型更複雜,但是它真正具有更好的規模可變能力和靈活性。因為觸發器不強制執行業務邏輯,所以插入和更新操作快速且有效,並且資料庫伺服器可以處理更繁重的載入而更少產生競爭。
使用連線式客戶體系結構時,中間層或第二層組件可以遠程地執行,用戶不必要將它們一起放在自己的機器中,這樣有助於減少遠程機器上的複雜性。因為遠程機上複雜性很高時,維護起來很繁重並且要花費大量資金。
但如果遇到以下情況時,那么斷開式客戶體系結構會更適用:
(1)每周一次或兩周一次信息就足夠了。
(2)應用程式的執行很集中。
(3)要求高複雜性和足夠的可靠性程度。
(4)現場可能不支持連線性要求。
(5)可利用的頻寬不能以足夠的速度支持並發用戶團體。
如果能夠讓用戶使用一個斷開式應用程式,然後等機會到來時再傳輸數據,那么用戶就有了一定的靈活度。這樣在網路條件很差的情況下也不影響工作,工作完畢後可以再找機會傳輸數據。

高度的分散式

將來的趨勢是入侵檢測高度分散式監控結構的使用。這種方法將使用許多具有不同定位策略的自主代理。例如,根據使用的策略,每一個代理可以定位一個特定的事件類型、特徵類型、平台或過程,可以有不同的策略來管理分析功能並反映功能的存放。最可能的是,這樣的代理可以和其他信息源(作業系統和基礎設備中的日誌機制)同時存在,並且也可以被一個監督進程所管理。這個監督進程將把從代理得到的數據與從其他數據感測器得到的數據關聯起來,從而識別出細微的問題所在。
分散式監督和分析體系結構也能很好地適應實現某些免疫系統的入侵檢測方法。例如,許多代理都會檢查系統,尋找接觸關鍵檔案的反常過程。每一個代理都按照一個特定的攻擊特徵來衡量進程的活動。如果一個代理髮現了具有某種攻擊特徵的進程,它就會修改這個進程,也可能阻止這個進程的處理速度。由於這個進程會激發許多代理,每一個代理都會使這個進程的處理速度慢一點,所以這個進程的處理速度會慢到足以被人或被某種代理記錄下來,代理記錄關於這個進程的信息並將其殺死。

相關詞條

熱門詞條

聯絡我們