0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RPC的基本原理和主要特點

嵌入式應用研究院 ? 來源:嵌入式大雜燴 ? 2024-11-05 09:12 ? 次閱讀

以下文章來源于嵌入式大雜燴

一、RPC簡介

RPC(Remote Procedure Call,遠程過程調用)機制是一種常用的通信機制。實際上就是要像調用本地的函數一樣去調遠程函數。

RPC機制,在互聯網中應用得比較廣泛。在我們嵌入式中,把傳輸層拓展到IPC、TPC/IP、UART、USB等,很多場景下也都可以用得上。

如:

? 需要發(fā)送確認的場景,比如發(fā)送某個數據,需要對端回復一個數據進行確認,這種場景,我們可以在應用上進行實現,隨著協議越加越多,對應的回復的代碼也越來越多,但基本都是很相似的代碼。這種下使用RPC機制就比較優(yōu)雅了,本地發(fā)起遠端調用請求,遠端執(zhí)行完后會將結果返回。

? 應用于進程間的交互:你寫了一段代碼,這段代碼可以調用你電腦上某個服務提供的功能,而不需要關心這個服務運行在你的電腦上還是在網絡的另一端。

? 應用于板間的交互:多個控制板之間需要通信和協作來協調生產過程。使用RPC可以簡化這些控制單元之間的調用和數據共享。

? 應用于端云的交互:IoT設備通常需要和云端服務器或其他設備交互。通過RPC,設備可以遠程調用云服務,實現數據同步、功能升級等操作。

二、RPC的基本原理

8648b71e-998a-11ef-a511-92fbcf53809c.jpg

嵌入式RPC機制主要由客戶端和服務器兩部分組成:

1、客戶端:發(fā)起調用請求,將參數傳遞給遠程方法,并接收服務端返回的結果。在嵌入式系統中,客戶端通常作為非安全環(huán)境中的應用程序。

2、服務器:執(zhí)行客戶端調用的遠程過程,并將結果返回給客戶端。在嵌入式系統中,服務器通常位于安全環(huán)境中的可信執(zhí)行環(huán)境(TEE)中,如OP-TEE框架。

這張圖里的network傳輸鏈路,在我們嵌入式中,對于不同的應用場景可以是UART、USB等。

RPC的基本工作原理如下:

1、定義遠程方法接口(服務契約),包括方法名稱、參數類型、返回值類型等信息。

2、生成客戶端和服務端的stub(樁)和skeleton(骨架)代碼。

3、客戶端通過stub調用遠程方法,stub將請求序列化為網絡傳輸格式,然后通過網絡發(fā)送給服務端。

4、服務端接收到請求后,通過skeleton進行反序列化,根據接口定義執(zhí)行遠程方法,并將返回值序列化為網絡傳輸格式,發(fā)送給客戶端。

5、客戶端接收到服務端的響應后,通過stub進行反序列化,獲取返回值。

三、RPC的主要特點

跨平臺性:RPC框架可以在不同的操作系統和平臺上運行,實現跨平臺的遠程調用。這一特點使得RPC框架能夠廣泛應用于各種異構環(huán)境中,提高了系統的靈活性和適應性。

透明性:RPC框架隱藏了底層的通信細節(jié),使得客戶端能夠像調用本地函數一樣調用遠程函數,無需關注網絡通信的具體實現。這一特點簡化了開發(fā)者編程模型,降低了開發(fā)難度。

高效性:RPC框架通常采用二進制數據傳輸和壓縮等技術,使得網絡通信效率更高,比如使用protobuf進行序列化與反序列化。

四、嵌入式RPC框架推薦:erpc

eRPC(嵌入式RPC)是NXP開源的、用于多芯片嵌入式系統和異構多核SoC的開源遠程過程調用(RPC)系統。與其他現代RPC系統(如出色的Apache Thrift)不同,eRPC的與眾不同之處在于它是為緊密耦合的系統設計的,使用純C實現遠程功能,并且代碼大小較小(<5kB)。它不適用于網絡上的高性能分布式系統。

864fba3c-998a-11ef-a511-92fbcf53809c.png

erpc源碼:

https://github.com/EmbeddedRPC/erpc

86673964-998a-11ef-a511-92fbcf53809c.png

? 函數的參數和標識符(用于被調用的例程)被序列化成字節(jié)流。

? 該字節(jié)流通過通信通道(IPC、TPC/IP、UART等)傳輸到服務器。

? 服務器對參數進行反序列化,確定調用了哪個函數,然后調用它。

? 如果函數返回一個值,那么該值將被序列化并通過通信通道發(fā)送回客戶端。

erpc主要特點

? 輕量級但可擴展

? 生成的代碼較小

