[发明专利]一种关系型数据库数据同步冲突解决方法有效
申请号: | 201911245949.7 | 申请日: | 2019-12-07 |
公开(公告)号: | CN111090648B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 鲍杰;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/242;G06F16/27;G06F16/28 |
代理公司: | 杭州赛科专利代理事务所(普通合伙) 33230 | 代理人: | 郭薇;冯年群 |
地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关系 数据库 数据 同步 冲突 解决方法 | ||
本发明涉及一种关系型数据库数据同步冲突解决方法,通过构建传输数据表,对数据进行等幂性处理,当产生同步数据的请求时,接收方标记来源方和来源方ID,并以此为组合从接收方的数据库中进行查询,能查询到对应的数据则进行数据同步,否则根据策略进行数据的新增或丢弃。本发明借助数据标识字段标识数据的来源,并以来源方对应的主键信息识别需要同步的数据是否为已有数据,接收同步数据时,则根据细粒度配置的策略决策数据的增、删、改,解决了数据库数据同步中保持等幂性困难的问题,并解决了由数据库或业务唯一约束造成的数据冲突问题。
技术领域
本发明涉及数字信息的传输,例如电报通信的技术领域,特别涉及一种关系型数据库数据同步冲突解决方法。
背景技术
数据同步意为同时执行同样的操作,其将对象定位为数据,大多数时候对其的理解为不同存储设备或终端与终端、终端与服务器之间的备份操作,是将一方数据发送给另一方并持久化的过程。
由于数据彼此之间存在关联,以及数据本身携带业务属性和数据库本身的一些约束,在数据同步中为保证数据同步的等幂性,识别数据非常重要,如果不能正确识别将造成数据异常。为了保证数据的等幂性和数据业务的可用,一般需要对同步来源方的数据进行数据识别和入库决策,而当来源方的数据需要入库时,当出现数据库约束或业务约束时,还将造成数据冲突、无法写入,此时需要根据策略对数据细粒度的进行处理。
现有技术中,常用的同步软件框架包括Sync Services for ADO.NET,开发人员使用此框架,并在此基础上开发数据同步和冲突解决方案,根据ApplyChangeFailed事件来相应地解决冲突和错误,如果在同步期间无法应用某行,则会引发ApplyChangeFailed事件,DbApplyChangeFailedEventArgs对象提供有关导致失败的错误或冲突的信息,在事件处理程序中,可以用多种方式来响应事件,包括:
1、Continue:忽略冲突并继续执行同步;
2、RetryApplyingRow和RetryNextSync:重新尝试应用该行;如果没有通过变更存在冲突的行之一(或二者)来解决导致冲突的原因,则重试操作将失败,并将再次引发该事件;
3、RetryWithForceWrite:重新尝试逻辑以强制应用变更;@sync_force_write参数并在将变更应用于远程数据库的命令中添加支持,例如,对于某个LocalUpdateRemoteUpdate冲突,可以在@sync_force_write设置为1时强制选择从本地提供程序进行的变更。
现有技术中,Sync Services for ADO.NET存在的缺点包括:
(1)Sync Services for ADO.NET是一个框架,需要开发人员在此框架上根据本身业务进行开发,将冲突解决功能耦合在业务代码上;
(2)Sync Services for ADO.NET只能处理数据库约束的冲突,如主键冲突、unique冲突;
(3)Sync Services for ADO.NET是.NET框架,存在开发语言的限制。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的关系型数据库数据同步冲突解决方法。
本发明所采用的技术方案是,一种关系型数据库数据同步冲突解决方法,所述方法包括以下步骤:
步骤1:构建传输数据表,对任一数据进行等幂性处理;
步骤2:当产生同步数据的请求,则进行下一步;
步骤3:接收方标记来源方和来源方ID,以来源方和来源方ID的组合从接收方的数据库中进行查询;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911245949.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置