对等网络中的直播系统及节点管理方法与流程

文档序号:11778419阅读:502来源:国知局
对等网络中的直播系统及节点管理方法与流程

本发明涉及互联网直播技术领域,特别涉及一种在对等网络中、应用于流媒体直播的系统及节点管理方法。



背景技术:

对等网络传输技术,即p2p(peer-to-peer)技术,是近年来兴起的新型通讯网络传输技术。它在传输方式上打破了传统网络的服务器/客户端(c/s)模式,建立了一种客户端对客户端的直接通信机制。在对等网络中,每一节点既作为客户端,又充当他人的服务端,从某种意义上,每一节点都处在同等地位。对等网络是对分布式概念的成功拓展,它将传统方式下的服务器负担分配到网络中的每一节点上,不仅可以大大减轻服务器处理压力,也能节省大量的cdn流量成本。

对等网络中,一个节点(peer)会从节点管理服务器(tracker)获取很多其它节点的信息,从而跟它们建立连接来获取数据。在现有基于p2p的流媒体直播应用中,特别是低延迟的流媒体直播应用,对节点质量的好坏要求更高,而目前技术主要还是依靠节点管理服务器(tracker)进行推荐,但是节点管理服务器(tracker)推荐的节点不能时刻保持很好的质量,如果播放过程中,某个节点的质量不高,直播系统不能自动识别而仍继续使用,则会导致流媒体直播应用时的p2p分享率整体不高,资源调配效率低下,进而影响用户体验感。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种对等网络中的直播系统及节点管理方法。

一方面,对等网络中的直播系统,包括至少一个节点和第一服务器,其中:

所述第一服务器用于使所述节点之间建立连接,以使所述节点之间共享节点信息;以及

所述节点配置有评估模块和淘汰模块,所述评估模块根据所述节点信息计算分析所述节点的健康值,并反馈至所述淘汰模块以选择继续使用或淘汰被评估的节点。

另一方面,本发明实施例还提供了一种节点管理方法,包括以下步骤:节点之间建立连接,以使所述节点共享节点信息,其中,所述节点信息包括所述节点之间建立连接的节点初始值与所述节点接收到切片的时间;根据所述节点信息,计算分析所述节点的健康值;以及根据计算分析结果选择继续使用或淘汰所述节点。

另一方面,本发明还提供了一种对等网络中的直播系统,所述系统包括存储器,所述存储器所存储的指令用于执行上述节点管理方法。

另一方面,本发明还提供了一种对等网络中的直播系统,所述系统包括处理器,所述处理器用于执行上述节点管理方法。

另一方面,本发明还提供了一种对等网络中的直播系统,包括:至少一个节点,所述节点之间相连并共享节点信息;评估模块,所述评估模块配置在节点中,根据共享的所述节点信息计算分析与所在节点相连接的节点的健康值;以及淘汰模块,所述淘汰模块接收所述评估模块的反馈结果并确定是否继续使用或淘汰被评估的节点。

本发明的直播系统,包括用于使节点之间建立连接并进而共享节点信息的第一服务器,以及用于评估节点健康值的评估模块和用于淘汰质量差的节点的淘汰模块。评估模块主要根据节点信息,计算和分析节点健康值,并将评估结果反馈至淘汰模块,以便淘汰模块确定是否继续使用或者淘汰被评估的节点。本发明的直播系统及节点管理方法,可以在较多的节点中快速筛选并淘汰质量差的节点,使质量好的节点相连并获取数据,提高对等网络的分享率,从而改善用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的第一实施例提供的直播系统的结构示意图。

图2为本发明的第一实施例提供的节点管理方法的步骤的流程图。

图3为本发明的第一实施例提供的直播系统中的服务器与模块的示意图。

图4为本发明的第二实施例提供的模块示意图。

附图标记说明:

第一服务器-10;第二服务器-20;发送模块-21;第三服务器-30;第四服务器-40;节点-50、50a、50b;接收模块-51;评估模块-52;淘汰模块-53;发送模块-100;接收模块-200;评估模块-300;淘汰模块-400。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下将对本发明所提供的对等网络中的直播系统及其方法进行详细说明。

请参考图1至图3,绘示了本发明的第一实施例所提供的直播系统及节点管理方法。结合图1和图3所示,为在对等网络中直播应用的直播系统,所述直播系统主要包括第一服务器10、第二服务器20、第三服务器30、第四服务器40以及两个节点50a和50b。

第一服务器10本质上是一种穿透服务器,例如openrtmfp服务器,openrtmfp服务器是一个完全开源和跨平台的可扩展的rtmfp服务器脚本,用于协助两个节点50a和50b建立连接;当然,第一服务器10也可以是实现相应功能的其它服务器,例如stun穿透服务器。第一服务器10能够使两个节点50a和50b之间建立连接,以使这两个节点50a和50b之间共享节点信息。

第二服务器20对所有的节点50a和50b进行管理,包括发送模块21。发送模块21可以根据客户端请求,首先向节点50a和50b发送节点列表。所述节点列表是实时的。

第三服务器30是一种切片服务器,用于根据直播流中的时间戳切片直播流。第三服务器30的主要工作原理为:开始切片直播流时,先获取当前的系统时间,即初始的系统时间t0。直播流里的时间戳都是从0开始,然后直播流里的时间戳每增加δt就切一个文件片,把系统时间加上当前时间戳的值t0+δt作为该切片的文件名,作为当前切片文件编号,即最新切片文件编号所代表的时间为t0+δt。切直播流里时间戳为0~nms的数据生成的第一个切片命名为1.flv,切直播流里时间戳为n~(n+1)ms的数据生成的第二个切片命名为2.flv,以此类推。h为大于0的正整数,ms为时间单位。

第四服务器40为cdn服务器,可以接收来自第三服务器30的切片文件,然后向节点50a和50b分发所述切片文件。节点50a和50b需要补片时,向第四服务器40请求数据。

每个节点50a和50b都可以配置有接收模块51、评估模块52和淘汰模块53。以节点50a为例,接收模块51用于接收第二服务器20中的发送模块21所发送的节点列表以及接收与其连接的节点共享的节点信息。评估模块52主要根据节点信息计算分析节点50b的健康值,并反馈至淘汰模块53。需要说明的是,本实施例中的评估模块52用于评估与该评估模块所在节点相连接的对应节点,即,节点50a所在的评估模块52不是评估自身所在的节点50a,而是评估与节点50a相连接的另一节点50b的健康值。评估模块52根据直播流切片时的最新切片文件编号所代表的时间和节点信息计算分析节点50b的健康值,节点信息包括所述节点之间建立连接的节点初始值与所述节点接收到切片的时间。节点初始值,即每两个节点(50a与50b)之间连接建立后,对被评估的节点50b预先设定的初始健康值。所述初始健康值不是固定不变的,可以根据实际情况进行调整。

请参考图2和图3,理解本发明第一实施例的直播系统的节点管理方法的具体流程。

步骤s101,第二服务器20发送具有实时的节点列表。

步骤s102,第一服务器10使每两个节点50a和50b之间建立连接,并使节点50a和50b之间共享节点信息。

步骤s103,第三服务器30根据直播流中的时间戳切片直播流,并获取当前的系统时间。第三服务器30的具体工作过程可以参考上述,在此不再赘述。

步骤s104,假设要评估的节点是50b,则节点50b每接收到一个切片,就记录一次接收时间。

步骤s105,节点50a的评估模块52根据上述最新切片文件编号所代表的时间和节点信息计算分析节点50b的健康值,节点信息具体包括节点初始值和节点接收到切片的时间的节点信息。

步骤s106,评估模块52将计算和分析的结果反馈至淘汰模块53。如果被评估节点50b的健康值较高,则满足质量要求,淘汰模块53不淘汰节点50b,继续进行使用;如果被评估节点50b的健康值较低,则不满足质量要求,淘汰模块53淘汰节点50b。

