徐巖,萬曙靜,喬麗娟
(曲阜師范大學(xué)網(wǎng)絡(luò)信息中心,山東濟(jì)寧,273100)
基于Hadoop的數(shù)字迎新系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
徐巖,萬曙靜,喬麗娟
(曲阜師范大學(xué)網(wǎng)絡(luò)信息中心,山東濟(jì)寧,273100)
針對(duì)高校在迎新工作中存在的問題,提出基于開源云計(jì)算Hadoop的數(shù)字迎新系統(tǒng)。本文通過分析系統(tǒng)建設(shè)目標(biāo)與業(yè)務(wù)流程,并運(yùn)用Web系統(tǒng)分層技術(shù)、MVC設(shè)計(jì)思想以及Hadoop數(shù)據(jù)云存儲(chǔ)技術(shù)進(jìn)行研發(fā)。該系統(tǒng)既可以提高迎新工作效率和迎新服務(wù)質(zhì)量,縮短系統(tǒng)的響應(yīng)時(shí)間,又可以保證數(shù)據(jù)的安全性和一致性,更好地方便用戶的使用。
云計(jì)算;Hadoop;數(shù)字迎新系統(tǒng);云存儲(chǔ)技術(shù)
學(xué)校各個(gè)部門擁有的新生數(shù)據(jù)是相對(duì)獨(dú)立的,有些部門有自成體系的系統(tǒng)、有些部門仍然使用手工操作。即使有系統(tǒng),這些自成體系的系統(tǒng)之間信息是獨(dú)立的,這樣就會(huì)形成信息孤島,沒有專門圍繞“迎新”匯總的平臺(tái),部門與部門之間無法協(xié)同,沒有共享。迎新工作不僅費(fèi)時(shí)費(fèi)力、容易出錯(cuò),而且難以在規(guī)定的時(shí)間內(nèi)完成。因此,建設(shè)一個(gè)嶄新的迎新服務(wù)平臺(tái),既解決了現(xiàn)有問題,又符合學(xué)校信息化建設(shè)的中長(zhǎng)期發(fā)展目標(biāo),具有重大意義。
高校迎新模式從紙質(zhì)迎新方式轉(zhuǎn)變?yōu)橐栽L問瀏覽器或移動(dòng)APP為主的數(shù)字化模式。[1]然而,在迎新工作中仍有很多不足。學(xué)校各迎新部門擁有的新生信息都是相對(duì)獨(dú)立的,各部門工作和各個(gè)系統(tǒng)沒有協(xié)同、共享,迎新工作不僅費(fèi)時(shí)費(fèi)力、容易出錯(cuò),而且難以在規(guī)定的時(shí)間內(nèi)完成。隨著信息時(shí)代的發(fā)展,結(jié)合Hadoop[2]云計(jì)算技術(shù)設(shè)計(jì)開發(fā)數(shù)字迎新系統(tǒng)可以有效解決以上問題,更好的方便用戶的使用。
數(shù)字迎新系統(tǒng)具備多種權(quán)限模型,并能為其他管理平臺(tái)開發(fā)提供標(biāo)準(zhǔn)化接口,實(shí)現(xiàn)數(shù)字迎新的全過程化管理功能。[3][4]建設(shè)目標(biāo)如下。
(1)建設(shè)一個(gè)數(shù)字迎新網(wǎng)站,全方位的介紹學(xué)校的迎新工作,并提供給學(xué)生一個(gè)登錄的入口,其登錄系統(tǒng)后可查詢或修改個(gè)人信息,上傳照片,貧困生申請(qǐng)、查詢到專業(yè)、班級(jí)情況等。
(2)在數(shù)字迎新管理系統(tǒng)中實(shí)現(xiàn)學(xué)生基本信息的管理功能,包括單個(gè)管理、批量管理功能,支持通過多種方式進(jìn)行導(dǎo)入。
(3)在數(shù)字迎新管理系統(tǒng)中實(shí)現(xiàn)新生現(xiàn)場(chǎng)報(bào)到、繳費(fèi)、一卡通發(fā)放、宿舍入住信息等報(bào)到流程的管理功能。
(4)在數(shù)字迎新管理系統(tǒng)中實(shí)現(xiàn)報(bào)到流程的全過程統(tǒng)計(jì)分析功能。
2.1 迎新系統(tǒng)基礎(chǔ)架構(gòu)
數(shù)字迎新系統(tǒng)采用的是B/S結(jié)構(gòu)。該結(jié)構(gòu)的組成部分主要有:云端基礎(chǔ)架構(gòu)、虛擬云端數(shù)據(jù)庫(kù)服務(wù)器、管理服務(wù)器、虛擬云端WEB服務(wù)器和客戶軟件(瀏覽器)。
傳統(tǒng)的Web應(yīng)用系統(tǒng)通常采用數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層這三層結(jié)構(gòu)模式。該模式的優(yōu)點(diǎn)是系統(tǒng)結(jié)構(gòu)清晰、功能單一,同時(shí)方便系統(tǒng)的維護(hù)、擴(kuò)展以及升級(jí)。[5]
通過比較可以發(fā)現(xiàn)傳統(tǒng)的三層結(jié)構(gòu)模式和MVC模式并不沖突,而是相互關(guān)聯(lián),兩者可以有機(jī)地結(jié)合。本平臺(tái)采用MVC[6]設(shè)計(jì)思想,將傳統(tǒng)的三層結(jié)構(gòu)擴(kuò)展為多層,如表示層、控制器層、業(yè)務(wù)訪問層、數(shù)據(jù)訪問層、數(shù)據(jù)載體層等。多層開發(fā)技術(shù)能夠?qū)⑾到y(tǒng)中某一功能的實(shí)現(xiàn)過程分解成幾個(gè)獨(dú)立的階段,每個(gè)階段單獨(dú)設(shè)計(jì)并實(shí)現(xiàn),不僅有效地分解任務(wù),減少了任務(wù)間的干擾,而且降低了設(shè)計(jì)難度,方便了功能的實(shí)現(xiàn),提高了開發(fā)效率。
本文采用Hadoop分布式文件系統(tǒng)HDFS進(jìn)行大數(shù)據(jù)資源的存儲(chǔ)。Hadoop作為Apache基金會(huì)的開源項(xiàng)目,模仿Google的核心技術(shù),是一個(gè)分布式系統(tǒng)的基礎(chǔ),是最典型和最常見的云計(jì)算平臺(tái),目前在業(yè)界和應(yīng)用行業(yè)尤其是互聯(lián)網(wǎng)行業(yè)得到了廣泛應(yīng)用,是目前“云存儲(chǔ)”計(jì)算環(huán)境中的重要基礎(chǔ)軟件,完成系統(tǒng)中大數(shù)據(jù)資源的存儲(chǔ)。
2.2 迎新系統(tǒng)業(yè)務(wù)流程
數(shù)字迎新系統(tǒng)從業(yè)務(wù)處理流程的角度分為報(bào)到前流程、報(bào)到中流程和報(bào)到后流程三部分內(nèi)容。[7]
(1)到前業(yè)務(wù)流程主要包括:新生信息錄入、新生二維碼信息生成、打印錄取通知書、錄取通知書查詢。
(2)報(bào)到中業(yè)務(wù)流程主要包括:新生遞交錄取通知書、準(zhǔn)考證、身份證三證合一的復(fù)印件,留取二維碼;發(fā)放電子留轉(zhuǎn)單(帶二維碼);發(fā)放一卡通,掃描二維碼自動(dòng)確認(rèn);學(xué)生繳費(fèi)(包括正常繳費(fèi)、貧困生助學(xué)金申請(qǐng)繳費(fèi)),繳費(fèi)完成掃描二維碼自動(dòng)確認(rèn);并可與迎新系統(tǒng)進(jìn)行數(shù)據(jù)互導(dǎo);檔案收繳登記,登記完成掃描二維碼自動(dòng)確認(rèn)。
領(lǐng)取體檢表,掃描二維碼自動(dòng)確認(rèn)領(lǐng)取。體驗(yàn)完成數(shù)據(jù)導(dǎo)入迎新系統(tǒng);學(xué)生辦理入住登記,宿管提前分配各專業(yè)所需宿舍。新生報(bào)到實(shí)現(xiàn)宿舍自主分配;根據(jù)學(xué)生專業(yè)、學(xué)生宿舍號(hào)自動(dòng)分配學(xué)生班級(jí);根據(jù)專業(yè)、宿舍號(hào)、班級(jí)號(hào)系統(tǒng)自動(dòng)給學(xué)生分配學(xué)號(hào);繳納教材費(fèi),掃描二維碼并自動(dòng)確認(rèn);教務(wù)管理系統(tǒng)登記,領(lǐng)取學(xué)習(xí)制度手冊(cè),交回運(yùn)轉(zhuǎn)單,掃描二維碼自動(dòng)確認(rèn)。
(3)報(bào)到后的業(yè)務(wù)流程主要涉及到一些數(shù)據(jù)管理和統(tǒng)計(jì)分析功能,主要包括:報(bào)到情況統(tǒng)計(jì)分析;收費(fèi)情況統(tǒng)計(jì)分析;手續(xù)辦理情況一覽。
3.1 Hadoop大量小文件處理
Hadoop不適合小文件的存儲(chǔ),小文件本省就占用了很多的metadata,就會(huì)造成namenode越來越大。Hadoop Archives的出現(xiàn)就是為了緩解大量小文件消耗namenode內(nèi)存的問題。HAR文件是通過在HDFS上構(gòu)建一個(gè)層次化的文件系統(tǒng)來工作。一個(gè)HAR文件是通過hadoop的archive命令來創(chuàng)建,而這個(gè)命令實(shí)際上也是運(yùn)行了一個(gè)MapReduce任務(wù)來將小文件打包成HAR。對(duì)于client端來說,使用HAR文件沒有任何影響。所有的原始文件都visible && accessible。但在HDFS端它內(nèi)部的文件數(shù)減少了。
3.2 Hadoop數(shù)據(jù)云存儲(chǔ)技術(shù)
平臺(tái)中大數(shù)據(jù)文件存儲(chǔ)采用Hadoop分布式文件系統(tǒng)(HDFS)。
系統(tǒng)在實(shí)現(xiàn)過程中,主要解決的問題包括數(shù)據(jù)上傳、數(shù)據(jù)下載、數(shù)據(jù)刪除、查看 HDFS 文件、數(shù)據(jù)等。本文通過調(diào)用 Hadoop的 API 接口來實(shí)現(xiàn),核心代碼如下:
⑴獲取 HDFS 文件系統(tǒng) 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;}
⑵ 數(shù)據(jù)上傳代碼
調(diào) 用“FileSystem.copyFromLocalFile(Path src, Path dst)” src是要被上傳的數(shù)據(jù)源,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("文件上傳失敗!"); } }
⑶ 文件下載代碼
調(diào)用“FileSystem.copyToLocalFile(Path src,Path dst)”src 是要被下載的 HDFS 數(shù)據(jù)源,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("文件下載失??!");} }
數(shù)字迎新系統(tǒng)是涉及新生入學(xué)各個(gè)環(huán)節(jié),面向高校各部門和全體新生的綜合管理信息系統(tǒng),結(jié)合高校的實(shí)際工作需要而研發(fā)。該系統(tǒng)既可以提高迎新工作效率和迎新服務(wù)質(zhì)量,縮短系統(tǒng)的響應(yīng)時(shí)間,又可以保證數(shù)據(jù)的安全性和一致性,更好地方便用戶的使用。
[1]朱浩.電子科技大學(xué)數(shù)字迎新系統(tǒng)的實(shí)踐與創(chuàng)新[J].實(shí)驗(yàn)技術(shù)與管理,2013(5):91-98.
[2]趙偉.基于云計(jì)算的一種新的數(shù)據(jù)交換架構(gòu)[J].計(jì)算機(jī)工程與科學(xué).2013(8):15-19.
[3]盧宏才.高校數(shù)字迎新系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].重慶文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2012,06:65-67.
[4]胡麗平,胡勝勇.數(shù)字迎新系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦與電信,2016,10:70-72.
[5]楊磊蕾.基于Web的數(shù)字迎新系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2013,19:42-43.
[6]任全玉.基于MVC的企業(yè)資源管理系統(tǒng)構(gòu)建研究[J].中國(guó)商貿(mào).2012(21).
[7]關(guān)繼夫,馮天亮,王龍.基于流程可定制的數(shù)字迎新系統(tǒng)設(shè)計(jì)與應(yīng)用[J].中國(guó)教育信息化.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-)女,漢族,山東,碩士,助理實(shí)驗(yàn)師,研究方向云計(jì)算應(yīng)用。
萬曙靜(1989-)女,漢族,山東,碩士,助理實(shí)驗(yàn)師,研究方向數(shù)字圖像處理。
喬麗娟(1988-)女,漢族,山東,碩士,助教,研究方向數(shù)據(jù)挖掘。