一种基于业务操作日志的数据同步方法与流程

文档序号:11919026阅读:807来源:国知局
一种基于业务操作日志的数据同步方法与流程

本发明涉及计算机信息技术领域,具体涉及一种基于业务操作日志的数据同步方法。



背景技术:

在树形分级部署系统中,为分级应用管理模式,数据变更需及时上报下发,以保证各级数据同步一致;系统各级存在多个数据副本,必须采用数据同步技术捕获数据库中数据对象的改变,从而维护各级数据库的一致性并保障数据库的高效性和可靠性。

目前业界存在的数据同步方法主要有两类:

(1)数据源全部上报

当需要数据同步时,通过专用的通讯应用程序将某一时刻源数据库的表的内容全部复制逐级上报至上级单位,可以完整复制源数据库的变化至目标数据库,本方法基于表的复制,数据同步量大,对网络带宽要求较高,效率低。

(2)数据增量上报

当需要数据同步时,通过专用的通讯应用程序将变化的数据复制逐级上报至上级单位,从传输的数据量来看,仅将变化的数据上传,是一种增量上报,同步量小。但是由于业务处理的连续性,处理需要连续同步,因此本同步方法无法保障数据的完整性。

无论是采用数据源全部上报还是数据增量上报方法,针对分级部署系统,现使用的方式均为逐级同步,系统各级需要数据接收处理后再传递,对于实时性要求较高的系统来说,逐级上报的方式传递速度慢、周期长。面对大量增量数据及业务操作复杂化,现业界使用的数据同步模式存在明显不足之处。综上所述,急需要一种传输更加高效、确保传输数据更加完整的解决方案。



技术实现要素:

有鉴于此,本发明提供了一种基于业务操作日志的数据同步方法,能够确保业务数据的原子性、数据的完整性,同时业务数据采用直接分发机制,而非逐级处理逐级上报,提高数据同步速度。

本发明的基于业务操作日志的数据同步方法,包括如下步骤:

步骤一,业务系统在对业务对象进行业务操作的同时记录本业务系统的业务操作日志,生成业务操作日志文件;

步骤二,业务系统将生成的业务操作日志文件按照部署单位层级关系进行传输,采用直接分发机制,业务操作日志文件直接被分发传递至与该业务操作相关的目的业务系统;

步骤三,目的业务系统收到业务操作日志文件后,提取并分析业务操作日志文件中记载的业务操作,根据业务操作分析结果改变目的业务系统数据,实现数据同步。

进一步地,如果数据同步失败,则首先进行数据回滚,即所有目的业务系统的数据还原至此次业务系统数据更改前,然后重新执行步骤二和步骤三,进行数据同步。

有益效果:

(1)本发明方法将业务操作日志作为数据同步的依据,最大限度的保障了业务数据的原子性,连贯性,数据的一致性,完整性,避免了使用数据源全部上报与数据源增量上报方式的明显弊端。

(2)本发明方法在数据传输分发过程中,摒弃了分级部署系统必须逐级上报下发的方式,采用直接分发的机制,无需逐级进行文件解析及数据操作,提高了数据同步效率。

(3)本发明方法在数据同步失败时,按照业务操作日志回滚,保障数据因数据同步失败引起的数据丢失错误,提高数据同步的准确性。

附图说明

图1为本发明方法流程图。

图2为数据传输流程对比。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

本发明提供了一种基于业务操作日志的数据同步方法,首先记录业务操作日志,生成业务操作日志文件,然后将业务操作日志文件同步上传至各目的业务系统,各目的业务系统根据接收到的业务操作日志文件,分析并提取业务操作串,根据提取业务操作串重写本业务系统的数据。

本发明流程图如图1所示,具体包括如下步骤:

步骤一、记录业务操作日志

各业务系统在指定监听端口获取数据同步映射消息,确认同步时间及上传路径。当一个业务系统进行业务操作时,该业务系统根据业务数据操作指令进行业务操作,维护本级数据,同时记录本系统的业务操作日志(业务操作日志记录了对业务对象的变更操作,用于跟踪追溯系统业务数据的变化过程),保存日志为指定格式文件,生成业务操作日志文件。

步骤二、数据传输

如图2所示,同步时间到达时,通过专用应用程序,按照系统传递策略将业务操作日志文件按照部署单位层级关系进行传输,系统采用直接分发的机制,可将日志文件直接分发传递至相关目的业务系统,无需逐级进行文件解析及数据操作,提高传输效率,目的业务系统在指定时间读取同步文件。

步骤三、提取数据,各级根据业务操作日志重写数据

一个业务操作日志包括了一组数据变更向量,是数据状态的一个操作序列,记录了对数据库的原子操作,目的业务系统根据接收到的日志文件,分析并提取业务操作串,根据分析结果重写目的端数据。

步骤四、同步失败,数据回滚

一旦判定业务操作日志文件同步失败,重写数据暂停,系统提示同步失败,因业务操作可能涉及多个数据库表,为保证数据完整精确,系统进行数据回滚,恢复至上一次的正确状态,还原数据。待再一次同步时,按照业务操作日志重写目的端数据,避免为小部分数据同步失败而恢复整个数据库。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1