999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于web服務器集群的師生互動社區的設計與實現

2019-08-12 01:27:59趙懿謙徐其波程細柱陳智健
電腦知識與技術 2019年16期

趙懿謙 徐其波 程細柱 陳智健

摘要:隨著高校校園網的建設與發展,基于校園網的各種論壇也是層出不窮,但是大多數校園論壇都是以娛樂交流為主、功能有限。因此,該課題組結合高校的實際情況開發了一個方便老師和學生進行學術交流和提問與解答的WEB平臺,該平臺采用B/S的體系結構,基于Spring+SpringMVC+Mybatis框架,采用Mybatis數據庫+Redis緩存數據庫進行開發,平臺的主要功能是老師和學生可以提出自己的問題,也可以解答別人提出的問題,還可以發表自己對不同知識點的見解,并記錄自己的學習過程,同時還可以在該論壇上組建自己的項目團隊,共享各種學習資源。作為老師用戶,還可以上傳自己的研究項目和發表的期刊論文。該文介紹了開發該平臺的關鍵技術,同時還介紹了Nginx反向代理服務器在本系統中的作用。

關鍵詞:校園論壇;Java;Redis;Nginx

中圖分類號:TP311.52? ?文獻標識碼:A

文章編號:1009-3044(2019)16-0065-05

開放科學(資源服務)標識碼(OSID):

1 引言

為了方便高校老師之間共享教學資源和科研成果,分享教學經驗,進行學術交流,以及老師與學生之間提問與解答,本課題組共同開發了一個“基于web服務器集群的師生互動平臺”網站。

該網站允許高校老師在自己的個人主頁中上傳自己的教學經驗,分享課題研究困難的解決辦法,分享相關教學素材、所帶團隊研究學習項目進度等資源,達到資源互享,學科互補的效果。

而且,本網站還提供高校學生課后與本學科或跨學科老師交流互動、難點問答、學校硬件資源借用等功能,達到教學資源利用最大化。學生可以通過課程類別搜索到相應的老師,發起疑難點的提問,師生間通過交流互動解決課程難題。而且學生或老師可以組成團隊進行實驗研究。

另外,利用該平臺,學生可以發表自己的參賽心得,展示自己的作品,供其他人瀏覽學習,同時還可以在論壇模塊開啟一些學術話題討論,還可以解答別人的問題,讓知識真正活起來,更加貼近現實生活。

該平臺能較好地整合優質的教學資源,有利于激發學生學習興趣、培養學生獨立思考和動手能力、規范教學管理、提高教學質量,使教學資源利用率達到最大化。如果推廣使用,可以產生較好的經濟效益。

2 系統分析

2.1 可行性分析

2.1.1 技術和經濟可行性

本系統使用Java作為開發語言,使用Spring + SpingMVC + Mybatis作為系統的開發架構[1],數據庫使用Mysql,緩存數據庫使用Redis,視圖層使用freeMarker模板引擎,整個項目采用Maven進行搭建。系統開發完成后部署到基于Nginx反向服務器的Tomcat集群上。因為上述的各功能組件都是成熟穩定,并且開源免費,因此在技術和經濟方面是可行的。

2.2 需求分析

2.2.1 功能需求

通過對多個學校以及網絡上相關論壇的考察,結合老師與學生的具體需求,本系統主要包含如下幾大功能模塊。

1)問答模塊:登錄用戶可以在該模塊進行提問與回答。

2)博客模塊:對于喜歡記錄學習過程的用戶,可以通過該模塊,發表自己對某些知識點的見解。

3)團隊模塊:用戶可以通過發表一個需要研究的項目從而招募成員。

4)資源模塊:用戶可以通過此模塊,共享自己的資源或者下載自己喜歡的資源。

5)科研成果展示模塊:該功能只有老師才能使用,老師用戶可以上傳自己的研究項目或者發表的論文,從而讓更多學生吸收到老師的研究成果。

3 系統總體設計

3.1 系統模塊的組成

3.1.1 系統模塊相對應功能的概要描述。

登錄模塊:用戶可以使用賬戶和密碼登錄。

學生注冊模塊:學生填寫學號、性別、年級、就讀專業、郵箱等信息完成注冊。

個人信息管理模塊:用戶可以在該功能模塊中修改自己的個人信息。

關注和粉絲模塊:用戶可以通過該功能模塊查看自己關注的用戶,也可對關注用戶進行取關,同時也可以查看自己的粉絲,刪除自己的粉絲。

博客模塊:用戶可以發表自己的博客,也可對博客進行收藏,點贊,評論,舉報。

老師科研模塊:老師可以在該模塊管理自己的論文和課題。

團隊管理模塊:用戶可以通過該功能模塊申請加入團隊,也可以管理自己的團隊。

用戶交流模塊:用戶可以在該模塊下提出問題,回答問題,也可以收藏問題和回答,也可以對提問和回答進行點贊,評論,舉報。

項目管理模塊:老師用戶可以通過該模塊管理和展示自己的項目。

后臺管理模塊:管理員進行注銷用戶和管理舉報消息和刪除違規消息。

權限管理模塊:為用戶賬戶授予權限及收回權限。

3.1.2 系統模塊之間的關系

該系統分為前臺模塊和后臺管理模塊,分別如圖1、圖2所示。

3.2 系統的整體流程

這里通過系統的流程圖來表示該系統的整體流程,如圖。

4 數據庫設計

4.1 數據庫整體設計

這里通過er圖模型來表示出該系統各個實體之間的關系。問題模塊如圖4所示;資源模塊、關注和粉絲模塊、團隊模塊的er圖如圖5所示;,博客和項目模塊er圖如圖6所示;私信模塊、權限管理模塊,論文模塊的er圖如圖7所示。

5 系統詳細設計與實現

5.1 登錄注冊模塊的設計實現

用戶在登錄頁面(如圖6所示),填寫上用戶名、密碼。點擊登錄,后臺驗證正確,就可以進入系統首頁(如圖8所示),否則,就提示賬號密碼不匹配。如果用戶沒有注冊就點擊注冊新用戶,在注冊頁面(如圖7所示)填寫注冊信息,后臺錄入數據,注冊成功,跳轉到登錄頁面,否則,提示注冊失敗。

5.2 問答模塊的設計實現

1)發起提問

在提問頁面,描述好問題信息,點擊提問按鍵,后臺入庫,跳轉到瀏覽問題頁面。

2)舉報提問

在提問瀏覽頁面,點擊舉報按鍵,填寫舉報原因,提交后臺處理。

3)回復評論

瀏覽回答頁面上,點擊評論按鍵,填寫評論,點擊提交。

4)舉報回答

在回答瀏覽頁面,點擊的舉報按鍵,填寫好舉報原因,提交后臺。

5.3 資源共享模塊的設計實現

該功能支持最大500M的大文件的上傳,用戶點擊“上傳資源”,選擇目標資源,即可上傳,如果中途上傳中斷,該功能還支持資源的續傳[2]。

5.4 團隊模塊的設計實現

1)組建團隊

在團隊招募的頁面中,點擊“招募團隊”,詳細填寫團隊信息,點擊提交,新建團隊出現在我的團隊頁面中。

2)申請加入團隊

瀏覽團隊列表,點擊某個招募中的團隊,進入該團隊的詳細頁面,點擊“申請加入”,填好申請信息,提交給后臺。

3)上傳資源到團隊

功能說明:進入我的團隊,點擊資源上傳按鍵,選好上傳的資源,將資源給服務器存儲入庫,成功,告訴前端。否則提示重傳。

4)從團隊下載資源

進入我的團隊,點擊資源下載按鍵。后臺返回下載的資源。

5)團隊成員管理

進入我的團隊,如果用戶是團長,點擊踢除按鍵,踢除團隊成員;點擊“同意”入隊申請,就添加了一名隊員,或者點擊“駁回”,就拒絕了他的入隊申請;點擊“團隊解散”,就是將團隊解散;點擊修改招募時間,就修改了截止招募日期。

如果用戶是隊員,點擊退出團隊,向后臺入庫“退隊申請”,等團長同意,即可退隊。

5.5 論文模塊的設計實現

1)評論論文

瀏覽論文的頁面上,填寫評論,點擊發表評論。

2)舉報論文

瀏覽論文的頁面上,點擊“舉報”,填寫舉報原因,提交后臺處理。

3)回復評論

瀏覽論文的頁面上,點擊“回復”,填寫內容,提交后臺,頁面顯示回復內容。

5.6 項目模塊的設計實現

1)評論項目

瀏覽項目的頁面上,填寫評論,點擊發表評論。

2)舉報項目

瀏覽項目的頁面上,點擊“舉報”,填寫舉報原因,提交后臺處理。

3)回復評論

瀏覽項目的頁面上,點擊“回復”,填寫內容,提交后臺,頁面顯示回復內容。

5.7 博客模塊的設計實現

1)評論博客

瀏覽博客的頁面上,填寫評論,點擊發表評論。

2)舉報博客

瀏覽博客的頁面上,點擊“舉報”,填寫舉報原因,提交后臺處理。

3)回復評論

瀏覽博客的頁面上,點擊“回復”,填寫內容,提交后臺。

5.8 私信的設計實現

在私信發送頁面上,選擇聯系人,填寫信息,點擊發送。聯系人收到私信。

5.9 個人信息管理的設計實現

1)修改用戶的基本信息

在個人信息頁面,點擊“修改”,填寫個人基本信息,點擊“保存”。

2)修改密碼

在個人信息頁面,點擊“修改密碼”,填寫新密碼,點擊“確認”。

5.10 關注和粉絲模塊的設計實現

瀏覽其他用戶信息時,點擊“關注”,即關注了用戶,成為他的粉絲;

瀏覽我的關注頁面,點擊“取消關注”,即退出他的粉絲。

5.11 收藏模塊的設計實現

瀏覽博客、提問、問題的回答時,點擊收藏;在我的收藏中,點擊取消,取消相應資源的收藏;

5.12后臺管理模塊的設計實現

1) 權限管理

在管理端,創建、刪除權限 和 角色;為用戶賬戶授予權限及收回權限。

2) 舉報管理

審核舉報消息,同意或駁回。

3) 帖子管理

刪除違規的論文、提問、回答評論、資源、團隊

4) 用戶管理

管理員進行注銷用戶

5.13 對系統運行時的session進行持久化處理

本系統是通過重寫shiro框架中的類WebSessionManager中的SessionDao屬性來對系統運行時的session進行持久化處理。具體操作如下:

1) 新建一個繼承AbstractSessionDAO的類:RedisSessionDao,然后重寫增刪改方法,讓session的獲取和創建都是經過我們配置好的Redis服務器。

2) 測試上述步驟時發現,每次訪問服務器的請求,都需要從redis讀取session至少7次,這顯然會導致redis的高負載,很不利于系統的穩定,因此,接下來,我們要重寫讀取redis中Session的規則。

3) Shiro中控制讀取session邏輯的是 DefaultWebSessionManager中的 retrieveSession()方法,因此我們需要新建一個繼承DefaultWebSessionManager的類CustomSessionManager,然后將方法retrieveSession()改寫為:只當首次訪問時才從redis中取session接下來的請求都從request中獲取請求。

5.14 項目的部署

為了讓系統應對高并發量的請求,這里將把系統部署到基于Nginx反向代理服務器的Tomcat集群中,具體操作如下:

然后在瀏覽器輸入nginx服務器的地址+項目根路徑,即nginx服務器的ip地址+項目根路徑對項目進行訪問,多次訪問發現nginx將多次請求,隨機的分發到了三個tomcat服務器中的本系統進行處理。然后打開redis,發現redis只持久化了一份session。

因此,整個服務器集群搭建成功,并且session的持久化也成功了。

參考文獻:

[1] 舒禮蓮.基于SpringMVC的Web應用開發[J].計算機與現代化, 2013(11).

[2] CSDN網站.Java實現瀏覽器端大文件分片上傳[Z].2017.

[3] 郝淑惠.基于Nginx的Web服務器負載均衡策略改進與實現[J].河套學院網絡信息中心,2019(2).

【通聯編輯:梁書】

主站蜘蛛池模板: 国产尹人香蕉综合在线电影| 中文字幕日韩欧美| 欧美精品色视频| 自偷自拍三级全三级视频 | 日韩高清在线观看不卡一区二区| 亚洲成年人网| 日韩区欧美国产区在线观看| 特级aaaaaaaaa毛片免费视频| 亚洲欧洲国产成人综合不卡| yy6080理论大片一级久久| 浮力影院国产第一页| 日本免费一级视频| 无码专区国产精品一区| 亚洲黄色网站视频| 激情乱人伦| 日韩中文欧美| 国产不卡在线看| 久久一色本道亚洲| 久久综合亚洲鲁鲁九月天| 国产福利一区二区在线观看| 亚洲视频在线青青| 亚洲精品国产精品乱码不卞 | 国产成人精品三级| 无码一区18禁| 尤物在线观看乱码| 国产在线欧美| 尤物视频一区| 日韩无码一二三区| 亚洲国产成人自拍| 久久天天躁狠狠躁夜夜躁| 日韩无码真实干出血视频| 黄网站欧美内射| 国产精品久久久久久久久kt| 国产精品思思热在线| 丁香五月亚洲综合在线| 亚洲a级毛片| 精品少妇人妻一区二区| 97亚洲色综久久精品| 国产精品va免费视频| 欧美成人手机在线观看网址| 日韩小视频在线播放| 国产高清毛片| 国产精品毛片一区视频播| 一本大道AV人久久综合| 国产小视频在线高清播放| 国产美女无遮挡免费视频| 青青青国产视频手机| 亚洲一区二区无码视频| 久久亚洲国产最新网站| 国产欧美在线观看精品一区污| 高清国产在线| 日韩东京热无码人妻| 国产视频你懂得| 国产高清在线观看91精品| 亚洲免费三区| 亚洲成人网在线观看| 国产精品无码一二三视频| 欧美亚洲国产精品第一页| 成人免费黄色小视频| 亚洲欧洲日产国产无码AV| 日韩视频免费| 国产在线视频自拍| 国产白浆在线| 亚洲av综合网| 亚洲国产高清精品线久久| 亚洲色图欧美在线| 国产精品视频免费网站| 亚洲欧美国产视频| 伊人久热这里只有精品视频99| 国产亚洲高清在线精品99| 日韩色图区| www精品久久| 国产又色又刺激高潮免费看| 亚欧美国产综合| 天天色天天操综合网| 97青青青国产在线播放| 无码AV日韩一二三区| 亚洲午夜综合网| 婷婷六月在线| 国产丝袜精品| 国产91小视频| AV网站中文|