麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

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

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

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

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

长事务模型

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

状态

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

版本

  • 版本是被命名的数据标识,不同版本的数据逻辑上相互区分;
  • 版本总是对应某个数据状态,但状态不一定有对应的版本;
  • 数据库中始终有”缺省版本”,数据库压缩后,缺省版本的状态为0;
  • 版本存在于数据库的众多状态中。数据库的每一个版本都明确的指向一个具体的状态;如果需要的话,多个版本也可以指向相同的状态;
  • 多个用户对同一个版本进行编辑,就产生各自的状态,如产生图11-10状态3,4,且可能都处于打开状态,但同一用户进行新的操作,产生新状态时,该用户(会话)对应的老状态自动关闭;
  • 结果进行保存时,进行状态冲突检测。
麻辣GIS-Sailor
作者:
GIS爱好者,学GIS,更爱玩GIS。
微博关注
手机阅读
赞赏支持
手机阅读
微信捐助麻辣GIS
微信打赏
支付宝捐助麻辣GIS
支付宝打赏

声明

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

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

3.如果本文对您有所帮助,请您对我们团队进行 打赏捐助让我们在传播3S的路上可以走得更远,不胜感激。PS:如果你是学生党,请优先把经费用于购买学习资料 以及 与小哥哥/小姐姐约会上:-)

如您有疑问,可在文末留言,或到麻辣GIS QQ群中提问。

QQ群(一):291616564 加入QQ群

QQ群(二):166408035 加入QQ群

QQ群(三):627853279 加入QQ群

QQ群(四):436386604 加入QQ群

QQ群(五):606176554 加入QQ群

QQ群(六):946178380 加入QQ群

QQ群(七):861271808 加入QQ群

新疆互助群:910717627 加入QQ群

微信公众号:malagis,扫描右边二维码直接关注。

发表评论