[發明專利]一種文件上傳方法及系統有效
| 申請號: | 201310754693.9 | 申請日: | 2013-12-31 |
| 公開(公告)號: | CN103747080B | 公開(公告)日: | 2017-06-16 |
| 發明(設計)人: | 葉耀榮;孫子文 | 申請(專利權)人: | 廣州亦云信息技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 廣州市越秀區哲力專利商標事務所(普通合伙)44288 | 代理人: | 湯喜友 |
| 地址: | 510260 廣東省廣州市海珠區新港*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 文件 上傳 方法 系統 | ||
技術領域
本發明涉及文件上傳方法及系統。
背景技術
如圖1所示,目前的分布式文件系統包括主控服務器和數據服務器。主控服務器用于管理文件屬性,所述文件屬性包括文件在數據服務器中存儲的位置。數據服務器用于存儲文件,即存儲具體的文件內容。客戶端是作為上傳文件的請求者。例如,步驟1中,客戶端向主控服務器申請創建文件,主控服務器檢查所管理的文件信息,如果要創建的文件已存在,則返回文件內容所在的存儲地址,否則,分配一個新的數據服務器上的存儲地址,創建文件信息,并返回。輸入:文件名,輸出:文件存儲所在數據服務器中的位置。步驟2中,客戶端向步驟1中返回的數據服務器發送文件內容數據,數據服務器返回寫入數據的大小。輸入:文件名,文件內容,輸出:文件大小。步驟3中,客戶端更新主控服務器內文件大小為步驟2中實際寫入的大小,主控服務器返回成功或者失敗的標志。輸入:文件名,文件大小,輸出:成功或者失敗。
如果多個客戶端同時寫一個文件,較后執行更新操作的客戶端會覆蓋之前的更新操作。導致之前的數據更新丟失。針對該問題,現有的解決方案主要是通過對文件加鎖來實現,也就是在創建文件時,申請加鎖,寫完文件后,再釋放鎖。這種方案需要在服務器上管理大量的鎖,消耗服務器的資源,而且為了管理這些鎖的創建,回收,系統實現比較復雜,客戶端異常崩潰后,這些鎖無法正常釋放,導致文件無法更新。
發明內容
本發明的目的在于提出一種文件上傳方法及系統,其能解決并發更新時,文件內容被覆蓋的問題。
為了達到上述目的,本發明所采用的技術方案如下:
一種文件上傳方法,其包括以下步驟:
步驟1、客戶端向主控服務器發送創建文件請求,所述創建文件請求具有文件名信息;
步驟2、主控服務器將創建文件請求的文件名與其預存的所有文件名進行比對,若沒有預存的文件名與所述創建文件請求的文件名匹配,則執行步驟3-7,否則,執行步驟8-12;
步驟3、主控服務器向客戶端發送一第一響應創建文件請求數據包,所述第一響應創建文件請求數據包包括新分配的數據服務器的文件存儲地址和初始化的文件版本號,并對文件存儲地址、初始化的文件版本號和文件名進行關聯及保存;
步驟4、客戶端根據預設的規則對所述初始化的文件版本號進行更新形成第一變更文件版本號,并向數據服務器發送保存文件請求,所述保存文件請求包括文件名、文件內容、文件存儲地址、第一變更文件版本號和所述客戶端的唯一識別號信息;
步驟5、數據服務器根據保存文件請求,創建并保存對應的文件,計算所述文件的數據大小,并將所述文件的數據大小信息發送給客戶端;所述文件具有文件標識,所述文件標識由文件名、第一變更文件版本號和唯一識別號構成;
步驟6、客戶端向主控服務器發送更新文件請求,所述更新文件請求具有數據大小信息和文件標識;
步驟7、主控服務器接收更新文件請求,將文件標識的文件名與其預存的文件名進行匹配得到與所述文件名關聯的初始化的文件版本號,根據預設規則對關聯的初始化的文件版本號進行更新形成第二變更文件版本號,將第一變更文件版本號與第二變更文件版本號進行比對,若相同,則接受所述第二變更文件版本號的更新以及將更新文件請求的數據大小與第二變更文件版本號進行關聯,并向客戶端發送操作成功信息,否則,拒絕所述第二變更文件版本號的更新,并向客戶端發送操作失敗信息,流程結束;
步驟8、主控服務器向客戶端發送一第二響應創建文件請求數據包,所述第二響應創建文件請求數據包包括與創建文件請求的文件名對應的數據服務器的文件存儲地址和當前的文件版本號;所述主控服務器存儲有與創建文件請求的文件名對應的文件存儲地址、當前的文件版本號、唯一識別號、數據大小的關聯信息;
步驟9、客戶端根據預設的規則對所述當前的文件版本號進行更新形成第三變更文件版本號,并向數據服務器發送保存文件請求,所述保存文件請求包括文件名、文件內容、文件存儲地址、第三變更文件版本號和所述客戶端的唯一識別號信息;
步驟10、數據服務器根據保存文件請求,將文件存儲地址指向的文件進行更新形成變更文件,計算變更文件的數據大小,并將變更文件的數據大小信息發送給客戶端;變更文件的文件標識由文件名、第三變更文件版本號和唯一識別號構成;
步驟11、客戶端向主控服務器發送更新文件請求,所述更新文件請求具有變更文件的數據大小信息和文件標識;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州亦云信息技術有限公司,未經廣州亦云信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310754693.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種解決側鍵腐蝕無法開機的方法及移動終端
- 下一篇:移動終端設備





