石皓天,高 嶺,楊建鋒
(1.西北大學 信息科學與技術學院,陜西 西安 710127;
2.西北大學 現代教育技術中心,陜西 西安 710069)
基于B/S模式的研究生教學科研平臺的設計與實現*
石皓天1,高 嶺1,楊建鋒2
(1.西北大學 信息科學與技術學院,陜西 西安 710127;
2.西北大學 現代教育技術中心,陜西 西安 710069)
近年來,研究生逐年擴招導致學生和導師之間比例不斷擴大,各高校為應對城市的快速發展在多個校區同時開展了教學工作。如何高效率、跨地域指導研究生成為了目前研究生教育中的一個重要問題。針對這個問題本文提出了一種基于B/S架構下的研究生教學科研平臺,并對平臺的設計、開發過程及實現的關鍵技術做了詳細闡述,為研究生的管理與教學提供了一種信息化、低成本的實現途徑。
研究生教育;B/S;教學科研平臺;LAMP
研究生教育是我國教育的一個重要組成部分,對于我國現代化建設和發展有著十分重要的意義。近幾年隨著高校研究生數量規模的日益擴大,學生和老師比例逐漸增大,傳統的研究生指導管理模式已經逐漸不能滿足當今的教育需求。根據這個情況,本文在基于B/S網絡架構相關技術研究的基礎上,結合研究生教學現狀對研究生教學科研平臺進行了詳細的設計,并使用LAMP技術完成了研究生教學科研平臺的開發與實現。
研究生教育主要包括導師對研究生的教學與管理以及研究生之間的學術交流,因此研究生教學平臺的設計也是基于這兩點入手的。該平臺是結合校園現有的網絡環境搭建的網絡平臺,是一個融博客、論壇、研究生教學以及項目管理工具于一體的研究生教學互動平臺。該平臺著眼于記錄研究生在校期間學習、生活等方面的點滴歷程,方便導師與研究生互動教學,為導師和研究生之間的溝通以及研究生教學管理提供一個方便快捷的網絡平臺。如圖1所示為平臺功能圖,平臺主要包括個人主頁、項目成果、資源共享、論壇交流這四個功能模塊。
個人主頁模塊具有個人項目管理、文章管理、短信息平臺、個人相冊以及好友管理這五項子模塊,該平臺是以個人主頁模塊為核心搭建起來。個人項目管理功能主要包括對于自己所參與項目的管理。用戶通過項目管理平臺實現對于自己所參與項目的操作。文章管理是方便用戶通過這個模塊發表日志記錄個人在校生活和學習經歷。短信息發布平臺主要用于用戶之間的實時通信,方便用戶之間跨地域的通信交流。個人相冊是用于用戶上傳個人在校生活和學習照片的模塊。好友管理包括添加好友、好友管理等功能。
項目成果模塊主要用于展示各個院系所有導師項目。通過這個模塊可以有效了解各院系的項目信息,以便了解整個學校的科研情況。

資源共享主要是該平臺用戶用于上傳下載學習資料的功能模塊。該模塊的主要應用目的是提供給用戶分享下載各種學習資料包括電子書、視頻以及音頻。
論壇交流模塊主要分為公共論壇模塊和項目交流模塊。公共論壇模塊主要用于平臺用戶交流學術。項目交流模塊是項目成員討論項目開發的應用模塊。平臺效果截圖如圖2所示。

研究生教學平臺運行在基于B/S模式的Internet網絡環境中。所謂B/S模式即服務器/瀏覽器模式。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。B/S結構的網絡應用,以及Internet/Intranet模式下的數據庫應用,相對易于把握,成本也是較低的。它是一次到位的開發,能實現不同的人員從不同的地點以不同的接入方式(比如LAN、WAN、Internet/Intranet等)訪問和操作共同的數據庫;它能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全。
LAMP(Linux+Apache+MySQL+PHP)Web應用組合是本文設計系統的軟件架構。其中Linux作為服務端的操作系統,是一種運行速度快捷和安全的開源操作系統。[1]在Linux上運行的服務器軟件為Apache服務器,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。PHP是開發該系統的腳本語言,與其相配的數據庫系統為MySQL數據庫系統,具有低成本、高性能、易移植等特點。[2]這個組合由于經常被一起使用,擁有了越來越高的兼容性,共同形成了一個強大的Web應用平臺。
根據系統的功能設計,該平臺的核心數據庫主要的表和表結構如下:
1.項目表
項目表(cetc_projects)是平臺項目管理中的核心數據表。具體結構如表1所示。

