點對點通信實現方法及系統的制作方法
【專利摘要】本發明提供一種點對點通信實現方法,包括:將交互式連接建立ICE協議的源代碼集成至源端電子設備的系統框架中;利用源端電子設備及與源端電子設備通信連接的遠端電子設備的ICE會話初始協議SIP接口建立源端電子設備與遠端電子設備間的點對點技術P2P通信模型;及通過上述P2P通信模型實現源端電子設備與遠端電子設備間的P2P通信。本發明還提供一種點對點通信實現系統。本發明可以在電子設備之間實現點對點通信。
【專利說明】
點對點通信實現方法及系統
技術領域
[0001] 本發明涉及點對點技術,尤其涉及一種實現電子設備間點對點通信的方法及系 統。
【背景技術】
[0002] 隨著網絡技術的發展,點對點技術(peer-to-peer,P2P)已逐漸成為技術熱點之 一。P2P可以實現廣域網用戶的直連通信傳輸,常用于文件共享內容的下載、協同與服務共 享的提供、即時通信、及通信與信息的共享等,具有獨立傳輸及傳輸速度快等優點。然而現 有的安卓(Android)系統并不提供P2P服務,從而導致使用Android系統的電子設備之間 無法實現P2P通信,需要通過私有服務器(proprietary server)進行間接通信。
【發明內容】
[0003] 鑒于以上內容,有必要提供一種點對點通信實現方法及系統,使得電子設備間可 以通過點對點技術進行通信。
[0004] -種點對點通信實現方法,應用于源端電子設備中,該方法包括步驟:(a)將交互 式連接建立ICE協議的源代碼集成至源端電子設備的系統框架中;(b)利用源端電子設備 及與源端電子設備通信連接的遠端電子設備的ICE會話初始協議SIP接口建立源端電子設 備與遠端電子設備間的點對點技術P2P通信模型;及(c)通過上述P2P通信模型實現源端 電子設備與遠端電子設備間的P2P通信。
[0005] -種點對點通信實現系統,運行于源端電子設備中,該系統包括:集成模塊,用于 將交互式連接建立ICE協議的源代碼集成至源端電子設備的系統框架中;建立模塊,用于 利用源端電子設備及與源端電子設備通信連接的遠端電子設備的ICE會話初始協議SIP接 口建立源端電子設備與遠端電子設備間的點對點技術P2P通信模型;及通信模塊,用于通 過上述P2P通信模型實現源端電子設備與遠端電子設備間的P2P通信。
[0006] 相較于現有技術,本發明所提供的點對點通信方法及系統,可以將交互式連接建 立(Interactive Connectivity Establishment,ICE)協議的源代碼集成至電子設備的系 統框架中,并利用ICE的會話初始協議(Session Initiation Protocol,SIP)接口建立電子 設備間的P2P通信模型,以實現電子設備間的P2P通信,從而實現電子設備間數據的獨立、 快速傳輸。
【附圖說明】
[0007] 圖1是本發明點對點通信實現系統較佳實施例的硬件架構圖。
[0008] 圖2是本發明點對點通信實現系統較佳實施例的功能模塊圖。
[0009] 圖3是本發明點對點通信實現方法較佳實施例的作業流程圖。
[0010] 圖4是本發明建立源端電子設備與遠端電子設備之間P2P通信的較佳實施例。
[0011] 主要元件符號說明
如下【具體實施方式】將結合上述附圖進一步說明本發明。 '
【具體實施方式】
[0012] 參閱圖1所示,是本發明點對點通信實現系統較佳實施例的硬件架構圖。該點對 點通信實現系統10運行于電子設備中,該電子設備可以為智能手機、平板電腦、掌上電腦 (Personal Digital Assistant,PDA)等不支持點對點技術(peer-t〇-peer,P2P)的設備,例 如使用Android系統的手機。所述電子設備包括源端電子設備100及遠端電子設備400。
[0013] 所述源端電子設備100通過網絡200與穿透服務器300及遠端電子設備400進行 通信連接。遠端電子設備400還包括通信模塊50。所述遠端電子設備400利用該通信模塊 50與源端電子設備100及穿透服務器300進行通信連接。所述通信模塊50可以為Wi-Fi 芯片、藍牙(BLUETOOTH)芯片、移動通信芯片等。所述網絡200根據通信模塊50的不同而 不同,可以為藍牙(BLUETOOTH)通信標準網絡或無線通信網絡、移動通信網絡等。
[0014] 所述穿透服務器300可以為TURN服務器等服務器。所述穿透服務器300用于分 配賬號及密碼給源端電子設備100及遠端電子設備400,并在源端電子設備100及遠端電子 設備400通過賬號及密碼登錄時,獲取源端電子設備100及遠端電子設備400的外部IP地 址。
[0015] 所述源端電子設備100還包括部件,如通信單元20、處理器30及存儲單元40。源 端電子設備100的部件10-40通過系統總線進行通信。所述通信單元20用于與上述通信 模塊50進行通信連接。與通信模塊50對應的,該通信單元20可以為Wi-Fi芯片、藍牙芯 片、移動通信芯片等。
[0016] 所述處理器30用于執行所述點對點通信實現系統10以及在所述源端電子設備 1〇〇內安裝的各類軟件,例如操作系統等。所述存儲單元40可以為內置于源端電子設備 100的存儲單元(例如硬盤、存儲卡)、或外接于源端電子設備100的存儲設備。所述存儲單 元40用于存儲所述點對點通信實現系統10及其運行數據,所述運行數據包括所述點對點 通信實現系統10所設置、接收及處理后的數據。
[0017] 參閱圖2所示,是本發明點對點通信系統較佳實施例的功能模塊圖。所述點對點 通信實現系統10用于將交互式連接建立(Interactive Connectivity Establishment, ICE)協議的源代碼分別集成至源端電子設備100及遠端電子設備400的系統框架中,并 利用源端電子設備100及遠端電子設備400的ICE會話初始協議(Session Initiation Protocol,SIP)接口建立源端電子設備100與遠端電子設備400間的P2P通信模型,及通 過該P2P通信模型實現源端電子設備100與遠端電子設備400間的P2P通信。所述點對點 通信實現系統10包括集成模塊11、建立模塊12及通信模塊13。模塊11-13包括計算機化 程序指令。
[0018] 集成模塊11用于將ICE協議的源代碼集成至源端電子設備100的系統框架中。在 本較佳實施例中,所述源端電子設備100的系統框架可以為安卓(Android)系統框架。
[0019] 在本較佳實施例中,將以Android系統框架為例來介紹ICE協議的源代碼集成 至源端電子設備100的過程,具體如下:集成模塊11利用Android NDK將ICE協議的源 代碼編譯成Linux共享庫(shared library),以將ICE協議的實現部分存儲至Android 系統框架的系統運行庫層(Library)中,并利用Android平臺提供的JNI (Java Native Interface)封裝方法將ICE SIP接口封裝成Java接口供給Android系統的應用程序框架 層(Application Framework)使用。
[0020] 在本較佳實施例中,集成模塊11也可用于將ICE協議的源代碼集成至遠端電子設 備400的系統框架中。
[0021] 建立模塊12用于利用源端電子設備100及遠端電子設備400的ICE SIP接口建 立源端電子設備100與遠端電子設備400間的P2P通信模型。
[0022] 在本較佳實施例中,建立模塊12利用源端電子設備100的ICE SIP接口將源端電 子設備100登錄至穿透服務器300,在穿透服務器300獲取到源端電子設備100及遠端電 子設備400的外部互聯網協議地址(Internet Protocol Address,IP地址)后,從穿透服務 器300中獲取源端電子設備100及遠端電子設備400的外部IP地址,并利用源端電子設備 100及遠端電子設備400的外部IP地址建立源端電子設備100與遠端電子設備400之間的 數據連接。
[0023] 在本較佳實施例中,源端電子設備100與穿透服務器300及遠端電子設備400進 行通信所使用的消息是通過SIP所封裝的ICE消息,該ICE消息可以包括Binding request 消息、Binding response 消息、Connect request 消息及 Connect response 消息等。所述 ICE消息通過ICE SIP接口與穿透服務器300及遠端電子設備400實現指令的發送及數據 的反饋。例如,源端電子設備1〇〇通過Binding request的ICE消息發送用于請求獲取遠端 電子設備400的外部IP地址的指令至穿透服務器300,并通過Binding response的ICE消 息將穿透服務器300所發送的遠端電子設備400的外部IP地址反饋至源端電子設備100。
[0024] 在本較佳實施例中,建立模塊12還可以利用遠端電子設備400的ICE SIP接口將 遠端電子設備400登錄至穿透服務器300,以使穿透服務器300獲取遠端電子設備400的外 部IP地址。
[0025] 通信模塊13用于通過上述P2P通信模型實現源端電子設備100與遠端電子設備 400間的P2P通信。在本較佳實施例中,通信模塊13通過上述源端電子設備100與遠端電 子設備400建立的數據連接,進行源端電子設備100與遠端電子設備400間的數據通信。
[0026] 參閱圖3所示,是本發明點對點通信實現方法較佳實施例的流程圖。
[0027] 步驟S300,集成模塊11將ICE協議的源代碼集成至源端電子設備100的系統框架 中。在本較佳實施例中,所述源端電子設備100的系統框架可以為安卓(Android)系統框 架。在本較佳實施例中,集成模塊11還將ICE協議的源代碼集成至遠端電子設備400的系 統框架中。
[0028] 步驟S310,建立模塊12利用源端電子設備100及遠端電子設備400的ICE SIP接 口建立源端電子設備100與遠端電子設備400間的P2P通信模型。
[0029] 在本較佳實施例中,建立模塊12建立源端電子設備100與遠端電子設備400間的 P2P通信模型的具體步驟如下:利用源端電子設備100的ICE SIP接口將源端電子設備100 登錄至穿透服務器300,在穿透服務器300獲取到源端電子設備100及遠端電子設備400的 外部互聯網協議地址(Internet Protocol Address,IP地址)后,從穿透服務器300中獲取 源端電子設備100及遠端電子設備400的外部IP地址,并利用源端電子設備100及遠端電 子設備400的外部IP地址建立源端電子設備100與遠端電子設備400之間的數據連接。
[0030] 在本較佳實施例中,建立模塊12還可以利用遠端電子設備400的ICE SIP接口將 遠端電子設備400登錄至穿透服務器300,以使穿透服務器300獲取遠端電子設備400的外 部IP地址。
[0031] 步驟S320,通信模塊13通過上述P2P通信模型實現源端電子設備100與遠端電子 設備400間的P2P通信。在本較佳實施例中,通信模塊13通過上述源端電子設備100與遠 端電子設備400建立的數據連接,進行源端電子設備100與遠端電子設備400間的數據通 {目。
[0032] 參閱圖4所示,是本發明建立源端電子設備與遠端電子設備之間P2P通信的較佳 實施例。
[0033] 源端電子設備100將ICE協議的源代碼集成至其系統框架中,并使用穿透服務器 300為源端電子設備100所分配的用戶(下文將簡稱為"用戶A")的賬號、密碼登錄至穿透 服務器300,穿透服務器300存儲用戶A的賬號、外部IP地址及內部IP地址,例如,將用戶 A的賬號、外部IP地址及內部IP地址存儲至穿透服務器300的數據庫(圖4中未標出)中。
[0034] 遠端電子設備400將ICE協議的源代碼集成至其系統框架中,并使用穿透服務器 300為遠端電子設備400所分配的用戶(下文將簡稱為"用戶B")的賬號、密碼登錄至穿透 服務器300,穿透服務器300存儲用戶B的賬號、外部IP地址及內部IP地址,例如,將用戶 B的賬號、外部IP地址及內部IP地址存儲至穿透服務器300的數據庫中。
[0035] 源端電子設備100發送Binding request消息至穿透服務器300,該Binding request消息用于請求獲取遠端電子設備400的外部IP地址,穿透服務器300利用Binding response消息將其存儲的遠端電子設備400的外部IP地址(即上述的用戶B的外部IP地 址)反饋至源端電子設備100。
[0036] 源端電子設備100發送Connect request消息至遠端電子設備400,該Connect request消息用于請求通過用戶B的外部IP地址與遠端電子設備400建立數據連接,遠端 電子設備400利用Connect response消息將源端電子設備100與遠端電子設備400成功 建立數據連接的確認信息反饋至源端電子設備100。
[0037] 源端電子設備100與遠端電子設備400進行P2P通信。
[0038] 最后所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,盡管參 照以上較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本 發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和范圍。
【主權項】
1. 一種點對點通信實現方法,應用于源端電子設備中,其特征在于,該方法包括: 集成步驟:將交互式連接建立ICE協議的源代碼集成至源端電子設備的系統框架中; 建立步驟:利用源端電子設備及與源端電子設備通信連接的遠端電子設備的ICE會話 初始協議SIP接口建立源端電子設備與遠端電子設備間的點對點技術P2P通信模型;及 通信步驟:通過上述P2P通信模型實現源端電子設備與遠端電子設備間的P2P通信。2. 如權利要求1所述的點對點通信實現方法,其特征在于,所述源端電子設備的系統 框架為安卓Android系統框架。3. 如權利要求2所述的點對點通信實現方法,其特征在于,所述集成步驟通過以下方 法將ICE協議的源代碼集成至源端電子設備的系統框架中: 利用Android NDK將ICE協議的源代碼編譯成Linux共享庫,以將ICE協議的實現部 分存儲至Android系統框架的系統運行庫層中;及 利用Android平臺提供的JNI封裝方法將ICE SIP接口封裝成Java接口供給Android 系統的應用程序框架層使用。4. 如權利要求1所述的點對點通信實現方法,其特征在于,所述建立步驟通過以下方 法建立源端電子設備與遠端電子設備間的P2P通信模型: 利用源端電子設備的ICE SIP接口將源端電子設備登錄至穿透服務器; 在穿透服務器獲取到源端電子設備及遠端電子設備的外部互聯網協議地址后,從穿透 服務器中獲取源端電子設備及遠端電子設備的外部互聯網協議地址;及 利用源端電子設備及遠端電子設備的外部互聯網協議地址建立源端電子設備與遠端 電子設備之間的數據連接。5. 如權利要求4所述的點對點通信實現方法,其特征在于,所述源端電子設備與穿透 服務器及遠端電子設備進行通信所使用的消息是通過SIP所封裝的ICE消息,該ICE消息 通過ICE SIP接口與穿透服務器及遠端電子設備實現指令的發送及數據的反饋。6. -種點對點通信實現系統,運行于源端電子設備中,其特征在于,該系統包括: 集成模塊,用于將交互式連接建立ICE協議的源代碼集成至源端電子設備的系統框架 中; 建立模塊,用于利用源端電子設備及與源端電子設備通信連接的遠端電子設備的ICE 會話初始協議SIP接口建立源端電子設備與遠端電子設備間的點對點技術P2P通信模型; 及 通信模塊,用于通過上述P2P通信模型實現源端電子設備與遠端電子設備間的P2P通 {目。7. 如權利要求6所述的點對點通信實現系統,其特征在于,所述源端電子設備的系統 框架為安卓Android系統框架。8. 如權利要求7所述的點對點通信實現系統,其特征在于,所述集成模塊通過以下方 法將ICE協議的源代碼集成至源端電子設備的系統框架中: 利用Android NDK將ICE協議的源代碼編譯成Linux共享庫,以將ICE協議的實現部 分存儲至Android系統框架的系統運行庫層中;及 利用Android平臺提供的JNI封裝方法將ICE SIP接口封裝成Java接口供給Android 系統的應用程序框架層使用。9. 如權利要求6所述的點對點通信實現系統,其特征在于,所述建立模塊通過以下方 法建立源端電子設備與遠端電子設備間的P2P通信模型: 利用源端電子設備的ICE SIP接口將源端電子設備登錄至穿透服務器; 在穿透服務器獲取到源端電子設備及遠端電子設備的外部互聯網協議地址后,從穿透 服務器中獲取源端電子設備及遠端電子設備的外部互聯網協議地址;及 利用源端電子設備及遠端電子設備的外部互聯網協議地址建立源端電子設備與遠端 電子設備之間的數據連接。10. 如權利要求9所述的點對點通信實現系統,其特征在于,所述源端電子設備與穿透 服務器及遠端電子設備進行通信所使用的消息是通過SIP所封裝的ICE消息,該ICE消息 通過ICE SIP接口與穿透服務器及遠端電子設備實現指令的發送及數據的反饋。
【文檔編號】H04L29/08GK105991697SQ201510062780
【公開日】2016年10月5日
【申請日】2015年2月6日
【發明人】賴厚文, 何兵兵
【申請人】深圳富泰宏精密工業有限公司, 群邁通訊股份有限公司