掌桥专利:专业的专利平台
掌桥专利
首页

构建直播对等网路的方法及装置、电子设备和存储介质

文献发布时间:2023-06-19 16:08:01



技术领域

本公开涉及计算机技术领域,尤其涉及流媒体传输技术领域,具体涉及一种构建直播对等网络的方法及装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术

基于直播的流媒体传输,将直播过程中的音视频数据作为一个稳定和连续的流,通过网络传输给观众观看。

在直播过程中,由于观看直播的人数往往比较多,通过构建直播对等网络(直播P2P),使观看直播的用户之间,通过一定的协议,交换和共享直播的音视频数据,可以减少对服务端的数据请求,进而降低服务端的用于数据输入输出的带宽的压力,减少服务器带宽成本,降低直播用户的卡播率。

在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

发明内容

本公开提供了一种构建直播对等网络的方法及装置、电子设备、计算机可读存储介质和计算机程序产品。

根据本公开的一方面,提供了一种构建直播对等网络的方法,包括:接收直播用户的直播开启请求;响应于所述直播开启请求,预测所述直播的热度,所述热度能够指示观看所述直播的第一用户集合中的用户数量;基于所述热度,针对所述直播,获得第一检测结果,所述第一检测结果指示是否为所述直播用户构建直播对等网络;以及响应于所述第一检测结果指示为所述直播用户构建直播对等网络,构建直播对等网络,以使所述第一用户集合的第一用户能够从第二用户获得至少部分所述当前流媒体内容,所述第一用户区别于所述第二用户。

根据本公开的另一方面,还提供一种构建直播对等网络的装置,包括:接收单元,被配置用于接收直播用户的直播开启请求;热度预测单元,被配置用于响应于所述直播开启请求,预测所述直播的热度,所述热度能够指示观看所述直播的第一用户集合中的用户数量;检测单元,被配置用于基于所述热度,针对所述直播,获得第一检测结果,所述第一检测结果指示是否为所述直播用户构建直播对等网络;以及构建单元,被配置用于响应于所述第一检测结果指示为所述直播用户构建直播对等网络,构建直播对等网络,以使所述第一用户集合的第一用户能够从第二用户获得至少部分所述直播的当前流媒体内容,所述第一用户区别于所述第二用户。

根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据上述的方法。

根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据上述的方法。

根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据上述的方法。

根据本公开的一个或多个实施例,避免直播用户的直播过程中,因观看直播的用户从服务端拉取直播的流媒体内容的用户过多而造成服务端的带宽压力,甚至造成用户在观看直播过程中的延迟。同时,避免随意为直播用户构建直播对等网络导致计算资源的浪费。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。

图1示出了根据本公开的一些实施例的构建直播对等网络的方法的流程图;

图2示出了根据本公开的一些实施例的构建直播对等网络的方法中预测所述直播的热度的过程的流程图;

图3示出了根据本公开的一些实施例的构建直播对等网络的方法中获得第二历史流媒体内容的过程的流程图;

图4示出了根据本公开的一些实施例的构建直播对等网络的方法的从多个历史流媒体内容中确定第二历史流媒体内容的过程的流程图;

图5示出了根据本公开的一些实施例的构建直播对等网络的方法的获得第三用户集合的过程的流程图;

图6示出了根据本公开的一些实施例的构建直播对等网络的方法的流程图;

图7示出了根据本公开的一些实施例的构建直播对等网络的方法中基于第四用户集合中的用户数量获得第二检测结果的过程的流程图;

图8示出了根据本公开的一些实施例的构建直播对等网络的方法中基于第四用户集合中的每一个用户的位置获得第二检测结果的过程的示意性流程图;

图9示出了根据本公开的一些实施例的构建直播对等网络的方法中基于第四用户集合中的每一个用户的位置获得第二检测结果的过程的示意性流程图;

图10示出了根据本公开的一个实施例的构建直播对等网络的装置的示意性框图;以及

图11示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。

下面将结合附图详细描述本公开的实施例。

