IM项目-文件服务器的冲突

来源:互联网 发布:ui给程序员的规范图 编辑:程序博客网 时间:2024/06/06 04:04

由于IM项目需要与Web应用结合 ,所以必须要考虑在文件下载时的锁定问题,比较好的方式就是当IM需要读文件时首先拷贝副本,然后对文件副本进行操作。同时为了节省磁盘空间,可以在内存中维护一个下载文件使用列表,IMClient请求下载某文件时,首先查看这个表,如果文件已经打开,则直接使用,否则,拷贝副本,文件下载完成或中断时,检查表中是否还有其他用户使用这个文件,如果没有,删除副本。

另外,由于文件服务器有大量的IO操作,所以对于文件列表的查询和更新操作,不使用数据库,而是使用xml文件,考虑到web脚本的效率问题,可以把信息存到多个xml文件中,分别保存不同的信息,Web只关注它用的。