[发明专利]基于flash的流式文件系统以及文件读取写入的方法有效
| 申请号: | 201210047334.5 | 申请日: | 2012-02-27 |
| 公开(公告)号: | CN102622431A | 公开(公告)日: | 2012-08-01 |
| 发明(设计)人: | 王斌;陈庆斌;林英 | 申请(专利权)人: | 福建联迪商用设备有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 福州市鼓楼区博深专利代理事务所(普通合伙) 35214 | 代理人: | 林志峥 |
| 地址: | 350003 福建省福州*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 flash 文件系统 以及 文件 读取 写入 方法 | ||
技术领域
本发明涉及一种流式文件系统领域,尤其涉及一种基于flash的流式文件系统以及基于该系统的文件读取或写入的方法。
背景技术
随着各种卡片被应用于消费交易中,pos也被广泛应用于各类商家。通常而言pos机都需要存储各类的交易数据,比如交易商家、地点、时间、交易类型、卡号等信息,原有的pos只需提供记录式的文件系统记录这些流水数据就可以满足需求。但随着pos应用形式的多样化,pos机不仅要存储交易流水数据,还要存储其他形式的数据,比如用户个性化的界面数据、字体、图形、或者各种脚本数据。这样一来,原有记录式的文件系统不能满足日益增长的用户需求。因此一种简单、易用、移植性强、对硬件要求低的流式文件系统就呼之欲出。
目前可用的流式文件系统有比较多,比如最常用的有jffs2、yaffs、ext、fat、ntfs等文件系统。
(1)jffs2(Journaling Flash File System,flash日志型文件系统第2版),其功能就是管理在MTD设备上实现的日志型文件系统。除了提供具有断电可靠性的日志结构文件系统,jffs2还会在它管理的MTD设备上实现磨损平衡和数据压缩等特性。Jffs2的不足之处:(a)需要类似linux这种强大的操作系统支持,(b)挂载时对闪存从头到尾扫描,速度慢,并且需要大量的内存。
(2)yaffs(Yet Another Flash File System):第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备,Yaffs是基于日志的文件系统,提供磨损平衡和掉电恢复的特性,主要应用于linux和wince中。
(3)ext(extended file system):是专门为linux开发的原始的扩展文件系统。
(4)fat(基于文件分配表文件系统):通常应用于磁盘,U盘等大容量的存储介质上。其主要的思想是在存储介质上划出固定的区域记录文件系统的信息以及文件分配表(File Allocation Table,FAT表),以达到管理存储空间的目的。正常使用FAT文件系统的介质都带有控制器,控制器除了实现正常访问物理存储介质之外,还可以实现物理介质的磨损平衡。不适用于直接访问flash设备。
(5)ntfs(New Technology File System):是基于windows操作系统的磁盘文件系统。
目前常用的文件系统通常需要强大的操作系统支持,并且需要的内存资源较大,甚至有些文件系统不支持flash设备。本发明要解决的问题是:开发一种文件系统同时支持norflash与nandflash,并且无需操作系统支持,可在无操作系统或轻量级的操作系统如nucleus、uclinux上运行,带有磨损平衡的pos机专用的流式文件系统。
发明内容
本发明提供一种基于flash的流式文件系统,能够解决现有技术中不支持flash设备,移植性不高、对硬件要求高的技术问题。
为解决上述技术问题,本发明提供一种基于flash的流式文件系统,将flash划分多个存储单元,所述存储单元分类为系统簇或数据簇;系统簇用于存储日志、备份、文件目录表、文件分配表;数据簇用于存储数据。
为解决上述技术问题,本发明还提供一种向基于flash的流式文件系统读取文件的方法,包括:
S1:遍历flash中的每个簇的簇头信息,获取每个簇的类型以及空间使用状况;
S2:获取系统簇,根据系统簇中的文件目录表和文件分配表,获取文件的存储信息;
S3:根据文件的存储信息,读取文件数据。
其中,所述步骤S2的文件的存储信息包括文件名称、文件分配情况。
为解决上述技术问题,本发明还提供一种向基于flash的流式文件系统写入文件的方法,包括:
S1:遍历flash中的每个簇的簇头信息,获取每个簇的类型以及空间使用状况;
S2:获取系统簇,根据系统簇中的文件分配表,获取所需要写入的数据簇的信息,判断所述数据簇是否为空,若是,写入数据;若否,转到S3;
S3:随机分配一个空闲数据簇,写入数据。
其中,所述步骤S3中,所述数据包括旧簇中的有用数据A以及新增数据B,所述写入数据的方法是,获取数据A和数据B,丢弃包含数据A的数据簇,将数据A和数据B一起写入随机分配的空闲数据簇,更新文件分配表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建联迪商用设备有限公司,未经福建联迪商用设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210047334.5/2.html,转载请声明来源钻瓜专利网。





