徐岩,万曙静,乔丽娟
(曲阜师范大学网络信息中心,山东济宁,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-)女,汉族,山东,硕士,助教,研究方向数据挖掘。