基于Spark的人才推荐系统-计算机毕业设计源码19842

摘要

本论文主要论述了如何基于Spark开发一个人才推荐系统,本系统将严格按照软件开发流程进行各个阶段的工作,面向对象编程思想进行项目开发。在引言中,作者将论述人才推荐系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。

人才推荐系统的主要使用者分为管理员和普通用户,实现功能包括管理员:系统用户、人才信息管理、技能类型管理、系统管理、公告通知管理、资源管理等模块,普通用户:首页、公告通知、新闻资讯、在线交流、人才信息、我的账户、个人中心等功能。由于本网站的功能模块设计比较全面,所以使得整个人才推荐系统信息管理的过程得以实现。

本人才推荐系统是以Spark这一框架为基础,采用Java的编程语言,使用了MySQL这一数据库进行开发的,可以实现本人才推荐系统管理的信息化,让用户更加直接的了解人才推荐,也方便管理员进行更加方便快捷的进行信息管理。

关键词:人才推荐系统;Java语言;Spark;MySQL数据库

Abstract

This paper mainly discusses how to develop a talent recommendation system based on Spark. The system will strictly follow the software development process for each stage of work, and the object-oriented programming concept will be used for project development. In the introduction, the author will discuss the current background of the talent recommendation system and the purpose of system development. Subsequent chapters will strictly follow the software development process to analyze and design the system at each stage.

The main users of the talent recommendation system are divided into administrators and ordinary users. The implementation functions include administrator: system user, talent information management, skill type management, system management, announcement notification management, resource management, etc. Ordinary users: homepage, announcement notification, news information, online communication, talent information, my account, personal center, and other functions. Due to the comprehensive design of the functional modules on this website, the entire process of information management in the talent recommendation system can be achieved.

This talent recommendation system is based on the Spark framework, developed using Java programming language and MySQL database. It can achieve information management in this talent recommendation system, allowing users to have a more direct understanding of talent recommendations and facilitating administrators to manage information more conveniently and quickly.

Keywords: Talent recommendation system; Java language; Spark; MySQL database

目录

摘要

Abstract

第 1 章 引  言

1.1 选题背景

1.2 研究目的和意义

1.3 研究现状

1.4 论文结构安排

第 2 章 相关理论和技术

2.1 B/S体系结构介绍

2.2 Spark框架介绍

2.3 MySQL数据库

2.4 Java语言

第 3 章 人才推荐系统的需求分析

3.1 系统可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 系统需求分析

3.2.1 功能需求分析

3.2.2 功能需求分析

3.3 系统用例分析

3.4 系统流程分析

3.4.1 数据增加流程

3.4.2 数据修改流程

3.4.3 数据删除流程

3.5 本章小节

第 4 章 人才推荐系统总体设计

4.1 系统架构设计

4.2 系统功能模块设计

4.3 数据库设计

4.3.1 数据库概念结构设计

4.3.2 数据库逻辑结构设计

4.4 本章小结

第 5 章 关键模块的设计与实现

5.1 前台首页模块

5.2 登录模块

5.3 注册模块

5.4 公告通知模块

5.5 新闻资讯模块

5.6 在线交流模块

5.7 人才信息模块

5.8 系统用户管理模块

5.9 系统管理模块

第 6 章 系统测试

6.1 测试的目的

6.2 系统部分测试

6.3 系统测试结果

第 7 章 结论

参考文献

致谢

  • 1 章 引  言
    1. 选题背景

随着互联网技术的飞速发展和人们对个性化需求的日益增加,人才推荐系统正逐渐成为协助企业和个人优化人才匹配的重要工具。传统的招聘方式存在许多问题,例如信息不对称、匹配效率低下、主观评价等,这导致了招聘效率低下和人才匹配不精准。而人才推荐系统借助大数据、机器学习和人工智能等技术,能够自动化地分析和推荐符合要求的候选人,提高招聘效率和匹配精准度。

Spark作为一种快速、通用的大数据处理引擎,具有并行计算、内存计算等优势,能够处理大规模数据,并且支持实时数据处理。结合Spark技术,可以构建高效的人才推荐系统,提高推荐速度和用户体验。

    1. 研究目的和意义

