考虑开发一个文件管理系统在公司内部使用,有几个问题搞不定,请教各位是怎么考虑的
1、文件是放在硬盘上呢还是存放的数据库中呢,大部分都是word或者excel,而且都很大。以前一直是存放硬盘上的,可是也想不出放在数据库中有什么不好,而且备份也好弄。不知道各位怎么说。
2、全文检索,以前没有用过,不知道是放在数据库中方便全文检索还是放在硬盘上更好?
3、并发操作,如果一个人正在下载,而此时另外一个又提交了修改,那该怎么弄?
4、由于word压缩后可以大大的减小体积,所以考虑采用压缩技术,可是要是每次都压缩、解压缩,那对系统会不会影响很大?
5、google的桌面工具可以完成检索工作,是不是可以直接之用它的接口来开发?
6、由于文件数量和访问人数都比较多有50名以上,所以考虑把文件放在多个服务器上,而用户只通过一个界面来访问,这个需要那些技术?
7、听别人说可以把文件放在linux上,用asp.net来访问,我觉得不太可能,不知道我想的是否正确,如果真的可以实现,需要怎么弄?
第一次弄这个东东,太多的疑问。
请各位多多指教。
留言的都会给分了 ^_^

解决方案 »

  1.   

    1、文件可以放在服务器上,不同类型或者不同版块的可以分多个文件夹区分。数据库保存文件的路径就可以。
    2、很多有关搜索的东西我从来都在数据库上做,总感觉数据库比较快点~
    3、可以增加一个表,增加用户ID、锁定记录的ID以及锁定FLAG,只是举例,此方法不是很好,只是我曾经这么做过:)目前正在研究XR锁什么X锁什么什么的,头疼:(
    4、这个不是很清楚,压缩好象会使磁盘碎片增多吧?而且你的文件要是放在系统盘里,压缩会导致系统变慢,稳定程度好象不太受影响。
    5、桌面搜索工具很多的现在,不但方便了用户的搜索工作,另一方面在搜索结果中整合进本地信息,也让用户实现了搜索时外部信息与本地信息的统一管理利用,至于是否用他的接口开发,这得看你的系统需求了。
    6、需要KVM???好象听别人议论过。自己不清楚~
    7、这问题压根就没接触过水平很低,说的不对的笑笑就算了,别拍我!:):):)
      

  2.   

    1.放在硬盘上较好,数据量过大会影响数据库性能
    2.都可用全文检索。
    3.这个问题,没办法,谁让他先下载呢?
    4.如果同时压缩的话是比较影响服务器的性能,但如果放在客户端压缩。
    需要插件或者需要手工压缩后再上传。
    5.没用过。
    6.普通的网络共享就可以。
    7.实现是可以的。但关键在于怎么实现?通过ftp,或socket传文件
    肯定是可以,但是比较麻烦
    ===========
    以上内容,很多是个人见解,未经验证,说得不对,见谅,
      

  3.   

    1、文件是放在硬盘上呢还是存放的数据库中呢。
    如果主要以WORD和EXCEL文件为主,可以考虑放到数据库里,用IMAGE或TEXT字段来保存
    主要是方便数据备份,但是考虑到数据的大小,可以先进行压缩后再存入数据库2、全文检索,以前没有用过,不知道是放在数据库中方便全文检索还是放在硬盘上更好?
    全文检索并不能对WORD和EXCEL进行检索,建议只对关键字进行检索3、并发操作,如果一个人正在下载,而此时另外一个又提交了修改,那该怎么弄?
    这个主要看你是否需要版本管理。如果需要版本管理的话比较麻烦,需要保存每个特定版本。如果不需要,则总是以最后一个修改的为准。当在提交时先向数据库申请独占此记录,下载时也同样如此。4、由于word压缩后可以大大的减小体积,所以考虑采用压缩技术,可是要是每次都压缩、解压缩,那对系统会不会影响很大?
    不会,如果你采用C/S方式可以先压缩再上传,如果采用B/S方式对网络要求比较高
    建议采用C/S方式5、google的桌面工具可以完成检索工作,是不是可以直接之用它的接口来开发?
    不了解
    6、由于文件数量和访问人数都比较多有50名以上,所以考虑把文件放在多个服务器
    上,而用户只通过一个界面来访问,这个需要那些技术?
    只需要用到数据库的集群技术,SQL Server 2000就已经支持了7、听别人说可以把文件放在linux上,用asp.net来访问,我觉得不太可能,不知道我想的是否正确,如果真的可以实现,需要怎么弄?
    当然也可以放到linux上,数据库架在linux上当然是可以的,比较稳定,不过初使设置很麻烦。又不是很重要的业务系统,没必要搞那么麻烦。
      

  4.   

    1、文件是放在硬盘上呢还是存放的数据库中呢。
    数据库里,好备份,便于管理2、全文检索,以前没有用过,不知道是放在数据库中方便全文检索还是放在硬盘上更好?
    建议不使用全文检索,可以使用关键字检索3、并发操作,如果一个人正在下载,而此时另外一个又提交了修改,那该怎么弄?
    下载和提交时均要锁记记录4、由于word压缩后可以大大的减小体积,所以考虑采用压缩技术,可是要是每次都压缩、解压缩,那对系统会不会影响很大?
    建议采用C/S方式在客户端解压缩。如果一定要使用B/S方式,速度慢一点,而且在数据下载和上传时占用较大网络资源5、google的桌面工具可以完成检索工作,是不是可以直接之用它的接口来开发?
    不了解6、由于文件数量和访问人数都比较多有50名以上,所以考虑把文件放在多个服务器上,而用户只通过一个界面来访问,这个需要那些技术?
    50个而已不需要分放到多个服务器上,如果一定要这么做,可以通过数据库本身的功能来处理,它涉及到
    分布性事务,通过对数据进行分区,通过分区视图来访问。7、听别人说可以把文件放在linux上,用asp.net来访问,我觉得不太可能,不知道我想的是否正确,如果真的可以实现,需要怎么弄?
    当然可以,就是在linux上架个数据库,不过配置比较麻烦。虽然比windows要稳定一些,不过出了问题也很麻烦另:建议存入数据库里除了源文件,最好还有以下几个字段
        提交者ID 
        提交者时间
        文件标题
        关键字
        第一页的屏幕预览图片
        
        这样做的好处是不用解压就可以知道文件是否是要查找的
      

  5.   

    1、文件是放在硬盘上呢还是存放的数据库中呢。
    数据库里,好备份,便于管理2、全文检索,以前没有用过,不知道是放在数据库中方便全文检索还是放在硬盘上更好?
    建议不使用全文检索,可以使用关键字检索3、并发操作,如果一个人正在下载,而此时另外一个又提交了修改,那该怎么弄?
    下载和提交时均要锁记记录4、由于word压缩后可以大大的减小体积,所以考虑采用压缩技术,可是要是每次都压缩、解压缩,那对系统会不会影响很大?
    建议采用C/S方式在客户端解压缩。如果一定要使用B/S方式,速度慢一点,而且在数据下载和上传时占用较大网络资源5、google的桌面工具可以完成检索工作,是不是可以直接之用它的接口来开发?
    不了解6、由于文件数量和访问人数都比较多有50名以上,所以考虑把文件放在多个服务器上,而用户只通过一个界面来访问,这个需要那些技术?
    50个而已不需要分放到多个服务器上,如果一定要这么做,可以通过数据库本身的功能来处理,它涉及到
    分布性事务,通过对数据进行分区,通过分区视图来访问。7、听别人说可以把文件放在linux上,用asp.net来访问,我觉得不太可能,不知道我想的是否正确,如果真的可以实现,需要怎么弄?
    当然可以,就是在linux上架个数据库,不过配置比较麻烦。虽然比windows要稳定一些,不过出了问题也很麻烦另:建议存入数据库里除了源文件,最好还有以下几个字段
        提交者ID 
        提交者时间
        文件标题
        关键字
        第一页的屏幕预览图片
        
        这样做的好处是不用解压就可以知道文件是否是要查找的