[發明專利]一種實現進程間數據交換的方法及裝置有效
| 申請號: | 201310549591.3 | 申請日: | 2013-11-07 |
| 公開(公告)號: | CN104636210B | 公開(公告)日: | 2018-11-09 |
| 發明(設計)人: | 葉禮偉;羅程;李斌 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 賈允;肖丁 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 進程 數據 交換 方法 裝置 | ||
一種實現進程間數據交換的方法,包括:將CFMessagePort封裝出服務端接口和客戶端接口,服務端進程通過該服務端接口與該CFMessagePort建立服務,客戶端進程調用該客戶端接口向該服務端進程發送數據處理請求,其中包含所請求的服務端進程的名稱,該CFMessagePort根據該服務端進程的名稱,在該客戶端進程和該服務端進程之間建立連接,將該客戶端進程發送的請求處理的數據,轉發給該服務端進程進行處理,并將處理后的數據轉發給該客戶端進程。上述實現進程間數據交換的方法及裝置,可提高數據處理速度。
技術領域
本發明涉及通信技術領域,尤其涉及一種實現進程間數據交換的方法及裝置。
背景技術
IOS系統為了保證程序有足夠的資源來運行的更加穩定、流暢,對程序的運行做了很多的限制,例如不能在后臺運行非系統級別的程序,程序切換到后臺會在很短時間后被系統掛起停止運行。程序之間不能相互訪問資源,因此不能進行程序(或進程)間數據交換。
現有技術中,主要采用socket方式來進行數據交換,socket用于描述IP地址和端口,是一個通信鏈的句柄。Socket正如其英文原意“插座”那樣,象一個多孔插座。主機一般運行多個服務軟件,同時提供幾種服務,每種服務都打開一個Socket并綁定到一個端口上,不同的端口對應于不同的服務。兩個進程之間進行數據交換時,需要該兩個進程中一方作為服務端(server)建立起來,另一方則作為客戶端(client)連接到服務端給定的接口后就可以進行數據交換。
但是在上述現有技術中,存在下述缺陷:由于需要事先獲知服務端進程提供的端口,同時還存在端口被其他進程中的服務端方占用的風險,因此需要在服務端采用動態端口的方式,這就需要借助其他方式將端口通知客戶端進程。服務端進程或者客戶端進程之間的連接不穩定導致socket連接斷開或者發送數據超時,則需要重新連接服務端進程和客戶端進程,或者重新發送數據,因此進程間建立和維護socket連接比較繁瑣。另外,由于需要事先在進程之間建立服務端和客戶端連接,只適合服務端和客戶端一對一連接的“星狀”的程序架構方式,應用范圍窄,并且,對于多個進程之間交互連接的網狀連接方式進行數據交換時,則需要在每個進程內部都各自建立一個服務端接口和客戶端接口才能滿足需要,這樣服務端進程和客戶端進程之間的數據交換維護起來更加的困難和繁雜,同時對于使用不是很頻繁、對數據的實時性要求很高的需求,采用socket方式來實現會大部分時間段無效的占用了系統資源。
發明內容
有鑒于此,本發明提供一種實現進程間數據交換的方法及裝置,用于提高進程間處理并交換數據的效率。
本發明實施例提供的實現進程間數據交換的方法,包括:將CFMessagePort進行封裝,使得所述CFMessagePort同時為進程提供服務端接口和客戶端接口;服務端進程通過所述服務端接口與所述CFMessagePort建立服務;客戶端進程調用所述客戶端接口向所述服務端進程發送數據處理請求,所述數據處理請求中包含所請求的所述服務端進程的名稱;所述CFMessagePort根據所述服務端進程的名稱,在所述客戶端進程和所述服務端進程之間建立連接,將所述客戶端進程發送的請求處理的數據,轉發給所述服務端進程進行處理,并將處理后的數據轉發給所述客戶端進程。
本發明實施例提供的實現進程間數據交換的裝置,包括:封裝單元,用于將CFMessagePort進行封裝,使得所述CFMessagePort同時為進程提供服務端接口和客戶端接口;第一建立單元,用于服務端進程通過所述封裝單元封裝得到的所述服務端接口與所述CFMessagePort建立服務;發送單元,用于客戶端進程調用所述封裝單元封裝得到的所述客戶端接口向所述服務端進程發送數據處理請求,所述數據處理請求中包含所請求的所述服務端進程的名稱;第二建立單元,用于所述CFMessagePort根據所述發送單元發送的所述服務端進程的名稱,在所述客戶端進程和所述服務端進程之間建立連接;所述發送單元,還用于將所述客戶端進程發送的請求處理的數據,轉發給所述服務端進程進行處理,并將處理后的數據轉發給所述客戶端進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310549591.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:功耗管理裝置
- 下一篇:一種基于嵌入式下VAPS XT軟件的Word顯示技術
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





