已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
I基于SOCKET的大文件批量傳輸系統(tǒng)的設計與實現(xiàn)摘要:Socket在英文中是插座的意思,它的設計者實際上是暗指電話插座。因為在Socket環(huán)境下編程很像是模擬打電話,Internet的IP地址就是電話號碼,要打電話,需要電話插座,在程序中就是向系統(tǒng)申請一個Socket,以后兩臺機器上的程序“交談”都是通過這個Socket來進行的。對程序員來說,也可以把Socket看成一個文件指針,只要向指針所指的文件讀寫數(shù)據(jù),就可以實現(xiàn)雙向通信。利用Socket進行通信,有兩種主要的方式。第一種是面向連接的流方式。顧名思義,在這種方式下,兩個通信的應用程序之間先要建立一種連接鏈路,其過程好像在打電話。一臺計算機(電話)要想和另一臺計算機(電話)進行數(shù)據(jù)傳輸(通話),必須首先獲得一條鏈路,只有確定了這條通路之后,數(shù)據(jù)通話)才能被正確接收和發(fā)送。這種方式對應的是TCP(TransportControlProtocol)協(xié)議。第二種叫做無連接的數(shù)據(jù)報文方式,這時兩臺計算機像是把數(shù)據(jù)放在一個信封里,通過網絡寄給對方,信在傳送的過程中有可能會殘缺不全,而且后發(fā)出的信也有可能會先收到,它對應的是UDP(UserDatagramProtocol)協(xié)議。流方式的特點是通信可靠,對數(shù)據(jù)有校驗和重發(fā)的機制,通常用來做數(shù)據(jù)文件的傳輸。網絡的快速發(fā)展和普及,文件傳輸愈來愈頻繁,傳輸文件容量越來越大,單純的套接字傳輸不能滿足需求。WindowSocket編程和多線程技術結合可以很好的解決這一問題,使得文件傳輸效率大大提高能很好的支持大文件、批量傳輸,提高服務器的響應能力和并發(fā)處理能力。WindowSocket采用字節(jié)流的方式傳輸數(shù)據(jù),可以很好的保證傳輸?shù)姆€(wěn)定性和安全性;而采用動態(tài)哈夫曼編碼實現(xiàn)傳輸流的壓縮,減輕網絡傳輸負擔,提高網絡性能滿足用戶的需求。關鍵字:Socket;TCP;多線程;RUP;UMLThelargefilesbulktransmissionbasedonsocketsystemIIdesignandimplementation(HunancityUniversityThecomputerscienceis2,004levelsofcomputersciencesandthetechnicalspecialty,Hunanyiyang413000)Abstract:SocketsocketinEnglishisthemeaning,itisimpliedinfact,thedesignersoftelephonesocket.Socketenvironmentbecausetheprogrammingissimilartoanalogtelephone,InternetIPaddressisthetelephonenumbertocall,theneedtophonejack,intheproceedingsistoapplyasystemSocket,aftertwomachinesontheproceduresconversationThroughthisSocketareconducted.Theprogrammers,canalsoSocketasaguidelinedocument,aslongastheguidelinesreferredtothedocumentstoreadandwritedata,wecanachievetwo-waycommunication.SocketCommunicationstouse,therearetwomainways.Thefirstistoconnecttheflow-orientedapproach.Asthenamesuggests,inthisway,thetwocommunicationsapplicationstoestablishalinkbetweenthefirstlink,theprocessseemstobecalled.Acomputer(telephone)andtoanothercomputer(phone),datatransmission(call),youmustfirstobtainalink,onlyidentifiedthispathway,thedata(all)canbeproperlyreceiveandsend.ThisisthecorrespondingTCP(TransportControlProtocol)agreement.Thesecondiscalledadatalinktothetext,thentwocomputerssuchasdataonanenvelope,senttoeachotherthroughthenetwork,believedtobeintheprocessoftransmissionmaybeincomplete,andissuedaletterMayalsohavetoreceive,itisthecorrespondingUDP(UserDatagramProtocol)agreement.Wayflowofcommunicationischaracterizedbyreliable,thedataandre-issuedacheckmechanism,usuallyusedforthetransmissionofdatafiles.Network';srapiddevelopmentandpopularityoffiletransfermoreandmorefrequent,increasingthecapacityoftransferringfiles,asimplesockettransmissioncannotmeetthedemand.WindowSocketprogrammingandmulti-threadingcancombinegoodsolutiontothisproblem,makingfiletransfergreatlyenhancedtheefficiencyoflargefilescanbeverygoodsupport,bulktransmission,improveservercapacityandwiththeresponsecapacity.WindowSocketusedbyte-waytransmissionofdata,canguaranteeagoodtransferofstabilityandsecurityandtheuseofdynamicHuffmanCodingtransportstreamcompression,reducetheburdenontransmissionnetworks,improvenetworkperformancetomeettheneedsofusers.IIIKeywords:Socket;TCP;multi-threaded;RUP;UML;目錄1.緒論.11.1面向對象思想和UML.11.2RUP迭代開發(fā).11.3套接字的發(fā)展.11.4多線程技術.21.5基于SOCKET的大批量文件傳輸系統(tǒng)的功能和特點.21.6目的.22可行性分析.32.1編寫目的.32.2建議系統(tǒng)可行性分析.42.3經濟可行性分析.53.系統(tǒng)設計與分析.63.1概念的定義.63.2設計人員.93.3需求分析.93.4系統(tǒng)總體設計.203.5系統(tǒng)詳細設計.223.6數(shù)據(jù)庫理論技術.463.7數(shù)據(jù)庫設計說明.494.應用系統(tǒng)實現(xiàn).514.1應用系統(tǒng)開發(fā)工具.514.2C/S模型的實現(xiàn).534.3主要功能實現(xiàn).545.軟件測試.575.1測試概要.575.2測試計劃.575.3測試總結.596.安裝部署.606.1簡介.606.2系統(tǒng)環(huán)境.606.3應用程序安裝部署.606.4部署SQL數(shù)據(jù)庫.627.總結.638.致謝語.649.參考文獻.6511.緒論1.1面向對象思想和UML面向對象方法(Object-OrientedMethod)是一種把面向對象的思想應用于軟件開發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法,是建立在“對象”概念基礎上的方法學。對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接對應關系,一個對象類定義了具有相似性質的一組對象。而每繼承性是對具有層次關系的類的屬性和操作進行共享的一種方式。所謂面向對象就是基于對象概念,以對象為中心,以類和繼承為構造機制,來認識、理解、刻畫客觀世界和設計、構建相應的軟件系統(tǒng)面向對象思想起源于面向對象語言,伴隨著面向對象編程語言的發(fā)展和流行,以其新型的獨具優(yōu)越的新方法成為當今軟件開發(fā)的主流思想。統(tǒng)一建模語言(UML是UnifiedModelingLanguage的縮寫)是用來對軟件密集系統(tǒng)進行可視化建模的一種語言。UML為面向對象開發(fā)系統(tǒng)的產品進行說明、可視化、和編制文檔的一種標準語言。UML是當今軟件行業(yè)的通用語言,由于其獨特的思想和對以往軟件開發(fā)經驗教訓的總結,同時結合當今流行的面向對象的開發(fā)思想,使其廣泛的應用于軟件行業(yè)中。從最初的1.0到現(xiàn)在的2.0,更貼近實際開發(fā)過程。1.2RUP迭代開發(fā)RUP(RationalUnifiedProcess,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)是一個面向對象且基于網絡的程序開發(fā)方法論。根據(jù)Rational(RationalRose和統(tǒng)一建模語言的開發(fā)者)的說法,好像一個在線的指導者,它可以為所有方面和層次的程序開發(fā)提供指導方針,模版以及事例支持。RUP和類似的產品-例如面向對象的軟件過程(OOSP),以及OPENProcess都是理解性的軟件工程工具-把開發(fā)中面向過程的方面(例如定義的階段,技術和實踐)和其他開發(fā)的組件(例如文檔,模型,手冊以及代碼等等)整合在一個統(tǒng)一的框架內。1.3套接字的發(fā)展Winsock是指WindowsSockets,是一個為MicrosoftWindows定義的網絡編程規(guī)范。他源于UNIX中的Berkely套接字(Socket),使用WindowsSockets編制的應用程序,可以同其他基于WindowsSocketsAPI編制的應用程序通過網絡進行通訊,并且在編制基于Winsock的應用程序時,不需要關心網絡通信協(xié)議本身是如何工作的。Winsock2不僅繼承了BerkelySockets的功能,而且還針對Windows作了擴展,Winsock還支持多種網絡通訊協(xié)議,如:常見的TCP/IP(TransmissionControlProtocol/InternetProtocol)協(xié)議、XNS(XeroxNetworkSystem),DigitalEquipment公司的DECNet協(xié)議,Novell公司的IPX/SPX(InternetPacketExchange/SequencedPackedExchange)等。目前Winsock規(guī)范主要針對TCP/IP,但只要提供了實現(xiàn)Winsock的動態(tài)連接庫,任何網絡通訊協(xié)議都可以同Winsock兼容。1.4多線程技術進程是一個具有獨立功能的程序關于某個數(shù)據(jù)集合的一次運行活動。它可以申請和擁有系統(tǒng)資源,是一個動態(tài)的概念,是一個活動的實體。線程是進程中的一個實體,是被系統(tǒng)獨立調度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。多線程是為了使得多個線程并行的工作以完成多項任務,以提高系統(tǒng)的效率。線程是在同一時間需要完成多項任務的時候被實現(xiàn)的。多線程的優(yōu)點:使用線程可以把占據(jù)長時間的程序中的任務放到后臺去處理,用戶可以同時處理多件事情,不需等待執(zhí)行提高了程序的運行速度??梢詾槊總€線程設置優(yōu)先級,以調整工作進度。1.5基于SOCKET的大批量文件傳輸系統(tǒng)的功能和特點本系統(tǒng)的設計與實現(xiàn)主要采用SOCKET編程。同時,使用多線程技術,提高服務器的響應能力和并發(fā)處理能力;采用動態(tài)哈夫曼編碼實現(xiàn)傳輸流的壓縮,減輕網絡傳輸負擔;支持斷點續(xù)傳,用戶可以自己選擇采用斷點續(xù)傳還是重新上傳;實現(xiàn)大文件上傳,一次可以上傳多個文件;提供接口全面,可以動態(tài)設置上傳保存路徑,設置允許擴展名,允許最大大小等;可以限制上傳單個文件大小,控制上傳帶寬上限,允許文件擴展名,拒絕文件擴展名等。1.6目的通過這次設計實踐軟件開發(fā)過程,運用RationalRose進行用例建模和分析設計加深對UML的認識,采用RUP迭代開發(fā)方法進行開發(fā)進一步熟悉面向對象思想。用Visualstudio2005集成開發(fā)環(huán)境和ServerSQL2000數(shù)據(jù)庫進行開發(fā)實現(xiàn);應用WinRuner進行單元測試和集成測試。同時采用MicrosoftProject畫甘特圖,對各階度段進行跟蹤,確保更個軟件開發(fā)過程朝著計劃方向穩(wěn)定前進;保證按時高質的完成各項任務,順利的完成課題的各項要求,提升自己各方面的能力。32可行性分析2.1編寫目的首先,我們開發(fā)此系統(tǒng)當作一個產品而不只是看成一個設計,是為了方便用戶傳輸文件,提高效率。為此,我們把它看做一個項目采用統(tǒng)一過程(R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版產業(yè)升級募集資金三方監(jiān)管與支持合同4篇
- 2025年企業(yè)數(shù)字化智能物聯(lián)網物聯(lián)網連接合作協(xié)議
- 2025年家族財富傳承繼承管理規(guī)劃遺產協(xié)議
- 2025版委托擔保合同范本:互聯(lián)網金融平臺風險控制協(xié)議3篇
- 《地球上生命的起源課件》
- 二零二五年度生態(tài)旅游區(qū)開發(fā)合同書4篇
- 二零二五年度退休返聘人員合同終止告知書
- 二零二五年度大學生就業(yè)實習實訓基地合作框架協(xié)議范本
- 2025年度醫(yī)療健康管理系統(tǒng)軟件購銷合同模板
- 2025年度汽車零部件車輛質押租賃協(xié)議
- 2025年度公務車輛私人使用管理與責任協(xié)議書3篇
- 售后工程師述職報告
- 綠化養(yǎng)護難點要點分析及技術措施
- 2024年河北省高考歷史試卷(含答案解析)
- 車位款抵扣工程款合同
- 小學六年級數(shù)學奧數(shù)題100題附答案(完整版)
- 高中綜評項目活動設計范文
- 英漢互譯單詞練習打印紙
- 2023湖北武漢華中科技大學招聘實驗技術人員24人筆試參考題庫(共500題)答案詳解版
- 一氯二氟甲烷安全技術說明書MSDS
- 物流簽收回執(zhí)單
評論
0/150
提交評論