表1 平臺項目表
在項目管理中還包括 cetc_group、cetc_group_stu、cetc_task、cetc_project_file這四個表共同完成該功能。cetc_group主要用于存儲項目中項目組的所有信息,包括項目組名稱、項目組相關介紹以及項目組所屬項目。cetc_group_stu主要用于存儲學生和項目組之間的關系,包括學生用戶的ID和項目組ID,主要實現了學生與項目組之間多對多的關系。cetc_task主要用于存儲項目下任務的所有信息,包括任務名稱、任務內容、任務所屬項目組。導師通過對項目組發送任務到每個項目組成員,項目組成員通過個人項目管理模塊查看是否有新任務。cetc_project_file主要用于存儲項目下文檔資料的所有信息,包括文檔名稱、上傳時間、上傳人、文檔類型以及所屬項目,實現了平臺項目管理中文檔資料的存儲,所有參與項目的導師和學生都可以下載上傳屬于該項目的文檔資料。這些數據表關系如圖3所示。
2.用戶列表
用戶表是從數據庫讀出的主要信息數據表,此表是本系統的核心數據表。具體表結構如表2、3所示。
要實現研究生教學科研平臺,核心就是能夠靈活地分配權限以及實現SNS社會網絡,以下就主要介紹該平臺中這兩個核心功能模塊的實現。
1.平臺的訪問控制

訪問控制(access control)又稱為安全訪問,是指平臺能夠對資源的訪問(包括對資源的各種操作、使用)進行控制,保證只有對資源擁有訪問權限的主體才能訪問資源。實施訪問控制主要包括三個對象集:主體、客體、安全訪問策略。[3]訪問控制的實質是通過安全訪問規則限制訪問主體對客體的訪問權限,從而使其在合法范圍內使用。該平臺所實現的訪問控制是上世紀90年代所提出的基于角色的訪問控制RBAC技術。RBAC的基本元素如下:
(1)用戶:一個獨立訪問的平臺資源的主體。用戶一般指的是使用平臺的人。
(2)角色:角色的概念源于實際工作中代表處理日常事務權利的職務,角色與組織中的崗位相對應。
(3)權限:表示對系統中的客體進行訪問的操作許可。
(4)角色分配和權限分配:角色分配是指為用戶在平臺中添加實際角色,權限分配是指根據角色職責范圍獲得訪問資源的權限。
用戶角色管理包含了對用戶的管理和角色管理。管理員通過角色管理模塊為用戶添加相應的角色。這個平臺分為了三種角色:系統管理員、導師、學生。
頁面模塊控制訪問主要是指頁面訪問權限,通過建立角色和頁面的對應關系并控制對用戶是否可見來實現用戶權限管理。在本文所提出的是基于“用戶-角色-頁面模塊”的用戶控制訪問方法,頁面模塊作為權限配置的基本單位,根據平臺的實際應用需要,平臺從以下幾個方面來管理用戶對于頁面模塊的訪問控制:
1)用戶登錄身份識別:用戶通過自己的用戶名和密碼登錄時,平臺會對用戶名和密碼進行驗證以確定用戶的合法化。如果為非法用戶則取消登錄資格;如果是合法用戶則將用戶的信息包括用戶基本信息以及用戶相關角色信息放入Session變量中。

表2 教師用戶表(cetc_teachers)

