一种P2P节点分享方法及装置制造方法及图纸

技术编号:35926825 阅读:10 留言:0更新日期:2022-12-14 10:10
本发明专利技术公开了一种P2P节点分享方法及装置,其中方法包括:将数据流划分为N个子流,并将分享节点划分为N个节点组;子流与所述节点组一一对应。目标组获取目标子流,并将目标子流发送至目标组之外的节点组,目标组为N个节点组中的任一个;其中包括:将目标子流发送至第一目标节点;基于第一目标节点,将目标子流分享至第二节点;基于第二节点,将目标子流分享至目标节点组之外的节点组。本发明专利技术在分享的过程中形成内分享池实现组内分享,然后通过外分享池实现组外所有节点的分享,不会形成较深的分享树,避免了节点过深造成卡顿问题;同时,通过内分享池和外分享池能够有效的利用节点组中的所有节点,避免节点浪费。避免节点浪费。避免节点浪费。

【技术实现步骤摘要】
一种P2P节点分享方法及装置


[0001]本专利技术涉及网络通信
,尤其涉及一种P2P节点分享方法及装置。

技术介绍

[0002]当前p2p(Peer to Peer,对等网络)技术广泛应用于直播,分组模式和树形模式为常见的p2p分享模式。分组模式受限于分组大小,分享率存在硬限制。树形模式,分享率没有硬限制;但受限于网络质量与观看时长分布,树稳定性难以保持,节点深度过深,延迟过高,卡顿率也会随之上升。随着终端网络质量以及硬件质量普遍提升,优质节点比率不断提高,单纯使用分组模式不能最大化利用优质节点,采用现有的分组模式以及树形模式容易造成优质节点的浪费。
[0003]因此,目前传统技术存在的缺点是节点深度过深容易产生卡顿,无法有效利用网络中的优质节点。

技术实现思路

