麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

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

文檔序號:11148081閱讀:576來源:國知局
一種基于AllJoyn框架處理遠程調用的方法及系統與制造工藝

本發明涉及通信技術領域,尤其涉及一種基于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調用名>, 通過interface和method call調用名來獲得目的地址。獲取目的地址后,服務消費端直接發送method call消息給相應的method call提供端。

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

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

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

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

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

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

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 卫辉市| 色达县| 茂名市| 大化| 佳木斯市| 宜丰县| 平利县| 涟水县| 阿坝县| 姜堰市| 无极县| 安宁市| 绥江县| 秦皇岛市| 岳阳县| 体育| 平湖市| 上杭县| 蒲江县| 嘉义县| 慈溪市| 桐乡市| 建平县| 团风县| 重庆市| 时尚| 乌审旗| 乐清市| 肇州县| 南昌县| 湘潭市| 陆河县| 曲麻莱县| 道真| 三河市| 河曲县| 黑水县| 监利县| 治县。| 焦作市| 长春市|