一种视频故障监控方法、装置、系统及电子设备与流程

文档序号:11216287阅读:805来源:国知局
一种视频故障监控方法、装置、系统及电子设备与流程

本发明涉及互联网技术领域,特别是涉及一种视频故障监控方法、装置、系统及电子设备。



背景技术:

随着网络技术的发展,网络视频日益增多。在网络视频播放的过程中,由于不同用户终端的网络状况或者观看环境各有差异,经常会出现视频卡顿、无法播放等错误。除了用户本身网络环境的问题外,运营商也可能对网络进行流量控制等操作,造成视频卡顿的原因多种多样且可以发生变化。

现有技术中,通常在服务器端部署监控程序来监控视频服务的访问和流量,但上述监控方式对某些故障并不能监控到位,比如运营商流量限制等故障,对于这些故障,网络视频服务商的支撑后台自身的监控显示并没有问题,但用户端却可能发生局部卡顿、播放错误等故障,而网络视频服务商的支撑后台对此可能一无所知。



技术实现要素:

本发明实施例的目的在于提供一种视频故障监控方法、装置、系统及电子设备,通过在终端获取和服务器端分析构建一个视频故障监控系统,以及时发现用户端播放故障的原因,提高后台服务质量,改善用户的播放体验。

具体技术方案如下:

一种视频故障监控方法,包括:

终端监控视频应用访问视频服务时的运行状态;

当所述视频应用发生故障时,所述终端从视频服务支撑平台获取与所述视频应用相关的服务数据;

所述终端将所述服务数据发送给所述视频应用对应的监控服务器。

在本发明实施例提供的一种实现方式中,所述获取与所述视频应用相关的服务数据,包括:

所述终端模拟所述视频应用访问视频服务时的流程,获取所述视频服务支撑平台与所述视频应用相关的服务数据;其中,所述终端通过调用软件开发包sdk模拟所述视频应用访问视频服务时的流程。

一种视频故障监控装置,包括:

监控模块,用于监控视频应用访问视频服务时的运行状态;

获取模块,用于当所述视频应用发生故障时,从视频服务支撑平台获取与所述视频应用相关的服务数据;

发送模块,用于将所述服务数据发送给所述视频应用对应的监控服务器。

在本发明实施例提供的一种实现方式中,所述获取模块具体用于模拟所述视频应用访问视频服务时的流程,获取所述视频服务支撑平台与所述视频应用相关的服务数据;其中,所述终端通过调用软件开发包sdk模拟所述视频应用访问视频服务时的流程。

一种视频故障监控系统,该系统包括终端和服务器;

所述终端用于监控视频应用访问视频服务时的运行状态;当所述视频应用发生故障时,所述终端从视频服务支撑平台获取与所述视频应用相关的服务数据;所述终端将所述服务数据发送给所述视频应用对应的监控服务器;

所述服务器用于接收终端发送的服务数据,对所述服务数据生成所述视频服务支撑平台中各服务对应的监控报告。

在本发明实施例提供的一种实现方式中,所述对所述服务数据生成所述视频服务支撑平台中各服务对应的监控报告,包括:

按照所述视频服务支撑平台的服务类别,对所述服务数据进行分类,获取各服务类别对应的服务数据;

对各服务类别对应的服务数据生成视频服务支撑平台中各服务对应的监控报告。

在本发明实施例提供的一种实现方式中,所述对所述服务数据生成所述视频服务支撑平台中各服务对应的监控报告之后,还包括:

所述服务器还用于周期性发送所述视频服务支撑平台中各服务对应的监控报告。

在本发明实施例提供的一种实现方式中,所述接收终端发送的服务数据,具体包括:所述服务器从线上mysql数据库中读取所述终端投递的服务数据。

一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现权利要求1-2任一所述的方法步骤。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的视频故障监控方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的视频故障监控方法。

与现有技术相比,本发明实施例提供的一种视频故障监控方法、装置、系统及电子设备,可以实现从用户端观察视频服务后台并监控服务质量,比单纯监控视频服务后台的服务更容易发现视频播放故障原因,可以对用户体验直观和准确的了解,帮助提高视频服务质量,改善用户的播放体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例中的一种视频故障监控系统结构图;

图2为本发明实施例中应用于终端的视频故障监控方法流程图;

图3为本发明实施例中应用于终端的视频故障监控装置结构图;

图4为本发明实施例中一种电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

下面通过具体实施例,对本发明进行详细说明。

如图1所示,本发明实施例中一种视频故障监控系统,监控系统303包括终端301和服务器302;

终端301用于监控视频应用访问视频服务时的运行状态;当所述视频应用发生故障时,所述终端从视频服务支撑平台获取与所述视频应用相关的服务数据;所述终端将所述服务数据发送给所述视频应用对应的监控服务器;

服务器302用于接收终端发送的服务数据,对所述服务数据生成所述视频服务支撑平台中各服务对应的监控报告。

本发明实施例提供的视频故障监控系统中,服务器302可以是为用户提供视频服务的服务器也可以是独立的专门用来监控终端的服务器,例如做刀片式服务器、塔式服务器等。

用户需要通过安装在终端301上的视频应用观看本地或网络上的视频。其中,当用户通过安装在终端上的视频应用观看网络上的视频时,网络中的视频服务支撑平台的多种服务需要同时运行,为终端上的视频应用提供视频服务。

用户在使用视频应用看视频时,经常会发生卡顿、播放错误、无法播放等情况,终端会获取服务数据发送给监控服务器。监控服务器会接收终端发来的服务数据,通过对终端发送的服务数据分析,判断服务数据中异常数据及对应的可能发生的故障,对所述服务数据进行分析可以包括但不限于以下一种或多种:根据用户ip分析地域运营商等信息,补充用户投递数据;根据服务类别对数据逐类分辨;通过比对权威dns(domainnamesystem,域名系统)服务器的数据和获取的服务数据,分析dns劫持等情况;通过校验获取的返回内容,分析服务故障情况,以及http(hypertexttransportprotocol,超文本传输协议)劫持情况。

对这些服务数据的解读分析可以判断出视频播放故障的原因,例如,视频码率高于正常值,说明该视频清晰度很高,播放该视频对硬件要求也很高,造成播放故障的原因很大可能是终端硬件条件不够好。运营商信息与预先设定的运营商信息不一致,那么造成播放故障的原因很大可能是运营商不能提供良好的网络环境或则进行了流量限制。对投递上来的dns解析结果和权威dns服务的查询结果进行分析比对,从而知晓用户端是否发生dns劫持,等等。

在本发明实施例的一种具体实施方式中,对所述服务数据生成所述视频服务支撑平台中各服务对应的监控报告,包括:

服务器按照所述视频服务支撑平台的服务类别,对所述服务数据进行分类,获取各服务类别对应的服务数据;

服务器对各服务类别对应的服务数据生成视频服务支撑平台中各服务对应的监控报告。

具体的一种情况可以是,服务器从线上mysql数据库中读取原始服务数据,通过分析程序分析,按各个视频服务关联的支撑后台的服务分门别类,生成视频服务支撑平台中各服务对应的监控报告,将分析的数据存入离线mysql数据库中。

在本发明实施例的一种具体实施方式中,所述对所述服务数据生成所述视频服务支撑平台中各服务对应的监控报告之后,还包括:

服务器周期性发送所述视频服务支撑平台中各服务对应的监控报告。

具体可以是,监控服务器生成所述视频服务支撑平台中各服务对应的监控报告之后,定时或不定时发送所述视频服务支撑平台中各服务对应的监控报告,用趋势图等描述一天的网络故障变化。而接收监控报告的可能是服务器或者功能模块,但无论哪种形式,都应有一个对应的日志之类的东西,或者是一个相关的监控程序,从而完成记录,用户可以去相应的地方查看报告。

在本发明实施例的一种具体实施方式中,所述接收终端发送的服务数据,具体包括:所述服务器从线上mysql数据库中读取所述终端投递的服务数据。

通常的监控是直接部署监控程序来监控视频服务的访问和流量等等,本发明实施例则是从用户端获取故障数据,并在服务器端形成监控,本发明实施例通过模拟用户故障现场获取故障数据,将故障数据发送给服务器进行分析,并监控分析结果,及时了解用户的网络体验,向相关服务发送监控报告,由此更贴近用户的服务体验,对用户的痛点了解更深,对于一些不是视频服务本身所导致的如运营商限制等,也可以监控到位。例如,网络侧在进行视频播放时,需要有多个网元或服务运行,比如播放服务器、计费、广告、弹幕、等等,每个功能都是由一个独立的服务模块执行的,在本发明实施例中,监控服务器在获取到故障数据后,对其分析并进行分类生成监控报告,将与每个独立的服务模块相关的监控报告发送至相关的服务,这里相关的服务可能是一个独立的服务器,也可能是一个功能模块,但无论哪种形式,都应有一个对应的日志之类的东西,或者是一个相关的监控程序,从而完成记录,用户可以去相应的地方查看报告。

