关于连续登录用户数据提取的一点儿思路

最近接到产品一个需求,希望提取下游戏中的某个日期范围内的连续登录用户的数据,具体是对满足某个连续登录条件的用户进行不同的奖励。
  在工作中,这个需求此次是第二次遇到了,这是个很普遍的需求场景。初接到这个问题,会有点儿觉得麻烦,要从按天日志里去提取出这个数据,一开始,很容易想到循环法上去,但是要进行连续与否的判断时,想着想着就把自己想晕了。当然最简单的循环法也可以出结果,但是效率会非常低,尤其在时间范围长,日志数据量大的情况下。效率低下肯定得排除。
  喜欢借用外力,运用已有的工具,通常是搞运维的人的特质,所以这次在遇到这个需求时,自己想了想能否借鉴下成熟的技术来实现这个需求,当然效率又不能太低呢?然后想到,话说这个世界就是一个映射的世界,关键是找对自己需要的那个映射。
  下面进入整体,首先一开始想到的是二进制,因为很容易想到把期间二进制化后,把每个用户每天登录与否,(登录位置置为1,否置为0)用位运算正确的设置进去。但是呢因为自己对shell二进制用法不熟悉所以此种思路打算放弃。
  再想其他方法,忽然想到把用户按天登录映射成一个1和0的字符串的话,可以用模式匹配的方法,来高效快速的去完成这个需求。再多说点儿就是可以把去匹配5个1的串,6个1的串等等,这样就可以很容易的得到>=5天的用户情况,>=6天的用户情况等等,然后再辅以各类优化之法,去得到具体连续登录几天的用户数据。
  此处只说思路,具体实现之法,相信对于各位大侠来说,都是小菜一碟。记录此文,别无班门弄斧之意,纯粹为交流思路。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值