徐巖,萬曙靜,喬麗娟
(曲阜師范大學網絡信息中心,山東濟寧,273100)
基于Hadoop的數字迎新系統的設計與實現
徐巖,萬曙靜,喬麗娟
(曲阜師范大學網絡信息中心,山東濟寧,273100)
針對高校在迎新工作中存在的問題,提出基于開源云計算Hadoop的數字迎新系統。本文通過分析系統建設目標與業務流程,并運用Web系統分層技術、MVC設計思想以及Hadoop數據云存儲技術進行研發。該系統既可以提高迎新工作效率和迎新服務質量,縮短系統的響應時間,又可以保證數據的安全性和一致性,更好地方便用戶的使用。
云計算;Hadoop;數字迎新系統;云存儲技術
學校各個部門擁有的新生數據是相對獨立的,有些部門有自成體系的系統、有些部門仍然使用手工操作。即使有系統,這些自成體系的系統之間信息是獨立的,這樣就會形成信息孤島,沒有專門圍繞“迎新”匯總的平臺,部門與部門之間無法協同,沒有共享。迎新工作不僅費時費力、容易出錯,而且難以在規定的時間內完成。因此,建設一個嶄新的迎新服務平臺,既解決了現有問題,又符合學校信息化建設的中長期發展目標,具有重大意義。
高校迎新模式從紙質迎新方式轉變為以訪問瀏覽器或移動APP為主的數字化模式。[1]然而,在迎新工作中仍有很多不足。學校各迎新部門擁有的新生信息都是相對獨立的,各部門工作和各個系統沒有協同、共享,迎新工作不僅費時費力、容易出錯,而且難以在規定的時間內完成。隨著信息時代的發展,結合Hadoop[2]云計算技術設計開發數字迎新系統可以有效解決以上問題,更好的方便用戶的使用。
數字迎新系統具備多種權限模型,并能為其他管理平臺開發提供標準化接口,實現數字迎新的全過程化管理功能。[3][4]建設目標如下。
(1)建設一個數字迎新網站,全方位的介紹學校的迎新工作,并提供給學生一個登錄的入口,其登錄系統后可查詢或修改個人信息,上傳照片,貧困生申請、查詢到專業、班級情況等。
(2)在數字迎新管理系統中實現學生基本信息的管理功能,包括單個管理、批量管理功能,支持通過多種方式進行導入。
(3)在數字迎新管理系統中實現新生現場報到、繳費、一卡通發放、宿舍入住信息等報到流程的管理功能。
(4)在數字迎新管理系統中實現報到流程的全過程統計分析功能。
2.1 迎新系統基礎架構
數字迎新系統采用的是B/S結構。該結構的組成部分主要有:云端基礎架構、虛擬云端數據庫服務器、管理服務器、虛擬云端WEB服務器和客戶軟件(瀏覽器)。
傳統的Web應用系統通常采用數據訪問層、業務邏輯層和表示層這三層結構模式。該模式的優點是系統結構清晰、功能單一,同時方便系統的維護、擴展以及升級。[5]
通過比較可以發現傳統的三層結構模式和MVC模式并不沖突,而是相互關聯,兩者可以有機地結合。本平臺采用MVC[6]設計思想,將傳統的三層結構擴展為多層,如表示層、控制器層、業務訪問層、數據訪問層、數據載體層等。多層開發技術能夠將系統中某一功能的實現過程分解成幾個獨立的階段,每個階段單獨設計并實現,不僅有效地分解任務,減少了任務間的干擾,而且降低了設計難度,方便了功能的實現,提高了開發效率。
本文采用Hadoop分布式文件系統HDFS進行大數據資源的存儲。Hadoop作為Apache基金會的開源項目,模仿Google的核心技術,是一個分布式系統的基礎,是最典型和最常見的云計算平臺,目前在業界和應用行業尤其是互聯網行業得到了廣泛應用,是目前“云存儲”計算環境中的重要基礎軟件,完成系統中大數據資源的存儲。
2.2 迎新系統業務流程
數字迎新系統從業務處理流程的角度分為報到前流程、報到中流程和報到后流程三部分內容。[7]
(1)到前業務流程主要包括:新生信息錄入、新生二維碼信息生成、打印錄取通知書、錄取通知書查詢。
(2)報到中業務流程主要包括:新生遞交錄取通知書、準考證、身份證三證合一的復印件,留取二維碼;發放電子留轉單(帶二維碼);發放一卡通,掃描二維碼自動確認;學生繳費(包括正常繳費、貧困生助學金申請繳費),繳費完成掃描二維碼自動確認;并可與迎新系統進行數據互導;檔案收繳登記,登記完成掃描二維碼自動確認。
領取體檢表,掃描二維碼自動確認領取。體驗完成數據導入迎新系統;學生辦理入住登記,宿管提前分配各專業所需宿舍。新生報到實現宿舍自主分配;根據學生專業、學生宿舍號自動分配學生班級;根據專業、宿舍號、班級號系統自動給學生分配學號;繳納教材費,掃描二維碼并自動確認;教務管理系統登記,領取學習制度手冊,交回運轉單,掃描二維碼自動確認。
(3)報到后的業務流程主要涉及到一些數據管理和統計分析功能,主要包括:報到情況統計分析;收費情況統計分析;手續辦理情況一覽。
3.1 Hadoop大量小文件處理
Hadoop不適合小文件的存儲,小文件本省就占用了很多的metadata,就會造成namenode越來越大。Hadoop Archives的出現就是為了緩解大量小文件消耗namenode內存的問題。HAR文件是通過在HDFS上構建一個層次化的文件系統來工作。一個HAR文件是通過hadoop的archive命令來創建,而這個命令實際上也是運行了一個MapReduce任務來將小文件打包成HAR。對于client端來說,使用HAR文件沒有任何影響。所有的原始文件都visible && accessible。但在HDFS端它內部的文件數減少了。
3.2 Hadoop數據云存儲技術
平臺中大數據文件存儲采用Hadoop分布式文件系統(HDFS)。
系統在實現過程中,主要解決的問題包括數據上傳、數據下載、數據刪除、查看 HDFS 文件、數據等。本文通過調用 Hadoop的 API 接口來實現,核心代碼如下:
⑴獲取 HDFS 文件系統 FileSystem
這里采用了單例模式,Configuration 和 FileSystem 只new 一次。
private Configuration getConfiguration(){
if(conf == null){
conf = new Configuration();}
return conf;}
private FileSystem getFileSystem() throws IOException{
if(hdfs == null){
hdfs = FileSystem.get(getConfiguration());}
return hdfs;}
⑵ 數據上傳代碼
調 用“FileSystem.copyFromLocalFile(Path src, Path dst)” src是要被上傳的數據源,dst是上傳到
HDFS的路徑,其兩都為文件的完整路徑。
public void upload(String srcPath, String dstPath)throws HDFSException{
try {
Path src = new Path(srcPath);
Path dst = new Path(dstPath);
this.getFileSystem().copyFromLocalFile(src, dst);
} catch (Exception e) {
e.printStackTrace();
throw new HDFSException("文件上傳失敗!"); } }
⑶ 文件下載代碼
調用“FileSystem.copyToLocalFile(Path src,Path dst)”src 是要被下載的 HDFS 數據源,dst 是要
下載到本地的路徑,其兩都為文件的完整路徑。
public void download(String srcPath, String dstPath) throws HDFSException {
try {
Path src = new Path(srcPath);
Path dst = new Path(dstPath);
this.getFileSystem().copyToLocalFile(src, dst);
} catch (Exception e) {
e.printStackTrace();
throw new HDFSException("文件下載失敗!");} }
數字迎新系統是涉及新生入學各個環節,面向高校各部門和全體新生的綜合管理信息系統,結合高校的實際工作需要而研發。該系統既可以提高迎新工作效率和迎新服務質量,縮短系統的響應時間,又可以保證數據的安全性和一致性,更好地方便用戶的使用。
[1]朱浩.電子科技大學數字迎新系統的實踐與創新[J].實驗技術與管理,2013(5):91-98.
[2]趙偉.基于云計算的一種新的數據交換架構[J].計算機工程與科學.2013(8):15-19.
[3]盧宏才.高校數字迎新系統的設計與實現[J].重慶文理學院學報(自然科學版),2012,06:65-67.
[4]胡麗平,胡勝勇.數字迎新系統的設計與實現[J].電腦與電信,2016,10:70-72.
[5]楊磊蕾.基于Web的數字迎新系統的設計與實現[J].科技創新導報,2013,19:42-43.
[6]任全玉.基于MVC的企業資源管理系統構建研究[J].中國商貿.2012(21).
[7]關繼夫,馮天亮,王龍.基于流程可定制的數字迎新系統設計與應用[J].中國教育信息化.2011(07).
Design and implementation of digital greeting system based on Hadoop
Xu Yan,Wan Shujing,Qiao Lijuan
(Qufu Normal University Network Information Center,Jining Shandong,273100)
In this paper, through the analysis of system construction goals and business processes, and the use of Web system layering technology, MVC design ideas, and Hadoop data cloud storage technology research and development The system can not only improve the work efficiency and the service quality of new arrival, shorten the response time of the system, but also ensure the safety and consistency of data, and make it easier for users to use it
cloud computing; Hadoop; digital orientation system; cloud storage technology
徐巖(1991-)女,漢族,山東,碩士,助理實驗師,研究方向云計算應用。
萬曙靜(1989-)女,漢族,山東,碩士,助理實驗師,研究方向數字圖像處理。
喬麗娟(1988-)女,漢族,山東,碩士,助教,研究方向數據挖掘。