基于大数据技术的智联高校与智能推荐设计与实现
2021-10-18胡凯强李昌清陈圣文薛孟武李乐
胡凯强 李昌清 陈圣文 薛孟武 李乐
摘 要:基于大数据技术的智联高校与智能推荐采用B/S模式,利用SSM进行设计和开发,通过Hadoop生态对部分有用数据进行分析,利用微信小程序展示数据。开发工具为lntelliJ IDEA、微信开发者工具、Hadoop、Zookeeper、Hive等。基于大数据技术的智联高校与智能推荐使用微信小程序,操作简单,维护方便,具有很高的实用性。
关键词:大数据;智能推荐;学科学习;微信小程序
0 引言
21世纪已进入了网络时代,虽然获取信息资源的方式增加了许多,但是网络上的信息资源质量依旧是良莠不齐,并且甄别资源又浪费了大量的时间。加上学习软件的众多,使同学无从下手,课程的质量参差不齐,不知如何选择。
在大数据对网络信息时代发展的重要推动下,为了解决这一问题,利用大数据和爬虫技术获取网络上的大量资源,然后对数据进行清洗和批处理后存入数据库。再根据学生的专业和兴趣做出描述性分析,使用算法将学习资料视频数据智能推荐给对应学生,鼓励大学生自主学习,解决自身学习上的问题,为学生节省了大量的时间。本项目就是整合一些学习平台的学习资源,并给出最符合该专业学生所需要的学习视频及资料。
1 基于大数据技术的智联高校与智能推荐的总体架构
基于大数据技术的智联高校与智能推荐系统的用户分为系统管理员和学生用户。按照角色设计的基本思想,即基于角色的访问控制(Role-Based Access Control,RBAC)通过用户角色而不是仅通过用户角色来标准化对功能和数据的访问。用户访问基于提供给用户的角色定义,本系统设有管理员角色和普通用户角色,且每个角色的相关权限和功能并不相同。某模块的简易模型如图1所示。
基于大数据技术的智联高校与智能推荐的主要功能包括:(1)系统管理员,可以对数据库进行维护、填写和发布公告、视频发布、用户管理、评论管理、失物管理等。 (2)学生用户,能够发表评论、查看其他用户评论、修改个人信息、浏览视频、收藏视频、点赞视频、上报失物、失物认领等功能。
1.1 Hadoop生态数据存储总体设计
Hive[1]是基于 Hadoop[2]的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询聚合功能,可以将SQL语句转换为MapReduce任务运行。在Hadoop Mapreduce 框架下利用Zookeeper[3]实现master和slave之间的心跳线维护,在此基础(Hadoop HA)上搭建(Hive HA)保证数据库的连接。具体搭建模块如 表1—2所示。
1.2 系统管理员模块设计
系统管理员模块的主要功能有:发布公告、推荐视频管理、模块管理、审核用户评论、用户管理。
(1)发布公告:管理员可以发布公告展示到微信小程序首页。
(2)推荐视频管理:管理员对推荐视频进行增删改查。
(3)模块管理:管理员对模块的增删改查,如失物招领、闲置交易、问题解答类模块的管理。
(4)审核用户评论:用户发布评论后只有通过过滤器,审核通过后才会显示到微信小程序中,这样可解决违规评论的出现。
(5)用户管理:对注册用户的管理,面向用户操作,如有用户违规可以注销该用户。
1.3 注册用户模块设计
注册用户模块的主要功能有:填写个人信息、浏览其他用户发布的信息、浏览学习视频、发布评论留言。
填写个人信息:注册用户通过使用微信小程序,打开微信,搜索小程序。进入页面用户点击登录,授权,获取用户的openid以及用户微信的相关信息[4]。此时判断用户是新用户还是老用户,并进行用户个人信息的填写。
浏览其他用户发布的信息:小程序中可以浏览个人发布的信息,可供浏览的分类模块有失物招领、闲置交易、问题解答等。
浏览视频学习:进入视频观看页面,根据学院专业信息,有默认的推荐视频(默认排序),也可以按照点赞数排序,同时可以搜索科目进行模糊匹配,给出推荐,浏览视频即可以跳转到相对应的学习页面。
发布评论留言:对于他人的发布,用户如果想详细了解该事情,可以发布留言等待博主的回应或者获得他人的解答。
1.4 技术选择
使用Java语言编写后端模块采用Spring+Spring MVC+MyBatis即SSM来构建项目,使得代码复用,可维护性大幅度提升,aop提供切面编程,同样增强了生产力[5]。使用微信小程序方便用戶的点击访问。通过后端提供接口,前台访问接口。通过Ajax在浏览器与Web服务器之间使用异步数据传输(HTTP 请求),通过get或post方法与后端服务器交互。
2 基于大数据技术的智联高校与智能推荐的实现
基于大数据技术的智联高校与智能推荐的实现采用了B/S和C/S的混合设计。C/S使用了微信小程序和服务器端的交互,B/S使用网页和服务器端的交互。项目的总体实现使用了MVC思想,有推荐信息表示层、推荐信息逻辑层、推荐信息数据层。
第一层是表示层,是用户进行交互信息的界面,用户通过微信小程序查看推荐的学习视频,也可以使用浏览器查看推荐的分析echarts图。
第二层是推荐信息逻辑层,介于表示层和逻辑层之间。负责接收前台数据,执行响应程序将结果传递给表示层中,对用户请求的内容,与数据库连接后,获取数据进行逻辑处理。如:用户对视频的查询是按照播放量查询,还是按照点赞量查询。
第三层是数据层,主要是对数据库的访问。微信小程序用于获取用户间的信息,将用户的操作、发布等信息保存下来,通过大数据平台的分析会得到有用的推荐数据,将推荐数据存储到数据库中,获取数据库中的信息将结果展现到echarts图,使得3层之间具有很高的独立性、强扩展性。
3 结语
基于大数据技术的智联高校与智能推荐平台极大地方便了大学生的学习。大学生在空闲时间可以登录该小程序,通过已有视频数据的推荐来学习。同时也可以通过发布一些帖子和学长交流。这样既可以让大学生对大学的课程有更深刻的理解,又可以丰富业余生活和学习课外知识,在他们毕业时可以获得更多的技能,进而可以促进大学生的就业。
作者简介:胡凯强(1999— ),男,河南林州人,本科生;研究方向:Java,大数据运维。
[參考文献]
[1]APACHE H.用户和hive SQL文档展示如何编程hive[EB/OL].(2020-09-06)[2021-08-20].https://cwiki.apache.org/confluence/display/Hive/Home#Home-UserDocumentation.
[2]Hadoop稳定文档.Apache Hadoop 3.2.2[EB/OL].(2021-01-03)[2021-08-20].https://hadoop.apache.org/docs/stable.
[3]Zookeeper文档.Because coordinating distributed systems is a zoo[EB/OL].(2020-11-26)[2021-08-20].https://zookeeper.apache.org/doc/r3.6.2/index.html.
[4]微信官方文档.小程序API参考[EB/OL].(2021-03-02)[2021-08-20].https://developers.weixin.qq.com/miniprogram/dev/api.
[5]黑马程序员.Java EE企业级应用开发教程[M].北京:人民邮电出版社,2017.
(编辑 王雪芬)
Design and implementation of intelligent recommendation for Zhaopin
university based on Big Data technology
Hu Kaiqiang, Li Changqing, Chen Shengwen, Xue Mengwu, Li Le
(School of Software, Henan University of Science and Technology, Luoyang 471003, China)
Abstract:Zhaopin university and intelligent recommendation based on Big Data technology adopt B/S mode, use SSM to design and develop, through Hadoop ecology to some useful data analysis, use WeChat mini program to display data. The development tools are lntelliJ IDEA, WeChat developer tools, Hadoop, Zookeeper, Hive and so on. Based on Big Data technology, Zhaopin university and intelligent recommendation use WeChat mini program, which is simple to operate, convenient to maintain and has high practicability.
Key words:Big Data; intelligent recommendation; subject learning; WeChat mini program