-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat(fs): batch operations (delete, copy, move, rename) support #1558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
varg1714
wants to merge
9
commits into
OpenListTeam:main
Choose a base branch
from
varg1714:feature/varg-1031-batch
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ILoveScratch2
requested changes
Nov 2, 2025
…atch # Conflicts: # internal/driver/driver.go
…le existence check performance
Contributor
Author
|
请问这个PR还有问题吗?刚才使用的时候发现即使有批量移动的驱动,操作还是很慢,调试了一下发现了一个性能问题,也一起给优化了。 |
ILoveScratch2
previously approved these changes
Nov 12, 2025
…atch # Conflicts: # drivers/s3/driver.go
Contributor
Author
|
部分驱动新增了删除以及重命名的支持。这部分操作本来想在 #1110 上继续改的,看了一下一些驱动的接口,所需要的信息不只是名称和ID,因此还是基于传递原始对象的形式方便各驱动获取对应信息。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description / 描述
基于网盘的接口实现批量复制、移动、删除、重命名的能力。
Motivation and Context / 背景
当前的移动以及复制等操作是逐个进行的,大批量数据操作时耗时长且可能触发风控。针对支持批量移动和复制的网盘提供批量操作的接口来一次性完成移动/复制。
备注:
fsmanage中应获取validNames的值性能优化:
原本的移动和复制操作会检查原文件是否存在,因此实际上会调用多次Get操作。当目标驱动未实现Get操作时会降级为List操作。在此情况,当目标文件夹为空时,会导致缓存无法生效,从而导致List操作也会被多次调用。
当操作文件数量大时,相当于检查阶段就会产生大量的接口请求。因此即使目标驱动不支持批量大移动或者复制操作,那么这个改动也能显著的提升上述情况的性能。
How Has This Been Tested? / 测试
本地测试,支持的网盘直接使用批量操作的接口,避免多次调用。
Checklist / 检查清单
我已阅读 CONTRIBUTING 文档。
go fmtor prettier.我已使用
go fmt或 prettier 格式化提交的代码。我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
我已相应更新了相关仓库(若适用)。