资讯详情

资讯详情

基于 Spark 的高校图书馆借阅数据分析系统的设计与实现

一、研究背景与意义随着高校办学规模的不断扩大与图书馆馆藏资源的持续丰富高校图书馆每日产生的图书借阅、归还、续借、检索等业务数据呈快速增长态势。传统图书馆管理系统虽然完整记录了这些业务流水但数据多以业务报表形式零散存储管理人员难以及时从中发现读者借阅行为规律、馆藏利用效率以及图书采购结构中存在的问题导致图书荐购、读者服务与馆藏建设决策长期依赖经验判断。与此同时图书馆借阅数据具有典型的大数据特征数据量随学年累积持续增长、数据来源包含业务库与读者行为日志、分析需求兼具离线统计与多维查询非常适合采用Spark 等大数据处理框架进行分析。从大数据专业视角看本课题以高校图书馆借阅业务为应用场景设计并实现一套覆盖数据采集、分布式清洗、多维度分析与可视化展示的借阅数据分析系统既能够综合运用Hadoop、Spark、Python 等大数据技术栈又能够结合 SpringBoot、Vue等前后端框架完成工程化落地。系统分析结果可直接服务于图书馆的图书荐购、热门书库调整与读者阅读推广工作具有明确的应用价值。二、国内外研究现状一国外研究现状国外方面图书馆数据分析研究起步较早。Kimberly 等人于 2003年将联机分析处理OLAP技术引入高校图书馆通过构建借阅数据仓库实现对馆藏流通率的多维统计达到了支持馆藏决策的目的。Chao 等人于2007年将数据挖掘中的关联规则算法应用于学术图书馆借阅日志发现读者借阅行为之间的频繁项集用于改善学科馆藏配置。随着大数据技术兴起Bharathi等人于 2015 年基于 Hadoop平台构建了数字图书馆读者行为分析框架解决了传统单机数据仓库在面对千万级借阅记录时性能不足的问题。Khan 等人于 2018 年进一步引入Spark内存计算模型对图书馆借阅数据进行并行化挖掘显著缩短了月度统计报表的生成时间。上述研究分别从数据仓库建模、关联规则挖掘、分布式存储与内存计算四个层面推动了图书馆数据分析技术的发展。二国内研究现状国内方面清华大学图书馆与重庆大学图书馆等机构较早开展了读者借阅行为分析通过统计年度借阅量、热门图书排行与读者专业分布为馆藏资源优化提供数据支撑。武汉大学相关学者基于Apriori算法对高校图书馆借阅日志进行关联规则挖掘识别出不同学科图书之间的共借关系用于指导图书排架与阅读推荐。在大数据工程实践层面国内学者基于Hadoop 与 Spark平台构建了高校图书馆读者行为分析系统实现了借阅日志的离线清洗、读者分群与热门图书统计部分研究进一步将协同过滤算法引入图书推荐场景依据读者历史借阅记录向其推荐相似图书提升了图书馆阅读推广服务的个性化水平。三研究述评综合来看现有研究在图书馆借阅数据仓库建模与关联规则挖掘方面已较为成熟但多聚焦于单一算法验证或单一报表复现针对本科教学与工程实践场景将数据采集、Spark分布式处理、读者行为多维分析与可视化展示完整串联的可落地系统仍较少见。在前人研究基础上本课题拟以高校图书馆借阅数据为对象设计并实现一套基于Spark 的借阅数据分析原型系统重点解决中小规模数据集下数据采集规范化、Spark 离线分析流程化与分析结果可解释性三个问题。三、研究内容与系统功能设计本课题围绕“采集—处理—分析—展示”主线展开系统在功能上划分为数据采集、数据处理、数据分析、可视化展示与前后端交互五个模块。一数据采集模块 数据采集模块负责从图书馆业务系统获取分析所需的原始数据。系统采用三条数据获取路径一是使用 Sqoop 与 Python脚本从图书馆集成管理系统ILS业务库中定时抽取读者基本信息、图书在藏信息与借阅流通记录形成读者表、图书表与借阅流水表二是从图书馆OPAC检索日志中采集读者检索关键词、检索时间与点击行为作为借阅行为的补充三是在真实业务数据获取受限时使用脱敏后的公开高校借阅数据集与模拟生成的借阅日志作为演示数据。采集到的数据以结构化文本与JSON 格式写入 HDFS为后续处理提供统一数据源。 二数据处理模块 数据处理模块基于 Hadoop 与 Spark搭建分布式处理链路。原始借阅数据中存在重复借阅记录、读者或图书外键缺失、借阅时间格式不统一、超期未还记录不规范等问题需要先进行清洗使用Spark SQL对原始数据进行去重、缺失值过滤、异常借阅时长剔除与字段规范化将读者专业、年级、图书分类号等类别型字段进行编码处理将借阅流水按读者 ID与借阅时间排序构建读者—图书借阅矩阵并按学年、学期、月份汇总中间结果。处理后的结构化数据写入 Hive 数据仓库与MySQL分别服务于离线分析与在线查询。 三数据分析模块数据分析模块在清洗后的数据基础上开展多维度分析是系统的核心模块。一是借阅趋势分析统计近五个学年的年度借阅量、月度借阅量与读者活跃度变化识别开学季、考试季等典型借阅高峰二是热门资源分析按图书分类号统计各类别借阅量分布生成借阅次数排行前50 的热门图书清单与高流通率学科榜单三是读者画像分析基于读者的借阅频次、借阅册次、续借次数与学科偏好等行为特征使用 K-Means聚类将读者划分为深度阅读型、考试备战型、专业研究型与低频借阅型四类群体四是关联规则分析使用 FP-Growth算法挖掘读者共借图书之间的频繁项集发现“借阅 A 书的读者同时借阅 B书”的关联规律用于指导图书排架与阅读推荐五是图书推荐分析以基于物品的协同过滤算法为核心依据读者历史借阅记录为其推荐相似图书。四可视化展示模块 可视化展示模块将分析结果通过 ECharts在前端进行呈现。其中柱状图用于对比各图书类别借阅量与各学院读者借阅量折线图用于展示近 30个月借阅量与读者活跃度的变化趋势饼图用于展示读者分群占比与图书类别占比词云用于展示读者 OPAC检索高频关键词。图书馆管理人员可通过可视化看板直观掌握馆藏利用情况普通读者可查看个人借阅画像与个性化图书推荐列表。 五前后端交互模块系统后端采用 SpringBoot 框架封装数据查询、统计报表获取、读者画像查询与图书推荐等 RESTful 接口前端采用 Vue框架构建管理端与读者端两套界面管理端面向图书馆馆员提供借阅统计、读者分群与馆藏分析功能读者端面向在校学生提供个人借阅历史、热门图书与个性化推荐功能。系统对读者姓名、学号等敏感字段进行脱敏展示确保读者隐私安全。四、关键技术与技术路线本系统涉及的关键技术包括使用 Sqoop 与 Python 完成业务数据采集使用 HDFS 进行分布式存储使用 Spark 与Spark SQL 完成离线数据清洗与特征计算使用 Spark MLlib 完成 K-Means 聚类与协同过滤推荐使用FP-Growth 算法完成借阅关联规则挖掘使用 Hive 构建图书馆数据仓库使用 SpringBoot 与 MySQL完成后端服务与数据持久化使用 Vue 与 ECharts 完成前端交互与可视化展示。开发环境采用 CentOS 虚拟机搭建 Hadoop伪分布式集群JDK 版本为 1.8Scala 版本为 2.12Spark 版本为 3.x后端基于 JDK 17 与SpringBoot 3.x前端基于 Vue 3 与 ElementPlus。技术路线按照“需求分析—环境搭建—数据采集—数据处理—数据分析—可视化集成—系统测试”的顺序推进各阶段产物依次衔接确保数据从采集到可视化展示形成完整闭环。五、可行性分析一技术可行性本课题所使用的 Hadoop、Spark、Spark MLlib、Python、SpringBoot 与 Vue等技术均为成熟开源技术栈社区资料丰富课程教学中已有相关基础。K-Means、FP-Growth 与协同过滤算法原理清晰、在 SparkMLlib 中已有现成实现单机即可完成百万级借阅记录的分析计算技术实现路径明确技术可行性高。二操作可行性系统部署在本地虚拟机组成的伪分布式环境中无需依赖外部商业资源演示阶段可使用脱敏后的公开高校借阅数据集与模拟生成的借阅日志完成全流程验证操作流程可复现不依赖特定硬件条件普通开发笔记本即可完成开发与演示操作可行性良好。三经济可行性系统所采用的开发工具、大数据组件与框架均为开源免费软件开发过程不产生软件授权费用硬件方面仅需一台具备 8GB以上内存的个人计算机即可满足伪分布式环境的运行需求整体经济成本可控经济可行性满足本科毕业设计要求。四法律可行性法律可行性独立说明如下数据采集阶段严格遵守《中华人民共和国网络安全法》《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》的相关规定仅从图书馆业务系统获取用于教学分析的借阅流水数据不采集读者身份证号、联系方式等敏感个人信息对涉及读者姓名、学号的字段进行脱敏与哈希处理后再用于分析系统仅用于教学与毕业设计演示不用于任何商业用途演示阶段优先使用公开数据集与脱敏后的模拟数据确保数据来源合法、使用合规不存在侵犯读者个人信息权益的风险。六、预期成果与创新点预期成果包括一套可运行的高校图书馆借阅数据分析原型系统包含数据采集脚本、Spark 离线分析作业、K-Means读者分群与协同过滤图书推荐服务、SpringBootVue 前后端界面与 ECharts 可视化看板一份完整的毕业设计论文。创新点主要体现在三个方面一是将图书馆业务库数据采集、Spark分布式清洗与多种挖掘算法完整串联形成端到端图书馆大数据分析实验流程二是在借阅趋势与热门资源分析基础上结合 K-Means 读者分群与FP-Growth共借关联规则使分析结果同时支撑馆员决策与读者推荐三是将管理端看板与读者端推荐界面集成使同一套分析结果同时服务于管理与服务两类用户。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →