[發明專利]一種多節點數據交互的實現方法有效
| 申請號: | 201510034019.2 | 申請日: | 2015-01-22 |
| 公開(公告)號: | CN104615489B | 公開(公告)日: | 2018-02-23 |
| 發明(設計)人: | 朱偉;高明 | 申請(專利權)人: | 江蘇大燁智能電氣股份有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;H04L29/08 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙)32249 | 代理人: | 楊曉玲 |
| 地址: | 211102 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 節點 數據 交互 實現 方法 | ||
技術領域
本發明涉及多節點之間的業務處理,特別涉及一種節點數據交互的實現方法。
背景技術
隨著計算機以及網絡的高速發展,分布式處理系統被大規模應用。分布式系統中某個節點為了訪問其他機器節點的數據與資源,一般會通過自定義報文格式的方式進行數據交互或業務處理。這種方式的通信效率非常低而且維護開發工作量較大。當增加或修改某個功能時有可能需要增加新的報文格式或對已有的報文格式進行修改,因此系統中模塊之間的耦合程度較高,獨立性比較差。如果機器節點之間通過過程調用的方式來訪問其他機器節點的數據與資源,就可以大大降低進程實現的復雜度,從而降低進程之間的耦合性,讓系統設計變得更加簡單。從某種意義上來講,遠程過程調用可看作是把分割的程序通過網絡進行重組的過程。通過遠程過程調用,當要訪問其他機器系統上數據的時候就不需每次拷貝整個數據庫或它的大部分程序到用戶系統,遠程機器節點只需要處理來自客戶端的處理請求,甚至只執行一些數據計算,把執行的結果再發送給調用者。當數據存放在某個機器節點時,其他機器節點可以很方便的通過遠程過程訪問其數據,因此極大提高了分布式系統中計算機資源的利用率。
過程調用一般是指將控制從調用者傳遞到被調用者,被調用者在執行結束后將控制交還給調用者。目前大多數調用者和被調用者是在同一臺機器上,它們是在生成可執行程序時由編譯器鏈接起來的,這種過程調用一般稱為本地過程調用。遠程過程調用指的是由本地機器系統上的某個進程激活遠程機器系統上的另外一個進程,遠程系統調用對調用者表現為本地過程調用,但實際上是調用了遠程系統上的過程。
處理遠程過程調用的進程由本地客戶端進程和其他機器節點進程共同作用。遠程過程調用對于本地客戶端表現為由調用進程在執行某個控制時首先將過程調用需要的參數以及需要調用的過程生成對應的消息,并通過網絡發往其他機器節點其他機器節點接到消息后調用相應過程,調用結束后將執行結果通過網絡發送至調用者。
傳統的過程調用是由開發人員在本地編譯完成,并只能運行在本地機器上,這種結構已經無法適應分布式系統應用的實際需求。傳統過程調用沒有辦法充分利用網絡上其他機器節點的系統資源,也沒有辦法提高代碼在實體間的共享程度,使得分布式系統機器資源沒有得到充分的利用。而遠程過程調用很好地解決了傳統過程調用,通過遠程調用可以充分利用非共享內存的多處理器環境并應用分布在多臺機器節點上,應用程序就像在一個多處理器的計算機上運行一樣,可以方便的實現過程代碼共享,提高系統資源的利用率。遠程過程調用和通過定義報文傳遞處理消息相比,前者語義更加清楚、使用更加簡單、通用性以及可擴展性更強,而且有著更高的通信效率。
當在系統或節點之間采用遠程過程調用(Remote Procedure Call,RPC)之后,原先節點之間的數據及操作處理由圖1變成圖2的模式,進程在處理其他節點或進程的數據就變得和在自己本進程內處理一樣簡單,程序代碼更加簡單,減小了系統設計的復雜性。
發明內容
發明目的:針對上述現有技術,提出一種多節點數據交互的實現方法,通過遠程過程調用實現數據交互,簡化業務數據處理流程。
技術方案:一種多節點數據交互的實現方法,在每個節點上設置數據服務模塊,任一節點上的數據服務模塊用于實現該節點自身進程之間的數據交互,同時不同節點上的數據服務模塊實現不同節點進程之間的數據交互;所述數據服務模塊通過遠程過程調用協議實現進程間的數據交互,所述遠程過程調用協議的底層通過Qt元對象系統實現。
進一步的,所述遠程過程調用協議的底層通過Qt元對象系統實現時,Qt元對象系統中QObject子類的Slot函數所對應的輸入參數作為過程調用的輸入,Slot函數的返回值作為過程調用的輸出結果。
進一步的,所述遠程過程調用中,當客戶端任一進程需要獲得其他機器節點的變化數據的時候,不同節點之間變化數據的通知包括如下步驟:首先在客戶端的數據服務模塊上對所述數據或該數據對象類型進行注冊;當其它機器節點的數據變化后,將變化數據發送給客戶端的數據服務模塊;然后由客戶端的服務模塊通過進程間過程調用通知所述注冊數據或數據對象類型所對應的進程,在所述對應進程的進程空間內執行相應的回調函數。
進一步的,所述遠程過程調用包括如下具體步驟:
e.機器節點按照功能分類,從QObject子類繼承得到若干個對象,節點之間的遠程過程調用通過所述若干個對象所對應的Slot函數實現,并將所述QObject子類實例化為實例對象后加入到服務對象列表;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇大燁智能電氣股份有限公司,未經江蘇大燁智能電氣股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510034019.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種多核并行離散事件仿真的內存管理方法
- 下一篇:并行任務優化系統和方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





