本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于虛擬視頻流的流媒體服務(wù)器測試方法和系統(tǒng)。
背景技術(shù):
流媒體技術(shù)的出現(xiàn),使得在網(wǎng)絡(luò)上觀看和傳輸影音文件變?yōu)橐环N現(xiàn)實(shí)。通俗的講,所謂的流媒體技術(shù),就是將視音頻文件經(jīng)過壓縮處理后,放在網(wǎng)絡(luò)服務(wù)器上進(jìn)行分段的傳輸,客戶端計(jì)算機(jī)不用將整個(gè)的視音頻文件下載到本地,便可以即時(shí)收聽和收看。
但在目前的網(wǎng)絡(luò)帶寬的限制下,為了達(dá)到網(wǎng)絡(luò)上流式傳播文件的目的,視音頻文件經(jīng)過壓縮處理,減小文件的大小,從而使影音文件的品質(zhì)有所下降。而且,流媒體業(yè)務(wù)是一種寬帶業(yè)務(wù),對于網(wǎng)絡(luò)帶寬、抖動、延遲和丟包率都有較高的要求。因而用戶端在使用流媒體服務(wù)時(shí),尤其是在忙時(shí)段,可能會產(chǎn)生黑屏、馬賽克、圖像停格、聲音時(shí)斷等現(xiàn)象。為了解決流媒體在播放時(shí)出現(xiàn)的問題,隨著流媒體業(yè)務(wù)的發(fā)展,我們需要一種有效的測試手段以便對流媒體的播放質(zhì)量狀況進(jìn)行測試。
現(xiàn)今對流媒體的測試手段并不是很多,大致可以分為兩類:1、最原始最簡單的測試方法就是讓大量測試人員在不同時(shí)段、不同的地方點(diǎn)播流媒體,當(dāng)遇到黑屏、馬塞克、圖像停格、聲音時(shí)斷等現(xiàn)象時(shí)作記錄,最后再匯總。這種做法的優(yōu)點(diǎn)是與最終用戶的點(diǎn)播感受一致,但是費(fèi)時(shí)費(fèi)力,測試人員必須一直仔細(xì)地盯著畫面,很容易疏忽掉一些細(xì)節(jié),而且統(tǒng)計(jì)工作也非常繁瑣;2、使用專門的測試設(shè)備進(jìn)行測試,可以模擬打開、關(guān)閉連接,其優(yōu)點(diǎn)就是自動化,大大減輕測試人員的工作量,但是這種測試手段偏重于對流媒體服務(wù)器進(jìn)行壓力測試,測試設(shè)備不會真正進(jìn)行播放,無法真實(shí)模擬用戶的使用場景,當(dāng)然也無法檢測到停頓、馬賽克等現(xiàn)象,而且不能同時(shí)支持龐大的數(shù)據(jù)流推送。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種基于虛擬視頻流的流媒體服務(wù)器測試方法和系統(tǒng),以實(shí)現(xiàn)對流媒體服務(wù)器的自動、高效測試。
一方面,本發(fā)明實(shí)施例提供一種基于虛擬視頻流的流媒體服務(wù)器測試方法,包括以下步驟:
將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器;
在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容;以及
記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。
優(yōu)選地,在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容的所述步驟包括:
利用所述測試腳本創(chuàng)建多個(gè)進(jìn)程以模擬所述多個(gè)客戶端發(fā)送多個(gè)點(diǎn)播請求至所述待測流媒體服務(wù)器;
根據(jù)所述多個(gè)點(diǎn)播請求計(jì)算需要的網(wǎng)絡(luò)帶寬;以及
根據(jù)所述多個(gè)點(diǎn)播請求和所述網(wǎng)絡(luò)帶寬推送對應(yīng)的所述媒體內(nèi)容。
優(yōu)選地,在將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器的所述步驟之前,還包括:
檢查所述待測流媒體服務(wù)器的網(wǎng)絡(luò)環(huán)境狀態(tài)。
優(yōu)選地,在記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)的所述步驟之后,還包括:
根據(jù)所述待測流媒體服務(wù)器的所述最大并發(fā)流數(shù)評估所述待測流媒體服務(wù)器的性能,生成測試報(bào)告。
相應(yīng)地,本發(fā)明還提供一種基于虛擬視頻流的流媒體服務(wù)器測試系統(tǒng),包括:
獲取模塊,用于將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器;
運(yùn)行模塊,用于在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容;以及
記錄模塊,用于記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。
優(yōu)選地,所述運(yùn)行模塊包括:
進(jìn)程創(chuàng)建單元,用于利用所述測試腳本創(chuàng)建多個(gè)進(jìn)程以模擬所述多個(gè)客戶端發(fā)送多個(gè)點(diǎn)播請求至所述待測流媒體服務(wù)器;
網(wǎng)絡(luò)帶寬計(jì)算單元,用于根據(jù)所述多個(gè)點(diǎn)播請求計(jì)算需要的網(wǎng)絡(luò)帶寬;以及
節(jié)目推送單元,用于根據(jù)所述多個(gè)點(diǎn)播請求和所述網(wǎng)絡(luò)帶寬推送對應(yīng)的所述媒體內(nèi)容。
優(yōu)選地,還包括:
檢查模塊,用于檢查所述待測流媒體服務(wù)器的網(wǎng)絡(luò)環(huán)境狀態(tài)。
優(yōu)選地,還包括:
性能評估模塊,用于根據(jù)所述待測流媒體服務(wù)器的所述最大并發(fā)流數(shù)評估所述待測流媒體服務(wù)器的性能,生成測試報(bào)告。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:本發(fā)明提供的基于虛擬視頻流的流媒體服務(wù)器測試方法和系統(tǒng),通過將測試腳本和媒體內(nèi)容導(dǎo)入到待測流媒體服務(wù)器上,在待測流媒體服務(wù)器上運(yùn)行該測試腳本來模擬多個(gè)客戶端同時(shí)點(diǎn)播該媒體內(nèi)容,以此來記錄待測流媒體服務(wù)器的最大并發(fā)流數(shù);本發(fā)明提供的基于虛擬視頻流的流媒體服務(wù)器測試方法和系統(tǒng)具有很高的并發(fā)性能,可以支持5000以上個(gè)并發(fā),比業(yè)界的平均值3000高出40個(gè)百分點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明第一實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試方法的流程圖。
圖2為本發(fā)明第二實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試方法的流程圖。
圖3為本發(fā)明第三實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試方法的流程圖。
圖4為本發(fā)明第四實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試系統(tǒng)的原理圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
圖1為本發(fā)明第一實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試方法的流程圖。如圖1所示,基于虛擬視頻流的流媒體服務(wù)器測試方法法包括以下步驟:
步驟S110:將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器。
具體地,在本發(fā)明一實(shí)施例中,所述測試腳本由編程人員預(yù)先編輯,腳本的編程實(shí)現(xiàn)可以為匯編語言、C語言等以達(dá)到程序的高速運(yùn)行。當(dāng)準(zhǔn)備進(jìn)行流媒體服務(wù)器性能測試時(shí),將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器。
例如,通過以下步驟將媒體內(nèi)容導(dǎo)入到待測的流媒體服務(wù)器:
1.登錄待測的流媒體服務(wù)器。
2.打開一個(gè)命令窗口。
3.導(dǎo)入媒體內(nèi)容到服務(wù)器上,在命令行“C:\videos>”下執(zhí)行以下命令:
scp import v375d0_0001.mpg*scp import WildWildWest-60min.mpg
flm_v375d0_0001.mpg scp import WildWildWest-60min.mpg.ff
flm_v375d0_0001.mpg.ff scp import WildWildWest-60min.mpg.fr
flm_v375d0_0001.mpg.fr scp import WildWildWest-60min.mpg.vvx
flm_v375d0_0001.mpg.vvx scp import WildWildWest-15min.mpg
hdsd_d0_0001.mpg scp import WildWildWest-15min.mpg.ff hdsd_d0_0001.mpg.ff
scp import WildWildWest-15min.mpg.fr hdsd_d0_0001.mpg.fr scp import
WildWildWest-15min.mpg.vvx hdsd_d0_0001.mpg.vvx scp import
v375d0_0001.mpg hdsd_d0_0002.mpg scp import v375d0_0001.mpg.ff
hdsd_d0_0002.mpg.ff scp import v375d0_0001.mpg.fr hdsd_d0_0002.mpg.fr scp
import v375d0_0001.mpg.vvx hdsd_d0_0002.mpg.vvx scp import
TENM0000000000014900XOR*scp export v375d0_0001.mpg c:\temp\test0000.dat
步驟S120:在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容。
具體地,在本發(fā)明一實(shí)施例中,開始運(yùn)行測試腳本后,首先創(chuàng)建多個(gè)進(jìn)程以模擬所述多個(gè)客戶端發(fā)送多個(gè)點(diǎn)播請求至所述待測流媒體服務(wù)器;之后,根據(jù)所述多個(gè)點(diǎn)播請求計(jì)算需要的網(wǎng)絡(luò)帶寬;最后,根據(jù)所述多個(gè)點(diǎn)播請求和所述網(wǎng)絡(luò)帶寬推送對應(yīng)的所述媒體內(nèi)容。
進(jìn)一步地,本發(fā)明提供的測試系統(tǒng)在接收到點(diǎn)播請求時(shí),會將點(diǎn)播請求傳遞到后端服務(wù)器腳本處理程序,后端服務(wù)器腳本處理程序會根據(jù)數(shù)據(jù)需求自動計(jì)算帶寬等參數(shù),然后根據(jù)請求把對應(yīng)的節(jié)目推出去。
步驟S130:記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。
具體地,最大并發(fā)流數(shù)是指流媒體服務(wù)器能夠支持的、有效的、能夠同時(shí)在線正常觀看節(jié)目的最大用戶數(shù)。在本發(fā)明一實(shí)施例中,通過監(jiān)控發(fā)送點(diǎn)播請求的多個(gè)進(jìn)程,記錄能夠流暢觀看所述媒體內(nèi)容的客戶端的數(shù)量,以推算所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。其中,本實(shí)施例中的每個(gè)推流進(jìn)程可同時(shí)支持5000個(gè)并發(fā)模擬,即可同時(shí)模擬5000個(gè)客戶端進(jìn)行流媒體服務(wù)器的推流測試。
本實(shí)施例的技術(shù)方案,通過將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器來創(chuàng)建進(jìn)程以模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容,完成了流媒體服務(wù)器的性能測試,解決現(xiàn)有技術(shù)中需要進(jìn)行人工測試帶來的人力成本高和效率低的問題,或者是自動化測試中無法支持龐大的數(shù)據(jù)流推送的問題,使得流媒體服務(wù)器測試更加簡便、高效,節(jié)省了大量時(shí)間、人力成本。
實(shí)施例二
圖2為本發(fā)明第二實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試方法的流程圖。如圖2所示,基于虛擬視頻流的流媒體服務(wù)器測試方法法包括以下步驟:
步驟S210:檢查所述待測流媒體服務(wù)器的網(wǎng)絡(luò)環(huán)境狀態(tài)。
具體地,在本發(fā)明一實(shí)施例中,首先,運(yùn)行以下命令檢查服務(wù)器狀態(tài):
scp show cluster status
下面是部分返回結(jié)果示例:
C:\VstrmKit>scp show clu stat Cluster Status Local Node Name XOR12006 Local Cluster Node Id 0 Cluster Size 1 Cluster Id 12006 Master Cluster Node Id 0 Master Node State GREEN Master Node File System State REBUILT Cluster Uptime 0000 Days 00:28:55 Vstrm I/O Size 256KB Vstrm I/O Tick Count 1756746 XOR12006 is running a consistency check Cluster Adjacency Database:XOR12006 is Node Id=0,Node State=GREEN,File System State=REBUILT
之后對連流媒體服務(wù)器的網(wǎng)口。
步驟S220:將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器。
步驟S230:在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容。
步驟S240:記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。
本實(shí)施例的技術(shù)方案,通過檢查待測流媒體服務(wù)器的網(wǎng)絡(luò)環(huán)境狀態(tài),保證后續(xù)測試準(zhǔn)確進(jìn)行。
實(shí)施例三
圖3為本發(fā)明第三實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試方法的流程圖。如圖3所示,基于虛擬視頻流的流媒體服務(wù)器測試方法法包括以下步驟:
步驟S310:將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器。
步驟S320:在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容。
步驟S330:記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。
步驟S340:根據(jù)所述待測流媒體服務(wù)器的所述最大并發(fā)流數(shù)評估所述待測流媒體服務(wù)器的性能,生成測試報(bào)告。
進(jìn)一步地,在測試結(jié)束后,生成測試報(bào)告,可以在C:\servicedisk\LogFiles\目錄下找到這些txt文件格式的測試報(bào)告。檢查測試報(bào)告,查看是否有任何設(shè)備錯(cuò)誤,例如,閃存驅(qū)動器、問題,同時(shí),你可以檢查SeaView里的SeaFile counters(通過訪問“Vstrm Info>Seafile Ctrs”),查看任何閃存驅(qū)動器讀寫操作過慢問題(超過200毫秒)。
本實(shí)施例的技術(shù)方案,通過流媒體服務(wù)器的能承載的最大并發(fā)流數(shù)來評估待測流媒體服務(wù)器的性能,為后續(xù)流媒體服務(wù)器的改進(jìn)提供精確的數(shù)據(jù)支持。
實(shí)施例四
圖4為本發(fā)明第四實(shí)施例提供的基于虛擬視頻流的流媒體服務(wù)器測試系統(tǒng)的原理圖。如圖4所示,基于虛擬視頻流的流媒體服務(wù)器測試系統(tǒng)包括:
獲取模塊410,用于將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器;
運(yùn)行模塊420,用于在所述待測流媒體服務(wù)器上運(yùn)行所述測試腳本,模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容;以及
記錄模塊430,用于記錄所述待測流媒體服務(wù)器的最大并發(fā)流數(shù)。
檢查模塊440,用于檢查所述待測流媒體服務(wù)器的網(wǎng)絡(luò)環(huán)境狀態(tài)。
性能評估模塊450,用于根據(jù)所述待測流媒體服務(wù)器的所述最大并發(fā)流數(shù)評估所述待測流媒體服務(wù)器的性能,生成測試報(bào)告。
進(jìn)一步地,所述運(yùn)行模塊420包括:
進(jìn)程創(chuàng)建單元,用于利用所述測試腳本創(chuàng)建多個(gè)進(jìn)程以模擬所述多個(gè)客戶端發(fā)送多個(gè)點(diǎn)播請求至所述待測流媒體服務(wù)器;
網(wǎng)絡(luò)帶寬計(jì)算單元,用于根據(jù)所述多個(gè)點(diǎn)播請求計(jì)算需要的網(wǎng)絡(luò)帶寬;以及
節(jié)目推送單元,用于根據(jù)所述多個(gè)點(diǎn)播請求和所述網(wǎng)絡(luò)帶寬推送對應(yīng)的所述媒體內(nèi)容。
有利地,本發(fā)明通過將媒體內(nèi)容和測試腳本導(dǎo)入到待測流媒體服務(wù)器來創(chuàng)建進(jìn)程以模擬多個(gè)客戶端同時(shí)點(diǎn)播所述媒體內(nèi)容,完成了流媒體服務(wù)器的性能測試,解決現(xiàn)有技術(shù)中需要進(jìn)行人工測試帶來的人力成本高和效率低的問題,或者是自動化測試中無法支持龐大的數(shù)據(jù)流推送的問題,使得流媒體服務(wù)器測試更加簡便、高效,節(jié)省了大量時(shí)間、人力成本。
以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。