一種基于互聯(lián)網(wǎng)的流媒體傳輸方法
【專利摘要】本發(fā)明涉及一種基于互聯(lián)網(wǎng)的流媒體傳輸方法,屬于網(wǎng)絡(luò)流媒體傳輸及應(yīng)用【技術(shù)領(lǐng)域】。本發(fā)明方法中,控制服務(wù)器處理客戶端的流媒體請(qǐng)求,為客戶端提供流媒體服務(wù)器信息;監(jiān)控客戶端的流媒體服務(wù)器運(yùn)行狀態(tài),定期更新全局流媒體服務(wù)器資源表。在流媒體數(shù)據(jù)包的初始傳輸階段,以P2P方法進(jìn)行流媒體數(shù)據(jù)包的傳輸,當(dāng)計(jì)算出最優(yōu)流媒體服務(wù)器之后,就終端其他19個(gè)數(shù)據(jù)鏈路,以單播方式進(jìn)行數(shù)據(jù)傳輸。這樣既可以保證初始緩沖時(shí)間比較短,同時(shí)也避免了對(duì)于互聯(lián)網(wǎng)帶寬資源造成大量浪費(fèi),提高服務(wù)質(zhì)量的同時(shí),有效地利用了帶寬資源。
【專利說(shuō)明】一種基于互聯(lián)網(wǎng)的流媒體傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于互聯(lián)網(wǎng)的流媒體傳輸方法,屬于網(wǎng)絡(luò)流媒體傳輸及應(yīng)用【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)是一個(gè)盡力傳輸網(wǎng)絡(luò),在數(shù)據(jù)傳輸過(guò)程中沒(méi)有質(zhì)量保證,因此在互聯(lián)網(wǎng)上提供業(yè)務(wù),需要考慮數(shù)據(jù)傳輸?shù)馁|(zhì)量問(wèn)題,尤其是流媒體傳輸業(yè)務(wù)。流媒體傳輸業(yè)務(wù)對(duì)數(shù)據(jù)傳輸時(shí)延要求比較高,一旦流媒體數(shù)據(jù)沒(méi)有在規(guī)定的時(shí)間內(nèi)傳輸?shù)娇蛻舳?,客戶端就?huì)出現(xiàn)暫?;蚓彌_等待的情況,影響客戶的正常使用。
[0003]互聯(lián)網(wǎng)是一種松散結(jié)構(gòu)的傳輸網(wǎng)絡(luò),互聯(lián)網(wǎng)運(yùn)營(yíng)商會(huì)根據(jù)骨干網(wǎng)絡(luò)帶寬的情況,動(dòng)態(tài)調(diào)整互聯(lián)網(wǎng)傳輸結(jié)構(gòu),因此互聯(lián)網(wǎng)的結(jié)構(gòu)處于動(dòng)態(tài)調(diào)整變化過(guò)程中,每個(gè)服務(wù)端到客戶端的數(shù)據(jù)傳輸路由可能出現(xiàn)變化,從而影響數(shù)據(jù)傳輸時(shí)延?;ヂ?lián)網(wǎng)又是一種網(wǎng)狀結(jié)構(gòu),互聯(lián)網(wǎng)中的每個(gè)節(jié)點(diǎn)既可以與某一個(gè)特定節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,也可以同時(shí)與多個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。
[0004]下面是互聯(lián)網(wǎng)數(shù)據(jù)傳輸中的問(wèn)題總結(jié):互聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)不穩(wěn)定,數(shù)據(jù)傳輸質(zhì)量無(wú)法保證;互聯(lián)網(wǎng)數(shù)據(jù)傳輸路由不固定,互聯(lián)網(wǎng)結(jié)構(gòu)的調(diào)整會(huì)引起數(shù)據(jù)傳輸路由的變化,從而影響數(shù)據(jù)傳輸時(shí)延;互聯(lián)網(wǎng)帶寬不穩(wěn)定,在數(shù)據(jù)傳輸高峰期,數(shù)據(jù)會(huì)在某個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)擁塞現(xiàn)象,導(dǎo)致數(shù)據(jù)傳輸出現(xiàn)丟包或數(shù)據(jù)傳輸時(shí)延增大。
[0005]流媒體業(yè)務(wù)是一種對(duì)于傳輸時(shí)延要求比較嚴(yán)格的業(yè)務(wù),每個(gè)流媒體數(shù)據(jù)包都帶有時(shí)間信息,客戶端接收到流媒體數(shù)據(jù)包后,按照每個(gè)流媒體數(shù)據(jù)包的時(shí)間信息以時(shí)間順序進(jìn)行排列,然后開(kāi)始播放流媒體。當(dāng)某個(gè)流媒體數(shù)據(jù)包沒(méi)有及時(shí)傳輸?shù)娇蛻舳?,則客戶端就會(huì)采取相應(yīng)的措施,現(xiàn)在通用的措施有兩種:第I種是暫停流媒體播放,等待這個(gè)流媒體數(shù)據(jù)包到達(dá)后再繼續(xù)播放,如果這個(gè)流媒體數(shù)據(jù)包一直未到達(dá),就一直等待;第2種是丟棄這個(gè)流媒體數(shù)據(jù)包,直接從下一個(gè)時(shí)間點(diǎn)的流媒體數(shù)據(jù)包開(kāi)始播放,這樣就出現(xiàn)了流媒體跳幀的現(xiàn)象。上述2種措施都會(huì)導(dǎo)致流媒體播放不流暢,影響流媒體的播放效果。
[0006]前面總結(jié)的互聯(lián)網(wǎng)數(shù)據(jù)傳輸過(guò)程中的3個(gè)問(wèn)題,就是影響了流媒體業(yè)務(wù)的服務(wù)質(zhì)量的原因,本專利針對(duì)互聯(lián)網(wǎng)數(shù)據(jù)傳輸中的問(wèn)題,提出了一種經(jīng)過(guò)優(yōu)化后的流媒體數(shù)據(jù)傳輸方法,這種方法可以針對(duì)性地解決互聯(lián)網(wǎng)中流媒體傳輸問(wèn)題,提高了流媒體業(yè)務(wù)的服務(wù)質(zhì)量。
[0007]目前已經(jīng)存在了一些在互聯(lián)網(wǎng)上進(jìn)行流媒體傳輸?shù)膬?yōu)化方法,其中MediaServer和P2P是典型的2種方法。
[0008]其中的MediaServer是Adobe公司開(kāi)發(fā)的一種互聯(lián)網(wǎng)流媒體傳輸服務(wù)。這種方法通過(guò)動(dòng)態(tài)調(diào)整流媒體碼流率來(lái)解決互聯(lián)網(wǎng)帶寬不穩(wěn)定的問(wèn)題,其實(shí)現(xiàn)方式是:
[0009]在服務(wù)器端預(yù)先準(zhǔn)備多種流媒體格式,例如IM (IM為1000K,IK為1024比特)碼流、512K碼流、256K碼流等多個(gè)流媒體格式,當(dāng)服務(wù)器收到客戶端的流媒體請(qǐng)求時(shí),指定一臺(tái)服務(wù)器作為流媒體服務(wù)的提供方,在這臺(tái)服務(wù)器與客戶端之間建立數(shù)據(jù)鏈路,服務(wù)器通過(guò)這個(gè)鏈路向客戶端發(fā)送流媒體數(shù)據(jù)包,同時(shí)在服務(wù)器與客戶端之間建立一條監(jiān)控信道,客戶端通過(guò)這個(gè)監(jiān)控信道向服務(wù)器反饋流媒體數(shù)據(jù)接收情況,當(dāng)網(wǎng)絡(luò)情況良好時(shí),服務(wù)器就按照原有的流媒體碼流率發(fā)送流媒體數(shù)據(jù)包;例如默認(rèn)標(biāo)準(zhǔn)的512K碼流率。當(dāng)網(wǎng)絡(luò)情況不好時(shí),服務(wù)器通過(guò)監(jiān)控信道發(fā)現(xiàn)客戶端無(wú)法正常接收流媒體數(shù)據(jù),服務(wù)器停止向客戶端發(fā)送512K碼流的流媒體數(shù)據(jù),改為傳輸256K碼流的流媒體數(shù)據(jù),然后繼續(xù)監(jiān)控客戶端的接收情況。如果發(fā)現(xiàn)客戶端還是無(wú)法正常接收流媒體數(shù)據(jù)時(shí),繼續(xù)降低碼流;反之,當(dāng)客戶端能夠正常接收流媒體數(shù)據(jù)時(shí),服務(wù)器可以提高流媒體碼流,用以提高服務(wù)質(zhì)量。這種方法通過(guò)改變流媒體碼流率的方法來(lái)適應(yīng)互聯(lián)網(wǎng)帶寬的變化,通過(guò)改變流媒體質(zhì)量來(lái)適應(yīng)互聯(lián)網(wǎng)的不穩(wěn)定性。這種方法雖然可以保證客戶端在不穩(wěn)定的互聯(lián)網(wǎng)中接收到流媒體數(shù)據(jù),但是不能保證流媒體的質(zhì)量,當(dāng)客戶端與服務(wù)器之間的互聯(lián)網(wǎng)鏈路質(zhì)量大幅下降的時(shí)候,客戶端接收到的流媒體碼流率也隨之大幅下降,因此這種方法的缺點(diǎn)就是無(wú)法保證服務(wù)質(zhì)量,是依靠犧牲質(zhì)量為代價(jià)保證流媒體的流暢性。
[0010]另外一種優(yōu)化方法是P2P方法。P2P方法就是利用互聯(lián)網(wǎng)的網(wǎng)狀結(jié)構(gòu),采用多點(diǎn)對(duì)單點(diǎn)進(jìn)行大量重復(fù)數(shù)據(jù)傳輸,保證了流媒體數(shù)據(jù)按時(shí)到達(dá)客戶端。
[0011]P2P全稱為PEER to PEER,在P2P中具有一個(gè)管理服務(wù)器,所有存儲(chǔ)了流媒體數(shù)據(jù)的PEER點(diǎn)(包括了服務(wù)器端與客戶端)向管理服務(wù)器匯報(bào)本地存儲(chǔ)的流媒體數(shù)據(jù)信息,當(dāng)新的客戶端請(qǐng)求流媒體數(shù)據(jù)時(shí),首先客戶端向管理服務(wù)器發(fā)送流媒體數(shù)據(jù)請(qǐng)求,管理服務(wù)器將所有存儲(chǔ)了相同流媒體數(shù)據(jù)的PEER信息發(fā)送給這個(gè)新的客戶端,這個(gè)客戶端根據(jù)PEER點(diǎn)信息,分別向所有具有流媒體數(shù)據(jù)的PEER點(diǎn)發(fā)送流媒體數(shù)據(jù)請(qǐng)求,所有收到流媒體數(shù)據(jù)請(qǐng)求的PEER點(diǎn)同時(shí)向這個(gè)新的客戶端發(fā)送流媒體數(shù)據(jù),這個(gè)新的客戶端開(kāi)始接收流媒體數(shù)據(jù)。由于有多個(gè)PEER點(diǎn)向客戶端發(fā)送相同的流媒體數(shù)據(jù),因此會(huì)出現(xiàn)流媒體數(shù)據(jù)重復(fù)傳輸?shù)那闆r,當(dāng)客戶端接收到某個(gè)PEER點(diǎn)傳送來(lái)的流媒體數(shù)據(jù)后,就開(kāi)始丟棄其他PEER點(diǎn)傳送的相同的流媒體數(shù)據(jù)。當(dāng)客戶端接收到流媒體數(shù)據(jù)后,它就向管理服務(wù)器匯報(bào),它擁有了哪些流媒體數(shù)據(jù),此時(shí)這個(gè)客戶端就成為了一個(gè)PEER點(diǎn)。在P2P方法中,由于存在多個(gè)流媒體數(shù)據(jù)傳輸端,因此可以保證流媒體數(shù)據(jù)的傳輸時(shí)延,但是這種方法中流媒體數(shù)據(jù)被重復(fù)傳輸多次,消耗了大量的互聯(lián)網(wǎng)帶寬,造成了帶寬浪費(fèi)。這種方法是通過(guò)浪費(fèi)互聯(lián)網(wǎng)帶寬資源來(lái)保證流媒體的傳輸質(zhì)量。對(duì)于互聯(lián)網(wǎng)帶寬資源的浪費(fèi)是P2P方法的特點(diǎn),因此P2P方法也不是一個(gè)有效可行的流媒體傳輸方法。由于P2P方法浪費(fèi)大量的互聯(lián)網(wǎng)帶寬,互聯(lián)網(wǎng)運(yùn)營(yíng)商采用了許多方法封堵P2P技術(shù)。
[0012]綜上所述,MediaServer方法通過(guò)調(diào)整流媒體的傳輸碼流來(lái)適應(yīng)帶寬變化,當(dāng)互聯(lián)網(wǎng)帶寬出現(xiàn)問(wèn)題時(shí),需要降低流媒體的碼流,這樣就不能保證流媒體的服務(wù)質(zhì)量。P2P方法通過(guò)多點(diǎn)對(duì)單點(diǎn)傳輸大量重復(fù)的流媒體數(shù)據(jù)包,大量地占用了互聯(lián)網(wǎng)帶寬,浪費(fèi)互聯(lián)網(wǎng)資源,這種方法的傳輸效率比較低。
【發(fā)明內(nèi)容】
[0013]本發(fā)明的目的是提出一種基于互聯(lián)網(wǎng)的流媒體傳輸方法,針對(duì)互聯(lián)網(wǎng)數(shù)據(jù)傳輸不穩(wěn)定、以及原有流媒體數(shù)據(jù)傳輸方法的缺點(diǎn),采用路由優(yōu)化機(jī)制和服務(wù)端優(yōu)化機(jī)制的互聯(lián)網(wǎng)流媒體傳輸技術(shù),以提高流媒體數(shù)據(jù)的效率和質(zhì)量。
[0014]本發(fā)明提出基于互聯(lián)網(wǎng)的流媒體傳輸方法,包括以下步驟:[0015](I)采集互聯(lián)網(wǎng)中全部流媒體服務(wù)器信息,互聯(lián)網(wǎng)中的控制服務(wù)器將全部流媒體服務(wù)器的IP地址進(jìn)行排序,形成一個(gè)流媒體服務(wù)器的資源列表,記為全局流媒體服務(wù)器資源表;
[0016](2)互聯(lián)網(wǎng)中的請(qǐng)求發(fā)送流媒體的客戶端,檢查本地客戶端流媒體服務(wù)器資源表信息,若請(qǐng)求發(fā)送流媒體客戶端不存在本地流媒體服務(wù)器資源表,則進(jìn)行步驟(3),若請(qǐng)求發(fā)送流媒體客戶端存在本地流媒體服務(wù)器資源表,則進(jìn)行步驟(5);
[0017](3)請(qǐng)求發(fā)送流媒體的客戶端向控制服務(wù)器發(fā)送一個(gè)流媒體傳輸請(qǐng)求,該請(qǐng)求中包含請(qǐng)求發(fā)送流媒體客戶端的IP地址,控制服務(wù)器接收到請(qǐng)求后,按照請(qǐng)求中的請(qǐng)求發(fā)送流媒體客戶端的IP地址,檢索到與請(qǐng)求發(fā)送流媒體客戶端的IP地址中ABC段在上述全局流媒體服務(wù)器資源表中的排列位置,將流媒體服務(wù)器資源表中從該位置開(kāi)始的20個(gè)流媒體服務(wù)器的IP地址,組成一張本地流媒體服務(wù)器資源表,并將該本地流媒體服務(wù)器資源表發(fā)送給請(qǐng)求發(fā)送流媒體客戶端;
[0018](4)請(qǐng)求發(fā)送流媒體客戶端接收到控制服務(wù)器發(fā)送來(lái)的本地流媒體服務(wù)器資源表后,將該資源表存儲(chǔ)在請(qǐng)求發(fā)送流媒體客戶端,作為請(qǐng)求發(fā)送流媒體客戶端的本地流媒體服務(wù)器資源表;
[0019](5)請(qǐng)求發(fā)送流媒體客戶端向本地流媒體服務(wù)器資源表中的20個(gè)流媒體服務(wù)器發(fā)送流媒體傳輸請(qǐng)求,在請(qǐng)求發(fā)送流媒體客戶端分別建立20個(gè)設(shè)定時(shí)間長(zhǎng)度t的緩沖區(qū),時(shí)間長(zhǎng)度的取值為5-10秒,設(shè)定時(shí)間長(zhǎng)度后,請(qǐng)求發(fā)送流媒體客戶端分別計(jì)算20個(gè)緩沖區(qū)的流媒體數(shù)據(jù)接收率,并按照20個(gè)流媒體接收率從大到小依次排序,得到一張更新的本地流媒體服務(wù)器資源表,請(qǐng)求發(fā)送流媒體客戶端利用更新的本地流媒體服務(wù)器資源表,請(qǐng)求發(fā)送流媒體客戶端從更新的本地流媒體服務(wù)器資源表中排列在第I位的流媒體服務(wù)器接收流媒體傳輸數(shù)據(jù),同時(shí)中斷請(qǐng)求發(fā)送流媒體客戶端與另外19個(gè)流媒體服務(wù)器的流媒體傳輸鏈路;
[0020](6)請(qǐng)求發(fā)送流媒體客戶端每隔設(shè)定時(shí)間長(zhǎng)度T,計(jì)算一次步驟(5)的緩沖區(qū)中流媒體數(shù)據(jù)接收率,定時(shí)間長(zhǎng)度T的取值范圍為5-10分鐘,當(dāng)流媒體數(shù)據(jù)接收率小于85%時(shí),請(qǐng)求發(fā)送流媒體客戶端向更新的本地流媒體服務(wù)器資源表中的其他19個(gè)流媒體服務(wù)器發(fā)送流媒體數(shù)據(jù)傳輸請(qǐng)求,重新建立19個(gè)緩沖區(qū),請(qǐng)求發(fā)送流媒體客戶端分別計(jì)算該19個(gè)緩沖區(qū)以及正在接收流媒體數(shù)據(jù)緩沖區(qū)的流媒體數(shù)據(jù)包接收率,若所有流媒體數(shù)據(jù)接收率都小于85%,則請(qǐng)求發(fā)送流媒體客戶端向控制服務(wù)器發(fā)送流媒體服務(wù)器更新請(qǐng)求,該更新請(qǐng)求中包含請(qǐng)求發(fā)送流媒體客戶端的IP地址和更新的本地流媒體服務(wù)器資源表,進(jìn)行步驟
(7),若存在流媒體數(shù)據(jù)接收率大于85%的流媒體服務(wù)器,則請(qǐng)求發(fā)送流媒體客戶端與接收率最大的流媒體服務(wù)器建立流媒體傳輸鏈路,并再次更新本地流媒體服務(wù)器資源表,進(jìn)行步驟(6);
[0021 ] (7)控制服務(wù)器接收到請(qǐng)求發(fā)送流媒體客戶端的更新請(qǐng)求后,從步驟(I)的全局流媒體服務(wù)器資源表中,檢索與請(qǐng)求發(fā)送流媒體客戶端的IP地址中ABC段在上述全局流媒體服務(wù)器資源表中的排列位置,檢索過(guò)程中,跳過(guò)已包含在請(qǐng)求發(fā)送流媒體客戶端提供的更新本地流媒體服務(wù)器資源表中的IP地址,形成由20個(gè)流媒體服務(wù)器的IP地址組成的再次更新的本地流媒體服務(wù)器資源表;
[0022]( 8 )控制服務(wù)器將再次更新的本地流媒體服務(wù)器資源表發(fā)送給在請(qǐng)求發(fā)送流媒體客戶端,返回步驟(4)。
[0023]本發(fā)明提出的基于互聯(lián)網(wǎng)的流媒體傳輸方法,其優(yōu)點(diǎn)是:
[0024]1、本發(fā)明的基于互聯(lián)網(wǎng)的流媒體傳輸方法,首先通過(guò)IPv4的地址分段信息,將流媒體服務(wù)器按照網(wǎng)段進(jìn)行劃分,保證了客戶端與流媒體服務(wù)器在相同的網(wǎng)段區(qū)域中,實(shí)現(xiàn)了區(qū)域化數(shù)據(jù)傳輸,保證了路由最短。
[0025]2、本方法通過(guò)監(jiān)控流媒體服務(wù)器的性能數(shù)值,平均分配了流媒體服務(wù)器資源,實(shí)現(xiàn)了負(fù)載均衡,優(yōu)化了服務(wù)端的性能,充分利用了服務(wù)器資源。
[0026]3、本方法通過(guò)監(jiān)控流媒體數(shù)據(jù)包的傳輸質(zhì)量,當(dāng)傳輸質(zhì)量差時(shí),后臺(tái)自動(dòng)調(diào)整流媒體服務(wù)器,利用緩沖機(jī)制,實(shí)現(xiàn)了流媒體服務(wù)器的平滑轉(zhuǎn)移,對(duì)于流媒體播放沒(méi)有造成任何影響,保證了播放的流暢性。
[0027]4、本方法中采用了部分P2P傳輸方法,在流媒體數(shù)據(jù)包的初始傳輸階段,以P2P方法進(jìn)行流媒體數(shù)據(jù)包的傳輸,當(dāng)計(jì)算出最優(yōu)流媒體服務(wù)器之后,就終端其他19個(gè)數(shù)據(jù)鏈路,以單播方式進(jìn)行數(shù)據(jù)傳輸。這樣既可以保證初始緩沖時(shí)間比較短,同時(shí)也避免了對(duì)于互聯(lián)網(wǎng)帶寬資源造成大量浪費(fèi),提高服務(wù)質(zhì)量的同時(shí),有效地利用了帶寬資源。
【專利附圖】
【附圖說(shuō)明】
[0028]圖1是本發(fā)明方法的流程框圖。
【具體實(shí)施方式】
[0029]本發(fā)明方法中涉及控制服務(wù)器、流媒體服務(wù)器以及客戶端在互聯(lián)網(wǎng)中的網(wǎng)絡(luò)結(jié)構(gòu)。流媒體服務(wù)器按照網(wǎng)絡(luò)結(jié)構(gòu)分布在互聯(lián)網(wǎng)的各個(gè)區(qū)域中,控制服務(wù)器收集所有流媒體服務(wù)器的信息,并對(duì)流媒體服務(wù)器進(jìn)行管理。
[0030]本發(fā)明提出的基于互聯(lián)網(wǎng)的流媒體傳輸方法,其流程框圖如圖1所示,其中的控制服務(wù)器用于處理客戶端的流媒體請(qǐng)求,為客戶端提供流媒體服務(wù)器信息;監(jiān)控客戶端的流媒體服務(wù)器運(yùn)行狀態(tài),定期更新全局流媒體服務(wù)器資源表。上述控制服務(wù)器采集互聯(lián)網(wǎng)中全部流媒體服務(wù)器信息,互聯(lián)網(wǎng)中的控制服務(wù)器將全部流媒體服務(wù)器的IP地址進(jìn)行排序,形成一個(gè)流媒體服務(wù)器的資源列表,記為全局流媒體服務(wù)器資源表。IP為InternetProtocol的英文縮寫,翻譯為互聯(lián)網(wǎng)協(xié)議。目前通用的互聯(lián)網(wǎng)協(xié)議是第四版,簡(jiǎn)稱為IPv4。IPv4中的IP地址分為AB⑶4個(gè)段,每個(gè)段的數(shù)字可以從O至255,總計(jì)有42億個(gè)IP地址。
[0031]本發(fā)明方法包括以下步驟:
[0032](I)采集互聯(lián)網(wǎng)中全部流媒體服務(wù)器信息,互聯(lián)網(wǎng)中的控制服務(wù)器將全部流媒體服務(wù)器的IP地址進(jìn)行排序,形成一個(gè)流媒體服務(wù)器的資源列表,記為全局流媒體服務(wù)器資源表;本方法的一個(gè)實(shí)施例中,以IPv4的分段方式進(jìn)行劃分,IPv4分為4段A.B.C.D。首先按照A段進(jìn)行排列,在A段的基礎(chǔ)上再按照B段的IP地址進(jìn)行排序,最后再按照C段的IP地址進(jìn)行排序。在ABC三段排列的基礎(chǔ)上,再按照CPU利用率、內(nèi)存使用率和磁盤吞吐使用率定義流媒體服務(wù)器的性能數(shù)值從小到大順序排列。例如,流媒體服務(wù)器CPU利用率為70%,內(nèi)存使用率為40%,磁盤吞吐使用率為40%,則流媒體服務(wù)器的性能數(shù)值=(0.7+0.4+0.4)/3=0.5,流媒體服務(wù)器的性能數(shù)值越小,則性能越好。由此形成了全局流媒體服務(wù)器的資源表,這個(gè)資源表按照5個(gè)字段進(jìn)行排序,第I個(gè)字段是A段IP地址,第2個(gè)字段是B段IP地址,第3個(gè)字段是C段IP地址,第四個(gè)字段是流媒體服務(wù)器的性能數(shù)值,這個(gè)性能數(shù)值按照從小到大順序排列,第5個(gè)字段為流媒體服務(wù)器的D段IP地址。
[0033](2)互聯(lián)網(wǎng)中的請(qǐng)求發(fā)送流媒體的客戶端,檢查本地客戶端流媒體服務(wù)器資源表信息,若請(qǐng)求發(fā)送流媒體客戶端不存在本地流媒體服務(wù)器資源表,則進(jìn)行步驟(3),若請(qǐng)求發(fā)送流媒體客戶端存在本地流媒體服務(wù)器資源表,則進(jìn)行步驟(5);
[0034](3)請(qǐng)求發(fā)送流媒體的客戶端向控制服務(wù)器發(fā)送一個(gè)流媒體傳輸請(qǐng)求,該請(qǐng)求中包含請(qǐng)求發(fā)送流媒體客戶端的IP地址,控制服務(wù)器接收到請(qǐng)求后,按照請(qǐng)求中的請(qǐng)求發(fā)送流媒體客戶端的IP地址,檢索到與請(qǐng)求發(fā)送流媒體客戶端的IP地址中ABC段在上述全局流媒體服務(wù)器資源表中的排列位置,將流媒體服務(wù)器資源表中從該位置開(kāi)始的20個(gè)流媒體服務(wù)器的IP地址,組成一張本地流媒體服務(wù)器資源表,并將該本地流媒體服務(wù)器資源表發(fā)送給請(qǐng)求發(fā)送流媒體客戶端;
[0035](4)請(qǐng)求發(fā)送流媒體客戶端接收到控制服務(wù)器發(fā)送來(lái)的本地流媒體服務(wù)器資源表后,將該資源表存儲(chǔ)在請(qǐng)求發(fā)送流媒體客戶端,作為請(qǐng)求發(fā)送流媒體客戶端的本地流媒體服務(wù)器資源表;
[0036](5)請(qǐng)求發(fā)送流媒體客戶端向本地流媒體服務(wù)器資源表中的20個(gè)流媒體服務(wù)器發(fā)送流媒體傳輸請(qǐng)求,在請(qǐng)求發(fā)送流媒體客戶端分別建立20個(gè)設(shè)定時(shí)間長(zhǎng)度t的緩沖區(qū),時(shí)間長(zhǎng)度的取值為5-10秒,根據(jù)流媒體傳輸速率而定。設(shè)定時(shí)間長(zhǎng)度后,請(qǐng)求發(fā)送流媒體客戶端分別計(jì)算20個(gè)緩沖區(qū)的流媒體數(shù)據(jù)接收率,并按照20個(gè)流媒體接收率從大到小依次排序,得到一張更新的本地流媒體服務(wù)器資源表,請(qǐng)求發(fā)送流媒體客戶端利用更新的本地流媒體服務(wù)器資源表,請(qǐng)求發(fā)送流媒體客戶端從更新的本地流媒體服務(wù)器資源表中排列在第I位的流媒體服務(wù)器接收流媒體傳輸數(shù)據(jù),同時(shí)中斷請(qǐng)求發(fā)送流媒體客戶端與另外19個(gè)流媒體服務(wù)器的流媒體傳輸鏈路,以單播方式從流媒體服務(wù)器接收流媒體數(shù)據(jù)。本步驟中,流媒體數(shù)據(jù)包接收率定義為:客戶端設(shè)置一定時(shí)間長(zhǎng)度的緩沖區(qū),例如5秒鐘,這個(gè)緩沖區(qū)理論上可以放置Q個(gè)流媒體數(shù)據(jù)包。以某個(gè)時(shí)間為起點(diǎn),客戶端將接收到的流媒體數(shù)據(jù)包按照流媒體數(shù)據(jù)包的時(shí)間循序放置在緩沖區(qū)內(nèi),并開(kāi)始計(jì)時(shí)。當(dāng)計(jì)時(shí)器到達(dá)緩沖區(qū)時(shí)間長(zhǎng)度后,客戶端計(jì)算緩沖區(qū)內(nèi)的流媒體數(shù)據(jù)包數(shù)量,假設(shè)數(shù)量為P,則P/Q*100%為流媒體數(shù)據(jù)包接收率。
[0037](6)請(qǐng)求發(fā)送流媒體客戶端每隔設(shè)定時(shí)間長(zhǎng)度T,計(jì)算一次步驟(5)的緩沖區(qū)中流媒體數(shù)據(jù)接收率,定時(shí)間長(zhǎng)度T的取值范圍為5-10分鐘,根據(jù)流媒體接收質(zhì)量確定。當(dāng)流媒體數(shù)據(jù)接收率小于85%時(shí),說(shuō)明流媒體數(shù)據(jù)傳輸質(zhì)量低,客戶端無(wú)法及時(shí)接收流媒體數(shù)據(jù)包。請(qǐng)求發(fā)送流媒體客戶端向更新的本地流媒體服務(wù)器資源表中的其他19個(gè)流媒體服務(wù)器發(fā)送流媒體數(shù)據(jù)傳輸請(qǐng)求,重新建立19個(gè)緩沖區(qū),緩沖區(qū)時(shí)間長(zhǎng)度為5秒。新建立的19個(gè)緩沖區(qū)加上原來(lái)的I個(gè)緩沖區(qū),總共20個(gè)緩沖區(qū)。5秒鐘之后,請(qǐng)求發(fā)送流媒體客戶端分別計(jì)算該19個(gè)緩沖區(qū)以及正在接收流媒體數(shù)據(jù)緩沖區(qū)的流媒體數(shù)據(jù)包接收率,若所有流媒體數(shù)據(jù)接收率都小于85%,則請(qǐng)求發(fā)送流媒體客戶端向控制服務(wù)器發(fā)送流媒體服務(wù)器更新請(qǐng)求,該更新請(qǐng)求中包含請(qǐng)求發(fā)送流媒體客戶端的IP地址和更新的本地流媒體服務(wù)器資源表,進(jìn)行步驟(7),若存在流媒體數(shù)據(jù)接收率大于85%的流媒體服務(wù)器,則請(qǐng)求發(fā)送流媒體客戶端與接收率最大的流媒體服務(wù)器建立流媒體傳輸鏈路,并再次更新本地流媒體服務(wù)器資源表,進(jìn)行步驟(6);[0038]( 7 )控制服務(wù)器接收到請(qǐng)求發(fā)送流媒體客戶端的更新請(qǐng)求后,說(shuō)明更新請(qǐng)求中的所有流媒體服務(wù)器都無(wú)法向客戶端提供具有服務(wù)質(zhì)量保證的流媒體數(shù)據(jù)傳輸,從步驟(I)的全局流媒體服務(wù)器資源表中,檢索與請(qǐng)求發(fā)送流媒體客戶端的IP地址中ABC段在上述全局流媒體服務(wù)器資源表中的排列位置,檢索過(guò)程中,跳過(guò)已包含在請(qǐng)求發(fā)送流媒體客戶端提供的更新本地流媒體服務(wù)器資源表中的IP地址,形成由20個(gè)流媒體服務(wù)器的IP地址組成的再次更新的本地流媒體服務(wù)器資源表;
[0039]( 8 )控制服務(wù)器將再次更新的本地流媒體服務(wù)器資源表發(fā)送給在請(qǐng)求發(fā)送流媒體客戶端,返回步驟(4)。
【權(quán)利要求】
1.一種基于互聯(lián)網(wǎng)的流媒體傳輸方法,其特征在于該方法包括以下步驟: (1)采集互聯(lián)網(wǎng)中全部流媒體服務(wù)器信息,互聯(lián)網(wǎng)中的控制服務(wù)器將全部流媒體服務(wù)器的IP地址進(jìn)行排序,形成一個(gè)流媒體服務(wù)器的資源列表,記為全局流媒體服務(wù)器資源表; (2)互聯(lián)網(wǎng)中的請(qǐng)求發(fā)送流媒體的客戶端,檢查本地客戶端流媒體服務(wù)器資源表信息,若請(qǐng)求發(fā)送流媒體客戶端不存在本地流媒體服務(wù)器資源表,則進(jìn)行步驟(3),若請(qǐng)求發(fā)送流媒體客戶端存在本地流媒體服務(wù)器資源表,則進(jìn)行步驟(5 ); (3)請(qǐng)求發(fā)送流媒體的客戶端向控制服務(wù)器發(fā)送一個(gè)流媒體傳輸請(qǐng)求,該請(qǐng)求中包含請(qǐng)求發(fā)送流媒體客戶端的IP地址,控制服務(wù)器接收到請(qǐng)求后,按照請(qǐng)求中的請(qǐng)求發(fā)送流媒體客戶端的IP地址,檢索到與請(qǐng)求發(fā)送流媒體客戶端的IP地址中ABC段在上述全局流媒體服務(wù)器資源表中的排列位置,將流媒體服務(wù)器資源表中從該位置開(kāi)始的20個(gè)流媒體服務(wù)器的IP地址,組成一張本地流媒體服務(wù)器資源表,并將該本地流媒體服務(wù)器資源表發(fā)送給請(qǐng)求發(fā)送流媒體客戶端; (4)請(qǐng)求發(fā)送流媒體客戶端接收到控制服務(wù)器發(fā)送來(lái)的本地流媒體服務(wù)器資源表后,將該資源表存儲(chǔ)在請(qǐng)求發(fā)送流媒體客戶端,作為請(qǐng)求發(fā)送流媒體客戶端的本地流媒體服務(wù)器資源表; (5)請(qǐng)求發(fā)送流媒體客戶端向本地流媒體服務(wù)器資源表中的20個(gè)流媒體服務(wù)器發(fā)送流媒體傳輸請(qǐng)求,在請(qǐng)求發(fā)送流媒體客戶端分別建立20個(gè)設(shè)定時(shí)間長(zhǎng)度t的緩沖區(qū),時(shí)間長(zhǎng)度的取值為5-10秒,設(shè)定時(shí)間長(zhǎng)度后,請(qǐng)求發(fā)送流媒體客戶端分別計(jì)算20個(gè)緩沖區(qū)的流媒體數(shù)據(jù)接收率,并按照20個(gè)流媒體接收率從大到小依次排序,得到一張更新的本地流媒體服務(wù)器資源表,請(qǐng)求發(fā)送流媒體客戶端利用更新的本地流媒體服務(wù)器資源表,請(qǐng)求發(fā)送流媒體客戶端從更新的本地流媒體服務(wù)器資源表中排列在第I位的流媒體服務(wù)器接收流媒體傳輸數(shù)據(jù),同時(shí)中斷請(qǐng)求發(fā)送流媒體客戶端與另外19個(gè)流媒體服務(wù)器的流媒體傳輸鏈路; (6)請(qǐng)求發(fā)送流媒體客戶端每隔設(shè)定時(shí)間長(zhǎng)度T,計(jì)算一次步驟(5)的緩沖區(qū)中流媒體數(shù)據(jù)接收率,定時(shí)間長(zhǎng)度T的取值范圍為5-10分鐘,當(dāng)流媒體數(shù)據(jù)接收率小于85%時(shí),請(qǐng)求發(fā)送流媒體客戶端向更新的本地流媒體服務(wù)器資源表中的其他19個(gè)流媒體服務(wù)器發(fā)送流媒體數(shù)據(jù)傳輸請(qǐng)求,重新建立19個(gè)緩沖區(qū),請(qǐng)求發(fā)送流媒體客戶端分別計(jì)算該19個(gè)緩沖區(qū)以及正在接收流媒體數(shù)據(jù)緩沖區(qū)的流媒體數(shù)據(jù)包接收率,若所有流媒體數(shù)據(jù)接收率都小于85%,則請(qǐng)求發(fā)送流媒體客戶端向控制服務(wù)器發(fā)送流媒體服務(wù)器更新請(qǐng)求,該更新請(qǐng)求中包含請(qǐng)求發(fā)送流媒體客戶端的IP地址和更新的本地流媒體服務(wù)器資源表,進(jìn)行步驟(7),若存在流媒體數(shù)據(jù)接收率大于85%的流媒體服務(wù)器,則請(qǐng)求發(fā)送流媒體客戶端與接收率最大的流媒體服務(wù)器建立流媒體傳輸鏈路,并再次更新本地流媒體服務(wù)器資源表,進(jìn)行步驟(6); (7 )控制服務(wù)器接收到請(qǐng)求發(fā)送流媒體客戶端的更新請(qǐng)求后,從步驟(1)的全局流媒體服務(wù)器資源表中,檢索與請(qǐng)求發(fā)送流媒體客戶端的IP地址中ABC段在上述全局流媒體服務(wù)器資源表中的排列位置,檢索過(guò)程中 ,跳過(guò)已包含在請(qǐng)求發(fā)送流媒體客戶端提供的更新本地流媒體服務(wù)器資源表中的IP地址,形成由20個(gè)流媒體服務(wù)器的IP地址組成的再次更新的本地流媒體服務(wù)器資源表;(8 )控制服務(wù)器將再次 更新的本地流媒體服務(wù)器資源表發(fā)送給在請(qǐng)求發(fā)送流媒體客戶端,返回步驟(4)。
【文檔編號(hào)】H04L29/06GK103905458SQ201410145655
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2014年4月11日 優(yōu)先權(quán)日:2014年4月11日
【發(fā)明者】王建松 申請(qǐng)人:北京云視天創(chuàng)網(wǎng)絡(luò)科技有限公司