object - 为对象和链接创建版本控制系统

标签 object version-control hyperlink

我正在尝试通过添加版本控制来使现有系统更加健全。问题是系统不能很好地转换为类似布局的文件系统。经过几次思想实验,我有了一个基本的方法来处理这个问题,但在我开始允许使用这个困惑之前,我想由集体来运行它。

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

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

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

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

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

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

我最初的想法是为这批更改实现一个整体版本 uid,并将其与该迭代的所有当前对象/链接关联起来。其余的都可以争夺。如果您做到了这一点,谢谢您。想法?

最佳答案

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

两个 examples对于 SQL .

关于object - 为对象和链接创建版本控制系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098786/

相关文章:

c++ - 对于虚函数,在声明为虚函数和未声明为虚函数时访问某些方法时会发生什么

git - 如何将我的 Git 'master' 分支重命名为 'release'?

HTML 和 CSS - 链接无效

php - OO PHP 保护的属性在 foreach 循环中不可用?

java - 使用 if 语句依次执行这两个代码

Javascript 对象未使用 Angular js 在 View 中更新

tfs - Visual Studio 2017和TFS可以 check out 哪些文件以及向谁 checkout

version-control - 有没有办法在 merge 错误后取回 mercurial 架子?

JavaScript 链接不起作用

node.js - 链接到其他 Jade 文件