迅雷X的“快速申请磁盘空间”是什么原理?

06: 02: 54 IT House

当创建许多用户反馈以创建具有大型下载任务的文件时,可能存在磁盘忙的问题。 Thunder X10.1.16版本提供了一种“快速请求磁盘空间”的新方法,以避免因请求磁盘空间而导致“磁盘忙”。那么“快速请求磁盘空间”的原则是什么?现在迅雷官方给出了答案。

在此功能推出后,它引起了一些用户的好奇心,并希望了解有关此功能的更多信息。这是由微软推出Windows Vista引发的“问题”开始的。

问题的原因:

2006年11月,Windows Vista发布,导致了“用户帐户控制(UAC)”

UAC功能在当时给雷霆带来了很大的麻烦。

如果没有管理员权限,当您请求磁盘空间并执行随机写入时,Windows将触发Windows以初始化请求的磁盘空间。

Windows提出了这个限制,可能是因为Windows文件系统在删除文件时实际上并没有删除磁盘上的文件数据,而是将“已删除”标志添加到数据中。

但是,Windows担心未经用户授权的程序访问磁盘上标记为“已删除”的内容,因此添加了初始化,实际上,磁盘上标记为“已删除”的数据将被删除。

此擦除过程是将磁盘上的相应块写入零。写入零的过程与将数据写入磁盘的过程相同。磁盘的写入性能决定了写入零的速度。

例如,如果迅雷要下载1000MB文件,那么Windows将初始化1000MB的磁盘空间,磁盘写入性能为100MB/s。可以看出,Windows需要10秒钟来初始化磁盘。

在这10秒内,磁盘的写入性能将被100%占用,从而导致磁盘繁忙和计算机卡塞。这时,迅雷无法向磁盘的这个块写入任何数据,这导致迅雷没有任何下载速度。

解决此问题的关键是找到一种方法让Thunder在申请磁盘空间时拥有管理员权限。

解决方案A:

为了解决这个问题,迅雷首先想到的解决方案是每次启动迅雷时申请管理员权限。

▲UAC提示框

但是,每次启动迅雷时,让用户播放UAC提示框,体验非常糟糕。更重要的是,许多用户启动迅雷只是为了打开下载的文件而不是下载它。这种严格的方法已被消除。

解决方案B:

这时,我们对Windows的开发有了更为熟悉的了解。 Windows系统服务可以直接获得管理员权限。迅雷创建系统服务,专门帮助申请磁盘空间不好?

因此迅雷开发了“XLServicePlatform”服务。当迅雷需要申请超过100MB的磁盘空间时,它将通过此服务申请。

这样,问题就解决了,而不会弹出UAC提示框。

问题再现:

然而,在这段时间内,我们发现越来越多的用户报告说在使用迅雷下载大文件时,“计算机卡住了,速度不快,磁盘忙”等等。

在与许多用户进行远程协助后,他们的“XLServicePlatform”服务已停止。因此迅雷无法通过该服务申请磁盘空间,因此在下载大文件时,您需要等待Windows初始化磁盘。

奇怪的是,用户说他们没有手动停止服务。

后来,我们发现这些用户已经安装了“360 Security Guardian”。经过测试,我们发现360 Security Guard的加速功能会建议用户关闭“迅雷基本服务”,这实际上是为了停止“XLServicePlatform”服务。

所以我们要求360安全卫士反馈这个问题,介绍了这项服务对迅雷的重要性,并希望360不要将这项服务列为“建议关闭”。

而且,服务本身并不占用任何内存,但在关机后,对用户体验的负面影响很大。

经过几轮沟通,结果是360安全卫士没有改变。

解决方案C:

由于许多用户的XLServicePlatform服务将被360安全卫士拦截,因此当服务无法正常工作时,迅雷将需要一个备份解决方案。

此解决方案是10.1.16版本上新的“快速应用程序磁盘空间助手”功能。它的原理很简单。这是一个独立的过程。它在Thunder需要时开始申请管理员权限,然后为迅雷申请磁盘空间。

当Thunder启动时,它会检测到它没有管理员权限,并且XLServicePlatform服务无法正常运行。也就是说,判断需要“快速应用磁盘空间助手”来帮助申请磁盘空间。但是,此时不会弹出UAC提示框。

相反,当迅雷需要下载大于100MB的文件时,首先要询问用户申请磁盘空间的方式。

如果用户选择“快速模式”,则将拉出“快速应用磁盘空间助手”进程以申请管理员权限(UAC提示框将播放一次),然后它将帮助迅雷申请磁盘空间。

虽然这种方法必须播放UAC提示框,但每次启动迅雷都比方案A好,而作为解决方案B的替代方案,用户体验也不算太差。

