專利名稱:一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法與系統(tǒng)的制作方法
發(fā)明涉及一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法與系統(tǒng),屬于計算機網(wǎng)絡(luò)、流媒體、視頻處理等多個交叉領(lǐng)域。
背景技術(shù):
P2P (Peer-to-Peer)又被稱為“點對點,,技術(shù),其充分利用客戶的上行帶寬,在下行占用的同時也占用上行帶寬,為其他用戶提供資源,實現(xiàn)網(wǎng)絡(luò)的加速和擴展,依賴網(wǎng)絡(luò)中參與者的計算能力和帶寬,而不是把依賴都聚集在較少的幾臺服務(wù)器上?,F(xiàn)有技術(shù)中,通過 p2p網(wǎng)絡(luò)大量分發(fā)數(shù)據(jù),如果沒有校驗系統(tǒng),分發(fā)的數(shù)據(jù)很容易被弄“臟”,這里臟數(shù)據(jù)有兩層含義,一是被人故意弄臟,以此來破壞p2p系統(tǒng)無法正確獲取可用文件;二是系統(tǒng)故障、 軟件處理邏輯等原因造成的概率性數(shù)據(jù)錯誤。臟數(shù)據(jù),主要是p2p系統(tǒng)的peer節(jié)點中分發(fā)造成的。為了避免p2p系統(tǒng)中的peer節(jié)點分發(fā)臟數(shù)據(jù),需要某種辦法阻止臟數(shù)據(jù)p2p網(wǎng)絡(luò)中傳送分發(fā)。
發(fā)明內(nèi)容
某一段數(shù)據(jù)被請求時,在發(fā)往對端peer之前,首先應(yīng)該對其進行校驗,判斷是否是臟數(shù)據(jù),不是臟數(shù)據(jù)才允許傳送。為了實現(xiàn)上述目的,本發(fā)明提供一種有效的用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法與系統(tǒng)。所述應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),包括 一臺流媒體服務(wù)器,用于存儲流媒體文件;一個或多個流媒體終端,用于請求及播放流媒體文件;一臺數(shù)據(jù)校驗服務(wù)器,該校驗服務(wù)器從流媒體服務(wù)器上獲取所有視頻文件,針對每一個文件,將該文件劃分為多個單位段,計算出其每一個單位段的CRC32值,并存儲。按照本發(fā)明的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),當(dāng)某個終端正在播放一個視頻文件時, 首先向數(shù)據(jù)校驗服務(wù)器發(fā)送一請求;所述請求內(nèi)容包括獲取保存著該視頻文件所有單位段CRC32值的xml文件的文件名;以及保存該視頻文件的視頻地址,即視頻文件的調(diào)度地址。優(yōu)選的是,數(shù)據(jù)校驗服務(wù)器對該請求作出響應(yīng),返回終端所需的xml文件;終端在傳送一段視頻數(shù)據(jù)之前,算出該段數(shù)據(jù)的CRC32值,并和從數(shù)據(jù)校驗服務(wù)器獲取的xml里的同一段視頻數(shù)據(jù)的CRC32值比較,若相等,則證明該段數(shù)據(jù)時完好的,可以傳送;否則是已經(jīng)損壞的臟數(shù)據(jù),禁止傳送。本發(fā)明進一步提供一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法,包括以下步驟
當(dāng)某個終端正在播放一個視頻時,首先根據(jù)該視頻文件的MD5向數(shù)據(jù)校驗服務(wù)器發(fā)送獲取保存著該視頻文件所有單位段CRC32值的xml文件的請求;
數(shù)據(jù)校驗服務(wù)器接收該請求,并對該請求作出響應(yīng),返回終端所需的xml文件; 終端在傳送一段視頻數(shù)據(jù)之前,算出該段數(shù)據(jù)的CRC32值,并和從數(shù)據(jù)校驗服務(wù)器獲取的xml里的同一段視頻數(shù)據(jù)的CRC32值比較,若相等,則證明該段數(shù)據(jù)時完好的,可以傳送;否則是已經(jīng)損壞的臟數(shù)據(jù),禁止傳送。所述請求以http格式發(fā)送,請求內(nèi)容包括數(shù)據(jù)校驗服務(wù)器上保存的用于記錄該視頻文件所有單位段CRC32值的xml文件名,以及保存該視頻文件的視頻地址,即視頻文件的調(diào)度地址。在本發(fā)明提供的方法與系統(tǒng)中,服務(wù)器收到客戶端發(fā)來的請求令后,首先檢查本地是否存在生成好的校驗文件,如果存在,則回應(yīng)給客戶端,如果不存在,則開啟一條根據(jù)客戶端提供的視頻文件調(diào)度地址去cdn服務(wù)器取數(shù)據(jù)的連接,當(dāng)獲取第一塊數(shù)據(jù)時會計算此數(shù)據(jù)塊的校驗值然后回應(yīng)給客戶端。優(yōu)選的是,從cdn獲取的數(shù)據(jù)時也包含一數(shù)據(jù)校驗過程,在校驗服務(wù)器向cdn服務(wù)器發(fā)送的數(shù)據(jù)中增加一 CRC32數(shù)據(jù)校驗層,用于對cdn流出的數(shù)據(jù)進行單向校驗。本領(lǐng)域技術(shù)人員不難看出,本發(fā)明包括上述直接描述了的各方案及這些方案的任意組合,也包括構(gòu)成這些方案的各特征的任意組合。本發(fā)明解決了 p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)中的數(shù)據(jù)校驗問題,技術(shù)方案易于實現(xiàn),數(shù)據(jù)校驗過程簡單有效、占用的網(wǎng)絡(luò)帶寬低。
附圖1為按照本發(fā)明的一優(yōu)選實施例的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng);
附圖2為按照本發(fā)明的p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法的客戶端與checksum服務(wù)器、cdn之間的交互。
具體實施例方式附圖1示出了一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),其為本發(fā)明的優(yōu)選實施方式。所述系統(tǒng)至少包括
一臺流媒體服務(wù)器,用于存儲流媒體文件; 一個或多個流媒體終端,用于請求及播放流媒體文件;
一臺數(shù)據(jù)校驗服務(wù)器(數(shù)據(jù)校驗服務(wù)器在系統(tǒng)中所處的位置如圖ι所示checksum服務(wù)器就是數(shù)據(jù)校驗服務(wù)器),該校驗服務(wù)器從流媒體服務(wù)器上獲取所有視頻文件,針對每一個文件,將該文件劃分為多個單位段,計算出其每一個單位段的CRC32值,并存儲;
當(dāng)某個終端peer正在播放一個視頻時,首先根據(jù)該視頻文件的MD5從數(shù)據(jù)校驗服務(wù)器獲取保存著該視頻文件所有單位段CRC32值的xml文件;在傳送一段視頻數(shù)據(jù)之前,算出該段數(shù)據(jù)的CRC32值,并和xml里的同一段視頻數(shù)據(jù)的CRC32值比較,若相等,則證明該段數(shù)據(jù)時完好的,可以傳送;否則是已經(jīng)損壞的臟數(shù)據(jù),禁止傳送。上述系統(tǒng)中,只有經(jīng)過校驗的數(shù)據(jù)塊才能分發(fā)給其他peer。通信協(xié)議采用http。經(jīng)過發(fā)明人多次測試,對于分塊的劃分大小為IM時,驗證以及傳輸?shù)男首罡摺1景l(fā)明進一步提供一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法,參照附圖2,附圖2示意出了流媒體終端、數(shù)據(jù)校驗服務(wù)器以及cdn服務(wù)器之間的交互過程,包括以下步驟
客戶端在起一個頻道的時候發(fā)起對這個頻道的數(shù)據(jù)校驗文件的請求,所述請求以http 格式發(fā)送,請求內(nèi)容包括數(shù)據(jù)校驗服務(wù)器上保存的用于記錄該視頻文件所有單位段CRC32值的ml文件名,以及保存該視頻文件的視頻地址,即視頻文件的調(diào)度地址。所述CDN (Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò))服務(wù)器能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母?、更穩(wěn)定。當(dāng)用戶訪問加入CDN服務(wù)的網(wǎng)站時,通過一組預(yù)先定義好的策略(如內(nèi)容類型、地理區(qū)域、網(wǎng)絡(luò)負(fù)載狀況等),將當(dāng)時最接近用戶的節(jié)點地址提供給用戶,使用戶可以得到快速的服務(wù)。上述交互過程中CheCk_reqUest為客戶端向服務(wù)器的請求,其優(yōu)選的格式如下 GET /{$fname}. xml&url={$url}
比如GET /1827398236. xml&url=http://g3. letv. com/4/44/45/123456, fly 其中,《fnameKxml為服務(wù)器最終生成的文件名。{$url}是視頻文件的調(diào)度地址。校驗服務(wù)器接收客戶端發(fā)送的請求,并對請求做出響應(yīng)。其根據(jù)客戶端請求的xml 文件名,返回與該文件名相同的存儲在數(shù)據(jù)校驗服務(wù)器上的用于記錄該視頻文件所有單位段CRC32值的xml文件??蛻舳嗽陂_啟頻道的時候需要向校驗服務(wù)器請求校驗文件,如果校驗文件時不完整的則需要定時獲取。服務(wù)器收到客戶端發(fā)來的請求信令后,首先會檢查本地有沒有生成好的校驗文件,有的話就回應(yīng)給客戶端,沒有的話會開啟一條根據(jù)客戶端提供的url去cdn服務(wù)器取數(shù)據(jù)的連接,當(dāng)獲取第一塊數(shù)據(jù)時會計算此數(shù)據(jù)塊的校驗值然后回應(yīng)給客戶端。這樣客戶端就需要定時獲取。更進一步,在圖2所示的CheCk_reSp0nSe過程中,服務(wù)器要返回的xml文件,文件名和請求行的{$fname}. xml —致。其優(yōu)選格式如下
<root>
<clip>
<begin>0</begin>
<end>1048576</end>
<checksum>7326478236</checksum>
</clip> <clip>
<begin>1048576</begin> <end>2091752</end> <checksum></checksum)
</clip>
</root>
權(quán)利要求
1.一種應(yīng)用于P2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),包括流媒體服務(wù)器,用于存儲流媒體文件;一個或多個流媒體終端,用于請求及播放流媒體文件;其特征在于,還包括數(shù)據(jù)校驗服務(wù)器,該校驗服務(wù)器從流媒體服務(wù)器上獲取所有視頻文件,針對每一個文件,將該文件劃分為多個單位段,計算出其每一個單位段的CRC32值,并存儲。
2.如權(quán)利要求1所述的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),其特征在于該系統(tǒng)設(shè)置成當(dāng)某個終端正在播放一個視頻文件時,首先向數(shù)據(jù)校驗服務(wù)器發(fā)送一請求; 所述請求內(nèi)容包括獲取保存著該視頻文件所有單位段CRC32值的xml文件的文件名; 以及保存該視頻文件的視頻地址,即視頻文件的調(diào)度地址。
3.如權(quán)利要求2所述的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),其特征在于該系統(tǒng)設(shè)置成數(shù)據(jù)校驗服務(wù)器對該請求作出響應(yīng),返回終端所需的xml文件; 終端在傳送一段視頻數(shù)據(jù)之前,算出該段數(shù)據(jù)的CRC32值,并和從數(shù)據(jù)校驗服務(wù)器獲取的xml里的同一段視頻數(shù)據(jù)的CRC32值比較,若相等,則證明該段數(shù)據(jù)是完好的,可以傳送;否則是已經(jīng)損壞的臟數(shù)據(jù),禁止傳送。
4.如權(quán)利要求1-3中任一項所述的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),其特征在于所述單位段大小為IM (10M個字節(jié))。
5.如權(quán)利要求3所述的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),其特征在于該系統(tǒng)設(shè)置成服務(wù)器收到客戶端發(fā)來的請求令后,首先檢查本地是否存在生成好的校驗文件,如果存在,則回應(yīng)給客戶端,如果不存在,則開啟一條根據(jù)客戶端提供的視頻文件調(diào)度地址去 cdn服務(wù)器取數(shù)據(jù)的連接,當(dāng)獲取第一塊數(shù)據(jù)時會計算此數(shù)據(jù)塊的校驗值然后回應(yīng)給客戶端。
6.如權(quán)利要求4所述的應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗系統(tǒng),其特征在于該系統(tǒng)設(shè)置成從cdn獲取的數(shù)據(jù)時也包含一數(shù)據(jù)校驗過程,在校驗服務(wù)器向cdn服務(wù)器發(fā)送的數(shù)據(jù)中增加一 CRC32數(shù)據(jù)校驗層,用于對cdn流出的數(shù)據(jù)進行單向校驗。
7.一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法,其特征在于包括以下步驟 當(dāng)某個終端正在播放一個視頻時,首先根據(jù)該視頻文件的MD5向數(shù)據(jù)校驗服務(wù)器發(fā)送獲取保存著該視頻文件所有單位段CRC32值的xml文件的請求;數(shù)據(jù)校驗服務(wù)器接收該請求,并對該請求作出響應(yīng),返回終端所需的xml文件; 終端在傳送一段視頻數(shù)據(jù)之前,算出該段數(shù)據(jù)的CRC32值,并和從數(shù)據(jù)校驗服務(wù)器獲取的xml里的同一段視頻數(shù)據(jù)的CRC32值比較,若相等,則證明該段數(shù)據(jù)時完好的,可以傳送;否則是已經(jīng)損壞的臟數(shù)據(jù),禁止傳送。
8.如權(quán)利要求7所述的方法,其特征在于所述請求以http格式發(fā)送,請求內(nèi)容包括數(shù)據(jù)校驗服務(wù)器上保存的用于記錄該視頻文件所有單位段CRC32值的xml文件名,以及保存該視頻文件的視頻地址,即視頻文件的調(diào)度地址。
9.如權(quán)利要求7或8所述的方法,其特征在于服務(wù)器收到客戶端發(fā)來的請求令后,首先檢查本地是否存在生成好的校驗文件,如果存在,則回應(yīng)給客戶端,如果不存在,則開啟一條根據(jù)客戶端提供的視頻文件調(diào)度地址去 cdn服務(wù)器取數(shù)據(jù)的連接,當(dāng)獲取第一塊數(shù)據(jù)時會計算此數(shù)據(jù)塊的校驗值然后回應(yīng)給客戶端。
10.如權(quán)利要求9所述的方法,其特征在于從cdn獲取的數(shù)據(jù)時也包含一數(shù)據(jù)校驗過程,在校驗服務(wù)器向cdn服務(wù)器發(fā)送的數(shù)據(jù)中增加一 CRC32數(shù)據(jù)校驗層,用于對cdn流出的數(shù)據(jù)進行單向校驗。
全文摘要
本發(fā)明提供一種應(yīng)用于p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)的數(shù)據(jù)校驗方法和系統(tǒng),終端正在播放一個視頻時,首先根據(jù)該視頻文件的MD5向數(shù)據(jù)校驗服務(wù)器發(fā)送獲取保存著該視頻文件所有單位段CRC32值的xml文件的請求;在傳送一段視頻數(shù)據(jù)之前,算出該段數(shù)據(jù)的CRC32值,并和從數(shù)據(jù)校驗服務(wù)器獲取的xml里的同一段視頻數(shù)據(jù)的CRC32值比較,若相等,則證明該段數(shù)據(jù)時完好的,可以傳送;否則是已經(jīng)損壞的臟數(shù)據(jù),禁止傳送。本發(fā)明解決了p2p網(wǎng)絡(luò)分發(fā)系統(tǒng)中的數(shù)據(jù)校驗問題,技術(shù)方案易于實現(xiàn),數(shù)據(jù)校驗過程簡單有效、占用的網(wǎng)絡(luò)帶寬低。
文檔編號H04L29/08GK102255695SQ20111020587
公開日2011年11月23日 申請日期2011年7月22日 優(yōu)先權(quán)日2011年7月22日
發(fā)明者李茗 申請人:樂視網(wǎng)信息技術(shù)(北京)股份有限公司