[發明專利]進程運行方法及裝置有效
| 申請號: | 201210055242.1 | 申請日: | 2012-03-05 |
| 公開(公告)號: | CN103294561A | 公開(公告)日: | 2013-09-11 |
| 發明(設計)人: | 游晶;彭勇;鄒代柱 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/445 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 何平;曾旻輝 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 進程 運行 方法 裝置 | ||
【技術領域】
本發明涉及通信技術,特別是涉及一種進程運行方法及裝置。
【背景技術】
應用程序模塊采用的通信方式通常都是預先指定的。對于加載于進程內的應用程序模塊,可以直接調用進程內其它應用程序模塊中的函數;對于加載于進程外的應用程序模塊,則需要通過進程間通信機制(Interprocess?Communications,簡稱IPC)實現,以保證應用程序模塊之間較好的隔離性,例如,在使用共享內存進行進程之間應用程序模塊的通信時,創建、打開共享內存區域,以保證應用程序模塊之間運行的穩定性。
在傳統的多進程架構中,應用程序模塊在進程中的分布關系是預先確定的,因此應用程序模塊所采用的通信方式可以預先指定。但是,在應用程序模塊可進行動態調度和加載的場景下,應用程度模塊中進程內外的關系并不確定,預先為應用程序模塊指定通信方式已經無法滿足動態調度和加載的場景,進而使得進程的運行過程中缺乏調度靈活性。
【發明內容】
基于此,有必要提供一種能提高調度靈活性的進程運行方法。
此外,還有必要提供一種能提高調度靈活性的進程運行裝置。
一種進程運行方法,包括如下步驟:
根據調用請求加載應用程序模塊;
獲取所述應用程序模塊與所述請求調用的進程之間的分布關系;
根據所述分布關系獲取所述應用程序模塊的通信代理;
通過所述調用請求中目標應用程序模塊所對應的通信代理,調用所述目標應用程序模塊。
優選地,所述根據所述分布關系獲取所述應用程序模塊的通信代理的步驟為:
根據所述分布關系判斷所述應用程序模塊是否加載至請求調用的進程;
若是,則觸發中心進程創建本地通信代理,并將所述本地通信代理與所述應用程序模塊建立映射關系,
若否,則觸發所述中心進程獲取遠程通信代理,并建立所述遠程通信代理與所述應用程序模塊之間的映射關系
優選地,所述通過所述調用請求中目標應用程序模塊所對應的通信代理,調用所述目標應用程序模塊包括:
根據所述調用請求判斷發起請求的應用程序模塊和目標應用程序模塊是否處于同一進程;
若是,則根據所述調用請求在所述中心進程中查找與目標應用程序模塊對應的本地通信代理;
通過所述本地通信代理進行所述發起請求的應用程序模塊和目標應用程序模塊的通信。
優選地,所述通過所述調用請求中目標應用程序模塊所對應的通信代理,調用所述目標應用程序模塊還包括:
當根據所述調用請求判斷到發起請求的應用程序模塊和目標應用程序模塊未處于同一進程,則根據所述調用請求在所述中心進程中查找與目標應用程序模塊對應的遠程通信代理;
通過所述遠程通信代理進行所述發起請求的應用程序模塊和目標應用程序模塊的通信。
優選地,所述根據所述調用請求在所述中心進程中查找與目標應用程序模塊對應的本地通信代理的步驟之前還包括:
根據所述調用請求從堆上分配內存;
所述根據所述調用請求在所述中心進程中查找與目標應用程序模塊對應的遠程通信代理的步驟之前還包括:
通過轉調遠程進程調用模塊從共享內存中分配內存;
在所述分配的內存中通過Hook系統函數GetMessage將通信的數據以自定義消息的形式傳遞到消息線程,進而使用回調函數進行處理通信的數據。
一種進程運行裝置,包括:
模塊加載單元,用于根據調用請求加載應用程序模塊;
關系獲取單元,用于獲取所述應用程序模塊與所述請求調用的進程之間的分布關系;
代理獲取單元,用于根據所述分布關系獲取所述應用程序模塊的通信代理;
模塊調用單元,用于通過所述調用請求中目標應用程序模塊所對應的通信代理,調用所述目標應用程序模塊。
優選地,所述代理獲取單元包括:
加載判斷單元,用于判斷所述應用程序模塊是否加載至請求調用的進程,若是,則通知本地通信處理單元,若否,則通知遠程通信處理單元;
所述本地通信處理單元用于觸發中心進程創建本地通信代理,并將所述本地通信代理與所述應用程序模塊建立映射關系;
所述遠程通信處理單元用于觸發所述中心進程獲取遠程通信代理,并建立所述遠程通信代理與所述應用程序模塊之間的映射關系。
優選地,所述模塊調用單元包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210055242.1/2.html,轉載請聲明來源鉆瓜專利網。





