一种数据缓存方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37640007 阅读:24 留言:0更新日期:2023-05-25 10:07
本申请公开了一种数据缓存方法、装置、电子设备及存储介质,本申请考虑到用户是否报名活动具有二值性,因此接收到用户的活动报名请求信息,采用位图Bitmap形式缓存报名请求信息。具体是根据用户的标识信息确定活动位图中用户的位置索引信息,并对位置索引信息指示的字符进行更新。而对于活动中用户的各个业务产生的交易信息,采用哈希映射Hashmap形式进行缓存。具体是将各个业务产生的交易信息对应写入各个业务的字符串FieldKey对应的数值Value字段。本申请通过采用不同形式缓存用户不同数据的方案,能够达到减少数据缓存空间占用量的效果,在不增加数据缓存成本的前提下,解决数据缓存空间占用较大的问题。据缓存空间占用较大的问题。据缓存空间占用较大的问题。

【技术实现步骤摘要】
一种数据缓存方法、装置、电子设备及存储介质


[0001]本申请涉及数据存储
,尤其涉及一种数据缓存方法、装置、电子设备及存储介质。

技术介绍

[0002]公司会通过举办营销活动的方式提高用户粘性,用户参与营销活动一般会产生报名数据和交易数据。在金融交易系统中,每日需要处理数亿级记录,累计计算亿级用户近几个月甚至近几年的累计交易笔数、金额、奖励次数等。同时为了满足高性能查询诉求,这些报名数据和交易数据通常需要存放在缓存中。
[0003]由于每个任务都有到期时间或者周期,键值对KV(key

value)结构以自带过期时间及自动清理策略成为首选。但是使用KV结构进行数据缓存,经常出现缓存空间占用较大,超过预警值的问题。
[0004]现有技术为了解决数据缓存空间占用较大的问题,一般通过扩容,增加缓存集群中机器数量,提高集群总体容量,但是这种方案需要配置更多的缓存机器资源,使得数据缓存成本较高。

技术实现思路

