概述
知识管理系统是收集、处理、分享一个组织的知识的信息系统。知识管理系统中的内容或文档作为知识的载体,其版本管理显得尤为重要,以保证每个使用者在任何时候都能得到最新的版本,所有更动能够被记录、管理起来。
为什么需要版本管理
企业或组织中记录知识的文档通常需要完整的生命周期管理,从创建、修改、审核、发布到回收、删除。因而其内容的更改不是一次性就能完成的。在整个生命周期中,所有内容的更改需要追踪、记录下来。创作者需要能够看到历史版本,并在修改错误之后能够恢复到之前的某一版本。审核人员在审核文档时,需要知道与之前已正式发布的文档相比,这次的更改是什么。文档使用者则需要在任何时间都能得到最新发布的版本内容。在文档的最新版本处于修改、未发布状态期间,所有更改不应影响已发布的版本。审计人员需要知道文档产生错误的原因,文档曾经被谁在什么时候修改了什么地方。
版本管理的功能
版本管理的任务就是对对象的历史演变过程进行记录和维护。具体来说,知识管理系统中的版本管理要有以下功能。
新版本生成。文档在保存编辑结果之后,生成新版本。文档自动变更为最新版本。文档检索及使用场景中应始终直接呈现最新版文件,确保用户不拿错文件版本。如果有文档发布控制过程,当文档变更发布后,用户得到的就是最新版本。
版本发布。文档在发布之前,文档版本处于草稿状态,其任何修改不会影响已发布的文档的检索和使用。文档版本在发布之后,已发布文档会被最新发布的文档版本替代。
记录历史版本。在文档的整个生命周期中,每一次文档变更都被记录下来,包括操作人、操作时间、操作版本、版本描述等信息。历史版本将会自动保存留档,并显示在历史版本清单中。针对某一历史版本,可查看相应的完整文档内容。
版本回滚。在误修改文档后,可以将文档回滚至指定历史版本。用历史版本替换当前最新版本,即时生成新的最新版本文件。
版本比较。任选两个版本进行比较,比较结果会显示出差异之处。
历史版本删除。允许清理多余的历史版本。某一历史版本被删除后,不影响其它版本的完整性和使用。删除后的版本将放入系统回收站。
恢复文档。文档版本被误删除后,可从系统回收站中恢复。
为了简化处理,对于草稿状态的文档或内容,可以只保留一个版本。当该草稿版本发布后,替换掉已发布版本。此时,系统中只有一个版本。如果进一步简化,则任何时候系统中只有一个版本。只要保存,所有更改就能够立即被使用者看到。
版本冲突处理
在多个用户进行并发操作的时候,有可能会发生一个以上的用户在同一段时间内更新同一个文档。如果当前用户在读取文档和保存期间,文档被其他用户更改而发生了变化,直接保存文档而不做任何检查处理就可能会覆盖其他用户的更改。因此,版本控制需要处理并发冲突问题。
有两种基本的冲突处理策略。
1.悲观并发控制。这种策略在关系数据库中被广泛使用。该策略假设并发冲突很容易出现。在某一用户进行鉴出操作时,就锁定该文档。接下来只有该用户才能进行签出、修改和保存操作。这样就避免了文档在编辑的过程中被其他人修改。但是这样一来就会大大影响并发操作的性能。因此,乐观并发控制策略被提出来。
2.乐观并发控制。该策略假设并发冲突并不常见,因此允许多个用户对同一文档同时进行操作。每一次成功的保存都会生成新的版本号。但是在保存时,如果系统发现当前文档的版本号已经不是数据库中最新的版本号,就进行相应的版本冲突处理。一种处理方式是显示出现内容冲突的地方,由用户决定保留自己的版本,还是保留其他人的版本。另一种更简单的处理方式是重新加载系统中的最新版本,由用户重新编辑。
网友评论