一種基于二進(jìn)制方式跨域高效上傳文件的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及We開發(fā)技術(shù)領(lǐng)域,具體涉及一種基于二進(jìn)制方式跨域高效上傳文件的方法。
【背景技術(shù)】
[0002]在Web開發(fā)的架構(gòu)設(shè)計(jì)和部署中,通常以功能模塊來分設(shè)站點(diǎn)和項(xiàng)目,目的是為了降低各模塊之間的耦合性,提高應(yīng)用程序的可擴(kuò)展性,可維護(hù)性,更能提高整個應(yīng)用程序的運(yùn)行效率。由于整個應(yīng)用程序中的文件是只讀的,若把這些只讀文件單獨(dú)成一個文件服務(wù)器站點(diǎn),對這些文件進(jìn)行單獨(dú)管理,就大大提高了其擴(kuò)展性。
[0003]通常的文件上傳方式是采用本站點(diǎn)上傳,隨著上傳文件的不斷增多,服務(wù)器壓力不斷增大,效率就不斷的降低,應(yīng)用服務(wù)的可維護(hù)性、可擴(kuò)展性也就越來越差。另外在傳輸效率上,傳統(tǒng)的文件上傳是整個文件一次性上傳,受帶寬和文件大小的限制,上傳時(shí)傳輸速度很慢,甚至上傳不完整或上傳失敗。
【發(fā)明內(nèi)容】
[0004]本發(fā)明解決的技術(shù)問題在于提供一種基于二進(jìn)制方式跨域高效上傳文件的方法;為用戶提供一種跨站點(diǎn)上傳文件的方法。
[0005]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
[0006]所述的方法包括如下步驟:
[0007]步驟一、客戶端訪問應(yīng)用服務(wù)器域A;
[0008]步驟二、在訪問的應(yīng)用服務(wù)上選擇本地所要上傳的文件;
[0009]步驟三、讀取已選擇的文件,對其進(jìn)行封裝成文件流;
[0010]步驟四、以應(yīng)用服務(wù)器域A作為中轉(zhuǎn),對已封裝的文件流分割并轉(zhuǎn)換成二進(jìn)制格式進(jìn)行二次封裝序列化;
[0011 ]步驟五、設(shè)置文件服務(wù)器域B站點(diǎn)路徑;
[0012]步驟六、將已經(jīng)封裝的二進(jìn)制數(shù)據(jù)緩沖區(qū)分段上載到指定的文件服務(wù)器域B中;
[0013]步驟七、在文件服務(wù)器域B上對上載的數(shù)據(jù)進(jìn)行接收,反序列化,拆封處理;
[0014]步驟八、在域B中借助二進(jìn)制的高效處理數(shù)據(jù)的速度對拆封后的數(shù)據(jù)進(jìn)行處理,保存上傳文件;最后返回上傳結(jié)果到客戶端。
[0015]本發(fā)明解決了在Web開發(fā)與設(shè)計(jì)過程上傳文件的兩個問題:1、通常的文件上傳是訪問服務(wù)器域A,文件就上傳到域A上,隨著上傳文件的不斷增多,域A服務(wù)器壓力不斷增大,效率就不斷的降低,而通過域A的中轉(zhuǎn)把文件上傳到文件服務(wù)器域B中,不但減輕了域A服務(wù)器的壓力,提高了域A服務(wù)器的運(yùn)行效率,同時(shí)也降低了應(yīng)用服務(wù)器和文件之間的耦合性,提高了應(yīng)用服務(wù)的可維護(hù)性、可擴(kuò)展性;2、本發(fā)明不但解決了文件跨域上傳的問題,同時(shí)解決了在跨域上傳過程中的傳輸效率問題,以域A作為中轉(zhuǎn),對文件進(jìn)行分割,封裝成二進(jìn)制,再序列化分段上載到域B,域B進(jìn)行接收,反序列化、拼裝,借助二進(jìn)制的高效處理數(shù)據(jù)的速度對文件數(shù)據(jù)進(jìn)行處理保存,提高了上傳效率,也保證了上傳文件的完整性,可廣泛應(yīng)用于WEB開發(fā)過程中。
【附圖說明】
[0016]下面結(jié)合附圖對本發(fā)明進(jìn)一步說明:
[0017]附圖是本發(fā)明方法流程框圖。
【具體實(shí)施方式】
[0018]如圖1所示,本發(fā)明具體包含以下幾個步驟:
[0019]步驟一:客戶端訪問應(yīng)用服務(wù)器域A;
[0020]步驟二:在訪問的應(yīng)用服務(wù)上選擇本地所要上傳的文件;
[0021]步驟三:讀取已選擇的文件,對其進(jìn)行封裝成文件流;
[0022]步驟四:以應(yīng)用服務(wù)器域A作為中轉(zhuǎn),對已封裝的文件流轉(zhuǎn)進(jìn)行分割,并換成二進(jìn)制格式進(jìn)行二次封裝序列化;
[0023]步驟五:設(shè)置文件服務(wù)器域B站點(diǎn)路徑;
[0024]步驟六:將已經(jīng)封裝的二進(jìn)制數(shù)據(jù)分段上載到指定的文件服務(wù)器域B中;
[0025]步驟七:在文件服務(wù)器域B上對上載的數(shù)據(jù)進(jìn)行接收,反序列化,拆封處理;
[0026]步驟八:在域B借助二進(jìn)制高效處理數(shù)據(jù)的速度對步驟七中的數(shù)據(jù)進(jìn)行處理轉(zhuǎn)換,保存上傳文件;
[0027]步驟九:返回上傳結(jié)果到客戶端。
【主權(quán)項(xiàng)】
1.一種基于二進(jìn)制方式跨域高效上傳文件的方法,其特征在于:所述的方法包括如下步驟: 步驟一、客戶端訪問應(yīng)用服務(wù)器域A; 步驟二、在訪問的應(yīng)用服務(wù)上選擇本地所要上傳的文件; 步驟三、讀取已選擇的文件,對其進(jìn)行封裝成文件流; 步驟四、以應(yīng)用服務(wù)器域A作為中轉(zhuǎn),對已封裝的文件流分割并轉(zhuǎn)換成二進(jìn)制格式進(jìn)行二次封裝序列化; 步驟五、設(shè)置文件服務(wù)器域B站點(diǎn)路徑; 步驟六、將已經(jīng)封裝的二進(jìn)制數(shù)據(jù)緩沖區(qū)分段上載到指定的文件服務(wù)器域B中; 步驟七、在文件服務(wù)器域B上對上載的數(shù)據(jù)進(jìn)行接收,反序列化,拆封處理; 步驟八、在域B中借助二進(jìn)制的高效處理數(shù)據(jù)的速度對拆封后的數(shù)據(jù)進(jìn)行處理,保存上傳文件;最后返回上傳結(jié)果到客戶端。
【專利摘要】本發(fā)明涉及We開發(fā)技術(shù)領(lǐng)域,具體涉及一種基于二進(jìn)制方式跨域高效上傳文件的方法。本發(fā)明方法包括如下步驟:1、客戶端訪問應(yīng)用服務(wù)器域A;2、在訪問的應(yīng)用服務(wù)上選擇本地所要上傳的文件;3、讀取已選擇的文件,對其進(jìn)行封裝成文件流;4、以應(yīng)用服務(wù)器域A作為中轉(zhuǎn),對已封裝的文件流進(jìn)行分割,并轉(zhuǎn)換成二進(jìn)制格式進(jìn)行二次封裝序列化;5、設(shè)置文件服務(wù)器域B站點(diǎn)路徑;6、將已經(jīng)封裝的二進(jìn)制數(shù)據(jù)緩沖區(qū)分段上載到指定的文件服務(wù)器域B中;7、在文件服務(wù)器域B上對上載的數(shù)據(jù)進(jìn)行接收,反序列化,拆封處理;8、在域B中借助二進(jìn)制的高效處理速度對接收的數(shù)據(jù)進(jìn)行處理,保存上傳文件,并返回上傳結(jié)果到客戶端。本發(fā)明解決了在Web開發(fā)中跨域上傳文件的問題和跨域上傳文件的傳輸效率問題,可以用于跨域上傳文件。
【IPC分類】H04L29/08
【公開號】CN105516305
【申請?zhí)枴緾N201510895561
【發(fā)明人】丁繼鋒, 徐震宇, 季統(tǒng)凱
【申請人】國云科技股份有限公司
【公開日】2016年4月20日
【申請日】2015年12月7日