共享文件的處理方法及云存儲(chǔ)服務(wù)器的制造方法
【專(zhuān)利摘要】本發(fā)明提供一種共享文件的處理方法及云存儲(chǔ)服務(wù)器。方法包括:云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,根據(jù)其中第一文件的標(biāo)識(shí)確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從中獲取第一文件的當(dāng)前版本信息;如果確定出第一文件在第二客戶(hù)端上的版本比第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成第一下載地址并發(fā)送給第二客戶(hù)端,以供第二客戶(hù)端下載當(dāng)前版本的第一文件。本發(fā)明技術(shù)方案實(shí)現(xiàn)共享文件的同步更新。
【專(zhuān)利說(shuō)明】共享文件的處理方法及云存儲(chǔ)服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云存儲(chǔ)技術(shù),尤其涉及一種共享文件的處理方法及云存儲(chǔ)服務(wù)器。
【背景技術(shù)】
[0002]目前,云存儲(chǔ)技術(shù)主要停留在用戶(hù)對(duì)自己存儲(chǔ)空間的管理,用戶(hù)可以實(shí)現(xiàn)在不同設(shè)備上同云存儲(chǔ)服務(wù)器進(jìn)行同步?,F(xiàn)在用戶(hù)在云存儲(chǔ)服務(wù)器上的文件也可以進(jìn)行共享,共享的方式是用戶(hù)確定共享的文件,然后云存儲(chǔ)服務(wù)器給該用戶(hù)一個(gè)該文件的“外鏈”,該用戶(hù)可以把該“外鏈”提供給其他用戶(hù),其他用戶(hù)通過(guò)該“外鏈”從上述用戶(hù)的云存儲(chǔ)空間上下載該文件到本地,實(shí)現(xiàn)共享。
[0003]但是,當(dāng)被共享的文件在云存儲(chǔ)服務(wù)器發(fā)生改變時(shí),該文件對(duì)應(yīng)的“外鏈”也會(huì)發(fā)生變化,這樣其他用戶(hù)就無(wú)法通過(guò)原有的“外鏈”從云存儲(chǔ)服務(wù)器下載發(fā)生改變的文件,因此其他用戶(hù)下載到本地的文件就不能和源文件保持同步更新。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種共享文件的處理方法及云存儲(chǔ)服務(wù)器,用以實(shí)現(xiàn)共享文件的同步更新。
[0005]第一方面提供一種共享文件的處理方法,包括:
[0006]云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的;
[0007]所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息;
[0008]如果所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的本地版本信息和所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址,并將所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
[0009]第二方面提供一種云存儲(chǔ)服務(wù)器,包括:
[0010]第一接收模塊,用于接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的;
[0011]第一獲取模塊,用于根據(jù)所述第一接收模塊接收的所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息;
[0012]第一生成模塊,用于如果根據(jù)所述第一接收模塊接收的所述第一文件的本地版本信息和所述第一獲取模塊獲取的所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址;
[0013]第一發(fā)送模塊,用于將所述第一生成模塊生成的所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
[0014]本發(fā)明提供的共享文件的處理方法及云存儲(chǔ)服務(wù)器,第二客戶(hù)端通過(guò)更新請(qǐng)求消息將請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息發(fā)送給云存儲(chǔ)服務(wù)器,云存儲(chǔ)服務(wù)器基于第一文件的標(biāo)識(shí)確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),進(jìn)而從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息,通過(guò)將第一文件的本地版本信息和當(dāng)前版本信息進(jìn)行比較,確定該第一文件在第二客戶(hù)端上的版本是否低于在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果是,則生成更新第一文件使用的下載地址,并提供給第二客戶(hù)端,使得第二客戶(hù)端可以基于該下載地址下載當(dāng)前版本的文件,實(shí)現(xiàn)共享文件的更新。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0015]圖1A為本發(fā)明實(shí)施例提供的一種共享文件的處理方法的流程圖;
[0016]圖1B為本發(fā)明實(shí)施例提供的另一種共享文件的處理方法的流程圖;
[0017]圖2為本發(fā)明實(shí)施例提供的又一種共享文件的處理方法的流程圖;
[0018]圖3為本發(fā)明實(shí)施例提供的又一種共享文件的處理方法的流程圖;
[0019]圖4為本發(fā)明實(shí)施例提供的又一種共享文件的處理方法的流程圖;
[0020]圖5為本發(fā)明實(shí)施例提供的又一種共享文件的處理方法的流程圖;
[0021]圖6為本發(fā)明實(shí)施例提供的又一種共享文件的處理方法的流程圖;
[0022]圖7為本發(fā)明實(shí)施例提供的一種云存儲(chǔ)服務(wù)器的結(jié)構(gòu)示意圖;
[0023]圖8為本發(fā)明實(shí)施例提供的另一種云存儲(chǔ)服務(wù)器的結(jié)構(gòu)示意圖;
[0024]圖9為本發(fā)明實(shí)施例提供的又一種云存儲(chǔ)服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]圖1A為本發(fā)明實(shí)施例提供的一種共享文件的處理方法的流程圖。如圖1A所示,所述方法包括:
[0026]la、云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的。
[0027]lb、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息。
[0028]lc、如果所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的本地版本信息和所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址,并將所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
[0029]在本實(shí)施例中,云存儲(chǔ)系統(tǒng)中所有的文件基于用戶(hù)進(jìn)行分塊存儲(chǔ),每塊存儲(chǔ)空間即為一個(gè)客戶(hù)端的存儲(chǔ)區(qū)。第一客戶(hù)端預(yù)先將自己的文件上傳至第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。
[0030]本實(shí)施例提供的方法主要是針對(duì)共享文件的處理,本實(shí)施例將第二客戶(hù)端共享第一客戶(hù)端的文件為例進(jìn)行說(shuō)明,并且為便于描述,將所共享的文件稱(chēng)為第一文件,所述第一文件可以是第一客戶(hù)端允許共享的任何文件。
[0031]在本實(shí)施例中,第一客戶(hù)端預(yù)先將第一文件上傳至第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并允許第一文件被其他客戶(hù)端共享。第二客戶(hù)端預(yù)先從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載第一文件到本地,實(shí)現(xiàn)對(duì)第一文件的共享。關(guān)于第一客戶(hù)端上傳第一文件和第二客戶(hù)端下載第一文件的過(guò)程,在后續(xù)部分進(jìn)行描述。之后,第二客戶(hù)端可能需要對(duì)第一文件進(jìn)行同步,于是向云存儲(chǔ)服務(wù)器發(fā)送更新請(qǐng)求消息,并在所述更新請(qǐng)求消息中攜帶請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息。其中,第一文件的標(biāo)識(shí)用于標(biāo)識(shí)第一文件,而第一文件的本地版本信息用于標(biāo)識(shí)第二客戶(hù)端下載到的第一文件的版本。相應(yīng)的,云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,從中獲取第一文件的標(biāo)識(shí)和第一文件的本地版本信息。
[0032]之后,云存儲(chǔ)服務(wù)器根據(jù)第一文件的標(biāo)識(shí),確定第一文件的存儲(chǔ)位置。當(dāng)根據(jù)第一文件的標(biāo)識(shí)確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)時(shí),從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息。在此說(shuō)明,第一客戶(hù)端在上傳第一文件至第一客戶(hù)端的存儲(chǔ)區(qū)后,可以隨時(shí)對(duì)第一文件進(jìn)行更新。其中,第一客戶(hù)端對(duì)第一文件進(jìn)行更新的過(guò)程與現(xiàn)有技術(shù)相類(lèi)似,主要是上傳新的第一文件并用新的第一文件覆蓋原來(lái)的第一文件,同時(shí)修改第一文件對(duì)應(yīng)的版本信息。
[0033]當(dāng)云存儲(chǔ)服務(wù)器獲取到第一文件的當(dāng)前版本信息后,可以將第二客戶(hù)端提供的第一文件的本地版本信息和所獲取的第一文件的當(dāng)前版本信息進(jìn)行比較,確定第一文件在第一客戶(hù)端上的版本是否低于第一文件在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果確定結(jié)果為是,則云存儲(chǔ)服務(wù)器生成第一文件的第一下載地址,并將第一下載地址提供給第二客戶(hù)端;第二客戶(hù)端根據(jù)第一下載地址從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取當(dāng)前版本的第一文件,實(shí)現(xiàn)對(duì)第一文件的更新。
[0034]在此說(shuō)明,為便于區(qū)分,將對(duì)第一文件進(jìn)行更新使用的下載地址稱(chēng)為第一下載地址,并將后續(xù)出現(xiàn)的對(duì)第一文件進(jìn)行初始下載使用的下載地址稱(chēng)為第二下載地址。其中,由于第一文件發(fā)生了變化,所以第一下載地址和第二下載地址不同。
[0035]在本實(shí)施例中,第二客戶(hù)端通過(guò)更新請(qǐng)求消息將請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息發(fā)送給云存儲(chǔ)服務(wù)器,云存儲(chǔ)服務(wù)器基于第一文件的標(biāo)識(shí)確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),進(jìn)而從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息,通過(guò)將第一文件的本地版本信息和當(dāng)前版本信息進(jìn)行比較,確定該第一文件在第二客戶(hù)端上的版本是否低于在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果是,則生成更新第一文件使用的下載地址,并提供給第二客戶(hù)端,使得第二客戶(hù)端可以基于該下載地址下載當(dāng)前版本的文件,實(shí)現(xiàn)共享文件的更新。
[0036]圖1B為本發(fā)明實(shí)施例提供的另一種共享文件的處理方法的流程圖。如圖1B所示,所述方法包括:
[0037]110、云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的。
[0038]112、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的虛擬文件,所述虛擬文件是所述云存儲(chǔ)服務(wù)器在所述第二客戶(hù)端下載所述第一文件的過(guò)程中,根據(jù)共享目錄中所述第一文件的索引生成的,所述第一文件的索引指向所述第一文件,所述虛擬文件和所述第一文件的索引分別包括所述第一文件的標(biāo)識(shí),所述共享目錄中存儲(chǔ)有允許共享的文件的索引。
[0039]114、云存儲(chǔ)服務(wù)器根據(jù)所述虛擬文件從所述共享目錄中獲取所述第一文件的索弓丨,根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息。
[0040]116、如果所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的本地版本信息和所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址,并將所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
[0041]在此說(shuō)明,本實(shí)施例中步驟112和步驟114可以作為圖1A所示實(shí)施例中步驟Ib的一種【具體實(shí)施方式】,但不限于此。
[0042]在本實(shí)施例中,云存儲(chǔ)系統(tǒng)中所有的文件基于用戶(hù)進(jìn)行分塊存儲(chǔ),每塊存儲(chǔ)空間即為一個(gè)客戶(hù)端的存儲(chǔ)區(qū)。第一客戶(hù)端預(yù)先將自己的文件上傳至第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。云存儲(chǔ)服務(wù)器設(shè)置共享目錄,用于存儲(chǔ)整個(gè)云存儲(chǔ)系統(tǒng)中允許共享的文件的索引。每個(gè)文件的索引指向該文件,并且每個(gè)文件的索引包括該文件的標(biāo)識(shí)(ID)。例如,文件的索引除了包括文件的標(biāo)識(shí)之外,還可以包括文件的名稱(chēng)、文件的存儲(chǔ)地址、文件的大小等信息。
[0043]本實(shí)施例提供的方法主要是針對(duì)共享文件的處理,本實(shí)施例將第二客戶(hù)端共享第一客戶(hù)端的文件為例進(jìn)行說(shuō)明,并且為便于描述,將所共享的文件稱(chēng)為第一文件,所述第一文件可以是第一客戶(hù)端允許共享的任何文件。
[0044]在本實(shí)施例中,第一客戶(hù)端預(yù)先將第一文件上傳至第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并允許第一文件被其他客戶(hù)端共享。第二客戶(hù)端預(yù)先從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載第一文件到本地,實(shí)現(xiàn)對(duì)第一文件的共享。關(guān)于第一客戶(hù)端上傳第一文件和第二客戶(hù)端下載第一文件的過(guò)程,在后續(xù)部分進(jìn)行描述。之后,第二客戶(hù)端可能需要對(duì)第一文件進(jìn)行同步,于是向云存儲(chǔ)服務(wù)器發(fā)送更新請(qǐng)求消息,并在所述更新請(qǐng)求消息中攜帶請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息。其中,第一文件的標(biāo)識(shí)用于標(biāo)識(shí)第一文件,而第一文件的本地版本信息用于標(biāo)識(shí)第二客戶(hù)端下載到的第一文件的版本。相應(yīng)的,云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,從中獲取第一文件的標(biāo)識(shí)和第一文件的本地版本信息。
[0045]之后,云存儲(chǔ)服務(wù)器根據(jù)第一文件的標(biāo)識(shí),從第二客戶(hù)端的存儲(chǔ)區(qū)中確定第一文件對(duì)應(yīng)的虛擬文件。其中,云存儲(chǔ)服務(wù)器會(huì)在第二客戶(hù)端下載第一文件的過(guò)程中,根據(jù)共享目錄中第一文件的索引生成第一文件對(duì)應(yīng)的虛擬文件,該虛擬文件和第一文件的索引分別包括第一文件的標(biāo)識(shí)。其中,第一文件對(duì)應(yīng)的虛擬文件的主要作用是供云存儲(chǔ)服務(wù)器從共享目錄中找到第一文件的索引。
[0046]當(dāng)確定第一文件對(duì)應(yīng)的虛擬文件之后,可以根據(jù)該虛擬文件從共享目錄中獲取第一文件的索引,在獲取第一文件的索引后,由于第一文件的索引指向第一文件,于是根據(jù)第一文件的索引就可以確定第一文件的存儲(chǔ)位置。當(dāng)根據(jù)第一文件的索引確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)時(shí),從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息。在此說(shuō)明,第一客戶(hù)端在上傳第一文件至第一客戶(hù)端的存儲(chǔ)區(qū)后,可以隨時(shí)對(duì)第一文件進(jìn)行更新。其中,第一客戶(hù)端對(duì)第一文件進(jìn)行更新的過(guò)程與現(xiàn)有技術(shù)相類(lèi)似,主要是上傳新的第一文件并用新的第一文件覆蓋原來(lái)的第一文件,同時(shí)修改第一文件對(duì)應(yīng)的版本信息。
[0047]當(dāng)云存儲(chǔ)服務(wù)器獲取到第一文件的當(dāng)前版本信息后,可以將第二客戶(hù)端提供的第一文件的本地版本信息和所獲取的第一文件的當(dāng)前版本信息進(jìn)行比較,確定第一文件在第一客戶(hù)端上的版本是否低于第一文件在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果確定結(jié)果為是,則云存儲(chǔ)服務(wù)器生成第一文件的第一下載地址,并將第一下載地址提供給第二客戶(hù)端;第二客戶(hù)端根據(jù)第一下載地址從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取當(dāng)前版本的第一文件,實(shí)現(xiàn)對(duì)第一文件的更新。
[0048]在此說(shuō)明,為便于區(qū)分,將對(duì)第一文件進(jìn)行更新使用的下載地址稱(chēng)為第一下載地址,并將后續(xù)出現(xiàn)的對(duì)第一文件進(jìn)行初始下載使用的下載地址稱(chēng)為第二下載地址。其中,由于第一文件發(fā)生了變化,所以第一下載地址和第二下載地址不同。
[0049]在本實(shí)施例中,第二客戶(hù)端通過(guò)更新請(qǐng)求消息將請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息發(fā)送給云存儲(chǔ)服務(wù)器,云存儲(chǔ)服務(wù)器基于第一文件的標(biāo)識(shí)從該第二客戶(hù)端的存儲(chǔ)區(qū)中確定第一文件對(duì)應(yīng)的虛擬文件,根據(jù)該虛擬文件從存儲(chǔ)允許共享的文件的索引的共享目錄中找到第一文件的索引,進(jìn)而基于該索引確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),進(jìn)而從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息,通過(guò)將第一文件的本地版本信息和當(dāng)前版本信息進(jìn)行比較,確定該第一文件在第二客戶(hù)端上的版本是否低于在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果是,則生成更新第一文件使用的下載地址,并提供給第二客戶(hù)端,使得第二客戶(hù)端可以基于該下載地址下載當(dāng)前版本的文件,實(shí)現(xiàn)共享文件的更新。
[0050]進(jìn)一步,本實(shí)施例提供的方法,第二客戶(hù)端將請(qǐng)求更新的第一文件的本地版本信息提供云存儲(chǔ)服務(wù)器,而云存儲(chǔ)服務(wù)器通過(guò)比較第一文件的本地版本信息和當(dāng)前版本信息,只有在兩個(gè)版本信息不一致的情況下才會(huì)生成更新第一文件使用的下載地址并提供給第二客戶(hù)端,第二客戶(hù)端直接根據(jù)該下載地址下載最新版本的第一文件,第二客戶(hù)端不需要每次都將第一文件重新下載到本地再與之前下載的第一文件進(jìn)行比較,可以減輕第二客戶(hù)端的處理負(fù)擔(dān),有利于提高對(duì)第一文件的更新效率。
[0051]第二客戶(hù)端在請(qǐng)求更新第一文件之前,需要從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載第一文件。第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載第一文件的流程如圖2中的步驟104-108所示。如圖2所示,所述方法在步驟110之前,包括:
[0052]104、云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的下載請(qǐng)求消息,所述下載請(qǐng)求消息包括請(qǐng)求下載的第一文件的標(biāo)識(shí)。
[0053]106、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),從共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并生成所述第一文件的第二下載地址。
[0054]108、云存儲(chǔ)服務(wù)器將所述第一文件的第二下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第二下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載所述第一文件。
[0055]在本實(shí)施例中,第二客戶(hù)端在請(qǐng)求更新第一文件之前,向云存儲(chǔ)服務(wù)器發(fā)送下載請(qǐng)求消息,并在所述下載請(qǐng)求消息中攜帶請(qǐng)求下載的第一文件的標(biāo)識(shí)。而云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的下載請(qǐng)求消息,從中獲取第一文件的標(biāo)識(shí),之后根據(jù)第一文件的標(biāo)識(shí),從共享目錄中獲取第一文件的索引,接下來(lái)根據(jù)第一文件的索引確定第一文件的存儲(chǔ)位置。當(dāng)根據(jù)第一文件的索引確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)時(shí),生成第一文件的第二下載地址,這里的第二下載地址是指初始下載第一文件時(shí)使用的下載地址。
[0056]接下來(lái),云存儲(chǔ)服務(wù)器將該第二下載地址提供給第二客戶(hù)端,第二客戶(hù)端就可以根據(jù)該第二下載地址從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載第一文件到本地。
[0057]進(jìn)一步,第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載第一文件之前,第一客戶(hù)端需要將第一文件上傳至第一客戶(hù)端的存儲(chǔ)區(qū)并設(shè)置第一文件為共享文件。例如,第一客戶(hù)端上傳第一文件至第一客戶(hù)端的存儲(chǔ)區(qū)的一種實(shí)施過(guò)程如圖3中的步驟100-103所示。如圖3所示,所述方法在步驟104之前,還包括:
[0058]100、云存儲(chǔ)服務(wù)器接收第一客戶(hù)端發(fā)送的上傳請(qǐng)求消息,所述上傳請(qǐng)求消息包括所述第一文件。
[0059]101、云存儲(chǔ)服務(wù)器將所述第一文件存儲(chǔ)到所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。
[0060]102、云存儲(chǔ)服務(wù)器接收所述第一客戶(hù)端發(fā)送的共享請(qǐng)求消息,所述共享請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0061]103、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),為所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的所述第一文件設(shè)置共享標(biāo)記,并在共享目錄中增加所述第一文件的索引。
[0062]在本實(shí)施例中,第二客戶(hù)端請(qǐng)求下載第一文件之前,第一客戶(hù)端向云存儲(chǔ)服務(wù)器發(fā)送上傳請(qǐng)求消息,并將第一文件攜帶在上傳請(qǐng)求消息中發(fā)送給云存儲(chǔ)服務(wù)器。云存儲(chǔ)服務(wù)器接收第一客戶(hù)端發(fā)送的上傳請(qǐng)求消息,從中獲取第一文件,并將第一文件存儲(chǔ)到第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。在此說(shuō)明,第一客戶(hù)端上傳任何類(lèi)型的文件均可以采用該流程。
[0063]第一客戶(hù)端將第一文件上傳至第一客戶(hù)端的存儲(chǔ)區(qū)后,如果第一客戶(hù)端確定第一文件為共享文件,則向云存儲(chǔ)服務(wù)器發(fā)送共享請(qǐng)求消息,并在共享請(qǐng)求消息中攜帶第一文件的標(biāo)識(shí),從而使云存儲(chǔ)服務(wù)器獲知第一文件需要設(shè)置為共享文件。云存儲(chǔ)服務(wù)器接收第一客戶(hù)端發(fā)送的共享請(qǐng)求消息,從中獲取第一文件的標(biāo)識(shí),根據(jù)第一文件的標(biāo)識(shí)確定第一文件需要共享,于是為第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的第一文件設(shè)置共享標(biāo)記,用于標(biāo)識(shí)第一文件為共享文件,從而與非共享文件進(jìn)行區(qū)分。同時(shí),云存儲(chǔ)服務(wù)器在共享目錄中添加第一文件的索引,為后續(xù)其他客戶(hù)端,例如第二客戶(hù)端下載第一文件提供條件。
[0064]圖4為本發(fā)明實(shí)施例提供的又一種共享文件的處理方法的流程圖。如圖4所示,所述方法包括:
[0065]401、云存儲(chǔ)服務(wù)器接收第一客戶(hù)端發(fā)送的上傳請(qǐng)求消息,所述上傳請(qǐng)求消息包括第一文件。
[0066]402、云存儲(chǔ)服務(wù)器將所述第一文件存儲(chǔ)到所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。
[0067]403、云存儲(chǔ)服務(wù)器接收所述第一客戶(hù)端發(fā)送的共享請(qǐng)求消息,所述共享請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0068]404、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),為所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的所述第一文件設(shè)置共享標(biāo)記,并在共享目錄中增加所述第一文件的索引。
[0069]上述步驟401-404可參見(jiàn)步驟100-103,在此不再贅述。
[0070]405、云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的下載請(qǐng)求消息,所述下載請(qǐng)求消息包括請(qǐng)求下載的所述第一文件的標(biāo)識(shí)。
[0071]406、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),從所述共享目錄中獲取所述第一文件的索引。
[0072]407、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的索引生成所述第一文件對(duì)應(yīng)的虛擬文件,將所述虛擬文件存儲(chǔ)到第二客戶(hù)端的存儲(chǔ)區(qū)中。
[0073]408、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)加1,并生成所述第一文件的第二下載地址。
[0074]409、云存儲(chǔ)服務(wù)器將所述第一文件的第二下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第二下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載所述第一文件。
[0075]在本實(shí)施例中,云存儲(chǔ)服務(wù)器根據(jù)第一文件的標(biāo)識(shí),從共享目錄中獲取所述第一文件的索引之后,還會(huì)根據(jù)所述第一文件的索引生成所述第一文件對(duì)應(yīng)的虛擬文件,將所述虛擬文件存儲(chǔ)到第二客戶(hù)端的存儲(chǔ)區(qū)中,為第二客戶(hù)端對(duì)第一文件進(jìn)行更新打下基礎(chǔ)。另外,云存儲(chǔ)服務(wù)器根據(jù)第一文件的索引確定所述第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)之后,還將第一文件對(duì)應(yīng)的引用計(jì)數(shù)加1,對(duì)共享第一文件的客戶(hù)端進(jìn)行計(jì)數(shù),為后續(xù)刪除第一文件的操作打基礎(chǔ)。
[0076]關(guān)于步驟405-步驟409的其它描述可參見(jiàn)步驟104-108,在此不再贅述。
[0077]410、云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息。
[0078]411、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的虛擬文件。
[0079]412、云存儲(chǔ)服務(wù)器根據(jù)所述虛擬文件從所述共享目錄中獲取所述第一文件的索弓丨,根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息。
[0080]413、如果所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的本地版本信息和所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址,并將所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
[0081]上述步驟410-413可參見(jiàn)步驟110-116的描述,在此不再贅述。
[0082]在本實(shí)施例中,云存儲(chǔ)服務(wù)器在第一客戶(hù)端上傳第一文件的過(guò)程中在共享目錄中添加第一文件的索引,在第二客戶(hù)端下載第一文件的過(guò)程中,根據(jù)第一文件的索引生成第一文件對(duì)應(yīng)的虛擬文件并存儲(chǔ)到第二文件的存儲(chǔ)區(qū)內(nèi),之后第二客戶(hù)端通過(guò)更新請(qǐng)求消息將請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息發(fā)送給云存儲(chǔ)服務(wù)器,云存儲(chǔ)服務(wù)器基于第一文件的標(biāo)識(shí)從該第二客戶(hù)端的存儲(chǔ)區(qū)中確定第一文件對(duì)應(yīng)的虛擬文件,根據(jù)該虛擬文件從存儲(chǔ)允許共享的文件的索引的共享目錄中找到第一文件的索引,進(jìn)而基于該索引確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),進(jìn)而從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息,通過(guò)將第一文件的本地版本信息和當(dāng)前版本信息進(jìn)行比較,確定該第一文件在第二客戶(hù)端上的版本是否低于在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果是,則生成更新第一文件使用的下載地址,并提供給第二客戶(hù)端,使得第二客戶(hù)端可以基于該下載地址下載當(dāng)前版本的文件,實(shí)現(xiàn)共享文件的更新。
[0083]本發(fā)明實(shí)施例提供的共享文件的處理方法除了包括對(duì)第一文件的上傳、下載和更新操作之外,還包括對(duì)第一文件的刪除操作。其中,上傳第一文件的第一客戶(hù)端可以刪除第一文件,共享第一文件的第二客戶(hù)端也可以刪除第一文件,但具體刪除流程并不相同。第一客戶(hù)端刪除第一文件的流程如圖5所示,該流程位于第一客戶(hù)端上傳第一文件的流程之后,和第二客戶(hù)端下載和更新第一文件的流程沒(méi)有先后順序。第二客戶(hù)端刪除第一文件的流程如圖6所示,該流程位于第二客戶(hù)端下載第一文件的流程之后,但與第二客戶(hù)端更新第一文件的流程沒(méi)有先后順序。
[0084]如圖5所示,第一客戶(hù)端刪除第一文件的流程包括:
[0085]501、云存儲(chǔ)服務(wù)器接收第一客戶(hù)端發(fā)送的第一刪除請(qǐng)求消息,所述第一刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0086]502、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),獲取所述第一文件對(duì)應(yīng)的引用計(jì)數(shù),并判斷所述引用計(jì)數(shù)是否為O。如果判斷結(jié)果為是,即所述引用計(jì)數(shù)為0,執(zhí)行步驟503 ;如果判斷結(jié)果為否,即所述引用計(jì)數(shù)大于0,執(zhí)行步驟504。
[0087]503、云存儲(chǔ)服務(wù)器直接將所述第一文件從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)刪除,并刪除共享目錄中所述第一文件的索引。
[0088]如果第一文件對(duì)應(yīng)的引用計(jì)數(shù)為0,說(shuō)明沒(méi)有其他客戶(hù)端共享該第一文件,于是可以直接將第一文件刪除,并刪除共享目錄中第一文件的索引。
[0089]504、云存儲(chǔ)服務(wù)器將所述第一文件從第一客戶(hù)端的存儲(chǔ)區(qū)移到公共文件存儲(chǔ)區(qū),并修改所述共享目錄中所述第一文件的索引,以使修改后的索引指向所述公共文件存儲(chǔ)區(qū)內(nèi)的所述第一文件。
[0090]如果第一文件對(duì)應(yīng)的引用計(jì)數(shù)大于0,說(shuō)明還其他客戶(hù)端共享該第一文件,則云存儲(chǔ)服務(wù)器不能直接將第一文件刪除,于是云存儲(chǔ)服務(wù)器設(shè)置公共文件存儲(chǔ)區(qū),并將需要?jiǎng)h除的第一文件從第一客戶(hù)端的存儲(chǔ)區(qū)移到公共文件存儲(chǔ)區(qū)內(nèi),用于臨時(shí)存儲(chǔ)第一文件。同時(shí),云存儲(chǔ)服務(wù)器修改共享目錄中第一文件的索引,使得修改后的索引仍然指向第一文件,此時(shí)具體指向公共文件存儲(chǔ)區(qū)內(nèi)的第一文件,以便于其他引用第一文件的客戶(hù)端,例如第二客戶(hù)端可以基于修改后的索引對(duì)第一文件進(jìn)行刪除操作。
[0091]如圖6所示,第二客戶(hù)端刪除第一文件的流程包括:
[0092]601、云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的第二刪除請(qǐng)求消息,所述第二刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0093]602、云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí)從第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的虛擬文件,并根據(jù)所述虛擬文件從共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件的存儲(chǔ)位置和所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)。
[0094]603、云存儲(chǔ)服務(wù)器判斷第一文件對(duì)應(yīng)的引用計(jì)數(shù)是否為I ;如果判斷結(jié)果為是,執(zhí)行步驟604 ;如果判斷結(jié)果為否,即第一文件對(duì)應(yīng)的引用計(jì)數(shù)大于1,則執(zhí)行步驟606。
[0095]604、云存儲(chǔ)服務(wù)器判斷根據(jù)所述第一文件的索引是否確定出第一文件位于公共文件存儲(chǔ)區(qū)內(nèi),如果判斷結(jié)果為是,執(zhí)行步驟605 ;如果判斷結(jié)果為否,即根據(jù)第一文件的索引確定出第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),則執(zhí)行步驟606。
[0096]605、云存儲(chǔ)服務(wù)器將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,將所述第一文件從所述公共文件存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)置為O。
[0097]如果第一文件對(duì)應(yīng)的引用計(jì)數(shù)為1,說(shuō)明只有第二客戶(hù)端共享第一文件,如果第二客戶(hù)端刪除第一文件,就沒(méi)有任何一個(gè)客戶(hù)端共享第一文件,于是云存儲(chǔ)服務(wù)器需要將第一文件對(duì)應(yīng)的引用計(jì)數(shù)置為O。另外,根據(jù)第一文件的索引確定出第一文件位于公共文件存儲(chǔ)區(qū)內(nèi),說(shuō)明第一客戶(hù)端已經(jīng)將第一文件刪除,只是因?yàn)榈谝晃募€被第二客戶(hù)端共享,所以第一文件被臨時(shí)存儲(chǔ)在公共文件存儲(chǔ)區(qū)內(nèi),當(dāng)?shù)诙蛻?hù)端也刪除第一文件時(shí),第一文件就沒(méi)有存在的必要了,因此,云存儲(chǔ)服務(wù)器可以直接將第一文件從公共文件存儲(chǔ)區(qū)內(nèi)刪除,同時(shí)將第一文件對(duì)應(yīng)的虛擬文件從第二客戶(hù)端的存儲(chǔ)區(qū)內(nèi)刪除。
[0098]606、云存儲(chǔ)服務(wù)器將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)減I。
[0099]如果第一文件對(duì)應(yīng)的引用計(jì)數(shù)大于1,說(shuō)明除了第二客戶(hù)端共享第一文件之外,還有其他客戶(hù)端也共享第一文件,那么此時(shí)雖然第二客戶(hù)端刪除第一文件,但是為了保證其他共享第一文件的客戶(hù)端仍能夠正確共享第一文件,無(wú)論第一文件此時(shí)是位于公共文件存儲(chǔ)區(qū)還是位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),云存儲(chǔ)服務(wù)器僅將第一文件對(duì)應(yīng)的虛擬文件從第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,并將第一文件對(duì)應(yīng)的引用計(jì)數(shù)減1,并不刪除第一文件。
[0100]或者,當(dāng)根據(jù)第一文件的索引確定出第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)時(shí),說(shuō)明第一客戶(hù)端并未刪除第一文件,那么無(wú)論此時(shí)第一文件對(duì)應(yīng)的引用計(jì)數(shù)是I還是大于1,云存儲(chǔ)服務(wù)器僅將第一文件對(duì)應(yīng)的虛擬文件從第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,并將第一文件對(duì)應(yīng)的引用計(jì)數(shù)減1,并不刪除第一文件。
[0101]本發(fā)明上述各實(shí)施例不僅給出了共享文件的更新流程,而且給出了共享文件的上傳、下載、刪除等流程,提供了關(guān)于共享文件的完整處理流程,有利于云存儲(chǔ)系統(tǒng)中文件的共享。
[0102]圖7為本發(fā)明實(shí)施例提供的一種云存儲(chǔ)服務(wù)器的結(jié)構(gòu)示意圖。如圖7所示,所述云存儲(chǔ)服務(wù)器包括:第一接收模塊71、第一獲取模塊73、第一生成模塊74和第一發(fā)送模塊75。
[0103]第一接收模塊71,用于接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的。
[0104]第一獲取模塊73,第一接收模塊71連接,用于根據(jù)第一接收模塊71接收的所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息。
[0105]第一生成模塊74,與第一接收模塊71和第一獲取模塊73連接,用于如果根據(jù)第一接收模塊71接收的所述第一文件的本地版本信息和第一獲取模塊73獲取的所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址。
[0106]第一發(fā)送模塊75,與第一生成模塊74連接,用于將第一生成模塊74生成的所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
[0107]可選的,第一獲取模塊73用于根據(jù)所述第一接收模塊接收的所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)包括:第一獲取模塊73具體用于根據(jù)第一接收模塊71接收的所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的虛擬文件,根據(jù)所述虛擬文件從共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。其中,所述虛擬文件是所述云存儲(chǔ)服務(wù)器在所述第二客戶(hù)端下載所述第一文件的過(guò)程中,根據(jù)所述共享目錄中所述第一文件的索引生成的,所述第一文件的索引指向所述第一文件,所述虛擬文件和所述第一文件的索引分別包括所述第一文件的標(biāo)識(shí),所述共享目錄中存儲(chǔ)有允許共享的文件的索引。
[0108]進(jìn)一步,如圖8所示,所述云存儲(chǔ)服務(wù)器還可以包括:第二接收模塊81、第二獲取模塊82、第二生成模塊83和第二發(fā)送模塊84。
[0109]第二接收模塊81,用于在第一接收模塊71接收所述更新請(qǐng)求消息之前,接收所述第二客戶(hù)端發(fā)送的下載請(qǐng)求消息,所述下載請(qǐng)求消息包括請(qǐng)求下載的所述第一文件的標(biāo)識(shí)。可選的,第二接收模塊81與第一接收模塊71連接。
[0110]第二獲取模塊82,與第二接收模塊81連接,用于根據(jù)第二接收模塊81接收的所述第一文件的標(biāo)識(shí),從所述共享目錄中獲取所述第一文件的索引。
[0111]第二生成模塊83,與第二獲取模塊82連接,用于根據(jù)第二獲取模塊82獲取的所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并生成所述第一文件的第二下載地址。
[0112]第二發(fā)送模塊84,與第二生成模塊83連接,用于將第二生成模塊83生成的所述第一文件的第二下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第二下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載所述第一文件。
[0113]更進(jìn)一步,如圖8所示,所述云存儲(chǔ)服務(wù)器還包括:第三生成模塊85、第一存儲(chǔ)模塊86和計(jì)數(shù)模塊87。
[0114]第三生成模塊85,與第二獲取模塊82連接,用于在第二獲取模塊82獲取所述第一文件的索引之后,根據(jù)第二獲取模塊82獲取的所述第一文件的索引生成所述第一文件對(duì)應(yīng)的所述虛擬文件。
[0115]第一存儲(chǔ)模塊86,與第三生成模塊85連接,用于將第三生成模塊85生成的所述虛擬文件存儲(chǔ)到所述第二客戶(hù)端的存儲(chǔ)區(qū)中。
[0116]計(jì)數(shù)模塊87,與第二生成模塊83連接,用于在第二生成模塊83確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)之后,將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)加I。
[0117]更進(jìn)一步,如圖9所示,所述云存儲(chǔ)服務(wù)器還包括:第三接收模塊91、第二存儲(chǔ)模塊92、第四接收模塊93和設(shè)置添加模塊94。
[0118]第三接收模塊91,用于在第二接收模塊81接收所述下載請(qǐng)求消息之前,接收所述第一客戶(hù)端發(fā)送的上傳請(qǐng)求消息,所述上傳請(qǐng)求消息包括所述第一文件。可選的,第三接收模塊91與第二接收模塊81連接。
[0119]第二存儲(chǔ)模塊92,與第三接收模塊91連接,用于將第三接收模塊91接收的所述第一文件存儲(chǔ)到所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。
[0120]第四接收模塊93,與第二存儲(chǔ)模塊92連接,用于在第二存儲(chǔ)模塊92將第一文件存儲(chǔ)到所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)之后,接收所述第一客戶(hù)端發(fā)送的共享請(qǐng)求消息,所述共享請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0121]設(shè)置添加模塊94,用于根據(jù)第四接收模塊93接收的所述第一文件的標(biāo)識(shí),為所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的所述第一文件設(shè)置共享標(biāo)記,并在所述共享目錄中增加所述第一文件的索引。
[0122]更進(jìn)一步,如圖9所示,所述云存儲(chǔ)服務(wù)器還包括:第五接收模塊95、第三獲取模塊96和第一刪除處理模塊97。
[0123]第五接收模塊95,用于接收所述第一客戶(hù)端發(fā)送的第一刪除請(qǐng)求消息,所述第一刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0124]第三獲取模塊96,與第五接收模塊95連接,用于根據(jù)第五接收模塊95接收的所述第一文件的標(biāo)識(shí),獲取所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)??蛇x的,第三獲取模塊96與計(jì)數(shù)模塊87連接。
[0125]第一刪除處理模塊97,與第三獲取模塊96連接,用于如果第三獲取模塊96獲取的所述引用計(jì)數(shù)為0,直接將所述第一文件從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)刪除,并刪除所述共享目錄中所述第一文件的索引;如果第三獲取模塊96獲取的所述引用計(jì)數(shù)大于0,將所述第一文件從所述第一客戶(hù)端的存儲(chǔ)區(qū)移到公共文件存儲(chǔ)區(qū),并修改所述共享目錄中所述第一文件的索引,以使修改后的索引指向所述公共文件存儲(chǔ)區(qū)內(nèi)的所述第一文件。
[0126]更進(jìn)一步,如圖9所示,所述云存儲(chǔ)服務(wù)器還包括:第六接收模塊98、確定模塊99和第二刪除處理模塊90。
[0127]第六接收模塊98,用于接收所述第二客戶(hù)端發(fā)送的第二刪除請(qǐng)求消息,所述第二刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí)。
[0128]確定模塊99,與第六接收模塊98連接,用于根據(jù)第六接收模塊98接收的所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的所述虛擬文件,并根據(jù)所述虛擬文件從所述共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件的存儲(chǔ)位置和所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)。可選的,確定模塊99與計(jì)數(shù)模塊87連接。
[0129]第二刪除處理模塊90,與確定模塊99連接,用于如果確定模塊99確定的所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)為1,并且確定模塊99根據(jù)所述第一文件的索引確定所述第一文件位于公共文件存儲(chǔ)區(qū)內(nèi),將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,將所述第一文件從所述公共文件存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)置為O ;如果確定模塊99確定的所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)大于1,或者確定模塊99根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)減I。
[0130]本實(shí)施例提供的云存儲(chǔ)服務(wù)器的各功能模塊可用于執(zhí)行圖1A-圖6所示方法實(shí)施例的流程,其具體工作原理不再贅述,詳見(jiàn)方法實(shí)施例的流程。
[0131]本實(shí)施例提供的云存儲(chǔ)服務(wù)器,接收第二客戶(hù)端發(fā)送的攜帶有請(qǐng)求更新的第一文件的標(biāo)識(shí)和第一文件的本地版本信息的更新請(qǐng)求消息,然后基于第一文件的標(biāo)識(shí)確定第一文件位于第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),進(jìn)而從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取第一文件的當(dāng)前版本信息,通過(guò)將第一文件的本地版本信息和當(dāng)前版本信息進(jìn)行比較,確定該第一文件在第二客戶(hù)端上的版本是否低于在第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本,如果是,則生成更新第一文件使用的下載地址,并提供給第二客戶(hù)端,使得第二客戶(hù)端可以基于該下載地址下載當(dāng)前版本的文件,實(shí)現(xiàn)共享文件的更新。
[0132]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0133]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種共享文件的處理方法,其特征在于,包括: 云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的; 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息; 如果所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的本地版本信息和所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址,并將所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),包括: 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的虛擬文件,所述虛擬文件是所述云存儲(chǔ)服務(wù)器在所述第二客戶(hù)端下載所述第一文件的過(guò)程中,根據(jù)共享目錄中所述第一文件的索引生成的,所述第一文件的索引指向所述第一文件,所述虛擬文件和所述第一文件的索引分別包括所述第一文件的標(biāo)識(shí),所述共享目錄中存儲(chǔ)有允許共享的文件的索引; 所述云存儲(chǔ)服務(wù)器根據(jù)所述虛擬文件從所述共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述云存儲(chǔ)服務(wù)器接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息之前,還包括: 所述云存儲(chǔ)服務(wù)器接收所述第二客戶(hù)端發(fā)送的下載請(qǐng)求消息,所述下載請(qǐng)求消息包括請(qǐng)求下載的所述第一文件的標(biāo)識(shí); 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),從所述共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并生成所述第一文件的第二下載地址; 所述云存儲(chǔ)服務(wù)器將所述第一文件的第二下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第二下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載所述第一文件。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),從所述共享目錄中獲取所述第一文件的索引之后,還包括: 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的索引生成所述第一文件對(duì)應(yīng)的所述虛擬文件,將所述虛擬文件存儲(chǔ)到所述第二客戶(hù)端的存儲(chǔ)區(qū)中; 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)之后,還包括: 所述云存儲(chǔ)服務(wù)器將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)加1。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述云存儲(chǔ)服務(wù)器接收所述第二客戶(hù)端發(fā)送的下載請(qǐng)求消息之前,還包括: 所述云存儲(chǔ)服務(wù)器接收所述第一客戶(hù)端發(fā)送的上傳請(qǐng)求消息,所述上傳請(qǐng)求消息包括所述第一文件; 所述云存儲(chǔ)服務(wù)器將所述第一文件存儲(chǔ)到所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi); 所述云存儲(chǔ)服務(wù)器接收所述第一客戶(hù)端發(fā)送的共享請(qǐng)求消息,所述共享請(qǐng)求消息包括所述第一文件的標(biāo)識(shí); 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),為所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的所述第一文件設(shè)置共享標(biāo)記,并在所述共享目錄中增加所述第一文件的索引。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括: 所述云存儲(chǔ)服務(wù)器接收所述第一客戶(hù)端發(fā)送的第一刪除請(qǐng)求消息,所述第一刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí); 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí),獲取所述第一文件對(duì)應(yīng)的引用計(jì)數(shù);如果所述引用計(jì)數(shù)為0,所述云存儲(chǔ)服務(wù)器直接將所述第一文件從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)刪除并刪除所述共享目錄中所述第一文件的索引; 如果所述引用計(jì)數(shù)大于0,所述云存儲(chǔ)服務(wù)器將所述第一文件從所述第一客戶(hù)端的存儲(chǔ)區(qū)移到公共文件存儲(chǔ)區(qū),并修改所述共享目錄中所述第一文件的索引,以使修改后的索引指向所述公共文件存儲(chǔ)區(qū)內(nèi)的所述第一文件。
7.根據(jù)權(quán)利要求4或6所述的方法,其特征在于,還包括: 所述云存儲(chǔ)服務(wù)器接收所述第二客戶(hù)端發(fā)送的第二刪除請(qǐng)求消息,所述第二刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí); 所述云存儲(chǔ)服務(wù)器根據(jù)所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的所述虛擬文件,并根據(jù)所述虛擬文件從所述共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件的存儲(chǔ)位置和所述第一文件對(duì)應(yīng)的引用計(jì)數(shù); 如果所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)為1,并且根據(jù)所述第一文件的索引確定所述第一文件位于公共文件存儲(chǔ)區(qū)內(nèi),所述云存儲(chǔ)服務(wù)器將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,將所述第一文件從所述公共文件存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)置為0 ; 如果所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)大于1,或者根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),所述云存儲(chǔ)服務(wù)器將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)減1。
8.—種云存儲(chǔ)服務(wù)器,其特征在于,包括: 第一接收模塊,用于接收第二客戶(hù)端發(fā)送的更新請(qǐng)求消息,所述更新請(qǐng)求消息包括請(qǐng)求更新的第一文件的標(biāo)識(shí)和所述第一文件的本地版本信息,所述第一文件是所述第二客戶(hù)端從第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載的; 第一獲取模塊,用于根據(jù)所述第一接收模塊接收的所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)獲取所述第一文件的當(dāng)前版本信息; 第一生成模塊,用于如果根據(jù)所述第一接收模塊接收的所述第一文件的本地版本信息和所述第一獲取模塊獲取的所述第一文件的當(dāng)前版本信息確定所述第一文件在所述第二客戶(hù)端上的版本比所述第一文件在所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的版本低,生成所述第一文件的第一下載地址; 第一發(fā)送模塊,用于將所述第一生成模塊生成的所述第一下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第一下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載當(dāng)前版本的所述第一文件。
9.根據(jù)權(quán)利要求8所述的云存儲(chǔ)服務(wù)器,其特征在于,所述第一獲取模塊用于根據(jù)所述第一接收模塊接收的所述第一文件的標(biāo)識(shí),確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)包括: 所述第一獲取模塊具體用于根據(jù)所述第一接收模塊接收的所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的虛擬文件,根據(jù)所述虛擬文件從共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi);其中,所述虛擬文件是所述云存儲(chǔ)服務(wù)器在所述第二客戶(hù)端下載所述第一文件的過(guò)程中,根據(jù)所述共享目錄中所述第一文件的索引生成的,所述第一文件的索引指向所述第一文件,所述虛擬文件和所述第一文件的索引分別包括所述第一文件的標(biāo)識(shí),所述共享目錄中存儲(chǔ)有允許共享的文件的索引。
10.根據(jù)權(quán)利要求9所述的云存儲(chǔ)服務(wù)器,其特征在于,還包括: 第二接收模塊,用于在所述第一接收模塊接收所述更新請(qǐng)求消息之前,接收所述第二客戶(hù)端發(fā)送的下載請(qǐng)求消息,所述下載請(qǐng)求消息包括請(qǐng)求下載的所述第一文件的標(biāo)識(shí); 第二獲取模塊,用于根據(jù)所述第二接收模塊接收的所述第一文件的標(biāo)識(shí),從所述共享目錄中獲取所述第一文件的索引; 第二生成模塊,用于根據(jù)所述第二獲取模塊獲取的所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),并生成所述第一文件的第二下載地址; 第二發(fā)送模塊,用于將所述第二生成模塊生成的所述第一文件的第二下載地址發(fā)送給所述第二客戶(hù)端,以供所述第二客戶(hù)端根據(jù)所述第二下載地址從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)下載所述第一文件。
11.根據(jù)權(quán)利要求10所述的云存儲(chǔ)服務(wù)器,其特征在于,還包括: 第三生成模塊,用于在所述第二獲取模塊獲取所述第一文件的索引之后,根據(jù)所述第二獲取模塊獲取的所述第一文件的索引生成所述第一文件對(duì)應(yīng)的所述虛擬文件; 第一存儲(chǔ)模塊,用于將所述第三生成模塊生成的所述虛擬文件存儲(chǔ)到所述第二客戶(hù)端的存儲(chǔ)區(qū)中; 計(jì)數(shù)模塊,用于在所述第二生成模塊確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)之后,將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)加I。
12.根據(jù)權(quán)利要求10或11所述的云存儲(chǔ)服務(wù)器,其特征在于,還包括: 第三接收模塊,用于在所述第二接收模塊接收所述下載請(qǐng)求消息之前,接收所述第一客戶(hù)端發(fā)送的上傳請(qǐng)求消息,所述上傳請(qǐng)求消息包括所述第一文件; 第二存儲(chǔ)模塊,用于將所述第三接收模塊接收的所述第一文件存儲(chǔ)到所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi); 第四接收模塊,用于接收所述第一客戶(hù)端發(fā)送的共享請(qǐng)求消息,所述共享請(qǐng)求消息包括所述第一文件的標(biāo)識(shí); 設(shè)置添加模塊,用于根據(jù)所述第四接收模塊接收的所述第一文件的標(biāo)識(shí),為所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)的所述第一文件設(shè)置共享標(biāo)記,并在所述共享目錄中增加所述第一文件的索引。
13.根據(jù)權(quán)利要求11所述的云存儲(chǔ)服務(wù)器,其特征在于,還包括: 第五接收模塊,用于接收所述第一客戶(hù)端發(fā)送的第一刪除請(qǐng)求消息,所述第一刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí); 第三獲取模塊,用于根據(jù)所述第五接收模塊接收的所述第一文件的標(biāo)識(shí),獲取所述第一文件對(duì)應(yīng)的引用計(jì)數(shù); 第一刪除處理模塊,用于如果所述第三獲取模塊獲取的所述引用計(jì)數(shù)為0,直接將所述第一文件從所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi)刪除,并刪除所述共享目錄中所述第一文件的索引;如果所述第三獲取模塊獲取的所述引用計(jì)數(shù)大于0,將所述第一文件從所述第一客戶(hù)端的存儲(chǔ)區(qū)移到公共文件存儲(chǔ)區(qū),并修改所述共享目錄中所述第一文件的索引,以使修改后的索引指向所述公共文件存儲(chǔ)區(qū)內(nèi)的所述第一文件。
14.根據(jù)權(quán)利要求11或13所述的云存儲(chǔ)服務(wù)器,其特征在于,還包括: 第六接收模塊,用于接收所述第二客戶(hù)端發(fā)送的第二刪除請(qǐng)求消息,所述第二刪除請(qǐng)求消息包括所述第一文件的標(biāo)識(shí); 確定模塊,用于根據(jù)所述第六接收模塊接收的所述第一文件的標(biāo)識(shí)從所述第二客戶(hù)端的存儲(chǔ)區(qū)中確定所述第一文件對(duì)應(yīng)的所述虛擬文件,并根據(jù)所述虛擬文件從所述共享目錄中獲取所述第一文件的索引,根據(jù)所述第一文件的索引確定所述第一文件的存儲(chǔ)位置和所述第一文件對(duì)應(yīng)的引用計(jì)數(shù); 第二刪除處理模塊,用于如果所述確定模塊確定的所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)為1,并且所述確定模塊根據(jù)所述第一文件的索引確定所述第一文件位于公共文件存儲(chǔ)區(qū)內(nèi),將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,將所述第一文件從所述公共文件存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)置為0 ;如果所述確定模塊確定的所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)大于1,或者所述確定模塊根據(jù)所述第一文件的索引確定所述第一文件位于所述第一客戶(hù)端的存儲(chǔ)區(qū)內(nèi),將所述虛擬文件從所述第二客戶(hù)端的存儲(chǔ)區(qū)中刪除,并將所述第一文件對(duì)應(yīng)的引用計(jì)數(shù)減1。
【文檔編號(hào)】H04L29/08GK104426955SQ201310382164
【公開(kāi)日】2015年3月18日 申請(qǐng)日期:2013年8月28日 優(yōu)先權(quán)日:2013年8月28日
【發(fā)明者】湯壽麟, 李文博 申請(qǐng)人:北大方正集團(tuán)有限公司, 北京北大方正電子有限公司