[發明專利]進程間通信方法、系統、存儲介質和計算機設備在審
| 申請號: | 202210152816.0 | 申請日: | 2022-02-18 |
| 公開(公告)號: | CN114518969A | 公開(公告)日: | 2022-05-20 |
| 發明(設計)人: | 王佰平;裴斐;馮常健;陳諤;方志恒 | 申請(專利權)人: | 杭州朗和科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京律智知識產權代理有限公司 11438 | 代理人: | 孫寶海;闞梓瑄 |
| 地址: | 310052 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 進程 通信 方法 系統 存儲 介質 計算機 設備 | ||
本公開的實施方式涉及計算機技術領域,更具體地,涉及進程間通信方法、系統、存儲介質和計算機設備。進程間通信方法應用于共享內核的進程,包括:消息發送進程將待發送的數據報文發送至共享內存,并向消息接收進程發送通知報文,通知報文攜帶數據報文存儲于共享內存中的地址信息;內核響應于通知報文,將通知報文傳輸至消息接收進程;消息接收進程解析通知報文以獲得地址信息,并根據地址信息自共享內存中獲取數據報文。本公開能夠減少進程間通信所需的數據拷貝開銷,并能夠進一步避免內核的網絡棧開銷,實現提高進程間通信速度,減少系統消耗。
技術領域
本公開的實施方式涉及計算機技術領域,更具體地,本公開的實施方式涉及進程間通信方法、系統、存儲介質和計算機設備。
背景技術
本部分旨在為權利要求中陳述的本公開的實施方式提供背景或上下文,此處的描述不因為包括在本部分中就承認是現有技術。
目前的進程間通信方式,需要調用內核的網絡棧,將待交換的完整數據從發送進程拷貝到內核空間,再從內核空間拷貝到接收進程。進程運行在用戶空間,進程間通信過程中,需要用戶空間與內核空間之間大量的數據拷貝開銷和內核大量的網絡棧開銷,造成通信速度慢、系統消耗大。
發明內容
本公開的實施方式期望提供一種進程間通信方法、系統、存儲介質和計算機設備,能夠減少進程間通信所需的數據拷貝開銷,并進一步避免內核的網絡棧開銷,以實現提高進程間通信速度,減少系統消耗。
根據本公開的一個方面,提供一種進程間通信方法,應用于共享內核的進程,包括:消息發送進程將待發送的數據報文發送至共享內存,并向消息接收進程發送通知報文,所述通知報文攜帶所述數據報文存儲于所述共享內存中的地址信息;所述內核響應于所述通知報文,將所述通知報文傳輸至所述消息接收進程;所述消息接收進程解析所述通知報文以獲得所述地址信息,并根據所述地址信息自所述共享內存中獲取所述數據報文。
在本公開的一示例性實施例中,所述內核中部署有eBPF應用;所述將所述通知報文傳輸至所述消息接收進程,包括:所述內核在所述消息發送進程與所述消息接收進程之間建立Socket連接,生成分別對接所述消息發送進程和所述消息接收進程的Socket接口;所述eBPF應用自對接所述消息發送進程的Socket接口劫持所述通知報文,并將所述通知報文傳輸至對接所述消息接收進程的Socket接口。
在本公開的一示例性實施例中,所述內核還生成分別對應所述消息發送進程和所述消息接收進程的Socket接口的Socket句柄;所述將所述通知報文傳輸至對接所述消息接收進程的Socket接口,包括:解析所述通知報文,獲得所述通知報文中包含的接口地址;根據所述接口地址確定目標Socket句柄;將所述通知報文傳輸至所述目標Socket句柄對應的目標Socket接口,所述目標Socket接口為對接所述消息接收進程的Socket接口。
在本公開的一示例性實施例中,每個所述Socket句柄中分別存儲所述Socket連接的本地接口地址和對端接口地址,所述接口地址包括源接口地址和目的接口地址;所述根據所述接口地址確定目標Socket句柄,包括:獲取以所述目的接口地址為本地接口地址、且以所述源接口地址為對端接口地址的Socket句柄,確定為所述目標Socket句柄。
在本公開的一示例性實施例中,所述將所述通知報文傳輸至所述消息接收進程,包括:在所述消息發送進程與所述消息接收進程之間建立Socket連接,生成分別對接所述消息發送進程和所述消息接收進程的Socket接口;調用網絡協議棧,通過所述網絡協議棧將所述通知報文由對接所述消息發送進程的Socket接口傳輸至對接所述消息接收進程的Socket接口。
在本公開的一示例性實施例中,所述地址信息包括所述數據報文存儲于所述共享內存中的首地址和所述數據報文的長度。
在本公開的一示例性實施例中,所述消息發送進程和所述消息接收進程互為業務進程和所述業務進程伴生的Sidecar進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州朗和科技有限公司,未經杭州朗和科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210152816.0/2.html,轉載請聲明來源鉆瓜專利網。





