基于lifebench的在線教育系統(tǒng)設計與實現(xiàn)_第1頁
基于lifebench的在線教育系統(tǒng)設計與實現(xiàn)_第2頁
基于lifebench的在線教育系統(tǒng)設計與實現(xiàn)_第3頁
基于lifebench的在線教育系統(tǒng)設計與實現(xiàn)_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于lifebench的在線教育系統(tǒng)設計與實現(xiàn)

隨著互聯(lián)網通信技術的快速發(fā)展和當前疫情的背景下,中國的教育形式并不局限于傳統(tǒng)的在線教育形式。線上教育開始成為人們學習提高的重要形式,但是傳統(tǒng)的系統(tǒng)架構應對爆發(fā)式的在線學習顯然無法滿足大規(guī)模的用戶訪問需求。因此提出了基于SpringCloud微服務的在線視頻教育系統(tǒng)。本系統(tǒng)通過需求分析和設計按照功能將系統(tǒng)劃分為教育管理、視頻管理、用戶管理、支付管理微服務模塊。最后對系統(tǒng)的關鍵功能模塊和部分復雜技術的實現(xiàn)進行了詳細的介紹。此系統(tǒng)為大用戶量的訪問提供了可靠保障。同時采用微服務的形式也為系統(tǒng)后期的擴展性提供了可能。0基于微服務架構的學習效率傳統(tǒng)授課受限于地點和人數的限制,在線教育已經成為人們學習的新的學習方式,相對于傳統(tǒng)教育在線教育不受制于空間和人數。通過在線學習可以讓人們隨時隨地的進行學習,可以節(jié)約學習的時間提高人們的學習效率。目前雖然許多學校都有自己的在線教育系統(tǒng)但這些系統(tǒng)由于大多采用的是傳統(tǒng)的單體技術架構。前后端不能分離,前后端耦合系統(tǒng)的擴展性不強,不能對系統(tǒng)的模塊根據用戶的使用頻率進行靈活的部署。此時用戶量多的情況下很容易出現(xiàn)卡頓甚至崩潰死機的情況。因此采用微服務架構可以很好的解決上述問題。在微服務架構下通過將系統(tǒng)按照功能模塊進行拆分成不同的微服務,每個微服務可以單獨部署。服務之間可以通過Feign等技術實現(xiàn)調用。本系統(tǒng)通過使用基于SpringCloud的微服務框架,可以有效的解決代碼耦合度高、后期系統(tǒng)可擴展性差、系統(tǒng)并發(fā)度不高、不能靈活部署等問題1微服務架構下的部署微服務架構是相對于傳統(tǒng)的單體結構而說的,傳統(tǒng)單體架構主要是以單體框架為主。傳統(tǒng)的單體架構所有的功能模塊都集中在一個程序中,前臺和后臺之間以及后臺各個功能模塊之間的耦合度高。往往一處修改需要級聯(lián)修改多處。導致代碼維護難度成幾何倍數增加。同時這種架構不能按照功能模塊的使用頻率進行靈活部署。微服務架構正是在此背景下產生的,微服務可以將一個程序安裝功能劃分為不同的模塊。各個功能模塊可以根據實際的業(yè)務環(huán)境動態(tài)的部署,訪問量大的就多部署而訪問量少的功能模塊可以少部署。這些模塊之間相互的調用可以通過插件從而實現(xiàn)了模塊之間的松耦合度。2sentinl組件本系統(tǒng)采用前后端分離的架構模式。該架構主要目的是讓前端和后端開發(fā)可以同步進行最后部署可以分開部署。前端選用的框架主要是Vue等主流的前端框架。后端選用SpringCloud框架,該框架下包括不同功能的組件。按照功能劃分選用的組件如下(1)網關選擇的是Zuul,網關主要負責對前臺頁面進行身份驗證、路由管理、負載分配。前臺的所有訪問后臺的所有路徑都通過網關按照路徑分發(fā)到后臺的不同微服務模塊。(2)注冊中心選擇的是Eureka,各個微服務模塊都將自己注冊到EurekaServer。(3)服務間調用使用組件OpenFeign,通過此組件實現(xiàn)不同的微服務之間可以通過發(fā)送Http請求進行彼此之間的訪問。(4)由于服務之間存在依賴關系因此如果一個服務出現(xiàn)了問題容易引起其他服務出現(xiàn)問題從而引起雪崩。因此需要Sentinal組件,通過他保障調用其他服務出現(xiàn)問題時候有錯誤處理。從而提高整個系統(tǒng)的可靠性。系統(tǒng)的總體結構設計如圖1所示。3不同功能模塊的設計3.1后臺管理功能(1)前臺用戶進入登錄模塊點擊掃碼登錄進入支付寶掃碼登錄用戶掃碼后返回到在線視頻教育系統(tǒng)的登錄處理中,后臺審核用戶信息如果成功將用戶信息保存到后臺數據庫再返回到主界面,失敗就返回失敗信息(2)后臺管理員輸入用戶名、密碼注冊,后臺將相關管理員信息保存到后臺數據庫。3.2課程登錄的審核(1)前臺用戶點擊講師向后臺請求講師信息,后臺從數據庫查詢講師信息返回前臺。前臺用戶點擊課程向后臺請求課程信息返回前臺。前臺用戶選擇某一課程跳轉到課程詳情頁如果課程是免費的可以點擊觀看跳轉到播放頁播放課程。如果課程是收費的先審核用戶是否登錄如果已經登錄跳轉到支付界面,如果未登錄則跳轉到登錄界面。前臺用戶點擊課程收藏,判斷其是否登錄如果未登錄跳轉到登錄頁面。如果已經登錄則將課程信息和用戶信息保存到課程收藏表中。(2)后臺用戶點擊添加講師輸入講師信息向后臺發(fā)送請求后臺將講師信息保存。點擊查看講師將發(fā)送查詢請求后臺,后臺從數據庫查詢講師信息分頁返回前臺。后臺用戶點擊發(fā)布課程輸入課程信息已經添加課程章節(jié)和課程文件后將課程信息保存數據庫將課程文件保存到服務器。點擊查詢課程則后臺查詢課程并分頁后返回前臺。點擊導入,按指定格式導入分類信息。后臺將分類信息批量保存。前臺點擊查詢分類,后臺將分類信息從數據庫查詢出來返回前臺。3.3視頻觀看模塊(1)前臺用戶在課程詳情頁通過點擊立即播放將視頻路徑傳遞到播放頁,視頻播放頁發(fā)送請求獲取到真實路徑進行播放視頻課程。(2)后臺用戶添加課程時選擇某個小節(jié)點擊上傳視頻調用后臺程序將視頻保存到服務器,點擊確定將小節(jié)里的視頻地址保存到數據庫,后臺用戶選擇視頻點刪除則調用后臺刪除方法將視頻從服務器刪除,點擊確定將小節(jié)中的視頻信息從數據庫刪除。3.4支付成功之后前臺用戶選擇收費課程點擊立即購買如果用戶沒有登錄則跳轉到登錄頁面,如果已經登錄則跳轉到訂單確認頁面點擊支付后向后臺發(fā)送支付請求后臺將支付信息發(fā)送給支付寶接口,支付成功后跳轉到在線視頻教育系統(tǒng)后臺,后臺更新訂單的支付信息后跳轉到購買過的課程詳情頁。4復雜的系統(tǒng)模塊4.1用戶掃碼登錄后登錄首先前臺用戶點擊掃碼登錄按鈕通過向后臺發(fā)送異步請求到用戶中心微服務模塊的登錄方法該方法首先到配置文件獲取應用標識號以及重定向的地址,然后進行字符串拼接后跳轉到支付寶授權登錄界面,用戶掃碼登錄后跳轉到在線視頻教育系統(tǒng)的回調方法中,該方法接受支付寶服務返回的授權碼,接受到授權碼后該方法向支付寶服務發(fā)送請求獲取授權Token信息,通過該參數獲取用戶的用戶標識、昵稱、電話、頭像等信息。獲取該信息后再本地數據庫查找該用戶是否之前已登錄如果登錄了就不用再保存這些用戶信息,如果之前未登錄則在本地數據庫保存用戶信息,接著通過JWT生成Token信息返回前臺頁面。前臺獲取Token后將Token放到Cookie中,保證用戶在一段時間內可以保持登錄狀態(tài)。接著刷新頁面后,前臺向后臺請求并根據Token獲取會員信息返回到前臺頁面4.2后臺管理功能當添加課程選擇課程封面并添加的時候將圖片發(fā)到后臺,后臺方法將圖片進行Base64轉碼后返回前臺。前臺點擊保存后向后臺發(fā)送請求將轉碼后的圖片保存到后臺數據庫。采用這樣可以減少向后臺發(fā)送。避免圖片信息泄露。4.3視頻監(jiān)控系統(tǒng)的后臺服務器前臺用戶點擊觀看的視頻教程,此時向后臺發(fā)送請求,后臺會接受前臺的地址路徑,但這種路徑后臺服務器是無法識別的需要轉換為具體的磁盤位置,我們這個時候就需要把本地的路徑和網絡地址路徑做映射處理從而實現(xiàn)對本地視頻課程的訪問和播放4.4轉臺后登錄頁前臺用戶選擇課程后點擊購買按鈕觸發(fā)下訂單方法該方法向后臺發(fā)送創(chuàng)建訂單請求,網關服務判斷用戶是否登錄如已經登錄創(chuàng)建訂單返回前臺后跳轉到下訂單頁面,如果沒有登錄則跳轉到登錄頁。用戶點擊去支付后通過向后臺發(fā)送支付請求后臺方法依據獲取的訂單號查詢訂單后在配置文件中獲取支付網關、應用標識、編碼格式、簽名算法類型等參數后向支付寶發(fā)送支付請求,支付寶效驗信息后跳轉到支付頁面,用戶掃碼支付后,支付寶跳轉到支付成功方法,此方法效驗成功后更新數據庫訂單信息為已經支付,最后跳轉到前臺已經購買的課程頁面。4.5前端用戶登錄創(chuàng)建網關鑒權類后繼承網關過濾器類后重寫過濾器方法,此方法添加我們需要過濾鑒權的路徑,然后重寫運行方法我們根據是否能獲取到Token信息判斷前臺用戶是否登錄。如果鑒權失敗返回對應錯誤編號,前臺依據編號重定向到登錄頁面。如果鑒權成功則到對應的微服務模塊的方法進行對應的業(yè)務邏輯處理。4.6功能模塊的使用通用功能模塊主要是將后臺返回前臺消息的通用方法和異常處理以及通用的一些工具類文件放在此模塊。5微服務系統(tǒng)架構系統(tǒng)逐漸由單體架構到微服務架構開發(fā)已經是不可避免的趨勢。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論