根据本公开的一方面提供了一种构建直播对等网络的方法。参看图1,对根据本发明的一个实施例的一种构建直播对等网络的方法进行示意性说明。参看图1,示出了根据本发明的实施例的一种构建直播对等网络的方法的示意性流程图。

其中,构建直播对等网络的方法100包括:

步骤S110:接收直播用户的直播开启请求;

步骤S120:响应于所述直播开启请求,预测所述直播的热度,所述热度能够指示观看所述直播的第一用户集合中的用户数量;

步骤S130:基于所述热度,针对所述直播,获得第一检测结果,所述第一检测结果指示是否为所述直播用户构建直播对等网络;以及

步骤S140:响应于所述第一检测结果指示为所述直播用户构建直播对等网络,构建直播对等网络。

其中,构建直播对等网络之后,使得所述第一用户集合的第一用户能够从第二用户获得至少部分所述当前流媒体内容,所述第一用户区别于所述第二用户。

通过在直播用户开启直播时检测是否为直播用户构建直播对等网络,避免了直播用户的直播过程中,因观看直播的用户从服务端拉取直播的流媒体内容的用户过多而造成服务端的带宽压力,甚至造成用户在观看直播过程中的延迟。同时,在直播开启之前基于预测的热度,判断是否为直播用户构建直播对等网络,可以避免随意为直播用户构建直播对等网络导致计算资源的浪费。

在相关技术中,往往在直播用户的直播开始之后,通过实时检测观看直播的用户的数量,判断是否为直播用户构建直播对等网络。例如,当检测到观看直播的用户的数量超过阈值,则为直播用户构建直播对等网络。由于构建的直播对等网络仅仅适用于在构建完直播对等网络之后观看直播的用户之间分享流媒体内容,而在构建直播对等网络之前的用户仍然通过拉取服务器的流媒体内容观看直播,使得在构建直播对等网络之前的用户造成的服务端的带宽压力无法缓解,仍可能造成用户观看直播过程中的延迟。而若在直播开始前为直播用户构建直播对等网络,由于构建直播对等网络往往需要很大的计算量,当构建了直播对等网络的直播用户开启直播后,往往可能因为观看直播的用户较少,使得该直播的流媒体内容在观看直播的用户之间分享率不高或者不被分享,也造成计算资源的浪费。

在根据本公开的实施例中,通过在直播用户开启直播时,获得是否为直播用户构建直播对等网络的第一检测结果,当获得第一检测结果指示可以为直播用户构建直播对等网络时,构建直播对等网络,避免在直播开启一段时间之后才构建直播对等网络,使已经在观看直播的用户只能从服务端拉取直播的流媒体内容而无法使用直播对等网络从其他用户那里拉取直播流,进而可以避免因为从服务端拉取直播的流媒体内容的用户过多而造成服务端的带宽压力,甚至造成用户在观看直播过程中的延迟。同时,由于在获得是否为直播用户构建直播对等网络的第一检测结果的过程中,基于所预测的热度,该热度能够指示观看直播的第一用户集合中的用户数量,使得获得第一检测结果的过程考虑了观看直播的用户的数量,可以避免在观看直播的用户的数量较少的情况下为直播用户构建直播对等网络,导致该直播的流媒体内容在观看直播的用户之间分享率不高或者不被分享,从而可以避免随意为直播用户构建直播对等网络而导致计算资源的浪费。

根据本公开的一些实施例,直播用户为推送直播流的客户端,客户端例如可以是手机、平板电脑等直播设备。在一些实施例中,直播流例如可以包括视频流、音频流中的至少一种的流媒体内容,在此并不限定。

根据本公开的一些实施例,直播用户的直播为推送流媒体内容的过程,是一段时间内持续的推流的过程。

在一些实施例中,直播开启请求指示直播用户开始推流,其可以是直播用户发送的数据、指令。在一些实施例中,通过接收到由直播用户推送的流媒体内容,接收直播用户的直播开启请求。例如,服务端在接收到直播用户推送的流媒体内容的第一个分片时,将该第一分片作为直播用户的直播开启请求,此时,响应于该第一分片执行预测直播的热度。

在一些实施例中,第一用户集合中的用户为拉取流媒体内容并对流媒体内容进行播放的客户端,客户端播放流媒体内容的过程即使用用户观看直播的过程。例如,客户端可以是手机、平板电脑等播放设备,在此并不限定。在一些实施例中,如图2所示,所述预测所述直播的热度包括:

步骤S210:获得所述直播用户对应的第二用户集合中的用户数量,所述第二用户集合中的每一个用户对所述直播用户的地址进行标记,并且基于所述地址,该用户能够拉取所述直播用户推送的流媒体内容;以及

步骤S220:至少基于所述第二用户集合中的用户数量,获得所述热度。

在预测直播用户的直播的热度的过程中,通过获得标记直播用户的地址的用户的数量,获得热度,由于标记直播用户的地址的用户是对该直播用户感兴趣的用户,基于该用户的数量,获得直播的热度,使获得的热度准确。

在一些实施例中,通过直播用户的主页获得第二用户集合中的用户的数量,例如,通过获得直播用户的主页的“粉丝数”、“关注度”等,获得第二用户集合中的用户的数量。

在一些实施例中,预测所述直播的热度包括:

获得所述直播用户在第一历史时间段内推送的第一历史流媒体内容;以及

获取第三用户集合,所述第三用户集合中的各个用户在所述第一历史时间段内的相同的时间点拉取所述第一历史流媒体内容,

其中,所述至少基于所述第二用户集合中的用户数量,获得所述热度包括:

基于所述第二用户集合中的用户数量和所述第三用户集合中的用户数量,获得所述热度。

在获取热度的过程中,一方面基于直播用户对应的第二用户集合的数量获得热度,另一方面基于直播用户在第一历史时间段内推送的第一历史流媒体内容对应的第三用户集合获得热度,使得所预测的热度不仅仅基于对该直播用户感兴趣的用户的数量获得,还基于直播用户在第一历史时间段内进行直播时,在相同时间点拉取直播用户在直播过程中推送的第一流媒体内容的第三用户集合获得,从而使预测的热度考虑了直播用户在推送第一历史流媒体内容时实际拉取了第一历史流媒体内容的用户的影响,能够指示在推送当前流媒体内容的过程中拉取该当前流媒体内容的用户数量,进而使所预测的热度准确性高。

在一些实施例中,获取直播用户的直播开启请求相应的时间点,并获得紧邻该时间点并且该直播用户推送了历史流媒体内容的第一历史时间段,将在该第一历史时间段内被推送的历史流媒体内容确定为第一历史流媒体内容。

在一些实施例中,如图3所示,所述获得所述直播用户在第一历史时间段内推送的第一历史流媒体内容包括:

步骤S310:获取所述直播用户在预设历史时间段内推送的多个历史流媒体内容,其中,针对所述多个历史流媒体内容中的每一个流媒体内容,该历史流媒体内容在所述预设时间段内的相应时间分段内被推送并且对应有与所述相应时间分段内的多个时间点相应的多个历史用户集合,该多个历史用户集合中的每一个历史用户集合在该多个时间点的相应时间点拉取该流媒体内容;以及

步骤S320:从所述多个历史流媒体内容中,确定所述第一历史流媒体内容。

通过获取直播用户在预设历史时间段内推送的多个历史流媒体内容,并从多个历史流媒体内容中确定第一历史流媒体内容,使预测直播的热度考虑了直播用户在推送多个历史流媒体的过程中实际拉取该多个历史流媒体的人数的影响,即考虑了多次直播过程中,实际拉取直播过程中推送的流媒体内容的人数,进一步提升所预测的直播的热度准确性。

在一些实施例中,预设历史时间段可以是在直播用户的直播开启请求之前的一段时间,例如,七年。

在一些实施例中,通过统计在直播用户每一次直播的过程中,统计各个时间点(例如每隔一秒)拉取该次直播过程中直播用户推送的历史流媒体内容的用户的数量,获得该历史流媒体内容与相应的被推送的时间段内的多个时间点相应的多个历史用户集合。

