邓伟
(陕西师范大学,陕西 西安 710062)
随着信息化建设的快速发展,高校各业务部门的应用系统积累了大量的数据,为大数据技术的应用奠定了基础。大数据不仅是指海量数据本身,更为重要的是包含了对数据的存储、处理、分析、可视化一系列的技术方法,是从数据自身发掘其隐含价值的有效手段。
陕西师范大学的信息化建设历程归纳起来,包含了基础设施建设、数字化校园建设、智慧校园建设三个阶段。在基础设施建设阶段,以硬件为主要建设内容,包括各类网络设备、校园卡、门禁系统,积累了大量的学生的上网认证数据、校园卡消费数据、门禁刷卡数据。在数字化校园建设阶段,以软件为主要建设内容,包括科研、教务、资产、人事等业务管理系统,目的是支撑学校各项核心业务的正常运行,将线下工作转变为线上服务,提高工作效率,改善用户的使用体验。智慧校园则是现阶段的建设目标,融合了物联网、大数据、人工智能等前沿技术,加强数据综合治理能力,用于提升服务质量,丰富教学手段,改进决策方法。
陕西师范大学网络信息中心从2014年至2022年进行了长期的大数据建设的探索工作,主要围绕着对全校各类业务系统和硬件设备产生的结构化和半结构化数据的采集、存储、分析和可视化展示四方面,目的是为学校的科研、教学、管理、服务等各项工作提供客观的数据支撑。完成建设的内容包括大数据平台和业务数据分析建模系统两部分,整体规划如图1所示。
图1 系统结构图
大数据平台建设方面,在20 台物理服务器上用开源系统Cloudera 搭建了一套Hadoop 管理平台,总存储300 TB,在此基础上利用Sqoop 和Python 脚本进行数据的采集,HDFS 和Hbase 进行数据的存储,Mpp 分布式数据库集群和Redis 集群进行实时数据和热点数据的存储,MapReduce 和Spark 进行数据的计算分析,Echarts 和OpenLayers 进行数据的可视化展示。
大数据平台已经接入了人事系统、科研系统,教务系统,研究生管理系统、就业系统、校园卡系统,图书借阅系统、图书馆门禁系统、宿舍门禁系统、无线网络管理系统、网络认证系统、上网行为管理系统共计12 个业务系统的数据。平台支持按系统管理员、校级管理人员、部门/学院管理人员、辅导员、师生个人等5 种角色来分配不同的操作权限。平台中存储的数据明细和统计分析结果以REST API 的形式对外部系统提供了数据共享服务。
业务数据分析建模系统实现了用于学校管理的决策支撑模块,面向全校师生的个人数据中心,用于人才引进工作的校园智库,用于学生管理的综合预警模块,以及用于网络管理工作的校园无线网络热图。
用于学校管理的决策支撑模块通过对不同的业务系统设定分析指标建立模型,使用各种统计报表来进行分析结果的可视化呈现。使用较多的报表组件是柱状图和折线图、散点图,柱状图主要用作模型中的指标在不同主体之间的横向比较,折线图主要用作模型中的指标在不同时间点的纵向比较,用以呈现发展变化趋势,散点图主要用作跨业务系统建模的两类指标间的相关性的分析。目前建立的模型主要包括:全校及各学院科研成果发展趋势分析,不同学院间科研成果数量对比,全校及各学院生源质量发展趋势分析,不同学院间生源质量数量对比,学生吃早餐频次-考试成绩的相关性分析,学生图书借阅次数-考试成绩的相关性分析,教师项目数量-论文数量相关性分析,教师教学能力-论文数量相关性分析,校内访问热门网站分析,校内用户移动终端品牌分布,教师基本信息不同属性间的组合统计分析(教师基本信息属性包括:籍贯、学院、性别、职称、学历、年龄、类别、进校时间),学生基本信息不同属性间的组合统计分析(学生基本信息属性包括:籍贯、学院、性别、民族、入校时间)。
个人数据中心是在一个页面中将教师或学生的个人基本信息和各类校内数据聚合展示,并进行关联分析,提供不同个体的精准画像。
教师登录系统后能够看到自己的个人基本信息、课程安排、科研成果、校园卡消费、设备上网行为等数据,以及按照教学能力、科研能力、消费能力、获奖情况进行的人物画像。
学生登录系统后能够看到自己的个人基本信息、课程安排、考试成绩、校园卡消费、设备上网行为、图书借阅等数据,以及按照学习能力、消费能力、上网时长、社会活动能力、获奖情况呈现的整体画像。
针对学生还开发了就业分析和推荐模块,通过分布式爬虫技术从互联网上51Job、智联招聘、百度百聘等网站获取最新的岗位资讯和人才需求,通过大数据技术分析热点岗位、专业需求、薪资待遇。同时通过校内数据对应届生进行画像,针对学生个体的不同特点进行就业招聘信息的个性化推荐。
校园智库通过爬虫技术从互联网公开数据源爬取了截至2021年12月底全国2 353 所高校和科研院所160 多万位学者的5 千多万条论文、著作等科研成果数据。能够检索到学者的研究领域、学术影响力排名、学术圈(合作学者)、科研成果摘要、历年科研成果数量的对比,能够为学校引进人才提供客观的数据依据。
学生综合预警是在学生管理方面进行的一些尝试,目前通过对校内与学生相关的各类数据进行关联分析,已经实现了疑似贫困预警和疑似未归预警,能够给学生补助的发放和学生安全管理提供依据。
疑似贫困预警:通过采集学生校园卡消费的数据,根据学生最近三个月内每日三餐在学校食堂消费的频次和每餐的支出金额,分析学生是否有在校就餐的习惯,对于长期在校就餐的学生,如果平均每餐的消费金额低于管理人员设定的阈值,判定该学生属于疑似贫困情况,将学生个人信息推送给资助中心的老师,作为助学金和各类补助发放的依据。
疑似失联预警:通过关联分析校园卡的消费记录、图书馆门禁,宿舍楼门禁、移动设备联网、校内上网流量等多方面的数据,对于非节假日期间5 天以上未产生相关数据的学生,且在学工系统里无请假记录,判定为疑似失联状态,通过发送邮件和微信推送及时通知到对应学院的辅导员,以便采取措施确保学生的人身安全。
校园无线网络热图实现了校园各类移动终端当前所处地点的实时展示,如图2所示,能够直观呈现校内人员分布的密集程度,查看每个建筑物、每个楼层、每个房间当前有哪些设备在上网,同时能够掌握每个设备的活动轨迹,如图3所示。常去地点,基于设备信息进一步可分析人员之间的亲密关系。
图2 无线网络移动设备热力图
图3 设备活动轨迹图
下面进一步阐述相关模块的算法实现原理。
算法实现依赖的数据源主要包括学校上网认证系统和无线网络管理系统。从上网认证系统数据库提供的视图中每十分钟导入一次最近的认证信息。无线网络管理系统则是通过SNMP 协议从全校4 台无线网络控制器(以下简称AC)上每5 分钟采集一次。
认证系统视图的数据结构为(上网帐号(以下简称NETID)、上线时间、下线时间、移动终端(以下简称MU)的MAC 地址、分配的IP 地址)五元组(以下简称AUTH_LIST)。
无线网络管理系统采集的数据结构为(MU 的MAC地址、MU 的IP 地址、AC 名称、无线接入点(以下简称AP)名称、连接起始时间、接收数据字节数、发送数据字节数、采集时间)八元组(以下简称MU_LIST)。
无线网络热图的生成方法如下:
(1)以AUTH_LIST 作为输入,编写MapReduce 任务分析MU 最近一次上网时使用的NETID,建立MU--NETID关联信息。
(2)根据MU 当前连接的AP 名称,分析其当前位置。无线网络系统在命名AP 时遵循约定的规范:校区-建筑物名称全拼--楼层--房间号。例如ca-tushuguan-01-01,表示该AP 处于长安校区图书馆1 层的1 号房间内。通过拆分名称可进一步统计每个建筑物、每个楼层、每个房间的MU 连接数、AP 的收发字节数。
(3)基于OpenLayers 的GIS 地图背景图的生成和MU的定位:
两个校区的卫星图是由Google 地图中陕西师范大学的瓦片地图拼接而成。两个校区的平面图以及建筑物各个楼层的平面图则是根据无线网络系统工程施工方提供的CAD 图纸文件,编写程序解析墙体每个线条的起止坐标,自动绘制生成JPG 格式的背景图。建筑物在校区的坐标和AP 在房间的坐标位置也是通过对CAD 的解析获取的。程序中获取的CAD 中的坐标以视图左下角为原点,单位为像素。为处理方便,OpenLayers 中采用自定义坐标系,中心点作为原点,单位为经纬度,因此注意需进行坐标系的转换和比例缩放。
(4)MU 当前所连接的AP 的坐标位置作为MU 当前所处的活动位置。
MU 动态轨迹图的生成算法如下:
(1)首先要计算各个建筑物之间的最短路径。方法如下:
为地图中的每条道路编号,记录道路交叉点和建筑物入口的经纬度坐标。
用Floyd 算法计算建筑物两两之间的最短距离和经过道路的编号序列,保存在数据库中。
(2)根据无线网络管理系统中SNMP 采集的数据选取指定MU 当天的MU_LIST,按连接起始时间正序对该MU_LIST 进行排序。以建筑物为单位对序列进行合并操作(时间正序排列后的序列,若相邻两个元组的AP 属于同一建筑物,合并为1 条)。
(3)对合并后的新序列进行如下操作:对相邻两个元组,以连接起始时间小的元组中的建筑物作为起点,连接起始时间大的元组中的建筑物作为终点,从数据库中查找两者间最短路径对应的道路编号序列,在OpenLayers 中依次绘制对应的线段,形成动态绘制轨迹的效果。
人员亲密关系的分析算法如下:
(1)以AUTH_LIST 作为输入,编写MapReduce 任务查找每个MU 最近使用的上网帐号。输出为OUT1。
(2)以MU_LIST 作为输入,编写MapReduce 统计每两个MU 在同一AP 共同出现的频次,输出为OUT2。
(3)以OUT1、OUT2 作为输入,编写MapReduce 统计每两个NETID 在同一AP 共同出现的频次,输出为OUT3。
(4)以OUT3 作为输入,对每个NETID,统计与该NETID 同时出现频次最多的前十个NETID(Top10),输出保存在HBase 中。
(5)对于选定的师生,根据其NETID,在HBase 中检索出步骤(4)中的Top10 及对应的人员信息,作为与选定师生关系最密切的人群,用Canvas 绘制出对应的人物关系。
陕西师范大学大数据应用系统建设的成果表明,大数据技术能够将高校现有各业务系统产生的数据进行全校范畴内的有效整合,通过数据关联分析,挖掘数据的核心价值,对高校师生提供深层次的信息增值服务,为高校科学化管理与决策提供数据支持,实现将数据转变为学校效益,提升管理效率,促进科研、教学与服务质量,增强学校的综合竞争力。