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

文档序号:6543955阅读:559来源:国知局
一种定时数据增量同步的方法
【专利摘要】本发明提供一种定时数据增量同步的方法,本发明是一种基于时间戳增量抽取的技术,主要包括线程调度引擎和数据处理引擎,将业务系统中的变化数据按一定的频率准确地捕获到,并且通过查询数据总记录数,分析增量区间数据量大小,计算系统的可用内存,估计优化同步时的预计使用内存,合理分配数据同步内存。本发明能够很好地避免增量数据过大时导致内存溢出,降低数据增量同步时对业务系统造成的压力,从而确保在进行数据增量时现有业务也可以正常运行。
【专利说明】一种定时数据增量同步的方法
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种定时数据增量同步方法。
【背景技术】
[0002]现有数据交换平台包括数据的抽取、转换、同步。其中数据抽取的方式主要以时间戳的方式,即增量抽取时,抽取进程通过比较系统时间与抽取源表的时间戳字段的值来决定抽取哪些数据。这种方式需要在源表上增加一个时间戳字段,系统中更新修改表数据时,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据,有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值,有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手动更新时间戳字段。在数据定时增量同步时,特别是在处理大量数据记录,并每条记录的数据量有大的增量同步时,导致的内存溢出,影响业务系统正常运行。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种定时数据增量同步方法,充分发挥服务器的性能,避免内存溢出,保证数据稳定、同步以及业务系统的正常运行。
[0004]本发明是这样实现的:一种定时数据增量同步方法,所述方法是基于时间戳增量抽取技术实现的,包括一个数据交换平台,所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;所述线程调度引擎包括内存分析单元;所述数据处理弓I擎包括智能处理单元。
[0005]本发明具体包括如下步骤:
[0006]步骤1、数据交换平台根据运行环境来配置初始运行参数,以确保数据增量同步的正常运行,所述运行参数包括并行线程数;
[0007]步骤2、数据交换平台在运行过程中,对数据增量同步后的调度日志和数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,根据服务器的配置情况计算出推荐配置的运行参数的并发线程数阈值;
[0008]步骤3、数据处理引擎根据优化后设定的并发线程数阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据数据量大小和内存大小来控制线程数量和数据块的大小,从而完成定时数据增量同步。
[0009]进一步的,所述并发线程数阈值计算方式如下:
[0010]在CPU权重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%?100%时,并发线程数阈值=满载时并发线程数X当前任务分配的CPU所占比例;
[0011]在内存权重时,即CPU充足,内存不足时:当内存满载,即当内存使用率达到70%?90%时,并发线程数阈值=满载时的并发线程数X当前任务分配的内存所占比例;
[0012]进一步的,所述步骤3的多任务多线程并发执行中,若数据交换平台只是负责数据记录数大的增量同步,则通过增加并发的线程数来提升同步的效率;若数据交换平台负责的是记录数据大的增量同步,则通过减少并发的线程,保证服务器内存不会因为过分提高性能而溢出;
[0013]进一步的,所述线程调度引擎还包括一线程调度单元;所述线程调度单元在CPU或内存达到瓶颈时,系统将后续的任务转移到队列中进行等待处理,当前任务结束后才进行后续任务的执行;
[0014]进一步的,所述数据处理引擎具体包括:
[0015]记录数分析单元,负责统计分析当CPU满载时,单位时间内并发处理的数据记录总数,确保单位时间内并发处理的数据记录达到满载时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短信;[0016]数据量分析单元,负责统计分析当内存达到80%~90%时,单位时间内并发处理数据记录总数,确保当单位时间内并发处理的数据记录数达到80%~90%时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短?目;
[0017]智能处理单元,根据数据交换平台的应用情况,通过配置并发记录数和大数据的字段,进行线程处理及数据处理。
[0018]本发明具有如下优点:本发明由智能处理单元根据设定的阈值以及线程数量将数据拆分成等块大小的数据块,使系统在多任务多线程并发执行时,能根据数据量大小和内存大小来控制线程数量和数据块的大小,很好地避免增量数据过大时导致的内存溢出问题,降低数据增量同步时对业务系统造成的压力,从而确保在进行数据增量时现有业务的正常运行。
【专利附图】