[0004]鉴于上述问题,本专利技术提出了一种P2P节点分享方法及装置,不会使节点深度过大,降低了节点卡顿,提高了优质节点利用率。
[0005]第一方面,本申请通过一实施例提供如下技术方案:
[0006]一种P2P节点分享方法,包括:
[0007]将数据流划分为N个子流,并将分享节点划分为N个节点组;所述子流与所述节点组一一对应;目标组获取目标子流,并将所述目标子流发送至所述目标组之外的节点组;所述目标组为所述N个节点组中的任一个;所述目标组中的多个分享节点形成内分享池和外分享池,所述内分享池包含多个第一节点,所述外分享池包含多个第二节点;所述目标组获取目标子流,并将所述目标子流发送至所述目标组之外的节点组,包括:将所述目标子流发送至第一目标节点;其中,所述第一目标节点属于所述第一节点;基于所述第一目标节点,将所述目标子流分享至所述第二节点;基于所述第二节点,将所述目标子流分享至所述目标节点组之外的节点组。
[0008]可选的,所述将所述目标子流发送至所述第一目标节点之前,还包括:
[0009]获取每个所述第一节点的权重值;将权重值最大的所述第一节点,确定为所述第一目标节点。
[0010]可选的,所述获取每个所述第一节点的权重值之前,还包括:
[0011]每隔预设时长基于所述第一节点的运行时长、被收听时长以及卡顿上报次数,更新所述第一节点的权重值。
[0012]可选的,所述每隔预设时长基于所述第一节点的运行时长、被收听时长以及卡顿上报次数,更新所述第一节点的权重值,包括:
[0013]基于所述卡顿上报次数,修正所述运行时长和所述被收听时长;每隔预设时长,基于第一对数和第二对数,更新所述第一节点的权重值;其中,第一对数为被修正后的运行时
长的对数,第二对数为被修正后的被收听时长的对数。
[0014]可选的,所述基于所述卡顿上报次数,修正所述运行时长和所述被收听时长,包括:
[0015]在每次进行卡顿上报时,基于dlive=dlive*m1修正所述运行时长;其中,dlive表示所述运行时长,m1为修正系数;在每次进行卡顿上报时,基于dlisten=dlisten(0,n)*m2修正所述被收听时长;其中,dlisten表示所述被收听时长,m2为修正系数,n为收听所述第一节点的节点数量。
[0016]可选的,所述每隔预设时长,基于第一对数和第二对数,更新所述第一节点的权重值,包括:
[0017]每隔预设时长,基于weigh_live=ln(dlive)*k1以及更新所述第一节点的权重值;其中,所述第一节点的权重值weight=weight_live+weight_listen,k1、k2为调整系数。
[0018]可选的,所述基于所述第一目标节点,将所述目标子流分享至所述第二节点,包括:
[0019]判断所述第一目标节点的分享数量是否达到上限;若否,则基于所述第一目标节点,将所述目标子流分享至所述第二节点;若是,则断开所述第一目标节点与第二目标节点之间的分享关系;其中,所述第二目标节点为目标组之外的节点组中的节点;基于所述第一目标节点,将所述目标子流分享至所述第二节点,并基于所述第二节点将所述目标子流分享至所述第二目标节点。
[0020]第二方面,基于同一专利技术构思,本申请通过一实施例提供如下技术方案:
[0021]一种P2P节点分享装置,包括:
[0022]划分模块,用于将数据流划分为N个子流,并将分享节点划分为N个节点组;所述子流与所述节点组一一对应;分享模块,用于目标组获取目标子流,并将所述目标子流发送至所述目标组之外的节点组;所述目标组为所述N个节点组中的任一个;所述目标组中的多个分享节点形成内分享池和外分享池,所述内分享池包含多个第一节点,所述外分享池包含多个第二节点;所述分享模块,包括:第一内分享单元,用于将所述目标子流发送至第一目标节点;其中,所述第一目标节点属于所述第一节点;第二内分享单元,用于基于所述第一目标节点,将所述目标子流分享至所述第二节点;外分享单元,用于基于所述第二节点,将所述目标子流分享至所述目标节点组之外的节点组。
[0023]可选的,还包括第三内分享单元,用于在所述将所述目标子流发送至所述第一目标节点之前:
[0024]获取每个所述第一节点的权重值;将权重值最大的所述第一节点,确定为所述第一目标节点。
[0025]第三方面,基于同一专利技术构思,本申请通过一实施例提供如下技术方案:
[0026]一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
[0027]本专利技术实施例中提供的一种P2P节点分享方法及装置,通过将数据流划分为N个子流,并将分享节点划分为N个节点组;子流与所述节点组一一对应。然后,目标组获取目标子
流,并将目标子流发送至目标组之外的节点组,从而实现分享,目标组为N个节点组中的任一个。并且目标组中的多个分享节点可形成内分享池和外分享池,内分享池包含多个第一节点,外分享池包含多个第二节点;目标组获取目标子流,并将所述目标子流发送至所述目标组之外的节点组,包括:将目标子流发送至第一目标节点;其中,第一目标节点属于第一节点;接着基于第一目标节点,将目标子流分享至第二节点;最后,基于第二节点,将目标子流分享至目标节点组之外的节点组。本专利技术实施例在分享的过程中形成内分享池实现组内分享,然后通过外分享池实现组外所有节点的分享,不会形成较深的分享树,避免了节点过深造成卡顿问题;同时,通过内分享池和外分享池能够有效的利用节点组中的所有节点,避免节点浪费。
[0028]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0029]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种P2P节点分享方法,其特征在于,包括:将数据流划分为N个子流,并将分享节点划分为N个节点组;所述子流与所述节点组一一对应;目标组获取目标子流,并将所述目标子流发送至所述目标组之外的节点组;所述目标组为所述N个节点组中的任一个;所述目标组中的多个分享节点形成内分享池和外分享池,所述内分享池包含多个第一节点,所述外分享池包含多个第二节点;所述目标组获取目标子流,并将所述目标子流发送至所述目标组之外的节点组,包括:将所述目标子流发送至第一目标节点;其中,所述第一目标节点属于所述第一节点;基于所述第一目标节点,将所述目标子流分享至所述第二节点;基于所述第二节点,将所述目标子流分享至所述目标节点组之外的节点组。2.根据权利要求1所述的方法,其特征在于,所述将所述目标子流发送至所述第一目标节点之前,还包括:获取每个所述第一节点的权重值;将权重值最大的所述第一节点,确定为所述第一目标节点。3.根据权利要求2所述的方法,其特征在于,所述获取每个所述第一节点的权重值之前,还包括:每隔预设时长基于所述第一节点的运行时长、被收听时长以及卡顿上报次数,更新所述第一节点的权重值。4.根据权利要求3所述的方法,其特征在于,所述每隔预设时长基于所述第一节点的运行时长、被收听时长以及卡顿上报次数,更新所述第一节点的权重值,包括:基于所述卡顿上报次数,修正所述运行时长和所述被收听时长;每隔预设时长,基于第一对数和第二对数,更新所述第一节点的权重值;其中,第一对数为被修正后的运行时长的对数,第二对数为被修正后的被收听时长的对数。5.根据权利要求4所述的方法,其特征在于,所述基于所述卡顿上报次数,修正所述运行时长和所述被收听时长,包括:在每次进行卡顿上报时,基于dlive=dlive*m1修正所述运行时长;其中,dlive表示所述运行时长,m1为修正系数;在每次进行卡顿上报时,基于dlisten=dlisten(0,n)*m2修正所述被收听时长;其中,dlisten表示所述被收听时长,m2为修正系数,n为收听所述第一节点的节点数量。6.根据权利要求4所述的方法,其特征在于,所述每隔预设时长,基于第一对数和第二对数,更...

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

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

1