CN112738548A - 一种流媒体调度方法、装置、设备及存储介质 - Google Patents

一种流媒体调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112738548A
CN112738548A CN202110364813.9A CN202110364813A CN112738548A CN 112738548 A CN112738548 A CN 112738548A CN 202110364813 A CN202110364813 A CN 202110364813A CN 112738548 A CN112738548 A CN 112738548A
Authority
CN
China
Prior art keywords
edge node
node device
target
push
flow edge
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
CN202110364813.9A
Other languages
English (en)
Other versions
CN112738548B (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.)
Wuhan Qiyunshilian Technology Co Ltd
Original Assignee
Baijiayun Group 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 Baijiayun Group Ltd filed Critical Baijiayun Group Ltd
Priority to CN202110364813.9A priority Critical patent/CN112738548B/zh
Publication of CN112738548A publication Critical patent/CN112738548A/zh
Application granted granted Critical
Publication of CN112738548B publication Critical patent/CN112738548B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth

Landscapes

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

Abstract

本申请提供了一种流媒体调度方法、装置、设备及存储介质,其中,该方法包括:推流边缘节点设备根据自身的至少一个性能衡量指标,实时判断自身是否满足预设的节点裂变条件;若满足节点裂变条件,向调度中心发送裂变请求,并根据从调度中心处接收到的目标推流边缘节点设备的第一地址和第一端口号,将目标通信数据传输至目标推流边缘节点设备;拉流边缘节点设备根据从拉流用户端处接收到的目标推流边缘节点设备的第二地址和第二端口号,接收目标推流边缘节点设备发送的目标通信数据;最后将目标通信数据发送至拉流用户端;通过上述方法,有利于提高数据处理和数据传输的速率,减轻用户端播放延迟的问题,提升用户观看直播的体验感。

Description

