版本化的应用(如何将此技术应用于组织内部)以及可用的版本配置如下所述。
各组织之间的工作流存在差别。它们通常按照独立的阶段向前推进,并且每个阶段都需要分配一组不同的资源与业务规则。一般来说,整个流程中的每个阶段都表示单一工作单元,如工单。要管理各个工单,可以创建单独的孤立版本并对其进行修改。一旦完成此工作,可以将更改集成到已发布的数据库版本中。通过这种方式使用版本,您能够同时适应最基本和最复杂的工作流。
无论使用的是分支版本方案还是传统版本方案,版本化概念均相同。版本化提供了数据的多种表示形式,无需复制数据,允许并发编辑并允许用户延长版本使用时间。有关更多详细信息,请参阅版本化概述。
传统版本化可在直接从企业级地理数据库进行访问时,提供在多个版本中处理长期事务的灵活性,在使用要素服务以适应短期事务时,提供简化的编辑体验。
您最可能使用的方案是同时编辑已发布的数据库配置(多个编辑人员修改默认版本),或者使用某个其他配置的组合。了解企业和业务需求并认清每种传统版本方案的优势和局限性,将有助于您选择一种最适合于贵企业的方案。
为了简化和地理数据库管理,推荐的最佳做法是保持扁平版本树或使多个编辑者同时编辑默认版本。
编辑默认版本
默认版本是将数据注册为传统版本化时创建的初始版本。当您使用传统版本化并将版本访问权限设置为公共时,多个编辑者可以使用默认版本同时编辑和查看数据。如需支持多用户编辑,最简单的方法就是允许多个编辑者直接编辑默认版本。
随着各个编辑人员开始编辑默认版本,在编辑会话中将自动创建临时未命名版本。只有当前编辑人员才可以访问此临时版本。当编辑人员保存其工作内容或结束编辑会话后,临时版本中记录的更改将被提交到默认版本。
如果在您开始编辑后其他编辑人员也编辑了默认版本,则当您保存工作内容时,ArcGIS 会自动进行协调并提交您的更改。系统会通知您版本已被更改,必须重新保存以接受其他编辑人员所做的更改。如果存在冲突,都必须使用冲突解决对话框解决冲突,之后才能成功保存编辑内容。
注意事项
使用或编辑默认版本时,请考虑以下优势和局限性:
- 优势
- 此策略对简单的数据库修改支持较好,因为用户无需创建新版本即可编辑数据。这在工作单元较小或不需要长期设计方案时非常适用。
- 如果不存在冲突,保存的编辑内容将直接提交到默认版本。
- 局限性
- 默认版本不断变化并且易受意外修改或未授权修改的影响;因此,数据库管理员可能需要更频繁地备份数据库。
- 不支持长期事务或创建跨多个编辑会话的替代设计版本。
- 每个地理数据库在任何指定的时间都只能有一个协调操作处于活动状态。如果频繁出现来自各个编辑会话的协调与提交操作,编辑人员在保存其更改时可能需要等待活动的协调与提交过程结束。在大型多用户地理数据库中,最好避免多个用户协调并提交到公共版本的情况。协调与提交会以独占方式锁定版本。当版本锁定时,其他用户将无法完成任务。
编辑子版本
如果要管理多个工程、工单或作业,您需要结构化工作流管理方法。对于涉及多个编辑会话并持续数日、数周或数月的独立工作单元,可以在不影响默认版本的情况下对其进行维护。例如,这些独立的工作单元是高速公路改造方案、安装新电话服务或者正在进行的煤气管道维护工程。
如果您所使用的是传统版本化,当启动某个工单或工程时,会创建一个默认版本的子版本。
一个或多个编辑人员可以在此版本中工作,直到该工单或工程完成。对某个子版本完成所有修改后,编辑人员或管理员将与默认版本进行协调,以解决一切冲突。随后,系统将提交对默认版本所做的修改,并将这些修改集成到已发布的数据库中。此时可以删除子版本。
可以限制用户对默认版本的访问权限,以强制执行此工作流并确保默认版本不会被修改。管理员可以将默认版本的权限设置为受保护;这样将允许用户继续查看默认版本,但将他们的访问权限级别限制为只读。任何想要修改数据的编辑人员都必须创建新子版本。
使用传统版本化时,版本访问权限将由数据库用户权限以及为版本设置的访问权限级别(公共、受保护或私有)的组合决定。
注意事项
使用或编辑子版本时,请考虑以下优势和局限性:
- 优势
- 简约 - 每个工作单元都是按版本在逻辑上分离的。
- 支持跨多个编辑会话的长期事务以及创建替代设计,允许编辑人员在不影响生产数据库的情况下制定计划。
- 从默认版本创建新版本可保护数据库的生产视图免受无意修改的破坏。各个工作项目会在完成后与生产数据库集成。
- 支持批处理协调和提交过程。
- 局限性
- 与所有多层版本配置相同,版本增量表中保存的行越多,对版本查询性能的潜在影响越大。定期压缩数据库和更新 DBMS 统计数据可以最大限度地减少此开销。
支持编辑者和查看者
如果您的组织需要为一组编辑者提供支持,同时也要支持具有只读访问权限的用户对系统进行访问,则这些编辑者将使用“编辑子版本”方案中概述的传统版本化工作流。如果只读用户不需要在更改被提交到默认版本后立即看到更改,则可以从默认版本创建一个受保护的静态版本供这些用户使用。应该在压缩数据库并重新构建索引和统计数据后创建此版本。这样做可确保表示只读版本所需的所有行都存储在基表中,并且数据库以最优性能运行。在这种情况下,不会对只读用户的数据库版本进行任何更改,因此不需要执行版本差异查询,并且数据库统计数据和索引不会过期或产生碎片。在执行完每次计划的数据库压缩后,将会重新创建此版本,允许只读用户访问自上次数据库压缩后所进行的更改。
分布式数据管理
可通过多种方法在您的组织内分发版本化数据,以简化不同的工作流。
地理数据库复制
地理数据库复制可直接与地理数据库或地理数据服务搭配使用,并支持使其保持同步的工作流。ArcGIS Pro 中提供了执行地理数据库复制的工具,这些工具与之前 ArcGIS Desktop 提供的工具相同。这些工作流大多数需要传统版本化数据。
例如,某些工程需要两个或多个远程办公室处理相同的数据。每个办公室都需要对数据库进行本地访问,因此会各自创建一个数据库副本。在一个办公室位置对数据进行更改时,更改也必须应用到其他办公室位置的数据。要保持数据库各副本间的同步,办公室可以定期相互传输更改。此功能称为地理数据库复制。
对于不得不通过慢速网络编辑数据的编辑人员,复制也是很有用的。在这种情况下,复制允许将数据的子集提取到本地计算机,以便编辑者可以在不使用网络的情况下对其进行处理。编辑完成后,即可通过网络传输这些数据,并将其合并回生产数据库。有关详细信息,请参阅分布式数据情景。
要素服务
也可将传统版本化数据发布为启用了同步功能的要素服务。这些服务支持移动编辑者使用 ArcGIS Collector 或 ArcGIS Pro 的工作流,其中编辑者可以下载数据副本,进行本地编辑,然后在要素服务上调用同步。在使用传统版本化数据和移动编辑器时,请学习如何在离线的要素服务中使用传统版本化数据。
要素服务还可以参与分布式协作工作流。例如,分布式协作(或简称协作)支持要素服务,其中包括在传统版本化数据上运行的要素图层。当在整个协作中共享的要素服务运行单独数据副本时,该工作流将允许将启用了同步功能的要素服务共享为副本。要了解有关协作过程和协作概念的详细信息,请参阅协作的工作原理。