游戏定点重置问题
玩过游戏的都知道游戏里都有定点重置的功能,比如商店刷新,副本刷新什么的。最近在做手游服务端,做到公会这一块了,公会里的每个成员都有贡献度,贡献度是一个星期重置一次(即每周一0点重置)。想请教各位大神,我这块应该如何设计,我目前想到的方案有2种:
1.服务器上跑一个定时任务,到了重置时间执行重置命令。但是这样会有一个问题就是,当玩家数量庞大的时候(假如100万),重置的时候就要一次性更新100万条数据,不知道数据受不受得了啊。而且每次重置都是重置所有玩家,这里面肯定还有好多僵尸号。
2.每个玩家各自给一个变量,用来记录重置时间(实际上所有玩家这个时间都是一样的),然后玩家登录的时候我就比对这个时间,如果符合条件就重置。但是这就有一个问题就是,如果过了重置时间这个玩家没登录,那么在公会列表里别的玩家看到这个玩家的贡献度还是上周的数据(本应该是0,即重置后的数据才对)。