專利名稱:用于流媒體服務(wù)的負(fù)載模擬器以及負(fù)載模擬系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)多媒體技術(shù),特別涉及對(duì)流媒體服務(wù)系統(tǒng)進(jìn)行測(cè)試的負(fù)載模擬器的一種實(shí)現(xiàn)方法。
背景技術(shù):
流媒體(Stream Media)是指在Internet/Intranet中使用流式傳輸技術(shù)的連續(xù)時(shí)基媒體,如音頻、視頻或多媒體文件。
流媒體服務(wù)系統(tǒng)能夠在網(wǎng)絡(luò)環(huán)境下,為采用機(jī)頂盒、個(gè)人計(jì)算機(jī)以及其它類型流媒體終端的用戶提供電影點(diǎn)播服務(wù)、直播電視服務(wù)以及其它媒體服務(wù)。
流媒體服務(wù)系統(tǒng)一般指的是頭端(中心)系統(tǒng)。通常包括流媒體服務(wù)器、認(rèn)證服務(wù)器、計(jì)費(fèi)及應(yīng)用業(yè)務(wù)管理支撐系統(tǒng)、視頻采集制作端系統(tǒng)、媒體內(nèi)容檢索系統(tǒng)、數(shù)字版權(quán)管理(DRM)、媒體存儲(chǔ)與分發(fā)系統(tǒng)等重要組成部分。
其中流媒體服務(wù)器是流媒體服務(wù)系統(tǒng)最核心的部件,它管理并傳送大量流媒體內(nèi)容。按照它發(fā)送流媒體的方式,又分成單播和組播服務(wù)。在客戶端與媒體服務(wù)器之間需要建立一個(gè)單獨(dú)的數(shù)據(jù)通道,從一臺(tái)服務(wù)器送出的每個(gè)數(shù)據(jù)包只能傳送給一個(gè)客戶機(jī),這種傳送方式稱為單播。每個(gè)用戶必須分別對(duì)流媒體服務(wù)器發(fā)送單獨(dú)的查詢,而流媒體服務(wù)器必須向每個(gè)用戶發(fā)送所申請(qǐng)的數(shù)據(jù)包拷貝。IP組播技術(shù)構(gòu)建一種具有組播能力的網(wǎng)絡(luò),允許路由器一次將數(shù)據(jù)包復(fù)制到多個(gè)通道上。采用組播方式,單臺(tái)服務(wù)器能夠?qū)资f(wàn)臺(tái)客戶機(jī)同時(shí)發(fā)送連續(xù)數(shù)據(jù)流而無(wú)延時(shí)。流媒體服務(wù)器只需要發(fā)送一個(gè)信息包,而不是多個(gè)。所有發(fā)出請(qǐng)求的客戶端共享同一信息包。信息可以發(fā)送到任意地址的客戶機(jī),減少網(wǎng)絡(luò)上傳輸信息包的總量。單播和組播是本發(fā)明的負(fù)載模擬器要接受的兩種主要服務(wù)方式。
流媒體服務(wù)系統(tǒng)的負(fù)載指的是流媒體終端。常見(jiàn)的流媒體終端通常包括機(jī)頂盒、個(gè)人計(jì)算機(jī)、手機(jī)、掌上電腦、專用信息終端等。流媒體終端內(nèi)含有一個(gè)流媒體播放器。它能與頭端系統(tǒng)通過(guò)網(wǎng)絡(luò)聯(lián)接,發(fā)送點(diǎn)播電影等服務(wù)請(qǐng)求,并接受頭端系統(tǒng)發(fā)送的流媒體數(shù)據(jù),進(jìn)行解碼,實(shí)時(shí)播放出流媒體。流媒體播放器還具有進(jìn)行快進(jìn)、快退、暫停、播放、停止等“VCR模式”遙控器操作的功能。它是通過(guò)將這些遙控器操作請(qǐng)求發(fā)送給流媒體服務(wù)器,流媒體服務(wù)器與流媒體播放器交互配合來(lái)完成這些操作。這些操作是流媒體服務(wù)系統(tǒng)負(fù)載的最主要操作。也是本發(fā)明的負(fù)載模擬器要模擬的主要操作。
按照采用的存儲(chǔ)和傳送文件格式,流媒體又分成MPEG1、MPEG2、MPEG4、Windows Media、Real Media、Quick Time等。
由于流媒體是通過(guò)網(wǎng)絡(luò)進(jìn)行傳送的,根據(jù)流媒體的網(wǎng)絡(luò)傳送協(xié)議又可將流媒體服務(wù)系統(tǒng)分成不同的類型。例如,Microsoft的MMS協(xié)議、HTTP協(xié)議、FTP協(xié)議、RTP與RTSP協(xié)議、RTP與RTCP、UDP與RTSP協(xié)議、RTP與TCP協(xié)議等。不同的協(xié)議在面向不同的重點(diǎn)應(yīng)用中,具有自己的優(yōu)勢(shì)。本發(fā)明的負(fù)載模擬器面向RTP與RTSP協(xié)議,RTP與RTSP協(xié)議可滿足大多數(shù)、常見(jiàn)的流媒體應(yīng)用。
RTP(Real-time Transport Protocol)被定義為傳輸音頻、視頻、模擬數(shù)據(jù)等實(shí)時(shí)數(shù)據(jù)的傳輸協(xié)議(參見(jiàn)RFC 3550Real TimeTransport Protocol,http//www.ietf.org)。與傳統(tǒng)的注重的高可靠的數(shù)據(jù)傳輸?shù)倪\(yùn)輸層協(xié)議相比,RTP更加側(cè)重?cái)?shù)據(jù)傳輸?shù)膶?shí)時(shí)性,它提供的服務(wù)包括時(shí)間載量標(biāo)識(shí)、數(shù)據(jù)序列、時(shí)戳、傳輸控制等。RTP是IETF(Internet Engineering Task Force)組織發(fā)布的標(biāo)準(zhǔn)。
RTSP(Real Time Streaming Protocol),實(shí)時(shí)流協(xié)議(參見(jiàn)RFC2326Real Time Streaming Protocol,http//www.ietf.org),是一個(gè)客戶/服務(wù)器形式的多媒體節(jié)目協(xié)議,它可以控制流媒體數(shù)據(jù)在IP網(wǎng)絡(luò)上的發(fā)送,同時(shí)提供用于音頻和視頻流的“VCR模式”遠(yuǎn)程控制功能,如停止、快進(jìn)、快退和定位。同時(shí)RTSP又是一個(gè)應(yīng)用層協(xié)議,用來(lái)與諸如RTP、RSVP等更低層的協(xié)議一起,提供基于Internet的整套流化服務(wù)。RTSP也是IETF發(fā)布的標(biāo)準(zhǔn)。
目前國(guó)際上參與流媒體技術(shù)競(jìng)爭(zhēng)的主要是三家大公司,即RealNetworks公司、Microsoft公司和Apple公司。他們的產(chǎn)品各有千秋。
由于流媒體服務(wù)系統(tǒng)復(fù)雜,要服務(wù)的用戶量大,即負(fù)載量大,必須有一個(gè)負(fù)載模擬系統(tǒng)來(lái)滿足開發(fā)過(guò)程的調(diào)試測(cè)試、商業(yè)運(yùn)行階段的系統(tǒng)測(cè)試與維護(hù)、和用戶性能評(píng)估測(cè)試。
這里的負(fù)載模擬,是指將軟件——流媒體服務(wù)系統(tǒng)負(fù)載模擬器(簡(jiǎn)稱“負(fù)載模擬器”),運(yùn)行在一臺(tái)或多臺(tái)計(jì)算機(jī)上,模擬一臺(tái)或多臺(tái)(甚至上百萬(wàn)臺(tái))機(jī)頂盒、個(gè)人計(jì)算機(jī)以及其它類型流媒體終端的操作與運(yùn)行,與流媒體服務(wù)系統(tǒng)交互,從而對(duì)流媒體服務(wù)系統(tǒng)(包括網(wǎng)絡(luò))進(jìn)行性能測(cè)試和壓力測(cè)試。運(yùn)行了負(fù)載模擬器軟件的計(jì)算機(jī)叫做負(fù)載工作站。
關(guān)于流媒體服務(wù)系統(tǒng)的負(fù)載模擬器,在中國(guó),到目前為止,未見(jiàn)到這方面的產(chǎn)品。在國(guó)際上,只有美國(guó)Microsoft公司公開發(fā)布了一個(gè)這樣的產(chǎn)品,但它存在如下主要問(wèn)題一是它只支持美國(guó)Microsoft公司自己的MMS協(xié)議,也只能測(cè)試Microsoft公司自己的流媒體服務(wù)器;二是它不支持分布式多個(gè)負(fù)載工作站的數(shù)據(jù)匯總與分析;三是它不支持按需分級(jí)分析機(jī)制;四是它不支持對(duì)含有多個(gè)流媒體服務(wù)器的流媒體服務(wù)系統(tǒng)進(jìn)行測(cè)試;五是它只能在Windows系列平臺(tái)運(yùn)行。
發(fā)明內(nèi)容
本發(fā)明的一方面特征在于,提供的負(fù)載模擬器基于IETF發(fā)布的國(guó)際標(biāo)準(zhǔn)協(xié)議,諸如標(biāo)準(zhǔn)RTP與RSTP協(xié)議。因?yàn)镽TP和RTSP是國(guó)際協(xié)議標(biāo)準(zhǔn),被非常廣泛的應(yīng)用,因而能夠?qū)崿F(xiàn)對(duì)絕大多數(shù)流媒體服務(wù)系統(tǒng)的測(cè)試。而現(xiàn)有技術(shù)如微軟的產(chǎn)品,僅支持微軟自身開發(fā)的MMS協(xié)議,則只能測(cè)試微軟公司自己的流媒體服務(wù)器。本發(fā)明的技術(shù)方案也可以基于其它用于流媒體傳輸?shù)膰?guó)際標(biāo)準(zhǔn)協(xié)議實(shí)現(xiàn)。
本發(fā)明的另一方面特征在于,提供的負(fù)載模擬器中的一個(gè)單個(gè)負(fù)載工作站中模擬了多個(gè)客戶終端,以一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)了多臺(tái)計(jì)算機(jī)的功能,從這個(gè)角度,本發(fā)明改進(jìn)了計(jì)算機(jī)的性能。
本發(fā)明的另一方面特征在于,提供的負(fù)載模擬器能夠支持分布式的多個(gè)負(fù)載工作站的同時(shí)運(yùn)行、數(shù)據(jù)匯總與分析,還可以實(shí)時(shí)的、自動(dòng)的得到統(tǒng)計(jì)分析結(jié)果。優(yōu)選的,還可以提供一個(gè)顯示工作站,用于匯總并顯示所述分布式的多個(gè)負(fù)載工作站的數(shù)據(jù)。
本發(fā)明的另一方面特征在于,提供的負(fù)載模擬器能夠支持按需分級(jí)分析機(jī)制,尤其是支持詳細(xì)的流媒體數(shù)據(jù)包(諸如RTP包)分析,這樣,可以得到各種粒度的測(cè)試結(jié)果,以滿足性能分析、錯(cuò)誤檢測(cè)、實(shí)時(shí)檢測(cè)等不同的應(yīng)用要求。
本發(fā)明的另一方面特征在于,提供的負(fù)載模擬器能夠支持具有多個(gè)流媒體服務(wù)器的流媒體服務(wù)系統(tǒng)。因?yàn)閱蝹€(gè)流媒體服務(wù)器提供的并發(fā)負(fù)載服務(wù)能力總是受限的,在一個(gè)流媒體服務(wù)系統(tǒng)中具有多個(gè)流媒體服務(wù)器同時(shí)提供服務(wù),支持更多的用戶,將是必然的發(fā)展方向。因此,本發(fā)明的負(fù)載模擬器支持對(duì)含有多個(gè)流媒體服務(wù)器的流媒體服務(wù)系統(tǒng)進(jìn)行測(cè)試有重要的意義。
本發(fā)明的另一方面特征在于,提供的負(fù)載模擬器使用了線程技術(shù)。因?yàn)榫€程技術(shù)獨(dú)立于硬件的模擬器結(jié)構(gòu)并且被各種平臺(tái)、協(xié)議所支持,因此本發(fā)明的技術(shù)方案可以在諸如Windows系列平臺(tái)、Linux平臺(tái)和Unix平臺(tái)上實(shí)現(xiàn)。
本發(fā)明的另一方面特征在于,提供的負(fù)載模擬器采取以三種線程為基礎(chǔ)的多線程結(jié)構(gòu),并且定義了每種線程的數(shù)目,這樣,在單臺(tái)負(fù)載工作站上模擬的流媒體終端數(shù)更多。
本發(fā)明一方面提供了用于模擬流媒體服務(wù)的至少一個(gè)客戶端的負(fù)載模擬器,該負(fù)載模擬器能夠通過(guò)一個(gè)網(wǎng)絡(luò)與一個(gè)流媒體服務(wù)器通信,所述模擬器包括一個(gè)共享存儲(chǔ)器,以下同時(shí)運(yùn)行的以下三種線程,第三種線程,定時(shí)地產(chǎn)生某一個(gè)客戶端對(duì)媒體內(nèi)容的預(yù)定請(qǐng)求,并把該請(qǐng)求寫入共享存儲(chǔ)器中;第二種線程,其根據(jù)寫入到所述共享存儲(chǔ)器中的所述請(qǐng)求,按照第一流媒體通信協(xié)議向流媒體服務(wù)器發(fā)送所述請(qǐng)求,接收流媒體服務(wù)器的回復(fù),然后把回復(fù)存儲(chǔ)在共享存儲(chǔ)器中;第一種線程,讀取共享存儲(chǔ)器中的所述回復(fù),如果回復(fù)同意所述請(qǐng)求,則按照第二流通新協(xié)議從流媒體服務(wù)器不斷的接收所請(qǐng)求的媒體內(nèi)容。
本發(fā)明另一方面提供了一種用于模擬流媒體傳輸?shù)呢?fù)載模擬系統(tǒng),其包括一個(gè)負(fù)載模擬器,一個(gè)流媒體服務(wù)系統(tǒng)和一個(gè)顯示控制工作站,其中所述負(fù)載模擬器能夠通過(guò)網(wǎng)絡(luò)與流媒體服務(wù)系統(tǒng)和顯示控制工作站通信,所述流媒體服務(wù)系統(tǒng)包括至少一個(gè)流媒體服務(wù)器以及一個(gè)調(diào)度管理機(jī),所述負(fù)載模擬器包括一個(gè)共享存儲(chǔ)器,以下三種同時(shí)運(yùn)行的線程,第三種線程,定時(shí)地產(chǎn)生某一個(gè)客戶端對(duì)媒體內(nèi)容的預(yù)定請(qǐng)求,并把該請(qǐng)求寫入共享存儲(chǔ)器中;第二種線程,其根據(jù)寫入到所述共享存儲(chǔ)器中的所述請(qǐng)求,按照第一流媒體通信協(xié)議向流媒體服務(wù)系統(tǒng)發(fā)送所述請(qǐng)求,接收流媒體服務(wù)系統(tǒng)的回復(fù),然后把回復(fù)存儲(chǔ)在共享存儲(chǔ)器中;第一種線程,讀取共享存儲(chǔ)器中的所述回復(fù),如果所述回復(fù)同意所述請(qǐng)求,則按照第二流媒體通信協(xié)議從所述至少一個(gè)流媒體服務(wù)器中的一個(gè)接收所請(qǐng)求的媒體內(nèi)容。
圖1顯示了根據(jù)本發(fā)明實(shí)施例的一種負(fù)載模擬器的結(jié)構(gòu)。
圖2顯示了根據(jù)本發(fā)明實(shí)施例的一種分布式負(fù)載模擬測(cè)試系統(tǒng)。
圖3顯示了根據(jù)本發(fā)明實(shí)施例的負(fù)載模擬器與流媒體服務(wù)系統(tǒng)的交互。
圖4顯示了根據(jù)本發(fā)明實(shí)施例的模擬流媒體終端的點(diǎn)播流程圖。
圖5顯示了根據(jù)本發(fā)明實(shí)施例的RTSP線程的流程圖。
圖6顯示了根據(jù)本發(fā)明實(shí)施例的RTP線程的流程圖。
圖7顯示了根據(jù)本發(fā)明實(shí)施例的定時(shí)線程的流程圖。
具體實(shí)施例方式
圖1顯示了根據(jù)本發(fā)明的一方面特征的負(fù)載模擬器。如圖1所示,負(fù)載模擬器的結(jié)構(gòu)是單進(jìn)程下的多線程結(jié)構(gòu)。即,一個(gè)負(fù)載模擬器在一臺(tái)計(jì)算機(jī)上只運(yùn)行一個(gè)進(jìn)程。但是在該進(jìn)程中具有多個(gè)線程同時(shí)運(yùn)行。這些線程按功能分成三種類型的線程,第一種是基于RTP協(xié)議的線程,第二種是基于RTSP協(xié)議的線程,第三種是以定時(shí)為觸發(fā)機(jī)制,進(jìn)行模擬諸如“VCR模式”操作(遙控器操作)、測(cè)試結(jié)果實(shí)時(shí)匯總、測(cè)試結(jié)果顯示和與其它計(jì)算機(jī)通信的線程;其中,第一種線程的個(gè)數(shù)與需要模擬的流媒體終端的個(gè)數(shù)相同,第二種線程的個(gè)數(shù)為一個(gè),第三種線程的個(gè)數(shù)為一個(gè)或多個(gè)。
優(yōu)選的,圖1所示的負(fù)載模擬器的可以包括一個(gè)共享存儲(chǔ)器。這里,所述共享存儲(chǔ)器用于線程之間的數(shù)據(jù)共享,從而實(shí)現(xiàn)了線程之間的數(shù)據(jù)通信,所述數(shù)據(jù)可以包括各種請(qǐng)求、回復(fù)、指令等管理信息和媒體內(nèi)容數(shù)據(jù)。所述共享存儲(chǔ)器可以通過(guò)使多個(gè)線程共用一個(gè)數(shù)組,或者直接共用一片分配的內(nèi)存單元來(lái)實(shí)現(xiàn)。當(dāng)然也可以使用其他手段來(lái)實(shí)現(xiàn)線程之間的數(shù)據(jù)通信,例如本領(lǐng)域已有的(Windows,Linux等操作系統(tǒng)均支持)線程之間的直接通信技術(shù)。但是采用一個(gè)共享存儲(chǔ)器實(shí)現(xiàn)簡(jiǎn)單,結(jié)構(gòu)清晰,并且共享存儲(chǔ)器的大小可以根據(jù)需要容易的調(diào)整。負(fù)載模擬器還可以包括一個(gè)控制器和一個(gè)定時(shí)裝置,在進(jìn)行所述模擬測(cè)試時(shí),所述控制器控制上述三種線程同時(shí)運(yùn)行。定時(shí)裝置為各種定時(shí)觸發(fā)的操作提供定時(shí)的時(shí)序信號(hào)。負(fù)載模擬器還可以包括一個(gè)顯示器,以顯示數(shù)據(jù)。負(fù)載模擬器還可以包括一個(gè)與所述流媒體服務(wù)器以及其他設(shè)備通信的通信接口。
在第一種線程中,每個(gè)線程模擬對(duì)應(yīng)的一個(gè)流媒體終端的流媒體包的接收和媒體的播放。在本發(fā)明的一個(gè)實(shí)施例中所述流媒體包是RTP包,所述第一種線程的操作基于RTP協(xié)議。也可以采用其他的用于媒體傳輸?shù)膰?guó)際標(biāo)準(zhǔn)協(xié)議。
在第二種線程中,優(yōu)選的設(shè)計(jì)了一個(gè)第二線程,模擬所有流媒體終端與流媒體服務(wù)系統(tǒng)的交互操作,在該實(shí)施例中,這些操作基于RTSP協(xié)議,也可以采用起他的國(guó)際標(biāo)準(zhǔn)協(xié)議。之所以設(shè)計(jì)一個(gè)單個(gè)第二線程,是為了降低對(duì)運(yùn)行計(jì)算機(jī)的要求,提高了單臺(tái)計(jì)算機(jī)上模擬的流媒體終端數(shù)。采取多于一個(gè)第二線程也可以實(shí)現(xiàn)本發(fā)明的技術(shù)方案。
第三種線程為定時(shí)觸發(fā)線程,當(dāng)它被一個(gè)主進(jìn)程創(chuàng)建后,每隔一個(gè)規(guī)定的時(shí)間間隔,就被觸發(fā)運(yùn)行一次。通常針對(duì)該種線程,只需設(shè)置一個(gè)線程。如果要求的定時(shí)間隔很小,且在定時(shí)間隔內(nèi),不能順序完成模擬所有流媒體終端的諸如遙控器操作、測(cè)試結(jié)果實(shí)時(shí)匯總、測(cè)試結(jié)果顯示和與其它計(jì)算機(jī)通信等操作時(shí),可以分成多個(gè)線程來(lái)實(shí)現(xiàn)。
負(fù)載模擬器采取RTP包按需分級(jí)分析機(jī)制。按需分級(jí),是指對(duì)模擬的流媒體的一條流或多條流,指定對(duì)它(們)進(jìn)行統(tǒng)計(jì)分析的級(jí)別。不同的分析級(jí)別會(huì)給出不同詳細(xì)程度的測(cè)試結(jié)果。
根據(jù)本發(fā)明一方面實(shí)施例,分成如下表所示的四種RTP包分析級(jí),即流媒體流活躍探測(cè)級(jí)、包統(tǒng)計(jì)級(jí)、幀完整性分析級(jí)、播放級(jí)等,具體如下表1所示。播放級(jí)對(duì)于開發(fā)階段的錯(cuò)誤檢測(cè)非常有用,流媒體流活躍探測(cè)級(jí)可常用于運(yùn)營(yíng)階段的常規(guī)監(jiān)測(cè)與維護(hù),包統(tǒng)計(jì)級(jí)和幀完整性分析級(jí)可應(yīng)用于性能測(cè)試以及壓力測(cè)試。
表1RTP包分析分級(jí)
本發(fā)明的負(fù)載模擬器之所以能夠?qū)崿F(xiàn)RTP包按需分級(jí)分析機(jī)制,首先在于負(fù)載模擬器結(jié)構(gòu)的設(shè)計(jì),尤其是一個(gè)流媒體數(shù)據(jù)流就對(duì)應(yīng)一個(gè)獨(dú)立的RTP協(xié)議線程的機(jī)制。
圖2顯示了本發(fā)明另一方面提供的由多個(gè)負(fù)載模擬工作站組成的分布式負(fù)載模擬測(cè)試系統(tǒng),以及系統(tǒng)的數(shù)據(jù)匯總示意。在分布式負(fù)載模擬測(cè)試系統(tǒng)中,有多個(gè)負(fù)載模擬工作站,每個(gè)負(fù)載模擬工作站上均運(yùn)行一個(gè)負(fù)載模擬器,以及一個(gè)顯示控制工作站,其中所述多個(gè)負(fù)載模擬工作站和顯示控制工作站通過(guò)諸如一個(gè)網(wǎng)絡(luò)互相連接。每個(gè)負(fù)載模擬器中的定時(shí)線程,按照固定的時(shí)間間隔,首先將它模擬的各個(gè)流媒體終端的測(cè)試信息收集在一起,然后,進(jìn)行在該負(fù)載模擬工作站上的測(cè)試結(jié)果匯總,最后通過(guò)網(wǎng)絡(luò)將測(cè)試結(jié)果發(fā)往一個(gè)顯示控制工作站,該顯示控制工作站接收每個(gè)負(fù)載模擬工作站的測(cè)試結(jié)果,然后進(jìn)行再次全系統(tǒng)范圍的匯總,最后將最終結(jié)果進(jìn)行表格顯示、圖形顯示、記錄到文件和打印。
如圖3所示,本發(fā)明另一方面還提供了對(duì)含有多個(gè)流媒體服務(wù)器的流媒體服務(wù)系統(tǒng)進(jìn)行測(cè)試的負(fù)載模擬實(shí)現(xiàn)方法。如果流媒體服務(wù)系統(tǒng)具有在多個(gè)流媒體服務(wù)器,例如流媒體服務(wù)器1、2、…、m,則提供給該流媒體服務(wù)系統(tǒng)一個(gè)調(diào)度管理機(jī),以進(jìn)行負(fù)載平衡和任務(wù)調(diào)度,此時(shí),負(fù)載模擬器只需首先與調(diào)度管理機(jī)通信,由調(diào)度管理機(jī)將每一個(gè)模擬負(fù)載分配和導(dǎo)向到相應(yīng)的流媒體服務(wù)器從而提供服務(wù),對(duì)應(yīng)的RTP線程就可以從該相應(yīng)的流媒體服務(wù)器接收數(shù)據(jù);否則,則需要將每一個(gè)媒體節(jié)目和提供該節(jié)目服務(wù)的流媒體服務(wù)器的地址,作為模擬器的輸入數(shù)據(jù)。本發(fā)明技術(shù)方案不涉及所采用的具體的調(diào)度原則或算法,但本領(lǐng)域的技術(shù)人員可以根據(jù)需要選擇任何公知的調(diào)度原則和算法。
負(fù)載模擬器與一個(gè)面向具有自動(dòng)調(diào)度功能的多流媒體服務(wù)器服務(wù)系統(tǒng)互相交互的流程如下(1)負(fù)載模擬器的RTSP線程,為模擬的流媒體終端Ti,通過(guò)網(wǎng)絡(luò)向流媒體服務(wù)系統(tǒng)調(diào)度管理機(jī)發(fā)送一個(gè)點(diǎn)播(例如點(diǎn)播一部電影)請(qǐng)求;(2)調(diào)度管理機(jī)告訴負(fù)載模擬器的RTSP線程,為它進(jìn)行服務(wù)的流媒體服務(wù)器的IP地址和端口;(3)RTSP線程將流媒體服務(wù)器的IP地址和端口寫入流媒體終端Ti指定可訪問(wèn)的內(nèi)存單元;(4)RTSP線程將點(diǎn)播請(qǐng)求發(fā)往該流媒體服務(wù)器;(5)流媒體服務(wù)器以RTP包形式開始發(fā)送媒體數(shù)據(jù);同時(shí)第Ti個(gè)RTP線程從內(nèi)存中讀出該流媒體服務(wù)器的IP地址和端口,就開始接收流媒體服務(wù)器發(fā)來(lái)的RTP包。
圖4顯示了根據(jù)本發(fā)明的一方面特征,通過(guò)負(fù)載模擬器模擬一個(gè)流媒體終端的點(diǎn)播電影的過(guò)程的流程圖首先由系統(tǒng)的一個(gè)主進(jìn)程完成各種線程的建立和初始化(步驟S401),設(shè)置一個(gè)模擬過(guò)程。在步驟S402,一個(gè)定時(shí)觸發(fā)線程將電影標(biāo)識(shí)和“打開-播放”命令等信息寫入一個(gè)“共享存儲(chǔ)器”(步驟S403)。一個(gè)RISP線程讀“共享存儲(chǔ)器”(步驟S404),如果發(fā)現(xiàn)新的命令,則到步驟S405,否則返回步驟S403。在步驟S405,RTSP線程從“共享存儲(chǔ)器”發(fā)現(xiàn)某一個(gè)流媒體終端有一條新命令,則它將該命令按照RTSP協(xié)議的格式,經(jīng)過(guò)網(wǎng)絡(luò)發(fā)送到流媒體服務(wù)系統(tǒng)。在步驟S406,流媒體服務(wù)系統(tǒng)確認(rèn)其執(zhí)行操作的身份合格并且驗(yàn)證電影標(biāo)識(shí)正確,RTSP命令為有效命令后,指定一個(gè)流媒體服務(wù)器進(jìn)行服務(wù),將該指定的流媒體服務(wù)器的地址送回到負(fù)載模擬器。在步驟S407,負(fù)載模擬器的RTSP線程將接收到的流媒體服務(wù)器地址寫入“共享存儲(chǔ)器”。在步驟S408,對(duì)應(yīng)于所述流媒體終端的RTP線程不斷地從所述指定的流媒體服務(wù)器接受RTP數(shù)據(jù)包。在步驟S409,按照指定的RTP包分析級(jí),進(jìn)行數(shù)據(jù)分析,并將測(cè)試分析結(jié)果不斷寫入“共享存儲(chǔ)器”中。在步驟S410,所述的定時(shí)線程按照固定的時(shí)間間隔把所有的媒體流的測(cè)試分析進(jìn)行匯總計(jì)算,顯示在屏幕上,和/或記錄在文件中,和/或送往其他設(shè)備。在步驟S411,檢查負(fù)載模擬器的模擬測(cè)試時(shí)間是否結(jié)束,如果是,則到步驟S412,結(jié)束模擬過(guò)程。如果尚未結(jié)束,則到步驟S413,由定時(shí)線程構(gòu)成RTSP命令,并寫入“共享存儲(chǔ)器”,然后返回步驟S403。
圖5顯示了根據(jù)本發(fā)明一方面特征的RTSP線程的工作流程圖在主進(jìn)程完成RTSP線程的創(chuàng)建之后,在步驟S501,RTSP線程讀共享存儲(chǔ)器,檢查是否有新的命令(步驟S502)。如果沒(méi)有新的命令,則返回步驟S501。在步驟S503,從共享存儲(chǔ)器發(fā)現(xiàn)某一個(gè)流媒體終端的一個(gè)新命令,將該命令按照RTSP協(xié)議格式,經(jīng)過(guò)網(wǎng)絡(luò)送往流媒體服務(wù)系統(tǒng)。在步驟S504,檢查流媒體服務(wù)器是否有響應(yīng)。如果沒(méi)有,將錯(cuò)誤信息寫入共享存儲(chǔ)器(步驟S506)。如果有響應(yīng),則把接收的響應(yīng)信息寫入共享存儲(chǔ)器(步驟S505)。在步驟S507,RTSP線程讀共享存儲(chǔ)器,檢查是否有測(cè)試結(jié)束命令(S508)。如果有,則結(jié)束模擬過(guò)程(步驟S509)。如果沒(méi)有,則返回步驟S501。
圖6顯示了根據(jù)本發(fā)明一方面的一個(gè)RTP線程的工作流程圖。
主進(jìn)程完成多個(gè)RTP線程的創(chuàng)建之后,每個(gè)RTP線程的操作如下。在步驟S601,從共享存儲(chǔ)器獲取流媒體服務(wù)器的IP地址和端口。在步驟S602,接收RTP包。在步驟S603,查看是否有新的數(shù)據(jù)包。若沒(méi)有,則返回步驟S602繼續(xù)接收。如果有新的數(shù)據(jù)包,則在步驟S604進(jìn)行諸如包解碼、包統(tǒng)計(jì)、幀統(tǒng)計(jì)、幀完整性分析、錯(cuò)誤統(tǒng)計(jì)。在步驟S605,將統(tǒng)計(jì)信息和錯(cuò)誤信息寫入共享存儲(chǔ)器和記錄文件。在步驟S606,RTP線程讀共享存儲(chǔ)器,以察看是否有測(cè)試結(jié)束命令(S607)。如果有,則到步驟S608,結(jié)束模擬過(guò)程。
圖7顯示了根據(jù)本發(fā)明一方面的定時(shí)線程的工作流程圖。
主線程完成定時(shí)線程的創(chuàng)建,并定時(shí)觸發(fā)該線程。在步驟S701,定時(shí)線程讀共享存儲(chǔ)器的統(tǒng)計(jì)匯總測(cè)試數(shù)據(jù)、記錄文件。在步驟S702,將匯總結(jié)果本地顯示,或者發(fā)送到一個(gè)顯示工作站。在步驟S703,產(chǎn)生諸如VCR模式的操作命令,并寫入共享存儲(chǔ)器。在步驟S704,檢查模擬測(cè)試時(shí)間是否結(jié)束,如果沒(méi)有結(jié)束則返回步驟S701。如果結(jié)束,則到步驟S705,將測(cè)試結(jié)束命令寫入共享存儲(chǔ)器,指示RTP線程和RTSP線程退出工作。
權(quán)利要求
1.一種用于模擬流媒體服務(wù)的至少一個(gè)客戶端的負(fù)載模擬器,該負(fù)載模擬器能夠通過(guò)一個(gè)網(wǎng)絡(luò)與一個(gè)流媒體服務(wù)器通信,所述負(fù)載模擬器包括一個(gè)共享存儲(chǔ)器,以及同時(shí)運(yùn)行的以下三種線程,第三種線程,定時(shí)地產(chǎn)生某一個(gè)客戶端對(duì)媒體內(nèi)容的預(yù)定請(qǐng)求,并把該請(qǐng)求寫入共享存儲(chǔ)器中;第二種線程,其根據(jù)寫入到所述共享存儲(chǔ)器中的所述請(qǐng)求,按照第一流媒體通信協(xié)議向流媒體服務(wù)器發(fā)送所述請(qǐng)求,接收流媒體服務(wù)器的回復(fù),然后把回復(fù)存儲(chǔ)在共享存儲(chǔ)器中;第一種線程,讀取共享存儲(chǔ)器中的所述回復(fù),如果回復(fù)同意所述請(qǐng)求,則按照第二流媒體通信協(xié)議從流媒體服務(wù)器不斷的接收所請(qǐng)求的媒體內(nèi)容。
2.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中運(yùn)行多個(gè)第一種線程,每個(gè)第一種線程對(duì)應(yīng)于一個(gè)模擬的客戶端。
3.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中運(yùn)行一個(gè)第二線程。
4.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中運(yùn)行一個(gè)或多個(gè)第三線程。
5.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中第一流媒體通信協(xié)議是RTSP協(xié)議。
6.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中第二流媒體通信協(xié)議是RTP協(xié)議。
7.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中所述預(yù)定請(qǐng)求包括對(duì)應(yīng)于各種VCR遙控器操作。
8.根據(jù)權(quán)利要求1的方法,其中如果流媒體服務(wù)器的回復(fù)拒絕了所述請(qǐng)求,則第一線程不與流媒體服務(wù)器通信。
9.根據(jù)權(quán)利要求1的方法,其中流媒體服務(wù)器的同意請(qǐng)求的回復(fù)中包括流媒體服務(wù)器的地址和端口。
10.根據(jù)權(quán)利要求1的負(fù)載模擬器,其中每個(gè)所述第一線程在接收來(lái)在流媒體服務(wù)器的媒體內(nèi)容的過(guò)程中,對(duì)接收的內(nèi)容進(jìn)行分析,并把分析結(jié)果存儲(chǔ)在共享存儲(chǔ)器和/或一個(gè)記錄文件中。
11.根據(jù)權(quán)利要求10的負(fù)載模擬器,其中所述分析是分級(jí)分析,包括如下分析流媒體流活躍探測(cè)級(jí)分析,即包括檢測(cè)該第一線程是否工作;包統(tǒng)計(jì)級(jí)分析,包括所述流媒體流活躍探測(cè)級(jí)分析,還包括統(tǒng)計(jì)該第一線程中RTP包丟失、幀丟失;幀完整性分析級(jí),包括所述包統(tǒng)計(jì)級(jí)分析,還包括統(tǒng)計(jì)該第一線程中的幀完整性、幀間隔;播放級(jí)分析級(jí),包括所述幀完整性分析級(jí),還包括統(tǒng)計(jì)每一個(gè)RTP包的接收時(shí)間、流號(hào)、包序列號(hào)、幀號(hào)、服務(wù)的流服務(wù)器、媒體標(biāo)識(shí)、媒體時(shí)間參數(shù)、包間隔、幀間隔、丟失包的包號(hào)、不完整幀的幀號(hào)、RTP包的數(shù)字權(quán)限管理信息分析、各種錯(cuò)誤。
12.根據(jù)權(quán)利要求10的負(fù)載模擬器,該負(fù)載模擬器還與一個(gè)顯示控制工作站通信,第三線程定時(shí)地把共享存儲(chǔ)器中的各個(gè)第一線程的分析結(jié)果和記錄文件匯總,然后發(fā)送到該顯示控制工作站中分析和顯示。
13.根據(jù)權(quán)利要求10的負(fù)載模擬器,其中負(fù)載模擬器包括一個(gè)顯示器,第三線程定時(shí)地把共享存儲(chǔ)器中的各個(gè)分析結(jié)果和記錄文件匯總,然后在所述顯示器上顯示。
14.根據(jù)權(quán)利要求1的負(fù)載模擬器,第三線程還檢查模擬測(cè)試時(shí)間是否結(jié)束,如果結(jié)束,則第三線程把測(cè)試結(jié)束命令寫入共享存儲(chǔ)器中。
15.根據(jù)權(quán)利要求14的負(fù)載模擬器,根據(jù)共享存儲(chǔ)器中的測(cè)試結(jié)束命令,第二線程結(jié)束操作。
16.根據(jù)權(quán)利要求14的負(fù)載模擬器,根據(jù)共享存儲(chǔ)器中的測(cè)試結(jié)束命令,第一線程結(jié)束操作。
17.一種用于模擬流媒體傳輸?shù)呢?fù)載模擬系統(tǒng),其包括一個(gè)負(fù)載模擬器,一個(gè)流媒體服務(wù)系統(tǒng),其中所述負(fù)載模擬器能夠通過(guò)網(wǎng)絡(luò)與流媒體服務(wù)系統(tǒng)通信,所述流媒體服務(wù)系統(tǒng)包括至少一個(gè)流媒體服務(wù)器以及一個(gè)調(diào)度管理機(jī),所述負(fù)載模擬器包括一個(gè)共享存儲(chǔ)器,以及以下三種同時(shí)運(yùn)行的線程,第三種線程,定時(shí)地產(chǎn)生某一個(gè)客戶端對(duì)媒體內(nèi)容的預(yù)定請(qǐng)求,并把該請(qǐng)求寫入共享存儲(chǔ)器中;第二種線程,其根據(jù)寫入到所述共享存儲(chǔ)器中的所述請(qǐng)求,按照第一流媒體通信協(xié)議向流媒體服務(wù)系統(tǒng)發(fā)送所述請(qǐng)求,接收流媒體服務(wù)系統(tǒng)的回復(fù),然后把回復(fù)存儲(chǔ)在共享存儲(chǔ)器中;第一種線程,讀取共享存儲(chǔ)器中的所述回復(fù),如果所述回復(fù)同意所述請(qǐng)求,則按照第二流媒體通信協(xié)議從所述至少一個(gè)流媒體服務(wù)器中的一個(gè)服務(wù)器接收所請(qǐng)求的媒體內(nèi)容。
18.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中運(yùn)行多個(gè)第一種線程,每個(gè)第一種線程對(duì)應(yīng)于一個(gè)模擬的客戶端。
19.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中運(yùn)行一個(gè)第二線程。
20.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中運(yùn)行一個(gè)或多個(gè)第三線程。
21.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中第一流媒體通信協(xié)議是RTSP協(xié)議。
22.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中第二流媒體通信協(xié)議是RTP協(xié)議。
23.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中所述預(yù)定請(qǐng)求包括對(duì)應(yīng)于各種VCR遙控器操作。
24.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中如果所述流媒體服務(wù)器的回復(fù)拒絕了所述請(qǐng)求,則第一線程不與流媒體服務(wù)器通信。
25.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中流媒體服務(wù)器的同意請(qǐng)求的回復(fù)中包括所述調(diào)度管理機(jī)指定的流媒體服務(wù)器的地址和端口。
26.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中每個(gè)所述第一線程在接收來(lái)在流媒體服務(wù)器的媒體內(nèi)容的過(guò)程中,對(duì)接收的內(nèi)容進(jìn)行分析,并把分析結(jié)果存儲(chǔ)在共享存儲(chǔ)器和/或一個(gè)記錄文件中。
27.根據(jù)權(quán)利要26的負(fù)載模擬系統(tǒng),其中所述分析是分級(jí)分析,包括如下分析流媒體流活躍探測(cè)級(jí)分析,即包括檢測(cè)該第一線程是否工作;包統(tǒng)計(jì)級(jí)分析,包括所述流媒體流活躍探測(cè)級(jí)分析,還包括統(tǒng)計(jì)該第一線程中RTP包丟失、幀丟失;幀完整性分析級(jí),包括所述包統(tǒng)計(jì)級(jí)分析,還包括統(tǒng)計(jì)該第一線程中的幀完整性、幀間隔;播放級(jí)分析級(jí),包括所述幀完整性分析級(jí),還包括統(tǒng)計(jì)每一個(gè)RTP包的接收時(shí)間、流號(hào)、包序列號(hào)、幀號(hào)、服務(wù)的流服務(wù)器、媒體標(biāo)識(shí)、媒體時(shí)間參數(shù)、包間隔、幀間隔、丟失包的包號(hào)、不完整幀的幀號(hào)、RTP包的數(shù)字權(quán)限管理信息分析、各種錯(cuò)誤。
28.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),還包括一個(gè)顯示控制工作站,第三線程定時(shí)地把共享存儲(chǔ)器中的各個(gè)第一線程的分析結(jié)果和記錄文件匯總,然后發(fā)送到該顯示控制工作站中分析和顯示。
29.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),其中負(fù)載模擬器包括一個(gè)顯示器,第三線程定時(shí)地把共享存儲(chǔ)器中的各個(gè)分析結(jié)果和記錄文件匯總,然后在所述顯示器上顯示。
30.根據(jù)權(quán)利要求17的負(fù)載模擬系統(tǒng),第三線程還檢查模擬測(cè)試時(shí)間是否結(jié)束,如果結(jié)束,則第三線程把測(cè)試結(jié)束命令寫入共享存儲(chǔ)器中。
31.根據(jù)權(quán)利要求30的負(fù)載模擬系統(tǒng),根據(jù)共享存儲(chǔ)器中的測(cè)試結(jié)束命令,第二線程結(jié)束操作。
32.根據(jù)權(quán)利要求30的負(fù)載模擬系統(tǒng),根據(jù)共享存儲(chǔ)器中的測(cè)試結(jié)束命令,第一線程結(jié)束操作。
全文摘要
本發(fā)明涉及用于流媒體服務(wù)的負(fù)載模擬器以及相應(yīng)的負(fù)載模擬系統(tǒng)。負(fù)載模擬器采取多線程結(jié)構(gòu);這些線程分成三種類型的線程,第一種是實(shí)行RTP協(xié)議的線程,第二種是實(shí)行RTSP協(xié)議的線程,第三種是以定時(shí)為觸發(fā)機(jī)制,進(jìn)行模擬遙控器操作、測(cè)試結(jié)果實(shí)時(shí)匯總、測(cè)試結(jié)果顯示和與其它計(jì)算機(jī)通信的線程;其中,第一種線程的個(gè)數(shù)與需要模擬的流媒體終端的個(gè)數(shù)相同,第二種線程的個(gè)數(shù)為一個(gè),第三種線程的個(gè)數(shù)為一個(gè)或多個(gè);負(fù)載模擬器采取RTP包按需分級(jí)分析機(jī)制;負(fù)載模擬器所測(cè)試的流媒體服務(wù)系統(tǒng)可以含有一個(gè)或多個(gè)流媒體服務(wù)器。
文檔編號(hào)H04L29/06GK1728657SQ200410058810
公開日2006年2月1日 申請(qǐng)日期2004年7月30日 優(yōu)先權(quán)日2004年7月30日
發(fā)明者胡忠東, 簡(jiǎn)志敏 申請(qǐng)人:Ut斯達(dá)康通訊有限公司