[發明專利]一種基于Thrift協議的遠程過程調用裝置、方法及系統有效
| 申請號: | 201710451530.1 | 申請日: | 2017-06-15 |
| 公開(公告)號: | CN107301098B | 公開(公告)日: | 2020-09-08 |
| 發明(設計)人: | 汪浩淼 | 申請(專利權)人: | 搜易貸(北京)金融信息服務有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;H04L29/06;H04L29/08 |
| 代理公司: | 北京市蘭臺律師事務所 11354 | 代理人: | 白偉;賈楠 |
| 地址: | 100080 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 thrift 協議 遠程 過程 調用 裝置 方法 系統 | ||
1.一種基于Thrift協議的遠程過程調用裝置,包括API模塊、遠程調用模塊(TFCilentFactory);其中API模塊包括若干預設服務約定接口及若干Thrift調用基礎類,一個預設服務約定接口對應一種遠程服務,所述遠程調用模塊(TFCilentFactory)包括若干Java基礎工具類,所述Java基礎工具類可讀取API模塊中包含的預設服務約定接口,所述API模塊中各預設服務約定接口通過url和tprotocol兩個變量與一種特定遠程服務對應,url用于定義該特定遠程服務的地址,tprotocol用于定義該特定遠程服務所以使用的Thrift網絡數據傳輸格式,所述遠程調用模塊(TFCilentFactory)中的Java基礎工具類可利用java反射機制讀取任何API包中約定格式的接口,并提取出該接口對應的服務的url和網絡傳輸格式tprotocol,結合API包中thrift編譯器生成的基礎代碼,利用java的動態代理技術,根據約定接口動態生成一個代理對象,Java基礎工具類包含經擴展的springBeanFactoryPostProcessor后置處理器,該處理器中設有自定義處理邏輯,用以將代理對象注入到spring所管理的context中供調用者通過spring注解機制獲取代理對象,通過代理對象以thrift協議觸發對遠程服務的調用。
2.根據權利要求1所述的基于Thrift協議的遠程過程調用裝置,其特征在于:還包括服務端模塊和客戶端模塊,所述服務端模塊包括基于thrift協議的若干預設服務,所述服務端模塊可根據客戶端模塊發出的調用請求向調用者反饋對應的預設服務處理結果,并記錄執行數據,所述執行數據包括輸入流、輸出流、基于thrift協議的預設服務、調用成功情況、響應時間中的一種或多種。
3.一種基于Thrift協議的遠程過程調用方法,其特征在于,包括以下步驟:
步驟1:建立Thrift中間描述文件,其中定義了若干遠程服務;
步驟2:定義一個注解,注解里面定義兩個變量,其中一個變量用于定義各服務的遠程地址(url),另一個變量用于定義遠程服務所使用的Thrift網絡數據傳輸格式(tprotocol);
步驟3:將步驟2中產生的注解存放于一個公共的基礎包中;
步驟4:定義一個約定接口,并繼承由Thrift編譯器根據步驟1中的IDL文件所生成的對應服務的接口,并在約定接口上打上注解同時定義好步驟2中的兩個變量;
步驟5:利用Thrift編譯器和thrift-maven-plugin插件,將步驟4中的接口與對應的thrift中間描述文件所生成的thrift調用基礎工具類打包成API包;
步驟6:建立遠程調用包(TFCilentFactory),所述遠程調用包為Java開發語言對應的若干基礎工具類,該等工具類可利用java反射原理讀取API包中任一約定格式的接口,并提取出該接口對應服務的注解變量,結合API包中thrift編譯器生成的基礎代碼,利用java的動態代理技術,根據約定接口動態生成一個代理對象,供業務開發者實現對特定服務的本地化遠程調用,具體為:擴展Java基礎工具類中的spring BeanFactoryPostProcessor后置處理器,添加自定義處理邏輯使引入了API包和遠程調用包的工程可以在spring容器啟動后自動掃描所有該工程引入的約定接口,并利用掃描到的約定接口生成對應的代理對象,將產生的代理對象自動存入spring context;業務開發者在需要使用該服務的類中就可以創建約定接口類型的成員變量,并在其上打@Autowired注解,從而自動注入代理對象,實現對特定服務的本地化遠程調用。
4.根據權利要求3所述的基于Thrift協議的遠程過程調用方法,其特征在于:還包括步驟7,遠程過程調用方法被執行時利用Hystrix進行包裝,收集對應服務的統計數據,統計數據至少包括成功次數、失敗次數、失敗比例、調用時長中的一種或多種。
5.根據權利要求4所述的基于Thrift協議的遠程過程調用方法,其特征在于:統計數據以一定頻率將統計數據發往時序存儲數據庫influxDB,通過grafana以圖表形式實時顯示相關數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于搜易貸(北京)金融信息服務有限公司,未經搜易貸(北京)金融信息服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710451530.1/1.html,轉載請聲明來源鉆瓜專利網。





