本申請涉及多媒體領(lǐng)域,尤其涉及互聯(lián)網(wǎng)音視頻點直播領(lǐng)域的一種互聯(lián)網(wǎng)音視頻域名解析方法及裝置。
背景技術(shù):
近年來,由于互聯(lián)網(wǎng)的快速發(fā)展以及網(wǎng)絡(luò)上對多媒體信息需求的不斷增加,網(wǎng)絡(luò)流媒體受到了學術(shù)上和應(yīng)用領(lǐng)域上的廣泛關(guān)注。網(wǎng)絡(luò)音視頻的傳輸方式主要有兩種:一種是下載方式,另一種是流傳輸方式。在下載模式中,用戶先下載整個視頻文件,然后再播放這個視頻文件,但是在下載模式中的整個文件的傳輸通常會花費比較長的時間,而且這個時間可能是用戶不能接受的。相比之下,在流傳輸模式中,視頻內(nèi)容不需要被完全的下載下來,而是在播放一段視頻的同時接收另一部分的視頻內(nèi)容并解碼。由于這種方式的時效性,音視頻流傳輸通常需要有一定的帶寬、延時以及丟包之類的參數(shù)要求。
當前的互聯(lián)網(wǎng)并不能保證音視頻流媒體的服務(wù)質(zhì)量,而只能做到盡力而為。音視頻用戶的主觀體驗包括啟動時間、播放卡頓率、播放成功率等,網(wǎng)絡(luò)帶寬、延時、丟包率以及音視頻的編解碼傳輸方式對用戶的主觀體驗有著重要的影響?;ヂ?lián)網(wǎng)音視頻尤其是實時音視頻系統(tǒng)具有很強的時效性,音視頻數(shù)據(jù)必須持續(xù)地接收。如果數(shù)據(jù)沒有持續(xù)到達,那么播放將會出現(xiàn)卡頓,這將會極大的影響用戶體驗。音視頻播放的啟動時間和卡頓率和DNS解析時間、網(wǎng)絡(luò)連接時間和音視頻下載時間等因數(shù)有關(guān),在網(wǎng)絡(luò)不好的情況下,播放啟動時間和播放卡頓率指標惡化,嚴重影響用戶體驗。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種互聯(lián)網(wǎng)音視頻域名解析方法及裝置,以降低音視頻啟動時間,減少音視頻播放過程中的域名解析次數(shù),降低卡頓率或者卡頓次數(shù)。
為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種互聯(lián)網(wǎng)音視頻域名解析方法,該互聯(lián)網(wǎng)音視頻域名解析方法包括:
在音視頻播放前,以設(shè)定方式獲取設(shè)定數(shù)量的音視頻URL中的域名;
在音視頻播放前,對獲取的所述域名按照設(shè)定順序進行DNS域名解析,獲得所述域名對應(yīng)的IP;
在視頻播放時,利用所述IP訪問待播放的音視頻內(nèi)容進行音視頻播放。
一實施例中,該互聯(lián)網(wǎng)音視頻域名解析方法還包括:
在音視頻播放前,將DNS域名解析得到的所述IP按照設(shè)定的數(shù)據(jù)結(jié)構(gòu)進行存儲。
一實施例中,所述音視頻播放前包括如下至少一種情況:
用戶點擊播放按鈕前;
用戶啟動音視頻播放前;
音視頻系統(tǒng)初始化時;
音視頻列表頁面加載期間。
一實施例中,以設(shè)定方式獲取設(shè)定數(shù)量的音視頻URL中的域名,包括:
根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,從音視頻系統(tǒng)后端服務(wù)器數(shù)據(jù)庫中獲取全部音視頻的域名或當前顯示窗中音視頻的域名后進行緩存;或
根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地所有音視頻的URL,從讀取的URL中截取域名后進行緩存;或
根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地當前顯示音視頻的URL,從讀取的URL中截取域名后進行緩存。
一實施例中,對獲取的所述域名按照設(shè)定順序進行DNS域名解析,獲得所述域名對應(yīng)的IP,包括:對獲取的所述域名依次查找本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存、各級域名服務(wù)器,進行DNS域名解析,直至獲得所述域名對應(yīng)的IP。
一實施例中,對獲取的所述域名依次查找本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存、各級域名服務(wù)器,包括:
依次查找所述本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存;
若未查到所述域名對應(yīng)的IP,按照域名級別以遞歸的方式地在全球各級域名服務(wù)器上查找,獲得所述域名對應(yīng)的IP。
一實施例中,將DNS域名解析得到的所述IP按照設(shè)定的數(shù)據(jù)結(jié)構(gòu)進行存儲,包括:
將DNS域名解析得到的所述IP按照數(shù)據(jù)字典存儲,每個音視頻對應(yīng)數(shù)據(jù)字典的一項,每個音視頻域名解析出的多個IP按照鏈表存儲。
一實施例中,利用所述IP下載待播放的音視頻內(nèi)容進行音視頻播放,包括:
在待播放的音視頻對應(yīng)的數(shù)據(jù)字典的鏈表中查找該待播放的音視頻的域名對應(yīng)的IP;
利用該IP直接獲取音視頻內(nèi)容進行音視頻播放。
一實施例中,利用該IP直接獲取音視頻內(nèi)容進行音視頻播放,包括:
將該IP設(shè)置到用于TCP連接的Socket中,用設(shè)置好的Socket進行TCP連接,并進行音視頻獲取,音視頻解碼及音視頻渲染。
為了實現(xiàn)上述目的,本發(fā)明實施例還提供了一種互聯(lián)網(wǎng)音視頻域名解析裝置,該互聯(lián)網(wǎng)音視頻域名解析裝置包括:
域名獲取單元,用于在音視頻播放前以設(shè)定方式獲取設(shè)定數(shù)量的音視頻URL中的域名;
域名解析單元,用于在音視頻播放前對獲取的所述域名按照設(shè)定順序進行DNS域名解析,獲得所述域名對應(yīng)的IP;
視頻播放單元,用于在視頻播放時,利用所述IP訪問待播放的音視頻內(nèi)容進行音視頻播放。
一實施例中,該互聯(lián)網(wǎng)音視頻域名解析裝置還包括:
IP存儲單元,用于在音視頻播放前將DNS域名解析得到的所述IP按照設(shè)定的數(shù)據(jù)結(jié)構(gòu)進行存儲。
一實施例中,所述音視頻播放前包括如下至少一種情況:
用戶點擊播放按鈕前;
用戶啟動音視頻播放前;
音視頻系統(tǒng)初始化時;
音視頻列表頁面加載期間。
一實施例中,所述域名獲取單元具體用于:
根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,從音視頻系統(tǒng)后端服務(wù)器數(shù)據(jù)庫中獲取全部音視頻的域名或當前顯示窗中音視頻的域名后進行緩存;或
根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地所有音視頻的URL,從讀取的URL中截取域名后進行緩存;或
根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地當前顯示音視頻的URL,從讀取的URL中截取域名后進行緩存。
一實施例中,所述域名解析單元具體用于:對獲取的所述域名依次查找本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存、各級域名服務(wù)器,進行DNS域名解析,直至獲得所述域名對應(yīng)的IP。
一實施例中,所述域名解析單元包括:
逐級查找模塊,用于依次查找所述本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存;
遞歸查找模塊,用于按照域名級別以遞歸的方式地在全球各級域名服務(wù)器上查找,獲得所述域名對應(yīng)的IP。
一實施例中,所述IP存儲單元具體用于:將DNS域名解析得到的所述IP按照數(shù)據(jù)字典存儲,每個音視頻對應(yīng)數(shù)據(jù)字典的一項,每個音視頻域名解析出的多個IP按照鏈表存儲。
一實施例中,所述視頻播放單元包括:
IP查找模塊,用于在待播放的音視頻對應(yīng)的數(shù)據(jù)字典的鏈表中查找該待播放的音視頻的域名對應(yīng)的IP;
播放模塊,用于利用該IP直接獲取音視頻內(nèi)容進行音視頻播放。
一實施例中,所述播放模塊具體用于:將該IP設(shè)置到用于TCP連接的Socket中,用設(shè)置好的Socket進行TCP連接,并進行音視頻獲取,音視頻解碼及音視頻渲染。
本申請實施例中,通過在用戶播放音視頻前進行域名解析,有利于降低音視頻啟動時間,并且減少了音視頻播放過程中的域名解析次數(shù),有利于降低卡頓率或者卡頓次數(shù)。
當然實施本申請的任一產(chǎn)品或者方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例的互聯(lián)網(wǎng)音視頻域名解析方法流程圖;
圖2為本發(fā)明實施例的域名解析結(jié)果IP存儲結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例的互聯(lián)網(wǎng)音視頻域名解析方法實現(xiàn)過程示意圖;
圖4為本發(fā)明實施例的域名解析過程示意圖;
圖5為本發(fā)明實施例的互聯(lián)網(wǎng)域名分級示意圖;
圖6為本發(fā)明一實施例的音視頻下載播放流程示意圖;
圖7為本發(fā)明一實施例的互聯(lián)網(wǎng)音視頻域名解析裝置的結(jié)構(gòu)框圖;
圖8為本發(fā)明一實施例的互聯(lián)網(wǎng)音視頻域名解析裝置的結(jié)構(gòu)框圖;
圖9為本發(fā)明實施例的域名解析單元的結(jié)構(gòu)示意圖;
圖10為本發(fā)明實施例的視頻播放單元為本發(fā)明實施例的。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
域名系統(tǒng)DNS(Domain Name System)是因特網(wǎng)使用的命名系統(tǒng),用來把便于人們使用的機器名字轉(zhuǎn)換成為IP地址。因特網(wǎng)的命名系統(tǒng)中使用了許多的“域(domain)”,因此就出現(xiàn)了“域名”這個名詞。域名到IP地址的解析是由分布在因特網(wǎng)上的許多域名服務(wù)器程序共同完成的。
當某一個應(yīng)用需要把主機名解析為IP地址時,該應(yīng)用進程就調(diào)用解析程序,并稱為DNS的一個客戶,把待解析的域名放在DNS請求報文中,以UDP(User Datagram Protocol)用戶數(shù)據(jù)報方式發(fā)給本地域名服務(wù)器。本地域名服務(wù)器在查找域名后,把對應(yīng)的IP地址放在回答報文中返回。應(yīng)用程序獲得目的主機的IP地址后即可進行通信。
若本地域名服務(wù)器不能回答該請求,則此域名服務(wù)器就暫時稱為DNS的另一個客戶,并向其他域名服務(wù)器發(fā)出查詢請求。這種過程直至找到能夠回答該請求的域名服務(wù)器為止。
DNS(Domain Name System)是“域名系統(tǒng)”的英文縮寫,是一種組織成域?qū)哟谓Y(jié)構(gòu)的計算機和網(wǎng)絡(luò)服務(wù)命名系統(tǒng),用于TCP/IP網(wǎng)絡(luò),將URL中的主機名和域名轉(zhuǎn)換為IP地址。在播放互聯(lián)網(wǎng)音視頻,每段音視頻都有自己的URL,點擊播放后的首先要進行的就是DNS域名解析。DNS解析的時機和算法性能對音視頻播放的啟動時間和卡頓率有重要影響。
基于此,本發(fā)明提供了一種互聯(lián)網(wǎng)音視頻域名解析方法,圖1為本發(fā)明實施例的互聯(lián)網(wǎng)音視頻域名解析方法流程圖,如圖1所示,該互聯(lián)網(wǎng)音視頻域名解析方法包括:
S101:在音視頻播放前,以設(shè)定方式獲取設(shè)定數(shù)量的音視頻URL中的域名;
S102:在音視頻播放前,對獲取的所述域名按照設(shè)定順序進行DNS域名解析,獲得所述域名對應(yīng)的IP;
S103:在視頻播放時,利用所述IP訪問待播放的音視頻內(nèi)容進行音視頻播放。
圖1所示的互聯(lián)網(wǎng)音視頻域名解析方法的執(zhí)行主體可以為視頻播放終端,如圖PC,手機、PAD等移動終端,本發(fā)明不以此為限。由圖1所示的流程可知,本發(fā)明在音視頻播放前,以設(shè)定方式獲取設(shè)定數(shù)量的音視頻URL中的域名并對獲取的所述域名按照設(shè)定順序進行DNS域名解析,用戶在音視頻播放前的合適時機,在視頻播放時,利用所述IP訪問待播放的音視頻內(nèi)容進行音視頻播放。本發(fā)明通過在用戶播放音視頻前進行域名解析,有利于降低音視頻啟動時間,并且減少了音視頻播放過程中的域名解析次數(shù),有利于降低卡頓率或者卡頓次數(shù)。
本發(fā)明實施例所述的音視頻播放前即音視頻播放前的合適時機,可以包括如下一種或多種情況:
1、用戶點擊音視頻播放終端上顯示的音視頻播放按鈕前;
2、用戶啟動音視頻播放前,例如用戶點擊音視頻播放地址等;
3、音視頻系統(tǒng)初始化時,如用戶啟動愛奇藝等音視頻系統(tǒng)之后的初始化過程中;
4、音視頻列表頁面加載期間,例如用戶選擇播放地址之后,加載音視頻列表的頁面時。
在音視頻播放前,可以將DNS域名解析得到的所述IP按照設(shè)定的數(shù)據(jù)結(jié)構(gòu)進行存儲,一實施例中,可以按照如圖2所示的方法進行存儲。如圖2所示,該實施例中通過一個數(shù)據(jù)字典和多個單向鏈表,該單向鏈表用于存儲域名對應(yīng)的多個IP。具體實施時,在用戶音視頻播放前的合適時機,將DNS域名解析得到的所述IP按照數(shù)據(jù)字典存儲,每個音視頻對應(yīng)數(shù)據(jù)字典的一項,每個音視頻域名解析出的多個IP按照鏈表存儲。這些IP可以臨時存儲在內(nèi)存或者持久化存儲在硬盤上,可以以文本文件方式存儲,也可以以數(shù)據(jù)庫方式存儲。為了保證解析結(jié)果的正確性,存儲的IP需要要按照一定時間間隔更新。
基于上述分析,本發(fā)明實施例的互聯(lián)網(wǎng)音視頻域名解析方法可以通過圖3所示的流程實現(xiàn)。
獲取音視頻URL中的域名的方式有很多種,并獲取的域名的數(shù)量也不固定,一實施例中,可以根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,從音視頻系統(tǒng)后端服務(wù)器數(shù)據(jù)庫中獲取全部音視頻的域名或當前顯示窗中音視頻的域名后進行緩存。
另一實施例中,可以根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地所有音視頻的URL,從讀取的URL中截取域名后進行緩存。
再一實施例中,可以根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地當前顯示音視頻的URL,從讀取的URL中截取域名后進行緩存。
本發(fā)明實施例,可以按照設(shè)定順序?qū)Λ@取的所述域名進行DNS域名解析,一實施例中,可以依次查找本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存、各級域名服務(wù)器,進行DNS域名解析,直至獲得所述域名對應(yīng)的IP。具體如圖4所示,首先查找瀏覽器緩存區(qū),如果解析成功(即查找到對應(yīng)的IP),則結(jié)束解析。如果音頻播放終端沒有瀏覽器,可以跳過查找瀏覽器緩存區(qū)的步驟,直接查找本地系統(tǒng)緩存區(qū)。如果本地系統(tǒng)緩存區(qū)解析成功,則結(jié)束解析,如果本地系統(tǒng)緩存區(qū)解析失敗則解析運營商網(wǎng)絡(luò)緩存區(qū)。如果運營商網(wǎng)絡(luò)緩存區(qū)解析成功,結(jié)束解析,如果解析失敗,則到各級域名服務(wù)器進行域名解析。各級域名服務(wù)器解析時,按照域名級別以遞歸的方式地在全球各級域名服務(wù)器上查找,獲得所述域名對應(yīng)的IP。遞歸解析的方式可以為依次對根域名服務(wù)器、頂級域名服務(wù)器、權(quán)限域名服務(wù)器進行遞歸搜索,直到解析出域名對應(yīng)的IP或者失敗,圖5為本發(fā)明實施例的互聯(lián)網(wǎng)域名分級示意圖。
本發(fā)明在對獲取的域名進行預(yù)先解析時,在域名涉及的名字空間中,從根結(jié)點開始,向下延伸到達所尋找的結(jié)點的子域序列,在延伸過程中涉及的全部標簽的組合即可標識一個結(jié)點的域名,對于名字空間中的任何一個結(jié)點,都可以通過這種方式來尋找它對應(yīng)的域名。當執(zhí)行以上操作時,就可以獲得標識著某臺特定設(shè)備的唯一名字。DNS一般提供兩種域名解析的方式:迭代解析和遞歸解析。當一臺名字服務(wù)器接收到一個迭代請求時,如果該名字服務(wù)器包含請求所需的應(yīng)答信息,則直接以應(yīng)答信息進行響應(yīng),否則將以一個指向相關(guān)名字服務(wù)器的指針作為響應(yīng)。發(fā)送請求的客戶機隨后需要向被指向的名字服務(wù)器再次發(fā)送一個請求,重復(fù)以上過程,直到搜索到包含請求域名所需應(yīng)答信息的名字服務(wù)器。當一臺名字服務(wù)器接收到一個域名解析遞歸請求時,如果其包含請求所需的資源記錄,則直接以資源記錄進行響應(yīng),否則就接管域名解析的職責,充當客戶機繼續(xù)發(fā)起遞歸解析,直到解析到IP或者解析失敗。
為提高DNS查詢效率,減輕服務(wù)器的負荷,可以在域名服務(wù)器中使用高速緩存,存放最近查詢過的域名以及從何處獲得域名映射信息的記錄。由于名字到地址的綁定并不經(jīng)常改變,為保持告訴緩存中的內(nèi)容正確,域名服務(wù)器可以定時刪除超過合理時間的域名項。當域名服務(wù)器刪去某項信息后又被請求查詢該項信息,就重新到授權(quán)管理該項的域名服務(wù)器綁定信息。
本地域名服務(wù)器中需要高速緩存,許多視頻播放端在啟動時從本地服務(wù)器下載名字和地址的全部數(shù)據(jù)庫,維護存放最近使用的域名的高速緩存,并且只在從緩存中找不到名字時才使用域名服務(wù)器。維護本地域名服務(wù)器數(shù)據(jù)庫的主機應(yīng)當定期地檢查域名服務(wù)器以獲取新的映射信息,而且主機必須從緩存中刪除無效的項。
視頻播放端向域名服務(wù)器的查詢采用遞歸查詢。如果視頻播放端所詢問的本地域名服務(wù)器不知道被查詢的域名的IP地址,那么本地域名服務(wù)器就以DNS客戶的身份,向其它域名服務(wù)器繼續(xù)發(fā)出查詢請求報文。因此,遞歸查詢返回的查詢結(jié)果或者是所要查詢的IP地址,或者是報錯,表示無法查詢到所需的IP地址。
用戶播放音視頻時,先下載音視頻流。首先判斷域名預(yù)先解析功能是否打開,如果沒有打開預(yù)解析功能開關(guān),則讀取音視頻域名,開始進行域名解析,如果得到結(jié)果IP,將解析結(jié)果更新到解析結(jié)果存儲結(jié)構(gòu)中,按照結(jié)果IP下載音視頻,音視頻下載成功并解碼顯示播放;如果下載失敗,則播放失敗。
在DNS預(yù)先解析功能打開的情況下,首先備份當前播放器的狀態(tài),從結(jié)果IP存儲區(qū)讀取對應(yīng)域名的第一個IP(可以展開說),將IP設(shè)置到用于TCP連接的Socket中,用設(shè)置好的Socket進行TCP連接,下載音視頻、解碼并顯示播放,如果下載失敗,則依次用同一域名的其它IP嘗試下載,直到成功下載或者失敗。
本實施例中,在完成DNS域名解析獲得域名對應(yīng)的IP之后,或者在存儲解析得到的IP之后,就可以進行視頻播放,此時,可以利用該IP直接訪問待播放的音視頻內(nèi)容進行音視頻播放。一實施例中,可以在待播放的音視頻對應(yīng)的數(shù)據(jù)字典的鏈表中查找該待播放的音視頻的域名對應(yīng)的IP,然后利用該IP直接獲取音視頻內(nèi)容進行音視頻播放,例如可以將該IP設(shè)置到用于TCP連接的Socket中,用設(shè)置好的Socket進行TCP連接,并進行音視頻獲取,音視頻解碼及音視頻渲染,直到用戶看到第一幀音視頻圖像。一實施例中,為了保證域名解析方式的靈活性,可以設(shè)置域名預(yù)先解析功能開關(guān),用戶播放音視頻時,可以先判斷域名預(yù)先解析功能是否打開,如果沒有打開域名預(yù)先預(yù)解析功能開關(guān),則讀取音視頻域名,開始進行域名解析。如果已經(jīng)打開域名預(yù)先預(yù)解析功能開關(guān),則可以直接從IP存儲區(qū)進行域名讀取。
圖6為本發(fā)明一實施例的音視頻下載播放流程示意圖,下面結(jié)合圖6詳細說明本發(fā)明的視頻播放過程。
如圖6所示,用戶播放音視頻時,先下載音視頻流。具體地,首先判斷域名預(yù)先解析功能是否打開,如果沒有打開預(yù)解析功能開關(guān),則讀取音視頻域名,開始進行域名解析,如果得到結(jié)果IP,將解析結(jié)果更新到解析結(jié)果存儲結(jié)構(gòu)中,按照結(jié)果IP下載音視頻,音視頻下載成功并解碼顯示播放;如果下載音視頻失敗,則播放失敗。
在域名預(yù)先解析功能打開的情況下,如圖6所示,首先備份當前播放器的狀態(tài),從結(jié)果IP存儲區(qū)讀取對應(yīng)域名的第一個IP,將IP設(shè)置到用于TCP連接的Socket中,用設(shè)置好的Socket進行TCP連接,下載音視頻、解碼并顯示播放,如果下載失敗,則依次用同一域名的其它IP嘗試下載,直到成功下載或者失敗。一個播放視頻可能有多個IP,一般根據(jù)實際先后順序進行IP讀取,首先讀取第一IP進行音視頻流下載,如果音視頻下載不成功,再用第二個IP進行音視頻流下載,依次進行,直到下載到音視頻,或者用完所有IP最終下載失敗,整個過程無需進行DNS解析,降低了播放啟動時間。
互聯(lián)網(wǎng)音視頻用戶的主觀質(zhì)量體驗包括播放啟動時間、卡頓率和播放成功率,其中音視頻播放啟動時間最為影響用戶體驗。網(wǎng)絡(luò)延遲、抖動和丟包率以及用戶編解碼傳輸方式都會影響到播放啟動時間。音視頻URL的域名解析時間約占播放啟動時間的10%,在網(wǎng)絡(luò)狀況較差的情況下,占比高達20%甚至更高。本發(fā)明中將費時的域名解析工作提前到音視頻播放前的合適時機,在播放時避免進行費時的域名解析工作、直接讀取IP下載音視頻,有利于降低音視頻啟動時間,在音視頻播放過程中,減少域名解析次數(shù),有利于降低卡頓率或者卡頓次數(shù)。
基于與上述互聯(lián)網(wǎng)音視頻域名解析方法相同的發(fā)明構(gòu)思,本申請?zhí)峁┮环N互聯(lián)網(wǎng)音視頻域名解析裝置,如下面實施例所述。由于該互聯(lián)網(wǎng)音視頻域名解析裝置解決問題的原理與互聯(lián)網(wǎng)音視頻域名解析方法相似,因此該互聯(lián)網(wǎng)音視頻域名解析裝置的實施可以參見互聯(lián)網(wǎng)音視頻域名解析方法的實施,重復(fù)之處不再贅述。
圖7為本發(fā)明一實施例的互聯(lián)網(wǎng)音視頻域名解析裝置的結(jié)構(gòu)框圖。如圖7所示,該互聯(lián)網(wǎng)音視頻域名解析裝置包括:
域名獲取單元701,用于在音視頻播放前以設(shè)定方式獲取設(shè)定數(shù)量的音視頻URL中的域名;
域名解析單元702,用于在音視頻播放前對獲取的所述域名按照設(shè)定順序進行DNS域名解析,獲得所述域名對應(yīng)的IP;
視頻播放單元703,用于在視頻播放時,利用所述IP訪問待播放的音視頻內(nèi)容進行音視頻播放。
圖8為本發(fā)明一實施例的互聯(lián)網(wǎng)音視頻域名解析裝置的結(jié)構(gòu)框圖。如圖8所示,該互聯(lián)網(wǎng)音視頻域名解析裝置包括:域名獲取單元701,域名解析單元702,視頻播放單元703,如上所述。本發(fā)明實施例中,該互聯(lián)網(wǎng)音視頻域名解析裝置還包括:IP存儲單元801,用于在音視頻播放前將DNS域名解析得到的所述IP按照設(shè)定的數(shù)據(jù)結(jié)構(gòu)進行存儲。一實施例中,IP存儲單元801可以用于將DNS域名解析得到的所述IP按照數(shù)據(jù)字典存儲,每個音視頻對應(yīng)數(shù)據(jù)字典的一項,每個音視頻域名解析出的多個IP按照鏈表存儲。
本實施例中,所述音視頻播放前包括如下至少一種情況:
用戶點擊播放按鈕前;
用戶啟動音視頻播放前;
音視頻系統(tǒng)初始化時;
音視頻列表頁面加載期間。
一實施例中,所述域名獲取單元701進行域名獲取時,可以執(zhí)行以下三種操作的至少一種:
1、根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,從音視頻系統(tǒng)后端服務(wù)器數(shù)據(jù)庫中獲取全部音視頻的域名或當前顯示窗中音視頻的域名后進行緩存;
2、根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地所有音視頻的URL,從讀取的URL中截取域名后進行緩存;
3、根據(jù)所述音視頻系統(tǒng)的需求設(shè)計和所述音視頻系統(tǒng)的資源,讀取本地當前顯示音視頻的URL,從讀取的URL中截取域名后進行緩存。
一實施例中,所述域名解析單元702可以用于對獲取的所述域名依次查找本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存、各級域名服務(wù)器,進行DNS域名解析,直至獲得所述域名對應(yīng)的IP。具體實施時,如圖9所示,所述域名解析單元702包括:
逐級查找模塊901,用于依次查找所述本地瀏覽器、本地緩存、運營商網(wǎng)絡(luò)緩存;
遞歸查找模塊902,用于按照域名級別以遞歸的方式地在全球各級域名服務(wù)器上查找,獲得所述域名對應(yīng)的IP。
一實施例中,如圖10所示,視頻播放單元703包括:
IP查找模塊1001,用于在待播放的音視頻對應(yīng)的數(shù)據(jù)字典的鏈表中查找該待播放的音視頻的域名對應(yīng)的IP;
播放模塊1002,用于利用該IP直接獲取音視頻內(nèi)容進行音視頻播放。
一實施例中,播放模塊1002可以將該IP設(shè)置到用于TCP連接的Socket中,用設(shè)置好的Socket進行TCP連接,并進行音視頻獲取,音視頻解碼及音視頻渲染。
本申請實施例中,通過在用戶播放音視頻前進行域名解析,有利于降低音視頻啟動時間,并且減少了音視頻播放過程中的域名解析次數(shù),有利于降低卡頓率或者卡頓次數(shù)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
本發(fā)明中應(yīng)用了具體實施例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。