如何解决频繁读写导致的磁盘碎片问题? 本帖最后由 oyljerry 于 2013-12-19 10:56:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我一猜就是安防行业的,你们不买磁阵吗?不会是ext3格式的吧?什么公司? 我一猜就是安防行业的,你们不买磁阵吗?不会是ext3格式的吧?什么公司?现在用的就是磁阵 我一猜就是安防行业的,你们不买磁阵吗?不会是ext3格式的吧?什么公司?现在用的就是磁阵自己定义文件系统吧,不然迟早要换,我手里有套按照通道进行分块和区进行存储的,直接写裸盘。。 我一猜就是安防行业的,你们不买磁阵吗?不会是ext3格式的吧?什么公司?现在用的就是磁阵自己定义文件系统吧,不然迟早要换,我手里有套按照通道进行分块和区进行存储的,直接写裸盘。。>>可否分享? 我一猜就是安防行业的,你们不买磁阵吗?不会是ext3格式的吧?什么公司?现在用的就是磁阵自己定义文件系统吧,不然迟早要换,我手里有套按照通道进行分块和区进行存储的,直接写裸盘。。>>可否分享?这个牵涉到公司信息安全,没办法了,建议就是自己写裸盘,能提高利用率和查找,读写速度,还能解决ext3断电重启带来的bug 在微软可好?hehe,not bad。 在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。你一个人是做不出来的,哪家安防?>>为什么一个人做不出来?算法复杂 还是 工作量很大? 首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。无论是设计,还是实现,都很复杂。在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。你一个人是做不出来的,哪家安防?>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。无论是设计,还是实现,都很复杂。 在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。你一个人是做不出来的,哪家安防?>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。无论是设计,还是实现,都很复杂。那么复杂? 这些知识可以从哪里得到? 有书 还是开源的系统? 在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。你一个人是做不出来的,哪家安防?>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。无论是设计,还是实现,都很复杂。那么复杂? 这些知识可以从哪里得到? 有书 还是开源的系统?在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。你一个人是做不出来的,哪家安防?>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。无论是设计,还是实现,都很复杂。那么复杂? 这些知识可以从哪里得到? 有书 还是开源的系统?从头设计一个简单的文件系统分两部分:设计,和实现。设计方面你可以参考一下《Practical File System Design》(这本书以BeOS的文件系统作为例子),《UNIX Filesystems: Evolution, Design, and Implementation》(比较老但是好在文件系统的变化不是特别大),以较简单的文件系统如FAT入手学习设计一个文件系统要考虑哪些方面。实现方面,你需要首先决定在哪个OS上实现你的文件系统,Windows,还是Linux。视OS不同,内核编程、调试的基础知识必不可少,再结合一些开源项目,仔细分析学习代码。 Windows上,《Inside the Windows NT File System》和《Windows NT File System Internals》也是必不可少的;Linux上,因为都是开源的,以开源文档和代码为主要学习材料吧。 跳槽怎么这么难呢,,,郁闷中 如何修改SDI边框的宽度和高度,颜色 有人用过zlib么? 还是char*的问题 LoadLibrary() 问题 如何屏蔽Esc键 比尔盖茨死了? 扬声器发声 怎样用idl声明输出参数为adorecordset的方法 请教一个关于MFC类bug型问题 如何根据若干点绘制平滑的曲线 一个看似很简单的问题,找了一晚上:怎么判断一个USB是否安装了驱动或驱动状态正常
现在用的就是磁阵
现在用的就是磁阵
自己定义文件系统吧,不然迟早要换,我手里有套按照通道进行分块和区进行存储的,直接写裸盘。。
现在用的就是磁阵
自己定义文件系统吧,不然迟早要换,我手里有套按照通道进行分块和区进行存储的,直接写裸盘。。
>>可否分享?
现在用的就是磁阵
自己定义文件系统吧,不然迟早要换,我手里有套按照通道进行分块和区进行存储的,直接写裸盘。。
>>可否分享?
这个牵涉到公司信息安全,没办法了,建议就是自己写裸盘,能提高利用率和查找,读写速度,还能解决ext3断电重启带来的bug
hehe,not bad。
你一个人是做不出来的,哪家安防?
>>为什么一个人做不出来?算法复杂 还是 工作量很大?
无论是设计,还是实现,都很复杂。在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。
你一个人是做不出来的,哪家安防?
>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。
无论是设计,还是实现,都很复杂。
你一个人是做不出来的,哪家安防?
>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。
无论是设计,还是实现,都很复杂。那么复杂? 这些知识可以从哪里得到? 有书 还是开源的系统?
你一个人是做不出来的,哪家安防?
>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。
无论是设计,还是实现,都很复杂。那么复杂? 这些知识可以从哪里得到? 有书 还是开源的系统?在裸盘或磁阵上,根据偏移量自己将硬盘格式化为区,块,每个区上有块索引信息,块上有视频帧索引信息,比如帧的宽高,是否关键帧,时间戳等;然后一路视频就顺序的往块上写,一个块写满了就申请下一个,这样就保证是顺序写的了,方便查找,也充分利用了磁盘,写完帧数据要更新索引,这样即便断电也不影响文件索引。。
你一个人是做不出来的,哪家安防?
>>为什么一个人做不出来?算法复杂 还是 工作量很大?首先对于文件系统本身的设计,需要从你的实际需求出发考虑很多问题,块分配/回收策略,坏块处理,索引结构设计,元数据,可恢复性,等等;从实现上讲,你下需要和存储设备驱动打交道(甚至有可能要自己处理物理存储设备,编写存储设备驱动),上需要和IO manager、FastIO(Cache manager)等等系统组件打交道,另外你可能还要小心翼翼处理好各种插在driver stack上的filter。
无论是设计,还是实现,都很复杂。那么复杂? 这些知识可以从哪里得到? 有书 还是开源的系统?
从头设计一个简单的文件系统分两部分:设计,和实现。
设计方面你可以参考一下《Practical File System Design》(这本书以BeOS的文件系统作为例子),《UNIX Filesystems: Evolution, Design, and Implementation》(比较老但是好在文件系统的变化不是特别大),以较简单的文件系统如FAT入手学习设计一个文件系统要考虑哪些方面。
实现方面,你需要首先决定在哪个OS上实现你的文件系统,Windows,还是Linux。视OS不同,内核编程、调试的基础知识必不可少,再结合一些开源项目,仔细分析学习代码。