一种基于Geode的大数据查询服务方法及系统技术方案

技术编号:36460225 阅读:25 留言:0更新日期:2023-01-25 22:59
本发明专利技术公开一种基于Geode的大数据查询服务方法及系统,其中,该方法包括:将不同数据源的数据需要缓存对象放入缓存池中,按照优先级进行TopN,再根据热度排序将需要缓存对象依次放入缓存队列中;从缓存队列中取出需要缓存对象进行缓存,并将需要缓存对象的数据从不同数据源抽取到中间层Geode中进行缓存;通过指定需要持久化,实现需要缓存对象的数据持久化;根据缓存队列,每天提前预计算出前一天的离线数据缓存到中间层Geode中,并采用先清理再插入的方式对需要缓存对象的数据进行更新;为用户提供统一对外查询服务接口对需要缓存对象的数据进行查询。该方法及系统解决了项目中多个数据源缓存数据问题及查询方式统一化问题。个数据源缓存数据问题及查询方式统一化问题。个数据源缓存数据问题及查询方式统一化问题。

【技术实现步骤摘要】
一种基于Geode的大数据查询服务方法及系统


[0001]本专利技术属于电信及互联网领域,涉及到缓存架构对外提供服务的方法及系统,尤其是一种基于Geode的大数据查询服务方法及系统。

技术介绍

[0002]随着互联网技术和电信通信业务的高速发展以及公司业务的扩大,对海量数据的查询往往耗费较长的时间,特别是针对一些复杂的热点查询,在高并发下往往对计算层和存储层都具有较高的压力,在实际应用中往往更会出现查询延迟的情况。当前复杂的项目中数据存储可能会涉及RDBMS(关系数据库管理系统)、NoSQL(泛指非关系型的数据库)和HDFS(分布式文件系统)等,其存储的介质较多,不同的查询会路由到不同的数据源,当下业界可能会对各个数据存储层本身做缓存,如Druid(一个开源的分布式数据存储)针对实时热点数据做Segment(片段)缓存、ES(全称elasticsearch,分布式搜索和分析引擎)对结果的filter cache(缓存过滤)以及mysql(数据库)对sql文本和结果缓存,用KV(Key

Value,即键值对)形式保存在服务器缓存中等,但是他们存放的都是实时的热点数据,对于查询同期数据,还得从历史节点中查询,另外缺一个对各种数据源统一管理的中间层缓存,数据大多只是缓存在各自的容器中,无法灵活处理跨数据源经过逻辑处理后再缓存。当下业界针对大规模、大数据量、高并发企业级或者互联网应用,为了解决数据缓存、降低数据库负载喝提高查询性能等突出问题,也有一些缓存方案,如Hazelcast(开源的分布式内存级别的缓存数据库)、Redis(一个KV存储系统)、MemCache(一套分布式的高速缓存系统)以及Cassandra(开源分布式NoSQL数据库系统)等,这些方案对于处理复杂的缓存场景并不理想,多数都是分布式KV(Key

Value,即键值对)存储系统,对缓存结果的过滤查询、数据权限控制、聚合后的二次过滤和SQL查询均不支持。

技术实现思路

