面向海量数据表的自适应增量数据同步方法与流程

摘要: 本发明涉及数据库数据同步,具体涉及一种面向海量数据表的自适应增量数据同步方法。背景技术:1、在企业级数据库集群中,各业务数据表的增量变更量因业务负载差异呈现出显...
面向海量数据表的自适应增量数据同步方法与流程

本发明涉及数据库数据同步,具体涉及一种面向海量数据表的自适应增量数据同步方法。

背景技术:

1、在企业级数据库集群中,各业务数据表的增量变更量因业务负载差异呈现出显著的时间分布不均匀性,核心业务表在高峰期集中产生大量变更记录。现有同步方案按固定周期串行执行变更采集、数据压缩和网络传输三个阶段,导致同步链路在变更积累阶段长时间空闲。现有方案缺乏对未来变更量的预判能力,无法根据链路带宽预期状态提前规划各表的压缩与传输资源分配,高优先级业务表的同步延迟受到低优先级表压缩耗时的阻塞,在带宽受限时段内出现持续性数据积压的技术问题。

技术实现思路

1、本发明提供面向海量数据表的自适应增量数据同步方法,解决相关技术中同步链路带宽与各数据表变更负载均无法准确预知、导致同步任务调度失当、链路资源利用率低且高优先级数据表延迟过大的技术问题。

2、本发明公开了一种面向海量数据表的自适应增量数据同步方法,包括以下步骤:

3、获取每张数据表在历史同步周期内各时间窗口的增量变更数据量,提取各表的变更速率时间序列,将所述时间序列分解为趋势分量、周期分量和残差分量,外推各分量后叠加,得到每张表在未来多个时间窗口内的预测变更数据量序列;

4、对同步链路执行周期性带宽探测,基于带宽波动序列通过指数加权移动平均计算未来各时间窗口的预测可用带宽值,生成链路带宽预测序列;

5、基于各表的预测变更数据量序列、链路带宽预测序列及各表预设的同步优先级权重,计算各表在各未来时间窗口的同步紧迫度分值,汇总生成全局同步紧迫度调度矩阵;

6、基于所述全局同步紧迫度调度矩阵,将变更捕获、编码压缩、网络传输三个阶段解耦并行执行,其中编码压缩阶段和网络传输阶段按当前时间窗口对应的紧迫度分值由高至低的顺序调度各表的处理任务;

7、在每个时间窗口切换时,获取各表实际变更数据量及链路实际可用带宽,计算预测偏差率,当预测偏差率超过偏差阈值时执行在线参数校正,更新预测模型参数、重新计算全局同步紧迫度调度矩阵并对编码压缩任务队列执行重排序。

8、进一步地,所述将所述时间序列分解为趋势分量、周期分量和残差分量包括:通过移动平均滤波从变更速率时间序列中提取趋势分量;对去趋势序列执行傅里叶变换后重建主频率分量,获取周期分量;将原始序列减去趋势分量与周期分量,得到残差分量;趋势分量外推采用线性外推方式,周期分量外推以已识别的主频率重建正弦分量延伸,残差分量外推取历史均值作为估计值。

9、进一步地,数据表在未来第个时间窗口的同步紧迫度分值按以下公式计算:

10、;

11、其中为数据表在第个时间窗口的预测变更数据量,为数据表的同步优先级权重,为第个时间窗口的预测可用带宽值,为数据表总数,为求和遍历索引;所有数据表在同一时间窗口内的紧迫度分值之和为1。

12、进一步地,所述预测偏差率按以下公式计算:

13、;

14、其中为数据表的变更量预测偏差率,为实际变更数据量,为对应预测值;为链路带宽预测偏差率,为实际可用带宽,为对应预测值;当超过偏差阈值时,将实际变更数据量回馈至预测模型对趋势分量和残差分量的估计参数执行在线更新;当超过时,将实际带宽值回馈至指数加权移动平均模型更新链路带宽预测序列。

15、进一步地,当检测到当前实测可用带宽值高于当前时间窗口对应的预测可用带宽值且传输队列处于空闲状态时,从全局同步紧迫度调度矩阵中选取未来时间窗口内加权累计紧迫度分值排名靠前的数据表,对其变更缓冲区中已积累的变更数据执行编码压缩并通过空闲链路传输;传输完成后,将实际传输的数据量从对应数据表在未来时间窗口的预测变更数据量中扣减,更新全局同步紧迫度调度矩阵中对应元素。

