[发明专利]数据查询的方法及装置有效
申请号: | 201810473920.3 | 申请日: | 2018-05-17 |
公开(公告)号: | CN108647357B | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 韩杰 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁;周良玉 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 | ||
本说明书实施例提供一种数据查询的方法和装置,根据该方法,在接收查询请求后,检测缓存区域内是否存在与查询请求中所包含的查询参数相对应的缓存对象,在存在与上述查询参数相对应的缓存对象的情况下,获取第一版本信息和第二版本信息,其中,第一版本信息是缓存对象对应的数据表版本信息,第二版本信息是数据库中当前数据表的版本信息,数据库中至少存储的第一数据表和第二数据表,被配置为一个作为当前数据表,其余作为备份数据表;然后,判断第一版本信息和第二版本信息的一致性,在第一版本信息和第二版本信息一致的情况下,将缓存对象作为查询结果。如此,可以提高数据查询的有效性。
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及通过计算机进行数据查询的方法和装置。
背景技术
在大数据分析业务中,通常会定时将收集到的业务数据预先处理好,然后通过数据同步工具同步到线上存储系统。在数据量巨大的情况下,一个数据表的全量或增量同步可能需要较长时间(例如四五个小时)才能完成。为了在这个过程中保证线上存储系统的正常工作,线上存储系统的数据表往往采用AB表的方法实现,即:对于一个线上的逻辑表,对应底层的两张物理表,例如逻辑表tb,对应两个物理表tb_0、tb_1。两张数据表可以交替使用,一个作为当前数据表,供线上存储系统提供查询等业务,另一个作为备份数据表,可以通过数据同步工具同步预先处理好的业务数据。
实际使用中,在数据量较大的情况下,例如高并发业务系统中,为了提高查询效率,往往通过增加缓存的方式来提高查询率QPS和查询响应时间RT。这就带来缓存数据与当前数据表数据的一致性的问题。一方面,备份数据表可以按照预定的切换原则切换为当前数据表,另一方面,由于对数据的验证无法全面模拟线上的真实场景,当前数据表的数据有可能存在质量问题,在这样的情况下,需要临时切换回原来的数据,即将备份数据表切换为当前数据表。换而言之,在多种情况下都会出现备份数据表和当前数据表之间的切换。此时,缓存数据和由备份数据表切换来的当前数据表的数据可能出现不一致的情况。
因此,希望能有改进的方案,能够验证缓存数据和当前数据表数据的一致性,以确保从缓存中获取的数据是正确的,从而进一步提高数据查询的有效性。
发明内容
本说明书一个或多个实施例描述了一种方法和装置,能够验证缓存数据和当前数据表数据的一致性,以确保从缓存中获取的数据是正确的,从而进一步提高数据查询的有效性。
根据第一方面,提供了一种数据查询的方法,包括:
接收查询请求,其中,所述查询请求包括查询参数;
检测缓存区域内是否存在与所述查询参数相对应的缓存对象;
在存在与所述查询参数相对应的缓存对象的情况下,获取第一版本信息和第二版本信息,所述第一版本信息是所述缓存对象对应的数据表版本信息,所述第二版本信息是数据库中当前数据表的版本信息,其中所述数据库中至少存储有第一数据表和第二数据表,所述第一数据表和第二数据表被配置为一个作为所述当前数据表,其余作为备份数据表;
判断第一版本信息和第二版本信息的一致性;
在所述第一版本信息和第二版本信息一致的情况下,将所述缓存对象作为查询结果。
根据一方面的实施方式,所述方法还包括:
在不存在与所述查询参数相对应的缓存对象,或者所述第一版本信息和第二版本信息不一致的情况下,
根据所述查询参数向所述数据库查询所述当前数据表;
根据从所述数据库返回的数据,生成查询结果。
在一个可能的设计中,生成查询结果之后,还包括:
根据所生成的查询结果更新缓存区域内的缓存对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810473920.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置