一种P2P节点推荐方法、终端、介质及计算机设备技术

技术编号:35282169 阅读:30 留言:0更新日期:2022-10-22 12:25
本发明专利技术提供一种P2P节点推荐方法、终端、介质及计算机设备,方法包括:针对任一目标节点,基于探测周期对自身的NAT类型进行探测,获取NAT类型探测结果;将NAT类型探测结果上报至节点推荐服务器;节点推荐服务器基于NAT类型为目标节点推荐节点备选集合,节点备选集合中存储有与目标节点能打洞成功的至少一个备选节点;如此,目标节点首先对自身的NAT类型进行周期性探测,节点推荐服务器可根据目标节点的NAT类型将无法与目标节点打洞成功的节点从节点备选集合中删除,节点备选集合中存储有与所述目标节点能打洞成功的至少一个备选节点;在打洞时,可避免出现打洞失败的情况,确保节点打洞成功率,进而提高系统的分享率。进而提高系统的分享率。进而提高系统的分享率。

【技术实现步骤摘要】
一种P2P节点推荐方法、终端、介质及计算机设备


[0001]本专利技术属于点对点通信
,尤其涉及一种P2P节点推荐方法、终端、介质及计算机设备。

技术介绍

[0002]在内容分发网络(CDN,Content Delivery Network,)领域,特别是音视频直播、点播等海量数据的场景,采用点对点(P2P,Peer

to

Peer)技术可大幅度降低服务端带宽成本。
[0003]P2P技术将可利用的资源对象称为P2P节点,可利用P2P节点带宽分发数据。节点之间数据分享越充分,P2P的分享率越高,那么服务端的带宽成本降低幅度就越高;因此P2P分享率是衡量一个P2P系统的重要指标。节点的互通性和打洞成功率是影响P2P分享率的关键因素,如果P2P节点不通,打洞失败,数据分享也无从谈起。
[0004]相关技术中,在进行P2P节点打洞时,不考虑节点的NAT类型或无法有效地探测出节点的NAT类型;特别是对于web端节点来说,根本没有对应的NAT类型探测方案。这样在打洞时,由于有的节点类型根本无法打洞成功,严重影响节点打洞效率,进而影响整个P2P系统的整体分享率。

技术实现思路

[0005]针对现有技术存在的问题,本专利技术实施例提供了一种P2P节点推荐方法、终端、介质及计算机设备,用于解决现有技术中,在进行P2P节点打洞时,由于无法得知待打洞节点的NAT类型,严重影响节点打洞效率,进而无法确保整个P2P系统的整体分享率。
[0006]第一方面,本专利技术提供一种P2P节点推荐方法,应用webRTC终端中,所述方法包括:
[0007]针对任一目标节点,基于探测周期对自身的NAT类型进行探测,获取NAT类型探测结果;
[0008]将所述NAT类型探测结果上报至节点推荐服务器;以使得所述节点推荐服务器能基于所述NAT类型探测结果更新所述目标节点的NAT类型,并基于所述目标节点的NAT类型为所述目标节点推荐节点备选集合,所述节点备选集合中存储有与所述目标节点能打洞成功的至少一个备选节点。
[0009]可选的,所述基于探测周期对自身的NAT类型进行探测,包括:
[0010]创建用于获取所述目标节点外网地址的目标对象;所述目标对象配置有对应的目标服务器,所述目标对象包括:第一对象及第二对象;所述目标服务器包括:第一服务器及第二服务器;
[0011]在每个所述探测周期中,利用所述目标对象及所述目标服务器获取地址候选者candidate的属性信息;
[0012]若基于所述属性信息确定所述地址候选者的类型为服务器反射类型SRflx,则将所述地址候选者的外网地址以及所述外网地址对应的本机地址存储至地址集合
srflxAddrSet中;
[0013]在所述地址集合中判断所述本机地址是否对应有至少两个外网地址,若确定所述本机地址对应有至少两个外网地址,则确定自身的NAT类型为对称型。
[0014]可选的,所述利用所述目标对象及所述目标服务器获取地址候选者candidate的属性信息,包括:
[0015]当所述目标对象与所述目标服务器建立连接时,利用所述目标对象调用信息获取方法createOffer,并获取所述信息获取方法的回调函数;
[0016]从所述回调函数中获取SDP信息,所述SDP信息中携带有所述地址候选者信息;
[0017]解析所述SDP信息,获取所述地址候选者的属性信息。
[0018]可选的,所述利用所述目标对象及所述目标服务器获取地址候选者candidate的属性信息,包括:
[0019]当所述目标对象与所述目标服务器建立连接时,利用所述目标对象调用信息获取方法createOffer;
[0020]获取被所述信息获取方法触发的事件onicecandidate;
[0021]从所述事件onicecandidate对应的事件属性信息中获取所述地址候选者的属性信息。
[0022]可选的,所述将所述NAT类型探测结果上报至节点推荐服务器,包括:
[0023]利用心跳消息将所述NAT类型探测结果上报至所述节点推荐服务器。
[0024]可选的,若确定所述本机地址未对应有至少两个外网地址,则确定自身的NAT类型为非对称型。
[0025]可选的,方法还包括:
[0026]若对自身的NAT类型探测失败时,向所述节点推荐服务器上报的NAT类型探测结果为未知NAT类型。
[0027]第二方面,本专利技术还提供一种webRTC终端,所述web终端包括:
[0028]探测单元,用于针对任一目标节点,基于探测周期对自身的NAT类型进行探测,获取NAT类型探测结果;
[0029]上报单元,用于将所述NAT类型探测结果上报至节点推荐服务器;以使得所述节点推荐服务器能基于所述NAT类型探测结果更新所述目标节点的NAT类型,并基于所述目标节点的NAT类型为所述目标节点推荐节点备选集合,所述节点备选集合中存储有与所述目标节点能打洞成功的至少一个备选节点。
[0030]第三方面,本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述的方法。
[0031]第四方面,本专利技术提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中任一项所述的方法。
[0032]本专利技术实施例提供了一种P2P节点推荐方法、终端、介质及计算机设备,方法包括:针对任一目标节点,基于探测周期对自身的NAT类型进行探测,获取NAT类型探测结果;将所述NAT类型探测结果上报至节点推荐服务器;以使得节点推荐服务器能基于NAT类型探测结果更新所述目标节点的NAT类型,并基于所述目标节点的NAT类型为所述目标节点推荐节点
备选集合,所述节点备选集合中存储有与所述目标节点能打洞成功的至少一个备选节点;如此,对于任一目标节点来说,目标节点首先对自身的NAT类型进行周期性探测,并实时上报至节点推荐服务器,节点推荐服务器可根据目标节点的NAT类型更新对应的节点备选集合,将无法与目标节点打洞成功的节点从节点备选集合中删除,这样节点备选集合中即存储有与所述目标节点能打洞成功的至少一个备选节点;那么目标节点与节点备选集合中的备选节点进行打洞时,可避免出现打洞失败的情况,确保节点打洞成功率,进而提高了整个P2P系统的分享率。
附图说明
[0033]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0034]图1为本专利技术实施例提供的直播平台对应的P2P网络结构示意图;
[0035]图2为本专利技术实施例提供的一种P2P节点推荐方法流程示意图;
[0036]图3为本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种P2P节点推荐方法,其特征在于,应用webRTC终端中,所述方法包括:针对任一目标节点,基于探测周期对自身的NAT类型进行探测,获取NAT类型探测结果;将所述NAT类型探测结果上报至节点推荐服务器;以使得所述节点推荐服务器能基于所述NAT类型探测结果更新所述目标节点的NAT类型,并基于所述目标节点的NAT类型为所述目标节点推荐节点备选集合,所述节点备选集合中存储有与所述目标节点能打洞成功的至少一个备选节点。2.如权利要求1所述的方法,其特征在于,所述基于探测周期对自身的NAT类型进行探测,包括:创建用于获取所述目标节点外网地址的目标对象;所述目标对象配置有对应的目标服务器,所述目标对象包括:第一对象及第二对象;所述目标服务器包括:第一服务器及第二服务器;在每个所述探测周期中,利用所述目标对象及所述目标服务器获取地址候选者candidate的属性信息;若基于所述属性信息确定所述地址候选者的类型为服务器反射类型SRflx,则将所述地址候选者的外网地址以及所述外网地址对应的本机地址存储至地址集合srflxAddrSet中;在所述地址集合中判断所述本机地址是否对应有至少两个外网地址,若确定所述本机地址对应有至少两个外网地址,则确定自身的NAT类型为对称型。3.如权利要求2所述的方法,其特征在于,所述利用所述目标对象及所述目标服务器获取地址候选者candidate的属性信息,包括:当所述目标对象与所述目标服务器建立连接时,利用所述目标对象调用信息获取方法createOffer,并获取所述信息获取方法的回调函数;从所述回调函数中获取SDP信息,所述SDP信息中携带有所述地址候选者信息;解析所述SDP信息,获取所述地址候选者的属性信息。4.如权利要求2所述的方法,其特征在...

【专利技术属性】
技术研发人员:李超
申请(专利权)人:武汉斗鱼鱼乐网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1