一种流媒体调度方法、装置、设备及存储介质
技术领域
本申请涉及流媒体技术领域,具体而言,涉及一种流媒体调度方法、装置、设备及存储介质。
背景技术
随着科学技术的发展,基于云平台的流媒体音视频直播服务逐渐成为一个普遍现象,但随着观看直播的人数增加,流媒体音视频直播中容易出现高并发现象,此时会因为网络拥塞,出现画面卡顿、延迟、音画不同步等现象,用户观看直播的体验感差。
现有技术主要是依赖CDN(Content Delivery Network,内容分发网络)来降低网络拥塞,以提高用户访问响应速度,解决音视频直播中的高并发现象,但CDN的分发能力受本身的处理能力以及本身的容量限制,随着观看直播的人数增加,CDN需要处理的推流端的数据增加,但CDN的容量变小,处理能力变弱,所以CDN数据分发消耗的时间变多,加重了用户端播放延迟的问题,使得用户观看直播的体验感变差。
发明内容
有鉴于此,本申请实施例提供了一种流媒体调度方法、装置、设备及存储介质,以提高数据处理和数据传输的速率,减轻用户端播放延迟的问题,提升用户观看直播的体验感。
主要包括以下几个方面:
第一方面,本申请实施例提供了一种流媒体调度方法,应用于推流边缘节点设备,该方法包括:
根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件;
若所述推流边缘节点设备满足所述节点裂变条件,向调度中心发送裂变请求,以使所述调度中心从推流边缘节点设备群中确定目标推流边缘节点设备,其中,所述目标推流边缘节点设备为所述推流边缘节点设备群中设备状态处于可用状态的性能最好的推流边缘节点设备;
接收所述调度中心发送的所述目标推流边缘节点设备的第一地址和第一端口号;
以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,以使所述目标推流边缘节点设备对所述目标通信数据进行缓存。
可选的,所述性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率和链路连接数,所述根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件,包括:
当所述性能衡量指标为所述剩余带宽时,根据所述剩余带宽,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余带宽小于第一预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
当所述性能衡量指标为所述剩余内存容量时,根据所述剩余内存容量,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余内存容量小于第二预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
当所述性能衡量指标为所述CPU使用率时,根据所述CPU使用率,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述CPU使用率大于第三预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
当所述性能衡量指标为所述链路连接数时,根据所述链路连接数,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述链路连接数大于第四预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
可选的,所述以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,包括:
以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第一信令通道;
通过所述第一信令通道,向所述目标推流边缘节点设备发送至少一个第一会话描述协议SDP,以使所述目标推流边缘节点设备在各第一SDP中确定其支持的第一目标SDP;
接受所述目标推流边缘节点设备发送的所述第一目标SDP;
按照所述第一目标SDP,将所述目标通信数据传输至所述目标推流边缘节点设备。
第二方面,本申请实施例提供了一种流媒体调度方法,应用于拉流边缘节点设备,所述方法包括:
接收拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,所述目标推流边缘节点设备为缓存目标通信数据的节点设备,所述目标通信数据是由推流用户端发送到推流边缘节点设备,再由所述推流边缘节点设备根据所述目标推流边缘节点设备的第一地址和第一端口号发送到所述目标推流边缘节点设备上,所述第一地址和所述第一端口号是所述推流边缘节点设备在满足预设的节点裂变条件时,向调度中心发送裂变请求获取到的;
以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据;
将所述目标通信数据发送至所述拉流用户端。
可选的,所述以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据,包括:
以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第二信令通道;
通过所述第二信令通道,向所述目标推流边缘节点设备发送至少一个第二会话描述协议SDP,以使所述目标推流边缘节点设备在各第二SDP中确定其支持的第二目标SDP;
接受所述目标推流边缘节点设备发送的所述第二目标SDP;
按照所述第二目标SDP,接收所述目标推流边缘节点设备发送的所述目标通信数据。
第三方面,本申请实施例提供了一种流媒体调度装置,应用于推流边缘节点设备,所述装置包括:
判断模块,用于根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件;
执行模块,用于若所述推流边缘节点设备满足所述节点裂变条件,向调度中心发送裂变请求,以使所述调度中心从推流边缘节点设备群中确定目标推流边缘节点设备,其中,所述目标推流边缘节点设备为所述推流边缘节点设备群中设备状态处于可用状态的性能最好的推流边缘节点设备;
第一接收模块,用于接收所述调度中心发送的所述目标推流边缘节点设备的第一地址和第一端口号;
传输模块,用于以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,以使所述目标推流边缘节点设备对所述目标通信数据进行缓存。
可选的,所述性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率和链路连接数,所述判断模块在用于根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件时,包括:
第一判断模块,用于当所述性能衡量指标为所述剩余带宽时,根据所述剩余带宽,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余带宽小于第一预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第二判断模块,用于当所述性能衡量指标为所述剩余内存容量时,根据所述剩余内存容量,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余内存容量小于第二预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第三判断模块,用于当所述性能衡量指标为所述CPU使用率时,根据所述CPU使用率,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述CPU使用率大于第三预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第四判断模块,用于当所述性能衡量指标为所述链路连接数时,根据所述链路连接数,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述链路连接数大于第四预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
可选的,所述传输模块在用于以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备时,包括:
以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第一信令通道;
通过所述第一信令通道,向所述目标推流边缘节点设备发送至少一个第一会话描述协议SDP,以使所述目标推流边缘节点设备在各第一SDP中确定其支持的第一目标SDP;
接受所述目标推流边缘节点设备发送的所述第一目标SDP;
按照所述第一目标SDP,将所述目标通信数据传输至所述目标推流边缘节点设备。
第四方面,本申请实施例提供了一种流媒体调度装置,应用于拉流边缘节点设备,所述装置包括:
第二接收模块,用于接收拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,所述目标推流边缘节点设备为缓存目标通信数据的节点设备,所述目标通信数据是由推流用户端发送到推流边缘节点设备,再由所述推流边缘节点设备根据所述目标推流边缘节点设备的第一地址和第一端口号发送到所述目标推流边缘节点设备上,所述第一地址和所述第一端口号是所述推流边缘节点设备在满足预设的节点裂变条件时,向调度中心发送裂变请求获取到的;
第三接收模块,用于以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据;
发送模块,用于将所述目标通信数据发送至所述拉流用户端。
可选的,所述第三接收模块在用于以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据时,包括:
以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第二信令通道;
通过所述第二信令通道,向所述目标推流边缘节点设备发送至少一个第二会话描述协议SDP,以使所述目标推流边缘节点设备在各第二SDP中确定其支持的第二目标SDP;
接受所述目标推流边缘节点设备发送的所述第二目标SDP;
按照所述第二目标SDP,接收所述目标推流边缘节点设备发送的所述目标通信数据。
第五方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或上述第二方面中任一所述的流媒体调度方法的步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或上述第二方面中任一所述的流媒体调度方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的流媒体调度的方法,针对每一个推流边缘节点设备,该推流边缘节点设备实时监测自身的至少一个性能衡量指标,以根据实时的各性能衡量指标判断自身是否满足预设的节点裂变条件,当满足节点裂变条件时,说明自身的性能不能满足更多的数据处理,需要另一个推流边缘节点设备来分担数据处理的工作,所以向调度中心发送裂变请求,以使调度中心确定出可以分担其数据处理工作的目标推流边缘节点设备,在从调度中心得到该目标推流边缘节点设备的第一地址和第一端口号后,就可以根据第一地址准确的确定出目标推流边缘节点设备的连接地址,以及可以根据第一端口号准确的确定出目标推流边缘节点设备的连接端口,此时,就可以将从推流用户端获取到的无法处理的目标通信数据发送到目标推流边缘节点设备,以使目标推流边缘节点设备对该目标通信数据进行缓存及后续需要的处理操作,通过该方法,可以避免出现推流边缘节点设备因处理超出能力范围的目标通信数据而造成的卡顿或死机的异常现象,且当拉流用户端需要该目标通信数据时,可以通过拉流边缘节点设备获取到该目标通信数据,针对拉流边缘节点设备,该拉流边缘节点设备从拉流用户端获取到缓存该目标通信数据的目标推流边缘设备的第二地址和第二端口号,然后根据第二地址准确的确定出目标推流边缘节点设备的连接地址,以及根据第二端口号准确的确定出目标推流边缘节点设备的连接端口,与目标推流边缘节点设备建立连接,并获取目标推流边缘节点设备发送的该目标通信数据,从而将该目标通信数据发送到拉流用户端,实现完整的流媒体数据传输,通过该方法,将与目标推流边缘节点设备连接的工作交由拉流边缘节点设备来完成,以减轻调度中心的工作负担,在此过程中,目标通信数据的传输均是节点设备与节点设备间的传输,不需要依赖CDN,相较于现有技术中通过受限的CDN进行传输,本申请在观看直播的人数增加时,推流边缘节点设备需要处理的推流数据增加,但针对每一个推流边缘节点设备,该推流边缘节点设备会在本身处理能力不足或性能变差时,使用其他的推流边缘节点设备分担其无法处理的数据,以防止进行数据处理的推流边缘节点设备随着直播人数增加而性能变差,且该方法可以保证每一个推流边缘节点设备以高性能的状态持久的处理数据和传输数据,有利于提高数据处理和数据传输的速率,减轻用户端播放延迟的问题,提升用户观看直播的体验感。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例一所提供的一种流媒体调度方法的流程图;
图2示出了本申请实施例二所提供的一种流媒体调度方法的流程图;
图3示出了本申请实施例三所提供的一种流媒体调度装置的结构示意图;
图4示出了本申请实施例四所提供的一种流媒体调度装置的结构示意图;
图5示出了本申请实施例五所提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种流媒体调度方法、装置、设备及存储介质,下面通过实施例进行描述。
实施例一
图1示出了本申请实施例一所提供的一种流媒体调度方法的流程图,如图1所示,该流媒体调度方法应用于推流边缘节点设备,该方法包括以下步骤:
步骤S101:根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件。
具体的,推流指的是进行推流的客户端把采集阶段包装好的内容传输到服务器的过程,推流边缘节点设备为靠近推流客户端的用于接收该推流客户端传输上来的内容的服务器设备,该服务器设备(推流边缘节点设备)的性能衡量指标是用于衡量该服务器设备的性能的指标数据,推流客户端指的是进行推流的客户端。
人为提前根据推流边缘节点设备上的各性能衡量指标,预设节点裂变条件,推流边缘节点设备实时确定自身的至少一个性能衡量指标,针对确定出的每一个性能衡量指标,根据该性能衡量指标,判断自身是否满足预设的节点裂变条件。
步骤S102:若所述推流边缘节点设备满足所述节点裂变条件,向调度中心发送裂变请求,以使所述调度中心从推流边缘节点设备群中确定目标推流边缘节点设备,其中,所述目标推流边缘节点设备为所述推流边缘节点设备群中设备状态处于可用状态的性能最好的推流边缘节点设备。
具体的,当推流边缘节点设备满足节点裂变条件时,说明该推流边缘节点设备不能继续缓存或传输之后推流上来的数据,需要增加一个可以分担其工作量的节点设备,所以该推流边缘节点设备需要向调度中心发送一个裂变请求,调度中心根据发送该裂变请求的推流边缘节点设备,确定出该推流边缘节点设备属于的推流边缘节点设备群,该推流边缘节点设备群中包括至少一个推流边缘节点设备,各推流边缘节点设备均是靠近推流客户端的用于接收推流客户端推上来的数据的节点设备,调度中心根据各推流边缘节点设备按照预设周期上传的自身的性能衡量指标,确定各推流边缘节点设备的设备状态和性能,最后从各推流边缘节点设备中筛选出节点状态为可用状态的性能最好的推流边缘节点设备,并将选出的该推流边缘节点设备作为目标推流边缘节点设备,其中,该目标推流边缘节点设备不是发送裂变请求的推流边缘节点设备。
需要说明的是,性能最好指的是该目标推流边缘节点设备的各性能衡量指标相较于其他推流边缘节点设备的各性能衡量指标,均是处于最好的状态,举例说明,推流边缘节点设备群中有推流边缘节点设备A、推流边缘节点设备B、推流边缘节点设备C和推流边缘节点设备D,推流边缘节点设备A是发送裂变请求的节点设备,推流边缘节点设备的性能衡量指标包括剩余带宽和CPU使用率,其中,推流边缘节点设备C相较于推流边缘节点设备B和推流边缘节点设备D,其剩余带宽最多且其CPU使用率最小,则推流边缘节点设备C为筛选出的目标推流边缘节点设备。
需要说明的是,调度中心与各客户端、与各节点设备之间通过http/https(Hypertext Transfer Protocol,超文本传输协议/Hyper Text Transfer Protocol overSecureSocket Layer,超文本传输安全协议)请求响应完成短连接,各节点设备按照预设周期会向调度中心发送自身的各性能衡量指标(包括剩余带宽、CPU使用率、剩余内存容量、链路连接数等指标),所述调度中心可以通过各节点设备上传的数据,对各节点设备的状态和性能进行实时监控,同时保存各节点设备上传的数据,以方便后续的信息追溯。
步骤S103:接收所述调度中心发送的所述目标推流边缘节点设备的第一地址和第一端口号。
具体的,调度中心在确定出目标推流边缘节点设备后,将该目标推流边缘节点设备的第一地址和第一端口号发送到发送裂变请求的推流边缘节点设备,此时,该推流边缘节点设备接收该第一地址和该第一端口号。
步骤S104:以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,以使所述目标推流边缘节点设备对所述目标通信数据进行缓存。
具体的,推流用户端发送的目标通信数据包括音视频数据和文本数据,目标推流边缘节点设备用于分担该推流边缘节点设备的工作量,所以在得到目标推流边缘节点设备的第一地址和第一端口号后,需要将目标通信数据发送到目标推流边缘节点设备上,使其对该目标通信数据进行缓存或进行其他的处理操作。
在接收的目标推流边缘节点设备的第一地址和第一端口号后,将该第一地址作为连接该目标推流边缘节点设备的地址,以找到该目标推流边缘节点设备,然后将该第一端口号代表的端口作为连接该目标推流边缘节点设备的端口,以找到该目标推流边缘节点设备上该第一端口号代表的端口,在找到该目标推流边缘节点设备上用于连接的端口后,就可以与目标推流边缘节点设备建立连接,并在建立连接后将目标通信数据传输到该目标推流边缘节点设备上,该目标推流边缘节点设备在接收到该目标通信数据后,缓存该目标通信数据,当有拉流客户端需要该目标通信数据时,就可以从该目标推流边缘节点设备处获取该目标通信数据。
需要说明的是,该目标通信数据为推流用户端进行采集并包装处理的数据,推流用户端即上述推流客户端,比如:直播发起用户的客户端。
在另一种可行的实施方案中,调度中心对推流过程中的各节点设备、拉流过程中的各节点设备进行双机热备,当工作中的节点设备出现状况,且无法及时修复时,该方法有利于避免数据传输中断。
在一种可行的实施方案中,所述性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率和链路连接数,上述步骤S101可以通过以下步骤实现:
步骤S201:当所述性能衡量指标为所述剩余带宽时,根据所述剩余带宽,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余带宽小于第一预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
步骤S202:当所述性能衡量指标为所述剩余内存容量时,根据所述剩余内存容量,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余内存容量小于第二预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
步骤S203:当所述性能衡量指标为所述CPU使用率时,根据所述CPU使用率,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述CPU使用率大于第三预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
步骤S204:当所述性能衡量指标为所述链路连接数时,根据所述链路连接数,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述链路连接数大于第四预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
具体的,性能衡量指标指的是可以衡量推流边缘节点设备的性能的数据,性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率、链路连接数、数据流吞吐能力等指标,当性能衡量指标为剩余带宽时,剩余带宽用于表示当前单位时间内传输的数据量,即:当前数据的传输能力,剩余带宽越多,该推流边缘节点设备当前的数据传输能力越好,反之,剩余带宽越少,该推流边缘节点设备当前的数据传输能力越差,此时,实时判断该推流边缘节点设备是否满足节点裂变条件,相当于实时判断该推流边缘节点设备的剩余带宽是否小于第一预设阈值,当剩余带宽小于第一预设阈值时,说明该推流边缘节点设备的剩余带宽不适合传输之后推流上来的数据,即:该推流边缘节点设备满足节点裂变条件,需要使用其他推流边缘节点设备来分担该推流边缘节点设备的工作;当性能衡量指标为剩余内存容量时,剩余内存容量用于表示该推流边缘节点设备当前的存储能力,此时,实时判断该推流边缘节点设备是否满足节点裂变条件,相当于实时判断该推流边缘节点设备的剩余内存容量是否小于第二预设阈值,当该推流边缘节点设备的剩余内存容量小于第二预设阈值,说明该推流边缘节点设备当前剩余的内存不能存储之后推流上来的数据,即:该推流边缘节点设备满足节点裂变条件,需要使用其他推流边缘节点设备来分担该推流边缘节点设备的工作;当性能衡量指标为CPU使用率时,CPU使用率指的是该推流边缘节点设备上运行的程序占用的CPU资源的量,该推流边缘节点设备上运行的程序占用的CPU资源的量越多,该推流边缘节点设备进行数据传输和数据缓存的能力越弱,此时,实时判断该推流边缘节点设备是否满足节点裂变条件,相当于实时判断该推流边缘节点设备的CPU使用率是否大于第三预设阈值,若该推流边缘节点设备的CPU使用率大于第三预设阈值,说明该推流边缘节点设备当前的CPU资源被占用的太多,剩余的CPU资源不足以处理之后推流上来的数据,即:该推流边缘节点设备满足节点裂变条件,需要使用其他推流边缘节点设备来分担该推流边缘节点设备的工作;当性能衡量指标为链路连接数时,链路连接数指的该推流边缘节点设备连接的推流客户端的数量,也就是说链路连接数用于表示该推流边缘节点设备接收的数据的多少,此时,实时判断推流边缘节点设备是否满足节点裂变条件,相当于实时判断该推流边缘节点设备的链路连接数是否大于第四预设阈值,当该推流边缘节点设备的链路连接数大于第四预设阈值,说明当前接收到的数据过多,该推流边缘节点设备无法再处理之后推流上来的数据,即:该推流边缘节点设备满足节点裂变条件,需要使用其他推流边缘节点设备来分担该推流边缘节点设备的工作。
需要说明的是,性能衡量指标包括的指标类型及对应的节点裂变条件可以根据实际情况进行增加或进行删减,以保证可以更准确的实现对该推流边缘节点设备的性能的实时监测,在此不做具体限定。
在一种可行的实施方案中,上述步骤S104可以通过以下步骤实现:
步骤S301:以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第一信令通道。
步骤S302:通过所述第一信令通道,向所述目标推流边缘节点设备发送至少一个第一SDP(Session Description Protocol,会话描述协议),以使所述目标推流边缘节点设备在各第一SDP中确定其支持的第一目标SDP。
步骤S303:接受所述目标推流边缘节点设备发送的所述第一目标SDP。
步骤S304:按照所述第一目标SDP,将所述目标通信数据传输至所述目标推流边缘节点设备。
具体的,在得到目标推流边缘节点设备的第一地址和第一端口号后,目标推流边缘节点设备的第一地址为该推流边缘节点设备的唯一编号,用于在网络中定位该目标推流边缘节点设备,在确定目标推流边缘节点设备的准确位置后,一个目标推流边缘节点设备可以同时与不同的推流客户端或不同的推流边缘节点设备进行连接,以同时进行不同的会话,所以不同的端口号可以代表不同的会话或不同的连接对象,得到的目标推流边缘节点设备的第一端口号所代表的端口是用于连接该推流边缘节点设备,并与该推流边缘节点设备进行会话的端口,所以可以通过第一地址和第一端口号代表的端口,和目标推流边缘节点设备建立Websocket连接,即:建立第一信令通道,在连接后,向该推流边缘节点设备发送会话请求及至少一个第一SDP,目标推流边缘节点设备在获取到会话请求时,在至少一个第一SDP中确定其支持的第一目标SDP,并将其支持的第一目标SDP发送到该推流边缘节点设备上,其中,SDP用于描述流媒体初始化参数的格式,支持的目标SDP用于表示目标推流边缘节点设备能够接收或识别的流媒体初始化参数的格式,第一目标SDP可以是一个,也可以是多个,但不超过第一SDP的数量,该推流边缘节点设备接收到目标推流边缘节点设备发送的第一目标SDP,相当于成功建立了WebRTC(Web Real-Time Communication,网页即时通信)会话,此时可以将目标通信数据传输到目标推流边缘节点设备,其中,传输目标通信数据的通道可以是UDP(User Datagram Protocol,用户数据包协议)。
需要说明的是,通过上述第一信令通道,还可以进行推流边缘节点与目标推流边缘节点之间除上述第一SDP之外的其他信令信息的传输。
在另一中可行的实施方案中,推流用户端在需要进行推流时,向调度中心发送推流请求,以从调度中心处获取推流边缘节点设备的地址和端口号,在得到地址和端口号后,根据推流边缘节点设备的地址和端口号,向推流边缘节点设备发送数据,关于推流实现方式的具体说明,可以参照上述推流边缘节点设备根据目标推流边缘节点设备的第一地址和第一端口号,向目标推流边缘节点设备发送目标通信数据的实现方式说明,在此不再进行赘述。
在另一种可行的实施方案中,每一个目标推流边缘节点设备相当于一个推流边缘节点设备,可以参照推流边缘节点设备,继续执行步骤S101至步骤S104中的具体实施方式。
实施例二
图2示出了本申请实施例二所提供的一种流媒体调度方法的流程图,如图2所示,该流媒体调度方法应用于拉流边缘节点设备,该方法包括以下步骤:
步骤S401:接收拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,所述目标推流边缘节点设备为缓存目标通信数据的节点设备,所述目标通信数据是由推流用户端发送到推流边缘节点设备,再由所述推流边缘节点设备根据所述目标推流边缘节点设备的第一地址和第一端口号发送到所述目标推流边缘节点设备上,所述第一地址和所述第一端口号是所述推流边缘节点设备在满足预设的节点裂变条件时,向调度中心发送裂变请求获取到的。
具体的,拉流指的是拉流服务端从指定地址拉取需要的数据内容的过程,拉流边缘节点设备指的靠近拉流用户端的缓存拉流用户端所需内容的服务器设备,拉流用户端指的是进行拉流的客户端,拉流用户端在进行拉流时,向调度中心发送拉流请求,以从调度中心获取存储目标通信数据的目标推流边缘节点设备的第二地址和第二端口号,以及获取拉流边缘节点设备的地址和端口号,然后拉流用户端根据拉流边缘节点设备的地址和端口号,与拉流边缘节点设备建立WebRTC会话的连接,关于拉流用户端与拉流边缘节点设备建立WebRTC会话连接的具体说明,可以参照上述推流边缘节点设备与目标推流边缘节点设备建立WebRTC会话的说明,在此不再进行赘述,在建立WebRTC会话后,拉流用户端将目标推流边缘节点设备的第二地址和第二端口号发送到拉流边缘节点设备,此时,拉流边缘节点设备接收到拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,目标推流边缘节点设备是缓存目标通信数据的节点设备,目标推流边缘节点设备缓存的目标通信数据是推流边缘节点设备在满足节点裂变条件的情况下将其传输到目标推流边缘节点设备上的,而推流边缘节点设备上的目标通信数据是推流客户端发送到推流边缘节点设备上的,推流边缘节点设备满足节点裂变条件的情况是推流边缘节点设备根据自身的至少一个性能衡量指标,实时判断出来的,在推流边缘节点设备满足节点裂变条件的情况下,目标通信数据是由推流边缘节点设备以目标推流边缘节点设备的第一地址作为连接目标推流边缘节点设备的地址,并以目标推流边缘节点设备的第一端口号代表的端口作为连接目标推流边缘节点设备的端口,将其发送到目标推流边缘节点设备上的,目标推流边缘节点设备的第一地址和第一端口号是推流边缘节点设备在满足节点裂变条件,向调度中心发送裂变请求的情况下,从调度中心获取到的调取中心确定出的第一地址和第一端口号,调取中心确定出的第一地址和第一端口号的具体过程为调度中心从推流边缘节点设备群中确定设备状态处于可用状态的性能最好的目标推流边缘节点设备,并将目标推流边缘节点设备的第一地址和第一端口号发送到推流边缘节点设备上。
需要说明的是,目标推流边缘节点设备是缓存目标通信数据的节点设备,也就是说当推流边缘节点设备没有满足节点裂变条件时,该推流边缘节点设备不需要将目标通信数据发送到目标推流边缘节点设备上,此时,缓存目标通信数据的节点设备为该推流边缘节点设备;当推流边缘节点设备满足节点裂变条件时,该推流边缘节点设备需要将目标通信数据发送到目标推流边缘节点设备上,此时,缓存目标通信数据的节点设备为目标推流边缘节点设备。
步骤S402:以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据。
具体的,关于拉流边缘节点设备使用第二地址和第二端口号,与目标推流边缘节点设备建立连接的说明,参照上述对步骤S104的解释中推流边缘节点设备与目标推流边缘节点设备建立连接的说明,在此不再进行赘述,在拉流边缘节点设备与目标推流边缘节点设备建立连接后,目标推流边缘节点设备就可以将目标通信数据发送到拉流边缘节点设备上,此时,拉流边缘节点设备接收到目标推流边缘节点设备发送的目标通信数据。
步骤S403:将所述目标通信数据发送至所述拉流用户端。
具体的,步骤S401的说明中的拉流用户端与拉流边缘节点设备建立WebRTC会话连接的具体实现方式,可以参照步骤S304的说明中推流边缘节点设备与目标推流边缘节点设备建立WebRTC会话的具体实现方式,在此不再进行赘述,在拉流用户端与拉流边缘节点设备建立WebRTC会话连接后,拉流边缘节点设备就可以将从目标推流边缘节点设备获取到目标通信数据发送到拉流用户端上。
在一种可行的实施方案中,上述步骤S402可以通过以下步骤实现:
步骤S501:以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第二信令通道。
步骤S502:通过所述第二信令通道,向所述目标推流边缘节点设备发送至少一个第二会话描述协议SDP,以使所述目标推流边缘节点设备在各第二SDP中确定其支持的第二目标SDP。
步骤S503:接受所述目标推流边缘节点设备发送的所述第二目标SDP。
步骤S504:按照所述第二目标SDP,接收所述目标推流边缘节点设备发送的所述目标通信数据。
具体的,步骤S501至步骤S503主要是建立拉流边缘节点设备与目标推流边缘节点设备之间的WebRTC会话,关于步骤S501至步骤S503的具体说明,参照上述对步骤S301至步骤S304的具体说明中的建立推流边缘节点设备与目标推流边缘节点设备之间的WebRTC会话的部分,在此不再进行赘述,在成功建立拉流边缘节点设备与目标推流边缘节点设备之间的WebRTC会话后,目标推流边缘节点设备就可以将目标通信数据发送到拉流边缘节点设备上,此时,拉流边缘节点设备就可以接受到目标推流边缘节点设备发送的目标通信数据。
需要说明的是,通过上述第二信令通道,还可以进行目标推流边缘节点与拉流边缘节点之间除上述第二SDP之外的其他信令信息的传输。
在另一种可行的实施方案中,针对每一个推流边缘节点设备,该推流边缘节点设备接收并保存与推流用户端之间的会话相关的连接或数据,以及建立并维护与目标推流边缘节点设备之间的会话连接,以及进行数据的分发,以及销毁与其相关的会话连接;针对每一个拉流边缘节点设备,该拉流边缘节点设备接收并保存与拉流用户端之间的会话相关的连接或数据,以及建立并维护与目标推流边缘节点设备之间的会话连接,以及销毁与其相关的会话连接。
实施例三
图3示出了本申请实施例三所提供的一种流媒体调度装置的结构示意图,如图3所示,该流媒体调度装置应用于推流边缘节点设备,该装置包括:
判断模块601,用于根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件;
执行模块602,用于若所述推流边缘节点设备满足所述节点裂变条件,向调度中心发送裂变请求,以使所述调度中心从推流边缘节点设备群中确定目标推流边缘节点设备,其中,所述目标推流边缘节点设备为所述推流边缘节点设备群中设备状态处于可用状态的性能最好的推流边缘节点设备;
第一接收模块603,用于接收所述调度中心发送的所述目标推流边缘节点设备的第一地址和第一端口号;
传输模块604,用于以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,以使所述目标推流边缘节点设备对所述目标通信数据进行缓存。
在一种可行的实施方案中,所述性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率和链路连接数,所述判断模块601在用于根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件时,包括:
第一判断模块,用于当所述性能衡量指标为所述剩余带宽时,根据所述剩余带宽,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余带宽小于第一预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第二判断模块,用于当所述性能衡量指标为所述剩余内存容量时,根据所述剩余内存容量,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余内存容量小于第二预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第三判断模块,用于当所述性能衡量指标为所述CPU使用率时,根据所述CPU使用率,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述CPU使用率大于第三预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第四判断模块,用于当所述性能衡量指标为所述链路连接数时,根据所述链路连接数,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述链路连接数大于第四预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
在一种可行的实施方案中,所述传输模块604在用于以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备时,包括:
以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第一信令通道;
通过所述第一信令通道,向所述目标推流边缘节点设备发送至少一个第一会话描述协议SDP,以使所述目标推流边缘节点设备在各第一SDP中确定其支持的第一目标SDP;
接受所述目标推流边缘节点设备发送的所述第一目标SDP;
按照所述第一目标SDP,将所述目标通信数据传输至所述目标推流边缘节点设备。
实施例四
图4示出了本申请实施例四所提供的一种流媒体调度装置的结构示意图,如图4所示,该流媒体调度装置应用于拉流边缘节点设备,该装置包括:
第二接收模块701,用于接收拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,所述目标推流边缘节点设备为缓存目标通信数据的节点设备,所述目标通信数据是由推流用户端发送到推流边缘节点设备,再由所述推流边缘节点设备根据所述目标推流边缘节点设备的第一地址和第一端口号发送到所述目标推流边缘节点设备上,所述第一地址和所述第一端口号是所述推流边缘节点设备在满足预设的节点裂变条件时,向调度中心发送裂变请求获取到的;
第三接收模块702,用于以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据;
发送模块703,用于将所述目标通信数据发送至所述拉流用户端。
在一种可行的实施方案中,所述第三接收模块702在用于以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据时,包括:
以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第二信令通道;
通过所述第二信令通道,向所述目标推流边缘节点设备发送至少一个第二会话描述协议SDP,以使所述目标推流边缘节点设备在各第二SDP中确定其支持的第二目标SDP;
接受所述目标推流边缘节点设备发送的所述第二目标SDP;
按照所述第二目标SDP,接收所述目标推流边缘节点设备发送的所述目标通信数据。
本申请实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供的流媒体调度的方法,针对每一个推流边缘节点设备,该推流边缘节点设备实时监测自身的至少一个性能衡量指标,以根据实时的各性能衡量指标判断自身是否满足预设的节点裂变条件,当满足节点裂变条件时,说明自身的性能不能满足更多的数据处理,需要另一个推流边缘节点设备来分担数据处理的工作,所以向调度中心发送裂变请求,以使调度中心确定出可以分担其数据处理工作的目标推流边缘节点设备,在从调度中心得到该目标推流边缘节点设备的第一地址和第一端口号后,就可以根据第一地址准确的确定出目标推流边缘节点设备的连接地址,以及可以根据第一端口号准确的确定出目标推流边缘节点设备的连接端口,此时,就可以将从推流用户端获取到的无法处理的目标通信数据发送到目标推流边缘节点设备,以使目标推流边缘节点设备对该目标通信数据进行缓存及后续需要的处理操作,通过该方法,可以避免出现推流边缘节点设备因处理超出能力范围的目标通信数据而造成的卡顿或死机的异常现象,且当拉流用户端需要该目标通信数据时,可以通过拉流边缘节点设备获取到该目标通信数据,针对拉流边缘节点设备,该拉流边缘节点设备从拉流用户端获取到缓存该目标通信数据的目标推流边缘设备的第二地址和第二端口号,然后根据第二地址准确的确定出目标推流边缘节点设备的连接地址,以及根据第二端口号准确的确定出目标推流边缘节点设备的连接端口,与目标推流边缘节点设备建立连接,并获取目标推流边缘节点设备发送的该目标通信数据,从而将该目标通信数据发送到拉流用户端,实现完整的流媒体数据传输,通过该方法,将与目标推流边缘节点设备连接的工作交由拉流边缘节点设备来完成,以减轻调度中心的工作负担,在此过程中,目标通信数据的传输均是节点设备与节点设备间的传输,不需要依赖CDN,相较于现有技术中通过受限的CDN进行传输,本申请在观看直播的人数增加时,推流边缘节点设备需要处理的推流数据增加,但针对每一个推流边缘节点设备,该推流边缘节点设备会在本身处理能力不足或性能变差时,使用其他的推流边缘节点设备分担其无法处理的数据,以防止进行数据处理的推流边缘节点设备随着直播人数增加而性能变差,且该方法可以保证每一个推流边缘节点设备以高性能的状态持久的处理数据和传输数据,有利于提高数据处理和数据传输的速率,减轻用户端播放延迟的问题,提升用户观看直播的体验感。
实施例五
本申请实施例还提供了一种计算机设备800,图5示出了本申请实施例五所提供的一种计算机设备的结构示意图,如图5所示,该设备包括存储器801、处理器802及存储在该存储器801上并可在该处理器802上运行的计算机程序,其中,上述处理器802执行上述计算机程序时实现上述实施例一中的流媒体调度方法或上述实施例二中的流媒体调度方法。
具体地,上述存储器801和处理器802能够为通用的存储器和处理器,这里不做具体限定,当处理器802运行存储器801存储的计算机程序时,能够执行上述实施例一中的流媒体调度方法或上述实施例二中的流媒体调度方法,解决了现有技术中用户端播放延迟加重,使得用户观看直播的体验感变差的问题。
实施例六
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述实施例一中的流媒体调度方法或上述实施例二中的流媒体调度方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述实施例一中的流媒体调度方法或上述实施例二中的流媒体调度方法,解决了现有技术中用户端播放延迟加重,使得用户观看直播的体验感变差的问题。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种流媒体调度方法,其特征在于,应用于推流边缘节点设备,所述方法包括:
根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件;
若所述推流边缘节点设备满足所述节点裂变条件,向调度中心发送裂变请求,以使所述调度中心从推流边缘节点设备群中确定目标推流边缘节点设备,其中,所述目标推流边缘节点设备为所述推流边缘节点设备群中设备状态处于可用状态的性能最好的推流边缘节点设备;
接收所述调度中心发送的所述目标推流边缘节点设备的第一地址和第一端口号;
以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,以使所述目标推流边缘节点设备对所述目标通信数据进行缓存。
2.如权利要求1所述的方法,其特征在于,所述性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率和链路连接数,所述根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件,包括:
当所述性能衡量指标为所述剩余带宽时,根据所述剩余带宽,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余带宽小于第一预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
当所述性能衡量指标为所述剩余内存容量时,根据所述剩余内存容量,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余内存容量小于第二预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
当所述性能衡量指标为所述CPU使用率时,根据所述CPU使用率,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述CPU使用率大于第三预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
当所述性能衡量指标为所述链路连接数时,根据所述链路连接数,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述链路连接数大于第四预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
3.如权利要求1所述的方法,其特征在于,所述以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,包括:
以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第一信令通道;
通过所述第一信令通道,向所述目标推流边缘节点设备发送至少一个第一会话描述协议SDP,以使所述目标推流边缘节点设备在各第一SDP中确定其支持的第一目标SDP;
接受所述目标推流边缘节点设备发送的所述第一目标SDP;
按照所述第一目标SDP,将所述目标通信数据传输至所述目标推流边缘节点设备。
4.一种流媒体调度方法,其特征在于,应用于拉流边缘节点设备,所述方法包括:
接收拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,所述目标推流边缘节点设备为缓存目标通信数据的节点设备,所述目标通信数据是由推流用户端发送到推流边缘节点设备,再由所述推流边缘节点设备根据所述目标推流边缘节点设备的第一地址和第一端口号发送到所述目标推流边缘节点设备上,所述第一地址和所述第一端口号是所述推流边缘节点设备在满足预设的节点裂变条件时,向调度中心发送裂变请求获取到的;
以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据;
将所述目标通信数据发送至所述拉流用户端。
5.如权利要求4所述的方法,其特征在于,所述以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据,包括:
以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,建立与所述目标推流边缘节点设备的第二信令通道;
通过所述第二信令通道,向所述目标推流边缘节点设备发送至少一个第二会话描述协议SDP,以使所述目标推流边缘节点设备在各第二SDP中确定其支持的第二目标SDP;
接受所述目标推流边缘节点设备发送的所述第二目标SDP;
按照所述第二目标SDP,接收所述目标推流边缘节点设备发送的所述目标通信数据。
6.一种流媒体调度装置,其特征在于,应用于推流边缘节点设备,包括:
判断模块,用于根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件;
执行模块,用于若所述推流边缘节点设备满足所述节点裂变条件,向调度中心发送裂变请求,以使所述调度中心从推流边缘节点设备群中确定目标推流边缘节点设备,其中,所述目标推流边缘节点设备为所述推流边缘节点设备群中设备状态处于可用状态的性能最好的推流边缘节点设备;
第一接收模块,用于接收所述调度中心发送的所述目标推流边缘节点设备的第一地址和第一端口号;
传输模块,用于以所述第一地址作为连接所述目标推流边缘节点设备的地址,并以所述第一端口号代表的端口作为连接所述目标推流边缘节点设备的端口,将推流用户端发送的目标通信数据传输至所述目标推流边缘节点设备,以使所述目标推流边缘节点设备对所述目标通信数据进行缓存。
7.如权利要求6所述的装置,其特征在于,所述性能衡量指标包括剩余带宽、剩余内存容量、CPU使用率和链路连接数,所述判断模块在用于根据所述推流边缘节点设备的至少一个性能衡量指标,实时判断所述推流边缘节点设备是否满足预设的节点裂变条件时,包括:
第一判断模块,用于当所述性能衡量指标为所述剩余带宽时,根据所述剩余带宽,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余带宽小于第一预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第二判断模块,用于当所述性能衡量指标为所述剩余内存容量时,根据所述剩余内存容量,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述剩余内存容量小于第二预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第三判断模块,用于当所述性能衡量指标为所述CPU使用率时,根据所述CPU使用率,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述CPU使用率大于第三预设阈值时,所述推流边缘节点设备满足所述节点裂变条件;
第四判断模块,用于当所述性能衡量指标为所述链路连接数时,根据所述链路连接数,实时判断所述推流边缘节点设备是否满足所述节点裂变条件,当所述链路连接数大于第四预设阈值时,所述推流边缘节点设备满足所述节点裂变条件。
8.一种流媒体调度装置,其特征在于,应用于拉流边缘节点设备,包括:
第二接收模块,用于接收拉流用户端发送的目标推流边缘节点设备的第二地址和第二端口号,其中,所述目标推流边缘节点设备为缓存目标通信数据的节点设备,所述目标通信数据是由推流用户端发送到推流边缘节点设备,再由所述推流边缘节点设备根据所述目标推流边缘节点设备的第一地址和第一端口号发送到所述目标推流边缘节点设备上,所述第一地址和所述第一端口号是所述推流边缘节点设备在满足预设的节点裂变条件时,向调度中心发送裂变请求获取到的;
第三接收模块,用于以所述第二地址作为连接所述目标推流边缘节点设备的地址,并以所述第二端口号代表的端口作为连接所述目标推流边缘节点设备的端口,接收所述目标推流边缘节点设备发送的所述目标通信数据;
发送模块,用于将所述目标通信数据发送至所述拉流用户端。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-3或4-5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1-3或4-5中任一项所述的方法的步骤。
CN202110364813.9A 2021-04-06 2021-04-06 一种流媒体调度方法、装置、设备及存储介质 Active CN112738548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110364813.9A CN112738548B (zh) 2021-04-06 2021-04-06 一种流媒体调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110364813.9A CN112738548B (zh) 2021-04-06 2021-04-06 一种流媒体调度方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112738548A true CN112738548A (zh) 2021-04-30
CN112738548B CN112738548B (zh) 2021-06-18

