一種基于p2p的服務(wù)端接口測試方法及裝置制造方法
【專利摘要】一種基于P2P的服務(wù)端接口測試方法及裝置,所述方法為,通過數(shù)據(jù)模擬多個不同情況的客戶端,分別進(jìn)行服務(wù)器分發(fā)接口測試,分發(fā)測試結(jié)果判斷,心跳接口測試,資源請求接口測試,同時對于測試的步驟進(jìn)行一定的檢測,判斷和記錄,以得知Cumulus服務(wù)器和Tracker服務(wù)器是否正常工作。本發(fā)明根據(jù)需要模擬出各種可能的客戶端接口形式,保證覆蓋網(wǎng)站特殊視頻,能夠可靠、及時、簡介地完成P2P視頻網(wǎng)絡(luò)服務(wù)端接口測試。
【專利說明】—種基于P2P的服務(wù)端接口測試方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種測試方法及裝置,特別的,涉及一種對基于P2P服務(wù)的服務(wù)器端的接口進(jìn)行測試的方法及裝置。
【背景技術(shù)】
[0002]傳統(tǒng)的流媒體主要是采用客戶端/服務(wù)器模式,服務(wù)器以單播的形式和每個客戶建立連接。由于流媒體服務(wù)具有高帶寬、持續(xù)時間長等特點(diǎn),隨著客戶數(shù)目的快速增加,月艮務(wù)器的資源很快就會被消耗完,成為系統(tǒng)瓶頸。以優(yōu)酷網(wǎng)站為例,由于視頻數(shù)據(jù)量在,對于服務(wù)器帶寬要求很高,即使使用了 CDN內(nèi)容分發(fā)網(wǎng)絡(luò),但還是不足以解決在用戶使用的高峰時段,將會因為帶寬限制及系統(tǒng)擴(kuò)展性的限制而影響用戶的觀看體驗,而視頻觀看的流暢程度對一個視頻網(wǎng)站來說是至關(guān)重要的,P2P網(wǎng)絡(luò)的出現(xiàn)為流媒體系統(tǒng)提供了新的解決方案。在P2P網(wǎng)絡(luò)中,每個節(jié)點(diǎn)既是服務(wù)的提供者,又是服務(wù)的享用者,將服務(wù)器的負(fù)載分散到每一個節(jié)點(diǎn)中,從而有效地減輕了服務(wù)器的負(fù)載和網(wǎng)絡(luò)帶寬費(fèi)用,極大地提高了系統(tǒng)的可用性。
[0003]因此,對于視頻服務(wù)網(wǎng)站,以節(jié)省帶寬,提高用戶觀看體驗的目的為出發(fā)點(diǎn),將P2P技術(shù)融入到流媒體服務(wù)中是十分必要的,因此,對P2P網(wǎng)絡(luò)服務(wù)進(jìn)行模擬測試也是保證P2P網(wǎng)絡(luò)能夠正常工作的一個必要手段。
[0004]但現(xiàn)有技術(shù)中還沒有提出對P2P視頻網(wǎng)絡(luò)進(jìn)行模擬測試的方法,因此,如何能夠模擬各個視頻客戶端,對P2P視頻網(wǎng)絡(luò)的服務(wù)器端的接口性能進(jìn)行測試成為亟需解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提出一種基于P2P的服務(wù)端接口測試方法及裝置,從而能夠結(jié)合具體測試工作的需求,對服務(wù)器端各接口進(jìn)行了一套完整的整合測試,自動給出服務(wù)器端一次操作的測試結(jié)果,并可以在異常記錄測試結(jié)構(gòu),并選擇發(fā)郵件給相關(guān)人員,以便及時解決問題。
[0006]為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
一種基于P2P的服務(wù)端接口測試方法,包括如下步驟:
服務(wù)器分發(fā)接口測試步驟S100,準(zhǔn)備數(shù)據(jù),模擬多個客戶端,所述客戶端向Cumulus服務(wù)器發(fā)送注冊請求,所述注冊請求中帶有所述客戶端的視頻id,視頻畫質(zhì)和視頻語言,所述Cumulus服務(wù)器根據(jù)預(yù)先制定的策略給所述客戶端返回Peerid,以及Tracker服務(wù)器的IP ;
分發(fā)測試結(jié)果判斷步驟S110,判斷所述服務(wù)器分發(fā)接口測試步驟返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,如果相同則進(jìn)入心跳接口測試步驟S120,否則,則進(jìn)入出錯記錄步驟S160,記錄出錯的結(jié)果;
心跳接口測試步驟S120,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送心跳請求,所述心跳請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid ;
資源請求接口測試步驟S130,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送資源請求,所述資源請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid,所述Tracker服務(wù)器依據(jù)收集到各個客戶端的心跳信息,把擁有客戶端播放當(dāng)前視頻分片數(shù)據(jù)的Peerid返回給所述客戶端;
資源請求接口測試結(jié)果判斷步驟S140,判斷所述資源請求接口測試步驟返回的結(jié)果與預(yù)定結(jié)果是否相同,如果相同則進(jìn)入測試報告記錄步驟S150,否則,則進(jìn)入出錯記錄步驟S160,記錄出錯的結(jié)果;
測試報告記錄步驟S150,根據(jù)測試結(jié)果完成測試報告,并結(jié)束。
[0007]出錯記錄步驟S160,記錄出錯結(jié)果,并結(jié)束。
[0008]優(yōu)選地,所述心跳請求和所述資源請求中還包括運(yùn)營商信息和地區(qū)信息。
[0009]優(yōu)選地,在所述心跳接口測試步驟S120和/或所述資源請求接口測試步驟S130之后分別具有檢測步驟,所述檢測步驟檢測被發(fā)出的所述心跳請求和所述資源請求是否正確,如果錯誤,則記錄出錯結(jié)果,并保存,如果正確,則不作記錄。
[0010]優(yōu)選地,判斷所述服務(wù)器分發(fā)接口測試步驟返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,為:判斷所述分發(fā)接口測試步驟返回的結(jié)果中,相同條件的視頻分片是否被分發(fā)到同一個Tracker服務(wù)器上。
[0011]優(yōu)選地,所述心跳請求每隔20秒以POST方式發(fā)出,所述資源請求每隔60秒以POST方式發(fā)出。
[0012]本發(fā)明還公開了一種基于P2P的服務(wù)端接口測試裝置,包括如下單元:
服務(wù)器分發(fā)接口測試單元,用于準(zhǔn)備數(shù)據(jù),模擬多個客戶端,所述客戶端向Cumulus服務(wù)器發(fā)送注冊請求,所述注冊請求中帶有所述客戶端的視頻id,視頻畫質(zhì)和視頻語言,所述Cumulus服務(wù)器根據(jù)預(yù)先制定的策略給所述客戶端返回Peerid,以及Tracker服務(wù)器的IP ;
分發(fā)測試結(jié)果判斷單元,用于判斷所述服務(wù)器分發(fā)接口測試單元返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,如果相同則進(jìn)入心跳接口測試單元,否則,則進(jìn)入出錯記錄單元,記錄出錯的結(jié)果;
心跳接口測試單元,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送心跳請求,所述心跳請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid ;
資源請求接口測試單元,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送資源請求,所述資源請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid,所述Tracker服務(wù)器依據(jù)收集到各個客戶端的心跳信息,把擁有客戶端播放當(dāng)前視頻分片數(shù)據(jù)的Peerid返回給所述客戶端;
資源請求接口測試結(jié)果判斷單元,判斷所述資源請求接口測試單元返回的結(jié)果與預(yù)定結(jié)果是否相同,如果相同則進(jìn)入測試報告記錄單元,否則,則進(jìn)入出錯記錄單元,記錄出錯的結(jié)果;
測試報告記錄單元,根據(jù)測試結(jié)果完成測試報告,并結(jié)束。
[0013]出錯記錄單元,記錄出錯結(jié)果,并結(jié)束。
[0014]優(yōu)選地,所述心跳請求和所述資源請求中還包括運(yùn)營商信息和地區(qū)信息。
[0015]優(yōu)選地,還具有檢測單元,所述檢測單元檢測由所述心跳接口測試單元和/或所述資源請求接口測試單元發(fā)出的所述心跳請求和所述資源請求是否正確,如果錯誤,則記錄出錯結(jié)果,并保存,如果正確,則不作記錄。
[0016]優(yōu)選地,判斷所述服務(wù)器分發(fā)接口測試單元返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,為:相同條件的視頻分片是否被分發(fā)到同一個Tracker服務(wù)器上。
[0017]優(yōu)選地,所述心跳請求每隔20秒以POST方式發(fā)出,所述資源請求每隔60秒以POST方式發(fā)出。
[0018]因此,根據(jù)本發(fā)明的方法及裝置,對于P2P的視頻網(wǎng)絡(luò)測試具有如下的優(yōu)點(diǎn):
1.可靠性:能夠根據(jù)需要模擬出各種可能的客戶端接口形式,保證覆蓋網(wǎng)站特殊視
頻;
2.及時性:P2P網(wǎng)絡(luò)中服務(wù)器端的測試十分重要,一旦服務(wù)器端出現(xiàn)問題,就無法進(jìn)行客戶端的P2p連接和傳輸。因此本發(fā)明能夠及時的發(fā)現(xiàn)服務(wù)器端出現(xiàn)的問題,發(fā)現(xiàn)問題并通知相關(guān)人員,盡快解決問題;
3.簡潔性:無需客戶端模擬各種p2p場景,例如前端播放器同時播放多個同id,同畫質(zhì),同語言的視頻的情況。只需把視頻抽象成數(shù)據(jù),包括視頻vid,畫質(zhì),語言,分片等信息的數(shù)據(jù)結(jié)構(gòu),模擬構(gòu)造出各種客戶端口,即可完成對服務(wù)器端的測試。
【專利附圖】
【附圖說明】
[0019]圖1是根據(jù)本發(fā)明具體實(shí)施例的測試方法的流程圖;
圖2是根據(jù)本發(fā)明具體實(shí)施例的P2P網(wǎng)絡(luò)示意圖;
圖3是根據(jù)本發(fā)明具體實(shí)施例的測試報告的示例;
圖4是根據(jù)本發(fā)明另一實(shí)施例的測試裝置的框圖。
[0020]圖中的附圖標(biāo)記所分別指代的技術(shù)特征為:
201、客戶端A ;202、客戶端B ;203、Tracker服務(wù)器;204、Cumulus服務(wù)器。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0022]在P2P的視頻網(wǎng)絡(luò)中,包括Cumulus服務(wù)器204,Tracker服務(wù)203器以及各個客戶端201,202。各個客戶端向Cumulus服務(wù)器注冊,所述Cumulus服務(wù)器用于根據(jù)客戶端的注冊請求向客戶端分配PID,所述PID與各自的Tracker服務(wù)器相對應(yīng),所述Tracker服務(wù)器可以為多個。不同的Tracker服務(wù)器對應(yīng)多個客戶端。
[0023]在P2P視頻網(wǎng)絡(luò)的中,不同終端(peer)對應(yīng)自己擁有的視頻有如下的特征:
1.視頻分片簡介:一段完整的視頻是由幾段連續(xù)的大小基本相同的視頻分片組合而成。每個視頻分片會有一個分片序號(從O開始)和一個分片id,例如:030008070051BA296C79EE04CB019FAD64580D-6BA2-EC51-BF3A-B3E7BA149229,服務(wù)器會根據(jù)此 id 來判斷當(dāng)前視頻播放的分片。
[0024]2.視頻多畫質(zhì):視頻在編碼過程中,會根據(jù)視頻源文件的碼率情況被分為不同的畫質(zhì),對于不同的畫質(zhì),視頻的分片信息也不相同。畫質(zhì)主要分為標(biāo)清(flv),高清(mp4),超清(hd2)等。
[0025]3.視頻多語言:視頻源文件可能擁有多個相匹配的音頻文件,對于不同的語言,視頻的分片信息了也不相同。視頻源文件的語言可能有很多種,區(qū)分方法是從I開始遞增編號,例如I表示國語,2表示粵語等。
[0026]4.地區(qū)和運(yùn)營商:在實(shí)際應(yīng)用中,首先查看運(yùn)營商代碼,如果運(yùn)營商不同,則不會進(jìn)行數(shù)據(jù)傳輸;若運(yùn)營商相同,會優(yōu)先查看相同地區(qū),但如果沒有相同地區(qū)的peer,也會退之選擇其它地區(qū)的peer,所以上述各特征里,只有地區(qū)是非必要條件。
[0027]因此,以上四條特征關(guān)系到P2P視頻網(wǎng)絡(luò)中各個終端對于其它peer的選取。只有同一運(yùn)營商,同一個視頻,同一個畫質(zhì),并且是同一種語言,才能進(jìn)行P2P的數(shù)據(jù)傳輸,五者的先后關(guān)系如下:
【權(quán)利要求】
1.一種基于P2P的服務(wù)端接口測試方法,包括如下步驟: 服務(wù)器分發(fā)接口測試步驟S100,準(zhǔn)備數(shù)據(jù),模擬多個客戶端,所述客戶端向Cumulus服務(wù)器發(fā)送注冊請求,所述注冊請求中帶有所述客戶端的視頻id,視頻畫質(zhì)和視頻語言,所述Cumulus服務(wù)器根據(jù)預(yù)先制定的策略給所述客戶端返回Peerid,以及Tracker服務(wù)器的IP ; 分發(fā)測試結(jié)果判斷步驟S110,判斷所述服務(wù)器分發(fā)接口測試步驟返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,如果相同則進(jìn)入心跳接口測試步驟S120,否則,則進(jìn)入出錯記錄步驟S160,記錄出錯的結(jié)果; 心跳接口測試步驟S120,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送心跳請求,所述心跳請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid ; 資源請求接口測試步驟S130,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送資源請求,所述資源請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid,所述Tracker服務(wù)器依據(jù)收集到各個客戶端的心跳信息,把擁有客戶端播放當(dāng)前視頻分片數(shù)據(jù)的Peerid返回給所述客戶端; 資源請求接口測試結(jié)果判斷步驟S140,判斷所述資源請求接口測試步驟返回的結(jié)果與預(yù)定結(jié)果是否相同,如果相同則進(jìn)入測試報告記錄步驟S150,否則,則進(jìn)入出錯記錄步驟S160,記錄出錯的結(jié)果; 測試報告記錄步驟S150, 根據(jù)測試結(jié)果完成測試報告,并結(jié)束; 出錯記錄步驟S160,記錄出錯結(jié)果,并結(jié)束。
2.根據(jù)權(quán)利要求1所述的基于P2P的服務(wù)端接口測試方法,其特征在于: 所述心跳請求和所述資源請求中還包括運(yùn)營商信息和地區(qū)信息。
3.根據(jù)權(quán)利要求2所述的基于P2P的服務(wù)端接口測試方法,其特征在于: 在所述心跳接口測試步驟S120和/或所述資源請求接口測試步驟S130之后分別具有檢測步驟,所述檢測步驟檢測被發(fā)出的所述心跳請求和所述資源請求是否正確,如果錯誤,則記錄出錯結(jié)果,并保存,如果正確,則不作記錄。
4.根據(jù)權(quán)利要求1-3中任意一項所述的基于P2P的服務(wù)端接口測試方法,其特征在于: 判斷所述服務(wù)器分發(fā)接口測試步驟返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,為:判斷所述分發(fā)接口測試步驟返回的結(jié)果中,相同條件的視頻分片是否被分發(fā)到同一個Tracker服務(wù)器上。
5.根據(jù)權(quán)利要求1-3中任意一項所述的基于P2P的服務(wù)端接口測試方法,其特征在于: 所述心跳請求每隔20秒以POST方式發(fā)出,所述資源請求每隔60秒以POST方式發(fā)出。
6.一種基于P2P的服務(wù)端接口測試裝置,包括如下單元: 服務(wù)器分發(fā)接口測試單元,用于準(zhǔn)備數(shù)據(jù),模擬多個客戶端,所述客戶端向Cumulus服務(wù)器發(fā)送注冊請求,所述注冊請求中帶有所述客戶端的視頻id,視頻畫質(zhì)和視頻語言,所述Cumulus服務(wù)器根據(jù)預(yù)先制定的策略給所述客戶端返回Peerid,以及Tracker服務(wù)器的IP ; 分發(fā)測試結(jié)果判斷單元,用于判斷所述服務(wù)器分發(fā)接口測試單元返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,如果相同則進(jìn)入心跳接口測試單元,否則,則進(jìn)入出錯記錄單元,記錄出錯的結(jié)果; 心跳接口測試單元,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送心跳請求,所述心跳請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid ; 資源請求接口測試單元,所述客戶端定期向分發(fā)到的Tracker服務(wù)器發(fā)送資源請求,所述資源請求的內(nèi)容包括視頻id,視頻畫質(zhì),視頻語言,自己所擁有的視頻分片,當(dāng)前播放的是第幾個視頻分片,所述Cumulus服務(wù)器分配的Peerid,所述Tracker服務(wù)器依據(jù)收集到各個客戶端的心跳信息,把擁有客戶端播放當(dāng)前視頻分片數(shù)據(jù)的Peerid返回給所述客戶端; 資源請求接口測試結(jié)果判斷單元,判斷所述資源請求接口測試單元返回的結(jié)果與預(yù)定結(jié)果是否相同,如果相同則進(jìn)入測試報告記錄單元,否則,則進(jìn)入出錯記錄單元,記錄出錯的結(jié)果; 測試報告記錄單元,根據(jù)測試結(jié)果完成測試報告,并結(jié)束; 出錯記錄單元,記錄出錯結(jié)果,并結(jié)束。
7.根據(jù)權(quán)利要求6所述的基于P2P的服務(wù)端接口測試裝置,其特征在于: 所述心跳請求和所述資源請求中還包括運(yùn)營商信息和地區(qū)信息。
8.根據(jù)權(quán)利要求7所述的基于P2P的服務(wù)端接口測試裝置,其特征在于: 還具有檢測單元,所述檢測單元檢測由所述心跳接口測試單元和/或所述資源請求接口測試單元發(fā)出的所述心跳請求和所述資源請求是否正確,如果錯誤,則記錄出錯結(jié)果,并保存,如果正確,則不作記錄。
9.根據(jù)權(quán)利要求6-8中任意一項所述的基于P2P的服務(wù)端接口測試裝置,其特征在于: 判斷所述服務(wù)器分發(fā)接口測試單元返回的結(jié)果是否和原先設(shè)定策略所應(yīng)該得到的結(jié)果相同,為:相同條件的視頻分片是否被分發(fā)到同一個Tracker服務(wù)器上。
10.根據(jù)權(quán)利要求6-8中任意一項所述的基于P2P的服務(wù)端接口測試裝置,其特征在于: 所述心跳請求每隔20秒以POST方式發(fā)出,所述資源請求每隔60秒以POST方式發(fā)出。
【文檔編號】H04N21/845GK103561351SQ201310590434
【公開日】2014年2月5日 申請日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】劉睿姝, 范媛, 林起開, 張俊寶, 姚鍵, 潘柏宇, 盧述奇 申請人:合一網(wǎng)絡(luò)技術(shù)(北京)有限公司