• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于WinSocket的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2010-05-08 02:56:34吳湘華曹麗君
      關(guān)鍵詞:用例線(xiàn)程服務(wù)器

      吳湘華 曹麗君

      (1、湖南城市學(xué)院網(wǎng)絡(luò)信息中心,湖南 益陽(yáng) 413000 1、湖南城市學(xué)院計(jì)算機(jī)科學(xué)系,湖南 益陽(yáng) 413000)

      1 引言

      目前存在許多文件傳輸系統(tǒng),如基于HTTP、FTP的文件傳輸系統(tǒng)。基于HTTP的文件傳輸系統(tǒng),具有較好的二次開(kāi)發(fā)性能,但是對(duì)于大文件的支持十分不理想[1];基于FTP的文件傳輸系統(tǒng),雖然能夠很好的支持大文件傳輸,但是要在其基礎(chǔ)之上要進(jìn)行二次開(kāi)發(fā)比較困難[2]。不管是基于HTTP的文件傳輸,還是FTP的文件傳輸系統(tǒng),它們均處于網(wǎng)絡(luò)體系結(jié)構(gòu)的應(yīng)用層,所處的層次比較高,在應(yīng)用層上進(jìn)行二次開(kāi)發(fā)批量傳輸大文件比較困難,而且效果并不理想。

      2 解決方案

      在RUP的指導(dǎo)下運(yùn)用UML建模技術(shù),采用TCP/IP體系結(jié)構(gòu)傳輸層的SOCKET編程,可以很好實(shí)現(xiàn)大文件批量傳輸,一次可以上傳多個(gè)文件,可以動(dòng)態(tài)設(shè)置上傳保存路徑,設(shè)置允許擴(kuò)展名,允許最大大小等;同時(shí),采用多線(xiàn)程技術(shù)以提高服務(wù)器的響應(yīng)能力和并發(fā)處理能力;采用動(dòng)態(tài)哈夫曼編碼實(shí)現(xiàn)傳輸流的壓縮,減輕網(wǎng)絡(luò)傳輸負(fù)擔(dān);采用斷點(diǎn)續(xù)傳技術(shù),減少重復(fù)傳輸量,提高網(wǎng)絡(luò)資源的利用率,提高服務(wù)器磁盤(pán)利用率,減少冗余,用戶(hù)可以自己選擇采用斷點(diǎn)續(xù)傳還是重新上傳;并提供完善的用戶(hù)管理,用戶(hù)必須是授權(quán)用戶(hù),否則無(wú)法登錄服務(wù)器。

      RUP[1](Rational Unified Process,統(tǒng)一軟件過(guò)程)是一種面向?qū)ο蟮能浖^(guò)程框架,RUP是一個(gè)重復(fù)和迭代的開(kāi)發(fā)過(guò)程[2],解決了瀑布模型不可回溯的缺點(diǎn),同時(shí)保留了瀑布模型規(guī)則化、流程化的優(yōu)點(diǎn)。RUP分為連續(xù)的4個(gè)階段:初始階段、細(xì)化階段、構(gòu)造階段和交付階段,每個(gè)階段可以進(jìn)一步分解成多次迭代,每次迭代都是產(chǎn)品的進(jìn)化過(guò)程,從中獲得最終產(chǎn)品的一個(gè)子集,通過(guò)若干次迭代增量式地開(kāi)發(fā),成長(zhǎng)為最終的系統(tǒng)。統(tǒng)一建模語(yǔ)言UML[4]是一種面向?qū)ο蟮慕UZ(yǔ)言。其主要作用是幫助用戶(hù)對(duì)軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒#梢悦枋鲞@個(gè)軟件開(kāi)發(fā)過(guò)程從需求分析直到實(shí)現(xiàn)和測(cè)試的全過(guò)程。它包括UML語(yǔ)義和UML表示法兩個(gè)部分,由視圖、圖、模型元素和通用機(jī)制等幾個(gè)部分組成。

      Winsock是指Windows Sockets,源于UNIX中的Berkely套接字[5],使用Windows Sockets編制的應(yīng)用程序,可以同其他基于Windows Sockets API編制的應(yīng)用程序通過(guò)網(wǎng)絡(luò)進(jìn)行通訊,并且在編制基于Winsock的應(yīng)用程序時(shí),不需要關(guān)心網(wǎng)絡(luò)通信協(xié)議本身是如何工作的。該系統(tǒng)采用Window Sockets字節(jié)流[6]的方式傳輸數(shù)據(jù),可以很好的保證傳輸?shù)姆€(wěn)定性和安全性。

      進(jìn)程是一個(gè)具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它可以申請(qǐng)和擁有系統(tǒng)資源,是一個(gè)動(dòng)態(tài)的概念,是一個(gè)活動(dòng)的實(shí)體。線(xiàn)程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線(xiàn)程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線(xiàn)程共享進(jìn)程所擁有的全部資源。多線(xiàn)程[7]是為了使得多個(gè)線(xiàn)程并行的工作以完成多項(xiàng)任務(wù),以提高系統(tǒng)的效率。多線(xiàn)程的優(yōu)點(diǎn):使用線(xiàn)程可以把占據(jù)長(zhǎng)時(shí)間的程序中的任務(wù)放到后臺(tái)去處理,用戶(hù)可以同時(shí)處理多件事情,不需等待執(zhí)行提高了程序的運(yùn)行速度。在該系統(tǒng)中使用多線(xiàn)程技術(shù),可以提高文件傳輸效率,提高服務(wù)器的響應(yīng)能力和并發(fā)處理能力。

      3 系統(tǒng)功能定義

      戶(hù)端:(1)用戶(hù)通過(guò)IP地址和端口號(hào)訪(fǎng)問(wèn)服務(wù)器。(2)授權(quán)用戶(hù)可以登錄服務(wù)器。(3)登錄用戶(hù)可以瀏覽服務(wù)器目錄。(4)登錄用戶(hù)可以創(chuàng)建自定義的目錄名,也可以刪除指定目錄。(5)登錄用戶(hù)可以選擇上傳目錄、發(fā)送文件和斷點(diǎn)續(xù)傳/重傳。

      服務(wù)器端:(1)管理員啟動(dòng)程序后可以開(kāi)啟/關(guān)閉服務(wù) (2)管理員可以設(shè)置服務(wù)器端口號(hào),定期跟換服務(wù)器端口,保證服務(wù)器的安全性。(3)當(dāng)監(jiān)聽(tīng)到用戶(hù)發(fā)送文件請(qǐng)求時(shí)候,為用戶(hù)開(kāi)啟一個(gè)文件接收線(xiàn)程,接收用戶(hù)文件,同時(shí)將接收到文件信息寫(xiě)入數(shù)據(jù)庫(kù),記錄上傳大??;當(dāng)傳輸中斷時(shí),用戶(hù)再次上傳可以選擇斷點(diǎn)續(xù)傳或覆蓋源文件。(4)進(jìn)行完善的用戶(hù)管理。

      4 RUP初始階段

      業(yè)務(wù)系統(tǒng)用例就是提供給客戶(hù)、業(yè)務(wù)伙伴或其他業(yè)務(wù)系統(tǒng)的服務(wù)。通過(guò)用例圖展示了業(yè)務(wù)用例、參與者以及他們之間的關(guān)系。該系統(tǒng)主要由四個(gè)用例組成:登錄服務(wù)器、傳輸文件、設(shè)置服務(wù)器信息、管理用戶(hù)。系統(tǒng)業(yè)務(wù)用例圖[4]如圖1:

      圖1 系統(tǒng)業(yè)務(wù)用例圖

      5 RUP中的細(xì)化和構(gòu)建階段

      5.1 用例建模:通過(guò)對(duì)業(yè)務(wù)用例模型的分析,對(duì)較大的用例進(jìn)行了拆分,是相關(guān)操作和功能更集中于單個(gè)用例,提高內(nèi)聚性減少耦合。

      5.2 用例時(shí)序圖[4]:時(shí)序圖用來(lái)對(duì)信息交換進(jìn)行可視化描述。如登錄(Login)時(shí)序圖,從登錄服務(wù)器(LoginServer)分解而來(lái),基于GRASP高內(nèi)聚、低耦合模式進(jìn)行的分解,創(chuàng)建如控制類(lèi)CLogin等,其他時(shí)序圖同樣應(yīng)用這些原則。

      5.3 活動(dòng)圖[4]:活動(dòng)圖研究實(shí)現(xiàn)業(yè)務(wù)目標(biāo)時(shí)所要執(zhí)行的各項(xiàng)任務(wù)或活動(dòng)的順序安排?;顒?dòng)既可以是手動(dòng)執(zhí)行的任務(wù),也可以是自動(dòng)執(zhí)行的任務(wù)。它可完成一個(gè)工作單元。

      5.4 協(xié)作圖[4]:協(xié)作圖 (Collaboration Diagram,也叫合作圖)是一種交互圖(interaction diagram),強(qiáng)調(diào)的是發(fā)送和接收消息的對(duì)象之間的組織結(jié)構(gòu)。一個(gè)協(xié)作圖顯示了一系列的對(duì)象和在這些對(duì)象之間的聯(lián)系以及對(duì)象間發(fā)送和接收的消息。對(duì)象通常是命名或匿名的類(lèi)的實(shí)例,也可以代表其他事物的實(shí)例,例如協(xié)作、組件和節(jié)點(diǎn)。使用協(xié)作圖來(lái)說(shuō)明系統(tǒng)的動(dòng)態(tài)情況。

      6 總結(jié)

      本系統(tǒng)利用SOCKET的底層機(jī)制和多線(xiàn)程技術(shù)相結(jié)合,使用Rational Rose工具,結(jié)合UML,采用RUP開(kāi)發(fā)過(guò)程,使整個(gè)項(xiàng)目朝著預(yù)期的方向穩(wěn)步推進(jìn),確保了項(xiàng)目的成功。

      [1]Jacobson I,Booch G,Rumbaugh J.統(tǒng)一軟件開(kāi)發(fā)過(guò)程[M].北京:機(jī)械工程出版社,2002.

      [2]張友生.基于RUP的軟件過(guò)程及應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004(30):104-107.

      [3]Jacobson I,Booch G,Rumbaugh J.The Unified Software Development Process [M].Boston,MA:Addison-Wesley,1999.

      [4]Craug Larman著,李洋等譯.UML和模式應(yīng)用(原書(shū)第3版).北京:機(jī)械工業(yè)出版社,2006.

      [5]謝希仁,《計(jì)算機(jī)網(wǎng)絡(luò)》(第5版),電子工業(yè)出版社,2008年.

      [6]蔣東興,WindowsSockets網(wǎng)絡(luò)程序設(shè)計(jì)大全[M],北京:清華大學(xué)出版社,1999 年.

      [7][美]Tobin Titus,F(xiàn)abio Claudio Ferracchiati 等著 王敏 譯,C#線(xiàn)程參考手冊(cè),清華大學(xué)出版社,2003年.

      猜你喜歡
      用例線(xiàn)程服務(wù)器
      UML用例模型中依賴(lài)關(guān)系的比較與分析
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
      聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫(xiě)
      從出土文獻(xiàn)用例看王氏父子校讀古書(shū)的得失
      淺談linux多線(xiàn)程協(xié)作
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      Linux線(xiàn)程實(shí)現(xiàn)技術(shù)研究
      《修辭學(xué)發(fā)凡》用例的當(dāng)代學(xué)術(shù)價(jià)值
      么移動(dòng)中間件線(xiàn)程池并發(fā)機(jī)制優(yōu)化改進(jìn)
      新营市| 辰溪县| 五大连池市| 涞水县| 包头市| 咸宁市| 呼和浩特市| 濉溪县| 长寿区| 巫溪县| 清水县| 玛纳斯县| 交口县| 清水河县| 玉山县| 华容县| 洱源县| 肥西县| 苏尼特右旗| 肥城市| 东阿县| 金乡县| 修水县| 资源县| 阳春市| 古浪县| 新乡县| 西林县| 彝良县| 南川市| 广州市| 阜阳市| 郯城县| 海宁市| 乌鲁木齐县| 五指山市| 五莲县| 琼结县| 五大连池市| 合阳县| 盘锦市|