[0005]本申请实施例提供了一种数据缓存方法、装置、电子设备及存储介质,用以解决现有技术数据缓存成本较高的问题。
[0006]本申请提供了一种数据缓存方法,所述方法包括:
[0007]接收用户的活动报名请求信息,采用位图Bitmap形式缓存所述报名请求信息;其中,获取所述活动报名请求信息中所述用户的标识信息,根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息,并对所述位置索引信息指示的字符进行更新;
[0008]获取所述用户对应于所述活动的各个业务产生的交易信息,采用哈希映射Hashmap形式缓存所述交易信息;其中,确定所述用户对应于所述活动的各个业务的字符串FieldKey,将所述各个业务产生的交易信息对应写入字符串FieldKey对应的数值Value字段。
[0009]进一步地,所述根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息包括:
[0010]根据所述用户的标识信息和预设的分散因子,确定活动位图中所述用户的位置索引信息。
[0011]进一步地,所述根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息之前,所述方法还包括:
[0012]若所述用户的标识信息为非数字类的标识信息,通过进制转换将所述非数字类的标识信息转换为数字类的标识信息。
[0013]进一步地,所述方法还包括:
[0014]若所述数字类的标识信息大于设定的阈值,将所述数字类的标识信息拆分为至少两个子标识信息;分别确定各个子标识信息各自对应的位图中的位置索引信息;各个位图中的位置索引信息的组合作为所述活动位图中所述用户的位置索引信息。
[0015]进一步地,所述确定所述用户对应于所述活动的各个业务的字符串FieldKey之后,所述方法还包括:
[0016]根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为短字符FieldKey。
[0017]进一步地,所述根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为短字符FieldKey包括:
[0018]根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为初始字符,将各个初始字符进行取余运算,将取余运算的结果与N/2的差值作为映射后的各个短字符FieldKey;其中,N为小于等于512的正整数。
[0019]进一步地,所述方法还包括:
[0020]在所述映射关系表中配置FieldKey过期时间,检索出所述映射关系表中过期时间早于当前日期且未清理的FieldKey,定时扫描缓存中所有的HashMap,将与过期时间早于当前日期且未清理的FieldKey一致的FieldKey及对应的数值删除。
[0021]另一方面,本申请提供了一种数据缓存装置,所述装置包括:
[0022]第一缓存模块,用于接收用户的活动报名请求信息,采用位图Bitmap形式缓存所述报名请求信息;其中,获取所述活动报名请求信息中所述用户的标识信息,根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息,并对所述位置索引信息指示的字符进行更新;
[0023]第二缓存模块,用于获取所述用户对应于所述活动的各个业务产生的交易信息,采用哈希映射Hashmap形式缓存所述交易信息;其中,确定所述用户对应于所述活动的各个业务的字符串FieldKey,将所述各个业务产生的交易信息对应写入字符串FieldKey对应的数值Value字段。
[0024]进一步地,所述第一缓存模块,具体用于根据所述用户的标识信息和预设的分散因子,确定活动位图中所述用户的位置索引信息。
[0025]进一步地,所述第一缓存模块,还用于若所述用户的标识信息为非数字类的标识信息,通过进制转换将所述非数字类的标识信息转换为数字类的标识信息。
[0026]进一步地,所述第一缓存模块,还用于若所述数字类的标识信息大于设定的阈值,将所述数字类的标识信息拆分为至少两个子标识信息;分别确定各个子标识信息各自对应的位图中的位置索引信息;各个位图中的位置索引信息的组合作为所述活动位图中所述用户的位置索引信息。
[0027]进一步地,所述第二缓存模块,还用于根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为短字符FieldKey。
[0028]进一步地,所述第二缓存模块,具体用于根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为初始字符,将各个初始字符进行取余运算,将取余运算的结果与N/2的差值作为映射后的各个短字符FieldKey;其中,N为小于等于512的正整数。
[0029]进一步地,所述装置还包括:
[0030]数据清理模块,用于在所述映射关系表中配置FieldKey过期时间,检索出所述映射关系表中过期时间早于当前日期且未清理的FieldKey,定时扫描缓存中所有的HashMap,将与过期时间早于当前日期且未清理的FieldKey一致的FieldKey及对应的数值删除。
[0031]再一方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0032]存储器,用于存放计算机程序;
[0033]处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
[0034]再一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
[0035]本申请提供了一种数据缓存方法、装置、电子设备及存储介质,所述方法包括:接收并根据用户的活动报名请求信息,采用位图Bitmap形式缓存所述报名请求信息;其中,根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息,并对所述位置索引信息指示的字符进行更新;获取所述用户对应于所述活动本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据缓存方法,其特征在于,所述方法包括:接收用户的活动报名请求信息,采用位图Bitmap形式缓存所述报名请求信息;其中,获取所述活动报名请求信息中所述用户的标识信息,根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息,并对所述位置索引信息指示的字符进行更新;获取所述用户对应于所述活动的各个业务产生的交易信息,采用哈希映射Hashmap形式缓存所述交易信息;其中,确定所述用户对应于所述活动的各个业务的字符串FieldKey,将所述各个业务产生的交易信息对应写入字符串FieldKey对应的数值Value字段。2.如权利要求1所述的方法,其特征在于,所述根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息包括:根据所述用户的标识信息和预设的分散因子,确定活动位图中所述用户的位置索引信息。3.如权利要求1或2所述的方法,其特征在于,所述根据所述用户的标识信息,确定活动位图中所述用户的位置索引信息之前,所述方法还包括:若所述用户的标识信息为非数字类的标识信息,通过进制转换将所述非数字类的标识信息转换为数字类的标识信息。4.如权利要求3所述的方法,其特征在于,所述方法还包括:若所述数字类的标识信息大于设定的阈值,将所述数字类的标识信息拆分为至少两个子标识信息;分别确定各个子标识信息各自对应的位图中的位置索引信息;各个位图中的位置索引信息的组合作为所述活动位图中所述用户的位置索引信息。5.如权利要求1所述的方法,其特征在于,所述确定所述用户对应于所述活动的各个业务的字符串FieldKey之后,所述方法还包括:根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为短字符FieldKey。6.如权利要求5所述的方法,其特征在于,所述根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为短字符FieldKey包括:根据预先配置的映射关系表,将所述各个业务的字符串FieldKey分别映射为初始字符,将各个初始字符进行取余运算,将取余运算的结果与N/2的差值作为映射后的各个短字符FieldKey;其中,N为小于等于512的正整数。7.如权利要求5所述的方法,其特征在于,所述方法还包括:在所述映射关系表中配置FieldKey过期时间,检索出所述映射关系表中过期时间早于当前日期且未清理的FieldKey,定时扫描缓存中所有的HashMap,将与过期时间早于当前日期且未清理的FieldKey一致的FieldKey及对应的数值删除。8.一种数据缓存装置,其特征在于,所述装置包括:第一缓存模块,用于接收用户的活动报名请求信息,采用位图Bitmap形式缓存所述报名请求信息;其中,获取所...

【专利技术属性】
技术研发人员:唐海鹏都威姜峰田丰
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:

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

1