流媒体数据传输欠速判定方法、系统及装置与流程

文档序号:17125511发布日期:2019-03-16 00:22阅读:282来源:国知局
流媒体数据传输欠速判定方法、系统及装置与流程

本发明涉及多媒体传输技术领域,尤其涉及一种流媒体数据传输状态判定方法、系统及装置。



背景技术:

流媒体传输系统,例如内容分发网络(contentdeliverynetwork,cdn),通常由多个节点和节点间的链路构成,流媒体数据从源站流入传输系统,经过若干个中间节点的转发,最终送达传输目标(通常为客户端)。其中任意一个节点(包括源站、中间节点、客户端)自身出现问题(例如高负载、设备故障等),或者任意两个节点间的网络连接出现问题,都会导致目标收到的流媒体数据不足,出现播放卡顿的情况。而且在上游节点发生的问题,会导致全部下游节点都出现卡顿(即使下游每个节点和链路都是正常的)。目前排查流媒体传输欠速的方式,主要是在已知流媒体数据帧率的情况下,通过每秒收到的帧数与标准帧率进行对比,判断是否欠速。但是,这种方式存在着如下的缺陷:在实践中,流媒体数据经常是变帧率或者是未知帧率的,这种情况下使用每秒收到的帧数就很难进行欠速判定。



技术实现要素:

有鉴于此,本发明提出一种流媒体数据传输状态判定方法、系统及装置,以解决至少一个上述技术问题。

首先,为实现上述目的,本发明提出一种节点的流媒体数据传输状态判定方法,该方法包括:

获取在预定的统计周期t内从第一节点所接收到的流媒体数据的播放时长p,所述第一节点为任意一个节点;

计算所述播放时长p与所述统计周期t之间的差值比例;及

当所述差值比例大于或等于预设的阈值时,判定所述第一节点的传输状态为传输欠速状态。

可选地,所述方法还包括:

接收用户设置的所述统计周期t;或

解析所述第一节点的日志周期数据得到所述统计周期t。

可选地,所述获取所述统计周期t内从第一节点所接收到的流媒体数据的播放时长p包括:

在所述统计周期t内,分别记录周期头部从所述第一节点接收到的流时间戳p1和周期尾部从所述第一节点接收到的流时间戳p2,根据所述流时间戳p1和流时间戳p2计算得到所述统计周期t内从所述第一节点所接收到的流媒体数据的播放时长p,p=p2-p1。

可选地,所述获取所述统计周期t内从第一节点所接收到的流媒体数据的播放时长p包括:

从所述第一节点的日志中获取所述日志周期内的音频或视频播放时长,作为所述统计周期t内从所述第一节点所接收到的流媒体数据的播放时长p。

此外,为实现上述目的,本发明还提供一种节点的流媒体数据传输状态判定系统,所述系统包括:

获取单元,用于获取在预定的统计周期t内从第一节点所接收到的流媒体数据的播放时长p;所述第一节点为任意一个节点;

计算单元,用于计算所述播放时长p与所述统计周期t之间的差值比例;及

传输状态判定单元,用于当所述差值比例大于或等于预设的阈值时,判定所述第一节点的传输状态为传输欠速状态。

进一步地,为实现上述目的,本发明还提供一种节点的流媒体数据传输状态判定装置,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的流媒体数据传输状态判定程序,所述流媒体数据传输状态判定程序被所述处理器执行时实现如下方法:

获取预定的统计周期t内从第一节点接收到的流媒体数据的播放时长p,所述第一节点为任意一个节点;

计算所述播放时长p与所述统计周期t之间的差值比例;

及当所述差值比例大于或等于预设的阈值时,判定所述第一节点的传输状态为传输欠速状态。

可选地,所述方法还包括:

接收用户设置的所述统计周期t;或

解析所述第一节点的日志周期数据得到所述统计周期t。

可选地,

所述获取所述统计周期t内从第一节点接收到的流媒体数据的播放时长p包括:

