关于局域网上共享文件夹后,两种文件传输方式速度与效率的比较,有经验的大师请来看一看
局域网上一台计算机作为服务器,其上一个文件夹设为共享,里面有50大小约500K的纯文本文件,每个文件大约为5000行。现在这台服务器用10/100M交换机连接了200台终端并发访问这些文件(在数秒内同时执行以下程序),目的是依次从服务器的50个文件中依次随机取600行分别组成50个临时文件保存在本地机上。
方式一:
假设事先已生成一个特定字串TTT来代表需要取的第几行信息,形如000500130211...(四位数表示一行)分别表示取第5行、13行211行...,每个文件按如下代码从远程服务器上生成合乎要求的临时文件于本机上。
Open serverfile For Input As #1
jishu=1
Do
If EOF(1) Or j >=600 Then Exit Do'共取600行
Line Input #1, str0
If InStr(TTT, Format(jishu, "0000")) > 0 Then '在循环中找到一个需要的行号
j=j+1
str1 = str1 & Chr(13) & Chr(10)
End If
jishu = jishu+ 1
End If
Loop
Close #1
Open tmp For output As #1
print #1,str1
close #1
每个远程文件都这样取部分行生成临时文件,共计执行以上类似代码50次(共计约50个500K的文件)。
这样200台终端并发开始执行以上代码(最多在数秒内全部机器都已开始执行)。这是方式一。
方式二:
先将这50个文件用COP函数全部考到本地机上(也是在数组内并发执行拷贝任务),再在本机上运行上述代码生成所需要的临时文件。
方式一读取工作始终进行远程数据输送,但任务一次性完成;方式二只在开始将全部题读过来,以后在本机进行具体工作。
以上两种方式比较,哪个可靠性高,哪种容易出错,哪个速度更快,如果是您选哪种。
请有经验的大师帮助分析一下吧。或是有更好的建议。