? 抽象傳輸接口

? 序列化數據的大小較小

? 非常適合C語言的環(huán)境,也足夠靈活,可以支持面向對象的語言,如c++

? 從服務器到客戶機的異步通知

? 最小化延遲影響

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19126

    瀏覽量

    305299
  • 服務器
    +關注

    關注

    12

    文章

    9165

    瀏覽量

    85437
  • RPC
    RPC
    +關注

    關注

    0

    文章

    111

    瀏覽量

    11537
  • 函數
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62630

原文標題:推薦一個嵌入式 RPC 通信框架-eRPC

文章出處:【微信號:嵌入式應用研究院,微信公眾號:嵌入式應用研究院】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    光儲存的基本原理主要特點

    信息資料迅速增長是當今社會的一大特點。有人統計,科技文獻數量大約每7年增加1倍,而一般的情報資料則以每2年~3年翻一番的速度增加。大量資料的存儲、分析、檢索和傳播,迫切需要高密度、大容量的存儲介質和管理系統。
    發(fā)表于 08-30 09:06 ?2175次閱讀

    DDS基本原理及性能特點

    本帖最后由 mr.pengyongche 于 2013-4-30 02:21 編輯 DDS基本原理及性能特點DDS的基本大批量是利用采樣定量,通過查表法產生波形。DDS的結構有很多種,其基本的電路原理可用
    發(fā)表于 07-13 14:12

    Linux的主要特點 發(fā)展 安裝

    Linux的主要特點 發(fā)展 安裝
    發(fā)表于 08-13 16:20

    貼片頭的分類和主要特點

      從技術發(fā)展來看,貼片頭已經由機械對中發(fā)展到光學對中校正。目前,從主流貼片頭結構形式來看,主要有平動式、轉動式和組合式3種,轉動式中細分為轉塔式、旋轉式和小轉塔式3種。本節(jié)詳細介紹平動式、旋轉式和轉塔式3種主要的貼片頭?! 「鞣N貼片頭
    發(fā)表于 09-03 10:46

    檢波器的基本原理是什么?主要有哪些分類?

    檢波器的基本原理是什么?微波檢波器主要功能是什么?對數檢波器是由哪些器件組成的?
    發(fā)表于 06-25 08:15

    什么是Lora?LoRa的主要特點?

    什么是Lora?LoRa的主要特點?LoRa的系統架構?LoRa的協議棧?
    發(fā)表于 07-26 06:15

    無線充電的基本原理是什么

    狀態(tài),接收端線圈也是如此下圖就是實際電路應用無線充電工作基本原理圖發(fā)射板主要有控制ic,驅動ic,發(fā)射線圈,諧振電容組成這個是接收線圈,扎數比發(fā)射線圈多所以諧振電容可以小一些,方便安裝...
    發(fā)表于 09-15 06:01

    模數轉換器(ADC)的基本原理是什么?

    模數轉換器(ADC)的基本原理是什么?常用的幾種ADC類型的基本原理特點是什么?
    發(fā)表于 09-28 08:21

    STM32CubeIDE的主要特點有哪些

    STM32CubeIDE是什么?STM32CubeIDE的主要特點有哪些?
    發(fā)表于 09-28 08:16

    串口通信基本原理是什么?

    串口通信基本原理是什么?UART異步通信方式特點是什么?常用的串口相關寄存器有哪些?
    發(fā)表于 02-18 08:00

    RISC的主要特點和優(yōu)點講解

    RISC的主要特點和優(yōu)點講解
    發(fā)表于 02-27 14:59

    變壓器基本原理、分類和主要參數

    變壓器基本原理、分類和主要參數
    發(fā)表于 06-30 19:28 ?1609次閱讀

    變頻空調的控制原理及主要特點

    變頻空調的控制原理及主要特點 一、變頻空調的控制原理及主要特點 變頻空調器與普通空調器或稱定轉速空調器的主
    發(fā)表于 08-21 22:37 ?2521次閱讀

    SSL_VPN架構組成及主要特點

    學習完本課程,您應該能夠:了解SSL協議基本原理,敘述SSL VPN架構組成及主要特點。掌握SSL VPN主要功能及實現方式,掌握SSL VPN主要部署模式。
    發(fā)表于 04-13 18:12 ?22次下載

    微波檢測的基本原理 微波檢測的主要特點

    微波檢測技術是一種利用微波信號對物體進行檢測的技術,它在許多領域都有廣泛的應用,如通信、雷達、遙感、醫(yī)學成像等。本文將詳細介紹微波檢測的基本原理、主要特點以及應用領域。 一、微波檢測的基本原理 微波
    的頭像 發(fā)表于 05-28 15:24 ?2583次閱讀