图片存储从数据库中改为磁盘存储 - moyuanming/NWeight GitHub Wiki
一、 服务器端
1. 目录说明
- 存储在
IMAGE/Upload
下 - 以时间
20130826
为第一分组,一天一个文件夹 - 时间文件夹下以每个车道号为名称的文件夹存储这个车道的图片
- 目录结构即:
IMAGE/Upload/20130826/X01/XXXXX.IMG
2. 图片维护程序
- 图片维护程序主要作用是创建日期和车道名称的文件夹,防止车道上传图片时找不到路径,图片维护程序每次创建比当前日期超出10天的文件夹。
- 图片维护程序还负责删除过期图片和文件夹,过期天数由配置文件设置。
- 图片维护程序还负责维护IMAGE表中的记录,图片删除后删除IMAGE表中的记录,保持IMAGE表的记录数,提高图片查询的速度。
3. 图片扫描入库程序停用
- 不在启用图片扫描入库程序。``
二、 图片查询
- 图片查询还是查询IMAGE表,IMAGE表中记录图片的字段现在记录图片文件名,图片查询到记录后根据记录拼接出图片的Ftp路径,根据ftp路径从服务器ftp地址上获取图片并显示。
三、 车道
1. 添加IMAGE消息
- 车道添加IMAGE消息,消息记录直接入库到IMAGE表中,其中包含图片名称。
2. 图片生成与上传
图片生成模式保持不变,只是上传的时候拼接上传路径,直接上传到服务器存储路径,不在单独处理。
四、 改成磁盘存储的想法
1. 减小数据库体积和服务器压力
- 原有的方式图片存到数据库中步骤太多,扫描图片入库,不知道是不是这个原因导致数据库服务占用太多系统资源。
- 数据库文件体积太大是不是也会导致数据库服务占用太多系统资源。
- 当数据库文件太大,即使删除数据库中图片记录数据库也不会释放磁盘空间,导致当数据库文件把磁盘占满后无法释放磁盘空间,这个问题除了删除整个图片表或文件暂时没有找到解决办法。
2. 可能带来的优点
- 减少图片处理步骤,基本上服务器不需要再处理图片,车道直接把图片存储到目的地。
- 减小数据库体积。
- 容易删除图片释放磁盘空间。
3. 可能带来的缺点
- 存储图片的目录无法打开(文件过多)。
- 图片查询通过
ftp
获取图片速度和认证是否容易出问题。 - 存储在磁盘的图片是否删除存在困难,文件太多删除一样会很慢,释放空间很慢。