The invention discloses a data transmission method, which is applied to the client. The method includes: sending a hole-drilling request to the STUN server to request the establishment of a P2P data transmission channel with the other client; if the P2P data transmission channel is successfully established, carrying out P2P audio and video communication with the other client; if the establishment of the P2P data transmission channel fails, the method is described through the SFU node. Audio and video data transfer communication is carried out on the client side. The invention also provides a data transmission system, an electronic device and a computer readable storage medium. The invention can reduce bandwidth cost and operation cost, and can support audio and video communication among a large number of users.
【技术实现步骤摘要】
数据传输方法和系统、电子装置及计算机可读存储介质
本专利技术涉及数据传输
,尤其涉及一种数据传输方法和系统、电子装置及计算机可读存储介质。
技术介绍
现有的基于P2P方式做VoIP(VoiceoverInternetProtocol,网络电话)音视频通信的技术方案,包括:用户a与用户b经过STUN(SimpleTraversalofUDPoverNATs,NAT的UDP简单穿越)服务器建立P2P打洞数据传输通道,如果成功,则通过该P2P打洞数据传输通道做P2P音视频通信;如果失败,则通过公网上的中继(relay)服务器做音视频数据中转通信。但是,这种方式存在着如下的缺陷:如果线上支持百万用户之间做VoIP音视频通信,但公网的relay服务器节点是有限的,很可能无法满足大量用户之间的中转需求。而且,为了保证音视频通讯质量,采用的relay服务器的带宽运营费用昂贵,导致通信成本很高。
技术实现思路
有鉴于此,本专利技术提出一种数据传输方法和系统、电子装置及计算机可读存储介质,以解决至少一个上述技术问题。首先,为实现上述目的,本专利技术提出一种数据传输方法,应用于客户端,所述方法包括:向STUN服务器发送打洞请求,以请求与对方客户端建立P2P数据传输通道;若所述P2P数据传输通道建立成功,则与所述对方客户端进行P2P音视频通信;及若所述P2P数据传输通道建立失败,则通过选择性转发单元SFU节点与所述对方客户端进行音视频数据中转通信。可选地,所述方法还包括:当所述客户端与所述对方客户端之间的P2P数据传输通道建立失败,且无法通过所述SFU节点进行中转通信时,通过 ...
【技术保护点】
1.一种数据传输方法,应用于客户端,其特征在于,所述方法包括:向STUN服务器发送打洞请求,以请求与对方客户端建立P2P数据传输通道;若所述P2P数据传输通道建立成功,则与所述对方客户端进行P2P音视频通信;及若所述P2P数据传输通道建立失败,则通过选择性转发单元SFU节点与所述对方客户端进行音视频数据中转通信。
【技术特征摘要】
1.一种数据传输方法,应用于客户端,其特征在于,所述方法包括:向STUN服务器发送打洞请求,以请求与对方客户端建立P2P数据传输通道;若所述P2P数据传输通道建立成功,则与所述对方客户端进行P2P音视频通信;及若所述P2P数据传输通道建立失败,则通过选择性转发单元SFU节点与所述对方客户端进行音视频数据中转通信。2.如权利要求1所述的数据传输方法,其特征在于,所述方法还包括:当所述客户端与所述对方客户端之间的P2P数据传输通道建立失败,且无法通过所述SFU节点进行中转通信时,通过公网中继服务器进行与所述对方客户端之间的中转数据传输。3.如权利要求1或2所述的数据传输方法,其特征在于,所述向STUN服务器发送打洞请求,以请求与对方客户端建立P2P数据传输通道包括:通过就近区域的所述STUN服务器获取自身的外网IP和端口;通过Internet网络向所述对方客户端发送自身的外网IP和端口;通过Internet网络获取所述对方客户端的IP和端口;向所述对方客户端的外网IP和端口发送测试数据包,并接收所述对方客户端发送的测试数据包,以建立所述P2P数据传输通道。4.如权利要求1或2所述的数据传输方法,其特征在于,所述通过SFU节点与所述对方客户端进行音视频数据中转通信包括:选取与所述客户端及所述对方客户端均可成功建立P2P数据传输通道的所述SFU节点;所述客户端通过与所述SFU节点之间的P2P数据传输通道传输音视频数据至所述SFU节点,以通过所述SFU节点与所述对方客户端之间的P2P数据传输通道将所述音视频数据中转至所述对方客户端;所述客户端通过与所述SFU节点之间的P2P数据传输通道接收所述SFU节点中转的所述对方客户端发送的音视频数据。5.如权利要求4所述的数据传输方法,其特征在于,所述选取与所述客户端及所述对方客户端均可成功建立P2P数据传输通道的所述SFU节点包括:根据所述客户端和所述对方客户端的网络地址转换NAT类型,选择能够与所述NAT类型进行P2P数据传输的多个SFU节点;按照预设规则从所述多个SFU节点中选取一个,尝试与所述客户端和所述对方客户端分别建立P2P数据传输通道,若两条P2P数据传输通道均能建立成功,则将所述SFU节点作为所述客户端和所述对方客户端之间的中转;若所述客户端或所述对方客户端与所述SFU节点之间的P2...
【专利技术属性】
技术研发人员:林伟,
申请(专利权)人:深圳市网心科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。