[發明專利]插件間的報文傳遞方法及裝置、代理插件有效
| 申請號: | 201210504699.6 | 申請日: | 2012-11-30 |
| 公開(公告)號: | CN103856396B | 公開(公告)日: | 2017-05-31 |
| 發明(設計)人: | 張新平 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L12/70 | 分類號: | H04L12/70 |
| 代理公司: | 北京銀龍知識產權代理有限公司11243 | 代理人: | 許靜,黃燦 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 插件 報文 傳遞 方法 裝置 代理 | ||
技術領域
本發明涉及通信領域,特別是指一種插件間的報文傳遞方法及裝置、代理插件。
背景技術
在大型軟件開發中,為了方便對軟件進行功能擴展,實現模塊內高內聚,模塊間低耦合的特性,實現發布軟件功能的可定制性,往往采用插件式開發,將一個個功能封裝在插件中實現,插件可以通過其id查找,插件對應的二進制實體可能是動態鏈接庫和jar包等,往往這些插件可能會有多種類型,即遵循的插件接口不一樣,而為了處理上的方便,這些不同的接口可以派生于同一個基礎接口。一個系統往往包括多個進程,每個進程中又含有多個插件,這些插件在進程內可能成樹形管理部署,任何兩個插件間可能會有報文傳遞,在傳遞過程中可能會涉及多個別的中間插件,從調用關系看是一個有向網。一般的報文有報文頭和報文體,報文頭是含命令的通用信息,如含有命令碼(或者命令串)、序列號、類型(區分請求、應答、通知等報文類型)、方向(從客戶端到服務器的方向稱為下,從服務器到客戶端方向稱為上)等信息。報文體是命令對應的具體信息。
在綜合型的網管中要管理各種專業網產品,而每種專業網產品擁有很多種設備。而各專業網有自己的特性,不同設備之間存在差異。網管往往采用C/S結構,Server側根據專業網和功能分為多個進程、分布式管理。每個進程內含有功能各異的插件,各插件呈樹形方式管理。不同的插件間存在進程內或跨進程的交互。
傳統的插件接口如果進程內和進程間是統一的,則由于進程間需要通過socket等形式傳遞,必須先編碼成碼流,才能在兩個插件間傳遞,接收插件接收到碼流,再解碼處理,無法直接傳遞結構,統一的接口形式要求進程內兩個插件報文傳遞也需要編碼和解碼過程,從而導致報文傳輸效率較低。
發明內容
本發明要解決的技術問題是提供一種插件間的報文傳遞方法及裝置、代理插件,能夠提高插件間的報文傳輸效率。
為解決上述技術問題,本發明的實施例提供技術方案如下:
一方面,提供一種插件間的報文傳遞方法,包括:
報文傳遞裝置接收第一插件發送的請求調用第二插件的消息;
所述報文傳遞裝置將所述第二插件信息返回給所述第一插件,以便所述第一插件調用所述第二插件。
進一步地,上述方案中,所述報文傳遞裝置將所述第二插件信息返回給所述第一插件包括:
所述報文傳遞裝置確定所述第二插件對應的代理插件;
所述報文傳遞裝置將所述代理插件返回給所述第一插件,以便所述第一插件通過所述代理插件調用所述第二插件。
進一步地,上述方案中,所述報文傳遞裝置確定對應所述第二插件對應的代理插件包括:
所述報文傳遞裝置判斷所述第二插件與所述第一插件是否屬于同一進程;
在所述第二插件與所述第一插件屬于同一進程時,所述報文傳遞裝置創建一本地代理插件作為所述第二插件的代理插件;
在所述第二插件與所述第一插件不屬于同一進程時,所述報文傳遞裝置確定所述第二插件所屬的進程,并創建一遠程代理插件作為所述第二插件的代理插件。
本發明實施例還提供了一種插件間的報文傳遞方法,包括:
代理插件接收第一插件發送的請求報文,所述請求報文請求獲取第二插件數據;
所述代理插件將所述請求報文發送給所述第二插件,并接收所述第二插件返回的攜帶有應答數據的響應報文;
所述代理插件將所述響應報文返回給所述第一插件,以便所述第一插件對所述響應報文解析得到應答數據。
進一步地,上述方案中,所述請求報文為采用函數virtual CMsgAny*Get(CMsgAny & anymsg,CMsgHead& headinfo)或virtual void Set(CMsgAny &anymsg,CMsgHead & headinfo),其中參數anymsg為報文體,參數headinfo為報文頭信息;
CMsgAny包括兩個字段,一為報文碼流指針字段anyBuf,另一個為報文結構指針字段value。
進一步地,上述方案中,在所述第二插件與所述第一插件屬于同一進程時,所述代理插件將所述請求報文發送給所述第二插件包括:
所述代理插件不對所述請求報文進行編碼,直接將所述請求報文發送給所述第二插件;
所述代理插件將所述響應報文返回給所述第一插件包括:
所述代理插件不對所述響應報文進行編碼,直接將所述響應報文發送給所述第一插件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210504699.6/2.html,轉載請聲明來源鉆瓜專利網。