在所述统计周期t内,分别记录周期头部从所述第一节点接收到的流时间戳p1和周期尾部从所述第一节点接收到的流时间戳p2,根据所述流时间戳p1和流时间戳p2计算得到所述统计周期t内从所述第一节点所接收到的流媒体数据的播放时长p,p=p2-p1。

可选地,

所述获取所述统计周期t内从第一节点所接收到的流媒体数据的播放时长p包括:

从所述第一节点的日志中获取所述日志周期内的音频或视频播放时长,作为所述统计周期t内从所述第一节点所接收到的流媒体数据的播放时长p。

进一步地,为实现上述目的,本发明还提供一种流媒体数据传输系统,包括至少二个能够传输流媒体数据的节点,所述每个节点包括如上所述的流媒体数据传输状态判定装置。

可选地,所述系统还包括服务器,所述服务器用于:

获取各节点的传输状态数据,并根据所述传输状态数据调整所述流媒体数据的传输路径。

可选地,所述服务器还用于:

在所述统计周期t内记录传输状态为传输欠速状态的节点个数n和采样节点总个数m;

根据所述传输状态为传输欠速状态的节点个数n和采样节点总个数m计算所述流媒体数据在全网的卡顿率n/m。

进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有流媒体数据传输状态判定程序,所述流媒体数据传输状态判定程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的流媒体数据传输状态判定方法。

相较于现有技术,本发明所提出的流媒体数据传输状态判定方法、系统和装置、流媒体数据传输系统及计算机可读存储介质,可以不依赖入帧率,也不依赖参考帧率,只要根据统计周期t内当前节点所传输流数据的播放时长p与所述统计周期t之间的差值比例,就可在整个流媒体传输过程中判定任意一个节点的流媒体数据传输状态是否欠速。该方法适用于动态帧率或未知帧率场景下的多媒体流数据传输欠速判定,同时也适用音、视频独立的多媒体场景。

附图说明

图1为实现本发明第一实施例提出的一种流媒体数据传输系统的架构示意图;

图2是本发明第二实施例提出的一种电子装置的架构示意图;

图3是本发明第三实施例提出的一种流媒体数据传输状态判定方法的流程示意图;

图4是本发明第四实施例提出的一种流媒体数据传输状态判定系统的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

第一实施例

参阅图1所示,本发明第一实施例提出一种流媒体数据传输系统1。上述流媒体数据传输系统1包括服务器2和多个电子装置3。上述电子装置3可以是服务器、智能手机、平板电脑、个人电脑、便携计算机以及其它具有运算功能的电子设备。

上述多个电子装置3之间以及与服务器2之间通过有线或无线网络通信连接,以进行数据传输和交互。在本实施例中,上述多个电子装置3组成多媒体流媒体数据传输的各个节点,其中包括源节点、中间节点和边缘节点。上述源节点为提供上述流媒体数据的数据源的装置,上述中间节点为从上述源节点到上述边缘节点之间传输上述流媒体数据的装置,上述边缘节点为播放上述流媒体数据的装置(客户端)。

电子装置3用于获取在预定的统计周期t内从第一节点(任意一个节点)所接收到的流媒体数据的播放时长p,计算该播放时长p与该统计周期t之间的差值比例,当该差值比例大于或等于预设的阈值时,判定该第一节点的传输状态为传输欠速状态。

针对从第一节点所接收到的流媒体数据,上述播放时长可以通过计算得到,也可以从日志中获取。例如,在上述统计周期t内,分别记录周期头部从第一节点接收到的流媒体数据时间戳p1和周期尾部从第一节点接收到的流媒体数据时间戳p2,则p2-p1为这个周期内从第一节点接收到的流媒体数据的播放时长p。又例如,在第一节点的上述ingest日志或publish日志中,获取日志中的{delta_video_time_ms}数值,即为上述统计周期t内视频播放时长,获取日志中的{delta_audio_time_ms}数值,即为上述统计周期t内音频播放时长。

