CN113660538A - 直播推流回源方法及系统 - Google Patents

直播推流回源方法及系统 Download PDF

Info

Publication number
CN113660538A
CN113660538A CN202110920694.0A CN202110920694A CN113660538A CN 113660538 A CN113660538 A CN 113660538A CN 202110920694 A CN202110920694 A CN 202110920694A CN 113660538 A CN113660538 A CN 113660538A
Authority
CN
China
Prior art keywords
source
address
cdn
uniform resource
resource identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110920694.0A
Other languages
English (en)
Other versions
CN113660538B (zh
Inventor
孙袁袁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110920694.0A priority Critical patent/CN113660538B/zh
Publication of CN113660538A publication Critical patent/CN113660538A/zh
Application granted granted Critical
Publication of CN113660538B publication Critical patent/CN113660538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种直播推流回源方法,包括:实时采集所有边缘计算节点上的流转推状态;根据所述流转推状态使用源站或边缘计算节点的地址加密生成统一资源标识符;将每个CDN与统一资源标识符对应的回源IP地址定时同步给相应CDN;当用户请求所述流的播放地址时,将统一资源标识符加入到播放地址中返回给用户,以使所述CDN在收到用户发起的播放请求时,根据统一资源标识符和回源IP地址确定回源途径。本申请还公开了一种直播推流回源系统、电子装置和计算机可读存储介质。由此,能够使得各家CDN根据所述统一资源标识符对应的解析,去固定的回源IP地址进行拉流,并且边缘计算节点可以不将流转推给源站,避免了源站负载过高或资源浪费。

Description

直播推流回源方法及系统
技术领域
本申请涉及直播技术领域,尤其涉及一种直播推流回源方法、系统、电子装置及计算机可读存储介质。
背景技术
现有直播架构中,常常选用多家内容分发网络(Content Delivery Network,CDN)作为服务商,并且CDN既作为主播推流的服务商,又作为用户观看的服务商。主播直接推流到CDN,CDN在接收推流后,所有流均转推一份至直播源站。当对用户的播放请求进行调度的时候,参考主播推流CDN的状态分配播放地址。若分配的CDN有该流的推流信息,则直接返还给用户,否则向直播源站回源。但是,上述架构中直播源站负载较高,并且所有推流均转推源站很有可能造成资源浪费。
发明内容
本申请的主要目的在于提出一种直播推流回源方法、系统、电子装置及计算机可读存储介质,旨在解决如何在实现直播推流回源的同时减小源站的负载和节省资源的问题。
为实现上述目的,本申请实施例提供了一种直播推流回源方法,所述方法包括:
实时采集所有边缘计算节点上的流转推状态,其中当所述边缘计算节点接收到推流时,由所述边缘计算节点向源站和/或各个CDN进行转推;
根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符;
将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN;及
当用户请求所述流的播放地址时,将所述统一资源标识符加入到所述播放地址中返回给所述用户,以使所述CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径。
可选地,所述流转推状态包括是否转推给所述源站以及转推的CDN地址。
可选地,所述根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符包括:
根据所述流转推状态判断所述流是否转推到源站;
当所述流已转推到源站时,使用所述源站的地址加密生成所述统一资源标识符;
当所述流未转推到源站时,使用所述边缘计算节点的地址加密生成所述统一资源标识符。
可选地,所述根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符包括:
穷举所有的CDN并根据所述流转推状态对每个CDN分别分配对应的回源IP地址,得到原始字符串;
加密所述原始字符串,生成新的字符串,作为所述统一资源标识符。
可选地,所述根据所述流转推状态对每个CDN分别分配对应的回源IP地址包括:
当所述CDN已接收到所述流的转推时,将所述CDN自身地址作为所述CDN对应的所述回源IP地址;
当所述CDN未接收到所述流的转推且所述源站已接收到所述流的转推时,优先分配所述源站的地址作为所述CDN对应的所述回源IP地址;
当所述CDN未接收到所述流的转推且所述源站未接收到所述流的转推时,分配所述边缘计算节点的地址作为所述CDN对应的所述回源IP地址。
可选地,所述将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN包括:
将所述统一资源标识符和所述CDN对应的回源IP地址之间的映射关系添加到所述CDN的回源IP地址列表中;
定时将所述回源IP地址列表同步至对应的所述CDN中。
可选地,所述根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径包括:
所述CDN从所述回源IP地址列表中解析出所述统一资源标识符对应的回源IP地址,包括所述源站的地址、所述边缘计算节点的地址或者所述CDN自身的地址,从而确定是从所述源站或所述边缘计算节点中进行回源,或者不用回源。
此外,为实现上述目的,本申请实施例还提供一种直播推流回源系统,所述系统包括:
采集模块,用于实时采集所有边缘计算节点上的流转推状态,其中当所述边缘计算节点接收到推流时,由所述边缘计算节点向源站和/或各个CDN进行转推;
生成模块,用于根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符;
同步模块,用于将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN;
调度模块,用于当用户请求所述流的播放地址时,将所述统一资源标识符加入到所述播放地址中返回给所述用户,以使所述CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径。
为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的直播推流回源程序,所述直播推流回源程序被所述处理器执行时实现如上述的直播推流回源方法。
为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有直播推流回源程序,所述直播推流回源程序被处理器执行时实现如上述的直播推流回源方法。
本申请实施例提出的直播推流回源方法、系统、电子装置及计算机可读存储介质,改变了用户直接向CDN进行推流的模式,通过边缘计算节点转推流到各家CDN,调度装置参考各个边缘计算节点上的流转推状态在调度时生成回源IP地址对应的统一资源标识符,在向用户返回播放地址时带上所述统一资源标识符,使得各家CDN在接收到播放请求时,可以根据所述统一资源标识符对应的解析,去固定的回源IP地址进行拉流。并且,边缘计算节点可以不将流转推给源站,也能使各家CDN通过上述方式解析出所述边缘计算节点的地址进行回源,避免源站负载过高或资源浪费。
附图说明
图1为实现本申请各个实施例的一种应用环境架构图;
图2为本申请第一实施例提出的一种直播推流回源方法的流程图;
图3为图2中步骤S202的细化流程示意图;
图4为本申请第二实施例提出的一种电子装置的硬件架构示意图;
图5为本申请第三实施例提出的一种直播推流回源系统的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于调度装置2、边缘计算节点4、CDN 6、源站8的应用环境中。其中,所述边缘计算节点4和CDN 6均可以有多个。
本申请各个实施例中,主播向一个边缘计算节点4进行推流。边缘计算节点4在接收到所述推流后向各家CDN 6和源站8进行转推(可能转推到源站8也可能没有)。若源站8接收所有流的推流信息,则负载较高,而源站8一般是三线机房,费用高,承载越大,费用则越高。另外,由于部分流观看人数少,一家CDN 6完全可以承载访问量,并不需要考虑转推源站8用于备份数据,很有可能造成资源浪费。因此,本申请各个实施例中边缘计算节点4并不会对所有推流都转推到源站8。
调度装置2实时采集所有边缘计算节点4上的流转推状态,根据所述流转推状态使用所述源站8或所述边缘计算节点4的地址加密生成统一资源标识符。当用户向调度装置2请求所述流的播放地址时,调度装置2将所述统一资源标识符加入到所述播放地址中返回给用户。各家CDN 6定时向调度装置2同步统一资源标识符对应的真实回源IP地址列表。
然后用户根据所述播放地址向某个CDN 6发起播放请求。若该CDN 6已经接收到所述流的转推,则直接同意建立链接用户即可观看。若该CDN 6没有接收到所述流转推,则根据所述播放地址中的所述统一资源标识符查询对应的IP地址,确定从所述源站8或所述边缘计算节点4中进行回源。当回源后,建立链接,用户即可观看。
实施例一
如图2所示,为本申请第一实施例提出的一种直播推流回源方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。下面以调度装置2作为执行主体对该方法进行说明。
该方法包括以下步骤:
S200,实时采集所有边缘计算节点上的流转推状态。
主播(或其他用户)向一个边缘计算节点进行推流时,所述边缘计算节点在接收到所述推流后向各家CDN和源站进行转推(可能转推到源站也可能没有)。例如,假设主播推了流X到边缘计算节点A,边缘计算节点A将所述流X转推给了CDN A及源站。调度装置实时采集所有边缘计算节点上的流转推状态(是否转推给所述源站以及转推的CND地址),从而为后续分配回源IP地址提供参考。
S202,根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符。
理论上,可以将回源IP地址直接放在播放地址中,CDN获取该播放地址后,直接向对应回源IP地址进行回源即可。但是该方式直接将IP地址暴露给用户,可能面临被黑客非法攻击的危险,无法保障安全性。
本实施例通过实时监控转推状态更新统一资源标识符,且同样的统一资源标识符对应不同家的CDN的解析情况是不一样的。也就是说,对于不同的CDN,虽然获取的统一资源标识符是一样的,但是获取的对应该统一资源标识符的解析列表是不一致的。例如xxxx这个统一资源标识符,对于CDN A的解析是12.12.12.12,对于CDN B的解析是8.8.8.8。上述处理方式的好处是降低调度装置维护统一资源标识符的开销,且可以保证对于同样的流,各家CDN的播放地址只有域名不同,其他均相同,降低维护成本。
具体而言,进一步参阅图3,为上述步骤S202的细化流程示意图。可以理解,该流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。在本实施例中,所述步骤S202具体包括:
S2020,根据所述流转推状态判断所述流是否转推到源站。当所述流已转推到源站时,执行步骤S2022。当所述流未转推到源站时,执行步骤S2024。
S2022,使用所述源站的地址加密生成所述统一资源标识符。
S2024,使用所述边缘计算节点的地址加密生成所述统一资源标识符。
当源站也需要所述流时,所述边缘计算节点会将所述流转推到源站。此时调度装置在生成所述统一资源标识符(也就是向CDN提供回源地址)时,会优先分配源站的回源地址,使用所述源站的地址加密生成所述统一资源标识符。上述处理方式的原因是源站是三线机房(即支持电信、联通、移动三大运营商),拥有更好的质量和更好的网络传输链路,比单运营的边缘计算节点质量更好。若没有转推所述流到源站时,才会分配边缘计算节点的地址,使用所述边缘计算节点的地址加密生成所述统一资源标识符。
在本实施例中,要实现生成同样的所述统一资源标识符,但对于各家CDN的解析结果不同,则需要穷举所有的CDN(假设有A、B、C三个CDN服务商)列表。为了更详尽的对生成所述统一资源标识符的过程进行解释说明,以下以特定的具体实施例为例进行说明。
第一种情况:
(1)假设主播将流X推流到边缘计算节点A(IP地址为7.7.7.7),边缘计算节点A又将流X转推到CDN A和源站(IP:6.6.6.6)。
则可以根据上述流转推状态得到原始字符串=A:A+B:6.6.6.6+C:6.6.6.6。其中,A:A表示CDN A对应的回源地址等于自身,说明该CDN已经接收到流X,不需要回源;B:6.6.6.6和C:6.6.6.6说明CDN B和CDN C对应的回源地址均为6.6.6.6(优先分配源站地址进行回源)。
(2)加密所述原始字符串,生成新的字符串(假设为aaaa),作为所述统一资源标识符。
在本实施例中,所述加密可以采用MD5信息摘要算法。在其他实施例中,所述加密也可以采用其他可行的算法,在此不再赘述。
第二种情况:
(1)假设主播将流Y推流到边缘计算节点A(IP地址为7.7.7.7),边缘计算节点A又将流X转推到CDN A,但未转推到源站。
则可以根据上述流转推状态得到原始字符串=A:A+B:7.7.7.7+C:7.7.7.7。其中,A:A表示CDN A对应的回源地址等于自身,说明该CDN已经接收到流Y,不需要回源;B:7.7.7.7和C:7.7.7.7说明CDN B和CDN C对应的回源地址均为7.7.7.7(在未转推到源站时分配所述边缘计算节点A的地址)。
(2)加密所述原始字符串,生成新的字符串(假设为bbbb),作为所述统一资源标识符。
在本实施例中,所述加密可以采用MD5信息摘要算法。在其他实施例中,所述加密也可以采用其他可行的算法,在此不再赘述。
回到图2,S204,将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN。
在生成所述统一资源标识符后,调度装置针对各家CDN,将所述统一资源标识符和所述CDN对应的回源IP地址之间的映射关系添加到所述CDN的回源IP地址列表中。也就是说,每个CDN都有一个对应的回源IP地址列表,该列表中定时更新和同步该CDN与各个统一资源标识符对应的回源IP地址。各家CDN会定时向调度装置同步所述回源IP地址列表。
例如,在上一步骤的具体实例中,流X对应的统一资源标识符为aaaa。调度装置将统一资源标识符aaaa和各家CDN对应的回源IP地址之间的映射关系分别添加到各家CDN的回源IP地址列表中,即:针对CDN A,aaaa对应的回源IP地址是不允许回源(自身地址);针对CDN B,aaaa对应的回源IP地址是6.6.6.6(源站地址);针对CDN C,aaaa对应的回源IP地址也是6.6.6.6(源站地址)。也就是说,将aaaa与CDN A自身地址(不允许回源)这一映射关系添加到CDN A的回源IP地址列表中;将aaaa与源站地址6.6.6.6这一映射关系添加到CDN B的回源IP地址列表中;将aaaa与源站地址6.6.6.6这一映射关系添加到CDN C的回源IP地址列表中。流Y对应的统一资源标识符为bbbb。调度装置将统一资源标识符bbbb和各家CDN对应的回源IP地址之间的映射关系同样也分别添加到各家CDN的回源IP地址列表中,即:针对CDN A,bbbb对应的回源IP地址是不允许回源(自身地址);针对CDN B,bbbb对应的回源IP地址是7.7.7.7(边缘计算节点地址);针对CDN C,bbbb对应的回源IP地址也是7.7.7.7(边缘计算节点地址)。
值得注意的是,上述步骤中在调度装置实时采集所有边缘计算节点上的流转推状态的基础上,可以通过按照周期性触发或事件性触发的规则,对所生成的统一资源标识符进行更新。当各家CDN定时同步所述回源IP地址列表
时,也会同步到更新后的统一资源标识符对应的回源IP地址。例如,假设初始
时只有一个边缘计算节点A接收到流Z,根据此时的流转推状态可以生成统一
资源标识符Z1,并且每个CDN与该统一资源标识符Z1对应的回源IP地址会同
步给相应CDN。然后在一定时间后,边缘计算节点A将流Z转推到CDN A和源
站,则根据此时的流转推状态又可以生成统一资源标识符Z2(也就是说流Z对应的统一资源标识符更新为Z2),并且对所有CDN分别同步与统一资源标识符Z2对应的回源IP地址。
S206,当用户请求所述流的播放地址时,将所述统一资源标识符加入到所述播放地址中返回给所述用户,以使所述CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径。
当用户请求某个流的播放地址时,调度装置将该流对应的最新的所述统一资源标识符加入到所述播放地址中返回给所述用户。例如针对上述流Z,当仅有统一资源标识符Z1时,调度装置将统一资源标识符Z1加入到流Z的播放地址中返回给用户;当更新为统一资源标识符Z2时,调度装置则需要将统一资源标识符Z2加入到流Z的播放地址中返回给用户。所述用户根据所述播放地址向某个CDN发送针对该流的播放请求。
所述CDN在收到所述用户发起的播放请求时,可以从所述回源IP地址列表中解析出(所述播放地址中的)所述统一资源标识符对应的回源IP地址(可能是源站的地址、边缘计算节点的地址或者所述CDN自身的地址,也就是不允许回源),从而确定是从所述源站或所述边缘计算节点中进行回源,或者不用回源。
没有接收到所述流的CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和所述回源IP地址列表确定从所述源站或所述边缘计算节点中进行回源。当回源后,建立链接,用户即可观看。而若接收到所述用户发起的播放请求的CDN已接收到所述流的转推,则直接同意建立链接用户即可观看。
例如,假设用户向CDN A发起流X的播放请求,由于CDN A已经接收到流X的转推,故直接同意建立链接用户即可观看。若用户向CDN C发起流X的播放请求,由于CDN C没有接收到流X的转推,因此CDN C会从同步得到的回源IP地址列表中查询所述统一资源标识符对应的回源IP地址,判断到底是从源站回源,还是从边缘计算节点回源。当回源后,建立链接,用户即可观看。
本实施例提出的直播推流回源方法,改变了用户直接向CDN进行推流的模式,通过边缘计算节点转推流到各家CDN,调度装置参考各个边缘计算节点上的流转推状态在调度时生成回源IP地址对应的统一资源标识符,在向用户返回播放地址时带上所述统一资源标识符,使得各家CDN在接收到播放请求时,可以根据所述统一资源标识符对应的解析,去固定的回源IP地址进行拉流。并且,边缘计算节点可以不将流转推给源站,也能使各家CDN通过上述方式解析出所述边缘计算节点的地址进行回源,避免源站负载过高或资源浪费。
实施例二
如图4所示,为本申请第二实施例提出一种电子装置20的硬件架构示意图。本实施例中,所述电子装置20可包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23。需要指出的是,图4仅示出了具有组件21-23的电子装置20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在本实施例中,所述电子装置20可以是所述调度装置2。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置20的内部存储单元,例如该电子装置20的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置20的外部存储设备,例如该电子装置20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置20的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置20的操作系统和各类应用软件,例如直播推流回源系统60的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是CPU、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置20的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述直播推流回源系统60等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述电子装置20与其他电子设备之间建立通信连接。
实施例三
如图5所示,为本申请第三实施例提出一种直播推流回源系统60的模块示意图。所述直播推流回源系统60可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。
在本实施例中,所述直播推流回源系统60包括:
采集模块600,用于实时采集所有边缘计算节点上的流转推状态。
主播(或其他用户)向一个边缘计算节点进行推流时,所述边缘计算节点在接收到所述推流后向各家CDN和源站进行转推(可能转推到源站也可能没有)。例如,假设主播推了流X到边缘计算节点A,边缘计算节点A将所述流X转推给了CDN A及源站。采集模块600实时采集所有边缘计算节点上的流转推状态(是否转推给所述源站以及转推的CND地址),从而为后续分配回源IP地址提供参考。
生成模块602,用于根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符。
理论上,可以将回源IP地址直接放在播放地址中,CDN获取该播放地址后,直接向对应回源IP地址进行回源即可。但是该方式直接将IP地址暴露给用户,可能面临被黑客非法攻击的危险,无法保障安全性。
本实施例通过实时监控转推状态更新统一资源标识符,且同样的统一资源标识符对应不同家的CDN的解析情况是不一样的。也就是说,对于不同的CDN,虽然获取的统一资源标识符是一样的,但是获取的对应该统一资源标识符的解析列表是不一致的。例如xxxx这个统一资源标识符,对于CDN A的解析是12.12.12.12,对于CDN B的解析是8.8.8.8。上述处理方式的好处是降低调度装置维护统一资源标识符的开销,且可以保证对于同样的流,各家CDN的播放地址只有域名不同,其他均相同,降低维护成本。
所述生成模块602生成所述统一资源标识符的过程具体包括:
(1)根据所述流转推状态判断所述流是否转推到源站。
(2)当所述流已转推到源站时,使用所述源站的地址加密生成所述统一资源标识符。
(3)当所述流未转推到源站时,使用所述边缘计算节点的地址加密生成所述统一资源标识符。
当源站也需要所述流时,所述边缘计算节点会将所述流转推到源站。此时所述生成模块602在生成所述统一资源标识符(也就是向CDN提供回源地址)时,会优先分配源站的回源地址,使用所述源站的地址加密生成所述统一资源标识符。上述处理方式的原因是源站是三线机房(即支持电信、联通、移动三大运营商),拥有更好的质量和更好的网络传输链路,比单运营的边缘计算节点质量更好。若没有转推所述流到源站时,才会分配边缘计算节点的地址,使用所述边缘计算节点的地址加密生成所述统一资源标识符。
同步模块604,用于将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN。
在生成所述统一资源标识符后,同步模块604针对各家CDN,将所述统一资源标识符和所述CDN对应的回源IP地址之间的映射关系添加到所述CDN的回源IP地址列表中。也就是说,每个CDN都有一个对应的回源IP地址列表,该列表中定时更新和同步该CDN与各个统一资源标识符对应的回源IP地址。各家CDN会定时向同步模块604同步所述回源IP地址列表。
值得注意的是,上述步骤中在调度装置实时采集所有边缘计算节点上的流转推状态的基础上,可以通过按照周期性触发或事件性触发的规则,对所生成的统一资源标识符进行更新。当各家CDN定时同步所述回源IP地址列表时,也会同步到更新后的统一资源标识符对应的回源IP地址。
调度模块606,用于当用户请求所述流的播放地址时,将所述统一资源标识符加入到所述播放地址中返回给所述用户,以使所述CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和所述回源IP地址列表确定回源途径。
当用户请求某个流的播放地址时,调度装置将该流对应的最新的所述统一资源标识符加入到所述播放地址中返回给所述用户。所述用户根据所述播放地址向某个CDN发送针对该流的播放请求。所述CDN在收到所述用户发起的播放请求时,可以从所述回源IP地址列表中解析出(所述播放地址中的)所述统一资源标识符对应的回源IP地址(可能是源站的地址、边缘计算节点的地址或者所述CDN自身的地址,也就是不允许回源),从而确定是从所述源站或所述边缘计算节点中进行回源,或者不用回源。
没有接收到所述流的CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和所述回源IP地址列表确定从所述源站或所述边缘计算节点中进行回源。当回源后,建立链接,用户即可观看。而若接收到所述用户发起的播放请求的CDN已接收到所述流的转推,则直接同意建立链接用户即可观看。
例如,假设用户向CDN A发起流X的播放请求,由于CDN A已经接收到流X的转推,故直接同意建立链接用户即可观看。若用户向CDN C发起流X的播放请求,由于CDN C没有接收到流X的转推,因此CDN C会从同步得到的回源IP地址列表中查询所述统一资源标识符对应的回源IP地址,判断到底是从源站回源,还是从边缘计算节点回源。当回源后,建立链接,用户即可观看。
本实施例提出的直播推流回源系统,改变用户直接向CDN进行推流的模式,通过边缘计算节点转推流到各家CDN,所述系统参考各个边缘计算节点上的流转推状态在调度时生成回源IP地址对应的统一资源标识符,在向用户返回播放地址时带上所述统一资源标识符,使得各家CDN在接收到播放请求时,可以根据所述统一资源标识符对应的解析,去固定的回源IP地址进行拉流。并且,边缘计算节点可以不将流转推给源站,也能使各家CDN通过上述方式解析出所述边缘计算节点的地址进行回源,避免源站负载过高或资源浪费。
实施例四
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有直播推流回源程序,所述直播推流回源程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的直播推流回源方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。

Claims (10)

1.一种直播推流回源方法,其特征在于,所述方法包括:
实时采集所有边缘计算节点上的流转推状态,其中当所述边缘计算节点接收到推流时,由所述边缘计算节点向源站和/或各个CDN进行转推;
根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符;
将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN;及
当用户请求所述流的播放地址时,将所述统一资源标识符加入到所述播放地址中返回给所述用户,以使所述CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径。
2.根据权利要求1所述的直播推流回源方法,其特征在于,所述流转推状态包括是否转推给所述源站以及转推的CDN地址。
3.根据权利要求1或2所述的直播推流回源方法,其特征在于,所述根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符包括:
根据所述流转推状态判断所述流是否转推到源站;
当所述流已转推到源站时,使用所述源站的地址加密生成所述统一资源标识符;
当所述流未转推到源站时,使用所述边缘计算节点的地址加密生成所述统一资源标识符。
4.根据权利要求1-3任一项所述的直播推流回源方法,其特征在于,所述根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符包括:
穷举所有的CDN并根据所述流转推状态对每个CDN分别分配对应的回源IP地址,得到原始字符串;
加密所述原始字符串,生成新的字符串,作为所述统一资源标识符。
5.根据权利要求4所述的直播推流回源方法,其特征在于,所述根据所述流转推状态对每个CDN分别分配对应的回源IP地址包括:
当所述CDN已接收到所述流的转推时,将所述CDN自身地址作为所述CDN对应的所述回源IP地址;
当所述CDN未接收到所述流的转推且所述源站已接收到所述流的转推时,优先分配所述源站的地址作为所述CDN对应的所述回源IP地址;
当所述CDN未接收到所述流的转推且所述源站未接收到所述流的转推时,分配所述边缘计算节点的地址作为所述CDN对应的所述回源IP地址。
6.根据权利要求1-5任一项所述的直播推流回源方法,其特征在于,所述将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN包括:
将所述统一资源标识符和所述CDN对应的回源IP地址之间的映射关系添加到所述CDN的回源IP地址列表中;
定时将所述回源IP地址列表同步至对应的所述CDN中。
7.根据权利要求6所述的直播推流回源方法,其特征在于,所述根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径包括:
所述CDN从所述回源IP地址列表中解析出所述统一资源标识符对应的回源IP地址,包括所述源站的地址、所述边缘计算节点的地址或者所述CDN自身的地址,从而确定是从所述源站或所述边缘计算节点中进行回源,或者不用回源。
8.一种直播推流回源系统,其特征在于,所述系统包括:
采集模块,用于实时采集所有边缘计算节点上的流转推状态,其中当所述边缘计算节点接收到推流时,由所述边缘计算节点向源站和/或各个CDN进行转推;
生成模块,用于根据所述流转推状态使用所述源站或所述边缘计算节点的地址加密生成统一资源标识符;
同步模块,用于将每个CDN与所述统一资源标识符对应的回源IP地址定时同步给相应CDN;
调度模块,用于当用户请求所述流的播放地址时,将所述统一资源标识符加入到所述播放地址中返回给所述用户,以使所述CDN在收到所述用户发起的播放请求时,根据所述播放地址中的所述统一资源标识符和同步的所述回源IP地址确定回源途径。
9.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的直播推流回源程序,所述直播推流回源程序被所述处理器执行时实现如权利要求1至7中任一项所述的直播推流回源方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有直播推流回源程序,所述直播推流回源程序被处理器执行时实现如权利要求1至7中任一项所述的直播推流回源方法。
CN202110920694.0A 2021-08-11 2021-08-11 直播推流回源方法及系统 Active CN113660538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110920694.0A CN113660538B (zh) 2021-08-11 2021-08-11 直播推流回源方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110920694.0A CN113660538B (zh) 2021-08-11 2021-08-11 直播推流回源方法及系统

Publications (2)

Publication Number Publication Date
CN113660538A true CN113660538A (zh) 2021-11-16
CN113660538B CN113660538B (zh) 2023-09-12

Family

ID=78491469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110920694.0A Active CN113660538B (zh) 2021-08-11 2021-08-11 直播推流回源方法及系统

Country Status (1)

Country Link
CN (1) CN113660538B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245182A (zh) * 2021-12-16 2022-03-25 上海哔哩哔哩科技有限公司 直播视频流获取方法及装置
CN114501073A (zh) * 2022-02-16 2022-05-13 上海哔哩哔哩科技有限公司 直播回源方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572687A (zh) * 2019-08-09 2019-12-13 北京达佳互联信息技术有限公司 直播回源聚合的方法、装置、系统、设备及存储介质
US20200380050A1 (en) * 2019-06-03 2020-12-03 Wangsu Science & Technology Co., Ltd. Method for acquiring service data and converged cdn system
CN112422702A (zh) * 2020-08-10 2021-02-26 上海哔哩哔哩科技有限公司 Cdn回源方法、系统及计算机设备
CN112929676A (zh) * 2019-12-06 2021-06-08 北京金山云网络技术有限公司 一种直播数据流获取方法、装置、节点及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200380050A1 (en) * 2019-06-03 2020-12-03 Wangsu Science & Technology Co., Ltd. Method for acquiring service data and converged cdn system
CN110572687A (zh) * 2019-08-09 2019-12-13 北京达佳互联信息技术有限公司 直播回源聚合的方法、装置、系统、设备及存储介质
CN112929676A (zh) * 2019-12-06 2021-06-08 北京金山云网络技术有限公司 一种直播数据流获取方法、装置、节点及系统
CN112422702A (zh) * 2020-08-10 2021-02-26 上海哔哩哔哩科技有限公司 Cdn回源方法、系统及计算机设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245182A (zh) * 2021-12-16 2022-03-25 上海哔哩哔哩科技有限公司 直播视频流获取方法及装置
CN114245182B (zh) * 2021-12-16 2023-11-21 上海哔哩哔哩科技有限公司 直播视频流获取方法及装置
CN114501073A (zh) * 2022-02-16 2022-05-13 上海哔哩哔哩科技有限公司 直播回源方法及装置
CN114501073B (zh) * 2022-02-16 2023-10-20 上海哔哩哔哩科技有限公司 直播回源方法及装置

Also Published As

Publication number Publication date
CN113660538B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN111431740B (zh) 数据的传输方法、装置、设备及计算机可读存储介质
CN107465767B (zh) 一种数据同步的方法和系统
EP3491801B1 (en) Identifying a network node to which data will be replicated
US8069224B2 (en) Method, equipment and system for resource acquisition
CN113660538A (zh) 直播推流回源方法及系统
JP2017504854A (ja) サブスクリプション通知を実施するための方法および装置
WO2014071786A1 (zh) 一种文件传输的方法及系统
CN112506670B (zh) 一种多节点自动化运维任务处理方法、系统及存储介质
CN102118263A (zh) 配置信息的发布方法及系统
CN110543448A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN110730081B (zh) 基于区块链网络的证书吊销方法、相关设备及介质
CN110336848B (zh) 一种访问请求的调度方法及调度系统、设备
CN108512849B (zh) 一种访问服务器的握手方法及系统
Shang et al. Publish-subscribe communication in building management systems over named data networking
CN111831748A (zh) 数据同步方法、装置及存储介质
CN115189913B (zh) 数据报文的传输方法和装置
CN112486915B (zh) 数据存储方法及装置
CN108737586B (zh) 一种域名查询服务的灾备切换方法和装置
CN114125489B (zh) 数据流分发方法及系统
CN113542420B (zh) 热点文件的处理方法、装置、电子设备和介质
CN108376154B (zh) 系统基表同步方法、装置、计算机设备和存储介质
CN111404978B (zh) 一种数据存储方法及云存储系统
US9967163B2 (en) Message system for avoiding processing-performance decline
CN113760843A (zh) 一种站点部署方法及终端
CN113660353A (zh) 基于蓝牙Mesh的Provisioner地址管理的方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant