一种定时数据增量同步的方法技术

技术编号:15398106 阅读:404 留言:0更新日期:2017-05-22 11:03
本发明专利技术提供一种定时数据增量同步的方法,本发明专利技术是一种基于时间戳增量抽取的技术,主要包括线程调度引擎和数据处理引擎,将业务系统中的变化数据按一定的频率准确地捕获到,并且通过查询数据总记录数,分析增量区间数据量大小,计算系统的可用内存,估计优化同步时的预计使用内存,合理分配数据同步内存。本发明专利技术能够很好地避免增量数据过大时导致内存溢出,降低数据增量同步时对业务系统造成的压力,从而确保在进行数据增量时现有业务也可以正常运行。

Method for synchronous increment of timing data

The present invention provides a method of timing of incremental data synchronization, the invention is a kind of incremental extraction technology based on timestamp, including thread scheduling engine and data processing engine, data changes in business system according to a certain frequency accurately captured, and the number of data records through consultation, incremental analysis of interval data the amount of available memory, calculation system, estimation is expected to optimize synchronization when using memory allocation, memory data synchronization. The invention can avoid the incremental data too large to cause memory overflow, reduce the data synchronization of incremental business system caused by the pressure, so as to ensure the data in increments of existing business can also be normal operation.

【技术实现步骤摘要】
一种定时数据增量同步的方法
本专利技术涉及数据处理
,尤其涉及一种定时数据增量同步方法。
技术介绍
现有数据交换平台包括数据的抽取、转换、同步。其中数据抽取的方式主要以时间戳的方式,即增量抽取时,抽取进程通过比较系统时间与抽取源表的时间戳字段的值来决定抽取哪些数据。这种方式需要在源表上增加一个时间戳字段,系统中更新修改表数据时,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据,有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值,有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手动更新时间戳字段。在数据定时增量同步时,特别是在处理大量数据记录,并每条记录的数据量有大的增量同步时,导致的内存溢出,影响业务系统正常运行。
技术实现思路
本专利技术要解决的技术问题,在于提供一种定时数据增量同步方法,充分发挥服务器的性能,避免内存溢出,保证数据稳定、同步以及业务系统的正常运行。本专利技术是这样实现的:一种定时数据增量同步方法,所述方法是基于时间戳增量抽取技术实现的,包括一个数据交换平台,所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;所述线程调度引擎包括内存分析单元;所述数据处理引擎包括智能处理单元。本专利技术具体包括如下步骤:步骤1、数据交换平台根据运行环境来配置初始运行参数,以确保数据增量同步的正常运行,所述运行参数包括并行线程数;步骤2、数据交换平台在运行过程中,对数据增量同步后的调度日志和数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,根据服务器的配置情况计算出推荐配置的运行参数的并发线程数阈值;步骤3、数据处理引擎根据优化后设定的并发线程数阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据数据量大小和内存大小来控制线程数量和数据块的大小,从而完成定时数据增量同步。进一步的,所述并发线程数阈值计算方式如下:在CPU权重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%~100%时,并发线程数阈值=满载时并发线程数×当前任务分配的CPU所占比例;在内存权重时,即CPU充足,内存不足时:当内存满载,即当内存使用率达到70%~90%时,并发线程数阈值=满载时的并发线程数×当前任务分配的内存所占比例;进一步的,所述步骤3的多任务多线程并发执行中,若数据交换平台只是负责数据记录数大的增量同步,则通过增加并发的线程数来提升同步的效率;若数据交换平台负责的是记录数据大的增量同步,则通过减少并发的线程,保证服务器内存不会因为过分提高性能而溢出;进一步的,所述线程调度引擎还包括一线程调度单元;所述线程调度单元在CPU或内存达到瓶颈时,系统将后续的任务转移到队列中进行等待处理,当前任务结束后才进行后续任务的执行;进一步的,所述数据处理引擎具体包括:记录数分析单元,负责统计分析当CPU满载时,单位时间内并发处理的数据记录总数,确保单位时间内并发处理的数据记录达到满载时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短信;数据量分析单元,负责统计分析当内存达到80%~90%时,单位时间内并发处理数据记录总数,确保当单位时间内并发处理的数据记录数达到80%~90%时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短信;智能处理单元,根据数据交换平台的应用情况,通过配置并发记录数和大数据的字段,进行线程处理及数据处理。本专利技术具有如下优点:本专利技术由智能处理单元根据设定的阈值以及线程数量将数据拆分成等块大小的数据块,使系统在多任务多线程并发执行时,能根据数据量大小和内存大小来控制线程数量和数据块的大小,很好地避免增量数据过大时导致的内存溢出问题,降低数据增量同步时对业务系统造成的压力,从而确保在进行数据增量时现有业务的正常运行。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术逻辑结构图。具体实施方式如图1所示,为本专利技术一种定时数据增量同步方法,所述方法是基于时间戳增量抽取技术实现的,包括一个数据交换平台,所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;所述线程调度引擎包括内存分析单元和线程调度单元:内存分析单元用于对记录占用的内存进行分析计算;线程调度单元在CPU或内存达到瓶颈时,系统将后续的任务转移到队列中进行等待处理,当前任务结束后才进行后续任务的执行;所述数据处理引擎包括记录数分析单元、数据量分析单元和智能处理单元:记录数分析单元,负责统计分析当CPU满载时,单位时间内并发处理的数据记录总数,确保单位时间内并发处理的数据记录达到满载时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短信;数据量分析单元,负责统计分析当内存达到80%~90%时,单位时间内并发处理数据记录总数,确保当单位时间内并发处理的数据记录数达到80%~90%时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短信;智能处理单元,根据数据交换平台的应用情况,通过配置并发记录数和大数据的字段,进行线程处理及数据处理。本专利技术具体包括如下步骤:步骤1、根据对运行环境的初步评估配置标准的运行参数(如内存大小、并发线程数等),确保数据增量同步的正常运行;步骤2、通过运行一段时间(如一周时间或更长,该时间主要是根据实际的业务需求来判定),对数据增量同步后的调度日志、数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,再根据服务器的实际配置情况(如:CPU、内存、硬盘等)计算出推荐配置的运行参数的并发线程数阈值,该阈值的计算方式如下:当CPU权重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%~100%时,并发线程数阈值=满载时并发线程数×当前任务分配的CPU所占比例;当内存权重时,即CPU充足,内存不足时:当内存满载,即当内存使用率达到70%~90%时,并发线程数阈值=满载时的并发线程数×当前任务分配的内存所占比例;步骤3、引擎能够根据优化后设定的阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据实际的数据量大小和内存大小来控制线程数量和数据块的大小,这样数据交换平台就能够根据配置的阈值,尽可能大的利用服务器的资源;进一步的,所述步骤3的多任务多线程并发执行中,若数据交换平台只是负责数据记录数大的增量同步,则通过增加并发的线程数来提升同步的效率;若数据交换平台负责的是记录数据大的增量同步,则通过减少并发的线程,保证服本文档来自技高网...
一种定时数据增量同步的方法

【技术保护点】
一种定时数据增量同步方法,所述方法基于一数据交换平台实现的,其特征在于:所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;所述线程调度引擎包括内存分析单元,所述数据处理引擎包括智能处理单元;所述方法包括如下步骤:步骤1、数据交换平台根据运行环境来配置初始运行参数,所述运行参数包括并行线程数;步骤2、数据交换平台在运行过程中,对数据增量同步后的调度日志和数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,根据服务器的配置情况计算出推荐配置的运行参数的并发线程数阈值;步骤3、数据处理引擎根据优化后设定的并发线程数阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据数据量大小和内存大小来控制线程数量和数据块的大小,从而完成定时数据增量同步;所述并发线程数阈值计算方式如下:在CPU权重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%~100%时,并发线程数阈值=满载时并发线程数×当前任务分配的CPU所占比例;在内存权重时,即CPU充足,内存不足时:当内存满载,即当内存使用率达到70%~90%时,并发线程数阈值=满载时的并发线程数×当前任务分配的内存所占比例。...

【技术特征摘要】
1.一种定时数据增量同步方法,所述方法基于一数据交换平台实现的,其特征在于:所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;所述线程调度引擎包括内存分析单元,所述数据处理引擎包括智能处理单元;所述方法包括如下步骤:步骤1、数据交换平台根据运行环境来配置初始运行参数,所述运行参数包括并行线程数;步骤2、数据交换平台在运行过程中,对数据增量同步后的调度日志和数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,根据服务器的配置情况计算出推荐配置的运行参数的并发线程数阈值;步骤3、数据处理引擎根据优化后设定的并发线程数阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据数据量大小和内存大小来控制线程数量和数据块的大小,从而完成定时数据增量同步;所述并发线程数阈值计算方式如下:在CPU权重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%~100%时,并发线程数阈值=满载时并...

【专利技术属性】
技术研发人员:蔡剑研宋小厚赖礼袍
申请(专利权)人:南威软件股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1