先计算上述统计周期t与上述播放时长p之间的差值,然后计算上述差值占上述统计周期t的百分比,即为上述差值比例。也就是说,上述差值比例为((t-p)/t)*100%。例如,从第一节点所接收到的流媒体数据的播放时长为24秒,上述统计周期为30秒,则计算出两者之间的差值为6秒,上述差值比例为((30-24)/30)*100%=20%。

当上述差值比例大于或等于上述阈值时,表示从第一节点所接收到的流媒体数据不足以播放上述统计周期(例如所接收到的流媒体数据只能播放24秒,不足以播放30秒),会出现卡顿,因此判断第一节点的传输状态为传输欠速状态。另外,当上述差值比例小于上述阈值时,判断第一节点不存在问题。

服务器2用于获取各节点的传输状态数据,并根据该传输状态数据调整流媒体数据的传输路径。

当服务器2接收到各个节点上报的传输状态数据后,若第一节点的传输状态为传输欠速状态,则触发自动切换逻辑,切换流媒体数据的传输路径,绕过该第一节点,从其他备选路径进行传输。上述自动切换逻辑可以包括很多种切换策略,例如预先保存一个带优先级的路径列表,切换时自动尝试下一条路径。

服务器2还用于在该统计周期t内记录传输状态为传输欠速状态的节点个数n和采样节点总个数m,根据该传输欠速的节点个数n和采样节点总个数m计算流媒体数据在全网的卡顿率n/m。

在上述统计周期t内,可以在上述流媒体数据传输系统1的所有节点中采样多个节点进行卡顿判定。每当判断出一个传输状态为传输欠速状态的节点时,服务器2将个数n加1(初始值为0),并且统计所采样的节点总个数,记为m。另外,还可以监控上述流媒体数据的某一条传输路径,在上述统计周期t内,每当从上述传输路径中判断出一个传输状态为传输欠速状态的节点时,将个数n加1,并且统计上述传输路径中包含的节点总个数,记为m。

根据统计出的传输状态为传输欠速状态的节点个数n和采样节点总个数m,计算得到该统计周期内上述流媒体数据在全网(或者上述传输路径)的卡顿率为:n/m。例如,针对上述统计周期内的某路回源/推流直播流,可以得到回源ingest的音、视频卡顿率,或者推流publish的音、视频卡顿率。

第二实施例

参阅图2所示,本发明第二实施例提出一种实现节点的流媒体数据传输状态判定方法的流媒体数据传输状态判定装置20。

在本实施例中,上述流媒体数据传输状态判定装置20可以是上述服务器2或电子装置3。上述流媒体数据传输状态判定装置20包括:存储器11、处理器13、网络接口15及通信总线17。其中,网络接口15可选地可以包括标准的有线接口、无线接口(如wi-fi接口)。通信总线17用于实现这些组件之间的连接通信。

存储器11至少包括一种类型的可读存储介质。上述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,存储器11可以是装置20的内部存储单元,例如该装置20的硬盘。在另一些实施例中,存储器11也可以是装置20的外部存储单元,例如装置20上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

存储器11可以用于存储安装于装置20的应用软件及各类数据,例如流媒体数据传输状态判定程序10的程序代码及其运行过程中产生的相关数据。

处理器13在一些实施例中可以是一中央处理器,微处理器或其它数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。

图2仅示出了具有组件11-17以及流媒体数据传输状态判定程序10的装置20,但是应理解的是,图2并未示出装置20的所有组件,可以替代实施更多或者更少的组件。

在图2所示的装置20实施例中,作为一种计算机存储介质的存储器11中存储流媒体数据传输状态判定程序10的程序代码,处理器13执行上述流媒体数据传输状态判定程序10的程序代码时,实现如下方法:

(1)获取预定的统计周期t内从第一节点所接收到的流媒体数据的播放时长p。

(2)计算上述播放时长p与上述统计周期t之间的差值比例。

(3)比较上述差值比例和预设的阈值。

(4)当上述差值比例大于或等于上述阈值时,判断上述第一节点的传输状态为传输欠速状态。

上述方法的详细说明请参阅下述第三实施例,在此不再赘述。

第三实施例

