[發(fā)明專(zhuān)利]一種進(jìn)程通訊方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201811580765.1 | 申請(qǐng)日: | 2018-12-24 |
| 公開(kāi)(公告)號(hào): | CN111352743A | 公開(kāi)(公告)日: | 2020-06-30 |
| 發(fā)明(設(shè)計(jì))人: | 韓子雙 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京新媒傳信科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/54 | 分類(lèi)號(hào): | G06F9/54 |
| 代理公司: | 北京市隆安律師事務(wù)所 11323 | 代理人: | 權(quán)鮮枝 |
| 地址: | 100089 北京市海淀區(qū)萬(wàn)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 進(jìn)程 通訊 方法 裝置 | ||
本發(fā)明公開(kāi)了一種進(jìn)程通訊方法和裝置。本發(fā)明的進(jìn)程通信裝置包括初始化單元、監(jiān)聽(tīng)單元和通信單元。本發(fā)明的進(jìn)程通訊方法包括:初始化進(jìn)程通信的消息通道,消息通道包括由第一進(jìn)程、第二進(jìn)程和共享內(nèi)存共同組成的通道;監(jiān)聽(tīng)消息通道;在第一進(jìn)程或第二進(jìn)程的發(fā)送線程接收到來(lái)自發(fā)送端的消息時(shí),由發(fā)送線程將消息寫(xiě)入所述共享內(nèi)存,觸發(fā)對(duì)方進(jìn)程從所述共享內(nèi)存中讀消息并執(zhí)行,實(shí)現(xiàn)第一進(jìn)程與所述第二進(jìn)程之間的消息收發(fā),其中發(fā)送端為運(yùn)行第一進(jìn)程或第二進(jìn)程的終端。本發(fā)明通過(guò)異步的消息處理方式實(shí)現(xiàn)消息的分發(fā),保證消息分發(fā)不會(huì)堵塞,無(wú)需用戶(hù)花費(fèi)大量人力維護(hù)消息的收發(fā)邏輯。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種進(jìn)程通訊方法和裝置。
背景技術(shù)
在多團(tuán)隊(duì)開(kāi)發(fā)同一套軟件時(shí),團(tuán)隊(duì)間協(xié)作一般會(huì)封裝庫(kù)(動(dòng)態(tài)庫(kù)或靜態(tài)庫(kù)),或者使用簡(jiǎn)單的進(jìn)程間通訊。
封裝動(dòng)態(tài)庫(kù)的方式是:把自己團(tuán)隊(duì)的代碼編譯\打包成庫(kù)供其他團(tuán)隊(duì)調(diào)用,同時(shí)需要提供該庫(kù)的頭文件、函數(shù)說(shuō)明和對(duì)應(yīng)的依賴(lài)環(huán)境。這種方式至少存在以下問(wèn)題:
開(kāi)發(fā)前需要制定嚴(yán)格的接口協(xié)議,并且需要雙方都去遵守;當(dāng)一方崩潰時(shí),會(huì)導(dǎo)致整個(gè)軟件崩潰;排查問(wèn)題時(shí)需要雙方都投入人力,并且需要頻繁的交流才可以把問(wèn)題解決。
進(jìn)程間通訊方案:提供簡(jiǎn)單的傳輸協(xié)議,需要雙方去維護(hù)消息的收發(fā)邏輯。這種方式至少存在以下問(wèn)題:
調(diào)用機(jī)制過(guò)于簡(jiǎn)單,使用時(shí)需要二次開(kāi)發(fā);跨平臺(tái)效果不好,在不同平臺(tái)下,需要構(gòu)建不同的等待機(jī)制;無(wú)法跨編程語(yǔ)言;進(jìn)程間通訊效率差。
發(fā)明內(nèi)容
本發(fā)明提供了一種進(jìn)程通訊方法和裝置,以至少部分解決上述問(wèn)題。
本發(fā)明的一方面提供了一種進(jìn)程通信方法,包括:初始化進(jìn)程通信的消息通道,消息通道包括由第一進(jìn)程、第二進(jìn)程和共享內(nèi)存共同組成的通道;監(jiān)聽(tīng)消息通道;在第一進(jìn)程或第二進(jìn)程的發(fā)送線程接收到來(lái)自發(fā)送端的消息時(shí),由發(fā)送線程將消息寫(xiě)入所述共享內(nèi)存,觸發(fā)對(duì)方進(jìn)程從所述共享內(nèi)存中讀消息并執(zhí)行,實(shí)現(xiàn)第一進(jìn)程與所述第二進(jìn)程之間的消息收發(fā),其中發(fā)送端為運(yùn)行第一進(jìn)程或第二進(jìn)程的終端。
本發(fā)明的另一方面提供了一種進(jìn)程通信裝置,包括:初始化單元,用于初始化進(jìn)程通信的消息通道,消息通道為第一進(jìn)程、第二進(jìn)程和共享內(nèi)存共同組成的消息通道;監(jiān)聽(tīng)單元,用于監(jiān)聽(tīng)消息通道;通信單元,用于在第一進(jìn)程或第二進(jìn)程的發(fā)送線程接收到來(lái)自發(fā)送端的消息時(shí),由發(fā)送線程將所述消息寫(xiě)入共享內(nèi)存,觸發(fā)對(duì)方進(jìn)程從所述共享內(nèi)存中讀消息并執(zhí)行,實(shí)現(xiàn)第一進(jìn)程與第二進(jìn)程之間的消息收發(fā),其中發(fā)送端為運(yùn)行第一進(jìn)程或第二進(jìn)程的終端。
本發(fā)明創(chuàng)建相互獨(dú)立的第一進(jìn)程和第二進(jìn)程,利用第一進(jìn)程、第二進(jìn)程和共享內(nèi)存構(gòu)建消息通道并對(duì)消息通道進(jìn)行監(jiān)聽(tīng),在消息收發(fā)過(guò)程中不區(qū)分主從邏輯,利用發(fā)送線程接收到來(lái)自發(fā)送端的消息并將接收到的消息寫(xiě)入共享內(nèi)存,觸發(fā)對(duì)方進(jìn)程從共享內(nèi)存中讀消息并執(zhí)行,通過(guò)異步的消息處理方式實(shí)現(xiàn)消息的分發(fā),保證消息分發(fā)不會(huì)堵塞,無(wú)需用戶(hù)花費(fèi)大量人力維護(hù)消息的收發(fā)邏輯。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例示出的進(jìn)程通訊方法流程圖;
圖2為本發(fā)明實(shí)施例示出的消息通道初始化流程圖;
圖3為本發(fā)明實(shí)施例示出的消息分發(fā)流程圖;
圖4為本發(fā)明實(shí)施例示出的進(jìn)程退出流程圖;
圖5為本發(fā)明實(shí)施例示出的進(jìn)程通訊裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京新媒傳信科技有限公司,未經(jīng)北京新媒傳信科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811580765.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種進(jìn)程自動(dòng)恢復(fù)方法
- 進(jìn)程啟動(dòng)方法及內(nèi)核、進(jìn)程
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程解析裝置、進(jìn)程解析方法和進(jìn)程解析程序
- 32位進(jìn)程和64位進(jìn)程交叉注入方法及裝置
- 一種應(yīng)用進(jìn)程控制方法及裝置
- 插件下載方法及裝置
- 進(jìn)程間的數(shù)據(jù)傳輸方法和裝置
- 進(jìn)程監(jiān)視裝置、進(jìn)程監(jiān)視方法和進(jìn)程監(jiān)視程序
- 一種基于動(dòng)態(tài)監(jiān)測(cè)的進(jìn)程優(yōu)化調(diào)度方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 光源裝置、照明裝置、液晶裝置和電子裝置
- 預(yù)測(cè)裝置、編輯裝置、逆預(yù)測(cè)裝置、解碼裝置及運(yùn)算裝置
- 圖像形成裝置、定影裝置、遮光裝置以及保持裝置
- 打印裝置、讀取裝置、復(fù)合裝置以及打印裝置、讀取裝置、復(fù)合裝置的控制方法
- 電子裝置、光盤(pán)裝置、顯示裝置和攝像裝置
- 光源裝置、照明裝置、曝光裝置和裝置制造方法
- 用戶(hù)裝置、裝置對(duì)裝置用戶(hù)裝置、后端裝置及其定位方法
- 遙控裝置、通信裝置、可變裝置及照明裝置
- 透鏡裝置、攝像裝置、處理裝置和相機(jī)裝置
- 抖動(dòng)校正裝置、驅(qū)動(dòng)裝置、成像裝置、和電子裝置