对某些劫持例如dns劫持和http劫持,常规的网络侧监控服务器,根本无法感知服务被别人劫持的情况,因为在dns劫持时,用户端解析到的服务器地址已经被篡改,用户的访问记录根本不会出现在视频服务器的日志中,而本发明实施例针对这种情况,当所述视频应用发生故障时,在终端模拟视频访问流程,从视频服务支撑平台获取与所述视频应用相关的服务数据,通过这种方式会记录此时所解析的dns结果,在服务器端分析模块中对投递上来的dns解析结果和权威dns服务的查询结果进行分析比对,从而知晓用户端是否发生dns劫持。

如图2所示,本发明实施例中一种视频故障监控方法的流程图,应用于终端,包括:

s101,终端监控视频应用访问视频服务时的运行状态。

本发明实施例提供的视频故障监控方法应用于用户使用的终端,其中,终端可以为任一种提供给用户直接使用的且能够播放视频的电子设备,例如电脑、手机、网络电视等。用户需要通过安装在终端上的视频应用观看本地或网络上的视频。其中,当用户通过安装在终端上的视频应用观看网络上的视频时,网络中的视频服务支撑平台的多种服务需要同时运行,为终端上的视频应用提供视频服务。

用户在使用视频应用看视频时,经常会发生卡顿、播放错误、无法播放等情况,因此需要对视频应用访问视频服务时的状态进行监控。但由于视频服务支撑平台部署于网络侧,传统的监控方法都是在网络侧对视频应用访问的视频服务进行监控,但由于网络侧的网络状态与终端侧的网络状态存在差异,因此可能影响监控准确度。

本实施例中,在终端中部署一个监控模块,使用终端中的监控模块对视频应用访问视频服务时的运行状态进行监控,这样将可以获取到视频应用访问视频服务时的真实网络状态。

s102,当所述视频应用发生故障时,所述终端从视频服务支撑平台获取与所述视频应用相关的服务数据。

视频服务支撑平台是视频应用播放视频服务时,网络侧与该视频服务相关的一系列实体网元或服务所组成的系统。当终端中的监控模块发现视频应用中访问的视频服务发生故障时,获取模块将从与视频应用访问的视频服务相关的视频服务支撑平台的网元或服务中,获取与终端运行的视频服务相关的服务数据。其中,视频应用发生故障包括视频播放发生卡顿、播放错误、无法播放等情况。

服务数据包括:视频资源索引服务相关,如视频id,视频码率,视频调度地址,返回内容等;视频地址调度服务相关,如用户区域、运营商,cdn(contentdeliverynetwork,内容分发网络)访问地址,返回内容等;cdn服务相关,如服务返回码,下载速度等;其他视频服务相关,不一一列举。

当播放故障发生后,为了更全面准确的了解故障发生的原因,本发明实施例设置于终端的获取模块会模拟视频应用访问视频服务的流程,从视频服务支撑平台获取和该视频相关的服务数据,一种具体的流程可包括:获取模块向服务器发送视频访问接入请求,接入请求中包括所请求的视频标识信息和发起请求的终端标识信息,服务器在接到请求后会启动各种与该视频相关的服务,如:视频资源索引服务、视频地址调度服务、cdn服务等等,服务器通过这些服务可以将终端请求的视频传给终端,同时也会将为该视频提供的各种服务数据传给终端。对这些服务数据的解读分析可以判断出视频播放故障的原因,例如,视频码率高于正常值,说明该视频清晰度很高,播放该视频对硬件要求也很高,造成播放故障的原因很大可能是终端硬件条件不够好。运营商信息与预先设定的运营商信息不一致,那么造成播放故障的原因很大可能是运营商不能提供良好的网络环境或则进行了流量限制,等等。

获取模块将这些获取到的服务数据整理分类后提交给发送模块。

s103,所述终端将所述服务数据发送给所述视频应用对应的监控服务器。

