999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web Service的大文件傳輸設計與實現(xiàn)

2014-04-29 00:44:03李文杰高鵬翔
計算機時代 2014年1期
關鍵詞:用戶體驗

李文杰 高鵬翔

摘 要: 分析了目前一些主流的文件傳輸方法,包括文件傳輸?shù)南嚓P協(xié)議以及Web Service技術等。在綜合考慮用戶對于跨防火墻通信和大數(shù)據(jù)量文件傳輸?shù)确矫嫘枨蟮幕A上,采用了基于Web Service技術的解決方案來實現(xiàn)文件傳輸系統(tǒng)。結合運用其他如多線程等多種技術,來有效解決一些大文件傳輸時經常遇到的如超時、用戶體驗等問題。

關鍵詞: 大文件傳輸; Web Service; 跨防火墻通信; 超時; 多線程; 用戶體驗

中圖分類號:TP315 文獻標志碼:A 文章編號:1006-8228(2014)01-27-02

0 引言

文件傳輸技術在企業(yè)中得到了廣泛應用。但對于跨防火墻傳輸(如圖1所示)和文件傳輸超時等問題,目前還缺少相關研究。為此,本文在分析各種文件傳輸技術的基礎上,提出了一種基于Web Service技術實現(xiàn)文件傳輸?shù)姆椒ā?/p>

1 數(shù)據(jù)傳輸技術

自60年代末電子數(shù)據(jù)交換技術出現(xiàn)以來,已發(fā)展出多種數(shù)據(jù)傳輸方式,如:遠程拷貝技術,各種文件傳輸協(xié)議,以及使用軟件制造技術開發(fā)的數(shù)據(jù)傳輸系統(tǒng)等。下面對運用最廣泛的文件傳輸?shù)南嚓P協(xié)議和數(shù)據(jù)傳輸系統(tǒng)的開發(fā)技術進行分析和比較。

1.1 文件傳輸協(xié)議

文件傳輸協(xié)議主要包括FTP、TFTP,F(xiàn)TPS[1-3]等。這些協(xié)議實現(xiàn)了文件的上傳、下載和安全管理等功能,得到了廣泛應用。但是,在安全性要求較高的環(huán)境中,防火墻可能會封鎖上述協(xié)議所依賴的端口。如果服務器的有關端口被封閉,那么上述協(xié)議就難以找到可行的運用方案。因此文件傳輸協(xié)議不能滿足跨防火墻傳輸?shù)男枰?/p>

1.2 數(shù)據(jù)傳輸系統(tǒng)的發(fā)展

數(shù)據(jù)傳輸系統(tǒng)最初基于客戶機/服務器模式實現(xiàn),到90年代發(fā)展出以CORBA等為代表的分布式計算技術。CORBA等技術雖然在局域網內部的同源環(huán)境中表現(xiàn)良好,但仍存在平臺耦合性高、缺少跨防火墻通信支持等問題,因而不適合跨網絡異源環(huán)境中的數(shù)據(jù)傳輸。為此,必須發(fā)展更為統(tǒng)一和開放的技術標準。在這一背景下,Web Service技術逐漸得到推廣[8]。

1.3 Web Service

Web Service基于XML,Http,SOAP,WSDL和UDDI[4-7]等標準。SOAP建立在XML與HTTP之上,能實現(xiàn)跨平臺的數(shù)據(jù)傳輸;WSDL與UDDI則為分布式環(huán)境中發(fā)布和查找服務提供了支持。此外,Web Service基于XML與Http,因而能實現(xiàn)跨防火墻的文件傳輸(Http協(xié)議使用的80端口必須開放,否則不能滿足基本聯(lián)網需求)。基于上述優(yōu)點,本系統(tǒng)選用Web Service技術進行開發(fā)。

2 文件傳輸系統(tǒng)的關鍵技術

