李 杰 劉夢赤
(武漢大學計算機學院 湖北 武漢 430000)
基于INM的在線教學系統的設計與實現
李 杰 劉夢赤
(武漢大學計算機學院 湖北 武漢 430000)
為向各大高校提供一個功能完善且通用的在線教學平臺、充分結合在線學習和線下課堂教學的方式為教師和學生提供豐富的 “教”、“學”功能模塊,設計和開發在線教學系統Weblearn。系統使用Nginx、Memcached構建了多服務器的分布式集群,實現高并發下的負載均衡,提高系統可用性;以信息網模型INM(Information Networking Model)作為底層存儲數據庫,利用其關聯存儲、無模式存儲等特點,采用級聯查詢和動態建模的方式提高系統的查詢效率和可擴展性。提出INM在實際應用中的數據庫建模方法及數據庫訪問方法,簡化數據庫建模過程。目前系統已經在武漢大學、湖北大學、加拿大卡爾頓大學投入使用,使用情況良好。
在線教學平臺 數據庫 INM 建模 分布式
E-learning自1999年在美國加州的online Learning大會上第一次提出到如今發展迅速,據估計全球有超過20%的企業運用了在線學習模式[1],約46%的大學生至少在線學習了一門課程[2],基于Web的在線教育也越來越受到重視[3-4]。目前網絡中有許多在線學習平臺,從使用者角度可以分為三類:大規模網絡開放式課程平臺Massive Open Online Courses (MOOC)[5-6]、商用課程管理平臺Commercial Course Management System (CCMS)和開源學習管理系統Open Source Course Management System(OSCMS)。
大規模網絡開放課程又稱慕課,它是由很多愿意分享和協作以便增強知識的學習者組成,是一種針對大眾人群的在線課堂,常見的MOOC系統有Coursera、可汗學院、edX、Global Education、Course Hero等。它有兩個顯著的提點,一是MOOC的參與者不必是在校注冊學生,它是一個大眾共享平臺;二是MOOC中的課堂是針對于不確定的參與者而設計的。Blackboard[7-8]是最具有代表性的商用課程管理學習平臺,由美國Bakckboard公司開發。該網絡教學平臺以課程為中心集成網絡“教”和“學”的環境。教師可以在平臺上開設網絡課程,學習者可以自主選擇要學習的課程并自主進行課程內容學習。不同學習者之間以及教師和學習者之間可以根據教、學的需要進行討論、交流。Blackboard功能相對完善但是使用時需要付費和定制,操作相對比較復雜。常見的開源學習管理系統有Moodle、Sakai、ILIAS、Claroline等[9,16]。這些平臺最大的優勢在于開源和免費,由于其開放性、共享性、可根據用戶需求修改組合等優點,為E-learning項目的實施提供了低成本的平臺解決方案。
以上的幾類在線教學平臺為用戶提供了豐富的在線學習途徑和資源。但這些平臺更多都是強調個人自主學習以及開放性,沒有充分結合線下課堂的教學方式,并且對于高校和企業單位不具備通用的管理功能和內部在線學習機制。目前國內大部分的高校雖然都有自己的課程和人員管理系統,但都沒有為教師、學生提供較好的在線教學環境,主要采用的還是傳統的線下課堂教學方式,并且不同高校間也沒有一個較好的交流平臺。所以為各高校提供一個通用且功能完善的在線課程管理平臺是有意義的,為此基于INM[10]設計和實現了在線教學系統Weblearn。該平臺的目的是為了替代各校自己獨立開發的課程管理系統或者相關軟件系統,為教師和學生提供更加豐富和完善的在線“教”、“學”功能模塊,結合線下課堂學習為教師和學生構建一個良好的交流學習環境,加強各大高校間跨學校的協作與交流,支持課程對外開放,提供跨校學習平臺,在各大高校間建立起一個多元化的學習環境。
INM又稱信息網模型[10],是一個面向語義的數據庫模型。它能自然直接地表示對象間復雜的語義關系和動態的上下文相關信息。主要特點有:面向對象存儲,讀取速度快且支持跨對象級聯查詢[12];自動維護關系的一致性[13],能直觀地對概念模型進行建模;支持無模式數據添加,實體信息完善可以不受模式定義的制約;特有的信息網絡結構特別適合于社會網絡等領域的數據建模以及不同實體間關系的快速定位,對關聯數據有較強的處理能力;這些特點使得INM在數據庫建模過程中對實體間的關系處理以及實體復雜信息存儲方面與關系型數據庫有著很大的不同,它更加直觀和簡潔。
1.1 實體間關系的建模
實體間的關系是相互的,例如圖1中實體University與實體Faculty間是包含關系,相應的也可以所說Faculty屬于University,將一個關系的另一角度的表述稱之為“逆關系”。在關系模型中為了表示實體對象間的相互依賴關系,是通過定義鍵(Key)和外鍵(Foreign Key)的方式建立不同對象之間的相互聯系,不支持直接的定義逆關系并且數據庫的建模受到建表次序的限制,不能自動維護相互關系的一致性。例如在表University未創建之前是無法為Faculty創建對University的引用。而INM支持逆關系定義,并且逆關系僅需要單向定義,相關的對象和逆向關系會自動的生成和維護。這也使得INM建模可以從任意實體的角度出發描述相關關系。例如University和Faculty的關系有兩種描述方式:
(1) Create class University[
contain have(inverse belongTo)(1∶N):Faculty];
(2) Create class Faculty[
normal belongTo(inverse have)(N∶1):University];