Family

ID=75596417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110364813.9A Active CN112738548B (zh) 2021-04-06 2021-04-06 一种流媒体调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112738548B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422775A (zh) * 2021-06-23 2021-09-21 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN113645478A (zh) * 2021-08-11 2021-11-12 上海哔哩哔哩科技有限公司 直播推流地址分配方法及系统
CN113918326A (zh) * 2021-09-29 2022-01-11 聚好看科技股份有限公司 一种处理请求的方法及装置
CN114040217A (zh) * 2021-11-05 2022-02-11 南京小灿灿网络科技有限公司 双重混合的流媒体直播方法
CN114070827A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种转推流数据的传输方法、设备及介质
CN114598897A (zh) * 2022-02-28 2022-06-07 阿里巴巴(中国)有限公司 直播调度方法、设备和可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
CN108574685A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 一种流媒体推送方法、装置及系统
CN108712343A (zh) * 2018-05-14 2018-10-26 网宿科技股份有限公司 流媒体资源的分发方法、系统、边缘节点及中心调度系统
CN111200562A (zh) * 2019-12-03 2020-05-26 网宿科技股份有限公司 导流方法、静态父节点、边缘节点以及cdn网络
CN111464759A (zh) * 2020-03-26 2020-07-28 广州虎牙科技有限公司 一种直播导播方法、装置、存储介质及设备
CN112153555A (zh) * 2019-06-28 2020-12-29 中兴通讯股份有限公司 媒体服务在区域间的切换方法、服务器、系统及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
CN108574685A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 一种流媒体推送方法、装置及系统
CN108712343A (zh) * 2018-05-14 2018-10-26 网宿科技股份有限公司 流媒体资源的分发方法、系统、边缘节点及中心调度系统
CN112153555A (zh) * 2019-06-28 2020-12-29 中兴通讯股份有限公司 媒体服务在区域间的切换方法、服务器、系统及存储介质
CN111200562A (zh) * 2019-12-03 2020-05-26 网宿科技股份有限公司 导流方法、静态父节点、边缘节点以及cdn网络
CN111464759A (zh) * 2020-03-26 2020-07-28 广州虎牙科技有限公司 一种直播导播方法、装置、存储介质及设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422775A (zh) * 2021-06-23 2021-09-21 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN113422775B (zh) * 2021-06-23 2022-12-02 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN113645478A (zh) * 2021-08-11 2021-11-12 上海哔哩哔哩科技有限公司 直播推流地址分配方法及系统
CN113918326A (zh) * 2021-09-29 2022-01-11 聚好看科技股份有限公司 一种处理请求的方法及装置
CN114040217A (zh) * 2021-11-05 2022-02-11 南京小灿灿网络科技有限公司 双重混合的流媒体直播方法
CN114070827A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种转推流数据的传输方法、设备及介质
CN114598897A (zh) * 2022-02-28 2022-06-07 阿里巴巴(中国)有限公司 直播调度方法、设备和可读介质

