一种索引校对方法和装置制造方法及图纸

技术编号:22055426 阅读:25 留言:0更新日期:2019-09-07 15:18
本发明专利技术实施例公开了一种索引校对方法和装置,属于数据存储领域。所述方法包括:分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,其中,所述原始表包含每条记录对应的时间戳,所述索引表包含每个索引表项对应的时间戳;对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项;根据所述目标索引表项,对所述索引表执行所述校正处理。采用本发明专利技术,可以防止检索失败。

An Index Calibration Method and Device

【技术实现步骤摘要】
一种索引校对方法和装置
本专利技术涉及数据存储领域,特别涉及一种索引校对方法和装置。
技术介绍
在数据存储领域,人们越来越看重数据的检索效率。为提高数据的检索效率,在建立原始表时,服务器往往会建立有用于检索原始表的索引表,其中,索引表可以记录有某字段与原始表中的唯一键值的对应关系。具体的,当向原始表增加某条记录时,相应的,可以在索引表中增加该条记录对应的索引表项。当原始表中的某条记录发生变化时,服务器可以相应的修改索引表中对应该记录的索引表项。然而,原始表或索引表写失败或存储原始表或索引表的文件损坏等异常情况可能会导致原始表中的记录与索引表中的数据不是一一对应的,比如原始表中的某条记录发生变化,而对应的索引表未进行相应改变,此种情况下,当服务器通过该索引表来检索原始表中的变化后的数据时,即不能成功检索到该条记录,从而,导致检索失败。
技术实现思路
为了解决相关技术中存在的检索失败的问题,本专利技术实施例提供了一种索引校对方法和装置。所述技术方案如下:第一方面,提供了一种索引校对方法,所述方法包括:分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,其中,所述原始表包含每条记录对应的时间戳,所述索引表包含每个索引表项对应的时间戳;对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项;根据所述目标索引表项,对所述索引表执行所述校正处理。可选的,所述校正处理包括以下处理中的一种或多种:增添处理、删除处理、修改处理。可选的,所述索引表为所述原始表中的第一字段对应的索引表,所述索引表中的每个索引表项包含对应记录的唯一键值;所述对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项,包括:对于每个唯一键值,如果所述多条记录中存在所述唯一键值对应的第一字段值,且多个索引表项中不存在所述唯一键值对应的第一字段值,则将所述唯一键值和所述多条记录中所述唯一键值对应的第一字段值确定为待执行增添处理的目标索引表项;如果所述多条记录中不存在所述唯一键值对应的第一字段值,且所述多个索引表项中存在所述唯一键值对应的第一字段值,则将所述多个索引表项中所述唯一键值对应的索引表项,确定为待执行删除处理的目标索引表项;如果所述多条记录中存在的所述唯一键值对应的第一字段值,与所述多个索引表项中存在的所述唯一键值对应的第一字段值不一致,则将所述唯一键值和所述多条记录中所述唯一键值对应的第一字段值,确定为待执行修改处理的目标索引表项。可选的,所述分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,包括:每经过预设的校对周期,分别在原始表中和索引表中,获取对应的时间戳在当前校对周期内的多条记录和多个索引表项。可选的,所述分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,包括:获取原始表中对应的时间戳在预设时间范围内的多条记录的数据量;根据多个校对节点中的每个校对节点对应的数据量阈值和获取到的数据量,将预设时间范围划分为至少一个目标子时间范围;将所述至少一个目标子时间范围发送至不同的校对节点,以便每个校对节点在原始表中和索引表中,获取对应的时间戳在对应的目标子时间范围内的多条记录和多个索引表项;所述对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项,包括:通过每个校对节点对所述校对节点获取到的对应的时间戳在对应的目标子时间范围内的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项。可选的,所述根据多个校对节点中的每个校对节点对应的数据量阈值和获取到的数据量,将预设时间范围划分为至少一个目标子时间范围,包括:确定获取到的数据量除以每个校对节点对应的数据量阈值的商n;如果n大于1,将所述预设事件范围划分为N+1个子时间范围,其中,N为n的整数部分;对于所述N+1个子时间范围中的每个子时间范围,获取所述原始表中对应的时间戳在所述子时间范围内的多条记录的数据量;如果所述子时间范围内的数据量除以所述数据量阈值的商m大于1,则将所述子时间范围划分为M+1个子时间范围,其中,M为m的整数部分,直到划分到的子时间范围对应的数据量均小于所述数据量阈值;将对应的数据量之和小于所述数据量阈值的相邻的子时间范围合并,得到多个目标子时间范围。第二方面,提供了一种索引校对装置,所述装置包括:获取模块,用于分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,其中,所述原始表包含每条记录对应的时间戳,所述索引表包含每个索引表项对应的时间戳;确定模块,用于对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项;执行模块,用于根据所述目标索引表项,对所述索引表执行所述校正处理。可选的,所述校正处理包括以下处理中的一种或多种:增添处理、删除处理、修改处理。可选的,所述索引表为所述原始表中的第一字段对应的索引表,所述索引表中的每个索引表项包含对应记录的唯一键值;所述确定模块,用于:对于每个唯一键值,如果所述多条记录中存在所述唯一键值对应的第一字段值,且多个索引表项中不存在所述唯一键值对应的第一字段值,则将所述唯一键值和所述多条记录中所述唯一键值对应的第一字段值确定为待执行增添处理的目标索引表项;如果所述多条记录中不存在所述唯一键值对应的第一字段值,且所述多个索引表项中存在所述唯一键值对应的第一字段值,则将所述多个索引表项中所述唯一键值对应的索引表项,确定为待执行删除处理的目标索引表项;如果所述多条记录中存在的所述唯一键值对应的第一字段值,与所述多个索引表项中存在的所述唯一键值对应的第一字段值不一致,则将所述唯一键值和所述多条记录中所述唯一键值对应的第一字段值,确定为待执行修改处理的目标索引表项。可选的,所述获取模块,用于:每经过预设的校对周期,分别在原始表中和索引表中,获取对应的时间戳在当前校对周期内的多条记录和多个索引表项。可选的,所述获取模块,用于获取原始表中对应的时间戳在预设时间范围内的多条记录的数据量;根据多个校对节点中的每个校对节点对应的数据量阈值和获取到的数据量,将预设时间范围划分为至少一个目标子时间范围;将所述至少一个目标子时间范围发送至不同的校对节点,以便每个校对节点在原始表中和索引表中,获取对应的时间戳在对应的目标子时间范围内的多条记录和多个索引表项;所述确定模块,用于:通过每个校对节点对所述校对节点获取到的对应的时间戳在对应的目标子时间范围内的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项。可选的,所述获取模块,用于:确定获取到的数据量除以每个校对节点对应的数据量阈值的商n;如果n大于1,将所述预设事件范围划分为N+1个子时间范围,其中,N为n的整数部分;对于所述N+1个子时间范围中的每个子时间范围,获取所述原始表中对应的时间戳在所述子时间范围内的多条记录的数据量;如果所述子时间范围内的数据量除以所述数据量阈值的商m大于1,则将所述子时间范围划分为M+1个子时间范围,其中,M为m的整数部分,直到划分到的子时间范围对应的数据量均小于所述数据量阈值;将对应的数据量之和小于所述数据量阈值的相邻的子时间范围本文档来自技高网...

【技术保护点】
1.一种索引校对方法,其特征在于,所述方法包括:分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,其中,所述原始表包含每条记录对应的时间戳,所述索引表包含每个索引表项对应的时间戳;对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项;根据所述目标索引表项,对所述索引表执行所述校正处理。

【技术特征摘要】
1.一种索引校对方法,其特征在于,所述方法包括:分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,其中,所述原始表包含每条记录对应的时间戳,所述索引表包含每个索引表项对应的时间戳;对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项;根据所述目标索引表项,对所述索引表执行所述校正处理。2.根据权利要求1所述的方法,其特征在于,所述校正处理包括以下处理中的一种或多种:增添处理、删除处理、修改处理。3.根据权利要求1所述的方法,其特征在于,所述索引表为所述原始表中的第一字段对应的索引表,所述索引表中的每个索引表项包含对应记录的唯一键值;所述对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项,包括:对于每个唯一键值,如果所述多条记录中存在所述唯一键值对应的第一字段值,且多个索引表项中不存在所述唯一键值对应的第一字段值,则将所述唯一键值和所述多条记录中所述唯一键值对应的第一字段值确定为待执行增添处理的目标索引表项;如果所述多条记录中不存在所述唯一键值对应的第一字段值,且所述多个索引表项中存在所述唯一键值对应的第一字段值,则将所述多个索引表项中所述唯一键值对应的索引表项,确定为待执行删除处理的目标索引表项;如果所述多条记录中存在的所述唯一键值对应的第一字段值,与所述多个索引表项中存在的所述唯一键值对应的第一字段值不一致,则将所述唯一键值和所述多条记录中所述唯一键值对应的第一字段值,确定为待执行修改处理的目标索引表项。4.根据权利要求1所述的方法,其特征在于,所述分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,包括:每经过预设的校对周期,分别在原始表中和索引表中,获取对应的时间戳在当前校对周期内的多条记录和多个索引表项。5.根据权利要求1所述的方法,其特征在于,所述分别在原始表中和索引表中,获取对应的时间戳在预设时间范围内的多条记录和多个索引表项,包括:获取原始表中对应的时间戳在预设时间范围内的多条记录的数据量;根据多个校对节点中的每个校对节点对应的数据量阈值和获取到的数据量,将预设时间范围划分为至少一个目标子时间范围;将所述至少一个目标子时间范围发送至不同的校对节点,以便每个校对节点在原始表中和索引表中,获取对应的时间戳在对应的目标子时间范围内的多条记录和多个索引表项;所述对获取到的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项,包括:通过每个校对节点对所述校对节点获取到的对应的时间戳在对应的目标子时间范围内的多条记录和多个索引表项进行索引校对,确定待执行校正处理的目标索引表项。6.根据权利要求5所述的方法,其特征在于,所述根据多个校对节点中的每个校对节点对应的数据量阈值和获取到的数据量,将预设时间范围划分为至少一个目标子时间范围,包括:确定获取到的数据量除以每个校对节点对应的数据量阈值的商n;如果n大于1,将所述预设事件范围划分为N+1个子时间范围,其中,N为n的整数部分;对于所述N+1个子时间范围中的每个子时间范围,获取所述原始表中对应的时间戳在所述子时间范围内的多条记录的数据量;如果所述子时间范围内的数据量除以所述数据量阈值的商m大于1,则将所述子时间范围划分为M+1个子时间范围,其中,M为m的整数部分,直到划分到的子时间范围对应的数据量均小于所述数据量阈值;将对应的数据量之和小于所述数据量阈值的相邻的子时间范围合并,得到多个目标子时间范围。7.一种索引校对...

【专利技术属性】
技术研发人员:陈哲嘉程求江
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江,33

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

1