数据同步:文件系统的完整理论解决方案
Data Synchronization: A Complete Theoretical Solution for Filesystems
摘要:
一般的数据协调,特别是文件系统同步,缺乏严格的理论基础。本文提出了,第一次,一个完整的分析同步的两个副本的理论文件系统。同步有两个主要阶段:识别冲突和解决冲突。所有现有的(理论和实践)同步器都是基于操作的:它们使用一些基本原理或逻辑来定义如何解决冲突,而不考虑解决冲突对后续冲突的影响。相反,我们的方法是基于声明的:我们定义了什么构成了所有冲突的解决方案,并为每一种可能的情况下,我们证明了存在的操作/命令序列转换成一个共同的同步状态的副本。这些序列包括回滚某些本地更改的操作,然后是在其他副本上执行的操作。回滚操作集为用户提供了有关所建议的更改的清晰直观的信息,因此用户可以轻松地决定是接受这些更改还是请求其他替代方案。所有可能的同步状态都通过指定一组冲突、描述冲突需要解决的顺序的冲突的部分顺序以及每个决策对后续冲突的影响来描述。使用这种分类,不同的冲突解决策略的结果可以很容易地调查。
英文摘要:
Data reconciliation in general, and filesystem synchronization in particular, lacks rigorous theoretical foundation. This paper presents, for the first time, a complete analysis of synchronization for two replicas of a theoretical filesystem. Synchronization has two main stages: identifying the conflicts, and resolving them. All existing (both theoretical and practical) synchronizers are operation-based: they define, using some rationale or heuristics, how conflicts are to be resolved without considering the effect of the resolution on subsequent conflicts. Instead, our approach is declaration-based: we define what constitutes the resolution of all conflicts, and for each possible scenario we prove the existence of sequences of operations / commands which convert the replicas into a common synchronized state. These sequences consist of operations rolling back some local changes, followed by operations performed on the other replica. The set of rolled-back operations provides the user with clear and intuitive information on the proposed changes, so she can easily decide whether to accept them or ask for other alternatives. All possible synchronized states are described by specifying a set of conflicts, a partial order on the conflicts describing the order in which they need to be resolved, as well as the effect of each decision on subsequent conflicts. Using this classification, the outcomes of different conflict resolution policies can be investigated easily.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。