16、进一步地,目标端接收压缩同步数据包后,依据数据包携带的序列号对同一数据表的数据包执行重排序,确认序列连续后执行解码还原,将还原后的增量变更数据应用至目标端对应数据表,并向源端回传应用确认消息;源端接收确认消息后,释放对应数据表变更缓冲区中已成功同步的数据空间。

17、进一步地,所述变更速率时间序列的特征包括周期性分量频率、趋势斜率、突发峰值频次及峰值持续时长四类属性;突发峰值频次为序列中超过均值加两倍标准差的采样点数量,峰值持续时长为上述采样点的最大连续持续长度。

18、进一步地,所述链路带宽预测序列中第个时间窗口的预测可用带宽值按以下公式计算:

19、;

20、其中为衰减系数,为最近一次探测的可用带宽值,初始值;各时间窗口的波动方差通过对带宽波动序列计算滑动方差获得。

21、本发明公开了一种面向海量数据表的自适应增量数据同步系统,包括:

22、特征提取模块,用于获取每张数据表在历史同步周期内各时间窗口的增量变更数据量,提取各表的变更速率时间序列;

23、变更量预测模块,用于将各表的变更速率时间序列分解为趋势分量、周期分量和残差分量,外推各分量后叠加,输出未来各时间窗口的预测变更数据量序列及预测置信区间;

24、带宽预测模块,用于对同步链路执行周期性带宽探测,基于带宽波动序列通过指数加权移动平均计算未来各时间窗口的预测可用带宽值,生成链路带宽预测序列;

25、调度矩阵生成模块,用于基于预测变更数据量序列、链路带宽预测序列及各表同步优先级权重,计算各表在各未来时间窗口的同步紧迫度分值,汇总生成全局同步紧迫度调度矩阵;

26、流水线执行模块,用于基于全局同步紧迫度调度矩阵,将变更捕获、编码压缩、网络传输三个阶段解耦并行执行,按紧迫度分值由高至低的顺序调度编码压缩和网络传输任务;

27、在线校正模块,用于在每个时间窗口切换时计算各表及链路的预测偏差率,对超过偏差阈值的数据表执行在线参数校正,更新预测模型参数、重新计算全局同步紧迫度调度矩阵并对编码压缩任务队列执行重排序。

28、进一步地,还包括:预取传输模块,用于在当前实测可用带宽值高于当前时间窗口预测可用带宽值且传输队列空闲时,对全局同步紧迫度调度矩阵中加权累计紧迫度分值排名靠前的数据表执行提前编码压缩与传输,并将已传输数据量从全局同步紧迫度调度矩阵对应元素中扣减;数据应用模块,用于在目标端对接收的压缩同步数据包依据序列号重排序后执行解码还原,将增量变更数据应用至目标端对应数据表,向源端回传应用确认消息,触发源端释放已同步数据的缓冲区空间。

29、本发明的有益效果在于:

30、本发明通过对各表历史变更速率时间序列的三分量分解预测,结合链路带宽预测与全局同步紧迫度调度矩阵的融合计算,以及三级流水线并行执行架构,解决了现有串行同步方案缺乏预判能力、链路长时间空闲及高优先级数据表在带宽受限时段出现持续性数据积压的技术问题,取得了同步链路利用率提升、高优先级数据表调度优先级持续有效及带宽受限时段数据积压量降低的技术效果。

1.一种面向海量数据表的自适应增量数据同步方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,其中,所述将所述时间序列分解为趋势分量、周期分量和残差分量包括:

3.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,其中,数据表在未来第个时间窗口的同步紧迫度分值按以下公式计算:

4.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,其中,所述预测偏差率按以下公式计算:

5.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,还包括:

6.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,还包括:

7.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,其中,所述变更速率时间序列的特征包括周期性分量频率、趋势斜率、突发峰值频次及峰值持续时长四类属性;突发峰值频次为序列中超过均值加两倍标准差的采样点数量,峰值持续时长为上述采样点的最大连续持续长度。

8.根据权利要求1所述的面向海量数据表的自适应增量数据同步方法,其中,所述链路带宽预测序列中第个时间窗口的预测可用带宽值按以下公式计算:

9.一种面向海量数据表的自适应增量数据同步系统,包括:

10.根据权利要求9所述的面向海量数据表的自适应增量数据同步系统,还包括: