|
|
1
1
我认为您可以放心地假设重命名操作在您关心的所有网络文件系统上都是原子性的。因此,如果将工作量安排为单个文件(或键入单个文件),则让每个服务器首先列出包含新工作的目录,选择一个工作,然后将文件重命名为自己的服务器名称(例如,机器名或IP地址)。对于同时执行相同操作的实例之一,重命名将成功,因此他们应该处理这项工作。对于其他实例,重命名将失败,因此他们应从获得的列表中选择一个不同的文件。 对于新作品的创建,假设目录创建(mkdir)是原子的,但文件创建不是(对于文件创建,第二个编写者可能会覆盖现有文件)。因此,如果也有多个作品生产者,请为每件作品创建一个新目录。 |