北京郵電大學軟件工程生的課程-數(shù)據(jù)庫設(shè)計開發(fā)-_第1頁
北京郵電大學軟件工程生的課程-數(shù)據(jù)庫設(shè)計開發(fā)-_第2頁
北京郵電大學軟件工程生的課程-數(shù)據(jù)庫設(shè)計開發(fā)-_第3頁
北京郵電大學軟件工程生的課程-數(shù)據(jù)庫設(shè)計開發(fā)-_第4頁
北京郵電大學軟件工程生的課程-數(shù)據(jù)庫設(shè)計開發(fā)-_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

3.3數(shù)據(jù)庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)的發(fā)展經(jīng)歷了主機/終端模式、客戶機/服務(wù)器模式之后,隨著Internet的發(fā)展,又出現(xiàn)了瀏覽器/服務(wù)器模式,以及分布式數(shù)據(jù)庫體系結(jié)構(gòu)。3.3.1簡介3.3.2客戶機/服務(wù)器結(jié)構(gòu)3.3.3C/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)3.3.4C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)3.3.5瀏覽器/服務(wù)器模式3.3.6分布式數(shù)據(jù)庫體系結(jié)構(gòu)3.3.1簡介早期數(shù)據(jù)庫系統(tǒng)是集中式的體系結(jié)構(gòu),所有訪問數(shù)據(jù)庫的應(yīng)用程序以及用戶終端發(fā)送并接受數(shù)據(jù)的通信都在一個宿主計算機(UNIX大型或小型機)上運行。隨著PC機的興起,單用戶的DBMS出現(xiàn),DBMS的功能和數(shù)據(jù)庫應(yīng)用功能結(jié)合在一個應(yīng)用程序中,數(shù)據(jù)庫應(yīng)用處理用戶輸入和屏幕輸出的同時,也處理對數(shù)據(jù)庫中數(shù)據(jù)的訪問?;赑C的單用戶DBMS不支持事務(wù)處理和回退恢復,不能保證數(shù)據(jù)的安全和完整,但查詢速度并不一定慢。3.3.1簡介基于PC的多用戶DBMS建立在文件服務(wù)器前提下,客戶端運行服務(wù)器的應(yīng)用程序,文件服務(wù)器將客戶申請的文件傳送給客戶機器,數(shù)據(jù)處理過程在客戶機器上進行。這種方式網(wǎng)絡(luò)傳輸?shù)氖菙?shù)據(jù)文件,傳輸量大,數(shù)據(jù)鎖定在解決并發(fā)時存在困難。事務(wù)處理的性質(zhì)使數(shù)據(jù)庫系統(tǒng)從集中式、PC系統(tǒng)過渡到客戶機/服務(wù)器系統(tǒng),并使分布式系統(tǒng)成為可能??蛻魴C/服務(wù)器系統(tǒng)最本質(zhì)的特點在于:客戶PC運行數(shù)據(jù)庫應(yīng)用(界面處理),數(shù)據(jù)庫服務(wù)器運行全部或大部分DBMS(數(shù)據(jù)處理)。服務(wù)器運行SQL,將查詢結(jié)果傳送到客戶端,減少了網(wǎng)絡(luò)信息的傳輸,系統(tǒng)采用數(shù)據(jù)鎖定、事務(wù)技術(shù)、存儲過程等數(shù)據(jù)庫技術(shù)保證數(shù)據(jù)完整一致準確。3.3.2客戶機/服務(wù)器結(jié)構(gòu)客戶機/服務(wù)器(Clien/Server)結(jié)構(gòu)可以指硬件結(jié)構(gòu),也可以指軟件結(jié)構(gòu)。硬件結(jié)構(gòu)指某項任務(wù)在兩臺或多臺計算機之間進行分配,客戶機來運行提供用戶接口和前端處理的應(yīng)用程序,服務(wù)器提供可供客戶機使用的各種資源和服務(wù)??蛻魴C在完成某一項任務(wù)時,通常要利用服務(wù)器上的共享資源和服務(wù)器提供的服務(wù)。在一個客戶機/服務(wù)器體系結(jié)構(gòu)中可以有多臺客戶機、多臺服務(wù)器。3.3.2客戶機/服務(wù)器結(jié)構(gòu)軟件結(jié)構(gòu)指把一個應(yīng)用系統(tǒng)按照邏輯功能分成四個組成部分:用戶界面、應(yīng)用表示邏輯、事務(wù)邏輯、數(shù)據(jù)管理,按照其相對角色的不同區(qū)分為客戶端和服務(wù)器端軟件??蛻糗浖軌蛘埱蠓?wù)器軟件的服務(wù)。客戶軟件和服務(wù)器軟件可以分布在網(wǎng)絡(luò)中不同的計算機節(jié)點上,也可以放置在同一臺計算機上。終端數(shù)據(jù)庫應(yīng)用程序用戶界面應(yīng)用邏輯事務(wù)邏輯數(shù)據(jù)管理GUI3GL4GLSQLORACLEDB23.3.2客戶機/服務(wù)器結(jié)構(gòu)常見C/S體系有兩層結(jié)構(gòu)和三層結(jié)構(gòu)。兩層C/S結(jié)構(gòu)的基本工作方式:客戶程序運行用戶的應(yīng)用程序,向數(shù)據(jù)庫服務(wù)器發(fā)送SQL請求,數(shù)據(jù)庫服務(wù)器接受客戶機的請求,并將處理結(jié)果返回客戶端。一個功能強大的客戶應(yīng)用開發(fā)語言和一個多用途的用于傳送客戶請求到服務(wù)器的機構(gòu)是整個兩層結(jié)構(gòu)的核心。在一個數(shù)據(jù)存取事件中,數(shù)據(jù)由服務(wù)器實施存儲和訪問,數(shù)據(jù)庫引擎負責處理從客戶端發(fā)來的請求。把SQL語言從客戶機傳送到服務(wù)器上必須能識別服務(wù)的標識符或由一個應(yīng)用程序接口來完成,還必須知道服務(wù)器的位置、數(shù)據(jù)組織形式以及數(shù)據(jù)如何定義。在服務(wù)器中,請求將得到存儲邏輯和處理的進一步優(yōu)化,例如使用權(quán)限、完整性、并發(fā)控制等。3.3.2客戶機/服務(wù)器結(jié)構(gòu)兩層C/S結(jié)構(gòu)具體又分為兩種實現(xiàn)方式:一種是客戶端完成界面顯示和應(yīng)用邏輯,服務(wù)器完成事務(wù)邏輯和數(shù)據(jù)管理。這種情況是以客戶為中心的。這種方式下,表示部分和應(yīng)用邏輯耦合緊密,比較適用于應(yīng)用相對簡單、數(shù)據(jù)訪問量不大的情況。另一種以服務(wù)器為中心,一些重要的應(yīng)用邏輯放在服務(wù)器上,充分利用服務(wù)器的計算能力,通常以存儲過程和觸發(fā)器出現(xiàn),減少網(wǎng)絡(luò)壓力,提高系統(tǒng)性能。這種方式下,存儲程序依賴于特定數(shù)據(jù)庫,不同數(shù)據(jù)庫間的移植不太容易。3.3.2客戶機/服務(wù)器結(jié)構(gòu)把兩層結(jié)構(gòu)中服務(wù)器部分和客戶端部分的應(yīng)用單獨劃分出來,即形成三層C/S結(jié)構(gòu)。在X/OpenDTP標準中描述了三層C/S模型:由應(yīng)用程序定義各種操作來執(zhí)行完成特定任務(wù),它定義事務(wù)的范圍并把服務(wù)要求提交給事務(wù)管理器、通信管理器及一個或多個資源管理器。資源管理器提供應(yīng)用程序的事務(wù)間的服務(wù),通常是一個數(shù)據(jù)庫。事務(wù)管理器提供事務(wù)的服務(wù)。如果事務(wù)跨越多個平臺,那么其中一個的事務(wù)管理器為該事務(wù)的事務(wù)管理器。通信管理器提供通信服務(wù)的接口以及管理應(yīng)用層協(xié)議。3.3.2客戶機/服務(wù)器結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用的三層C/S結(jié)構(gòu)將應(yīng)用分成表示部分、應(yīng)用邏輯(或稱商業(yè)邏輯)、數(shù)據(jù)訪問部分。三層C/S結(jié)構(gòu)使各部分相互獨立并單獨實現(xiàn),分別稱為客戶、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器。三層C/S結(jié)構(gòu)中數(shù)據(jù)在發(fā)送到網(wǎng)絡(luò)之前由功能服務(wù)器加以過濾,網(wǎng)絡(luò)流量會減少,另外客戶端并不是直接同數(shù)據(jù)庫打交道,而是通過中間層的統(tǒng)一調(diào)用來實現(xiàn),在靈活性和獨立性方面較好,適合于不同數(shù)據(jù)庫的互聯(lián)??蛻?應(yīng)用服務(wù)器數(shù)據(jù)庫數(shù)據(jù)庫服務(wù)器客戶N…3.3.2客戶機/服務(wù)器結(jié)構(gòu)基于三層模型的應(yīng)用系統(tǒng):應(yīng)用邏輯層:最普遍的處理方案是使用存儲過程和觸發(fā)器。從客戶機角度看存儲過程是一個單獨的事件,可以在服務(wù)器上執(zhí)行復雜的操作,事務(wù)的完成或取消最終控制權(quán)交給用戶;使用存儲過程可避免通過網(wǎng)絡(luò)傳送SQL語句,也不必將數(shù)據(jù)通過網(wǎng)絡(luò)傳回來進行處理。數(shù)據(jù)層:定義正確的數(shù)據(jù)表和選擇合適的存儲方案,優(yōu)化數(shù)據(jù)庫的性能,使數(shù)據(jù)庫快速、可靠、準確的響應(yīng)用戶的請求。如建立索引,優(yōu)化設(shè)置。表示層:表示層主要承擔人機界面的任務(wù)應(yīng)用系統(tǒng)的性能優(yōu)化設(shè)計是一項系統(tǒng)的工作,三層模型為系統(tǒng)的開放性擴充和性能優(yōu)化提供了很大的空間和靈活性,但單純的三層結(jié)構(gòu)并不一定是最優(yōu)的。3.3.3C/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)C/S數(shù)據(jù)庫管理系統(tǒng)通常通過高性能的鎖定、事務(wù)提交、參照完整性、存儲過程和觸發(fā)器等數(shù)據(jù)管理技術(shù)實現(xiàn)多用戶下良好的數(shù)據(jù)完整性和并發(fā)控制。C/S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的分層模型應(yīng)用程序數(shù)據(jù)庫API網(wǎng)絡(luò)/通信接口網(wǎng)絡(luò)/通信接口數(shù)據(jù)管理客戶管理DBMS存儲文件客戶端服務(wù)器數(shù)據(jù)/網(wǎng)絡(luò)協(xié)議3.3.3C/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)客戶端網(wǎng)絡(luò)接口:是在客戶端負責客戶應(yīng)用與數(shù)據(jù)庫服務(wù)器通信,將數(shù)據(jù)信息編碼或解碼,提供發(fā)送/接受的邏輯通道。網(wǎng)絡(luò)接口層協(xié)議的目的是為了減少網(wǎng)絡(luò)傳送的字節(jié)數(shù)目,它建立在基礎(chǔ)網(wǎng)絡(luò)協(xié)議(TCP/IP、IPX、SAN等)之上。編碼協(xié)議主要有兩種:通信與遠程過程調(diào)用(RemoteProcedureCall,RPC)。通信是指前端應(yīng)用與DBMS之間的信息傳輸采用的報文形式,編碼協(xié)議有:TABULAR(Microsoft)、SQL*Net(Oracle)、DRDA(IBM)。遠程過程調(diào)用是一種由客戶制定而由服務(wù)器來執(zhí)行的函數(shù)調(diào)用。客戶端數(shù)據(jù)管理層:用于客戶應(yīng)用與服務(wù)器數(shù)據(jù)庫進行交互時所必需的登錄管理和數(shù)據(jù)庫連接以及提交語句、返回結(jié)果和處理錯誤。客戶端數(shù)據(jù)管理層實際上就是開發(fā)人員或應(yīng)用程序使用的數(shù)據(jù)庫API。如DB_Library(Microsoft、Sybase)、OCI(Oracle)和SQLRuntime(IBM).3.3.3C/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)服務(wù)器端的客戶管理:客戶管理程序的作用是協(xié)調(diào)客戶端的通信要求,為每個客戶聯(lián)系建立合法的數(shù)據(jù)通信渠道,為在網(wǎng)絡(luò)上傳送而使信息格式化,管理多種客戶請求線程。服務(wù)器端的數(shù)據(jù)管理:數(shù)據(jù)管理程序處理每個客戶的數(shù)據(jù)服務(wù)請求,驗證和解析SQL請求,優(yōu)化數(shù)據(jù)操作,生成存取計劃,建立不同形式的鎖控制并發(fā),對數(shù)據(jù)庫中數(shù)據(jù)的訪問(存取計劃)??蛻魧?shù)據(jù)庫的訪問可以理解為:服務(wù)器端正確解析客戶發(fā)出的SQL請求,并作出回應(yīng)或發(fā)回出錯信息。3.3.3C/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)基于不同DBMS的差異和對不同SQL語言版本的支持,客戶應(yīng)用必須考慮采用何種數(shù)據(jù)庫訪問策略:選擇開發(fā)客戶應(yīng)用的開發(fā)環(huán)境和選擇適當?shù)膽?yīng)用程序接口(API)。所有的客戶機服務(wù)器數(shù)據(jù)庫廠商都有自己支持的程序設(shè)計工具箱,他們可以獨立建立定制的客戶應(yīng)用。特定于專門數(shù)據(jù)庫的設(shè)計工具,提供了對本數(shù)據(jù)庫最完美的支持,但可能忽略對其他數(shù)據(jù)庫的全力支持,選擇第三方廠商的開發(fā)應(yīng)用集成環(huán)境,是對該空隙的有力補充,他們往往注意數(shù)據(jù)庫共性的同時,通過各種技術(shù)為異質(zhì)數(shù)據(jù)庫提供不同支持,如ODBC。3.3.3C/S結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)為了使客戶應(yīng)用能同時訪問多種數(shù)據(jù)庫,(既包括網(wǎng)絡(luò)數(shù)據(jù)庫,又包括單機數(shù)據(jù)庫),應(yīng)用開發(fā)環(huán)境所采用的技術(shù)往往有兩種途徑:支持諸如ODBC這樣的公共數(shù)據(jù)庫接口API專門設(shè)計同時驅(qū)動多種安裝在客戶端的數(shù)據(jù)庫驅(qū)動程序管理層。許多應(yīng)用開發(fā)集成環(huán)境同時采用這兩種途徑,以便提高產(chǎn)品的通用性。如Delphi的BDE(BorlandDatabaseEngine)。3.3.4C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)C/S系統(tǒng)的并發(fā)控制:C/S系統(tǒng)必須提供封鎖機制,事務(wù)編程要盡可能避免死鎖,并允許死鎖的發(fā)生及提供解決死鎖的方案,保證并發(fā)執(zhí)行的同時維護數(shù)據(jù)的一致。封鎖機制可以由DBMS自動控制,也可以通過顯式加鎖完成。C/S系統(tǒng)的完整性約束:在C/S系統(tǒng)中,數(shù)據(jù)完整性約束是在服務(wù)器上定義,并由服務(wù)器來檢查約束,這樣能方便地實現(xiàn)對數(shù)據(jù)庫的完整性和一致性控制。如果由客戶機檢查約束,檢查邏輯必須包含在每一個應(yīng)用程序中,既浪費又容易出錯。3.3.4C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)C/S系統(tǒng)的安全性控制:DBMS通常運行在后臺服務(wù)器上,自身已具備安全管理功能。應(yīng)用程序運行在前端客戶機上,安全性問題由開發(fā)者自己設(shè)計。如何將后臺DBMS的安全機制與前端應(yīng)用程序的安全機制有機結(jié)合起來,形成統(tǒng)一的安全保密機制??梢赃x擇以下幾種方案:內(nèi)核級透明代理:每個數(shù)據(jù)庫應(yīng)用只建立一個真正的數(shù)據(jù)庫帳號(Root),它具有對系統(tǒng)應(yīng)用所涉及的數(shù)據(jù)庫實體進行操作的全部權(quán)限。為每一個系統(tǒng)操作人員分別創(chuàng)建一個‘應(yīng)用系統(tǒng)帳號’,放在數(shù)據(jù)庫中的Users表中。每次應(yīng)用程序在客戶端執(zhí)行時,首先以Root登錄數(shù)據(jù)庫,然后執(zhí)行登錄程序,與Users表結(jié)合,實現(xiàn)應(yīng)用系統(tǒng)登錄。Users表中的內(nèi)容需加密保存,數(shù)據(jù)的加密和解密通過應(yīng)用程序完成。3.3.4C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)用戶授權(quán)機制:后臺服務(wù)器系統(tǒng)除了操作系統(tǒng)具有嚴格的用戶等級機制外,DBMS也具有嚴格的用戶授權(quán)管理機制。前端應(yīng)用程序的安全機制與DBMS的安全機制統(tǒng)一起來,可以增強安全保密功能。具體做法:從功能出發(fā)將整個系統(tǒng)細分為若干個可分配的最小權(quán)限單元,這些權(quán)限即對數(shù)據(jù)庫中所涉及的表、視圖的增刪改查。然后運用角色或工作組的概念,結(jié)合各種系統(tǒng)使用人員的工作性質(zhì),為系統(tǒng)創(chuàng)建各種操作等級,并為每個等級相應(yīng)地授予不同的權(quán)限。用戶等級及每種等級所對應(yīng)的默認權(quán)限組合建立對照字典,管理員可以方便地增加等級或改變某一等級的默認權(quán)限。在統(tǒng)一管理下,既方便又可防止用戶繞過應(yīng)用邏輯直接操作數(shù)據(jù)庫的可能。3.3.4C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)智能型日志:DBMS的日志系統(tǒng)是為了保障事務(wù)故障、系統(tǒng)故障和介質(zhì)故障的恢復。智能型日志是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的為了跟蹤系統(tǒng)使用情況的記錄,相當于飛機的‘黑匣子’。在系統(tǒng)中,智能型日志將記錄:自某用戶登錄時起,到其退出系統(tǒng)時止,這段時間中執(zhí)行的所有操作,包括登錄失敗操作,具體內(nèi)容有執(zhí)行某操作的用戶名、執(zhí)行操作的計算機IP地址、操作類型、操作對象、執(zhí)行時間等。一旦系統(tǒng)發(fā)生故障或受到非授權(quán)用戶的惡意攻擊,通過查詢?nèi)罩鞠到y(tǒng)的記載可追溯到事件發(fā)生的所有過程。另外,日志系統(tǒng)還可以使系統(tǒng)管理員分類檢索日志內(nèi)容,通過智能推理日志內(nèi)容,尋找系統(tǒng)中可能存在的不安全因素。如對同一帳號的連續(xù)三次登錄失敗,系統(tǒng)自動凍結(jié)該帳號或封鎖工作站。3.3.4C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)備份及恢復機制:數(shù)據(jù)庫管理系統(tǒng)提供了事務(wù)故障、系統(tǒng)故障的恢復例程,介質(zhì)故障的恢復要靠DBA來進行。DBMS提供的數(shù)據(jù)恢復機制并不能滿足所有的應(yīng)用情形。為了防止存儲設(shè)備的異常損壞,可以采用可熱插拔的磁盤容錯陣列或雙機熱備份等技術(shù)。為了防止人為的失誤或破壞,可建立強大的數(shù)據(jù)庫觸發(fā)器以備份重要數(shù)據(jù)的更新操作,對刪除操作,將被操作的記錄全部存儲在備份庫中,對更新操作,可以備份執(zhí)行過的SQL語句等等。保證在任何情況下,重要數(shù)據(jù)均能有效地得到恢復。只有將系統(tǒng)日志與備份數(shù)據(jù)有機地結(jié)合在一起,才能實現(xiàn)系統(tǒng)安全的‘萬無一失’。3.3漲.5扎瀏覽器痛/服務(wù)脫器模式隨著I潔nte保rne筆t和W稅eb技步術(shù)的發(fā)仗展,大銳量的商險業(yè)活動蔥在In累ter橫net渴展開。分在典型恒的C/蒙S體系梨中,為膝Int笨ern綿et中平的每一個撞用戶安雹裝一前蠅端應(yīng)用挽程序已央不再現(xiàn)崗實,在關(guān)自己的煎Web備站點上您同時保搭存某一弦應(yīng)用程酬序的多謠個特定束平臺的富版本也纖不可行兇??蛻舳税栋惭b某林種具有注一定‘遣翻譯’喂功能的碼統(tǒng)一的殿構(gòu)件,序充當用謀戶與I念nte追rne彩t之間及的一個桿接口,紙同時是榜大部分應(yīng)用程序餡運行的主寨要環(huán)境外崇殼,這一紙構(gòu)件即瀏償覽器。對于瀏覽杰器而言,屯程序和數(shù)額據(jù)的具體激位置并不色重要,只皇需知道它半們的UR曉L(通用早資源定位愧符)。郭文明遙200雖3.06患.053.3瓶.5極瀏覽器俱/服務(wù)潮器模式基于瀏覽劍器/服務(wù)德器計算模暮式的系統(tǒng)幫應(yīng)運而生傷,它繼承踢了C/S耕模式的優(yōu)俊點,十分腔容易地實突現(xiàn)了不同婆網(wǎng)絡(luò)間的活連接。目前應(yīng)她用廣泛魂的瀏覽捷器/服鳴務(wù)器計保算模式暗主要是說瀏覽器串以超文絡(luò)本的形固式向W漂eb服長務(wù)器提餐出訪問職數(shù)據(jù)庫冤的請求矛,We早b服務(wù)形器接到飛客戶請桑求后,爺激活對泥應(yīng)的C誦GI程送序?qū)⒊湮谋綡葛TML送語言轉(zhuǎn)辮化為S裙QL語拼法,將任這個請費求交給幫數(shù)據(jù)庫進,數(shù)據(jù)尾庫服務(wù)左器得到術(shù)請求后茅,驗證池其合法太性,并阻進行數(shù)臟據(jù)處理緣瑞,然后苗將處理餡結(jié)果集憐返回C鏟GI程丹序。C稿GI再駐將結(jié)果垮集轉(zhuǎn)化途為HT泡ML,披并由W削eb服問務(wù)器轉(zhuǎn)多發(fā)給請怨求方的鞋瀏覽器聰。郭文明擇2橡003忽.06輪.053.3.惑5瀏覽城器/服務(wù)善器模式在瀏覽器鞠/服務(wù)器逼模式中,贈客戶端的分標準配置悉是瀏覽器旱,業(yè)務(wù)處奪理功能處誦理從C/鞭S代碼中肌分離出來下,由獨立辛的應(yīng)用服遷務(wù)器處理危,Web臣服務(wù)器史成為應(yīng)言用處理硬的標準鍵配置,數(shù)據(jù)處憐理仍然由少數(shù)據(jù)庫服投務(wù)器處理貓.瀏覽器頂/服務(wù)器牙模式是三語層分布結(jié)限構(gòu),即瀏代覽器-W伐eb服務(wù)鏈器-數(shù)據(jù)現(xiàn)庫服務(wù)器半.Web該瀏覽器Web討瀏覽器Web么瀏覽器Web服皺務(wù)器數(shù)據(jù)庫盆應(yīng)用文件系弟統(tǒng)數(shù)據(jù)庫毫應(yīng)用數(shù)據(jù)庫叛服務(wù)器數(shù)據(jù)庫漠服務(wù)器數(shù)據(jù)庫遷服務(wù)器客戶層Web暗服務(wù)層數(shù)據(jù)庫層郭文明模2獸003錘.06童.053.3顯.5散瀏覽器棕/服務(wù)處器模式瀏覽器釀/服務(wù)廊器的三班種工作娃方式:簡單式:Web瀏逆覽器需要笛一個HT懂ML頁面歉時就提交鮮一個UR也L地址到害Web服青務(wù)器,W閘eb服務(wù)懂器從In被tern呼et上檢葬索到所需致的本地或當遠程的網(wǎng)瀉頁,并將鈴頁面返回呀到瀏覽器枯。也可使膽用Jav雖aAp視plet南、Act促iveX耽和Jav條aBe息an來加坐強表達。該模型電只限于仆使用H欺TTP虛協(xié)議進陣行通信是。交互式:在打開按與服務(wù)器簡連接及傳捷輸數(shù)據(jù)以冷前,HT勝ML獲取身用戶輸入話的表單、華文本域、評按鈕,通拐過這些內(nèi)銹容取得與寫用戶的交冊互。HT松TP服務(wù)固器將輸入繩信息傳遞鋤服務(wù)器程涂序或某個頂腳本進行賠處理,W糠eb服務(wù)螞器再從D付BMS服旱務(wù)器中檢議索數(shù)據(jù),脖然后返回忘瀏覽器,區(qū)最后中斷用瀏覽器和尤服務(wù)器連桶接。該模型已刻經(jīng)是三層救結(jié)構(gòu),但養(yǎng)每一個瀏采覽器和服導務(wù)器間的涉通信都要標建立一個訂連接,造法價昂貴。郭文明中2掀003徒.06俊.053.3.病5瀏覽礦器/服務(wù)煙器模式分布式:客戶手程序是歐由可下員載的J倚ava喜編寫,駛當HT滾TP服希務(wù)器將反含有J鞠ava渾小應(yīng)用曾程序(佳Jav恨aA量ppl掛et)奔的頁面姨下載到灣瀏覽器孝時,小宰應(yīng)用程位序在瀏遷覽器中醋運行并胃通過構(gòu)融件與傳隙輸服務(wù)行器上的浮小服務(wù)良程序(艱Ser柜vle缸t)通養(yǎng)信會話精,小服賺務(wù)程序絮收到信辜息后,熄經(jīng)過J閣DBC撇、OD漠BC或較本地方貧法向數(shù)口據(jù)庫服戒務(wù)器發(fā)戀出請求箱,數(shù)據(jù)籃庫服務(wù)互器接到星命令后倒,再將皂結(jié)果傳龍給Se郵rvl羽et,朽最后送格至瀏覽昆器。這種方濫式引入良了分布千式計算麻構(gòu)件概散念,使膚得函數(shù)搞也可以蔽在網(wǎng)絡(luò)蛛上傳遞接。這樣堤,在網(wǎng)琴絡(luò)環(huán)境胳下,不機同電腦縮慧、不同弄操作系吹統(tǒng)之間尸的應(yīng)用找程序就清可以彼殊此溝通抵,達到州“平臺擦無關(guān)”購。該模型已掘不再局限屋于Web怪服務(wù)器和波HTTP套協(xié)議,還閘有DCO秒M,CO最RBA協(xié)假議等。瀏覽器/嚇服務(wù)器模染式引發(fā)了汽另外一個匠專門的技耳術(shù)領(lǐng)域W報eb數(shù)據(jù)見庫。郭文明艱200棗3.06嶼.053.3.管6分布掘式數(shù)據(jù)庫帥體系結(jié)構(gòu)DB1DB1DB1計算機1計算機堅1計算機項1通訊網(wǎng)絡(luò)北京重慶上海銀行系統(tǒng)背景:數(shù)召據(jù)庫系統(tǒng)洪+計算機鋤網(wǎng)絡(luò)郭文明疑200繪3.06頃.053.3.蜂6分布徹式數(shù)據(jù)庫億體系結(jié)構(gòu)基本特獵性分布性仰:數(shù)據(jù)虧存儲在屋不同場廟地上。蔽與集中定式數(shù)據(jù)薄庫不同刮。邏輯整目體性:千數(shù)據(jù)邏啊輯上是鍛相互聯(lián)萍系的一對個整體犬。與分角散在計艙算機網(wǎng)豆絡(luò)不同返站點上金的一組閉沒有相晌互聯(lián)系底的本地蚊數(shù)據(jù)庫符區(qū)別開皂來。定義DDBS嶼(Dis蕩trib開uted有Dat閥aBa攪se)是償一個數(shù)據(jù)換集合,這將些數(shù)據(jù),候分布在計斃算機網(wǎng)絡(luò)價的不同計脂算機上,稈網(wǎng)絡(luò)中每誰個結(jié)點具怪有獨立處戲理的能力衡,可以執(zhí)珠行局部應(yīng)滋用,同時卻每個結(jié)點熟也能通過永網(wǎng)絡(luò)通訊冷支持全局府應(yīng)用。分布式數(shù)怕?lián)鞆娬{(diào)復場地自治抱性(局部戚應(yīng)用)以鎮(zhèn)及自治場疑地之間的俗協(xié)作性(艙全局應(yīng)用吐)?!霸谧灾窝甑慕Y(jié)點之陶間協(xié)同工洞作”郭文明程2支003角.06攻.053.3鋒.6咐分布式譜數(shù)據(jù)庫渾體系結(jié)侮構(gòu)體系結(jié)構(gòu)G-概念囑模式:定糟義DDB夾S中數(shù)據(jù)準的整體邏澤輯結(jié)構(gòu),銹數(shù)據(jù)如同配沒有分布吧一樣。分片模徹式:每鏟一個關(guān)艦系可以箱分為若蹈干互不鋒相交的藝部分,包每一部銀分稱為輛一個片導段。分布模式榴:定義片詢段的存放券地點。G-外模眉式G-外模式G-概念期模式分片模公式分布模督式L-概念殺模式L-概念模惰式L-內(nèi)模圈式L-內(nèi)模為式L-DBL-DB郭文明著200蕉3.06下.053.3公.6兆分布式箱數(shù)據(jù)庫僵體系結(jié)把構(gòu)數(shù)據(jù)在嶄分布式棒數(shù)據(jù)庫桿的存儲畝途徑復制系統(tǒng)維護隸關(guān)系的幾辱個完全相認同的副本滲,這些副親本存儲在姥不同的結(jié)穿點上。分片關(guān)系被劃樣分為幾個套片段,各班個片段存身儲在不同栽的結(jié)點上帝。分片方授式水平分片裝:將關(guān)系r蔑按行分為唐若干子集鍋r1,r2,…,rn,每個子集播ri稱為一個扛水平片段責。一個水誓平片段可康以看成是且關(guān)系上的陶一個選擇勝。垂直分顆片:將關(guān)系說r按列觸分為若兆干屬性未子集r1,r2,…,rn,每個子奶集ri稱為一個舞垂直片段坑。一個垂莫直片段可果以看成是撿關(guān)系上的珠一個投影阻。郭文明粱200獨3.06冷.053.3.編6分布良式數(shù)據(jù)庫于體系結(jié)構(gòu)導出分片村:導出水平痰分片,分夾片的條件淡不是關(guān)系寄本身屬性紙條件,而渡是其它關(guān)炒系的屬性否條件?;旌戏制迹宏P(guān)系按盼某種方茅式分片慈后,得苦到的片寨段再按密另一種眠方式繼由續(xù)分片煉。復制+分際片關(guān)系被獲劃分為伍幾個片洞段,系榴統(tǒng)為每橫個片段直維護幾鏟個副本爪。數(shù)據(jù)項鼓的命名每個數(shù)據(jù)貴項(關(guān)系替、副本、荒片段)必坑須有唯一然的名字,駕在分布式洞數(shù)據(jù)庫系冤統(tǒng)中必須卡保證在不屆同的結(jié)點慰上不會用外同一個名猛字來代表膚不同的數(shù)珍據(jù)項。郭文明與200跑3.06兆.053.3.鈴6分布照式數(shù)據(jù)庫乓體系結(jié)構(gòu)分布(網(wǎng)烏絡(luò))透明路性分片透滿明性:用戶或應(yīng)珍用程序只精對全局關(guān)毅系進行操脆作而不必馬考慮關(guān)系傅的分片。冷如果分片回模式改變附了,通過沾調(diào)整全局豬模式與分叛片模式之參間的映象辮關(guān)系來保訓持全局模告式不變。位置透喬明性:用戶或應(yīng)礎(chǔ)用程序不販必了解片讀段的存儲垂位置。局部數(shù)據(jù)散模型透明度性:用戶或漁應(yīng)用程雜序不必楊了解局頁部場地膊上使用齒的是哪煉種數(shù)據(jù)吉模型。分布式數(shù)據(jù)庫系抖統(tǒng)(DD不BS)的努組成:全餡局用戶、劃局部用戶悄;全局數(shù)和據(jù)庫(G掀DB)、北局部數(shù)據(jù)便庫(LD各B);全頌局數(shù)據(jù)庫池管理系統(tǒng)吩(GDB隊MS)、隱局部數(shù)據(jù)縣庫管理系顧統(tǒng)(LD筑BMS)漆;全局數(shù)餐據(jù)分配(拜GDD)洋、局部數(shù)介據(jù)分配(完LDD)妻。郭文明直2助003哭.06稱.053.4囑中間買件在分布式鍛計算環(huán)境喬中,有兩掃層的C/俘S模式、撕三層的C印/S模式日、三層的航B/S模炒式以及多夠?qū)拥挠嬎沣^模式,不同層流次之間套需要相花互通信。在兩層系槐統(tǒng)中,關(guān)惠系數(shù)據(jù)庫亡開發(fā)商提蘇供一些專犁用庫和驅(qū)駁動程序來密訪問數(shù)據(jù)凳庫。由這胖些專用程征序?qū)Σ煌砭W(wǎng)絡(luò)協(xié)議拾進行抽象沖,在寫客戶囑應(yīng)用程序均時無需考倆慮數(shù)據(jù)庫貴的實際位罵置,客戶冊層應(yīng)用縮慧程序可芳以鏈接籃適當?shù)闹羷討B(tài)或制靜態(tài)庫椅與數(shù)據(jù)灰層進行矩通信,雄這些動顯態(tài)或靜垮態(tài)庫保傳證了請儲求和數(shù)議據(jù)格式炭的一致錢、訪問創(chuàng)優(yōu)化、掃分布式惰服務(wù)管煎理,稱外為中間央件(如待ODB詢C)。郭文明醒200寫3.06茂.053.4辟中間斜件多層系訴統(tǒng)中需郵要更復閃雜的關(guān)降系實現(xiàn)憂跨網(wǎng)絡(luò)鴨、跨層錘次的通長信,客進戶應(yīng)用躺程序需勞要一種幸通信模蠢型,來嚇協(xié)調(diào)應(yīng)隸用程序匠的不同朵平臺。處當這種復模型實親現(xiàn)后,汁就出現(xiàn)夫了為這妥樣的客其戶應(yīng)用俊程序提個供中間齊件基礎(chǔ)稻的標準社。多層系友統(tǒng)中中才間件是膏建立在裕一種通較信模型為基礎(chǔ)之水上。中間件聾定義:中間題件(M切idd火lew慰are露)是分泳布式環(huán)侍境中保漏證操作絡(luò)系統(tǒng)、幼通信協(xié)釋議、數(shù)貍據(jù)庫之狡間進行景對話、版互操作氏的軟件羞系統(tǒng)。在C/婦S環(huán)境快中,中胸間件同取時存在字于客戶澤端和服降務(wù)器端拌,負責隙客戶和甘服務(wù)器插間的請攏求和回董答。在倡分布式樣環(huán)境中祥,中間妹件允許梢不同服想務(wù)器之櫻間相互罪通信。郭文明嗚200姿3.06黃.053.4抽中間訊件中間件作縣用:保證什網(wǎng)絡(luò)中各參部件之間堆透明地連威接,即隱藏網(wǎng)絡(luò)籠部件的異障構(gòu)性,保迷證不同網(wǎng)己絡(luò)、不同傻DBMS憂和某些訪規(guī)問語言的本透明性。網(wǎng)絡(luò)透報明性:逢能支持榆所有類纖型網(wǎng)絡(luò)副。服務(wù)器肉透明性邁:不管物服務(wù)器忽的DB鮮MS是燈何種型酒號,一結(jié)個好的均中間件界都能通主過SQ姥L語言屬連接起田來。語言透明頃性:客戶膝機可用任毅何語言進抗行請求和能接受回答饑,并保證裙數(shù)據(jù)類型湖的相互轉(zhuǎn)輔換。郭文明炮200中3.06狂.053.4群中間扔件由于用途鹿不同,存米在不同種盛類的中間部件,主要馬有數(shù)據(jù)訪遲問中間叼件、遠豈程過程亮調(diào)用中碑間件、膛分布式桌事務(wù)處射理中間臺件、對愈象調(diào)用梯以及面油向消息動的中間更件等。不同種碌類的中惑間件基投于不同攏的通信痕模型。為了滿足灑不同客戶還實現(xiàn)(編朝程語言)增的需要,逝中間件技建術(shù)在近1范0年中得我到極大發(fā)受展。第一拍個獲得廣爺泛認可的害中間件技汪術(shù)是遠程粥調(diào)用中間秤件(RP示C)。使鍵用遠程過初程調(diào)用,厲客戶可以績在遠程計孔算機上執(zhí)瞞行C語言野函數(shù)。對綱于遠程過規(guī)程調(diào)用體店系結(jié)構(gòu)來品說,ONCR碗PC(O民pen已Netw墓ork滾Comp擊utin候gRP莫C)和DCE振(Op勒en靠Gro陡up’考sD免ist延rib絞ute漸dC桑opu鍬tin奇gE據(jù)nvi潛ron倡men頸t)是主流怒標準。郭文明童200政3.06徑.053.4貼中間件隨著面陷向?qū)ο笫≌Z言的傘流行,分布式屑中間件墊也朝面延向?qū)ο篑樂较虬l(fā)敞展,OMG(對象怎管理組遷織)提劈燕出了CORB牛A(Com漠mon迷O(shè)b棉jec圣tR悅equ翻est瞞Br寬oke收rA趕rch拋ite略ctu星re),微軟革提出了COM(嚷Comp里onen掌tOb下ject竿Mod田el),都求是規(guī)范嬸分布式班對象體吃系結(jié)構(gòu)榨的嘗試完。許多柜開發(fā)商教推出了繩基于這亭些規(guī)范既的中間古件。IBM早在20勵世紀90桑年代初就兼提出了系叨統(tǒng)對象模紀型SOM告(Sy謎ste違mO己bje奇ct居Mod薯el)。為了避述開與微軟河競爭,IBM也轉(zhuǎn)向了COR楚BA。郭文明艷200顯3.06炊.053.4劇中間邀件ODBC面(Op倦enD粱atab借ase扇Conn竊ect)爬它是由M繩icro銀soft龍公司于侮1991妖年提出缺的一個用于訪問區(qū)數(shù)據(jù)庫的統(tǒng)一臟界面標豪準,是濤應(yīng)用程慣序和數(shù)伸據(jù)庫系球統(tǒng)之間桌的中間宵件。它緊通過使思用相應(yīng)霜應(yīng)用平手臺上和逆所需數(shù)倘據(jù)庫對鋒應(yīng)的驅(qū)跳動程序干與應(yīng)用土程序的撿交互來采實現(xiàn)對叼數(shù)據(jù)庫傭的操作處,避免哭了在應(yīng)曬用程序蓋中直接塊調(diào)用與戶數(shù)據(jù)庫調(diào)相關(guān)的販操作,遼從而提筍供了數(shù)平據(jù)庫的腎獨立性牧。傳統(tǒng)的圣數(shù)據(jù)庫敗編程方少式是‘拒主語言狡+DM它L’。托由于各籠廠商的埋SQL嘗版本不眠同,不客同廠商肌的DB滑MS在月客戶機興與服務(wù)媽器之間使用棗的通信協(xié)技議不同,鏈使得特定匪的前端應(yīng)評用不能訪沃問不同的仿數(shù)據(jù)庫?;鹨虼擞斜厝找⒁幌鄠€公共的譯、與數(shù)據(jù)潤庫無關(guān)的型應(yīng)用程序押設(shè)計接口(Ap曉pli宜cat段ion圈P樸rog美ram灰min滲gI安nte找rfa繳ce,宅AP裂I)。思最先推沉出的公炊共AP部I是微襪軟的O陡DBC傭。它以爭C/S趕結(jié)構(gòu)為挽設(shè)計基戰(zhàn)礎(chǔ)。郭文明拍2尖003孩.06戶.053.4耀中間件使用ODB廣C開發(fā)蘆數(shù)據(jù)庫脅應(yīng)用程獅序時,鋒在應(yīng)用勁程序中擠調(diào)用標蓄準的O深DBC垮函數(shù)和電SQL列語句,創(chuàng)通過加靜載的驅(qū)幻玉動程序?qū)⑦壿嬺呓Y(jié)構(gòu)映患射到具雨體的D堂BMS拼,即連晚接數(shù)據(jù)筋庫和存之取數(shù)據(jù)廊庫的底辱層操作含由驅(qū)動樂程序驅(qū)動各個患數(shù)據(jù)庫完免成.ODBC數(shù)據(jù)應(yīng)用程序驅(qū)動程序管理器SQLServer驅(qū)動程序Oracle驅(qū)動程序Foxpro驅(qū)動程序Sybase驅(qū)動程序DB2驅(qū)動程序DBDBDBDBDBSQL跌Ser滴ver數(shù)據(jù)源Orac激le數(shù)據(jù)源Foxp灰ro數(shù)據(jù)源Syba劣se數(shù)據(jù)源DB2數(shù)據(jù)源郭文明描200脾3.06扭.053.4錫中間件驅(qū)動程序通管理器是悲一個動態(tài)粉連接庫(DLL),用即于連接勇各種DBS的DBM稠S驅(qū)動程斥序,管娘理應(yīng)用尺程序和DBM現(xiàn)S驅(qū)動程序企之間的交忽互作用。驅(qū)動程畏序也是脖一個動得態(tài)連接展庫(DLL),當應(yīng)哪用程序調(diào)績用SQLC揪onne濫ct時,驅(qū)動閉程序管理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論