一种用于流媒体服务的负载测试系统以及测试方法

文档序号:7656568阅读:202来源:国知局

专利名称::一种用于流媒体服务的负载测试系统以及测试方法
技术领域
:本发明涉及流媒体测试技术,尤其是涉及一种用于流媒体服务、对流媒体服务器的性能进行综合测试的负载测试系统以及测试方法。
背景技术
:流媒体(StreamingMedia)技术的出现,使得通过网络观看和传输影音文件成为一种现实。所谓流媒体技术,就是将视音频文件经过压缩处理后,放在网络服务器上进行分段传输,客户端计算机不用将整个视音频文件下载到本地,便可以即时收听和收看的全新方式。但在目前的网络带宽的限制下,为了达到网络上流式传播文件的目的,视音频文件经过压缩处理,减小了文件的大小,从而使影音文件的品质有所下降。由于流媒体业务是一种宽带业务,对于网络带宽、抖动、延迟和丢包率都有较高的要求,因此,尤其是在业务忙碌的时段内,客户端在使用流媒体服务时,可能会产生黑屏、马赛克、图像停格、声音时断时续等现象。为了解决流媒体在播放时出现的问题,寻找影响流媒体业务品质的问题,需要对流+某体业务进行测试。目前的测试手段大致可以分为两类一类是采用最原始最筒单的测试方法,即让大量测试人员在不同时段、不同地方点播流媒体,并记录所遇到黑屏、马塞克、图像停格、声音时断时续等现象,最后将记录数据作汇总统计。该测试方法费时费力,测试人员必须一直仔细地盯着画面,很容易疏忽掉一些细节,且测试数据的统计工作也相当繁瑣。另一类是使用专门的测试软件进行测试。目前国际上公开发布的流媒体服务器性能模拟测试工具只有美国微软公司发布的"WindowsMediaLoadSimulator"。该工具可以完全自动的模拟打开流媒体、关闭流媒体的连接,因此,利用该工具大大减轻了测试人员的工作量,且可以提高测试效率。然而,该测试工具不会真正进行播放流媒体,仅偏重于对流媒体服务器进行压力测试,故无法真实的模拟用户的使用场景,当然也无法检测到播放流媒体时出现的停顿、马赛克等现象。此外,该测试工具还具有以下缺点一是只支持微软公司自己的协议,只能测试4敬软公司的流媒体服务器;二是不支持分步式多个负栽工作站测试数据的汇总与分析;三是其只能运行在Windows操作系列平台上。此外,申请号为200410058810.9的中国专利申请,公开了一种用于流i某体服务的负栽模拟器以及负栽模拟系统,该系统虽然能够实现模拟客户端用户播放流媒体的使用场景进行测试,但该系统只支持RTSP(RealTimeStreamingProtocol)协议,且系统配置复杂,对流媒体的测试非常不方便
发明内容本发明的目的在于提出一种对用于提供流媒体服务的流媒体服务器的性能进行综合测试的负载测试系统以及测试方法,以解决现有测试方法对流+某体服务器测试不方便的技术问题。为解决上述问题,本发明公开一种用于流媒体服务的负载测试系统,包括用于提供流媒体服务的流媒体服务器;与所述流媒体服务器连接的至少一个测试客户端,用于根据测试任务向流媒体服务器发起流媒体服务的点播请求,并记录点播流媒体服务时相应的点播质量参数;分别与所述流媒体服务器以及所述测试客户端连接的测试管理服务器,用于生成分配至所述测试客户端的测试任务;并获取所述测试客户端对应测试任务的点播质量参数以及所述流媒体服务器运行的性能日志,通过分析点播质量参数及性能日志获取流媒体服务的测试结果。较优的,所述测试客户端包括测试任务处理模块,用于从所述测试管理服务器获取所分配的测试任务;依据所述流媒体服务器提供的软件开发工具设计的负载产生模块,与所述测试任务处理模块连接,用于根据测试任务向流媒体服务器发起流媒体服务的点播请求,并记录点播流媒体服务时用于评估流媒体服务质量的点播质量参数,并于测试任务完成后将所述点播质量参数发送至所述测试管理服务器。较优的,所述测试管理服务器包括测试任务管理模块,用于生成分配至所述测试客户端的测试任务;测试数据分析模块,用于接收所述测试客户端发送的所述点播质量参数,以及所述流媒体服务器发送的性能日志,并通过分析所述点播质量参数以及所述性能日志,获取流媒体服务的测试结果。较优的,所述测试管理服务器还包括管理员配置模块,与所述测试任务管理冲莫块连接,用于配置测试任务相关的信息,包括配置用于测试的对应流々某体文件列表、所述测试客户端的当前状态信息、以及增加、删除和修改所述测试客户端的信息。较优的,所述测试客户端与所述测试管理服务器之间,以及所述测试管理服务器与所述流々某体服务器之间,均采用SOAP通信协议进行信息交互。较优的,所述测试任务至少包括对应的测试客户端信息、所述流媒体服务器的IP地址以及所采用的通信协议信息、以及包含测试模式与设置所述流媒体服务器发送的性能日志的时间间隔的测试信息;且该测试模式包括播放流媒体文件模式、所述测试客户端启动测试的次序、以及流媒体服务点播过程控制模式。较优的,所述点播质量参数至少包括点播的流媒体文件的URL、点播开始和结束时间、比特率、帧数、数据包数量、丟包率、网络连接状态、以及每分钟比特率统计的信息;而所述性能日志包括至少记载了所述流媒体服务器的CUP占有率、磁盘吞吐量、网络吞吐量的信息。另外,本发明还公开一种用于流媒体服务的负载测试方法,包括步骤每个测试客户端接收分配的测试任务,根据测试任务向流媒体服务器发起流媒体服务的点播请求,记录并上报点播流媒体服务时相应的点播质量参数;接收并分析所述测试客户端对应测试任务的点播质量参数以及所述流媒体服务器运行的性能日志,获取流媒体服务的测试结果。较优的,所述测试客户端获取测试任务以及上报所述点播质量参数、以及所述流媒体服务器上报运行的性能日志,均是采用SOAP通信协议进行信息交互。较优的,所述测试任务至少包括对应的测试客户端信息、所述流媒体服务器的IP地址以及所采用的通信协议信息、以及包含测试模式与设置所述流媒体服务器发送的性能日志的时间间隔的测试信息;且该测试模式包括播放流媒体文件模式、所述测试客户端启动测试的次序、以及流媒体服务点播过程控制模式;所述点播质量参数至少包括点播的流媒体文件的URL、点播开始和结束时间、比特率、帧数、数据包数量、丟包率、网络连接状态、以及每分钟比特率统计的信息;而所述性能日志包括至少记载了所述流媒体服务器的CUP占有率、磁盘吞吐量、网络吞吐量的信息。与现有技术相比,本发明具有以下有益效果1、本发明所有的测试任务都可以在所述测试管理服务器中集中部署,各测试客户端只要与所述测试管理服务器通信就可以获取自己的测试任务并自动执行,因此,本发明具有集中管理的优点;2、本发明在测试任务设置完毕后,各测试客户端可以自动进行测试,同时将测试结果自动发送到所述测试管理服务器,并生成性能分析报表,因而本发明具有测试完全自动化、无须人为干预的优点,且通过模拟用户点播流媒体的实际使用场景对流々某体服务进行测试,具有测试数据准确、真实的优点;3、本发明所有的管理都基于WEB方式管理,用户可以远程管理测试系统,获取测试结果,因而具有操作方便的优点;4、本发明测试客户端中的负载产生模块是采用开放式结构设计,利用各流媒体服务器、视频服务器厂家提供的软件开发工具包(SDK)进行开发,这样,本系统支持各种协议的流就4某体服务器,可以测试各个厂家的流媒体服务器的性能,因而,本发明具有适用面广的优点。图1是本发明负载测试系统的结构示意图。图2是本发明负载测试方法的流程示意图。具体实施例方式本发明提出了一种代替人工进行流媒体的点播测试,以成本低廉、自动记录异常、分析结果准确、统计方便、少量人工参与的主要优点,实现对提供流媒体服务的流A某体服务器的性能进行综合测试的负载测试系统以及测试方法。为便于理解,先详细阐述本发明的实现策略从流媒体点播的基本思想来看,任何一台连入互联网的计算机都有可能成为流媒体用户;即,安装了客户端点播程序的计算机都可以成为本系统的一个测试客户端(或简称为客户樣);因此,本发明的测试系统要求具有远程通信的能力。并且,待测流媒体以及点播流媒体的客户端可能会不断变化,所以,要求流媒体服务器与客户端之间具有更为灵活、松散的关系,这对本发明的测试系统提出了松散耦合的需求。另外,客户端上运行的客户端程序与服务器端的实现可能是异构的,这里需要将两者集成为一个相互协调互动的Web应用。另外,WebService体系使用简单对象访问协议(SimpleObjectAccessProtocol,SOAP)实现应用与服务之间的通信,用WSDL(WebServicesDescriptionLanguage)文件对服务进行标准的描述。WebService体系具有完全的平台、语言独立性,它进行了更高程度的抽象,只要遵守WebService的接口即可进行服务的请求与调用,同时,SOAP协议一般是使用标准的HTTP协议,可以透明地穿越防火墙。WebService可以在Web上发布,通过采用WebService,部署和集成的费用大大降低。基于WebService的应用程序具备了+錄耦合、面向构建和跨技术实现的特点,因此,是实现本发明的较佳解决途径。以下以使用WebService体系为例来进一步阐述本发明的测试系统。请参见图l所示,本发明的测试系统包括用于提供流媒体服务的流媒体服务器110;若干个测试客户端120,均与所述流媒体服务器110连接;以及测试管理服务器130,分别与所述流媒体服务器110以及所述测试客户端120连接。其中,所述测试客户端120包括用于从所述测试管理服务器获取所分配的测试任务的测试任务处理模块121;与所述测试任务处理模块121连接的负载产生模块122,可以模拟一个或多个利用流媒体服务厂商提供的软件开发工具(SofewareDevelopmentKit,SDK)开发的客户端点播程序,用于根据测试任务向所述流媒体服务器110发起流媒体服务的点播请求,并记录点播流媒体服务时用于评估流媒体服务质量的点播质量参数,并于测试任务完成后将所述点播质量参数发送至所述测试管理服务器。所述点播质量参数至少包括点播的流媒体文件的URL、点播开始和结束时间、比特率、帧数、数据包数量、丢包率、网络连接状态、以及每分钟比特率统计的信息。所述测试客户端120与所述测试管理服务器130之间采用SOAP通信协议进行信息交互。启动所述测试客户端120后,所述测试任务处理模块121通过SOAP协议与所述测试管理服务器130通信,获取测试任务的信息,然后调用所述负载产生模块122;由所述负载产生模块122根据测试任务的要求,通过测试任务处理模块121向所述流媒体服务器110发起指定点播文件和指定数量的点播请求。另外,所述负载产生模块122实时记录点播图像画面质量信息(即点播质量参数),比如影片URL、影片开始结束时间、比特率、帧数、数据包数、丟包率、网络连接状态与每分钟比特率统计等信息,以通过该点播质量参数来评估网络播放流媒体的质量。并且,在每个影片点播完成后,所述负载产生模块122会将点播质量参数信息发送到所述测试管理服务器130。另外,所述流媒体服务器110与所述测试管理服务器130之间通过SOAP协议进行通信,获取所述测试管理服务器130设定的测试任务,以及所述测试管理服务器130中所设置的性能日志的发送间隔,从而为所述测试客户端120提供流媒体服务做准备,比如,复制测试任务对应流媒体文件的分数,准备点播素材等。此外,所述流媒体服务器110定期记录自身的运行性能日志信息,包括CPU占用率、磁盘IO占用率、磁盘吞吐量、网络吞吐量等信息,并根据所述测试管理服务器130中所设置的性能日志的发送间隔,将性能日志发送至所述测试管理服务器130。所述测试管理服务器130需要运行WebServer与数据库,包括管理员配置模块131、测试任务管理模块132和测试数据分析模块133。所述管理员配置模块131与所述测试任务管理才莫块132连接,用于配置测试任务相关的信息,包括配置用于测试的对应流媒体文件列表、所述测试客户端的当前状态信息、以及增加、删除和修改所述测试客户端的信息;所述测试任务管理模块132用于生成分配至所述测试客户端120的测试任务;所述测试数据分析冲莫块133用于接收所述测试客户端120发送的所述点播质量参数,以及所述流媒体服务器110发送的性能日志,并通过分析所述点播质量参数以及所述性能日志,获取流媒体服务器的测试结果。另外,所述管理员配置模块131可以直接以具有管理员权限的帐号、密码从所述测试管理服务器130登陆,也可以从任意一台可以通过HTTP访问所述测试管理服i器130的PC机上进行登陆。所述测试任务相关信息至少包括测试任务对应的测试客户端信息、所述流媒体服务器的IP地址以及所采用的通信协议信息、以及包含测试模式与设置所述流媒体服务器110发送的性能日志的时间间隔的测试信息;且该测试模式包括播放流媒体文件模式、所述测试客户端启动测试的次序、以及流媒体服务点播过程控制模式。其中,播放流媒体文件模式可以是如下3种模式的任何一种1、'单文件模式(SF),即所有的负载产生模块122都点播同一流媒体文件,这种情况测试的是理想情况下所述流媒体服务器110的性能。2、一负载一文件的模式(SE),即每个所述负载产生模块122都点播不同的流媒体文件,这种情况测试的是极端情况下所述流媒体服务器110的性能。3、按2/8规律的文件模式(SSN,N为整数,表示系统支持N个并发用户),即根据系统设计的并发容量,按2/8规律确定文件数,2/8规律就是80%的用户只访问20°/。的节目。假设我们设计系统支持N个并发用户,则理论上,极端来讲,80%的用户访问20%的节目,剩下20%的用户每个人访问一个节目。如此,就可以计算出理论上极端被访问的节目文件数目X,公式为X-X*0.2+N*0.2;X=N/4。也就是说,如果我们模拟测一个实际并发用户为200的系统,只要准备50个流媒体文件就可以了。所述测试客户端启动测试的次序包括顺序启动或随即启动。所谓顺序启动(S2),是指所有的负载产生模块122按设定的一个时间间隔依次启动,该时间间隔可以根据实际需要,设置为2秒、5秒等。而所谓随即启动(RX,X为一个整数),是指所有的负载产生模块122在一个设定时间范围内随即启动,比如,设置启动的时间范围为R1000,表示所有的负载产生模块122在1-1000秒内随即启动,且每个所述负载产生模块122的启动时间间隔是随即而不相同的。所述流媒体服务点播过程控制模式包括顺序播放模式和控制播放模式。所谓顺序播放模式(S),是指每个所述负载产生模块122开始点播流媒体文件后,中间不做任何操作,依次播放到文件结尾。而控制播放模式(T)是指每个所述负载产生模块122开始点播流媒体文件后,中间模拟一些点播控制,比如暂停、快进、快退、拖动播放等操作,且这些操作都是随机产生的。因此,用户可以选择这三种参数的组合,设置测试任务中实际的测试模式。如设置测试模式为SF-S2-S,表示单文件顺序播放参与点播的文件只有一个,比如l.mp4;每个所述负载产生模块122每隔2秒发起对该文件的点播请求,且点播从头到尾依次播放完毕。又如,设置测试模式为SS200-R1000-T,表示按2/8规律模拟200并发用户的点播用户,这时参与点播的文件为50个;所述流媒体服务器110需要把将测试文件复制49份,比如所述流媒体服务器110上的测试文件是l.mp4,则需要将该文件复制成2.mp4、3.mp4、…、50.mp4;这时,所有200个所述负载产生模块122要在1000秒发起对这50个文件的访问编号0-16的负载产生模块访问1.mp4、编号17-32的负载产生模块访问2.mp4.....编号144-160的负载产生模块访问10.mp4,最后面编号为161-200的负载产生模块依次访问11.mp4、12.mp4.....50.mp4;每个点播请求发起后,播放过程中随机模拟一些点播控制操作,如暂停、快进、快退、拖动播放等。另外,当所有的测试客户端120的测试任务完成后,所述测试管理服务器130会把收集到的数据进行综合分析后,生成性能测试报表。比如,该报表的样式如下表1所示:_<table>tableseeoriginaldocumentpage9</column></row><table>表1其中,所述流媒体服务器110的当前性能指标CPU占用率、磁盘读速度、磁盘写速度以及网络吞吐量,均是指在执行存在若干个并发用户的测试任务时,所迷流媒体服务器110的自身性能指标。这些参数均可以通过所述流々某体服务器110安装的操作系统(OperationSystem,OS)中所携带的任务管理器获得。另外,所述测试管理服务器130还提供查询功能,包括查询性能测试报表、测试日志、以及测试点状态等多种信息的查询。并且,测试管理员还可以通过浏览器访问所述测试管理服务器130,实现多个测试点的播放列表配置,也可以修改任意一部待测流媒体文件的测试配置参数,甚至还可以实现按流媒体服务器IP、测试点编号、播S文时4殳对测试结果的统计。相应的,本发明公开一种用于流媒体服务的负载测试方法,请参见图2所示,包括如下步骤步骤S210:每个测试客户端接收分配的测试任务。步骤S220:根据测试任务向流媒体服务器发起流媒体服务的点播请求。步骤S230:获取点播请求对应的流媒体文件,开始播放流媒体文件,记录并上报点播流媒体服务时相应的点播质量参数。步骤S240:接收并分析所述测试客户端对应测试任务的点播质量参^:,以及获取并分析所述流^(某体服务器运行的性能曰志步骤S250:通过分析所述点播质量参数和所述性能日志,获取流々某体服务的测试结果。其中,所述测试客户端获取测试任务以及上报所述点播质量参数、以及所述流^某体服务器上4艮运行的性能日志,均是采用SOAP通信协议进行信息交互。所述测试任务至少包括对应的测试客户端信息、所述流媒体服务器的IP地址以及所采用的通信协议信息、以及包含测试模式与设置所述流媒体服务器发送的性能日志的时间间隔的测试信息;且该测试模式包括播放流媒体文件模式、所述测试客户端启动测试的次序、以及流i某体服务点播过程控制模式;所述点播质量参数至少包括点播的流媒体文斧的URL、点播开始和结束时间、比特率、帧数、数据包数量、丢包率、网络连接状态、以及每分钟比特率统计的信息;而所述性能日志包括至少记载了所述流媒体服务器的CUP占有率、磁盘吞吐量、网络吞吐量的信息。综上所述,本发明具有如下有意技术效果1、本发明所有的测试任务都可以在所述测试管理服务器中集中部署,各测试客户端只要与所述测试管理服务器通信就可以获取自己的测试任务并自动执行,因此,本发明具有集中管理的优点;2、本发明在测试任务设置完毕后,各测试客户端可以自动进行测试,同时将测试结果自动发送到所述测试管理服务器,并生成性能分析报表,因而本发明具有测试完全自动化、无须人为干预的优点,且通过模拟用户点播流媒体的实际使用场景对流i某体服务进行测试,具有测试数据准确、真实的优点;3、本发明所有的管理都基于WEB方式管理,用户可以远程管理测试系统,获取测试结果,因而具有操作方便的优点;4、本发明测试客户端中的负载产生模块是采用开放式结构设计,利用各流媒体服务器、视频服务器厂家提供的软件开发工具包(SDK)进行开发,这样,本系统支持各种协议的流就媒体服务器,可以测试各个厂家的流媒体服务器的性能,因而,本发明具有适用面广的优点。权利要求1、一种用于流媒体服务的负载测试系统,包括用于提供流媒体服务的流媒体服务器,其特征在于,还包括与所述流媒体服务器连接的至少一个测试客户端,用于根据测试任务向流媒体服务器发起流媒体服务的点播请求,并记录点播流媒体服务时相应的点播质量参数;分别与所述流媒体服务器以及所述测试客户端连接的测试管理服务器,用于生成分配至所述测试客户端的测试任务;并获取所述测试客户端对应测试任务的点播质量参数以及所述流媒体服务器运行的性能日志,通过分析点播质量参数以及性能日志获取流媒体服务的测试结果。2、根据权利要求1所述的用于流媒体服务的负载测试系统,其特征在于,所述测试客户端包括测试任务处理模块,用于从所述测试管理服务器获取所分配的测试任务;依据所述流媒体服务器提供的软件开发工具设计的负载产生冲莫块,与所述测试任务处理模块连接,用于根据测试任务向流媒体服务器发起流媒体服务的点播请求,并记录点播流媒体服务时用于评估流媒体服务质量的点播质量参数,并于测试任务完成后将所述点播质量参数发送至所述测试管理服务器。3、根据权利要求1所述的用于流媒体服务的负载测试系统,其特征在于,所述测试管理服务器包括测试任务管理模块,用于生成分配至所述测试客户端的测试任务;测试数据分析模块,用于接收所述测试客户端发送的所述点播质量参数,以及所述流媒体服务器发送的性能日志,并通过分析所述点播质量参数以及所述性能日志,获取流媒体服务的测试结果。4、根据权利要求3所述的用于流媒体服务的负载测试系统,其特征在于,所述测试管理服务器还包括管理员配置模块,与所述测试任务管理模块连接,用于配置测试任务相关的信息,包括配置用于测试的对应流媒体文件列表、所述测试客户端的当前状态信息、以及增加、删除和修改所述测试客户端的信息。5、根据权利要求1所述的用于流媒体服务的负载测试系统,其特征在于,所述测试客户端与所述测试管理服务器之间,以及所迷测试管理服务器与所述流媒体服务器之间,均采用SOAP通信协议进行信息交互。6、根据权利要求1-5任何一项所述的用于流媒体服务的负载测试系统,其特征在于,所述测试任务至少包括对应的测试客户端信息、所述流媒体服务器的IP地址以及所采用的通信协议信息、以及包含测试模式与设置所述流媒体服务器发送的性能日志的时间间隔的测试信息;且该测试模式包括播放流媒体文件模式、所述测试客户端启动测试的次序、以及流媒体服务点播过程控制模式。7、根据权利要求6所述的用于流媒体服务的负载测试系统,其特征在于,所述点播质量参数至少包括点播的流媒体文件的URL、点播开始和结束时间、比特率、帧数、数据包数量、丟包率、网络连接状态、以及每分钟比特率统计的信息;而所述性能日志包括至少记载了所述流媒体服务器的CUP占有率、磁盘吞吐量、网络吞吐量的信息。8、一种用于流Jf某体服务的负载测试方法,其特征在于,包括步骤每个测试客户端接收分配的测试任务,根据测试任务向流媒体服务器发起流媒体服务的点播请求,记录并上报点播流媒体服务时相应的点播质量参数;接收并分析所述测试客户端对应测试任务的点播质量参数以及所述流媒体服务器运行的性能日志,获取流媒体服务的测试结果。9、根据权利要求8所述的用于流媒体服务的负载测试方法,其特征在于,所述测试客户端获取测试任务以及上报所述点播质量参数、以及所述流媒体服务器上报运行的性能日志,均是采用SOAP通信协议进行信息交互。10、根据权利要求8或9所述的用于流媒体服务的负载测试方法,其特征在于,所述测试任务至少包括对应的测试客户端信息、所述流媒体服务器的IP地址以及所采用的通信协议信息、以及包含测试模式与设置所述流媒体服务器发送的性能日志的时间间隔的测试信息;且该测试模式包括播放流媒体文件模式、所述测试客户端启动测试的次序、以及流媒体服务点播过程控制模式;所述点播质量参数至少包括点播的流媒体文件的URL、点播开始和结束时间、比特率、帧数、数据包数量、丟包率、网络连接状态、以及每分钟比特率统计的信息;而所述性能日志包括至少记载了所述流媒体服务器的CUP占有率、磁盘吞吐量、网络吞吐量的信息。全文摘要本发明公开一种用于流媒体服务的负载测试系统以及测试方法,该测试系统包括用于提供流媒体服务的流媒体服务器;用于根据测试任务向流媒体服务器发起流媒体服务的点播请求,并记录点播流媒体服务时相应的点播质量参数的至少一个测试客户端;用于生成分配至所述测试客户端的测试任务,并获取所述测试客户端对应测试任务的点播质量参数以及所述流媒体服务器运行的性能日志,通过分析点播质量参数以及性能日志获取流媒体服务的测试结果的测试管理服务器。本发明通过SOAP通信协议、集中配置测试任务、自动完成自测并生成测试报告来实现对流媒体服务器的性能进行综合测试,具有测试准确、真实,且适用测试场合较广的优点。文档编号H04L12/18GK101291260SQ20071012361公开日2008年10月22日申请日期2007年9月25日优先权日2007年9月25日发明者李福堂申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1