一种数据同步方法和系统技术方案

技术编号:15045492 阅读:103 留言:0更新日期:2017-04-05 17:55
本申请实施例提供了一种数据同步方法和系统,以解决数据同步出现的同步失败问题。所述的方法包括:为待处理数据集的每个数据分片分别分配一个任务;启动所述任务的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步;当判断任一数据分片对应任务同步失败后,若确定失败任务支持失效转移操作,则对所述失败任务对应数据分片的处理资源进行清理;重新为所述失败任务对应数据分片分配一个任务,启动重新分配的任务的任务线程执行所述数据分片在源端和目的端的离线数据同步。直接对失败任务的数据分片重新同步,无需对整个待处理数据集进行重处理,节省资源且提高同步时间。

【技术实现步骤摘要】

本申请涉及数据处理
,特别是涉及一种数据同步方法和一种数据同步系统。
技术介绍
随着网络技术的发展,各种不同数据库或文件系统之间的交互越来越多,但是数据库和文件系统的种类很多,因此往往存在不同类型数据库/文件系统之间数据的读写。在多种不同类型数据库/文件系统之间执行数据的读写,即数据的导入、导出时,有时需要执行离线同步。而离线同步周期长,同步过程严重依赖于源端,执行途径(gateway),以及目的端等的稳定性。在同步过程中可以将一个任务分成多个任务分片进行处理,但是,若某个分片的同步失败,则会导致整个任务的失败,且其余分片的同步成果无法保留。若出现上述分片同步的失败问题,往往需要对整个任务进行重处理,浪费资源且影响操作时间。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种数据同步方法和系统,以解决上述数据同步出现的同步失败问题。
技术实现思路
本申请实施例所要解决的技术问题是提供一种数据同步方法,以解决上述数据同步出现的同步失败问题。相应的,本申请实施例还提供了一种数据同步系统,用以保证上述方法的实现及应用。为了解决上述问题,本申请公开了一种数据同步方法,包括:为待处理数据集的每个数据分片分别分配一个任务;启动所述任务的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步;当判断任一数据分片对应任务同步失败后,若确定失败任务支持失效转移操作,则对所述失败任务对应数据分片的处理资源进行清理;重新为所述失败任务对应数据分片分配一个任务,启动重新分配的任务的任务线程执行所述数据分片在源端和目的端的离线数据同步。可选的,所述确定失败的任务支持失效转移操作,包括:当判断目的端的读写特征符合失效转移条件时,确定失败任务支持失效转移操作。可选的,还包括:当所述目的端的读写特征为临时同步特征或幂等特征时,判断目的端的读写特征符合失效转移条件;其中,所述临时同步特征包括:同步过程中将同步数据写入临时区,同步完成后,通过操作指令将临时区的同步数据转移到固定存储区后同步数据生效的特征;所述幂等特征包括数据写入操作支持幂等操作。可选的,对所述失败任务对应数据分片的处理资源进行清理,包括:对所述失败任务对应任务线程进行资源释放,以及删除所述失败任务对应数据分片的统计数据。可选的,所述任务线程包括读线程和写线程;对所述失败任务对应任务线程进行资源释放,包括:清除所述读线程和写线程对应数据缓冲区内存储的同步数据;撤销所述失败的数据分片对所述读线程和写线程的占用。可选的,对所述失败任务对应数据分片的处理资源进行清理之前,还包括:任务线程停止在源端和目的端之间执行离线数据同步。可选的,还包括:当存在任一异常信息时,反馈处理失败信息,其中,所述异常信息包括:源端异常信息、目的端异常信息、网络异常信息和任务线程异常信息;依据所述处理失败信息判断所述异常情况对应任务同步失败。本申请实施例还公开了一种数据同步系统,包括:任务分配模块,用于为待处理数据集的每个数据分片分别分配一个任务;以及重新为失败任务对应数据分片分配一个任务;数据同步模块,用于启动所述任务的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步;以及启动重新分配的任务的任务线程执行所述数据分片在源端和目的端的离线数据同步;失效转移模块,用于当判断任一数据分片对应任务同步失败后,若确定失败任务支持失效转移操作,则对所述失败任务对应数据分片的处理资源进行清理;触发任务分配模块。可选的,所述失效转移模块,包括:支持转移判断子模块,用于当判断目的端的读写特征符合失效转移条件时,确定失败任务支持失效转移操作。可选的,所述支持转移判断子模块,还用于当所述目的端的读写特征为临时同步特征或幂等特征时,判断目的端的读写特征符合失效转移条件;其中,所述临时同步特征包括:同步过程中将同步数据写入临时区,同步完成后,通过操作指令将临时区的同步数据转移到固定存储区后同步数据生效的特征;所述幂等特征包括数据写入操作支持幂等操作。可选的,所述失效转移模块,包括:资源清理子模块,用于对所述失败任务对应任务线程进行资源释放,以及删除所述失败任务对应数据分片的统计数据。可选的,所述资源清理子模块,用于清除所述读线程和写线程对应数据缓冲区内存储的同步数据;撤销所述失败任务对应数据分片对所述读线程和写线程的占用。可选的,所述资源清理子模块,还用于任务线程停止在源端和目的端之间执行离线数据同步。可选的,还包括:失败确定模块,用于当存在任一异常信息时,反馈处理失败信息,其中,所述异常信息包括:源端异常信息、目的端异常信息、网络异常信息和任务线程异常信息;依据所述处理失败信息判断所述异常情况对应任务同步失败。与现有技术相比,本申请实施例包括以下优点:在本申请实施例中,为待处理数据集的每个数据分片分别分配一个task,启动所述task的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步。若在数据同步过程中判断任一数据分片对应task同步失败,确定失败task支持失效转移操作failover,即可执行task级别的failover,对所述失败task对应数据分片的处理资源进行清理,重新为所述失败task对应数据分片分配一个task,启动重新分配的task的任务线程执行所述数据分片在源端和目的端的离线数据同步。从而直接对失败task的数据分片重新同步,无需对整个待处理数据集进行重处理,节省资源且提高同步时间。附图说明图1是本申请的一种数据同步方法实施例的步骤流程图;图2是本申请的另一种数据同步方法实施例的步骤流程图;图3是本申请一种数据同步系统实施例的结构框图;图4是本申请另一种数据同步系统实施例的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。本申请实施例的核心构思之一在于,提出一种数据同步方法和系统,以解决上述数据同步出现的同步失败问题。为待处理数据集的每个数据分片分别分配一个task,启动所述task的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步。若在数据同步过程中判断任一数据分片对应task同步失败,确定失败task支持失效转移操作failover,即可执行task级别的failover,对所述失败task对应数据分片的处理资源进行清理,重新为所述失败task对应数据分片分配一个task,启动重新分配的task的任务线程执行所述数据分片在源端和目的端的离线数据同步。从而在数据分片同步失败时,执行task级别的failover,即重新对失败的数据分片进行同步,无需对整个待处理数据集进行重处理,节省资源且提高同步时间。实施例一参照图1,示出了本申请的一种数据同步方法实施例的步骤流程图,具体可以包括如下步骤:步骤102,为待处理数据集的每个数据分片分别分配一个任务。步骤104,启动所述任务的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步。在不同数据库/文件系统之间进行离线数据同步时,将要进行同步的数据集作为待处理数据集,可以设置离线数据同步的源端和目的端,将待处理数据集所在的数据库/文件系统作为源端,将待处理数据集要本文档来自技高网...

