第十三章客戶機服務(wù)器模式與分布式數(shù)據(jù)庫-課件_第1頁
第十三章客戶機服務(wù)器模式與分布式數(shù)據(jù)庫-課件_第2頁
第十三章客戶機服務(wù)器模式與分布式數(shù)據(jù)庫-課件_第3頁
第十三章客戶機服務(wù)器模式與分布式數(shù)據(jù)庫-課件_第4頁
第十三章客戶機服務(wù)器模式與分布式數(shù)據(jù)庫-課件_第5頁
已閱讀5頁,還剩107頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第十三章客戶機/服務(wù)器模式與分布式數(shù)據(jù)庫第十三章客戶機/服務(wù)器模式與分布式數(shù)據(jù)庫1C/S計算模式概念客戶機/服務(wù)器概念最早用于軟件體系結(jié)構(gòu)提出請求的應(yīng)用程序服務(wù)應(yīng)用的服務(wù)程序協(xié)作式處理方式客戶機和服務(wù)器都參與一個應(yīng)用程序的處理軟件成分相互協(xié)作完成特定應(yīng)用功能請求/服務(wù)模式硬件資源提供軟件成分相互協(xié)作的設(shè)施客戶機/服務(wù)器模式C/S計算模式概念2客戶機客戶機客戶機網(wǎng)絡(luò)應(yīng)用服務(wù)器通信服務(wù)器打印服務(wù)器文件服務(wù)器數(shù)據(jù)庫服務(wù)器請求響應(yīng)響應(yīng)請求客戶機/服務(wù)器模式客戶機客戶機客戶機應(yīng)用通信打印文件數(shù)據(jù)庫請求響應(yīng)響應(yīng)請求客戶3C/S環(huán)境下應(yīng)用成分的分布4部分界面表示邏輯業(yè)務(wù)處理邏輯數(shù)據(jù)處理邏輯數(shù)據(jù)庫管理C/S環(huán)境下應(yīng)用成分的分布4部分4應(yīng)用程序界面表示邏輯業(yè)務(wù)處理邏輯數(shù)據(jù)處理邏輯數(shù)據(jù)庫管理GUI3GL4GLSQLORACLESYBASEDB2DB組成應(yīng)用程序的四個成分應(yīng)用程序界業(yè)數(shù)數(shù)GUI3GLSQLORACLEDB組成應(yīng)用程5C/S模式的體系結(jié)構(gòu)(1)服務(wù)器提供高速大容量的存儲能力,強大的數(shù)據(jù)處理和管理能力,運行多個進程能力文件服務(wù)器數(shù)據(jù)庫服務(wù)器事務(wù)服務(wù)器文檔服務(wù)器C/S模式的體系結(jié)構(gòu)(1)服務(wù)器6用戶客戶機用戶客戶機用戶客戶機文件服務(wù)打印服務(wù)數(shù)據(jù)庫服務(wù)文件打印機DB客戶機中間件服務(wù)器客戶機/服務(wù)器模式體系結(jié)構(gòu)示意圖用戶客戶機用戶客戶機用戶客戶機文件服務(wù)打印服務(wù)數(shù)據(jù)庫服務(wù)文件7文件GUI應(yīng)用程序文件服務(wù)器客戶機服務(wù)器文件服務(wù)器文件GUI應(yīng)用程序文件服務(wù)器客戶機服務(wù)器文件服務(wù)器8GUI應(yīng)用程序數(shù)據(jù)庫服務(wù)器客戶機服務(wù)器數(shù)據(jù)SQL命令DB數(shù)據(jù)庫服務(wù)器GUI應(yīng)用程序數(shù)據(jù)庫服務(wù)器客戶機服務(wù)器數(shù)據(jù)SQL命令DB數(shù)據(jù)9GUI應(yīng)用程序應(yīng)用程序事務(wù)客戶機服務(wù)器數(shù)據(jù)應(yīng)用程序?qū)S檬聞?wù)DB事務(wù)處理服務(wù)器數(shù)據(jù)庫服務(wù)器GUI應(yīng)用程序應(yīng)用程序事務(wù)客戶機服務(wù)器數(shù)據(jù)應(yīng)用程序DB事務(wù)處10C/S模式的體系結(jié)構(gòu)(2)客戶機完成界面表示和一些業(yè)務(wù)邏輯功能,非圖形化/圖形化(GUI)用戶接口面向?qū)ο蠼涌?OOI)公共應(yīng)用程序字處理,報表編制,圖形軟件等數(shù)據(jù)庫前端軟件應(yīng)用生成和開發(fā)軟件PowerBuilder,VisualC++等中間件泛指客戶機與服務(wù)器之間的軟件數(shù)據(jù)庫,事務(wù)處理,組件,對象中間件等C/S模式的體系結(jié)構(gòu)(2)客戶機11C/S模式定位C/S模式系統(tǒng)是介于集中式與分布式之間集中式C/S處理環(huán)境數(shù)據(jù)集中,處理分布客戶請求,服務(wù)器響應(yīng)的協(xié)作方式多服務(wù)器C/S處理環(huán)境數(shù)據(jù)與處理都分布一個應(yīng)用可涉及多個服務(wù)器數(shù)據(jù)一個服務(wù)器數(shù)據(jù)可以被多個客戶機訪問對等C/S處理環(huán)境數(shù)據(jù)與處理都分布站點可以訪問其他站點數(shù)據(jù)(全局應(yīng)用),也可以訪問本地數(shù)據(jù)(本地應(yīng)用)C/S模式定位C/S模式系統(tǒng)是介于集中式與分布式之間12網(wǎng)絡(luò)DB數(shù)據(jù)庫服務(wù)器客戶機客戶機客戶機…用戶客戶機客戶機客戶機…用戶DB數(shù)據(jù)庫服務(wù)器DB數(shù)據(jù)庫服務(wù)器客戶機客戶機客戶機…用戶每個站點是一個單數(shù)據(jù)庫服務(wù)器Client/Server結(jié)構(gòu)的DDBSDB數(shù)據(jù)庫服務(wù)器客戶機客戶機客戶機…用戶客戶機客戶機客戶機…13C/S模式的特點(1)按功能劃分服務(wù)器是服務(wù)的提供者,客戶機是消費者共享資源不對稱協(xié)議客戶機主動請求服務(wù),服務(wù)器被動等待請求定位透明性C/S軟件在客戶機方屏蔽服務(wù)器地址混合與匹配C/S軟件獨立于硬件或OSC/S模式的特點(1)按功能劃分14C/S模式的特點(2)基于消息的交換消息式服務(wù)請求與響應(yīng)的媒介服務(wù)封裝服務(wù)器決定如何完成服務(wù)請求消息,消息接口不變,升級對客戶沒有影響可擴展性水平擴展添加或移去工作站垂直擴展移植到更大更快的服務(wù)器或多服務(wù)器完整性C/S模式的特點(2)基于消息的交換15C/S模式的優(yōu)缺點(1)優(yōu)點提高了投資效率使處理和被處理的數(shù)據(jù)更接近,減少了網(wǎng)絡(luò)帶寬和成本的需求具有圖形用戶界面的PC支持和倡導(dǎo)標準化和開放系統(tǒng)多個用戶共享硬件資源C/S模式的優(yōu)缺點(1)優(yōu)點16C/S模式的優(yōu)缺點(2)不足之處在集中式C/S環(huán)境,服務(wù)器將成為瓶頸多服務(wù)器應(yīng)用系統(tǒng)的開發(fā)和設(shè)計復(fù)雜C/S模式的優(yōu)缺點(2)不足之處17分布式數(shù)據(jù)(1)從集中到分布數(shù)據(jù)的轉(zhuǎn)移將關(guān)鍵數(shù)據(jù)的多個副本置于不同站點,提高數(shù)據(jù)的可用性,避免“單站點失敗”現(xiàn)象高效的數(shù)據(jù)訪問,改進數(shù)據(jù)管理性能容易增加應(yīng)用程序,用戶數(shù)目和擴大規(guī)模數(shù)據(jù)放在其產(chǎn)生和頻繁使用位置,減少傳輸,提高效率分布式數(shù)據(jù)(1)從集中到分布數(shù)據(jù)的轉(zhuǎn)移18分布式數(shù)據(jù)(2)數(shù)據(jù)分布基本形式復(fù)制數(shù)據(jù)(ReplicatedData)子集數(shù)據(jù)(SubsetData)重新組織的數(shù)據(jù)(ReorganizedData)分區(qū)數(shù)據(jù)(PartitionedData)獨立模式數(shù)據(jù)(Separate_SchemaData)不相容數(shù)據(jù)(IncompatibleData)分布式數(shù)據(jù)(2)數(shù)據(jù)分布基本形式19網(wǎng)絡(luò)DBx主機DBx1DBx2x1和x2為x的副本復(fù)制的數(shù)據(jù)S1S2網(wǎng)絡(luò)DB主機DBDBx1和x2為復(fù)制的數(shù)據(jù)S1S220網(wǎng)絡(luò)DBABC主機DBADBC子集數(shù)據(jù)S1S3DBBS2DB主機DBDB子集數(shù)據(jù)S1S3DBS221網(wǎng)絡(luò)DBR主機DBA重新組織的數(shù)據(jù)S1DBBS2數(shù)據(jù)R是由數(shù)據(jù)A和B經(jīng)過重新組織而獲得的DB主機DB重新組織的數(shù)據(jù)S1DBS2數(shù)據(jù)R是由數(shù)據(jù)A和B22網(wǎng)絡(luò)地區(qū)A的記錄主機地區(qū)B的記錄分區(qū)數(shù)據(jù)地區(qū)C的記錄各地區(qū)的記錄具有相同模式主機主機地區(qū)A主機地區(qū)B分區(qū)數(shù)據(jù)地區(qū)C各地區(qū)的記錄主機主機23網(wǎng)絡(luò)生產(chǎn)數(shù)據(jù)財務(wù)數(shù)據(jù)獨立模式數(shù)據(jù)生產(chǎn)主機財務(wù)主機營銷數(shù)據(jù)營銷主機生產(chǎn)財務(wù)獨立模式數(shù)據(jù)生產(chǎn)財務(wù)營銷營銷主機24網(wǎng)絡(luò)公司A的記錄主機公司B的記錄不相容數(shù)據(jù)公司C的記錄各地區(qū)的記錄具有相同模式主機主機公司A主機公司B不相容數(shù)據(jù)公司C各地區(qū)的記錄主機主機25分布式數(shù)據(jù)(3)數(shù)據(jù)分布技術(shù)人工抽取快照復(fù)制分片數(shù)據(jù)分布分析分布式數(shù)據(jù)(3)數(shù)據(jù)分布技術(shù)26SAVINGCUSTOMEREXCHANGERATESAVINGCUSTOMEREXCHANGERATESAVINGCUSTOMEREXCHANGERATE網(wǎng)絡(luò)總行分行1分行2分布式數(shù)據(jù)的銀行應(yīng)用系統(tǒng)分行到總行抽取數(shù)據(jù)SAVINGCUSTOMEREXCHANGERATESAVI27分布式數(shù)據(jù)(4)數(shù)據(jù)分布分析統(tǒng)計方法根據(jù)應(yīng)用需求決定那些資源需要分布及存放位置例子銀行應(yīng)用系統(tǒng)客戶表存在中央銀行(CB)站點,分行(PB)存有部分數(shù)據(jù)復(fù)制假設(shè)CB站點有10000條記錄,每天讀2000次,更新500次PB站點有1000條記錄,每天讀1000次,更新100次分布式數(shù)據(jù)(4)數(shù)據(jù)分布分析2810001002000500READUPDATEPBCB站點操作11002500600NYYYNY123PBCB網(wǎng)絡(luò)開銷數(shù)據(jù)分布站點配制方法分布式數(shù)據(jù)庫位置矩陣10002000READPBCB站點1100NY1PBCB數(shù)29分布式數(shù)據(jù)(5)該例子分析方法結(jié)論分布式數(shù)據(jù)的位置取決于邏輯數(shù)據(jù)和處理(讀和更新)模式,數(shù)量等特征數(shù)據(jù)分布是降低整個分布式系統(tǒng)開銷的有效措施分布式數(shù)據(jù)(5)該例子分析方法結(jié)論30分布式數(shù)據(jù)的訪問(1)遠程請求遠程事務(wù)分布式事務(wù)分布式請求分布式數(shù)據(jù)的訪問(1)遠程請求31分布式數(shù)據(jù)的訪問(2)遠程請求只涉及單個遠程服務(wù)器的單個請求Select*FromServer1.BankDB.CustomerWhereServer1.BankDB.Customer.City=‘Beijing’分布式數(shù)據(jù)的訪問(2)遠程請求32SQL語句CLIENTPBSERVER1CUSTOMER遠程數(shù)據(jù)請求SQL語句CLIENTPBSERVER1CUSTOMER33分布式數(shù)據(jù)的訪問(3)遠程事務(wù)允許一個事務(wù)中包含多個應(yīng)用同一個遠程服務(wù)器站點的數(shù)據(jù)訪問請求BeginWorkSelect*FromServer1.BankDB.CustomerWhereServer1.BankDB.Customer.City=‘Beijing’UpdateServer1.BankDB.BranchSetPosted_ind=‘Yes’CommitWork分布式數(shù)據(jù)的訪問(3)遠程事務(wù)34SQL語句1CLIENTB1SERVER1CUSTOMER遠程事務(wù)處理分行SQL語句2SQL語句1CLIENTB1SERVER1CUSTOMER35分布式數(shù)據(jù)的訪問(4)分布式事務(wù)一個事務(wù)包含多個數(shù)據(jù)請求,每個請求只能訪問單個服務(wù)器BeginWorkSelect*FromServerB1.BankDB.EmployeeWhereServerB1.BankDB.Employee.Edlevel=‘MBA’Select*FromServerM.BankDB.Empl_MEDWhereServerM.BankDB.Empl_MED.Branch=‘PB’CommitWork分布式數(shù)據(jù)的訪問(4)分布式事務(wù)36SQL語句1SERVERMMEDICAL分布式事務(wù)處理SERVERB1CUSTOMERSQL語句2中央CLIENTBEGINWORK……COMMITWORKSQL語句1SERVERMMEDICAL分布式事務(wù)處理S37分布式數(shù)據(jù)的訪問(5)分布式請求一個事務(wù)包含多個數(shù)據(jù)請求,每個請求都可以引用駐留于多個服務(wù)器站點數(shù)據(jù)BeginWorkSelect*FromServerB1.BankDB.EmployeeB1,ServerM.BankDB.Empl_MEDMWhereB1.Empl_ID=M.Empl_IDAND

