如何在北京找到一家专业的松江区网站开发公司?

摘要:松江区网站开发,网站制作公司北京华网,关于珠海网站建设的优势,教育主管部门建设的专题资源网站背景 因项目需要,我们服务每天都需要通过SFTP协议来对接上下游进行文件传输,但是对于一
松江区网站开发,网站制作公司北京华网,关于珠海网站建设的优势,教育主管部门建设的专题资源网站背景 因项目需要#xff0c;我们服务每天都需要通过SFTP协议来对接上下游进行文件传输#xff0c;但是对于一些大文件#xff0c;在与第三方公司的服务器对接过程中很可能会因为网络问题或上下游服务器性能问题导致文件上传或者下载被中断#xff0c;每次重试都需要重新对…背景 因项目需要我们服务每天都需要通过SFTP协议来对接上下游进行文件传输但是对于一些大文件在与第三方公司的服务器对接过程中很可能会因为网络问题或上下游服务器性能问题导致文件上传或者下载被中断每次重试都需要重新对文件进行上传和下载非常浪费带宽、服务器资源和时间因此我们需要尽量提升文件传输效率减少不必要的文件传输损耗。 解决思路 我们平时用一些下载软件都有个断点续传功能可以基于上一次已经传输的偏移量进行传输不需要重复传输已经传输完整的数据大大节省文件下载或者文件上传时间。 在通过SFTP进行文件传输同样可以利用该原理进行断点续传。 文件上传原理 上传文件时你首先需要与SFTP服务器建立一个安全会话Session。这需要提供用户名、密码、SFTP服务器的地址及端口。一旦会话建立就可以打开一个SFTP通道Channel进行文件传输。 在处理大文件时为了防止因网络问题导致的文件传输中断以及减少不必要的重复传输我们通常会采用断点续传的方式。这意味着如果文件传输在中途中断下一次传输可以从上次结束的地方开始而不是重新开始。 JSch库的put方法支持断点续传。通过检查远程文件的大小你可以确定已经上传的数据量。然后使用FileInputStream来打开本地文件并使用skip方法跳过已上传的部分。最后使用put方法的RESUME标志从上次中断的地方开始上传剩余的文件部分。 这种方法的好处是 节省时间不需要重新上传已经传输过的部分。减少资源消耗减少网络带宽的使用特别是在网络不稳定或计费昂贵的环境中。提高可靠性即使在传输过程中发生中断也可以保证最终文件的完整性。 文件下载原理 下载文件的原理与上传类似。同样需要建立会话和打开SFTP通道。使用get方法从SFTP服务器下载文件。如果你需要实现断点续传下载你需要检查本地文件的大小以此来确定已经下载的数据量。 如果本地文件的大小小于远程文件的大小说明下载尚未完成你可以从本地文件的末尾开始继续下载。JSch的get方法同样支持RESUME标志允许你指定从远程文件的某个位置开始下载。 断点续传下载的好处包括 节省时间如果下载被中断可以继续从中断点开始而不是从头开始。减少资源消耗只下载尚未接收的文件部分节约网络带宽。提高可靠性保证即使在网络不稳定情况下也可以最终获取完整文件。 代码实现 这里使用了com.github.mwiede的Jsch版本是基于Jcraft 0.1.55增加了一些新算法的支持。
阅读全文