【技术保护点】
一种数据同步方法,其特征在于,包括:为待处理数据集的每个数据分片分别分配一个任务;启动所述任务的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步;当判断任一数据分片对应任务同步失败后,若确定失败任务支持失效转移操作,则对所述失败任务对应数据分片的处理资源进行清理;重新为所述失败任务对应数据分片分配一个任务,启动重新分配的任务的任务线程执行所述数据分片在源端和目的端的离线数据同步。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:为待处理数据集的每个数据分片分别分配一个任务;启动所述任务的任务线程,在源端和目的端之间执行对应数据分片的离线数据同步;当判断任一数据分片对应任务同步失败后,若确定失败任务支持失效转移操作,则对所述失败任务对应数据分片的处理资源进行清理;重新为所述失败任务对应数据分片分配一个任务,启动重新分配的任务的任务线程执行所述数据分片在源端和目的端的离线数据同步。2.根据权利要求1所述的方法,其特征在于,所述确定失败的任务支持失效转移操作,包括:当判断目的端的读写特征符合失效转移条件时,确定失败任务支持失效转移操作。3.根据权利要求2所述的方法,其特征在于,还包括:当所述目的端的读写特征为临时同步特征或幂等特征时,判断目的端的读写特征符合失效转移条件;其中,所述临时同步特征包括:同步过程中将同步数据写入临时区,同步完成后,通过操作指令将临时区的同步数据转移到固定存储区后同步数据生效的特征;所述幂等特征包括数据写入操作支持幂等操作。4.根据权利要求1所述的方法,其特征在于,对所述失败任务对应数据分片的处理资源进行清理,包括:对所述失败任务对应任务线程进行资源释放,以及删除所述失败任务对应数据分片的统计数据。5.根据权利要求4所述的方法,其特征在于,所述任务线程包括读线程和写线程;对所述失败任务对应任务线程进行资源释放,包括:清除所述读线程和写线程对应数据缓冲区内存储的同步数据;撤销所述失败任务对应数据分片对所述读线程和写线程的占用。6.根据权利要求4所述的方法,其特征在于,对所述失败任务对应数
\t据分片的处理资源进行清理之前,还包括:任务线程停止在源端和目的端之间执行离线数据同步。7.根据权利要求1所述的方法,其特征在于,还包括:当存在任一异常信息时,反馈处理失败信息,其中,所述异常信息包括:源端异常信息、目的端异常信息、网络异常信息和任务线程异常信息;依据所述处理失败信息判断所述异常情况对应任务同步失败。8.一种数据同步系统...

【专利技术属性】
技术研发人员:刘益
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1