Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
48e36fb
Update README.md
aspnmy Aug 24, 2025
65c707e
更新至v4.3版本
aspnmy2024 Aug 24, 2025
aab4e26
Merge branch 'master' of https://github.com/aspnmy/ColDataRefresh
aspnmy2024 Aug 24, 2025
d8a2444
Update README.md
aspnmy Aug 24, 2025
c62fcac
update: git-commit-msg
aspnmy2024 Aug 24, 2025
dc3eb71
Merge branch 'master' of https://github.com/aspnmy/ColDataRefresh
aspnmy2024 Aug 24, 2025
4183c8d
添加了多线程处理和内存优化功能。主要改进包括:
aspnmy2024 Aug 24, 2025
379522e
修复已知的错误
aspnmy2024 Aug 24, 2025
4947068
Update README.md
aspnmy Aug 25, 2025
50555b1
更新依赖组件
aspnmy2024 Aug 25, 2025
032ef7c
Merge branch 'master' of https://github.com/aspnmy/ColDataRefresh
aspnmy2024 Aug 25, 2025
41165f2
更新依赖关系
aspnmy2024 Aug 25, 2025
29ba673
feat: 增强日志管理和错误处理功能
aspnmy2024 Oct 22, 2025
6e3124e
fix(构建脚本): 改进pyinstaller调用方式并添加构建测试
aspnmy2024 Oct 22, 2025
bb2beb2
refactor: 重构日志路径配置并优化基准测试模块
aspnmy2024 Oct 22, 2025
87c855b
更新到v4.5版本:添加版本管理功能,实现动态版本号获取
aspnmy2024 Oct 22, 2025
bebe4e3
修复交互界面版本号显示,使用动态版本号
aspnmy2024 Oct 22, 2025
c407b4f
添加getWebSite函数,实现从GitHub获取QQ群和URL信息
aspnmy2024 Oct 22, 2025
f4a91a1
优化getWebSite函数:实现远程文件更新到本地并优先读取本地文件
aspnmy2024 Oct 22, 2025
a1a4f73
添加新版本检查功能,自动检测并提示GitHub上的最新版本
aspnmy2024 Oct 22, 2025
c2a8bff
优化requests模块依赖:添加异常处理,确保程序在模块缺失时仍能运行
aspnmy2024 Oct 22, 2025
7dfccb4
添加返回菜单功能,允许用户操作完成后返回交互界面或退出程序
aspnmy2024 Oct 22, 2025
0915654
增强操作确认机制:全盘刷新模式添加二次确认,TRIM模式添加一次确认
aspnmy2024 Oct 22, 2025
94b6eef
更新requirements.txt文件,添加依赖说明和版本要求
aspnmy2024 Oct 22, 2025
71c84c7
修正 elevate 依赖版本要求,从 1.2.0 降至 0.1.3 以匹配实际可用版本
aspnmy2024 Oct 22, 2025
2bbe035
优化确认流程:用户取消操作后返回到主菜单而不是退出程序
aspnmy2024 Oct 22, 2025
d442553
feat: 添加7-zip组件支持并优化冷数据处理工具
aspnmy2024 Oct 22, 2025
1379fda
refactor(bin): 移除7-zip相关文件并更新构建脚本
aspnmy2024 Oct 22, 2025
d13d3be
fix(build): 改进版本号读取逻辑并添加测试
aspnmy2024 Oct 22, 2025
2e7c273
feat: 更新版本至4.3.3并增强Windows 10+的TRIM优化功能
aspnmy2024 Oct 22, 2025
ab6f9c7
chore: 更新默认版本号至4.5.0并优化版本文件读取逻辑
aspnmy2024 Oct 22, 2025
62f48b2
fix: 修复版本号读取逻辑并添加测试
aspnmy2024 Oct 22, 2025
7091156
111
aspnmy2024 Oct 23, 2025
502d196
feat: 添加全盘数据覆写工具脚本
aspnmy2024 Oct 23, 2025
6d56396
feat: 添加磁盘写入测试功能和持续写入模式
Nov 24, 2025
29e855a
修复full_refresh_file函数数据写入问题,优化构建脚本,清理项目文件
Nov 27, 2025
d373f32
feat(全盘刷新): 实现完整的全盘刷新业务流程
Nov 27, 2025
165ca68
chore: 在.gitignore中添加build/目录
Nov 27, 2025
9267ca3
chore: 更新.gitignore文件,添加.trae/目录
Nov 27, 2025
e04463c
feat(FullRefreshManager): 添加盘符判断和格式化功能
Nov 27, 2025
d09a54f
feat: 升级版本至4.7.1并优化SSD冷数据维护功能
Nov 27, 2025
18c4a18
refactor: 迁移项目从Python到Rust并更新文档
Nov 28, 2025
d55af4c
Update README.md
aspnmy Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
223 changes: 223 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual environments
venv/
env/
ENV/
env.bak/
venv.bak/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
.codebuddy
# Logs
*.log
logs/