Also Published As

Publication number Publication date
CN112738548B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112738548B (zh) 一种流媒体调度方法、装置、设备及存储介质
CN106850745B (zh) 一种实时同步方法和装置
Wamser et al. Modeling the YouTube stack: From packets to quality of experience
EP2757740B1 (en) Streaming media transmission quality evaluation and information acquisition method, relevant device and system
US20180205976A1 (en) Method and apparatus of obtaining video fragment
EP2320580B1 (en) System for measuring transmission bandwidth for media streaming and method for same
US20150200992A1 (en) Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US10986204B2 (en) Terminal device, edge server, data delivery system, and delivery control method
EP3014854B1 (en) Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal.
CN109769023B (zh) 一种数据传输方法、相关服务器和存储介质
CN113453085B (zh) 判断播放卡顿的方法、装置和电子终端
CN109495530B (zh) 一种实时交通数据传输方法、传输装置及传输系统
US20150271226A1 (en) Transport accelerator implementing a multiple interface architecture
CN111541711B (zh) 基于边缘计算的直播数据混流方法和装置
US20230412456A1 (en) Data communication method and apparatus, electronic device, and storage medium
CN108228625B (zh) 一种推送消息处理方法及装置
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
CN111541555A (zh) 群聊优化方法及相关产品
CN101917406B (zh) 数据传输方法及数据传输系统
EP3560152B1 (en) Determining the bandwidth of a communication link
US10044833B2 (en) Data processing method and apparatus used for terminal application
US20120072604A1 (en) technique for delivering content to a user
WO2019044065A1 (ja) 動画再生ビットレート推定装置、方法、及びプログラムを格納した非一時的なコンピュータ可読媒体、並びに通信品質測定装置
WO2020191864A1 (zh) 一种判断节点传输质量的方法、系统、装置及服务器
CN112866390B (zh) 一种数据传输方法、装置、终端设备和存储介质

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: B104, 1st floor, building 12, Zhongguancun Software Park, Haidian District, Beijing 100082

Patentee after: Baijiayun Group Co.,Ltd.

Address before: B104, 1st floor, building 12, Zhongguancun Software Park, Haidian District, Beijing 100082

Patentee before: Beijing Baijia Shilian Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220225

Address after: 430000 South taizihu innovation Valley Qidi Xiexin science and Technology Innovation Park, Wuhan Economic and Technological Development Zone, Hubei Province (qdxx-f2415)

Patentee after: Wuhan qiyunshilian Technology Co.,Ltd.

Address before: B104, 1st floor, building 12, Zhongguancun Software Park, Haidian District, Beijing 100082

Patentee before: Baijiayun Group Co.,Ltd.