点对点通信实现方法及系统的制作方法

文档序号:10626931阅读:670来源:国知局
点对点通信实现方法及系统的制作方法
【专利摘要】本发明提供一种点对点通信实现方法,包括:将交互式连接建立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日
【发明人】赖厚文, 何兵兵
【申请人】深圳富泰宏精密工业有限公司, 群迈通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1