邹元君
ZOU Yuan-jun
(长春中医药大学,长春 130117)
视频教学本质上一种网络教学,它比较依赖于计算机、多媒体、网络和数据库技术。其中数据库技术直接影响着视频教学资源的搜集、组织、保存、检索,它对视频教学的效率有重要影响。
视频是将一系列的静态影像,通过电信号方式加以捕捉,纪录,处理,储存,传送,与重现而成的动态影像。视频教学资源库就是各种关于教学的视频资源的汇集。视频教学资源毕竟不同其他诸如文本、图像等资源,因为在教学使用时,这一类素材使用流式媒体格式,如rm、wm、asf,他们对网络、数据库存储空间、数据库管理要求较高,因此保存和检索也应采取不同的办法。目前常用的方式有二种:1)使用BLOB方式进行存储。在数据库中,数据资源被分为日期型、数字型、字符型等,不同的类型有不同的处理方法,但是他们的共同特征是数据量相对小。BLOB型就是用来专门存储大文件的类型,典型的BLOB是一张图片、一个声音文件、一段视频。这种方式最大的问题就在于其上传、下载、传送需要使用特殊的程序,并耗费大量的数据库资源。2)仍然使用传统的文件夹管理方式,但是将文件夹路径保存在数据库,当有程序调用时,根据地址去查找相应的视频文件。如某视频文件存储路径为:F 高级语言程序设计出版社章节第5课时,但是在数据库中保存的只是其相对物理地址,具体二进制信息并未被压制保存。教师教学时,通过教学管理系统检索或查到该视频资源,直接点击,管理系统通过控件寻找到该路径,然后进行播放。通过这种方式,结合了数据库管理数据以及文件系统管理大型文件的优点,当然其缺点是,硬盘上的各类资源本质上未被纳入到数据库的管理中。本文以这种路径存储的方式阐述数据库技术在其中的体现。
在视频教学资源库建设过程中,必须运用数据库的检索技术。尽管教学类视频数据数量大,而且种类繁多,但一般用户都习惯采用内容检索的方式,这种方法采用的是相似性匹配的方法逐步求精,以获得检索结果,这是一个迭代的过程,它把人机交互引入检索的过程中,其基本要求是:1)将一组满足一定相应条件的视频数据以图像的方式反馈给检索者;2)检索者浏览反馈结果,调整检索特征、形成新的检索条件提交系统;3)缩小检索范围,循环反复直至得到满意的结果。为此,首先需要建立视频特征库,其包含以下三类元数据:1)视频编辑元数据:即对视频文件的描述数据,即:名称、内容介绍、制作人、大小、剧本地址、演员(主播)等等;2)结构元数据:场景、镜头的描述信息,即起始帧、时间长度、内容简述等等;3)内容元数据:关键帧特征、语音信息,即:图像特征、语义特征、声音特征等等;以上三种视频特征元数据特征提取可以是全局性的,也可以是针对某个对象的。
教学资源库建设中的检索,一般采取视频编辑元数据检索方式。因此必须对所有的视频资源结构进行较为明确的界定(可能的话通过数据字典进行简化,如用N代表新闻报道,F代表影视类资源,E代表实验类视频,M代表三维实物模型演示,V代表生活中实例的录像资源,T代表教学类),然后根据每一类再进行细分。以《高级语言程序设计》(以下简称高程)为例,可以将“模块化程序设计”细分为:T—高级语言程序设计—出版社—必修—第五章—第5课时,在数据库中信息保存格式如下:
ROWID 类别 科目 出版社必(选)修章节 课时 地址0000FF T 高程 **** 1 5 5 F: 高程出版社章节第5课时
该表需要先在数据库中建立,其中ROWID为数据库的信息存储ID,由oracle或sql自动分配。为节约存储空间,其他各个字段需要先建立数据字典,如必(选)修标志,1代表是,2代表否。在检索时,使用者可以通过除ROWID意外的任何一种方式进行检索,然后直接点击相关控件,从“地址”中获取视频字眼存放地址,并用播放器播放。
视频教学资源数据库管理系统应能根据节点的性能和现有的负载来分配任务,做到任务的分配合理、负载的分配均衡。数据库负载均衡技术可以解决以上问题,同时可以根据后端节点的负载信息来分配新的客户请求,同时也可以在各节点之间调整负载,缩短系统的响应时间,提高系统的工作效率。而数据库均衡技术实现的前提是数据库集群,即将一组相互独立的服务器通过高速网络互联组成的一种并行或分布式的系统。目前数据库集群的体系结构按照节点是否共享存储设备可以分为:基于数据引擎或中间件的集群体系结构,他们的本质区别在于,后者每个节点都拥有自己的内存和磁盘,各个数据库引擎对各自数据库进行管理,通过中间件来实现对自治的数据库站点进行协调同步和并行处理的管理,对外提供结构统一的系统映像。
1)各节点数据库压力影响因素和测量方法。影响数据库集群吞吐量的因素主要是表数据的分布方式、提交事务对数据表的读写要求、节点服务器上数据库的事务数量、系统上非数据库服务进程以及节点的软硬件性能等。另外网络连接类型、硬件组织的异构、操作系统以及数据库的类型都对集群的性能有一定的影响。一般而言,相同的工作任务量对不同的配置的节点来说,其负载程度也不相同。为很好的评估节点负载的均衡性,就需要先判断阶段负载量的平均值:估算单个事务要消耗的各类资源量的大小,包括CPU使用量,内存使用量,IO使用量等,然后把这些数据相加就得到了该事务的负载大小,最后求平均负载值。
2)数据库负载均衡策略。根据1)中,假设Ai为实际负载,Ali为实际平均负载(前提是各个节点参数配置一样,如CPU性能,否则即便Ai低于Ali,但也可能超出机器本身的承载能力)。按照一般规律,Ai和Ali的相差应在正负10%,即若超过10%,则为负载过重,如果低于90%,则为负载过轻。
3)数据库负载均衡实现。先进行负载均很测算,算法过程如下:(1)第一次连接时收集数据库服务器的状态信息,如CPU、内存的性能参数,服务器是否处在正常运行状态等。(2)将节点状态表中的条目按负载量Ai的大小升序排序,并判断:如果表上的读事务与写事务的比小于设定的值且数据分布为表模式,那么调用模式转换模块,将所有节点上的该表转换成以视图为基础的划分结构,中心节点重新进行事务的分配。(3)通过广播信息进行循环搜索,如果发现有超载的节点,则从节点状态表中选择一个负载最轻节点,进行数据库的任务转移,从而达到视频教学资源的负载均衡。
将数据库技术运用到视频教学资源库中,除了前面的检索技术、负载均衡技术,还涉及优化技术:1)数据库连接技术。视频教学资源需要通过一定的管理系统达成其管理目的,使用者通过登录该系统,可以对各类资源进行调用。数据库连接技术就是要保证使用者能进行有效的登陆连接。目前常用数据库连接技术有CGI、API、IDC、ASP、JDBC等。CGI 是Web应用中最早的一种技术,它不提供可视化操作界面,只能象DOS那样编程,其性能差,效率低,运行速度慢。API应用在第一次调用之后将驻留在服务器中,其他请求可以共享该进程,ID则上是一个基于API的动态链接库,由驻留在服务器的动态链接库完成相应工作。ASP则支持任何一种浏览器,它隐藏了Web服务器和客户端之间的通信机制。JDBC是一种用于执行SQL语句的Java API,它是目前广泛使用的一种连接方式,它将Java和JDBC结合起来使程序员只需写一遍程序就可让它在任何平台上运行。2)性能优化技术。视频教学要耗费大量的网络资源、服务器资源。对于数据库服务器而言,可以运用数据库优化技术,实现数据的高共享性。以oracle为例,其可以调整的参数就有Shared pool,Database Buffer Cache,Redo log buffer,Java Pool,Large Pool,Program Global Area等。(1)优化Shared pool。共享池大小是否合适,主要体现在库缓冲区和数据字典高速缓冲区的命中率上。库缓冲区设置过小那么语句将被连续不断地装入影响系统性能,如果设置过大,将导致空间碎片化以及CPU使用率的大幅上升。视频教学中,可能会存在某一类资源短时间内被集中调用的情况,如学习到某一章节内容时,学生可能随时、反复的利用它。此时就需要保证库缓冲区设置不能太小。库缓冲区的命中率可以通过命令 select(1-sum(reloads/sum(pins)from v$librarycache获取,该值若小于0.95,则可以通过增加SHARED_POOLSIZE值来提高命中率。(2)优化缓冲区高速缓存。缓冲区高速缓存越大,oracle可装入内存的数据就越多,磁盘的I/O性能就越少,系统性能就越好。通过数据字典v$vsysstat可以了解其活动情况: select name,value from v$sysstat where name in (’dbblokc gets’,’consistent gets’,’Physical reads’);如果命中率小于0.85,则可增加参数DB_CACH_SIZE的值为数据块缓冲区分配更多的内存。
总之,视频教学资源库的建设,不仅仅是将各类视频资源进行有效分类储存在硬盘上,而是必须通过一定信息系统,实现对这些视频资源的快速、高效调用。因此运用数据库技术对各类视频资源的绝对地址进行保存,并通过数据库集群技术和调优技术,可以有效提高视频教学系统的利用效率。
[1] THOMAS KYTE著,苏金国,王小振等译.ORACLE9I&10G编程艺术:深入数据库体系结构[M].人民邮电出版社,2006:265-269
[2] 祝知庭.现代教育技术-走向信息化教育[M].教育科学出版社,2002(3)