專利名稱:一種p2p緩存數據淘汰方法
技術領域:
本發明涉及網絡視頻P2P技術,更具體地,涉及一種P2P緩存數據淘汰方法。
背景技術:
P2P是英文Peer-to-Peer (對等)的簡稱,又被稱為〃點對點〃、〃對等〃技術,是一種網絡新技術,依賴網絡中參與者的計算能力和帶寬,而不是把依賴都聚集在較少的幾臺服務器上,對于在P2P系統中傳輸的P2P數據,可以稱為點對點網絡傳輸數據。P2P具有非中心化、可擴展性、健壯性、隱私保護、負載均衡等特點。由于P2P的諸多優勢,也伴隨著P2P的快速發展,P2P的應用變得越來越廣泛。網絡視頻P2P就是P2P應用在網絡視頻上的技術。傳統的網絡視頻P2P系統,客戶端在淘汰緩存數據時,主要是根據緩存數據存在時間的先后進行淘汰,先下載的數據先淘汰。該淘汰方式,可能會淘汰客戶端需要訪問的數據,例如客戶端經常訪問的數據,或最近需要訪問的數據,導致客戶端在后續訪問上述淘汰的數據時,不得不重新進行數據下載,從而降低了客戶端訪問數據的效率
發明內容
針對現有技術中客戶端淘汰數據的方式導致訪問數據效率低的問題,本發明提供一種P2P緩存數據淘汰方法,用于提高客戶端訪問數據的效率。本發明實施例通過如下技術方案實現
根據本發明實施例,提供了一種P2P緩存數據淘汰方法,包括
客戶端在確定數據淘汰需求后,根據各點對點網絡傳輸P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,所述P2P數據為在本地內存緩存的數據;并淘汰確定出的數據。通過本發明實施例提供的上述技術方案,客戶端在確定數據淘汰需求后,可以根據本地內存存儲緩存的各P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,并淘汰確定出的數據,與現有技術中客戶端根據數據被保存時間的先后對數據進行淘汰的技術方案比較,本技術方案中客戶端能夠根據本地內存緩存的數據對應的被訪問信息,確定出需要淘汰的數據,避免了對客戶端可能訪問的數據的淘汰,從而提高了客戶端訪問數據的效率。本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明實施例起用于解釋本發明,并不構成對本發明的限制。在附圖中圖1為本發明提供的一種P2P緩存數據淘汰方法的流程示意 圖2為本發明提供的客戶端確定數據淘汰需求的的流程示意 圖3為本發明提供的客戶端淘汰數據的優選實施方式的流程示意 圖4為本發明提供的數據排序的結構示意 圖5為本發明提供的客戶端淘汰數據的又一優選實施方式的流程示意圖。
具體實施例方式為了給出提高客戶端訪問數據的效率的實現方案,本發明實施例提供了一種P2P緩存數據淘汰方法,以下結合說明書附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
實施例該實施例提供了一種P2P緩存數據淘汰的方法,該方法能夠應用在P2P系統的終端中,通過在P2P系統的終端中應用本技術方案,能夠避免淘汰安裝在終端的客戶端可能訪問的數據,從而能夠達到提高客戶端訪問數據的效率。圖1示出了本實施例提供的一種P2P緩存數據淘汰方法的流程示意圖,具體地,如圖1所示,客戶端淘汰數據的過程,主要包括以下步驟
步驟101、客戶端在確定 數據淘汰需求后,根據P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據。該步驟101中,P2P數據為在客戶端本地內存緩存的數據。步驟102、淘汰確定出的數據。該步驟102中,確定出的數據可以為一個視頻版文件,即表征一個視頻文件數據的數據模塊,也可以為構成一個視頻文件的多個數據單元中的一個數據單元。確定出的數據具體的信息,主要依賴于視頻文件的大小,若視頻文件的數據量很小,可以保存在一個數據模塊中在網絡中傳輸并供客戶端下載使用,則客戶端下載的一個數據模塊為一個視頻文件,并將該數據模塊保存在本地;若視頻文件比較大,考慮視頻文件在網絡中傳輸、客戶端下載使用速率的因素,可以根據實際網絡數據傳輸狀態或其他原因,將視頻文件處理為多個數據單元在網絡中進行傳輸,并供客戶端下載使用,如此,客戶端會將下載的各數據單元保存在本地。至此,客戶端淘汰數據的流程結束。在圖1對應的流程中,客戶端在確定數據淘汰需求后,可以根據本地內存存儲緩存的各P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,并淘汰確定出的數據,與現有技術中客戶端根據數據被保存時間的先后對數據進行淘汰的技術方案比較,本技術方案中客戶端能夠根據本地內存緩存的數據對應的被訪問信息,確定出需要淘汰的數據,避免了對客戶端可能訪問的數據的淘汰,從而提高了客戶端訪問數據的效率。在圖1所示流程包括的步驟101之前,即客戶端在確定數據淘汰需求之前,客戶端會將已經訪問過的數據緩存在本地內存,例如,客戶端在被啟動后,可以將已經訪問的數據緩存在本地內存的指定存儲空間中,實際應用中,為了提高終端處理數據的效率,避免開啟的客戶端占據太多內存影響終端的數據處理效率,進而影響客戶端的正常運行,可以預先設定出閾值,以控制本地緩存該客戶端對應的P2P數據的存儲空間,使存儲P2P數據的存儲空間對應的表征空間大小的數值小于等于該設定閾值。針對上述存儲P2P數據的方式,相應的,本實施例還提供了一種客戶端確定數據淘汰需求的優選實施方式,具體地,如圖2所示,客戶端確定數據淘汰需求的過程,主要包括以下步驟
步驟201、客戶端開啟后,將P2P數據緩存在內存的指定存儲空間。該步驟201中,指定存儲空間提供的存儲空間小于設定閾值,該設定閾值可以根據實際情況進行靈活的設置,以提高或改善終端的數據處理速率,例如,可以將設定閾值設置為128MB,若P2P系統中的各終端的內存較大,且終端的數據處理能力較好,則可以考慮將設定閾值設置為256MB,甚至更大,具體地,可以根據實際情況進行設置,此處不再贅述。步驟202、客戶端確定存在P2P數據緩存的需求。步驟203、客戶端確定設定閾值與P2P數據占用的存儲空間的數值的差值。該步驟203,客戶端確定上述差值,即確定相對設定閾值,還剩余多少用于存儲數據的存儲空間。步驟204、客戶端確定差值是否小于或等于將要存儲的P2P數據需要的存儲空間的數值,若否,執行步驟205 ;若是,執行步驟206。步驟205、客戶 端將需要存儲的P2P數據存儲到內存中。步驟206、客戶端確定對本地內存中存儲的P2P數據進行淘汰。至此,客戶端確定數據淘汰需求的流程結束。圖2提供的客戶端確定數據淘汰需求的流程,為本實施例提供的客戶端確定數據淘汰需求的優選實施方式,實際應用中,還可以設置其他確定數據淘汰需求的方式,例如,客戶端確定已經存儲的P2P數據占用的存儲空間對應的數值為設定閾值,則可以對存儲的P2P數據進行淘汰,具體的其他確定數據淘汰需求的方式,此處不再贅述。實際應用中,圖1對應流程包括的步驟101中涉及的各P2P數據對應的被訪問信息,可以為各P2P數據的被訪問時間,也可以為各P2P數據的被訪問次數,該各P2P數據的被訪問時間以及被訪問次數,都可以作為進行數據淘汰的依據,具體地,本方案提供了以下兩種優選實施方式
優選實施方式一
該優選實施方式一中,各P2P數據對應的被訪問信息至少包括各P2P數據對應的被訪問時間,則客戶端淘汰數據的過程,如圖3所示,包括以下步驟
步驟301、客戶端根據各P2P數據對應的被訪問時間與當前時間的差值的大小,對各P2P數據進行排序。該步驟301中,可以根據數據保存與調用的需要對P2P數據進行排序,例如,將正在訪問的數據放在隊列的首位,將最近訪問的數據放在正在訪問的數據的下一個位置,將訪問時間較遠的數據放在隊列的末位,并對各數據設置標識,用于識別各數據,對應各標識保存各數據的存儲地址,用于準確讀取數據。如圖4所示的數據排序的結構示意圖,在內存存儲的數據單元1、數據單元2、數據單元3、……、數據塊N,以指針鏈接方式連接成一個數據鏈表,其中,數據單元I為正在訪問的數據,數據單元2為被訪問時間距當前時間的時間差值最小的數據,數據塊N為被訪問時間距當前時間的時間差值最大的數據。當數據單元2被訪問時,數據單元2就會被提至鏈表首位,則數據單元的排序為變成
數據單元2->數據單元1_>數據單元3->......->數據單元N
因此,客戶端可以訪問一個數據單元后,就對保存的各數據單元進行重新排序,將正在訪問的數據放在隊列的首位。實際應用中,可以根據用于緩存數據的存儲空間的大小,將已經訪問的數據中的部分數據緩存在內存中并排序,例如將距離當前時間最近的訪問時間對應的數據放在數據隊列的首位,將保存的數據中距離當前時間最遠的訪問時間對應的數據放在數據隊列的末位。步驟302、客戶端在確定數據淘汰需求后,根據各P2P數據對應的被訪問時間與當前時間的差值,確定差值中最大差值對應的存儲位置上的數據。該步驟302、客戶端基于步驟301提供的排序后的P2P數據,若差值中最大差值對應的存儲位置為隊列(數據鏈表)的末位,則可以直接確定出末位上的數據,若差值中最大差值對應的存儲位置為隊列(數據鏈表)的首位,則直接確定出首位上的數據。步驟303、淘汰確定出的數據。至此,客戶端淘汰數據的流程結束。優選實施方式二 該優選實施方式二中,各P2P數據對應的被訪問信息至少包括各P2P數據對應的被訪問次數,則客戶端淘汰數據的過程,如圖5所示,包括以下步驟
步驟501、客戶端根據各P2P數據對應的被訪問次數,對各P2P數據進行排序。該步驟501中,客戶端以各P2P數據對應的被訪問次數,作為數據排序的依據,例如,將接受訪問次數最多的P2P數據放在隊列的首位,將接受訪問次數最少的P2P數據放在隊列的末位,實際應用中,可以根據用于緩存數據的存儲空間的大小,將訪問次數較多的P2P數據緩存在內存中并排序,并在存儲的P2P數據被訪問次數變更后,對各P2P數據重新排序,具體的排序方式可以參考圖3包括的步驟301中的相關描述,此處不再贅述。具體的實施方式,可以參考圖3對應的步驟301。步驟502、客戶端確定數據淘汰需求后,根據各P2P數據分別對應的被訪問次數,確定數值最小的次數對應的存儲位置上的數據。該步驟502中的具體數據確定方式,可以參考上述步驟302中的相關描述。步驟503、客戶端淘汰確定出的數據。 至此,客戶端淘汰數據的流程結束。以上,為本實施例提供的客戶端淘汰數據的優選實施方式。在客戶端對確定出的數據淘汰后,可以將正在下載的數據或將要保存的數據存儲在P2P數據隊列的第一個數據對應的存儲位置的前一存儲位置上,以便于客戶端對該數據進行后續訪問。上述詳細描述通過實施例和/或示意圖闡明了系統和/或過程的各種實施例。就這些示意圖和/或包含一個或多個功能和/或操作而言,本領域技術人員將理解,這些示意圖或實施例中的每一個功能和/或操作都可由各種各樣的硬件、軟件、固件、或實際上其任意組合來單獨地和/或共同地實現。
應該理解,本文描述的方法可以結合硬件或軟件,或在適當時結合兩者的組合來實現。因此,本發明的方法,可以采用包含在諸如軟盤、CD-ROM、硬盤驅動器或任何其他機器可讀存儲介質等有形介質中的程序代碼(即,指令)的形式,其中,當程序代碼在可編程計算機上執行的情況下,計算設備通常包括處理器、該處理器可讀的存儲介質(包括易失性存儲器和/或存儲元件)、至少一個輸入設備、以及至少一個輸出設備。一個或多個程序可以例如,通過使用API,可重用控件等來實現或利用結合本發明描述的過程。這樣的程序優選地用高級過程語言或面向對象編程語言來實現,以與計算機系統通信。然而,如果需要,該程序可以用匯編語言或機器語言來實現。在任何情形中,語言可以是編譯語言或解釋語言,且與硬件實現相結合。盡管具體地參考其優選實施例來示出并描述了本發明,但本領域的技術人員可以理解,可以做出形式和細節上的各種改變而不脫離所附權利要求書中所述的本發明的范圍。以上結合本發明的具體實施例做了詳細描述,但并非是對本發明的限制。凡是依據本發明的技術實質對 以上實施例所做的任何簡單修改,均仍屬于本發明技術方案的范圍。
權利要求
1.一種P2P緩存數據淘汰方法,其特征在于,包括 客戶端在確定數據淘汰需求后,根據各點對點網絡傳輸P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,所述P2P數據為在本地內存緩存的數據;并淘汰確定出的數據。
2.如權利要求1所述的方法,其特征在于,所述各P2P數據對應的被訪問信息,包括所述各P2P數據的被訪問時間。
3.如權利要求2所述的方法,其特征在于,在根據各P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據之前,包括 根據各P2P數據對應的被訪問時間與當前時間的差值的大小,對所述各P2P數據進行排序; 根據各P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,包括 根據各P2P數據對應的被訪問時間與當前時間的差值,確定所述差值中最大差值對應的存儲位置上的數據。
4.如權利要求1所述的方法,其特征在于,所述各P2P數據對應的被訪問信息,包括所述各P2P數據的被訪問次數。
5.如權利要求4所述的方法,其特征在于,在根據各P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據之前,包括 根據各P2P數據對應的被訪問次數,對所述各P2P數據進行排序; 根據各P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,包括 根據各P2P數據分別對應的被訪問次數,確定數值最小的次數對應的存儲位置上的數據。
6.如權利要求3或5所述的方法,其特征在于,淘汰確定出的數據后,還包括 將正在下載的P2P數據,存儲在P2P數據隊列的第一個數據對應的存儲位置的前一存儲位置上。
7.如權利要求1所述的方法,其特征在于,所述確定出的數據,包括 一個視頻文件,或構成一個視頻文件的多個數據單元中的一個數據單元。
8.根據權利要求1所述的方法,其特征在于,在客戶端在確定數據淘汰需求前,還包括 將P2P數據緩存在內存的指定存儲空間,所述指定存儲空間提供的存儲空間小于設定閾值。
9.如權利要求8所述的方法,其特征在于,客戶端確定數據淘汰需求,包括 客戶端確定所述設定閾值與所述P2P數據占用的存儲空間的數值的差值,小于或等于將要存儲的P2P數據需要的存儲空間的數值。
全文摘要
本發明提供了一種P2P緩存數據淘汰方法,包括客戶端在確定數據淘汰需求后,根據各點對點網絡傳輸P2P數據對應的被訪問信息,確定符合設定條件的被訪問信息對應的數據,所述P2P數據為在本地內存緩存的數據,并淘汰確定出的數據。本技術方案與現有技術相比較,能夠避免淘汰客戶端可能要訪問的P2P數據,從而能夠提高客戶端訪問P2P數據的效率。
文檔編號H04N21/61GK103051975SQ20121058816
公開日2013年4月17日 申請日期2012年12月31日 優先權日2012年12月31日
發明者邵長松, 李茗, 趙瑞前, 張海, 馬宙, 李卓, 王世有 申請人:樂視網信息技術(北京)股份有限公司