[發明專利]一種基于共享內存的進程間功能調用方法及裝置在審
| 申請號: | 201710708007.2 | 申請日: | 2017-08-17 |
| 公開(公告)號: | CN107491355A | 公開(公告)日: | 2017-12-19 |
| 發明(設計)人: | 解雙福 | 申請(專利權)人: | 山東浪潮商用系統有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/50 |
| 代理公司: | 濟南信達專利事務所有限公司37100 | 代理人: | 李世喆 |
| 地址: | 250100 山東省濟南市*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 共享 內存 進程 功能 調用 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,特別涉及一種基于共享內存的進程間功能調用方法及裝置。
背景技術
進程是系統進行資源分配和調度的基本單位,各個進程之間的在運行時,需要利用其它進程的某些功能,因此進程間的功能調用十分重要。
目前,各個進程在運行前,一般在不同的服務端進行注冊。在進程運行期間進行功能調用時,需要從待調用進程對應的服務端獲取相應的注冊信息,根據獲取的注冊信息,再對待調用進程的相關功能進行調用。
在此過程中,需要從不同服務端獲取待調用進程的注冊信息,即有大量的進程間信息進行傳遞,這導致系統的性能消耗較大。
發明內容
本發明實施例提供了一種基于共享內存的進程間功能調用方法及裝置,能降低系統的性能消耗。
第一方面,本發明實施例提供了一種基于共享內存的進程間功能調用方法,包括:
預先設置服務進程和客戶端進程;
啟動所述服務進程,并利用啟動的所述服務進程,創建共享內存;
利用所述服務進程中的監控線程監控所述共享內存;
接收數據處理請求,所述數據處理請求中攜帶有待處理數據以及待調用處理函數的標識信息;
利用所述客戶端進程將所述待處理數據存入所述共享內存;
當所述監控線程監控到所述共享內存中有數據存入時,調用與所述標識信息相對應的目標函數;
利用調用的所述目標函數,對所述共享內存中存儲的所述待處理數據進行處理,并輸出處理后的數據。
優選地,
在所述啟動所述服務進程,利用啟動的所述服務進程,創建共享內存之后,進一步包括:
利用所述服務進程,在所述共享內存中初始化存入信號量和導出信號量,并將所述共享內存分為寫入內存和輸出內存;其中,所述存入信號量與所述寫入內存相對應,所述導出信號量與所述輸出內存相對應;
所述利用所述客戶端進程將所述待處理數據存入所述共享內存,包括:
當接收到所述數據處理請求時,打開所述存入信號量,并利用所述客戶端進程將所述待處理數據存入所述寫入內存;
所述當所述監控線程監控到所述共享內存中有數據存入時,調用與所述標識信息相對應的目標函數,包括:
當所述監控線程監控到所述寫入內存有數據存入時,讀取所述寫入內存中的所述待處理數據,并調用所述目標函數;
所述利用調用的所述目標函數,對所述共享內存中存儲的所述待處理數據進行處理,并輸出處理后的數據,包括:
在所述寫入內存中,利用所述目標函數對所述待處理數據進行處理;
打開所述導出信號量,利用所述監控線程將所述處理后的數據寫入所述輸出內存。
優選地,
所述利用所述客戶端進程將所述待處理數據存入所述寫入內存,包括:
利用所述客戶端進程將所述待處理數據進行序列化,并將序列化后的所述待處理數據寫入所述寫入內存;
所述當所述監控線程監控到所述寫入內存有數據存入時,讀取所述寫入內存中的所述待處理數據,并調用所述目標函數,包括:
利用所述監控線程對讀取的所述待處理數據進行反序列化,并調用所述目標函數;
所述利用所述監控線程將所述處理后的數據寫入所述輸出內存,包括:
利用所述監控線程將所述處理后的數據進行序列化,并將序列化后的所述處理后的數據寫入所述輸出內存。
優選地,
在所述利用所述客戶端進程將所述待處理數據存入所述寫入內存之前,進一步包括:
利用所述服務進程中的網絡線程監聽傳輸控制協議;
當所述網絡線程監聽到所述數據處理請求通過所述傳輸控制協議進行傳輸時,利用所述網絡線程接收所述數據處理請求,并執行所述利用所述客戶端進程將所述待處理數據存入所述寫入內存。
優選地,
在所述利用所述監控線程將所述處理后的數據寫入所述輸出內存之后,進一步包括:
利用所述網絡線程將所述輸出內存中的所述處理后的數據經所述傳輸控制協議進行輸出,并執行所述利用所述網絡線程監聽傳輸控制協議。
優選地,
進一步包括:設置消息廣播進程;
在所述利用啟動的所述服務進程,創建共享內存之后,進一步包括:
確定所述服務進程對應的至少一個消息監聽線程;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東浪潮商用系統有限公司,未經山東浪潮商用系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710708007.2/2.html,轉載請聲明來源鉆瓜專利網。





