流媒體下載方法和裝置的制造方法
【技術領域】
[0001]本申請涉及計算機技術領域,具體涉及下載技術領域,尤其涉及流媒體下載方法和裝置。
【背景技術】
[0002]隨著多媒體技術的不斷發(fā)展,多媒體文件的質量越來越高,其文件大小也在成倍的激增。流媒體作為一種可以邊下載邊播放的網(wǎng)絡媒體格式,不僅可以使終端啟動播放的延時成十倍、百倍地縮短,而且不需要終端具有太大的緩存容量,因此已經(jīng)成為高質量多媒體文件的主流文件格式。
[0003]在現(xiàn)有技術中,流媒體的下載模式主要有兩種:一種是單純以原生的超文本傳送協(xié)議HTTP單連接進行下載的方式;另一種是通過多線程并發(fā)HTTP連接對流媒體進行分段下載,最后將各片段合并成原始文件的下載方式。但是,單連接下載受制于傳輸控制協(xié)議TCP的慢啟動和擁塞控制特性,對于網(wǎng)絡的利用效率較低,影響了流媒體的下載效率;而使用多連接下載時,由于多連接本身會產(chǎn)生較多的額外開銷(例如,每個連接的建立耗時),有時候甚至會出現(xiàn)多連接下載速度反而不如單個連接的情況,導致流媒體的下載效率較低。
【發(fā)明內容】
[0004]本申請?zhí)峁┝艘环N流媒體下載方法和裝置。
[0005]第一方面,本申請?zhí)峁┝艘环N流媒體下載方法,該方法包括:確定至少兩個試探連接數(shù);采用所述試探連接數(shù)分別進行試探下載,獲取各個試探連接數(shù)對應的第一下載信息;根據(jù)所述各個試探連接數(shù)對應的第一下載信息中的下載速度,確定下載連接數(shù);采用所述下載連接數(shù)下載所述流媒體。
[0006]在某些實施方式中,所述根據(jù)所述各個試探連接數(shù)對應的第一下載信息中的下載速度,確定下載連接數(shù)包括:根據(jù)各個試探連接數(shù)與下載速度的對應關系,建立連接數(shù)與下載速度的關系模型;通過所述關系模型確定多個預設連接數(shù)對應的理論下載速度;將所述理論下載速度的最大值對應的預設連接數(shù)作為所述下載連接數(shù)。
[0007]在某些實施方式中,所述第一下載信息還包括下載時間損耗,所述根據(jù)所述第一下載信息確定下載連接數(shù)還包括:通過所述第一下載信息中的下載時間損耗對所述理論下載速度進行修正。
[0008]在某些實施方式中,所述下載時間損耗包括以下至少一項:域名系統(tǒng)解析時間;傳輸控制協(xié)議三次握手時間;頭消息處理、發(fā)送時間;獲取消息處理時間;傳輸控制協(xié)議層中套接字的連接、讀寫、選擇時間;超文本傳送協(xié)議層中各字段的發(fā)送、接收、處理時間。
[0009]在某些實施方式中,所述方法還包括:采用單連接下載所述流媒體;當檢測到已下載的流媒體數(shù)據(jù)量是否達到預定數(shù)量時,執(zhí)行所述對所述流媒體進行試探下載。
[0010]在某些實施方式中,所述第一下載信息包括所述單連接下載的下載信息。
[0011]在某些實施方式中,所述采用所述下載連接數(shù)下載所述流媒體包括:判斷所述流媒體的待下載片段是否為預定片段;若是,采用單連接下載所述待下載片段;否則,采用所述下載連接數(shù)下載所述待下載片段。
[0012]在某些實施方式中,所述判斷所述流媒體的待下載片段是否為預定片段包括:根據(jù)所述待下載片段的后綴名,判斷所述待下載片段是否為預定片段;或通過估算所述待下載片段的下載用時,判斷所述待下載片段是否為預定片段。
[0013]在某些實施方式中,所述方法還包括:獲取下載所述待下載片段時的第二下載信息;通過所述第二下載信息更新所述第一下載信息。
[0014]在某些實施方式中,所述通過所述第二下載信息更新所述第一下載信息還包括:基于所述下載速度的變化情況,確定所述第二下載信息在所述第一下載信息中所占比例。
[0015]在某些實施方式中,所述方法還包括:通過隨機概率確定是否使用隨機連接數(shù)下載所述流媒體;若是,則將所述隨機連接數(shù)作為所述下載連接數(shù);否則,執(zhí)行所述根據(jù)所述第一下載信息確定下載連接數(shù)。
[0016]在某些實施方式中,所述方法還包括:根據(jù)所述下載速度的變化情況,重置所述隨機概率。
[0017]在某些實施方式中,所述隨機概率在預定的閾值范圍內。
[0018]在某些實施方式中,所述方法還包括:將對所述流媒體進行下載的下載連接保存在連接池中。
[0019]在某些實施方式中,同一域名下的固定數(shù)量的所述下載連接共享所述下載信息。
[0020]第二方面,本申請?zhí)峁┝艘环N流媒體下載裝置,該裝置包括:試探連接數(shù)確定模塊、試探下載模塊、連接數(shù)確定模塊和流媒體下載模塊,其中:試探連接數(shù)確定模塊,用于確定至少兩個試探連接數(shù),并將所述試探連接數(shù)發(fā)送給試探下載模塊;試探下載模塊,用于采用所述試探連接數(shù)分別進行試探下載,獲取各個試探連接數(shù)對應的第一下載信息,并將所述第一下載信息發(fā)送給連接數(shù)確定模塊;連接數(shù)確定模塊,用于根據(jù)所述各個試探連接數(shù)對應的第一下載信息中的下載速度,確定下載連接數(shù),并將所述下載連接數(shù)發(fā)送給流媒體下載模塊;流媒體下載模塊,用于采用所述下載連接數(shù)下載所述流媒體。
[0021]在某些實施方式中,所述連接數(shù)確定模塊包括:建模單元,用于根據(jù)各個試探連接數(shù)與下載速度的對應關系,建立連接數(shù)與下載速度的關系模型;速度確定單元,用于通過所述關系模型確定多個預設連接數(shù)對應的理論下載速度;連接數(shù)確定單元,用于將所述理論下載速度的最大值對應的預設連接數(shù)作為所述下載連接數(shù)。
[0022]在某些實施方式中,所述第一下載信息還包括下載時間損耗,所述連接數(shù)確定模塊還包括:下載速度修正單元,用于通過所述第一下載信息中的下載時間損耗對所述理論下載速度進行修正。
[0023]在某些實施方式中,所述下載時間損耗包括以下至少一項:域名系統(tǒng)解析時間;傳輸控制協(xié)議三次握手時間;頭消息處理、發(fā)送時間;獲取消息處理時間;傳輸控制協(xié)議層中套接字的連接、讀寫、選擇時間;超文本傳送協(xié)議層中各字段的發(fā)送、接收、處理時間。
[0024]在某些實施方式中,所述裝置還包括:單連接下載模塊,用于采用單連接下載所述流媒體;所述試探下載模塊進一步用于在檢測到已下載的流媒體數(shù)據(jù)量達到預定數(shù)量時,對所述流媒體進行試探下載。
[0025]在某些實施方式中,所述第一下載信息包括所述單連接下載的下載信息。
[0026]在某些實施方式中,所述流媒體下載模塊包括:待下載片段判斷單元,用于判斷所述流媒體的待下載片段是否為預定片段;第一下載單元,用于當所述待下載片段是預定片段時,采用單連接下載所述待下載片段;第二下載單元,用于當所述待下載片段不是預定片段時,采用所述下載連接數(shù)下載所述待下載片段。
[0027]在某些實施方式中,所述待下載片段判斷單元包括:第一判斷子單元,用于根據(jù)所述待下載片段的后綴名,判斷所述待下載片段是否為預定片段;第二判斷子單元,用于通過估算所述待下載片段的下載用時,判斷所述待下載片段是否為預定片段。
[0028]在某些實施方式中,所述裝置還包括:第二下載信息獲取模塊,用于獲取下載所述待下載片段時的第二下載信息;第一下載信息更新模塊,用于通過所述第二下載信息更新所述第一下載信息。
[0029]在某些實施方式中,所述第一下載信息更新模塊還用于基于所述下載速度的變化情況,確定所述第二下載信息在所述第一下載信息中所占比例。
[0030]在某些實施方式中,所述裝置還包括:隨機下載確定模塊,用于通過隨機概率確定是否使用隨機連接數(shù)下載所述流媒體;隨機數(shù)確定模塊,用于在確定使用隨機連接數(shù)下載所述流媒體時,將所述隨機連接數(shù)作為所述下載連接數(shù);所述連接數(shù)確定模塊,進一步用于在確定不使用隨機連接數(shù)下載所述流媒體時,根據(jù)所述第一下載信息確定所述下載連接數(shù)。
[0031]在某些實施方式中,所述裝置還包括:隨機概率重置模塊,用于根據(jù)所述下載速度的變化情況,重置所述隨機概率。
[0032]在某些實施方式中,所述隨機概率在預定的閾值范圍內。
[0033]在某些實施方式中,所述裝置還包括:連接保存模塊,用于將對所述流媒體進行下載的下載連接保存在連接池中。
[0034]在某些實施方式中,同一域名下的固定數(shù)量的所述下載連接共享所述下載信息。
[0035]本申請?zhí)峁┑牧髅襟w下載方法和裝置,可以首先對流媒體進行試探下載,然后根據(jù)在試探下載的過程中獲取的第一下載信息來確定下載連接數(shù),最后采用該下載連接數(shù)進行流媒體的下載。本申請可以通過試探下載,獲得影響流媒體下載效率的下載信息,然后根據(jù)該下載信息確定一個最適宜的下載連接數(shù),從而提高流媒體的下載效率。
【附圖說明】
[0036]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
[0037]圖1是本申請流媒體下載方法的一個實施例的流程圖;
[0038]圖2是本申請對流媒體進行試探下載,獲取第一下載信息的一個實施例的流程圖;
[0039]圖3是本申請根據(jù)各個試探連接數(shù)對應的第一下載信息中的下載速度,確定下載連接數(shù)的一個實施例的流程圖;
[0040]圖4是