(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210461502.9
(22)申请日 2022.04.28
(71)申请人 北京字节跳动网络技 术有限公司
地址 100041 北京市石景山区实兴大街3 0
号院3号楼 2层B-0035房间
(72)发明人 罗宇豪 赵舒啸 黄曙光
(74)专利代理 机构 北京中知法苑知识产权代理
有限公司 1 1226
专利代理师 李明
(51)Int.Cl.
G06F 16/2458(2019.01)
G06F 16/2455(2019.01)
(54)发明名称
一种计数方法、 装置、 计算机设备和存储介
质
(57)摘要
本公开提供了一种计数方法、 装置、 计算机
设备和存储介质,其中, 该方法包括: 根据目标计
数场景, 从预先配置的多种计数属性中, 确定与
目标计数场景匹配的至少一个目标计数属性; 根
据目标计数属性, 确定存储在远程字典服务
Redis中的待计数数据对应的数据结构类型, 并
确定与数据结构类型匹配的计数指令集; 利用计
数指令集中的各个计数指令, 按照针对至少一个
目标计数属性分别配置的属性信息, 对待计数数
据进行计数, 得到 计数结果。
权利要求书3页 说明书19页 附图3页
CN 114817365 A
2022.07.29
CN 114817365 A
1.一种计数 方法, 其特 征在于, 包括:
根据目标计数场景, 从预先配置的多种计数属性中, 确定与所述目标计数场景匹配的
至少一个目标计数属性;
根据所述目标计数属性, 确定存储在远程字典服务Redis中的待计数数据对应的数据
结构类型, 并确定与所述数据结构类型匹配的计数指令集;
利用所述计数指令集中的各个计数指令, 按照针对所述至少一个目标计数属性分别配
置的属性信息, 对所述待计数 数据进行计数, 得到计数 结果。
2.根据权利要求1所述的方法, 其特征在于, 所述计数属性包括计数时间窗口属性、 计
数步长属性、 去重计数属性和计数维度属性, 所述去重计数属性用于防止 重复计数。
3.根据权利要求2所述的方法, 其特征在于, 针对所述计数步长属性配置的属性信 息包
括目标步长值;
所述根据所述目标计数属性, 确定存储在远程字典服务Redis中的待计数数据对应的
数据结构类型, 包括:
在所述目标计数属性中包括所述去重计数属性和所述计数步长属性的情况下, 根据针
对所述目标计数属性中的计数步长属性配置的目标步长值, 确定所述待计数数据对应的所
述数据结构类型。
4.根据权利要求3所述的方法, 其特征在于, 针对所述计数时间窗口属性配置的属性信
息包括时间窗口信息, 针对所述计数维度属性配置的属性信息包括至少一个目标维度参
数, 针对所述去重计数属性配置的属性信息包括至少一个去重参数;
利用所述计数指令集中的各个计数指令, 按照针对所述至少一个目标计数属性分别配
置的属性信息, 对所述待计数 数据进行计数, 得到计数 结果, 包括:
在所述目标计数属性中包括所述计数维度属性的情况下, 基于针对所述计数维度属性
配置的各个目标维度参数, 生成包括各个所述目标维度参数的目标计数键;
在确定所述目标计数属性中包括所述去重计数属性的情况下, 基于所述数据 结构类型
和针对所述去重计数属性配置的各个去重参数, 生成具 备所述数据结构类型的目标 元素;
利用所述计数指令集中的各个计数指令, 基于针对所述计数时间窗口属性配置的时间
窗口信息、 所述目标计数键、 所述目标元素和所述目标步长值, 对所述待计数数据进行计
数, 得到所述计数 结果。
5.根据权利要求4所述的方法, 其特征在于, 所述基于在所述计数维度属性下配置的各
个目标维度参数, 生成包括各个所述目标维度参数的目标计数键, 包括:
根据预设的默认维度参数和各个所述目标维度参数, 生成所述目标计数键, 其中, 在所
述目标维度参数包括多个的情况下, 多个所述目标参数维度之 间利用预设分隔字符串进 行
分隔; 所述默认维度参数用于在未配置目标维度参数的情况 下进行计数。
6.根据权利要求4所述的方法, 其特征在于, 利用所述计数指令集中的各个计数指令,
基于针对所述计数时间窗口属 性配置的时间窗口信息、 所述 目标计数键、 所述目标元素和
所述目标步长值, 对所述待计数 数据进行计数之前, 还 包括:
若所述时间窗口信 息指示的计数时长对应的时间单位与 预设时间单位不符, 则将所述
计数时长转换为采用预设时间单位表征的计数时长 。
7.根据权利要求3所述的方法, 其特征在于, 所述根据针对所述目标计数属性中的计数权 利 要 求 书 1/3 页
2
CN 114817365 A
2步长属性配置的目标步长值, 确定所述待计数 数据对应的所述数据结构类型, 包括:
在所述目标步长值满足第 一条件的情况下, 确定所述待计数数据对应的所述数据 结构
类型为无序集 合类型Set; 所述第一条件为所述目标步长值 等于1;
在所述目标步长值满足第 二条件的情况下, 确定所述待计数数据对应的所述数据 结构
类型为有序集 合类型ZSet; 所述第二条件为所述目标步长值非固定 。
8.根据权利要求2所述的方法, 其特征在于, 所述根据所述目标计数属性, 确定存储在
远程字典服 务Redis中的待计数 数据对应的数据结构类型, 包括:
在确定所述目标计数属性中不包括所述去重计数属性的情况下, 则确定所述待计数数
据对应的数据结构类型为字符串类型。
9.根据权利要求8所述的方法, 其特征在于, 所述利用所述计数指令集中的各个计数指
令, 按照针对所述至少一个目标计数属 性分别配置的属 性信息, 对所述待计数数据进行计
数, 得到计数 结果, 包括:
在所述目标计数属性中包括所述计数维度属性的情况下, 基于针对所述计数维度属性
配置的各个目标维度参数, 生成包括各个所述目标维度参数的目标计数键;
利用所述计数指令集中与 所述字符串结构相对应的各个计数指令, 基于针对所述计数
时间窗口属性配置的时间窗口信息、 所述目标计数键, 对所述待计数数据进行计数, 得到所
述计数结果。
10.根据权利要求 4所述的方法, 其特 征在于, 在确定所述计数 结果之前, 还 包括:
响应于获取的计数请求, 基于所述计数请求对应的各个所述目标维度参数和所述计数
请求对应的请求标识, 生成所述计数请求对应的幂等计数键;
在不存在与 所述幂等计数键相同的已生成幂等计数键的情况下, 建立所述幂等计数键
和所述目标计数键之间的映射关系;
在得到所述计数 结果之后, 还 包括:
根据所述目标计数键对应的映射关系, 将所述计数结果作为所述映射关系指示的幂等
计数键对应的幂等计数值; 其中, 所述幂等计数值用于作为所述计数请求对应的请求结果。
11.根据权利要求10所述的方法, 其特 征在于, 所述方法还 包括:
在存在与所述幂等计数键相同的已生成幂等计数键的情况下, 获取所述幂等计数键对
应的已保存的幂等计数值, 将所述幂等计数值作为所述计数请求对应的请求结果。
12.一种计数装置, 其特 征在于, 包括:
第一确定模块, 用于根据目标计数场景, 从预先配置的多种计数属性中, 确定与所述目
标计数场景匹配的至少一个目标计数属性;
第二确定模块, 用于根据所述目标计数属性, 确定存储在远程字典服务Redis中的待计
数数据对应的数据结构类型, 并确定与所述数据结构类型匹配的计数指令集;
计数模块, 用于利用所述计数指令集中的各个计数指令, 按照针对所述至少一个目标
计数属性分别配置的属性信息, 对所述待计数 数据进行计数, 得到计数 结果。
13.一种计算机设备, 其特征在于, 包括: 处理器、 存储器, 所述存储器存储有所述处理
器可执行 的机器可读指令, 所述处理器用于执行所述存储器中存储的机器可读指令, 所述
机器可读指令被所述处理器执行时, 所述处理器执行如权利要求1至11任意一项所述的计
数方法的步骤。权 利 要 求 书 2/3 页
3
CN 114817365 A
3
专利 一种计数方法、装置、计算机设备和存储介质
文档预览
中文文档
26 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共26页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 00:12:17上传分享