参阅图3所示,本发明第三实施例提出一种节点的流媒体数据传输状态判定方法,应用于上述流媒体数据传输状态判定装置20。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。此外,有关流媒体数据传输的常规处理步骤,可以根据实际应用场景纳入本发明。该方法包括:

s20,获取预定的统计周期t内从第一节点所接收到的流媒体数据的播放时长p。

具体地,针对从第一节点所接收到的流媒体数据,上述播放时长可以通过计算得到,也可以从日志中获取。例如,在上述统计周期t内,分别记录周期头部从第一节点接收到的流媒体数据时间戳p1和周期尾部从第一节点接收到的流媒体数据时间戳p2,则p2-p1为这个周期内从第一节点接收到的流媒体数据的播放时长p。又例如,在第一节点的上述ingest日志或publish日志中,获取日志中的{delta_video_time_ms}数值,即为上述统计周期t内视频播放时长,获取日志中的{delta_audio_time_ms}数值,即为上述统计周期t内音频播放时长。

s30,计算上述播放时长p与上述统计周期t之间的差值比例。

具体地,先计算上述统计周期t与上述播放时长p之间的差值,然后计算上述差值占上述统计周期t的百分比,即为上述差值比例。也就是说,上述差值比例为((t-p)/t)*100%。例如,从第一节点所接收到的流媒体数据的播放时长为24秒,上述统计周期为30秒,则计算出两者之间的差值为6秒,上述差值比例为((30-24)/30)*100%=20%。

s40,比较上述差值比例和预设的阈值。

具体地,上述预设的阈值一般为5%到10%。这是由于网络传输的特性,数据经常出现短暂的滞留,但一般情况不至于引发卡顿。

s50,当上述差值比例大于或等于上述阈值时,判定上述第一节点的传输状态为传输欠速状态。

具体地,当上述差值比例大于或等于上述阈值时,表示从第一节点所接收到的流媒体数据不足以播放上述统计周期(例如所接收到的流媒体数据只能播放24秒,不足以播放30秒),会出现卡顿,因此判断第一节点的传输状态为传输欠速状态。另外,当上述差值比例小于上述阈值时,判断第一节点不存在问题。

本实施例提供的流媒体数据传输状态判定方法,可以不依赖入帧率,也不依赖参考帧率,只要流时间戳规则就可在整个流媒体传输过程中判定任意一个节点的流媒体数据是否出现卡顿,能显著缩短故障处理响应时长,降低故障影响,有效提升了传输质量。该方法适用于动态帧率或未知帧率场景下的流媒体数据传输欠速判定,同时也适用音、视频独立的多媒体场景。

可选的,在上述s20之前,该方法还可包括:s10,设置统计周期t。

具体地,首先设置统计每个节点所传输的流媒体数据是否出现卡顿的统计周期t(秒)。上述统计周期t可以由用户设置,也可以从上述节点的日志中获取。例如,当上述节点为源节点或边缘节点时,可以采集源站回源第三方源站的ingest日志以及边缘推流的publish日志,获取日志中的{delta_ms}数值,作为上述统计周期t,一般情况下日志周期为30秒。

第四实施例

参阅图4所示,本发明第四实施例提出一种流媒体数据传输状态判定系统40,应用于上述流媒体数据传输状态判定装置20。

在本实施例中,流媒体数据传输状态判定系统40包括获取单元400、计算单元402及传输状态判定单元404。

获取单元400,用于获取在预定的统计周期t内从第一节点所接收到的流媒体数据的播放时长p。

计算单元402,用于计算该播放时长p与该统计周期t之间的差值比例。

传输状态判定单元404,用于当该差值比例大于或等于预设的阈值时,判定上述第一节点的传输状态为传输欠速状态。

上述各个单元的具体功能说明请参阅上述第二实施例至第三实施例,在此不再赘述。

第五实施例

本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,上述计算机可读存储介质存储有流媒体数据传输状态判定程序10,上述流媒体数据传输状态判定程序10可被至少一个处理器执行,以使上述至少一个处理器执行如上述的流媒体数据传输状态判定方法。

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

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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