圖1 Weblearn中部分實體關系圖
上述兩句建模語言執行后有相同的效果,執行其中一句會自動的創建University對象和Faculty對象并建立起相互間的關系,圖2是語句執行后兩者的結構。INM中定義了多種類型的關系,常見的有:一般關系(normal)、包含關系(contain)、角色關系(role)和多元關系(nary)等。其中contain關系用于描述兩個實體間的從屬關系,role關系用于描述實體的上下文語義信息,多元關系用于描述多個實體間關聯關系。利用這些關系定義可以直觀地對實體間的關系進行建模。例如圖1中Weblearn系統用戶與課程班級之間復雜語義關系的概念模型,一個班級中用戶分為三種角色:教師、學生和助教。Weblearn系統中并不嚴格的區分每一個用戶賬號是教師賬號、學生賬號或者助教賬號,一個用戶可以有多種角色,角色的確定依賴于所在的班級。在關系模型中為了表示User與Section(班級)間的這種關系需要建立三個額外的二維表用于表示兩者間的聯系:
TeachSection ( sectionId,userId,…);
SelectSection ( sectionId,userId,…);
AssistSection ( sectionId,userId,…);

圖2 大學與學院關系結構
額外的記錄表不僅使得建模復雜度增加并且弱化了班級與用戶間直觀的聯系,這種情況下通過表Section是無法直觀地看出用戶所擔任的角色。相對而言INM中可以使用role關系較好解決這類關系的建模。表1是對圖1實體關系圖的建模語言及結果,其中Section建模完成后,會自動創建User及其子類Teacher、Student和Assistant,并構建相互間的關聯關系。

表1 對圖1的建模及結果
通過這個例子可以看到,基于INM的數據庫建模只需要依次對概念模型中所有實體進行創建,并利用INM定義的各種類型的關系(normal / contain / role / nary)聲明當前實體與其他實體間的關系即可完成建模,兩個實體間關系的聲明可以不同角度單方面定義也可重復定義。相對于關系模型的建模過程,基于INM的建模無需將復雜關系提取出來進行額外的聲明,能直觀地對概念模型進行映射,保留了實體間語義信息,從而簡化整個數據庫建模過程。
1.2 實體復雜信息建模
在1.1節中描述了基于INM對概念模型中實體間關系的建模,可以發現關系及逆關系的定義使得一個實體類內聚了所有與其他實體間的關系定義。對于實體屬性的定義和構建并沒有提及,在INM中基本屬性的定義和關系模型類似,支持String、url、int、text、date等類型的數據。不同點在于INM定義了復雜屬性和組合關系來描述一些相對復雜的實體信息。
考慮如下情況,系統每個用戶都有著自己的網盤空間上傳自己的資源,數據庫在記錄用戶資源(personalResource)不能只記錄文件名稱,還需要記錄上傳時間、存儲路徑、下載狀態等信息。同樣一個人在擔任不同角色時有自己獨特的信息。如表2所示,這些信息都可以拆解為多個屬性值,在關系模型中要表示這些復雜屬性,每個復雜屬性就需要建立一個二維表進行存儲。而在INM中,可以直接使用復雜屬性的定義將數據內聚,以personalResource為例聲明如下:
Create class User[
@name:string,
@personalResource*:[
@fileType:{“txt”,”word”,”pdf”,”xsl”},
@state:{“public”,”private”},
@fileName:string,
@path:string,
@uploadTime:date],
……];