B1.Edlevel=‘MBA’UpdateServer1.BankDB.BranchSetPosted_ind=‘Yes’WhereServer1.BankDB.Branch=‘B1’CommitWork分布式數(shù)據(jù)的訪問(5)分布式請求38SQL語句1SERVERMEMPLOYEE分布式數(shù)據(jù)請求SERVERB1SQL語句2CLIENTBEGINWORK……COMMITWORKEMPL_MEDBRANCHSERVER1SQL語句1SERVERMEMPLOYEE分布式數(shù)據(jù)請求S39ORACLE分布DB(1)1985年起提供用于C/S和S/S的SQL*net分布式體系結(jié)構(gòu)組成SQL*NetSQL*ConnectORACLEServerORACLENet聯(lián)網(wǎng)協(xié)議Oracle8之前稱SQLNet協(xié)議,Oracle8/8i稱Net8協(xié)議,Oracle9i稱Net協(xié)議ORACLE分布DB(1)1985年起提供用于C/S和S/S40UPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareOPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareNetworkLinkServerClientApplicationOracleServerClientUPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareOPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareNetworkLinkServerClientApplicationOracleServerUPISQL*NetTransparentOracleP41ORACLE分布DB(2)UPI代碼包括分析SQL語句,語法檢驗為SQL打開一個游標將Client應(yīng)用程序變量連接到共享Server內(nèi)存根據(jù)Server數(shù)據(jù)字典信息描述返回域的內(nèi)容在游標空間中執(zhí)行SQL語句給Client應(yīng)用程序取一條或多條記錄關(guān)閉游標OPI有完整功能與UPI對應(yīng)ORACLE分布DB(2)UPI代碼包括42ORACLE分布DB(3)SQL*Net的任務(wù)是建立和保持Client程序與ServerDB間的連接,并完成兩者之間的信息轉(zhuǎn)換TNS從網(wǎng)絡(luò)應(yīng)用程序中接受請求,并將控制傳遞給DB服務(wù)器ORACLE分布DB(3)SQL*Net的任務(wù)是建立和保持C43ClientOCITTCNETOPA網(wǎng)絡(luò)協(xié)議OPITTCNETOPA網(wǎng)絡(luò)協(xié)議ServerNPIClientOCITTCNETOPA網(wǎng)絡(luò)協(xié)議OPITTCNE44網(wǎng)絡(luò)協(xié)議OCIOracle調(diào)用接口層客戶機通過調(diào)用OCI完成所有SQL處理TTC實現(xiàn)與OSI網(wǎng)絡(luò)協(xié)議模型中的表示層一樣的功能,完成客戶機與服務(wù)器之間不同字符集和數(shù)據(jù)類型格式的轉(zhuǎn)換NETnet層很多子層的集合,相當(dāng)于OSI中的會話層,建立、維護客戶機應(yīng)用程序和服務(wù)器之間的聯(lián)結(jié)和通信NI網(wǎng)絡(luò)接口層為客戶機、服務(wù)器和其他外部程序提供對Net的接口訪問,處理中斷請求NR網(wǎng)絡(luò)路由子層NN網(wǎng)絡(luò)命名子層NA網(wǎng)絡(luò)認證子層NS網(wǎng)絡(luò)會話子層OPA網(wǎng)絡(luò)協(xié)議適配層,負責(zé)與具體網(wǎng)絡(luò)協(xié)議通信網(wǎng)絡(luò)協(xié)議具體的網(wǎng)絡(luò)傳輸協(xié)議,如TCP/IPOPI與客戶機上的OCI層對應(yīng)的Oracle編程接口層NPI網(wǎng)絡(luò)程序接口層,負責(zé)服務(wù)器之間的連接作為ORACLE聯(lián)網(wǎng)的基本組件,安裝時已自動安裝網(wǎng)絡(luò)協(xié)議OCIOracle調(diào)用接口層客戶機通過調(diào)用45OracleServerSQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareOracleServerSQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareNetworkLinkServerServerOPIOPIOracleServerSQL*NetTransparen46C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)結(jié)構(gòu)組成數(shù)據(jù)庫服務(wù)器專門硬件服務(wù)器,安裝ORACLE9iDatabase管理工作站安裝管理客戶端工具,管理員在此執(zhí)行對數(shù)據(jù)庫的日常管理維護客戶機安裝連接工具及客戶應(yīng)用程序,執(zhí)行業(yè)務(wù)處理主要用于基于局域網(wǎng)的應(yīng)用,如銀行儲蓄業(yè)務(wù)、電信收費業(yè)務(wù)等C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)結(jié)構(gòu)組成47C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)-續(xù)連接方法客戶機配置文件tnsnames.ora,存放服務(wù)器連接信息,TCP/IP地址、主機名、采用的協(xié)議和使用的端口等MYORACLE=(DESCRITION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mynetserver)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myoracle.mynet)))服務(wù)器后臺進程(監(jiān)聽器),配置參數(shù)在listener.ora文件中(SID_DESC=(GLOBAL_DBNAME=myoracle.mynet)(ORACLE_HOME=C:\oracle\ora90)(SID_NAME=myoracle))方案評價配置簡單,但是服務(wù)器的地址信息變化需重新對每臺客戶機配置C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)-續(xù)連接方法48C/S網(wǎng)絡(luò)應(yīng)用解決方案(2)基于名字服務(wù)器的方案方案結(jié)構(gòu)組成數(shù)據(jù)庫服務(wù)器專門的硬件,裝ORACLE9iDatabase,需在名字服務(wù)器上完成注冊名字服務(wù)器集中管理網(wǎng)絡(luò)環(huán)境中所有的數(shù)據(jù)庫服務(wù)器的注冊信息,為客戶機提供網(wǎng)絡(luò)名解析服務(wù)客戶機管理工作站C/S網(wǎng)絡(luò)應(yīng)用解決方案(2)基于名字服務(wù)器的方案49C/S網(wǎng)絡(luò)應(yīng)用解決方案(2)-續(xù)連接方法客戶機上指定名字服務(wù)器解析網(wǎng)絡(luò)服務(wù)名的方式,向名字服務(wù)器獲取數(shù)據(jù)庫服務(wù)器的連接信息后,直接通過網(wǎng)絡(luò)向數(shù)據(jù)庫服務(wù)器發(fā)出連接請求數(shù)據(jù)庫服務(wù)器每次修改配置,需要在名字服務(wù)器上注冊名字服務(wù)器上保存全局數(shù)據(jù)庫名稱及其地址、其他名字服務(wù)器的名稱及地址方案評價在大型OracleNet網(wǎng)絡(luò)的規(guī)劃設(shè)計中,優(yōu)先考慮。用戶數(shù)大時,名字服務(wù)器是瓶頸C/S網(wǎng)絡(luò)應(yīng)用解決方案(2)-續(xù)連接方法50C/S網(wǎng)絡(luò)應(yīng)用解決方案(3)基于目錄服務(wù)器的方案結(jié)構(gòu)組成數(shù)據(jù)庫服務(wù)器安裝后要向目錄服務(wù)器注冊目錄服務(wù)器采用專門協(xié)議LDAP(輕型目錄訪問協(xié)議,定義、存儲和檢索目錄信息的標準)客戶機管理工作站C/S網(wǎng)絡(luò)應(yīng)用解決方案(3)基于目錄服務(wù)器的方案51C/S網(wǎng)絡(luò)應(yīng)用解決方案(3)-續(xù)連接方案客戶機上指定連接到特定目錄服務(wù)器數(shù)據(jù)庫服務(wù)器修改配置,要在目錄服務(wù)器注冊目錄服務(wù)器保存全局數(shù)據(jù)庫名稱和地址評價客戶機配置簡單,是與大型應(yīng)用,取代名字服務(wù)器C/S網(wǎng)絡(luò)應(yīng)用解決方案(3)-續(xù)連接方案52C/S網(wǎng)絡(luò)應(yīng)用解決方案(4)基于連接管理器方案結(jié)構(gòu)組成數(shù)據(jù)庫服務(wù)器運行在共享服務(wù)器模式下連接管理器提供3個擴展功能的中間件。包括:多路復(fù)用技術(shù),將多個客戶機連接組合在一起,以單個網(wǎng)絡(luò)連接發(fā)送給數(shù)據(jù)庫服務(wù)器,以減少網(wǎng)絡(luò)傳輸和數(shù)據(jù)庫服務(wù)器需要處理的連接數(shù)量。網(wǎng)絡(luò)訪問控制技術(shù),可根據(jù)IP地址來接受或決絕客戶機對數(shù)據(jù)庫服務(wù)器的訪問,以限制客戶局與服務(wù)器的連接協(xié)議轉(zhuǎn)換技術(shù),使用不同的網(wǎng)絡(luò)協(xié)議的客戶機最后轉(zhuǎn)換為數(shù)據(jù)庫服務(wù)器能夠處理的協(xié)議后進行連接名字服務(wù)器客戶機C/S網(wǎng)絡(luò)應(yīng)用解決方案(4)基于連接管理器方案53C/S網(wǎng)絡(luò)應(yīng)用解決方案(4)-續(xù)連接方法客戶機上指定連接到特定連接服務(wù)器連接管理器管理客戶機和服務(wù)器的后臺通信。兩個進程CMGW網(wǎng)關(guān)進程,負責(zé)向CMADMIN進程注冊,監(jiān)聽從客戶機來的連接請求CMADMIN管理進程,負責(zé)處理CMGW進程提出的注冊,定位到特定的名字服務(wù)器進行解析,并向數(shù)據(jù)庫服務(wù)其提交請求評價解決網(wǎng)絡(luò)中存在多種網(wǎng)絡(luò)協(xié)議、連接用戶量大,以及需要限制客戶機對數(shù)據(jù)庫服務(wù)器的訪問型應(yīng)用C/S網(wǎng)絡(luò)應(yīng)用解決方案(4)-續(xù)連接方法54C/S網(wǎng)絡(luò)應(yīng)用解決方案(5)Web應(yīng)用結(jié)構(gòu)組成數(shù)據(jù)庫服務(wù)器Web應(yīng)用服務(wù)器,可選用Oracle9iApplicationServer或者第三方的服務(wù)器軟件,如IIS或Apache等客戶機C/S網(wǎng)絡(luò)應(yīng)用解決方案(5)Web應(yīng)用55C/S網(wǎng)絡(luò)應(yīng)用解決方案(5)-續(xù)連接方法客戶機上瀏覽器向應(yīng)用服務(wù)器通過HTTP協(xié)議發(fā)出Web請求應(yīng)用服務(wù)器上配置OracleNet組件,處理來自客戶機的Web請求,通過OracleNet連接數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫服務(wù)器處理來自應(yīng)用服務(wù)器的請求,返回或提交結(jié)果評價用于構(gòu)建瘦客戶機應(yīng)用客戶機通過JavaServlet可以直接訪問數(shù)據(jù)庫服務(wù)器的兩層結(jié)構(gòu),服務(wù)器通過配置,支持HTTP和專用的InternetInter–ORB(IIOP)協(xié)議來處理客戶機的連接請求C/S網(wǎng)絡(luò)應(yīng)用解決方案(5)-續(xù)連接方法56第十三章客戶機/服務(wù)器模式與分布式數(shù)據(jù)庫第十三章客戶機/服務(wù)器模式與分布式數(shù)據(jù)庫57C/S計算模式概念客戶機/服務(wù)器概念最早用于軟件體系結(jié)構(gòu)提出請求的應(yīng)用程序服務(wù)應(yīng)用的服務(wù)程序協(xié)作式處理方式客戶機和服務(wù)器都參與一個應(yīng)用程序的處理軟件成分相互協(xié)作完成特定應(yīng)用功能請求/服務(wù)模式硬件資源提供軟件成分相互協(xié)作的設(shè)施客戶機/服務(wù)器模式C/S計算模式概念58客戶機客戶機客戶機網(wǎng)絡(luò)應(yīng)用服務(wù)器通信服務(wù)器打印服務(wù)器文件服務(wù)器數(shù)據(jù)庫服務(wù)器請求響應(yīng)響應(yīng)請求客戶機/服務(wù)器模式客戶機客戶機客戶機應(yīng)用通信打印文件數(shù)據(jù)庫請求響應(yīng)響應(yīng)請求客戶59C/S環(huán)境下應(yīng)用成分的分布4部分界面表示邏輯業(yè)務(wù)處理邏輯數(shù)據(jù)處理邏輯數(shù)據(jù)庫管理C/S環(huán)境下應(yīng)用成分的分布4部分60應(yīng)用程序界面表示邏輯業(yè)務(wù)處理邏輯數(shù)據(jù)處理邏輯數(shù)據(jù)庫管理GUI3GL4GLSQLORACLESYBASEDB2DB組成應(yīng)用程序的四個成分應(yīng)用程序界業(yè)數(shù)數(shù)GUI3GLSQLORACLEDB組成應(yīng)用程61C/S模式的體系結(jié)構(gòu)(1)服務(wù)器提供高速大容量的存儲能力,強大的數(shù)據(jù)處理和管理能力,運行多個進程能力文件服務(wù)器數(shù)據(jù)庫服務(wù)器事務(wù)服務(wù)器文檔服務(wù)器C/S模式的體系結(jié)構(gòu)(1)服務(wù)器62用戶客戶機用戶客戶機用戶客戶機文件服務(wù)打印服務(wù)數(shù)據(jù)庫服務(wù)文件打印機DB客戶機中間件服務(wù)器客戶機/服務(wù)器模式體系結(jié)構(gòu)示意圖用戶客戶機用戶客戶機用戶客戶機文件服務(wù)打印服務(wù)數(shù)據(jù)庫服務(wù)文件63文件GUI應(yīng)用程序文件服務(wù)器客戶機服務(wù)器文件服務(wù)器文件GUI應(yīng)用程序文件服務(wù)器客戶機服務(wù)器文件服務(wù)器64GUI應(yīng)用程序數(shù)據(jù)庫服務(wù)器客戶機服務(wù)器數(shù)據(jù)SQL命令DB數(shù)據(jù)庫服務(wù)器GUI應(yīng)用程序數(shù)據(jù)庫服務(wù)器客戶機服務(wù)器數(shù)據(jù)SQL命令DB數(shù)據(jù)65GUI應(yīng)用程序應(yīng)用程序事務(wù)客戶機服務(wù)器數(shù)據(jù)應(yīng)用程序?qū)S檬聞?wù)DB事務(wù)處理服務(wù)器數(shù)據(jù)庫服務(wù)器GUI應(yīng)用程序應(yīng)用程序事務(wù)客戶機服務(wù)器數(shù)據(jù)應(yīng)用程序DB事務(wù)處66C/S模式的體系結(jié)構(gòu)(2)客戶機完成界面表示和一些業(yè)務(wù)邏輯功能,非圖形化/圖形化(GUI)用戶接口面向?qū)ο蠼涌?OOI)公共應(yīng)用程序字處理,報表編制,圖形軟件等數(shù)據(jù)庫前端軟件應(yīng)用生成和開發(fā)軟件PowerBuilder,VisualC++等中間件泛指客戶機與服務(wù)器之間的軟件數(shù)據(jù)庫,事務(wù)處理,組件,對象中間件等C/S模式的體系結(jié)構(gòu)(2)客戶機67C/S模式定位C/S模式系統(tǒng)是介于集中式與分布式之間集中式C/S處理環(huán)境數(shù)據(jù)集中,處理分布客戶請求,服務(wù)器響應(yīng)的協(xié)作方式多服務(wù)器C/S處理環(huán)境數(shù)據(jù)與處理都分布一個應(yīng)用可涉及多個服務(wù)器數(shù)據(jù)一個服務(wù)器數(shù)據(jù)可以被多個客戶機訪問對等C/S處理環(huán)境數(shù)據(jù)與處理都分布站點可以訪問其他站點數(shù)據(jù)(全局應(yīng)用),也可以訪問本地數(shù)據(jù)(本地應(yīng)用)C/S模式定位C/S模式系統(tǒng)是介于集中式與分布式之間68網(wǎng)絡(luò)DB數(shù)據(jù)庫服務(wù)器客戶機客戶機客戶機…用戶客戶機客戶機客戶機…用戶DB數(shù)據(jù)庫服務(wù)器DB數(shù)據(jù)庫服務(wù)器客戶機客戶機客戶機…用戶每個站點是一個單數(shù)據(jù)庫服務(wù)器Client/Server結(jié)構(gòu)的DDBSDB數(shù)據(jù)庫服務(wù)器客戶機客戶機客戶機…用戶客戶機客戶機客戶機…69C/S模式的特點(1)按功能劃分服務(wù)器是服務(wù)的提供者,客戶機是消費者共享資源不對稱協(xié)議客戶機主動請求服務(wù),服務(wù)器被動等待請求定位透明性C/S軟件在客戶機方屏蔽服務(wù)器地址混合與匹配C/S軟件獨立于硬件或OSC/S模式的特點(1)按功能劃分70C/S模式的特點(2)基于消息的交換消息式服務(wù)請求與響應(yīng)的媒介服務(wù)封裝服務(wù)器決定如何完成服務(wù)請求消息,消息接口不變,升級對客戶沒有影響可擴展性水平擴展添加或移去工作站垂直擴展移植到更大更快的服務(wù)器或多服務(wù)器完整性C/S模式的特點(2)基于消息的交換71C/S模式的優(yōu)缺點(1)優(yōu)點提高了投資效率使處理和被處理的數(shù)據(jù)更接近,減少了網(wǎng)絡(luò)帶寬和成本的需求具有圖形用戶界面的PC支持和倡導(dǎo)標準化和開放系統(tǒng)多個用戶共享硬件資源C/S模式的優(yōu)缺點(1)優(yōu)點72C/S模式的優(yōu)缺點(2)不足之處在集中式C/S環(huán)境,服務(wù)器將成為瓶頸多服務(wù)器應(yīng)用系統(tǒng)的開發(fā)和設(shè)計復(fù)雜C/S模式的優(yōu)缺點(2)不足之處73分布式數(shù)據(jù)(1)從集中到分布數(shù)據(jù)的轉(zhuǎn)移將關(guān)鍵數(shù)據(jù)的多個副本置于不同站點,提高數(shù)據(jù)的可用性,避免“單站點失敗”現(xiàn)象高效的數(shù)據(jù)訪問,改進數(shù)據(jù)管理性能容易增加應(yīng)用程序,用戶數(shù)目和擴大規(guī)模數(shù)據(jù)放在其產(chǎn)生和頻繁使用位置,減少傳輸,提高效率分布式數(shù)據(jù)(1)從集中到分布數(shù)據(jù)的轉(zhuǎn)移74分布式數(shù)據(jù)(2)數(shù)據(jù)分布基本形式復(fù)制數(shù)據(jù)(ReplicatedData)子集數(shù)據(jù)(SubsetData)重新組織的數(shù)據(jù)(ReorganizedData)分區(qū)數(shù)據(jù)(PartitionedData)獨立模式數(shù)據(jù)(Separate_SchemaData)不相容數(shù)據(jù)(IncompatibleData)分布式數(shù)據(jù)(2)數(shù)據(jù)分布基本形式75網(wǎng)絡(luò)DBx主機DBx1DBx2x1和x2為x的副本復(fù)制的數(shù)據(jù)S1S2網(wǎng)絡(luò)DB主機DBDBx1和x2為復(fù)制的數(shù)據(jù)S1S276網(wǎng)絡(luò)DBABC主機DBADBC子集數(shù)據(jù)S1S3DBBS2DB主機DBDB子集數(shù)據(jù)S1S3DBS277網(wǎng)絡(luò)DBR主機DBA重新組織的數(shù)據(jù)S1DBBS2數(shù)據(jù)R是由數(shù)據(jù)A和B經(jīng)過重新組織而獲得的DB主機DB重新組織的數(shù)據(jù)S1DBS2數(shù)據(jù)R是由數(shù)據(jù)A和B78網(wǎng)絡(luò)地區(qū)A的記錄主機地區(qū)B的記錄分區(qū)數(shù)據(jù)地區(qū)C的記錄各地區(qū)的記錄具有相同模式主機主機地區(qū)A主機地區(qū)B分區(qū)數(shù)據(jù)地區(qū)C各地區(qū)的記錄主機主機79網(wǎng)絡(luò)生產(chǎn)數(shù)據(jù)財務(wù)數(shù)據(jù)獨立模式數(shù)據(jù)生產(chǎn)主機財務(wù)主機營銷數(shù)據(jù)營銷主機生產(chǎn)財務(wù)獨立模式數(shù)據(jù)生產(chǎn)財務(wù)營銷營銷主機80網(wǎng)絡(luò)公司A的記錄主機公司B的記錄不相容數(shù)據(jù)公司C的記錄各地區(qū)的記錄具有相同模式主機主機公司A主機公司B不相容數(shù)據(jù)公司C各地區(qū)的記錄主機主機81分布式數(shù)據(jù)(3)數(shù)據(jù)分布技術(shù)人工抽取快照復(fù)制分片數(shù)據(jù)分布分析分布式數(shù)據(jù)(3)數(shù)據(jù)分布技術(shù)82SAVINGCUSTOMEREXCHANGERATESAVINGCUSTOMEREXCHANGERATESAVINGCUSTOMEREXCHANGERATE網(wǎng)絡(luò)總行分行1分行2分布式數(shù)據(jù)的銀行應(yīng)用系統(tǒng)分行到總行抽取數(shù)據(jù)SAVINGCUSTOMEREXCHANGERATESAVI83分布式數(shù)據(jù)(4)數(shù)據(jù)分布分析統(tǒng)計方法根據(jù)應(yīng)用需求決定那些資源需要分布及存放位置例子銀行應(yīng)用系統(tǒng)客戶表存在中央銀行(CB)站點,分行(PB)存有部分數(shù)據(jù)復(fù)制假設(shè)CB站點有10000條記錄,每天讀2000次,更新500次PB站點有1000條記錄,每天讀1000次,更新100次分布式數(shù)據(jù)(4)數(shù)據(jù)分布分析8410001002000500READUPDATEPBCB站點操作11002500600NYYYNY123PBCB網(wǎng)絡(luò)開銷數(shù)據(jù)分布站點配制方法分布式數(shù)據(jù)庫位置矩陣10002000READPBCB站點1100NY1PBCB數(shù)85分布式數(shù)據(jù)(5)該例子分析方法結(jié)論分布式數(shù)據(jù)的位置取決于邏輯數(shù)據(jù)和處理(讀和更新)模式,數(shù)量等特征數(shù)據(jù)分布是降低整個分布式系統(tǒng)開銷的有效措施分布式數(shù)據(jù)(5)該例子分析方法結(jié)論86分布式數(shù)據(jù)的訪問(1)遠程請求遠程事務(wù)分布式事務(wù)分布式請求分布式數(shù)據(jù)的訪問(1)遠程請求87分布式數(shù)據(jù)的訪問(2)遠程請求只涉及單個遠程服務(wù)器的單個請求Select*FromServer1.BankDB.CustomerWhereServer1.BankDB.Customer.City=‘Beijing’分布式數(shù)據(jù)的訪問(2)遠程請求88SQL語句CLIENTPBSERVER1CUSTOMER遠程數(shù)據(jù)請求SQL語句CLIENTPBSERVER1CUSTOMER89分布式數(shù)據(jù)的訪問(3)遠程事務(wù)允許一個事務(wù)中包含多個應(yīng)用同一個遠程服務(wù)器站點的數(shù)據(jù)訪問請求BeginWorkSelect*FromServer1.BankDB.CustomerWhereServer1.BankDB.Customer.City=‘Beijing’UpdateServer1.BankDB.BranchSetPosted_ind=‘Yes’CommitWork分布式數(shù)據(jù)的訪問(3)遠程事務(wù)90SQL語句1CLIENTB1SERVER1CUSTOMER遠程事務(wù)處理分行SQL語句2SQL語句1CLIENTB1SERVER1CUSTOMER91分布式數(shù)據(jù)的訪問(4)分布式事務(wù)一個事務(wù)包含多個數(shù)據(jù)請求,每個請求只能訪問單個服務(wù)器BeginWorkSelect*FromServerB1.BankDB.EmployeeWhereServerB1.BankDB.Employee.Edlevel=‘MBA’Select*FromServerM.BankDB.Empl_MEDWhereServerM.BankDB.Empl_MED.Branch=‘PB’CommitWork分布式數(shù)據(jù)的訪問(4)分布式事務(wù)92SQL語句1SERVERMMEDICAL分布式事務(wù)處理SERVERB1CUSTOMERSQL語句2中央CLIENTBEGINWORK……COMMITWORKSQL語句1SERVERMMEDICAL分布式事務(wù)處理S93分布式數(shù)據(jù)的訪問(5)分布式請求一個事務(wù)包含多個數(shù)據(jù)請求,每個請求都可以引用駐留于多個服務(wù)器站點數(shù)據(jù)BeginWorkSelect*FromServerB1.BankDB.EmployeeB1,ServerM.BankDB.Empl_MEDMWhereB1.Empl_ID=M.Empl_IDAND

