[发明专利]冲突检测方法和装置以及电子设备有效
申请号: | 201810989643.1 | 申请日: | 2018-08-28 |
公开(公告)号: | CN110865897B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 耿倞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F16/27 |
代理公司: | 广州铸智知识产权代理有限公司 44886 | 代理人: | 徐瑞红 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 冲突 检测 方法 装置 以及 电子设备 | ||
本发明实施例提供了一种冲突检测方法和装置以及电子设备。该方法包括:读取进行同步操作的两个实例之间的对向同步通道中的数据,所述对向同步通道为两个对向传输数据的同步通道;对所述对向同步通道所针对的写操作命令进行比对,当所述对向同步通道中存在针对同一目标数据的写操作命令时,确定两个所述实例之间存在数据冲突。本发明实施例通过判断实例之间的对向同步通道中是否存在针对同一目标数据的写操作命令,以在数据同步的同时,实现对数据冲突的实时检测,同时减少对数据进行全量校验,以避免出现服务阻塞,提高了用户体验。
技术领域
本发明涉及数据同步技术领域,尤其涉及一种冲突检测方法和装置以及电子设备。
背景技术
异地多活是指存在至少两个可以同时对外服务的节点,如果任意一个点故障,则可以迅速地切换到其他节点,并由其他节点继续对外服务,因此,各节点之间需要保持数据一致。
在基于Redis数据库的异地多活架构中,需要在多个Redis数据库中的实例之间进行数据同步,而Redis并没有提供及时检测数据冲突的机制。针对Redis实例中数据不一致的情况,现有技术通常采用全量数据校验的方式进行冲突检测。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:全量数据校验的方式,只能定期进行,无法做到实时检测;并且,当存在大key(某个Key中存储的value很大)的情况下,可能会造成服务阻塞。
发明内容
本发明实施例提供一种冲突检测方法和装置以及电子设备,以解决现有技术中,全量数据校验无法实时进行,且可能造成服务阻塞的缺陷,提高用户体验。
为达到上述目的,本发明实施例提供了一种冲突检测方法,包括:
读取进行同步操作的两个实例之间的对向同步通道中的数据,所述对向同步通道为两个对向传输数据的同步通道;
对所述对向同步通道所针对的写操作命令进行比对,当所述对向同步通道中存在针对同一目标数据的写操作命令时,确定两个所述实例之间存在数据冲突。
本发明实施例还提供了一种冲突检测装置,包括:
数据读取模块,用于读取进行同步操作的两个实例之间的对向同步通道中的数据,所述对向同步通道为两个对向传输数据的同步通道;
第一冲突检测模块,用于对所述对向同步通道所针对的写操作命令进行比对,当所述对向同步通道中存在针对同一目标数据的写操作命令时,确定两个所述实例之间存在数据冲突。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
读取进行同步操作的两个实例之间的对向同步通道中的数据,所述对向同步通道为两个对向传输数据的同步通道;
对所述对向同步通道所针对的写操作命令进行比对,当所述对向同步通道中存在针对同一目标数据的写操作命令时,确定两个所述实例之间存在数据冲突。
本发明实施例提供的冲突检测方法和装置以及电子设备,通过判断实例之间的对向同步通道中是否存在针对同一目标数据的写操作命令,以在数据同步的同时,实现对数据冲突的实时检测,同时减少对数据进行全量校验,以避免出现服务阻塞,提高了用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810989643.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:云服务的智能操作方法和装置以及电子设备
- 下一篇:一种数据传输方法和装置