争抢式的数据复制方法

文档序号:9750886阅读:252来源:国知局
争抢式的数据复制方法
【技术领域】
[0001]本发明涉及数据的复制更新,尤其是涉及一种争抢式的数据复制方法。
【背景技术】
[0002]近几年互联网公司的快速发展,各个大公司都采用事业部制的管理方式来提升公司效率和应对行业竞争,但像用户订单等数据需要整体的存储和展示,这就需要将各事业部的不同数据格式的订单数据,复制到整个订单数据中心来存储和展示。
[0003]然而,现有技术中的数据库的数据复制方式,通常是通过监听数据库日记的变化由单个同步应用以单一应用循环式的方式进行复制,并且需要源数据和目标数据结构相同,存在着同步延时高、需要人工处理、针对多种类型的同步需求时的同步效率低下的缺陷。

【发明内容】

[0004]本发明要解决的技术问题是为了克服现有技术中的数据复制方法存在着同步延时高、需要人工处理、同步效率低下,以及在个别复制服务和数据出现故障的情况下难以继续数据复制的缺陷,提供一种争抢式的数据复制方法。
[0005]本发明是通过下述技术方案来解决上述技术问题的:
[0006]—种争抢式的数据复制方法,其特点在于,包括以下步骤:
[0007]步骤一、第一同步应用从一争抢器获取当前争执信息,当前争执信息包括当前已获得任务资格的同步应用的ID以及获得任务资格的时间和当前已经完成复制的数据时间戳;
[0008]步骤二、第一同步应用根据获取的当前争执信息进行如下判断,若无其他同步应用获得任务资格,则第一同步应用向该争抢器发出任务资格请求,若已有其它同步应用获得任务资格,则第一同步应用计算当前时间与其他同步应用获得任务资格的时间的差值是否超出第一时长,待超出后第一同步应用向该争抢器发出任务资格请求;
[0009]步骤三、该争抢器响应第一同步应用的任务资格请求,若有其他同步应用的任务资格请求优先于第一同步应用的任务资格请求,则拒绝第一同步应用的任务资格请求并跳转至步骤一,否则给予第一同步应用任务资格并跳转至步骤四;
[0010]步骤四、第一同步应用从该争抢器所对应的数据库中将数据时间戳起预设时间段的数据复制到目标数据库。
[0011]步骤五、第一同步应用在完成数据复制的任务后,向该争抢器提交任务的完成状态及复制数据的时间戳,该争抢器将争执信息更新为无应用获得资格的状态及完成复制数据的时间戳。
[0012]较佳地,步骤四中的数据复制过程的时长被限制在第一时长内。
[0013]较佳地,该争抢器所对应的数据库和目标数据库为异构数据库。
[0014]较佳地,该争抢器所对应的数据库中有时间戳的字段。
[0015]较佳地,该争抢器所对应的数据库为SQLServer,目标数据库为Mysql。
[0016]较佳地,第一时长的取值范围为5-60秒。
[0017]较佳地,该预设时间段的取值范围为1-10秒。
[0018]在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
[0019]本发明的积极进步效果在于:
[0020]本发明提供了一种争抢式的数据复制方法,不仅适于多应用的异构数据的复制,并且在出现故障例如个别异构数据复制应用所在机器死机、应用异常、数据异常的情况下,仍能确保数据复制的功能继续正常的进行,大大提高了数据同步的效率和可靠性。
【附图说明】
[0021]图1为本发明一较佳实施例的争抢式的数据复制方法的流程图。
【具体实施方式】
[0022]下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
[0023]参考图1所示,本发明一较佳实施例的争抢式的数据复制方法,包括以下步骤:
[0024]步骤一、第一同步应用从一争抢器获取当前争执信息,当前争执信息包括当前已获得任务资格的同步应用的ID以及获得任务资格的时间和当前已经完成复制的数据时间戳;
[0025]步骤二、第一同步应用根据获取的当前争执信息进行如下判断,若无其他同步应用获得任务资格,则第一同步应用向该争抢器发出任务资格请求,若已有其它同步应用获得任务资格,则第一同步应用计算当前时间与其他同步应用获得任务资格的时间的差值是否超出第一时长,待超出后第一同步应用向该争抢器发出任务资格请求;
[0026]步骤三、该争抢器响应第一同步应用的任务资格请求,若有其他同步应用的任务资格请求优先于第一同步应用的任务资格请求,则拒绝第一同步应用的任务资格请求并跳转至步骤一,否则给予第一同步应用任务资格并跳转至步骤四;
[0027]步骤四、第一同步应用从该争抢器所对应的数据库中将数据时间戳起预设时间段的数据复制到目标数据库。
[0028]步骤五、第一同步应用在完成数据复制的任务后,向该争抢器提交任务的完成状态及复制数据的时间戳,该争抢器将争执信息更新为无应用获得资格的状态及完成复制数据的时间戳。
[0029]本实施例中,该争抢器所对应的数据库(即源数据库)为SQLServer ,SQLServer中有时间戳的字段,目标数据库为Mysql。并且,步骤四中的数据复制过程的时长被限制在20秒内,该预设时间段为5秒。
[0030]虽然以上描述了本发明的【具体实施方式】,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
【主权项】
1.一种争抢式的数据复制方法,其特征在于,包括以下步骤: 步骤一、第一同步应用从一争抢器获取当前争执信息,当前争执信息包括当前已获得任务资格的同步应用的ID以及获得任务资格的时间和当前已经完成复制的数据时间戳; 步骤二、第一同步应用根据获取的当前争执信息进行如下判断,若无其他同步应用获得任务资格,则第一同步应用向该争抢器发出任务资格请求,若已有其它同步应用获得任务资格,则第一同步应用计算当前时间与其他同步应用获得任务资格的时间的差值是否超出第一时长,待超出后第一同步应用向该争抢器发出任务资格请求; 步骤三、该争抢器响应第一同步应用的任务资格请求,若有其他同步应用的任务资格请求优先于第一同步应用的任务资格请求,则拒绝第一同步应用的任务资格请求并跳转至步骤一,否则给予第一同步应用任务资格并跳转至步骤四; 步骤四、第一同步应用从该争抢器所对应的数据库中将数据时间戳起预设时间段的数据复制到目标数据库; 步骤五、第一同步应用在完成数据复制的任务后,向该争抢器提交任务的完成状态及复制数据的时间戳,该争抢器将争执信息更新为无应用获得资格的状态及完成复制数据的时间戳。2.如权利要求1所述的数据复制方法,其特征在于,步骤四中的数据复制过程的时长被限制在第一时长内。3.如权利要求1中任意一项所述的数据复制方法,其特征在于,该争抢器所对应的数据库和目标数据库为异构数据库。4.如权利要求3所述的数据复制方法,其特征在于,该争抢器所对应的数据库中有时间戳的字段。5.如权利要求4所述的数据复制方法,其特征在于,该争抢器所对应的数据库为SQLServer,目标数据库为Mysql。6.如权利要求2所述的数据复制方法,其特征在于,第一时长的取值范围为5-60秒。7.如权利要求1所述的数据复制方法,其特征在于,该预设时间段的取值范围为1-10秒。
【专利摘要】本发明公开了一种争抢式的数据复制方法。该数据复制方法包括以下步骤:第一同步应用从一争抢器获取当前争执信息;第一同步应用根据获取的当前争执信息进行判断,以及向争抢器发出任务资格请求;争抢器响应任务资格请求,若有其他同步应用的任务资格更优先则拒绝第一同步应用的任务资格请求,否则给予第一同步应用任务资格;第一同步应用从该争抢器所对应的数据库中将数据时间戳起预设时间段的数据复制到目标数据库;第一同步应用在完成数据复制的任务后,向该争抢器提交任务的完成状态及复制数据的时间戳,该争抢器更新信息。本发明能更好地保证数据复制的正常进行,而不会受部分应用或设备的异常或故障的影响,提高了数据同步的效率和可靠性。
【IPC分类】G06F17/30
【公开号】CN105512207
【申请号】CN201510848626
【发明人】莫启钧, 孟黎明, 董平, 冯毅, 季毅华, 邓怡俊
【申请人】上海携程商务有限公司
【公开日】2016年4月20日
【申请日】2015年11月27日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1