一种数据缓存方法和装置制造方法及图纸

技术编号:33246475 阅读:31 留言:0更新日期:2022-04-27 17:59
本发明专利技术公开了一种数据缓存方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:监听分布式调度中心的各个节点;其中,所述节点的目录与各个数据库中的各个数据表一一对应,所述节点保存的节点信息包括所述节点对应的数据表的数据变更时间戳;若监听到所述节点保存的节点信息发生变更,则根据所述节点的目录和变更后的节点信息生成缓存标识和布隆过滤器;将所述缓存标识与所述布隆过滤器关联,并将所述缓存标识及其对应的布隆过滤器存储至过滤器集合中。该实施方式能够解决开发难度大、内存不均、阻塞查询或者数据不一致的技术问题。术问题。术问题。

【技术实现步骤摘要】
一种数据缓存方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种数据缓存方法和装置。

技术介绍

[0002]在大数据分析场景下,ClickHouse(列式存储引擎)以其优秀的底层设计和良好的查询性能,深受数据分析者的青睐,目前在联机分析领域有着广泛的应用。
[0003]但是,在ClickHouse提供良好数据分析能力的同时,由于要保持高性能的查询能力,引擎内部会很大程度的利用CPU资源,这导致 ClickHouse并不适合处理特别高频的操作,这些高频操作包括写入、查询、修改等操作,用户在使用ClickHouse时,往往面临查询QPS(每秒查询率)受限的问题。
[0004]面对提高数据库并发查询的场景,在不考虑复杂的底层存储引擎升级方案,一种有效的解决思路是提供前置缓存方案来实现数据的一次查询多次使用。
[0005]然而,目前常用的缓存方案存在以下技术问题:
[0006]面对大结果集的查询,存在内存不均、阻塞查询的风险。

技术实现思路

[0007]有鉴于此,本专利技术实施例提供一种数据本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据缓存方法,其特征在于,应用于服务端,包括:监听分布式调度中心的各个节点;其中,所述节点的目录与各个数据库中的各个数据表一一对应,所述节点保存的节点信息包括所述节点对应的数据表的数据变更时间戳;若监听到所述节点保存的节点信息发生变更,则根据所述节点的目录和变更后的节点信息生成缓存标识和布隆过滤器;将所述缓存标识与所述布隆过滤器关联,并将所述缓存标识及其对应的布隆过滤器存储至过滤器集合中。2.根据权利要求1所述的方法,其特征在于,所述缓存标识包括所述节点的目录和所述节点对应的数据表的数据变更时间戳。3.根据权利要求1所述的方法,其特征在于,所述分布式调度中心从消息队列中获取消息,解析所述消息以得到数据库信息、数据表信息和数据变更时间戳,从而变更所述数据库和所述数据表对应的节点保存的节点信息;其中,所述消息由数据存储引擎生成并写入所述消息队列中。4.根据权利要求3所述的方法,其特征在于,将所述缓存标识及其对应的布隆过滤器存储至过滤器集合中之后,还包括:配置所述布隆过滤器的失效时间戳;其中,所述失效时间戳为当前时间戳加上失效时长,所述失效时长大于所述数据存储引擎的批写入周期。5.一种数据缓存方法,其特征在于,应用于客户端,包括:监听分布式调度中心的目标节点;其中,所述分布式调度中心的节点的目录与各个数据库中的各个数据表一一对应,所述目标节点保存的节点信息包括所述目标节点对应的数据表的数据变更时间戳;若监听到所述目标节点保存的节点信息发生变更,则拉取变更后的节点信息。6.根据权利要求5所述的方法,其特征在于,还包括:接收数据查询请求;其中,所述数据查询请求携带数据库信息、数据表信息和入参;根据所述数据库信息和所述数据表信息匹配出数据变更时间戳,从而生成缓存标识;从过滤器集合中获取所述缓存标识对应的布隆过滤器;基于所述入参和所述布隆过滤器获取所述数据查询请求对应的查询数据。7.根据权利要求6所述的方法,其特征在于,所述缓存标识包括所述数据库信息、所述数据表信息和数据变更时间戳。8.根据权利要求6所述的方法,其特征在于,基于所述入参和所述布隆过滤器获取所述数据查询请求对应的查询数据,包括:根据所述客户端提供的接口的类路径、方法名以及所述入参生成字符串标识;采用哈希函数对所述字符串标识进行计算,得到标识位;基于所述标识位判断所述布隆过滤器是否命中;若是,则从缓存中获取所述字符串标识对应的查询数据;若否,则从所述数据库中的所述数据表中获取所述数据查询请求对应的查询数据。9.根据权利要求8所述的方法,其特征在于,根据所述客户端提供的接口的类...

【专利技术属性】
技术研发人员:赵力
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1