表2 可拆解屬性信息
其中personalResource就是復雜屬性的定義,該屬性由多條簡單屬性組成。一個人personalResource元組就是一個記錄,每個用戶對象可持有多個這樣的元組記錄。除此之外INM還定義了組合關系、關系屬性[11]等用于描述實體對象的信息。
1.3 動態建模
通常在數據庫應用開發過程中,向數據庫插入數據時,插入對象的屬性和內容都受到對應數據庫模式定義的制約。INM支持無模式數據添加,允許向實例對象中插入模式未定義的屬性和關系信息并自動完善模式定義。例如對于2.2節中User的模式定義,假設User只定義了name以及personalResource屬性,執行以下實例插入語句:
insert User “Peter”[@newAttr:”for Test”];
當允許無模式插入時,該語句能正常執行,在插入實例Peter的同時INM會自動在模式User中添加@newAttr:string屬性聲明,實現數據和模式的動態變化。這一特點使得數據庫有著更強的可擴展性。
2.1 用戶角色設計及特點
和常見的在線教學系統類似,Weblearn系統中除了基本的系統管理員、教師、學生幾種角色之外,也額外添加了助教角色,但不同點在于Weblearn用戶角色環境依賴。所謂用戶角色環境依賴是指用戶在注冊時不進行角色區分(管理員除外),用戶的角色根據用戶所進入的班級類型而定。在系統中一個用戶有三個可能的班級列表:創建的班級(Created Section)、加入的班級(Selected Section)、助教班級(Assistant Section)。當用戶進入不同類型的班級所擔任的角色隨之而變化,所對應的功能權限也會發生相應的改變,如表3所示用戶進入到不同班級后所擔任的角色。這一特性意味一個用戶賬號可以擔任多重角色,聚合更多更豐富的信息,功能不再單一。

表3 角色定位
表4列出了Weblearn中不同角色的功能權限,其中系統管理員分為三個級別:頂級管理員、校級管理員、院級管理員;權限由高到低分級管理。值得一提的是Weblearn系統為各級管理員都提供了強大的信息批量導入功能以方便信息的轉移和添加,并且管理員模塊支持功能的定制,管理員可以根據所在學校和學院的標準修改和添加相應功能模塊。

表4 角色權限列表
2.2 主要功能模塊設計
圖3是Weblearn在線學習平臺的主要功能結構圖,按功能性質可以將所有功能模塊劃分為三個部分:管理模塊、以“課程”為中心的教學功能模塊以及搜索系統。另外,在詳細介紹前還要區分Weblearn系統中“課程”和“班級”兩個概念。如圖4所示,一門相同的課程可以有多個不同的班級,我們將對應著相同課程的班級稱為“同源班級”。接下來是各模塊功能詳解。

圖3 系統功能結構圖

圖4 課程-班級關系圖
1) 管理模塊
Weblearn管理功能主要體現在個人的自主化管理以及面向學校的系統管理兩個部分,如圖3所示,“管理系統”模塊和“個人中心”模塊分別對應于面向學校的系統管理和個人自主管理。個人中心匯聚和統計用戶所有相關數據方便用戶進行統一管理,用戶可以在個人中心查看課程和班級列表;查看最動態;查看個人信息;管理個人資源;在線選課;查看留言;修改個人信息等。特別需要說明的是在個人信息管理部分基于INM無模式數據插入的特點,實現了用戶個性化信息設置功能。系統管理模塊實行分級管理方式,不僅提供了基本的課程、班級、人員管理功能,還添加了信息批量導入、功能定制等功能。
2) 教學功能模塊
教學功能模塊是整個系統的核心,它負責為教師和學生提供豐富方便的教學工具。如圖3所示,Weblearn核心教學功能模塊由圍繞“課程”開發的課程中心、任務系統、在線測試、課程論壇和預約系統五大模塊組成。
(1) 課程中心是課程信息管理和資源管理的中心,教師負責整個課程班級的信息資源管理供學生查看和使用,主要功能如圖5所示。同其他平臺相比,課程中心有兩個突出的特點,一是支持不同班級和不同教師之間資源的共享和交換。二是為教師提供完善的信息導入模板,簡化教師工作。

