发明内容
基于此,有必要针对传统的流媒体测试和监控***无法测试和监控实时流媒体识别***的功能和稳定性是否正常的问题,提供一种用于实时流媒体识别服务的测试和监控方法。
此外,还有必要提供一种用于实时流媒体识别服务的测试和监控装置。
一种用于实时流媒体识别服务的测试和监控方法,包括以下步骤:
获取流媒体信号源,并从所述流媒体信号源中选取输入用例,并记录所述输入用例的特性;
根据所述输入用例发起识别请求,以及接收根据所述识别请求返回的对所述输入用例的识别结果;
根据所述输入用例的特性得到预期输出结果,将所述识别结果与所述预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,否则,表示实时流媒体识别服务异常。
一种用于实时流媒体识别服务的测试和监控装置,包括:
实时流获取和处理模块,用于获取流媒体信号源,并从所述流媒体信号源中选取输入用例,并记录所述输入用例的特性;
客户端模拟模块,用于根据所述输入用例发起识别请求,以及接收根据所述识别请求返回的对所述输入用例的识别结果;
识别结果判断模块,用于根据所述输入用例的特性得到预期输出结果,将所述识别结果与所述预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,否则,表示实时流媒体识别服务异常。
上述用于实时流媒体识别服务的测试和监控方法及装置,通过从流媒体信号源中选取输入用例,然后对输入用例进行识别得到识别结果,将识别结果与该输入用例的预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,因从实时流媒体信号源中提取一段流媒体生成输入用例,记录了该输入用例的预期输出结果,然后将识别结果与预期输出结果进行比较,实现了对实时流媒体识别服务进行实时测试和监控,保证了实时流媒体识别***的功能和稳定性处于正常状态。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中用于实时流媒体识别服务的测试和监控方法的流程图。如图1所示,该用于实时流媒体识别服务的测试和监控方法,包括以下步骤:
步骤102,获取流媒体信号源,并从该流媒体信号源中选取输入用例,并记录该输入用例的特性。
具体的,获取实时流媒体信号源,该流媒体信号源可为通过电视、广播、其他采集设备等采集的信号源。
在获取流媒体信号源后,还包括:将该输入用例转换为实时流媒体服务预先设定的数字流格式。
该流媒体信号源可为电视音频、图像截图或广播音频等信号源,将该流媒体信号源转换为实时流媒体服务预先设定的数字流格式。转换后的信号源可为一定长度的音频、单张或多张的图像截图,也可以是提取到的音频或图像特征值。然后从转换后的流媒体信号源中选取一段流媒体作为测试和监控使用的输入用例,并记录输入用例的属性和标识等辨别信息。
其中,输入用例是指用于输入给实时流媒体识别***进行识别的流媒体数据。实时流媒体识别***是在后端服务器中处理流媒体,识别出流媒体信息中的特定信息,提供更加具体的识别信息的一种后台服务***,针对不同流媒体的具体内容类别,可以识别音频、视频、多媒体、文本等不同的流媒体。测试是指在识别服务对外发布前对识别***功能及性能进行实际验证的***环境。监控是在识别服务通过对外发布后对识别***稳定性进行监控跟踪和故障报警的***环境。
该记录该输入用例的特性包括输入用例的属性和标识。不同的输入用例,其属性不同,例如输入用例为电视音频,则属性包括提取特征的时间、特征音频的时长、大小、提取特征的电视频道信息、提取信号来源等,标识是用于区分输入用例的唯一性的,例如电视频道信息。
上述用于实时流媒体识别服务的测试和监控方法,从该流媒体信号源中选取输入用例的步骤包括:按照预定时间间隔从该流媒体信号源中选取输入用例。具体的,预定时间间隔可根据需要设定,如10秒、15秒等。
步骤104,根据该输入用例发起识别请求,以及接收根据该识别请求返回的对该输入用例的识别结果。
本实施例中,根据该输入用例发起识别请求的步骤包括:模拟实时流媒体识别***的客户端请求协议根据该输入用例发起识别请求。
通过程序模拟实时流媒体识别***的客户端对后台实时流媒体识别服务发起识别请求以及接收返回的识别结果,避免对硬件设备的依赖。且模拟的识别请求使用的协议格式和命令与客户端保持一致,以确保在实时流媒体识别***能正确接收和处理。识别结果根据输入用例不同所包含的内容不同,例如输入用例为电视音频,则识别结果可包括电视频道信息的值等,输入用例为广播音频,则识别结果可包括广播频道信息的值,如88.8Hz广播频道所对应的编号为0001。
步骤106,根据该输入用例的特性得到预期输出结果,将该识别结果与该预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,否则,表示实时流媒体识别服务异常。
本实施例中,输入用例的特性包括属性和标识,将识别结果中的属性和标识与记录的输入用例的属性和标识进行比较,若相同,则表示实时流媒体识别服务正常,否则,表示实时流媒体识别服务异常。正常是指实时流媒体识别服务的功能和稳定性正常。异常是指实时流媒体识别服务的功能和稳定性处于非正常状态。
预期输出结果是指根据输入用例预先设定的经过测试后期望得到的结果。例如,输入用例为电视音频,电视音频的属性内容包括提取特征的时间(如2014年6月24日15时30分20秒开始提取)、特征音频的时长(10秒)、大小(20千字节)、提取特征的电视频道信息以及提取信号来源。其中,电视频道信息作为该电视音频的标识,该标识作为该电视音频的预期输出结果的一个判断值。再如,输入用例为广播音频,广播音频的属性内容包括提取特征的时间(如2014年6月24日15时30分20秒开始提取)、特征音频的时长(10秒)、大小(20千字节)、提取特征的广播频道信息以及提取信号来源。其中,广播频道信息作为该广播音频的标识,该标识作为该广播音频的预期输出结果的一个判断值。返回的识别结果为一个电视音频信息的值,将返回的电视音频信息的值与预期的电视音频信息的值进行比较,若相同,则表示实时流媒体识别服务正常,若不相同,则表示实时流媒体识别服务异常。
具体的,以输入用例为电视音频为例,假设要测试的电视台为CCTV-1频道且CCTV-1在实时流识别服务中对应的ID编号为001,该实时流媒体识别服务的测试和监控***通过接入CCTV-1频道电视信号源(有线电视或***信号),使用实时流识别服务提取电视信号源的特征,并按照实时流识别服务的客户端截取特征音频的长度(可为预设长度)对提取的电视信号源的特征进行截取,(如3秒、5秒或8秒等),实时流识别服务的模拟客户端将截取到的定长度特征按照合法的协议请求发送给实时流识别服务,并接收实时流识别服务的返回结果。因已知用于测试***的信号源是CCTV-1频道,所以CCTV-1频道的ID编号001即为测试的预期输出结果,当接收到的实时流识别服务返回的识别结果中ID编号为001时,即识别结果与预期输出结果一致,则表示实时流媒体识别服务正确的识别出测试特征,如果识别结果的ID编号不为001,识别结果与预期输出结果不一致,则说明识别失败,则表示实时流媒体识别服务未能正确的识别出输入用例。以此类推,分别取不同电视信号源并提取特征作为测试特征,可以逐一验证实时流媒体识别服务是否可以对每一个电视频道的节目进行准确的识别,以达到识别和监控的要求。
上述用于实时流媒体识别服务的测试和监控方法,通过从流媒体信号源中选取输入用例,然后对输入用例进行识别得到识别结果,将识别结果与该输入用例的预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,因从实时流媒体信号源中提取一段流媒体生成输入用例,记录了该输入用例的预期输出结果,然后将识别结果与预期输出结果进行比较,实现了对实时流媒体识别服务进行实时测试和监控,保证了实时流媒体识别***的功能和稳定性处于正常状态。
图2为一个实施例中用于实时流媒体识别服务的测试和监控装置的结构框图。该用于实时流媒体识别服务的测试和监控装置,包括实时流获取和处理模块220、客户端模拟模块240和识别结果判断模块260。其中:
实时流获取和处理模块220用于获取流媒体信号源,并从该流媒体信号源中选取输入用例,并记录该输入用例的特性。
该实时流获取和处理模块220还用于将该输入用例转换为实时流媒体服务预先设定的数字流格式。
该流媒体信号源可为电视音频、图像截图或广播音频等信号源,将该流媒体信号源转换为实时流媒体服务预先设定的数字流格式。转换后的信号源可为一定长度的音频、单张或多张的图像截图,也可以是提取到的音频或图像特征值。然后从转换后的流媒体信号源中选取一段流媒体作为测试和监控使用的输入用例,并记录输入用例的属性和标识等辨别信息。
其中,输入用例是指用于输入给实时流媒体识别***进行识别的流媒体数据。实时流媒体识别***是在后端服务器中处理流媒体,识别出流媒体信息中的特定信息,提供更加具体的识别信息的一种后台服务***,针对不同流媒体的具体内容类别,可以识别音频、视频、多媒体、文本等不同的流媒体。测试是指在识别服务对外发布前对识别***功能及性能进行实际验证的***环境。监控是在识别服务通过对外发布后对识别***稳定性进行监控跟踪和故障报警的***环境。
该记录该输入用例的特性包括输入用例的属性和标识。不同的输入用例,其属性不同,例如输入用例为电视音频,则属性包括提取特征的时间、特征音频的时长、大小、提取特征的电视频道信息、提取信号来源等,标识是用于区分输入用例的唯一性的,例如电视频道信息。
该实时流获取和处理模块220还用于按照预定时间间隔从该流媒体信号源中选取输入用例。具体的,预定时间间隔可根据需要设定,如10秒、15秒等。
客户端模拟模块240用于接收该输入用例,并根据该输入用例发起识别请求,以及接收根据该识别请求返回的对该输入用例的识别结果。
该客户端模拟模块240还用于模拟实时流媒体识别***的客户端请求协议根据该输入用例发起识别请求。
通过程序模拟实时流媒体识别***的客户端对后台实时流媒体识别服务发起识别请求以及接收返回的识别结果,避免对硬件设备的依赖。且模拟的识别请求使用的协议格式和命令与客户端保持一致,以确保在实时流媒体识别***能正确接收和处理。
识别结果判断模块260用于根据该输入用例的特性得到预期输出结果,将该识别结果与该预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,否则,表示实时流媒体识别服务异常。
本实施例中,输入用例的特性包括属性和标识,识别结果判断模块260还用于将识别结果中的属性和标识与记录的输入用例的属性和标识进行比较,若相同,则表示实时流媒体识别服务正常,否则,表示实时流媒体识别服务异常。正常是指实时流媒体识别服务的功能和稳定性正常。异常是指实时流媒体识别服务的功能和稳定性处于非正常状态。
上述用于实时流媒体识别服务的测试和监控装置,通过从流媒体信号源中选取输入用例,然后对输入用例进行识别得到识别结果,将识别结果与该输入用例的预期输出结果进行比较,若相同,则表示实时流媒体识别服务正常,因从实时流媒体信号源中提取一段流媒体生成输入用例,记录了该输入用例的预期输出结果,然后将识别结果与预期输出结果进行比较,实现了对实时流媒体识别服务进行实时测试和监控,保证了实时流媒体识别***的功能和稳定性处于正常状态。
此外,还可采用人工手动使用真实的实时流媒体识别***的客户端进行功能操作验证输入用例的识别结果与预期输出结果是否相符。
图3为一个实施例中用于实时流媒体识别服务的测试和监控装置与实时流媒体识别服务的交互示意图。图3中,用于实时流媒体识别服务的测试和监控装置中的客户端模拟模块240根据选取的输入用例向实时流媒体识别服务300发起识别请求,并接收实时流媒体识别服务300对输入用例的识别结果。识别结果判断模块260用于将输入用例的识别结果与输入用例的预期输出结果进行比较,若相同,则实时流媒体识别服务300识别正常,若不相同,则实时流媒体识别服务300识别异常,需跟踪并记录返回的识别结果进行分析。
图4为用于实时流媒体识别服务的测试和监控装置应用于电视机的示意图。如图4中,电视机400提供实时流媒体信号源,实时流获取和处理模块220从电视机400获取实时流媒体信号源(如音频),并对音频按照实时流媒体识别服务预先设定的格式进行转换,然后从转换后的实时流媒体信号源中选取一段音频作为输入用例,然后将该输入用例发送给客户端模拟模块240,客户端模拟模块240根据该输入用例向实时流媒体识别服务300发起识别请求,并接收实时流媒体识别服务300对输入用例的识别结果。识别结果判断模块260用于将输入用例的识别结果与输入用例的预期输出结果进行比较,若相同,则实时流媒体识别服务300识别正常,若不相同,则实时流媒体识别服务300识别异常,需跟踪并记录返回的识别结果进行分析。
此外,用于实时流媒体识别服务的测试和监控装置还可应用于广播电台、网络流媒体视频等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机***的存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。