一种数据块处理方法和设备技术

技术编号:13797148 阅读:25 留言:0更新日期:2016-10-06 17:40
本申请公开了一种数据块处理方法和设备,该方法包括:当控制服务器接收到存储服务器发送的携带有tablet数据块信息的日志时,获取所述日志中携带的tablet数据块信息;向合并服务器查询root table中的tablet数据块信息;判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息是否一致;将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总存储,若判断结果不一致,则报警。本申请实施例中,能够持续跟踪tablet数据块的变化状态,高效、精确的校验tablet数据块。

【技术实现步骤摘要】

本申请涉及通信
,特别涉及一种数据块处理方法,以及一种数据块的处理设备。
技术介绍
随着云计算逐渐变成现实,传统的数据库已经越来越难以支撑云计算下的大数据,在此背景下,分布式数据库得到了迅速发展。作为云计算系统的重要组成部分,分布式数据库越来越成熟,未来将广泛应用于各个行业中,为它们提供低成本、易扩展、高可用的数据存储方案。oceanbase作为当前主流的一种分布式数据库,与其它分布式数据库类似,oceanbase存储引擎的实现方式也是将成千上万台的普通pc服务器的磁盘联合起来进行管理,每台pc服务器中的磁盘被存储引擎划分成了一块块的存储块用于存储数据,即逻辑数据块tablet数据块。在oceanbase数据库中,一个tablet数据块只能属于oceanbase数据库中的某一张表,数据库中的一张表根据数据量的大小可以有多个tablet数据块,即oceanbase数据库中tablet数据块与表的关系是多对一的关系。作为分布式数据库存储引擎的基本存储单元,tablet数据块在pc server上的数量非常巨大,为了保证分布式数据库的高可用性,tablet数据块会有多个副本,即同一份数据会存在于多个tablet数据块上,并且随着时间的推移,数据的插入、删除、更新,以及分布式数据库系统的负载均衡的需要,tablet数据块会有分裂、迁移、合并等等十分复杂的操作,这些操作一旦失败就会带来副本的丢失或者副本间数据的不一致现象。由于大型分布式数据库系统固有
的高复杂性,如需要处理数据的一致性、系统的高可用性、分区的容错性等等巨大难题,导致很难控制tablet数据块分布合理性和正确性。因此,实时的跟踪tablet数据块的变化状态,可以精确的掌握tablet数据块在各个pc server上磁盘上的详细分布情况,从而便于我们分析tablet数据块在各个pc server上磁盘中的分布的合理性,对于tablet数据块集中分布某些pc server上或者pc sever上的特定磁盘上可以提前进行预警,从而为用户带来额外的业务价值;可以精确的掌握每张表的tablet数据块的分布位置,从而得到每张表在其生存期内tablet数据块的变化状态,为用户提供额外的业务价值;可以对分布式数据库的整个数据存储进行全方面的监控,精确定位数据段的存储位置,从而为用户带来额外的业务价值,除上述之外,实时的跟踪分布式数据库中tablet数据块的变化状态还能带来其他很多的好处。对实时得到的分布式数据库中tablet数据块进行相关校验,可以对tablet数据块中数据不一致的情况及时的进行报警,为后续的自动化或者人肉处理提供依据,防止程序bug导致的tablet数据块的错乱或丢失,将程序bug上报给分布式数据库的开发者,由他们解决该bug,从而进一步提高分布式数据库的稳定性和高可用性。当前没有现成的方法来跟踪oceanbase数据库中的tablet数据块,一般是在出现tablet数据块丢失或者tablet数据块不一致时人工到oceanbase数据库中查找root table获取到tablet数据块的数据信息来进行跟踪,现有技术由于只是在出现tablet数据块丢失或者tablet数据块不一致时通过人工从oceanbase root table系统表中获取到各个table的tablet数据块信息,而oceanbase root table中存储的各个table的tablet数据块信息只是当前最新的tablet数据块信息,即现有方式只能获取到tablet数据块的当前状态数据,无法持续的跟踪tablet数据块随时间的变换状态。现有的校验方法是通过人工遍历oceanbase的存储服务器日志获取到tablet数据块相关日志,整合这些日志的信息后与oceanbase root table系统表中对应
table的tablet数据块的相关数据进行对比来校验的,通过人工遍历oceanbase的存储服务器的日志,其缺点是效率非常低下;另外为了防止磁盘空间被日志文件大量占用,oceanbase会定期清理一定时间之前的日志,由于日志被清除,导致通过人工遍历oceanbase的存储服务器日志获取到的tablet数据块的日志数据不完整,从而可能导致校验结果不准确的情况。因此,现有技术一方面无法持续的跟踪tablet数据块随时间的变换状态,另一方面现有技术的校验具有效率非常低下、校验结果不准确的缺点。
技术实现思路
本申请实施例提供一种数据块处理方法和设备,可以实时的跟踪tablet数据块的变化状态,高效准确的校验tablet数据块信息。本申请实施例提供一种数据块的处理方法,应用于包括存储服务器、控制服务器和合并服务器的系统中,所述方法包括以下步骤:当所述控制服务器接收到所述存储服务器发送的携带有tablet数据块信息的日志时,所述控制服务器获取所述日志中携带的tablet数据块信息;所述控制服务器根据所述日志中携带的tablet数据块信息,向所述合并服务器查询相对应的根表root table中的tablet数据块信息;所述控制服务器判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息是否一致;所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总存储,并在所述判断结果为不一致时,进行报警。优选地,所述控制服务器根据所述日志中携带的tablet数据块信息,向所述合并服务器查询相对应的root table中的tablet数据块信息,具体包括:所述控制服务器确定所述日志中携带的tablet数据块信息所对应的表名;所述控制服务器向所述合并服务器查询所述表名所对应的root table中的tablet数据块信息。优选地,所述控制服务器判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息是否一致,具体包括:所述控制服务器校验所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息所对应的以下一项或多项信息是否一致:表名、边界、位置分布、数据校验码、索引等信息、创建时间、大小;当所述校验结果中的任一项不一致时,所述控制服务器判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息不一致。优选地,其特征在于,所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总存储,具体包括:所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总;所述控制服务器以tablet数据块对应的表名作为key值,将汇总后的tablet数据块信息持久化保存到磁盘上。本申请实施例提供一种数据块处理方法,应用于包括存储服务器、控制服务器和合并服务器的系统中,所述方法包括以下步骤:所述存储服务器轮询自身的日志;当所述存储服务器确定所述日志出现新的数据信息时,识别所述新的数据信息是否为tablet数据块信息;如果是,所述存储服务器将携带有所述tablet数据块信息的本文档来自技高网
...