在一些实施例中,将多个历史流媒体内容中,对应的多个用户集合的多个用户数量的总和最大的历史流媒体内容确定为第一历史流媒体内容。

在一些实施例中,如图4所示,确定从所述多个历史流媒体内容中,所述第一历史流媒体内容包括:

步骤S410:针对所述多个历史流媒体内容的每一个历史流媒体内容,获取该历史流媒体内容对应的多个历史用户集合中的用户数量最大的最大历史用户集合;以及

步骤S420:确定所述第一历史流媒体内容,其中,所述第一历史流媒体内容对应的最大历史用户集合的用户数量大于所述多个历史流媒体内容中的第三历史流媒体内容对应的最大历史用户集合,所述第一历史流媒体内容区别于所述第三历史流媒体内容。

将在预设时间段内的多个历史流媒体内容对应的多个最大历史用户集合中,用户数量最大的最大历史用户集合所对应的历史流媒体内容确定为第一历史流媒体内容,使得据以获得热度的第一历史流媒体内容是在预设时间段内的在相同的时间点拉取其的用户最多的历史流媒体内容。即,在预测直播的热度的过程中,通过获取该直播用户在历史上多次直播过程中,在相同时间点观看的用户的数量最大的一次直播,并基于观看的用户的数量最大的一次直播的历史流媒体内容对应的第三用户集合获得热度,使得获得的热度是考虑了多次直播过程中,同时观看的用户的数量最大的一次直播的情况,进一步提升所预测的热度的准确性。

在一些实施例中,如图5所示,所述获取第三用户集合包括:

步骤S510:获得所述第二流媒体内容对应的与所述第一历史时间段内的多个时间相应的多个历史用户集合,所述多个历史用户集合中的每一个历史用户集合在所述多个时间点的相应时间点拉取所述第一历史流媒体内容;以及

步骤S520:从所述第一流媒体内容对应的多个历史用户集合中,确定所述第三用户集合,所述第三用户集合是所述第一流媒体内容对应的多个历史用户集合中的用户数量最大的历史用户集合。

将第一历史流媒体内容在多个时间点对应的多个历史用户集合中的用户数量最大的历史用户集合,确定第三用户集合;使基于其预测热度的历史用户集合是在相同时间点拉取第二流媒体内容的用户数量最大的用户集合,进一步提升所预测热度准确性。

在一些实施例中,基于所述第二用户集合中的用户数量和所述第三用户集合中的用户数量,获得所述热度包括:基于述第二用户集合中的用户数量和所述第三用户集合中的用户数量的加和,预测热度。

在一些实施例中,基于下列公式,计算热度:

R=N1×n+N2×(1-n);

其中,R为所述热度,N1为第二用户集合中的用户数量,所述N2为第三用户集合的用户数量,所述n为比例因子并且相应取值范围为0-1。

在一些实施例中,基于所述热度,针对所述直播,获得所述第一检测结果包括:响应于确定热度小于预设热度阈值时,获得第一检测结果,该第一检测结果指示不为直播用户构建直播对等网络,以避免构建直播对等网络过程中的计算资源的浪费。

在一些实施例中,基于所述热度,针对所述直播,获得所述第一检测结果包括:响应于确定热度不小于预设热度阈值时,获得第一检测结果,该第一检测结果指示为直播用户构建直播对等网络。

在一些实施例中,基于所述热度,针对所述直播,获得所述第一检测结果包括:响应于确定所述热度不小于热度阈值,并且确定所述直播用户对应有分享率,基于所述分享率,获得所述第一检测结果,其中,

所述分享率与所述主播用户在第二历史时间段内推送的第三历史流媒体内容对应,所述第三历史流媒体内容对应有第一历史用户集合,所述第一历史用户集合中的每一个用户在所述第二历史时间段内的相同的时间点拉取所述第一历史流媒体内容,所述分享率指示所述第一历史集合的第一子集中的用户数量,所述第一子集中的每一个用户从所述第一历史用户集合中区别于该用户的另一用户拉取所述第三历史流媒体内容的至少部分。

