[發明專利]進程間通信方法、裝置及存儲介質有效
| 申請號: | 201911304874.5 | 申請日: | 2019-12-17 |
| 公開(公告)號: | CN111158927B | 公開(公告)日: | 2023-10-24 |
| 發明(設計)人: | 陳燮民;黃真明;吳群;周昆 | 申請(專利權)人: | 科大訊飛股份有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 深圳市威世博知識產權代理事務所(普通合伙) 44280 | 代理人: | 黎堅怡 |
| 地址: | 230088 安徽省*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 進程 通信 方法 裝置 存儲 介質 | ||
本發明公開了一種進程間通信方法、裝置及存儲介質。該進程間通信方法包括:利用讀對象打開共享內存流并獲取共享內存流的寫入指針,共享內存流用于流式存儲數據包,寫入指針用于指示第一數據包的位置并且在完成第一數據包的寫入后更新,第一數據包為最后一次向共享內存流寫入的數據包;利用讀對象比較讀對象的當前讀指針與寫入指針,當前讀指針用于指示第二數據包的位置,第二數據包為利用讀對象最后一次從共享內存流中讀取的數據包;若比較結果表示第一數據包在第二數據包之后,則利用讀對象從共享內存流中讀取第二數據包之后的數據包并更新當前讀指針。通過上述方式,本發明能夠減少進程間通信的延時。
技術領域
本申請涉及計算機領域,特別是涉及一種進程間通信方法、裝置及存儲介質。
背景技術
在多進程系統中,不同進程之間的相互通信需要使用進程間通信機制。常見的進程間通信機制有共享內存等。
共享內存是一種簡單快速的進程間通信機制,然而為了保證共享內存中數據的準確性,需要選擇合適的同步機制以協調進程間的執行順序。常見的進程間同步機制有互斥鎖、自旋鎖等。
這些同步機制中讀操作和寫操作是互斥的,也就是說,若有進程正在向共享內存寫入數據,其他進程必須等到寫入完成后才能進行讀取操作,反之亦然。同步機制引入的可能的等待時間給進程間通信帶來了延時,影響了進程間通信的效率。
發明內容
本申請提供一種進程間通信方法、裝置及存儲介質,能夠解決現有技術中的同步機制影響進程間通信效率的問題。
為解決上述技術問題,本申請采用的一個技術方案是:提供一種進程間通信方法,該進程間通信方法包括:利用讀對象打開共享內存流并獲取共享內存流的寫入指針,共享內存流用于流式存儲數據包,寫入指針用于指示第一數據包的位置并且在完成第一數據包的寫入后更新,第一數據包為最后一次向共享內存流寫入的數據包;利用讀對象比較讀對象的當前讀指針與寫入指針,當前讀指針用于指示第二數據包的位置,第二數據包為利用讀對象最后一次從共享內存流中讀取的數據包;若比較結果表示第一數據包在第二數據包之后,則利用讀對象從共享內存流中讀取第二數據包之后的數據包并更新當前讀指針。
為解決上述技術問題,本申請采用的另一個技術方案是:提供一種進程間通信裝置,該進程間通信裝置包括處理器,處理器用于執行指令以實現前述的方法。
為解決上述技術問題,本申請采用的再一個技術方案是:提供一種存儲介質,存儲有指令,指令被執行時實現前述的方法。
本申請的有益效果是:通過利用讀對象打開共享內存流并獲取共享內存流的寫入指針,共享內存流用于流式存儲數據包,寫入指針用于指示第一數據包的位置并且在完成第一數據包的寫入后更新,第一數據包為最后一次向共享內存流寫入的數據包;利用讀對象比較讀對象的當前讀指針與寫入指針,當前讀指針用于指示第二數據包的位置,第二數據包為利用讀對象最后一次從共享內存流中讀取的數據包;若比較結果表示第一數據包在第二數據包之后,則利用讀對象從共享內存流中讀取第二數據包之后的數據包并更新當前讀指針。讀對象通過比較當前讀指針和寫入指針,可以從共享內存流中讀取未讀的已完成寫入的數據包。
由于共享內存流是流式存儲,即第n+1個數據包接在第n個數據包之后存儲,n為正整數,在讀對象進行讀取的過程中,寫對象可以繼續向共享內存流寫入新的數據包而不會影響當讀對象讀取已經完成寫入的數據包,同時由于寫入過程中寫入指針仍未更新,讀對象也不會讀取正在寫入的數據包,對共享內存流的讀操作和寫操作可以同時進行而不會互相影響,無需在讀寫操作之間引入互斥的機制,讀對象和寫對象不需要等待對方的操作完成,縮短了進程間通信的延時,提高了進程間通信的效率。
附圖說明
圖1是本發明進程間通信方法第一實施例的流程示意圖;
圖2是圖1中S11的具體流程示意圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于科大訊飛股份有限公司,未經科大訊飛股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911304874.5/2.html,轉載請聲明來源鉆瓜專利網。





