[发明专利]聚合查询方法及装置在审
申请号: | 202310486003.X | 申请日: | 2023-04-28 |
公开(公告)号: | CN116501756A | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 杜沛韩;刘彬;王国平;唐铭豆;余璜 | 申请(专利权)人: | 北京奥星贝斯科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 靳玫 |
地址: | 100020 北京市朝阳区望京东园*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 聚合 查询 方法 装置 | ||
1.一种聚合查询方法,应用于一个或多个服务器节点,包括:
接收聚合查询请求针对的数据库表的数据流,所述数据库表分布在所述多个服务器节点上;
确定所述数据流中第一数据的待聚合列的非重复值数NDV,并发送所述第一数据至目标节点,其中,所述目标节点是所述多个服务器节点中的一个;
在所述NDV达到第一设定条件的情况下,根据所述NDV确定目标存储阈值,并停止发送所述第一数据;
对待接收的所述数据流中的第二数据进行所述聚合查询请求指示的聚合操作,并发送聚合结果至所述目标节点,所述聚合结果使用的存储区域不超过所述目标存储阈值。
2.根据权利要求1所述的方法,还包括:
以设定周期获取所述第一数据的去重率,所述去重率根据所述NDV与接收到的第一数据的总数据量的比值确定;
在所述去重率大于第一比例阈值的情况下,确定所述NDV符合第一设定条件。
3.根据要利要求1或2所述的方法,在确定所述数据流中第一数据的待聚合列中非重复值数NDV之前,所述方法还包括:
对所述数据流中的第三数据进行所述聚合查询请求指示的聚合操作,并发送聚合结果至所述目标节点,所述聚合结果使用的存储区域不超过初始存储阈值;
在所述聚合结果不符合第二设定条件的情况下,确定所述数据流中第一数据的待聚合列中的NDV,并发送所述第一数据至所述目标节点。
4.根据权利要求3所述的方法,所述对对所述数据流中的第三数据进行所述聚合查询请求指示的聚合操作,并发送聚合结果至所述目标节点,包括:
在所述聚合结果使用的存储区域达到所述初始存储阈值的情况下,获取所述聚合结果的去重率;
在所述去重率小于第二比例阈值的情况下,在发送所述聚合结果之后清空存储区域中存储的聚合结果,并根据接收的第三数据重新生成聚合结果。
5.根据权利要求4所述的方法,还包括:
在连续清空聚合结果的次数达到设定次数阈值的情况下,确定所述聚合结果不符合第二设定条件。
6.根据权利要求3所述的方法,所述初始存储阈值根据以下任一项确定:
所述一个或多个服务器节点的可用内存大小;
所述一个或多个计算服务器节点的可用处理器缓存大小。
7.根据权利要求4所述的方法,还包括:
在所述去重率大于或等于所述第二比例阈值的情况下,提高所述初始存储阈值,并根据提高的初始存储阈值对接收的第三数据进行聚合操作。
8.根据权利要求1所述的方法,所述存储区域包括处理器L2缓存。
9.根据权利要求1所述的方法,所述聚合查询请求包括聚合函数和分组子句,所述对所述数据流中的目标数据进行预聚合,包括:
对所述分组子句指示的分组列进行所述第一数据的分组;
根据所述聚合函数对每个分组的第一数据执行聚合操作,得到聚合结果,
其中,所述目标数据包括第一数据和第三数据。
10.根据权利要求9所述的方法,所述分组子句包括group by,所述对所述分组子句指示的分组列进行所述目标数据的分组,包括:
获取group by指示的分组列的哈希值,并根据所述哈希值进行所述目标数据的分组;
所述方法还包括:
将所述聚合结果存储为哈希表,所述哈希表包括各个分组对应的哈希值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奥星贝斯科技有限公司,未经北京奥星贝斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310486003.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种包装瓶检查清洗方法及设备
- 下一篇:一种管道检测机器人