Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 本地网络上ftp的替代方案_Delphi_Ftp_Delphi 2010 - Fatal编程技术网

Delphi 本地网络上ftp的替代方案

Delphi 本地网络上ftp的替代方案,delphi,ftp,delphi-2010,Delphi,Ftp,Delphi 2010,您好,我有一个文档管理程序,可以处理pdf文件,这些文件(近150000个文件)存储在ftp服务器(solaris 10)上。该程序在本地网络上运行。 我需要一种更快、更安全的ftp替代方案。 我的程序是用delphi 2010编写的安全复制文件scp浮现在脑海中 请随意阅读man scp或阅读此处的手册页 另一种选择是,根据文件的大小,将其作为blob或clob存储在数据库中。您可以比FTP更安全,但在本地网络上可能不值得这么麻烦。FTP的弱点是它的明文密码交换和未加密的文件传输。如果您只在本

您好,我有一个文档管理程序,可以处理pdf文件,这些文件(近150000个文件)存储在ftp服务器(solaris 10)上。该程序在本地网络上运行。
我需要一种更快、更安全的ftp替代方案。

我的程序是用delphi 2010编写的

安全复制文件<代码>scp浮现在脑海中

请随意阅读
man scp
或阅读此处的手册页


另一种选择是,根据文件的大小,将其作为blob或clob存储在数据库中。

您可以比FTP更安全,但在本地网络上可能不值得这么麻烦。FTP的弱点是它的明文密码交换和未加密的文件传输。如果您只在本地网络上使用它,那么它只会受到本地网络上窃听者的攻击!用开关更换集线器,您就安全了(是的,我知道您不再有集线器)

找到一个比FTP更快的解决方案也是一个挑战。FTP实际上没有通过网络发送文件的每个文件开销,而且计算起来也很简单(因为这是一种普通传输,磁盘上的内容通过网络发送,不会发生变化)。如果你需要一个更快的解决方案,你可能需要提供更多关于问题特殊性的细节。更快的解决方案不会是通用解决方案(如FTP、HTTP、SCP)


在我看来,如果你有一个FTP的工作解决方案,它只在本地网络上使用,保留它;为什么要换一些没有坏的东西?本地网络上甚至还有一个更简单的TFTP(普通FTP)协议的位置,例如,我正在使用TFTP启动和配置VoIP电话。

FTP的速度与您的速度差不多

安全和加密总是使您的速度低于现在

备选方案很大程度上取决于你想要什么,所以你可能想在这些之间考虑:

  • 下载:HTTP/HTTPS易于安全、快速、易于路由/代理
  • 上传:WebDAV基于HTTP/HTTPS
  • 对于一般加密:基于SSH的通信(任何协议都可以通过SSH路由)会产生开销
  • 用于同步:rsync可高度优化传输(它会剥离已同步的内容)
根据您的需要,甚至可以选择更多选项。让你的问题更具体,我们可以放大选项

根据我的经验,为了提高速度,网络协议不是唯一的因素

我通过以下方式将事情的速度提高了几个数量级:

  • 使用交换机而不是集线器(特别是在100mbit上!)
  • 使用千兆位而不是100mbit网络
  • 使用磁盘阵列(多轴)而不是单个磁盘
  • 使用SSD代替HDD

--jeroen

如果我能将scp与delphi结合使用,我将分析scp。关于数据库,没有人建议我现在的最大文件大小是5 gb,所有文件都是100 gb,我认为我的数据库在工作时不能很好地使用该数据大小(它是oracle 10g),它非常方便,但对诸如
~/.profile
或其他shell启动文件中的更改更为健壮。底层的
rcp
协议也不是为处理恶意命名的文件而设计的,而
scp
协议在不破坏与数百万已部署ssh系统的兼容性的情况下也无法解决这一问题
scp
可以自己使用,但在程序中自动化文件传输时,请使用
sftp
。@exlan,我现在正在运行一个13Gb的Firebird数据库,它在不断增长(我还在其中存储大量PDF)。Firebird很好,但它不是Oracle,我仍然不认为我手头上有很大的数据库:)如果切换到数据库,大小可能不会有问题,但请确保使用正确执行增量备份的数据库。@elxan据我所知,Oracle的
LOB
数据类型的最大大小为4gb。您可以相当轻松地将其拆分为两个文件,然后存储超过该值的文件,或者压缩并存储它们。我看得越多,这个主意听起来就越好+1查看您用来加快速度的事项列表。我也可以担保,尤其是RAID阵列。一台从磁盘提供文件的服务器不能使千兆网络饱和,限制因素是硬盘速度。使用普通的HDD,您甚至无法使100兆位网络饱和,但将一些HDD捆绑在RAID 10配置中,您将看到为什么千兆位升级是好的!快速以太网集线器如此罕见,甚至不值得mention@Worm字体我知道。但在100mbit的土地上,交换机和集线器之间的价格差异很小,但是速度会产生一个数量级的差异。很多人甚至一开始都不知道有什么不同。并非我们周围的所有人都精通技术,尤其是在CxO级别;-)@Jeron,到今天为止,价格的差异是另一种情况:集线器是一种古老的设备,只有那些想在不使用智能交换机的情况下监视网络流量的网络技术人员才有价值。我想买一个轮毂,但找不到@杰伦,很抱歉拼错了你的名字。我来不及编辑了。