流媒体服务器的测试方法及系统的制作方法
【专利摘要】本发明涉及一种流媒体服务器的测试方法及系统。该方法包括:监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器;解析所述消息报文,得到所述消息报文的特征信息;根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器;根据被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例;使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。本发明实现了流媒体服务器的自动测试以及对多个流媒体服务器同时进行测试。
【专利说明】流媒体服务器的测试方法及系统
【技术领域】
[0001]本发明涉及流媒体服务器测试【技术领域】,尤其涉及一种流媒体服务器的测试方法及系统。
【背景技术】
[0002]随着流媒体业务的快速发展,用户对流媒体服务器的需求也越来越多。为了满足用户对于流媒体业务在流畅度、清晰度等方面的越来越高的需求,通常使用多个流媒体服务器组成的流媒体服务器群组的方式来进行推流。在流媒体业务快速发展的同时,流媒体服务器的测试也越来越重要。
[0003]现有的流媒体服务器测试系统多侧重于流媒体服务器与播放终端之间,主要用于测试流媒体服务器的推流数量与推流质量,而很少涉及流媒体服务器与上游设备或者相邻设备间(例如,内容分发服务器,会话管理服务器等)的接口测试。对于采用流媒体服务器群组进行推流的流媒体业务,现有的流媒体服务器测试系统也只能测试流媒体服务器群组中的某个流媒体服务器,而无法同时测试多个被测流媒体服务器设备。
【发明内容】
[0004]本发明实施例提供了一种流媒体服务器的测试方法及系统,实现了流媒体服务器的自动测试以及对流媒体服务器群组中多个流媒体服务器同时进行测试,减少了工作量,提高了流媒体服务器的测试效率。
[0005]在第一方面,本发明实施例提供了一种流媒体服务器的测试方法,所述方法包括:
[0006]监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器;
[0007]解析所述消息报文,得到所述消息报文的特征信息;
[0008]根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器;
[0009]根据所述被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例;
[0010]使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
[0011]在第二方面,本发明实施例提供了一种流媒体服务器的测试系统,所述系统包括:
[0012]报文监听模块,用于监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器;
[0013]报文解析模块,用于解析所述消息报文,得到所述消息报文的特征信息;
[0014]第一获取模块,用于根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器;[0015]第二获取模块,用于根据所述被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例;
[0016]测试执行模块,用于使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
[0017]因此,通过本发明实施例提供的流媒体服务器的测试方法及系统,根据监听到的至少一个流媒体服务器的消息报文,可获取到消息报文的状态特征得到被测流媒体服务器的状态特征,根据被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例,使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。解决了现有技术中只能测试流媒体服务器群组中某个流媒体服务器,而无法同时测试多个被测流媒体服务器设备的问题,实现了流媒体服务器群组中多个流媒体服务器的自动测试以及对流媒体服务器群组中多个流媒体服务器同时进行测试,减少了工作量,提高了流媒体服务器的测试效率。
【专利附图】
【附图说明】
[0018]图1为本发明实施例一提供的流媒体服务器的测试方法流程图;
[0019]图2为本发明实施例二提供的流媒体服务器的测试系统示意图。
【具体实施方式】
[0020]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
[0022]实施例一
[0023]下面以图1为例详细说明本发明实施例一提供的流媒体服务器的测试方法,图1为本发明实施例一提供的流媒体服务器的测试方法流程图,在本发明实施例中,执行下述步骤的实施主体为流媒体服务器的测试系统。如图1所示,该实施例具体包括以下步骤:
[0024]步骤101,监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器。
[0025]本发明实施例中,流媒体服务器群组为包括至少一个流媒体服务器的流媒体服务器群组。
[0026]其中,流媒体服务器群组的消息报文为发送至所述至少一个流媒体服务器的消息报文或所述至少一个流媒体服务器发送出的消息报文。
[0027]流媒体服务器的测试系统可以同时监听该流媒体服务器群组中任意流媒体服务器的消息报文。本发明实施例中,作为示例而非限定,该消息报文可以为会话消息报文、状态消息报文。
[0028]其中,测试系统可以监听流媒体服务器与用户终端之间交互的消息报文,也可以监听流媒体服务器与上游设备,如内容分发设备、会话管理设备、流资源管理设备之间交互的消息报文。为了实现本发明实施例中流媒体服务器的测试,测试系统主要监听捕获与上游设备及边缘设备之间交互的报文。
[0029]需要说明的是,在执行步骤101之前,本发明实施例为各种协议规范,如下一代广播电视网(Next Generation Broadcasting Network, NGB)、下一代视频点播服务架构(Next Generation On Demand Video Architecture, NGOD)等,建立了流媒体信息特征库,以及流媒体测试用例特征库。
[0030]在建立流媒体状态特征库之后,还可使用面向对象的方法将流媒体的状态特征依据协议规范实现成状态机。
[0031]步骤102,解析所述消息报文,得到所述消息报文的特征信息。
[0032]本发明实施例中,作为示例而非限定,所述消息报文的特征信息包括所述被测流媒体服务器的接口信息、MAC地址信息、消息报文内容
[0033]测试系统在接收到消息报文后,可以对报文进行深度分析,得到发送或者接收到该消息报文的流媒体服务器的接口信息、TP地址信息、MAC地址信息,以及消息内容。
[0034]例如,如果该消息内容为流媒体服务器A向上游设备发送的一个状态消息报文,其中消息内容为流媒体服务器A的推流网卡I损坏,需要将网卡I上的推流自动切换到流媒体服务器B。通过解析该消息报文,则可以得到的消息报文的特征信息为:流媒体服务器A的接口信息、TP地址信息、MAC地址信息、流媒体服务器A的网卡I损坏、网卡I的推流自动切换、流媒体服务器B的相关信息。
[0035]步骤103,根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器。
[0036]其中,根据所述消息报文的特征信息,获取所述被测流媒体服务器的状态特征具体为:将所述消息报文的特征信息作为所述状态机的输入状态变量,输出所述被测流媒体服务器的状态特征。
[0037]将得到的上述消息报文的特征信息定义为状态机的状态变量,输入状态机,即可得到被测流媒体服务器的状态特征,如根据上述举例,可得到流媒体服务器A的状态特征为流媒体服务器A的网卡I的推流自动切换,被测流媒体服务器为A和B。
[0038]其中,这里提及的消息报文对应的流媒体服务器包括发送或者接收该消息报文的流媒体服务器,也还可以包括消息报文中涉及的流媒体服务器,如上述举例中提及的流媒体服务器B。由于被测流媒体服务器可以为多个流媒体服务器,本发明实施例可以采用多线程技术对多个流媒体服务器同时进行测试。
[0039]需要说明的是,测试系统在同一时间可以监听到多个流媒体服务器的消息报文,从而有多个流媒体服务器同时需要进行测试,本发明实施例同样也可以使用多线程技术对该多个需要进行测试的流媒体服务器进行测试。
[0040]步骤104,根据所述被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例。
[0041]流媒体服务器的测试系统通过状态机得到被测流媒体服务器的状态特征后,可以遍历流媒体测试用例特征库,得到适合被测流媒体服务器的状态特征的测试用例。
[0042]在得到与被测流媒体服务器的状态特征匹配的测试用例后,可先建立被测流媒体服务器以及对应的测试用例之间的映射关系。[0043]可选地,测试用例执行测试时可需要测试数据源,在需要测试数据源时,测试系统需调出对应的测试数据源。
[0044]步骤105,使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
[0045]在建立被测流媒体服务器与测试用例的对应关系后,可根据测试用例脚本,将对应的测试用例和测试数据源分配到指定的被测流媒体服务器,并在执行测试后,输出测试结果。
[0046]因此,本发明实施例提供的流媒体服务器的测试方法,监听流媒体服务器群组的消息报文,流媒体服务器群组包括至少一个流媒体服务器,流媒体服务器群组的消息报文为发送至至少一个流媒体服务器的消息报文或至少一个流媒体服务器发送出的消息报文;解析消息报文,得到消息报文的特征信息;根据消息报文的特征信息,获取被测流媒体服务器的状态特征,被测流媒体服务器为消息报文对应的流媒体服务器;根据被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于状态特征的被测流媒体服务器对应的测试用例;使用对应的测试用例,执行对被测流媒体服务器的测试。由此,实现了流媒体服务器群组中多个流媒体服务器的自动测试以及对流媒体服务器群组中多个流媒体服务器同时进行测试,减少了工作量,提高了流媒体服务器的测试效率。
[0047]实施例二
[0048]另外,本发明实施例二还提供了一种流媒体服务器的测试系统,用以实现前述本发明实施例中的流媒体服务器的测试方法。
[0049]图2为本发明实施例二提供的流媒体服务器的测试系统示意图,如图2所示,该系统包括以下功能模块:
[0050]报文监听模块201,用于监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器。
[0051]其中,所述流媒体服务器群组的消息报文为发送至所述至少一个流媒体服务器的消息报文或所述至少一个流媒体服务器发送出的消息报文。
[0052]本发明实施例中,流媒体服务器群组为包括至少一个流媒体服务器的流媒体服务器群组。
[0053]流媒体服务器的测试系统可以同时监听该流媒体服务器群组中任意流媒体服务器的消息报文。本发明实施例中,作为示例而非限定,该消息报文可以为会话消息报文、状态消息报文。
[0054]其中,测试系统可以监听流媒体服务器与用户终端之间交互的消息报文,也可以监听流媒体服务器与上游设备,如内容分发设备、会话管理设备、流资源管理设备之间交互的消息报文。为了实现本发明实施例中流媒体服务器的测试,测试系统主要监听捕获与上游设备及边缘设备之间交互的报文。
[0055]报文解析模块202,用于解析所述消息报文,得到所述消息报文的特征信息。
[0056]本发明实施例中,作为示例而非限定,所述消息报文的特征信息包括所述被测流媒体服务器的接口信息、MAC地址信息、消息报文内容
[0057]测试系统在接收到消息报文后,可以对报文进行深度分析,得到发送或者接收到该消息报文的流媒体服务器的接口信息、TP地址信息、MAC地址信息,以及消息内容。
[0058]第一获取模块203,用于根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器。
[0059]本发明实施例中,作为示例而非限定,所述消息报文的特征信息包括所述被测流媒体服务器的接口信息、TP地址信息、MAC地址信息、消息报文内容;
[0060]第一获取模块203具体用于:将所述消息报文的特征信息作为所述状态机的输入状态变量,输出所述被测流媒体服务器的状态特征。
[0061]第二获取模块204,用于根据所述被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例。
[0062]流媒体服务器的测试系统通过状态机得到被测流媒体服务器的状态特征后,可以遍历流媒体测试用例特征库,得到适合被测流媒体服务器的状态特征的测试用例。
[0063]测试执行模块205,用于使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
[0064]当所述被测服务器包括多个流媒体服务器时,所述测试执行模块具体用于:采用多线程技术,使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
[0065]其中,被测流媒体服务器包括发送或者接收该消息报文的流媒体服务器,也还可以包括消息报文中涉及的流媒体服务器。由于被测流媒体服务器可以为多个流媒体服务器,本发明实施例可以采用多线程技术对多个流媒体服务器同时进行测试。
[0066]需要说明的是,测试系统在同一时间可以监听到多个流媒体服务器的消息报文,从而有多个流媒体服务器同时需要进行测试,本发明实施例同样也可以使用多线程技术对该多个需要进行测试的流媒体服务器进行测试。
[0067]优选地,本发明实施例提供的系统还包括:特征库建立模块206,用于根据所述流媒体服务器群组使用的协议规范,建立所述流媒体状态特征库以及所述流媒体测试用例特征值。
[0068]为了实现本发明的技术方案,本发明实施例为各种协议规范,如NGB、NGOD等,建立了流媒体信息特征库,以及流媒体测试用例特征库。
[0069]进一步地,本发明实施例提供的系统还包括:状态机实现模块207,用于根据所述流媒体状态库中流媒体服务器的状态特征,实现一个状态机。
[0070]在建立流媒体状态特征库之后,可使用面向对象的方法将流媒体的状态特征依据协议规范实现成状态机。
[0071]优选地,本发明实施例提供的系统还包括:映射关系建立模块208,用于建立所述被测流媒体服务器以及所述对应的测试用例之间的映射关系。
[0072]可选地,在第二获取模块204获取对应的测试用例之后,映射关系建立模块208可先建立被测流媒体服务器与测试用例之间的映射关系,以便测试执行模块205对对应的流媒体服务器执行测试。
[0073]因此,本发明实施例提供的流媒体服务器的测试系统中,各个功能模块通过监听流媒体服务器群组的消息报文,流媒体服务器群组包括至少一个流媒体服务器,流媒体服务器群组的消息报文为发送至至少一个流媒体服务器的消息报文或至少一个流媒体服务器发送出的消息报文;解析消息报文,得到消息报文的特征信息;根据消息报文的特征信息,获取被测流媒体服务器的状态特征,被测流媒体服务器为消息报文对应的流媒体服务器;根据被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于状态特征的被测流媒体服务器对应的测试用例;使用对应的测试用例,执行对被测流媒体服务器的测试。由此,实现了流媒体服务器群组中多个流媒体服务器的自动测试以及对流媒体服务器群组中多个流媒体服务器同时进行测试,减少了工作量,提高了流媒体服务器的测试效率。
[0074]专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0075]结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0076]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种流媒体服务器的测试方法,其特征在于,所述方法包括: 监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器; 解析所述消息报文,得到所述消息报文的特征信息; 根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器; 根据所述被测流 媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例; 使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
2.根据权利要求1所述的流媒体服务器的测试方法,其特征在于,所述监听流媒体服务器群组的消息报文之前,还包括:根据所述流媒体服务器群组使用的协议规范,建立所述流媒体状态特征库以及所述流媒体测试用例特征值。
3.根据权利要求2所述的流媒体服务器的测试方法,其特征在于,所述建立所述流媒体状态特征库之后,还包括:根据所述流媒体状态库中流媒体服务器的状态特征,实现一个状态机。
4.根据权利要求3所述的流媒体服务器的测试方法,其特征在于,所述消息报文的特征信息包括所述被测流媒体服务器的接口信息、TP地址信息、MAC地址信息、消息报文内容; 所述根据所述消息报文的特征信息,获取所述被测流媒体服务器的状态特征具体为:将所述消息报文的特征信息作为所述状态机的输入状态变量,输出所述被测流媒体服务器的状态特征。
5.根据权利要求1所述的流媒体服务器的测试方法,其特征在于,当所述被测服务器包括多个流媒体服务器时,所述使用所述对应的测试用例,执行对所述被测流媒体服务器的测试具体为:采用多线程技术,使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
6.根据权利要求1所述的流媒体服务器的测试方法,其特征在于,所述使用所述对应的测试用例,执行对所述被测流媒体服务器的测试之前,所述获取处于所述状态特征的所述被测流媒体服务器对应的测试用例之后,还包括:建立所述被测流媒体服务器以及所述对应的测试用例之间的映射关系。
7.一种流媒体服务器的测试系统,其特征在于,所述系统包括: 报文监听模块,用于监听流媒体服务器群组的消息报文,所述流媒体服务器群组包括至少一个流媒体服务器; 报文解析模块,用于解析所述消息报文,得到所述消息报文的特征信息; 第一获取模块,用于根据所述消息报文的特征信息,获取被测流媒体服务器的状态特征,所述被测流媒体服务器为所述消息报文对应的流媒体服务器; 第二获取模块,用于根据所述被测流媒体服务器的状态特征,遍历流媒体测试用例特征库,获取处于所述状态特征的所述被测流媒体服务器对应的测试用例; 测试执行模块,用于使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
8.根据权利要求7所述的流媒体服务器的测试系统,其特征在于,所述系统还包括:特征库建立模块,用于根据所述流媒体服务器群组使用的协议规范,建立所述流媒体状态特征库以及所述流媒体测试用例特征值。
9.根据权利要求8所述的流媒体服务器的测试系统,其特征在于,所述系统还包括:状态机实现模块,用于根据所述流媒体状态库中流媒体服务器的状态特征,实现一个状态机。
10.根据权利要求9所述的流媒体服务器的测试系统,其特征在于,所述消息报文的特征信息包括所述被测流媒体服务器的接口信息、TP地址信息、MAC地址信息、消息报文内容; 所述第一获取模块具体用于:将所述消息报文的特征信息作为所述状态机的输入状态变量,输出所述被测流媒体服务器的状态特征。
11.根据权利要求8所述的流媒体服务器的测试系统,其特征在于,当所述被测服务器包括多个流媒体服务器时,所述测试执行模块具体用于:采用多线程技术,使用所述对应的测试用例,执行对所述被测流媒体服务器的测试。
12.根据权利要求8所述的流媒体服务器的测试系统,其特征在于,所述系统还包括:映射关系建立模块,用于建立所述被测流媒体服务器以及所述对应的测试用例之间的映射关系。
【文档编号】H04L29/06GK103501258SQ201310495470
【公开日】2014年1月8日 申请日期:2013年10月21日 优先权日:2013年10月21日
【发明者】田野, 邓峰 申请人:中国科学院声学研究所