一种数据同步方法和装置制造方法及图纸

技术编号:15051571 阅读:56 留言:0更新日期:2017-04-05 22:48
本申请实施例提供了一种数据同步方法和装置,其中的方法具体包括:将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,对所述任务的处理单元进行休眠处理。本申请实施例可以避免运行上述任务的机器出现网卡流量打满等问题,从而能够提高生产系统的稳定性。

【技术实现步骤摘要】

本申请涉及数据同步
,特别是涉及一种数据同步方法和一种数据同步装置。
技术介绍
数据同步是建立生产系统中数据源和数据目的端的数据一致性的过程。根据同步数据源类型,数据同步可被分为数据库同步、文件同步等;根据同步策略,数据同步可被分为离线同步和实时同步,其中,离线同步可以对存储系统数据抽取其快照(snapshot),其常被应用于BI(商务智能,BusinessIntelligence)分析、数据迁移等场景。现有方案往往通过同步ETL(抽取、转换、装载,ExtractTransformLoad)工具来实现上述离线同步,相应的数据同步流程具体可以包括:抽取线上数据到离线分析平台,如ODPS(开放数据处理服务,OpenDataProcessingService)、Hadoop等,在上述离线分析平台进行大数据分析和计算,完成计算后将计算结果加载至线上数据库供给前台业务使用。然而,Sqoop等现有同步ETL工具并未考虑到数据同步过程中的流量控制,这样,当多个作业(Job)在同一台机器上运行时,该台机器将会出现网卡流量打满等问题,因此影响了生产系统的稳定性。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据同步方法和相应的一种数据同步装置,可以避免运行上述任务的机器出现网卡流量打满等问题,从而能够提高生产系统的稳定性。为了解决上述问题,本申请公开了一种数据同步方法,包括:将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,对所述任务的处理单元进行休眠处理。优选的,所述任务的流量速度符合预置条件包括:所述任务的字节流量速度超出第一阈值,和/或,所述任务的记录流量速度超出第二阈值。优选的,所述对所述任务的处理单元进行休眠处理的步骤,包括:依据所述任务的流量速度、监控周期和流量速度上限,确定所述任务的处理单元的休眠时长;控制所述任务的处理单元进入维持时间为所述休眠时长的休眠状态。优选的,所述方法还包括:针对用户创建资源组;其中,所述资源组包括至少一台机器;利用所述资源组中机器的资源对所述用户的作业进行处理,其中,所述利用所述资源组中机器对所述用户的作业进行处理的步骤,包括:利用所述资源组中机器将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,利用所述资源组中机器监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,利用所述资源组中机器对所述任务的处理单元进行休眠处理。优选的,所述利用所述资源组中机器对所述用户的作业进行处理的步骤,包括:在所述用户对应资源组中机器的剩余资源超出所述用户的作业所需的资源时,利用所述资源组中机器对所述用户的作业进行处理。优选的,所述机器的资源包括:依据所述机器的物理资源抽象得到的槽位资源。优选的,所述方法还包括:当数据库存在可用的并发连接时,利用所述并发连接对所述任务进行处理;在所述任务处理完成后,释放所述任务所占用的并发连接。优选的,所述处理单元包括:读单元和写单元;所述利用所述并发连接对所述任务进行处理的步骤,包括:分别对所述作业对应的多个读单元和多个写单元进行乱序处理;从乱序处理结果中选择一个读单元和一个写单元,组成相应的任务。优选的,所述方法还包括:在当前时间处于任务对应数据库的时间窗口内时,进行所述任务的处理。优选的,所述将作业切分为多个任务的步骤,包括:根据所述作业对应数据表的列最小值和最大值,将列区间划分多个子区间;或者根据所述作业对应文件的大小和切分份数,确定所述文件的切分点位,并依据所述切分点位对所述文件进行切分。另一方面,本申请还公开了一种数据同步装置,包括:切分模块,用于将作业切分为多个任务;其中,所述任务具有对应的处理单元;监控模块,用于在所述任务的处理过程中,监控所述任务的流量速度;及休眠模块,用于在所述任务的流量速度符合预置条件时,对所述任务的处理单元进行休眠处理。优选的,所述任务的流量速度符合预置条件包括:所述任务的字节流量速度超出第一阈值,和/或,所述任务的记录流量速度超出第二阈值。优选的,所述休眠模块,包括:确定子模块,用于依据所述任务的流量速度、监控周期和流量速度上限,确定所述任务的处理单元的休眠时长;控制子模块,用于控制所述任务的处理单元进入维持时间为所述休眠时长的休眠状态。优选的,所述装置还包括:创建模块,用于针对用户创建资源组;其中,所述资源组包括至少一台机器;作业处理模块,用于利用所述资源组中机器的资源对所述用户的作业进行处理,其中,所述利用所述资源组中机器对所述用户的作业进行处理的过程,包括:利用所述资源组中机器将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,利用所述资源组中机器监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,利用所述资源组中机器对所述任务的处理单元进行休眠处理。优选的,所述作业处理模块,包括:条件处理子模块,用于在所述用户对应资源组中机器的剩余资源超出所述用户的作业所需的资源时,利用所述资源组中机器对所述用户的作业进行处理。优选的,所述机器的资源包括:依据所述机器的物理资源抽象得到的槽位资源。优选的,所述装置还包括:第一任务处理模块,用于当数据库存在可用的并发连接时,利用所述并发连接对所述任务进行处理;释放模块,用于在所述任务处理完成后,释放所述任务所占用的并发连接。优选的,所述处理单元包括:读单元和写单元;所述第一任务处理模块,包括:乱序处理子模块,用于分别对所述作业对应的多个读单元和多个写单元进行乱序处理;组合子模块,用于从乱序处理结果中选择一个读单元和一个写单元,组成相应的任务。优选的,所述装置还包括:第二任务处理子模块,用于在当前时间处于任务对应数据库的时间窗口内时,进行所述任务的处理。优选的,所述切分模块,包括:第一切分子模块,用于根据所述作业对应数据表的列最小值和最大值,将列区间划分多个子区间;或者第二切分子模块,用于根据所述作业对应文件的大小和切分份数,确定所述文件的切分点位,并依据所述切分点位对所述文件进行切分。本申请实施例包括以下优点:本申请实施例将作业切分为多个任务,其中的每个任务都可以具有对应的处理单元,由此在任务的处理过程,可以对任务的流量速度进行监控,并在所述任务的流量速度符合预置条件时,对所述任务的处理单元进行休眠处理;由于对所述任务的处理单元进行休眠处理,可使得任务的处理单元暂停对于任务的数据同步,因此可以降低运行上述任务的机器的网卡流量,避免运行上述任务的机器出现网卡流量打满等问题,从而提高生产系统的稳定性。并且,本申请实施例可以对每个任务的流量速度进行单独监控,并依据监控结果对不同任务进行有区分的流量控制,使得不同任务的流量控制相互独立,例如,对于同一作业的多个任务,有的任务的流量速度超出了阈值,故可以对其处理单元进行休眠处理,以缓解运行这些任务的机器的网卡流量、内存资源等压力,而有的任务的流量速度未超出阈值,则可以不对其处理单元进行休眠处理,因此本申请实施例可以提高流量控制的合理性。附图说明图1是本申请的一种数据同步系统的结构示意图;图本文档来自技高网...

