版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
關(guān)于夢境的APP技術(shù)實現(xiàn)方案(WEB端)指導(dǎo)老師:張修軍隊名:微積分(Calculus)團隊隊員:魏裔龍劉海文孫天松劉剛紀(jì)陽徐凱平時間:2016-03-26目錄TOC\o"1-5"\h\z\o"CurrentDocument"1.WEB1端技術(shù) 3\o"CurrentDocument"WEB端技術(shù)路線 3\o"CurrentDocument"MVC模式 3\o"CurrentDocument"1.1.2WEB架構(gòu) 4\o"CurrentDocument"WEB端實現(xiàn)方案 7\o"CurrentDocument"1.2.1通信協(xié)議 7\o"CurrentDocument"1.2.2數(shù)據(jù)處理 8\o"CurrentDocument"1.2.3數(shù)據(jù)調(diào)用基本過程 9\o"CurrentDocument"數(shù)據(jù)庫 10\o"CurrentDocument"2.1數(shù)據(jù)庫技術(shù) 10\o"CurrentDocument"2.1.1數(shù)據(jù)庫技術(shù)路線 10\o"CurrentDocument"2.2數(shù)據(jù)庫實現(xiàn)方案 11\o"CurrentDocument"2.2.1數(shù)據(jù)庫的連接 11\o"CurrentDocument"2.2.2解決數(shù)據(jù)量大的問題 12\o"CurrentDocument"2.2.3備份與恢復(fù) 13\o"CurrentDocument"采用技術(shù) 14\o"CurrentDocument".PHP的特性 14\o"CurrentDocument"?優(yōu)勢 14\o"CurrentDocument"3.3數(shù)據(jù)庫 15111
1.WEB端技術(shù)WEB端技術(shù)路線MVC模式WEB端主體框架采用MVC的設(shè)計模式,通過視圖、控制器、模型的分離減少了代碼的耦合度,由于MVC模式的三個模塊相互獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設(shè)計思想能構(gòu)造良好的少互擾性的構(gòu)件。圖3-2MVC模式1.1.2WEB架構(gòu)業(yè)務(wù)層業(yè)務(wù)層WEB應(yīng)用系統(tǒng)大多采用J2EE(Java2PlatformEnterpriseEdition )的多層框架結(jié)構(gòu)模型,WEB應(yīng)用框架技術(shù)是一種針對某一特定應(yīng)用領(lǐng)域的面向?qū)ο筌浖?fù)用技術(shù)由特定應(yīng)用領(lǐng)域的軟件體系結(jié)構(gòu)所決定的軟件構(gòu)架。我們將使用J2EE三個比較受歡迎的開源框架SSH來實現(xiàn)web功能。SSH為struts+spring+hibernate 的一個集成框架,是目前較流行的一種Web應(yīng)用程序開源框架。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層Struts框架Struts框架是基于MVC(Model-View-Controller ,模型視圖控制器)模式的框架。采用Java語言編寫,它繼承了MVC設(shè)計模式的特性,對應(yīng)用系統(tǒng)的用戶界面顯示和數(shù)據(jù)的后端業(yè)務(wù)邏輯代碼進行了抽象,并且整合了 Servlet與JSP在WEB應(yīng)用系統(tǒng)開發(fā)上的優(yōu)勢。在Struts框架中,模型由實現(xiàn)業(yè)務(wù)邏輯的JavaBean組件構(gòu)成,控制器由Action以及Struts-config.xml 配置文件來實現(xiàn),視圖由一組JSP文件構(gòu)成。Spring框架Spring框架由一個容器、一個配置和組織組件的框架,一組內(nèi)置的為事務(wù)、持久化和WEB用戶接口提供的服務(wù)組成,是一個輕量的控制反轉(zhuǎn)((InversionofControl,loC)和面向方面(Aspect-orientedProgramming,AOP)的容器框架:輕量:完整的Spring框架可在一個大小1MB多的JAR文件里發(fā)布,并且Spring所需的處理開銷也很小??刂品崔D(zhuǎn):Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。控制反轉(zhuǎn)就是指由容器通過配置文件來管理業(yè)務(wù)對象之間的依賴關(guān)系,而非傳統(tǒng)方式中由代碼方式來直接操控??刂品崔D(zhuǎn)的實質(zhì),是控制管理權(quán)由程序代碼轉(zhuǎn)到了外部容器,控制權(quán)的轉(zhuǎn)變即是所謂的反轉(zhuǎn)。面向方面:Spring包含對面向方面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)服務(wù)進行內(nèi)聚性的開發(fā)。應(yīng)用對象只做它們應(yīng)該做的,完成業(yè)務(wù)邏輯,并不負(fù)責(zé)其它的系統(tǒng)關(guān)注點。容器:Spring包含管理應(yīng)用對象的配置和生命周期,可以配置每個 bean如何被創(chuàng)建??蚣埽篠pring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里,Spring提供了很多基礎(chǔ)功能(事務(wù)管理、持久性框架集成等等),并留有應(yīng)用邏輯開發(fā)。Hibernate框架Hibernate是一種Java語言環(huán)境下的對象/關(guān)系映射(Object-Relational,OR)解決方案。它為面向?qū)ο蟮膶嶓w模型到關(guān)系型數(shù)據(jù)庫之間的映射,提供了一個極為方便的開源框架。Hibernate使用數(shù)據(jù)庫和配置文件來為應(yīng)用程序提供持久化(持久化是指和數(shù)據(jù)庫相關(guān)的各種操作)服務(wù)。Hibernate配置文件有兩種格式:一種是XML格式的文件Hibernate.cfg.xml,—種是Java屬性文件Hibernate.Properties ,采用"鍵=值"的形式。在應(yīng)用系統(tǒng)的開發(fā)中,Hibernate配置文件中包含了JDBC連接數(shù)據(jù)庫的驅(qū)動信息。在應(yīng)用程序訪問數(shù)據(jù)庫時,首先讀取 Hibernate配置文件,再通過配置文件找到持久化類的XML映射文件,根據(jù)該映射文件得到相應(yīng)的持久化類,從而可以對類進行操作。也就是將持久化對象中的屬性與數(shù)據(jù)庫表中的字段對應(yīng)起來。通過持久化對象完成對數(shù)據(jù)庫表中的數(shù)據(jù)的增加、修改、查詢和刪除操作。4) SSH框架協(xié)同工作整個項目結(jié)構(gòu)清晰,性能優(yōu)良。1.2WEB端實現(xiàn)方案1.2.1通信協(xié)議我們用HTTP協(xié)議實現(xiàn)客戶端與服務(wù)端的連接。HTTP協(xié)議是一種詳細(xì)規(guī)定了瀏覽器和萬維網(wǎng)服務(wù)器之間互相通信的規(guī)則,通過因特網(wǎng)傳送萬維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。圖3-5XMPP協(xié)議XMPP是一種基于XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強的可擴展性。經(jīng)過擴展以后的XMPP可以通過發(fā)送擴展的信息來處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地址的服務(wù)等應(yīng)用程序。而且XMPP包含了針對服務(wù)器端的軟件協(xié)議,使之能與另一個進行通話,這使得開發(fā)者更容易建立客戶用應(yīng)用程序或給一個配好系統(tǒng)添加功能。由于HTTP協(xié)議時需要客戶端發(fā)送請求,服務(wù)端才會發(fā)送數(shù)據(jù),但我們系統(tǒng)中有如聊天系統(tǒng)等需要實施的功能使用http協(xié)議就不是很合適,因此我們還使用了XMPP協(xié)議配合HTML協(xié)議完成聊天功能以及系統(tǒng)活動、運動咨詢和定點廣告的推送功能。1.2.2數(shù)據(jù)處理1.字符數(shù)據(jù)處理JSON(JavaScriptObjectNotation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,但是也使用了類似于 C語言家族的習(xí)慣(包括C,C++,C#,Java,JavaScript,Perl,Python 等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成123數(shù)據(jù)調(diào)用基本過程數(shù)據(jù)庫2.1數(shù)據(jù)庫技術(shù)2.1.1數(shù)據(jù)庫技術(shù)路線JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用 Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 JavaAPI編寫數(shù)據(jù)庫應(yīng)用程序。2.2數(shù)據(jù)庫實現(xiàn)方案221數(shù)據(jù)庫的連接與數(shù)據(jù)庫建立連接的標(biāo)準(zhǔn)方法是調(diào)用 DriverManager.getConnection方法。該方法接受含有某個 URL的字符串。DriverManager 類(即所謂的JDBC管理層)將嘗試找到可與那個 URL所代表的數(shù)據(jù)庫進行連接的驅(qū)動程序。DriverManager 類存有已注冊的Driver類的清單。當(dāng)調(diào)用方法getConnection 時,它將檢查清單中的每個驅(qū)動程序,直到找到可與 URL中指定的數(shù)據(jù)庫進行連接的驅(qū)動程序為止。 Driver的方法connect使用這個URL來建立實際的連接。 用戶可繞過JDBC管理層直接調(diào)用Driver方法。這在以下特殊情況下將很有用:當(dāng)兩個驅(qū)動器可同時連接到數(shù)據(jù)庫中,而用戶需要明確地選用其中特定的驅(qū)動器。但一般情況下,讓DriverManager 類處理打開連接這種事將更為簡單。222解決數(shù)據(jù)量大的問題圖4-3數(shù)據(jù)庫數(shù)據(jù)量與性能的關(guān)系圖隨著用戶的增加,每個人上傳的圖片等的數(shù)據(jù)量將會在服務(wù)器越積越多,導(dǎo)致性能下降。但是每個人的資料信息以及上傳的圖片又不能刪除,給服務(wù)器帶來了很大的壓力。為了處理多用戶量的問題我們在后期決定使用分布式多服務(wù)器分工合作原理,解決大數(shù)據(jù)量帶來的壓力。223備份與恢復(fù)備份2備份2OlliC注解V工隹丟喪鳳時圖4-5數(shù)據(jù)庫備份圖備份策略一:直接拷貝數(shù)據(jù)庫文件直接拷貝數(shù)據(jù)文件最為直接、快速、方便,但缺點是基本上不能實現(xiàn)增量備份。為了保證數(shù)據(jù)的一致性,需要在備份文件前,執(zhí)行以下 sql語句:flushtableswithreadlock;也就是把內(nèi)存中的數(shù)據(jù)都刷新到磁盤中,同時鎖定數(shù)據(jù)表,以保證拷貝過程中不會有新的數(shù)據(jù)寫入。這種方法備份出來的數(shù)據(jù)恢復(fù)也很簡單,直接拷貝回原來的數(shù)據(jù)庫目錄下即可。備份策略二:使用mysqlhotcopy 備份數(shù)據(jù)庫mysqlhotcopy是一個perl程序,最初由timbunce編寫。它使用locktables、flushtables和cp或scp來快速備份數(shù)據(jù)庫。它是備份數(shù)據(jù)庫或單個表的最快的途徑,但它只能運行在數(shù)據(jù)庫文件(包括數(shù)據(jù)表定義文件、數(shù)據(jù)文件、索引文件)所在的機器上,并且 mysqlhotcopy 只能用于備份myisam表。本備份策略適合于小型數(shù)據(jù)庫的備份,數(shù)據(jù)量不大,可以采用 mysqlhotcopy程序每天進行一次完全備份。采用技術(shù).PHP的特性PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁一一動態(tài)頁面方面,與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多;PHP具有非常強大的功能,所有的CGI的功能PHP都能實現(xiàn)。PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。最重要的是PHP可以用C、C++進行程序的擴展!.優(yōu)勢1?開放源代碼所有的PHP源代碼事實上都可以得到。2?免費性和其它技術(shù)相比,PHP本身免費且是開源代碼。3?快捷性程序開發(fā)快,運行快,技術(shù)本身學(xué)習(xí)快。嵌入于HTML:因為PHP可以被嵌入于HTML語言,它相對于其他語言。編輯簡單,實用性強,更適合初跨平臺性強由于PHP是運行在服務(wù)器端的 腳本,可以運行在 UNIX、LINUX、WINDOWS、MacOS、Android等平臺效率咼PHP消耗相當(dāng)少的系統(tǒng)資源。圖像處理用PHP動態(tài)創(chuàng)建圖像,PHP圖像處理默認(rèn)使用GD2。且也可以配置為使用imagemagick進行圖像處理。面向?qū)ο笤趐hp4,php5中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M,php完全可以用來開發(fā)大型商業(yè)程序。專業(yè)專注PHP支持腳本語言為主,同為類C語言。3.3數(shù)據(jù)庫數(shù)據(jù)庫采用MySQL,作為一個小型關(guān)系數(shù)據(jù)庫管理系統(tǒng),它體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,這使得許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。Mysql擁有許多優(yōu)良特性:使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)3?為多種編程語言提供了AP
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)機構(gòu)合同范本
- 喜德縣2024第一季度四川涼山州喜德縣人力資源和社會保障局考核招聘緊缺專業(yè)技術(shù)人筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 鋼鐵行業(yè)項目經(jīng)理招聘面題集與解答參考
- 醫(yī)藥行業(yè)藥品管理面試題及答案
- 教育顧問課程規(guī)劃面試題集
- 廣藥集團財務(wù)經(jīng)理財務(wù)知識競賽題庫含答案
- 卓越績效崗的績效考核工具與方法介紹
- 2025年譜系分析技術(shù)在基因研究中的創(chuàng)新可行性研究報告
- 2025年現(xiàn)代文化娛樂產(chǎn)業(yè)發(fā)展項目可行性研究報告
- 2025年在線教育培訓(xùn)平臺建設(shè)項目可行性研究報告
- 捷盟-03-京唐港組織設(shè)計與崗位管理方案0528-定稿
- 基于SystemView的數(shù)字通信仿真課程設(shè)計
- 物業(yè)二次裝修管理規(guī)定
- GB 10133-2014食品安全國家標(biāo)準(zhǔn)水產(chǎn)調(diào)味品
- FZ/T 92023-2017棉紡環(huán)錠細(xì)紗錠子
- 采氣工程課件
- 非洲豬瘟實驗室診斷電子教案課件
- 工時的記錄表
- 金屬材料與熱處理全套ppt課件完整版教程
- 熱拌瀝青混合料路面施工機械配置計算(含表格)
- 水利施工CB常用表格
評論
0/150
提交評論