评估模块52的估算方法为,假设节点健康值为q,节点初始值为n,m为节点接收到切片的时间与最新切片文件编号所代表的时间的差值。计算时间是,每当节点50a和/或50b接收一个切片后就重新加权计算健康值。节点健康值q大致等于节点初始值n与差值m的加权平均值。必要时,可以引入某个平滑因子进行计算以提高健康值的精确度。节点淘汰是根据权重值的高低进行淘汰,或者预先设置一个阈值,将计算得来的q值与所述阈值进行比较,分析是否达到阈值,以确定是否被淘汰或继续使用。上述的评估方法仅仅是示例,可以根据实际使用情况进行调整,包括计算方式和计算对象等。

步骤s107,节点50通过http请求从第二服务器20获取一批新的节点,这批新的节点继续进行s101~s106的流程,如此循环往复。

本发明的第一实施例举两个节点50a和50b为例,仅仅是为了说明,当然,实际情况中并不限于两个节点。可以理解的是,节点的淘汰或推荐结果不是固定不变的,可以根据节点的实时状况进行动态改变。

本发明的第一实施例提供的直播系统,包括用于使节点之间建立连接进而共享节点信息的第一服务器,用于发送节点列表的第二服务器,对直播流切片的第三服务器,向节点分发切片文件的第四服务器,以及用于主要根据共享的节点信息评估节点健康值的评估模块和用于根据评估结果以继续使用或淘汰被评估节点的淘汰模块。第一实施例的节点管理方法,首先使节点之间建立连接以使节点之间共享节点信息,评估模块主要根据所述节点信息,计算和分析相应节点的健康值,再将分析结果反馈至淘汰模块,以此确定是否继续使用或淘汰被评估的节点。节点信息依赖于第三服务器的切片服务,第二服务器的连接服务以及第四服务器的分发服务。本发明第一实施例所提供的直播系统和节点管理方法,可以在较多的节点中快速筛选并淘汰质量差的节点,使质量好的节点相连并获取数据,提高对等网络的分享率,从而改善用户体验。节点的淘汰推荐结果并非固定不变的,可以根据实际情况进行调整,提高了直播系统的资源利用效率。评估模块可以分别配置在每个节点中,也提高了评估效率。

本发明的第二实施例,请参考图4所示。第二实施例所提供的直播系统,主要包括多个节点50、发送模块100、接收模块200、评估模块300和淘汰模块400。

其中,发送模块100用于根据客户端响应,发送所有节点50实时的节点列表。接收模块200用于接收所述发送模块所发送的所述节点列表和相连接的节点共享的节点信息。评估模块300主要根据节点信息计算分析所述节点的健康值,并反馈至淘汰模块400。淘汰模块400根据反馈结果来确定是否继续使用被评估的节点或者淘汰所述节点。节点信息与本发明上述实施例中的相同,评估模块400的评估原理也与上述实施例中的相同,在此不再赘述。

本发明的第二实施例提供的直播系统,包括1至n个相连并共享节点信息的节点50(n为大于0的正整数)、用于确定继续使用或淘汰节点的淘汰模块,以及用于根据共享的节点信息评估节点健康值的评估模块。评估模块主要根据所述节点信息,计算和分析相应节点的健康值,再将分析结果反馈至淘汰模块,以此确定是否推荐或淘汰被评估的节点。本发明的第二实施例中的发送模块100、接收模块200、评估模块300和淘汰模块400的功能与本发明第一实施例中的发送模块21、接收模块51、评估模块52和淘汰模块53的功能相似,在此不再赘述。本发明第二实施例所提供的直播系统,不拘泥于具体的服务器配置和架构,接收模块200、评估模块300和淘汰模块400没有限定一定要配置在节点50中。本发明第二实施例所提供的直播系统,可以在较多的节点中快速筛选并淘汰质量差的节点,使质量好的节点相连并获取数据,提高对等网络的分享率,从而改善用户体验。评估模块可以分别配置在每个节点中,也提高了评估效率。

本发明的第三实施例,还提供了一种直播系统,所述直播系统包括存储器,所述存储器所存储的指令用于执行上述直播方法中的步骤s101~s107。

本发明的第四实施例,还提供了一种直播系统,所述直播系统包括处理器,所述处理器用于执行上述直播方法中的步骤s101~s107。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1