【技术保护点】
一种数据同步方法,其特征在于,包括:将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,对所述任务的处理单元进行休眠处理。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,对所述任务的处理单元进行休眠处理。2.根据权利要求1所述的方法,其特征在于,所述任务的流量速度符合预置条件包括:所述任务的字节流量速度超出第一阈值,和/或,所述任务的记录流量速度超出第二阈值。3.根据权利要求1所述的方法,其特征在于,所述对所述任务的处理单元进行休眠处理的步骤,包括:依据所述任务的流量速度、监控周期和流量速度上限,确定所述任务的处理单元的休眠时长;控制所述任务的处理单元进入维持时间为所述休眠时长的休眠状态。4.根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:针对用户创建资源组;其中,所述资源组包括至少一台机器;利用所述资源组中机器的资源对所述用户的作业进行处理,其中,所述利用所述资源组中机器对所述用户的作业进行处理的步骤,包括:利用所述资源组中机器将作业切分为多个任务;其中,所述任务具有对应的处理单元;在所述任务的处理过程中,利用所述资源组中机器监控所述任务的流量速度;在所述任务的流量速度符合预置条件时,利用所述资源组中机器对所述任务的处理单元进行休眠处理。5.根据权利要求4所述的方法,其特征在于,所述利用所述资源组中机器对所述用户的作业进行处理的步骤,包括:在所述用户对应资源组中机器的剩余资源超出所述用户的作业所需的资源时,利用所述资源组中机器对所述用户的作业进行处理。6.根据权利要求4所述的方法,其特征在于,所述机器的资源包括:依据所述机器的物理资源抽象得到的槽位资源。7.根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:当数据库存在可用的并发连接时,利用所述并发连接对所述任务进行处理;在所述任务处理完成后,释放所述任务所占用的并发连接。8.根据权利要求7所述的方法,其特征在于,所述处理单元包括:读单元和写单元;所述利用所述并发连接对所述任务进行处理的步骤,包括:分别对所述作业对应的多个读单元和多个写单元进行乱序处理;从乱序处理结果中选择一个读单元和一个写单元,组成相应的任务。9.根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:在当前时间处于任务对应数据库的时间窗口内时,进行所述任务的处理。10.根据权利要求1至3中任一所述的方法,其特征在于,所述将作业切分为多个任务的步骤,包括:根据所述作业对应数据表的列最小值和最大值,将列区间划分多个子区间;或者根据所述作业对应文件的大小和切分份数,确定所述文件的切分点位,并依据所述切分点位对所述文件进行切分。11.一种数据同步装置,其特征在于,包括:切分模块,用于将作业切分为多个任务;其中,所述任务具有对应的处理单元...

【专利技术属性】
技术研发人员:罗海伟邓小勇陈守元刘鹏张轩丞
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1