Основные подходы к проектированию распределенных баз данных



         

Механизм работы RPC


            RPC позволяет клиенту напрямую вызывать процедуры, находящиеся в программе на удаленном сервере. Клиент и сервер имеют различные адресные пространства; так, каждый имеет свою собственную память, в которой распределены данные, используемые процедурами. Следующий рисунок иллюстрирует архитектуру RPC:

Рис.2.3. Механизм работы RPC.

 

            Как показано на рис.2.3, клиентское приложение вызывает локальную заглушку вместо кода, непосредственно реализующего необходимую процедуру. Заглушка компилируется и линкуется с клиентским приложением. Заглушка клиента выполняет следующие действия:

·      Запрашивает необходимые параметры из адресного пространства клиента

·      Переводит параметры в стандартную форму представления данных в сети (NDR - standard network data representation)

·      Вызывает необходимые функции из библиотеки времени выполнения RPC для отсылки запроса с параметрами на сервер.

Заглушка сервера выполняет следующие шаги:

·      Библиотека времени выполнения RPC принимает запрос и вызывает процедуру заглушки сервера

·      Заглушка сервера принимает параметра из буфера и конвертирует их из формата NDR в формат, процедуры сервера.

·      Заглушка вызывает необходимую процедуру на сервере.

Удаленная процедура выполняется, генерирует выходные параметры и возвращаемое значение. Когда процедура завершена, следующие шаги возвращают данные клиенту:

·      Удаленная процедура возвращает данные заглушке сервера

·      Заглушка сервера конвертирует возвращаемые параметры в формат NDR и возвращает их функции библиотеки времени выполнения RPC

·      Библиотечные функции передают данные через сеть на клиентский компьютер

Клиент завершает процесс принятием данных из сети и их возвратом вызывающей функции:




Содержание  Назад  Вперед