指标的查询方法、统计方法、装置、设备和存储介质与流程
- 国知局
- 2024-08-05 12:13:12
本申请涉及数据库,特别涉及一种指标的查询方法、统计方法、装置、设备和存储介质。
背景技术:
1、广告的指标(indicator)能够反映用户获取、活跃、留存、转化、行为等信息。指标可以对外显示为点赞量、转发量、活跃度等,也可以应用于推荐系统,帮助提升推荐的质量与效率。
2、相关技术中,客户端的流水日志经过分布式流平台(kafka)或分布式计算框架(hadoop)批量导入服务器,服务器通过磁盘来保存一天或多天上报的流水日志,使用索引(index)和分段(segment)等方式,提升指标的查询性能。
3、然而,相关技术每次查询指标都需要在磁盘中检索大量的流水日志,查询比较耗时。例如,查询单个指标的耗时在50毫秒左右,批量查询上千个指标往往需要几十秒甚至几分钟。
技术实现思路
1、本申请提供了一种指标的查询方法、统计方法、装置、设备和存储介质。所述技术方案如下:
2、一方面,提供了一种指标的查询方法,所述方法由服务器执行,包括:
3、接收客户端的查询请求,所述查询请求用于指示查询目标时间段的目标时间粒度的目标指标;
4、从所述服务器的至少一个存储引擎在共享内存中写时缓存或读时缓存的不同时间粒度的指标中,获取所述查询请求对应的所述目标指标,所述写时缓存是指将所述指标写入所述至少一个存储引擎时缓存,所述读时缓存是指读取所述指标时在所述至少一个存储引擎中缓存,所述指标是对所述客户端上报的流水日志执行聚合与转换得到的;
5、向所述客户端返回所述查询请求对应的所述目标指标。
6、另一方面,提供了一种指标的统计方法,所述方法由服务器执行,包括:
7、接收客户端上报的流水日志;
8、对所述流水日志执行聚合与转换,得到不同时间粒度的指标;
9、将所述不同时间粒度的所述指标缓存至所述服务器的至少一个存储引擎,所述至少一个存储引擎用于在共享内存中写时缓存或读时缓存所述不同时间粒度的所述指标,所述写时缓存是指将所述指标写入所述至少一个存储引擎时缓存,所述读时缓存是指读取所述指标时在所述至少一个存储引擎中缓存。
10、另一方面,提供了一种指标的查询装置,所述装置包括:
11、接收模块,用于接收客户端的查询请求,所述查询请求用于指示查询目标时间段的目标时间粒度的目标指标;
12、查询模块,用于从所述服务器的至少一个存储引擎在共享内存中写时缓存或读时缓存的不同时间粒度的指标中,获取所述查询请求对应的所述目标指标,所述写时缓存是指将所述指标写入所述至少一个存储引擎时缓存,所述读时缓存是指读取所述指标时在所述至少一个存储引擎中缓存,所述指标是对所述客户端上报的流水日志执行聚合与转换得到的;
13、返回模块,用于向所述客户端返回所述查询请求对应的所述目标指标。
14、另一方面,提供了一种指标的统计装置,所述装置包括:
15、接收模块,用于接收客户端上报的流水日志;
16、处理模块,用于对所述流水日志执行聚合与转换,得到不同时间粒度的指标;
17、缓存模块,用于将所述不同时间粒度的所述指标缓存至所述服务器的至少一个存储引擎,所述至少一个存储引擎用于在共享内存中写时缓存或读时缓存所述不同时间粒度的所述指标,所述写时缓存是指将所述指标写入所述至少一个存储引擎时缓存,所述读时缓存是指读取所述指标时在所述至少一个存储引擎中缓存。
18、另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的指标的查询方法和/或指标的统计方法。
19、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的指标的查询方法和/或指标的统计方法。
20、另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质中获取所述计算机指令,使得所述处理器加载并执行以实现如上所述的指标的查询方法和/或指标的统计方法。
21、本申请实施例提供的技术方案带来的有益效果至少包括:
22、通过服务器中的至少一个存储引擎的读时缓存与写时缓存,将不同时间粒度的指标存储在共享内存中,实现了不同时间粒度的指标的全内存缓存,使得指标在查询时无需从磁盘中检索。由于共享内存读取相比磁盘读取耗时更低,因此能够减少指标的查询耗时,进而还能够满足指标的对外显示的需求和实时推荐系统的需求。
技术特征:1.一种指标的查询方法,其特征在于,所述方法由服务器执行,包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述服务器的至少一个存储引擎在共享内存中写时缓存或读时缓存的不同时间粒度的指标中,获取所述查询请求对应的所述目标指标,包括:
3.根据权利要求2所述的方法,其特征在于,所述至少一个存储引擎包括第一存储引擎和第二存储引擎,所述第一存储引擎用于缓存所述流水日志,所述第二存储引擎用于在所述共享内存中写时缓存第一类型的指标,所述第一类型的指标是基于所述流水日志对不同时间粒度的待更新指标执行更新后得到的指标;
4.根据权利要求3所述的方法,其特征在于,所述至少一个存储引擎还包括第三存储引擎,所述第三存储引擎用于读时缓存第二类型的指标,所述第二类型的指标是从后端存储引擎中读取的不同时间粒度的未更新、且被本次的所述查询请求或被上次的查询请求查询的指标,所述后端存储引擎用于缓存所有的指标;
5.一种指标的统计方法,其特征在于,所述方法由服务器执行,包括:
6.根据权利要求5所述的方法,其特征在于,所述服务器包括日志处理组件;
7.根据权利要求6所述的方法,其特征在于,所述不同时间粒度的指标为第一类型的指标,所述至少一个存储引擎包括第一存储引擎和第二存储引擎,所述第一存储引擎用于缓存所述流水日志,所述第二存储引擎用于在所述共享内存中写时缓存所述第一类型的指标,所述第一类型的指标是基于所述流水日志对不同时间粒度的待更新指标执行更新后得到的指标;
8.根据权利要求7所述的方法,其特征在于,所述日志处理组件包括多个线程,所述多个线程中包括主线程;
9.根据权利要求7所述的方法,其特征在于,所述将所述不同时间粒度的所述指标缓存至所述服务器的至少一个存储引擎,包括:
10.根据权利要求9所述的方法,其特征在于,所述服务器包括第一同步组件,所述方法还包括:
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
12.根据权利要求7至11任一所述的方法,其特征在于,所述服务器包括第二同步组件,所述服务器是服务器集群中的一个服务器,所述服务器集群中的每个服务器分别包括所述至少一个存储引擎,所述每个服务器用于同步接收所述客户端上报的所述流水日志,以及,将所述流水日志缓存至所述至少一个存储引擎中的所述第一存储引擎;
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
14.一种指标的查询装置,其特征在于,所述装置包括:
15.一种指标的统计装置,其特征在于,所述装置包括:
16.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至4任一所述的指标的查询方法或如权利要求5至13任一所述的指标的统计方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至4任一所述的指标的查询方法或如权利要求5至13任一所述的指标的统计方法。
技术总结本申请公开了一种指标的查询方法、统计方法、装置、设备和存储介质,应用于数据库技术领域。该查询方法包括:接收客户端的查询请求,查询请求用于指示查询目标时间段的目标时间粒度的目标指标;从服务器的至少一个存储引擎在共享内存中写时缓存或读时缓存的不同时间粒度的指标中,获取查询请求对应的目标指标,写时缓存是指将指标写入至少一个存储引擎时缓存,读时缓存是指读取指标时在至少一个存储引擎中缓存,指标是对客户端上报的流水日志执行聚合与转换得到的;向客户端返回查询请求对应的目标指标。本方案可以减少指标的查询耗时。技术研发人员:黄烁,何龙,徐喜斌,魏传柳,周博,李烜历受保护的技术使用者:腾讯科技(深圳)有限公司技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/261613.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。