圖5 課程中心主要功能
(2) 任務系統為教師提供完善的作業布置、在線批改和學生成績管理功能,學生在此完成作業和查看相應的成績。圖6表示的是教師功能權限圖,考慮到任務布置的復雜習性以及“同源班級”之間任務可能會有較大的相似性,Weblearn創新點在于支持任務的分享和復制。“同源班級”之間可以主動分享和選擇性復制已經布置好的任務,也可以從往年開設的班級中復制任務,這很大程度上節省了教師布置任務的時間,同時也使得“同源班級”之間可以有更好的交流。

圖6 任務系統教師功能權限
(3) 課程論壇參考Piazza的問答平臺,最大的特點是支持各種類型的帖子,如問答貼、投票貼、筆記等。并且重點突出教師在論壇中的發帖及恢復,論壇是學生和教師討論和交流的平臺,可以很好地幫助發現和解決問題。
(4) 在線測試部分和任務系統類似,教師負責組織個管理在線測試資源,學生進行在線測試。如圖7所示,除了基本的在線測試和判卷功能,Weblearn在線測試有以下幾個特點:① 題庫構建支持文件批量導入,提供了詳細的導入模板,簡化題庫構建難度。并且為每個試題添加多個標簽,如章節、難易度、知識點等。② 試卷構建添加自動化選題功能,只需指定題庫范圍以及難易程度(easy、normal、difficult)題目所占百分比,系統會自動的完成試卷制作。③ 系統會分析所有同學的答題情況以及題目標簽生成分析報表,包括成績分布、錯誤率、難易度定位等信息。

圖7 在線測試功能模塊
(5) 預約系統是為了更好的統一用戶的時間,增加解決問題的效率。該模塊進一步加強系統用戶之間的交流,例如學生可以通過預約系統預約教師的空閑時間進行交流和解惑,當小組人員出現時間沖突時,也可以利用預約系統找出最佳的時間段,更快速有效的解決問題。這是其他在線學習平臺所不具備的。
通過仔細調研Blackboard、Piazza、Moodle、MOOC等平臺,Weblearn在功能上有進一步的改進和完善,表5中是系統部分創新功能模塊與其他平臺的對比結果。

表5 部分新增優化功能對比
2.3 系統協作性設計
Weblearn設計的目標之一就是加強各大高校間跨學校的協作與交流,支持課程對外開放,提供跨校學習平臺。這主要體現在兩個方面,一是通過系統公共論壇以及公共預約系統來加強各大高校間用戶的溝通和交流,讓用戶從中發現自己感興趣的話題或資源。二是源于課程資源的公開,在課程班級創建過程中可以進行公開性設置,如圖8所示如果創建者將創建的班級設為公共課,外校用戶就能有機會加入該班級同步學習和交流,在班級內部共享和使用相關資源。

圖8 班級創建流程
目前Weblearn系統共有中國和加拿大1 511所大學的院系信息,暫時共有約5 000名用戶,期望不同地區不同學校的用戶通過Weblearn能有更好的協作和交流。
Weblearn有較多的功能管理模塊,我們采用最新的Spring、HTML5、CSS3等多種技術進行實現。整個系統通過構建多服務器的分布式集群,實現高并發下的負載均衡。改進基于INM的數據庫訪問及映射、信息檢索以及半結構化數據添加方式。
3.1 系統負載均衡
系統是以tomcat作為代理服務器發布的,如果使用單服務器來承載整個系統,在大量用戶并發請求的情況下,若要保證及時的響應,這對服務器的配置有著極高的要求。對此為了保證系統的及時響應,系統采用nignx+memcached構建分布式集群,實現服務器的負載均衡[14-15]。如圖9所示,這是服務器集群的基本構架圖,其中包含Server1和Server2兩個服務器,每個服務器中安裝了兩個tomcat構成一個小的集群。

