[发明专利]对分布式数据库的数据进行实时验证的方法及其系统有效
申请号: | 201410707466.5 | 申请日: | 2014-11-27 |
公开(公告)号: | CN105630850B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 王小勇;陈睿 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 上海一平知识产权代理有限公司 31266 | 代理人: | 须一平;成春荣 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 数据 进行 实时 验证 方法 及其 系统 | ||
本发明涉及通信领域,公开了一种对分布式数据库的数据进行实时验证的方法及其系统。本发明中,分布式数据库的数据分布在N个数据节点中,该方法包括以下步骤:对分布式数据库进行操作后,如果该操作使N个数据节点中的数据发生变化,则数据库增量复制平台获取发生变化的数据并将其同步到独立于N个数据节点的验证数据库;对验证数据库进行查询,验证对分布式数据库进行的操作是否得到了正确结果。本发明中,增加了一个验证数据库,并利用分布式数据库增量复制平台将分布式数据库中的更新数据同步到验证数据库中,当数据节点个数发生变化或者使数据分布在不同数据节点的算法发生了调整,也不会影响到验证的逻辑,更不会对线上环境产生损害。
技术领域
本发明涉及通信领域,特别涉及分布式数据库数据验证技术。
背景技术
随着云计算的发展,分布式数据库系统应用越来越普遍。在分布式数据库的应用场景当中,如何验证分布式数据库系统,特别是正在提供服务的系统的数据正确性,具有重要的现实意义。
常见实现方案是这样的:
在分布式数据库当中,同一张逻辑表的记录,根据主键进行hash分布,会被分布在多个数据节点当中。当需要验证分布式数据库系统的数据正确性时,通常会有以下两个方案:
1.对各个数据库节点逐一进行查询,并进行汇总,最终形成逻辑表的汇总数据,从而完成数据的校验工作。
2.通过与应用使用相同的分布式数据库系统的接口,对数据库进行查询,从而验证应用对数据库进行的各种数据操作是否得到了正确结果。
具体地,设想以下场景:一张逻辑表TABLE1根据主键hash被分布在了10个数据节点当中,分别是NODE1,NODE2……NODE10。现在需要验证分布式数据库系统正确地处理了应用的各种更新和插入请求。
传统的方案一:
当需要验证逻辑表TABLE1的数据在10个数据节点当中是否完整时,用户需要两个信息,第一个是一共有哪几个数据节点,第二个是采用什么hash算法。然后用户根据主键的分布,逐一去遍历数据节点,并且进行汇总,最终合并出一张逻辑表,在这张逻辑表当中验证是否和用户所期望的数据一致。
以上方案一存在如下几个问题:
1.数据节点如果由10个变成1000个,验证工作会随着分布式数据库的数据节点数量的增加,复杂度相应增加;
2.如果数据节点是同时为线上提供服务的话,验证工作对线上环境是有损害的;
3.主键在数据库中的分布规则(hash算法)变化时,验证工作也需要跟着变化。
传统的方案二:
通过与应用使用相同的接口,验证程序对分布式数据库系统进行查询,确认查询得到的结果是否与预期一致,从而验证数据的正确性。
以上方案二存在如下几个问题:
1.使用与应用相同的接口,会影响分布式数据库系统的性能,验证工作对线上环境也是有损害的。
2.应用和验证使用的是同一接口,且分布式数据库不支持特定的验证方式,对正确性的验证不够充分。
发明内容
本发明的目的在于提供一种对分布式数据库的数据进行实时验证的方法及其系统,当数据节点个数发生变化或者使数据分布在不同数据节点的算法发生了调整,也不会影响到验证的逻辑,更不会对线上环境产生损害。
为解决上述技术问题,本发明的实施方式公开了一种对分布式数据库的数据进行实时验证的方法,分布式数据库的数据分布在N个数据节点中,该方法包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410707466.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置