基于FPGA的SOA三层架构的网络硬盘控制器设计.doc
《基于FPGA的SOA三层架构的网络硬盘控制器设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的SOA三层架构的网络硬盘控制器设计.doc(11页珍藏版)》请在三一文库上搜索。
1、基于FPGA的SOA三层架构的网络硬盘控制器设计项目设计一种采用流程+引擎+构件的SOA三层架构的网络硬盘控制器。系统采用FPGA作为系统控制器,在FPGA内部MicroBlaze软核处理器上移植PetaLinux操作系统,加载NFS网络文件系统,将扩展Int 13H规范中定义的基本硬盘操作指令封装成原子构件,并采用VHDL硬件描述语言实现各原子构件,实现对硬盘的基本操作。设计引擎模块,根据NFS文件系统操作指令,调用相关原子操作,实现硬盘存储空间管理、文件存储操作、用户管理等功能。本文设计网络硬盘控制器可作为个人存储服务器连接到以太网,用户可通过连接网络的任意主机实现对服务器硬盘的访问管理。
2、1 引言随着电子邮箱及网络硬盘的普及,用户可不用携带存储设备,而直接通过网络进行数据的上传和下载,实现个人数据的管理。然而,使用网络运营商提供的网络硬盘可用空间有限,且数据保密性不强。本项目旨在研究一种适合于个人应用的网络硬盘存储装置,该网络硬盘使用RJ45接口连接到以太网,通过以太网以TCP/IP协议,用户可用以太网上任意主机实现对网络硬盘的管理操作,与电子邮箱及网络运营商提供的网络硬盘相比,此项目设计的个人网络存储硬盘有着存储空间容量大、使用安全、可靠性较高等优点。2 系统原理与特点系统结构如图2-1所示。用户通过连接网络的客户端PC机采用TCP/IP协议实现文件的上传和下载,上传文件时,
3、用户通过客户端PC机向网络硬盘控制器发送上传文件指令,并发送文件数据,FPGA内以太网控制器模块接收数据并由DDR2控制器模块写入到DDR2中缓存,然后根据NFS协议将数据从DDR2中读出经硬盘控制器模块写入到硬盘中保存;客户端下载文件时,用户通过客户端PC机向硬盘控制器发送下载文件指令,FPGA内以太网控制器模块接收指令后,根据NFS协议将文件数据通过硬盘控制器模块读出并写入到DDR2缓存中,然后将数据由DDR2中读出并由以太网控制器模块,加载网络协议栈,将数据由网络发送到客户端PC。FPGA内部调用MicroBlaze处理器,移植PetaLinux操作系统,配置TCP/IP协议栈,加载NF
4、S网络文件系统,利用VHDL语言设计Int13H规范中定义的对硬盘操作的原子构件,并设计对原子构件调用的引擎管理模块,将原子构件与引擎管理模块以用户IP核形式添加到与MicroBlaze处理器互联的PLB片内总线,FPGA内部系统模块框图如图2-2所示。借鉴互联网分布式计算领域中网格计算、云计算技术广泛采用的SOA架构为核心设计思想,首先进行业务需求分析、根据业务用例、用例场景、业务步骤的分析过程找出对应的原子业务。根据业务原子业务映射到相应的系统需求进行系统建模,通过形式语义将场景步骤序列描述为由一系列原子构件的组合。完成流程+引擎+构件的三层SOA结构的文件系统设计。3.1 文件系统业务单
5、元文件系统是操作系统中负责管理和存储文件信息的软件系统。主要负责对文件存储器空间进行组织和分配,文件的存储以及对存入的文件进行保护和检索。文件系统主要包括存储空间管理、文件存储操作、用户管理这三个业务单元。存储实间管理主要包括对存储空间的组织、分配和回收。文件存储操作主要包括用户对存储空间文件的基本操作,包含文件的生成、删除、打开、关闭、文件读、文件写等。用户管理主要包括用户的注册、登录以及用户权限管理等。3.2 提取业务用例在提取文件系统的业务用例时,主要是从业务主角用户的角度出发,对文件系统的每一个业务单元进行分析提取业务用例。3.2.1 存储空间管理存储空间管理业务单元的用例视图如图3-
6、1所示。图3-1 存储空间管理用例视图存储空间管理该业务单元主要包括如下业务用例:初始化存储空间、分配存储空间、追加存储空间、回收存储空间、查询剩余存储空间。3.2.2 文件存取操作文件存取操作业务单元的业务用例视图如图3-2所示。图3-2 文件存取操作用例视图文件存取操作业务单元包括如下业务用例:建立文件、打开文件、读文件、写文件、关闭文件、保存文件、删除文件、保存文件、列举文件、检索文件、复制文件等。3.2.3 用户管理用户管理用例视图如图3-3所示。图3-3 用户管理用例视图用户管理该业务单元包括的业务用例主要有填加用户、删除用户、用户登录、用户退出、设置用户权限、修改用户权限等。3.3
7、业务用例场景3.3.1 划分业务用例场景业务用例在实际执行的进程中可能会有多种不同的情况发生,每一种情况都称为该业务用例的一个业务用例场景,也可以说业务用例场景是指实例化的用例。通过对文件系统的业务用例进行分析,划分出文件系统的业务用例场景如表1所示。3.3.2 描述业务用例本文对文件系统业务用例描述采用的是用例文档和UML的活动图,通过画出文件系统业务用例场景的活动图,按照所用例文档模板的格式对活动图进行描述,建立文件系统的业务用例模型,得到文件系统的业务需求文档。3.4 提取原子业务前面对文件系统进行了业务建模,分析了文件系统的业务参与者、业务用例和业务场景,在此小结中将分析提取文件系统的
8、原子业务。主要通过分析业务场景的主干流程来进行原子业务的提取。3.4.1 存储空间管理原子业务分析以追加存储空间为例分析业务流程。前置条件:文件当前存储空间不足,文件剩余存储空间中有足够的空闲空间。后置条件:成功为文件追加空闲存储空间。该业务流程由如下业务步骤组成:1。文件存储空间不足,申请新的存储空间;2。文件定位;3。追加新的存储空间。分析上述业务步骤,画出追加存储空间业务用例场景的业务流程图如图3-4所示。图3-4 追加存储空间活动图经分析追加存储空间该业务用例中可提取出两个原子业务:文件定位、追加存储空间。分析存储空间管理业务单元其它业务用例场景的业务流程后,得出该业务单元原子业务树状
9、结构图如图3-5所示。图3-5 存储空间管理原子业务模型结构图3.4.2 文件存取操作原子业务分析以顺序读文件为例分析业务流程。前置条件:文件存在并且可读。后置条件:从文件指定位置处顺序读取指定长度内容。该业务流程由如下业务步骤组成:1。确定文件所在存储空间;2。打开目标文件;3。读取指定长度的文件内容;4。关闭文件。分析上述业务步骤,画出顺序读文件业务用例场景的业务流程图如图3-6所示。经分析顺序读取文件该业务用例中可提取出四个原子业务:文件定位、打开文件、顺序读文件、关闭文件。分析文件存取操作业务单元其它业务用例场景的业务流程后,提取出该业务单元原子业务树状结构图如图3-7所示。图3-6
10、顺序读取文件业务活动图3.4.3 用户管理原子业务分析以注册用户为例分析业务流程。前置条件:有权限成为文件系统用户。后置条件:注册成功,分配用户名。该业务流程由如下业务步骤组成:1。管理员进入存储空间;2。登记用户信息。分析上述业务步骤,画出注册用户业务用例场景的业务流程图如图3-8所示。经分析注册用户该业务用例中可提取出两个原子业务:用户登录、登记用户信息。分析用户管理业务单元其它业务用例场景的业务流程后,得出该业务单元原子业务部分树状结构图如图3-9所示。图3-9 用户管理原子业务模型结构图通过以上对文件系统各业务单元的分析,提取文件系统完整的原子业务及其描述如表3-2所示。4 Petal
11、inux及NFS网络文件系统的移植Petalinux的移植主要工作为硬件平台搭建,以及内核的裁剪与移植,其中硬件平台的搭建在windows操作系统上安装的Xilinx EDK环境中完成,选择Virtex5-lx110t开发板,由于网络文件服务器的需要选择以太网的IP核,DDR,串口,定时器等并添加相应的中断,成功建立工程的block diagram 如图4-1所示。图4-1 搭建工程框图然后进行基于Petalinux软件平台的配置,操作系统和库选项选择Petalinux,修改主要存储空间和输入输出的当前值,软件平台搭建完毕,最后生成库和板级支持包,然后生成比特流文件下载至目标板测试工程的正确性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA SOA 三层 架构 网络 硬盘 控制器 设计
链接地址:https://www.31doc.com/p-3410321.html