目錄
第1 章 引 言 1
1.1研究背景及意義 1
1.2國內外研究現狀 2
1.2.1云計算研究現狀 2
1.2.2學生信息管理系統研究 3
1.3研究內容 4
1.4本文組織結構 5
1.5本章小結 6
第2 章 云平臺網絡系統概述 7
2.1傳統的網絡構建模式 7
2.1.1信息系統綜述 7
2.1.2B/S 架構 7
2.2云計算技術的概念和特點 8
2.2.1云計算及其特點 8
2.2.2云計算服務概述 9
2.3Hadoop 概述 10
2.3.1Hadoop 的發展 10
2.3.2Hadoop 項目及其結構 11
2.3.3HDFS 分布式文件系統 12
2.3.4計算框架 MapReduce 14
2.3.5分布式數據庫 HBase 15
2.4本章小結 16
第3 章 云平臺學生信息管理系統分析 17
3.1平臺模型的分析 17
3.2云平臺設計原則 17
3.3職業學院管理組織職能分析 19
3.3.1學生管理相關組織機構 20
3.3.2學生管理相關組織業務流程分析 21
3.4漯河食品職業學院學生管理工作現狀 21
3.4.1數據處理方式現狀 21
3.4.2數據交流共享現狀 22
3.5需求分析 22
V
3.5.1功能需求 22
3.5.2性能需求 23
3.5.3安全需求 23
3.6系統業務流程分析 23
3.7系統數據流分析 24
第4 章 學生信息管理系統總體設計 27
4.1系統總體設計 27
4.1.1系統設計目標 28
4.1.2系統前臺 29
4.1.3系統后臺各模塊功能設計 29
4.2數據庫結構設計 31
4.2.1數據庫邏輯結構設計 31
4.2.2數據庫結構設計表 33
第5 章 系統主要功能模塊設計 39
5.1用戶登錄模塊功能實現 39
5.1.1學生登錄 39
5.1.2管理員登錄 40
5.2學生管理模塊 40
5.2.1添加新學生 41
5.2.2學生信息管理 42
5.3課程管理模塊 42
5.4后臺管理模塊 43
5.5本章小結 44
第6 章 系統實現與測試 45
6.1基于 SaaS 模式的應用服務 45
6.2搭建 Hadoop 環境 46
6.2.1SSH無密碼驗證配置 46
6.2.2Hadoop的文件配置 46
6.3用戶登錄模塊 48
6.4后臺管理 49
6.5網站信息管理模塊的設計 51
6.6數據安全模塊的設計 51
6.7系統測試與性能分析 52
6.7.1系統功能測試 52
6.7.2系統性能測試 53
6.8本章小結 54
第7 章 總結與展望 55
7.1總結 55
7.2展望 55
參考文獻 57
致 謝 61
攻讀學位期間的研究成果 62
第 1 章 引 言
1.1研究背景及意義
隨著全球電子信息技術的快速發展,人們的原有的工作生活方式也有巨大改 變。這幾年教育領域也在新的信息技術的驅動下向教育資源信息化前進[1]。改革開 放以來我們國家安全平穩、經濟穩步增長。在這樣的條件下,一些國內外先進的 信息技術,管理方式在各個領域出現并廣泛使用。
新的信息技術的發展給社會帶來了新的活力,也給各級院校教學水平的提高 帶來了新的思路。與此同時,國家的教育改革也不斷深入,和辦學規模的逐漸擴 大,許多專科職業院校發展成為綜合性大學。數據的大幅度積累,對高校的管理 帶來巨大難度,工作的量也會增加,原本正常的工作量成倍數式的增長,難度也 相應提高[2]。老舊的管理手段已經是制約學校的教育和管理水平提高的重要原因。 怎樣才能更好地處理日益增長的數據信息量,已成為各個教育管理部門重點關注 的問題。
信息管理系統對任何一個現代化的企業而言都是不可缺少的。優秀的管理信 息系統可以幫助企業整合資源,提高工作效率,有效的優化業務流程,節約成本, 為公司提升更大的效益[3]。當前大多數企業用的管理信息系統都是自己搭建并且相 互獨立的,甚至只可用于本企業單獨的部門內部,信息共享無法實現。這一現象 在服務行業尤為明顯,例如醫院、學校等。既然擁有良好的公共信息技術,是不 是可以在以云計算為基礎的技術平臺上,建立提供專門的管理信息系統,實現有 效的資源整合與共享。網絡技術的普及,使得各個高校都建有自己的校園計算機 網絡,部門之間發布信息、共享資源的速度和工作都有了較大程度的提高。但是, 校園網存在著一些不利于教學管理方面的缺點,比如:沒有專用的線路進行數據 傳遞、沒有業務流程的規定步驟。各部門之間的資源的共享不足,這些缺點導致 各部門之間的信息沒有整合的一個固定規范,各部門之間信息格式不可能統一, 降低工作效率。
為了提高學校各部門間的工作效率,希望建立一個適合本校實際情況的學生 信息管理系統來進行學生信息的收集、管理、存儲和使用[4]。學生信息管理系統, 可以讓教務人員簡便、清晰、準確、全面的查看學生的各項基本信息,準確獲得 學生學習、生活情況,讓學生了解學校的動態,查看自己的成績和獎懲,便于指 導學生自身的學習和發展,進而為領導決策提供依據。經驗證明,使用學生信息 管理系統可以減輕各部門管理的業務處理,提高工作效率,提升教學質量,降低 人員辦公的強度,節約成本。
1.2國內外研究現狀
1.2.1云計算研究現狀
1971年,圖靈獎得主John McCarthy最早提出云計算的思想,他認為:計算最 終會成為一種公共資源[5]。自從Google發布云計算概念,打開了云計算技術發展 的大門,云計算作為一種最新的,開放的計算模型,是全世界焦點,并迅速投入 為實際應用,近幾年Google、Amazon、IBM、Microsoft、雅虎、英特爾等國際大 公司紛紛推出云計算技術的產品及服務。
早在2003年,Google就發表論文,向世人展示了其運用更簡單的對分布式數 據進行處理的方法;Google公司在2006年首先發布云計算概念,并將其推廣給用 戶。目前Google已成為規模最大的云計算使用者,Google的云計算目前主要包括 可擴展的分布式文件系統GFS、分布式編程模式Map /Reduce和分布式數據存儲 系統 BigTable。我們常用的 Google Maps、Google's Mail servers 等應用都使用 了 Google的云計算技術,Google也將其云計算應用開放給其他第三方運行大型程 序。
2007年,Amazon推出了 EC2 (彈性云計算)提供了一種可定制的云計算能 力,S3 (簡單存儲服務)提供了不受限制的數據存儲空間,服務作為數據存儲等。 到2011年,Amazon網絡服務(AWS)已經獲得了 5億美元,并且以每年超過40% 的增幅上漲。
2007年,IBM加入到云計算的商業研究,提出Blue Cloud構架,打通原來在 企業中各個各自獨立的體系間的間隙;使云計算服務涵蓋了不同層面,IaaS支持 基礎架構服務、PaaS支持平臺服務和SaaS支持軟件服務都能用IBM的云計算架 構。現在IBM可提供的相關業務服務針對不同領域的不同人提供符合各自需求的 解決方案。
2008年,Microsoft提出LiveMesh,指出互聯網將成為個人用戶的信息平臺, LiveMesh是一個“軟件+服務”的平臺,將個人終端通過網絡整合到一起,將個人數 據均同步至云端進行管理;開放整個網絡應用平臺,使得云計算技術發展的進一 步加快[6]。
在國內雖然云計算技術開始研究較晚,但是發展也非常迅猛。各大IT企業都 已經建立或正在建立各自的數據中心,互聯網公司阿里、百度、華為等都在運行 自己的云服務平臺。由于阿里巴巴在電子商務領域的突出表現,云計算平臺的分 布式處理得到重視。我國電子商務廠商都在做云計算商業研究,構建同自己公司 相適應的云計算平臺[7]。阿里巴巴公司一直在走在電子商務運營模式的前列,開發 了淘寶、天貓的云計算分布式文件系統。
百度 2011 年推出了云計算平臺——百度云,提供了個人用戶的數據云共享, 從基礎服務到平臺開發再到軟件應用服的三個不同層次的云服務。
國內云計算的理論研究起步比較晚,如文獻[8]對云計算的研究進展進行了綜 述,對現有的云計算系統進行了分析和總結,介紹了實現云計算的各項相關技術 的研究現狀,并指出了當前云計算系統亟待解決的問題與下一步的研究方向。文 獻[9]基于Hadoop生態系統的大數據解決方案,重點分析了 Hadoop生態系統是如何 解決的,提出Hadoop生態系統將是中小企業在處理大數據計算時的首選。文獻[10] 在結合監控視頻信息分析和對云計算技術運用后,設計并實現了一種基于HBase 的視頻存儲和檢索系統。
Hadoop是開源的云計算平臺,可運行分布式程序處理海量大數據。因為其出 色的數據處理和存儲的能力吸引了各國學者的關注。Hadoop提供了詳細的開發文 檔和使用文檔,便于研究者根據自己特定的使用場景做適當的修改,本課題正是 由于其具有優良的信息存儲能力,作為云平臺學生管理系統架構。所以本文主要 研究Hadoop開源云計算平臺。
1.2.2學生信息管理系統研究
自從改革開放以來,教育一直是我國的一個重點發展方向,在過去依靠高校 自身人工管理的方法已經無法適應于現代社會對于信息管理的希求,隨著高校教 育改革的不斷深入,學生管理信息系統必將作為學校教育改革中必不可少的重要 部分,將高效的信息查詢、存儲技術提供給用戶,學生的各項信息也能夠便捷的 查詢和得到安全的保管,搭建學生管理信息系統對學校的管理具有非常重要的意 義[11]。但是到目前位置,全國只有部分發達地區的高校擁相對完善的基于校園網 絡的學生管理信息系統。大多數高校的管理信息系統還不完善并存在著不少問題: 一部分高校同時運行多個相互獨立的管理系統,且沒有良好的信息共享方式,可 能某個學生的信息不能在一個系統中進行查詢,需要在不同的部門登錄多個系統, 導致查詢所需信息時無法完全獲取學生的信息[11]。系統模塊設計不全面,若后期 需要增加相應模塊,可能造成系統的崩潰,致使單個系統不能找到所有的信息, 無法更新信息。目前我國的高校信息管理可以通過借鑒國外高校成熟的經驗和做 法,找到適合我國高校現狀的部分,將其應用到日前我國高校的管理信息系統中, 這樣有助于教育領域的發展。
目前各級高校辦公使用的學生信息管理系有很多。但使用情況、功能等方面 有很大差異。有一些大的信息公司開發了一些公共的信息管理系統,但這些系統 不針對職業院校,對高校了解不足,不能夠勝任高等職業學院的信息管理需求[12]。 漯河食品職業學院是近幾年剛被提升的民辦高等職業學校。由于剛被晉升在工作 的開展和業務流程上跟公辦學校有很多不同之處。學校具有財務緊張,管理略顯 換亂的問題。
由于學校財務撥款不同于公辦院校,為了有更好的收入需要把大量的精力放 在招生和就業上。這種做法造成了學校不注重教學管理工作,辦公條件有時較差, 不愿意在學生的管理工作上做更多的投入。沒有信息管理系統,僅使用簡單的辦 公軟件來處理數據甚至還有大量的人工紙質信息。數據的傳遞僅通過QQ、電子郵 件或存儲設備的復制拷貝等。這幾年學校擴大,人數的增多,學生信息數據量的 增大,日常的數據處理和管理成幾何級數增加,各部門獨立的系統可以暫時緩解 一些數據處理,但對整體的信息整合不足。各自購買軟件系統和硬件設備支出, 也成為各單位很大的負擔。還有,各個部門之間的信息不能很好的共享,許多由 于格式不統一造成的重復性的勞動是本可以避免的。因此迫切需要一個統一的云 平臺信息管理系統來管理數據。
從已知的情況可以看出,有些學校雖然也購買了根據各院校自己的情況要求 開發的學生信息管理的軟件系統和服務器,但是由于操作人員的操作不規范,經 常會出現運行速度過慢,信息更新不及時,甚至系統數據庫崩潰,影響正常的教 學。不管是B/S架構還是C/S架構都對軟件平臺和硬件有很高的要求,在購買硬 件時就有很高花銷,在使用過程中的維護和更新換代也是問題。如果存儲設備發 生意外損壞更是給數據帶來不可修復的影響,數據的丟失卻是十分嚴重的問題。 這些已經存在的問題已成被越來越多的學校認識,數據不能及時的統計和分析, 不能第一時間得到準確的數據,分析學生信息情況,影響學校正常的教學計劃。 所以利用最新的,成熟的技術開發新型的云平臺學生信息管理系統已經被許多學 校提上日程[13]。
1.3研究內容
在信息技術云計算快速發展的帶動下,教育信息化也是高校發展的重點,各 高校若想提升自身教學水平,一方面需要不斷地加強教育科研投入,另一方面需 要利用互聯網加技術對教育資源的加強整合與管理能力,引入云平臺技術實現教 學與學生管理等環節的緊密協作。
本文根據作者在漯河食品職業學院的工作中對學生管理工作的經驗總結出 發,并分析學院實際情況,提出采用基于B/S架構的Web應用系統,運用Hadoop 云平臺,建立一個適用于高等職業學院的學生信息管理系統。對所需的功能以及 現有技術進行分析,提出基于 Hadoop 的云平臺開發學生信息管理系統。可以較為 便捷的完成本校學生的管理工作,對學生信息的整理可對教務工作帶來幫助,使 相關各個教學部門信息打通,便于信息共享。本文介紹了基于 Hadoop 的云平臺的 學生信息管理系統開發中的關鍵技術,設計并實現了系統管理模塊、用戶管理模 塊、學生信息管理模塊、班級管理模塊、課程管理模塊、考試成績管理模塊、獎 懲信息管理模塊和繳費管理模塊,共計八大功能模塊。系統方便易用、實現信息 共享、界面友好,對于高等職業學院進行學生信息管理系統的設計和開發有一定 的借鑒價值。
1.4本文組織結構
第一章 引言
一開始介紹了課題研究的背景及意義、國內外研究現狀和目前高等職業院校 學生信息管理系統的使用情況等背景知識。通過調研找到現階段高校特別是職業 院校在學生管理上存在的不足,并提出一種基于Hadoop云平臺的學生信息管理系 統。
第二章 云平臺網絡系統概述
詳細介紹了云計算的概念和特點,以及目前常用的系統構建模型B/S模型。
然后對 Hadoop 云平臺的發展、結構及其工作模型進行了設計說明,又講解了其 中的關鍵技術:分布式文件系統HDFS ;計算框架MapReduce ;分布式數據庫 HBase 。
第三章 云平臺學生信息管理系統的分析
對云平臺學生信息管理系統做模型分析,做了對職業學院學生管理職能的分 析。以現有學校現有的信息平臺和所具備的條件為出發點,結合學校的信息管理 方式,對基于云平臺的學生信息管理系統的研究進行整體需求分析。
第四章 學生信息管理系統總體設計
從整體上對系統的構建框架進行設計,確定了學生信息管理系統的主要功能 模塊。設計了數據庫表結構,畫出E-R圖和數據庫表的結構圖。
第五章 系統主要功能模塊設計 對系統的主要功能模塊的進行功能設計。對系統各主要功能模塊流程進行分 析,畫出各個功能模塊的業務流程圖,對各個模塊的流程進行解釋說明和實現。
第六章 系統實現與測試 在詳細設計和模塊設計后,對系統進行平臺搭建和實現,然后測試系統的運 行情況,做了功能測試和性能測試。
第七章 總結與展望
對云平臺學生信息管理系統在課題研究過程中實現的結果和遇到的問題進行 總結。總結經驗和不足,并根據存在的問題指定下一步研究工作計劃。
1.5本章小結
本章通過介紹課題研究的背景及意義,研究了云計算的發展,分析云計算研 究的國內外現狀,現階段各高校學生信息管理系統的使用現狀。總結出在信息技 術高速發展的時代,使用云平臺開發信息管理系統管理高職院校的信息數據的可 操作性。并在本章的最后劃分了整篇文章的組織結構。
第 2 章 云平臺網絡系統概述
2.1傳統的網絡構建模式
2.1.1信息系統綜述
管理信息系統(Management Information System,MIS)是一個利用計算機計 算、存儲的能力和網絡通信設備,進行數據的整合、加工、儲存、更新和維護的 軟件系統。
根據信息管理部門與各部門之間的實際情況選擇適當的管理系統結構,對于 研究管理信息系統是十分重要的[14]。隨著在信息技術的高速發展,依托網絡 Web 信息技術,云計算信息檢索,包括分布式存儲,和SSH組件技術,對大部分的系 統結構影響巨大。對促進軟件系統開發在網絡應用中起著重要的作用,這樣使得 大量的 C/S 架構系統轉變為更加簡潔的 B/S 架構。
2.1.2B/S 架構
B/S架構模式Browser /Server,即瀏覽器/服務器模式。B/S架構在用戶界面層 和數據管理層增加了一種被叫做中間件的結構。隨著B/S架構使用的越來越多, 瀏覽器是在用戶客戶端使用較多的軟件。統一了用戶使用的客戶端,通過將系統 的核心功能放到網絡服務器上,簡化應用軟件的開發、使用和維護成本。用戶只 需要在個人終端安裝一個瀏覽器,如 IE 瀏覽器,操作系統內置的數據庫使用 SQL Server、Oracle或MYsql等。瀏覽器通過Apache Web Server同數據庫進行數 據信息的通信。這樣B/S架構就組成整個用戶與服務器交互,有三層體系結構的 軟件系統。
B/S 系統架構核心概念是,利用中間件把應用分成業務邏輯層、表示層及數 據存儲層的三種不同類型的數據處理層次[14]。同時這三個層次又可以詳細的分為 數種組合形式。業務邏輯層執行數據和鏈接動態網頁的生成,數據存儲是對數據 庫的操作和響應程序的請求,數據處理,結果返回程序通過表示層 Web 服務器的 實現。現階段B/S架構已成為應用軟件最常用的方式。這是由于操作系統將瀏覽 器植入系統內部。從層次概念上可以看出 B/S 架構應用程序比傳統的客戶端服務 器結構有許多優勢。
B/S 架構的系統有許多優點比如:其研發簡潔,共享性高,維護方便等。相對 于C/S模式來說B/S模式的系統升級和維護方式簡單,降低運行成本的優點,但 是也有不足之處。 B/S 模式的服務器幾乎承擔了所有的數據處理業務,對于服務器 的性能要求和安全性都有很高要求。一旦服務器出現問題癱瘓則后果十分嚴重[14]。
2.2云計算技術的概念和特點
云計算可為用戶提供方便的網絡訪問服務,用戶進入網絡云平臺,獲得資源 共享服務,只需投入很少的管理工作,從而有效的提高資源利用率。云計算最重 要的優勢是具有數據密集型的計算方式,還同時兼顧分布式計算資源利用率高的 特點[15]。有關云計算的核心技術有:虛擬化技術、分布式并行計算、分布式數據 管理和分布式存儲 [16]。
2.2.1云計算及其特點
云計算是一種以服務的方式提供網絡共享資源的計算模式,其基本框架[17]如 圖 2-1 所示,云服務是指通過網格技術、分布式計算和分布式 文件系統等功能, 將網絡中大量閑置的網絡設備通過云計算平臺來共同工作,提供數據存儲和數據 業務訪問功能的一種服務方式[18]。
云計算平臺是一種新式的服務模式,將云計算引入云平臺學生管理系統主要 特點在于:
1.提高系統中設備的利用率
云計算服務以租用的方式把網絡中的閑置資源公開給用戶用。從整個時間序 列的角度來考慮,整體資源優化不僅能降低某些時間段資源的最高荷載,并且能 在某些時段提高一些閑置資源的效率,從而提高了整體資源的利用率。因為數據 存儲在云端,數據都會由分布式的數據節點保存復本,因此不需要再來做多余的 工作來確保業務的穩定性,這樣能提高利用率增加數據服務的可靠性,避免了網 絡中單一節點出現問題后數據共享服務不可用。
2.提供彈性服務
云計算系統管理軟件可以根據用戶的使用情況整合的計算資源,按實際情況 需申請資源,提供動態資源調整。對于用戶需求波動大的應用具有很好的服務效 果[19]。在云管理平臺中,提供彈性的云計算服務可為用戶提供合理可用的計算資 源,不浪費資源且提高利用率。
3.可擴展性高
云平臺不要求平臺中的存儲設備及其他硬件產品的型號、介質的一致性,各 種存儲設備都可以一起協同工作,在保持原有設備,實現存儲設備系統的可共享。 當云計算平臺需要擴展存儲空間時,購買設備根據需求加入到云服務器集群,云 計算管理信息系統可以自動識別新加入的存儲設備,從而實現云平臺管理系統資 源的高擴展性。
4.系統運行安全性高 基于分布式數據存儲建立的數據中心主要特點是將云端數據備份到不同主機
的數據存儲中心中,用戶自身不需要知道數據存在的地點。該特點不僅使得病毒 和黑客的攻擊失去目的性[20],還提供了數據備份,具有恢復的能力,這種分布式 數據中心具有的系統的安全性超過單一主機服務器。大部分的云計算平臺使用的 設備提供了的通用服務接口,允許服務器數據在各個云之間進行數據轉移[21]。
2.2.2云計算服務概述
云計算若按服務提供方式劃分,可分為IaaS、PaaS和SaaS,即基礎設施即服 務、平臺即服務和軟件即服務[22]。
IaaS (Infrastructure as a Service )基礎設施即服務
IaaS是指用戶通過網絡獲得的計算服務、存儲空間等計算機基礎設施服務。 這類服務被稱為基礎設施服務IaaS。IaaS用法有兩種:公有基礎設施和私有基礎 設施。公有IaaS用法如亞馬遜EC2彈性云計算,從網路中整合空閑的硬件資源以 按需使用的方式提供給用戶所需服務。私有IaaS的做法是使用企業內部網絡搭建 數據中心的硬件資源作為可用資源池,從而給企業內部提供基礎設施服務。如果 在企業內部網絡數據中心環境下開發軟件,通常的做法是把一些關鍵的信息放在 企業內部,一些共有的存儲服務放在公有云,結合使用兩者的優勢可以更好地開 發應用服務和程序。
SaaS ( Software as a Service)軟件即服務
SaaS 是一種軟件應用模式,是在網絡上提供軟件的服務[23]。企業只需擁有相 關技術人員,根據自身實際需要開發,即可通過網絡從提供 SaaS 的廠商獲取軟件 服務。大多數服務提供商提供了搭建軟件服務平臺所需要的硬件設備、網絡設備、 軟件開發平臺。通常來說,用戶向服務供應商租用Web Server,而不是自行再購買 軟件,來管理公司的業務,這樣無需對軟件進行維護。對普通用戶而言,這種使 用方式比傳統軟件服務更為便利。
PaaS ( Platform as a Service)平臺即服務
PaaS 是把軟件的開發平臺提供給用戶作為一種服務模式。現在市面上主流的 PaaS平臺有谷歌app Engine、百度app Engine。PaaS由服務提供商完成構建和運 營該基礎平臺,并以服務的方式提供給網絡運營商,如:公共平臺軟件開發、數 據庫等。在PaaS平臺開發應用程序,針對用戶需求設計軟件,對系統運行優化等 服務能更好為企業應用。在 PaaS 平臺上,用戶可以混合匹配其他平臺更方便的開 發自己所需要的產品和應用。
2.3Hadoop 概述
Hadoop 是 Apache 軟件基金會[24]所投資開發的一個開源分布式系統基礎架 構。以分布式文件系統HDFS(Hadoop Distributed File System ),分布式計算框架 MapReduce和分布式數據庫HBase為核心的系統基礎架構。Hadoop云平臺為用戶 提供了系統底層可視化的分布式存儲和計算的編程環境。HBase分布式文件系統 所具有的高擴展性等優點,允許用戶將Hadoop部署在各種的硬件上;MapReduce 分布式編程模型可以在幾乎任何情況下編寫程序。這樣開發者可以利用Hadoop整 合網絡資源,搭建根據自己情況所需的分布式計算云平臺,充分利用其計算和存 儲能力進行信息處理[16]。
2.3.1Hadoop 的發展
Hadoop最開始是Apache Lucene的項目中Nutch的一個子項目[25]。 Lucene是 一個開源的檢索引擎工具,用戶提供的文本索引在文本集合上,可以有效的利用 搜索功能。Lucene擴展學習難度低,容易擴充新功能。Nutch項目作為Lucene的 擴展,提供了搜索引擎所需的全部工具。Doug Cutting所設想的Nutch是開放的, 可以代替谷歌、雅虎的搜索壟斷技術。在Nutch項目研發過程中,相對于已經投入 使用的搜索服務,Nutch開放源代碼,從而更值得大家信賴,能夠為用戶提供最好 的搜索結果。
2003 年 Google 在 SOSP ( Symposium on Operating SystemsPrinciples )操作系統 原理會議上公開了有關GFS(Google File System )[26吩布式存儲系統的論文,GFS 用于存儲不同設備所產生的海量數據;在 2004年的 OSDI( Symposium on Operating Systems Designand Implementation )操作系統設計與實現會議上公開了題為 MapReduce :優化信息處理的大型集群[27]的文章。根據這兩篇論文為實現整體框 架打下了良好的基礎。提出了谷歌云計算平臺的兩大核心技術,即GFS和 MapReduce。隨后,研究團隊實現了開源的Nutch分布式文件系統HDFS和 MapReduce,解決了軟件擴展性差問題。在2006年,HDFS與MapReduce從Nutch 項目分離,并獨立成為一個子項目,被稱作Hadoop。2008年,Hadoop發展成為
Apache 的頂級項目。
2.3.2Hadoop 項目及其結構
隨著Hadoop的不斷完善與發展,其項目結構有很大改變。Apache基金會在 2011 年 12 月 27 日發布了其第一個公開發行版本 1.0.0。 Hadoop 是項目總的名稱 其中包含 MapReduce、HDFS 和 Hadoop Common 三個子項目。Hadoop Common 在 2.0 以前的版本中,包含 HDFS、 MapReduce 和其他公共項目內容。 Hadoop 生態 系統圖如下圖 2-2 所示。并行計算框架 MapReduce 是谷歌計算框架的開源實現; HDFS是谷歌GFS的開源實現;Hadoop Common是分布式文件系統和輸入輸出的 接口,提供對Hadoop子項目的基本支持。
圖 2-2 Hadoop 生態系統
Figure 2-2 the Eco-System of Hadoop
如上圖2-2所示,Hadoop生態系統由編譯處理層、并行處理框架、結構化存 儲層和非結構化存儲層共同組成。編譯處理層中Pig是一種數據流語言,用于檢索 大數據集。用Pig優化Hadoop的使用,用類似sql的語句對信息進行查詢o Cascading 是一個編程接口,用來創建工作流,能夠快速開發復雜分布式的應用。Hive是一 種結構化工具,可以將數據文件映射到一張數據庫表,使sql語句轉換為 MapReduce任務語句執行。MapReduce概念來自Map (映射)和Reduce (歸約), 用來進行并行運算[28]。MapReduce是將大規模的數據操作根據需求發給集群中的 節點處理實現并行計算;HBase是一個面向列、可擴充的,具有高穩定性、高性 能的分布式存儲系統,利用HBase技術構建大量數據的存儲單元。HDFS分布式文 件系統具有較高度容錯性能的結構,可以利用其性能提供大數據量的訪問。 ZooKeeper提供信息一致性服務,他的功能包括:配置維護、分布式同步和組服務 等。是一個分布式的應用協調服務,是Hadoop的重要組成部分。ZooKeeper實現 封裝復雜的關鍵服務,將開發應用的接口使之能夠高效、穩定運行,使用戶更方 便的使用服務。
圖2-2描述Hadoop體系中的各個模塊。這里HBase為結構化存儲層,HDFS為 HBase提供數據存儲保證文件系統的安全性和穩定性,MapReduce為HBase提供 數據的并行處理,Zookeeper為HBase提供了穩定服務。
云計算是一種以數據處理能力為中心的計算模型,其中虛擬化技術、分布式編 程模式、分布式數據存儲技術和分布式資源管理技術是其核心關鍵技術[29]。云平 臺通過網絡把強大的服務器計算能力方便地提供給用戶手中,還可以有較低的開 發成本和更好的性能。通過并行計算,提高計算效率,也可以優化整個云平臺的 資源調度。分布式存儲技術將數據存儲在不同的物理設備中。不僅擺脫了硬件的 限制,還能夠快速響應用戶需求保證所存儲資源的可靠性。虛擬化技術是一種在 云平臺中虛擬硬件存儲,然后為用戶提供服務。資源池由系統調度,用戶提出申 請,按照用戶的申請調配計算機資源,合理利用計算存儲的能力,給用戶更高效 地性能。分布式資源管理技術,可以在多節點的并發操作環境中對各節點同步, 并且在單個節點出現故障時,保證其它節點正常運行。這是分布式資源管理技術 保證系統穩定運行狀態的關鍵。
從云計算服務提供方式上看,基于Hadoop實現的云平臺學生信息管理系統, 提供的服務是屬于軟件即服務[30],就是云平臺給用戶提供了一種分布式編程模式 并行計算和分布式存儲的系統。平臺的分布式并行計算由MapReduce編程框架實 現,分布式數據存儲由HDFS分布式文件系統實現,面向列的數據庫HBase數據 庫作為分布式存儲系統實現系統的數據管理。
2.3.3HDFS 分布式文件系統
HDFS ( Hadoop Distributed File System)[31]是Hadoop 項目的核心子項目,是 為了處理流數據模式訪問和處理大數據文件而研發的,是分布式系統中數據存儲 管理的核心功能。其高可靠性和高可擴展性為大規模信息處理帶來高穩定性、安 全性的存儲,為處理大數據集帶來了很多優勢。HDFS能夠滿足超大數據集存儲的 需求,其具備的高容錯性是之前大多數存儲系統所不具備的。HDFS保證系統的正 常工作,其設計的目標在于:
1.運行在集群
Hadoop 分布式文件系統通過組合眾多的文件存儲 節點,這些節點形成大規 模數據存儲集群。要求對硬件需求低,也就意味著出現節點故障情況的可能性非 常高。所以在開發 HDFS 時要充分考慮設備的可靠性,安全性。集群系統節點在 運行期間的出現的任何故障,均被 HDFS 節點跳過到正常節點,使得 HDFS 文件 系統處理故障方面有很大優勢。
2.流式數據訪問
在 Hadoop 集群運行的程序以數據流的方式進行集群數據集的訪問,這種方式 可以大幅提高系統運行時的數據量。HDFS的設計目標為一次寫入后多個節點可以 讀取。數據被寫入后,就會被備份發送到不同的存儲節點中,等待任務指令,然 后響應任務請求。
3.大數據集
HDFS 提供大規模數據的保存。系統在同一個網絡,提供數據帶寬,這樣使得 集 群 能 夠 輕 松 支 持 大 數 據 集 存 儲 [32] 。 HDFS 整 體 的 實 現 是 一 個 主/從 ( Mater / Slave )體系結構,其整體架構 [33]如圖 2-3 所示。 NameNode 管理文件系 統的元數據,DataNode存儲實際的數據。客戶端通過同NameNode和DataNode的 交互訪問文件系統[34]。客戶端聯系NameNode以獲取文件的元數據,而最終的輸 入輸出操作是直接和 DataNode 進行交互的。
圖 2-3 HDFS 整體架構圖 Figure 2-3 the Architecture of HDFS
NameNode是分布式文件系統中的主節點,管理整個文件命名空間、 集群配置信息和存儲數據的復制等。NameNode中對整個文件系統的元數據進行 存儲和管理。名字節點對整個集群文件進行操作,例如文件的復制、重命名等。 集群中的其他節點都是DataNode,DataNode是文件的存儲單元[35],主要負責存儲 數據和運行數據處理任務,負責執行文件塊的創建、刪除以及來自NameNode的塊 信息指令。
HDFS文件讀取的流程[36]:首先客戶端,向遠程的NameNode發起遠程調用請 求;隨后NameNode會返回文件block列表,對于每個block, NameNode都會返 回有該block拷貝的文件地址;在讀取完當前block的數據后,關閉連接;當讀完 列表的block后,客戶端會繼續向NameNode要接下來的block列表。讀取完block 列表倒要進行校驗,如果讀取DataNode時出現錯誤,客戶端會通知NameNode, 然后再從下一個擁有該 block 拷貝的 DataNode 繼續讀取。
2.3.4計算框架 MapReduce
MapReduce最早是谷歌公司的計算模型,它將運行的并行計算過程描述為 兩個函數:Map和Reduce [37]。Map用來分解任務,Reduce用來匯總多任務處理 的結果。Hadoop是Doug Cutting受到Google發表的關于MapReduce的論文啟發 而開發的。Hadoop中的MapReduce是一個軟件框架,把對大規模數據集的操作, 分發給網絡中的分節點共同完成,然后匯總各個節點的中間結果,得到最終結果。 實現了數據的并行計算與處理。
在Hadoop中,每個MapReduce任務都被初始化為一個Job,每個Job又可以 分為兩種階段:Map階段和Reduce階段。Map函數接收一個<key,value>格式的 數據,之后會生生一個<key,value>形式的中間輸出,然后對這個value集合進行 處理,reduce的輸出也是<key,value>形式的[38]。Map函數,用來原始數據映射成 所需的一組新的鍵值,指定并發的Reduce函數,通過這樣來保證映射的結果有相 同的鍵組。
在MapReduce計算框架中用于執行任務的角色有兩個:一個是JobTracker ; 另一個是TaskTracker, JobTracker是負責業務的調度工作[39],TaskTracker是用于 執行具體工作的。
指明在Hadoop上運行業務的輸入/輸出位置和其他配置參數,并通過接口提供 Map 函 數 和 Reduce 函 數 。 在 Hadoop 的 JobClient 提 交 作 業 和 配 置 參 數 給 JobTracker之后,JobTracker負責調度任務將個業務分發并監控其執行,并將運行 狀態和診斷信息給JobClient[40]。
2.3.5分布式數據庫 HBase
HBase是一個基于列式存儲的分布式數據庫,HBase依托于HDFS作為基本 存儲基礎單元,通過使用Hadoop的DFS可以看到文件夾的結構[41]。HBase是一 個非結構化的數據庫。所謂非結構化數據存儲就是說HBase是基于列的存儲模式, 這樣方面讀寫大數據內容。通俗的說HBase中的表的是可以根據需求進行動態添 加的表。HBase表的索引是行關鍵字、列關鍵字和時間戳。在表中存儲的數據, 每一行都有一個主鍵和任意多的列。用戶可以給行定義各種不同的列,同一張表 中的每一行數據都可以看作不同的列。每一張表有一個family集合,列名字的是 “<family >:<label〉”,只能通過改變表結構來改變表的family集合[42]。在HBase中 沒有表與表之間關聯查詢。
對HBase數據庫的更新都有時間戳,當有數據更新時會按時間生成一個版本, 而HBase可以根據需求保留版本。用戶可以在服務器端可以選擇獲取某個時間點 的版本[42]。
HBase數據庫的數據類型由行健和列簇組成。HBase行鍵:每一個數據行都 有唯一的行鍵,行鍵是沒有數據類型的,它內部被認為是一個數組。HBase列簇: 一個數據行可以有多個的列簇,每行有相同的列簇,但是在行與行之間,不需要 有相同的列修飾符[42]。
HBase體系結構有三大重要組成部分:HBase主服務器HBaseMaster,HBase 域服務器HRegionServer, HBase客戶端是HBase Client[43]□ HBase在分布式集群 上主要依靠這三部分從整體上管理數據。
1.主服務器 HBaseMaster
HBaseMaster 負責給域服務器分配區域,并且負責域服務器的負載均衡, HBaseMaster還負責監控集群環境中的域服務器的運行狀況,如果某一臺域服務器 down機,將其服務交給其他可用域服務器來處理,HBaseMaster還負責對數據和 表進行管理,用來更新表的結構和數據。并且HBaseMaster可以和ZooKeeper集群 交互。
2.域服務器 HRegionServer
HRegionServer 域服務器負責處理客戶 端用戶 提交的讀和寫的操作。 HRegionServer通過與主服務器通信得到任務表,并反饋自己的運行狀況。當收到 寫命令時,首先會找到HLog的頭文件。HLog被緩存在內存中,稱為Memcache。 其在內存中達到指定大小時,創建MapFile并寫入磁盤。這樣做的目的是減少內存 占用。當收到讀命令時,HRegionServer會先在Memcache中尋找該數據,否則在 MapFile 中尋找該數據。
3.HBase 客戶端 HBaseClient
HBase的客戶端HBaseClient負責查找提供用戶需求數據的HRegionServer。 收到指令后,HBase客戶端將首先與HMaster通信,找到根目錄區域。根目錄區 域被找到以后, 客戶端就可以獲得相應的元信息區域去查找提供數據的 HRegionServer,通過這個HRegionServer找到需要的數據。
從上述簡介可以看出在HBase的體系結構中,HBase分布式數據庫主要由主 服務器、域服務器和客戶端三部分組成。HBase有三個的優點:1、列可以動態 增加,節省存儲空間。2、HBase會自動切分數據,這樣存儲具有可擴展性。3、HBase 可以達到高并發讀寫操作要求。
通過上述分析我們可知將Hadoop云平臺引入管理系統的意義在于:其可以 把分布在網絡上的存儲設備全部當作一個共有資源池,并作為一個整體對平臺 外提供統一的數據接口,由分布式文件系統、面向列存儲分布式數據庫、集群 應用、虛擬化存儲等技術構成。在采用Hadoop云平臺技術以后,云平臺的用戶 使用的是Hadoop網絡上多個設備的資源平臺。Hadoop作為一個能夠分布式的 對大量數據進行處理的云平臺框架,為用戶提供一種高效、可伸縮的方式管理 信息。Hadoop云平臺可以對漯河食品職業學院學生信息資源進行整合,使之具 備存儲的便利并實現資源共享。
2.4本章小結
本章研究了 Hadoop云平臺的組成和發展歷史,講了 Hadoop的平臺模型,并 對其核心技術MapReduce計算框架,HDFS分布式文件系統和HBase面向列式分 布式數據庫進行了技術介紹。這些對于理解Hadoop云平臺具有很大幫助,之后本 文的第四章第六章也是在此內容的基礎上進行實現的。概括地說就是Hadoop云平 臺給用戶提供了一種分布式編程模式和分布式存儲的系統開發環境,實現對數據 的分布式計算。
第 3 章 云平臺學生信息管理系統分析
3.1平臺模型的分析
本文所設計的云平臺學生信息管理系統是基于Hadoop云平臺的大數據存儲的 能力以及分布式存儲的優勢[44],平臺的web業務層采用基于J2EE的B/S的架構的 三層結構展示體系。本章包括以下主要內容:
1.云平臺的整體結構分析,包括系統云平臺架構和訪問控制流程設計。系統 設計是分析系統的職能并完成系統主要平臺的搭建,分析云學生管理信息平臺的 功能模塊設計;
2.學生管理信息系統的分析,針對高等職業院校的工作職能和學校的組織結 構,分析云學生信息系統所需要的系統流程和業務流程,畫出流程圖為接下來的 工作做準備。
3.2云平臺設計原則
在系統開發前為保證系統開發和課題運行,需要有以下兩點設計原則:
1.向下兼容原則:云學生管理信息系統平臺的建設遵循充分利用已有的資源, 共享共建的原則,合理整合現有的系統資源,在此基礎上添加新的資源。減少原 有資源的浪費。
2.開放原則: Hadoop 云平臺是一個開放的、有公共技術標準的開發平臺, Hadoop 在技術上克服了不同型號硬件擴展的難題,因此云平臺需要提供開放的數 據接口。根據不同的業務需求,按照一定的數據格式提供一個開放的系統資源接 口,可以通過網絡接口訪問云平臺查詢系統資源[45]。
隨著技術的發展和學校校園網的建設,大多數高等院校都在組織建設自己的 共享信息庫,由于學校規模和出資開發的不確定使得各個學校之間的開發技術不 統一、技術標準不統一等因素導致了學生信息管理系統平臺建設有很大難度。本 課題云平臺學生管理信息系統將以 Hadoop 技術的為基礎,利用 Hadoop 平臺優秀 的分布式計算能力和可擴展的存儲結構[46],將學生信息數據存儲到基于 Hadoop 的 云端信息庫中。云學生信息管理平臺除了存儲基本的學生信息的之外,還要有一 定的學習能力,能夠分析處理學生數據,為教師教學、學院的課程設置,甚至學 生就業提供幫助。學生信息管理系統通過不斷優化業務流程,形成一個良好的信 息資源生態系統。
云學生管理系統的訪問框架圖如圖3-1。用戶可以通過客戶端訪問Web服務器 獲取所需的數據信息。
圖 3-1 訪問框架圖
Figure 3-1 Access framework map
云平臺按照系統業務功能分為以下幾個部分:
1.文件系統
Hadoop云平臺的HDFS作為云平臺的文件存儲物理層[47],這是學生信息的真 實存儲位置,平臺里所有的學生信息、課程信息都存儲在文件系統上。
2.數據訪問系統
云學生信息平臺的存儲系統由面向列式的分布式數據庫 HBase 和關系型數據 庫 MySQL 共同組成,同時發揮兩種不同數據庫的優勢,為用戶訪問提供更好的數 據查詢性能。HBase負責存儲大數據量的表格和信息,MySQL用于為數據庫建立 表索引,并存儲穩定的信息如訪問量不大、修改少的數據。云學生信息管理平臺 負責學生信息數據的存儲。這些資源都存儲云服務器中,而不是存儲在本地。
3.Web 訪問系統
Web訪問瀏覽系統使用的開發框架是SSH(Spring,Struts,Hibemate)。在SSH 開發框架中, Struts 作為系統的整體基礎架構的重要組成部分,復測整體控制業務 跳轉,利用Hibemate框架對存儲層提供支持。Spring負責整體框架與數據存儲層 的通訊作為一個控制容器,負責查找、創建和管理對象及他們之間的相互依賴關 系,還能協助 Struts 框架和 Hibemate 更好地工作。
業務邏輯層是 Web 系統平臺中的重要組成部分,它處于數據訪問層與表示層 中間,負責信息傳遞。由Spring負責調度業務來處理瀏覽器端的請求完成數據添加、 更新和查詢業務等,將生成的結果反饋給瀏覽器端。
3.3職業學院管理組織職能分析
近幾年越來越多的職業院校開始使用學生管理信息系統,希望通過平臺管理 簡化復雜的辦公教學流程,現今的管理信息系統使用者更加迫切希望對數據進行 綜合分析和數據處理,是提高學校工作效率待解決的問題之一:
1.目前多數人現有的觀念不論是從分析模式上,還是對于事物的分析處理都 有很大差異,用戶試圖把事務處理分析模式和數據處理放在原始的工作模式下去 運行,總體來看這樣做是不對的。
2.現有的學生信息管理系統在處理數據業務時,只是簡單的提高了數據的儲 存效率,而在查詢與梳理動態數據和一些數據細節時并不能勝任,現有的數據分 析并不具備這種能力。
3.在數據處理時,不能在規定時間內對數據進行處理,數據的爆炸式增長, 經常會出現系統運行速度緩慢,延遲無法滿足數據分析的需求,造成信息出錯, 影響日常的教學管理的工作。
4.目前的教育教學管理系統中,平臺對硬件有很高的要求,在平臺的使用過 程中的維護、升級和硬件設備更新換代都是問題。若是硬件設備質量的不過關, 服務器出問題帶給數據帶來破壞,數據的丟失難以找回。
5.現在大多數的高校管理信息系統中,大部分數據分散在不同的系統,不同 的服務器中,當需要得到一個準確的數據分析結果,就要保障數據的完整性和準 確性,能夠快速便捷的查詢到所需的數據,才能對要分析的數據進行科學合理的 分析。
我所了解的漯河食品職業學院等大多數高等職業院校的部門職能組織不明 確,業務處理流程也不很完善。近幾年學院的管理模式在不斷改建,通過向其他 管理較好的學校學習交流。現有的職能部門有:學院辦公室、教務處、學生處、 團委、招生就業處、科技處、人事處、財務處、助管中心、后勤處、基建處、保 衛處等15 個部門。
其中與學生管理相關的業務部門有:學生處、教務處、招生處、就業處和助 管中心。學生處:主管負責學生的日常活動和培養、學生信息的管理、校運動會 開展和學生日常生活各項服務、學生學籍檔案管理;教務處:負責各院系的課程 安排教學計劃的指定、監管和檢查評價;團委:負責共青團組織人員的發展、監 管和團體活動;招生處:負責學校的招生宣傳和給考生提供相應咨詢等服務;財
務處:學生學費收取、教職工各項費用報賬以及助學金獎學金的發放;就業處: 負責聯系大四學生實習、提供就業指導并幫助學生簽訂三方協議。
3.3.1學生管理相關組織機構 在職業院校的各組織部門中,學生處、教務處、就業處和助管中心是與學生 管理工作相關的業務部門。
圖 3-2 教務處下轄部門
Fig. 3-2 The Department of Academic Affairs Office
學生處:下轄學生處辦公室、院團委辦公室、學生會、學籍管理科和寢管科。 學生處的部門結構如圖 3-3 所示:
圖 3-3 學生處下轄部門
Fig. 3-3 Department of student affairs office
3.3.2學生管理相關組織業務流程分析
本人在漯河食品職業學院工作多年,依據本人的實際工作經驗,與其他部門 的老師深入了解,并在圖書館與網絡查閱大量相關信息,將職業院校學生管理的 流程描述如下:
1.新學生注冊報到,開學時會有老師帶領新入學學生到指定地點報到并注冊 學籍,繳納學費。學生拿著錄取通知書和繳費收據到各院系,根據錄取通知書的 專業進行報到分班,分宿舍等。
2.新學生在報道后,各班進行匯總并交于院系相關負責人報到,各院系輔導 員組織學生領取所用圖書,各院系根據教務處安排的課表與教學樓上課。課程結 束后,由任課老師出題對學生進行課程考試。任課老師在考試以后評分,并將試 卷和成績上報教務處歸檔,參與綜合測評。
3.學生的日常管理工作是由各院系和學生處共同管理。學生處統一安排各項 活動,各院系根據要求展活動。輔導員在學生管理工作擔任直接責任人,院系負 責本系學生管理工作的管理責任。
4.學生實習和就業工作由就業辦公室統一安排,各院系配合完成。在學生畢 業前一年就業辦公室會安排學生實習、各院系根據學生人數和專業需求對學生實 習進行相應的安排。在實習工程中,學校提供三方協議,若有單位招聘或學生有 意愿出去工作,根據三方協議的內容,學生、學校和用人單位簽署協議并上報學 校,由學校統一審核蓋章后,同意調轉學生檔案。學校就業處負責學生的就業與 協議檔案發放工作。
3.4漯河食品職業學院學生管理工作現狀
漯河食品職業學院的學生信息管理工作大多數還由人工完成。這樣做增加人 力成本,主要原因還是沒有相應的資金投入。近幾年各部門有不同的數據信息化 程度。但是數據格式不統一共享性差,工作效率依舊不高。
3.4.1數據處理方式現狀
職業學院學生管理工作現在多數還在使用紙質信息管理。使用紙質的數據存 儲方式存在著很多的缺陷:
1.數據易受到污染,由于環境因素數據不易保存。
2.數據大多由個人信息表組成統計困難。
3.數據時間長不字跡清楚,在統計數據是錯誤率高。
針對這些存在的問題,學院各部門也都想辦法改進提高管理效率。對于數據 統計工作,多數在Excel中處理。對Excel辦公軟件的功能使用程度有限,只能對 信息進行簡單的錄入、計算和統計。這樣做最終還是處于人工體力勞動階段,工 作效率較低。
3.4.2數據交流共享現狀
在現有的工作條件下,紙質的記錄,簡單的軟件數據統計。數據的交換和共 享都不能滿足日常工作的要求。沒有固定格式的數據統計和輸出保存數據使得數 據在各部門間的共享十分困難。各部門之間的報表需要交流解釋之后才能看懂理 解。在不同人員之間反復的傳閱交換,造成報表信息數據的丟失。
隨著數據的增多,數據量的增大,目前使用的數據交流和共享的方式是紙質 傳遞,其次是通過打電話、發QQ離線文件、發郵件或者U盤拷貝的方式已經不 能滿足工作的要求。
3.5需求分析
系統的需求分析對整個軟件的功能設計這塊非常重要,主要是從系統的使用 對象進行分析,針對用戶提出該用戶需要哪些功能,從而完善系統的功能。只有 這樣從用戶出發作出需求分析,才能提出更加精準,具體,準確的方案來。
當然除了從用戶需求出發來分析出擁有功能之外,還要考慮到軟件的技術需 求,包括了系統實現的方法,云平臺的部署,系統的數據流的分析,系統的業務 流程分析等等。
系統的需求分析只是提出一個基本的概念和模型出來,而后期的功能開發從 這些需求開始加以具體化,功能化。這個步驟非常重要,他對系統開發起著至關 重要的作用。
3.5.1功能需求
根據學校現有業務調查信息,學生信息管理系統的基本流程是:學生將個人信 息統一上報到教務處,教務處的系統管理員對信息進行審核后錄入系統。并統一對 學生的課程進行設定,待課程結束后教師將學生成績上報錄入學生成績信息并進行 管理。根據分析學校現有學生信息的管理流程,總結現有管理流程,學生信息管理 系統應該包括以下基本功能。
1.學生信息管理:可以添加新學生并對老生具有修改、刪除等功能。
2.系統基本信息管理:對院系、教師、班級和課程信息有添加和更新功能。
3.成績管理:對課程成績的管理,學生課程成績的錄入、修改及刪除等功能。 并提供綜合測評的成績和獎懲管理
4.系統公告通知信息管理:校內公告、通知信息的編輯及發布功能。
3.5.2性能需求
系統界面簡潔,功能性強,是對一個系統的基本要求。一但還應該滿足較快 的響應速度,具有高可靠性,高擴展性,可維護性和安全性。
系統具有數據管理的能力:系統有權限管理機制,管理員用戶具有較高權限, 可以分配用戶的權限并進行具體的設置。系統要對數據的流向進行必要的控制, 在管理員權限對相應給予恰當的回應,并約束數據的正確性和完整性。
系統具有實用性、經濟性和有針對性:該系統主要是面向學校內工作人員使 用,因此在系統設計時以工作需要為出發點,以實用性和針對性為主要原則,同 時使系統具有良好的性價比。
系統的兼容性:由于系統面向的用戶使用的計算機操作系統、網絡的環境不 同,因此在系統設計時充分考慮系統的兼容性,要做到大眾化硬件平臺都能夠使 用。另外,為了長遠的使用系統,應該充分考慮系統的可擴展性。
系統的易用性和易維護性:由于用戶對電腦操作能力的有所不同,這就要求 系統能夠提供良好的用戶頁面,便于用戶操作起來簡單易學易用。要想達到這樣 的要求,開發系統時就應使操作界面要簡潔。
3.5.3安全需求
由于系統是針對學生的信息管理系統,系統的安全性十分重要。為確保數據安 全,系統用戶分為管理員用戶和學生用戶,不同用戶所擁有的操作權限不同,普通 學生用戶,進行查看查詢和有條件的修改;管理員能夠執行系統所有功能,并具有 備份恢復的權限,從而保證系統數據安全。
3.6系統業務流程分析
為了繪制學生信息管理系統的業務流程圖,應該按照學生系統的信息處理過程 逐一進行分析,流程包括各個部門處理環節的信息來源、信息分發和數據存儲方式 等。
云平臺學生信息管理系統的業務流程圖如圖 3-4所示,圖中可以看出該學生信 息管理系統有以下主要功能。
信息錄入:學生入學后將個人基本信息統一上報給教務處,再由教務處對學生 基本信息進行審核整理后數據交給管理員,將學生信息全部錄入相應的數據庫。
輸出信息:學生通過學生號密碼登錄查看學生自己的各項信息。
管理員可以添加、修改和刪除信息。根據教務處的報表添加修改信息,下發給 有關部門信息單,通知學生查看學籍情況、選課情況和課程成績。
Fig. 3-4 System business flow chart
3.7系統數據流分析
數據流圖是以圖形表示數據和信息流,從數據傳遞和加工角度,分析數據在系 統內部的具體傳遞順序和業務邏輯變換過程。
學生信息管理系統云平臺的數據流圖如圖 3-5所示。云平臺學生信息管理系統 的數據流圖是根據學生信息的業務流程分析得出,其中有學生基本信息數據、學籍 數據、課程數據、成績數據和學生獎懲信息。是對學生信息的管理、成績信息管理 和教務通告管理。
其中管理員通過課程管理,修改課程信息表。學生可以查看自己的課程信息。 查詢自己的課程成績。管理員通過學生基本管理,修改學生信息表。學生可以查看 自己的個人基本信息。管理員通過獎懲管理,修改獎懲信息表。學生可以查看自己 的個人獎懲信息。
選課
課程信 息管理
'簡歷信
、息管理
學生學 籍信息
成績 管理
查詢 信息
課程信息
成績數據
成績信息表
錄入選課信息
課程數據―^
選課數據
選課結果信息•
獎懲 信息
家庭成 、員信息
簡歷信息
簡歷數據*>
信息表
個人簡歷信息
成績 信息
學生基' 本信息
管理員
查詢成 績報表
學生籍\學生學籍數據7 £理丿 學籍數據表
家庭成員數據、
象庭成\ 綾庭成員
員管理丿 信息表
個人家庭成員信息
學生基本數據查詢成績信屋 本信息廠
學生基本信
息表
學生個人 基本信息
查詢成 績條件
學生
「個人學籍信息
個人獎懲信息
學生獎、學生獎懲數據 懲管理/
—
獎懲信息表
圖 3-5 數據流圖
Fig. 3-5 Data flow diagram
第 4 章 學生信息管理系統總體設計
4.1系統總體設計
云學生管理平臺除了需要具有分布式存儲教學資源的功能,還需要提供多樣化 的教學服務,以便在不斷累積的學生信息資源基礎上形成一個良好的生態環境。因 此,結合Hadoop的HDFS和Hbase兩大核心技術,本課題提出了如圖4-1所示的 學生云管理平臺的整體框架。
Web業務邏輯與展示層
Web前端
普通用戶訪問界面: 通知、公告管理 用戶登錄管理 教學資源信息列表
管理員管理界面
人員管理 用戶資源管理 教學資源管理
業務邏輯層
普通用戸話間界而:
通知、公告管理業務 用戶登錄管理業務 教學資源信息列表業務
|管理員管wf 人員管理 用戶資源管理 教學資源管理
數據訪問層
數據存儲層
圖 4-1 云平臺整體框架
Figure 4-1 The overall framework of cloud platform
其中:1.學生管理平臺數據存儲層:該層主要采用HDFS作為云學生管理信息 系統的資源物理存儲層,平臺中的所有教學資源(如課程、課件、成績等)都將被其 分級存儲在不同的數據節點。圖中的HBase和MySql則分別用于存儲非結構化數據 如圖片和圖表等信息、半結構化數據如郵件、報表、成績等數據。2. 學生管理平臺 數據訪問層:該層通過結合兩大數據庫的優勢,為前端Web應用程序提供統一的數 據訪問接口和良好的查詢性能。3. Web業務邏輯與展示層:學生信息管理系統的該 層通過采用的Web開發B/S架構來實現業務邏輯與數據的前端展示,實現了云學生 管理系統的求與響應,以滿足不同用戶對管理系統的需求。
4.1.1系統設計目標
云平臺的學生信息管理系統開發的設計目標是解決和改善以往原始的人工復雜 操作,使工作變得更加便捷。通過云平臺管理系統的使用,使學生信息的管理工作 更規范從而提高職業院校的教學水平。
1.登錄系統的主要功能需求:
(1)登錄頁面 登錄界面簡潔大方,有學生管理系統字樣。
(2)用戶身份選擇 用戶選擇是學生登錄還是管理員登錄,并輸入相應密碼,驗證正確后進入相應 界面。
2.首頁主要實現功能:
學生進入學生界面后可以看到以下內容:
(1)信息管理 學生可以對自己的信息進行管理。如查看信息、修改個人信息等。
(2)獎懲信息 學生可以查看自己所受到的獎勵和懲罰。
(3)就業指導
(4)就業公告
(5)資源下載
3.學生信息管理系統的后臺管理功能:
(1)管理員設置 管理員可以進行一定的設置,如修改密碼,添加管理員。
(2)個人信息管理 管理員對學生或教師的個人基本信息進行管理。
(3)院系管理
管理員對學校的院系進行添加、刪除,修改院系名稱等操作
(4)學生基本信息管理 管理員可以修改學生的個人基本信息,如學生姓名、學號等。
(5)課程信息管理
可以對課程信息進行修改,組織教師上課,修改課程名稱,添加成績。
(6)綜合測評和獎懲管理
管理員添加綜合測評成績和學生的獎懲信息
(7)資助和勤工助學管理
(8)就業信息管理
(9)學生檔案管理
(10)網站信息管理
(11)數據安全管理
4.1.2系統前臺 本系統前臺頁面分為七大模塊:學生信息頁面、獎懲信息頁面、就業指導頁面、 就業公告頁面、資源下載頁面、關于我們頁面。功能結構圖如圖 4-2 所示。系統前 臺由 asp 實現,通過頁面請求訪問后臺數據庫。
圖 4-2 前臺結構圖
Figure 4-2 Front desk function structure diagram
4.1.3系統后臺各模塊功能設計 管理員設置:由系統管理員用戶名、登陸密碼和用戶權限信息組成。管理員可 以對后臺進行管理,進行各種操作如:添加、修改、刪除等。學生可以對自己的密 碼進行修改。
個人管理:主要是對管理員的密碼進行修改。
院系管理:主要是對學校院幾個系進行添加、修改、刪除操作。
圖 4-3 后臺功能結構圖
Figure 4-3 Background function structure diagram
學生信息管理:學生添加,學生信息管理,學生宿舍信息管理
課程信息管理:學生課程的管理和教師的基本信息管理。
綜合測評和獎懲管理:綜合測評與獎懲信息的管理操作。
資助和勤工助學管理:貧困學生的檔案管理,資助獎學金、勤工助學、學生貸 款管理。
就業信息管理:主要管理畢業生的就業信息、用人單位以及招聘信息的管理。 學生檔案信息管理:主要記錄學生的個人信息。
網站信息管理:信息的發布和信息的管理。 數據安全管理:數據的備份與恢復。
4.2數據庫結構設計
4.2.1數據庫邏輯結構設計
在 HBase 數據庫中沒有類似關系型數據庫的數據關系,但在對 HBase 數據庫表 設計時仍然可以把數據庫管理系統中的存儲數據作為不同的管理對象實體來考慮。 但是在HBase數據庫實體之間的關系不能通過外鍵等約束,需要充分考慮HBase的 分布式列式存儲特點來體現。
E-R模型圖是一種表示數據庫中個數據圖表關系的方法。用E-R圖來描述數據 庫表中各實體關系。通過對之前章節的分析確定系統業務流程圖和數據流圖,確定 學生信息管理系統的實體E-R模型圖和全部E-R模型圖。
其中學生實體E-R圖如圖4-3所示。
圖 4-4 學生信息 E-R 圖 Fig. 4-4 Students information E-R diagram
課程實體 E-R 圖如圖 4-3 所示。
圖 4-5 學生信息 E-R 圖
Fig. 4-5 Students information E-R diagram
圖 4-6 E-R 圖
Fig. 4-7 Entity-Relationship Approach
系統的全局 E-R 圖如圖4-2 所示。
關系模型 E-R 圖向關系模型的轉換結果如下所示:
•管理員(編號、管理員名、密碼、類別)
•學生(學號、密碼、姓名、性別、民族、政治面貌、身份證號、班級、專業、 學制、院系、籍貫、家庭情況、聯系方式,備注)
•班級(班級號,班級名稱,備注)
•課程(課程號,課程名,課時,學分,教師號)
•教師(教師號,姓名,聯系方式,院系,課程名,課程號)
•獎懲(獎懲編號,獎懲名稱,學號,獎懲等級,獎懲日期,獎懲類型)
•成績(學號,課程號,分數)
•院系(編號,名稱,備注)
•綜合測評(編號,學生號,學年,德育成績,體育成績,綜合素質)
4.2.2數據庫結構設計表
圖 4-7 數據庫表關系圖
Fig. 4-7 Database table diagram
對于信息管理系統,數據基本都存儲在數據庫中。數據庫設計是對數據庫中表 結構進行設計,數據庫表對整個系統的數據存儲具有十分重要的作用。HBase是面 向列的分布式存儲。
1.學生基本信息表
學生基本信息表,用于保存學生基本信息表,數據表名為“student”。結構如表
4-2。
表 4-1 學生信息表
Tab.4-1 Student information table
行關鍵字
Row Key 列族 Column family:
Student
列標簽 說明
pwd 密碼
name 姓名
Gender 性別
Nation 民族
Political landscape 政治面貌
identity number 身份證號
class 班級
Student_ID major 專業
edu system 學制
college 院系
Hometown 籍貫
Family situation 家庭情況
Contact 聯系方式
QQ qq
E-mail 郵箱
beizhu 備注
2.管理員數據表
管理員數據表,用于保存系統的管理員信息,數據表名為“Admin”。如表4-2。
表 4-2 管理員信息表
Tab.4-2 Administrator information table
行關鍵字
Row Key 列族Column family:
Admin
列標簽 說明
username 管理員名
Admin_ID pwd 密碼
category 管理員類別
beizhu 備注
addtime 登錄時間
3.院系信息表
用于保存院系信息,數據表名為“college”。結構如表4-3。
表 4-3 院系信息表
Tab.4-3 Department information table
行關鍵字 列族Column family:
Row Key College
列標簽 說明
College_ID yxname 名稱
biezhu 備注
4.課程信息表
用于保存學生課程信息數據,數據表名為“curriculum”。結構如表4-4。
表 4-4 課程信息表
Tab.4-4 Course information table
行關鍵字 列族Column family:
Row Key Curriculum
列標簽 說明
Curriculum_ID semester 學期
Course 課程名
續表 4-4
Continued 4-4
行關鍵字
Row Key 列族Column family:
Curriculum
kctype 課程類別
score 成績
credit 學分
student_ID 學號關聯學生基本信息表,外鍵
teacher_ID 教師號關聯教師基本信息表,外鍵
beizhu 備注
5.教師信息表
教師信息表用于保存教師數據,數據表名為“teacher”。列有教師ID、密碼、姓 名、課程號、課程名。結構如表4-5。
表 4-5 教師信息表
Tab.4-5 Teacher information table
行關鍵字
Row Key 列族Column family: Teacher
列標簽 說明
pwd 密碼
name 姓名
Teacher_ID Curriculum_ID 課程號
Course 課程名
Telephone 電話
beizhu
addtime 備注
6.獎懲信息表
用于保存獎懲信息信息的數據,數據表名為“bonus-penalty”。結構如表4-6。
表 4-6 學生獎懲信息表
Tab.4-6 Student rewards and punishment information table
行關鍵字
Row Key 列族 Column family: Bonus-penalty
列標簽 說明
BName 獎勵或者懲處
Type 獎勵或者懲處類別
Rank 獎勵或者懲處等級
Bonus-penalty_ID
Date 獎勵或者懲處時間
Cause 獎勵或者懲處因由
biezhu 懲處類別
student ID 學號關聯學生基本信息表
7.班級信息表
用于保存班級信息,數據表名為“class”。結構如表4-7。
表 4-7 院系信息表
Tab.4-7 Department information table
行關鍵字 列族Column family:
Row Key Class
列標簽 說明
Class_ID
Class name 名稱
表 4-8 通知信息發布表
Tab.4-8 Notification information release table
行關鍵字
Row Key 列族Column family:
News
列標簽 說明
type 通知、公告、下載、鏈接等信息類型
News_ID title 標題
contents 內容
addtime 添加時間
8.通知信息發布信息表
用于發布通知、公告等信息發布,數據表名為“News”。結構如表4-8。
9.綜合測評功能表
用于保存綜合測信息,數據表名為“Assessment”。結構如表4-9。
表 4-9 綜合測評功能表
Tab.4-9 Comprehensive evaluation function table
行關鍵字 列族Column family:
Row Key Assessment
列標簽 說明
School year 學年度
Moral 德育成績
Sports 體育成績
Assessment_ID
Comprehensive 綜合素質
Internship 實習情況
beizhu 備注
student ID 學號關聯學生基本信息表
第 5 章 系統主要功能模塊設計
通過系統總體設計,對系統有了初步認識,在選擇必要的開發環境,搭建云平 臺架構之后對系統的功能模塊詳細設計。
5.1用戶登錄模塊功能實現
在學生信息管理系統中為了方便管理,本系統的用戶分為普通學生登錄和管理 員身份登錄。這樣不僅有利于保證平臺數據的安全性,還對用戶有權限設置,確定 不同用戶的登陸范圍,對不同權限的人員提供相應的功能,比如管理員可以進入后 臺管理相關界面,而學生則只能登錄系統主頁學生界面。
5.1.1學生登錄
學生登錄時首先要輸入學號和秘鑰,初次登錄使用原始密碼,如果輸入密碼錯 誤則返回并要求重新輸入,如果3 次都密碼錯誤將退出系統。學生登錄流程圖如圖 5-1 所示:
圖 5-1 學生登錄流程圖 Fig. 5-1 User login flow chart
5.1.2管理員登錄 管理員登錄流程圖如圖5-1 所示
5.2學生管理模塊
學生管理是學生信息管理系統的重要內容之一,是系統管理員的基本功能。管 理員對學生的信息進行管理和維護,例如,查找信息,更新學生信息,并且能夠添 加、修改和刪除等操作。學生管理又分為:添加新學生、查詢學生信息、更新學生
信息、刪除學生。添加新學生時,點擊“添加”的按鈕,進入相應界面,填寫好信息 保存就可以將學生記錄到數據庫中。修改學生時,點擊“修改”按鈕進入相應欄目, 修改信息后保存即可。刪除用戶時,選中用戶再選擇“刪除”選項,確認刪除后數據 庫中的學生數據就被刪除。
5.2.1添加新學生
添加用戶先要檢測用戶名是不是存在,如果用戶存在,則該用戶的添加工作結
束,如果用戶不存在,則添加該學生信息。添加用戶流程圖如圖 5-3所示:
5.2.2學生信息管理
圖 5-4 學生信息管理流程圖
Fig. 5-4 Student information management flow chart
學生登錄后,可以對學生信息進行相應修改。先在指定位置輸入學生學號,判 斷學號是否存在,如果存在,可以繼續完善新增學生的信息;若不存在,則不能對 該學生信息進行修改。學生信息管理流程圖如圖5-4 所示。
5.3課程管理模塊
本系統中對于課程的管理是由管理員來進行的。管理員登錄后,在課程管理模 塊中對課程信息如課程名、類別、成績、學分及任課老師進行添加和修改。添加課 程是,先判斷課程號是否被占用,如果已被占用,重新錄入新的課程號。課程號不 被占用,則可以繼續添加課程信息。課程管理流程圖如圖 5-5 所示:
圖 5-5 課程管理流程圖 Fig. 5-5 Curriculum management flow chart
5.4后臺管理模塊
后臺管理模塊是整個學生管理系統的重要組成部分。管理員可以通過管理員賬 戶驗證后登錄后臺。后臺管理的主要功能有學生個人信息管理、課程信息、綜合測 評成績和獎懲管理、資助和勤工助學管理、就業信息管理和網站信息管理。管理員 可以對其進行各種操作。
人員管理:主要是對管理員的增加、刪除和信息的修改如:密碼。
院系管理:主要是對學校院系進行更新操作。
學生信息管理:新學生的錄入,學生信息更新,如:學生號、姓名、考試成績 等。
課程信息管理:學生課程信息的添加、修改和刪除,如:課程號、課程名稱、 授課教師等。
綜合測評和獎懲管理:綜合測評與獎懲信息的管理操作。 資助和勤工助學管理:貧困學生的檔案管理,資助獎學金、勤工助學。 就業信息管理:畢業生的就業信息、用人單位以及招聘信息的管理。 網站信息管理:校園信息的發布和公告的管理,如學校的通知、公告等。
5.5本章小結
本章是系統主要模塊的功能流程設計。在文中描述了學生信息管理系統中的各 個功能模塊詳細設計和實現。主要對用戶登錄模塊的流程與功能、學生管理模塊、 課程管理模塊的流程與主要功能進行了分析設計。最后對后臺信息管理模塊進行了 分析和說明。
第 6 章 系統實現與測試
根據項目的總體設計與更加具體而詳細的主要模塊設計內容。在之前的章節, 通過系統的總體設計對整個云平臺學生管理系統提供框架,為平臺的實現提供了系 統業務流程圖,數據流圖和主要功能模快的設計。本章將搭建在選擇必要的開發環 境之后對系統的功能模塊進行實現。
6.1基于 SaaS 模式的應用服務
SaaS 是軟件即服務模式,用戶通過網絡從服務提供商得到服務。用戶只要接入 互聯網,實現一點部署,多點服務的模式。SaaS可在表現層、應用層和接口層提供 服務。在表現層通過租用服務從網絡使用軟件,得到軟硬件的維護辦法。在接口層, SaaS 可使用戶從提供的接口在網絡遠程調用軟件模塊,使用服務。在應用層實現一 套軟件服務于多個軟件。
圖 6-1 SaaS 應用服務
Fig. 6-1 SaaS Application Services
圖 6-1 表示了 SaaS 的服務模式,用戶通過客戶端發送請求到服務器,通過安全 認證和授權后,得到相應的服務。用戶可以通過調用 Web Service 等方式調用服務器 端接口,得到所需的數據。在 Hadoop 云平臺中,我們可以將學生信息管理系統部 45
署在虛擬機中,通過配置反向代理后,所有校園網用戶通過 Web 瀏覽器訪問學生 信息管理系統,這樣就可以使用 SaaS 服務。
6.2搭建 Hadoop 環境
本文基于Hadoop平臺開發的學生信息管理系統平臺,是由于Hadoop平臺是開 源的,同時是免費的。在所搭建平臺的過程中,為了使服務器能夠穩定、高的效運 行。系統使用Hadoop 1.0穩定版作為平臺,主服務器上的Web服務器使用 Tomcat6.0 ,平臺使用的數據庫Mysql的版本是5.6 ;編程框架SSH使用Java的JDK 版本為1.7.0。集群主要4臺虛擬的系統組成,每臺內存設置為2G。
集群角色及任務分配表如表 6-1 所示:
表 6-1 任務分配表
Tab. 6-1 Task allocation table
主機名 角色 任務 分配 IP
Master NameNode JobTracker 192.168.1.125
Slave1 DataNode TaskTracker 192.168.1.101
Slave2 DataNode TaskTracker 192.168.1.102
Slave3 DataNode TaskTracker 192.168.1.103
6.2.1SSH 無密碼驗證配置
SSH是Secure Shell的縮寫,是應用在網絡應用層和傳輸層基礎上的驗證協議。 Hadoop操作腳本Secure Shell來對云平臺進行控制[51]。在Hadoop云平臺中, NameNode 和數據節點之間需要不停的進行數據通訊,以保證系統用戶數據的同步 和集群節點備份存儲的正常工作,所以 NameNode 在與數據節點進行業務交換的過 程中需要登陸到服務器節點,為了實現這一步驟就需要配置SSH無密碼驗證登陸。 配置的過程如下:
1.配置SSH協議。在云平臺上使用SSH安全協議,并按要求進行設置,然后 啟動服務:
2.配置名字節點進行登錄時的DataNode。在Hadoop云平臺上名字節點是作為 客戶端進行開發的,因此在開發過程中需要實現無密碼驗證[52]。
6.2.2Hadoop 的文件配置
可從 ApacheHadoop 的發布頁面(http : //hadoop.apache.org/core/releases.html) 下載Hadoop,并在主機目錄解壓縮壓縮包。為了保證Hadoop云平臺能夠正常運行, 需要配置 hadoop.env.sh、mapred.site.xml、core.site.xml 和 hdfs.site.xml 四個 XML 配 置文件。
1.配置 Hadoop.env.sh 文件
首先在~/hadoop/conf目錄下找到hadoop-env.sh文件,搭建Hadoop云平臺首 先需要配置Java安裝路徑環境變量。在.sh文件中找到JAVA HOME參數,將環境 變量參數設置為:
exportJAVA_HOME=/home/local/app/jdkl.7
在本課題云平臺學生信息管理系統集群中使用的是IPV4地址,在上的IPV6地 址需要HadooE OPTS修改為:
export Hadoop _ OPTS =Djava.net.preferlPv4Stack=true[53]
2.配置 mapred.site. xml 文件
該文件用于配置Hadoop云平臺學生信息管理系統的MapReduce分布式計算框 架的機算參數,如一個作業用幾個TaskTracter進行調度等設置。在MapReduce中 有一個JobTracker和多個TaskTracter。 JobTracker是負責業務的調度工作, TaskTracter 是用于執行具體工作的。
3.配置 core-site. xml 文件
core-site. xml文件用于配置Hadoop云平臺的根目錄位置、日志文件以及輸入輸 出等全局性的參數。主要用于設置Hadoop云平臺運行時數據交互方式以及數據處 理端口,設置備份目錄,備份時間間隔、登錄驗證方式和腳本位置。正確配置文件 有利于云平臺的管理。配置代碼如下所示。
<configuration>
<property>
<name>fs.default.name </name>
<value>hdfs.// hadoop1.bjtu.com : 9000 </value>
</ property >
</configuration>
4.配置 hdfs.site. xml 文件
在目錄7hadoop / conf里面可以找到hdfs.site. xml文件并配置,這個xml文件用 于配置HDFS。該文件中需要配置的參數有dfs.replication,配置數據文件在HDFS中 所需保存的副本個數,其默認值3; dfs.webhdfs.enable,配置是否需要開啟HDFS中 的網頁服務參數,設置為true ; dfs.data.dir,配置分布式文件系統的文件存儲目錄 設置為home/local/data ;還需要設置名字節點的IP是文件系統訪問地址,網絡端 口一般默認為 9000[53]。本課題在云平臺學生信息管理中只需指定查看的端口即可。
6.3用戶登錄模塊
用戶登錄界面設計為簡單、方便,可以簡化操作過程。
在學生信息管理操作前首先進入的登錄界面,如圖6-2所示。
圖 6-2 用戶登錄界面
Fig. 6-2 User login interface
登錄者進入系統界面后,首先需要輸入用戶名和登錄秘鑰,并且選擇權限,當 密碼驗證正確并正確選擇自己所擁有的權限,系統后會根據不同的權限選擇進入相 應的登陸頁面。
管理員登錄后系統主界面如圖 6-3所示。
爭生信息管理
加入收蔽設為首頁
首頁 管理信息 獎懲信息 就業指導 就業公告 資源下載 癸于我們
歡迎您:admin
您的身份為;超級管理員
>>進入管理后白 >> 退出
登錄時間:2014-07-08 14:03:13
圖 6-3 系統主界面
Fig. 6-3 System main interface
當學生登陸時,用戶名、密碼正確輸入權限為學生用戶,就會進入學生界面。 在頁面上方的是學生可用的功能,包括信息管理、就業指導、就業公告、資源下 載等。如圖 6-4 所示。
加入收藏設為首頁
首頁 管理信息 獎懲信息 就業指導 就業公告 資源下栽 關于我們
責廩下義列轟
文件下載
555
2014-05-01 14:01:45
2014-06-03 19:43:17
2014-07-08 13:55:37
百度網易
圖 6-4 學生用戶主界面
Fig. 6-4 Student user interface
當進入學生界面后,可以在管理信息界面查看自己的個人信息。在學生獎懲信 息界面還可以查看自己獲得的獎勵。可以查看學校的就業指導、公告信息。
6.4后臺管理
后臺管理是整個系統的核心部分。在系統后臺可以進行人員管理、院系管理、 學生信息管理、課程管理、綜合測評和獎懲管理以及就業信息管理和網站通知管理。
管理員后臺管理如圖 6-5 所示。
圖 6-5 后臺管理
Fig. 6-5 Back-stage management
院系管理設置模塊如圖6-6 所示。
在院系管理界面,當有新學院建立,原有學院的拆分、重組時需要更新院系可 點擊修改按鈕,可以添加院系編號和院系名稱來添加所需院系。點擊刪除按鈕可以 刪除對應的學院。
教師設置模塊主要用于當有新教師來到學院,可以對相應的的教師資料的操作。
如圖6-7 所示。管理員可以將新來的教師信息錄入系統,還能按照工號或者姓名查
找教師,查看該教師的信息,根據需要進行修改或刪除等操作。
教師基本信息列表
新增豹I帀基本信息
教師工號: 姓名: W
序號 工號 姓名 性別 敎授課程號 敎授課程害 電話 埶師情況簡介 修改 刪除
1 aiOl 張主任 e 1000002 高數 12345678999 11111 ill
2 alOOl 劉主任 習 1000001 英語 123456788S88 2222222
3 bl2l3 王主任 否 1000006 政治 1111111111111 123123
以上數據申共3條打印本頁
圖 6-7 教師設置信息界面
Fig. 6-7 Teachers setup information interface
圖 6-8 課程設置信息界面
Fig. 6-8 Course setting information interface
課程管理模塊主要用于學院課程資料的添加、修改和刪除等。如圖 6-8 所示。
管理員可以添加、修改課程信息。學生可以查看自己的選課信息及課程的成績、學
分等信息。
6.5網站信息管理模塊的設計
網站信息由管理員進行編輯和發布。管理員在網站信息管理頁面選擇所要發布 信息的類別如:通知、公告、就業信息等。在信息發布編輯器上輸入標題及內容, 排版后發布。信息發布編輯器,如圖6-9所示。
剛站內容信息
疊粥谿/下載閩接等信息管理信息B 標題:
*i L 丄LLL. _
段落格式▼特硃字體格式▼ 辜尋尋.二三壟壟亠-• F苑吐]宦]& 弦擇字體 ▼字號▼ B Z U 一曰已型直A迺越□國羅&
|新揩]
圖 6-9 信息發布界面
Fig. 6-9 Information release interface
管理員在后臺可以查看已經發布的信息類型、標題、發布時間。管理員點擊修 改按鈕可以修改發布的信息。若信息以過期或有誤可以進行修改或刪除。公告信息 管理列表,如圖 6-10 所示。
圖 6-10 信息管理
Fig. 6-10 Information management
6.6數據安全模塊的設計
對于整個學生信息管理系統來說數據信息的安全是至關重要的。在本系統這里 主要是日常的數據備份。需要重點備份的數據有學生基本信息、教師信息、成績 信息、綜合測評信息等。管理員應該定期檢查并進行備份數據庫數據的操做。只有 這樣在遇到突發狀況時可以對數據庫數據進行還原,以保證信息系統的正常運行。 數據備份界面如圖 6-11所示。
圖 6-11 數據安全界面
Fig. 6-11 Data security interface
6.7系統測試與性能分析
測試工作是管理系統系統開發的最后階段,是保證系統質量的一個重要步驟。 通過對系統的測試步驟來發現系統中可能存在的問題。完整的測試步驟應該在一 定的條件下進行,理論上包含所有正確的和不正確的步驟,這有這樣才能盡可能 的發現錯誤,糾正錯誤。甚至在測試中運行一些非常規的條件以測試系統在極端 條件下的運行情況。系統經過測試后方可上線運行。
6.7.1系統功能測試
在實現各個功能模塊后,將各個模塊整合并完整搭建服務器,至此基于 Hadoop 平臺開發的學生信息管理系統開發完畢,開始系統進行總體測試。
對于本學生管理系統的測試工作,應當指定方案,設計測試案例后進行。本 系統的測試分為兩個部分:界面、功能測試。
首先是對界面進行測試,系統首頁應該簡單,大方,界面不應有錯誤亂碼等 明顯缺陷。再有,由于不同用戶的操作環境不同,所使用的操作系統,瀏覽器也 不一定相同,所以要在不同的操作系統狀態下進行測試,保證界面的統一,布局 完整,頁面上的字體按鈕等均能正常顯示。
在打開系統后,在系統首頁顯示用戶登錄界面,用戶需要按要求輸入用戶名和 密碼并選擇相應的權限,如果用戶名密碼正確則進入相應界面。若密碼錯誤或匹配
不正確,則不能進入系統。
在學生用戶成功登陸后,系統彈出學生界面,界面上方導航欄有首頁、管理信 息、就業信息、獎懲管理和系統公告選項。選擇管理信息按鈕可以查看學生的個人 信息,學生的選課信息,課程的信息。通過成績查詢可以在相應界面查看學生的考 試成績和綜合測評成績。
如果是管理員登錄,點擊后臺管理,云平臺將進入后臺管理。在后臺管理界面 左側是一列導航欄,上面有人員管理、院系管理、學生信息管理、課程信息、綜合 測評、獎懲管理和網站通知管理。
這里對云平臺的各個主要頁面功能作了測試操作,整個基于 Hadoop 平臺開發 的學生信息管理系統的功能測試就完成了。在實際云平臺開發中應該對每一項功能 進行高負荷的壓力測試。
通過上述對界面和功能兩方面的測試,系統已經達到設計時的要求,各項功 能能夠在測試環境中平穩運行。通過測試中發現的問題也已經得到解決。這樣關 于系統的功能測試全部完成,在測試中沒有發現較大問題。
6.7.2系統性能測試
本可以云平臺測試使用的機器是4 臺臺式電腦在實驗室搭建的小型局域網。 其中一臺作為主節點服務器,運行Namenode與HMaster進程,另外三臺電腦作為 客戶端節點,運行Datanode與HRegionServer進程,當做實際的數據存儲節點。 將服務器與節點終端通過交換機連接起來。
實驗室機器的配置如表6-2 所示。
表 6-2 實驗平臺硬件環境
Tab. 6-2 Experimental platform hardware environment
主機名(IP) 角色 CPU 內存 磁盤空間
192.168.1.125 Master 2.6HZ/4 核 4G 500G
192.168.1.101 slave 2.6HZ/4 核 4G 500G
192.168.1.102 slave 2.6HZ/4 核 4G 500G
192.168.1.103 slave 1.8HZ/2 核 2G 100G
在本課題的文件存儲系統中,云平臺采取了 HDFS與HBase結合的數據庫, HBase用來存儲文件的元信息數據,也可以用來存儲一些學生數據零碎的的信息文 件內容,在學生信息管理云平臺HDFS則用來存儲那些數據大的塊文件,這樣可 以大程度上有效解決了 HDFS 存儲小文件效率低的問題,提高了云平臺文件存儲 系統的性能。
具體測試結果如表6-3所示。
表 6-3 學生管理系統性能模塊測試
Tab. 6-3 The student management system of performance test module
輸入/動作 期望的輸出/相應 實際情況
模擬 100 個用戶并發進行登錄操作 平均響應速度<1秒 平均響應速度為 0.5 秒
模擬 300 個用戶并發進行登錄操作 平均響應速度<2秒 平均響應速度為1秒
模擬 600 個用戶并發進行登錄操作申請 平均響應速度<2秒 平均響應速度為 1.5 秒
采用另外一組測試系統的讀寫速度,結果如表6-4 所示。
表 6-4 系統性能模塊測試
Tab. 6-4 The performance of the system test module
輸入/動作 期望的輸出/相應 實際情況
模擬 100 個文件并發進行讀寫操作 平均響應速度<2秒 平均響應速度為1秒
模擬 300 個文件并發進行讀寫操作 平均響應速度<2秒 平均響應速度為 1.5 秒
模擬 600 個文件并發進行讀寫操作申請 平均響應速度<2秒 平均響應速度為 1.5 秒
6.8本章小結
本章對云平臺系統進行了平臺搭建,實現和界面功能測試。首先介紹了測試 的目的,測試的流程,并對系統的各項基本功能使用情況、界面顯示情況和提示 信息通知信息進行了測試使用。經測試,該云平臺符合漯河食品職業學院的實際 情況和管理要求,可以正常使用。
第7 章 總結與展望
7.1總結
本文針對目前還使用著落后的管理方式對高校學生信息進行管理的現狀,存 在的效率低、共享性差等問題,設計并實現了基于Hadoop云平臺框架的學生信 息管理系統。
通過深入調查和多年的工作實踐,作者提出云平臺管理系統。在開發的過程 中需要了解需求、分析系統流程、建立模型。以用戶為中心,根據用戶需求開發 相應功能的系統。充分切合院校的實際情況,使用最新的技術功能,對將要開發 的系統所涉及到的技術需求和功能需求,建立起系統的模型。
本文主要完成了以下幾個工作:
1.基于 Hadoop 云平臺存儲體系架構,設計出高校學生管理系統云架構。
2.詳細介紹云平臺管理系統的結構,和模塊功能的設計和實現。
3.搭建Hadoop平臺,完成數據的上傳和下載,分析了 Hbase存儲系統在 學生管理系統方面的應用。
7.2展望
在本系統研究設計過程中發現還存在一些地方不夠完善之處,功能需求設計 不充分,有些業務流程不規范。因此,接下來的工作重點有:
1.進一步完善系統,由于第一次開發大型云平臺系統,功能需求設計過于簡 單,有些功能設計不充分,雖然基本功能實現,但業務流程的一些細節,特別是 后臺管理的一些流程是不夠規范的,操作比較繁瑣,接下來要進一步完善功能的 優化,使系統操作更加方便。
2.增強系統的功能,由于學校的學生管理工作,在之前長時間都是依靠人工 積累了大量的學生信息數據的紙質的文件,這些數據保存在各個管理單位,要想 將這些數據導入系統,各單位之間不統一,如何導入系統是下一步工作的重點, 另一方面,需要進一步加強系統的查詢功能。
3.進一步加強系統的數據挖掘功能,學生信息系統中有著大量的數據,研究 數據信息化挖掘技術在信息管理系統中的應用,將這些信息進過分析后,給學院 進行政策制定時提供準確的信息,有著重要的意義。
參考文獻
[1]楊宗凱,楊浩,吳砥.論信息技術與當代教育的深度融合[J].教育研究,2014,03:88-95.
[2]徐東.基于Hadoop的云教學資源平臺設計與實現[D].北京:北京交通大學,2014:3-8.
[3]宋健.基于云計算的信息管理系統研究與設計[D].南京:南京郵電大學,2013:2-6.
[4]邵換崢.基于云計算的高職院校學生信息管理系統設計與實現[D].洛陽:河南科技大學, 2014:2-9.
[5]張娟.基于云計算的教學實驗平臺的構建[J].計算機光盤軟件與應用,2012,12:213-214.
[6]耿昌興.基于Hadoop的新校區云計算存儲服務平臺設計與研究[D].天津:天津大學, 2012:3-10.
[7]劉倩倩.基于云平臺的教育資源在線測評系統的研究[D].成都:電子科技大學,2015:3-8.
[8]張建勛,古志民,鄭超.云計算研究進展綜述[J].計算機應用研究,2010,02:429-433.
[9]陳吉榮,樂嘉錦.基于Hadoop生態系統的大數據解決方案綜述J].計算機工程與科學, 2013,10:25-35.
[10]劉智慧,張泉靈.大數據技術研究綜述[J].浙江大學學報(工學版),2014,06:957-972.
[11]鄭小龍.高校信息管理系統的設計與實現[D].濟南:山東大學,2014:5-8.
[12]劉鐳,楊國興.網絡培訓系統在企業中的應用[J]. 一重技術.2010,137(5).267-269.
[13]季久峰,宋修舵等.asp.net辦公自動化系統開發實例導航[M].北京:人民郵電出版社, 2005: 5-8.
[14]王田甜.高校信息管理系統設計與實現[D].成都:電子科技大學,2014:6-12.
[15]劉正偉,文中領,張海濤.云計算和云數據管理技術[J].計算機研究與發展,2012,S1:26-31.
[16]張良將.基于Hadoop云平臺的海量數字圖像數據挖掘的研究[D].上海:上海交通大學, 2013:.10-15
[17]司品超,董超群,吳利等.云計算:概念,現狀及關鍵技術[C]. 2008年全國高性能計算機 學術年會論文集. 2008:486.
[18]Nawsher Khan,Mustafa Mat Deris.Cloud Computing:Analysis of Various Platforms[J] International Journal ofE-Entrepreneurship and Innovation.2012(3) :51-59.
[19]鄒復民,蔣新華,胡惠淳等.云計算研究與應用現狀綜述[J].福建工程學院學報.2013, 11(3):231-242.
[20]P. Sasikala. Architectural Strategies for Green Cloud Computing[J] . International Journal of CloudApplications and Computing. 2011(1) . 1-24
[21]Shyshkina Mariya. Cloud computing an advanced e-learning platform of school education [C].14th International Conference on Interactive Collaborative Learning. 2011:569-570
[22]牟 磊. 一種 面向 電子 健康檔 案的 Hadoop 云 計 算 平 臺 實 現 [D]. 成都 : 電 子 科 技大 學, 2014:10-18.
[23]孔蘭菊,李慶忠,史玉良,王學.面向SaaS應用基于鍵值對模式的多租戶索引研究[J].計 算機學報, 2010, 12:2239-2247.
[24]Xu Z, Yan B, Zou Y. Beyond Hadoop: Recent Directions in Data Computing for Internet Services[J]. International Journal of Cloud Applications & Computing, 2011, 1(1):45-61.
[25]Kousiouris G, Vafiadis G, Varvarigou T. A Front-end, Hadoop-based Data Management Service for Efficient Federated Clouds[C] IEEE Third International Conference on Cloud Computing Technology and Science. IEEE, 2011:511-516.
[26]S.Ghemawat, H.Gobioff, S. Leung.The Google File System[C]. In Proc.of ACM Symposium onOperating Systems Principles, Lake George, NY, Oct. 2003.
[27]J.Dean, S.Ghemawat.MapReduce: Simplified Data Processing on Large Clusters[C]. In Proc. of the 6th Symposium on Operating Systems Design and Implementation, San Francisco CA, Dec. 2004.
[28]Lu P, Lee Y C, Wang C, et al. Workload Characteristic Oriented Scheduler for MapReduce[C] IEEE, International Conference on Parallel and Distributed Systems. IEEE, 2012:156-163.
[29]唐京偉.基于云計算的分布式存儲技術J].中國傳媒科技,2013,15:106-110.
[30]李響.基于Hadoop的云計算基礎架構分析[J].計算機時代,2011,11:4-6.
[31]Lee C W, Hsieh K Y, Hsieh S Y, et al. A Dynamic Data Placement Strategy for Hadoop in Heterogeneous Environments[J]. Big Data Research, 2014, 1:14-22.
[32]張毅,崔曉燕.基于云計算平臺的物聯網數據挖掘研究[J].軟件,2014,01:108-111.
[33]孫建偉,付雷,于波.基于Hadoop云計算平臺的分布式轉碼方案[J].計算機系統應用, 2016,25(8):54-60.
[34]Hua X, Wu H, Li Z, et al. Enhancing throughput of the Hadoop Distributed File System for interaction-intensive tasks[J]. Journal of Parallel & Distributed Computing, 2014, 74(8):2770-2779.
[35]Cohen J C, Acharya S. Towards a trusted HDFS storage platform: Mitigating threats to Hadoop infrastructures using hardware-accelerated encryption with TPM-rooted key protection[J]. Journal of Information Security &Applications, 2014, 19(3):224-244.
[36]韋偉,李冰利,張偉東.云存儲系統中網絡塊設備的研究與應用[J].計算機與數字工程, 2015, 12:2243-2246+2270.
[37]王詔遠,李天瑞,易修文.基于MapReduce的蟻群優化算法實現方法[J].計算機科學, 2014,07:261-265.
[38]Fadika, Z, Govindaraju, M. DELMA: Dynamically ELastic MapReduce Framework for CPU-Intensive Applications[C] Ieee/acm International Symposium on Cluster, Cloud and Grid Computing. IEEE, 2011:454-463.
[39]Dean V J, Sanjay G. An Optimal Task Selection Scheme for Hadoop Scheduling[J]. Ieri Procedia,2014,10:70-75.
[40]王源.面向數據密集型計算的概率圖模型構建方法及實現[D].昆明:云南大學, 2013:12-16.
[41]Wei L Y, Hsu Y T, Peng W C, et al. Indexing spatial data in cloud data managements[J]. Pervasive & Mobile Computing, 2014, 15(1):48-61.
[42]陳浩.基于Hadoop的微博用戶影響力排名算法研究[D].上海:華東理工大學, 2014:15-18.
[43]Polato I, Re R, Goldman A, et al. A comprehensive view of Hadoop research—A systematic literaturereview[J].JournalofNetwork&ComputerApplications,2014,46:1-25.
[44]王小鵬.大數據技術在精準營銷中的應用[J].信息通信技術,2014,06:21-26+32.
[45]常海防.基于Hadoop的運營商流量經營分析系統建設方案[J].電信工程技術與標準化,
2014,(07):37-40.
[46]曾嘉.基于Hadoop云計算模式網絡輿情監控的探索[J].商,2015,37:218-219.
[47]Wang D, Xiao L. Storage and Query of Condition Monitoring Data in Smart Grid Based on Hadoop[C] International Conference on Computational & Information Sciences. 2012:377-380.
[48]張帆,毋濤.基于云計算的服裝物料管理系統[J].西安工程大學學報,2015,(06):740-745.
[49]翟梅,陳健,張鴻洋.基于MOOCs的個性化學習評價系統的設計[J].計算機技術與發展,
2015,(12):165-168.
[50]馬志程,楊鵬,王寶會.面向大數據的數據管理平臺架構研究與應用[J].網絡新媒體技術, 2015, (04):22-27.
[51]劉金鑫,趙建民.Hadoop下混合加密算法的研究[J].數字技術與應用,2015,02:131.
[52]王瑊.基于Hadoop的云計算教育資源共享平臺的設計與實現[D].呼和浩特:內蒙古大學, 2015:20-28.
[53]KoundinyaA K, Srinath N K, Sharma KA K, et al. Map /Reduce Design and Implementation of Apriori Algorithm for Handling Voluminous Data - Sets[J]. Advanced Computing An International Journal, 2012, 3(6).