6、文件备份与数据表格实现技术解析

文件备份与数据表格实现技术解析

1. 文件备份相关技术

在文件备份领域,我们面临着如何跟踪已备份文件以及如何测试修改文件的代码等问题。

1.1 跟踪已备份文件

为了跟踪哪些文件已经备份,备份工具的第二部分发挥着重要作用。它将备份文件存储在一个目录中,该目录包含类似 abcd1234.bck 的备份文件,以及描述特定快照内容的文件。这些描述文件命名为 ssssssssss.csv ,其中 ssssssssss 是备份创建的 UTC 时间戳, .csv 扩展名表示文件采用逗号分隔值的格式。虽然也可以将这些文件存储为 JSON 格式,但 CSV 更易于人类阅读。

然而,索引文件的命名约定存在问题。如果每秒尝试创建多个备份,该命名约定将会失效。尽管这种情况看似不太可能发生,但许多故障和安全漏洞正是由于程序员的假设而产生的。我们可以尝试使用两部分命名方案,如 ssssssss-a.csv ssssssss-b.csv 等,但这会导致一种称为“检查时间/使用时间”的竞态条件。如果两个用户同时运行备份工具,他们都会发现当前时间戳的文件尚未存在,从而都会尝试创建第一个文件。

以下是用于查找新文件的代码:

import glob from 'glob -promise ';
import path from 'path ';

const findNew = async (rootDi
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值