表3 學生用戶表(cetc_students)
2)獲取系統菜單:不同角色的用戶,對于平臺的頁面模塊具有不同的訪問權限。在用戶進入平臺后,根據用戶所屬的角色信息獲取到可以訪問的頁面模塊,從而自動生成相應的頁面模塊。權限流程圖和實現圖如圖4、5所示。
從圖4、圖5可以看出管理設置用戶權限時,通過用戶頁面關系表(cetc_role_menu_relationship)來存儲用戶操作頁面的權限,當用戶點擊某個頁面時就會獲得該數據庫表中的信息來確定用戶是否擁有該頁面的權限。
根據系統設計目標對于導師和研究生賦予了不同的頁面模塊權限。這樣實現了這個系統對于用戶管理的多樣化,從而保護了數據庫的安全和有效性。
2.SNS社會化網絡服務
SNS(Social Networking Service),即社會化網絡服務也可以簡稱為“社會化網絡”,旨在幫助人們建立社會化網絡服務的互聯網應用[4],將個人空間和網絡上的社會交往集合為一體。本文中所提出的基于SNS社會化網絡服務為高校研究生、導師提供日志、短信息、相冊等豐富的社會化網絡服務,使用戶在不斷交流、協作中分享社會化網絡學習過程。
在本文討論的社會化網絡系統中主要包括七個元素:身份,分享,會話,群組,聲譽,關系,狀態。身份是用戶在平臺中的核心,用戶在該平臺中任何活動都與身份相關。本平臺主要包括導師和研究生兩種身份并且在該平臺中用戶采用實名制網絡注冊。當用戶在該平臺注冊后,由系統管理員對用戶身份進行核實。分享是平臺中所有用戶之間分享例如視頻音頻等學習資料。在本平臺中所有用戶都可以上傳下載學習資源,這里學習資源主要包括電子書籍、視頻、音頻。對于屬于某個項目的用戶,該用戶還可以下載自己所參與項目的文檔或者資料。會話是指用戶之間的交流。在本平臺中這種交流主要是使用短信息的方式實現。群組是平臺中把相同興趣的用戶組織在一起的方式。在本平臺中群組包括兩個方面:一個方面是由導師添加學生作為自己所管理研究生的大群組;另一個方面是在導師所建立項目中屬于同一項目組的研究生用戶群組。聲譽是對于用戶級別的定義。在本平臺中用戶級別主要由用戶上傳學習共享資料的數量而定。由上傳資料數量而確定用戶級別主要是為了提高用戶上傳學習共享資料的積極性。關系是用戶之間社會化網絡聯系的體現。這種關系主要是指好友關系,群組關系。在本平臺中,導師用戶的關系包括他與學生的師生關系和好友關系以及與其他導師的同事關系。學生用戶的關系包括與其他學生的好友關系和與其導師的師生關系。用戶可以通過添加好友及時了解好友目前的學習生活狀態。狀態通常表示在線或者離線,也可以表達更詳盡的信息。在本平臺中主要是指在線或離線狀態。通過正常登錄或下線的方式來改變用戶的狀態。SNS社會化網絡服務元素如圖6所示。

除此之外,研究生教學平臺使用了數據庫分頁技術保證頁面顯示的正常,在個人信息數據庫管理中,用戶密碼采用MD5加密方式,即使數據庫管理員也無法獲得用戶密碼,從而保證了用戶賬號安全。
本文對用戶訪問控制和SNS社會化網絡服務在研究生教學科研平臺中的應用做了詳細闡述,并且通過網絡來實現導師對研究生的教學指導以及對研究生在校的虛擬社會做了初步的探討和嘗試。如何在校園網中建立更為有效的虛擬網絡社會,促進研究生教學和管理中教師與學生、學生與學生之間的相互交流,還有待于進一步的研究。
[1](美)Richard Petersen.Linux完全參考手冊(第六版)[M].北京:機械工業出版社,2009.
[2]姜林美.PHP+MySQL動態網站開發[M].北京:電子工業出版社,2008.
[3]路庭輝,文貴華.B/S結構下的用戶控制訪問方法[J].計算機工程與設計,2010,31(7):1433-1436.
[4]馮旭鵬.構建基于SNS的校際網絡學習共同體初探[J].中國教育信息化,2010(9).
(編輯:金冉)
TP311.52
B
1673-8454(2011)11-0027-04
*項目支持:陜西省科技廳“13115科技創新項目”:文檔數字化管理與資源共享平臺,項目編號:2009FWPT-06;西北大學校內科研基金:面向搜索引擎的高校網站優化,基金號:ND0932;西北大學校內研制基金:教學資源平臺的研究與設計;校內研究基金課題項目:研究生教學科研平臺,項目編號:YC07075。