计算实时游戏排名的最有效方法
The most efficient way to calculate rankings in real time games
我想知道最快最有效的实时计算积分和排名的方法。
我正在做一款足球博彩游戏(用户尝试预测之前比赛结果的游戏)。在我国称为"Quiniela"。
玩家在比赛开始前放置 "predictions"。我的问题是:从游戏开始的那一刻起,这是计算玩家排名 "real time" 作为他们对实际结果的预测的最有效方法(不仅是代码级别,还有数据库和服务器)游戏。
例如:
如果 Team1 vs Team2 比赛,
用户U1预测比赛将以0-0结束,
U2 预测比赛将以 1-0 结束,
U3预测比赛将以1-1结束。
开始比赛时,U1的排名应该是第一,因为如果比赛就这样结束,他的预测是正确的,至少是最准确的。
然后比分变为1-0,用户U1将排名最后(因为他的预测不再可能),U2将是第一,U3将是第二。
如果比分变为1-1,U2先,U3后(因为他猜到了部分结果),U3最后
我考虑过在更改分数、更改排名 "temporarily" 和我会把它保存在缓存中。
游戏结束后,我将最新的排名保存在数据库中。
有没有更优化的方法来解决这个问题?
之前提出过,已经解决了?
我正在使用 MySQL 作为数据库,PHP (Cake Php) 作为服务器,还有一群手机偶尔会要求排名。
对不起我蹩脚的英语=(
我会使用以下方法:
保持排名 table 在每个比赛日之后存储当前排名。复制 table 以获得临时排名 table。每当比赛日开始时,将球员的当前排名复制到临时排名table中(可以通过在原始排名table中引入temporary_score列来避免二次关系和复制) .
每当游戏分数发生变化时,重新计算所有分数。当比赛结束后,您可以将临时排名复制回排名table。
我想知道最快最有效的实时计算积分和排名的方法。
我正在做一款足球博彩游戏(用户尝试预测之前比赛结果的游戏)。在我国称为"Quiniela"。
玩家在比赛开始前放置 "predictions"。我的问题是:从游戏开始的那一刻起,这是计算玩家排名 "real time" 作为他们对实际结果的预测的最有效方法(不仅是代码级别,还有数据库和服务器)游戏。
例如:
如果 Team1 vs Team2 比赛, 用户U1预测比赛将以0-0结束, U2 预测比赛将以 1-0 结束, U3预测比赛将以1-1结束。
开始比赛时,U1的排名应该是第一,因为如果比赛就这样结束,他的预测是正确的,至少是最准确的。
然后比分变为1-0,用户U1将排名最后(因为他的预测不再可能),U2将是第一,U3将是第二。
如果比分变为1-1,U2先,U3后(因为他猜到了部分结果),U3最后
我考虑过在更改分数、更改排名 "temporarily" 和我会把它保存在缓存中。
游戏结束后,我将最新的排名保存在数据库中。
有没有更优化的方法来解决这个问题? 之前提出过,已经解决了? 我正在使用 MySQL 作为数据库,PHP (Cake Php) 作为服务器,还有一群手机偶尔会要求排名。
对不起我蹩脚的英语=(
我会使用以下方法:
保持排名 table 在每个比赛日之后存储当前排名。复制 table 以获得临时排名 table。每当比赛日开始时,将球员的当前排名复制到临时排名table中(可以通过在原始排名table中引入temporary_score列来避免二次关系和复制) .
每当游戏分数发生变化时,重新计算所有分数。当比赛结束后,您可以将临时排名复制回排名table。