新四季網

一種基於AllJoyn框架處理遠程調用的方法及系統與流程

2023-06-07 15:46:07


本發明涉及通信技術領域,尤其涉及一種基於AllJoyn框架處理遠程調用的方法及系統。



背景技術:

為了充分實現物聯網的願景,設備和應用程式需要一種通用的語言進行交互。AllJoyn框架即作為通用語言,以允許來自不同公司的設備,在不同的作業系統,進行靈活通信。

AllJoyn框架是一個合作的開源軟體框架,主要用於近距離無線傳輸,通過WiFi或藍牙技術,定位和點對點文件傳輸。程式設計師可以很方便的編寫出搜索附近設備的應用程式,並且無論對方的品牌、類別、系統都可以在不需要雲環境的情況下連接。

參考圖1,現有基於AllJoyn框架處理遠程調用方法的流程示意圖。在AllJoyn框架中服務提供端(Provider APP)和服務消費端(Consumer APP)均包括應用(APP)和AllJoyn核心庫(AJ Core Library);服務提供端有服務提供端路由,服務消費端有服務消費端路由。

現有基於AllJoyn框架處理遠程調用方法的流程為:

1)服務提供端和服務消費端分別與自己的路由進程建立連接;

2)服務提供端註冊bus對象,綁定會話(session)埠;AllJoyn服務公告和發現,即在bus上面公告自己提供的服務;和服務消費端建立會話;

3)服務消費端獲取代理bus對象,發送方法調用(method call)消息給服務消費端對應的路由進程;

4)服務消費端路由進程再將方法調用消息發送給服務提供端路由進程;

5)服務提供端路由進程將方法調用消息發送給服務提供端;

6)服務提供端調用響應的方法調用函數獲取響應,從方法調用消息過來的路徑將方法返回(method return)消息發送回去。發送method return消息

現有基於AllJoyn框架處理遠程調用過程中,每次調用方法調用時,都需要服務提供端和服務消費端兩端的路由參與,需要完成路由轉發的過程;由於路由之間消息多次發送,消耗比較大,速度響應比較慢。



技術實現要素:

針對現有在使用AllJoyn框架時,發現在大數據量調用方法調用時,響應時間和執行效率都不理想的技術問題,本發明目的在於提供一種基於AllJoyn框架處理遠程調用的方法及系統,提高調用效率,優化AllJoyn框架的方法調用的執行效率和響應時間。

為實現上述目的,本發明提供了一種基於AllJoyn框架處理遠程調用的方法,所述方法包括:1)在服務消費端建立路由緩存表,所述服務消費端在第一次調用方法調用時,保存所述方法調用消息的目的地址至所述路由緩存表; 2)所述服務消費端再次調用所述方法調用時,在所述路由緩存表中查詢所述方法調用的目的地址,根據所述目的地址直接發送方法調用消息給所述方法調用的服務提供端。

在一實施例中,所述方法進一步包括:當所述服務消費端離開會話時,釋放所述路由緩存表中已經保存的路由緩存信息所佔用的內存。

在一實施例中,所述方法調用消息的目的地址在所述路由緩存表中以鍊表的形式存儲。所述鍊表中每個路由緩存項包括:目的地址、接口、方法調用的調用名。通過所述接口和所述方法調用的調用名來獲得所述目的地址。

為實現上述目的,本發明還提供了一種基於AllJoyn框架處理遠程調用的系統,包括:服務消費端和服務提供端,所述服務消費端中建有路由緩存表;所述服務消費端,在第一次調用方法調用時,保存所述方法調用消息的目的地址至所述路由緩存表,再次調用所述方法調用時,在所述路由緩存表中查詢所述方法調用的目的地址,根據所述目的地址直接發送方法調用消息給所述方法調用的服務提供端。

在一實施例中,所述服務消費端進一步在離開會話時,釋放所述路由緩存表中已經保存的路由緩存信息所佔用的內存。

在一實施例中,所述方法調用消息的目的地址在所述路由緩存表中以鍊表的形式存儲。所述鍊表中每個路由緩存項包括:目的地址、接口、方法調用的調用名。通過所述接口和所述方法調用的調用名來獲得所述目的地址。

本發明的優點在於:本發明通過空間換時間的方式,優化了AllJoyn框架的方法調用的執行效率和響應時間;通過路由緩存將會使調用速度提高,優化頻繁的調用操作,減少了消息交互,提升處理速度,提高調用效率。省掉服務消費端和服務提供端兩端的路由的參與和服務消費端發送給與其連接的路由、兩路由之間、路由與其連接的服務提供端之間的消息交互。當這個方法調用流程被調用無數次之後,調用效率會極大提高。

附圖說明

圖1,現有基於AllJoyn框架處理遠程調用方法的流程示意圖;

圖2,本發明所述的基於AllJoyn框架處理遠程調用方法的流程示意圖;

圖3,本發明所述的基於AllJoyn框架處理遠程調用方法再次調用相同的方法調用的流程示意圖。

具體實施方式

現有基於AllJoyn框架處理遠程調用過程中,每次調用方法調用時,都需要服務提供端和服務消費端兩端的路由參與。研究發現很多配置過程中使用方法調用的提供端和消費端雙方的調用關係是固定的,而且使用的頻度很高,特別像配置這樣的過程。本發明通過建立路由緩存表,通過對方法調用中的路由信息做緩存,將方法調用中的目的地址保存下來,下次調用相同的方法調用時直接通過保存的目的地址發送消息。

