TWI528182B - 處理程序間通訊的方法及裝置 - Google Patents
處理程序間通訊的方法及裝置 Download PDFInfo
- Publication number
- TWI528182B TWI528182B TW103142886A TW103142886A TWI528182B TW I528182 B TWI528182 B TW I528182B TW 103142886 A TW103142886 A TW 103142886A TW 103142886 A TW103142886 A TW 103142886A TW I528182 B TWI528182 B TW I528182B
- Authority
- TW
- Taiwan
- Prior art keywords
- channel
- node
- data
- local
- target
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Description
本發明涉及計算機技術領域,特別有關一種處理程序間通訊的方法及裝置。
網路服務開發過程中經常會碰到處理程序間通訊的問題。處理程序間通訊又分為機器內的處理程序通訊和跨機器的處理程序通訊。對於機器內的處理程序通訊一般採用:管道、共享記憶體、消息隊列、Unix Socket(一種操作系統的套接)以及IPC(Inter-Process Communication,處理程序間通信)等技術。對於跨機器的處理程序通訊一般採用TCP(Transmission Control Protocol,傳輸控制協議)/UDP(User Datagram Protocol,用戶資料包協議)Socket(套接)方式。
在網路服務開發上,如果同時需要在機器內和跨機器作處理程序間通訊,就需要針對具體場合選擇合適的IPC機制,並且對於機器內和跨機器的處理程序間通訊分別封裝和開發,以提供給上層應用使用。這樣的話,開發人員需要很瞭解機器內和跨機器的處理程序間通訊的機制和細節,這樣應用程式的開發效率比較低,也容易出錯。
本發明提供一種處理程序間通訊的方法及裝置,以提高開發效率,減少出錯。
本發明一方面提供一種處理程序間通訊的方
法,包括:根據待發送資料的目標節點尋找並確定對應的目標通道,將該待發送資料寫入所確定的目標通道對應的共享儲存空間內;若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入所述共享空間的待發送資料由該目標節點的本地通道接收;以及若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,採用該遠端代理通道從所述共享空間接收該待發送資料,並透過本地代理節點向對端代理節點發送該待發送資料。
本發明另一方面提供一種處理程序間通訊的裝
置,包括:通道確定單元,用於根據待發送資料的目標節點尋找並確定對應的目標通道;資料寫入單元,用於將該待發送資料寫入該通道確定單元所確定的目標通道對應的共享儲存空間內;本地通道單元,若該目標節點為本地節點,則所確定的目標通道為本地通道,該本地通道單元採用該目標節點的本地通道接收寫入所述共享儲存空間的待發送資料;以及發送單元,若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,該發送單元採用該遠端代理通道從所述共享儲存空間接收該待發送資料,並透過本地代理節點向對端代理節點發送該待發送資料。
從以上技術方案可以看出,本發明實施例具有以
下優點:採用通道管理的方案,透過代理節點實現跨機通訊,不需要關心通訊的處理程序是運行於同一主機還是不同主
機,因此開發人員不需要瞭解機器內核跨機器間通信的機制和細節,可以提高開發效率,並減少出錯。
101~103‧‧‧步驟
301~305‧‧‧步驟
401~407‧‧‧步驟
501A~506A、501B~506B‧‧‧步驟
601~608‧‧‧步驟
701~713‧‧‧步驟
801‧‧‧通道確定單元
802‧‧‧資料寫入單元
803‧‧‧本地通道單元
804‧‧‧發送單元
901‧‧‧接收單元
902‧‧‧閾值確定單元
1001‧‧‧第一確定單元
1101‧‧‧第二確定單元
1201‧‧‧節點管理單元
1301‧‧‧同步管理單元
1401‧‧‧接收器
1402‧‧‧發射器
1403‧‧‧處理器
1404‧‧‧儲存器
1510‧‧‧RF電路
1520‧‧‧儲存器
1530‧‧‧輸入單元
1531‧‧‧觸控面板
1532‧‧‧其他輸入設備
1540‧‧‧顯示單元
1541‧‧‧顯示面板
1550‧‧‧傳感器
1560‧‧‧音頻電路
1561‧‧‧揚聲器
1562‧‧‧傳聲器
1570‧‧‧WiFi模組
1580‧‧‧處理器
1590‧‧‧電源
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的圖式作簡要介紹。
第1圖為本發明實施例方法流程示意圖;第2圖為本發明實施例系統架構示意圖;第3圖為本發明實施例方法流程示意圖;第4圖為本發明實施例方法流程示意圖;第5圖為本發明實施例方法流程示意圖;第6圖為本發明實施例方法流程示意圖;第7圖為本發明實施例方法流程示意圖;第8圖為本發明實施例裝置結構示意圖;第9圖為本發明實施例裝置結構示意圖;第10圖為本發明實施例裝置結構示意圖;第11圖為本發明實施例裝置結構示意圖;第12圖為本發明實施例裝置結構示意圖;第13圖為本發明實施例裝置結構示意圖;第14圖為本發明實施例裝置結構示意圖;第15圖為本發明實施例終端結構示意圖。
為使本發明之目的、技術方案和優點能夠更加清楚,下面將結合圖式,對本發明作進一步描述,所描述的實施例僅為本發明一部份的實施例,而不是全部。基於本發明,所屬技術領域具有通常知識者所作之各種更動、變化或修改,仍屬於本發明保護之範圍。
本發明實施例提供一種處理程序間通訊的方法,如第1圖所示,其包括如下。
步驟101:根據待發送資料的目標節點尋找並確定對應的目標通道;將該待發送資料寫入所確定的目標通道對應的共享儲存空間內。
進一步地,本發明實施例還提供了進行流量控制的方案,該方案在資料的發送端進行發送控制,具體如下:在將該待發送資料寫入所確定的目標通道對應的共享儲存空間內之前,還包括:確定目標通道是否為暫停狀態,若不是暫停狀態,則將該待發送資料寫入所確定的目標通道對應的共享儲存空間內,否則停止向上述目標通道對應的共享儲存空間寫入資料,直到上述目標通道恢復為非暫停狀態。
在本實施例中,如果目標通道不是暫停狀態,那麼資料的發送將會持續,一旦目標通道的狀態變為暫停狀態,這表示發送速度超過了接收方的限度,需要停止發送。目標通道的狀態由接收端指定,在後續實施例中將給出更詳細的說明。
步驟102:若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入上述共享空間的待發送資料由該目標節點的本地通道接收。
步驟103:若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,採用遠端代理通道從上述共享空間接收該待發送資料,並透過本地代理節點向對端代理節點發送上述待發送資料。
上述實施例中,採用通道管理的方案,透過代理節點實現處理程序的通訊,不需要關心通訊的處理程序是運行於同一主機還是不同主機,因此開發人員不需要瞭解機器
內和跨機器間通訊的機制和細節,因此可以提高開發效率,並減少出錯。
進一步地,本發明實施例中所稱的本地是指上述
待發送資料之源端的設備,所屬技術領域具有通常知識者可以理解的是該設備也可以作為資料的接收端使用,本發明實施例還提供了該設備作為資料的接收端使用的方案,並且在資料的接收端進行流量控制,具體如下。上述方法還包括如下方案:透過本地代理節點接收來自對端代理節點的資料,並確定接收到的資料是否已經達到其在本地的目標通道的閾值,若是,則向對端代理節點發送暫停指示消息,指示上述對端代理節點暫停向上述目標通道寫入資料。
所屬技術領域具有通常知識者可以理解的是,如
果接收到的資料沒有達到本地的目標通道的閾值,則可以繼續接收資料。上述閾值是按照本地的目標通道所對應的儲存空間來確定的,用於防止溢出。
進一步地,本發明實施例還提供了進行流量控制
以後,目標通道被暫停以後(即暫停資料傳輸以後)如何恢復資料傳輸的實現方案,具體如下。上述方法還包括如下方案:若上述本地的目標通道為暫停狀態,並且沒有資料,則向對端代理節點發送恢復指示,指示對端代理節點繼續向上述目標通道寫入資料。
可以理解的是,如果本地的目標通道不是暫停狀
態,當前應該處於資料的發送過程中。如果本地的目標通道為暫停狀態,那麼當前應該是沒有進行資料通訊的,此時需要確定在何種情況下恢復通訊,本實施例給出了目標通道中沒有資料的情況,實際上如果目標通道的資料量小於目標通
道的資料總容量設定比例也是可以的,本發明實施例對此不作唯一性限定。
進一步地,本發明實施例還提供了節點的創建方
案,包括本地節點的創建以及依據對端代理節點的指示進行通道創建的方案,具體方案如下。在根據待發送資料的目標節點尋找並確定對應的目標通道之前,還包括如下步驟:本地代理節點創建本地節點,並確定本地節點與其通道的對應關係,為本地節點對應的通道分配記憶體空間;或者,接收對端代理節點發送的通道信息,若本地未儲存上述通道信息,則創建遠端代理通道,並監聽遠端代理通道是否有資料接收。
進一步地,本發明實施例還提供了跨設備的通道
的信息如何同步的技術方案,採用代理節點完成通道信息的同步,具體如下。在透過本地代理節點向對端代理節點發送上述待發送資料之前,還包括如下方案:讀取配置文件,確定對端代理節點的網際網路協議地址以及連接埠,並透過上述網際網路協議地址以及連接埠建立本地代理節點與上述對端代理節點之間的傳輸控制協議TCP連接;並透過上述TCP連接將非對端創建的通道發送給對端代理節點;透過上述TCP連接接收對端代理節點發送的非本地創建的通道,並建立接收到的通道對應的遠端代理通道。
進一步地,本發明實施例還提供通道刪除的方
案,具體如下。上述方法還包括如下步驟:若本地節點關閉,該本地節點對應的通道與對端代理節點的連接關閉,且該本地節點對應的通道沒有被其他處理程序所使用,則銷毀該本地節點對應的通道。
可以理解的是,銷毀通道的目的在於釋放不需要
的儲存空間,具體操作可以是將通道對應的儲存空間內的信息進行銷毀。銷毀的過程可以是將該儲存空間,例如記憶體釋放使之能夠被再次使用,並不一定需要進行對儲存空間的初始化操作。
以下實施例就本發明實施例的幾個重要方面進
行分別舉例說明。
本發明實施例採用的是基於共享記憶體的處理
程序間通訊的中間件方案。開發人員可以使用它方便地實現處理程序間的資料交換,而不用關心需要交換資料的處理程序是運行在同一主機還是在不同的主機。當處理程序處於同一主機時,資料透過共享記憶體傳輸;而對於不同主機上的處理程序,該中間件會將資料由代理服務(Agent)透過TCP/IP傳輸到遠程主機。
一、該中間件方案如第2圖所示,包括如下幾個部分。
host1和host2是兩個主機設備;在host1中包括了兩個資料收發點(peer),即peer 1和peer2,分別屬於各自的處理程序;在host2中包括了兩個資料收發點(peer),即peer 3和peer4,分別屬於各自的處理程序;每個主機可以包括的處理程序可以有很多,每個處理程序包括的peer也可以有很多,第2圖僅作為一個示例,不應理解為對本發明實施例的限定。Agent所在的處理程序執行的是代理服務,可以稱為代理節點。以下分別對第2圖所示的各部分進行詳細介紹。
資料收發點(peer):中間件為開發人員提供客戶端開發包,使用該開發包創建具體peer用來接收和發送消息。
通道(channel):實際上是一塊共享記憶體。當
創建一個peer時,中間件創建一個同名的channel與這個peer綁定。每個channel都有一個唯一的id,存在多個channel名稱的channel集合。peer透過這個channel接收資料;發送資料時,中間件會先找到與目標peer綁定的channel,並將資料寫入到這個目標channel中。通道分為本地通道(local channel)和遠端代理通道(remote channel proxy)。在第2圖所示遠端代理通道有:在host1中的host2_channel4_proxy、host2_channel3_proxy;在host2中的host1_channel1_proxy、host1_channel2_proxy。
通道索引(channel index):實際上是一塊共享
記憶體,儲存著所有channel對應的共享記憶體key(關鍵字)。
消息(message):每次調用peer的send函數發
送的資料視為一條消息,peer的recv函數(用於已連接的資料包(datagram)或串流插座(stream socket)進行資料的接收的函數),每次被調用,會接收一條完整的消息。
中間件主要包括2個組件:(1)為開發人員提供
的客戶端開發包。(2)進行跨機器處理程序間通訊的代理服務Agent。
二、重要資料結構
本發明實施例是基於共享記憶體的處理程序間通訊中間件,通道、通道索引、消息在共享記憶體中的資料結構如下:
(1)通道(channel),如下表1所示
(2)通道索引(channel index),如下表2所示:
(3)消息(message):消息是中間件資料傳輸的基本單位,消息在傳輸的過程中會被打包成資料包,資料包的最大長度是8K字節,當消息的長度超過8K字節時,它會被分片,即分成多個資料包傳輸,接收端會將這些分片組裝成一條完整的消息。資料包的結構如下表3所示:
三、重要流程介紹
(1)channel創建:channel的創建流程分為中間件客戶端主動創建的本地通道和代理服務Agent接收對端傳過來的channel信息創建的遠端代理通道。
其中,中間件客戶端主動創建的本地通道的流程如第3圖所示,包括:步驟301:創建一個本地peer。
步驟302:綁定訪問channel index,獲取peer對應的channel shm key和channel sem key。
上述channel index儲存的信息以及用途在前面實施例中已有介紹,channel shm key和channel sem key分別是用於標示channel shm以及channel sem的關鍵字;channel shm是用來接收資料的通道,channel sem是用來搜索用的通道。
步驟303:創建並綁定channel shm key和channel sem key。
步驟304:初始化channel shm。
本步驟是將通道對應的儲存空間進行初始化,如第2圖所示的channel 1~channel 4。
步驟305:將channel加入到channel管理器中,並監聽該channel是否有資料接收。
代理服務Agent接收對端傳過來的channel信息創建的遠端代理通道的流程,如第4圖所示,其包括如下:步驟401:Agent接收對端發送的channel信息,具體可以是對端的Agent發送的channel信息。
步驟402:判斷接收到的channel信息對應的channel是否存在,如果存在可以結束流程,否則,進入步驟403。
步驟403:創建一個遠端代理peer,例如第2圖所示的host2_channel4_proxy、host2_channel3_proxy;host1_channel1_proxy、host1_channel2_proxy均為遠端代理peer對應的channel。
步驟404:綁定訪問channel index獲取peer對應的channel shm key和channel sem key。
步驟405:創建並綁定channel shm key和channel sem key。
步驟406:初始化channel shm。
步驟407:將channel加入到channel管理器中,並監聽該channel是否有資料接收。
本實施例中,創建channel,會在記憶體中維護channel信息並且創建對應的channel共享記憶體。
(2)跨機器channel同步:在本實施例中可以部署為前端Agent(代理)和後端Agent,前端Agent需要讀取remotehost.xml(遠端主機的信息)獲取所有後端Agent信息,包括IP(網際網路協議)地址和Port(連接埠)信息,
並且主動和這些後端Agent建立TCP連接進行通訊。host1和host2進行channel同步,具體流程如第5圖所示,其包括如下步驟:步驟501A:讀取配置文件,獲取Agent IP和Port已經包括的channel index配置信息。
在本實施例中,Agent的配置文件需要包括以下信息:1、Agent IP和Port;2、channel index的共享記憶體key、信號量key;3、可管理的channel的最大個數;4、channel對應共享記憶體最大尺寸。
步驟502A:初始化channel index shm。
步驟503A:讀取remotehost.xml獲取所有對端Agent IP和port信息。
步驟504A:創建和對端Agent的TCP連接。
步驟505A:定時從channel index獲取所有新的非Agent創建的channel,並發送給對端Agent。
步驟506A:接收對端Agent發送的新的channel信息,並建立相應的遠端channel代理。
在第5圖所示的步驟501B~506B是與上述步驟步驟501A~506A完全對應的步驟,在此不再一一贅述。
(3)、消息傳輸,如第6圖所示,包括如下步驟:步驟601:調用peer的send方法。
步驟602:根據目標peer名稱到channel管理器找到對應的目標channel列表。
步驟603:從channel列表中取出目標channel。
步驟604:將資料寫入到上述channel對應的shm中。
步驟605:確定上述shm對應的channel是否是本地channel;如果是,進入步驟606,否則進入步驟607。
步驟606:本地channel接收資料。
步驟607:遠端代理channel接收資料。
步驟608:代理Agent將遠端代理channel接收到的資料發送到對端代理Agent。
在本實施例中有以下兩點需要說明如下:
第一、在本實施例的中間件中有channel管理器會循環檢測和讀取本處理程序創建的channel中是否有資料接收,並且每次都會刷新channel的時間戳屬性(timestamp),如果有資料接收則返回給用戶。同時本地處理程序也可以透過channel index獲取其他處理程序創建的channel,並且會定時檢查這些channel時間戳屬性(timestamp)是否有更新來判斷channel是否已經關閉,如果已經關閉就會將該channel記憶體信息進行銷毀。具體參考後續實施例中關於channel銷毀的說明。
第二、在本實施例中,透過目標channel名稱可能會獲取到多個channel(channel id不同),會按順序每次獲取一個作為目標channel進行消息通訊,這種機制也很好做到負載均衡。
(4)流量控制,具體流程如第7圖所示,包括如下步驟:步驟701:peer調用peer的send方法。
步驟702:從channel shm儲存的channel狀態信息中獲取channel狀態。
步驟703:判斷目標channel是否為暫停狀態,如果是,則暫停資料發送;如果否,進入704步驟。
步驟704:將資料寫入到對應的目標channel shm中。
步驟705:將資料寫入共享記憶體。
步驟706:Agent 1讀取遠端channel sham資料並發送到對端Agent(Agent 2)。
步驟707:接收對端Agent發送的資料。
步驟708:獲取channel資料狀態。
步驟709:判斷channel資料是否達到閾值;如果是,進入步驟710,否則進入步驟712。
步驟710:發送暫停接收指示給對端Agent。
步驟711:接收對端channel暫停請求並設置channel狀態為暫停。
步驟712:將資料寫入到相應channel shm中。
步驟713:如果channel狀態為暫停,則定時執行本步驟:定時判斷channel狀態為暫停並且channel中沒有資料,則將channel狀態恢復正常。恢復正常的方式,可以是向對端Agent發送指示消息,指示將該channel狀態恢復正常。
(5)channel銷毀,在本實施例中channel銷毀規則如下:
第一、創建的Peer關閉,則對應的channel記憶體信息將被銷毀。
第二、接收到對端Agent的連接關閉請求,將由該Agent傳遞過來並且建立的channel記憶體信息全部銷毀。
第三、channel同一時刻可能會被多個處理程序在使用,只有所有處理程序都銷毀該channel記憶體信息,該channel對應的共享記憶體才會被真正從系統刪除。
本發明是一個基於共享記憶體的處理程序間通訊的中間件方案,提供開發包和跨機器通訊Agent,只需要創建具體Peer和channel就可以和目標Peer和channel通訊,不用關心需要通訊的處理程序是運行在同一主機還是在不同的主機。
本發明實施例還提供一種裝置,用於處理程序間通訊,如第8圖所示,其包括如下:通道確定單元801,用於根據待發送資料的目標節點尋找並確定對應的目標通道。
資料寫入單元802,用於將該待發送資料寫入上述通道確定單元801所確定的目標通道對應的共享儲存空間內。
本地通道單元803,用於若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入上述共享空間的待發送資料由該目標節點的本地通道接收。
發送單元804,用於若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,採用遠端代理通道從上述共享空間接收該待發送資料,並透過本地代理節點向對端代理節點發送上述待發送資料。
上述實施例中,採用通道管理的方案,透過代理節點實現處理程序的通訊,不需要關心通訊的處理程序是運行於同一主機還是不同主機,因此開發人員不需要瞭解機器內和跨機器間通訊的機制和細節,因此可以提高開發效率,並減少出錯。
進一步地,本發明實施例中所稱的本地是指上述待發送資料之源端的設備,所屬技術領域具有通常知識者可以理解的是該設備也可以作為資料的接收端使用,本發明實施例還提供了該設備作為資料的接收端使用的方案,並且在資料的接收端進行流量控制,具體如下。如第9圖所示,上述裝置,還包括如下:接收單元901,用於透過本地代理節點接收來自對端代理節點的資料。
閾值確定單元902,用於確定接收到的資料是否已經達到其在本地的目標通道的閾值。
發送單元804還用於在閾值確定單元902確定接收到的資料已經達到其在本地的目標通道的閾值後,向對端代理節點發送暫停指示消息,指示該對端代理節點暫停向上述目標通道寫入資料。
所屬技術領域具有通常知識者可以理解的是,如果接收到的資料沒有達到本地的目標通道的閾值,則可以繼續接收資料。上述閾值是按照本地的目標通道所對應的儲存空間來確定的,用於防止溢出。
進一步地,本發明實施例還提供了進行流量控制以後,目標通道被暫停以後(即暫停資料傳輸以後)如何恢復資料傳輸的實現方案,具體如下。如第10圖所示,上述裝置,還包括如下:第一確定單元1001,用於確定本地的目標通道是否為暫停狀態,是否有資料。
發送單元804還用於若第一確定單元1001確定本地的目標通道為暫停狀態,並且沒有資料,則向對端代理節點發送恢復指示,指示對端代理節點繼續向上述目標通道寫入資料。
可以理解的是,如果本地的目標通道不是暫停狀態,當前應該處於資料的發送過程中。如果本地的目標通道為暫停狀態,那麼當前應該是沒有進行資料通訊的,此時需要確定在何種情況下恢復通訊,本實施例給出了目標通道中沒有資料的情況,實際上如果目標通道的資料量小於目標通道的資料總容量設定比例也是可以的,本發明實施例對此不作唯一性限定。
進一步地,本發明實施例還提供了進行流量控制的方案,該方案在資料的發送端進行發送控制,具體如下。如第11圖所示,上述裝置還包括如下:第二確定單元1101,用於在將該待發送資料寫入所確定的目標通道對應的共享儲存空間內之前,確定目標通道是否為暫停狀態。
資料寫入單元802還用於若第二確定單元1101確定不是暫停狀態,則將該待發送資料寫入所確定的目標通道對應的共享儲存空間內,否則停止向上述目標通道對應的共享儲存空間寫入資料,直到上述目標通道恢復為非暫停狀態。
在本實施例中,如果目標通道不是暫停狀態,那麼資料的發送將會持續,一旦目標通道的狀態變為暫停狀態,這表示發送速度超過了接收方的限度,需要停止發送。目標通道的狀態由接收端指定,在後續實施例中將給出更詳細的說明。
進一步地,本發明實施例還提供了節點的創建方案,包括本地節點的創建以及依據對端代理節點的指示進行通道創建的方案,具體方案如下。如第12圖所示,上述裝置還包括如下:節點管理單元1201,用於在根據待發送資料的目標節點尋找並確定對應的目標通道之前,透過本地代理節點創建本地節點,並確定本地節點與其通道的對應關係,為上述本地節點對應的通道分配記憶體空間;或者,接收對端代理節點發送的通道信息,若本地未儲存上述通道信息,則創建遠端代理通道,並監聽遠端代理通道是否有資料接收。
進一步地,本發明實施例還提供了跨設備的通道
的信息如何同步的技術方案,採用代理節點完成通道信息的同步,具體如下。如第13圖所示,上述裝置還包括如下:同步管理單元1301,用於在透過本地代理節點向對端代理節點發送上述待發送資料之前,讀取配置文件,確定對端代理節點的網際網路協議地址以及連接埠,並透過上述網際網路協議地址以及連接埠建立本地代理節點與上述對端代理節點之間的傳輸控制協議TCP連接;並透過上述TCP連接將非對端創建的通道發送給對端代理節點;透過上述TCP連接接收對端代理節點發送的非本地創建的通道,並建立接收到的通道對應的遠端代理通道。
可選地,本發明實施例還提供通道刪除的方案,
具體如下:上述同步管理單元1301還用於若本地節點關閉,該本地節點對應的通道與對端代理節點的連接關閉,且該本地節點對應的通道沒有被其他處理程序所使用,則銷毀該本地節點對應的通道。
可以理解的是,銷毀通道的目的在於釋放不需要
的儲存空間,具體操作可以是將通道對應的儲存空間內的信息進行銷毀。銷毀的過程可以是將該儲存空間,例如記憶體釋放使之能夠被再次使用,並不一定需要進行對儲存空間的初始化操作。
本發明實施例還提供一種裝置,用於處理程序間
通訊,如第14圖所示,包括:接收器1401、發射器1402、處理器1403以及儲存器1404。
其中,處理器1403,用於根據待發送資料的目
標節點尋找並確定對應的目標通道;將該待發送資料寫入所確定的目標通道對應的共享儲存空間內;若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入上述共享空
間的待發送資料由該目標節點的本地通道接收;若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,採用遠端代理通道從上述共享空間接收該待發送資料,並透過本地代理節點向對端代理節點發送上述待發送資料。
上述實施例中,採用通道管理的方案,透過代理
節點實現處理程序的通訊,不需要關心通訊的處理程序是運行於同一主機還是不同主機,因此開發人員不需要瞭解機器內和跨機器間通訊的機制和細節,因此可以提高開發效率,並減少出錯。
進一步地,本發明實施例還提供了進行流量控制的方案,該方案在資料的發送端進行發送控制,具體如下。述處理器1403還用於在將上述待發送資料寫入所確定的目標通道對應的共享儲存空間內之前,確定目標通道是否為暫停狀態,若不是暫停狀態,則將上述待發送資料寫入所確定的目標通道對應的共享儲存空間內,否則停止向上述目標通道對應的共享儲存空間寫入資料,直到上述目標通道恢復為非暫停狀態。
在本實施例中,如果目標通道不是暫停狀態,那麼資料的發送將會持續,一旦目標通道的狀態變為暫停狀態,這表示發送速度超過了接收方的限度,需要停止發送。目標通道的狀態由接收端指定,在後續實施例中將給出更詳細的說明。
進一步地,本發明實施例中所稱的本地是指上述待發送資料之源端的設備,所屬技術領域具有通常知識者可以理解的是該設備也可以作為資料的接收端使用,本發明實施例還提供了該設備作為資料的接收端使用的方案,並且在資料的接收端進行流量控制,具體如下。上述處理器1403還用於透過本地代理節點接收來自對端代理節點的資料,並確
定接收到的資料是否已經達到其在本地的目標通道的閾值,若是,則向對端代理節點發送暫停指示消息,指示上述對端代理節點暫停向上述目標通道寫入資料。
所屬技術領域具有通常知識者可以理解的是,如
果接收到的資料沒有達到本地的目標通道的閾值,則可以繼續接收資料。上述閾值是按照本地的目標通道所對應的儲存空間來確定的,用於防止溢出。
進一步地,本發明實施例還提供了進行流量控制
以後,目標通道被暫停以後(即暫停資料傳輸以後)如何恢復資料傳輸的實現方案,具體如下。上述處理器1403還用於若上述本地的目標通道為暫停狀態,並且沒有資料,則向對端代理節點發送恢復指示,指示對端代理節點繼續向上述目標通道寫入資料。
可以理解的是,如果本地的目標通道不是暫停狀
態,當前應該處於資料的發送過程中。如果本地的目標通道為暫停狀態,那麼當前應該是沒有進行資料通訊的,此時需要確定在何種情況下恢復通訊,本實施例給出了目標通道中沒有資料的情況,實際上如果目標通道的資料量小於目標通道的資料總容量設定比例也是可以的,本發明實施例對此不作唯一性限定。
進一步地,本發明實施例還提供了節點的創建方
案,包括本地節點的創建以及依據對端代理節點的指示進行通道創建的方案,具體方案如下。上述處理器1403還用於在根據待發送資料的目標節點尋找並確定對應的目標通道之前,本地代理節點創建本地節點,並確定本地節點與其通道的對應關係,為本地節點對應的通道分配記憶體空間;或者,接收對端代理節點發送的通道信息,若本地未儲存上述通道
信息,則創建遠端代理通道,並監聽遠端代理通道是否有資料接收。
進一步地,本發明實施例還提供了跨設備的通道
的信息如何同步的技術方案,採用代理節點完成通道信息的同步,具體如下。上述處理器1403還用於在透過本地代理節點向對端代理節點發送上述待發送資料之前,讀取配置文件,確定對端代理節點的網際網路協議地址以及連接埠,並透過上述網際網路協議地址以及連接埠建立本地代理節點與上述對端代理節點之間的傳輸控制協議TCP連接;並透過上述TCP連接將非對端創建的通道發送給對端代理節點;透過上述TCP連接接收對端代理節點發送的非本地創建的通道,並建立接收到的通道對應的遠端代理通道。
進一步地,本發明實施例還提供通道刪除的方
案,具體如下。上述處理器1403還用於若本地節點關閉,該本地節點對應的通道與對端代理節點的連接關閉,且該本地節點對應的通道沒有被其他處理程序所使用,則銷毀該本地節點對應的通道。
可以理解的是,銷毀通道的目的在於釋放不需要
的儲存空間,具體操作可以是將通道對應的儲存空間內的信息進行銷毀。銷毀的過程可以是將該儲存空間,例如記憶體釋放使之能夠被再次使用,並不一定需要進行對儲存空間的初始化操作。
本發明實施例還提供一種終端,如第15圖所
示,為了便於說明,僅示出了與本發明實施例相關的部分,未揭示的具體技術細節,請參照本發明實施例方法部分。該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設備,下面以終端為手機為例來作說明。
第15圖顯示與本發明實施例提供的終端相關的
手機的部分結構示意圖。請參考第15圖,手機包括射頻(Radio Frequency,RF)電路1510、儲存器1520、輸入單元1530、顯示單元1540、傳感器1550、音頻電路1560、WiFi(Wireless Fidelity,無線保真)模組1570、處理器1580、以及電源1590等部件。所屬技術領域具有通常知識者可以理解,第15圖中示出的手機結構並不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件佈置。
下面結合第15圖對手機的各個構成部件進行具體的介紹。
RF電路1510可用於收發訊息或通話過程中,訊號的接收和發送,特別地,將基地台的下行訊息接收後,交由處理器1580進行處理;另外,將上行的資料發送給基地台。通常,RF電路1510包括但不限於:天線、至少一個放大器、收發信機、耦合器、LNA(Low Noise Amplifier,低雜訊放大器)、雙工器等。此外,RF電路410還可以透過無線通訊與無線網路和其他設備通訊。該無線通訊可以使用任一通訊標準或協議,包括但不限於:GSM(Global System of Mobile Communication,全球行動通訊系統)、GPRS(General Packet Radio Service,通用封包無線服務)、CDMA(Code Division Multiple Access,碼分多工)、WCDMA(Wideband Code Division Multiple Access,寬頻碼分多工)、LTE(Long Term Evolution,長期演進)、電子郵件、SMS(Short Messaging Service,簡訊服務)等。
儲存器1520可用於儲存軟體程序以及模組,處理器1580透過運行儲存在儲存器1520的軟體程序以及模組,從而執行手機的各種功能、應用以及資料處理。儲存器1520主要可包括儲存程序區和儲存資料區,其中儲存程序區
可儲存操作系統、至少一個功能所需的應用程序(例如聲音播放功能、圖像播放功能等)等;儲存資料區可儲存根據手機的使用所創建的資料(比如音訊資料、電話簿等)。此外,儲存器1520可以包括高速隨機存取儲存器,還可以包括非揮發性儲存器,例如至少一個磁碟儲存器件、快閃記憶體器件、或其他揮發性固態儲存器件。
輸入單元1530可用於接收輸入的數字或字符訊
息,以及產生與手機的用戶設置及功能控制有關的訊號輸入。具體地,輸入單元1530可包括觸控面板1531以及其他輸入設備1532。觸控面板1531也稱為觸控螢幕,其可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸控筆等任何適合的物體或附件在觸控面板1531上或在觸控面板1531附近的操作),並根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板1531可包括觸控檢測裝置和觸控控制器兩個部分。觸控檢測裝置檢測用戶的觸摸方位,並檢測觸摸操作帶來的訊號,將訊號傳送給觸控控制器;觸控控制器從觸控檢測裝置上接收觸摸訊息,並將它轉換成觸點坐標,再送給處理器1580,並能接收處理器1580發來的命令並加以執行。此外,可以採用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板1531。除了觸控面板1531外,輸入單元1530還可以包括其他輸入設備1532。具體地,其他輸入設備1532可以包括但不限於:物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、滑鼠、搖桿等中的一種或多種。
顯示單元1540可用於顯示由用戶輸入的訊息或
提供給用戶的訊息以及手機的各種選單。顯示單元1540可包括顯示面板1541,可選的,可以採用LCD(Liquid Crystal Display,液晶顯示器)、OLED(Organic Light-Emitting Diode,
有機發光二極體)等形式來配置顯示面板1541。進一步地,觸控面板1531可覆蓋顯示面板1541,當觸控面板1531檢測到在其上或附近的觸摸操作後,傳送給處理器1580以確定觸摸事件的類型,隨後處理器1580根據觸摸事件的類型在顯示面板1541上提供相應的視覺輸出。雖然在第15圖中,觸控面板1531與顯示面板1541是作為兩個獨立的部件來實現手機的輸入和輸出功能,但是在某些實施例中,可以將觸控面板1531與顯示面板1541集成而實現手機的輸入和輸出功能。
手機還可包括至少一種傳感器1550,例如陀螺
儀傳感器、磁感應傳感器、光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中環境光傳感器可根據環境光線的明暗來調節顯示面板1541的亮度,接近傳感器可在手機移動到耳邊時,關閉顯示面板1541和/或背光。作為運動傳感器的一種,加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,可檢測出重力的大小及方向,可用於辨識終端之姿態的應用(比如橫豎屏切換、相關遊戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至於手機還可配置氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路1560、揚聲器1561及傳聲器1562可
提供用戶與手機之間的音訊介面。音頻電路1560可將接收到的音訊資料轉換後的電訊號,傳輸到揚聲器1561,由揚聲器1561轉換為聲音訊號輸出;另一方面,傳聲器1562將收集的聲音訊號轉換為電訊號,由音頻電路1560接收後轉換為音訊資料,再將音訊資料輸出至處理器1580處理後,經RF電路1510發送給例如另一手機,或者將音訊資料輸出至儲存器1520以便進一步處理。
WiFi屬於短距離無線傳輸技術,手機透過WiFi
模組1570可以幫助用戶收發電子郵件、瀏覽網頁和訪問串流式媒體等,它為用戶提供了無線的寬頻網際網路訪問。雖然第15圖顯示出了WiFi模組1570,但是可以理解的是,其並不屬於手機的必備構成,完全可以根據需要在不改變發明之精神的情況下而省略。
處理器1580是手機的控制中心,利用各種埠和
線路連接整個手機的各個部分,透過運行或執行儲存在儲存器1520內的軟體程序和/或模組,以及調用儲存在儲存器1520內的資料,執行手機的各種功能和處理資料,從而對手機進行整體監控。可選的,處理器1580可包括一個或多個處理核心;優選的,處理器1580可集成應用處理器和調製解調處理器,其中應用處理器主要處理操作系統、用戶界面和應用程序等,調製解調處理器主要處理無線通訊。可以理解的是,上述調製解調處理器也可以不集成到處理器1580中。
手機還包括為各個部件供電的電源1590(例如
電池),優選的,電源可以透過電源管理系統與處理器1580邏輯相連,從而透過電源管理系統實現充電、放電管理以及功耗管理等功能。
儘管未示出,手機還可以包括攝影鏡頭、藍牙模組等,在此不再贅述。
在本發明實施例中,該終端所包括的處理器1580還具有以下功能:根據待發送資料的目標節點尋找並確定對應的目標通道;將該待發送資料寫入所確定的目標通道對應的共享儲存空間內;若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入上述共享空間的待發送資料由該目標節點的本地通道接收;若該目標節點為遠端節點,則所確定
的目標通道為遠端代理通道,採用遠端代理通道從上述共享空間接收該待發送資料,並透過本地代理節點向對端代理節點發送上述待發送資料。
上述實施例中,採用通道管理的方案,透過代理
節點實現處理程序的通訊,不需要關心通訊的處理程序是運行於同一主機還是不同主機,因此開發人員不需要瞭解機器內和跨機器間通訊的機制和細節,因此可以提高開發效率,並減少出錯。
進一步地,本發明實施例還提供了進行流量控制的方案,該方案在資料的發送端進行發送控制,具體如下。述處理器1580還用於在將上述待發送資料寫入所確定的目標通道對應的共享儲存空間內之前,確定目標通道是否為暫停狀態,若不是暫停狀態,則將上述待發送資料寫入所確定的目標通道對應的共享儲存空間內,否則停止向上述目標通道對應的共享儲存空間寫入資料,直到上述目標通道恢復為非暫停狀態。
在本實施例中,如果目標通道不是暫停狀態,那麼資料的發送將會持續,一旦目標通道的狀態變為暫停狀態,這表示發送速度超過了接收方的限度,需要停止發送。目標通道的狀態由接收端指定,在後續實施例中將給出更詳細的說明。
進一步地,本發明實施例中所稱的本地是指上述待發送資料之源端的設備,所屬技術領域具有通常知識者可以理解的是該設備也可以作為資料的接收端使用,本發明實施例還提供了該設備作為資料的接收端使用的方案,並且在資料的接收端進行流量控制,具體如下。上述處理器1580還用於透過本地代理節點接收來自對端代理節點的資料,並確定接收到的資料是否已經達到其在本地的目標通道的閾值,
若是,則向對端代理節點發送暫停指示消息,指示上述對端代理節點暫停向上述目標通道寫入資料。
所屬技術領域具有通常知識者可以理解的是,如
果接收到的資料沒有達到本地的目標通道的閾值,則可以繼續接收資料。上述閾值是按照本地的目標通道所對應的儲存空間來確定的,用於防止溢出。
進一步地,本發明實施例還提供了進行流量控制
以後,目標通道被暫停以後(即暫停資料傳輸以後)如何恢復資料傳輸的實現方案,具體如下。上述處理器1580還用於若上述本地的目標通道為暫停狀態,並且沒有資料,則向對端代理節點發送恢復指示,指示對端代理節點繼續向上述目標通道寫入資料。
可以理解的是,如果本地的目標通道不是暫停狀
態,當前應該處於資料的發送過程中。如果本地的目標通道為暫停狀態,那麼當前應該是沒有進行資料通訊的,此時需要確定在何種情況下恢復通訊,本實施例給出了目標通道中沒有資料的情況,實際上如果目標通道的資料量小於目標通道的資料總容量設定比例也是可以的,本發明實施例對此不作唯一性限定。
進一步地,本發明實施例還提供了節點的創建方
案,包括本地節點的創建以及依據對端代理節點的指示進行通道創建的方案,具體方案如下。上述處理器1580還用於在根據待發送資料的目標節點尋找並確定對應的目標通道之前,本地代理節點創建本地節點,並確定本地節點與其通道的對應關係,為本地節點對應的通道分配記憶體空間;或者,接收對端代理節點發送的通道信息,若本地未儲存上述通道信息,則創建遠端代理通道,並監聽遠端代理通道是否有資料接收。
進一步地,本發明實施例還提供了跨設備的通道
的信息如何同步的技術方案,採用代理節點完成通道信息的同步,具體如下。上述處理器1580還用於在透過本地代理節點向對端代理節點發送上述待發送資料之前,讀取配置文件,確定對端代理節點的網際網路協議地址以及連接埠,並透過上述網際網路協議地址以及連接埠建立本地代理節點與上述對端代理節點之間的傳輸控制協議TCP連接;並透過上述TCP連接將非對端創建的通道發送給對端代理節點;透過上述TCP連接接收對端代理節點發送的非本地創建的通道,並建立接收到的通道對應的遠端代理通道。
進一步地,本發明實施例還提供通道刪除的方
案,具體如下。上述處理器1580還用於若本地節點關閉,該本地節點對應的通道與對端代理節點的連接關閉,且該本地節點對應的通道沒有被其他處理程序所使用,則銷毀該本地節點對應的通道。
可以理解的是,銷毀通道的目的在於釋放不需要
的儲存空間,具體操作可以是將通道對應的儲存空間內的信息進行銷毀。銷毀的過程可以是將該儲存空間,例如記憶體釋放使之能夠被再次使用,並不一定需要進行對儲存空間的初始化操作。
值得注意的是,上述裝置實施例中,所包括的各
個單元只是按照功能邏輯進行劃分的,但並不局限於上述的劃分,只要能夠實現相應的功能即可;另外,各功能單元的具體名稱也只是為了便於相互區分,並不用於限制本發明的保護範圍。
另外,所屬技術領域具有通常知識者可以理解實
現上述各方法實施例中的全部或部分步驟是可以透過程序配合相關的硬體完成,相應的程序可以儲存於一種計算機可讀
儲存介質中,上述提到的儲存介質可以是只讀儲存器,磁碟或光碟等。
雖然本發明已就較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之變更和潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
101‧‧‧根據待發送資料的目標節點尋找並確定對應的目標通道,將該待發送資料寫入所確定的目標通道對應的共享儲存空間內
102‧‧‧若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入所述共享空間的待發送資料由該目標節點的本地通道接收
103‧‧‧若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,採用該遠端代理通道從所述共享空間接收該待發送資料,並透過本地代理節點向對端代理節點發送該待發送資料
Claims (12)
- 一種處理程序間通訊的方法,包括:由本地代理節點創建本地節點,並確定該本地節點與其通道的對應關係,為該本地節點對應的通道分配記憶體空間;或者,接收對端代理節點發送的通道信息,若本地未儲存該通道信息,則創建遠端代理通道,並監聽該遠端代理通道是否有資料接收;根據待發送資料的目標節點尋找並確定對應的目標通道,將該待發送資料寫入所確定的目標通道對應的共享儲存空間內;若該目標節點為本地節點,則所確定的目標通道為本地通道,寫入所述共享儲存空間的待發送資料由該目標節點的本地通道接收;以及若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,採用該遠端代理通道從所述共享儲存空間接收該待發送資料,並透過本地代理節點向對端代理節點發送該待發送資料。
- 如申請專利範圍第1項所述之處理程序間通訊的方法,還包括:透過該本地代理節點接收來自該對端代理節點的資料,並確定接收到的資料是否已經達到其在本地的目標通道的閾值,若是,則向該對端代理節點發送暫停指示消息,指示該對端代理節點暫停向該本地的目標通道寫入資料。
- 如申請專利範圍第2項所述之處理程序間通訊的方法,還包括:若該本地的目標通道為暫停狀態,並且沒有資料,向該對端代理節點發送恢復指示,指示該對端代理節點繼續向該本地的目標通道寫入資料。
- 如申請專利範圍第1項所述之處理程序間通訊的方法,在將該待發送資料寫入所確定的目標通道對應的共享儲存空間內之前,還包括:確定目標通道是否為暫停狀態,若不是暫停狀態,則將該待發送資料寫入所確定的目標通道對應的共享儲存空間內,否則停止向該目標通道對應的共享儲存空間寫入資料,直到該目標通道恢復為非暫停狀態。
- 如申請專利範圍第1至4項任一項所述之處理程序間通訊的方法,在透過該本地代理節點向該對端代理節點發送該待發送資料之前,還包括:讀取配置文件,確定該對端代理節點的網際網路協議地址以及連接埠,並透過所述網際網路協議地址以及連接埠建立該本地代理節點與該對端代理節點之間的傳輸控制協議TCP連接;並透過該TCP連接將非對端創建的通道發送給該對端代理節點;透過該TCP連接接收該對端代理節點發送的非本地創建的通道,並建立接收到的通道對應的遠端代理通道。
- 如申請專利範圍第5項所述之處理程序間通訊的方法,還包括: 若本地節點關閉,該本地節點對應的通道與該對端代理節點的連接關閉,且該本地節點對應的通道沒有被其他處理程序所使用,則銷毀該本地節點對應的通道。
- 一種處理程序間通訊的裝置,包括:節點管理單元,用於透過本地代理節點創建本地節點,並確定該本地節點與其通道的對應關係,為該本地節點對應的通道分配記憶體空間;或者,接收對端代理節點發送的通道信息,若本地未儲存該通道信息,則創建遠端代理通道,並監聽該遠端代理通道是否有資料接收;通道確定單元,用於根據待發送資料的目標節點尋找並確定對應的目標通道;資料寫入單元,用於將該待發送資料寫入該通道確定單元所確定的目標通道對應的共享儲存空間內;本地通道單元,若該目標節點為本地節點,則所確定的目標通道為本地通道,該本地通道單元採用該目標節點的本地通道接收寫入所述共享儲存空間的待發送資料;以及發送單元,若該目標節點為遠端節點,則所確定的目標通道為遠端代理通道,該發送單元採用該遠端代理通道從所述共享儲存空間接收該待發送資料,並透過本地代理節點向對端代理節點發送該待發送資料。
- 如申請專利範圍第7項所述之處理程序間通訊的裝置,還包括:接收單元,用於透過該本地代理節點接收來自該對端代理節點的資料;以及 閾值確定單元,用於確定接收到的資料是否已經達到其在本地的目標通道的閾值;其中該發送單元還用於在該閾值確定單元確定接收到的資料已經達到其在該本地的目標通道的閾值後,向該對端代理節點發送暫停指示消息,指示該對端代理節點暫停向該本地的目標通道寫入資料。
- 如申請專利範圍第8項所述之處理程序間通訊的裝置,還包括:第一確定單元,用於確定該本地的目標通道是否為暫停狀態,是否有資料;其中該發送單元還用於若該第一確定單元確定該本地的目標通道為暫停狀態,並且沒有資料,向該對端代理節點發送恢復指示,指示該對端代理節點繼續向該本地的目標通道寫入資料。
- 如申請專利範圍第7項所述之處理程序間通訊的裝置,還包括:第二確定單元,用於在將該待發送資料寫入所確定的目標通道對應的共享儲存空間內之前,確定目標通道是否為暫停狀態;其中該資料寫入單元還用於若該第二確定單元確定不是暫停狀態,則將該待發送資料寫入所確定的目標通道對應的共享儲存空間內,否則停止向該目標通道對應的共享儲存空間寫入資料,直到該目標通道恢復為非暫停狀態。
- 如申請專利範圍第7至10項任一項所述之處理程序間通訊的裝置,還包括:同步管理單元,用於在透過該本地代理節點向該對端代理節點發送該待發送資料之前,讀取配置文件,確定該對端代理節點的網際網路協議地址以及連接埠,並透過所述網際網路協議地址以及連接埠建立該本地代理節點與該對端代理節點之間的傳輸控制協議TCP連接;並透過該TCP連接將非對端創建的通道發送給該對端代理節點;透過該TCP連接接收該對端代理節點發送的非本地創建的通道,並建立接收到的通道對應的遠端代理通道。
- 如申請專利範圍第11項所述之處理程序間通訊的裝置,其中該同步管理單元還用於若本地節點關閉,該本地節點對應的通道與該對端代理節點的連接關閉,且該本地節點對應的通道沒有被其他處理程序所使用,則銷毀該本地節點對應的通道。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310690566.7A CN104133728B (zh) | 2013-12-16 | 2013-12-16 | 一种进程间通讯的方法、及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201525698A TW201525698A (zh) | 2015-07-01 |
TWI528182B true TWI528182B (zh) | 2016-04-01 |
Family
ID=51806413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103142886A TWI528182B (zh) | 2013-12-16 | 2014-12-09 | 處理程序間通訊的方法及裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN104133728B (zh) |
TW (1) | TWI528182B (zh) |
WO (1) | WO2015090250A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133728B (zh) * | 2013-12-16 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 一种进程间通讯的方法、及装置 |
CN106598756B (zh) * | 2016-12-13 | 2020-06-16 | 重庆川仪自动化股份有限公司 | 不同应用程序之间的数据交互方法 |
DE102017201966A1 (de) * | 2017-02-08 | 2018-08-09 | Robert Bosch Gmbh | Steuergerät für ein Kraftfahrzeug und entsprechendes Kraftfahrzeug |
CN107608632B (zh) * | 2017-09-21 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种分布式存储集群的通信方法、装置及系统 |
CN107682460B (zh) * | 2017-11-21 | 2021-01-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储集群数据通信方法及系统 |
CN108667903B (zh) * | 2018-04-03 | 2019-11-12 | 新华三技术有限公司 | 数据发送方法、装置和存储介质 |
CN109766199B (zh) * | 2018-12-29 | 2024-01-30 | 歌尔股份有限公司 | 一种机器人操作系统中的节点通信方法和装置 |
CN111901490A (zh) * | 2019-05-06 | 2020-11-06 | 鸿富锦精密电子(郑州)有限公司 | 资源共享方法、装置、计算机装置及存储介质 |
TWI791316B (zh) | 2021-11-05 | 2023-02-01 | 財團法人工業技術研究院 | 實現程式間通訊的方法及系統 |
CN115883654A (zh) * | 2022-11-29 | 2023-03-31 | 深圳市汇川技术股份有限公司 | 进程通信方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095828B1 (en) * | 2000-08-11 | 2006-08-22 | Unisys Corporation | Distributed network applications platform architecture |
CN100547995C (zh) * | 2004-06-30 | 2009-10-07 | 联想(北京)有限公司 | 一种网络中设备间的数据传输方法 |
CN100426801C (zh) * | 2005-03-29 | 2008-10-15 | 腾讯科技(深圳)有限公司 | 一种即时通信中数据传输的方法及系统 |
CN100471180C (zh) * | 2006-02-09 | 2009-03-18 | 华为技术有限公司 | 一种消息传递的方法、装置和系统 |
CN101938484B (zh) * | 2010-09-09 | 2013-05-15 | 奇智软件(北京)有限公司 | 一种分布式流量控制方法及系统 |
US9558048B2 (en) * | 2011-09-30 | 2017-01-31 | Oracle International Corporation | System and method for managing message queues for multinode applications in a transactional middleware machine environment |
CN104133728B (zh) * | 2013-12-16 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 一种进程间通讯的方法、及装置 |
-
2013
- 2013-12-16 CN CN201310690566.7A patent/CN104133728B/zh active Active
-
2014
- 2014-12-09 TW TW103142886A patent/TWI528182B/zh active
-
2015
- 2015-02-16 WO PCT/CN2015/073166 patent/WO2015090250A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN104133728B (zh) | 2015-07-22 |
WO2015090250A1 (zh) | 2015-06-25 |
TW201525698A (zh) | 2015-07-01 |
CN104133728A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI528182B (zh) | 處理程序間通訊的方法及裝置 | |
US10959124B2 (en) | Uplink data transmission method, terminal, network side device and system | |
WO2018177333A1 (zh) | 镜像分发方法、镜像获取方法及装置 | |
CN110888821B (zh) | 一种内存管理方法及装置 | |
CN103596017B (zh) | 一种视频下载方法及系统 | |
EP3179693B1 (en) | Method, apparatus, storage medium and computer program product for establishing a data connection | |
WO2015070754A1 (zh) | 视频处理方法和相关设备及通信系统 | |
CN106708554B (zh) | 程序运行方法及装置 | |
WO2015058617A1 (zh) | 视频帧存储管理方法、视频服务器及通信系统 | |
JP7136416B2 (ja) | モデルファイル管理方法および端末デバイス | |
WO2014032559A1 (zh) | 下载文件的方法和装置 | |
WO2018049921A1 (zh) | 数据传输处理方法及相关设备 | |
CN106254924B (zh) | 一种多媒体数据的播放方法、系统及相关设备 | |
CN111770009B (zh) | 一种数据传输方法及相关设备 | |
WO2015062234A1 (zh) | 移动终端资源处理方法、装置和设备 | |
CN105025064B (zh) | 下载文件的方法、装置及系统 | |
CN106899959B (zh) | 一种获取sim卡信息的方法、装置、终端及系统 | |
WO2015062400A1 (zh) | 视频通道分配管理方法和相关设备及通信系统 | |
WO2018170835A1 (zh) | 一种上行数据传输方法、终端、网络侧设备及系统 | |
WO2017166093A1 (zh) | 前置系统 | |
CN105282628B (zh) | 一种视频播放的方法和装置 | |
WO2015067206A1 (zh) | 一种文件查找的方法及终端 | |
WO2018049896A1 (zh) | 数据传输方法及设备 | |
WO2019140565A1 (zh) | 云存储命令管理方法及系统 | |
WO2018170837A1 (zh) | 一种上行数据传输方法、终端、网络侧设备及系统 |