“互联网+教育”下智慧校园数据存储平台的构建

2020-12-28 02:11程光胜
天津中德应用技术大学学报 2020年6期
关键词:互联网+教育智慧校园互联网

程光胜

摘  要:“互联网+教育”的本质是教学和学习的数据化。为了应对智慧校园应用中海量数据的存储需求,需要构建易扩展的大数据存储平台,而HBase是一个构建在HDFS基础上基于列式的分布式存储架构,能够根据键值的大小,把数据分布到不同的存储节点上。为了支撑不同业务的分析以及性能方面的考虑,在数据存储平台的设计中,采用HBase+Hive+ Redis相组合的解决方案,一方面可以实现复杂的统计分析和数据挖掘的目的,另一方面也提升了数据不同组合下的查询效率。

关键词:“互联网+教育”;智慧校园;HBase数据存储;Redis数据缓存

中图分类号:G717      文献标识码:A      文章编号:2096-3769(2020)06-066-04

互联网的本质是数据化,“互联网+教育”也不例外,“互联网+教育”、传统教育和电子商务与传统商务之间的关系如出一辙。在电子商务刚起步时,人们曾担心不谋面交易背后潜藏的各种风险,然而,伴随着各种技术的发展以及制度的不断完善,电子商务对传统商务产生冲击的同时,也给其带来了新的机遇。一家电商和一家线下实体店的区别是是否保存了足够的数据,数据的多少反映经营规模的大小、交易的活跃程度,这些数据包括商品数据、交易数据以及其他相关数据,不仅为用户挑选喜欢的商品提供了便利,也为商家进行商业分析提供了基础。“互联网+教育”在推动传统教学的过程中,同样需要有足够的数据,这些数据就是各种优质教学资源、用户信息数据以及用户学习行为等,通过这些数据可以反映“互联网+教育”的实施规模、程度和效果。因此,“互联网+教育”也是数据化教育,在技术层面上对这些数据有效管理是实施“互联网+教育”的一个重要方面,其存储与管理质量的高低直接影响到“互联网+教育”的建设水平。

一、“互联网+教育”与智慧校园建设

“互联网+教育”是互联网技术手段在教育上的应用,以互联网为基础设施和创新要素,构建新的教育生态和服务模式正当时。在“互联网+教育”环境下,学校的教育理念也从以教为主向以学为主转变,这就要求智慧教学平台必须以学习者为中心,提供个性化、多样化的教育服务资源,在供给的同时,也可以根据学习者的学习行为进行精准化推荐和建议。“互联网+教育”催生知识的载体日渐丰富,最终将实现从环境的数据化到数据的环境化、从教学的数据化到数据的教学化、从人格的数据化到数据的人格化转变。针对智慧校园,不同学者有不同的诠释,综合起来看,智慧校园是通过信息技术的有效支撑,提供一個可感知、可个性化定制、可共享协作的开放教育教学环境,在这种环境中,师生可以便捷地进行教学、学习和生活,以发展学习者的智慧为目的,同时为学校提供管理决策,助力学校管理水平的提升。智慧校园建设是“互联网+教育”的一个重要方面,在一定程度上丰富了“互联网+教育”的内涵,而“互联网+教育”又给智慧校园建设提供了更大的空间。

二、数据存储平台的设计

在“互联网+教育”下,互联网化的本质是数据化再次得以体现。其所产生的大部分是非关系型数据,如果仍然采用传统的关系型数据库进行存储和管理,无论是进行日常的读写还是从可用性、可扩展性等角度考虑,都是不合适的。所以,数据存储平台采用NoSQL数据库进行存储和管理,这是因为NoSQL数据库能够提供数据模型,可伸缩性强,支持自动分片和自动复制等。当然,也可采用其他技术实现分布式数据存储,比如基于数据湖的大数据处理机制、基于区块链设计数据存储系统,但是读写效率不能满足现有应用的需求。

结合智慧校园建设和应用实际,NoSQL数据库最终选择HBase进行存储,这是因为HBase是一个构建在HDFS基础上基于列式的分布式存储架构,能够根据键值大小,把数据分布到不同的存储节点上,可靠性、可扩展性较强。同时,HBase底层采用了类B+树的索引结构,所以基于行键查询数据的效率很高。基于此,在数据存储层可以HBase为核心管理海量的数据存储,具体结构如图1所示。

在图1中,智慧校园大数据存储平台的核心层为数据集成层、数据存储层、数据缓存及分析层,其最高层为业务层,最底层为数据源层。智慧校园的建设不是从零开始,而是保护原有的投入,在此基础上集成各个业务系统,通过数据集成层提供的各种工具和组件,将原有系统产生的各种业务数据集成到大数据存储环境中,同时为了向业务层提供更快的响应和更便利的分析,专门设计了数据缓存和分析层,通过该层向业务层提供基于Restful API的访问接口。

作为“互联网+教育”下智慧校园数据存储平台,数据存储层是核心。在该层上,MySQL数据库用来存放关系型数据以及Hive中的元数据,而海量数据通过具备高扩展性的HBase存储到HDFS上。HBase存储教育业务数据以及相关的非结构化数据,同时存储多维数据模型,可以让相关管理者和决策者通过不同的维度对数据进行分析,充分发挥大数据的作用和优势。

为了提升查询效率和有效构建分析模型,专门提供了数据缓存及分析层,通过Redis强大的分布式内存缓存机制,将热点数据缓存起来,这样一方面减轻I/O压力,另一方面使得数据的读取更加快速。而Hive作为一个数据仓库工具,可以基于有效的多维数据模型实现数据的汇总、统计和挖掘,具有良好的可伸缩性和可扩展性。在智慧校园环境下,多维数据模型维度的确定有很多种方法,在充分调研的基础上,通过校园生活、课堂学习、课外学习、社团活动、专业成长等方面来进行设计,会产生相关的主题、维表和事实表。为了充分利用HBase中Rowkey的查询优势,这里将数据模型中的每个维度映射为HBase中的一个列簇,将维表中包含的每个字段映射为列簇中的一列,从而实现Hive快速获取分析数据的目的。

三、数据存储与读写的优化

HBase在存儲数据时,一方面需要预写日志WAL(Write-Ahead Log),在某种程度上可以确保内存中数据的可靠性;另一方面是实际的数据文件,具体执行流程是:一旦数据被写入到WAL中,数据就会被放到MemStore中,同时还会检查MemStore是否已经写满,如果写满,就会被刷新到磁盘中去。那么,对于大数据文件,Region服务器会频繁执行Split过程和Compact过程,导致HBase写入性能大大降低。为了解决此问题,本文在数据存储系统中设置一个阈值,当文件的大小超过该阈值时,可以直接将其存储到HDFS中,对应地其索引信息保存到HBase表中,这样可实现不同大小的文件分布存储到不同的存储系统上,与切分大文件的处理相比,这种方式的优势是系统开销低、性能高。

与HBase中行键查询相比,非主键查询需要扫描全表,对于海量数据而言,时间延迟非常严重。因此,本文基于Redis的内存缓存特性建立了HBase中非主键索引,当一个查询到来时,通过该索引快速找到Rowkey,从而获取相应的数据,同时根据程序执行的局部性原理,对应用中的热数据也进行缓存,这样可以大大提升HBase的响应效率。综上,针对HBase中的数据查询可以通过图2中的交互过程来表示。

在图2中,客户端可以直接在Redis上查询热点数据,因为所有的热点数据都是存放在Redis分布式内存上的。为了有效管理Redis上的热点数据,可采用一致性哈希算法,即将整个哈希值空间组织成一个虚拟的圆环,根据数据Key进行哈希计算,然后将Key所对应的Value放置在环中某一个位置,在进行数据读取时,按顺时针确定Key所对应的哈希地址在环中的位置。一致性哈希算法对于节点的增减都只需定位环空间中的一小部分数据,具有较好的容错性和可扩展性,也保证了各个存储节点的平衡。

为了发挥HBase的存储优势和Hive的查询分析优势,通过将HBase和Hive进行有效集成,从而满足复杂的海量数据统计分析需求。在这种集成环境下,HBase和Hive可以协同进行工作,基于Hive支持的HQL可以实现分组、条件、排序等相关数据统计分析,并将其自动转化为MapReduce程序;同时可以针对查询中常用的字段,在设计HBase时,将其作为Rowkey设计,这样可以快速查询HBase中的数据,并为复杂统计分析提供数据支持服务。

四、数据存储平台的实现

智慧校园数据存储平台采用Java EE架构、基于B/S访问模式,为用户提供高效的文件及数据管理服务。在整个平台上主要涉及客户端、Web服务器、应用服务器、文件服务器以及数据库服务器。各种服务器都是以集群的形式出现的,每个集群内含多个节点,Redis、HBase、Hive、Zookeeper、MySQL等部署在不同的节点上,以便相互交互,共同完成海量高并发的文件读写访问请求。在系统中,业务数据文件分布在HBase和HDFS上,从而实现海量数据的管理,更具扩展性,而系统本身的数据存储在关系型数据库MySQL中,便于对系统中的业务文件数据进行权限管理。在功能上,系统具备用户管理、文件管理以及权限验证等。当然,作为数据存储平台,文件管理是重中之重,除了类似操作系统文件管理的功能之外,也具备分布式集群环境下的文件管理,比如分区管理、分布式锁管理等。对一般用户来说,可以实现文件的上传、下载、删除和过滤等。为了给上层应用提供数据资源访问服务,数据存储系统以HTTP+JSON定义接口,因为这样可以满足更多的需求,比如认证、授权、数据缓存、超时控制等,而且在应用上也非常成熟,可以支持大多数的数据资源需求者。

互联网化的本质是数据化,“互联网+教育”下的教育形态也是教育数据化。为了有效应对智慧校园建设中产生的海量教育数据,并实现对海量数据的高效利用,本文以数据为中心、基于HBase+Hive +Redis组合的方式构建了分层式的海量数据存储方案,并从提升效率的角度,对数据的存储、查询和统计分析等方面进行优化。事实上,本文的核心是基于智慧校园海量数据存储和管理的需要,以HBase为中心,并基于HBase提出了查询和优化的具体方案。然而由于HBase应用的广泛性,基于HBase查询优化的解决方案有很多,比如在HBase上引入Elastic Search建立二级索引提高非主键查询的速度,但是需要存储和维护大量的索引文件;有些利用HBase内部的Region服务器,在其中添加索引,以提高查询速度,但是如果Region服务器很多,而索引数据有限,这样不但没有实现快速响应反而增加额外的计算成本。本系统的设计在保留HBase主键查询优势的前提下,引入了Redis生成、管理和维护HBase中的非主键索引数据以及存放热点数据,相对于上述方案,这种分层模式的结构设计具有很大的优势,一方面提高应用逻辑上的独立性,使得架构更加清晰,不同层之间通过特定接口实现简单交互;另一方面使得实现更加简单,同时可以充分发挥不同层上各组件的特定优势。

基于HBase+Hive+Redis组合构建的智慧校园海量数据存储平台能够高效支持学校的各项管理工作和教师的教学,以及学生的个性化学习,从而使新技术与教育教学深度融合,推进教学从信息技术应用向能力素质提升的扩展。

参考文献:

[1]孙善学,刘正宏.职业教育专业教学资源库的未来走向研究[J].中国职业技术教育,2018(23):8-11+22.

[2]赵志. 教育大数据统计分析平台设计与研究[D].西安理工大学,2019.

[3]季一木,张宁,尧海昌,等. HOS:一种基于HBase的分布式存储系统设计与实现[J]. 南京邮电大学学报(自然科学版),2019,39(5):63-71.

[4]龚玉霞,吕家恪.一种基于区块链的数据存储系统的设计[J]. 重庆理工大学学报(自然科学),2019(9): 190-195.

[5]陈永南,许桂明,张新建.一种基于数据湖的大数据处理机制研究[J]. 计算机与数字工程,2019(10):2540-2545.

猜你喜欢
互联网+教育智慧校园互联网
在偏远农村实现“互联网+教育”的新型教育模式的设想
基于SCP范式的“互联网+教育”产业组织分析
基于B/S结构的学生公寓管理信息系统的设计与实现
“互联网+教育”视阈下的教育共享初探
“智慧校园”浪潮下大学课堂教学改革与设计
智慧校园关键技术分析与研究
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施
以高品质对农节目助力打赢脱贫攻坚战
智能云教学系统在计算机专业教学中的运用