CN109921937B - 一种对流协议长时间任务进行自动验证的测试系统及方法 - Google Patents

一种对流协议长时间任务进行自动验证的测试系统及方法 Download PDF

Info

Publication number
CN109921937B
CN109921937B CN201910196552.7A CN201910196552A CN109921937B CN 109921937 B CN109921937 B CN 109921937B CN 201910196552 A CN201910196552 A CN 201910196552A CN 109921937 B CN109921937 B CN 109921937B
Authority
CN
China
Prior art keywords
task
time
data
tested
long
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.)
Active
Application number
CN201910196552.7A
Other languages
English (en)
Other versions
CN109921937A (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.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo 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 Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN201910196552.7A priority Critical patent/CN109921937B/zh
Publication of CN109921937A publication Critical patent/CN109921937A/zh
Application granted granted Critical
Publication of CN109921937B publication Critical patent/CN109921937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种对流协议长时间任务进行自动验证的测试系统及方法。用户通过主控平台配置安装监测工具到被测服务器上,并获取被测服务器上待测所有的长时间任务,进行逐条并发监测,并同时将实时的输入输出信源、任务日志等保存在一个固定目录中,当出现配置的严重告警或者发现错误时,实时将问题的信息及相关问题的调查资料发送到用户,方便用户调查问题;如果所定周期内没有出现问题,则反馈正常。本发明的有益效果是:能够大大提高视频直播流的稳定性测试效率,同时问题发现的时延较小。

Description

一种对流协议长时间任务进行自动验证的测试系统及方法
技术领域
本发明涉及视频编解码相关技术领域,尤其是指一种对流协议长时间任务进行自动验证的测试系统及方法。
背景技术
在视频直播流的转码领域,对于转码器转码后的直播输出流的正确性和稳定性验证一直是业界比较头疼的事情。测试直播流的难点主要有以下几点:
一.人力耗费大。由于直播流是实时的,所以如果使用人工测试,则需要有人一天到晚目不转睛地盯着屏幕,观察其正确性和稳定性。因为需要检查的直播流可能有很多,所以如果使用人工的方式,对于人力的消耗几乎是个无底洞。
二.无法保证所有问题都能被及时发现。因为无法保证测试人员的注意力一直集中于视频内容,所以很可能出现漏掉一些问题的情况。
三.问题定位非常困难。主要有两方面原因:
1.信源是实时的,而很多情况下,都是信源的特殊性导致了转码程序出现问题,而看到问题的时候,异常信源也已经流逝过去。对于后期的问题重现和验证都有非常大的影响,甚至可能无法重现。
2.信源和直播流输出本身都可能受网络因素影响。有些播放错误可能是由于网络引起的干扰项,并非转码程序本身问题。以udp协议流为例,因为udp协议本身没有重传机制,所以网络传输时可能会出现丢包,则必然会导致视频播放时会有马赛克的情况。因此,当播放输出看到马赛克时,不一定是转码程序引起的。
现有技术对视频直播流转码任务的长时间稳定性的测试方法如下:
1.运行视频实时流转码任务,每天不定时抽查任务状态,任务告警。用播放器播放输出的直播流,观察音视频码流的正确性。检查服务器上的任务的CPU和内存使用等。
2.对于部分协议的直播流,可使用码流分析仪来同时检测直播流封装层的错误,定期人工查看是否有异常告警。
当前的测试方法饱受上述的难点的束缚,导致直播流的稳定性测试效率比较低,问题发现的时延较大。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种测试效率高的对流协议长时间任务进行自动验证的测试系统及方法。
为了实现上述目的,本发明采用以下技术方案:
一种对流协议长时间任务进行自动验证的测试系统,包括主控平台、安装单元、数据采集单元、数据分析处理单元和结果反馈单元,
所述的主控平台为一个集群控制中心,通过主控平台同时对多台被测服务器进行部署配置,下发需要测试的长时间任务用例,并最终通过结果反馈单元收集所有任务运行结果;
所述的安装单元自动安装系统运行所需的运行环境,主控平台通过安装单元为被测服务器配置运行环境;
所述的数据采集单元在任务运行期间自动使用所需要系统命令、测试工具命令或者第三方检测程序接口调用,对被测服务器的资源数据、任务的实时信源和实时输出进行采集并放入数据库;
所述的数据分析处理单元在任务运行期间将数据采集单元所收集的数据进行处理;
所述的结果反馈单元在数据分析处理单元发现严重问题或者周期性提供测试结果报告,将期间发现的问题以邮件或者其他方式推送到需要获取该信息的使用者并通过主控平台呈现;
所述的主控平台内设有配置单元,配置单元为主控平台的一个关键部分,用于填写配置项。
用户通过主控平台配置安装监测工具到被测服务器上,并获取被测服务器上待测所有的长时间任务,进行逐条并发监测,并同时将实时的输入输出信源、任务日志保存在一个固定目录中,当出现配置的严重告警或者发现错误时,实时将问题的信息及相关问题的调查资料发送到用户,方便用户调查问题;如果所定周期内没有出现问题,则反馈正常。通过上述系统能够大大提高视频直播流的稳定性测试效率,同时问题发现的时延较小。
作为优选,还包括存储数据设备,数据采集单元将任务的信源和输出收录保存至存储数据设备,存储数据设备将每个任务的信源和输出传输给数据分析处理单元。
作为优选,所述的配置项包括任务所耗的各种资源占比阈值、是否带有特殊硬件、数据收集起始点、严重告警错误码范围、第三方工具对应设置。
作为优选,所述数据分析处理单元的处理包括如下:
(1)比对单个任务当前消耗的实时资源与任务刚启动不久时的资源,分析是否超出了一定的比例;
(2)检测任务运行中出现的错误码,分析是否出现严重错误或者性能错误告警;
(3)对于第三方工具和第三方检测程序的返回数据进行整理分析,分析是否出现问题;
(4)若上述的分析过程中发现问题,将对应时间点的任务日志、输入输出信源、任务告警信息集中放到一个目录下。
作为优选,在数据分析处理单元的处理(3)中,第三方检测程序会对信源和输出同时进行检测,为了确保输出出现问题时,输入信源的情况正常,从而减少干扰项;第三方工具除了会检查流是否存在静帧、卡顿、马赛克、色块、花屏播放内容问题之外,也会检查视频流封装层是否存在问题。
作为优选,所述任务所耗的各种资源包括:每个被测长时间任务的单个进程CPU使用率、被测进程的内存使用率、被测进程对GPU的使用率、被测进程对GPU编解码的使用率、被测进程的显存使用率、被测进程使用的网络流量、被测设备的CPU温度、被测设备的GPU温度、被测设备的硬件编码卡使用率这些所有用户期望得到的数据。
作为优选,所述的特殊硬件包括:不同产家的SDI输入输出卡、ASI输入输出卡、AES输入设备这些所有作为音视频输入设备的硬件。
本发明还提供了一种对流协议长时间任务进行自动验证的测试方法,具体包括如下步骤:
(a)在被测服务器上将所有需要用到的第三方工具和第三方检测程序安装好,配置项中配置写入的资源最高增长比、第三方分析模块名称、性能值计算起始时间、严重错误码、结果反馈周期;
(b)将所有需要长时间监测的任务运行;
(c)数据采集单元根据性能值计算起始时间开始数据监测采集;
(d)数据分析处理单元判断任务是否出现异常,如果出现异常,则进入步骤(e)中,如果没有出现异常,则进入步骤(g)中;
(e)将任务相关的数据进行计算和整理后传给结果反馈单元;
(f)结果反馈单元通过邮件方式反馈问题,返回步骤(c)中继续循环;
(g)判断是否达到结果反馈周期,如果达到,则进入到步骤(h)中,如果未达到,则进入到步骤(c)中;
(h)将无异常结果的数据归档并将过期的无用数据删除,进入到步骤(f)中。
本发明的有益效果是:能够大大提高视频直播流的稳定性测试效率,同时问题发现的时延较小。
附图说明
图1是本发明的系统框架图;
图2是本发明的方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种对流协议长时间任务进行自动验证的测试系统,包括主控平台、安装单元、数据采集单元、数据分析处理单元、结果反馈单元和存储数据设备,
主控平台为一个集群控制中心,通过主控平台同时对多台被测服务器进行部署配置,下发需要测试的长时间任务用例,并最终通过结果反馈单元收集所有任务运行结果;
主控平台内设有配置单元,配置单元为主控平台的一个关键部分,用于填写配置项;配置项包括但不限于任务所耗的各种资源占比阈值、是否带有特殊硬件、数据收集起始点、严重告警错误码范围、第三方工具对应设置;
任务所耗的各种资源包括但不限于:每个被测被测长时间任务的单个进程CPU使用率、被测进程的内存使用率、被测进程对GPU的使用率(可选)、被测进程对GPU编解码的使用率、被测进程的显存使用率、被测进程使用的网络流量、被测设备的CPU温度、被测设备的GPU温度(可选)、被测设备的硬件编码卡使用率(可选)这些所有用户期望得到的数据;
特殊硬件包括但不限于:不同产家的SDI输入输出卡、ASI输入输出卡、AES输入设备这些所有作为音视频输入设备的硬件;
安装单元自动安装系统运行所需的运行环境,主控平台通过安装单元为被测服务器配置运行环境,包括测试工具、数据库等;
数据采集单元在任务运行期间自动使用所需要系统命令、测试工具命令或者第三方检测程序接口调用,对被测服务器的资源数据、任务的实时信源和实时输出进行采集并放入数据库;
数据分析处理单元在任务运行期间将数据采集单元所收集的数据进行处理;其中:数据分析处理单元的处理包括但不限于如下:
(1)比对单个任务当前消耗的实时资源与任务刚启动不久时的资源,分析是否超出了一定的比例;
(2)检测任务运行中出现的错误码,分析是否出现严重错误或者性能错误告警;
(3)对于第三方工具和第三方检测程序的返回数据进行整理分析,分析是否出现问题;第三方检测程序会对信源和输出同时进行检测,为了确保输出出现问题时,输入信源的情况,从而减少干扰项;第三方工具除了会检查流是否存在静帧、卡顿、马赛克、色块、花屏播放内容问题之外,也会检查视频流封装层是否存在问题;
(4)若上述的分析过程中发现问题,将对应时间点的任务日志、输入输出信源、任务告警信息集中放到一个目录下;
由于数据分析处理单元可能会很耗性能或者时间,可以通过提升服务器配置或者借助云服务器等技术来达到;
结果反馈单元在数据分析处理单元发现严重问题或者周期性提供测试结果报告,将期间发现的问题以邮件或者其他方式推送到需要获取该信息的使用者并通过主控平台呈现;
存储数据设备,数据采集单元将任务的信源和输出收录保存至存储数据设备,存储数据设备将每个任务的信源和输出传输给数据分析处理单元。
用户通过主控平台配置安装监测工具到被测服务器上,并获取被测服务器上待测所有的长时间任务,进行逐条并发监测,并同时将实时的输入输出信源、任务日志等保存在一个固定目录中,当出现配置的严重告警或者发现错误时,实时将问题的信息及相关问题的调查资料发送到用户,方便用户调查问题;如果所定周期内没有出现问题,则反馈正常。
如图2所示,本发明还提供了一种对流协议长时间任务进行自动验证的测试方法,体包括如下步骤:
(a)在被测服务器上将所有需要用到的第三方工具和第三方检测程序安装好,配置项中配置写入的资源最高增长比、第三方分析模块名称、性能值计算起始时间、严重错误码、结果反馈周期;
(b)将所有需要长时间监测的任务运行;
(c)数据采集单元根据性能值计算起始时间开始数据监测采集;
(d)数据分析处理单元判断任务是否出现异常,如果出现异常,则进入步骤(e)中,如果没有出现异常,则进入步骤(g)中;
(e)将任务相关的数据进行计算和整理后传给结果反馈单元;
(f)结果反馈单元通过邮件方式反馈问题,返回步骤(c)中继续循环;
(g)判断是否达到结果反馈周期,如果达到,则进入到步骤(h)中,如果未达到,则进入到步骤(c)中;
(h)将无异常结果的数据归档并将过期的无用数据删除,进入到步骤(f)中。
当前实施例的环境是基于linux系统Centos6.5和7.3版本上实现,目前实现的长时间测试协议类型为udp、rtmp、http。但是同类测试的思想是一样的,对于不同的系统平台都可以做相应的扩展。
配置项中数据采集频率(默认1秒)、采集计算起始时间(为了让采集的数据是在相对稳定的情况下,所以舍弃了任务刚开始运行的一段时间性能数据,默认值为120秒)、资源增长阈值(资源使用率增长值不可超过的比例,例如设定为1.5,起始资源使用率为10,则超过15会出现告警)、反馈周期、达到反馈条件的任务错误码、任务信息存放地址等。
数据采集单元采集内容如下:
前提:数据采集开始于任务运行了配置项中设置的采集计算开始时间后。
1.使用CentOS系统自带命令在任务运行采集被测任务当前的CPU使用率和被测任务当前的内存使用率,并记录入数据库;
2.以调用第三方程序接口的方式采集任务运行期间的错误码,包括程序运行时本身的错误、错误码出现时间及第三方检测程序给出的错误码及其相应的数据(目前使用的第三方检测程序分别为码流分析仪和文件分析软件baton,码流分析仪可以检测TS流的TR101290,文件分析工具可以分析文件的错误),并记录入数据库;
3.调用ffmpeg的接口,使用ffmpeg将被测任务的信源按时间段每10分钟一个切片收录并给文件名上标记上收录时间段、同样将被测任务的输出也按同样方式收录放到指定的存储路径,并将存储路径记录入数据库。
数据分析处理单元会对采集的性能数据进行比对计算和分析。具体内容包括以下:
1.任务实时资源跟最初资源使用率的比值是否超过资源正常阈值,如果超过则产生告警,并向结果反馈单元反馈。
2.对于收录下来的源视频文件和输出文件调用第三方程序进行分析,主要分析视频内容中是否存在卡顿、花屏、马赛克、色块、静帧以及是否码流是否存在上下溢等情况。如果有问题则会产生告警,并向结果反馈单元反馈。
3.将达到反馈条件的任务在相应时间段内的告警、资源使用值、文件分析结果等统一放到指定位置。
结果反馈单元在达到反馈周期,或者出现异常告警后会立刻通过邮件告知配置的邮件用户。邮件内容包括以下:
1.如果是任务本身出现严重错误,邮件内容中会标明出错时间、出错错误码、相应的视频源和视频输出路径以及相应时段的任务运行日志。
2.如果是输出流出现马赛克、卡顿、静帧等情况,会同时将同一时间的输入流的分析情况和输出流的分析情况一同发出,并根据时间段列出,方便用于确认是否由于信源本身问题而导致输出流的播放出现问题。

Claims (7)

1.一种对流协议长时间任务进行自动验证的测试系统,其特征是,包括主控平台、安装单元、数据采集单元、数据分析处理单元和结果反馈单元,
所述的主控平台为一个集群控制中心,通过主控平台同时对多台被测服务器进行部署配置,下发需要测试的长时间任务用例,并最终通过结果反馈单元收集所有任务运行结果;
所述的安装单元自动安装系统运行所需的运行环境,主控平台通过安装单元为被测服务器配置运行环境;
所述的数据采集单元在任务运行期间自动使用所需要系统命令、测试工具命令或者第三方检测程序接口调用,对被测服务器的资源数据、任务的实时信源和实时输出进行采集并放入数据库;
所述的数据分析处理单元在任务运行期间将数据采集单元所收集的数据进行处理;所述数据分析处理单元的处理包括如下:
(1)比对单个任务当前消耗的实时资源与任务刚启动不久时的资源,分析是否超出了一定的比例;
(2)检测任务运行中出现的错误码,分析是否出现严重错误或者性能错误告警;
(3)对于第三方工具和第三方检测程序的返回数据进行整理分析,分析是否出现问题;
(4)若上述的分析过程中发现问题,将对应时间点的任务日志、输入输出信源、任务告警信息集中放到一个目录下;
所述的结果反馈单元在数据分析处理单元发现严重问题或者周期性提供测试结果报告,将期间发现的问题以邮件或者其他方式推送到需要获取该信息的使用者并通过主控平台呈现;
所述的主控平台内设有配置单元,配置单元为主控平台的一个关键部分,用于填写配置项。
2.根据权利要求1所述的一种对流协议长时间任务进行自动验证的测试系统,其特征是,还包括存储数据设备,数据采集单元将任务的信源和输出收录保存至存储数据设备,存储数据设备将每个任务的信源和输出传输给数据分析处理单元。
3.根据权利要求1或2所述的一种对流协议长时间任务进行自动验证的测试系统,其特征是,所述的配置项包括任务所耗的各种资源占比阈值、是否带有特殊硬件、数据收集起始点、严重告警错误码范围、第三方工具对应设置。
4.根据权利要求1所述的一种对流协议长时间任务进行自动验证的测试系统,其特征是,在数据分析处理单元的处理(3)中,第三方检测程序会对信源和输出同时进行检测,为了确保输出出现问题时,输入信源的情况正常,从而减少干扰项;第三方工具除了会检查流是否存在静帧、卡顿、马赛克、色块、花屏播放内容问题之外,也会检查视频流封装层是否存在问题。
5.根据权利要求3所述的一种对流协议长时间任务进行自动验证的测试系统,其特征是,所述任务所耗的各种资源包括:每个被测长时间任务的单个进程CPU使用率、被测进程的内存使用率、被测进程对GPU的使用率、被测进程对GPU编解码的使用率、被测进程的显存使用率、被测进程使用的网络流量、被测设备的CPU温度、被测设备的GPU温度、被测设备的硬件编码卡使用率这些所有用户期望得到的数据。
6.根据权利要求3所述的一种对流协议长时间任务进行自动验证的测试系统,其特征是,所述的特殊硬件包括:不同产家的SDI输入输出卡、ASI输入输出卡、AES输入设备这些所有作为音视频输入设备的硬件。
7.一种对流协议长时间任务进行自动验证的测试方法,其特征是,具体包括如下步骤:
(a)在被测服务器上将所有需要用到的第三方工具和第三方检测程序安装好,配置项中配置写入的资源最高增长比、第三方分析模块名称、性能值计算起始时间、严重错误码、结果反馈周期;
(b)将所有需要长时间监测的任务运行;
(c)数据采集单元根据性能值计算起始时间开始数据监测采集;
(d)数据分析处理单元判断任务是否出现异常,如果出现异常,则进入步骤(e)中,如果没有出现异常,则进入步骤(g)中;
(e)将任务相关的数据进行计算和整理后传给结果反馈单元;
(f)结果反馈单元通过邮件方式反馈问题,返回步骤(c)中继续循环;
(g)判断是否达到结果反馈周期,如果达到,则进入到步骤(h)中,如果未达到,则进入到步骤(c)中;
(h)将无异常结果的数据归档并将过期的无用数据删除,进入到步骤(f)中。
CN201910196552.7A 2019-03-15 2019-03-15 一种对流协议长时间任务进行自动验证的测试系统及方法 Active CN109921937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910196552.7A CN109921937B (zh) 2019-03-15 2019-03-15 一种对流协议长时间任务进行自动验证的测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910196552.7A CN109921937B (zh) 2019-03-15 2019-03-15 一种对流协议长时间任务进行自动验证的测试系统及方法

Publications (2)

Publication Number Publication Date
CN109921937A CN109921937A (zh) 2019-06-21
CN109921937B true CN109921937B (zh) 2022-02-18

Family

ID=66964931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910196552.7A Active CN109921937B (zh) 2019-03-15 2019-03-15 一种对流协议长时间任务进行自动验证的测试系统及方法

Country Status (1)

Country Link
CN (1) CN109921937B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475361A (zh) * 2020-04-17 2020-07-31 苏州浪潮智能科技有限公司 一种服务器视频卡的测试方法、系统、设备及可读介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199247A1 (en) * 2014-01-15 2015-07-16 Linkedln Corporation Method and system to provide a unified set of views and an execution model for a test cycle
CN103763551B (zh) * 2014-02-10 2015-06-17 杭州友声科技有限公司 一种基于深度包检测的视频测试方法
CN107454384A (zh) * 2017-07-27 2017-12-08 网宿科技股份有限公司 一种直播性能测试方法和装置
CN107835192B (zh) * 2017-11-29 2020-12-15 上海网达软件股份有限公司 一种检测实时转码系统中hls直播流是否正常的方法及系统
CN108304286A (zh) * 2018-01-17 2018-07-20 杭州当虹科技有限公司 一种对转码服务器并发性能进行自动化测试的系统及方法

Also Published As

Publication number Publication date
CN109921937A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
US9620118B2 (en) Method and system for testing closed caption content of video assets
US10931975B2 (en) Techniques for detecting media playback errors
CN111506489A (zh) 测试方法、系统、设备、服务器及存储介质
CN109995614B (zh) 一种α测试方法及装置
CN105354042A (zh) 应用安装的处理方法及装置
CN103678124B (zh) 基于持续集成环境的视频监控平台自动测试方法及装置
CN105872611A (zh) 一种云直播系统的承压测试方法及设备
US20150071611A1 (en) Identifying an rerecording only the incomplete units of a program broadcast recording
CN112153410B (zh) 一种流媒体服务高并发测试方法和系统
CN110620685A (zh) 一种上报设备异常的方法及装置
CN109921937B (zh) 一种对流协议长时间任务进行自动验证的测试系统及方法
CN106789209B (zh) 异常处理方法和装置
CN106972983B (zh) 网络接口的自动化测试装置及方法
CN116450512B (zh) 一种软件测试方法和软件测试装置
CN108965492B (zh) 弹幕链接质量统计的方法、存储介质、电子设备及系统
CN111930625A (zh) 基于云服务平台的日志获取方法、装置及系统
CN107231268B (zh) 测试网站性能的方法和装置
CN113691799A (zh) 直播流交互控制方法及其相应的装置、设备、介质
CN113923443A (zh) 一种网络录像机测试方法、装置及计算机可读存储介质
CN112995648B (zh) 互联网电视全流程故障诊断方法、装置及计算设备
CN109271296B (zh) 一种冻屏测试方法
CN111158019A (zh) 数据处理方法和装置及系统
CN106528561A (zh) 基于互联网爬虫技术的互联网内容资源探测方法
CN110839162A (zh) 一种播放状态检测方法及装置
CN116405659A (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