同步复制使用系列一 Check In/Out

同步复制使用系列一

Check In/Out

同步复制是ArcGIS桌面一个很重要的功能,他可以实现库与库之间的在线或者离线同步,同步复制包括三种方式,签入签出方式、One Way、Two Way。三种方式应用与不同的业务场景,我们就以Step By Step的方式给大家介绍怎么使用每种方式的同步复制,以及每一个Step的功能作用。

签入签出(Check Out/In)

签入签出的使用在我们平常的业务中使用非常广泛,试想有一个中心数据库,用户在外边进行数据的编辑更新,可以利用该方式事先导出Check Out文件数据库(PGDB、FGBD、也可以是ArcSDE数据库),用户可以在文件数据库文件进行编辑更新,然后在将该数据Check In进去,以保持总数据库的同步更新。

数据库要求

数据源必须为ArcSDE GDB的数据库,既可以注册版本也可以非注册版本(ArcGIS10新特性),GDB里面既可以是Simple Model也可以是Full Model(ArcGIS10新特性)

clip_image002

嵌入签出只介绍两个工具(需要将ArcSDE数据加载到ArcMap才能高亮):

clip_image004:创建复本

clip_image006:同步变化

数据同步

加载数据后,我们可以看到表结构和数据,该数据集为注册版本数据。

clip_image008clip_image010

我们可以将数据库的所有数据导出,也可以事先将某一区域(用户可以利用查询条件,高亮选中数据导出),也就是我们是支持范围选择的。本例就导出高亮选中的那个图形。然后点击创建复本按钮。

clip_image012

其实在注册版本数据Check Out时,利用的是版本的机制,创建了一个版本(复本),本例就是创建了一个MyCheckOut_2版本。勾选进一步可以得到更详细的选择信息。

clip_image014 clip_image016

Simple Model:简单的点线面

Full Model:带有拓扑、几何网络等复杂数据类型

clip_image018clip_image020

 

点击完成后我们可以看到,生成的一个文件GDB是属性是:this geodatabase contains single generation replica,说明该数据可以进行修改签入,而且签入之后,就不能再次进行签入了。签入之后状态会发生变化为:this is not a replica geodatabase。

clip_image022

然后我们对Check Out的数据进行编辑修改:新增两个,然后分割一个,删除半个

clip_image024

然后选择同步复制按钮,选择同步的版本,同步的数据文件

clip_image026clip_image028

 

上面的选择我们在版本的使用看起来比较熟悉,这更说明了同步复制也使用了版本的原理。

在数据Check In进去后我们并没有立即看到数据发生了变化,这是因为我们现在使用的是版本数据,我们Check Out时建立了一个MycheckOut_2版本,所以我们切换版本,然后浏览该版本即可看到更新后的数据。

clip_image030clip_image032

clip_image034

从上面我们可以看到将变化的数据已经同步到我们的总数据库中了,但是它是一个子版本,我们需要将该子版本的数据协调提交到Default版本。

在ArcGIS10版本可以对非注册版本进行签入签出,那么就不存在版本的概念了,也就是说我们的数据直接同步到Default版本了。

在将数据Check In后,我们在看该数据状态已经不是一个复本的GDB了。

clip_image036

Register Existinig data Only

那么可能有用户希望,我已经Check In了数据了,我能不能继续使用该数据进行修改后进行同步呢,回答当然是可以的。我们可以利用Check Out的 Register Existinig data Only的功能,将已经Check In的数据与数据库重新建立一个同步关系。 clip_image038

clip_image040

Schema同步

同样我们也可以进行数据结构(Schema)的同步,选择创建复本

clip_image042

我们可以看到复本并没有数据只有Schema,我们添加字段ccc

clip_image044

我们需要进入ArcCatalog选择比较Schema功能

clip_image046

我们首先选择修改过的文件数据库,然后选择复本的名字,保存一个XML地址

clip_image048

clip_image050

clip_image052clip_image054

clip_image056

以下为有效的Schema变化

clip_image058

 

 

### RocketMQ 和其他消息队列的主从同步实现 #### 1. RocketMQ 的主从同步机制 RocketMQ 使用 GroupTransferService 来管理主从之间的数据同步过程。具体来说,在主从架构下,Master 节点负责接收生产者发送的消息并将其持久化到磁盘上,随后通过 GroupTransferService 将这些消息复制到 Slave 节点[^2]。Slave 节点会定期向 Master 发送心跳包以确认自身的存活状态,并请求最新的未同步的数据。 当消费者消费消息时,如果启用了读写分离模式,则优先访问 Slave 节点;否则,默认情况下仍然由 Master 提供服务。这种设计可以有效提升系统的可用性和吞吐量,同时也降低了单点故障的风险。 然而,在实际部署过程中可能会遇到些问题,比如由于网络波动或者配置错误等原因造成主从之间无法完成正常的同步操作。此时可以根据日志定位原因,并按照定流程逐步排查解决问题[^4]。 #### 2. MySQL 的 Binlog 同步方式 MySQL 数据库采用基于二进制日志 (Binary Log, binlog) 的增量复制技术来达成其主从结构下的高致性保障目标。每当主数据库执行 DML/DQL 类型语句之后都会被记录下来形成条条事件信息存入文件当中,接着再传输给对应的备机实例解析应用从而达到最终的致性效果[^1]。 此方法具有延迟低、效率高的特点,但也存在定的局限性——即对于某些特殊场景可能并不适用(如跨数据中心远距离传播),因此需要结合实际情况灵活调整策略参数设置才能更好地满足业务需求。 #### 3. Elasticsearch 中 Translog 的作用 Elasticsearch 利用事务日志(Transaction Log, translog),作为种临时存储媒介保存尚未刷入 Lucene 索引内部的新文档变更内容直至条件成熟后再统提交固化至永久介质之上。与此同时还会周期性的把最新版本的内容推送给副本节点确保整体集群健康稳定运行不受影响。 这种方式不仅能够快速响应用户的查询请求而且还能很好地支持大规模分布式环境下的高效协作工作流模型构建起来更加容易维护升级成本更低廉可靠程度更高。 #### 4. Redis AOF 功能简介及其优势分析 Redis 支持两种主要形式之就是追加仅允许(Append Only File,AOF),它会在每次命令处理完成后都将该次修改动作完整地追记成行文本字符串附加到指定位置处的个普通纯文本格式文件里去以便后续恢复重建整个内存映像图谱之需所用。 相比起 RDB 方式而言虽然速度稍慢点但是胜在其精确度极高几乎不会丢失任何已发生的改动历史轨迹所以特别适合那些对数据安全性要求极高的应用场景场合选用作为首选解决方案考虑对象之。 ```python def check_sync_status(master_ip, slave_ips): """ 检查主从同步的状态 :param master_ip: 主节点IP地址 :param slave_ips: 多个从节点IP列表 :return: 返回各节点同步情况报告字典 """ sync_report = {} try: for ip in slave_ips: response = request_data_from_node(ip) if 'last_update_time' not in response or \ abs(response['last_update_time'] - get_master_last_update(master_ip)) > SYNC_THRESHOLD: status = "Out of Sync" else: status = "In Sync" sync_report[ip] = {"status": status} except Exception as e: print(f"Error occurred while checking {ip}: {e}") return sync_report ``` 上述函数用于检测组从属节点相对于某个特定主机的时间戳差异是否超出预定义阈值范围之外进而判断它们当前是否存在不同步现象发生状况。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值