本研究旨在基于Spark技术构建人才推荐系统,通过大数据处理和机器学习算法实现对候选人的智能匹配和推荐。利用Spark技术对海量人才数据进行快速处理和分析,加快候选人筛选和匹配过程,减少人力成本和时间消耗。同时结合机器学习算法和用户行为数据,建立个性化的推荐模型,实现对候选人与职位的精准匹配,提高招聘成功率。通过实时推荐和个性化推荐功能,为企业和个人提供更好的招聘和求职体验,满足用户多样化的需求。

本研究对于推进人才招聘行业的智能化和数据化发展具有重要意义,可为企业提供更有效的人才招聘解决方案,推动劳动力资源的精准配置和优化。同时,也对推动Spark技术在人才推荐领域的应用和探索具有一定的参考意义。

    1. 研究现状

随着互联网的快速发展和普及,人才招聘市场也在不断变化和发展。传统的人才招聘方式往往受限于地域和人际关系,难以充分发挥市场潜力。因此,人才推荐系统应运而生,通过大数据和人工智能技术,为企业提供更精准、高效的人才匹配服务,实现人才与企业之间的优化匹配。

国内外大型互联网企业(如LinkedIn、腾讯、智联招聘等)在人才推荐系统方面进行了较深入的研究和实践。这些企业通过用户行为数据和算法模型,构建了复杂的人才画像和匹配系统,实现了精准匹配,提高了人才招聘的效率。学术界也对人才推荐系统进行了一定的研究,主要集中在推荐算法的改进和优化上。例如,基于协同过滤、内容过滤等算法来提高推荐的准确性和个性化度。

人才推荐系统不仅在招聘行业得到广泛应用,也在其他领域如电商、社交网络等产生了积极影响。通过人才推荐系统,用户可以更快速、便捷地找到所需的产品或信息,提高了用户体验和交易效率。

总体来说,人才推荐系统作为一种新型的人才招聘模式,正逐渐成为人力资源领域的重要趋势。未来,随着技术的不断进步和应用场景的不断扩大,人才推荐系统将迎来更广阔的发展空间和机遇。

    1. 论文结构安排

本文共分为七章,章节内容安排如下:

第一章为引言,此章节对所设计和实现的系统的背景和状况以及意义进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。

第二章为相关理论和技术介绍,主要对系统的框架、开发语言和数据库进行了简要概述。

第三章为项目概述,章节所做的主要的工作是对项目背景、项目的可行性分析与相关技术和工具简介进行了描述;对系统实行了总体功能的需求、用例进行了分析。

第四章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。

第五章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。

第六章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第七章:总结。

B/S体系,即Browser/Server体系,是一种常见的网络应用程序架构。其工作原理基于客户端与服务器之间的请求-响应模型。用户通过浏览器向服务器发送请求,服务器接收到请求后进行处理,并生成相应的响应结果,最终将响应返回给客户端。浏览器接收到服务器返回的响应后,解析其中的标记语言(如HTML),并根据CSS样式表和JavaScript脚本来渲染页面,呈现给用户。用户可以与页面进行交互,例如点击链接、填写表单等操作,这些操作会触发新的请求,循环执行上述过程。

B/S体系具有许多优点,包括跨平台性、易于维护和升级、减少客户端依赖等。它成为了现代Web应用程序开发的主流架构,广泛应用于各种互联网服务和企业级应用系统中。通过B/S体系,用户可以通过简单的浏览器访问各种在线服务和资源,无需安装额外的软件,提供了更便捷、灵活的使用体验。同时,服务器端的集中管理和维护,使得系统的升级和更新更加高效和便捷。总之,B/S体系的工作原理为我们提供了一个稳定、可靠且高效的网络应用程序架构,为用户提供了便捷的互联网服务。

    1. Spark框架介绍

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark是在Scala语言中实现的,它将Scala用作其应用程序框架。与Hadoop不同,Spark 和 Scala 能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建Spark是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop的补充,可以在Hadoop文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark由加州大学伯克利分校AMP实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

    1. MySQL数据库

MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),其稳定性、可靠性和卓越性能使其成为众多应用程序的首选数据库。MySQL支持标准SQL语法,并提供丰富的功能和特性,如事务处理、触发器和存储过程等,以满足开发者对数据管理和操作的需求。MySQL具有良好的可扩展性,支持主从复制、分布式架构和集群部署,适用于各种规模和负载的应用场景。作为一个开源项目,MySQL拥有庞大的用户社区和活跃的开发者社区,为用户提供了丰富的文档、教程和支持资源。总之,MySQL是一款可靠、强大且灵活的关系型数据库管理系统,通过其卓越性能和可扩展性,帮助开发者高效地管理和操作数据,并得到了广大用户的认可和应用。

    1. Java语言

Java编程语言是一种面向对象的高级编程语言,以其简单、可移植、安全和高性能等特点在软件开发领域广泛应用。通过支持类、对象、继承、多态等面向对象概念,Java提供了结构化的编程方式,使代码更易读、维护和重用。其可移植性得益于Java虚拟机(JVM),使得Java程序可以在不同平台上运行,只需编写一次代码。Java注重安全性,提供了字节码验证、异常处理和访问控制等安全机制,确保程序的稳定和安全。此外,Java还拥有丰富的类库和框架,覆盖了各个领域,如图形界面、数据库操作和企业级应用。总而言之,Java作为一门成熟且强大的编程语言,在软件开发中发挥着重要作用,帮助开发者轻松构建可靠、可移植和安全的应用程序。

  • 3 章 人才推荐系统的需求分析
    1. 系统可行性分析

在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对人才推荐系统的可行性分析,我们可以从技术、经济操作三个方面来评估其可行性,从而为其提供有效的支持和保障。

      1. 技术可行性分析

在技术可行性方面,我们选择使用大数据版的Java作为开发语言,结合相应的框架Spark,以实现系统的功能需求。Java作为一种简洁而强大的编程语言,具有丰富的库支持和成熟的开发社区,可以满足人才推荐系统的开发需求。Spark作为Java的Web框架,提供了高度可扩展的开发环境,使得系统的设计和实现更加便捷和高效。

      1. 经济可行性分析

在开发人才推荐系统并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上通过走访调查目前用户对人才推荐系统的需求,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。

      1. 操作可行性分析

操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的人才推荐系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成,因此在操作上也是可行的。

    1. 系统需求分析
      1. 功能需求分析

人才推荐系统的开发目的很简单,就是旨在通过利用Spark技术,构建一个高效精准的人才推荐系统系统在功能上划分为用户端和管理员端部分。

前台用户端:

(1)用户注册:注册页面输入账号、设置密码、确认密码、昵称、邮箱、选择身份、用户姓名、用户性别、联系电话、商品类型等信息,点击“立即注册”,注册成功会提示“注册成功”。注册成功后回到首页。

(2)用户登录:点击登录,登录时前端会自动校验输用户名、密码,输入正确登录成功,输入错误会有对应提示信息。

(3)公告通知:用户点击“公告通知”以后,系统当中所有的公告通知都会展示出来,如果想要了解某一公告通知的详细信息,点击后面的“详情”会进入详情界面。

(4)新闻资讯:用户点击“新闻资讯”可以搜索查看资讯信息,并可对资讯信息进行点赞、收藏和发表评论等操作。

(5)在线交流:系统提供了一个在线交流的模块,用户与用户之间可以进行在线聊天,交流心得。

6人才信息:点击菜单栏“人才信息”就会显示出所有的人才信息,可以根据搜索人才名称查看人才详细信息包括人才名称、人才性别、人才年龄、技能类型、人才用户、工作经历、教育背景、婚姻状况等,可对人才信息进行点赞、收藏和发表评论等操作。

(7)我的账户:可以修改个人信息资料以及修改密码。

(8)个人中心:用户点击右上角的“用户名”,然后点击“个人中心”便可查看人才信息和个人收藏信息。

管理员端:系统用户、人才信息管理、技能类型管理、系统管理、公告通知管理、资源管理

(1)个人资料:对个人的基本信息以及对自己账号登录的密码进行修改。

(2)系统用户:在系统用户管理模块中主要分了两部分,分别是管理员和普通用户,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。

(3)人才信息管理:点击“人才信息列表”这个按钮可以查看到系统中所有发布的人才信息,管理员可进行详情查看、添加或删除等相应操作。也可以管控用户发布的评论信息。