根據(jù)用戶要求,系統(tǒng)必須滿足GB級別的大文件傳輸。針對大文件傳輸中常見的內存占用大和傳輸失敗率高的問題,已經有分塊傳輸和斷點續(xù)傳等解決方案[9];但對于超時問題目前仍缺少標準的解決方案。超時原因主要包括網絡故障和服務器作業(yè)時間過長兩方面。網絡故障可通過網絡恢復后重傳解決;作業(yè)時間的問題則需要具體分析。作業(yè)時間可分為兩階段。

⑴ 準備階段:進行文件的壓縮與分割等。準備時間與數(shù)據(jù)量成正比,難以通過程序控制。

⑵ 傳輸階段:傳送分割得到的文件分塊。分塊大小可由程序指定,因此傳輸時間可控。

上傳時,客戶機是數(shù)據(jù)源。第⑴階段已在客戶端完成,客戶機發(fā)出的請求均處于第⑵階段,因此時間可控。非網絡故障的情況下不會發(fā)生超時。

下載時,服務器是數(shù)據(jù)源。收到客戶機發(fā)出的下載請求后,服務器處于第⑴階段,時間難以控制,大數(shù)據(jù)量時極易發(fā)生超時。因此,本文重點解決下載作業(yè)的超時問題。

2.1 解決下載作業(yè)超時問題

解決超時問題通常的思路是增加等待時間[10],但這不能從根本上解決問題:首先,某些應用背景下能夠設置的等待時間有限;其次,即使允許無限等待,等待中的客戶機也不能獲得服務器的作業(yè)進度,畫面在下載開始后的較長時間里處于假死狀態(tài),用戶可能會誤以為系統(tǒng)崩潰。為此,本文結合多線程技術提出了新的解決方案。具體如下。

⑴ 解決畫面假死問題。為此,需要在服務器處于準備階段時就獲得作業(yè)進度。首先在服務器端創(chuàng)建作業(yè)進度報告進程,用于獲取下載作業(yè)的進度,當收到客戶端請求時,該進程向客戶端返回當前作業(yè)進度;此外,客戶端也要指定負責向進度報告進程發(fā)出請求的線程。需要注意:該線程不能同時負責發(fā)起下載請求。因為客戶機線程發(fā)起下載請求后必須等待服務器準備作業(yè)完成或超時才能執(zhí)行下一步操作,所以等待期間無法向進度報告進程發(fā)出請求,從而無法及時獲得作業(yè)進度,不能真正解決畫面假死問題。因此,必須使用多線程技術:在客戶端建立兩個線程,分別負責發(fā)起下載請求和查詢作業(yè)進度。

⑵ 解決超時問題。發(fā)起下載請求的線程可能會發(fā)生超時。超時發(fā)生時不能簡單地中止下載,因為服務器可能仍在進行下載準備,并沒有失敗。所以本文采用如下方法:若發(fā)起下載請求的線程超時,客戶機程序繼續(xù)通過進度查詢線程獲得服務器的作業(yè)進度。若服務器最終成功完成準備作業(yè),就進入文件分塊傳輸階段;若服務器準備作業(yè)最終失敗,就真正中止下載作業(yè),報告錯誤。詳細流程如下。

① 下載準備階段

客戶機程序建立子線程用于發(fā)起下載請求;服務器收到請求后由下載進程啟動準備工作,作業(yè)進度報告進程則記錄準備作業(yè)的進度;子線程發(fā)起請求后,客戶機主線程按一定時間間隔不斷向服務器端進度報告進程發(fā)起輪詢請求以獲得最新的作業(yè)進度。因為發(fā)起下載請求的是子線程而非主線程,所以即使超時,也不會影響客戶機主線程與服務器下載進程,從而解決了因超時導致下載作業(yè)無法進行的問題。因為無論超時發(fā)生與否主線程都能正常運行,所以能夠不斷把獲得的下載作業(yè)進度反映到用戶界面上,從而解決了畫面假死問題(圖2)。

② 文件傳輸階段

服務器準備完畢后開始傳輸文件分塊。由于服務器下載進程傳送文件塊時可以附帶進度信息,并且客戶機也可以根據(jù)下載的文件塊數(shù)目計算進度,所以客戶機主線程不再需要依賴進度報告進程獲得進度信息,但仍需要把進度信息反映到用戶界面以改善用戶體驗(圖3)。

