<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
    (RPC:Remote Procedure Call protocol)

      遠程過程調(diào)用(RPC)是一種通過網(wǎng)絡(luò)從遠程計算機程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC 協(xié)議假定某些傳輸協(xié)議的存在,如 TCP 或 UDP,為通信程序之間攜帶信息數(shù)據(jù)。在 OSI 網(wǎng)絡(luò)通信模型中,RPC 跨越了傳輸層和應(yīng)用層。RPC 使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。

      RPC 采用客戶機/服務(wù)器模式。請求程序就是一個客戶機,而服務(wù)提供程序就是一個服務(wù)器。首先,調(diào)用進程發(fā)送一個有進程參數(shù)的調(diào)用信息到服務(wù)進程,然后等待應(yīng)答信息。在服務(wù)器端,進程保持睡眠狀態(tài)直到調(diào)用信息的到達為止。當(dāng)一個調(diào)用信息到達,服務(wù)器獲得進程參數(shù),計算結(jié)果,發(fā)送答復(fù)信息,然后等待下一個調(diào)用信息,最后,客戶端調(diào)用過程接收答復(fù)信息,獲得進程結(jié)果,然后調(diào)用執(zhí)行繼續(xù)進行。

      目前,有多種 RPC 模式和執(zhí)行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC PRC 協(xié)議成為 IETF 標(biāo)準(zhǔn)協(xié)議。現(xiàn)在使用最普遍的模式和執(zhí)行是開放式軟件基礎(chǔ)的分布式計算環(huán)境(DCE)。


    協(xié)議結(jié)構(gòu)

      遠程過程調(diào)用(RPC)信息協(xié)議由兩個不同結(jié)構(gòu)組成:調(diào)用信息和答復(fù)信息。信息流程如下所示:

    遠程過程調(diào)用流程

    RPC:遠程過程調(diào)用流程

      RPC 調(diào)用信息:每條遠程過程調(diào)用信息包括以下無符號整數(shù)字段,以獨立識別遠程過程:
    • 程序號(Program number)
    • 程序版本號(Program version number)
    • 過程號(Procedure number)

      RPC 調(diào)用信息主體形式如下:

      struct?call_body?{

       unsigned?int?rpcvers;

       unsigned?int?prog;

       unsigned?int?vers;

       unsigned?int?proc;

       opaque_auth?cred;

       opaque_auth?verf;

       1?parameter

       2?parameter?.?.?.?

      };

      RPC 答復(fù)信息:RPC 協(xié)議的答復(fù)信息的改變?nèi)Q于網(wǎng)絡(luò)服務(wù)器對調(diào)用信息是接收還是拒絕。答復(fù)信息請求包括區(qū)別以下情形的各種信息:
    • RPC 成功執(zhí)行調(diào)用信息。.
    • RPC 的遠程實現(xiàn)不是協(xié)議第二版,返回 RPC 支持的最低和最高版本號。
    • 在遠程系統(tǒng)中,遠程程序不可用。
    • 遠程程序不支持被請求的版本號。返回遠程程序所支持的最低和最高版本號。
    • 請求的過程號不存在。通常是呼叫方協(xié)議或程序差錯。

      RPC答復(fù)信息形式如下:

      enum?reply_stat?stat?{?

      MSG_ACCEPTED?=?0,

      MSG_DENIED???=?1

      };
    -----------------------------------------------------------------------------------------
    進程間通信(IPC)是在多任務(wù)操作系統(tǒng)或聯(lián)網(wǎng)的計算機之間運行的程序和進程所用的通
    信技術(shù)。有兩種類型的進程間通信(IPC)。

    □本地過程調(diào)用(LPC)LPC用在多任務(wù)操作系統(tǒng)中,使得同時運行的任務(wù)能互相會話。
    這些任務(wù)共享內(nèi)存空間使任務(wù)同步和互相發(fā)送信息。

    □遠程過程調(diào)用(RPC)RPC類似于LPC,只是在網(wǎng)上工作。RPC開始是出現(xiàn)在Sun微系統(tǒng)公
    司和HP公司的運行UNIX操作系統(tǒng)的計算機中。

    通過IPC和RPC,程序能利用其它程序或計算機處理的進程。客戶機/服務(wù)器模式計算把
    遠程過程調(diào)用與其它技術(shù)如消息傳遞一道,作為系統(tǒng)間通信的一種機制。客戶機執(zhí)行自
    己的任務(wù),但靠服務(wù)器提供后端文件服務(wù)。RPC為客戶機提供向后端服務(wù)器申請服務(wù)的通
    信機制,如圖R-4所示。如果你把客戶機/服務(wù)器應(yīng)用程序想作是一個分離的程序,服
    務(wù)器能運行數(shù)據(jù)訪問部分,因為它離數(shù)據(jù)最近,客戶機能運行數(shù)據(jù)表示和與用戶交互的
    前端部分。這樣,遠程過程調(diào)用可看作是把分割的程序通過網(wǎng)絡(luò)重組的部件。LPC有時也
    稱耦合(Coupling)機制。

    用這種方式分割程序,當(dāng)用戶要訪問數(shù)據(jù)時就無需每次拷貝整個數(shù)據(jù)庫或它的大部分程
    序到用戶系統(tǒng)。其實,服務(wù)器只處理請求,甚至只執(zhí)行一些數(shù)據(jù)計算,把得出的結(jié)果再
    發(fā)送給用戶。因為當(dāng)數(shù)據(jù)存放在一個地方時,數(shù)據(jù)庫同步很容易實現(xiàn),所以多個用戶可
    同時訪問相同的數(shù)據(jù)。

    分布式計算環(huán)境是由一個通信系統(tǒng)——網(wǎng)絡(luò)連接的計算機集群。很容易把這個網(wǎng)絡(luò)看成
    一個計算平臺,若是對等方式,其中任何一臺計算機都能成為客戶機或服務(wù)器。一些處
    理任務(wù)可被分成獨立運行程序在不同的網(wǎng)絡(luò)計算機上并行處理,而獨立的程序被交給最
    適合這個任務(wù)的計算機處理。這種策略可利用計算機空閑資源,提高網(wǎng)絡(luò)的效益。一個
    典型的企業(yè)網(wǎng)包括許多運行著不同操作系統(tǒng)的異構(gòu)計算機系統(tǒng)。

    隨著企業(yè)網(wǎng)的產(chǎn)生,開發(fā)商必須編制可在各種計算機和網(wǎng)絡(luò)通信協(xié)議中都能運行的程序
    。現(xiàn)在人們正努力使得遠程過程調(diào)用獨立,這意味著開發(fā)商就不用考慮底層的網(wǎng)絡(luò)和網(wǎng)
    絡(luò)上數(shù)據(jù)傳輸所用的協(xié)議,下面介紹RPC在開放式軟件基金(OSF)的分布式計算環(huán)境(
    DCC)中實現(xiàn)的相關(guān)方法。RPC工作于多種分布式計算環(huán)境。

    SunSoft的開放網(wǎng)絡(luò)計算(ONC)的遠過程調(diào)用/外部數(shù)據(jù)表示(RPC/XDR)協(xié)議被廣泛
    采用。在三百一十萬個運行網(wǎng)絡(luò)文件系統(tǒng)(NFS)的系統(tǒng)中,有二百八十萬個使用ONCRP
    C庫,并在分布式應(yīng)用中作為客戶機或服務(wù)器。ONCRPC被IBM的所有操作系統(tǒng)所支持(除
    了OS/400)。UNIX系統(tǒng)實驗室把RPC/XDR當(dāng)作是UNIX?System?V?Release?4的一個標(biāo)準(zhǔn)
    部分。Novell支持下一代ONC+傳輸自立遠程過程調(diào)用(TI-RPC)技術(shù).TI-RPC?使用運
    輸層接口(TLI)實現(xiàn)傳輸自立。TLI提供了一種訪問面向連接或非連接傳輸服務(wù)的通用
    方法(這在“STERAMS環(huán)境”中有所敘述)。

    Open?Software?Foundation(OSF)RPC?開放軟件基金會(OSF)的RPC

    RPC工具提供了一種編程語言和編譯器,它們使用可看作是本地過程的可運行于客戶機和
    服務(wù)器上的模塊開發(fā)分布式應(yīng)用程序。運行時設(shè)施(run-timefacility)使得分布式應(yīng)
    用程序能在多機種異構(gòu)系統(tǒng)上運行,這樣使得底層體系結(jié)構(gòu)和運輸協(xié)議對于應(yīng)用程序是
    透明的。

    程序員用接口定義語言(IDL)建立接口定義(interface?definition)。IDL是程序員
    用來設(shè)計遠程運行的過程的工具。IDL編譯器把IDL接口定義轉(zhuǎn)換成與客戶機和服務(wù)器相
    連的占位程序(stub)。客戶機上的占位程序可加入到服務(wù)器的過程,而服務(wù)器上的占
    位程序也可加入到客戶機過程。位于客戶機服務(wù)器的RPC運行時設(shè)施與占位程序合作,來
    提供RPC操作。

    異構(gòu)環(huán)境中使用RPC的一個問題在于,不同的機器有不同的數(shù)據(jù)表示,OSFRPC通過具有調(diào)
    用機器的基本數(shù)據(jù)表示的特征調(diào)用來解決這個問題。當(dāng)收到調(diào)用時,若根據(jù)特征知道兩
    臺機器數(shù)據(jù)表示不同的話,接收器就進行數(shù)據(jù)轉(zhuǎn)換。

    RPC運行時設(shè)施提供把客戶機請求傳送給服務(wù)器和在網(wǎng)上發(fā)送和接收響應(yīng)的功能。DCERP
    C運行時設(shè)施也和網(wǎng)絡(luò)上其它DCE服務(wù)相互作用,這些DCE服務(wù)有命名、安全和定時服務(wù)。
    運行時設(shè)施有下列特征:

    □可在多種網(wǎng)絡(luò)上運行。開發(fā)者無需為每個網(wǎng)絡(luò)編寫特定的應(yīng)用程序。

    □提供客戶機或服務(wù)器或網(wǎng)絡(luò)上的故障恢復(fù)。它支持文件系統(tǒng)、數(shù)據(jù)庫和其它傳輸可變
    長數(shù)據(jù)的服務(wù)。

    □提供獨立于任何一個目錄服務(wù)的基于名字定位服務(wù)器的方法。

    □提供安全工具的接口,以防RPC通信遭受破壞。安全服務(wù)保證機密信息的保密性和提供
    鑒別來保護通信完備性。

    □支持網(wǎng)上并發(fā)或并行處理的多線程調(diào)度,于是一個應(yīng)用程序就能同時執(zhí)行多個操作

    □提供多供應(yīng)商提供的系統(tǒng)環(huán)境的可移植性和相互操作性

    posted on 2006-11-03 19:25 放水老倌 閱讀(1295) 評論(0)  編輯  收藏 所屬分類: 標(biāo)準(zhǔn)

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲一级片免费看| 午夜视频在线观看免费完整版| 国产精品亚洲精品日韩动图| 无码乱人伦一区二区亚洲一| 亚洲?v女人的天堂在线观看| 99久久精品免费视频| 午夜在线免费视频 | 亚洲日韩国产精品乱| 亚洲永久在线观看| 精品女同一区二区三区免费站| 亚洲国产精品狼友中文久久久| 色婷婷7777免费视频在线观看| 亚洲aⅴ无码专区在线观看| 亚洲精品无码一区二区 | 久久亚洲国产成人精品无码区| 亚洲AV成人精品日韩一区| 成年18网站免费视频网站| 亚洲国产成人精品无码一区二区| 免费人成毛片动漫在线播放| 亚洲综合无码AV一区二区| 四虎影库久免费视频| 亚洲人成图片网站| 亚洲国产成a人v在线| 久久久精品免费视频| 国产成人 亚洲欧洲| 免费看美女被靠到爽的视频| 亚洲一区二区三区偷拍女厕| 一区二区视频免费观看| 亚洲免费日韩无码系列| 亚洲乱码日产精品a级毛片久久| 美女羞羞视频免费网站| 亚洲精品偷拍视频免费观看| 国产偷国产偷亚洲高清在线| 成人免费网站在线观看| 97久久精品亚洲中文字幕无码 | 久草视频在线免费| 亚洲综合av一区二区三区不卡| 久久成人a毛片免费观看网站| 亚洲成aⅴ人片在线影院八| 麻豆国产人免费人成免费视频| WWW免费视频在线观看播放|