王啟源 谷瑞軍 王聰 林聰 李林鵬 李偉
摘要:校園內(nèi)共享單車被破壞和揮霍助學金的情況屢見不鮮,既不利于大學生自身的健康成長,也給社會造成了負面影響?;诖髷?shù)據(jù)技術構建大學生信用檔案具有十分重要的意義。另外,隨著高校中一卡通的廣泛使用以及各業(yè)務系統(tǒng)的數(shù)據(jù)整合,形成了包括消費數(shù)據(jù)、宿舍進出數(shù)據(jù)、圖書借閱數(shù)據(jù)、考試成績的大數(shù)據(jù)環(huán)境,也為開發(fā)設計大數(shù)據(jù)信用評價系統(tǒng)創(chuàng)造了條件。通過整合大學生生活中的各方面的數(shù)據(jù),基于HDFS和大數(shù)據(jù)計算框架spark,采用B/S架構,構建了信用評價系統(tǒng)。通過在真實環(huán)境下仿真測試,驗證了評價模型的有效性,為有關部門提供了決策參考。
關鍵詞:Spark框架;信用評價;Docker容器;大數(shù)據(jù)系統(tǒng)
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2019)30-0066-03
隨著互聯(lián)網(wǎng)的快速發(fā)展和電子支付的興起,誠信已逐漸成為社會關注的焦點。發(fā)達國家自20世紀80年代就興起了信用管理的研究,其中的絕大多數(shù)都已經(jīng)建立起了比較完善的社會信用管理體系,出現(xiàn)了提供征信數(shù)據(jù)庫服務的專業(yè)公司。國內(nèi)的很多高校在很多年前也開展了相關的研究工作,利用信息化技術開發(fā)了相應的大學生信用管理系統(tǒng)和信用評價系統(tǒng)。
本項目主要研究基于校園一卡通的學生信用管理系統(tǒng)的設計與實現(xiàn),系統(tǒng)包括信用數(shù)據(jù)采集與管理、學生信用綜合評價等模塊。在實現(xiàn)過程中以校園網(wǎng)為支撐,以校園一卡通數(shù)據(jù)庫為核心,通過整合教務處、學工處、財務處、后勤處、圖書館5個系統(tǒng)中與信用有關的數(shù)據(jù),設計評價模型和開發(fā)評價系統(tǒng),將計算出的信用向量值存儲在學生信用數(shù)據(jù)庫中。系統(tǒng)中的信用評價模塊調(diào)用學生信用數(shù)據(jù)庫中的數(shù)據(jù)完成對學生信用的綜合評價,從而得到學生最終的信用向量值,給出學生的信用等級。
1相關工作
1.1相關研究
在高校學生信用方面,國內(nèi)很多高校在多年前就已經(jīng)進行了一系列研究,也開發(fā)了相應的大學生信用評價系統(tǒng)。例如,通過智能校園應用程序與學生一卡通系統(tǒng)進行綁定,對學生的消費情況進行了探討,并提出無人超市、無人監(jiān)考考場、加強監(jiān)控系統(tǒng)和對學生進行誠信教育的設想。他們還提出建立以大數(shù)據(jù)為核心,以智能感知為聯(lián)系點,以智能應用為基礎,構建智能校園信息平臺。另外,還存在此種方式:基于大數(shù)據(jù),根據(jù)學生身份證號碼創(chuàng)建唯一編號進行信息采集。將這些龐大的數(shù)據(jù)導入到分布式數(shù)據(jù)庫的同時進行分布式計算。建立統(tǒng)一的評定細則,最后錄入信用平臺。最后,要建立一個更具可操作性、更能反映大學生誠信狀況的大學生誠信評價體系,從而建立一個面向政府和社會的誠信信息查詢系統(tǒng)。又如松江大學城學生信用管理系統(tǒng),通過JAVA語言和MySQL數(shù)據(jù)庫實現(xiàn)了系統(tǒng),其功能包括對信用進行增刪改查,達成了系統(tǒng)的基本需求。但該系統(tǒng)較為簡單,仍存在著一些不足的地方,比如系統(tǒng)無法定時收集數(shù)據(jù)并自動分析,難以做到實時生成高校生的信用情況。
1.2相關技術
大數(shù)據(jù)集是無法在規(guī)定時間內(nèi)使用傳統(tǒng)軟件工具捕獲、管理和處理的數(shù)據(jù)集,是需要新的處理模式才能獲得價值的信息工具。大數(shù)據(jù)需要更高的決策能力、發(fā)現(xiàn)能力和過程優(yōu)化能力。大型數(shù)據(jù)具有四個主要特征:數(shù)據(jù)量大、速度快、數(shù)據(jù)類型多樣和低價值密度。大規(guī)模信息技術的戰(zhàn)略重要性不在于知道、保有超大規(guī)模的數(shù)據(jù)量,而在于對這些相關數(shù)據(jù)進行專門處理。如果把大數(shù)據(jù)比作一個行業(yè),該行業(yè)的獲利方式就在于提高數(shù)據(jù)的處理能力。通過一系列專業(yè)化的處理最終發(fā)掘出有價值的信息。如果利用技術的角度來看,大數(shù)據(jù)和云計算是緊密聯(lián)系、相互協(xié)作的。大數(shù)據(jù)必須采用分布式的方法來處理海量數(shù)據(jù),他能夠時時收集信息,但數(shù)據(jù)的計算處理則依靠云計算等。
Apache Spark是一個開源類Hadoop MapReduce的計算框架,特用于處理海量規(guī)模數(shù)據(jù)集,計算能力強且速度快。Spark具有MapReduce的優(yōu)點,但與MapReduce的相異點在于,Spark的中間輸出結果可以存儲在存儲器中,因此不需要重復讀寫HDFS,因此sDark在機器學習和數(shù)據(jù)挖掘方面的表現(xiàn)能力更加突出。Spark采用分布式數(shù)據(jù)集,除了可以優(yōu)化迭代工作量外,它還可以提供交互式請求。通過在HDFS上保存收集到的數(shù)據(jù),之后放入Spark中,進行數(shù)據(jù)分析。
Spark結構在分布式計算中使用Master-Slave模型。Master作為管理節(jié)點,為集群中那些包含Master進程的節(jié)點,負責任務調(diào)度,并保證工作的正常執(zhí)行。如果節(jié)點中包含Worker進程,則為Slave節(jié)點。Slave節(jié)點對得到的任務進行計算,并實時向管理節(jié)點反饋自身工作狀態(tài)。Driver和Worker是Spark應用程序執(zhí)行時極其重要、不可或缺的角色。Driver不斷將Task分配下去后,會創(chuàng)建Executor來執(zhí)行任務。在執(zhí)行時,Task及其所需要的依賴文件和序列化后的jar被發(fā)送給Worker進程,同時Executor處理相應數(shù)據(jù)分區(qū)的任務。
2平臺架構和設計
2.1平臺架構
基于Java EE技術,以抽象工廠設計模式和MVC設計模式為指導思想,采用SSM框架進行設計?;贖DFS和大數(shù)據(jù)計算框架spark對業(yè)務數(shù)據(jù)進行分析??蛻魴C配置要求低,PC機或瘦客戶機均可。因為采用的是B/S架構,在任何網(wǎng)絡連通的條件下,都可通過客戶機以瀏覽器的形式進行信用系統(tǒng)的訪問。方便用戶隨時隨地進行信用查詢,了解自己的信用情況。其架構如圖2所示。
2.2主要模塊
基于Spark的大學生校園信用大數(shù)據(jù)評價系統(tǒng)主要包括數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊以及信用展示與可視化模塊。
1)數(shù)據(jù)采集:將保存在數(shù)據(jù)庫中的數(shù)據(jù)運用sqoop上傳到docker容器中的HDFS集群上。
2)數(shù)據(jù)分析:容器中自動調(diào)用spark對采集到的數(shù)據(jù)進行分析。
3)信用展示與可視化:分析完的數(shù)據(jù)會被再度保存到數(shù)據(jù)庫中,并在前端頁面展示并生成折線圖、柱狀圖、餅圖等可視化信息。
下面介紹spark分析與可視化流程的設計,如圖3所示。
用戶登錄web應用后,對用戶的角色信息進行驗證,之后進人對應的功能界面。管理員用戶可以查看詳細數(shù)據(jù),并且可以進行數(shù)據(jù)采集與分析。后臺自動進行,等待運行完畢后可以查看最終評分結果,包括各個單項的分數(shù)與最后的總評。
3系統(tǒng)部署與運行
下面以一個學院、20個班的規(guī)模為例,選取相應的軟硬件資源來搭建環(huán)境,并作了測試和最終評價。
3.1平臺部署
3.1.1基礎環(huán)境
首先選擇兩臺19英寸2U機架服務器,一臺為應用服務器,一臺為支撐服務器。應用服務器配置為:12核心CPU、64G內(nèi)存、2塊2T硬盤;支撐服務器配置為:24核CPU、256G內(nèi)存、4塊4T硬盤,兩臺服務器間通過萬兆網(wǎng)卡互聯(lián)。然后分別安裝cen-tos7系統(tǒng)。
3.1.2安裝D0cker環(huán)境
1)安裝Docker
sudo yum install docker
21開啟Docker,并設置開機自啟
sudo systemctl start docker
sudo systemctl enable docker
3)測試安裝是否成功,如果打印出的Hello等字樣時,表示Docker已正確安裝。
docker rtln hello-world
3.1.3容器內(nèi)應用部署
為保證數(shù)據(jù)采集與分析的自動運行,須在容器內(nèi)安裝Ha-doop,Sqoop以及Spark,并編寫相應的腳本文件確保能夠自動調(diào)用并執(zhí)行。
3.1.4應用部署
分別安裝mysq15.7數(shù)據(jù)庫、JDK8、和tomcat7服務器,將ja_vaweb應用打成War包后部署到服務器上,并啟動服務器,測試能否正常訪問。
3.2平臺測試
圖4為平臺管理員端主界面。
進人數(shù)據(jù)查看項,可查看學生具體數(shù)據(jù),可對其進行修改,如圖5所示。
進人信用查看菜單下,點擊信用匯總中的采集分析,可自動對本地數(shù)據(jù)庫中的數(shù)據(jù)進行采集,并利用Spark進行分析,一鍵匯總會將得到的分數(shù)保存到本地,如圖6所示。
信用可視化菜單下可以根據(jù)需求生成餅圖、柱狀圖或折線圖查看學生的信用分布情況,如圖7。
學生用戶進入系統(tǒng)界面,可查看自己的總信用評價,以及入學以來各個時期的折線圖,如圖8所示。
4結束語
在當今社會,信用信息對個人的生活、工作都有著重大影響,需要加強對學生的信用管理,建立完備的信用監(jiān)督體系,從而提高學生的誠信意識。通過在Linux系統(tǒng)上安裝Docker軟件,并在容器內(nèi)部署Hadoop、Spark,可以快速、省時地將傳統(tǒng)關系型數(shù)據(jù)庫數(shù)據(jù)上傳其中并快速分析,最終將結果保存至本地以供查詢。另外,采用Javaweb技術使最終結果呈現(xiàn)在瀏覽器頁面上,方便了高校學生隨時隨地查閱自己的信用情況。