海量图像数据的存取(100分)

  • 主题发起人 主题发起人 lusoja
  • 开始时间 开始时间
L

lusoja

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的SQLServer2000的数据库,C/S结构。其中一个表的一个字段保存图片。图像数据比较多,大概每条记录有将近50张图片(大约100M),保存和读取图像时响应速度就无法忍受了。 <br><br>找了些资料,请教了一些人士,建议采用在数据库保存图像文件路径的方式 。 &nbsp;<br>由于以前没有采用这种方式的经验,在这里能否得到大家的更详细点的解答? 比如我在客户端提交图像,我怎么保存路径;读取的时候,我又怎么返回图像数据? <br>&nbsp;谢谢!
 
每条数据这么大,是应该采用保存文件咱径的做法,只是写下方法,具体代码你到网上找下。<br>在你将路径读出后,放到一变量中。由于你是在局域网内的C/S结构,可以利用WINDWS API中的CopyFile通过网上邻居达成,如:B为Server,A为Client,在取得[完全控制]后就可以了,否则你先要在B上设置好目录的共享,只要在A上执行<br>CopyFile("C://test.txt", "////B//B1//test.jpg", true);<br>这样就把文件COPY到A中了。然后用Image的LoadFromFile就可以把图片读出了。。。
 
谢谢lngdtommy的回复。<br>采用你是偶的方法的话,就要共享目录,建立新用户,设置用户访问权限,以此来进行文件的存取。 这样的话在安全性方面有没有缺陷呢?<br>还有就是数据备份的话岂不是有点麻烦? 因为其它数据在SQLServer2000里 图像文件保存在文件夹中? 有什么好的策略吗? <br>希望得到大家更多的建议。[:)]
 
不想建共享的话就只能建文件服务器了,提供文件的下载上传功能
 
如果保存大文件,保存时把文件 分段,在服务器端合并保存,<br>下载时,也如此
 
我觉得在思路上有如下的方法可以参考参考: <br>&nbsp; 1.能不能折衷一下,把这两种方法都用上。比如客户查询的时候就是显示的路径,而程序里有个一直做这个图片入库更新操作的线程。不过这样容易出现数据库和文件不一致。<br>&nbsp; 2.图片压缩存储,要不在保存和读取时采用多个线程分段处理显示。<br>&nbsp; 3.要不就用通讯的方式一段一段的分割文件来保存、下载(分成小段的图片也可压缩发送)。
 
我的做法是数据库还是保存文件流.<br>加一个版本字段.文件有更改就加一.<br>查询的时候如果本地版本和数据库中的不一样就从数据库中下载到本地.<br>如果两者版本一样的话就使用本地的.
 
十分感谢楼上各位的指点。 这些建议让我在迷茫中看到了一丝光明! 但是要我具体实现起来还是有很大的困难,诸位有没有这方面的示例或相关的资料? 借偶参考一下。 感激不尽。
 
我的主要问题是图像数据容量大,一年大概会有100多G,所以我要考虑存取的效率,还要考虑数据备份的问题。 &nbsp;像做PACS的图像数据量也会很大,他们是采用的何种技术呢? 应该不会是通过共享-映射磁盘的方法吧? &nbsp;有这方面经验的同胞能否指点一下?
 
后退
顶部