2015/12/29 15:50:39 数字化校园建设中海量小文件存储解决方案(案例篇)

数字化校园建设过程中海量小文件存储问题是最为棘手的问题,因为本身学校在数字化校园建设中因为平台和资源的不兼容性导致问题漏洞百出。而数据的存储是其中一方面。本例以数字化校园资源管理为例,具体介绍海量小文件存储解决方案。

从概念上讲,数字化校园资源管理系统是为中小学设计的教学资源管理系统,主要为整个使用方(学校,甚至是一定数量学校的集合)提供一个优质的存储平台,通过 web 对外开放。用户(主要是教师和学生)可以上传教学资源,供平台的其他使用者共享下载。用户上传的文件以教学资源为主,主要包括教案,教学视频,电子书,课堂录音等。这些文件的大小都不大,都是小于 50M 的小型文件,但是文件数量相对较多。并且伴随着用户对系统使用时间的累积,系统中存储的用户文件也会越来越多,系统中需要给用户提供的数据存储空间越来越大。

整个数字化校园系统资源管理平台,基于 web 开发,其文件管理的数量伴随着整个用户和使用者的增多而逐渐加大,其数据文件的终极数目成为海量数据,而整个数字化校园资源管理系统最终成为基于 web 的海量小文件存储的应用。

针对数字化校园资源体系中的海量文件的删除管理

在我们的系统中,对文件删除的操作,最简单的方式是利用现有的资源,对系统的中需要管理的资源进行标记。在每次用户申请删除文件的时候,在数据库中将对应的数据文件进行标识,标记相应的文件为已经在逻辑上删除,但是并不在物理存储上做出相应的处理。等到系统的访问压力和计算压力相关对较小的时候,管理模块对文件系统中已标记删除的文件做物理上的删除,并且将数据库中的记录彻底删除。在校园资源管理系统的应用中,用户使用系统的时间应该更相对集中在上午 8 点到晚上 10 点。对于系统而言,其一天会有大约 9 小时的空转时间,这段时间如果能够用于实现系统的中物理存储和逻辑存储的统一,利用之前删除标记删除物理存储。一方面利用了整个系统的空转时间,第二方面整理了系统中的文件管理,删除逻辑上不存在的文件,相当于对物理存储空间进行了一次刷新,又一次更新了整个系统的剩余可用空间。对于磁盘资源相对昂贵的校园资源管理系统而言,显得非常有意义。

海量小文件系统存储操作实例流程及设计案例:

对于整个文件存储层,系统为用户提供的文件上传,文件查看(下载),文件删除三个主要的功能。其用例图如下:

数字化校园文件存储拓扑图

数字化校园资源管理系统的文件管理部分,按照之前的设计包括存储调度,系统监控,存储节点,删除调度等模块。用户的三种不同操作,通过对上述多个模块的组合操作完成。

   1.文件上传操作:

文件的上传操作是用户通过系统上传模块将文件上传至文件管理部分。由文件管理部分来负责完成文件存储的过程。整个上传过程的活动图如下:

  数字化校园用户案例图

每一个用户上传存储过程,需要经历如下的流程:

(1)文件上传,申请文件存储。

(2)存储调度模块对当前的文件存储请求进行调度,根据监控模块反馈的当前存储节点的情况,为当前存储请求分配存储节点。

(3)系统监控模块定时对系统中管理的存储节点情况进行监控,评估当前节点的存储能力,用于存储调度模块调度

(4)存储请求获得存储的目标目录以后,以事务的方式完成以下操作,将上传的文件转存至调度存储目录,同时在数据库中存储当前存储文件的相关的信息和其存储的具体位置。

(5)返回存储的位置给用户。

   2.文件查看(文件下载操作)

   数字化校园资源管理平台存在意义,教学资源的上传管理器目的就是为了让教师和学生可以通过下载的方式共享教学资源。整个资源下载的后台活动图如下:

数字化校园文件下载

 (1)用户通过文件标识请求下载文件。

(2)系统查询该文件的位置信息是否在缓存中有相应信息,如果缓存命中,存放有该文件标识符对应的文件信息,则直接从缓存中获得该文件的信息。如果缓存未命中,则通过系统请求数据库,在数据库中取出该文件标识符对应的数据信息。

(3)利用获取的文件相关信息,在磁盘上获得该文件,将文件以合理的方式发送给下载相关功能,下载给用户。


 
QQ在线咨询
销售热线
0371-53302651