專利名稱:在下載文件時處理數(shù)據(jù)的方法、客戶端、服務器和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及互聯(lián)網(wǎng)領域,特別涉及一種在下載文件時處理數(shù)據(jù)的方法、客戶端、月艮務器和系統(tǒng)。
背景技術:
目前的許多下載軟件都使用P2SP (Peer to Server&Peer,點對服務器和點)技術進行數(shù)據(jù)下載,P2SP技術不再像傳統(tǒng)方式那樣只能依賴服務器傳輸數(shù)據(jù),數(shù)據(jù)的傳遞可以在網(wǎng)絡上的各個終端機器中進行,有效地把原本孤立的服務器和其鏡像資源以及P2P (Peerto Peer,點對點)資源整合到了一起。在P2SP技術當中下載一個文件時,該文件的數(shù)據(jù)來源可包括原始鏈接、P2P網(wǎng)絡、第三方鏡像的輔助源,客戶端下載該文件的數(shù)據(jù)后通過完整文件的唯一標識把文件統(tǒng)一串聯(lián)起來,獲得下載文件,并在下載完成以后將相關的統(tǒng)計信息上報給服務器端,使服務器端收錄客戶端的下載鏈接,以便其它客戶端在該鏈接上下載。在對現(xiàn)有技術進行分析后,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少具有如下缺點客戶端下載完成后,下載鏈接會被服務器端自動收錄,但有些下載網(wǎng)站對下載鏈接收錄行為較為反感,所以通常會采取一些措施來污染系統(tǒng)中的數(shù)據(jù),這樣系統(tǒng)收錄的下載鏈接就是被污染的數(shù)據(jù),其它客戶端通過該鏈接進行下載時,被污染的數(shù)據(jù)就會被傳播擴散,導致客戶端的下載失敗,并浪費客戶端的帶寬資源。當然現(xiàn)有技術中還存在許多種可能導致源節(jié)點數(shù)據(jù)被污染的方法,一旦這些被污染的數(shù)據(jù)在網(wǎng)絡上傳播,就會導致客戶端下載失敗,并浪費客戶端的帶寬資源
發(fā)明內容
為了防止污染數(shù)據(jù)被傳播,本發(fā)明實施例提供了一種在下載文件時處理數(shù)據(jù)的方法、客戶端、服務器和系統(tǒng)。所述技術方案如下一方面,提供了一種在下載文件時處理數(shù)據(jù)的方法,所述方法包括客戶端獲取服務器端預先存儲的下載文件的校驗信息;根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染;如果是,則將所述污染數(shù)據(jù)的關鍵信息上報給所述服務器端,使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽。所述根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染,包括判斷所述完整數(shù)據(jù)分片的校驗信息是否與所述獲取的服務器端預先存儲的校驗信息一致;如果不一致,則所述完整數(shù)據(jù)分片已被污染。所述使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽,包括所述服務器端根據(jù)預設規(guī)則在黑白名單中更新所述上報數(shù)據(jù)的源節(jié)點的記錄,并根據(jù)所述黑白名單中的記錄將被污染的源節(jié)點屏蔽。
所述服務器端根據(jù)預設規(guī)則在黑白名單中更新所述上報數(shù)據(jù)的源節(jié)點的記錄,之前還包括對所述客戶端的上報數(shù)據(jù)的相關信息進行二次驗證,驗證所述上報數(shù)據(jù)是否為污染數(shù)據(jù),如果所述驗證結果為是,則繼續(xù)執(zhí)行步驟。所述對所述客戶端的上報數(shù)據(jù)進行二次驗證,驗證所述上報數(shù)據(jù)是否為污染數(shù)據(jù),包括下載需要驗證的所述上報數(shù)據(jù)對應的原始文件,并獲取所述原始文件的關鍵信息;如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和所述上報數(shù)據(jù)的關鍵信息均不一致,則所述上報數(shù)據(jù)為被污染數(shù) 據(jù)。所述方法還包括如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息不一致,用所述獲取的原始文件的關鍵信息更新所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息。所述客戶端獲取服務器端預先存儲的下載文件的校驗信息,之前還包括判斷服務器端是否有下載文件的校驗信息;如果是,則繼續(xù)執(zhí)行步驟,否則判斷所述下載文件為新文件,抽取所述下載文件的校驗信息和所述下載文件的唯一標識上報給所述服務器端,使所述服務器端存儲所述下載文件的校驗信息。所述方法還包括下載完所述下載文件后,對所述下載文件進行安全性掃描,并將所述下載文件的安全屬性信息上報給所述服務器端,使所述服務器端對所述下載文件的源節(jié)點的信譽度進行加權,并根據(jù)所述源節(jié)點的信譽度更新黑白名單的記錄。另一方面,還提供了一種客戶端,所述客戶端包括獲取模塊,用于獲取服務器端預先存儲的下載文件的校驗信息;判斷模塊,用于根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染;第一上報模塊,用于如果所述判斷模塊的結果為是,則將所述污染數(shù)據(jù)的關鍵信息上報給所述服務器端,使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽。所述判斷模塊,具體用于判斷所述完整數(shù)據(jù)分片的校驗信息是否與所述獲取的服務器端預先存儲的校驗信息一致;如果不一致,則所述完整數(shù)據(jù)分片已被污染。所述客戶端還包括第二上報模塊,用于所述獲取模塊獲取服務器端預先存儲的下載文件的校驗信息之前,判斷服務器端是否有下載文件的校驗信息;如果是,則繼續(xù)執(zhí)行步驟,否則判斷所述下載文件為新文件,抽取所述下載文件的校驗信息和所述下載文件的唯一標識上報給所述服務器端,使所述服務器端存儲所述下載文件的校驗信息。
所述客戶端還包括第三上報模塊,用于下載完所述下載文件后,對所述下載文件進行安全性掃描,并將所述下載文件的安全屬性信息上報給所述服務器端,使所述服務器端對所述下載文件的源節(jié)點的信譽度進行加權,并根據(jù)所述源節(jié)點的信譽度更新黑白名單的記錄。另一方面,還提供了一種服務器,所述服務器包括驗證模塊,用于對客戶端的上報數(shù)據(jù)進行二次驗證,驗證所述上報數(shù)據(jù)是否為污染數(shù)據(jù);屏蔽模塊,用于根據(jù)預設規(guī)則在黑白名單中更新所述上報數(shù)據(jù)的源節(jié)點的記錄;并根據(jù)所述黑白名單中的記錄將被污染的源節(jié)點屏蔽。
所述驗證模塊,包括 獲取單元,用于下載需要驗證的所述上報數(shù)據(jù)對應的原始文件,并獲取所述原始文件的關鍵信息;判斷單元,用于如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和所述上報數(shù)據(jù)的關鍵信息均不一致,則所述上報數(shù)據(jù)為被污染數(shù)據(jù)。所述驗證模塊還包括更新單元,用于如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息不一致,用所述獲取的原始文件的關鍵信息更新所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息。另一方面,還提供了一種在下載文件時處理數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括如上所述的客戶端和服務器。本發(fā)明實施例提供的技術方案,在服務器端預先存儲下載文件的校驗信息,當客戶端下載到完整數(shù)據(jù)分片后,根據(jù)校驗信息判斷完整數(shù)據(jù)分片是否已被污染,從而能夠快速檢測出污染數(shù)據(jù),并將污染數(shù)據(jù)及時屏蔽,有效控制污染數(shù)據(jù)的擴散,降低用戶下載到錯誤數(shù)據(jù)概率,節(jié)省用戶寶貴的帶寬資源。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是現(xiàn)有技術中的P2SP的系統(tǒng)示意圖;圖2是本發(fā)明實施例I提供的一種在下載文件時處理數(shù)據(jù)的方法的流程圖;圖3是本發(fā)明實施例2提供的一種在下載文件時處理數(shù)據(jù)的方法的流程圖;圖4是本發(fā)明實施例2提供的一種P2SP的系統(tǒng)示意圖;圖5是本發(fā)明實施例3提供的一種客戶端的示意圖;圖6是本發(fā)明實施例3提供的另一種客戶端的示意圖;圖7是本發(fā)明實施例3提供的一種服務器的示意圖8是本發(fā)明實施例3提供的另一種服務器的示意圖;圖9是本發(fā)明實施例3提供的一種在下載文件時處理數(shù)據(jù)的系統(tǒng)的示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。在介紹本發(fā)明提供的在下載文件時處理數(shù)據(jù)的方法之前,首先對本發(fā)明的基礎知識進行簡要的介紹參見圖1,現(xiàn)有的P2SP系統(tǒng)架構,包括資源索引服務器組、P2PTracker服務器組、統(tǒng)計服務器、下載客戶端。其中,在現(xiàn)有的系統(tǒng)架構的基礎上,客戶端的下載流程包括(I)下載客戶端需要下載文件的時候從互聯(lián)網(wǎng)或者資源網(wǎng)站獲取Url鏈接; (2)下載客戶端以 Url (Uniform/Universal Resource Locator,統(tǒng)一資源定位符)鏈接為入口,從資源索引服務器查詢多資源及文件Hash,然后從查詢到的Url下載數(shù)據(jù);(3)下載客戶端下載完成后注冊文件信息到Tracker服務器,其他客戶端可以通過Tracker服務查詢到已經(jīng)下載完成的Peer和正在下載的Peer ;(4)其它下載客戶端開始多源P2P下載,在Peer之間相互交換數(shù)據(jù);(5)下載完成以后將相關的統(tǒng)計信息上報給統(tǒng)計服務器。實施例I參見圖2,本發(fā)明實施例提供了一種在下載文件時處理數(shù)據(jù)的方法,包括步驟101 :客戶端獲取服務器端預先存儲的下載文件的校驗信息;步驟102 :根據(jù)校驗信息判斷下載的下載文件的完整數(shù)據(jù)分片是否已被污染;如果是,則將污染數(shù)據(jù)的關鍵信息上報給服務器端,使服務器端將污染數(shù)據(jù)的源節(jié)點屏蔽。其中,根據(jù)校驗信息判斷下載的下載文件的完整數(shù)據(jù)分片是否已被污染,包括判斷完整數(shù)據(jù)分片的校驗信息是否與獲取的服務器端預先存儲的校驗信息一致;如果不一致,則完整數(shù)據(jù)分片已被污染。本實施例中,使服務器端將污染數(shù)據(jù)的源節(jié)點屏蔽,包括服務器端根據(jù)預設規(guī)則在黑白名單中更新上報數(shù)據(jù)的源節(jié)點的記錄,并根據(jù)黑白名單中的記錄將被污染的源節(jié)點屏蔽。本實施例中,可選地,服務器端根據(jù)預設規(guī)則在黑白名單中更新上報數(shù)據(jù)的源節(jié)點的記錄,之前還包括對客戶端的上報數(shù)據(jù)的相關信息進行二次驗證,驗證上報數(shù)據(jù)是否為污染數(shù)據(jù),如果驗證結果為是,則繼續(xù)執(zhí)行步驟。其中,對所述客戶端的上報數(shù)據(jù)進行二次驗證,驗證上報數(shù)據(jù)是否為污染數(shù)據(jù),包括下載需要驗證的上報數(shù)據(jù)對應的原始文件,并獲取原始文件的關鍵信息;如果原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和上報數(shù)據(jù)的關鍵信息均不一致,則上報數(shù)據(jù)為被污染數(shù)據(jù)。可選地,本實施例中的方法還包括
如果原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息不一致,用獲取的原始文件的關鍵信息更新數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息??蛇x地,客戶端獲取服務器端預先存儲的下載文件的校驗信息,之前還包括判斷服務器端是否有下載文件的校驗信息;如果是,則繼續(xù)執(zhí)行步驟,否則判斷下載文件為新文件,抽取下載文件的校驗信息和下載文件的唯一標識上報給服務器端,使服務器端存儲下載文件的校驗信息??蛇x地,本實施例中的方法還包括下載完下載文件后,對下載文件進行安全性掃描,并將下載文件的安全屬性信息上報給服務器端,使服務器端對下載文件的源節(jié)點的信譽度進行加權,并根據(jù)源節(jié)點的信 譽度更新黑白名單的記錄。本發(fā)明實施例提供的技術方案,在服務器端預先存儲下載文件的校驗信息,當客戶端下載到完整數(shù)據(jù)分片后,根據(jù)校驗信息判斷完整數(shù)據(jù)分片是否已被污染,從而能夠快速檢測出污染數(shù)據(jù),并將污染數(shù)據(jù)及時屏蔽,有效控制污染數(shù)據(jù)的擴散,降低用戶下載到錯誤數(shù)據(jù)概率,節(jié)省用戶寶貴的帶寬資源。實施例2參見圖3,本發(fā)明實施例提供了一種在下載文件時處理數(shù)據(jù)的方法,方法包括步驟201 :客戶端在查詢下載資源時,判斷下載校驗裝置中是否有需要下載文件的校驗信息,如果是則從下載校驗裝置中獲取下載文件的校驗信息,并執(zhí)行步驟202,否則判定該下載文件為新文件,并執(zhí)行步驟204。本實施例中,在現(xiàn)有下載文件系統(tǒng)的基礎上加入下載校驗裝置,其中,下載校驗裝置中存儲有下載文件的校驗信息,以便客戶端在下載數(shù)據(jù)分片時,對數(shù)據(jù)分片的正確性進行驗證。本實施例中,在服務器端可以單獨設置一臺資源入庫服務器來實現(xiàn)下載校驗裝置的功能,也可以在服務器端設置一臺資源入庫服務器和一臺下載校驗服務器,下載校驗服務器和資源入庫服務器共同完成下載校驗裝置的功能,這兩種方式都是在服務器端主動依據(jù)客戶端的反饋信息結合服務器的調度,來調度和控制數(shù)據(jù)污染的擴散和保證數(shù)據(jù)的一致性。本實施例中,優(yōu)選地,客戶端在查詢下載資源準備下載文件時,如果下載校驗裝置中存有該下載文件的校驗信息,則客戶端從中獲取校驗信息,如果下載校驗裝置中沒有該下載文件的校驗信息,則表明該下載文件是第一次在網(wǎng)上傳播,還沒有關于其下載校驗信息的記錄,判定該下載文件對于下載校驗裝置來說為新的文件。步驟202 :根據(jù)校驗信息判斷下載文件的完整數(shù)據(jù)分片是否已被污染,如果是,則執(zhí)行步驟203 ;否則,繼續(xù)下載其它數(shù)據(jù)分片。其中,P2P共享網(wǎng)絡都支持基于文件數(shù)據(jù)片的文件下載。一個大文件以預先確定的大小分成了若干小塊。由于文件的數(shù)據(jù)片不用順序地下載,所以用戶可以從多個物理節(jié)點同時下載不同的數(shù)據(jù)片。這除了能增加下載過程的吞吐量和提高文件傳送率外,還能實現(xiàn)基于數(shù)據(jù)片的完整性檢測。當用戶獲取目標文件的索引信息時,也同時得到了文件片的摘要。本實施例中,為了保障下載數(shù)據(jù)的完整性,對文件進行分片,每一片數(shù)據(jù)保留一份Hash校驗數(shù)據(jù),每當客戶端下載完成一片數(shù)據(jù)以后,通過拉取到的校驗信息驗證下載的正確性,校驗信息保存在服務器端,客戶端在查詢多資源Url的時候,同時從下載校驗裝置獲取校驗信息。本實施例中,下載客戶端在下載過程中對已下載的數(shù)據(jù)片進行完整性驗證,篩選出有錯誤的數(shù)據(jù)片,主動并將錯誤的源反饋給后臺系統(tǒng)。具體的,根據(jù)校驗信息判斷下載文件的完整數(shù)據(jù)分片是否為污染數(shù)據(jù),包括當下載到下載文件的完整數(shù)據(jù)分片后,判斷完整數(shù)據(jù)分片的校驗信息是否與從下載校驗裝置中獲取的校驗信息一致;如果不一致,則完整數(shù)據(jù)分片已被污染。步驟203 :將污染數(shù)據(jù)上報給下載校驗裝置。本實施例中,客戶端一旦發(fā)現(xiàn)被污染的數(shù)據(jù),則將該數(shù)據(jù)和來源鏈接或者Peer上報給下載校驗裝置,下載校驗裝置在接收到該上報數(shù)據(jù)后,對其進行二次驗證,如果判斷其為污染數(shù)據(jù),則將該污染數(shù)據(jù)的源節(jié)點根據(jù)預設規(guī)則加入到黑名單中,并實時同步Tracker 服務器和資源索引服務器的記錄,使Tracker服務器和資源索引服務器根據(jù)黑名單的記錄將被污染的節(jié)點屏蔽,以避免其它客戶端再次訪問該污染節(jié)點,從而使污染數(shù)據(jù)不會繼續(xù)在網(wǎng)絡中傳播。步驟204 :抽取下載文件的校驗信息和下載文件的唯一標識上報給下載校驗裝置。本實施例中,當下載文件為新文件時,在下載完該文件后,抽取其校驗信息和該文件的唯一標識上報給下載校驗裝置,當其它客戶端再下載該文件時,能夠從下載校驗裝置中獲取其校驗信息,并進行數(shù)據(jù)的驗證。步驟205 :下載校驗裝置接收客戶端的上報數(shù)據(jù)。本實施例中,在客戶端下載文件的同時,在步驟203或步驟204中,會將篩選出的被污染數(shù)據(jù)或新文件的相關信息上報給下載校驗裝置,所以下載校驗裝置接收到的上報數(shù)據(jù)包括污染數(shù)據(jù)和下載文件的校驗信息和唯一標識。步驟206 :下載校驗裝置對客戶端的上報數(shù)據(jù)進行二次驗證,驗證上報數(shù)據(jù)是否為污染數(shù)據(jù)。其中,下載校驗裝置在接收到上報數(shù)據(jù)后,會對上報數(shù)據(jù)進行二次驗證。具體的,下載校驗裝置下載上報數(shù)據(jù)對應的原始文件,并獲取原始文件的關鍵信息,如果原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和上報數(shù)據(jù)的關鍵信息均不一致,則上報數(shù)據(jù)為被污染數(shù)據(jù)。其中關鍵信息包括數(shù)據(jù)來源的Peer,Url,文件Hash、文件大小和Hash標識等。具體的,判斷數(shù)據(jù)庫中是否有與上報數(shù)據(jù)匹配的記錄,如果是,則表明該上報數(shù)據(jù)可能為污染數(shù)據(jù),根據(jù)上報數(shù)據(jù)的相關字段,進一步對其進行判定,如果上報數(shù)據(jù)為污染數(shù)據(jù),則屏蔽上報數(shù)據(jù)的相關信息;如果沒有匹配的記錄,則表明該上報數(shù)據(jù)為新文件,直接將該上報數(shù)據(jù)存儲到數(shù)據(jù)庫中。其中相關字段包括文件大小和Hash標識。進一步地,下載校驗裝置根據(jù)上報數(shù)據(jù)的相關字段,判斷上報數(shù)據(jù)是否為被污染的數(shù)據(jù),包括I)判斷上報數(shù)據(jù)的相關字段是否與數(shù)據(jù)庫中匹配的數(shù)據(jù)的相關字段一致;2)如果上報數(shù)據(jù)的相關字段與數(shù)據(jù)庫中匹配的數(shù)據(jù)的相關字段不一致,則繼續(xù)驗證不一致的相關字段;3)如果原始文件的相關字段與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的相關字段一致,或原始文件的相關字段與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的相關字段和上報數(shù)據(jù)的相關字段均不一致,則上報數(shù)據(jù)為被污染數(shù)據(jù)。其中,判斷上報數(shù)據(jù)的相關字段是否與數(shù)據(jù)庫中匹配的數(shù)據(jù)的相關字段一致,如果一致則表明客戶端的判斷結果錯誤,客戶端上報的數(shù)據(jù)不是被污染的數(shù)據(jù),則不對該數(shù)據(jù)進行處理,由于數(shù)據(jù)庫中已存有該下載文件的相關信息,所以相當于此次入庫操作已完成;但如果相關字段不一致,則表明該數(shù)據(jù)可能為被污染的數(shù)據(jù),從下載文件內容當中抽取文件各種Hash特征值和文件的分片Hash校驗信息;將獲取的原始文件的相關信息與數(shù)據(jù)庫中已存儲的相關信息進行比較,如果比較結果一致,則表明客戶端上報的數(shù)據(jù)為被污染的數(shù)據(jù),如果比較的結果不一致,且與上報數(shù)據(jù)的相關信息一致,則表明該數(shù)據(jù)庫中存儲的下載文件的相關信息不正確,則用獲取到的原始文件的相關信息更新該數(shù)據(jù)庫中的記錄。例如,對于一個URL在數(shù)據(jù)庫只可能有一條記錄,則直接更新該記錄;對于H2U,如果URL對 應的Hash改了,則應先將H2U (Hash到Url的映射記錄表)表中以前Hash對應的該URL記錄刪除掉,再插入新的記錄;對于分片校驗信息,一個Hash只對應一個記錄,直接更新該記錄;如果原始文件的相關信息與數(shù)據(jù)庫中存儲的和客戶端上報的相關信息都不一致,則用下載驗證返回的信息更新數(shù)據(jù)庫。進一步地,本實施例中,下載校驗裝置判斷出接收的上報數(shù)據(jù)為被污染數(shù)據(jù)后,在確定更新數(shù)據(jù)庫中分片校驗信息記錄的時候,不是客戶端有上報驗證返回就馬上更新,采樣基于信任度和概率的策略,客戶端P2P節(jié)點信譽系統(tǒng)根據(jù)其他對等節(jié)點的反饋信息來建立和更新節(jié)點間的信譽評價。任何一個節(jié)點的信譽值都由兩部分組成用戶自己從它下載的經(jīng)驗和別的節(jié)點從它下載的經(jīng)驗。因此節(jié)點信譽能反映一個節(jié)點的一貫的行為,從而有效地識別和排除節(jié)點的惡意行為,這些信息會反饋給服務端;對于客戶端下載的Url源設定一個閥值,如果同樣Url有多個人報告錯誤,實施更新該Url在黑白名單中的記錄,依據(jù)客戶端上報的次數(shù),設置一個分級的黑名單機制。進一步地,本實施例中,如果上報數(shù)據(jù)為污染數(shù)據(jù),則屏蔽上報數(shù)據(jù)的相關信息,包括根據(jù)預設規(guī)則在黑白名單中更新上報數(shù)據(jù)的源節(jié)點的記錄;根據(jù)黑白名單中的記錄將被污染的源節(jié)點屏蔽。具體的實時同步資源索引服務器和Tracker服務器的記錄,使資源索引服務器和Tracker服務器根據(jù)黑白名單中的記錄將被污染的源節(jié)點屏蔽。進一步地,本實施例中,每個下載的Url源都有一個安全屬性標記,下載客戶端每下載完成一個文件,可以通過本地的安全軟件掃描對下載文件進行安全性掃描,并將下載文件的安全屬性信息上報給下載校驗裝置,使下載校驗裝置對下載文件的源節(jié)點的信譽度進行加權,并根據(jù)源節(jié)點的信譽度更新黑白名單的記錄。參見圖4,本實施例提供了一種P2SP系統(tǒng)圖,在現(xiàn)有P2SP的基礎上增加資源入庫服務器和下載校驗服務器,客戶端通過統(tǒng)計服務器與資源入庫服務器進行信息交互。其中,下載校驗服務器的作用是(I)依據(jù)資源入庫服務器的調度,從網(wǎng)絡上下載需要驗證的原始文件內容;(2)下載過程中,依據(jù)調度的需要,從下載文件內容當中抽取文件各種Hash特征值和文件的分片Hash校驗信息。資源入庫服務器的作用是(I)接收客戶端入庫上報請求資源入庫服務器收到入庫請求后,首先向數(shù)據(jù)庫查詢該資源的信息,如果沒有匹配的記錄,直接將該資源入庫,請求驗證資源,要求客戶端上報文件分片校驗信息;如果有匹配的記錄,則檢查相關字段(文件大小,Hash標識)內容是否一致。如果一致,則此次入庫操作完成;如果有字段不一致,則請求驗證不一致的字段;(2)調動下載驗證服務器驗證入庫數(shù)據(jù)的合法性、有效性;將資源索引信息保存在數(shù)據(jù)庫當中下載驗證返回后,如果驗證結果與舊信息一致,則此次入庫操作完;(3)依據(jù)客戶端上報的下載錯誤數(shù)據(jù)的Url和Peer信息,主動同步到Tracker服務器和多資源服務器;(4)依據(jù)運營的需要,對需要控制傳播的Url內容通過資源資源入庫管理控制資源索引服務器和Tracker提供所有服務。本發(fā)明實施例提供的技術方案的有益效果是在服務器端預先存儲下載文件的校驗信息,當客戶端下載到完整數(shù)據(jù)分片后,根據(jù)校驗信息判斷完整數(shù)據(jù)分片是否已被污染,從而能夠快速檢測出污染數(shù)據(jù),并通過下載 校驗裝置對污染數(shù)據(jù)進行二次驗證,增加判斷結果的準確性,有效控制污染數(shù)據(jù)的擴散,降低用戶下載到錯誤數(shù)據(jù)概率,節(jié)省用戶寶貴的帶寬資源。實施例3參見圖5,本發(fā)明實施例提供了一種客戶端,包括獲取模塊301、判斷模塊302、第一上報模塊303。獲取模塊301,用于獲取服務器端預先存儲的下載文件的校驗信息;判斷模塊302,用于根據(jù)校驗信息判斷下載的下載文件的完整數(shù)據(jù)分片是否已被污染;第一上報模塊303,用于如果判斷模塊的結果為是,則將污染數(shù)據(jù)的關鍵信息上報給服務器端,使服務器端將污染數(shù)據(jù)的源節(jié)點屏蔽。其中,判斷模塊302,具體用于判斷完整數(shù)據(jù)分片的校驗信息是否與獲取的服務器端預先存儲的校驗信息一致;如果不一致,則完整數(shù)據(jù)分片已被污染。參見圖6,本發(fā)明實施例中,客戶端還包括第二上報模塊304,用于獲取模塊301獲取服務器端預先存儲的下載文件的校驗信息之前,判斷服務器端是否有下載文件的校驗信息;如果是,則繼續(xù)執(zhí)行步驟,否則判斷下載文件為新文件,抽取下載文件的校驗信息和下載文件的唯一標識上報給服務器端,使服務器端存儲下載文件的校驗信息??蛇x地,參見圖6,本實施例中客戶端還包括第三上報模塊305,用于下載完下載文件后,對下載文件進行安全性掃描,并將下載文件的安全屬性信息上報給服務器端,使服務器端對下載文件的源節(jié)點的信譽度進行加權,并根據(jù)源節(jié)點的信譽度更新黑白名單的記錄。參見圖7,本發(fā)明實施例還提供了一種服務器,包括驗證模塊401、屏蔽模塊402。驗證模塊401,用于對客戶端的上報數(shù)據(jù)進行二次驗證,驗證上報數(shù)據(jù)是否為污染數(shù)據(jù);屏蔽模塊402,用于根據(jù)預設規(guī)則在黑白名單中更新上報數(shù)據(jù)的源節(jié)點的記錄;并根據(jù)黑白名單中的記錄將被污染的源節(jié)點屏蔽。其中,參見圖8,驗證模塊401,包括獲取單元401a,用于下載需要驗證的上報數(shù)據(jù)對應的原始文件,并獲取原始文件的關鍵息;判斷單元401b,用于如果原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和上報數(shù)據(jù)的關鍵信息均不一致,則上報數(shù)據(jù)為被污染數(shù)據(jù)。參見圖8,驗證模塊401還包括更新單元401c,用于如果原始文件的關鍵信息與數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息不一致,用獲取的原始文件的關鍵信息更新數(shù)據(jù)庫中存儲的與上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息。參見圖9,本發(fā)明實施例還提供了一種在下載文件時處理數(shù)據(jù)的系統(tǒng),包括本實施例提供的客戶端501和服務器502。本發(fā)明實施例提供的技術方案,在服務器端預先存儲下載文件的校驗信息,當客 戶端下載到完整數(shù)據(jù)分片后,根據(jù)校驗信息判斷完整數(shù)據(jù)分片是否已被污染,從而能夠快速檢測出污染數(shù)據(jù),并將污染數(shù)據(jù)及時屏蔽,有效控制污染數(shù)據(jù)的擴散,降低用戶下載到錯誤數(shù)據(jù)概率,節(jié)省用戶寶貴的帶寬資源。本實施例提供的客戶端、服務器和系統(tǒng),具體可以,與方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本發(fā)明實施例提供的上述技術方案的全部或部分可以通過程序指令相關的硬件來完成,所述程序可以存儲在可讀取的存儲介質中,該存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種在下載文件時處理數(shù)據(jù)的方法,其特征在于,所述方法包括 客戶端獲取服務器端預先存儲的下載文件的校驗信息; 根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染; 如果是,則將所述污染數(shù)據(jù)的關鍵信息上報給所述服務器端,使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽。
2.根據(jù)權利要求I所述的方法,其特征在于,所述根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染,包括 判斷所述完整數(shù)據(jù)分片的校驗信息是否與所述獲取的服務器端預先存儲的校驗信息一致;如果不一致,則所述完整數(shù)據(jù)分片已被污染。
3.根據(jù)權利要求I所述的方法,其特征在于,所述使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽,包括 所述服務器端根據(jù)預設規(guī)則在黑白名單中更新所述上報數(shù)據(jù)的源節(jié)點的記錄,并根據(jù)所述黑白名單中的記錄將被污染的源節(jié)點屏蔽。
4.根據(jù)權利要求3所述的方法,其特征在于,所述服務器端根據(jù)預設規(guī)則在黑白名單中更新所述上報數(shù)據(jù)的源節(jié)點的記錄,之前還包括 對所述客戶端的上報數(shù)據(jù)的相關信息進行二次驗證,驗證所述上報數(shù)據(jù)是否為污染數(shù)據(jù),如果所述驗證結果為是,則繼續(xù)執(zhí)行步驟。
5.根據(jù)權利要求4所述的方法,其特征在于,所述對所述客戶端的上報數(shù)據(jù)進行二次驗證,驗證所述上報數(shù)據(jù)是否為污染數(shù)據(jù),包括 下載需要驗證的所述上報數(shù)據(jù)對應的原始文件,并獲取所述原始文件的關鍵信息; 如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和所述上報數(shù)據(jù)的關鍵信息均不一致,則所述上報數(shù)據(jù)為被污染數(shù)據(jù)。
6.根據(jù)權利要求5所述的方法,其特征在于,所述方法還包括 如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息不一致,用所述獲取的原始文件的關鍵信息更新所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息。
7.根據(jù)權利要求I所述的方法,其特征在于,所述客戶端獲取服務器端預先存儲的下載文件的校驗信息,之前還包括 判斷服務器端是否有下載文件的校驗信息; 如果是,則繼續(xù)執(zhí)行步驟,否則判斷所述下載文件為新文件,抽取所述下載文件的校驗信息和所述下載文件的唯一標識上報給所述服務器端,使所述服務器端存儲所述下載文件的校驗信息。
8.根據(jù)權利要求I所述的方法,其特征在于,所述方法還包括 下載完所述下載文件后,對所述下載文件進行安全性掃描,并將所述下載文件的安全屬性信息上報給所述服務器端,使所述服務器端對所述下載文件的源節(jié)點的信譽度進行加權,并根據(jù)所述源節(jié)點的信譽度更新黑白名單的記錄。
9.一種客戶端,其特征在于,所述客戶端包括 獲取模塊,用于獲取服務器端預先存儲的下載文件的校驗信息;判斷模塊,用于根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染; 第一上報模塊,用于如果所述判斷模塊的結果為是,則將所述污染數(shù)據(jù)的關鍵信息上報給所述服務器端,使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽。
10.根據(jù)權利要求9所述的客戶端,其特征在于,所述判斷模塊,具體用于 判斷所述完整數(shù)據(jù)分片的校驗信息是否與所述獲取的服務器端預先存儲的校驗信息一致;如果不一致,則所述完整數(shù)據(jù)分片已被污染。
11.根據(jù)權利要求9所述的客戶端,其特征在于,所述客戶端還包括 第二上報模塊,用于所述獲取模塊獲取服務器端預先存儲的下載文件的校驗信息之前,判斷服務器端是否有下載文件的校驗信息;如果是,則繼續(xù)執(zhí)行步驟,否則判斷所述下載文件為新文件,抽取所述下載文件的校驗信息和所述下載文件的唯一標識上報給所述服務器端,使所述服務器端存儲所述下載文件的校驗信息。
12.根據(jù)權利要求9所述的客戶端,其特征在于,所述客戶端還包括 第三上報模塊,用于下載完所述下載文件后,對所述下載文件進行安全性掃描,并將所述下載文件的安全屬性信息上報給所述服務器端,使所述服務器端對所述下載文件的源節(jié)點的信譽度進行加權,并根據(jù)所述源節(jié)點的信譽度更新黑白名單的記錄。
13.一種服務器,其特征在于,所述服務器包括 驗證模塊,用于對客戶端的上報數(shù)據(jù)進行二次驗證,驗證所述上報數(shù)據(jù)是否為污染數(shù)據(jù); 屏蔽模塊,用于根據(jù)預設規(guī)則在黑白名單中更新所述上報數(shù)據(jù)的源節(jié)點的記錄;并根據(jù)所述黑白名單中的記錄將被污染的源節(jié)點屏蔽。
14.根據(jù)權利要求13所述的服務器,其特征在于,所述驗證模塊,包括 獲取單元,用于下載需要驗證的所述上報數(shù)據(jù)對應的原始文件,并獲取所述原始文件的關鍵信息; 判斷單元,用于如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息一致,或所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息和所述上報數(shù)據(jù)的關鍵信息均不一致,則所述上報數(shù)據(jù)為被污染數(shù)據(jù)。
15.根據(jù)權利要求14所述的服務器,其特征在于,所述驗證模塊還包括 更新單元,用于如果所述原始文件的關鍵信息與所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息不一致,用所述獲取的原始文件的關鍵信息更新所述數(shù)據(jù)庫中存儲的與所述上報數(shù)據(jù)匹配的數(shù)據(jù)的關鍵信息。
16.一種在下載文件時處理數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括如權利要求9-12所述的客戶端和如權利要求13-15所述的服務器。
全文摘要
本發(fā)明公開了一種在下載文件時處理數(shù)據(jù)的方法、客戶端、服務器和系統(tǒng),屬于互聯(lián)網(wǎng)領域。所述方法包括客戶端獲取服務器端預先存儲的下載文件的校驗信息;根據(jù)所述校驗信息判斷下載的所述下載文件的完整數(shù)據(jù)分片是否已被污染;如果是,則將所述污染數(shù)據(jù)的關鍵信息上報給所述服務器端,使所述服務器端將所述污染數(shù)據(jù)的源節(jié)點屏蔽。本發(fā)明在服務器端引入獨立的下載校驗裝置,結合客戶端上報的信息,能夠有效控制污染數(shù)據(jù)的擴散。
文檔編號H04L29/08GK102752326SQ201110097908
公開日2012年10月24日 申請日期2011年4月19日 優(yōu)先權日2011年4月19日
發(fā)明者劉剛, 王福臣 申請人:騰訊科技(深圳)有限公司