基于Spark Streaming的高校智慧图书馆的构建

发表时间:2021/1/5   来源:《科学与技术》2020年27期   作者:宫丽君
[导读] 随着信息爆炸时代的到来,传统的数据采集、处理、分析方法已经无法充分利用这些海量数据
        宫丽君
        沈阳工程学院图书馆  辽宁沈阳  110136
        摘要:随着信息爆炸时代的到来,传统的数据采集、处理、分析方法已经无法充分利用这些海量数据,因此构建基于Spark Streaming流式处理框架的智慧图书推荐系统,采用Flume收集数据、HDFS存储数据、Spark Streaming在线数据挖掘,从而到达个性化推荐的目的,进一步提高图书馆对读者的服务能力。
        关键词:Spark Streaming;高校;智慧图书馆
        1.相关研究
        2003年,芬兰奥卢大学图书馆的Aittola M、Ryha nen T和Ojala T等人共同提出“智慧图书馆”的概念,其指出“智慧图书馆”即可以不受位置的约束、全面感知的图书馆服务,从而提高读者检索的速度[1]。我国从2005年开始进行智慧图书馆的相关研究。2010年,严栋在《基于物联网的智慧图书馆》[2]一文中提出“智慧图书馆”就是将图书馆、智慧化设备通过物联网联系在一起,并通过云计算使得图书馆更“智慧”。南京信息工程大学图书馆的徐蕾采用基于 Spark 框架来实现实时和全面的数据收集和处理[3],李静采用面向服务架构技术、大数据挖掘技术、人工智能技术和IBeacon定位技术构建智慧图书馆[4]。王世伟对智慧图书馆的未来发展提出了若干思考[5]。
        随着大数据时代的到来,传统图书馆产生的图书元数据、读者身份数据、借阅数据、浏览数据等数据都逐渐具有了大数据的“5V”特征,即1V:Volume,数据量大,不仅表现在数据采集量大,而且存储量和计算量也非常大;2V:Variety,种类多样化,包括日志文件、位置信息等结构化、非结构化数据;3V:Value,数据价值密度相对低,需要从这些海量的数据中找到真正具有价值的数据相对困难;4V:Velocity,数据增长速度极快,因此需要数据处理速度快;5V:Veracity,数据的准确度。这些特征对智慧图书馆的构建提出了更高的要求。
2.基于读者大数据的智慧图书馆系统的设计与构建
        大数据时代的到来推进了智慧图书馆的建构,通过利用大数据架构构建智慧图书馆,可以将读者、资源和图书管理员紧密联系在一起,同时也可以充分利用智慧图书馆的使用过程中产生的各类数据,如读者身份信息、出入馆信息、浏览信息及借阅信息等,通过对这些大数据进行存储、采集、处理、挖掘,可以更充分地了解读者行为,从而进一步为读者提供更个性化的服务。因此,本文通过基于Spark Streaming流式处理框架构建高校智慧图书馆系统,该系统架构包括数据感知层、数据存储层、数据处理层和数据应用层四个逻辑层面,具体设计如图1所示:

        数据感知层:该层的主要功能是采集数据,将REID智慧感知、座位管理系统、自助借还机、入馆闸机、图书馆官方网站、电子书借阅机等物理设备产生的数据进行采集。数据感知层获取数据方式的多样性会影响智慧图书馆数据种类的多样化及个性化推荐等功能。
        数据存储层:使用Flume分布式日志收集系统对数据感知层的数据进行采集,并将采集到的大数据,如图书元数据、读者身份数据、借阅数据、浏览数据、出入馆数据、其他结构化数据等数据,存储到Spark Streaming分布式文件系统HDFS中,保证数据的安全性和可靠性。
        数据处理层:针对读者出入馆、借阅、浏览等场景,采用Spark Streaming流式处理框架对HDFS中的数据进行挖掘分析。
        数据应用层:将数据处理层挖掘后的数据及时反馈、转化为价值,为读者提供更个性化的服务,使图书馆更具有“智慧性”。
3.系统实现及关键技术
        基于Spark Streaming的智慧图书馆系统首先使用Flume对日志进行收集,将收集好的日志进行数据过滤、清洗后结构化入库到HDFS中,采用Spark Streaming 流式处理框架对HDFS中的数据进行挖掘,得到有价值的数据并反馈给前端。
3.1 Flume数据采集
        在多服务器的情况下,读者留下的日志行为会被散落在各个服务器,数据非常分散,需要一个工具将散落的数据进行收集,供后续流程使用。
        Flume分布式日志收集系统是一个分布式、可信任的弹性系统,可以高效地将多个服务器中的日志信息收集、汇聚和移动到一个集中的数据存储中心如HDFS上。Flume在整个智慧图书馆分布式系统架构中起到承上启下的作用,上可以收集各个服务器产生的数据,下可以将采集到的数据存储到HDFS上。Flume的可靠性主要依靠以下几点:一,Flume使用事务性的方法来保证事件交互的可靠性;二,在整个处理过程中,如果因为网络中断或者其他原因,在某一步被迫结束了,该数据会在下一次重新传输;三,Flume可靠性还体现在数据可暂存上面,当目标不可访问后,数据会暂存在Channel中,等目标可访问之后,再进行传输。
3.2 HDFS数据存储
        HDFS全称是Hadoop分布式文件系统。HDFS具有系统可靠性、可扩展行和并发处理的优点。HDFS采用机架感知策略保证数据的安全性,该策略将三个block副本中的第一个副本放置在与客户端相同的节点,第二个副本放置在与第一个副本所在机架不同的另一个机架上,第三个副本放置在与第二个副本同机架但不同的节点上。HDFS会对数据进行完整性校验,在写入数据时计算校验和,在读取数据时验证校验和,以此来确保数据在存储或处理过程中丢失或损坏。本文采用数据库检测程序DataBlockScanner进行数据安全性校验,通过在DataNode节点上开启一个后台线程,来定期验证存储在它上所有块,防止物理介质出现损减情况而造成数据损坏。通过采用机架感知策略、数据完整性校验等容错措施有效保证了HDFS的可靠性。
3.3 Spark Streaming 数据挖掘
        传统的MapReduce计算框架进行数据挖掘有以下几个缺点:1.由于启动Map任务和Reduce任务耗时长,所以调度慢;2. 计算慢,每一步都要保存中间结果到磁盘;3缺乏作业流描述,因此一项任务需要执行多轮MapReduce。 而Spark 计算框架通过以下方式解决了这几个问题:1.采用多个线程共享内存资源的方式,可以最大化利用内存;2.Spark将中间计算结果放在内存中,加速了迭代速度,在使用内存计算的情况下,Spark的计算速度可以比MapReduce快100多倍;3.Spark将计算结果加载在内存,供下游的众多任务共同使用,加速了后续的查询和处理操作。
        Spark Streaming是Spark体系中的流式处理框架,可以实现高吞吐量的处理,接受Kafka、Flume、HDFS等来源的实时数据,并将结果保存在HDFS等地方。它与其他流式处理框架相比的优势是:Spark Streaming能与spark SQL、MLlib、Graph X 进行无缝拼接。
4.结束语
        本文结合智慧图书馆的相关研究,构建了基于Spark Streaming的高校智慧图书馆系统,并对该系统架构的关键技术进行了阐述,随着科技的不断发展,智慧图书馆的研究会更加全面、完善,为读者提供更智能、更个性化的服务,使图书馆真正迈向可持续发展之路。

参考文献
[1]Aittola M,Ryha nen T,Ojala T.Smart Library: Location - AwareMobile Library Service[J].International Symposium on HumanComputer Interaction with Mobile Devices and Services,2003( 5) : 411-415.
[2]严栋. 基于物联网的智慧图书馆[J]. 图书馆学刊,2010, 32(7): 8–10.
[3]徐蕾,孔伟.基于大数据的智慧图书馆系统框架与实 现[J].实验技术与管理,2020,37(3):71- 75.
[4]李静,杨敏.大数据背景下智慧图书馆系统框架设计与数据管理[J].大学图书情报学刊,2019,37(05):108-111.
[5]王世伟.关于智慧图书馆未来发展若干问题的思考[J].数字图书馆论坛,2018(07):2-10.

作者简介
宫丽君(1994-),女,汉族,辽宁沈阳人,硕士,助理工程师,研究方向:大数据
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: