欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分段存儲(chǔ)文件的方法及裝置的制作方法

文檔序號:6615541閱讀:194來源:國知局

專利名稱::一種分段存儲(chǔ)文件的方法及裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及文件存儲(chǔ)技術(shù),尤其是指一種分段存儲(chǔ)文件的方法及裝置。
背景技術(shù)
:在現(xiàn)有技術(shù)中,對于流媒體等大數(shù)據(jù)文件的下載,通常采用的方法為先使用簡單的分塊方式將提供下載的文件分成多個(gè)數(shù)據(jù)塊,并將這些數(shù)據(jù)塊分別存儲(chǔ)在一個(gè)或多個(gè)客戶端上(也可以直接存儲(chǔ)在服務(wù)器上),同時(shí),各個(gè)存儲(chǔ)數(shù)據(jù)塊的客戶端將自身所存儲(chǔ)的資源上報(bào)給服務(wù)器;當(dāng)某個(gè)用戶需下載上述文件時(shí),該用戶可通過其所在的客戶端向服務(wù)器發(fā)送下載請求,指定需要下載的數(shù)據(jù)塊(或稱之為區(qū)間段)或整個(gè)數(shù)據(jù)文件;服務(wù)器根據(jù)所接收到的下載請求,查詢所需下載的數(shù)據(jù)塊所在的客戶端,并將查詢結(jié)果,即通過查詢所得到的所需下載的數(shù)據(jù)塊所在的客戶端的信息返回給上述發(fā)送下載請求的客戶端;該發(fā)送下載請求的客戶端根據(jù)接收到的客戶端信息,可通過使用各種支持分塊下載的軟件到相應(yīng)的客戶端下載所需的數(shù)據(jù)塊或整個(gè)數(shù)據(jù)文件。在現(xiàn)有技術(shù)中,由于對文件進(jìn)行分塊后,需要在服務(wù)器上分別記錄每一個(gè)數(shù)據(jù)塊的相關(guān)信息,因此將占用服務(wù)器中大量的存儲(chǔ)空間。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實(shí)施例的主要目的在于提供一種分段存儲(chǔ)文件的方法及裝置,從而節(jié)省了服務(wù)器中的存儲(chǔ)空間。為達(dá)到上述目的,本發(fā)明實(shí)施例中的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明實(shí)施例中提供了一種分段存儲(chǔ)文件的方法,該方法包括將文件分割成至少兩個(gè)數(shù)據(jù)段,將各數(shù)據(jù)段分別存儲(chǔ)于至少一個(gè)客戶端;每個(gè)客戶端將同一個(gè)文件的各數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,將所述記錄文件發(fā)送給服務(wù)器;服務(wù)器根據(jù)接收到的記錄文件,記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系。本發(fā)明實(shí)施例中還提供了一種客戶端,該客戶端包括采集模塊和上報(bào)模塊;所述采集模塊,用于接收并存儲(chǔ)從文件中分割出的數(shù)據(jù)段;所述上報(bào)模塊,用于將同一個(gè)文件的數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,將所述記錄文件發(fā)送給服務(wù)器。本發(fā)明實(shí)施例中還提供了一種服務(wù)器,其特征在于,該服務(wù)器包括資源存儲(chǔ)模塊和資源管理模塊;所述資源存儲(chǔ)^t塊,用于存儲(chǔ)由各客戶端發(fā)送的記錄文件;所述資源管理模塊,用于根據(jù)所述資源存儲(chǔ)模塊中存儲(chǔ)的記錄文件,記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系。綜上可知,本發(fā)明的實(shí)施例中提供了一種分段存儲(chǔ)文件的方法及裝置。在上述的方法和裝置中,由于每個(gè)客戶端將同一個(gè)文件的數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,并將所述記錄文件發(fā)送給服務(wù)器,因此在服務(wù)器中只需少量的存儲(chǔ)空間即可存儲(chǔ)所有數(shù)據(jù)段的信息,從而大大節(jié)省了服務(wù)器中的存儲(chǔ)空間,顯著地降低了系統(tǒng)成本。圖1為本發(fā)明實(shí)施例中分段存儲(chǔ)文件的方法的流程圖。圖3所示為本發(fā)明實(shí)施例中資源查詢方法的流程圖。圖4為本發(fā)明實(shí)施例中客戶端和服務(wù)器的結(jié)構(gòu)圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明。圖1為本發(fā)明實(shí)施例中分段存儲(chǔ)文件的方法的流程圖。如圖l所示,本發(fā)明實(shí)施例中分段存儲(chǔ)文件的方法包括如下所述的步驟步驟IOI,以指定的分割單位將大文件分割成多個(gè)數(shù)據(jù)段,并分別存儲(chǔ)于一個(gè)或多個(gè)客戶端。在本步驟中,所述指定的分割單位可以是預(yù)先設(shè)定的時(shí)間間隔或文件長度。例如,對于流媒體文件,可采用秒或秒的倍數(shù)為分割單位;對于非流媒體文件,可采用KB(例如,32KB或32KB的倍數(shù))為分割單位。為了敘述的簡便,在以下的描述中,將以以秒為分割單位進(jìn)行分割為例進(jìn)行說明。圖2所示為本發(fā)明實(shí)施例中在客戶端分段存儲(chǔ)文件的示意圖。如圖2所示,假設(shè)所需存儲(chǔ)的文件為一種視頻格式的文件,該視頻文件的播放時(shí)間為500秒(即長度為600秒)。因此,可將上述視頻文件以秒為單位平均分成500個(gè)數(shù)據(jù)段,并將第0-100秒和第200~300秒的數(shù)據(jù)段存儲(chǔ)在客戶端A上;將第101~199秒的數(shù)據(jù)段存儲(chǔ)在客戶端B上;將第301~500秒的數(shù)據(jù)段存儲(chǔ)在客戶端C上。另外,在本步驟中,如果實(shí)際情況需要,也可將一個(gè)大文件的所有數(shù)據(jù)段均存儲(chǔ)在一個(gè)客戶端上,所用的分段存儲(chǔ)方法與上述方法相同。此外,在本步驟中,也可根據(jù)實(shí)際情況的需要,將同一個(gè)數(shù)據(jù)段存儲(chǔ)在不同的客戶端上,以保證一定的數(shù)據(jù)冗余度。步驟102,各客戶端將所存儲(chǔ)的資源進(jìn)行索引。在本步驟中,各客戶端將各自存儲(chǔ)的數(shù)據(jù)段的信息進(jìn)行索引,即將同一個(gè)文件的數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中。在本發(fā)明的實(shí)施例中,所述的記錄文件可以是一個(gè)資源描述表,所述資源描述表的格式如表1所示表1<table>complextableseeoriginaldocumentpage6</column></row><table>在上述的表l中,資源ID表示該數(shù)據(jù)段所屬的大文件的編號,由于在本發(fā)明的實(shí)施例中,每一個(gè)大文件都具有一個(gè)唯一的編號,因此可通過資源ID來區(qū)分不同的大文件;上述表1中的開始段表示客戶端中所存儲(chǔ)的數(shù)據(jù)段的起始位置;結(jié)束段表示客戶端中所存儲(chǔ)的數(shù)據(jù)段的結(jié)束位置,而當(dāng)結(jié)束段的數(shù)值為0時(shí),表示該數(shù)據(jù)段一直延續(xù)到該數(shù)據(jù)段所屬大文件的末尾。以圖2所示的分段存儲(chǔ)方式為例,當(dāng)將如圖2所示的大文件分段存儲(chǔ)于客戶端A、B和C時(shí),客戶端A、B和C中的資源描述表將分別如表2、3、4所示表2客戶端A的資源描述表<table>complextableseeoriginaldocumentpage7</column></row><table>表3客戶端B的資源描述表<table>complextableseeoriginaldocumentpage7</column></row><table>表4客戶端A的資源描述表<table>complextableseeoriginaldocumentpage7</column></row><table>步驟103,各客戶端上報(bào)資源情況到服務(wù)器。在本步驟中,各客戶端可將各自所存儲(chǔ)的數(shù)據(jù)段的資源描述表發(fā)送給服務(wù)器,使得服務(wù)器可得知資源的存儲(chǔ)情況。由步驟102可知,由于同一個(gè)客戶端中可能存儲(chǔ)多個(gè)數(shù)據(jù)段,因此可將所有屬于同一個(gè)大文件(即資源ID相同)的數(shù)據(jù)段的信息記錄在同一個(gè)資源描述表中并發(fā)送給服務(wù)器,從而大大減少資源描述表在服務(wù)器中所占用的存儲(chǔ)空間。例如,在現(xiàn)有技術(shù)中,如果將一個(gè)大文件分割成n個(gè)數(shù)據(jù)段,則需要分別記錄n個(gè)數(shù)據(jù)段的信息,每個(gè)數(shù)據(jù)段的信息中都至少包括該數(shù)據(jù)段所屬的大文件的資源ID(16字節(jié)),因此服務(wù)器中至少需要16n個(gè)字節(jié)來存儲(chǔ)n個(gè)數(shù)據(jù)段的信息。而如果使用如表1所示的資渾描述表,則服務(wù)器只需(4n+16)個(gè)字節(jié)即可記錄n個(gè)數(shù)據(jù)段的信息。因此,使用本步驟中的資源描述表來記錄各數(shù)據(jù)段的信息,將大大節(jié)省服務(wù)器中的存儲(chǔ)空間。步驟104,服務(wù)器記錄各客戶端與各數(shù)據(jù)段之間的關(guān)系。在本步驟中,服務(wù)器可分別記錄各個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系,并可根據(jù)上述的關(guān)系形成一個(gè)關(guān)系列表,以供查詢。通過上述的步驟101~104,可將一個(gè)大文件以秒或Kb為分割單位分割成多個(gè)數(shù)據(jù)段,然后將多個(gè)數(shù)據(jù)端分別存儲(chǔ)于一個(gè)或多個(gè)客戶端,并將各客戶端所存儲(chǔ)的數(shù)據(jù)段的信息上報(bào)給服務(wù)器。當(dāng)某個(gè)用戶需要查詢上述大文件的指定數(shù)據(jù)段(例如,全部或者部分?jǐn)?shù)據(jù)段)時(shí),該用戶可通過客戶端向上述服務(wù)器進(jìn)行查詢。圖3所示為本發(fā)明實(shí)施例中資源查詢方法的流程圖。如圖3所示,本發(fā)明實(shí)施例中資源查詢方法包括如下所述的步驟步驟301,查詢客戶端向服務(wù)器發(fā)送查詢請求。在本步驟中,查詢客戶端可向服務(wù)器發(fā)送查詢請求,要求查詢指定數(shù)據(jù)段的信息(例如,該數(shù)據(jù)段被存儲(chǔ)的位置等信息)。步驟302,服務(wù)器檢索關(guān)系列表。在本步驟中,服務(wù)器根據(jù)所接收到的查詢請求檢索關(guān)系列表,從關(guān)系列表中檢索出所述指定數(shù)據(jù)段所在的客戶端的信息(例如,IP地址等)。現(xiàn)有技術(shù)中對所述大文件進(jìn)行分段時(shí),分段的粒度較大,例如,分段后的各個(gè)數(shù)據(jù)段的大d、一般為2兆字節(jié)(MB)或者1MB;因此,在對各數(shù)據(jù)段進(jìn)行查詢時(shí),只能定位到具體的某個(gè)數(shù)據(jù)段,所以定位的精度比較低,不利于對流媒體格式或其他格式的大文件的檢索。而在本發(fā)明的實(shí)施例中,由于所述的大文件是以秒或KB為單位來進(jìn)行分段的,所以當(dāng)服務(wù)器對數(shù)據(jù)段進(jìn)行檢索時(shí),可以將檢索結(jié)果精確到秒或KB,從而可對所需檢索的數(shù)據(jù)段進(jìn)行精確地定位。步驟303,服務(wù)器將檢索出的客戶端信息返回給查詢客戶端。例如,在本步驟中,服務(wù)器可以向發(fā)送查詢請求的查詢客戶端返回一個(gè)列表,該列表中記錄了存儲(chǔ)有指定數(shù)據(jù)段的各客戶端的信息。步驟304,查詢客戶端根據(jù)服務(wù)器返回的信息進(jìn)行相應(yīng)處理。例如,在本步驟中,查詢客戶端可根據(jù)服務(wù)器所返回的各客戶端的信息,選擇一個(gè)或多個(gè)客戶端,并從所選擇的客戶端下載所述指定的數(shù)據(jù)段。此外,由于同一個(gè)數(shù)據(jù)段可能存儲(chǔ)在不同的客戶端上,因此步驟302的檢索結(jié)果中可能有多個(gè)客戶端。所以,步驟301中的查詢請求中可以攜帶一個(gè)參數(shù),該參數(shù)用于指示需要服務(wù)器返回的客戶端的個(gè)數(shù);服務(wù)器可根據(jù)上述查詢請求中的上述參數(shù),返回指定個(gè)數(shù)的客戶端。例如,當(dāng)查詢請求中的參數(shù)的值為n時(shí),則服務(wù)器可在查詢到第n個(gè)符合查詢條件的客戶端的信息后即停止查詢,并將上述查詢到的n個(gè)客戶端的信息返回給發(fā)送查詢請求的客戶端。圖4為本發(fā)明實(shí)施例中客戶端和服務(wù)器的結(jié)構(gòu)圖。如圖4所示,本發(fā)明實(shí)施例中的客戶端包括采集模塊和上報(bào)模塊。采集模塊,用于接收并存儲(chǔ)從文件中分割出的數(shù)據(jù)段;上報(bào)模塊,用于將同一個(gè)文件的數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,將該記錄文件發(fā)送給服務(wù)器。上述的客戶端還可包括一個(gè)查詢模塊。該查詢模塊用于向服務(wù)器發(fā)送查詢請求,要求查詢指定數(shù)據(jù)段的信息;并接收服務(wù)器返回的所述指定數(shù)據(jù)段的信息。本發(fā)明實(shí)施例中的服務(wù)器包括資源存儲(chǔ)模塊和資源管理模塊。資源存儲(chǔ)模塊,用于存儲(chǔ)由各客戶端發(fā)送的記錄文件;資源管理模塊,用于根據(jù)資源存儲(chǔ)模塊中存儲(chǔ)的記錄文件,記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系;還可用于根據(jù)所接收到的查詢請求,查詢所述記錄的每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系,將所述指定數(shù)據(jù)段所在的客戶端的信息返回給查詢客戶端。通過本發(fā)明實(shí)施例中所提供的方法和裝置,在服務(wù)器中只需少量的存儲(chǔ)空間即可存儲(chǔ)所有數(shù)據(jù)段的信息,從而大大節(jié)省了服務(wù)器中的存儲(chǔ)空間,顯著地降低了系統(tǒng)成本;同時(shí),由于各客戶端中所存儲(chǔ)的數(shù)據(jù)段是以秒或KB為分割單位的,因此在進(jìn)行檢索或查詢時(shí),可以大大提高檢索或查詢的精度,將所需檢索或查詢的數(shù)據(jù)段定位到秒或KB,從而實(shí)現(xiàn)更精準(zhǔn)的定位。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種分段存儲(chǔ)文件的方法,其特征在于,該方法包括將文件分割成至少兩個(gè)數(shù)據(jù)段,將各數(shù)據(jù)段分別存儲(chǔ)于至少一個(gè)客戶端;每個(gè)客戶端將同一個(gè)文件的各數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,將所述記錄文件發(fā)送給服務(wù)器;服務(wù)器根據(jù)接收到的記錄文件,記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將文件分割成至少兩個(gè)數(shù)據(jù)段具體包括以指定的分割單位將文件分割成至少兩個(gè)數(shù)據(jù)段。3、根據(jù)權(quán)利要求1所述的方法,其特征在于所述指定的分割單位為時(shí)間間隔或文件長度。4、根據(jù)權(quán)利要求3所述的方法,其特征在于所述的時(shí)間間隔為秒;所述的文件長度為千字節(jié)。5、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述記錄文件中包括所述被分割的文件的標(biāo)識(shí)、所述數(shù)據(jù)段的起始位置和所述數(shù)據(jù)段的結(jié)束位置。6、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系之后還包括當(dāng)查詢客戶端向服務(wù)器發(fā)送查詢請求,要求查詢指定數(shù)據(jù)段的信息時(shí),所述服務(wù)器根據(jù)所述查詢請求,查詢所述記錄的每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系,將所述指定數(shù)據(jù)段所在的客戶端的信息返回給查詢客戶端。7、根據(jù)權(quán)利要求6所述的方法,其特征在于所述查詢請求攜帶一個(gè)參數(shù),該參數(shù)用于指示需要服務(wù)器返回的客戶端的個(gè)數(shù)。8、根據(jù)權(quán)利要求7所述的方法,其特征在于,所述將所述指定數(shù)據(jù)段所在的客戶端的信息返回給查詢客戶端包括當(dāng)服務(wù)器查詢到所述參數(shù)指定的個(gè)數(shù)的符合查詢請求的客戶端的信息后,服務(wù)器停止查詢,將上述查詢到客戶端信息返回給所述查詢客戶端。9、一種客戶端,其特征在于,該客戶端包括釆集模塊和上報(bào)模塊;所述采集模塊,用于接收并存儲(chǔ)從文件中分割出的數(shù)據(jù)段;所述上報(bào)模塊,用于將同一個(gè)文件的數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,將所述記錄文件發(fā)送給服務(wù)器。10、根據(jù)權(quán)利要求9所述的客戶端,其特征在于,該客戶端還包括查詢模塊;所述查詢模塊,用于向所述服務(wù)器發(fā)送查詢請求,要求查詢指定數(shù)據(jù)段的信息;并接收所述服務(wù)器返回的所述指定數(shù)據(jù)段的信息。11、一種服務(wù)器,其特征在于,該服務(wù)器包括資源存儲(chǔ)模塊和資源管理模塊;所述資源存儲(chǔ)才莫塊,用于存儲(chǔ)由各客戶端發(fā)送的記錄文件;所述資源管理模塊,用于根據(jù)所述資源存儲(chǔ)模塊中存儲(chǔ)的記錄文件,記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系。12、根據(jù)權(quán)利要求11所述的服務(wù)器,其特征在于所述資源管理模塊,還用于根據(jù)所接收到的查詢請求,查詢所述記錄的每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系,將所述指定數(shù)據(jù)段所在的客戶端的信息返回給查詢客戶端。全文摘要本發(fā)明的實(shí)施例中公開了一種分段存儲(chǔ)文件的方法,該方法包括將文件分割成至少兩個(gè)數(shù)據(jù)段,將各數(shù)據(jù)段分別存儲(chǔ)于至少一個(gè)客戶端;每個(gè)客戶端將同一個(gè)文件的各數(shù)據(jù)段的信息記錄在同一個(gè)記錄文件中,將所述記錄文件發(fā)送給服務(wù)器;服務(wù)器根據(jù)接收到的記錄文件,記錄每個(gè)客戶端與其所存儲(chǔ)的數(shù)據(jù)段之間的關(guān)系。本發(fā)明的實(shí)施例中公開了一種客戶端和一種服務(wù)器。通過使用上述的方法和裝置,可大大節(jié)省服務(wù)器中的存儲(chǔ)空間,顯著地降低了系統(tǒng)成本;同時(shí),還可大大提高檢索或查詢的精度,實(shí)現(xiàn)更精準(zhǔn)的定位。文檔編號G06F17/30GK101196916SQ20071030164公開日2008年6月11日申請日期2007年12月27日優(yōu)先權(quán)日2007年12月27日發(fā)明者華有為申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄂托克前旗| 四川省| 孝感市| 怀仁县| 西昌市| 宜君县| 留坝县| 临沂市| 罗平县| 金溪县| 肇庆市| 延津县| 沐川县| 江津市| 四川省| 神农架林区| 聊城市| 防城港市| 临湘市| 新闻| 康定县| 珲春市| 柯坪县| 万盛区| 胶州市| 阿合奇县| 连城县| 应城市| 安达市| 滕州市| 天长市| 商河县| 新源县| 古蔺县| 四川省| 读书| 嵊州市| 乐至县| 甘泉县| 民丰县| 定兴县|