# Database
*.db
*.sqlite
*.sqlite3

# Environment variables
.env
.venv

# PyInstaller
*.spec

# Jupyter Notebook
.ipynb_checkpoints

# PyCharm
.idea/

# VS Code
.vscode/

# pytest
.pytest_cache/
.coverage
htmlcov/

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
bindd/
bin/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
.idea/

# VS Code
.vscode/
*.code-workspace
# Windows
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

build/
bin/
dist/
test_data/
# Python
*.egg-info/
*.egg/
*.pyc

*.pyo
*.pyd
*.spec
# End of https://www.toptal.com/developers/gitignore/api/python
.venv/
build/

.trae/
coldatafresh/

target/
78 changes: 78 additions & 0 deletions .trae/documents/修复全盘刷新功能的业务流程.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
## 问题分析

当前的全盘刷新功能存在以下问题:
1. 没有按照用户期望的业务流程执行
2. 没有询问用户是否保留已使用空间中的文件
3. 没有实现文件的临时备份和恢复功能
4. 没有实现填满可用空间的逻辑
5. 没有返回累积填入容量和最大写入速度

## 解决方案

根据用户描述的业务流程,我将重新设计和实现全盘刷新功能:

### 1. 重新设计业务流程

```
1. 获取指定目录的总容量和已使用容量
2. 询问用户是否保留已使用空间中的文件
3. 如果保留:
a. 将已使用空间中的文件复制到系统临时目录 d:\$aspnmytools
b. 删除指定目录下的原文件
4. 在指定目录下创建工作目录 $aspnmytools
5. 写入指定单位大小的数据文件(如50GB/个),直到填满可用空间
6. 记录累积填入容量和最大写入速度
7. 删除工作目录 $aspnmytools
8. 如果保留原文件:
a. 将临时目录中的文件复制回原位置
b. 删除临时目录 d:\$aspnmytools
9. 完成全盘刷新
```

### 2. 修改代码结构

- **新增函数**:
- `get_directory_stats(directory)` - 获取目录的总容量和已使用容量
- `backup_files(source_dir, backup_dir)` - 备份文件到临时目录
- `restore_files(backup_dir, target_dir)` - 从临时目录恢复文件
- `fill_available_space(directory, unit_size)` - 填满可用空间
- `calculate_max_files(directory, unit_size)` - 计算需要创建的文件数量

- **修改现有函数**:
- `full_refresh_file` - 重命名或重构,专注于单个文件的刷新
- `execute` - 修改主执行逻辑,添加全盘刷新的新流程

### 3. 实现关键功能

- **空间计算**:使用 `get_disk_space` 函数获取磁盘空间信息
- **文件复制**:使用 `shutil.copy2` 或类似函数实现文件的完整复制
- **文件写入**:使用现有的 `continuous_full_refresh_file` 函数写入数据
- **进度显示**:使用现有的 `Dashboard` 类显示进度
- **统计信息**:记录写入速度和总容量

### 4. 修改用户交互

- 在主菜单中添加全盘刷新选项
- 询问用户是否保留已使用空间中的文件
- 询问用户写入单位大小
- 显示空间信息和操作确认

## 预期效果

1. 全盘刷新功能按照用户期望的业务流程执行
2. 用户可以选择是否保留已使用空间中的文件
3. 实现了文件的临时备份和恢复功能
4. 实现了填满可用空间的逻辑
5. 返回累积填入容量和最大写入速度
6. 提高了固态硬盘的刷新效果

## 实施步骤

1. 分析当前代码结构和功能
2. 设计新的全盘刷新业务流程
3. 实现新的函数和修改现有函数
4. 添加用户交互逻辑
5. 测试新功能
6. 优化和调试

这个修改计划将确保全盘刷新功能按照用户期望的业务流程执行,提高固态硬盘的刷新效果。
Loading