2.2 上傳作業(yè)中應用進度反饋機制

前面已經論述過上傳作業(yè)不用擔心超時的問題,但用戶體驗可以活用下載作業(yè)的方法予以改善:根據(jù)已上傳文件塊的數(shù)目計算進度并實時反映到用戶界面,改善用戶體驗。

3 結束語

實際運行中,本系統(tǒng)實現(xiàn)了跨網絡的數(shù)據(jù)傳輸。即使客戶機需要穿越防火墻連接另一網絡中的服務器,也能成功完成傳輸。此外,系統(tǒng)在數(shù)量級為GB的文件傳輸中同樣表現(xiàn)良好。特別是下載作業(yè),服務器的準備時間通常在30分鐘以上,客戶機沒有因為長時間等待而失敗,并能夠在服務器準備期間通過請求不斷獲得準備作業(yè)的進度;在開始文件分塊的傳輸后,客戶機能夠繼續(xù)取得傳輸進度,使用戶得以不間斷地監(jiān)控整個傳輸過程,獲得良好的用戶體驗。可見,本文提出的解決方案在跨網絡、大數(shù)據(jù)量的文件傳輸作業(yè)中有著廣闊的應用前景。

但是,目前的方法仍存在有待解決的問題:①作業(yè)時間過長。目前必須等待客戶機(上傳作業(yè))或服務器(下載作業(yè))準備好所有文件分塊后才能開始傳輸。如果可以在生成第一個文件分塊之后就開始傳輸,就能大幅度縮短時間。但要做到這一點,還需要兼顧數(shù)據(jù)完整性等問題,這需要進一步研究。②取消操作的實現(xiàn)。在傳輸文件分塊的階段,要取消傳輸作業(yè),只要通知服務器結束傳輸,清除已傳數(shù)據(jù)即可。但在下載作業(yè)的準備階段中,服務器可能忙于執(zhí)行讀取、壓縮等操作,即使收到用戶的取消請求也不能立即停止。如何使服務器在準備過程中能及時響應取消請求,也需要繼續(xù)研究和探討。

參考文獻:

[1] J. Postel, J. Reynolds. FILE TRANSFER PROTOCOL (FTP)[S].

RFC 959, October 1985. http://tools.ietf.org/html/rfc959.

[2] G. Malkin, A. Harkin. TFTP Option Extension[S]. RFC 2347, May

1998. http://tools.ietf.org/html/rfc2347.

[3] T. Dierks, E. Rescorla. The Transport Layer Security (TLS)

Protocol[S]. RFC 5246, August 2008.http://tools.ietf.org/html/rfc5246.

[4] Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler,

Fran?ois Yergeau. Extensible Markup Language (XML) 1.0 (Fifth Edition)[S]. W3C Recommendation,26 November 2008. http://www.w3.org/TR/REC-xml/.

[5] Martin Gudgin, Marc Hadley, Noah Mendelsohn, Jean-Jacques

Moreau, Henrik Frystyk Nielsen, Anish Karmarkar, Yves Lafon. SOAP Version 1.2[S]. W3C Recommendation, 27 April 2007. http://www.w3.org/TR/soap12-part1/.

[6] Erik Christensen, Francisco Curbera, Greg Meredith, Sanjiva

Weerawarana. Web Services Description Language (WSDL) 1.1[S]. W3C Note, 15 March 2001. http://www.w3.org/TR/wsdl.

[7] Peter Brittenham, Francisco Cubera, Dave Ehnebuske, Steve

Graham. Understanding WSDL in a UDDI registry, Part 1[OL]. IBM developerWorks, 01 Sep 2001. http://www.ibm.com/developerworks/library/ws-wsdl/.

[8] Ramesh Nagappan,Robert Skoczylas,Rima Patel Sriganesh 著,龐

大剛,陶程譯.Java Web服務開發(fā)[M].清華大學出版社,2004.

[9] 黎苑文,程明智,徐秀花,楊義先.斷點續(xù)傳及多線程機制在遠程傳版

