一种视频业务系统的验证方法和装置与流程

文档序号:29734068发布日期:2022-04-21 14:28阅读:94来源:国知局
一种视频业务系统的验证方法和装置与流程

1.本技术涉及计算机技术领域,尤其涉及一种视频业务系统的验证方法和装置。


背景技术:

2.目前,视频业务系统的测试过程是采用测试数据对测试版本的视频业务系统进行测试。但是,由于在测试环境中很少有典型的异常数据,很难触发由数据产生的问题,使得视频业务系统在生产环境中存在鲁棒性较差的问题。


技术实现要素:

3.本技术实施例的目的在于提供一种视频业务系统的验证方法和装置,以解决现有技术中存在着的视频业务系统在生产环境中存在鲁棒性较差的问题。
4.第一方面,本技术实施例提供了一种视频业务系统的验证方法,该验证方法包括:从数据库中查找未测试过的异常视频测试数据,其中,数据库中的异常视频测试数据是通过对外提供服务的正式版本的视频业务系统获取的,异常视频测试数据包括异常视频数据和异常视频数据所对应的属性信息;将未测试过的异常视频测试数据传输至测试版本的视频业务系统,以对测试版本的视频业务系统进行兼容性测试,获得兼容性测试结果;根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果。
5.在一个可能的实施例中,正式版本的视频业务系统通过如下步骤获取异常视频测试数据:采集正式版本的视频业务系统对外提供服务的过程中所产生的异常视频数据;获取异常视频数据对应的属性信息;将异常视频数据及其对应的属性信息作为异常视频测试数据存储到数据库中。
6.在一个可能的实施例中,异常视频数据包括原始视频数据和对原始视频数据进行解封装得到的目标视频数据;其中,采集正式版本的视频业务系统对外提供服务的过程中所产生的异常视频数据,包括:在原始视频数据接入失败时,采集原始视频数据作为异常视频数据;在原始视频数据接入成功但是解码失败时,采集目标视频数据作为异常视频数据。
7.在一个可能的实施例中,属性信息包括用于表示异常视频数据的异常类型的异常类型信息;获取异常视频数据对应的属性信息,包括:在确定原始视频数据接入失败的情况下,确定异常类型信息为接入异常;或者,在确定原始视频数据接入成功但是解码失败的情况下,确定异常类型信息为解码异常。
8.在一个可能的实施例中,属性信息包括视频封装格式的异常信息;其中,获取异常视频数据对应的属性信息,包括:对异常视频数据的视频封装格式进行分析,得到异常视频数据的视频封装格式的异常信息,作为属性信息。
9.在一个可能的实施例中,属性信息包括视频编码格式的异常信息;其中,获取异常视频数据对应的属性信息,包括:对异常视频数据的视频编码格式进行分析,得到异常视频数据的视频编码格式的异常信息,作为属性信息。
10.在一个可能的实施例中,属性信息还包括第一总帧数和第二总帧数;其中,第一总
帧数用于表示未进行兼容处理的异常视频数据的总帧数,第二总帧数用于表示进行兼容处理后的异常视频数据的总帧数。
11.在一个可能的实施例中,未测试过的异常视频测试数据包括至少一个属性信息,兼容性验证结果包括兼容情况和不兼容情况;其中,根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果,包括:获取未测试过的异常视频数据的属性信息所对应的兼容性测试结果;若确定兼容性测试结果中存在至少一个兼容异常测试结果,则确定测试版本的视频业务系统存在不兼容情况。
12.第二方面,本技术实施例提供了一种视频业务系统的验证装置,该验证装置包括:查找模块,用于从数据库中查找未测试过的异常视频测试数据,其中,数据库中的异常视频测试数据是通过对外提供服务的正式版本的视频业务系统获取的,异常视频测试数据包括异常视频数据和异常视频数据所对应的属性信息;测试模块,用于将未测试过的异常视频测试数据传输至测试版本的视频业务系统,以对测试版本的视频业务系统进行兼容性测试,获得兼容性测试结果;确定模块,用于根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果。
13.第三方面,本技术实施例公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面或第一方面中的步骤。
14.第四方面,本技术实施例公开了一种电子设备,该电子设备包括处理器以及存储器,存储器存储有计算机可读取指令,当计算机可读取指令由处理器执行时,运行如第一方面或第一方面中的步骤。
15.第五方面,本技术提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
16.综上,借助于上述技术方案,本技术实施例使得测试环境中能够具有对外提供服务中的异常视频数据,并可利用对外提供服务中的异常视频数据模拟对外提供服务中的数据源,并可将该模拟的数据源作为测试环境中的数据源,从而能够提前验证视频业务系统对于已发现和积累的异常视频数据在接入方法和解码方面的兼容性和鲁棒性。
17.此外,由于本技术实施例测试所使用的都是对外提供服务的正式版本的视频业务系统获取的异常视频测试数据,并且该异常视频测试数据中的异常视频数据是具有典型性的,故通过其进行兼容性验证,从而能够提高视频业务系统的鲁棒性。
18.为使本技术实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
19.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
20.图1示出了现有技术中的视频业务系统的结构框图;
21.图2示出了本技术实施例提供的一种视频业务系统的验证方法的流程图;
22.图3示出了本技术实施例提供的一种视频业务系统的验证方法的具体流程图;
23.图4示出了本技术实施例提供的一种视频报文的结构框图;
24.图5示出了本技术实施例提供的一种数据抓取过程的示意图;
25.图6示出了本技术实施例提供的一种管理异常视频数据的示意图;
26.图7示出了本技术实施例提供的一种模拟工具的示意图;
27.图8示出了本技术实施例提供的一种验证异常视频测试数据的示意图;
28.图9示出了本技术实施例提供的一种视频业务系统的验证装置的结构框图;
29.图10是本技术实施例提供的一种电子设备的结构框图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
31.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
32.请参见图1,图1示出了现有技术中的视频业务系统的结构框图。如图1所示的视频业务系统包括用于提供原始视频数据的数据源、用于接收数据源发送的视频数据的接入层、用于对接入层上传的视频数据进行解码解析的解码层和用于业务展示(例如,播放或者业务业务应用)的业务层。其中,该数据源主要包括以下三种:对接各厂家的国标视频联网平台数据源、直连设备的实时流传输协议(real time streaming protocol,rtsp)数据源和离线视频数据源。
33.目前,在多数实际项目的对外提供服务的环境(或者说生产环境)中,常出现对接下级的视频源(例如,国标视频联网平台数据源)时,由于历史建设、私有定制、网络超载、多级转发和标准理解差异等原因,造成上级的视频业务系统(例如,人工智能(artificial intelligence,ai)业务系统)接收到的视频数据出现伪标准、私有化、数据丢失和数据损坏等异常情况,由此导致的异常情况的数据对于上级的视频业务系统的表现可能为:
34.在接入时会导致视频解复用失败,进而导致接入失败(见图1中的问题1环节);在接入时解复用成功,但裸视频数据有问题,进而导致播放效果差或者播放失败(见图1中的问题2环节);在接入时解复用成功,但裸视频数据有问题,进而导致硬解码结果不稳定、解码层中使用的硬件解码器不稳定和解码服务不稳定(见图1中的问题3环节)。
35.在实际排查时,虽然数据问题难定位、难解决,但是其却是非常重要的,直接关系到视频业务系统的可用性、并发性和鲁棒性。
36.此外,在视频业务系统的测试环境中,很少有典型的异常数据,很难触发由数据产生的问题,所以,其导致了视频业务系统在对外提供服务的环境中鲁棒性较差的问题。以及,对于异常视频数据,很难有量化的兼容处理结果的问题。以及,对于测试环境中的数据源提供者,由于异常数据导致的常用手段或者工具难以模拟的问题。
37.基于此,本技术实施例巧妙地提出了一种视频业务系统的验证方案,通过使得测试环境中能够具有对外提供服务中的异常视频数据,并可利用对外提供服务中的异常视频数据模拟对外提供服务中的数据源,并可将该模拟的数据源作为测试环境中的数据源,从而能够提前验证视频业务系统对于已发现和积累的异常视频数据在接入方法和解码方面
的兼容性和鲁棒性。
38.此外,由于本技术实施例测试所使用的都是对外提供服务的正式版本的视频业务系统获取的异常视频测试数据,并且该异常视频测试数据中的异常视频数据是具有典型性的,故通过其进行兼容性验证,从而能够提高视频业务系统的鲁棒性。
39.为了便于理解本技术实施例,下面首先对本技术实施例涉及的一些数据进行解释:
[0040]“异常类型信息”:其是异常视频数据的属性信息之一,并且其是异常视频数据的大分类,以及异常类型信息用于表示异常视频数据的类型。其中,该异常类型信息可包括用于表示接入异常的接入异常和/或用于表示解码异常(或者说接入成功但是解码失败)的解码异常。
[0041]
应理解,该异常类型信息还可称为数据分类。
[0042]“异常格式信息”:其是异常视频数据的属性信息之一,并且其是异常视频数据的小分类,以及,该异常格式信息可包括视频封装格式的异常信息(或者说与异常视频数据的视频封装格式相关的异常信息)和/或视频编码格式的异常信息(或者说与异常视频数据的视频编码格式相关的异常信息)。
[0043]
例如,该异常格式信息可包括包括网络传输的视频封装格式不标准、网络传输切片不标准、关键数据帧的序列参数集(sequence parameter set,sps)或者图像参数集(picture parameter set,pps)缺失、分辨率异常、宏块数据缺失、帧率异常、sps关键参数无效、性能测试服务(performance testing service,pts)异常、es数据缺少起始码、封装数据丢包和封装数据乱序等。
[0044]
应理解,该异常格式信息还可称为数据标签。
[0045]“数据大小”:其是异常视频数据的属性信息中的可选属性。其中,该数据大小是指异常视频数据的文件大小。
[0046]“第一总帧数”:其是异常视频数据的属性信息之一,并且该第一总帧数用于表示未进行兼容处理的异常视频数据的总帧数(包括问题数据帧),其是对异常数据处理的前置量化指标。其中,该兼容处理可以是指对异常视频数据的视频编码格式进行分析过程中的兼容处理。
[0047]
应理解,未进行兼容处理的异常视频数据可以是指一个异常视频相关的异常视频数据,也可以是指由多个异常视频组成的异常视频集合相关的一次视频数据。
[0048]
对应地,后续的进行兼容处理后的异常视频数据与未进行兼容处理的异常视频数据是类似的,具体可参见未进行兼容处理的异常视频数据的相关描述,本技术实施例并不局限于此。
[0049]“第二总帧数”:其是异常视频数据的属性信息之一,并且第二总帧数用于表示进行兼容处理后的异常视频数据的总帧数,其是对异常数据处理的后置量化指标。其中,该兼容处理同样是指对异常视频数据的视频编码格式进行分析过程中的兼容处理。
[0050]“所属项目”:其是异常视频数据的属性信息中的可选属性。其中,该所属项目是指发现和采集数据的实际生产环境,其可用于后续参考或者追溯。
[0051]“所属厂商”:其是异常视频数据的属性信息中的可选属性。其中,该所属厂商可以是指该异常视频数据所属的下级国标视频联网平台的平台厂商,其可用于后续参考或者追
溯。
[0052]“平台版本”:其是异常视频数据的属性信息中的可选属性。其中,该平台版本是指该异常视频数据所属的下级国标视频联网平台的平台版本,其可用于后续参考或者追溯。
[0053]
请参见图2,图2示出了本技术实施例提供的一种视频业务系统的验证方法的流程图。具体地,该验证方法包括:
[0054]
步骤s210,兼容性验证装置从数据库中查找未测试过的异常视频测试数据。其中,数据库中的异常视频测试数据是通过对外提供服务的正式版本的视频业务系统获取的,异常视频测试数据包括异常视频数据和异常视频数据所对应的属性信息。
[0055]
应理解,兼容性验证装置还可以称为测试装置,也可以称为测试系统等,只要保证该兼容性验证装置能够执行图2所示的方法即可,本技术实施例并不局限于此。
[0056]
步骤s220,兼容性验证装置将未测试过的异常视频测试数据传输至测试版本的视频业务系统,以对测试版本的视频业务系统进行兼容性测试,获得兼容性测试结果。
[0057]
步骤s230,兼容性验证装置根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果。
[0058]
因此,借助于上述技术方案,本技术实施例使得测试环境中能够具有对外提供服务中的异常视频数据,并可利用对外提供服务中的异常视频数据模拟对外提供服务中的数据源,并可将该模拟的数据源作为测试环境中的数据源,从而能够提前验证视频业务系统对于已发现和积累的异常视频数据在接入方法和解码方面的兼容性和鲁棒性。
[0059]
为了便于理解本技术实施例,下面通过具体地实施例来进行描述。
[0060]
请参见图3,图3示出了本技术实施例提供的一种视频业务系统的验证方法的具体流程图。具体地,该验证方法包括:
[0061]
步骤s310,正式版本的视频业务系统采集异常视频数据。
[0062]
应理解,正式版本的视频业务系统可以是指用于对外提供服务的视频业务系统。例如,正式版本的视频业务系统可以是指已经对外发布的视频业务系统。
[0063]
对应地,异常视频数据可以是视频业务系统在对外提供服务的过程中的异常视频数据。
[0064]
还应理解,正式版本的视频业务系统可以是指发布的正规软件或者系统,以及测试版本的视频业务系统可以用于对正规软件或者系统进行修改,以保证正式版的视频业务系统的正确性、稳定性和可操作性等。
[0065]
还应理解,异常视频数据所包含的数据可根据实际需求来进行设置,本技术实施例并不局限于此。
[0066]
例如,异常视频数据可以为原始视频数据,也可以为对原始视频数据进行解封装得到的解封装后的目标视频数据。其中,原始视频数据可以是指视频业务系统中的接入层接收到的视频数据,并且接入层并未对该接收到的视频数据进行任何处理,即该原始视频数据仅是通过接入层和数据源之间的网络链路获取的,其只是网络连接交互的一个结果;解封装后的目标视频数据可以是由接入层对接收到的原始视频数据进行解封装处理获得的,其是解码之前的一个流程。
[0067]
还应理解,异常视频数据所处的应用场景也可根据实际需求来进行设置,本技术实施例并不局限于此。
[0068]
例如,请参见图4,图4示出了本技术实施例提供的一种视频报文的结构框图。如图4所示的视频报文是以国标视频联网平台为数据源传输的报文,在接入时,该数据源的格式是固定的,以及本技术实施例可只关注该视频报文中的rtp字段、节目流(program stream,ps)字段和h.264等基本码流(elementary stream,es)层面的问题,不排除有些时候,该层面问题是由于网络传输层引起的,但这主要是由于网络硬件和带宽等客观因素导致的,而且解码时主要就是针对h.264等es流层面进行视频兼容和解码操作。
[0069]
这里需要说明的是,虽然上面是以国标视频联网平台为数据源的相关异常视频数据为例来进行描述的,但本领域技术人员应当理解,其在一定程度上也适用于其他数据源的相关异常视频数据。
[0070]
为了便于理解步骤s310,下面通过具体的实施例来进行描述。
[0071]
具体地,判断原始视频数据是否接入成功,若确定原始视频数据接入失败,则采集原始视频数据;若确定原始视频数据接入成功,则可进一步判断解码是否成功,若确定解码失败,则可采集解封装后的视频数据(或者说解封装后的原始视频数据),若解码也成功,则确定该视频数据为正常的视频数据,无需采集。
[0072]
此外,可通过获取的异常视频数据的采集路径来对异常视频数据进行采集。其中,采集路径可以是原始视频数据的采集路径,也可以是解封装后的视频数据的采集路径。
[0073]
应理解,正式版本的视频业务系统采集异常视频数据的具体过程可根据实际需求来进行设置,本技术实施例并不局限于此。
[0074]
可选地,在正式版本的视频业务系统出现无法接入或者无法解码等现象后,该正式版本的视频业务系统可在系统界面上或者后台服务的日志中体现。
[0075]
例如,无法接入的异常视频数据会体现为没有视频流传输或者通过查询日志确定网络传输参数错误等,以及无法解码的异常视频数据会体现为正式版本的视频业务系统的界面提示的解码异常或者通过查询日志确定的关键视频参数错误等。
[0076]
随后,在通过正式版本的视频业务系统的系统界面或者日志检测确定存在异常视频数据的情况下,该正式版本的视频业务系统可通过预设的网络抓包工具或者预设的数据存储工具等将异常视频数据(例如,原始视频数据;再例如,解封装后的视频数据)存储到本地。以及,本技术实施例具有两种采集方式,具体如下:
[0077]
第一种采集方式是根据原始视频数据的采集路径进行采集,即可通过预设的网络抓包工具抓取原始视频数据(或者说原始的视频流),这种抓取方式是必要的,因为实际分析就是需要对原始视频数据进行分析;
[0078]
第二种采集方式是根据解封装后的视频数据的采集路径进行采集,即可通过预设的数据存储工具将接入成功后且解封装后的视频数据存储起来,这种抓取方式能够很直观的看到当前处理方案对异常视频数据的处理结果是否正确。
[0079]
应理解,预设的网络抓包工具的具体工具和预设的数据存储工具的具体工具均可根据实际需求来进行设置,本技术实施例并不局限于此。
[0080]
例如,该预设的网络抓包工具可以是网络封包分析软件wireshark,也可以是网络数据采集分析工具tcpdump等。
[0081]
这里需要说明的是,当通过第一种采集方式已经能够明确定位问题(即获取到了异常视频数据的异常类型信息)时,可以不需要利用第二种采集方式,否则需要执行第二种
方式。此外,当然也有可能是无法接入的异常视频数据本身就会导致第二种采集方式无法完成,但如果能够进行解封装后进行存储,也是需要第二种采集方式,从而可以将接入数据做直观的对比验证。
[0082]
例如,请参见图5,图5示出了本技术实施例提供的一种数据抓取过程的示意图。如图5所示,在以国际视频联网平台为数据源的情况下,可通过预设的网络抓包工具抓取原始视频数据,以及在确定通过第一种采集方式无法确定异常类型信息,则待接入层对原始视频数据进行解封装后,可抓取解封装后的视频数据。
[0083]
步骤s320,正式版本的视频业务系统获取异常视频数据对应的属性信息。
[0084]
应理解,属性信息所包含的具体信息可根据实际需求来进行设置,本技术实施例并不局限于此。
[0085]
例如,该属性信息包括必要属性信息和非必要属性信息。其中,必要属性信息可包括异常类型信息、异常格式信息、第一总帧数和第二总帧数;非必要属性信息可包括数据大小、所属项目、所属厂商和平台版本。
[0086]
为了便于理解步骤s320,下面通过具体的实施例来进行描述。
[0087]
具体地,可在采集到异常视频数据时,确定异常视频数据对应的异常类型信息。
[0088]
例如,在确定原始视频数据接入失败的情况下,确定异常类型信息为接入异常;或者,在确定原始视频数据接入成功但是解码失败的情况下,确定异常类型信息为解码异常。
[0089]
此外,在采集到异常视频数据之后,该正式版本的视频业务系统可对采集到的异常视频数据进行格式分析。另外,根据图4的相关描述,本技术实施例关注的是es流层面,所以分析的目的,一方面是对于视频封装格式(或者说标准网络传输封装格式)进行校验分析,另一方面是对于视频编码格式(或者说标准视频编码格式)进行校验分析。
[0090]
此外,对异常视频数据的分析手段也可根据实际需求来进行设置,本技术实施例并不局限于此。
[0091]
例如,可通过预设的第三方工具对异常视频数据进行视频封装格格式的分析。
[0092]
再例如,可通过预设的分析工具对异常视频数据进行视频编码格式的分析。
[0093]
另外,可利用预设的第三方工具对异常视频数据中的原始视频数据进行分析,从而能够发现原始视频数据的视频数据封装方面的问题,即可获得异常视频数据的视频封装格式的异常信息。例如,封装格式不符合标准、封装关键参数值不符合标准等,同时,还能发现数据是否丢失,从而能在一定程度上看到解码效果。
[0094]
也就是说,可对异常视频数据的视频封装格式进行分析,得到异常视频数据的视频封装格式的异常信息,并可将其作为属性信息。
[0095]
还应理解,预设的第三方工具的具体工具可根据实际需求来进行设置,本技术实施例并不局限于此。
[0096]
例如,预设的第三方工具可以是elecard系列视频流分析工具,也可以是媒体播放器vlc等。
[0097]
此外,为了便于理解视频封装格式的分析,下面以封装格式不标准为例来进行描述。
[0098]
具体地,封装格式不标准可能是由多种原因引起的。例如,有可能是因为下级国标视频联网平台本身封装格式就有问题,也有可能是因为网络因素造成到达接入服务器的数
据包错误引起的等。
[0099]
另外,在去除视频报文的ip层传输负载之后,获得的就是原始视频数据。以及,可利用预设的第三方工具对原始视频数据进行分析,从而可以看到传输格式中ps格式负载中的pes存在重复情况,从而可以确定这种异常视频数据的产生可能是网络异常问题,导致的结果就是收到的原始视频数据错误,解封装时失败。
[0100]
这里需要说明的是,通过上述方式检测出的视频封装格式异常的异常视频数据的异常类型信息就是接入异常。
[0101]
此外,在对异常数据中的解封装后的异常视频数据进行验证分析的时候,此时的数据已经完成了解封装,则接入层可认为已经成功输出了标注视频编码格式的视频数据。这是需要基于预设的分析工具,在解码预处理的警示信息方面、错误信息方面、解码过程中的多种错误信息反馈(例如,帧级参数错误、宏块级参数参悟、数据异常导致的解码框架错误等)等方面,都需要通过完整的解码流程判断数据的兼容性和相应处理方式。
[0102]
也就是说,可在确定原始视频数据接入成功但是解码失败的情况下,确定异常类型信息为解码异常。
[0103]
应理解,预设的分析工具的具体工具可根据实际需求来进行设置,本技术实施例并不局限于此。
[0104]
例如,该预设的分析工具可以是基于软解码库(例如,ffmpeg等)和硬解码库(例如,统一计算设备架构(compute unified device architecture,cuda)等)开发的。
[0105]
另外,为了便于理解视频编码格式的分析,下面通过具体地实施例来进行描述。
[0106]
可选地,当解码层收到数据后对序列参数集合进行解码时,会从中得到分辨率。若获得的分辨率是一对非法值,那么该异常视频数据的异常类型为帧级参数错误。
[0107]
可选地,当对编码数据的宏块组或者宏块进行解码时,若宏块头中的宽高信息是非法值,则解码器确定该异常视频数据的异常类型为宏块级参数错误。
[0108]
这里需要说明的是,通过上述方式检测出的视频编码格式异常的异常视频数据的异常类型信息就是解码异常。
[0109]
这里需要说明的是,该异常类型信息可以是在采集到异常视频数据时确定,也可以是在采集到异常视频数据后进行分析的过程中确定,本技术实施例并不局限于此。
[0110]
这里还需要说明的是,虽然步骤s320是以确定异常视频数据的异常类型信息和异常格式信息为例来进行描述的,但本领域的技术人员应当理解,步骤s320在对异常视频数据进行分析的过程中,还可获得异常视频数据的其他属性信息。
[0111]
例如,可通过对异常视频数据分析,确定异常视频数据的数据大小、所属厂商和平台版本等。
[0112]
步骤s330,正式版本的视频业务系统将异常视频数据及其对应的属性信息作为异常视频测试数据存储到数据库中。
[0113]
具体地,在对异常视频数据进行分析之后,可对异常视频数据进行分类管理,以对异常视频数据的分析结果进行标签管理,对处理预期结果进行量化管理,对数据来源进行可追溯管理。由于数据库中的异常视频数据集是对于异常典型数据的管理,所以也可对异常视频数据集进行不断更新(例如,删除或者新增或者替换等)。
[0114]
此外,对异常视频数据的入库方式可根据实际需求来进行设置,本技术实施例并
不局限于此。
[0115]
例如,请参见图6,图6示出了本技术实施例提供的一种管理异常视频数据的示意图。如图6所示,对于采集的异常视频数据,既可通过人工分析并手动上传结果,又可通过工具分析并自动上传,从而可通过以上两者方式中的至少一种方式,来获得异常视频集合。随后,可从数据库中的异常视频集中选取未选取过的异常视频测试数据,并可将该未选取过的异常视频测试数据传输至异常数据源的模拟工具,从而该模拟工具可利用未选取过的异常视频测试数据模拟对外提供服务环境中的数据源,从而实现对测试版本的视频业务系统的测试。其中,异常视频测试数据包括异常视频数据、异常视频数据所对应的属性信息、序号、视频内容和存储路径,属性信息可包括异常类型信息、视频封装格式的异常信息、视频编码格式的异常信息、第一总帧数和第二总帧数;非必要属性信息可包括数据大小、所属项目、所属厂商和平台版本。
[0116]
这里需要说明的是,在通过数据库中的异常视频测试数据进行兼容性测试的时候,可通过包含http方式或者网络磁盘路径映射等多种网络手段实现,这样能够方便的为后续模拟工具提供数据访问通道。
[0117]
这里还需要说明的是,虽然步骤s310至步骤s330对异常视频数据集的存储过程进行了介绍,但本领域的技术人员应当理解,在异常视频数据集是预先存储好的情况下,可直接执行步骤s340,无需再执行步骤s310至步骤s330。
[0118]
步骤s340,兼容性验证装置从数据库中查找未测试过的异常视频测试数据。其中,数据库中的异常视频测试数据是通过对外提供服务的正式版本的视频业务系统获取的,异常视频测试数据包括异常视频数据和异常视频数据所对应的属性信息。
[0119]
应理解,兼容性验证装置从数据库中查找未测试过的异常视频测试数据的具体过程可根据实际需求来进行设置,本技术实施例并不局限于此。
[0120]
例如,可根据测试版本的视频业务系统的历史测试结果确定其还未验证的异常格式信息,随后可从预先存储的异常视频数据集中选取未验证的异常格式信息相关的异常视频测试数据。
[0121]
步骤s350,兼容性验证装置将未测试过的异常视频测试数据传输至测试版本的视频业务系统,以对测试版本的视频业务系统进行兼容性测试,获得兼容性测试结果。其中,兼容性验证装置可通过模拟工具将未测试过的异常视频测试数据传输至测试版本的视频业务系统。
[0122]
应理解,模拟工具的具体工具也可根据根据实际需求来进行设置,本技术实施例并不局限于此。
[0123]
例如,请参见图7,图7示出了本技术实施例提供的一种模拟工具的示意图。如图7所示,该模拟工具包括信令协议栈和数据获取模块。其中,该信令协议栈可分别与测试版本的视频业务系统的接入层和数据获取模块进行信令交互,以及,数据获取模块可分别与数据库和接入层进行数据的交互。
[0124]
此外,该模拟工具需要具备两方面的能力,一方面是能够在信令层面模拟下级数据源或者下级平台,另一方面可以从数据库的异常视频数据集中选取未测试过的异常视频测试数据,并将未测试过的异常视频测试数据作为媒体数据向接入层发送。其中,模拟工具在读取未测试过的异常视频测试数据后,需要将未测试过的异常视频测试数据切割成多个
rtp网络封装包,这里不需要做进一步媒体数据解封装操作,其可直接向测试版本的视频业务系统发送rtp网络封装包,这是因为异常视频数据本身是存在多种问题的,其需要保持原样提供上去。
[0125]
步骤s360,兼容性验证装置根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果。其中,兼容性验证结果包括兼容情况和不兼容情况。
[0126]
应理解,兼容性验证装置根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果的具体过程可根据实际需求来进行设置,本技术实施例并不局限于此。
[0127]
可选地,请参见图8,图8示出了本技术实施例提供的一种验证异常视频测试数据的示意图。如图8所示,该测试版本的视频业务系统可包括接入层和解码层的情况下,该接入层的处理包含网络传输封装异常和视频媒体封装异常的相应处理,以及该解码层的处理包含对es裸视频帧的解码预处理和解码过程处理。如果接入层面和解码层面的输出结果都符合对数据集中该条数据的处理预期,则说明此分类此标签的异常数据,系统是可以做到兼容处理的。
[0128]
这里需要说明的是,接入层的输出单独符合预期也是兼容,解码层的输出单独符合预期也算是兼容。但是,接入层和解码层作为整个视频相关的系统来看,仅一方面兼容而其他环节不兼容,则可视为系统整体不能对某类数据兼容。
[0129]
此外,这里的兼容或者不兼容的确定方式可根据实际需求来进行设置,本技术实施例并不局限于此。
[0130]
例如,若接入层输出的视频数据和解码层输出的视频数据的总帧数是与数据库中的属性信息中存储的兼容处理后的总帧数一致,则确定系统整体对某类数据兼容;若接入层输出的视频数据或者解码层输出的视频数据的总帧数是与数据库中的属性信息中存储的兼容处理后的总帧数不一致,则确定系统整体对某类数据不兼容。
[0131]
此外,由于目标异常视频数据的属性信息包括多个异常格式信息,多个异常格式信息中每个异常格式信息均对应有一个异常结果,若确定测试结果包括至少一个异常结果,则确定测试版本的视频业务系统的不兼容情况。
[0132]
例如,在目标异常数据的属性信息具有多个视频编码相关的异常格式信息的情况下,若确定测试结果包括至少一个异常类型对应的异常结果,则可确定测试版本的视频业务系统不兼容至少一个异常类型中所有异常类型。
[0133]
也就是说,未测试过的异常视频测试数据包括至少一个属性信息,兼容性验证结果包括兼容情况和不兼容情况;其中,根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果,包括:获取未测试过的异常视频数据的属性信息所对应的兼容性测试结果;若确定兼容性测试结果中存在至少一个兼容异常测试结果,则确定测试版本的视频业务系统存在不兼容情况。
[0134]
应理解,至少一个属性信息中每个属性信息的具体属性信息可根据实际需求来进行设置,本技术实施例并不局限于此。
[0135]
例如,每个属性信息可以是异常类型信息,也可以是异常格式信息,也可以是第一总帧数,也可以是第二总帧数等。
[0136]
应理解,上述视频业务系统的验证方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,变形之后的方案也处于本技术实施例的保护范围内。
[0137]
请参见图9,图9示出了本技术实施例提供的一种视频业务系统的验证装置900的结构框图,应理解,该验证装置900能够执行上述方法实施例的各个步骤,该验证装置900具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该验证装置900包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在验证装置900的操作系统(operating system,os)中的软件功能模块。具体地,该验证装置900包括:
[0138]
查找模块910,用于从数据库中查找未测试过的异常视频测试数据,其中,数据库中的异常视频测试数据是通过对外提供服务的正式版本的视频业务系统获取的,异常视频测试数据包括异常视频数据和异常视频数据所对应的属性信息;
[0139]
测试模块920,用于将未测试过的异常视频测试数据传输至测试版本的视频业务系统,以对测试版本的视频业务系统进行兼容性测试,获得兼容性测试结果;
[0140]
确定模块930,用于根据兼容性测试结果,确定测试版本的视频业务系统的兼容性验证结果。
[0141]
在一个可能的实施例中,正式版本的视频业务系统包括:采集模块(未示出),用于采集正式版本的视频业务系统对外提供服务的过程中所产生的异常视频数据;获取模块(未示出),用于获取异常视频数据对应的属性信息;存储模块(未示出),用于将异常视频数据及其对应的属性信息作为异常视频测试数据存储到数据库中。
[0142]
在一个可能的实施例中,异常视频数据包括原始视频数据和对原始视频数据进行解封装得到的目标视频数据;采集模块,具体用于:在原始视频数据接入失败时,采集原始视频数据作为异常视频数据;在原始视频数据接入成功但是解码失败时,采集目标视频数据作为异常视频数据。
[0143]
在一个可能的实施例中,属性信息包括用于表示异常视频数据的异常类型的异常类型信息;获取模块,具体用于:在确定原始视频数据接入失败的情况下,确定异常类型信息为接入异常;或者,在确定原始视频数据接入成功但是解码失败的情况下,确定异常类型信息为解码异常。
[0144]
在一个可能的实施例中,属性信息包括异常格式信息,属性信息包括视频封装格式的异常信息;获取模块,具体用于:对异常视频数据的视频封装格式进行分析,得到异常视频数据的视频封装格式的异常信息,作为属性信息。
[0145]
在一个可能的实施例中,属性信息包括视频编码格式的异常信息;获取模块,具体用于:对异常视频数据的视频编码格式进行分析,得到异常视频数据的视频编码格式的异常信息,作为属性信息。
[0146]
在一个可能的实施例中,属性信息还包括第一总帧数和第二总帧数;其中,第一总帧数用于表示未进行兼容处理的异常视频数据的总帧数,第二总帧数用于表示进行兼容处理后的异常视频数据的总帧数。
[0147]
在一个可能的实施例中,未测试过的异常视频测试数据包括至少一个属性信息,兼容性验证结果包括兼容情况和不兼容情况;确定模块,具体用于:获取未测试过的异常视频数据的属性信息所对应的兼容性测试结果;若确定兼容性测试结果中存在至少一个兼容异常测试结果,则确定测试版本的视频业务系统存在不兼容情况。
[0148]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0149]
请参见图10,图10是本技术实施例提供的一种电子设备1000的结构框图。电子设备1000可以包括处理器1010、通信接口1020、存储器1030和至少一个通信总线1040。其中,通信总线1040用于实现这些组件直接的连接通信。其中,本技术实施例中的通信接口1020用于与其他设备进行信令或数据的通信。处理器1010可以是一种集成电路芯片,具有信号的处理能力。上述的处理器1010可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器1010也可以是任何常规的处理器等。
[0150]
存储器1030可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。存储器1030中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器1010执行时,电子设备1000可以执行上述方法实施例中的各个步骤。
[0151]
电子设备1000还可以包括存储控制器、输入输出单元、音频单元、显示单元。
[0152]
所述存储器1030、存储控制器、处理器1010、外设接口、输入输出单元、音频单元、显示单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线1040实现电性连接。所述处理器1010用于执行存储器1030中存储的可执行模块,例如电子设备1000包括的软件功能模块或计算机程序。
[0153]
输入输出单元用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
[0154]
音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
[0155]
显示单元在所述电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
[0156]
可以理解,图10所示的结构仅为示意,所述电子设备1000还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件、软件或其组合实现。
[0157]
本技术还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
[0158]
本技术还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
[0159]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0160]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0161]
本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0162]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0163]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0164]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0165]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1