在获取到与视频应用相关的服务数据后,终端中的发送模块即可将这些服务数据发送给与终端运行的视频应用对应的监控服务器。监控服务器是网络中专门用于监控网络运行状态的网元,用于获取网络运行中的产生数据,通过对数据的分析,对网络的运行状态进行监控。监控服务器可以是提供视频资源的服务器也可以是独立的专门用来监控终端视频播放状态的服务器。每个播放视频的终端都有一个或则多个服务器对其监控。

具体地,终端可以将获取的所有相关数据,通过http发送给监控服务器。当然发送方式不限于http,还可以使用tcp(transmissioncontrolprotocol,传输控制协议)、ftp(filetransferprotocol,文件传输协议)、udp(userdatagramprotocol,用户数据报协议)等发送方式发送传输。

本发明实施例的另一种具体实施方式中,步骤s102所述获取与所述视频应用相关的服务数据,包括:

所述终端模拟所述视频应用访问视频服务时的流程,获取所述视频服务支撑平台与所述视频应用相关的服务数据;其中,所述终端通过调用软件开发包sdk模拟所述视频应用访问视频服务时的流程。

为了获取视频应用访问视频服务时,更加准确的运行状态,当视频应用发生故障时,终端中的获取模块可以模拟视频应用访问视频服务时的流程,并获取视频服务支撑平台的相关服务发送的服务数据。这样获取的服务数据,与用户使用终端中的视频应用访问视频服务时产生的服务数据是相同的,能够准确地反应视频应用访问视频服务时网络的真实状态。因此将通过上述方法获取的服务数据发送给监控服务器后,监控服务器将能够准确地判断视频服务支撑平台的运行状态,从而为网络维护和故障修复提供了准确地数据支持。

具体的一种情况可以是:将sdk(softwaredevelopmentkit,软件开发工具包)嵌入终端视频app(application,软件应用)中。本发明实施例中终端sdk是一个特定的sdk,而不是任意的sdk都可以。一旦app播放发生卡顿或故障,终端通过调用软件开发包sdk模拟用户访问视频服务的流程,对服务支撑平台各个相关服务进行侦查式访问获取所有相关数据。

侦查式访问是指根据访问视频服务的流程,对服务支撑平台各相关服务访问,获取服务访问时间,响应时间,返回数据,分析域名解析情况,分析劫持情况,并针对cdn服务测试下载速度等。相比于单方面从网络侧获取终端访问视频服务信息,侦查式访问获取的数据更准确全面,提供了更完善的数据使分析结果更准确。

本发明的实施例所提供的方法,应用于终端,实现从用户端获取故障数据,并在服务器端形成监控和分析,由此更贴近用户的服务体验,对用户的痛点了解更深,对于一些不是视频服务本身所导致的如运营商限制等,也可以监控到位。

如图3所示,本发明实施例中一种视频故障监控装置结构示意图,应用于终端,所述装置包括:

监控模块201,用于监控视频应用访问视频服务时的运行状态;

获取模块202,用于当所述视频应用发生故障时,从视频服务支撑平台获取与所述视频应用相关的服务数据;

发送模块203,用于将所述服务数据发送给所述视频应用对应的监控服务器。

本发明实施例的另一种具体实施方式中所述获取模块202具体用于模拟所述视频应用访问视频服务时的流程,获取所述视频服务支撑平台与所述视频应用相关的服务数据;其中,所述终端通过调用软件开发包sdk模拟所述视频应用访问视频服务时的流程。

本发明的实施例所提供的装置,应用于终端,系统的监控模块监控播放软件的播放状态,如果发生卡顿、播放错误等影响用户体验的情况时,获取模块从终端的视频服务支撑平台获取与视频应用相关的服务数据,并由发送模块将所述服务数据发送给所述视频应用对应的监控服务器。从而实现从用户端获取故障数据,并在服务器端形成监控和分析,由此更贴近用户的服务体验,对用户的痛点了解更深,对于一些不是视频服务本身所导致的如运营商限制等,也可以监控到位。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:

终端监控视频应用访问视频服务时的运行状态;

当所述视频应用发生故障时,所述终端从视频服务支撑平台获取与所述视频应用相关的服务数据;

所述终端将所述服务数据发送给所述视频应用对应的监控服务器。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频故障监控方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频故障监控方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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