目  录

1 绪论.......................................................................................... 1

1.1 研究背景........................................................................ 1

1.2 研究的目的和意义........................................................ 1

2 系统相关技术概述.................................................................. 3

2.1 Spring Boot 框架............................................................ 3

2.2 MyBatis-Plus................................................................... 4

2.3 MySQL 数据库技术...................................................... 4

2.4 Vue.js 前端框架............................................................. 4

2.5 Hadoop 技术.................................................................. 5

2.6 协同过滤推荐................................................................ 5

3 系统分析.................................................................................. 6

3.1 需求分析概述................................................................ 6

3.2 可行性分析.................................................................... 6

3.3 系统功能需求分析........................................................ 6

3.4 系统其他需求分析........................................................ 8

4 系统设计................................................................................ 10

4.1 系统结构设计.............................................................. 10

4.2 系统功能设计.............................................................. 11

4.3 数据库设计.................................................................. 14

4.4 算法设计...................................................................... 25

5 系统的实现............................................................................ 28

5.1 协同过滤实现.............................................................. 28

5.2 管理员端实现.............................................................. 29

5.3 用户端实现.................................................................. 32

6 系统测试................................................................................ 37

6.1 系统测试的重要性...................................................... 37

6.2 性能测试...................................................................... 37

6.3 系统登录测试.............................................................. 38

6.4 职位推荐测试.............................................................. 39

6.5 系统后台测试.............................................................. 40

总结..................................................................................... 42

参考文献............................................................................. 43

致  谢.................................................................................. 45

1 绪论

1.1 研究背景

伴随社会经济的飞速发展以及高等教育逐渐普及,高校毕业生数量每年都在增多,就业市场的竞争变得越发激烈,毕业生找工作的时候会遭遇信息不对等,职位契合度低之类的状况,企业招人时也常常很难立即找出适合岗位需求的人才。供求双方存在这样的信息隔阂,造成传统招聘形式效率较低,不能适应现代社会对于精确化,智能化求职招聘的需求,而且,大数据技术的崛起给化解这些难题带来了新思路,如果搜集并剖析大量的求职者和招聘信息,再加上推荐算法,就可以做到个性化的职位推荐,进而提升求职者与职位的适配效率。

Hadoop属于大数据处理方面的关键技术,它有着很强的分布式计算能力和高效的存储体系,所以成了应对大规模数据时的理想之选,依靠Hadoop的推荐系统可凭借其分布式框架来妥善处理大量的用户行为数据以及企业招聘信息,并利用机器学习算法创建起智能推荐模型,这样既能助力毕业生立即找出契合自身条件与兴趣的岗位,又能帮企业精确锁定目标求职者,进而改善整个招聘进程,因而,去规划并完成一个依托Hadoop的毕业生推荐系统,既是对传统招聘形式的一种更新换代,也是大数据技术于现实场景里的一次重要运用。

3.3 系统功能需求分析

管理员属于系统的关键管理者,肩负着维持系统正常运作,保障数据准确无误的责任,管理员的功能需求覆盖用户管理,企业管理,简历管理,职位种类管理,招聘信息管理等诸多方面,其一,管理员要具备对系统内用户信息实施全方位管理的能力,其中包含增添用户,编辑用户以及删除用户等操作,以此来保证系统用户数据的安全可靠及合法合规,其二,管理员还要负责审核企业的注册请求,而且允许对企业信息执行编辑和删除操作,从而保障企业资料真实完整,在个人简历管理部分,管理员可查阅并审核毕业生所交的简历,以保证这些简历合乎规范且可供企业阅览。 管理员还要承担职位类型的分类工作,也要负责招聘需求的发布与更新,保证职位信息准确且不过时,应聘信息管理模块会辅助管理员应对求职者投来的简历,从中选出恰当人选并安排面试事宜,面试信息管理可让管理员协调面试时间,地点以及候选者名单,而录用结果管理模块能记载最终的招聘成果,而且允许把相关数据导出来供日后使用,管理员通过个人中心来更改自己的密码及其账户设置,以此保障后台操作的安全,这些功能模块一起合成了管理员端全部的需求系统,因系统中用户数量庞大,用户只知道自己的如何使用系统,而非知道整体运行情况,则用用例图表示管理员端,如图3-1所示。