当创建许多用户反馈以创建具有大型下载任务的文件时,可能存在磁盘忙的问题。 Thunder X10.1.16版本提供了一种“快速请求磁盘空间”的新方法,以避免因请求磁盘空间而导致“磁盘忙”。那么“快速请求磁盘空间”的原则是什么?现在迅雷官方给出了答案。

在此功能推出后,它引起了一些用户的好奇心,并希望了解有关此功能的更多信息。这是由微软推出Windows Vista引发的“问题”开始的。

问题的原因:

2006年11月,Windows Vista发布,导致了“用户帐户控制(UAC)”

UAC功能在当时给雷霆带来了很大的麻烦。

如果没有管理员权限,当您请求磁盘空间并执行随机写入时,Windows将触发Windows以初始化请求的磁盘空间。

Windows提出了这个限制,可能是因为Windows文件系统在删除文件时实际上并没有删除磁盘上的文件数据,而是将“已删除”标志添加到数据中。

但是,Windows担心未经用户授权的程序访问磁盘上标记为“已删除”的内容,因此添加了初始化,实际上,磁盘上标记为“已删除”的数据将被删除。

此擦除过程是将磁盘上的相应块写入零。写入零的过程与将数据写入磁盘的过程相同。磁盘的写入性能决定了写入零的速度。

例如,如果迅雷要下载1000MB文件,那么Windows将初始化1000MB的磁盘空间,磁盘写入性能为100MB/s。可以看出,Windows需要10秒钟来初始化磁盘。

在这10秒内,磁盘的写入性能将被100%占用,从而导致磁盘繁忙和计算机卡塞。这时,迅雷无法向磁盘的这个块写入任何数据,这导致迅雷没有任何下载速度。

解决此问题的关键是找到一种方法让Thunder在申请磁盘空间时拥有管理员权限。

解决方案A:

为了解决这个问题,迅雷首先想到的解决方案是每次启动迅雷时申请管理员权限。

▲UAC提示框

但是,每次启动迅雷时,让用户播放UAC提示框,体验非常糟糕。更重要的是,许多用户启动迅雷只是为了打开下载的文件而不是下载它。这种严格的方法已被消除。

解决方案B:

这时,我们对Windows的开发有了更为熟悉的了解。 Windows系统服务可以直接获得管理员权限。迅雷创建系统服务,专门帮助申请磁盘空间不好?

因此迅雷开发了“XLServicePlatform”服务。当迅雷需要申请超过100MB的磁盘空间时,它将通过此服务申请。

这样,问题就解决了,而不会弹出UAC提示框。

问题再现:

然而,在这段时间内,我们发现越来越多的用户报告说在使用迅雷下载大文件时,“计算机卡住了,速度不快,磁盘忙”等等。

在与许多用户进行远程协助后,他们的“XLServicePlatform”服务已停止。因此迅雷无法通过该服务申请磁盘空间,因此在下载大文件时,您需要等待Windows初始化磁盘。

奇怪的是,用户说他们没有手动停止服务。

后来,我们发现这些用户已经安装了“360 Security Guardian”。经过测试,我们发现360 Security Guard的加速功能会建议用户关闭“迅雷基本服务”,这实际上是为了停止“XLServicePlatform”服务。

所以我们要求360安全卫士反馈这个问题,介绍了这项服务对迅雷的重要性,并希望360不要将这项服务列为“建议关闭”。

而且,服务本身并不占用任何内存,但在关机后,对用户体验的负面影响很大。

经过几轮沟通,结果是360安全卫士没有改变。

解决方案C:

由于许多用户的XLServicePlatform服务将被360安全卫士拦截,因此当服务无法正常工作时,迅雷将需要一个备份解决方案。

此解决方案是10.1.16版本上新的“快速应用程序磁盘空间助手”功能。它的原理很简单。这是一个独立的过程。它在Thunder需要时开始申请管理员权限,然后为迅雷申请磁盘空间。

当Thunder启动时,它会检测到它没有管理员权限,并且XLServicePlatform服务无法正常运行。也就是说,判断需要“快速应用磁盘空间助手”来帮助申请磁盘空间。但是,此时不会弹出UAC提示框。

相反,当迅雷需要下载大于100MB的文件时,首先要询问用户申请磁盘空间的方式。

如果用户选择“快速模式”,则将拉出“快速应用磁盘空间助手”进程以申请管理员权限(UAC提示框将播放一次),然后它将帮助迅雷申请磁盘空间。

虽然这种方法必须播放UAC提示框,但每次启动迅雷都比方案A好,而作为解决方案B的替代方案,用户体验也不算太差。