麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

GIS空间数据库(51)MAPGIS长事务模型

GIS的许多应用都涉及长期的编辑工作,如规划设计领域,一次编辑可能历时数天,甚至数月,而且是许多人并发地编辑地理数据,这种长时间的编辑操作要求具有事务ACID特性,即原子型、一致性、独立性、持久性。长事务的特点往往表现为下列需求:从开始编辑到结束编辑,所有的编辑操作要么都取消、要么都提交,无论取消或提交,都不破坏数据的一致性和完整性。

MAPGIS7.0通过一个称为版本化的数据管理框架,真正实现长事务处理机制,满足了这些应用需求。在长事务处理期间,可以自由地添加要素、执行分析、编辑地图,所有这些都不影响正常的地理数据库。当编辑完成时,如果编辑被实施,则把变更更新到地理数据库中,否则丢弃变更。

MAPGIS7.0版本管理具有版本创建、删除、归并、冲突解决等功能和机制。

长事务模型

长事务实现的数据管理方法称为乐观的并发性。这意味着当开始一个长事务时,没有任何锁加到要素上。在这种模式下允许引入编辑冲突,当提交事务时,检测冲突,并协调解决冲突。 MAPGIS7.0长事务的实现机制基于状态和版本这两个概念,通过版本控制,让多个用户可以直接编辑某个地理数据库而不用明确地锁定要素或复制数据。

状态

  • 状态是地理数据库变化过程中某一瞬间的标识;
  • 任何改变数据库的操作都产生新状态;
  • 数据库中的这些状态可以组织成一棵树,在这个树的线性结构中可以了解状态的父子关系。

版本

  • 版本是被命名的数据标识,不同版本的数据逻辑上相互区分;
  • 版本总是对应某个数据状态,但状态不一定有对应的版本;
  • 数据库中始终有”缺省版本”,数据库压缩后,缺省版本的状态为0;
  • 版本存在于数据库的众多状态中。数据库的每一个版本都明确的指向一个具体的状态;如果需要的话,多个版本也可以指向相同的状态;
  • 多个用户对同一个版本进行编辑,就产生各自的状态,如产生图11-10状态3,4,且可能都处于打开状态,但同一用户进行新的操作,产生新状态时,该用户(会话)对应的老状态自动关闭;
  • 结果进行保存时,进行状态冲突检测。

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)