图3-1 管理员端用例图

用户端的功能需求重点在于给毕业生带来便捷的求职体验,其首页显示着最新的招聘信息与公告内容,这就给用户赋予了直观的信息入口。企业信息模块细致地表现了企业的基本情况以及招聘动向,从而使用户可以立即知晓目标企业,招聘信息模块给出了详尽的职位阐述,而且许可用户在线投递简历,公告信息模块用来公布系统通告或者重要资讯,以保证用户能够及时掌握最新状况。 个人资料模块可使用户完善自身的教育背景,工作经历等个人信息,从而优化其简历的专业性与匹配度,搜索功能凭借关键词查找助力企业迅速找到感兴趣的职位或者企业,录用结果查询功能使用户可以随时知晓自己的应聘进程,而且,个性化推荐模块会遵照用户以往的行为及兴趣爱好,智能化地推荐合适的职位信息,进而改善求职效率,如图3-2所示。

图3-2 用户端用例图

4 系统设计

4.1 系统结构设计

基于Hadoop的毕业生举荐系统采取前后端分离的架构规划,融合分布式计算和微服务理念,保障系统具备高效性,稳定性和扩展性,整个系统被划分成前端表现层,后端服务层,数据存储层以及大数据处理层这四个部分。前端表现层以Vue.js框架来塑造用户界面,给予动态交互感受,而且支持多终端适配,后端服务层凭借SpringBoot和MyBatis - Plus去达成业务逻辑的处理工作,其中牵涉到用户管理,招聘信息管理,简历审核等诸多事务,再通过RESTfulAPI同前端实施数据交流。数据存储层用 MySQL 数据库保存用户信息,企业数据,职位分类等结构化数据,借助 HDFS 分布式文件系统储存海量求职行为日志,还有推荐算法必要的大规模数据集,大数据处理层靠Hadoop的 MapReduce 和协同过滤算法执行个性化推荐的主要计算任务。 各层之间利用消息队列(诸如RabbitMQ或者Kafka之类)执行异步通信,以此来加强系统的并发处理能力,而且,系统还采用Redis缓存机制以加快对高频次访问数据(比如热门职位信息)的获取速度,并通过Nginx实施负载均衡,从而保证系统在高并发情况下依然可以稳定运行,整体架构设计兼顾到各个功能模块的独立性与协作性,这给系统日后的拓展和守护带来方便之处,如图4-1所示。

图4-1 系统架构图

毕业生就业推荐系统设有管理员和用户两种角色。系统旨在满足用户需求,易于日常操作。用户可通过管理员提供的账号和密码登录系统并使用相关功能。在权限设置上,管理员拥有最高权限,其次是用户。管理员主要负责系统的日常运行、维护和整体管理工作。系统功能结构如图4-2所示

图4-2 系统功能结构图

毕业生就业推荐系统整体 E-R 图,如图4-15所示。

图4-15 整体E-R图

5.1 协同过滤实现

协同过滤算法是本系统的核心推荐机制,目的在于给毕业生给予个性化的职位推荐服务,依靠用户的协同过滤(User - Based Collaborative Filtering, UBCF)会剖析用户的历史行为数据,算出用户间的相似度,依照相似用户的喜好为目标用户产生推荐结果,下面是协同过滤算法的达成流程与界面,如图5-1所示。

图5-1 协同过滤体现图

5.2 管理员端实现

5.2.1 用户管理

用户管理模块重点在于对系统里的用户信息实施统一的管理与守护,借助这个模块,管理员能够便捷地增添、修改以及去除用户的数据,保障系统中用户数据的安全性和合规性,下面是用户管理模块的达成情况及其界面表现,如图5-2所示。

图5-2 用户管理图

5.2.3 个人简历管理

个人简历管理重点在于对用户个人简历信息执行审查与管理,管理员通过这个模块,可以快捷地查阅,编辑并审查毕业生的简历,保证简历内容真实而完备,给后面的职位推举和招聘契合给予可信的数据支撑,下面是个人简历管理模块的达成状况及其界面显现,如图5-4所示。

图5-4 个人简历管理模块图

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