【技术保护点】
一种数据块处理方法,其特征在于,应用于包括存储服务器、控制服务器和合并服务器的系统中,所述方法包括以下步骤:当所述控制服务器接收到所述存储服务器发送的携带有逻辑数据块tablet数据块信息的日志时,所述控制服务器获取所述日志中携带的tablet数据块信息;所述控制服务器根据所述日志中携带的tablet数据块信息,向所述合并服务器查询相对应的根表root table中的tablet数据块信息;所述控制服务器判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息是否一致;所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总存储,并在所述判断结果为不一致时,进行报警。

【技术特征摘要】
1.一种数据块处理方法,其特征在于,应用于包括存储服务器、控制服务器和合并服务器的系统中,所述方法包括以下步骤:当所述控制服务器接收到所述存储服务器发送的携带有逻辑数据块tablet数据块信息的日志时,所述控制服务器获取所述日志中携带的tablet数据块信息;所述控制服务器根据所述日志中携带的tablet数据块信息,向所述合并服务器查询相对应的根表root table中的tablet数据块信息;所述控制服务器判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息是否一致;所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总存储,并在所述判断结果为不一致时,进行报警。2.如权利要求1所述的方法,其特征在于,所述控制服务器根据所述日志中携带的tablet数据块信息,向所述合并服务器查询相对应的root table中的tablet数据块信息,具体包括:所述控制服务器确定所述日志中携带的tablet数据块信息所对应的表名;所述控制服务器向所述合并服务器查询所述表名所对应的root table中的tablet数据块信息。3.如权利要求1所述的方法,其特征在于,所述控制服务器判断所述日志中携带的tablet数据块信息与所述root table中的tablet数据块信息是否一致,具体包括:所述控制服务器校验所述日志中携带的tablet数据块与所述root table中的tablet数据块所对应的以下一项或多项信息是否一致:表名、边界、位置分布、数据校验码、索引等信息、创建时间、大小;当所述校验结果中的任一项不一致时,所述控制服务器判断所述日志中
\t携带的tablet数据块信息与所述root table中的tablet数据块信息不一致。4.如权利要求1所述的方法,其特征在于,所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总存储,具体包括:所述控制服务器将所述日志中携带的tablet数据块信息和所述root table中的tablet数据块信息进行汇总;所述控制服务器以tablet数据块对应的表名作为key值,将汇总后的tablet数据块信息持久化保存到磁盘上。5.一种控制服务器,其特征在于,应用于包括存储服务器、控制服务器和合并服务器的系统中,所述控制服务器包括:接收模块,用于接收所述存储服务器发送的携带有tablet数据块信息的日志;获取模块,用于在所述接收模块接收到所述存储服务器发送的携带有tablet数据块信息的日志时,获取所述日志中携带的tablet数据块信息;查询模块,用于根据所述获取模块所获取到的所述日志中携带的tablet数据块信息,向所述合并服务器查询相对应的root table中的tablet...

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

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

1