是否有任何支持WebDav的工具


2

我的问题是,一个专有的SaaS平台即时开发/仅用于通过WebDav提供日志文件。在开发过程中,这个日志文件可以在一天结束时变得非常大(想想200 Mb +),但在尝试追踪“一般错误”时非常详细和有用。

现在发生了什么,看看日志文件我必须每次下载200 Mb文件(如果我删除它不会自动重新创建:(),这意味着即使在良好的连接上你也要等待1 -2分钟用于下载文件。

所以实际问题再次出现:是否有任何工具可以在每5秒钟在文件的时间戳上查看(例如)并且只需下载添加的块(使用计算出的大小差异)。


+1。好问题。我正在研究一种将WebDAV上的文件快速同步到客户端系统并查看zsync的方法。我已根据您的要求提供了以下高级解决方案。
Kent Pawar

Answers:


1
  • WebDAV是HTTP的扩展和当前可用的方法[ 1 ]没有任何支持。

  • 您可以查看通过HTTP进行部分文件传输的替代方法 zsync 只会传输更改的内容。


1. zsync

抽象 :本文档描述了zsync背后的思考,zsync是一种新的文件传输程序,它只能有效地下载接收方尚不知道的文件内容。 zsync使用rsync算法,但在客户端实现,因此服务器上只需要一次性预先计算,并且使用zsync不需要特殊的服务器软件或新协议。

更新:

根据rsync算法:

  • 一方计算每个不同数据块的校验和,并将其发送到另一端。 然后另一端通过其文件执行滚动校验和,识别共同的块,然后确定哪些块不相同并且必须传输。

  • 在rsync中,服务器在zsync中执行所有艰苦工作,请求数据的客户端执行应用rsync滚动校验和并与下载的校验和列表进行比较的所有艰苦工作。

来自[ 4 ]

...所以,我们将它作为计算每个校验和的服务器   明显的块。因为它需要每块只计算一个校验和   数据,这不是特定于任何给定的客户端,数据可以   缓存。我们可以将这些数据保存到元文件中,然后客户端请求   这个数据作为该过程的第一步。这个图元文件可以简单   在同一个 - 甚至是不同的 - 服务器上的另一个URL。

zsync客户端将提取此元文件。然后它贯穿了   它已有的数据,应用rsync滚动校验和并进行比较   使用下载的校验和列表。因此,它确定了数据   它已经拥有的目标文件。然后它会请求剩余的数据   从服务器。 因为它知道它需要哪些数据,所以它可以简单地使用   HTTP范围请求拉取数据。 ...

  • 因此,需要在服务器端支持HTTP Range标头。

2. zsync的替代方案

  • 但是,如果这些日志文件只会增长,那么现有内容就不会改变HTTP Range 标题就足够了。 [ 2 ] [ 3 ]

参考:

  1. http://www.webdav.org/specs/#dav
  2. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
  3. http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p5-range-latest.html#range.requests
  4. Zsync理论

感谢zsync,看看它,听起来很有趣。关于Range:遗憾的是我正在谈论的服务器不支持它:S(就像许多其他事情一样)。
KillerX

别客气。但 Zsync 需要 Range 服务器端支持的标头。我已更新我的帖子以突出显示此内容..
Kent Pawar

1

如果客户端是Windows计算机,请尝试以下操作:将webdav共享映射为网络驱动器并运行 尾巴 命令对文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.