数字化教学资源存储方案设计

2019-05-24 00:46张俊飞吴小玲
实验室研究与探索 2019年4期
关键词:单体分布式教学资源

张俊飞, 吴小玲

(广州医科大学 基础医学院, 广州 511436)

0 引 言

随着信息技术的发展,《国家中长期教育改革和发展规划纲要(2010-2020年)》[1]明确提出:构建国家教育管理信息系统,制定学校基础信息管理要求,加快学校管理信息化进程,促进学校管理标准化、规范化。当前很多高校已实现了信息化教学,教师采用ppt、视频、动画、图片、文本等多媒体资源辅助教学;新的信息化教学模式、理念井喷涌现,如MOOC[2]、微课[3]、Moodle[4]等。信息化教学和新的教学模式等都促使教学资源实现数字化转型,大容量的数字教学资源存储已经成为不可回避的问题。

当前高校数字教学资源存储架构,主要以部署了管理系统的应用服务器为中心,这是一种附属服务器存储架构模式[5]。这种存储架构存在如下几点缺陷:① 具有高性能与高扩展能力的服务器成本较高;② 文件的存储功能与应用服务争夺系统资源,造成系统服务效率的大幅下降;③ 应用服务器的系统故障将直接影响教学资源的安全性和可用性,给学校的教学工作带来不便。

数字化教学资源按照单个资源大小可分为大文件数字教学资源和小文件数字教学资源。一般教学视频、教学软件等可归为大文件数字教学资源,课件ppt、Word等Office文件、图片以及生成的程序文件可以归为小文件数字教学资源。本文从单个数字教学资源大小出发,分别设计了针对大文件和小文件的分布式存储方案,以实现具有大容量的存储空间,确保整个数据资源的安全和快速存取。

1 面向大文件数字教学资源分布式存储技术:HDFS

大数据带来的变化是从集中走向分布,分布式存储是大数据存储的发展方向[6]。本研究面向大文件存储设计采用开源的Hadoop框架[7]。Hadoop框架是在分布式服务器集群上存储海量数据并运行分布式分析,其设计规模不依赖于硬件, 具有高效性,核心部分由Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce组成。Hadoop的体系结构正是通过HDFS来实现对分布式存储的底层支持。

1.1 HDFS

HDFS适合于大规模数据集应用,具有高度容错性和高吞吐量的数据访问等特点。1个HDFS集群可由1个NameNode和多个DataNode构建。NameNode管理着文件系统的NameSpace、集群配置信息,并且记录着文件中存储块(Block)所在的数据节点的位置信息。DataNode是文件存储的基本单元, 保存Block的元数据,根据NameNode的调度来存储和检索数据, 并且周期性向NameNode发送存储Block信息的列表[8]。

1.2 HDFS的设计目标和特征

HDFS的设计面向处理单个文件大小达到几百MB、GB、TB或PB的大数据,以高数据吞吐量为设计目标,支持1次写入、多次读取的流式数据访问模式。HDFS搭建适于普通商用硬件,通过数据分块实现数据块的多副本分布保存,保证了数据的高可靠性,可以容忍集群结点失效和数据不完整,并且多副本管理提高了数据的访问速度。

1.3 HDFS不适合处理数据的场景

(1) 海量小文件。HDFS的设计初衷是便于存储大文件,针对海量小文件存储势必造成NameNode元数据节点变大,从而导致内存成为系统容纳文件数目的瓶颈,还有可能导致内存溢出而崩溃。面对小文件存储,Hadoop提供了对应的解决方案分别是:① Hadoop Archives方法把大量小文件归档到1个大文件中进行存储[9];② 采用序列化文件方式合并大量小文件,并生成SequenceFile文件[10];③ CombineFileInputFormat方法,将多个文件合并成1个单独的Split[11]。然而这些解决方案操作复杂,且无法实现文件的动态增删。

(2) 低延时数据访问。HDFS为保证高吞吐量,往往是以牺牲低延时为代价,所以低延时数据应用不适合在HDFS上存储和运行,如实时处理事务等。

(3) 多用户同时写入,任意修改。HDFS中的写入操作都是将数据添加到文件的末尾。HDFS到目前为止还不支持同时多个写入操作,也不支持在文件的任意位置进行修改。

2 面向小文件数字化教学资源分布式存储:DFS

在信息化教学中,小文件数量占有很大比例,这些小文件往往需要及时访问、修改。面对小文件存储,HDFS技术显得有些力不从心。本文小文件存储技术采用微软分布式文件系统(Distributed File System, DFS),利用Web、通用网络文件系统(Common Internet File System, CIFS)协议和映射网络驱动器实现存储数据的访问。

2.1 DFS

DFS[12]是Microsoft的网络服务器组件,方便用户在网络上查询和管理跨网络分布的数据。DFS是1个树状结构,包括1个DFS命名空间和多个DFS数据节点。DFS命名空间主要将不同存储设备上的共享资源以DFS链接的形式汇聚一起,使用统一的命名路径实现对分布资源的集中访问。DFS数据节点之间通过多机复制机制、只读复制机制或远程差分压缩(Remote differential compression,RDC)复制机制实现复制组中成员数据的一致性。DFS实现了跨网络分布数据资源的负载均衡、数据的冗余高可用,采用就近访问机制实现用户访问网络距离最近的数据资源,并且与Windows权限集成以保证数据资源的安全。

DFS组织跨物理网络分散的共享资源,集合到1个根目录中,形成虚拟共享资源。对于用户来说,只需要访问虚拟共享资源就可以链接到分散在其他计算机中的真实资源。DFS分布式存储设计实现了集中访问、操作简单,并且提高了资源的存取效率。DFS数据访问体系架构如图1所示。

图1 DFS数据访问体系架构

2.2 CIFS协议与映射网络驱动器

小文件存储方案采用NAS作为资源存储介质,以CIFS作为文件共享协议[13]。CIFS是Microsoft公共开放的SMB协议版本,运行在高层的一种应用程序传输协议[14]。CIFS提供更加直接的服务器接口,通过访问远程Internet中其他计算机上的共享文件以获取其资源。

“映射网络驱动器”是微软实现资源文件共享的一种方法[15]。它采用CIFS协议实现远端共享资源映射到本地,以盘符的形式存在[16],在权限范围内,用户可以进行相应的文件操作。

3 数字化教学资源存储方案设计

针对单个文件不同大小的数字教学资源采用不同的存储方案,从而产生不同的读写设计。本文针对不同大小的数字教学资源存储和读取方案如图2、3所示。文件存储操作,首先会判断文件大小,选择相应的存储方案;文件读取操作,则会根据文件存储路径在对应的存储介质中进行查询、提取,并展现出来。

图2 文件存储流程

图3 文件读取流程

3.1 面向大文件存储与读取流程设计

HDFS对大文件存储和读取完全依赖自身的分布式处理机制,处理流程如图4、5所示,分别从数据的写入、读取两方面进行了描绘。

图4 HDFS写入数据

图5 HDFS读取数据

3.1.1 HDFS写入数据操作

① 客户端向HDFS提出写入数据RPC请求。命名节点接收到请求后,进行客户端权限检查、文件是否存在判断等检查工作,检查通过则开始写入操作,否则抛出异常(图4步骤1、2);

② 客户端在开始写入数据时,先进行数据分块Block,并放入1个队列,然后命名节点分配一个数据节点的列表给客户端来存储Block数据。图4中显示3个数据节点,它们之间做数据冗余复制(图4步骤3~5);

③ 当客户端收到当前Block写入成功的回执ack packet之后,会把队列中当前Block移除,进行下1个Block的写入。

3.1.2 HDFS读取数据操作

① 客户端读取1个文件时,先从命名节点取得这个文件的前几个Block的数据节点信息(图5步骤1、2);

② 开始调用read()方法,首先去读取第1次从命名节点取得的几个Block,当读取完成后,再去命名节点拿下1批Block的数据节点信息,重复循环(图5步骤3~5);

③ 调用Close()方法完成读取(图5步骤6)。

3.2 面向小文件的存储与读取流程设计

基于DFS的小文件管理系统包含:Web终端和桌面应用终端,如图6、7所示。

图6 系统Web界面

图7 桌面应用界面

Web终端实现了师生对教学资源按照不同权限进行相应管理。教师通过Web终端可以创建班级,从而实现学生和教学资源按照班级为单位进行管理。学生通过Web终端实现对所在班级的个人文件进行管理,对班级公共课程文件进行查询、下载操作。教师和学生权限分配见表1。

表1 师生权限分配表

桌面应用终端利用微软映射网络驱动器,通过CIFS协议实现了对NAS存储共享资源文件夹的本地化加载,把班级公共课程文件夹和个人文件夹加载到本地磁盘中。

4 应 用

本研究依靠本校可行的网络结构实现存储架构。本校教学机房通过接入层交换机,在服务器房形成汇聚点。NAS存储设备和应用服务器分别与汇聚交换机相连,形成网络互通。网络链路采用单模光纤,传输速率达到千兆。网络结构如图8所示。

图8 网络结构图

HDFS分布式系统部署在5台高性能的服务器中,其中1台配置为命名节点,其他4台为数据节点,用于存储教学视频和相关教学软件。DFS系统采用1台高配服务器和2台NAS存储设备组成,其中服务器配置为DFS的命名空间,1台NAS设备存储班级课程公共小文件资源,另外1台NAS设备存储教师和学生的个人小文件资源,并且2台NAS设备间配置RDC,实现数据冗余保证数据的高可用、负载均衡,以供高速访问。

系统已经在本校推广,被多门课程使用。在教学实践应用过程中,对HDFS和DFS写入和读取数据速率进行了分析对比,对比系统为该校之前以服务器硬盘为存储介质的单体教学资源存储系统。单体教学资源存储系统采用B/S结构实现教学资源的上传和下载。HDFS和单体系统数据读写速度对比如图9所示,DFS和单体系统数据读写速度对比如图10所示。

图9 HDFS和单体系统对比

图10 DFS和单体系统对比

由图9可见,HDFS在读取和写入方面速度都比单体系统快,并且随着数据大小的增加,单体系统写入速度呈明显下降趋势;由图10可见,DFS因采用分布式数据存储、CIFS协议实现数据的上传和下载,读取和写入速度优于单体系统,且随着数据大小的增加,速率没有明显的下降趋势。

5 结 语

针对海量数字化教学资源存储问题,本研究采用HDFS和DFS分布式技术分别应用到了大文件资源和小文件资源的存储中。后期的教学应用,证实了HDFS对大文件资源的管理是高效可行的,DFS对小文件资源的管理是灵活有效的。

猜你喜欢
单体分布式教学资源
丰富历史教学资源 提升课堂教学质量
高校冰上教学资源社会开放的意义及管理模式
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
初中语文数字化教学资源应用探索
基于DDS的分布式三维协同仿真研究
初探教学资源开发的系统思维
巨无霸式医疗单体的选择
类姜黄素及其单体对β-内分泌酶活性的抑制作用
西门子 分布式I/O Simatic ET 200AL