求一个远程访问SQL服务器储存PDF文件的解决方案!

一只熊猫 2009-02-23 01:10:13
C/S程序,用来储存分公司员工提交的PDF报告文件。

为了以后查询资料方便,我使用SQL数据库储存文件。

PDF文件大概在2-8M左右,为了在上传过程中可以提供一个准确的进度指示,也为了在上传过程中程序不至于完全卡死,我先把pdf文件分割成若干等份,然后再依次上传。 下载时依次下载,再合并成为完整的文件。

储存PDF的表reports,结构如下:
编号 PK,bigint
索引 int
文件名 nchar(100)
内容 image
上传人 nchar(30)

比如: 1.PDF分割成5份,上传完后表里是这样子:

编号 索引 文件名 内容 上传人
1 0 1.PDF <2进制数据> A
2 1 1.PDF <2进制数据> A
3 2 1.PDF <2进制数据> A
4 3 1.PDF <2进制数据> A
5 4 1.PDF <2进制数据> A


服务器是普通的电脑(Intel Pentium Dual E2180 2G, 1.5G内存),普通2M ADSL上网

现在上传时很慢,大家使用起来很“卡”,说还不如用QQ传来得方便 =。=||

我该从哪下手进行优化呢? 或者我就不应该采用这种方式储存?

请大家指教! 我现在只能发100分的贴,得到好的解决方案再加100分。谢谢。






...全文
234 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjw9004 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
其实我的建议也是跟2楼朋友一样,数据库只储存PDF路径,PDF文件直接上传的服务器的特定文件夹!

上传到服务器很简单的,写一个UDP通信,开个端口,然后只接用数据流传输,很快的!
[/Quote]

我也关注中!
qjw9004 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
其实我的建议也是跟2楼朋友一样,数据库只储存PDF路径,PDF文件直接上传的服务器的特定文件夹!

上传到服务器很简单的,写一个UDP通信,开个端口,然后只接用数据流传输,很快的!
[/Quote]

你好!能否给一个源码来学习呢?我的QQ:191971159 谢谢!
一只熊猫 2009-02-27
  • 打赏
  • 举报
回复
确定方案了!

我在服务器上搭建了一个FTP,客户端使用socket上传PDF文件。

在服务器上弄个程序监控FTP的文件夹,当有文件上传完整就转移到指定的位置,并将路径等信息保存到数据里。

一只熊猫 2009-02-26
  • 打赏
  • 举报
回复
现在用的2M包年只要3000,4M包年却要20000,我也不知道是怎么算的。。老板不同意加带宽,我也没得办法。

楼上的朋友,请否给些UPD传输的资料呢?
一只熊猫 2009-02-25
  • 打赏
  • 举报
回复
增加带宽成本太高了,我也只能在储存和传输方式上尽量的优化了。

另:

总共30左右客户端,我估计高峰期最多有5个左右客户端会同时进行文件传输

一星期大概增加3500条记录 ,就我上述的服务器的配置还是能满足需要吧?

目前的预算下,倒是可以换个专门的服务器 =。=
shalen520 2009-02-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Going1981 的回复:]
一个文件才几M,只要能保持10K的上传速度就能接受了。
[/Quote]
多人同时上传呢?
chyyyin 2009-02-25
  • 打赏
  • 举报
回复
其实我的建议也是跟2楼朋友一样,数据库只储存PDF路径,PDF文件直接上传的服务器的特定文件夹!

上传到服务器很简单的,写一个UDP通信,开个端口,然后只接用数据流传输,很快的!
一只熊猫 2009-02-25
  • 打赏
  • 举报
回复
一个文件才几M,只要能保持10K的上传速度就能接受了。
shalen520 2009-02-25
  • 打赏
  • 举报
回复
好好的一部法拉利,却只能在乡间小路上跑...
一只熊猫 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rl0516 的回复:]
不如把PDF文件存在硬盘上,数据库中只保存PDF文件路径
[/Quote]

我也在考虑这种方法。

当初设计把PDF往SQL里存也是因为没有做过winform上传文件 呵呵

shalen520 2009-02-24
  • 打赏
  • 举报
回复
带宽不够,再怎么着都是瞎掰
一只熊猫 2009-02-23
  • 打赏
  • 举报
回复
顶顶
一只熊猫 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shalen520 的回复:]
普通2M ADSL上网  //瓶颈在这里

应为ADSL是不对称的,上/下传速率比一般为1:8,所以当客户端下载的时候,服务端就是上传,那么整个服务器上传带宽才几十K,速度当然不行了!
[/Quote]

那理论上需要多少带宽呢?
shalen520 2009-02-23
  • 打赏
  • 举报
回复
普通2M ADSL上网 //瓶颈在这里

应为ADSL是不对称的,上/下传速率比一般为1:8,所以当客户端下载的时候,服务端就是上传,那么整个服务器上传带宽才几十K,速度当然不行了!
rl0516 2009-02-23
  • 打赏
  • 举报
回复
不如把PDF文件存在硬盘上,数据库中只保存PDF文件路径
wuyq11 2009-02-23
  • 打赏
  • 举报
回复

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