Geodatabase同步复制_第1页
Geodatabase同步复制_第2页
Geodatabase同步复制_第3页
Geodatabase同步复制_第4页
Geodatabase同步复制_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、问题:ArcView 级别的 Desktop 是否能实现 Replication ?不能,需要 ArcEditor 或 ArcinfoRaster数据能否创建 replication ?Raster catalogs and raster datasets can't be version ed, therefore they can't be replicated. However, the Create Replica wizard will extract a raster dataset or raster catalog from the source geodata

2、base if it is in the ArcMap docume nt. Since the data is extracted, any edits made to the raster will not be transferred to the relative replica during synchronization.The spatial extent of the replication area is used to determine the portion of the raster dataset or raster catalog to extract. For

3、raster datasets, the data is clipped to the spatial exte nt. For raster catalogs, the en tire raster dataset is extracted for each raster dataset in tersect ing the spatial exte nt.If a table or feature class in a geodatabase has a field of type raster, the default behavior for replicati on is appli

4、ed. As long as the table is version ed, and the conn ected user has permissi ons to edit the table, the field will be replicated.Terrains, network datasets and representation 能否创建 replication ?When replicat ing terra ins and n etwork datasets, only the feature classes used to build these data struct

5、ures can be replicated. The actual data structures themselves are not replicated. In order for the feature classes to be replicated, they must be registered as versioned and meet the other data requireme nts for replicati on. You can choose to rebuild the terra in or n etwork dataset in the child re

6、plica's geodatabase after replica creati on.Note that for n etwork datasets, sig n post feature classes are also not replicated.If your data has representations prior to replica creation, they will be replicated. If you apply a symbol to a feature in one replica and synchronize, the symbol will

7、also be applied to the feature in the relative replica. Modifications to representations, however, are not supported. For example, con sider the case where a new symbol is added to a represe ntati on and applied to a feature in a replica. When that feature is synchroni zed, it will draw with an unkn

8、own symbol in the relative replica since the new symbol does n't exist in the relative replica. It is also possible to add a different symbol with the same id to the relative replica. In this case, the feature added from the synchronize will draw with the in correct symbol in the relative replic

9、a.几何网络:Parent Replica拓扑:P*rvnt R«pllc»元数据:创建replication的时候会跟着数据复制到复本,但同步的时候元数据的改变将 不会被同步到父复本。空间数据备份的几种方式:1、Copy/Paste操作简单,但要保持两套数据编辑的同步比较难。2、Geodatabase ReplicationArcGIS 基于版本的一种数据复制方法,可以支持所有Geodatabase 模型(拓扑、网络、关系类等) 的复制, 是一种松散耦合的模型, 复本之间相对独立但又可以进行同步。而且这 些复本是 Geodatabase 层面上的,依赖的 DBMS 可以不

10、同。3、DBMS Replication由数据库提供的备份和同步数据的方法,不支持Geodatabase模型。Geodatabase Replication VS. DBMS Replication前者不需要用 System 账户登陆,后者一般需要;前者支持跨不同 DBMS 的复制,后者不支持;前者可以对指定的 Geodatabase版本进行同步,后者会针对里面所有版本;前者支持高级的Geodatabase对象,后者不支持。Create Replication 的过程:根据用户指定的数据范围, 从源数据库将数据拷贝到目标数据库并且在两个库中都创建replica,这个replica描述了哪些数据

11、被复制、且包含同步变化需要的一些信息(和哪个replica组成 replica pair)SDE Geodatabase既可以作为 child replica,也可以作为 pare nt replica,且两种均可以有 多个replicas。不同的是多个 pare nt replicas可以有重合区域(数据),但多个child replicas 包含的数据必须是互相不重合的。PGDB 和 FGDB 不支持其它 two-way replica ,且一个库只能包含一个 check-out replica 。创建复本的三种类型:1、检出 /检入Check out/Check in 允许离线编辑子复本

12、数据,然后将它和父复本同步,一旦子复本进 行同步后,就不能再次进行编辑、同步操作,必须重新创建新的子复本;(相当于同步方向只能从 child replication 到 parent replication 。Disconnected Editing (离线编辑)从 ArcGIS8.3 已经有了,现在是作为 DistributedGeodatabase的一部分,但 ArcToolbox里仍然保留离线编辑的GP工具。检出目标可以是 SDE、FGDB 、PGDB ,检入目标只能是 SDE;同步的时候检入的数据会在 checkout 版本里。2、单向复制1)parent to child :只允许