[0003]为解决复杂项目中多个数据源缓存数据问题以及查询方式最终统一化问题,本专利技术提供一种基于Geode的大数据查询服务方法及系统,基于Geode设计的中间层缓存,该中间层缓存对下提供服务可以任意抽取RDBMS、NoSQL和HDFS等不同类型的数据源数据,将数据统一缓存到中间层中,基于中间层可以对跨数据源的数据进行逻辑处理,将处理后的结果存储在Geode中,基于中间层还可以对上为用户提供统一查询服务,直接对其结果进行查询。
[0004]为实现上述目的,本专利技术采用下述技术方案:
[0005]在本专利技术一实施例中,提出了一种基于Geode的大数据查询服务方法,该方法包括:
[0006]将不同数据源的数据需要缓存对象放入缓存池中,按照优先级进行TopN排序,再根据热度排序将需要缓存对象依次放入缓存队列中;
[0007]从缓存队列中取出需要缓存对象进行缓存,并将需要缓存对象的数据从不同数据
源抽取到中间层Geode中进行缓存;
[0008]通过指定需要持久化,实现需要缓存对象的数据持久化;
[0009]根据缓存队列,每天提前预计算出前一天的离线数据缓存到中间层Geode中,并采用先清理再插入的方式对需要缓存对象的数据进行更新;
[0010]为用户提供统一对外查询服务接口对需要缓存对象的数据进行查询;
[0011]将不同数据源的数据缓存到中间层Geode中进行关联分析,并为用户提供统一对外查询服务接口进行关联查询。
[0012]进一步地,将查询高频且耗时长的维度和指标锁定为缓存对象,同时支持手工指定或配置进行特定对象的缓存。
[0013]进一步地,根据热点排序,将在缓存队列长度以外的需要缓存对象视为无效缓存,从缓存队列中删除。
[0014]进一步地,用户发起请求后,若命中需要缓存对象,则通过统一对外查询服务接口进行查询,并从中间层Geode获取需要缓存对象的数据;若未命中需要缓存对象,则进行常规OLAP查询。
[0015]在本专利技术一实施例中,还提出了一种基于Geode的大数据查询服务系统,该系统包括:
[0016]智能缓存模块,用于将不同数据源的数据需要缓存对象放入缓存池中,按照优先级进行TopN排序,再根据热度排序将需要缓存对象依次放入缓存队列中;
[0017]缓存创建和初始化模块,用于从缓存队列中取出需要缓存对象进行缓存,并将需要缓存对象的数据从不同数据源抽取到中间层Geode中进行缓存;
[0018]缓存持久化模块,用于通过指定需要持久化,实现需要缓存对象的数据持久化;
[0019]缓存数据更新模块,用于根据缓存队列,每天提前预计算出前一天的离线数据缓存到中间层Geode中,并采用先清理再插入的方式对需要缓存对象的数据进行更新;
[0020]缓存数据查询模块,用于为用户提供统一对外查询服务接口对需要缓存对象的数据进行查询;
[0021]跨数据源查询模块,用于将不同数据源的数据缓存到中间层Geode中进行关联分析,并为用户提供统一对外查询服务接口进行关联查询。
[0022]进一步地,将查询高频且耗时长的维度和指标锁定为缓存对象,同时支持手工指定或配置进行特定对象的缓存。
[0023]进一步地,根据热点排序,将在缓存队列长度以外的需要缓存对象视为无效缓存,从缓存队列中删除。
[0024]进一步地,用户发起请求后,若命中需要缓存对象,则通过统一对外查询服务接口进行查询,并从中间层Geode获取需要缓存对象的数据;若未命中需要缓存对象,则进行常规OLAP查询。
[0025]在本专利技术一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于Geode的大数据查询服务方法。
[0026]在本专利技术一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于Geode的大数据查询服务方法的计算机程序。
[0027]有益效果:
[0028]1、本专利技术使缓存数据得到了统一的管理,不同的数据源可以动态的添加,只需要增加对应的数据源服务接口即可,完美的支持了动态的横向扩展。
[0029]2、本专利技术将数据统一存放在中间层,很方便的实现了跨数据源的数据逻辑处理,可将处理后的结果数据存储在中间层。
[0030]3、本专利技术由中间层缓存提供统一对外提供查询服务接口,用户无需关注具体针对不同存储介质的查询语法,更不用关注数据具体存储在哪里,只需调用统一对外查询服务接口就会返回想要的结果数据。
附图说明
[0031]图1是本专利技术一实施例的基于Geode的大数据查询服务方法流程示意图;
[0032]图2是本专利技术一实施例的基于Geode的大数据查询服务系统结构示意图;
[0033]图3是本专利技术一实施例的计算机设备结构示意图。
具体实施方式
[0034]下面将参本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Geode的大数据查询服务方法,其特征在于,该方法包括:将不同数据源的数据需要缓存对象放入缓存池中,按照优先级进行TopN排序,再根据热度排序将需要缓存对象依次放入缓存队列中;从缓存队列中取出需要缓存对象进行缓存,并将需要缓存对象的数据从不同数据源抽取到中间层Geode中进行缓存;通过指定需要持久化,实现需要缓存对象的数据持久化;根据缓存队列,每天提前预计算出前一天的离线数据缓存到中间层Geode中,并采用先清理再插入的方式对需要缓存对象的数据进行更新;为用户提供统一对外查询服务接口对需要缓存对象的数据进行查询;将不同数据源的数据缓存到中间层Geode中进行关联分析,并为用户提供统一对外查询服务接口进行关联查询。2.根据权利要求1所述的基于Geode的大数据查询服务方法,其特征在于,将查询高频且耗时长的维度和指标锁定为缓存对象,同时支持手工指定或配置进行特定对象的缓存。3.根据权利要求1所述的基于Geode的大数据查询服务方法,其特征在于,根据热点排序,将在缓存队列长度以外的需要缓存对象视为无效缓存,从缓存队列中删除。4.根据权利要求1所述的基于Geode的大数据查询服务方法,其特征在于,用户发起请求后,若命中需要缓存对象,则通过统一对外查询服务接口进行查询,并从中间层Geode获取需要缓存对象的数据;若未命中需要缓存对象,则进行常规OLAP查询。5.一种基于Geode的大数据查询服务系统,其特征在于,该系统包括:智能缓存模块,用于将不同数据源的数据需要缓存对象放入缓存池中,按照优先级进行TopN排序,再根据热度排序将需要缓存对象依次放入缓存队列中;缓存创建和初始化模块,用于从缓存队列中取...

【专利技术属性】
技术研发人员:闫一帅毛春阳
申请(专利权)人:中盈优创资讯科技有限公司
类型:发明
国别省市:

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

1