根据http://blog.youkuaiyun.com/heartrude/article/details/8523570的设计,其实还有几点可以优化
2.如果已经有N种类型的成就,而有一个新的需求,其事件是已有的几种成就组事件的组合,则需要
产生一种新的成就组,使用新的成就Buff。存储空间浪费,冗余大增,而且无法使用已经收集的信息。
比如已经有 杀敌 杀友两个成就组,新加一个成就组是杀敌〉10,杀友>10的部分敌我的成就。就需要重新添加成就组,而且无法使用现有的杀敌、杀友收集数据。
优化就是:
把数据存储按成就组来存放改为按事件来存放。不同成就组可以使用指定的时间参数,而不是规定自己的参数Size
比如参数:1.杀敌数、2.杀友数、3.杀死地方X兵种数
这样的好处:
1.解决冗余记录数据问题
2.解决原记录数据无法使用问题
3.不用策划配置存储空间以及内存偏移量
这里对于数据收集系统的表存储结构,数据存储频度需要额外关注。