13、parent replica 向 child replica 发送数据, 而且还可以多次发送父 版本编辑过的数据。 这种模式子复本不能向父复本同步数据, 因此编辑应该在父复本中进行, 子复本只应该设计为只读, 否则即使子复本进行了编辑, 也会在同步时被父版本覆盖。 所以 这种方式是不会检测到版本冲突的;这种模式子复本可以是 SDE、FGDB 、PGDB ,而且有 full 和 simple 两种类型。1)child to parent :只允许 child replica 向 parent replica 发送数据, 而且还可以多次发送编 辑过的数据。 这种模式父复本不能向子复本同步数据, 因

14、此编辑应该在子复本中进行, 父复 本只应该设计为只读, 否则即使子复本进行了编辑, 也会在同步时被父复本覆盖。 所以这种 方式是不会检测到版本冲突的;这种模式两边的 Geodatabase都必须是SDE,也有full和simple两种类型full model 支持复杂类型(如拓扑、几何网络) ,原始数据和复杂模型都会复制,并且 child replica 的数据( SDE 中)会保留版本化,且拓扑或网络模型仍然存在;simple modelchild replica 的数据是简单类型,不包含模型,因此 parent replica 里的 几何网络或拓扑就不会在 child replica 里创

15、建了。而且 child replica 即使是在 SDE 库中,也 是未注册版本的。3、双向复制允许 parent replica 和 child replica 之间多次互相发送数据。如果两个版本有冲突,将会 在同步的时候协调、提交;双向复制的目标必须是 SDE 数据库。但数据必须满足以下要Replication 对数据的要求Replication 可以对所有的数据创建复本或者对部分数据来创建, 求:1、数据库用户必须对数据有 write 权限;2、数据必须注册为版本,且没有勾选move edits to base 选项。two way 和 one way 的 Replication 还需满

16、足以下两点额外的要求:1、每一个数据集都必须有GlobeID 字段,标识每条记录在该 GDB 内或 GDB 之间的唯一性;2、空间数据必须以高精度的空间参考存储( 9.2 以后的 GDB )。对一个数据图层, 可以对整个图层创建 replication ,也可以对选择的某些记录或者schema来创建replication ,并且会自动检测跟该部分数据相关的其它图层数据也创建replication (如几何网络数据、拓扑等) 。Create a replica by re-using schema 这种模式只能支持 check out/check in ,且检出目标是 file GDB 或 pe

17、rsonal GDB 。创建replication时勾选这个选项会先删掉指定数据的所有数据内容,然后对schema创建 replication ,这样可能会丢失重要数据,而且删除再恢复花费较长时间。一个更好的办法 是先用Extract data向导将dataset的schema提取出来生成空的dataset,然后对这个空的dataset再来创建 replication 且勾选 re-using schema 选项。Replication and VersionReplica versions创建了 replica的版本,或者说基于此版本来创建replica。在执行同步的时候,对这些 repli

18、ca version 的改变会协调。DefaultRV2DefaultDefault说FUe dr PersonalOne-way replicationTwo-way replica bonArcSDEGeodatabase_Q Geodatabase hosting parent replicas tieodatabase hosting child replicas上图的两个 child replicas 都采用了 default 版本作为 replica version,跟 Geodatabase里的普通version是完全一样的。对 file和personal GDB,是不支持版本的

19、,因此在创建上述 one-way replication时不会创建replica version (这种情况在同步的时候是有额外的逻辑决定 数据变化在同步时的发送)。Check out/Cbeck i replicationChecA out/Check in replicabon Gcodatabase hosting parent replicas2 Geodata base hosting child replicas对上述check-out replica而言,会在检出库中创建跟replica version同名的版本(检出库为 SDE)。我们可以查看 Database的属性,判断该

20、SDE库是否被作为 Replica Geodatabase:Receive changesreplica接收变化数据的时候会发生以下操作:Receive changesreplica接收变化数据的时候会发生以下操作:丁ype:ArcSDE Geodata baseDatabase PropertiesGeneral |Donalns |Distributed Geodgtatwae StatusThis is a replica g&DdatabaseComnurabri Keyv/crdsClick tfw button for q list of 3 II keywords def