中的應用研究[J].北京印刷學院學報,2012.20(6):53-56

[10] Apache Software Foundation. Timeout Configuration[EB/OL].

April 2012.http://axis.apache.org/axis2/java/core/docs/http-

transport.html.

猜你喜歡
用戶體驗
淺析基于微信平臺的商業(yè)盈利模式
今傳媒(2016年11期)2016-12-19 13:12:24
基于用戶體驗的輔導員微信公眾號建設思考
今傳媒(2016年11期)2016-12-19 12:21:02
此處有形更有情
藝術科技(2016年10期)2016-12-14 23:07:47
移動智能終端微創(chuàng)新設計中用戶體驗的研究與應用
藝術科技(2016年10期)2016-12-14 20:53:49
基于用戶體驗的產品交互設計研究
藝術科技(2016年9期)2016-11-18 18:05:44
基于用戶體驗的旅游APP界面設計分析
藝術科技(2016年9期)2016-11-18 16:15:56
基于用戶交互式體驗下的APP版式設計研究
藝術科技(2016年9期)2016-11-18 15:11:16
手機閱讀平臺用戶體驗影響因子分析
出版科學(2016年5期)2016-11-10 06:47:04
O2O模式下生鮮農產品移動電子商務發(fā)展研究
淺談用戶體驗在產品設計中的運用
主站蜘蛛池模板: 国产亚洲精久久久久久久91| 成年人福利视频| 欧美亚洲另类在线观看| 天天摸夜夜操| 亚洲成人一区在线| 精品无码一区二区三区在线视频| 亚洲综合香蕉| 真人高潮娇喘嗯啊在线观看| 亚洲国产精品无码AV| 免费久久一级欧美特大黄| 免费一级α片在线观看| 久草热视频在线| 欧美伦理一区| 99福利视频导航| 亚洲第一区在线| 日韩在线2020专区| 亚洲无码高清免费视频亚洲| 中文精品久久久久国产网址| 久久这里只有精品国产99| 成人综合网址| 国产无人区一区二区三区| 国产精品熟女亚洲AV麻豆| 国产哺乳奶水91在线播放| 久久久久无码精品| 国产一在线观看| 国产白浆一区二区三区视频在线| 九色视频一区| 欧美狠狠干| 一级毛片免费不卡在线 | 国产一级无码不卡视频| 亚洲日韩国产精品综合在线观看| 日韩资源站| 又爽又大又黄a级毛片在线视频| 五月天天天色| 亚洲视频一区| 九九久久精品国产av片囯产区| 久久这里只精品国产99热8| 亚洲天堂免费在线视频| 国产一区免费在线观看| 91久久青青草原精品国产| 欧美人人干| 欧美亚洲国产一区| 日韩高清一区 | 国产va在线观看免费| 国产新AV天堂| 91无码人妻精品一区二区蜜桃| 香蕉国产精品视频| 久夜色精品国产噜噜| 国产精品无码久久久久AV| 真人高潮娇喘嗯啊在线观看 | 国产精品视频a| 亚洲欧美日韩中文字幕在线一区| 欧美精品另类| 老熟妇喷水一区二区三区| 国产成人精品一区二区免费看京| 多人乱p欧美在线观看| 久久综合九九亚洲一区| 亚洲国产天堂在线观看| 国产成人91精品| 人妻91无码色偷偷色噜噜噜| 99视频在线观看免费| 亚洲热线99精品视频| 国产精品久久自在自线观看| 国产美女免费| 国产精品浪潮Av| 日韩美毛片| 国产一区二区视频在线| 少妇露出福利视频| 69免费在线视频| 毛片三级在线观看| 久久一日本道色综合久久| 日韩欧美亚洲国产成人综合| 成年看免费观看视频拍拍| 一本久道热中字伊人| 国产视频一区二区在线观看| 无码精品一区二区久久久| 潮喷在线无码白浆| 99热最新在线| 久久人妻系列无码一区| 91在线无码精品秘九色APP| 呦女亚洲一区精品| 麻豆AV网站免费进入|