【附图说明】
[0019]下面参照附图结合实施例对本发明作进一步的说明。
[0020]图1为本发明逻辑结构图。
【具体实施方式】
[0021]如图1所示,为本发明一种定时数据增量同步方法,所述方法是基于时间戳增量抽取技术实现的,包括一个数据交换平台,所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;
[0022]所述线程调度引擎包括内存分析单元和线程调度单元:
[0023]内存分析单元用于对记录占用的内存进行分析计算;
[0024]线程调度单元在CPU或内存达到瓶颈时,系统将后续的任务转移到队列中进行等待处理,当前任务结束后才进行后续任务的执行;
[0025]所述数据处理引擎包括记录数分析单元、数据量分析单元和智能处理单元:
[0026]记录数分析单元,负责统计分析当CPU满载时,单位时间内并发处理的数据记录总数,确保单位时间内并发处理的数据记录达到满载时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短信;
[0027]数据量分析单元,负责统计分析当内存达到80%~90%时,单位时间内并发处理数据记录总数,确保当单位时间内并发处理的数据记录数达到80%~90%时,系统通知管理员对任务进行优化或由线程调度引擎对后续任务进行队列等待处理,通知方式包括邮件或短?目;
[0028]智能处理单元,根据数据交换平台的应用情况,通过配置并发记录数和大数据的字段,进行线程处理及数据处理。
[0029]本发明具体包括如下步骤:
[0030]步骤1、根据对运行环境的初步评估配置标准的运行参数(如内存大小、并发线程数等),确保数据增量同步的正常运行;
[0031]步骤2、通过运行一段时间(如一周时间或更长,该时间主要是根据实际的业务需求来判定),对数据增量同步后的调度日志、数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,再根据服务器的实际配置情况(如:CPU、内存、硬盘等)计算出推荐配置的运行参数的并发线程数阈值,该阈值的计算方式如下:
[0032]当CPU权 重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%~100%时,并发线程数阈值=满载时并发线程数X当前任务分配的CPU所占比例;
[0033]当内存权重时,即CPU充足,内存不足时:当内存满载,即当内存使用率达到70%~90%时,并发线程数阈值=满载时的并发线程数X当前任务分配的内存所占比例;
[0034]步骤3、弓丨擎能够根据优化后设定的阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据实际的数据量大小和内存大小来控制线程数量和数据块的大小,这样数据交换平台就能够根据配置的阈值,尽可能大的利用服务器的资源;
[0035]进一步的,所述步骤3的多任务多线程并发执行中,若数据交换平台只是负责数据记录数大的增量同步,则通过增加并发的线程数来提升同步的效率;若数据交换平台负责的是记录数据大的增量同步,则通过减少并发的线程,保证服务器内存不会因为过分提高性能而溢出。
[0036]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种定时数据增量同步方法,所述方法基于一数据交换平台实现的,其特征在于:所述数据交换平台包括线程调度引擎和数据处理引擎,线程调度引擎通过分析线程内存、线程的最大数量来管理并发的线程,数据处理引擎通过分析业务数据记录数、记录数据大小来分配每次执行的数据记录数;所述线程调度引擎包括内存分析单元,所述数据处理引擎包括智能处理单元; 所述方法包括如下步骤: 步骤1、数据交换平台根据运行环境来配置初始运行参数,所述运行参数包括并行线程数; 步骤2、数据交换平台在运行过程中,对数据增量同步后的调度日志和数据日志进行性能优化分析,并通过线程调度引擎中的内存分析单元对数据记录数量和每条记录占用的系统内存大小进行分析,根据服务器的配置情况计算出推荐配置的运行参数的并发线程数阈值; 步骤3、数据处理引擎根据优化后设定的并发线程数阈值以及线程数量对数据进行拆分,将数据拆分成等块大小的数据块,且每块数据大小占用内存一样,在多任务多线程并发执行时,将根据数据量大小和内存大小来控制线程数量和数据块的大小,从而完成定时数据增量同步。
2.根据权利要求1所述的一种定时数据增量同步方法,其特征在于:所述并发线程数阈值计算方式如下: 在CPU权重时,即内存充足,CPU不足时:当CPU正常满载,即当CPU达到80%?100%时,并发线程数阈值=满载时并发线程数X当前任务分配的CPU所占比例; 在内存权重时,即CPU充足,内存不足时:当内存满载,即当内存使用率达到70%?90%时,并发线程数阈值=满载时的并发线程数X当前任务分配的内存所占比例。
3.根据权利要求1所述的一种定时数据增量同步方法,其特征在于:所述步骤3中,在多任务多线程并发执行中,若数据交换平台只是负责数据记录数大的增量同步,则通过增加并发的线程数来提升同步的效率;若数据交换平台负责的是记录数据大的增量同步,则通过减少并发的线程,保证服务器内存不会因为过分提高性能而溢出。
4.根据权利要求1所述的一种定时数据增量同步方法,其特征在于:所述线程调度引擎还包括一线程调度单元;所述线程调度单元在CPU或内存达到瓶颈时,系统将后续的任务转移到队列中进行等待处理,当前任务结束后才进行后续任务的执行。
5.根据权利要求1所述的一种定时数据增量同步方法,其特征在于:所述数据处理引擎具体包括: 记录数分析单元,负责统计分析当CPU满载时,单位时间内并发处理的数据记录总数; 数据量分析单元,负责统计分析当内存达到80%?90%时,单位时间内并发处理数据记录总数; 智能处理单元,根据数据交换平台的应用情况,通过配置并发记录数和大数据的字段,进行线程处理及数据处理。
【文档编号】G06F9/46GK103955491SQ201410151907
【公开日】2014年7月30日 申请日期:2014年4月15日 优先权日:2014年4月15日
【发明者】蔡剑研, 宋小厚, 赖礼袍 申请人:南威软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1