基于边缘计算的直播数据混流方法和装置与流程

文档序号:21844937发布日期:2020-08-14 16:57阅读:372来源:国知局
基于边缘计算的直播数据混流方法和装置与流程

本发明涉及数据传输技术领域,尤其是涉及一种基于边缘计算的直播数据混流方法和装置。



背景技术:

随着互联网的快速发展,不同网络运营商之间的竞争也愈演愈烈,因此,保持不同网络运营商用户之间数据传输的快速、稳定成为一个亟待解决的问题。目前,通常采用三线互联网数据中心(internetdatacenter,idc)服务器作为中心计算节点,实现运营商(如电信、连通、移动)之间的互通。

在直播领域,通常由中心服务器实现音视频的合成计算以及转发任务,从而实现不同运营商网络的用户和主播之间的互通。此时中心服务器需要负载全部的混流任务,音视频的合成计算会给中心服务器带来巨大的计算压力。



技术实现要素:

本发明的目的在于提供一种基于边缘计算的直播数据混流方法和装置,以缓解现有技术中存在的中心服务器计算压力大的技术问题。

第一方面,实施例提供一种基于边缘计算的直播数据混流方法,方法包括:第一边缘服务器获取第一客户端的数据,并将第一客户端的数据发送至中心服务器,中心服务器为多线服务器;第一边缘服务器接收中心服务器发送的第二客户端的数据,第二客户端的数据由第二边缘服务器发送至中心服务器;第一边缘服务器将第一客户端的数据与第二客户端的数据进行混流计算,生成第一房间数据;第一边缘服务器发送第一房间数据至第一客户端和中心服务器。

在可选的实施方式中,第一边缘服务器包括第一单线混流服务器和第一单线接入服务器,第一单线混流服务器用于将数据进行混流计算,第一单线接入服务器用于接入第一客户端;第二边缘服务器包括第二单线接入服务器,第二单线接入服务器用于接入第二客户端。

在可选的实施方式中,第二客户端包括至少一个客户端,第二边缘服务器包括至少一个边缘服务器。

在可选的实施方式中,客户端的数据包括直播视频数据和直播音频数据;混流计算包括:基于时间序列将第一客户端的直播音频数据与第二客户端的直播音频数据混合;基于时间序列将第一客户端的直播视频数据与第二客户端的直播视频数据合成。

在可选的实施方式中,该方法还包括:第二边缘服务器获取第二客户端的数据,并将第二客户端的数据发送至中心服务器;第二边缘服务器接收中心服务器发送的第一房间数据,第一房间数据由第一边缘服务器发送至中心服务器;第二边缘服务器发送第一房间数据至第二客户端。

在可选的实施方式中,该方法还包括:第一边缘服务器发送第一房间数据至与第一边缘服务器连接的内容分发网络。

第二方面,实施例提供一种基于边缘计算的直播数据混流装置,该装置包括:第一转发装置,用于获取第一客户端的数据,并将第一客户端的数据发送至中心服务器,中心服务器为多线服务器;第一接收装置,用于接收中心服务器发送的第二客户端的数据,第二客户端的数据由第二边缘服务器发送至中心服务器;混流装置,用于将第一客户端的数据与第二客户端的数据进行混流计算,生成第一房间数据;第一发送装置,用于发送第一房间数据至第一客户端和中心服务器。

在可选的实施方式中,该装置还包括:第二转发装置,用于获取第二客户端的数据,并将第二客户端的数据发送至中心服务器;第二接收装置,用于接收中心服务器发送的第一房间数据,第一房间数据由第一边缘服务器发送至中心服务器;第二发送装置,用于发送第一房间数据至第二客户端。

第三方面,实施例提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法的步骤。

第四方面,实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述前述实施方式任一项所述的方法。

本发明实施例带来了以下有益效果:

本发明实施例提供了一种基于边缘计算的直播数据混流方法和装置,该方法通过第一边缘服务器获取第一客户端的数据,并将第一客户端的数据发送至支持多线的中心服务器,第一边缘服务器接收中心服务器发送的第二客户端的数据,并将第一客户端的数据与第二客户端的数据进行混流计算,生成第一房间数据,最后将第一房间数据发送至第一客户端和中心服务器,缓解了中心服务器计算压力大的技术问题,提升了直播场景中系统和数据传输的稳定性。

附图说明

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

图1为本发明实施例提供的一种基于边缘计算的直播数据混流方法流程示意图;

图2为本发明实施例提供的另一种基于边缘计算的直播数据混流方法流程示意图;

图3为本发明实施例提供的一种基于边缘计算的直播数据混流系统结构示意图;

图4为本发明实施例提供的另一种基于边缘计算的直播数据混流系统结构示意图;

图5为本发明实施例提供的一种基于边缘计算的直播数据混流装置结构示意图;

图6为本发明实施例提供的一种电子设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

随着互联网的快速发展,不同网络运营商之间的竞争也愈演愈烈,因此,保持不同网络运营商用户之间数据传输的快速、稳定成为一个亟待解决的问题。目前,通常采用三线互联网数据中心(internetdatacenter,idc)服务器作为中心计算节点,实现运营商(如电信、连通、移动)之间的互通。在直播领域,通常由中心服务器实现音视频的合成计算以及转发任务,从而实现不同运营商网络的用户和主播之间的互通。此时中心服务器需要负载全部的混流任务,音视频的合成计算会给中心服务器带来巨大的计算压力,导致业务风险较高,系统及数据传输稳定性低。

基于此,本发明实施例提供了一种基于边缘计算的直播数据混流方法、装置和电子设备,以缓解现有技术中存在的中心服务器计算压力大的技术问题。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于边缘计算的直播数据混流方法进行详细介绍,参见图1所示的一种基于边缘计算的直播数据混流方法的流程示意图,该方法应用于第一边缘服务器,主要包括以下步骤s110至s140:

s110,获取第一客户端的数据,并将第一客户端的数据发送至中心服务器。

其中,中心服务器为多线服务器,可以用于接收来自多个运营商网络的数据,例如,移动、联通、电信等,并将这些数据进行转发。

在一些实施方式中,第一边缘服务器包括第一单线混流服务器和第一单线接入服务器,第一单线混流服务器用于将数据进行混流计算,第一单线接入服务器用于接入第一客户端。

其中,第一边缘服务器一般是指单线服务器,单线服务器一般只能接收来自一个网络运营商的数据。例如,第一边缘服务器只能接收来自移动网络的数据,第一边缘服务器包括第一单线混流服务器和第一单线接入服务器,第一单线接入服务器可以用于将使用移动网络的第一客户端接入中心服务器,并传输该第一客户端的数据至第一单线混流服务器;第一单线混流服务器可以用于将第一单线接入服务器传输的第一客户端的数据与中心服务器传输的第二客户端的数据进行混流计算。

需要说明的是,第一单线混流服务器和第一单线接入服务器一般设置在同一个边缘服务器上,可以视为第一边缘服务器的两种功能模块,每一个边缘服务器可以是一台物理机。

s120,接收中心服务器发送的第二客户端的数据。

其中,第二客户端的数据由第二边缘服务器发送至中心服务器。需要说明的是,第二客户端不局限于一个具体的客户端,而是指一类客户端,在一些实施方式中,第二客户端包括至少一个客户端。

在一些实施方式中,第二边缘服务器包括第二单线接入服务器,第二单线接入服务器用于接入第二客户端。

其中,第二边缘服务器一般是指单线服务器,单线服务器一般只能接收来自一个网络运营商的数据。例如,第二边缘服务器只能接收来自联通网络的数据,第二边缘服务器包括第二单线接入服务器,第二单线接入服务器可以用于将使用联通网络的第二客户端接入中心服务器,并通过中心服务器传输该第二客户端的数据至第一单线混频服务器。

在一些实施方式中,第二边缘服务器包括至少一个边缘服务器,第二单线接入服务器包括至少一个单线接入服务器。

当第二客户端包括多个使用同一网络运营商数据的客户端时,第二边缘服务器可以为一个边缘服务器,由一个单线接入服务器将多个客户端的数据接入中心服务器,并通过中心服务器传输该多个客户端的数据至第一单线混频服务器。

当第二客户端包括多个使用不同网络运营商数据的客户端时,第二边缘服务器可以为多个边缘服务器,每个边缘服务器包括一个单线接入服务器,每个单线接入服务器对应不同客户端,并将不同客户端的数据接入中心服务器,通过中心服务器传输该多个客户端的数据至第一单线混频服务器。

需要说明的是,第二边缘服务器也可以包括第二单线混流服务器,与第二单线接入服务器设置在同一个边缘服务器上,但一般在第一单线混流服务器进行混流计算时,第二单线混流服务器不进行二次混流计算。

s130,将第一客户端的数据与第二客户端的数据进行混流计算,生成第一房间数据。

在一些实施方式中,客户端的数据包括直播视频数据和直播音频数据;混流计算包括:基于时间序列将第一客户端的直播音频数据与第二客户端的直播音频数据混合;基于时间序列将第一客户端的直播视频数据与第二客户端的直播视频数据合成。

其中,来自不同运营商网络或者同一运营商网络的多个客户端的数据,在第一边缘服务器中的第一单线混流服务器中进行混流计算,生成第一房间数据,即,第一客户端与第二客户端的数据有且仅有一次混流计算。

第一房间数据可以是两个主播同时直播的画面,例如,当第一客户端的主播与第二客户端的主播进行连麦直播时(第二客户端包括一个客户端),第一边缘服务器中的第一单线混流服务器将第一客户端数据与第二客户端数据进行混流计算,生成第一房间的数据,第一房间包括第一客户端主播和第二客户端主播的数据,在客户端同时显示两个主播直播的画面。

第一房间数据可以是多个主播同时直播的画面,例如,当第一客户端的主播与第二客户端的主播进行连麦直播时(第二客户端包括多个客户端),第一边缘服务器中的第一单线混流服务器将第一客户端数据与第二客户端数据进行混流计算,生成第一房间的数据,第一房间包括第一客户端主播和第二客户端主播的数据,在客户端同时显示多个主播直播的画面。

s140,发送第一房间数据至第一客户端和中心服务器。

在一些实施方式中,该方法还包括步骤(1):

步骤(1):第一边缘服务器发送第一房间数据至与第一边缘服务器连接的内容分发网络。

其中,与第一边缘服务器连接的内容分发网络可以是构建在现有网络基础之上的cdn网络(contentdeliverynetwork),cdn网络可以依靠部署在各地的边缘服务器,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,通过cdn网络可以将第一房间数据发送给用户。

在一些实施方式中,该方法还应用于第二边缘服务器,包括图2所示的以下步骤s210至s230:

s210,第二边缘服务器获取第二客户端的数据,并将第二客户端的数据发送至中心服务器;

s220,第二边缘服务器接收中心服务器发送的第一房间数据,第一房间数据由第一边缘服务器发送至中心服务器;

s230,第二边缘服务器发送第一房间数据至第二客户端。

其中,第二边缘服务器一般是指单线服务器,只能接收来自一个网络运营商的数据。需要说明的是,第二边缘服务器也可以包括第二单线混流服务器,与第二单线接入服务器设置在同一个边缘服务器上,但一般在第一单线混流服务器进行混流计算时,第二单线混流服务器不进行二次混流计算。

本发明实施例提供的基于边缘计算的直播数据混流方法,通过第一边缘服务器获取第一客户端的数据,并将第一客户端的数据发送至支持多线的中心服务器,第一边缘服务器接收中心服务器发送的第二客户端的数据,并将第一客户端的数据与第二客户端的数据进行混流计算,生成第一房间数据,最后将第一房间数据发送至第一客户端和中心服务器,缓解了中心服务器计算压力大的技术问题,提升了直播场景中系统和数据传输的稳定性。

本发明实施例还提供了一种基于边缘计算的直播数据混流系统,参照图3,该系统包括:中心服务器、第一边缘服务器和第二边缘服务器。其中,第一边缘服务器包括第一单线混流服务器和第一单线接入服务器,第二边缘服务器包括第二单线接入服务器,中心服务器与第一边缘服务器和第二边缘服务器分别连接。

第一边缘服务器获取第一客户端的数据,并发送至中心服务器,中心服务器通过第二边缘服务器将第一客户端数据转发给第二客户端,则第二客户端可以显示第一客户端的数据;第二边缘服务器获取第二客户端的数据并发送至中心服务器,中心服务器将第二客户端数据通过第一边缘客户端转发至第一客户端,则第一客户端可以显示第二客户端的数据。

当第一客户端的主播与第二客户端的主播进行连麦直播时,第一边缘服务器中的第一单线混流服务器将第一客户端数据与第二客户端数据进行混流计算,生成第一房间的数据,第一房间包括第一客户端主播和第二客户端主播的数据;第一边缘服务器将第一房间的数据发送至第一客户端和中心服务器,以及与第一边缘服务器连接的内容分发网络。中心服务器可以通过第二边缘服务器将第一房间的数据发送至第二客户端,用户则可以通过内容分发网络获取第一房间的数据,观看直播连麦。

另外,第二客户端可以包括多个客户端,当第二客户端包括多个使用同一网络运营商数据的客户端时,第二边缘服务器可以为一个边缘服务器。

例如图4的(a)部分所示,第二客户端包括两个客户端:第二客户端c1和第二客户端c2。当第一客户端c0的主播与第二客户端c1和第二客户端c2的主播进行连麦直播时,第一边缘服务器中的第一单线混流服务器将第一客户端c0数据与第二客户端c1和c2的数据进行混流计算,生成第一房间的数据,第一房间包括第一客户端主播和两个第二客户端主播的数据;第一边缘服务器将第一房间的数据发送至第一客户端和中心服务器,以及与第一边缘服务器连接的内容分发网络。中心服务器可以通过第二边缘服务器将第一房间的数据发送至第二客户端c1和c2,用户则可以通过内容分发网络获取第一房间的数据,观看直播连麦。

当第二客户端包括多个使用不同网络运营商数据的客户端时,第二边缘服务器可以包括多个边缘服务器,每个边缘服务器包括一个单线接入服务器。

例如图4的(b)部分所示,第二客户端包括两个客户端:第二客户端c1和第二客户端c2,第二边缘服务器包括两个服务器:第二边缘服务器s1和第二边缘服务器s2,每个边缘服务器包括一个单线接入服务器。

当第一客户端c0的主播与第二客户端c1和第二客户端c2的主播进行连麦直播时,第一边缘服务器中的第一单线混流服务器将第一客户端c0数据与第二客户端c1和c2的数据进行混流计算,生成第一房间的数据,第一房间包括第一客户端主播和两个第二客户端主播的数据;第一边缘服务器将第一房间的数据发送至第一客户端和中心服务器,以及与第一边缘服务器连接的内容分发网络。中心服务器可以分别通过第二边缘服务器s1和s2将第一房间的数据发送至第二客户端c1和c2,用户则可以通过内容分发网络获取第一房间的数据,观看直播连麦。

本发明实施例还提供了一种基于边缘计算的直播数据混流装置,参照图5,该装置包括:

第一转发装置410,用于获取第一客户端的数据,并将第一客户端的数据发送至中心服务器,中心服务器为多线服务器。

第一接收装置420,用于接收中心服务器发送的第二客户端的数据,第二客户端的数据由第二边缘服务器发送至中心服务器。

混流装置430,用于将第一客户端的数据与第二客户端的数据进行混流计算,生成第一房间数据。

第一发送装置440,用于发送第一房间数据至第一客户端和中心服务器。

在一些实施方式中,该装置还包括:第二转发装置,获取第二客户端的数据,并将第二客户端的数据发送至中心服务器;第二接收装置,用于接收中心服务器发送的第一房间数据,第一房间数据由第一边缘服务器发送至中心服务器;第二发送装置,用于发送第一房间数据至第二客户端。

在一些实施方式中,该装置还包括:第三发送装置,用于发送第一房间数据至与第一边缘服务器连接的内容分发网络。

本申请实施例所提供的基于边缘计算的直播数据混流装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。本申请实施例提供的基于边缘计算的直播数据混流装置与上述实施例提供的基于边缘计算的直播数据混流方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本申请实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。

图6为本申请实施例提供的一种电子设备的结构示意图,该电子设备500包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。

其中,存储器51可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线52可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。

处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。

对应于上述基于边缘计算的直播数据混流方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述基于边缘计算的直播数据混流方法的步骤。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。

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