大数据分析的海量教学视频资源管理系统
2022-03-17徐岩柏
徐岩柏
(运城学院数学与信息技术学院,山西运城 044000)
当前教学环境与教学模式发生了巨大变革,越来越多的高校利用网络信息技术将传统面对面教学的课堂教学模式同网络教学模式有机结合[1],在高校教育过程中引入教学视频资源,以此改善传统教学模式,完善教学资源[2]。但由于教学资源的海量性,对教学资源管理系统提出更高要求,令教学资源管理问题成为当前教育领域中的热点问题。
国内外的学者对于海量教学资源的管理进行深入研究,得到了一定的研究成果,例如Yan[3]将微技术与教学视频资源管理相结合,设计基于微技术的教学视频资源管理系统。有学者利用智能视频识别技术对海量视频进行管理,提升视频内容的检测精度[4]。但上述文献中所设计的系统在设计过程中均忽略了视频资源的海量性,导致教学视频资源管理性能受到一定限制。
大数据领域内每年都会产生较多的新技术,成为大数据处理与分析的有效方式。考虑教学视频的海量性特征,采用大数据分析技术能够有效提升教学视频管理的性能。基于此设计基于大数据分析的海量教学视频资源管理系统。
1 大数据分析的海量教学视频资源管理系统
1.1 系统整体结构设计
基于大数据分析的海量教学视频资源管理系统中考虑教学视频资源的海量性,通过由认证服务、代理服务和存储服务共同构成的云存储平台完成教学视频资源管理。系统整体采用“模型—视图—控制器”研发模式设计架构[5],整体架构如图1所示。
图1 系统整体架构
为保障实际运行过程中系统内部的稳定性与协调性,将系统整体划分为应用表现层、服务中间层、云存储层以及采集层四个层次,采集层的主要功能是采集教学视频资源,所采集视频资源存储于云存储层内;云存储层内主要包括业务流程数据、教学视频数据等,为服务中间层内的各项服务提供数据支撑;服务中间层包括应用服务与应用服务引擎两部分,通过应用表现层的web 应用为用户提供用户管理、文件管理以及教学视频资源管理等服务。系统各层次之间既相互独立,又紧密相连,在必要条件下实施数据交互,由此实现教学视频资源管理。
1.2 教学视频采集模块设计
采集层的主要功能是通过教学视频采集模块采集教学视频资源。教学视频采集模块设计过程中不仅要确保所设计的模块可有效稳定地采集教学视频数据,还要确保所采集的教学视频数据能够压缩并传输至云存储层内进行存储[6]。并且教学视频采集模块设计过程中还要考虑教学视频信号数据时序要求、采集速度与海量数据等实际情况[7]。教学视频采集模块结构框图如图2 所示。教学视频采集模块内USB 摄像头的主要功能是采集教学视频,ARM S3C2410A 微处理器通过RS232串行数据通信接口标准控制教学视频数据的采集与传输,嵌入式Linux 操作系统和所采集的教学视频数据存储于同步动态随机存取内存与FLASH 扩展存储器内,通过通用异步收发传输器接口与USB 接口完成该模块与系统间的通信连接,最终存储于云存储层内。整个教学视频数据采集过程中,不仅能够确保数据采集的有效性与可靠性,同时还能够满足教学视频信号数据的时序性要求与数据采集的实时性要求。
图2 教学视频采集模块结构图
ARM S3C2410A 微处理器内包含USB1.1 接口,该接口支持两种不同的传输速率[8]:1.5Mbps 的低速传输与12Mbps 的高速传输。通过USB1.1 接口标准变化生成USB2.0 标准,其传输速率高达480Mbps,能够达到大部分外界设备的速率标准,并且两个接口标准通过同一驱动程序驱动,不存在无法兼容的问题。图3为BUB接口电路原理图。
图3 BUB接口电路原理图
图3USB 主机接口与设备接口间的切换通过J23完成,D-与D+分别连接DN1 与微处理器的DP1,COM6AP为BSU数码摄像头连接接口。
1.3 教学视频资源管理
作为系统的核心环节,服务中间层内的教学视频资源管理考虑教学视频的海量性,将具体管理过程分为预处理、分布式处理以及数据合并三个环节[9]:
(1)预处理环节:对教学视频资源实施视频切割,视频帧提取等预处理,并将预处理后所得数据传输至Hadoop分布式文件系统HDFS内;
(2)分布式处理环节;针对HDFS 内的教学视频数据实施分布式处理;
(3)数据合并环节:将分布式处理后的数据进行合并。
图4 为教学视频资源管理流程。所示的三个环节中包含较多进程,其中教学视频切割进程为Video Cut(全部大于HDFS块的教学视频均需被切割成若干个小于HDFS 块的视频)。由于Hadoop 使用的切割方式为物理切割[10],这种切割较为适于云存储平台使用,但对于视频处理来说并不合适,因为教学视频资源的文件结构与文本或图像的文件结构具有显著差异性,其中包含教学视频资源的主要信息,如基础信息、数据块索引等。通过物理切割方式切割教学视频将导致其不能有效播放。因此系统中采用MP4Box 图形化工具切分教学视频数据,满足Hadoop使用需求。视频帧提取与视频合并的进程分别为Video Frame 和Video Merge,在全部视频处理作业结束后,通过视频合并将全部待合并的视频分片由HDFS 内下载至本地后根据视频处理顺序完成视频合并[11]。
图4 教学视频资源管理流程
1.4 基于大数据的教学视频推荐算法
考虑到教学视频大数据的海量性,系统内采用基于深度神经网络与内容检索的教学视频推荐算法根据用户实际情况向用户推荐可用的教学视频,具体过程如下。x={x1,x2,…,xm} 和y={y1,y2,…,yn} 分别表示用户属性和教学视频的属性,其中xi和yi分别为用户的属性和教学视频的属性。将x={x1,x2,…,xm} 和y={y1,y2,…,yn} 输入至基于深度学习与内容检索的推荐模型内,获取用户与教学视频的属性特征向量和:
式中w、b和f()分别为权重、偏置和激活函数。
通过concatenate()函数融合用户与教学视频的不同属性特征获取用户与教学视频特征,得到ui和sj:
基于深度神经网络与内容检索的教学视频推荐算法中卷积神经网络的主要功能是由教学视频文本信息内采集教学视频的文本特征。将卷积神经网络定义为一个函数,在其中输入教学视频的文本信息,由此得到教学视频文本信息j的特征向量tj:
式中,W和Yj分别为全部的权重与偏置变量和教学视频j的文本信息。
基于式(2)内教学视频属性特征和式(3)内教学视频文本信息特征向量能够得到教学视频j的特征vj为:
基于式(2)所示的用户属性特征uj与式(4)所得的vj,利用多层感知机实现预测评分。将用户与教学视频特征融合后输入多层感知机内作为输入向量x0,输入向量经过多层感知机若干层输出后得:
通过模型能够得到预测评分,公式描述如下:
依照上述过程所得的预测评分由高至低生成图鉴列表,向用户推荐满足其实际需求的教学视频。
2 仿真测试
为验证本文系统的实际管理性能,以某平台教学视频资源为实验对象,采用本文系统对其进行管理,所得结果如下。
2.1 视频切割测试
系统中对于教学视频资源进行管理过程中采用MP4Box 图形化工具切分教学视频数据,对切分后的教学视频数据进行分布式处理,满足海量教学视频管理需求。
图5所示为系统对视频切割大小的测试结果,其中用于测试的视频大小分别为100 MB、500 MB、1 GB和2 GB,4 份教学视频资源均经过预处理、视频帧提取、人脸检测以及文本生成等不同处理环节。将4份教学视频资源分别切割为10 MB、20 MB、…、70 MB大小,测试不同大小的教学视频资源处理时间。分析图5 得到,系统中将四份教学视频资源分割为10 MB 和20 MB 条件下,教学视频资源处理所花费的时间差异较小,均控制在0.1 s 以内。当教学视频资源被划分为30 MB 时,4 份教学视频资源处理所花费的时间显著上升。考虑到视频分割量与后续视频合并的效率得到,在教学视频资源处理过程中将教学视频资源分割为20 MB大小较为合理。
图5 视频切割大小测试结果
2.2 教学视频推荐性能测试
系统中采用基于深度神经网络与内容检索的教学视频推荐算法向用户推荐满足用户自身实际需求的教学视频资源。为测试系统的教学视频推荐性能,以归一化折损累积增益与命中率为评估指标评估本文系统教学视频推荐性能。命中率指标的计算公式如下:
式中,p∈testsrt&p∈RN和testsrt分别表示测试集内教学视频资源同时处于推荐集合内和测试集数量。命中率越高说明系统所使用推荐算法推荐性能更好。
归一化折损累积增益主要评估的是排序位置的敏感性,计算公式如下:
式中,DCGn为折损累积增益,其可通过获取,其中,表示第i个教学视频资源同用户间的关联度。在实验过程中设定教学视频资源为正样本与负样本条件下的关联度分别为1 和0,若关联度越高的教学视频资源排序越靠前,则DCGn值越高。IDCGn表示预期的DCGn值。指标值越高说明教学视频资源推荐列表内关联性越高的排序越靠前,即推荐算法性能越好。
为测试推荐列表内教学视频资源数量对教学视频资源推荐效果的影响,设定推荐列表内教学视频资源数量分别为5,10,15,20,30,50,100,分别由两个评估指标出发评价系统中的推荐算法性能,所得结果如图6。分析图6 得到,在推荐列表内教学视频资源数量逐渐提升的条件下,系统推荐算法的两个评估指标值在整体均呈现逐渐上升的趋势。在推荐列表内教学视频资源数量由15 个提升至20 个的条件下,归一化折损累积增益指标值显著提升,之后提升幅度变缓;在推荐列表内教学视频资源数量由20个提升至30个的条件下,命中率指标值显著提升,之后提升幅度变缓。综合之下得到,系统针对不同用户推荐的教学视频资源数量应为20~30个较为合适,在该推荐数量条件下能够取得较好的推荐性能。
图6 测试结果
2.3 云存储性能测试
系统内通过Set 命令和Get 命令分别实现以键值对形式将教学视频数据存储于云存储层和获取相应键对应教学视频数据的目的。为测试系统的云存储性能,分别测试上述两个命令的吞吐量上限与可支持并发数上限,并发数越大说明系统可同时处理的命令越多。测试所得结果如表1 和图7 所示。分析表1 得到,Set 命令与Get 命令的吞吐量上限分别为85 046和108 936,在并发数有所差异的条件下,两者吞吐量上限波动较小。分析图7 得到在并发数之间提升的条件下,两个命令的响应时间均表现为线性提升的趋势,这是由于在并发数量逐渐提升的条件下,系统需同时处理的命令数量也逐渐提升,但系统节点的处理性能是不变的,因此造成部分命令被注视,令系统命令的响应时间延长。测试结果说明系统可同时处理大量命令,具有较高的吞吐量。
图7 命令响应时间随并发数波动情况
表1 吞吐量上限
3 结语
设计大数据分析的海量教学视频资源管理系统,通过由认证服务、代理服务和存储服务共同构成的云存储平台完成教学视频资源管理,并通过实验验证了系统的管理性能。系统虽实现了功能,但测试环境仅为局域网小范围内本文的分布式部署,尚未最大限度体现分布式集群优势,因此在后续优化过程中将针对这一点进行深入研究。