logo

Nuotolinis procedūrų skambutis (RPC) operacinėje sistemoje

Nuotolinis procedūrų skambutis (RPC) yra galinga konstravimo technika paskirstytos, kliento serverio programos . Jis pagrįstas įprastinės vietinės iškvietimo procedūros išplėtimu, kad iškviesta procedūra nebūtinai turi egzistuoti toje pačioje adresų erdvėje kaip ir iškviečiama procedūra . Du procesai gali būti toje pačioje sistemoje arba skirtingose ​​sistemose su juos jungiančiu tinklu.

Kai skambinate nuotoliniu būdu:



1. Skambinimo aplinka sustabdoma, procedūrų parametrai per tinklą perkeliami į aplinką, kurioje turi būti vykdoma procedūra, ir ten atliekama procedūra.

skaityti excel failą java

2. Kai procedūra baigiasi ir pateikia jos rezultatus, jos rezultatai grąžinami atgal į iškvietimo aplinką, kur vykdymas atnaujinamas tarsi grįžus iš įprasto procedūrų iškvietimo.



PASTABA: RPC ypač gerai tinka klientui-serveriui (pvz., užklausa-atsakymas) sąveika, kurioje kontroliuojamas srautas pakaitomis skambina ir skambina . Konceptualiai, klientas ir serveris nevykdo vienu metu. Vietoj to, vykdymo gija peršoka nuo skambinančiojo prie pašauktojo ir vėl atgal.

RPC darbas



RPC metu atliekami šie veiksmai:

  1. Klientas kreipiasi į a kliento stuburo procedūra , perduodant parametrus įprastu būdu. Kliento šaknis yra paties kliento adresų erdvėje.
  2. Kliento šaknis maršalai (pakuotė) parametrus į pranešimą. Suskirstymas apima parametrų pateikimo konvertavimą į standartinį formatą ir kiekvieno parametro nukopijavimą į pranešimą.
  3. Kliento žinutė perduoda pranešimą transportavimo sluoksniui, kuris siunčia jį į nuotolinio serverio įrenginį.
  4. Serveryje transporto sluoksnis perduoda pranešimą serverio stubui, kuris demaršalai (išpakuokite) parametrus ir iškviečia norimą serverio rutiną naudojant įprastų procedūrų iškvietimo mechanizmą.
  5. Pasibaigus serverio procedūrai, jis grįžta į serverio šaknelę (pvz., naudojant įprastą skambučio grąžinimo procedūrą) , kuris grąžinamas reikšmes suskirsto į pranešimą. Tada serverio šakutė perduoda pranešimą transportavimo sluoksniui.
  6. Transportavimo sluoksnis siunčia rezultato pranešimą atgal į kliento transportavimo sluoksnį, kuris perduoda pranešimą atgal į kliento šaknį.
  7. Kliento stubs demarshall grąžinimo parametrus ir vykdymas grąžinamas skambinančiajam.

Pagrindiniai RPC sistemų projektavimo ir diegimo aspektai yra šie:

    Sauga: kadangi RPC apima ryšį per tinklą, saugumas yra pagrindinis rūpestis. Siekiant užkirsti kelią neteisėtai prieigai ir apsaugoti neskelbtinus duomenis, turi būti įdiegtos tokios priemonės kaip autentifikavimas, šifravimas ir autorizavimas. Mastelio keitimas: didėjant klientų ir serverių skaičiui, RPC sistemos našumas neturi prastėti. Apkrovos balansavimo metodai ir efektyvus išteklių panaudojimas yra svarbūs mastelio keitimui. Gedimų tolerancija: RPC sistema turi būti atspari tinklo gedimams, serverio gedimams ir kitiems netikėtiems įvykiams. Tokios priemonės kaip perteklius, pertrūkis ir grakštus pablogėjimas gali padėti užtikrinti atsparumą gedimams. Standartizavimas: yra keletas RPC sistemų ir protokolų, todėl svarbu pasirinkti standartizuotą ir plačiai priimtą, kad būtų užtikrintas skirtingų platformų ir programavimo kalbų sąveikumas ir suderinamumas. Našumo derinimas: svarbu tiksliai sureguliuoti RPC sistemą, kad jos veikimas būtų optimalus. Tai gali apimti tinklo protokolo optimizavimą, tinkle perduodamų duomenų sumažinimą ir delsos bei papildomų išlaidų, susijusių su RPC skambučiais, sumažinimą.

RPC KLAUSIMAI :
Problemos, kurias reikia spręsti:

kiek miestų Jungtinėse Amerikos Valstijose

1. RPC vykdymo laikas:
RPC vykdymo laiko sistema yra rutinos ir paslaugų rinkinys, valdantis tinklo ryšius, kuriais grindžiamas RPC mechanizmas. RPC skambučio metu kliento ir serverio pusės vykdymo laiko sistemų kodas tvarkomas surišti, užmegzti ryšį per atitinkamą protokolą, perduoti skambučių duomenis tarp kliento ir serverio ir tvarkyti ryšio klaidas.

2. Stuburo dalis:
Stuburo funkcija yra suteikti programuotojo parašyto programos kodo skaidrumo .

unix vs windows
    Kliento pusėje stuburo dalis tvarko sąsają tarp kliento vietinės procedūros iškvietimo ir vykdymo sistemos, suskirsto ir atjungia duomenis, iškviečia RPC vykdymo laiko protokolą ir, jei prašoma, atlieka kai kuriuos susiejimo veiksmus. Serverio pusėje stuburo dalis suteikia panašią sąsają tarp vykdymo laiko sistemos ir serverio vykdomų vietinio tvarkyklės procedūrų.

3. Įsipareigojimas: kaip klientas žino, kam skambinti ir kur yra paslauga?
Lanksčiausias sprendimas yra naudoti dinaminį susiejimą ir rasti serverį vykdymo metu, kai pirmą kartą sukuriamas RPC. Pirmą kartą iškvietus kliento stubuką, jis susisiekia su vardų serveriu, kad nustatytų perdavimo adresą, kuriame yra serveris.

Įrišimas susideda iš dviejų dalių:

  • Mes:
  • Vieta:
    Serveris, turintis paslaugą, eksportuoja jam skirtą sąsają. Eksportuojant sąsają ji registruojama sistemoje, kad klientai galėtų ja naudotis. Prieš pradėdamas ryšį, klientas turi importuoti (eksportuotą) sąsają.

4. Su RPC susijusi skambučio semantika:
Jis daugiausia skirstomas į šiuos pasirinkimus:

    Bandyti dar kartą užklausos pranešimas –
    Ar bandyti dar kartą išsiųsti užklausos pranešimą, kai sugedo serveris arba gavėjas negavo pranešimo. Pasikartojantis filtravimas –
    Pašalinkite pasikartojančias serverio užklausas. Rezultatų perdavimas –
    Norėdami pakartotinai išsiųsti prarastus pranešimus, pakartotinai nevykdant operacijų serverio pusėje.

PRIVALUMAI:

  1. RPC suteikia ABSTRAKCIJA y., tinklo komunikacijos pranešimų perdavimo pobūdis yra paslėptas nuo vartotojo.
  2. RPC dažnai praleidžia daugelį protokolo sluoksnių, kad pagerintų našumą. Net nedidelis našumo patobulinimas yra svarbus, nes programa dažnai gali iškviesti RPC.
  3. RPC leidžia naudoti programas paskirstytoje aplinkoje, ne tik vietinėje aplinkoje.
  4. Naudojant RPC kodą, perrašymo / naujo kūrimo pastangos sumažinamos iki minimumo.
  5. Į procesą ir giją orientuoti modeliai, kuriuos palaiko RPC.

Nuorodos: