免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2269 | 回复: 8
打印 上一主题 下一主题

关于数据存储,希望大家给点思路 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-10 09:54 |只看该作者 |倒序浏览
5可用积分
最近导师让我学习ARM9E,
之后要基于开发板做一个视频数据存储部分的软件设计方案。
板子实现的主要功能就是实现视频监控,就是一个简单的DVR。
开发板挂一个SATA硬盘..
C语言实现。
关于数据存储这方面从来没有做过,不知道怎么下手。
大家能给点思路吗?谢谢

我初步把这个方案分成了三部分:存储设备的信息识别及初始化、音视频文件的存储、文件的检索。

请问,
1、如果要对硬盘进行分区格式化,是否可以调用Linux下命令来实现(使用ext3)?有无其他方式?
2、在存储过程中如果希望减少磁盘碎片,在程序设计上有无实现方法?
3、检索部分我想通过读取目录下文件名,然后根据文件的信息对照筛选条件来进行检索,
   要使用系统调用函数,不知道效率是不是很低,有没有其他高效的方式?
4、是否还有没有考虑到的地方..希望大家指教..谢谢

##另外,我有个想法,想借鉴Linux系统下现有的开源音视频录制软件源码,
   作为音视频存储这一部分的参考,不知是否有这种C语言编写的开源软件?
   如果哪位知道请推荐几个,谢谢~

[ 本帖最后由 zhangxiwl 于 2009-3-10 12:23 编辑 ]

最佳答案

查看完整内容

应该提前把文件全部写好,比如1T硬盘,按你需要存录像的文件大小,提前全部写好。减少碎片。然后反复往你建好的文件里写。检索应该建立自己的检索机制,而不用文件名,提高效率,比如自己建链表。使用文件系统,自己看着办,如果你对文件系统有把握,足够的熟悉,可以放弃fopen或文件流之类,而用扇区读写操作。前提,搞懂你要用的文件系统。比如你打算用ext3.以上是小弟的一点高论,呵呵,开玩笑,胡乱说说而已。

论坛徽章:
0
2 [报告]
发表于 2009-03-10 09:54 |只看该作者

回复 #1 zhangxiwl 的帖子

应该提前把文件全部写好,比如1T硬盘,按你需要存录像的文件大小,提前全部写好。减少碎片。然后反复往你建好的文件里写。
检索应该建立自己的检索机制,而不用文件名,提高效率,比如自己建链表。
使用文件系统,自己看着办,如果你对文件系统有把握,足够的熟悉,可以放弃fopen或文件流之类,而用扇区读写操作。前提,搞懂你要用的文件系统。比如你打算用ext3.
以上是小弟的一点高论,呵呵,开玩笑,胡乱说说而已。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2009-03-10 10:27 |只看该作者
原帖由 zhangxiwl 于 2009-3-10 09:54 发表
关于数据存储这方面从来没有做过,不知道怎么下手。

先用 google 找点入门资料看看,有了具体问题再说。

论坛徽章:
5
4 [报告]
发表于 2009-03-10 11:25 |只看该作者

回复 #3 urapple 的帖子

可以不用直接用祼设备,自己用某种机制实现块(扇区)的链接。这样是否可行?

论坛徽章:
0
5 [报告]
发表于 2009-03-10 11:33 |只看该作者

回复 #4 yidou 的帖子

可以!
还有一个重要的,就是要提前检查硬盘。避免坏道。

论坛徽章:
0
6 [报告]
发表于 2009-03-10 12:20 |只看该作者
原帖由 urapple 于 2009-3-10 11:12 发表
应该提前把文件全部写好,比如1T硬盘,按你需要存录像的文件大小,提前全部写好。减少碎片。然后反复往你建好的文件里写。
检索应该建立自己的检索机制,而不用文件名,提高效率,比如自己建链表。
使用文件系 ...


获益匪浅!
之前想用嵌入式数据库来管理数据文件,导师说有点大炮打苍蝇,而且不知道板上资源是否够用..
对扇区的读写操作是属于底层吧?是否涉及到底层设备驱动这一领域?
比如在裸盘上面建立文件系统以及磁盘坏道检测的实现,虽然Linux下有现成的命令,
但是我想自己用代码实现。只是这样一个想法,不知道短时间内实现有没有可行性?
本人经验比较少,希望大家指点一下~谢谢

论坛徽章:
0
7 [报告]
发表于 2009-03-10 12:26 |只看该作者
我在板子上执行格式化的命令,提示缺少相应的库文件.
研究中..

[ 本帖最后由 zhangxiwl 于 2009-3-10 12:34 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2009-03-10 21:56 |只看该作者
楼主 我们可以交流下  我是学习存储的 QQ  27375590   E-mail: piaoyun@yeah.net

论坛徽章:
0
9 [报告]
发表于 2009-03-24 10:00 |只看该作者
mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP