已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
I基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計與實現(xiàn)摘要:Socket在英文中是插座的意思,它的設(shè)計者實際上是暗指電話插座。因為在Socket環(huán)境下編程很像是模擬打電話,Internet的IP地址就是電話號碼,要打電話,需要電話插座,在程序中就是向系統(tǒng)申請一個Socket,以后兩臺機器上的程序“交談”都是通過這個Socket來進行的。對程序員來說,也可以把Socket看成一個文件指針,只要向指針所指的文件讀寫數(shù)據(jù),就可以實現(xiàn)雙向通信。利用Socket進行通信,有兩種主要的方式。第一種是面向連接的流方式。顧名思義,在這種方式下,兩個通信的應(yīng)用程序之間先要建立一種連接鏈路,其過程好像在打電話。一臺計算機(電話)要想和另一臺計算機(電話)進行數(shù)據(jù)傳輸(通話),必須首先獲得一條鏈路,只有確定了這條通路之后,數(shù)據(jù)通話)才能被正確接收和發(fā)送。這種方式對應(yīng)的是TCP(TransportControlProtocol)協(xié)議。第二種叫做無連接的數(shù)據(jù)報文方式,這時兩臺計算機像是把數(shù)據(jù)放在一個信封里,通過網(wǎng)絡(luò)寄給對方,信在傳送的過程中有可能會殘缺不全,而且后發(fā)出的信也有可能會先收到,它對應(yīng)的是UDP(UserDatagramProtocol)協(xié)議。流方式的特點是通信可靠,對數(shù)據(jù)有校驗和重發(fā)的機制,通常用來做數(shù)據(jù)文件的傳輸。網(wǎng)絡(luò)的快速發(fā)展和普及,文件傳輸愈來愈頻繁,傳輸文件容量越來越大,單純的套接字傳輸不能滿足需求。WindowSocket編程和多線程技術(shù)結(jié)合可以很好的解決這一問題,使得文件傳輸效率大大提高能很好的支持大文件、批量傳輸,提高服務(wù)器的響應(yīng)能力和并發(fā)處理能力。WindowSocket采用字節(jié)流的方式傳輸數(shù)據(jù),可以很好的保證傳輸?shù)姆€(wěn)定性和安全性;而采用動態(tài)哈夫曼編碼實現(xiàn)傳輸流的壓縮,減輕網(wǎng)絡(luò)傳輸負擔,提高網(wǎng)絡(luò)性能滿足用戶的需求。關(guā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面向?qū)ο笏枷牒蚒ML.11.2RUP迭代開發(fā).11.3套接字的發(fā)展.11.4多線程技術(shù).21.5基于SOCKET的大批量文件傳輸系統(tǒng)的功能和特點.21.6目的.22可行性分析.32.1編寫目的.32.2建議系統(tǒng)可行性分析.42.3經(jīng)濟可行性分析.53.系統(tǒng)設(shè)計與分析.63.1概念的定義.63.2設(shè)計人員.93.3需求分析.93.4系統(tǒng)總體設(shè)計.203.5系統(tǒng)詳細設(shè)計.223.6數(shù)據(jù)庫理論技術(shù).463.7數(shù)據(jù)庫設(shè)計說明.494.應(yīng)用系統(tǒng)實現(xiàn).514.1應(yīng)用系統(tǒng)開發(fā)工具.514.2C/S模型的實現(xiàn).534.3主要功能實現(xiàn).545.軟件測試.575.1測試概要.575.2測試計劃.575.3測試總結(jié).596.安裝部署.606.1簡介.606.2系統(tǒng)環(huán)境.606.3應(yīng)用程序安裝部署.606.4部署SQL數(shù)據(jù)庫.627.總結(jié).638.致謝語.649.參考文獻.6511.緒論1.1面向?qū)ο笏枷牒蚒ML面向?qū)ο蠓椒?Object-OrientedMethod)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法,是建立在“對象”概念基礎(chǔ)上的方法學。對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接對應(yīng)關(guān)系,一個對象類定義了具有相似性質(zhì)的一組對象。而每繼承性是對具有層次關(guān)系的類的屬性和操作進行共享的一種方式。所謂面向?qū)ο缶褪腔趯ο蟾拍?,以對象為中心,以類和繼承為構(gòu)造機制,來認識、理解、刻畫客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)面向?qū)ο笏枷肫鹪从诿嫦驅(qū)ο笳Z言,伴隨著面向?qū)ο缶幊陶Z言的發(fā)展和流行,以其新型的獨具優(yōu)越的新方法成為當今軟件開發(fā)的主流思想。統(tǒng)一建模語言(UML是UnifiedModelingLanguage的縮寫)是用來對軟件密集系統(tǒng)進行可視化建模的一種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化、和編制文檔的一種標準語言。UML是當今軟件行業(yè)的通用語言,由于其獨特的思想和對以往軟件開發(fā)經(jīng)驗教訓的總結(jié),同時結(jié)合當今流行的面向?qū)ο蟮拈_發(fā)思想,使其廣泛的應(yīng)用于軟件行業(yè)中。從最初的1.0到現(xiàn)在的2.0,更貼近實際開發(fā)過程。1.2RUP迭代開發(fā)RUP(RationalUnifiedProcess,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)是一個面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論。根據(jù)Rational(RationalRose和統(tǒng)一建模語言的開發(fā)者)的說法,好像一個在線的指導者,它可以為所有方面和層次的程序開發(fā)提供指導方針,模版以及事例支持。RUP和類似的產(chǎn)品-例如面向?qū)ο蟮能浖^程(OOSP),以及OPENProcess都是理解性的軟件工程工具-把開發(fā)中面向過程的方面(例如定義的階段,技術(shù)和實踐)和其他開發(fā)的組件(例如文檔,模型,手冊以及代碼等等)整合在一個統(tǒng)一的框架內(nèi)。1.3套接字的發(fā)展Winsock是指WindowsSockets,是一個為MicrosoftWindows定義的網(wǎng)絡(luò)編程規(guī)范。他源于UNIX中的Berkely套接字(Socket),使用WindowsSockets編制的應(yīng)用程序,可以同其他基于WindowsSocketsAPI編制的應(yīng)用程序通過網(wǎng)絡(luò)進行通訊,并且在編制基于Winsock的應(yīng)用程序時,不需要關(guān)心網(wǎng)絡(luò)通信協(xié)議本身是如何工作的。Winsock2不僅繼承了BerkelySockets的功能,而且還針對Windows作了擴展,Winsock還支持多種網(wǎng)絡(luò)通訊協(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)連接庫,任何網(wǎng)絡(luò)通訊協(xié)議都可以同Winsock兼容。1.4多線程技術(shù)進程是一個具有獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次運行活動。它可以申請和擁有系統(tǒng)資源,是一個動態(tài)的概念,是一個活動的實體。線程是進程中的一個實體,是被系統(tǒng)獨立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。多線程是為了使得多個線程并行的工作以完成多項任務(wù),以提高系統(tǒng)的效率。線程是在同一時間需要完成多項任務(wù)的時候被實現(xiàn)的。多線程的優(yōu)點:使用線程可以把占據(jù)長時間的程序中的任務(wù)放到后臺去處理,用戶可以同時處理多件事情,不需等待執(zhí)行提高了程序的運行速度。可以為每個線程設(shè)置優(yōu)先級,以調(diào)整工作進度。1.5基于SOCKET的大批量文件傳輸系統(tǒng)的功能和特點本系統(tǒng)的設(shè)計與實現(xiàn)主要采用SOCKET編程。同時,使用多線程技術(shù),提高服務(wù)器的響應(yīng)能力和并發(fā)處理能力;采用動態(tài)哈夫曼編碼實現(xiàn)傳輸流的壓縮,減輕網(wǎng)絡(luò)傳輸負擔;支持斷點續(xù)傳,用戶可以自己選擇采用斷點續(xù)傳還是重新上傳;實現(xiàn)大文件上傳,一次可以上傳多個文件;提供接口全面,可以動態(tài)設(shè)置上傳保存路徑,設(shè)置允許擴展名,允許最大大小等;可以限制上傳單個文件大小,控制上傳帶寬上限,允許文件擴展名,拒絕文件擴展名等。1.6目的通過這次設(shè)計實踐軟件開發(fā)過程,運用RationalRose進行用例建模和分析設(shè)計加深對UML的認識,采用RUP迭代開發(fā)方法進行開發(fā)進一步熟悉面向?qū)ο笏枷?。用Visualstudio2005集成開發(fā)環(huán)境和ServerSQL2000數(shù)據(jù)庫進行開發(fā)實現(xiàn);應(yīng)用WinRuner進行單元測試和集成測試。同時采用MicrosoftProject畫甘特圖,對各階度段進行跟蹤,確保更個軟件開發(fā)過程朝著計劃方向穩(wěn)定前進;保證按時高質(zhì)的完成各項任務(wù),順利的完成課題的各項要求,提升自己各方面的能力。32可行性分析2.1編寫目的首先,我們開發(fā)此系統(tǒng)當作一個產(chǎn)品而不只是看成一個設(shè)計,是為了方便用戶傳輸文件,提高效率。為此,我們把它看做一個項目采用統(tǒng)一過程(R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025吉林建筑安全員-C證考試(專職安全員)題庫及答案
- 世界11種氣候帶及柱狀圖
- 《情報服務(wù)與創(chuàng)新》課件
- 《常見發(fā)疹性傳染病》課件
- 單位人力資源管理制度呈現(xiàn)選集十篇
- 單位管理制度展示大合集人員管理篇十篇
- 學校環(huán)境調(diào)查報告
- 火災自動報警及聯(lián)動控制課程課件
- 小學英語課件-時間
- 2024年氧系漂白助劑項目可行性研究報告
- 期末 (試題) -2024-2025學年人教PEP版英語四年級上冊
- 醫(yī)院護士長五查房制度
- 數(shù)據(jù)庫原理-期末考試題和答案
- NB-T+10131-2019水電工程水庫區(qū)工程地質(zhì)勘察規(guī)程
- 2024河南中考數(shù)學專題復習第六章 第一節(jié) 圓的基本性質(zhì) 課件
- 2024年《動漫藝術(shù)概論》自考復習題庫(附答案)
- 新時代勞動教育教程(高校勞動教育課程)全套教學課件
- 開放系統(tǒng)10861《理工英語(4)》期末機考真題及答案(第108套)
- 《采礦工程英語》課件
- 2024年02月中國地質(zhì)調(diào)查局烏魯木齊自然資源綜合調(diào)查中心招考聘用62人筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
- 公司扭虧方案
評論
0/150
提交評論