版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。ǘ?屆)</b></p><p> 基于web的網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 計(jì)算機(jī)科學(xué)與技術(shù) <
2、/p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p> 摘要: 網(wǎng)絡(luò)硬盤(簡稱網(wǎng)盤),是一種可以用戶基于互聯(lián)網(wǎng)登錄網(wǎng)站的進(jìn)行信息數(shù)據(jù)上傳、下
3、載、共享等操作的信息數(shù)據(jù)存儲空間。也稱為:網(wǎng)絡(luò)磁盤、網(wǎng)絡(luò)空間、網(wǎng)絡(luò)U盤、網(wǎng)絡(luò)優(yōu)盤等等。免費(fèi)的網(wǎng)絡(luò)硬盤的可用空間較少,一般對文件大小、下載速度、存放時間等限制;付費(fèi)的網(wǎng)盤能提供大容量空間,文件大小、下載速度、存放時間及格式都不限制。隨著Internet的迅速發(fā)展和廣泛的普及,網(wǎng)絡(luò)存儲服務(wù)(即網(wǎng)盤的基礎(chǔ))代表了一個存儲新時代的到來。本畢業(yè)設(shè)計(jì)實(shí)現(xiàn)一個在線網(wǎng)絡(luò)存儲服務(wù)系統(tǒng),具體實(shí)現(xiàn)以下功能:文件的上轉(zhuǎn)與下載 可以對文件進(jìn)行復(fù)制 刪除 轉(zhuǎn)移等。
4、設(shè)計(jì)在web方式下,傳送大量數(shù)據(jù)的方案。用戶登錄進(jìn)入網(wǎng)絡(luò)硬盤空間后,可以改變他的空間訪問權(quán)限,或者自定義訪問內(nèi)容。管理模塊應(yīng)該能分析不同用戶試用空間的情況,做出分配磁盤的案;管理模塊能夠動態(tài)改變每個用戶的空間大小。</p><p> 關(guān)鍵詞:網(wǎng)絡(luò)存儲系統(tǒng)[1];上傳下載;Web;硬盤空間;</p><p> The based on web network </p>&l
5、t;p> storage service system design and realization </p><p> Abstract: network hard disk (hereinafter referred to as disc), is a kind of can users of Internet website based on information upload data, d
6、ownload, sharing the information data storage space operations.also known as: network disk, the network space, network U disk, the network YouPan etc.free network hard disk space available is less, the general file size,
7、 download speed, storage time limit; Payment of the disc can provide large capacity space, file size, download speed, storage time and for</p><p> Keywords: network storage system[2]; Uploads and downloads;
8、 Web; Hard disk space;</p><p><b> 1 緒論1</b></p><p> 1.1 課題的研究背景1</p><p> 1.1.1 網(wǎng)絡(luò)存儲簡介1</p><p> 1.1.2 網(wǎng)絡(luò)存儲的發(fā)展2</p><p> 1.2 課題研究的目的與意
9、義2</p><p> 1.3 課題的研究內(nèi)容2</p><p> 1.4 課題的研究方法2</p><p> 1.5 論文的內(nèi)容組織3</p><p> 2 系統(tǒng)開發(fā)技術(shù)背景4</p><p> 2.1 jsp技術(shù)介紹4</p><p> 2.1.2 JSP主要技
10、術(shù)特點(diǎn)4</p><p> 2.2 struts技術(shù)介紹4</p><p> 2.3 hibernate技術(shù)介紹5</p><p> 2.4 mvc技術(shù)介紹5</p><p> 2.5 數(shù)據(jù)庫技術(shù)介紹5</p><p> 2.5.1 數(shù)據(jù)庫設(shè)計(jì)的基本步驟5</p><p>
11、; 2.5.2 數(shù)據(jù)庫設(shè)計(jì)的原則6</p><p><b> 3 系統(tǒng)分析7</b></p><p> 3.1 系統(tǒng)開發(fā)的指導(dǎo)思想7</p><p> 3.2 需求分析8</p><p> 3.3 具體功能研究8</p><p> 3.4 業(yè)務(wù)流程圖9</p
12、><p> 3.5 系統(tǒng)目標(biāo)9</p><p> 3.6 系統(tǒng)軟硬件要求9</p><p> 3.6.1 硬件要求9</p><p> 3.6.2 軟件要求10</p><p> 4 系統(tǒng)設(shè)計(jì)11</p><p> 4.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)11</p>
13、<p> 4.2 模塊簡介12</p><p> 5 數(shù)據(jù)庫設(shè)計(jì)13</p><p> 5.1 數(shù)據(jù)庫概念設(shè)計(jì)13</p><p> 5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)15</p><p> 6 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)細(xì)節(jié)17</p><p> 6.1 用戶界面層的開發(fā)17</p&
14、gt;<p> 6.2 業(yè)務(wù)邏輯層的開發(fā)25</p><p> 6.3 數(shù)據(jù)訪問層開發(fā)27</p><p> 7 總結(jié)與展望30</p><p><b> 致 謝30</b></p><p><b> 1 緒論</b></p><p>
15、; 1.1 課題的研究背景</p><p> 1.1.1 網(wǎng)絡(luò)存儲簡介</p><p> 網(wǎng)絡(luò)存儲[3]的主要形式就是DAS、NAS和SAN。</p><p> DAS(Direct Attached Storage,直接連接存儲[4])將磁盤陣列、磁帶庫等數(shù)據(jù)存儲設(shè)備通過擴(kuò)展接口直接連接到服務(wù)器或客戶端。DAS 以服務(wù)器為中心,不帶有存儲操作系統(tǒng),即存儲
16、設(shè)備是服務(wù)器的一部分,I/O 請求將直接發(fā)送到存儲設(shè)備。DAS 方式實(shí)施比較簡單,成本低,見效快。但是存儲管理工作比較繁瑣,容量不能再分配,性能、擴(kuò)充性較差。因此該技術(shù)已經(jīng)不能適應(yīng)當(dāng)今的存儲要求。NAS(Network Attached Storage ———網(wǎng)絡(luò)連接存儲)即將存儲設(shè)備通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(例如以太網(wǎng)) ,連接到一群計(jì)算機(jī)上,提供數(shù)據(jù)和文件服務(wù)。</p><p> (2)NAS [5]是一種專
17、業(yè)的網(wǎng)絡(luò)文件存儲及文件備份設(shè)備,或稱為網(wǎng)絡(luò)直連存儲設(shè)備、網(wǎng)絡(luò)磁盤陣列。一個NAS 里面包括核心處理器、文件服務(wù)管理工具、一個或者多個硬盤驅(qū)動器用于數(shù)據(jù)的存儲。NAS 可以應(yīng)用在任何的網(wǎng)絡(luò)環(huán)境當(dāng)中。主服務(wù)器和客戶端可以非常方便地在NAS 上存取任意格式的文件, 包括SMB 格式(Windows) 、NFS 格式(Unix、Linux) 和CIFS格式等等。NAS 系統(tǒng)可以根據(jù)服務(wù)器或者客戶端計(jì)算機(jī)發(fā)出的指令完成對內(nèi)在文件的管理。另外的特性
18、包括:獨(dú)立于操作平臺、不同類的文件共享、交叉協(xié)議用戶安全性/ 許可性、瀏覽器界面的操作/ 管理和不會中斷網(wǎng)絡(luò)的增加和移除服務(wù)器。NAS 將存儲設(shè)備通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)連接,可以無需服務(wù)器直接上網(wǎng),不依賴通用的操作系統(tǒng),而是采用一個面向用戶設(shè)計(jì)的、專門用于數(shù)據(jù)存儲的簡化操作系統(tǒng),內(nèi)置了與網(wǎng)絡(luò)連接所需的協(xié)議,因此使整個系統(tǒng)的管理和設(shè)置較為簡單,適用于文件系統(tǒng)和Web 服務(wù)系統(tǒng)的存儲和共享優(yōu)化存儲,可以有效地管理多用戶、多應(yīng)用的單一數(shù)據(jù)的共
19、享。NAS 依靠LAN 和WAN 連接標(biāo)準(zhǔn),使用IP、以太網(wǎng)以及網(wǎng)絡(luò)文件系統(tǒng)(NFS) 和公</p><p> SAN(Storage Area Network ———存儲區(qū)域網(wǎng)絡(luò))[6]是基于FC和IP網(wǎng)絡(luò)的,他FCP/iSCDI的模塊訪問協(xié)議以塊設(shè)備的形式提供存儲服務(wù),其硬件設(shè)備是廠家特定的NSA具有異構(gòu)平臺下的文件共享和低成本等優(yōu)點(diǎn),但是在性能和可擴(kuò)展性方面存在一定的缺陷。因此NA主要用于異構(gòu)環(huán)境下的數(shù)據(jù)
20、訪問、數(shù)據(jù)遷移、文件共享等場合。SAN以其獨(dú)特的體系結(jié)構(gòu)和構(gòu)建技術(shù)使它具有高性能和可擴(kuò)展等優(yōu)點(diǎn),但是SAN的異構(gòu)環(huán)境下的文件共享和互操作性方面存</p><p> 在以下缺陷。因此目前主要用整合存儲和服務(wù)器資源、數(shù)據(jù)庫應(yīng)用、在線事務(wù)處理的低延遲、以及LAN-free backup或server-free backup等場合。</p><p> 1.1.2 網(wǎng)絡(luò)存儲的發(fā)展[7]</
21、p><p> 隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,通過網(wǎng)絡(luò)進(jìn)行傳輸?shù)男畔⒘砍手笖?shù)級增長,人類已經(jīng)進(jìn)入數(shù)字化的信息時代,在社會生活的各個領(lǐng)域,信息扮演著十分重要的角色。據(jù)統(tǒng)計(jì),全球每年都要產(chǎn)生10~20 億GB 的新信息,相當(dāng)于每人每年要產(chǎn)生250MB 的信息量,這對傳統(tǒng)的存儲技術(shù)形成了巨大的挑戰(zhàn),而對于企業(yè)來講,其業(yè)務(wù)系統(tǒng)不僅要有高效靈活的數(shù)據(jù)管理能力還要有災(zāi)難事件發(fā)生時的容錯和恢復(fù)能力,由此基于網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù)的網(wǎng)絡(luò)存儲應(yīng)運(yùn)
22、而生。它可以為企業(yè)提供超大存儲容量、大數(shù)據(jù)傳輸率以及高系統(tǒng)可用性的信息存儲和共享服務(wù)。目前,網(wǎng)絡(luò)存儲技術(shù)有以下4 個主要發(fā)展方向:NAS(Network Attached Storage) ;SAN(Storage Area Network) ;CAS(Content Address Storage) ;IP SAN (SAN over IP) 。面對新型的數(shù)據(jù)密集型應(yīng)用, 網(wǎng)絡(luò)化的企業(yè)應(yīng)用, 以及因特網(wǎng)的發(fā)展, 企業(yè)存儲的傳統(tǒng)方法包括
23、直接存儲(DAS) 已經(jīng)力不從心。取而代之的是網(wǎng)絡(luò)存儲技術(shù)。存儲網(wǎng)絡(luò)在性能、靈活性、可擴(kuò)充性、安全性和集中式數(shù)據(jù)管理方面形成明顯的優(yōu)勢。在標(biāo)準(zhǔn)的制定和產(chǎn)品的</p><p> 1.2 課題研究的目的與意義</p><p> 隨著電子技術(shù)與網(wǎng)絡(luò)的發(fā)展人們無須帶著厚重的公文包到處走動,網(wǎng)絡(luò)存儲(網(wǎng)絡(luò)硬盤) 的出現(xiàn)使大家的文件保存處理運(yùn)用更加方面簡易。為了更容易在朋友同事同學(xué)之間分享信息,
24、為了更好的管理你的文件,網(wǎng)絡(luò)存儲是不二的選擇。</p><p> 1.3 課題的研究內(nèi)容</p><p> 本畢業(yè)設(shè)計(jì)實(shí)現(xiàn)基于web的網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)。一個在線網(wǎng)絡(luò)存儲服務(wù)系統(tǒng),具體實(shí)現(xiàn)以下功能:文件的上轉(zhuǎn)與下載 可以對文件進(jìn)行復(fù)制 刪除 轉(zhuǎn)移等硬盤空間的是用包括。設(shè)計(jì)在web方式下,傳送大量數(shù)據(jù)的方案。用戶登錄進(jìn)入網(wǎng)絡(luò)硬盤空間后,可以改變他的空間訪問權(quán)限,或者自定義訪問內(nèi)容。管理模
25、塊應(yīng)該能分析不同用戶試用空間的情況,做出分配磁盤的案;管理模塊能夠動態(tài)改變每個用戶的空間大小。要求在已有的專業(yè)理論知識和應(yīng)用能力的基礎(chǔ)上,掌握網(wǎng)絡(luò)程序開發(fā)的一般知識,運(yùn)用自選的開發(fā)環(huán)境和工具,實(shí)現(xiàn)對網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)[8]必要功能的實(shí)現(xiàn)。</p><p> 1.4 課題的研究方法</p><p> (1) 文獻(xiàn)研究法[9]</p><p> 文獻(xiàn)研究法主要指收
26、集、鑒別、整理文獻(xiàn),并通過對文獻(xiàn)的研究,形成對事實(shí)科學(xué)認(rèn)識的方法[5]。該方法主要用于系統(tǒng)開發(fā)的前期。首先,通過閱讀大量服裝電子商務(wù)網(wǎng)站的文獻(xiàn),結(jié)合現(xiàn)實(shí),總結(jié)服裝電子商務(wù)平臺的基本功能及不足。以此確定畢業(yè)設(shè)計(jì)的選題。然后,根據(jù)相關(guān)文獻(xiàn),對系統(tǒng)進(jìn)行需求分析和可行性分析,從而確定自己的研究方向和實(shí)現(xiàn)方法。</p><p> ?。?)數(shù)據(jù)庫設(shè)計(jì)方法</p><p> 首先規(guī)劃處需要幾張表,然后
27、添加表中需要的字段,逐級添加法。通過該方法,設(shè)計(jì)出結(jié)構(gòu)完整并適合管理的數(shù)據(jù)庫。</p><p> (3) 面向?qū)ο蠓椒?lt;/p><p> 面向?qū)ο蠓椒ǎ∣bject-Oriented Method)[10]是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。通過該方法,運(yùn)用面向?qū)ο缶幊坦?/p>
28、具,來完成網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)的開發(fā)。</p><p> 1.5 論文的內(nèi)容組織</p><p> 論文共由六章組成。第1章緒論,主要介紹系統(tǒng)的研究背景、研究目的和意義、研究內(nèi)容以及研究方法;第2章系統(tǒng)開發(fā)技術(shù)背景,主要介紹系統(tǒng)開發(fā)過程中會用到的相關(guān)技術(shù),主要有Myeclipse開發(fā)工具,系統(tǒng)開發(fā)語言java,以及數(shù)據(jù)庫技術(shù)等;第3章系統(tǒng)分析,主要是對系統(tǒng)總體功能的一個闡述,說明系統(tǒng)要實(shí)
29、現(xiàn)的各個基本功能模塊,并對系統(tǒng)的可行性進(jìn)行分析;第4章系統(tǒng)設(shè)計(jì),主要講述系統(tǒng)設(shè)計(jì)概要;第5章數(shù)據(jù)庫設(shè)計(jì),主要設(shè)計(jì)數(shù)據(jù)的組成;第6章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要介紹系統(tǒng)的硬件軟件環(huán)境、界面設(shè)計(jì)、功能實(shí)現(xiàn)、主要技術(shù)難點(diǎn);第7章總結(jié)與展望,主要闡述了本課題所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。</p><p> 2 系統(tǒng)開發(fā)技術(shù)背景</p><p> 2.1 jsp技術(shù)介紹&
30、lt;/p><p> 2.1.1 JSP工作原理[11]</p><p> 在傳統(tǒng)的網(wǎng)頁文件(HTML文件)中加入Java程序片斷和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁。JSP頁面以擴(kuò)展名為jsp的純文本文件形式存于Web服務(wù)器上,JSP網(wǎng)頁能結(jié)合JavaBean技術(shù)來擴(kuò)充網(wǎng)頁中程序的功能,當(dāng)Web服務(wù)器接受到客戶端某個JSP頁面的請求時,觸發(fā)JSP引擎,把該JSP頁面內(nèi)容轉(zhuǎn)換成純Java語言的
31、servlet源碼,然后使用標(biāo)準(zhǔn)的Java編譯器,將servlet編譯成servlet字節(jié)碼,執(zhí)行并生成所請求的內(nèi)容,最后將結(jié)果以’HTML(或XML)頁面的形式發(fā)送回瀏覽器。JSP頁面被編譯成servlet后常駐服務(wù)器內(nèi)存,所以JSP效率高響應(yīng)快。</p><p> 2.1.2 JSP主要技術(shù)特點(diǎn)[12]</p><p> 2.1.2.1 JSP技術(shù)開發(fā)動態(tài)Web頁面的兩種模式和體系
32、結(jié)構(gòu)</p><p> 利用JSP技術(shù)開發(fā)動態(tài)Web頁面有兩種模式:(1)Model1(JSP+JavaBean):所有的請求和處理都是通過JSP頁面來實(shí)現(xiàn)。該模式導(dǎo)致顯示邏輯和業(yè)務(wù)邏輯沒有分開,很多Java代碼利HTML代碼混雜在一起,代碼維護(hù)量大,開發(fā)效率低,Model1體系僅適合簡單應(yīng)用的需要。(2)Model2(JSP+Servlets+JavaBean):把JSP與servlet聯(lián)合使用來實(shí)現(xiàn)動態(tài)內(nèi)容
33、服務(wù)的方法,jsp負(fù)責(zé)針對用戶的顯示邏輯,servlet負(fù)責(zé)針對用戶的業(yè)務(wù)邏輯,這種模式清晰地分離了表達(dá)和內(nèi)容,明確了角色定義,又被稱為MVC(Model—View—Contro1)架構(gòu),適合于較大型項(xiàng)月的開發(fā)。</p><p> 2.1.2.2 強(qiáng)調(diào)可重用的組件</p><p> 絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件(JavaBean或Enterprise JavaBean
34、s組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理,開發(fā)人員能共享利交換執(zhí)行普通操作的組件,或者使得這些組件為更多使用者或客戶團(tuán)體所使用,基于組件的方法加速了總體的開發(fā)進(jìn)程。</p><p> 2.1.2.3 硬件平臺和服務(wù)器無關(guān)性[13]</p><p> JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫, 隨處運(yùn)行(Write Once,RunAnywhere)”的特性,可以
35、運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺的無關(guān)性是JSP相對于其它動態(tài)網(wǎng)頁技術(shù)的一大優(yōu)點(diǎn)。</p><p> 2.2 struts技術(shù)介紹[14]</p><p> Struts1最初由程序員Craig R.Mcclanahan發(fā)布,Apache軟件基金會于2002年接手該項(xiàng)目。</p><p> Strust1提供了一個極
36、好的框架,可以容易地整合JSP、servlet和Java代碼。隨著Java的發(fā)展,struts1已經(jīng)成為MVC設(shè)計(jì)模式的常用架構(gòu),并被廣大的程序員所接受,在Web開發(fā)應(yīng)用中獲得了巨大成功。</p><p> 2.3 hibernate技術(shù)介紹[15]</p><p> Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨
37、心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p> 2.4 mvc技術(shù)介紹[16]</p><p> 系統(tǒng)主體結(jié)構(gòu)采用MVC架構(gòu),MVC指的是
38、模型【Mode1)、視圖(View)和控制器(Controller)三個部分。使用MVC的目的是將模型和視圖的實(shí)現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。在本系統(tǒng)中,為了今后能夠開發(fā)出Web Service等其他新的表現(xiàn)形式,最便捷的方式就是能夠重用原有的業(yè)務(wù)邏輯和數(shù)據(jù)訪問代碼,如果系統(tǒng)使用了MVC的架構(gòu),服務(wù)層和數(shù)據(jù)表現(xiàn)層是相互分離的,那么就可以方便地在Web Service中調(diào)用原來的服務(wù)層代碼,大大減少了重復(fù)開發(fā)工作&l
39、t;/p><p> 2.5 數(shù)據(jù)庫技術(shù)介紹[17]</p><p> 數(shù)據(jù)庫技術(shù)產(chǎn)生于20世紀(jì)60年代末70年代初,其主要目的是有效地管理和存取大量的數(shù)據(jù)資源。主要研究如何存儲,使用和管理數(shù)據(jù)。在應(yīng)用計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理的技術(shù)發(fā)展過程中經(jīng)歷了三個階段:程序數(shù)據(jù)處理技術(shù)、文件數(shù)據(jù)處理技術(shù)、數(shù)據(jù)庫數(shù)據(jù)處理技術(shù)。發(fā)展至今,所有的數(shù)據(jù)處理應(yīng)用系統(tǒng)都是采用數(shù)據(jù)庫數(shù)據(jù)處理技術(shù)實(shí)現(xiàn)的。</p>
40、<p> 所謂數(shù)據(jù)庫(Database),是指按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫。它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應(yīng)用。</p><p> 在開發(fā)一個系統(tǒng)之前,首先
41、要完成的就是數(shù)據(jù)庫的設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù)。如何在給定的應(yīng)用環(huán)境下,構(gòu)造最優(yōu)的數(shù)據(jù)庫模型至關(guān)重要,它將影響整個系統(tǒng)的運(yùn)作。下面對數(shù)據(jù)庫的設(shè)計(jì)做下簡單的介紹。</p><p> 2.5.1 數(shù)據(jù)庫設(shè)計(jì)的基本步驟</p><p><b> ?。?)需求分析階段</b></p
42、><p> 該階段的任務(wù)是準(zhǔn)確了解和分析用戶的需求,包括數(shù)據(jù)與處理。是整個設(shè)計(jì)過程的基礎(chǔ),也是最困難、最耗費(fèi)時間的一步。</p><p> (2)概念結(jié)構(gòu)設(shè)計(jì)階段</p><p> 該階段主要是通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS的概念模型,即設(shè)計(jì)數(shù)據(jù)庫的E-R模型圖,是整個數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。</p><p>
43、(3)邏輯結(jié)構(gòu)設(shè)計(jì)階段</p><p> 該階段是將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型。如將E-R如轉(zhuǎn)換為多張表。</p><p> ?。?)數(shù)據(jù)庫物理設(shè)計(jì)階段</p><p> 該階段是要為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括存儲結(jié)構(gòu)和存取方法。</p><p> ?。?)數(shù)據(jù)庫實(shí)施階段</p>&l
44、t;p> 這個階段是運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。</p><p> ?。?)數(shù)據(jù)庫運(yùn)行和維護(hù)階段</p><p> 數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行,但在系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改。</p><p> 在設(shè)計(jì)過程中要把數(shù)
45、據(jù)庫的設(shè)計(jì)和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來,將這兩個方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個階段同時進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)。</p><p> 2.5.2 數(shù)據(jù)庫設(shè)計(jì)的原則</p><p> 在數(shù)據(jù)庫設(shè)計(jì)過程中,往往會出現(xiàn)一些問題,如數(shù)據(jù)冗余、更新異?;蚴潜砼c表之間的范式問題,要想減少錯誤的產(chǎn)生,避免不必要的麻煩,必須遵循數(shù)據(jù)庫設(shè)計(jì)的基本原則。原則如下:&l
46、t;/p><p> (1)正確反映數(shù)據(jù)與數(shù)據(jù)(信息與信息)之間的層次邏輯關(guān)系;</p><p> ?。?)對進(jìn)入到數(shù)據(jù)庫中的數(shù)據(jù)有一個有效性檢查;</p><p> ?。?)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行非邏輯操作進(jìn)行相應(yīng)的錯誤處理;</p><p> ?。?)滿足系統(tǒng)對性能上的要求。</p><p><b> 3 系
47、統(tǒng)分析</b></p><p> 系統(tǒng)分析是應(yīng)用系統(tǒng)的思想和方法,把復(fù)雜的對象分解成簡單的組成部分,找出這些部分的基本屬性和彼此間的關(guān)系。它是信息系統(tǒng)開發(fā)工作中最重要的一環(huán),其內(nèi)容主要包括對組織各部門、各業(yè)務(wù)的詳細(xì)了解,并在此基礎(chǔ)上進(jìn)行分析,提出新方案,以開發(fā)出符合用戶要求的管理信息系統(tǒng),它的基本任務(wù)是:系統(tǒng)分析員與用戶在一起,充分了解用戶的要求,并把理解用系統(tǒng)說明書表達(dá)出來。</p>
48、<p> 需求分析簡單地說就是分析用戶的需求。需求分析是設(shè)計(jì)數(shù)據(jù)庫的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。</p><p> 需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象(組織、部門、學(xué)校等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。</p>
49、<p> 調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫的如下要求:</p><p> (1)信息要求。指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容和性質(zhì)。由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。</p><p> (2)處理要求。指用戶要完成什么處理功能,對處理的響應(yīng)時間有什么要求,處理方式是批處理還是聯(lián)機(jī)處理。</p>&l
50、t;p> (3)安全性與完整性要求。</p><p> 確定用戶的最終需求是一件很困難的事,這是因?yàn)橐环矫嬗脩羧鄙儆?jì)算機(jī)知識,開始時無法確定計(jì)算機(jī)究竟能為自己做什么,不能做什么,因此往往不能準(zhǔn)確地表達(dá)自己的需求,所提出的需求往往不斷地變化。另一方面,設(shè)計(jì)人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。因此設(shè)計(jì)人員必須不斷深入地與用戶交流,才能逐步確定用戶的實(shí)際需求。</p>
51、;<p> 3.1 系統(tǒng)開發(fā)的指導(dǎo)思想</p><p> (1)采用結(jié)構(gòu)化系統(tǒng)分析的方法</p><p> 采用結(jié)構(gòu)化系統(tǒng)分析的方法建立新系統(tǒng)的邏輯模型,此模型盡量避免使用計(jì)算機(jī)術(shù)語,便于企業(yè)的計(jì)算機(jī)人員與系統(tǒng)開發(fā)人員的共同討論。本系統(tǒng)的結(jié)構(gòu)是層次化的暗盒模塊結(jié)構(gòu)。對高層模塊,將采用以事物為中心的設(shè)計(jì)策略,把一個大的復(fù)雜的系統(tǒng)逐步分解成小的相對簡單的暗盒模塊,對低層模
52、塊,采用以變換為中心的設(shè)計(jì)策略。因此,為了提高模塊的內(nèi)聚性,降低模塊的耦合程度,本系統(tǒng)采用了經(jīng)典的MVC設(shè)計(jì)模式。這樣分層更加合理,維護(hù)更加簡單。</p><p> (2)注重系統(tǒng)的適用性</p><p> 在設(shè)計(jì)的時候,盡量避免了編程語言的原因而造成的錯誤。輸入錯誤是不能完全避免的,在本系統(tǒng)中,當(dāng)用戶操作出錯時,我們努力并實(shí)現(xiàn)在系統(tǒng)中給出友好的提示。</p><p
53、> ?。?)注重系統(tǒng)的實(shí)用性</p><p> 系統(tǒng)使用時不要求使用者懂得各個功能實(shí)現(xiàn)的原理,他們只需在友好的界面上進(jìn)行操作,輸入數(shù)據(jù)并得到正確的結(jié)果就可以了。</p><p> ?。?)注重系統(tǒng)安全性</p><p> 由于本人的知識水平限制,只能從完善口令管理、密碼加密,嚴(yán)格操作權(quán)限,從而保證應(yīng)用系統(tǒng)的日常管理和控制。</p><p
54、><b> 3.2 需求分析</b></p><p> 隨著互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用以及計(jì)算機(jī)技術(shù)的發(fā)展,人們對數(shù)據(jù)存儲的需求及方式也有了巨大的改變。有三個方面的表現(xiàn):首先許多應(yīng)用系統(tǒng),如電子商務(wù),數(shù)據(jù)倉庫,企業(yè)資源的規(guī)劃(ERP)和客戶關(guān)系管理(CRM)等對存儲容量有巨大的要求;其次應(yīng)用系統(tǒng)要求對數(shù)據(jù)進(jìn)行快速有效的存??;最后需要對數(shù)據(jù)進(jìn)行有效的管理,從而有了網(wǎng)絡(luò)存儲技術(shù)的快速發(fā)展。
55、網(wǎng)絡(luò)存儲提高了數(shù)據(jù)的共享性、可用性、可擴(kuò)展性和管理性,但仍然存在一些缺陷. 如:NAS 的性能較低;SAN 的實(shí)現(xiàn)費(fèi)用較高,互操作性差; IP2SAN 則存在著嚴(yán)謹(jǐn)?shù)腟CSI 協(xié)議和無法保證質(zhì)量的TCP/ IP 協(xié)議的矛盾。因此,網(wǎng)絡(luò)存儲的發(fā)展,以解決存儲共享,數(shù)據(jù)共享等問題,仍然是當(dāng)今存儲體系結(jié)構(gòu)研究的重點(diǎn)和熱點(diǎn)。目前網(wǎng)絡(luò)存儲的核心技術(shù)是圍繞SCSI、FC、IP 以太網(wǎng)及它們的交叉融合發(fā)展,NAS 存儲系統(tǒng)可能采用DAFS 技術(shù)提高系
56、統(tǒng)性能,利用虛擬存儲體系結(jié)構(gòu)實(shí)現(xiàn)所有的存儲技術(shù)的統(tǒng)一,基于總線的存儲,將可能沿著基于InfiniBand 技術(shù)發(fā)展.</p><p> 3.3 具體功能研究</p><p><b> 功能模塊大致分析:</b></p><p><b> 用戶管理:</b></p><p> 用戶模塊主要完
57、成注冊,登錄系統(tǒng),上傳文件,下載文件等。</p><p><b> 管理員管理:</b></p><p> 管理員模塊主要審核用戶,用戶管理,審核文件等。管理員模塊主要包括管理員的登錄,對用戶的信息進(jìn)行管理包括:修改用戶信息,刪除用戶,查看用戶上傳的資料等功能,管理員模塊起到的管理作用是必不可少的。</p><p> 3.4 業(yè)務(wù)流程圖
58、</p><p><b> ?。ㄓ脩魳I(yè)務(wù)流程圖)</b></p><p> ?。ü芾韱T業(yè)務(wù)流程圖)</p><p><b> 3.5 系統(tǒng)目標(biāo)</b></p><p> 本程序主要實(shí)現(xiàn)如下目標(biāo):</p><p> (1)具有實(shí)時性,已注冊的用戶無論身在何地,通過Int
59、ernet瀏覽器,都可登陸網(wǎng)絡(luò)存儲系統(tǒng)。</p><p> (2)具有共享,用戶提供的共享信息可供他人下載。</p><p> ?。?)用戶可隨時上傳文件與下載文件。</p><p> 3.6 系統(tǒng)軟硬件要求</p><p> 3.6.1 硬件要求</p><p> 服務(wù)器的機(jī)器主要配置情況:</p&g
60、t;<p> CPU P4 3.0GMHZ</p><p><b> 內(nèi)存 512MB</b></p><p> 3.6.2 軟件要求</p><p> 操作系統(tǒng):WINNXP/WINDOWS2000/ WINDOWS2003</p><p><b> 數(shù)據(jù)庫:Mysql</b
61、></p><p> 開發(fā)環(huán)境:JDK+Eclipse+Tomcat+SSH</p><p> 開發(fā)語言:Java語言</p><p> 服務(wù)器:Tomcat6.0</p><p> 瀏覽器:firefox</p><p> 分辨率:最佳效果1024×768象素</p><
62、p><b> 4 系統(tǒng)設(shè)計(jì)</b></p><p> 在前面進(jìn)行了一系列的系統(tǒng)調(diào)查和系統(tǒng)分析以后,接下來的工作便是系統(tǒng)設(shè)計(jì)了。這是軟件工程中第二個關(guān)鍵的階段。它是根據(jù)前面的幾個階段的結(jié)果,在已獲準(zhǔn)的系統(tǒng)分析報(bào)告基礎(chǔ)上進(jìn)行系統(tǒng)設(shè)計(jì)。</p><p> 系統(tǒng)設(shè)計(jì)階段是開發(fā)系統(tǒng)的重要階段。這個階段。我們需要把前面階段收集來的信息進(jìn)行整理(特別是用戶的需求分析)
63、,找出我們需要的信息,定下系統(tǒng)開發(fā)過程中我們需要實(shí)現(xiàn)的功能。這個其實(shí)比較有難度的同時比較重要的。數(shù)據(jù)庫如何能設(shè)計(jì)的盡可能全面而又合理、模塊之間的聯(lián)系程度、前后臺的依賴關(guān)系如何反映,是在這一階段感觸最深的三個方面。數(shù)據(jù)庫是所有信息的集合,好的數(shù)據(jù)庫設(shè)計(jì)可以大大減少數(shù)據(jù)冗余度,如果數(shù)據(jù)冗余度太大,將占用很多系統(tǒng)資源,給服務(wù)器帶來沉重的負(fù)擔(dān)。還有數(shù)據(jù)庫的設(shè)計(jì)也要充分考慮到前臺代碼執(zhí)行的效率,不能僅僅是為了設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)而設(shè)計(jì),這會可能導(dǎo)致在編
64、寫代碼時遇到諸多不便,這一點(diǎn)還需我在以后的工作中好好研究。</p><p> 在系統(tǒng)設(shè)計(jì)階段,每個模塊應(yīng)該盡可能的獨(dú)立,這樣可以減少模塊間的調(diào)用關(guān)系和數(shù)據(jù)交換關(guān)系。每個模塊的功能最好能讓其盡可能的單一,這樣易于以后系統(tǒng)的修改,可以大大的減少相關(guān)的操作。在做系統(tǒng)的時候,發(fā)現(xiàn)自己原先設(shè)計(jì)下來的模塊不合理,難以滿足用戶的需求或則是難以實(shí)現(xiàn)這個功能,那就必須把這個模塊推翻了,如果這個模塊又設(shè)計(jì)到其他的模塊,那這個對系統(tǒng)
65、的改動是巨大的。這就要求我們盡早確定系統(tǒng)的核心模塊,減少改動。</p><p> 4.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)的特點(diǎn),可以將系統(tǒng)分為用戶模塊與管理員模塊。用戶需要注冊,注冊之后可對自己的網(wǎng)絡(luò)存儲空間進(jìn)行管理,管理對所有用戶進(jìn)行管理,如圖4-1所示。</p><p><b> 系統(tǒng)功能結(jié)構(gòu)圖</b>&l
66、t;/p><p><b> ?。▓D4-1)</b></p><p><b> 4.2 模塊簡介</b></p><p> 網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)是一個功能齊備的網(wǎng)絡(luò)應(yīng)用程序,由用戶模塊、管理員模塊兩部分組成。</p><p><b> 用戶模塊</b></p>&l
67、t;p> 用戶模塊主要包括學(xué)用戶登錄,注冊,上傳文件,下載文件,刪除文件,分享文件,修改個人資料等功能。</p><p><b> 管理員模塊</b></p><p> 管理員模塊主要包括管理員的登錄,對用戶的信息進(jìn)行管理包括:修改用戶信息,刪除用戶,查看用戶上傳的資料等功能,管理員模塊起到的管理作用是必不可少的。</p><p>
68、<b> 5 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 在數(shù)據(jù)庫方面用到的是MySQL。 MySQL是最流行的開放源碼SQL數(shù)據(jù)庫管理系統(tǒng),它是由MySQL AB公司開發(fā)、發(fā)布并支持的。MySQL AB是由多名MySQL開發(fā)人創(chuàng)辦的一家商業(yè)公司。它是一家第二代開放源碼公司,結(jié)合了開放源碼價值取向、方法和成功的商業(yè)模型。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),是一種開放源碼軟件,數(shù)據(jù)庫服務(wù)器具有快
69、速、可靠和易于使用的特點(diǎn),服務(wù)器工作在客戶端/服務(wù)器模式下,或嵌入式系統(tǒng)中,有大量可用的共享MySQL軟件。由于以上的優(yōu)點(diǎn)在我的畢業(yè)設(shè)計(jì)中我也同樣選擇MySQL作為數(shù)據(jù)庫。</p><p> 5.1 數(shù)據(jù)庫概念設(shè)計(jì)</p><p> 根據(jù)以上各節(jié)對系統(tǒng)所做的需求分析和系統(tǒng)設(shè)計(jì),規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫實(shí)體分為用戶實(shí)體,管理員實(shí)體,文件實(shí)體等。下面將介紹幾個關(guān)鍵實(shí)體的E-R圖。<
70、;/p><p><b> 用戶實(shí)體</b></p><p> 用戶實(shí)體包括用戶編號、用戶名、密碼、昵稱、電話、Email、QQ、最大磁盤空間等屬性。用戶的E-R圖如圖 5-1 所示</p><p> (圖 5-1 用戶實(shí)體 E-R圖)</p><p><b> 管理員實(shí)體</b></p&g
71、t;<p> 用戶實(shí)體包括用戶編號、管理員名、密碼、真實(shí)姓名等屬性。用戶的E-R圖如圖 5-2 所示</p><p> (圖 5-2 管理員實(shí)體 E-R圖)</p><p><b> 文件實(shí)體</b></p><p> 文件實(shí)體包括用戶編號、文件名、用戶編號、文件路徑、文件大小、文件描述更新時間等屬性。用戶的E-R圖如圖
72、5-3 所示</p><p> (圖 5-3 文件實(shí)體 E-R圖)</p><p> 表間E-R圖:如圖(5-4)</p><p> ?。▓D5-4表間E-R圖)</p><p> 5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)上面的E-R圖可以創(chuàng)建對應(yīng)的數(shù)據(jù)表。</p><p>
73、表5.1 用戶表結(jié)構(gòu)</p><p> 表5.2 管理員表結(jié)構(gòu)</p><p> 表5.3 文件表結(jié)構(gòu)</p><p> 6 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)細(xì)節(jié)</p><p> 6.1 用戶界面層的開發(fā)</p><p> 用戶界面層用來展現(xiàn)在客戶瀏覽器中顯示的用戶界面HTML標(biāo)記和css來顯示由業(yè)務(wù)邏輯層動態(tài)
74、傳送的數(shù)據(jù)信息,通過使用相應(yīng)的并負(fù)責(zé)獲得用戶錄入的數(shù)據(jù),完成對錄入數(shù)據(jù)的校驗(yàn),并將錄入數(shù)據(jù)傳送給業(yè)務(wù)邏輯層,即用戶通過瀏覽器,進(jìn)入用戶界面層,通過頁面輸入登錄信息,實(shí)現(xiàn)訪問請求過濾。</p><p> 6.1.1 下圖是表示層的用戶登錄界面界面:如圖(6-1)(6-2)</p><p> (圖6-1 用戶登陸界面)</p><p> ?。▓D 6-2 用戶登錄英文
75、版)</p><p> 用戶登陸界面相關(guān)的代碼:LoginAction.java</p><p> 6.1.2 如圖(6-3)是用的主要操作界面,此頁面是在用戶登錄成功后顯示。其中主要有上傳文件、修改密碼、登出、下載文件、共享文件、刪除文件等操作。</p><p> ?。▓D6-3 主頁面)</p><p> ?。▓D6-4 主頁面 英文版)
76、</p><p> 主操作界面代碼:UserMainAction.java</p><p> 6.1.3 如圖(6-5)是用戶修改密碼的界面,主要是為了讓用戶能修改自己的密碼而設(shè)計(jì)的。</p><p> ?。▓D 6-5 修改密碼界面)</p><p> (圖 6-6 修改密碼頁面英文版)</p><p> 用
77、戶注冊的相關(guān)action代碼:</p><p> 6.1.4 如圖(6-7)是上傳文件的頁面,主要完成用戶上傳文件的需要。</p><p> ?。▓D6-7 上傳界面)</p><p> ?。▓D 6-8 上傳界面英文版)</p><p><b> 上傳相關(guān)代碼:</b></p><p> 6
78、.1.5 如圖(6-9)是后代管理頁面,主要完成對用戶組的操作。對用戶進(jìn)行合理的管理管理頁面是必不可少的。管理員能對不用戶進(jìn)行刪除,修改等操作。</p><p> ?。▓D 6-9 管理員模塊)</p><p> (圖 6-10 管理員模塊英文版)</p><p> 管理員操作模塊代碼:</p><p> 6.1.6 如圖(6-6)是管理
79、員登陸界面,是管理登錄時顯示。</p><p> ?。▓D 6-11 管理員登錄)</p><p> (圖 6-12 管理員登錄英文版)</p><p> 6.2 業(yè)務(wù)邏輯層的開發(fā)</p><p> 業(yè)務(wù)邏輯層是聯(lián)系用戶界面層和數(shù)據(jù)訪問層的紐帶,也是三層結(jié)構(gòu)模型中最重要的一層,利用它可以建立實(shí)際的數(shù)據(jù)庫連接,根據(jù)用戶的請求生成SQL語句
80、檢索或更新數(shù)據(jù)庫,并把結(jié)果返回給客戶端瀏覽器。</p><p> 在整個用戶業(yè)務(wù)邏輯中,實(shí)現(xiàn)了針對用戶的各種業(yè)務(wù)邏輯,如判斷是否存在該用戶、判斷該用戶是否符合登入要求。</p><p> 在程序中所有在邏輯的動作都是由程序中的action動作完成,每個操作對應(yīng)一個action.</p><p> 比如用戶的登錄:用戶在登錄頁面輸入用戶名與密碼點(diǎn)擊確定,此時由f
81、orm表單提交到對應(yīng)的action即LogonAction.java.在action中調(diào)用查找數(shù)據(jù)庫的Dao類,而Dao類利用Hibernate的功能對數(shù)據(jù)的數(shù)據(jù)進(jìn)行搜索比較是否有該用戶存在,有則登錄成功否則失敗。</p><p> LogonAction的主要代碼如下:</p><p> public ActionForward execute(ActionMapping mappi
82、ng, ActionForm form,</p><p> HttpServletRequest request, HttpServletResponse response) {</p><p> UserInfoForm userInfoForm = (UserInfoForm) form;</p><p> UserInfo ui = this.getUs
83、erInfoService().findUserByNameAndPassword(</p><p> userInfoForm.getUserInfo().getUserName(),</p><p> userInfoForm.getUserInfo().getPassWord());</p><p> if (ui == null) {</p>
84、;<p> ActionMessages errors = new ActionMessages();</p><p> errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.logon"));</p><p> this.saveErrors(request, erro
85、rs);</p><p> return (new ActionForward(mapping.getInput()));</p><p><b> } else {</b></p><p> request.getSession().setAttribute(Constants.USER_SESSION_KEY, ui);</p&
86、gt;<p> request.removeAttribute(mapping.getAttribute());</p><p> return mapping.findForward(Constants.FORWARD_SUCCESS);</p><p> 在Dao類和service中的重要代碼是:</p><p> Service 接口:&
87、lt;/p><p> public UserInfo findUserByNameAndPassword(String userName, String password);</p><p> Dao對數(shù)據(jù)庫的操作:</p><p> private static final String FIND_USER_BY_USERNAME_AND_PASSWORD =
88、"from UserInfo where userName = ? and passWord = ?";</p><p> public UserInfo findUserByNameAndPassword(String userName, String password)</p><p> throws DataAccessException {</p>
89、;<p> List result = this.getHibernateTemplate().find(</p><p> FIND_USER_BY_USERNAME_AND_PASSWORD,</p><p> new Object[] { userName, password });</p><p> if (result.size()
90、!= 0)</p><p> return (UserInfo) result.get(0);</p><p> return null;</p><p> 由上述的例子可知在程序中有義務(wù)邏輯起到橋梁的作用,它是三層結(jié)構(gòu)中必不可少的一部分。</p><p> 6.3 數(shù)據(jù)訪問層開發(fā)</p><p> 數(shù)據(jù)訪
91、問層位于分層體系的底層,將物理數(shù)據(jù)的邏輯視圖提交給業(yè)務(wù)邏輯層實(shí)現(xiàn)與數(shù)據(jù)庫的交互,完成查詢、插入、刪除和修改數(shù)據(jù)的功能。</p><p> 數(shù)據(jù)訪問層通過將業(yè)務(wù)邏輯與對基礎(chǔ)數(shù)據(jù)存儲的更改進(jìn)行隔離并確保數(shù)據(jù)的完整性,使業(yè)務(wù)層只需實(shí)現(xiàn)業(yè)務(wù)邏輯即可,無需考慮數(shù)據(jù)的存儲細(xì)節(jié)。數(shù)據(jù)訪問層為業(yè)務(wù)邏輯層提供服務(wù),根據(jù)業(yè)務(wù)邏輯層的要求從數(shù)據(jù)庫中提取數(shù)據(jù)或者修改數(shù)據(jù)庫中的數(shù)據(jù)。</p><p> 數(shù)據(jù)訪問
92、層,主要根據(jù)JDBC的接口,我在設(shè)計(jì)中用到了hibernate框架,這個框架就是完成數(shù)據(jù)訪問層的良好框架。因?yàn)閔ibernate是全自動話的所以在代碼中不需要寫很多的SQL語句,只要做好配置文件的工作。即在hibernate的配置文件中把所有有關(guān)數(shù)據(jù)庫的操作都配置完成,使用時只要按照hibernate框架的使用方法,寫出Dao文件和Service文件就能對數(shù)據(jù)庫進(jìn)行CRUD等操作了。</p><p> Hibe
93、rnate的配置文件內(nèi)容代碼:</p><p><b> 7 總結(jié)與展望</b></p><p> 隨著互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用以及計(jì)算機(jī)技術(shù)的發(fā)展,人們對數(shù)據(jù)存儲的需求及方式也有了巨大的改變。有三個方面的表現(xiàn):首先許多應(yīng)用系統(tǒng),如電子商務(wù),數(shù)據(jù)倉庫,企業(yè)資源的規(guī)劃(ERP)和客戶關(guān)系管理(CRM)等對存儲容量有巨大的要求;其次應(yīng)用系統(tǒng)要求對數(shù)據(jù)進(jìn)行快速有效的存??;
94、最后需要對數(shù)據(jù)進(jìn)行有效的管理,從而有了網(wǎng)絡(luò)存儲技術(shù)的快速發(fā)展。</p><p> 目前網(wǎng)絡(luò)存儲]的運(yùn)用以滲透到許多鄰域,而企業(yè)是當(dāng)中的大頭,企業(yè)選擇存儲網(wǎng)路是網(wǎng)絡(luò)存儲有著對其數(shù)據(jù)訪問和保護(hù)問題、計(jì)算機(jī)資源的利用的高效利用問題的解決有很大的幫助、對業(yè)務(wù)的連續(xù)性有最高水平的保證。</p><p> 網(wǎng)絡(luò)存儲提高了數(shù)據(jù)的共享性、可用性、可擴(kuò)展性和管理性,但仍然存在一些缺陷. 如:NAS 的性
95、能較低;SAN 的實(shí)現(xiàn)費(fèi)用較高,互操作性差; IP2SAN 則存在著嚴(yán)謹(jǐn)?shù)腟CSI 協(xié)議和無法保證質(zhì)量的TCP/ IP 協(xié)議的矛盾。因此,網(wǎng)絡(luò)存儲的發(fā)展,以解決存儲共享,數(shù)據(jù)共享等問題,仍然是當(dāng)今存儲體系結(jié)構(gòu)研究的重點(diǎn)和熱點(diǎn)。目前網(wǎng)絡(luò)存儲的核心技術(shù)是圍繞SCSI、FC、IP 以太網(wǎng)及它們的交叉融合發(fā)展,NAS 存儲系統(tǒng)可能采用DAFS 技術(shù)提高系統(tǒng)性能,利用虛擬存儲體系結(jié)構(gòu)實(shí)現(xiàn)所有的存儲技術(shù)的統(tǒng)一,基于總線的存儲,將可能沿著基于Infi
96、niBand 技術(shù)發(fā)展。</p><p> 網(wǎng)絡(luò)存儲技術(shù)是今年來計(jì)算機(jī)領(lǐng)域研究的熱點(diǎn)之一,由于網(wǎng)絡(luò)存儲在各方面的優(yōu)勢,勢必將會對未來的的信息存儲系統(tǒng)帶來革命性的影響。網(wǎng)絡(luò)存儲的這個影響會從現(xiàn)在一直持續(xù)很長的時間。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 沈淺 網(wǎng)絡(luò)存儲技術(shù)的探討 福建電腦報(bào) 2010第3期。
97、</p><p> [2] Farley M. Building Storage Networks. USA : Osborne/ Mc2Graw - Hill ,2000</p><p> [3] 鄭晨溪 網(wǎng)絡(luò)存儲技術(shù)淺論 信息系統(tǒng)工程 2009第12期。</p><p> [4] 馮丹.網(wǎng)絡(luò)存儲關(guān)鍵技術(shù)的研究及進(jìn)展[J].移動通信,2009(11):35
98、-39。</p><p> [5] 雷江濤,白照高.網(wǎng)絡(luò)存儲技術(shù)的發(fā)展現(xiàn)狀及應(yīng)用[ J ] .工業(yè)儀表與自動化裝置,2007(1):75-79。</p><p> [6] 范中磊 網(wǎng)絡(luò)存儲技術(shù)漫談之一:網(wǎng)絡(luò)存儲簡介 記錄媒體技術(shù) 2010年第1期。</p><p> [7] 譚生龍 存儲虛擬化技術(shù)的研究 微型計(jì)算機(jī)應(yīng)用 2010年第1期。</p>
99、<p> [8] 范濤. 網(wǎng)絡(luò)存儲技術(shù)研究與應(yīng)用[ J ] . 福建電腦, 2008(6):59-60。</p><p> [9] NIIT. 存儲區(qū)域網(wǎng)概念與應(yīng)用[ M] . 北京: 人民郵電出版社,2002.</p><p> [10] 王月,賈卓生 網(wǎng)絡(luò)存儲技術(shù)的應(yīng)用于研究 2006年6月 第16卷 第6期。</p><p> [11]
100、 劉倉軍 網(wǎng)絡(luò)文件管理技術(shù)設(shè)計(jì)與實(shí)現(xiàn) 電腦知識與技術(shù) 2010年6月。</p><p> [12] 龍朝暉 JSP技術(shù)及其在工程圖檔管理系統(tǒng)中的應(yīng)用 2004年12月。</p><p> [13] 鄔劍飛 在線測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件導(dǎo)刊 2009年第1期</p><p> [14] 劉曉峰 Struts l框架與Struts2框架的對比分析 電大理工 20
101、10年6月。</p><p> [15] 劉英哲 基于SS H框架的遠(yuǎn)程教學(xué)平臺的實(shí)現(xiàn) 技術(shù)應(yīng)用 2010年9月。</p><p> [16] 李敬文 基于Struts+Hibernate架構(gòu)的OA平臺設(shè)計(jì)與實(shí)現(xiàn) 數(shù)字技術(shù)與應(yīng)用 2010年9月。</p><p> [17] 王春明 基于MVC模式的Struts框架的研究 科技信息 2007年第23期。<
102、;/p><p> [18] 吳偉強(qiáng) 西北工業(yè)大學(xué) 計(jì)算機(jī)軟件與理論系 網(wǎng)絡(luò)存儲系統(tǒng)的研究 2005年6月27號。</p><p> [19] 曹大有 基于Myeclipse的Hibernate持久層框架開發(fā)過程研究 計(jì)算機(jī)應(yīng)用 2007年第12期。</p><p> [20] 王春明 基于MVC模式的Struts框架的研究 科技信息 2007年第23期</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于web的網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于web的網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【開題報(bào)告】
- 基于web的網(wǎng)絡(luò)存儲服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【文獻(xiàn)綜述】
- 畢業(yè)設(shè)計(jì)--基于web的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) 基于web的畢業(yè)設(shè)計(jì)選題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)基于web的選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于Web服務(wù)的網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于web的畢業(yè)設(shè)計(jì)選題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于web的畢業(yè)設(shè)計(jì)課題系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
- 基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----基于web的網(wǎng)絡(luò)教務(wù)系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)基于web的租賃系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于web的會務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 基于Web的畢業(yè)設(shè)計(jì)選題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)--基于web的在線自測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----基于web的商場管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于web的會務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論