APP下载

基于Spark 技术的高校校史编研系统研究与实现

2022-11-23杨珍珍张坚君浙江中医药大学

浙江档案 2022年1期
关键词:校史编研数据处理

杨珍珍 张坚君/浙江中医药大学

近年来,校史编研工作得到了许多高校的重视,高校出版了大量的编研成果,校史编研取得了积极的成绩,形成了当代历史研究的一个新领域。随着各个高校电子校务、智慧校园等项目的建设,校史编研工作也出现了新的趋势,研究内容更丰富,不再局限于高校自身的历史,开始关注同一历史时期不同高校的共性及差异性研究;研究方法有创新,校史研究从传统的手工资料收集、史料整理向计算机数据分析处理、专题研究转变,并利用多媒体手段探索校史成果的多样化展示及多元化传播。但是距离世界一流大学的建设要求,或是与其他领域的编研工作水平相比,都存在一定的差距,主要表现为史料收集工作效率低、编研成果挖掘深度不够、展示形式有待进一步拓展、编研成果无法有效利用等。

为提高高校校史编研工作效率、充分挖掘高校校史资源价值,充分利用新技术手段探索校史成果展示形式,本文拟选择当前热度比较高、应用比较广泛的Apache Spark这一大数据处理框架,构建高校校史编研模型,探索高效、灵活的校史编研方法,最终形成准确、完整、生动的校史编研成果。

1 校史编研

校史即学校的历史,校史编研顾名思义就是对学校的历史进行编写和研究[1]。校史编研是高校档案工作的一项重要内容,是校史档案信息资源开发利用的一种高级形式,自1984年8月教育部下发《关于编写校史的通知》以来,校史研究队伍逐步壮大,研究内容不断拓展,研究方法和手段也日趋多样,研究成果日益丰富[2]。

传统的校史编研多以书籍资料、画册、展览等的实体展示为主。随着学校信息化及智慧校园建设的不断深化,校史资源散存在数量庞大、数据冗余的各类信息系统中。这一方面给校史编研带来了新的机遇,高校能够运用各类信息化工具整合校史资源、挖掘校史之间的内在联系、多样化地呈现校史编研成果;另一方面也给校史编研带来了新的挑战,传统的校史编研如何改进、如何适应新的技术进步成为难点。目前传统校史编研主要存在以下四个方面的问题。

一是史料收集工作效率低下。校史编研依托于海量的校史资料,尽管高校档案馆(室)保存着大量学校第一手史料,但是仍不能满足校史编研的需要。高校各部门、学院有独立的信息系统,甚至出现一个部门有多个系统的情况,各个信息系统并不互通,还会出现“数据打架”的情况,底层数据结构也不尽相同。这就给数据资源的收集、鉴别与整合带来了一定的难度。

二是编研成果挖掘深度不够。由于校史编研起步较晚,基础相对薄弱,不少高校也不够重视校史编研这项工作,没有投入充足的人力物力,尤其是校史编研队伍的专业化水平有待提高。校史编研人员多是办公室人员或档案人员,他们缺乏专业的编史修志知识,也不具备各类数据库系统知识或数据分析与挖掘能力等。校史编研的成果主要为校史档案的汇编或选编,编研方法多是编史修志、史料汇编等,多“编”少“研”的问题突出,深入的研究分析不足。

三是编研成果展示形式单一、新技术应用不足[3]。大部分校史编研成果为史料汇编,多为图片加文字说明,有些则全部是文字,很少为音频、视频展示;网上展厅也只是单纯的在线展示线下展览的内容,缺乏与观众互动或应用新技术。特别是各类可视化、动态化的技术如可视化技术Html5、图表绘制工具Chart.js的应用较少,人机交互等人工智能技术的应用也很少。

四是编研成果无法有效利用。一方面校史编研成果没有很好地宣传,受众面狭窄,多是在档案系统内部传播,其内容也未必能“深入人心”[4]。另一方面校史编研成果多是固化的书籍资料、画册、展览等,一次编完很难及时更新内容,与公众的互动有待加强。

2 Apache Spark技术分析

Apache Spark 是一个在集群上运行的统一计算引擎以及一组并行数据处理软件库[5],是一个围绕速度、通用和复杂分析构建的大数据处理框架。2009年它诞生于加州大学伯克利分校AMP实验室,2010年成为Apache的开源项目之一,2013年已经得到了广泛的应用。

作为目前应用最广泛的开源大数据处理框架,Spark的最大优势在于拥有数量庞大的资源、工具和社群力量。Spark生态系统以Spark Core为核心,这是一个包含了交互式查询(SparkSQL)、实时流处理(Spark Streaming)、机器学习(SparkMLlib)和图计算(GraphX)等多个子项目的集合。它是在借鉴主要运行在计算机集群上的并行计算引擎Hadoop Map Reduce之上发展起来的,继承了其分布式并行计算的优点并进行了改进,能高效支持更多的计算模式,如流处理、交互式查询、迭代算法等。通过Spark这一统一的框架,原本需要多种不同分布式平台的处理流程得以整合在一起,大大减轻了管理多个平台的负担。

Spark主要使用Scala语言进行编写,并支持多种编程语言运行Spark代码,应用程序由一个驱动器进程(Driver)和一组执行器(Executor)进程组成,以弹性分布式数据集(RDD)为工作核心,通过DAG图和Stage作业划分完成组织、运算和调度等一系列计算任务。Spark主要有以下四个特点。

一是速度更快。大数据处理中速度往往被置于第一位,Spark实现了高效的DAG执行引擎,中间输出结果可以保存在内存中,从而不再需要读写HDFS。与Hadoop Map Reduce相比,Spark基于内存的运算速度要快100倍以上,基于硬盘的运算速度也要快10倍。

二是易于使用。Spark底层支持多种数据存储模式,Spark不但能够访问多个数据库,如HDFS、Cassandra、Hbase、AmazonS3,还支持多种常用的编程语言,提供了Scala、Java、Python以及R四种语言的API接口,并支持超过80种高级算法,以便于更多的开发者在自己熟悉的语言环境下进行工作, Spark的应用范围得以普及。此外,Spark可以非常方便地与其他开源产品进行融合,如部署在已有的Hadoop系统上,同Yarn进行集群调度,不需要做任何的数据迁移,最大限度地利用Hadoop系统[6]。

三是降低成本。针对原本需要多种不同分布式平台才能实现的算法,如批处理、迭代算法、交互式查询、流处理等,Spark提供了统一的解决方案,使各种处理流程得以简单而方便地整合在一起。这在实际的应用场景中,大大减少了部署多个平台的物力成本以及开发和维护的人力成本。

四是适用于机器学习及复杂数据处理。使用Spark批量处理计算任务,其基于内存的特点使得它更适用于大量迭代的机器学习和复杂数据处理,支持交互计算和复杂算法,提供支持SQL、流处理、机器学习等多种任务的软件库,可以直接用于批量数据分析。

3 运用Spark技术进行校史编研的优势分析

校史编研的前提是准确、全面的校史数据。一直以来我国高校校史编研工作仍以传统模式为主,主要依赖学校档案资源,档案收集的完整程度直接关系校史编研成败。校史编研者如想要收集第一手数据,需要走访校内各部门,这不仅费时费力,而且资料的正确性、完整性也无法保障。随着信息化不断发展以及“智慧校园”的建设,高校各部门、学院纷纷建设自己的信息系统,信息资源从数量上来说呈指数级增长,从类型上来讲也是多种多样。如何在大数据环境下全面收集、分析、整合学校信息资源,开展校史编研工作,成为校史编研工作亟待解决的问题。

从数据收集层面讲,Spark平台解决了集群环境下并行处理大数据的效率问题,这使得各业务系统之间的整合成为可能,能够保障校史编研资料的全面性。Apache Spark这一大数据处理框架,能够很好地整合校内档案系统、OA系统、教务系统、科研系统、邮件系统等异构数据库,不仅从空间维度上而且从时间维度上确保了学校信息资源收集的完整性,为校史编研工作的开展打下了较好的物质基础。

从数据处理层面讲,使用Spark SQL、Spark Streaming、Mllib、GraphX等多种框架对数据进行分析与处理。根据选定的校史专题,如围绕学校知名人物、学校重大事件等抓取、分析、分类海量平台数据,快速获取与该专题相关的所有文件材料,呈现素材全面、内容准确的校史编研成果,进一步提高校史编研的效率、拓展校史编研的形式。

从数据应用层面讲,Spark平台更适用于大量迭代的机器学习和复杂数据处理,能够对平台数据进行多维度分析,通过不同的图表、动画甚至虚拟现实技术、人工智能技术,丰富校史编研成果的展示形式,扩大校史编研成果的应用场景。

4 校史编研系统构架

校史编研系统预期整合校内档案管理系统、OA系统、教务系统、科研管理系统等各业务系统,对学校大数据进行采集、存储、计算、分析、应用,构建校史编研系统。系统核心采用Spark技术,搭建的校史编研系统分析如下。

4.1 系统总体架构

为了实现从一台计算机到多达数千台计算机的伸缩计算,同时获得最大的灵活性,Spark支持在各种集群管理器上运行。管理和协调集群中多台计算机设备的集群管理器主要有三个,即Spark的独立集群管理器、Hadoop Yarn、Apache Mesos。结合校内各业务系统的实际,校史编研系统拟采用Hadoop Yarn集群管理器,Yarn是Hadoop2.0中引入的集群管理器,可以在一个共享的资源池里运行多种数据处理框架,而且和Hadoop的分布式存储系统(HDFS)安装在同一个物理节点上,这样当Spark程序运行在存储节点上的时候可以快速访问HDFS中的数据。

根据数据的流向自底向上划分,校史编研系统主要分为三个层面,即数据采集层、数据处理层、数据应用层。

其中,数据采集层使用Hadoop架构的分布式存储模块HDFS,采集并整合校内各部门的业务系统数据,形成结构化、半结构化、非结构化的数据集;数据处理层采用Spark技术,对底层数据进行清洗、整合、关联、转换、汇总、存储等操作;数据应用层为校史编研提供数据查询、统计、分析、可视化显示等功能。数据应用层与数据处理层之间进行数据交互,数据采集层采用分布式数据库存储,数据处理层采用Spark计算框架,这样有效提升了系统的响应效率,降低了系统的负载压力,使系统顺畅运行。

4.2 数据采集层

校史编研系统的数据主要来自于高校档案管理系统及各部门、学院使用的业务系统,调研显示基本为关系型数据库,即结构数据。除此之外,我们还面临着大量的结构化、非结构化数据,如工作邮件、关系数据库中的文本附件等。

我们通过SQL Server的Hadoop连接器,使用Hadoop架构,整合档案馆、学校各部门数据库及其他非结构数据,对大量数据进行分布式处理。Hadoop有两个核心模块,即分布式存储模块HDFS和分布式计算模块Mapreduce。由于Spark本身并没有提供分布式文件系统[7],因此Spark的分析大多依赖于Hadoop的分布式文件系统HDFS。Hadoop连接器提供了Hadoop非结构数据与SQL Server结构化数据之间的双向迁移能力。

4.3 数据处理层

校史编研系统应用Spark框架进行数据处理。Spark除了Spark Core基础框架之外,还有Spark SQL、Mlib、GraphX、Spark Streaming、Spark R等子框架,用来满足不同的工作需求。Spark Core包含Spark的基本功能,其他Spark的库都是构建在RDD和Spark Core之上的[8]。

Spark SQL是Spark用来处理结构化数据的一个模块,它提供一个编程抽象Data Frame作为分布式SQL查询引擎。Spark SQL把校史编研系统内的每个数据库表都被当做一个RDD,Spark SQL查询被转换为Spark操作,提交到集群执行,从而提高系统运行效率。

MLlib是Spark的机器学习(Machine Learning)算法库,提供了常用数据挖掘算法的分布式实现功能。这个库包含一些通用的学习算法和工具,包括分类、回归、聚类、协同过滤等对大批量数据进行迭代的操作。机器学习使校史编研选题更加丰富、成果更加多样。

GraphX是一个分布式图处理框架,用于图和并行图的计算,在Spark之上提供了一栈式数据解决方案[9],但GraphX并不提供对数据可视化的支持,我们可以通过第三方库GraphStream和Breeze来实现这一目标,为校史编研成果提供更丰富更直观的表现手段。

4.4 数据应用层

校史编研系统建成以后,用户根据选题范围或者关键词,在系统上提交编研请求,系统依靠Spark计算框架,对系统所包含的各个数据库(各业务系统)进行检索,分析、处理用户输入的信息,并根据统计指标、数据组合关系、数据间相互影响关系,建立数字模型,呈现编研结果。除使用GraphX、Mllib等Spark自带的子框架外,系统还可使用主流的可视化技术Html5、图表绘制工具Chart.js等[10],将抽象的数据编码成用户所需的可视化数据、文字、图表或动画,进一步丰富校史编研成果的呈现形式。

5 小结

本文提出一种依靠Spark大数据框架构建的校史编研系统,以期能够对高校各业务部门及学院的系统数据进行采集、整合存储、分析计算,促进校史编研向全面、准确、丰富的目标进一步发展,为信息化时代的校史编研提供一种可行的思路;探索更加快速、便捷、个性化的校史编研模型,满足用户实时、多元化的校史编研需求,以期能将理论运用于实践,为师生及校友提供个性化编研服务,为高校发展决策及文化建设提供基础和依据,并能在其他高校进行推广,促进校史编研进一步发展,提高校史编研的整体知名度和社会影响力。

猜你喜欢

校史编研数据处理
《山东档案》
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
校史故事演出
川美80年,一场展览讲述一部校史
谈谈房地产档案的编研
读校史 , 走进辽科的前世今生(一)
弘文立教 校史育人——甘肃农业大学校史育人的实践探索
档案编研在地铁文化中的应用
房地产档案编研工作的特点及其完善建议