,由于一个key可能存在多个定时规则,因此需要判断是哪个规则触发了定时器,大体的方案是使用一个liststate来保存规则,定时触发点,伪代码如下:public void onTimer(long timestamp...原因有大致两点,不同规则可能拥有相同的条件,同一个规则也可能被同一个人多次触发,增加缓存复用结果减少对OLAP引擎的压力,大致的缓存机制如下:例如缓存的时间区间为t4 - t8,而条件区间可能为t1 -...t4 - t8和包含端点条件区间结果查询结果复用缓存机制方案细节1.使用Redis中的Hash结构存储Key为分组key+缓存id,value值为Map类型,key为时间区间和当前查询时间的拼接,value...值为ck查询结果的拼接2.valueMap中,可能同时存在多个上述的区间范围可能性,如何查询到缓存结果的最优解?...与事件包装为一个对象,通过反射机制获取分组的具体值,业务方可能给出N多个不重复的key,这样就把原来的数据放大了N倍,特殊的一个条件可能会按照多个key来分组,于是我们考虑把事件包装为[分组key的具体值