根据本公开的实施例中,由于在获得指示是否为直播用户构建直播对等网络的第一检测结果的过程中,参考了直播用户的分享率,获得指示是否为直播用户构建直播对等网络的第一检测结果。由于分享率指示拉取第三历史流媒体内容的第一历史用户集合的第一子集中的用户数量,并且第一子集中的每一个用户从第一历史用户集合中的另一用户拉取该第三历史流媒体内容的至少部分,即在推送第三历史流媒体内容的过程中为该直播用户构建了直播对等网络,并且基于所构建的直播对等网络,第三历史流媒体内容在拉取其的用户之间得到分享,所构建的直播对等网络被拉取该第三历史流媒体内容的用户利用。因此,该第三历史流媒体内容对应的分享率,指示在该直播用户直播过程中,为其构建直播对等网络时,直播对等网络的使用效率。在获得第一检测结果的过程中,除了基于热度以外,还基于分享率获得,使得获得的第一检测结果考虑了在直播用户推送第三历史流媒体内容的过程中,直播对等网络被构建之后,该直播对等网络的使用效率,在直播对等网络使用效率高的情况下为直播用户构建直播对等网络,可以减少耗费计算资源所构建的直播对等网络未被有效利用的几率,进一步避免浪费计算资源。

在一些实施例中,第三历史流媒体内容是从直播用户在多个历史时间段推送的多个历史流媒体内容中确定的,其中,在多个历史流媒体内容中的每一个历史流媒体内容被推送的过程中,为该直播用户构建了直播对等网络,使得多个历史流媒体内容中的每一个历史流媒体内容在被推动的过程中,对应的历史用户集合中存在相应子集,该相应子集中的每一个用户从对应的历史用户集合中的另一用户处拉取该历史流媒体内容。

在一些实施例中,通过多个历史流媒体内容中的每一个历史流媒体内容对应的历史用户集合和相应子集,获得多个历史流媒体内容中的每一个历史流媒体内容对应的分享率;并且,将多个历史流媒体内容中对应的分享率最大的历史流媒体内容确定为第三历史流媒体内容,并且将第三历史流媒体内容对应的分享率确定为该主播用户对应的分享率。

在一些实施例中,第一历史用户集合是第三历史流媒体内容被推动的过程中,服务器统计获得的,其中,当第一历史用户集合中的第三用户从另一用户处拉取第四历史媒体内容时,将该第三用户添加至第一历史用户集合中的第一子集。

在一些实施例中,分享率为第一子集中的用户数量。

在一些实施例中,分享率为第一子集中的用户数量与第一历史用户集合中的用户数量的比值。

在一些实施例中,响应于所述分享率不小于分享率阈值,获得所述第一检测结果,所述检测结果指示为所述直播用户构建直播对等网络。

在一些实施例中,响应于第一检测结果指示为所述直播用户构建直播对等网络,构建直播对等网络,其中,所述构建直播对等网路包括:

获取所述第二用户的地址;以及

将所述第二用户的地址下发给所述第一用户,以使所述第一用户基于所述第二用户的地址拉取至少部分所述直播的当前流媒体内容,其中,所述第一用户和第二用户之间的通信网络为直播对等网络。

通过获取观看直播的第一用户集合中的第二用户的地址,并在第一用户拉取该直播的流媒体内容时,将该第二用户的地址发送给第一用户,当第一用户基于该第二用户的地址进行访问,并拉取到至少部分当前流媒体内容,在第一用户与第二用户之间建立起网络通信,该第一用户和第二用户之间的通信网络为直播对等网络,由于第一用户从第二用户处直接拉取流媒体内容,而非从服务端拉取直播的流媒体内容,可以减少服务端的带宽压力,减少用户在观看直播过程中的延迟。

在一些实施例中,所述第二用户的地址为利用所述第二用户的公网地址进过端口映射后获得地址。

在一些实施例中,如图6所示,根据本公开的构建直播对等网络的方法还包括:

步骤S610:响应于所述第一检测结果指示不为所述直播用户构建直播对等网络,在与所述当前流媒体内容被推送的第一时间段内的第一时间点获得所述当前流媒体内容对应的第四用户集合中的用户数量,其中,所述第四用户集合中的每一个用户在所述第一时间点拉取所述当前流媒体内容;以及

步骤S620:基于所述第四用户集合中的用户数量,获得第二检测结果,所述第二检测结果指示是否构建直播对等网络。

在直播开启之后,在推送该直播对应的当前流媒体内容的过程中,对拉取当前流媒体内容的用户进行检测,获得相同时间点拉取该当前流媒体内容的第四用户集合,基于第四用户集合进一步获得指示是否构建直播对等网络的第二检测结果,从而可以在直播过程中,为直播用户构建直播对等网络,避免因从服务端拉取当前流媒体内容的用户过多而造成服务端的带宽压力,甚至造成用户在观看直播过程中的延迟。

在一些实施例中,在直播用户推动当前流媒体内容的第一时间段内,从直播用户开启直播开始,每隔预设的时间,在相应的时间点并执行一次获得在相同的时间点拉取该当前流媒体的第四用户集合。例如,当直播用户从12:00开始,在未来1h内推送当前流媒体内容,则从12:00开始,每隔1min,执行一次获得拉取该当前流媒体的第四用户集合,即在12:01、12:02、12:03……,等时间点分别执行一次获得拉取该当前流媒体的第四用户集合。

在一些实施例中,响应于接收到拉取当前流媒体内容的用户的拉取指令,将该用户添加到第四用户集合。

在一些实施例中,响应于确定所述第四用户集合中的用户数量不小于数量阈值,确定第二检测结果,所述第二检测结果指示构建直播对等网络。

在一些实施例中,如图7所示,基于所述第四用户集合中的用户数量,获得第二检测结果包括:

步骤S710:响应于确定所述第四用户集合中的用户数量不小于数量阈值,获得所述第四用户集合中的每一个用户的位置;以及

步骤S720:基于所述第四用户集合中的每一个用户的位置,获得所述第二检测结果。

在确定第四用户集合中的用户数量不小于数量阈值之后,进一步基于第四用户集合中的每一个用户的位置获得第二检测结果,使所获得的第二检测结果是是考虑了观看直播用户的用户的位置获得的,使获得的第二检测结果准确,保证构建直播对等网络后,使得从其他拉取当前流媒体内容的用户拉取当前流媒体内容的用户尽可能多,避免直播对等网络无效开启,进一步减少计算资源的浪费。

在一些实施例中,通过获得第四用户集合中每一个用户的IP地址,获得用户的位置。在一个示例中,通过解析IP地址的归属地,获得用户所在的省份和城市。在另一个示例中,通过获得IP地址中的经纬度信息,获得用户的位置。

在一些实施例中,如图8所示,基于所述第四用户集合中的每一个用户的位置,获得所述第二检测结果包括:

步骤S810:获得在多个预设区域内的每一个预设区域内的用户分布密度,其中,所述多个预设区域内的每一个预设区域内的用户分布密度为所述第四用户集合中位于该预设区域内的用户数量和所述第四用户集合的用户数量的比值;以及

步骤S820:响应于确定所述多个预设区域内的第一预设区域内的用户分布密度不小于区域分布密度阈值,确定所述第二检测结果,所述第二检测结果指示构建直播对等网络。

当预设区域内的用户分布密度不小于区域分布密度阈值时,确定第二检测结果为指示构建直播对等网络,保证构建直播对等网络后,使得从其他拉取当前流媒体内容的用户拉取当前流媒体内容的用户尽可能多,避免直播对等网络无效开启,进一步减少计算资源的浪费。

在一些实施例中,多个预设区域为多个省份,例如,第一预设区域为江苏省。

在一些实施例中,如图9所示,基于所述第四用户集合中的每一个用户的位置,获得所述第二检测结果还包括:

步骤S910:响应于确定所述多个预设区域内的第二预设区域内的用户分布密度小于区域分布密度阈值,获得所述第二预设区域内的多个预设子区域中的每一个预设子区域的用户分布密度,所述多个预设子区域中的每一个预设子区域的用户分布密度为该预设子区域内的用户数量和所述第五用户集合的用户数量的比值;以及

步骤S920:响应于确定所述多个预设子区域中的第一预设子区域的用户分布密度不小于子区域分布密度阈值,确定所述第二检测结果,所述第二检测结果指示构建直播对等网络。

当多个预设区域内的第二预设区域内预设区域内的用户分布密度小于区域分布密度阈值时,进一步确定第二预设区域内的多个预设子区域中的每一个预设子区域的用户分布密度,当第二预设区域内的多个预设子区域中的第一预设子区域的用户分布密度不小于子区域分布密度阈值时,确定第二检测结果为指示构建直播对等网络,避免当子区内的用户分布密度过大,而没有构建直播对等网络,导致子区内的从服务端拉取当前流媒体内容的用户过多而造成服务端的带宽压力,甚至造成用户在观看直播过程中的延迟。

在一些实施例中,第二预设区域为省份,第二预设区域内的多个预设子区域为该省份内的城市。例如,第二预设区域为江苏省,第二预设区域内的第一预设子区域为江苏省内的南京市。

根据本公开的另一方面,还提供构建直播对等网络的装置,参看图10,装置1000包括:

接收单元1010,被配置用于接收直播用户的直播开启请求

热度预测单元1020,被配置用于响应于所述直播开启请求,预测所述直播的热度,所述热度能够指示观看所述直播的第一用户集合中的用户数量;

检测单元1030,被配置用于基于所述热度,针对所述直播,获得第一检测结果,所述第一检测结果指示是否为所述直播用户构建直播对等网络;以及

构建单元1040,被配置用于响应于所述第一检测结果指示为所述直播用户构建直播对等网络,构建直播对等网络,以使所述第一用户集合的第一用户能够从第二用户拉取至少部分所述直播的当前流媒体内容,所述第一用户区别于所述第二用户。

根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据上述的方法。

根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据上述的方法。

根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据上述的方法。

参见图11,现将描述可以作为本公开的服务器或客户端的电子设备1100的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备可以是不同类型的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图11所示,电子设备1100可以包括能够通过系统总线1130彼此通信的至少一个处理器1110、工作存储器1120、输入单元1140、显示单元1150、扬声器1160、存储单元1170、通信单元1180以及其它输出单元1190。

处理器1110可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器1110可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。处理器1110可以被配置成获取并且执行存储在工作存储器1120、存储单元1170或者其他计算机可读介质中的计算机可读指令,诸如操作系统1120a的程序代码、应用程序1120b的程序代码等。

工作存储器1120和存储单元1170是用于存储指令的计算机可读存储介质的示例,指令由处理器1110执行来实施前面所描述的各种功能。工作存储器1120可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,存储单元1170可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器1120和存储单元1170在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器1110作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。

输入单元1140可以是能向电子设备1100输入信息的任何类型的设备,输入单元1140可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示单元1150、扬声器1160以及其它输出单元1190,其它输出单元1190可以但不限于包括视频/音频输出终端、振动器和/或打印机。通信单元1180允许电子设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。

工作寄存器1120中的应用程序1120b可以被加载执行上文所描述的各个方法和处理,例如图1中的步骤S110-步骤S130。例如,在一些实施例中,构建直播对等网络的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1170。在一些实施例中,计算机程序的部分或者全部可以经由存储单元1170和/或通信单元1180而被载入和/或安装到电子设备1100上。当计算机程序被加载并由处理器1110执行时,可以执行上文描述的构建直播对等网络的方法的一个或多个步骤。备选地,在其他实施例中,处理器1110可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行构建直播对等网络的方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

相关技术
  • 构建直播对等网路的方法及装置、电子设备和存储介质
  • 对等网络直播系统中根节点的调整方法、装置及存储介质
技术分类

06120114715435