B1.Edlevel=‘MBA’UpdateServer1.BankDB.BranchSetPosted_ind=‘Yes’WhereServer1.BankDB.Branch=‘B1’CommitWork分布式數(shù)據(jù)的訪問(5)分布式請求94SQL語句1SERVERMEMPLOYEE分布式數(shù)據(jù)請求SERVERB1SQL語句2CLIENTBEGINWORK……COMMITWORKEMPL_MEDBRANCHSERVER1SQL語句1SERVERMEMPLOYEE分布式數(shù)據(jù)請求S95ORACLE分布DB(1)1985年起提供用于C/S和S/S的SQL*net分布式體系結(jié)構(gòu)組成SQL*NetSQL*ConnectORACLEServerORACLENet聯(lián)網(wǎng)協(xié)議Oracle8之前稱SQLNet協(xié)議,Oracle8/8i稱Net8協(xié)議,Oracle9i稱Net協(xié)議ORACLE分布DB(1)1985年起提供用于C/S和S/S96UPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareOPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareNetworkLinkServerClientApplicationOracleServerClientUPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareOPISQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareNetworkLinkServerClientApplicationOracleServerUPISQL*NetTransparentOracleP97ORACLE分布DB(2)UPI代碼包括分析SQL語句,語法檢驗為SQL打開一個游標將Client應(yīng)用程序變量連接到共享Server內(nèi)存根據(jù)Server數(shù)據(jù)字典信息描述返回域的內(nèi)容在游標空間中執(zhí)行SQL語句給Client應(yīng)用程序取一條或多條記錄關(guān)閉游標OPI有完整功能與UPI對應(yīng)ORACLE分布DB(2)UPI代碼包括98ORACLE分布DB(3)SQL*Net的任務(wù)是建立和保持Client程序與ServerDB間的連接,并完成兩者之間的信息轉(zhuǎn)換TNS從網(wǎng)絡(luò)應(yīng)用程序中接受請求,并將控制傳遞給DB服務(wù)器ORACLE分布DB(3)SQL*Net的任務(wù)是建立和保持C99ClientOCITTCNETOPA網(wǎng)絡(luò)協(xié)議OPITTCNETOPA網(wǎng)絡(luò)協(xié)議ServerNPIClientOCITTCNETOPA網(wǎng)絡(luò)協(xié)議OPITTCNE100網(wǎng)絡(luò)協(xié)議OCIOracle調(diào)用接口層客戶機通過調(diào)用OCI完成所有SQL處理TTC實現(xiàn)與OSI網(wǎng)絡(luò)協(xié)議模型中的表示層一樣的功能,完成客戶機與服務(wù)器之間不同字符集和數(shù)據(jù)類型格式的轉(zhuǎn)換NETnet層很多子層的集合,相當(dāng)于OSI中的會話層,建立、維護客戶機應(yīng)用程序和服務(wù)器之間的聯(lián)結(jié)和通信NI網(wǎng)絡(luò)接口層為客戶機、服務(wù)器和其他外部程序提供對Net的接口訪問,處理中斷請求NR網(wǎng)絡(luò)路由子層NN網(wǎng)絡(luò)命名子層NA網(wǎng)絡(luò)認證子層NS網(wǎng)絡(luò)會話子層OPA網(wǎng)絡(luò)協(xié)議適配層,負責(zé)與具體網(wǎng)絡(luò)協(xié)議通信網(wǎng)絡(luò)協(xié)議具體的網(wǎng)絡(luò)傳輸協(xié)議,如TCP/IPOPI與客戶機上的OCI層對應(yīng)的Oracle編程接口層NPI網(wǎng)絡(luò)程序接口層,負責(zé)服務(wù)器之間的連接作為ORACLE聯(lián)網(wǎng)的基本組件,安裝時已自動安裝網(wǎng)絡(luò)協(xié)議OCIOracle調(diào)用接口層客戶機通過調(diào)用101OracleServerSQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareOracleServerSQL*NetTransparentNetworkSubstrateOracleProtocolAdapterNetworkSoftwareNetworkLinkServerServerOPIOPIOracleServerSQL*NetTransparen102C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)結(jié)構(gòu)組成數(shù)據(jù)庫服務(wù)器專門硬件服務(wù)器,安裝ORACLE9iDatabase管理工作站安裝管理客戶端工具,管理員在此執(zhí)行對數(shù)據(jù)庫的日常管理維護客戶機安裝連接工具及客戶應(yīng)用程序,執(zhí)行業(yè)務(wù)處理主要用于基于局域網(wǎng)的應(yīng)用,如銀行儲蓄業(yè)務(wù)、電信收費業(yè)務(wù)等C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)結(jié)構(gòu)組成103C/S網(wǎng)絡(luò)應(yīng)用解決方案(1)-續(xù)連接方法客戶機配置文件tnsnames.ora,存放服務(wù)器連接信息,TCP/IP地址、主機名、采用的協(xié)議和使用的端口等MYORACLE=(DESCRITION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mynetserver)(POR

溫馨提示

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

評論

0/150

提交評論