圖9 分布式集群構架
其中Nginx是一個高性能的HTTP和反向代理服務器,可以通過配置指定反向代理的服務器地址,當用戶在瀏覽器端提交請求后,請求首先提交給Nginx,由Nginx將請求進行分發。Nginx會通過輪轉的方式不斷檢測各個代理服務器的運行情況,然后將請求分發給負載量較低的服務器,這樣便實現了在高并發情況下各個服務器的負載均衡,避免單節點故障。另外,一個用戶在一段時間內會有多個請求,這些請求極有可能被分發到不同的服務器,為了保證會話(Session)的一致性,在每個服務器中使用memcached代理tomcat的Session控制并通過廣播的形式實現不同服務器中memcached的數據共享。每個memecached都持有整個系統的會話記錄,這樣即使其中某個memcached出現故障,系統也能正常的運行。
3.2 數據庫訪問層的實現
基于INM面向對象特點,系統開發了數據庫驅動INM-JDBC。INM-JDBC進一步封裝數據庫中存儲的數據,以實例對象形式返回記錄,并且額外添加數據庫連接池、日志等內置模塊。通過INM-JDBC訪問數據庫主要分為以下幾個步驟:
(1) 構建模板工廠InmTemplateFactory,初始化數據庫連接。
簡單的初始化方式代碼如下:
InmTemplateFactory.buildTemplate(″server″,port);
只需用戶指定連接的服務器及端口即可,在初始化過程中會默認的創建數據庫連接池及相關配置。
(2) 通過模板工廠獲取nmTemplate操作模板,InmTemplateFactory.getInitializedTemplate();該過程從連接池中選取已初始化的連接構建相應的模板,通過該模板即可進行數據庫操作。
(3) 執行相關的數據庫操作,獲取結果集ResultSet。
(4) 解析結果集ResultSet,獲取語句執行結果。
INM-JDBC的優勢在于它封裝了數據持久化為對象的過程,無需額外創建配置文件及相應的javabean。開發人員可以從ResultSet中獲取完整的數據對象。
3.3 級聯查詢
INM中關系-逆關系定義使得不同實例對象間的關聯是相互的,并且數據呈現極高的內聚性。這使得不同的實例對象之間可以直觀地進行相互間的關聯檢索。基于INM的聲明性查詢語言IQL[12]可以方便地實現跨對象的信息級聯查詢。例如以下幾個簡單的實例數據:
Section DB[Teacher:Tim, Student:{Bob,Ann},Assistant:Joy];
User Tim[@email:timMail@163.com, teach:DB];
User Bob[@email:bobMail@163.com,select:DB];
User Joy[@email:joyMail@gmail.com,assist:DB];
我們要查詢“班級DB的詳細信息及教師Tim的email“,IQL可以直觀將該查詢需求轉變為查詢語句:
query $x=DB[Teacher:Tim/@email:$y] construct $x/$y;
其中參數$x,$y分別代表班級DB實例對象和教師Tim的email信息。基于IQL這一能直觀表達查詢需求的特點,在搜索系統實現過程中可以對搜索關鍵字進行語義解析,更加直觀方便將其轉換成相應的查詢語句,增加搜索廣度和精確度。其實現主要分為兩個步驟:
(1) Weblearn搜索的主要對象是學校、學院、課程班級、用戶等,根據該限定對搜索條件進行語義解析。
(2) 將語義解析后的搜索條件轉換為相應的查詢語句,對單個關鍵字進行模糊匹配,多關鍵字根據連接詞轉換為相應的關聯查詢。
3.4 無模式數據添加
所謂無模式數據添加是指基于INM動態建模的特點實現的用戶個性化信息完善功能。如2.3節所述,INM支持向數據庫中插入模式未定義的屬性和關系信息,并會自動完善建模。例如下列用戶插入語句:Insert User “Peter”[@獲獎榮譽:[@年份:2013,@專利:”十大杰出青年”],@研究方向:“數據庫”];
假設在用戶模式定義中不包含這些屬性定義,語句執行后數據庫會自動為實例對象Peter添加復雜屬性”獲獎榮譽”和簡單屬性”研究方向”并存儲相應的值。基于這個特點系統實現的用戶個性化信息完善功能主要分為三個部分:
(1) 顯示已添加的所有屬性信息,提供刪除修改接口。
(2) 提供自定義屬性接口,允許用戶以[attrName:Value]的形式自定義簡單或復雜屬性。
(3) 提供文件導入接口,支持word、txt格式文檔,通過POI解析轉換為插入語句,文檔內容格式需要滿足INM中屬性關系聲明語法,例如下列格式:
獲獎榮譽[年份:2013,
專利:十大杰出青年];
研究方向:數據庫
這一功能讓用戶可以根據實際情況動態地完善和修改個人信息,建立完整的個人信息文檔。并且鍵-值對的數據存儲方式使得數據更加結構化,方便獲取和解析。
通過充分調研在線學習平臺的優點與不足,結合新的需求,基于INM設計實現功能完善且更具有針對性的Weblearn在線教學系統(www.weblearn.cn)。系統結合線下課堂教學為用戶提供了更多更完善的在線學習工具以及通用的課程管理功能。分布式集群的構架極大地提高了系統的可用性及擴展性。基于INM語義直觀、無模式存儲等特點提出的建模方法簡化了數據庫建模過程,有較強的實用意義。采用INM向對象語義數據庫是一次新的嘗試,在數據庫建模、關聯查詢以及數據結構化方面都有待進一步的探究。目前系統運行穩定,評價良好,具有很高的實用和推廣價值。
[1] Wikipedia.Educational technology[DB/OL].https://en.wikipedia.org/wiki/Educational_technology.
[2] eLearning Infographics.Top 10 eLearning Statistics for 2014 Infographic[OL].http://elearninginfographics.com/elearning-statistics-2014-infographic/.
[3] Alexander B.Web 2.0:A new wave of innovation for teaching and learning?[J].EDUCAUSE Review,2006,41(2):32-44.
[4] Rennie F,Morrison T M.E-learning and social networking handbook:Resources for higher education[M].2nd Edition. London: Routledge,2013.
[5] Mak S F J,Williams R,Mackness J.Blogs and forums as communication and learning tools in a MOOC[C]//Proceedings of the 7thInternational Conference on Networked Learning,2010:275-285.
[6] Waard I D,Koutropoulos A,Keskin N,et al.Exploring the MOOC format as a pedagogical approach for mLearning[C]//Proceedings of the 10thWorld Conference on Mobile and Contextual Learning,2011:138-148.
[7] Jurado F,Redondo M A,Ortega M.Blackboard architecture to integrate components and agents in heterogeneous distributed eLearning systems:An application for learning to program[J].Journal of Systems and Software,2012,85(7):1621-1636.
[8] Pishva D,Nishantha G G D,Dang H A.A survey on how blackboard is assisting educational institutions around the world and the future trends[C]//Advanced Communication Technology (ICACT),2010 The 12th International Conference on.IEEE,2010:1539-1543.
[9] 王秀榮,劉敏斯,孫良林.四款開源學習管理系統的對比與探究[J].現代教育技術,2010,20(7):102-106.
[10] Liu M,Hu J.Information networking model[C]//Proceedings of the 28thInternational Conference on Conceptual Modeling.Springer,2009:131-144.
[11] Liu M,Hu J,Chen L,et al.Representing Hierarchical Relationships in INM[C]//Proceedings of the 33rdInternational Conference on Conceptual Modeling.Springer International Publishing,2014:297-304.
[12] 金錚,劉夢赤,胡婕.信息網數據庫管理系統的查詢優化[J].計算機科學與探索,2015,9(3):300-309.
[13] 徐倩,胡婕,劉夢赤.復雜語義關系的描述與操作[J].計算機科學與探索,2014,8(12):1432-1441.
[14] Chi X,Liu B,Niu Q,et al.Web load balance and cache optimization design based Nginx under high-concurrency environment[C]//Digital Manufacturing and Automation (ICDMA),2012 Third International Conference on.IEEE,2012:1029-1032.
[15] Blott M,Liu L,Karras K,et al.Scaling out to a single-node 80Gbps memcached server with 40terabytes of memory[C]//Proceedings of the 7th USENIX Workshop on Hot Topics in Storage and File Systems,2015:8-12.
[16] Dougiamas M.Moodle-A Free,Open Source Course Management System for Online Learning[OL].https://moodle.org/.
DESIGN AND IMPLEMENTATION OF ONLINE TEACHING SYSTEM BASED ON INM
Li Jie Liu Mengchi
(CollegeofComputerScience,WuhanUniversity,Wuhan430000,Hubei,China)
In order to provide a comprehensive and versatile online teaching platform to universities and colleges, fully integrate online learning and offline classroom teaching methods to provide teachers and students with rich "teaching" and "learning" function modules, design and development of online teaching system Weblearn. The system uses Nginx and Memcached to build a multi-server distributed cluster to achieve high concurrent load balancing and improve system availability. The INM (Information Networking Model) is used as the underlying storage database. The system uses the cascade query and dynamic modeling to improve the efficiency and extensibility of the system by using its associated storage and model-free storage. The database modeling method and database access method of INM in practical application are proposed, and the process of database modeling is simplified. At present the system has been in Wuhan University, Hubei University, Carleton University in Canada put into use, in good condition.
Online teaching platform Database INM Modeling Distributed
2016-01-21。李杰,碩士,主研領域:數據庫技術,Web技術。劉夢赤,教授。
TP3
A
10.3969/j.issn.1000-386x.2017.04.006