论文部分内容阅读
当今社会,各种数据量的急剧膨胀使人们进入到大数据时代。大数据是指单个寻址单元可以容纳不确定的或任意尺寸的数据。规模非常巨大和复杂的数据集,对于动辄达到PB、EB或ZB级别的数据量,传统的数据存储管理机制处理起来将面临诸多新的难题。通过对大数据底层存储研究,寻求一种行之有效的方式来满足大数据高并发读写、海量数据的高效率存储与访问需求、存储容量可扩展和高可用性的需求,是本研究的主要课题。本研究针对大数据所具有的特性,从数据的底层介质存储、文件系统管理及界面访问形式等层面一一剖析,提出利用FPGA实现文件系统的方案,通过具体实例介绍其实现过程,仿真并调试。.具体如下:一、底层ATA主机控制器的设计及优化。针对实验室现有的ATA控制器进行重新设计与优化,完善Ultra DMA读写功能,归纳DOS、Windows与Linux操作系统中对底层硬盘读写机制,总结出底层硬盘接口的主要参数并对接口进行重新封装,使其易与上层文件系统接口。二、FPGA实现Ext2硬件文件系统。(1)在深入理解FAT 32及Ext 2文件系统的存储原理的基础上,抽取文件系统共性,归纳总结文件基本操作的流程:创建文件、读文件、写文件、删除文件、更新文件等;(2)硬件文件系统与底层ATA主机控制器直接接口,用VHDL描述Ext 2文件系统的各个功能模块及主要操作的状态机描述,代码通过调试与仿真;(3)给出两种方式实现文件系统的具体方案:状态机与定序器引擎,针对各自所具备的特点进行了详细的阐述。三、多模式远程访问的客户端实现。(1)B/S模式下通过WEB浏览器进行远程访问:设计前端HTML访问页面、编写CGI程序、在FPGA中的PetaLinux操作系统中添加Boa服务器、编译文件系统库等;(2)C/S模式下通过编写Socket应用程序,实现文件的远程存取过程。本研究在利用FPGA实现文件系统的具体实现方案中,提出采用RAM实现文件系统的基本数据结构的方法;将字符查找功能应用到硬件电路中,实现文件名的匹配;硬盘命令控制模块合理地控制发往硬盘的命令,提升硬盘的工作效率。用FPGA实现文件系统可在不通过CPU专门调度指挥下完成对数据及文件的读写操作,实现用户数据缓存与硬盘的直接交互,节省资源,缩短文件处理时间,将文件系统与硬盘控制器作为独立的资源节点可极大的增加系统的可扩展性,可为满足大数据需求、实现资源与服务的高效调配提供参考。