(4)技能类型管理:管理员点击“技能类型管理”可对人才技能的类型进行添加管理,并可进行查询、重置或删除等相应操作。

(5)系统管理:主要是轮播图管理,可进行查询、删除、添加,查看详情等操作,添加的轮播图在前台首页展示。

(6)公告通知管理:可进行查询、重置、删除、添加,查看详情等操作,添加的公告通知在前台首页展示。

(7)资源管理:主要是对系统展示的新闻资讯以及资讯分类进行增删改查等操作。

      1. 非功能需求分析

 非功能性分析旨在评估人才推荐系统的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保平台能够满足用户和系统运行的要求。具体如下3-1表格中:

3-1人才推荐系统非功能需求表

非功能性要求

说明

性能

评估响应时间、并发用户数、吞吐量等指标,以确保平台稳定高效地运行。

可靠性

评估系统的稳定性、容错能力和数据完整性,保障系统在故障情况下正常运行。

安全性

评估用户身份认证、数据加密和访问控制等,保护用户信息和交易的安全。

可用性

评估系统的稳定性、故障处理能力和用户界面友好性,提供良好的用户体验。

扩展性

评估系统的可扩展性和灵活性,以便根据需求进行功能扩展和升级。

    1. 系统用例分析

系统用例分析是对人才推荐系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程和交互方式,为系统设计和开发提供指导,并确保平台能够满足用户的需求和期望。

人才推荐系统中用户角色用例图如图3-1所示:

图3-1 用户角色用例图

人才推荐系统中管理员角色用例图如图3-2所示:

图3-2管理员角色用例图

    1. 系统流程分析

业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。

      1. 数据增加流程

用户登录系统后,选择要添加的信息类型,填写相应的信息表单并提交。系统对信息进行处理,并给予用户反馈结果。用户可以根据需要返回上级页面或继续操作。图3-3就是数据删除时的流程图。

图3-3 数据增加流程图

      1. 数据修改流程

数据修改时的流程和上面介绍的数据增加时的流程差不多,如图3-4所示。

图3-4  数据修改流程图

      1. 数据删除流程

用户登录系统后,导航至相应的信息管理功能入口。选择要删除的信息,并确认删除操作。系统进行删除处理,并给予用户反馈结果。用户可以根据需要返回上级页面或继续操作。图3-5就是数据删除时的流程图。

图3-5 数据删除流程图

    1. 本章小节

本章主要通过对人才推荐系统的可行性分析、功能需求分析、系统用例分析和系统流程分析,确定了该系统所需实现的功能。这些分析结果为人才推荐系统的代码实现和测试提供了标准和指导。可行性分析考虑了技术、经济和操作的可行性,确保系统的实施可行;功能需求分析明确了系统需要实现的功能模块和具体要求;系统用例分析细化了系统功能,并定义了参与者、前置条件和基本流程;系统流程分析详细揭示了系统的运行流程和数据流动路径。这些分析结果为开发团队提供了明确的目标和指导,可以根据需求逐步实现各个功能模块,并在测试阶段验证系统是否满足预期要求。同时,分析结果也为未来的系统扩展和升级提供了基础和参考依据。

  • 4 章 人才推荐系统总体设计
    1. 系统架构设计

在系统架构设计中,我们将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图4-1所示。

图4-1人才推荐系统架构设计图

表现层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。

业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。

数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。

这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。

    1. 系统功能模块设计

通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。具体的功能模块图如图4-2所示。

图4-2 人才推荐系统功能模块图

    1. 数据库设计

数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。

      1. 数据库概念结构设计

数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我们将定义系统中涉及的各个实体以及它们之间的联系。下面是整个人才推荐系统中主要的数据库表总E-R实体关系图。

图4-3人才推荐系统总E-R关系图

      1. 数据库逻辑结构设计

数据库逻辑结构设计则是在概念结构的基础上,进行具体的数据库表设计。我们将定义每个表的结构、字段和约束,并建立表与表之间的关系。具体如下: 

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_users_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

Y

N

用户名称

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_age

int

10

0

Y

N

0

用户年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表skill_type (技能类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

skill_type_id

int

10

0

N

Y

技能类型ID

2

skill_type

varchar

64

0

Y

N

技能类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表talent_information (人才信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

talent_information_id

int

10

0

N

Y

人才信息ID

2

talent_name

varchar

64

0

Y

N

人才名称

3

talent_gender

varchar

64

0

Y

N

人才性别

4

talent_avatar

varchar

255

0

Y

N

人才头像

5

talent_age

int

10

0

Y

N

0

人才年龄

6

skill_type

varchar

64

0

Y

N

技能类型

7

talent_users

int

10

0

Y

N

0

人才用户

8

work_experience

varchar

64

0

Y

N

工作经历

9

educational_background

varchar

64

0

Y

N

教育背景

10

marital_status

varchar

64

0

Y

N

婚姻状况

11

talent_details

longtext

2147483647

0

Y

N

人才详情

12

praise_len

int

10

0

N

N

0

点赞数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_chat_friend

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_chat_friend_id

int

10

0

N

Y

id

2

user_id

int

10

0

N

N

用户id

3

friend_user_id

int

10

0

N

N

用户好友id

4

friend_user_name

varchar

255

0

Y

N

好友名称

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

表user_chat_group

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_chat_group_id

int

10

0

N

Y

id

2

group_id

int

10

0

Y

N

群聊id

3

group_name

varchar

255

0

Y

N

群聊名称

4

user_id

int

10

0

Y

N

用户id

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

表user_chat_read

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_chat_read_id

varchar

255

0

N

Y

id

2

user_id

int

10

0

Y

N

接收人id

3

send_user_id

int

10

0

Y

N

发送人id

4

group_id

int

10

0

Y

N

群聊id

5

type

int

10

0

Y

N

类型1-点对点消息,2-群聊消息

6

create_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

时间

7

message

text

65535

0

Y

N

消息

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 本章小结

通过以上的设计工作,我们将为系统的开发提供清晰的指导和规范,确保系统能够按照需求进行开发,并且具备良好的可维护性和扩展性。

前台首页界面是用户访问系统的入口页面,它应该展示平台的主要功能和特色,并提供导航链接以便用户浏览和搜索人才信息。首页界面的设计应注重页面的美观性和用户体验,同时也需要考虑页面的加载速度和响应性能。其主界面展示如下图5-1所示。

图5-1系统首页界面图

    1. 登录模块

用户登录界面用于已注册用户进行账号登录,用户需要输入正确的用户名和密码才能成功登录系统。登录界面应对用户的输入进行验证,并提供密码找回或重新注册的选项。界面如下图所示。用户登录流程如图5-2所示,登录界面如下图5-3所示

5-2 用户登录流程

系统登录界面如下图所示。

图5-3登录界面图

    1. 注册模块

用户注册界面用于新用户进行账号注册,用户需要填写必要的个人信息并选择合适的用户名和密码。注册界面应该进行输入验证和数据格式检查,确保用户提供有效的信息。界面如下图所示。注册流程图如图5-4所示,注册界面展示如下图5-5所示。

5-3注册流程图

图5-4 前台注册界面图

    1. 公告通知模块

当访客点击人才推荐系统中导航栏上的“公告通知”后将会进入到该“公告通知”列表的界面,然后选择想要看的公告通知,点击进入到详细界面。公告通知列表展示界面如下图所示。

图5-5公告通知界面图

    1. 新闻资讯模块

用户点击“新闻资讯”可以搜索查看资讯信息,并可对资讯信息进行点赞、收藏和发表评论等操作。新闻资讯详情界面如下图5-6所示。

图5-6新闻资讯界面图

    1. 在线交流模块

系统给用户与用户之间提供了一个在线交流。聊天的平台,用户在此模块可以进行信息交流、聊天。在线交流页面如下图所示。

图5-7在线交流界面图

    1. 人才信息模块

人才信息模块的实现是指在人才推荐系统中,提供一个功能来管理和展示人才相关的信息。用户可以通过该模块查看人才的人才名称、人才性别、人才年龄、技能类型、人才用户、工作经历、教育背景、婚姻状况等详细信息,并进行点赞、收藏、评论人才信息。这个模块的目的是方便用户对人才信息进行有效的浏览。人才信息详情如下图所示。

图5-8人才信息详情界面图

    1. 系统用户管理模块

用户管理界面用于管理员对用户账号进行管理,包括用户信息的查看、编辑和删除等操作。管理员可以根据需要进行用户权限的控制和账号状态的管理。界面如下图5-9所示。

图5-9系统用户管理界面图

    1. 系统管理模块

管理人员在“系统管理”这一菜单下是可以对人才推荐系统内的轮播图进行添加修改的,轮播图管理界面如下图5-10所示。

图5-10轮播图管理界面图

测试目的是为了验证系统的功能、性能和稳定性,以确保系统在实际应用中能够达到预期的要求。通过测试,可以发现潜在的问题和缺陷,并及时进行修复和改进。测试还可以评估系统的可靠性、安全性和用户体验,以提供一个高质量和可信赖的产品。此外,测试也有助于验证系统是否满足用户需求和预期,是否符合相应的标准和规范。总之,测试的目的是为了确保系统的质量和可靠性,从而为用户提供良好的使用体验和价值。

    1. 系统部分测试

表6-1用户注册测试用例

测试编号

测试内容

预期结果

TC-001

输入有效信息

注册成功,跳转到登录页面

TC-002

输入已存在账号

显示账号已存在的提示信息

TC-003

输入无效信息

显示注册失败的提示信息,要求重新输入有效信息

表6-2用户登录测试用例

测试编号

测试内容

预期结果

TC-004

输入正确的账号密码

登录成功,跳转到个人主页

TC-005

输入错误的账号密码

显示登录失败的提示信息,要求重新输入正确的账号密码

表6-3 修改密码测试用例

测试编号

测试内容

预期结果

TC-006

输入有效密码

密码修改成功,显示修改成功的提示信息

TC-007

输入无效密码

显示密码无效的提示信息,要求重新输入有效密码

TC-008

输入错误原密码

显示原密码错误的提示信息,要求重新输入正确原密码

表6-4 在线交流测试用例

测试编号

测试内容

预期结果

TC-009

输入有效的在线交流

在线交流成功,显示添加成功的提示信息

TC-010

输入无效的在线交流

显示添加失败的提示信息,要求重新输入有效信息

表6-5 查看人才信息测试用例

测试编号

测试内容

预期结果

TC-014

点击查看人才信息

显示人才信息页面,展示相关的人才编号、人才名称、技能类型、作者姓名、出版社等内容

TC-015

选择其他技能类型

显示所选分类下的相关人才信息等内容

TC-016

无可用人才信息信息

显示暂无人才信息的提示信息,提醒用户重新选择技能类型

    1. 系统测试结果

综上所述,人才推荐系统在功能测试中表现良好,通过了所有测试用例。系统提供的用户注册、登录、修改密码、在线交流、查看人才信息等主要功能都能正常运行,并能够给出预期的提示信息和结果。然而,为了确保系统的全面稳定性和质量,仍建议进行更多的综合性测试,包括性能测试、安全性测试和用户体验测试等,以进一步验证和改进系统的功能和性能。

  • 7 章 结论

本文描述了基于Spark的人才推荐系统设计与实现的原理和开发过程,在开发本人才推荐系统之前,首先通过网上查询现有的人才推荐系统功能、线下通过问卷调查的方式,了解用户对人才信息展示方面的具体需求,对系统的开发背景以及推荐系统的研究现状进行研究,设计了本人才推荐系统具体实现的功能;确定好功能后,第二步就是开发工具的选择,在设计本人才推荐系统的时候,确定了使用大数据爬虫技术,采用了现下比较流程的Java语言,采用Spark框架,数据的存储方面采用的是开源的MySQL数据库,接下来就是对系统需求的分析,在文中主要通过对幼人才推荐系统进行可行性、性能、功能、用例四个方面进行分析,确定了本人才推荐系统的具体功能,功能确定后就是对系统的设计以及,包括前后台、数据库等方面,最终完成系统的开发,对系统进行测试总结。

在开发本人才推荐系统的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成,但是还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善,由于自己专业知识的浅薄,系统做的并不是十分完美,以后我会不断进行学习,对系统进行完善,希望有机会能够投入到学校的使用当中,给同学们提供便利。

参考文献

[1]赵青,权文利,陈亚瑞,等.基于Spark分布式框架的海量星表数据时序重构方法研究[J].天文学进展,2024,42(01):86-101.

[2]V. N S ,V. S P ,A. V C , et al.Features of Spark Erosion Fine Powders of Mo and Nb Alloys[J].Inorganic Materials: Applied Research,2024,14(5-6):1348-1355.

[3]沈伍强,沈桂泉,许明杰,等.一种基于Spark的配置优化技术[J].微型电脑应用,2024,40(02):93-96+105.

[4]Vijayakumar P ,B. D R J ,Parsi K , et al.Exponential Squirrel Search Algorithm-Based Deep Classifier for Intrusion Detection in Cloud Computing with Big Data Assisted Spark Framework[J].Cybernetics and Systems,2024,55(2):331-350.

[5]施志龙,陈赣,谢国良.一种基于spark的边缘云大数据分析算法研究[J].长江信息通信,2024,37(02):183-185.DOI:10.20153/j.issn.2096-9759.2024.02.055.

[6]牛庆丽,朱耀琴.基于Spark计算的大数据终端潜在异常识别仿真[J].计算机仿真,2024,41(01):518-521+526.

[7]贾淑滟.基于Spark技术的大数据智能分析平台构建[J].滨州学院学报,2023,39(06):86-91.DOI:10.13486/j.cnki.1673-2618.2023.06.012.

[8]顾炜伦.基于Spark和深度学习的图书推荐算法与应用研究[D].西京学院,2023.DOI:10.27831/d.cnki.gxjxy.2023.000128.

[9]汤梦瑶,程斐斐.基于Spark的地震数据分析与可视化系统设计与实现[J].现代信息科技,2023,7(18):20-24+30.DOI:10.19850/j.cnki.2096-4706.2023.18.004.

[10]边宁.基于Spark的大数据分析系统设计和实现[J].信息记录材料,2023,24(09):202-204.DOI:10.16009/j.cnki.cn13-1295/tq.2023.09.062.

[11]宋伟,赵利刚,伍志新.基于档案数据挖掘的人才信息主动推荐技术[J].微型电脑应用,2023,39(06):111-113+117.

[12]孙秀婕,葛欣竹,唐征.Spark大数据技术在电信行业中的应用探究[J].电信快报,2023,(06):16-20.

[13]何福通.科技人才推荐系统的设计与实现[D].西南大学,2023.DOI:10.27684/d.cnki.gxndx.2023.001699.

[14]赵家贝.基于数据挖掘的职位信息可视化分析与个性化推荐[D].华东师范大学,2022.DOI:10.27149/d.cnki.ghdsu.2022.001181.

[15]Govardhan A ,Madhavi A ,Nagesh A .A Study on E-Learning and Recommendation System[J].Recent Advances in Computer Science and Communications,2022,15(5):

[16]陈慧.基于深度学习算法的高校人才个性化智能推荐系统[J].电子设计工程,2021,29(21):38-42.DOI:10.14022/j.issn1674-6236.2021.21.008.

[17]黄金波,蒲章雨,王杰,等.一种高校“T”型人才简历管理推荐系统[J].中国科技信息,2021,(19):82-87+13.

[18]Evangelos K ,Nan W .A Recommendation System for People Analytics[J].International Journal of Business Intelligence Research (IJBIR),2021,12(2):1-12.

[19]赵前超.基于微服务技术的研究生人才推荐系统研建[D].北京林业大学,2021.DOI:10.26949/d.cnki.gblyu.2021.000106.

[20]王元卓,科技人才大数据分析系统.河南省,中科院计算技术研究所大数据研究院,2021-03-01.

致谢

在完成本研究工作过程中,我们要向指导老师表示衷心的感谢。感谢老师在选题、需求分析、系统设计和实现等方面给予的细致指导和支持。老师的专业知识和经验对我们的研究工作起到了重要的指导作用。此外,还要感谢师兄师姐和同学们,他们在技术问题上给予了很多帮助和建议。感谢他们的悉心指导和无私分享,使我们能够更好地完成研究工作。最后,要感谢家人和朋友们对我们学业上的理解和支持。感谢他们的鼓励和陪伴,给予了我们坚持下去的动力。

感谢所有为本研究工作做出贡献的人们!你们的支持和帮助使本研究取得了成功。再次向所有相关人员表示衷心的感谢!

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值