本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種文件獲取方法、裝置與系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)絡(luò)和計(jì)算機(jī)的普及,人們?cè)谏詈凸ぷ髦幸话愣紩?huì)擁有多個(gè)計(jì)算設(shè)備,例如,在工作單位至少會(huì)使用一臺(tái)計(jì)算機(jī),而在家中還會(huì)使用另一臺(tái)計(jì)算機(jī),而在外出或者娛樂(lè)時(shí)會(huì)使用各種移動(dòng)計(jì)算設(shè)備如平板或者智能手機(jī)等。為了統(tǒng)一管理這些計(jì)算設(shè)備中的文件,出現(xiàn)了網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)。一個(gè)典型的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)可以包括存儲(chǔ)服務(wù)器和多個(gè)計(jì)算終端。每個(gè)計(jì)算終端經(jīng)由網(wǎng)絡(luò)與存儲(chǔ)服務(wù)器進(jìn)行通信。計(jì)算終端可以把本地文件傳輸?shù)椒?wù)器上來(lái)集中存儲(chǔ)。當(dāng)用戶使用其他計(jì)算終端時(shí),可以通過(guò)這些計(jì)算終端來(lái)瀏覽服務(wù)器上存儲(chǔ)的文件,并且可以下載到計(jì)算終端本地來(lái)使用。當(dāng)網(wǎng)絡(luò)速度越來(lái)越快時(shí),這種網(wǎng)絡(luò)存儲(chǔ)方式越來(lái)越受到用戶的歡迎。
網(wǎng)盤(pán)是現(xiàn)有的比較常見(jiàn)的一種網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)。網(wǎng)盤(pán),又稱網(wǎng)絡(luò)U盤(pán)、網(wǎng)絡(luò)硬盤(pán),是由互聯(lián)網(wǎng)公司推出的在線存儲(chǔ)服務(wù),向用戶提供文件的存儲(chǔ)、訪問(wèn)、備份、共享等文件管理等功能。用戶可以把網(wǎng)盤(pán)看成一個(gè)放在網(wǎng)絡(luò)上的硬盤(pán)或U盤(pán),不管用戶是在家中、單位或其它任何地方,只要可以連接到互聯(lián)網(wǎng),均可以管理、編輯網(wǎng)盤(pán)里的文件。不需要隨身攜帶文件,更不怕文件丟失。
若用戶要使用網(wǎng)盤(pán)中的文件,需要從網(wǎng)盤(pán)中將目標(biāo)文件下載至本地終端,若目標(biāo)文件占用的存儲(chǔ)空間較大,或者從網(wǎng)盤(pán)下載文件至本地終端的網(wǎng)速較慢,需要較長(zhǎng)的時(shí)間才能將目標(biāo)文件從網(wǎng)盤(pán)下載至本地終端,浪費(fèi)時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有的從網(wǎng)盤(pán)下載文件的方法受限于目標(biāo)文件占用的存儲(chǔ)空間過(guò)大以及網(wǎng)速過(guò)慢,下載目標(biāo)文件浪費(fèi)時(shí)間的問(wèn)題,提出了本發(fā)明以便提 供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的文件獲取方法、裝置與系統(tǒng)。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種文件獲取方法,應(yīng)用于客戶端,所述方法包括:
從服務(wù)器下載目標(biāo)文件的基本信息;
判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符;
若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的本地路徑;
在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件。
可選地,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
可選地,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,所述方法還包括:
校驗(yàn)獲取得到的文件的標(biāo)識(shí)符是否與所述基本信息中的標(biāo)識(shí)符相同;
若相同,則確定獲取得到的文件為所述目標(biāo)文件。
可選地,所述基本信息還至少包括所述目標(biāo)文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
可選地,在所述判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符之前,所述方法還包括:
判斷所述上傳方信息是否與所述客戶端的識(shí)別信息相同;
若相同,則執(zhí)行所述判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符的操作。
可選地,所述客戶端的識(shí)別信息包括客戶端ID和/或客戶端中用于上傳文件的應(yīng)用程序的用戶名。
可選地,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,所述方法還包括:
判斷所述上傳時(shí)間是否在獲取得到的文件的生成時(shí)間之后;
若是,則確定獲取得到的文件為所述目標(biāo)文件。
可選地,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,所述方法還包括:
判斷所述類型是否與獲取得到的文件的類型相同;
若相同,則確定獲取得到的文件為所述目標(biāo)文件。
可選地,所述標(biāo)識(shí)符至少為MD5、SHA1和CRC32之一。
根據(jù)本發(fā)明的另一方面,提供了一種文件獲取方法,應(yīng)用于服務(wù)器,所述方法包括:
生成存儲(chǔ)于所述服務(wù)器的文件的基本信息;
根據(jù)客戶端的下載請(qǐng)求下發(fā)對(duì)應(yīng)的文件的基本信息至所述客戶端,以令所述客戶端判斷預(yù)置在客戶端本地的文件記錄表里是否存在所述對(duì)應(yīng)的文件的基本信息中標(biāo)識(shí)符,若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,并按照所述客戶端本地路徑獲取所述對(duì)應(yīng)的文件。
可選地,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
可選地,所述基本信息還至少包括文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
可選地,所述標(biāo)識(shí)符為MD5、SHA1和CRC32之一。
根據(jù)本發(fā)明的另一方面,提供了一種文件獲取裝置,應(yīng)用于客戶端,所述裝置包括:
基本信息下載模塊,用于從服務(wù)器下載目標(biāo)文件的基本信息;
標(biāo)識(shí)符判斷模塊,用于判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符;
本地路徑提取模塊,用于若預(yù)置的文件記錄表里存在所述基本信息中的標(biāo)識(shí)符,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的本地路徑;
文件獲取模塊,用于在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件。
可選地,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
可選地,所述裝置還包括:
標(biāo)識(shí)符校驗(yàn)?zāi)K,用于在所述文件獲取模塊在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,校驗(yàn)獲取得到的文件的標(biāo)識(shí)符是否與所述基本信息中的標(biāo)識(shí)符相同;
文件確定模塊,用于若獲取得到的文件的標(biāo)識(shí)符與所述基本信息中的標(biāo)識(shí)符相同,則確定獲取得到的文件為所述目標(biāo)文件。
可選地,所述基本信息還至少包括所述目標(biāo)文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
可選地,所述裝置還包括:
識(shí)別信息判斷模塊,用于在所述標(biāo)識(shí)符判斷模塊判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符之前,判斷所述上傳方信息是否與所述客戶端的識(shí)別信息相同;
若相同,則所述標(biāo)識(shí)符判斷模塊判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符。
可選地,所述客戶端的識(shí)別信息包括客戶端ID和/或客戶端中用于上傳文件的應(yīng)用程序的用戶名。
可選地,所述裝置還包括:
上傳時(shí)間判斷模塊,用于在所述文件獲取模塊在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,判斷所述上傳時(shí)間是否在獲取得到的文件的生成時(shí)間之后;
若是,則所述文件確定模塊確定獲取得到的文件為所述目標(biāo)文件。
可選地,所述裝置還包括:
類型判斷模塊,用于在所述文件獲取模塊在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,判斷所述類型是否與獲取得到的文件的類型相同;
若相同,則所述文件確定模塊確定獲取得到的文件為所述目標(biāo)文件。
可選地,所述標(biāo)識(shí)符至少為MD5、SHA1和CRC32之一。
根據(jù)本發(fā)明的另一方面,提供了一種文件獲取裝置,應(yīng)用于服務(wù)器,所述裝置包括:
基本信息生成模塊,用于生成存儲(chǔ)于所述服務(wù)器的文件的基本信息;
基本信息下發(fā)模塊,用于根據(jù)客戶端的下載請(qǐng)求下發(fā)對(duì)應(yīng)的文件的基本信息至所述客戶端,以令所述客戶端判斷預(yù)置在客戶端本地的文件記錄表里是否存在所述對(duì)應(yīng)的文件的基本信息中標(biāo)識(shí)符,若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,并按照所述客戶端本地路徑獲取所述對(duì)應(yīng)的文件。
可選地,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
可選地,所述基本信息還至少包括文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
可選地,所述標(biāo)識(shí)符為MD5、SHA1和CRC32之一。
根據(jù)本發(fā)明的另一方面,提供了一種文件獲取系統(tǒng),包括客戶端和服務(wù)器;其中,所述客戶端包括上述應(yīng)用于客戶端的任一裝置,所述服務(wù)器包括上述應(yīng)用于服務(wù)器的任一裝置。
現(xiàn)有的從網(wǎng)盤(pán)下載文件的方案中,下載網(wǎng)盤(pán)中的文件受限于目標(biāo)文件占用的存儲(chǔ)空間過(guò)大、網(wǎng)速過(guò)慢等條件,下載過(guò)程緩慢,浪費(fèi)時(shí)間。本發(fā)明提供的文件獲取方案中,服務(wù)器為存儲(chǔ)在服務(wù)器中的文件生成基本信息,基本信息占用的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)小于文件本身占用的存儲(chǔ)空間??蛻舳藦姆?wù)器下載目標(biāo)文件的基本信息,判斷預(yù)置的文件記錄表里是否存在目標(biāo)文件的基本信息中的標(biāo)識(shí)符,所述標(biāo)識(shí)符作為目標(biāo)文件的唯一標(biāo)識(shí)。若存在,則從文件 記錄表中提取出于目標(biāo)文件的標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,在客戶端中根據(jù)本地路徑獲取得到目標(biāo)文件。即客戶端中存在與服務(wù)器中相同的目標(biāo)文件時(shí),可以避免從服務(wù)器下載目標(biāo)文件,而是通過(guò)客戶端中預(yù)置的文件記錄表獲取目標(biāo)文件在客戶端中的本地路徑,通過(guò)本地路徑得到目標(biāo)文件,節(jié)省了從服務(wù)器下載目標(biāo)文件的時(shí)間。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例一的一種文件獲取方法的步驟流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例二的一種文件獲取裝置的結(jié)構(gòu)示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例三的一種文件獲取裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
詳細(xì)介紹本發(fā)明實(shí)施例一提供的一種文件獲取方法,所述方法應(yīng)用于客戶端,所述客戶端可以為PC、智能手機(jī)或者平板電腦等用戶終端設(shè)備。
參照?qǐng)D1,示出了本發(fā)明實(shí)施例一的一種文件獲取方法的步驟流程圖。
步驟100,從服務(wù)器下載目標(biāo)文件的基本信息。
本發(fā)明實(shí)施例中的服務(wù)器可以為網(wǎng)絡(luò)存儲(chǔ)服務(wù)器,例如網(wǎng)盤(pán)服務(wù)器。服 務(wù)器可以為存儲(chǔ)在其中的文件生成基本信息,所述基本信息可以包括文件的標(biāo)識(shí)符,所述標(biāo)識(shí)符至少為消息摘要算法第五版(Message Digest Algorithm,MD5)、安全哈希算法(Secure Hash Algorithm,SHA1)和32位循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check 32,CRC32)之一。所述基本信息還可以包括文件的名稱、url、類型、上傳時(shí)間和上傳方信息等。
例如,某網(wǎng)盤(pán)服務(wù)器上存儲(chǔ)有文件A和文件B,該網(wǎng)盤(pán)服務(wù)器分別為文件A和文件B生成相應(yīng)的基本信息a和基本信息b,文件A的基本信息為基本信息a,文件B的基本信息為基本信息b?;拘畔中包括文件A的標(biāo)識(shí)符(如SHA1:C71D49A6144772F352806201EF564951BE55EDD5,表示文件A的標(biāo)識(shí)符為值為C71D49A6144772F352806201EF564951BE55EDD5的SHA1)名稱、在網(wǎng)盤(pán)服務(wù)器中的url、類型;若文件A為客戶端上傳至該網(wǎng)盤(pán)服務(wù)器的文件,則基本信息a中還應(yīng)該包括上傳時(shí)間和上傳方信息等。
在所述步驟100之后,步驟102之前,還可以判斷基本信息中的上傳方信息是否與所述客戶端的識(shí)別信息相同,目的是判斷目標(biāo)文件是否為客戶端上傳至服務(wù)器的文件。若相同,則執(zhí)行步驟102。在服務(wù)器生成文件的基本信息時(shí),若文件從客戶端上傳至服務(wù)器,則可以將客戶端的識(shí)別信息作為文件的上傳方信息。其中,所述客戶端的識(shí)別信息可以包括客戶端ID和/或客戶端中用于上傳文件的應(yīng)用程序的用戶名等等。
步驟102,判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符,若存在,則執(zhí)行步驟104;若不存在,則流程結(jié)束。
所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;其中,所述相關(guān)文件可以包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。即文件記錄表中可以記錄客戶端上傳至服務(wù)器的文件的標(biāo)識(shí)符及本地路徑,還可以記錄客戶端從服務(wù)器下載的文件的標(biāo)識(shí)符和本地路徑。
步驟104,從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的本地路徑。
文件記錄表中的標(biāo)識(shí)符與本地路徑存在一一對(duì)應(yīng)關(guān)系。確定文件記錄表中的一個(gè)標(biāo)識(shí)符,即相應(yīng)確定一個(gè)與該標(biāo)識(shí)符對(duì)應(yīng)的本地路徑。
步驟106,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件。
為了增加從客戶端本地獲取目標(biāo)文件的準(zhǔn)確性,在所述步驟106之后,還可以執(zhí)行如下3個(gè)步驟中的任意步驟或者任意步驟的組合:
步驟1、校驗(yàn)獲取得到的文件的標(biāo)識(shí)符是否與所述基本信息中的標(biāo)識(shí)符相同;若相同,則確定獲取得到的文件為所述目標(biāo)文件。即校驗(yàn)從客戶端本地獲取到的文件的標(biāo)識(shí)符是否與從服務(wù)器下載的基本信息的標(biāo)識(shí)符相同,防止客戶端本地的文件被修改,而將修改后的文件作為目標(biāo)文件。
步驟2、判斷基本信息中的上傳時(shí)間是否在獲取得到的文件的生成時(shí)間之后;若是,則確定獲取得到的文件為所述目標(biāo)文件?;拘畔⒅械纳蟼鲿r(shí)間可以為客戶端將本地文件上傳至服務(wù)器完畢的系統(tǒng)時(shí)間。所述系統(tǒng)時(shí)間可以為客戶端與服務(wù)器共同的系統(tǒng)時(shí)間。若上傳時(shí)間在客戶端本地文件的生成時(shí)間之前,或者上傳時(shí)間與客戶端本地文件的生成時(shí)間相同,則確定客戶端本地文件不是目標(biāo)文件。
步驟3、判斷基本信息中的類型是否與獲取得到的文件的類型相同;若相同,則確定獲取得到的文件為所述目標(biāo)文件。文件以圖片為例,常用的圖片類型包括jpg、png等等。若基本信息中的文件類型與客戶端本地文件的類型不同,則確定客戶端本地文件不是目標(biāo)文件。
若基本信息中還包括文件的容量,則還可以判斷基本信息中的容量與客戶端本地文件的容量是否相同,若容量相同,則可以進(jìn)一步確定客戶端本地文件為目標(biāo)文件。
綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,服務(wù)器為存儲(chǔ)在服務(wù)器中的文件生成基本信息,基本信息占用的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)小于文件本身占用的存儲(chǔ)空間??蛻舳藦姆?wù)器下載目標(biāo)文件的基本信息,判斷預(yù)置的文件記錄表里是否存在目標(biāo)文件的基本信息中的標(biāo)識(shí)符,所述標(biāo)識(shí)符作為目標(biāo)文件的唯一標(biāo)識(shí)。若存在,則從文件記錄表中提取出于目標(biāo)文件的標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,在客戶端中根據(jù)本地路徑獲取得到目標(biāo)文件。即客戶端中存在與服務(wù)器中相同的目標(biāo)文件時(shí),可以避免從服務(wù)器下載目標(biāo)文件,而是通過(guò)客戶端中預(yù)置的文件記錄表獲取目標(biāo)文件在客戶端中的本地路徑,通過(guò)本地路徑 得到目標(biāo)文件,節(jié)省了從服務(wù)器下載目標(biāo)文件的時(shí)間。
實(shí)施例二
詳細(xì)介紹本發(fā)明實(shí)施例二提供的一種文件獲取裝置,所述裝置應(yīng)用于客戶端,所述客戶端可以為PC、智能手機(jī)或者平板電腦等用戶終端設(shè)備。
參照?qǐng)D2,示出了本發(fā)明實(shí)施例二的一種文件獲取裝置的結(jié)構(gòu)示意圖。
所述裝置可以包括:基本信息下載模塊20、標(biāo)識(shí)符判斷模塊22、本地路徑提取模塊24和文件獲取模塊26。
下面分別詳細(xì)介紹各模塊的功能以及各模塊之間的關(guān)系。
基本信息下載模塊20,用于從服務(wù)器下載目標(biāo)文件的基本信息。
標(biāo)識(shí)符判斷模塊22,用于判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符。所述標(biāo)識(shí)符至少為MD5、SHA1和CRC32之一。所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
本地路徑提取模塊24,用于若預(yù)置的文件記錄表里存在所述基本信息中的標(biāo)識(shí)符,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的本地路徑。
文件獲取模塊26,用于在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件。
所述裝置還可以包括:標(biāo)識(shí)符校驗(yàn)?zāi)K,用于在所述文件獲取模塊26在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,校驗(yàn)獲取得到的文件的標(biāo)識(shí)符是否與所述基本信息中的標(biāo)識(shí)符相同;文件確定模塊,用于若獲取得到的文件的標(biāo)識(shí)符與所述基本信息中的標(biāo)識(shí)符相同,則確定獲取得到的文件為所述目標(biāo)文件。
所述基本信息還至少包括所述目標(biāo)文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
所述裝置還可以包括:識(shí)別信息判斷模塊,用于在所述標(biāo)識(shí)符判斷模塊22判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符之前,判斷所 述上傳方信息是否與所述客戶端的識(shí)別信息相同;若相同,則所述標(biāo)識(shí)符判斷模塊22判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符。所述客戶端的識(shí)別信息包括客戶端ID和/或客戶端中用于上傳文件的應(yīng)用程序的用戶名。
所述裝置還可以包括:上傳時(shí)間判斷模塊,用于在所述文件獲取模塊26在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,判斷所述上傳時(shí)間是否在獲取得到的文件的生成時(shí)間之后;若是,則所述文件確定模塊確定獲取得到的文件為所述目標(biāo)文件。
所述裝置還可以包括:類型判斷模塊,用于在所述文件獲取模塊26在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,判斷所述類型是否與獲取得到的文件的類型相同;若相同,則所述文件確定模塊確定獲取得到的文件為所述目標(biāo)文件。
綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,服務(wù)器為存儲(chǔ)在服務(wù)器中的文件生成基本信息,基本信息占用的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)小于文件本身占用的存儲(chǔ)空間??蛻舳藦姆?wù)器下載目標(biāo)文件的基本信息,判斷預(yù)置的文件記錄表里是否存在目標(biāo)文件的基本信息中的標(biāo)識(shí)符,所述標(biāo)識(shí)符作為目標(biāo)文件的唯一標(biāo)識(shí)。若存在,則從文件記錄表中提取出于目標(biāo)文件的標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,在客戶端中根據(jù)本地路徑獲取得到目標(biāo)文件。即客戶端中存在與服務(wù)器中相同的目標(biāo)文件時(shí),可以避免從服務(wù)器下載目標(biāo)文件,而是通過(guò)客戶端中預(yù)置的文件記錄表獲取目標(biāo)文件在客戶端中的本地路徑,通過(guò)本地路徑得到目標(biāo)文件,節(jié)省了從服務(wù)器下載目標(biāo)文件的時(shí)間。
實(shí)施例三
詳細(xì)介紹本發(fā)明實(shí)施例三提供的一種文件獲取裝置,所述裝置應(yīng)用于服務(wù)器,所述服務(wù)器可以為網(wǎng)絡(luò)存儲(chǔ)服務(wù)器,例如網(wǎng)盤(pán)服務(wù)器。
參照?qǐng)D3,示出了本發(fā)明實(shí)施例三的一種文件獲取裝置的結(jié)構(gòu)示意圖。
所述裝置可以包括:基本信息生成模塊30和基本信息下發(fā)模塊32。
下面分別詳細(xì)介紹各模塊的功能以及各模塊之間的關(guān)系。
基本信息生成模塊30,用于生成存儲(chǔ)于所述服務(wù)器的文件的基本信息。
基本信息下發(fā)模塊32,用于根據(jù)客戶端的下載請(qǐng)求下發(fā)對(duì)應(yīng)的文件的基本信息至所述客戶端,以令所述客戶端判斷預(yù)置在客戶端本地的文件記錄表里是否存在所述對(duì)應(yīng)的文件的基本信息中標(biāo)識(shí)符,若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,并按照所述客戶端本地路徑獲取所述對(duì)應(yīng)的文件。
綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,服務(wù)器為存儲(chǔ)在服務(wù)器中的文件生成基本信息,基本信息占用的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)小于文件本身占用的存儲(chǔ)空間??蛻舳藦姆?wù)器下載目標(biāo)文件的基本信息,判斷預(yù)置的文件記錄表里是否存在目標(biāo)文件的基本信息中的標(biāo)識(shí)符,所述標(biāo)識(shí)符作為目標(biāo)文件的唯一標(biāo)識(shí)。若存在,則從文件記錄表中提取出于目標(biāo)文件的標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,在客戶端中根據(jù)本地路徑獲取得到目標(biāo)文件。即客戶端中存在與服務(wù)器中相同的目標(biāo)文件時(shí),可以避免從服務(wù)器下載目標(biāo)文件,而是通過(guò)客戶端中預(yù)置的文件記錄表獲取目標(biāo)文件在客戶端中的本地路徑,通過(guò)本地路徑得到目標(biāo)文件,節(jié)省了從服務(wù)器下載目標(biāo)文件的時(shí)間。
本發(fā)明實(shí)施例還提供了一種文件獲取系統(tǒng),包括客戶端和服務(wù)器,所述客戶端包括上述實(shí)施例二中的文件獲取裝置,所述服務(wù)器包括上述實(shí)施例三中的文件獲取裝置。
在此提供的文件獲取方案不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造具有本發(fā)明方案的系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè) 或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的文件獲取方案中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或 者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開(kāi)了A1、一種文件獲取方法,應(yīng)用于客戶端,所述方法包括:
從服務(wù)器下載目標(biāo)文件的基本信息;
判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符;
若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的本地路徑;
在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件。
A2、根據(jù)A1所述的方法,其中,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
A3、根據(jù)A1所述的方法,其中,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,所述方法還包括:
校驗(yàn)獲取得到的文件的標(biāo)識(shí)符是否與所述基本信息中的標(biāo)識(shí)符相同;
若相同,則確定獲取得到的文件為所述目標(biāo)文件。
A4、根據(jù)A1所述的方法,其中,所述基本信息還至少包括所述目標(biāo)文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
A5、根據(jù)A4所述的方法,其中,在所述判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符之前,所述方法還包括:
判斷所述上傳方信息是否與所述客戶端的識(shí)別信息相同;
若相同,則執(zhí)行所述判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符的操作。
A6、根據(jù)A5所述的方法,其中,所述客戶端的識(shí)別信息包括客戶端ID和/或客戶端中用于上傳文件的應(yīng)用程序的用戶名。
A7、根據(jù)A4所述的方法,其中,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,所述方法還包括:
判斷所述上傳時(shí)間是否在獲取得到的文件的生成時(shí)間之后;
若是,則確定獲取得到的文件為所述目標(biāo)文件。
A8、根據(jù)A4所述的方法,其中,在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,所述方法還包括:
判斷所述類型是否與獲取得到的文件的類型相同;
若相同,則確定獲取得到的文件為所述目標(biāo)文件。
A9、根據(jù)A1所述的方法,其中,所述標(biāo)識(shí)符至少為MD5、SHA1和CRC32之一。
本發(fā)明還公開(kāi)了B10、一種文件獲取方法,應(yīng)用于服務(wù)器,所述方法包括:
生成存儲(chǔ)于所述服務(wù)器的文件的基本信息;
根據(jù)客戶端的下載請(qǐng)求下發(fā)對(duì)應(yīng)的文件的基本信息至所述客戶端,以令所述客戶端判斷預(yù)置在客戶端本地的文件記錄表里是否存在所述對(duì)應(yīng)的文件的基本信息中標(biāo)識(shí)符,若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,并按照所述客戶端本地路徑獲取所述對(duì)應(yīng)的文件。
B11、根據(jù)B10所述的方法,其中,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
B12、根據(jù)B10所述的方法,其中,所述基本信息還至少包括文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
B13、根據(jù)B10所述的方法,其中,所述標(biāo)識(shí)符為MD5、SHA1和CRC32之一。
本發(fā)明還公開(kāi)了C14、一種文件獲取裝置,應(yīng)用于客戶端,所述裝置包括:
基本信息下載模塊,用于從服務(wù)器下載目標(biāo)文件的基本信息;
標(biāo)識(shí)符判斷模塊,用于判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符;
本地路徑提取模塊,用于若預(yù)置的文件記錄表里存在所述基本信息中的標(biāo)識(shí)符,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的本地路徑;
文件獲取模塊,用于在所述客戶端按照所述本地路徑獲取所述目標(biāo)文件。
C15、根據(jù)C14所述的裝置,其中,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
C16、根據(jù)C14所述的裝置,其中,所述裝置還包括:
標(biāo)識(shí)符校驗(yàn)?zāi)K,用于在所述文件獲取模塊在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,校驗(yàn)獲取得到的文件的標(biāo)識(shí)符是否與所述基本信息中的標(biāo)識(shí)符相同;
文件確定模塊,用于若獲取得到的文件的標(biāo)識(shí)符與所述基本信息中的標(biāo)識(shí)符相同,則確定獲取得到的文件為所述目標(biāo)文件。
C17、根據(jù)C16所述的裝置,其中,所述基本信息還至少包括所述目標(biāo)文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
C18、根據(jù)C17所述的裝置,其中,所述裝置還包括:
識(shí)別信息判斷模塊,用于在所述標(biāo)識(shí)符判斷模塊判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符之前,判斷所述上傳方信息是否與所述客戶端的識(shí)別信息相同;
若相同,則所述標(biāo)識(shí)符判斷模塊判斷預(yù)置的文件記錄表里是否存在所述基本信息中的標(biāo)識(shí)符。
C19、根據(jù)C18所述的裝置,其中,所述客戶端的識(shí)別信息包括客戶端ID和/或客戶端中用于上傳文件的應(yīng)用程序的用戶名。
C20、根據(jù)C17所述的裝置,其中,所述裝置還包括:
上傳時(shí)間判斷模塊,用于在所述文件獲取模塊在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,判斷所述上傳時(shí)間是否在獲取得到的文件的生成時(shí)間之后;
若是,則所述文件確定模塊確定獲取得到的文件為所述目標(biāo)文件。
C21、根據(jù)C17所述的裝置,其中,所述裝置還包括:
類型判斷模塊,用于在所述文件獲取模塊在客戶端按照所述本地路徑獲取所述目標(biāo)文件之后,判斷所述類型是否與獲取得到的文件的類型相同;
若相同,則所述文件確定模塊確定獲取得到的文件為所述目標(biāo)文件。
C22、根據(jù)C14所述的裝置,其中,所述標(biāo)識(shí)符至少為MD5、SHA1和CRC32之一。
本發(fā)明還公開(kāi)了D23、一種文件獲取裝置,應(yīng)用于服務(wù)器,所述裝置包括:
基本信息生成模塊,用于生成存儲(chǔ)于所述服務(wù)器的文件的基本信息;
基本信息下發(fā)模塊,用于根據(jù)客戶端的下載請(qǐng)求下發(fā)對(duì)應(yīng)的文件的基本信息至所述客戶端,以令所述客戶端判斷預(yù)置在客戶端本地的文件記錄表里是否存在所述對(duì)應(yīng)的文件的基本信息中標(biāo)識(shí)符,若存在,則從所述文件記錄表中提取出與所述標(biāo)識(shí)符對(duì)應(yīng)的客戶端本地路徑,并按照所述客戶端本地路徑獲取所述對(duì)應(yīng)的文件。
D24、根據(jù)D23所述的裝置,其中,所述文件記錄表中存儲(chǔ)有相關(guān)文件的標(biāo)識(shí)符及本地路徑,且所述文件記錄表周期性更新;
其中,所述相關(guān)文件包括所述客戶端上傳至所述服務(wù)器的文件,以及所述客戶端從所述服務(wù)器下載的文件。
D25、根據(jù)D23所述的裝置,其中,所述基本信息還至少包括文件的名稱、url、類型、上傳時(shí)間和上傳方信息之一。
D26、根據(jù)D23所述的裝置,其中,所述標(biāo)識(shí)符為MD5、SHA1和CRC32之一。
本發(fā)明還公開(kāi)了E27、一種文件獲取系統(tǒng),包括客戶端和服務(wù)器;其中,所述客戶端包括上述C14-22任一裝置,所述服務(wù)器包括上述D23-26任一裝置。