2

我试图通过添加版本控制来为现有系统带来理智。问题是系统不能很好地转换为像布局这样的文件系统。经过几次思想实验后,我有了一种基本的方法来处理这个问题,但在我开始允许使用这个烂摊子之前,我想由集体来运行它。

该系统由类型化的对象和链接组成。对象通过链接表链接在一起以形成有意义的关系。链接也是类型化的对象,可以有自己的属性。

用户可以到达任何级别的对象视图,并沿着链接上下走动以查看关系。

大多数对象都有数百个到其他对象的链接。并非所有对象或链接都将受到版本控制,因为有些对象或链接可以被认为是静态的。允许有到非版本控制对象的版本控制链接。

对对象的更改以包含层次结构部分的整个布局的批处理形式到达,本身没有或很少有用户评论或版本信息。因此,通过将新对象与前一个对象进行比较来检测变化。也以这种方式检测链接更改。对象可以在一个版本中添加,在下一个版本中删除,并在下一个版本中再次添加。大多数物体都有足够的独特信息来检测这确实是同一个物体,它正在突然出现和消失。

未更改的对象和链接不应为单个对象创建新版本,但批量更新产生的整体内容仍应可识别为一个组。

95% 的用户只会对最新版本的对象/关系感兴趣,但我需要能够显示剩余 5% 的先前提交的对象/关系。

我最初的想法是为这批更改实现一个整体版本 uid,并将其与该迭代的所有当前对象/链接相关联。剩下的就等着拿了。如果你做到了这一步,谢谢你。想法?

4

1 回答 1

2

这听起来像你在描述一个(关系)数据库。您最喜欢的搜索引擎将为您提供一些关于如何进行数据库版本控制的想法的链接。

SQL的两个示例

于 2012-04-11T01:45:39.640 回答