亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

文件上傳方法和裝置的制造方法_2

文檔序號:9420421閱讀:來源:國知局
1]圖2為本發(fā)明實施例提供的文件上傳方法實施例二的流程示意圖;
[0052]圖3為本發(fā)明實施例提供的文件上傳方法實施例二的一種實現(xiàn)方式的信令流程示意圖;
[0053]圖4為本發(fā)明實施例提供的文件上傳方法實施例三的流程示意圖;
[0054]圖5為本發(fā)明實施例提供的文件上傳裝置實施例一的結構示意圖;
[0055]圖6為本發(fā)明實施例提供的文件上傳裝置實施例二的結構示意圖;
[0056]圖7為本發(fā)明實施例提供的文件上傳裝置實施例三的結構示意圖。
【具體實施方式】
[0057]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0058]本發(fā)明實施例提供的文件上傳方法可以應用在異步式文件系統(tǒng)中業(yè)務客戶端通過業(yè)務服務器、客戶端代理將文件上傳至數(shù)據(jù)服務器的場景中,在文件上傳的過程中出現(xiàn)故障,在進行斷點續(xù)傳的時候從上次傳輸?shù)臄帱c處開始傳輸,已上傳過的文件不會重復上傳。斷點是根據(jù)元數(shù)據(jù)服務器中記錄的該文件已上傳的最大值確定的。本發(fā)明實施例提供的文件上傳方法中,客戶端代理根據(jù)數(shù)據(jù)服務器反饋的文件的寫入響應,生成文件寫入狀態(tài)標識,客戶端代理接收業(yè)務服務器發(fā)送的文件的刷盤請求,刷盤請求用于請求客戶端代理更新文件的元數(shù)據(jù),客戶端代理根據(jù)寫入狀態(tài)標識,確定是否更新文件的元數(shù)據(jù),可見,客戶端代理能在接收到業(yè)務服務器發(fā)送的刷盤請求之后,根據(jù)寫入狀態(tài)標識確定是否更新文件的元數(shù)據(jù),文件寫入狀態(tài)標識反映了客戶端代理是否在數(shù)據(jù)服務器中寫入文件成功,保證了文件的元數(shù)據(jù)與文件的上傳數(shù)據(jù)相適應,從而,在進行斷點續(xù)傳時,實現(xiàn)了斷點之前的文件都已經(jīng)成功上傳,保證了上傳的文件的數(shù)據(jù)完整性。
[0059]下面以具體的實施例對本發(fā)明的技術方案進行詳細說明。下面這幾個具體的實施例可以相互結合,對于相同或相似的概念或過程可能在某些實施例不再贅述。
[0060]圖1為本發(fā)明實施例提供的文件上傳方法實施例一的流程示意圖。如圖1所示,本實施例的方法可以包括:
[0061]SlOl:客戶端代理根據(jù)數(shù)據(jù)服務器反饋的文件的寫入響應,確定生成文件寫入狀態(tài)標識。
[0062]具體地,本實施例中的文件可以為圖片、文檔及視頻等。在異步式文件系統(tǒng)進行文件上傳時,業(yè)務客戶端先將文件發(fā)送給業(yè)務服務器,業(yè)務服務器再將文件發(fā)送給客戶端代理,客戶端代理將文件緩存在自身的緩存之后,根據(jù)自身緩存的更新頻率,將文件的數(shù)據(jù)發(fā)送給數(shù)據(jù)服務器??蛻舳舜韺⑵渚彺嬷械臄?shù)據(jù)分塊,再將各分塊多任務多線程發(fā)送給數(shù)據(jù)服務器。
[0063]數(shù)據(jù)服務器反饋的文件的寫入響應有兩種情況,一種為數(shù)據(jù)服務器成功收到每一個分塊的數(shù)據(jù),分別向客戶端代理發(fā)送文件寫入成功的響應;另一種情況為:數(shù)據(jù)服務器至少有一個分塊沒有成功接收,數(shù)據(jù)服務器向客戶端代理發(fā)送寫入失敗的響應,客戶端接收數(shù)據(jù)服務器反饋的文件的所有分塊中有至少一個分塊寫入失敗,則生成寫入失敗標識。需要說明的是,如果客戶端代理在預設的時間內(nèi)所有分塊中有至少一個分塊沒有收到數(shù)據(jù)服務器反饋的文件寫入成功的響應,則生成寫入失敗標識。
[0064]S102:客戶端代理接收業(yè)務服務器發(fā)送的文件的刷盤請求,刷盤請求用于請求客戶端代理更新文件的元數(shù)據(jù)。
[0065]具體地,業(yè)務服務器會發(fā)送文件的刷盤請求給客戶端代理。可選的,業(yè)務服務器根據(jù)預設的頻率向業(yè)務服務器發(fā)送文件的刷盤請求。
[0066]S103:客戶端代理根據(jù)寫入狀態(tài)標識,確定是否更新文件的元數(shù)據(jù)。
[0067]具體地,若客戶端代理生成的寫入狀態(tài)標識為寫入失敗標識,則不更新文件的元數(shù)據(jù)??蛇x的,文件的元數(shù)據(jù)可以是文件的大小。本實施例中表示的是已經(jīng)上傳至數(shù)據(jù)服務器的文件的大小。
[0068]可選的,若客戶端代理收到了數(shù)據(jù)服務器反饋的所有分塊的文件寫入成功的響應,則將此次上傳至數(shù)據(jù)服務器之后的文件的元數(shù)據(jù)即大小發(fā)送給元數(shù)據(jù)服務器,即更新文件的元數(shù)據(jù)。
[0069]本發(fā)明實施例提供的文件上傳方法中,通過客戶端代理根據(jù)數(shù)據(jù)服務器反饋的文件的寫入響應,確定生成文件寫入狀態(tài)標識,客戶端代理接收業(yè)務服務器發(fā)送的文件的刷盤請求,刷盤請求用于請求客戶端代理更新文件的元數(shù)據(jù),客戶端代理根據(jù)寫入狀態(tài)標識,確定是否更新文件的元數(shù)據(jù),可見,客戶端代理能在接收到業(yè)務服務器發(fā)送的刷盤請求之后,根據(jù)寫入狀態(tài)標識確定是否更新文件的元數(shù)據(jù),文件寫入狀態(tài)標識反映了客戶端代理是否在數(shù)據(jù)服務器中寫入文件成功,保證了文件的元數(shù)據(jù)與文件的上傳數(shù)據(jù)相適應,從而,在進行斷點續(xù)傳時,實現(xiàn)了斷點之前的文件都已經(jīng)成功上傳,保證了上傳的文件的數(shù)據(jù)完整性。
[0070]圖2為本發(fā)明實施例提供的文件上傳方法實施例二的流程示意圖。本實施例在上述實施例一的基礎上,SlOl之前包括:
[0071]S201:客戶端代理接收業(yè)務服務器發(fā)送的打開文件請求,打開文件請求中包括文件的業(yè)務標識,客戶端代理將業(yè)務標識存儲在緩存中。
[0072]具體地,這里的打開文件請求中的文件為客戶端代理新建的空白文件。在S201之前,業(yè)務服務器向客戶端代理發(fā)送請求,客戶端代理根據(jù)該請求創(chuàng)建一個空白文件。業(yè)務服務器向客戶端代理發(fā)送打開文件請求,打開文件請求中包括文件的業(yè)務標識。舉例來說,該業(yè)務標識可以表示文件為文件傳輸協(xié)議(File Transfer Protocol ;簡稱:FTP)文件??蛇x的,可以通過預先設置的規(guī)則來確定,該業(yè)務標識可以是一個比特位的消息,I表示該業(yè)務為FTP業(yè)務,O表示該業(yè)務不是FTP業(yè)務??蛻舳舜硎盏綐I(yè)務標識后將其存儲在緩存中??蛻舳舜韺I(yè)務標識存儲在緩存后通過緩存引用技術確保緩存不會老化。在業(yè)務服務器向客戶端代理發(fā)送打開文件請求之前,業(yè)務客戶端已經(jīng)將其需要上傳的文件上傳至業(yè)務服務器中。
[0073]S202:客戶端代理向業(yè)務服務器發(fā)送文件的文件句柄。
[0074]具體地,業(yè)務服務器收到客戶端代理發(fā)送的文件句柄后,才可以進行文件上傳。
[0075]S203:客戶端代理接收業(yè)務服務器發(fā)送的文件的寫入請求,寫入請求中包含文件的數(shù)據(jù)和文件句柄。
[0076]具體地,客戶端代理接收到業(yè)務服務器發(fā)送的文件的寫入請求后,根據(jù)寫入請求中的文件句柄將文件的數(shù)據(jù)存儲在緩存中。
[0077]本實施例在上述實施例一的基礎上,S102之后包括:
[0078]S204:根據(jù)文件的業(yè)務標識確定文件為預設業(yè)務的文件。
[0079]客戶端代理在接收業(yè)務服務器發(fā)送的文件的刷盤請求后,根據(jù)文件的業(yè)務標識確定文件預設業(yè)務的文件??蛇x的,刷盤請求中包括文件句柄??蛻舳舜硎盏剿⒈P請求后,根據(jù)刷盤請求中的文件句柄找到文件在客戶端代理緩存中的位置,進而,找到業(yè)務標識,確定文件為預設業(yè)務的文件。預設業(yè)務可以為FTP業(yè)務,可以通過預先設置的規(guī)則來確定文件為預設業(yè)務的文件。
[0080]以下詳細說明本發(fā)明實施例提供的文件上傳方法的工作過程:業(yè)務客戶端將文件上傳至業(yè)務服務器。業(yè)務服務器向客戶端代理發(fā)送打開文件請求,這里的打開文件請求指的是打開客戶端代理創(chuàng)建的空白文件,打開文件請求中包括文件的業(yè)務標識,客戶端代理將業(yè)務標識存儲在緩存中。客戶端代理在收到業(yè)務服務器的打開文件請求后,向業(yè)務服務器發(fā)送文件的文件句柄。業(yè)務服務器收到文件句柄后,將業(yè)務客戶端發(fā)送給它的文件分成至少一份,舉例來說,業(yè)務服務器可以將一份9M文件分成A、B和C三部分,其中,A部分為文件的0M-3M部分,B部分為文件的3M-6M部分,C部分為文件的6M-9M部分。業(yè)務服務器先將A部分和文件句柄封裝在文件的寫入請求中,發(fā)送給客戶端代理,客戶端代理將A部分存儲在緩存中,此時,如果客戶端代理的緩存需要進行一次刷新,則客戶端代理需要將文件的A部分發(fā)送給數(shù)據(jù)服務器,客戶端代理將其緩存中的文件的A部分分塊、多任務多線程發(fā)送給數(shù)據(jù)服務器。為方便描述,假設客戶端代理分成3個任務將文件的A部分發(fā)送給數(shù)據(jù)服務器,其中,任務I將A部分的0M-1M發(fā)送給數(shù)據(jù)服務器,任務2將A部分的1M-2M數(shù)據(jù)發(fā)送給數(shù)據(jù)服務器,任務3將A部分的2M-3M發(fā)送給數(shù)據(jù)服務器。如果每一個任務發(fā)送給數(shù)據(jù)服務器的數(shù)據(jù)都被數(shù)據(jù)服務器成功接收的話,則數(shù)據(jù)服務器在收到每個任務的數(shù)據(jù)后,會發(fā)送文件寫入成功的響應給客戶端代理。
[0081]第一種情況為:如果客戶端代理執(zhí)行任務1、任務2和任務3后都收到了數(shù)據(jù)服務器反饋的文件寫入成功的響應,此時,如果收到了業(yè)務服務器發(fā)送的刷盤請求,客戶端代理根據(jù)刷盤請求中的文件句柄找到文件的業(yè)務標識,確定文件為預設業(yè)務的文件,則客戶端代理更新文件的元數(shù)據(jù),將文件的元數(shù)據(jù)即文件上傳至數(shù)據(jù)服務器的大小3M發(fā)送給元數(shù)據(jù)服務器。
[0082]第二種情況為:如果客戶端代理執(zhí)行任務1、任務2和任務3后,任務I和任務3都收到了數(shù)據(jù)服務器
當前第2頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1