21、ined for this £onfigijratKin Keyv/orcfe,Upgrade StatusThis database E“t匚h比弓 the ArcGIS relEase you are currently usng.Upgrfide Geodatabase确定取消1应用(4Synchronization and Versioning在SDE库之间的replication都是通过版本来实现同步的(通过版本来发送或接收数据 的变化)。Send changesde通过分析replica version和其它version来决定需要发送那些变化数据,而且可以过滤掉之前已经

22、发送过的数据或需要重新发送的数据。对file或personal GDB中的check-out replica而言,会通过分析包含所有edits的一张表来完成。当SDE1和SDE2进行同步的时候,SDE1发送同步消息给 SDE2,会在SDE1 (发送方) 创建一张表来跟踪数据的变化过程 (track the lineages of altered datasets)。当然,这张表只在 同步的时候才会出现,在 ArcMap或ArcCatalog中是看不到的。1、数据的更新将会首先应用到Synchronization version (它是 replica version 的子版本),该版本用来临时

23、保存这些更新,直到被协调、提交到 replica version 。对 one-way 和 two-way replica , Synchronization version 直到执行同步操作的时候才会创 建(对 simple 模式的 one-way replica , child replica 也即 data receiver 是非版本的,因此不会 创建 Synchronization version );而对 check-out replica ,在创建 replica 的同时会创建该版本。2、 Synchronization version 和 replica version 进行协调

24、Two-way replica 可能会存在冲突,可以自动或手动选择冲突以谁为准来解决,冲突 协调好后即会提交;Check-out replica 默认不会自动协调提交,可以设置。如果不协调提交的话,变化 数据将保留在 synchronization version 里,可以以后再协调提交;One-way replica replica version 的数据总是会被同步过来的变化数据覆盖,因此不会有冲突处理。当使用simple模式时,child replica是不包含版本的, 跟PGDB或FGDB 样, 数据接收过来就直接覆盖了。3、协调提交后,synchronization version

25、会被删除。对 two-way replica 而言,只要synchronization version 存在那么就认为该 replica 存在冲突未解决,在这种情况下该 replica 只能接受变化数据,而不能发送变化数据。同步的过程:Connected synchronization :Direction在线同步允许选择变化数据发送的方向。对 two way replicas ,可以向 relative replica 发 送消息、接收 relative replica 发送过来的消息或者是双向传递消息。如果选择双向传递, 那么变化将先以一个方向发送,然后再反向发送;对 check-out

26、replicas,只能从 child replica 向 pare nt replica 发送变化消息;对one way replicas,只能从 parent replica 向child replica发送变化消息。离线同步在离线环境下,用户可以手动执行同步数据的交换,从一个 replica (data sender )将变 化数据导出到文件, 然后在关联的 replica ( data receiver )里导入该文件, data receiver 这边会导出一个通知消息文件确认所接收到的数据。Receive changesreplica接收变化数据的时候会发生以下操作:Data rec

27、eiver方发送确认消息是很重要的,因为如果没有发送确认消息,那么data sen der会认为这次发送的数据未同步成功,会重新发送。(如果总是没有确认消息,那将会导致data sen der的Geodatabase 变大,且发送的新的变化数据也会变大)。因此,data receiver 最好在每次接收到变化数据后都发送确认消息。不过可以在一次接收 多个变化数据后发送一个确认消息即可。例如一个replica接收到三个数据变化并且将它们导入,它可以只发送一个确认消息来确认这三个数据变化的接收。一个 replica(无论是 pare nt 还是 child )既可以是 data sen der 也

28、可以是 data receiver当然还得看replica的类型了。My Replica(parot Jt)row DirectiofiMyReplica(child)MessagesData sen der 和data receiver也可以交换角色,这种交换由data sen der 发送一个最终数据变化消息并包含角色交换申请的时候触发。而data receiver 一旦导入变化数据后,就会和data sender交换角色了。ManhRggm烂伯;£山1:匸卜帖耳也flow dlrtwJlotiMyReptica阿阳丿前面提过replica的类型会决定变化数据交换的角色,F面来详

29、细总结下不同类型的情况:two-way replicas:有数据交换和确认消息,可以交换角色;on e-way replicas : pare nt replica总是 data sen der,child replica 总是 data receiver无法交换角色。不过child replica还是会发送确认消息;check-out replicas: child replica总是data sen der,并且在同步过程中不会有确认消息的发送(一次同步即完成,不再有 replica关系)。在发送变化数据的时候, 所有新的变换数据和未确认的变化数据默认都会被发送 (新的变换 数据指在上次导

30、出变化数据后对 replica version 的增、删、改编辑;未确认的变化数据指 以前导出变化数据后没有收到确认消息的所有那些变化数据)。因此, data receiver 最好每次发送确认消息,否则 data sender 发送的变化数据可能越来 越大。另一个选择是使用 verbal acknowledgement 接收到变化数据的 data receiver 的管 理员口头告诉 data sender 已经收到更新数据了, 这样 data sender 下次再发送变化数据的 时候就选择只发送上次发送之后更新的数据。通过 replica manager 可以查看哪些变化已经发送或接收,对

31、确实已经接收到的变换数据 即可以发送一个 verbal acknowledgement 给 data sender 了。如果前面发过来的变化数据未被正确导入,但 data sender 却收到确认消息, 那么再次发送其它变化数据的时候会产生错误。 如果同时发送多个数据变化消息, 必须按正确的顺序导入 这些变化数据,否则也会出错。当错误产生的时候,如果是自动同步将不会立即提示错误信息,可以在 replica log 里查看 相应的错误信息及可行的解决办法。值得说明的是,虽然 verbal acknowledgement messages 比较小,但这种方法还是不能 等同于 acknowledge

32、ment messages 。因为只有导入 acknowledgement messages 后, Geodatabase 才会注销掉该 replica 需要重新发送变化数据产生的那些 system versions 。这些残留的版本会妨碍数据库压缩,从而导致 data sender 的 Geodatabase 变 得越来越大。因此,即使使用 verbal acknowledgement 来操作也应该定期使用 acknowledgement messages 。同步 Schema Changes如果 replicas 的数据 Schema 被改变了(如空间参考变化、属性表结构更新、创建 / 删

33、除几 何网络等),则需要对数据 schema 进行同步,这个不同于前面的数据变化同步。在应用 schema changes 之前,首先要比较两个 replica 的 schema ,生成 schema changes 文件,然后即可以导入该 schema changes 文件来进行同步。需要注意的是,假设 A和B是一对replica pair , A的数据schema进行了修改,现在要将它的schema changes应用到B上,那么比较schema的时候必须是连接 B ,在此连接之上用向导来和A比较schema,然后导入schema change;如果是在A上来执行的schema 比较,那么

34、B是无法导入的。离线环境:A导出schema至到xml文件,将文件复制到 B,连接B比较schema , B导入schema changes 。在线环境:连接 B,比较 Schema 生成 schema change 文件, B 导入 schema changes在导入schema changes的时候,会列出变化的内容及是否应用(如下图)。一般的变化默认都是apply的,但有些则是不勾选的或者灰色的不让apply。如两个replica初始状态都没有几何网络,在 A中创建了几何网络,则这个 schema change不能应用到B,因为B中的数据是版本化的,要创建几何网络需要先反注册版本。Man

35、 agi ng replicas使用replica manager可以管理replicas改名、刷新、查看属性或者从replica里移除图层。也可以通过它查看不同类型的replica及其角色(child、pare nt等),还可以查看replica 日志。Namereplica n ame ;Own er创建replica的用户;Typereplica 的类型: check out/check in 、one way、two way ;Rolereplica 在关联 replicas 中的角色:pare nt 、child ;Status该 replica 当前是 data sender 还是

36、 data receiver ;Conflicts该replica是否有冲突需要解决;Version仓U建 replica 过程中产生的 replica version ;Date Created创建replica的日期和时间;右键单击replica,上下文菜单的功能:Ren ame修改replica名字;Un register反注册 repica,如果存在 synchronization version,也将一起被反注册;View log查看 replica log ,仅在 one way 或two way 类型的 replica 时才可用;Properties查看 replica 属性。R

37、eplica Log维护replica所发送或接收到的消息记录,可以查看某一时间段的记录,或者查看最近得错 误记录。Replica log详细记录了日志日期、消息接收或发送事件、是否成功以及是否有冲 突等信息。Replica Properties包括以下三个属性页(选取较重要属性说明)GeneralModel显示 model type 。对 ckeck out/check in 和 two way replica 总是为 Full ;对one way replica 是Full还是Simple取决于创建该replica的时候选取的 model type 。Conflictsyes or no

38、,取决于该replica是否处于冲突状态。Replica version跟该 replica 关联的 replica 版本。Synchronization verion 跟该 replica 关联的同步版本。Descripti on显示replica数据的属性,一般由创建 replica的过程决定,主要包括以下几项:Datareplica data的数据源;Typereplica data 的类型:featureclass 、table、geometricNetwork 等;Replicate标识过滤条件:All Features 、Schema Only 、Selection Sets 、Q

39、ueryDefin iti ons;Use Geometry是否指定创建replica的空间范围;Direction复制 relati on ship classes 时才可用。注:要从replica移除一个数据,可以右键点击该数据选择Un Register from Replica ,则该replica不再引用该数据,但它还是会在GDB里。如果要移除几何网络或拓扑则需移除掉它们所包含的所有图层数据。Advaneed显示和replica关联的一系列状态(数字),由Geodatabase 维护,用于跟踪消息在replica 之间发送的过程。Current Generation当前世袭的数字,描述

40、replica发送的消息数;Last Ackno wledged Ge neratio n接收到确认消息时最近的数据消息的个数;Gen eratio n(基于上一次接收到的消息)描述该replica上一次导入消息时与它关联的replica 当时的 generation number 。测试1、Check out场景:从 sde ( rocky )创建 checkout replica 到 CheckOut_Output.mdb在 sde 库中会生成一个 replica versionMyCheckout,其父版本是 Default在Checkout PGDB中,replica 相关的三个表会添加相应的数据:IDVersionParentIDRepDateDefGhueryRepGvidRepCInfo1JtfyChec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论