參考圖2,本發明所述的基於AllJoyn框架處理遠程調用方法的流程示意圖。所述的方法,包括如下步驟:S21:在服務消費端建立路由緩存表,所述服務消費端在第一次調用方法調用時,保存所述方法調用消息的目的地址至所述路由緩存表;S22:所述服務消費端再次調用所述方法調用時,在所述路由緩存表中查詢所述方法調用的目的地址,根據所述目的地址直接發送方法調用消息給所述方法調用的服務提供端。

本發明通過空間換時間的方式,優化AllJoyn框架的方法調用的執行效率和響應時間;通過路由緩存將會使調用速度提高,優化頻繁的調用操作,減少了消息交互,提升處理速度,提高調用效率。

其中,所述方法調用消息的目的地址在所述路由緩存表中以鍊表的形式存儲。所述鍊表中每個路由緩存項包括:目的地址、接口、方法調用的調用名。通過所述接口和所述方法調用的調用名來獲得所述目的地址。再次調用相同的方法調用時,獲取目的地址後,服務消費端直接發送方法調用消息給相應的方法調用的服務提供端。

優選的,所述方法進一步包括步驟S23:當所述服務消費端離開會話時,釋放所述路由緩存表中已經保存的路由緩存信息所佔用的內存。也即,當方法調用的調用者離開會話時,將釋放已經保存的路由緩存信息所佔用的內存,完成路由緩存的清楚,釋放路由緩存所佔空間。

以下結合附圖對本發明所述的基於AllJoyn框架處理遠程調用的方法做進一步說明。請一併參考圖1以及圖3,其中,圖3為本發明所述的基於AllJoyn框架處理遠程調用方法再次調用相同的方法調用的流程示意圖。

第一次調用method call的流程參考圖1所示,即:1)服務提供端和服務消費端分別與自己的路由進程建立連接;2)服務提供端註冊bus對象,綁定會話(session)埠;在bus上面公告自己提供的服務,並和服務消費端建立會話;3)服務消費端獲取代理bus對象,發送method call消息給服務消費端對應的路由進程;4)服務消費端路由進程再將method call消息發送給服務提供端路由進程;5)服務提供端路由進程將method call消息發送給服務提供端;6)服務提供端調用響應的method call函數獲取響應,從method call消息過來的路徑將method return消息發送回去。

本發明所述的路由緩存表的建立:在服務消費端建立路由緩存表,在調用者(服務消費端)第一次調用method call時,保存當前的method call消息的目的地址。

本發明增加了路由緩存表,在建立了路由緩存表之後的基於AllJoyn框架處理遠程調用的方法,再次調用相同的method call的流程參考圖3所示,即:1)服務提供端和服務消費端分別與自己的路由進程建立連接;2)服務提供端註冊bus對象,綁定session埠;在bus上面公告自己提供的服務,並和服務消費端建立會話;3)服務消費端獲取代理bus對象,並在路由緩存表中查詢當前method call的目的地址,發送method call消息給目的地址對應的服務提供端;4)服務提供端調用響應的method call函數獲取響應,將method return消息依次通過服務提供端路由、服務消費端路由發送回服務消費端。

也即,當後面調用同一個method call時,在路由緩存表中查詢當前method call的目的地址,直接發送method call消息給method call的提供端,省掉兩端的路由的參與和服務消費端發送給與其連接的路由、兩路由之間、路由與其連接的服務提供端之間的消息交互。當這個方法調用流程被調用無數次之後,調用效率會極大提高。

所述method call消息的目的地址在路由緩存表中的存儲方式可以以鍊表的形式組織;每個路由緩存項包括, 通過interface和method call調用名來獲得目的地址。獲取目的地址後,服務消費端直接發送method call消息給相應的method call提供端。

本發明所述的路由緩存表的清除:當method call的調用者離開session時,將釋放已經保存的路由緩存信息所佔用的內存。

本發明通過空間換時間的方式,優化AllJoyn框架的方法調用的執行效率和響應時間;通過路由緩存將會使調用速度提高,優化頻繁的調用操作,減少了消息交互,提升處理速度,提高調用效率。省掉服務消費端和服務提供端兩端的路由的參與和服務消費端發送給與其連接的路由、兩路由之間、路由與其連接的服務提供端之間的消息交互。當這個方法調用流程被調用無數次之後,調用效率會極大提高。

本發明還提供了一種基於AllJoyn框架處理遠程調用的系統,包括:服務消費端和服務提供端,所述服務消費端中建有路由緩存表。所述服務消費端在第一次調用方法調用時,保存所述方法調用消息的目的地址至所述路由緩存表;所述服務消費端再次調用所述方法調用時,在所述路由緩存表中查詢所述方法調用的目的地址,根據所述目的地址直接發送方法調用消息給所述方法調用的服務提供端。

其中,所述方法調用消息的目的地址在所述路由緩存表中以鍊表的形式存儲。所述鍊表中每個路由緩存項包括:目的地址、接口、方法調用的調用名。通過所述接口和所述方法調用的調用名來獲得所述目的地址。

優選的,所述服務消費端進一步在離開會話時,釋放所述路由緩存表中已經保存的路由緩存信息所佔用的內存。

以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