搜索dota2游戏协调服务器中 DOTA2蓝字显示协调服务器


Dota2游戏协调服务器将在太平洋时间下午4点进行维护,届时将暂停新游戏的创建,但正在进行的游戏将不受影响。游戏结果和任务完成情况的结算会暂时延迟。若维护工作一切顺利,预计服务器将停机约一个小时,我们将在推特上实时更新情况。

在过去,我们曾认为32位整型足以用于标记大约43亿场比赛次序,但我们的预期过于乐观了。

我们的数据库不支持无符号整型,因此总的数据量限制在约2^31次方,即大约21亿4千万左右。而且,我们采取了许多措施使得编号池的消耗速度更快。

例如,在比赛刚匹配成功时,我们就会立即分配一个场次ID,即使这局游戏并未成功开始。甚至对于所有离线人机游戏,我们也都分配了场次ID。

这个32位的编号池消耗速度远超我们的预期。如今,这个编号池已近枯竭,或许大家尚未察觉,当前最大的游戏场次ID已经突破了21亿大关。

为应对这一问题,我们正在不断推进数据架构的升级工作,将采用64位场次ID进行编号。

在技术层面,当更改列大小时,使用SQL语言通常能快速完成操作,原有存储数据的行在写入新数据时会自动扩展大小。

当某列为主键或索引包含该列时,简单的更改操作便无法实现。我们必须重建整个表。

在我们的数据库中,许多表都使用了场次ID作为主键或索引。尽管这些表规模不算特别庞大,但我们仍需对它们进行重建。

值得注意的是,尽管场次ID数据总量巨大——约170亿行数据占据的存储空间达6TB之巨——我们仍有能力进行整体迁移至新表中。预计完成整个迁移工作可能需要一个星期时间。

在服务器维护期间,我们将把过去几小时的场次ID从旧表迁移至新的64位表中。之后,我们将全面启用新表并重新上线服务器。若一切顺利,我们将迎来新的开始。

期待下次在2038年再与大家相见!

(注:对于几个小时前的场次ID迁移问题,我们的目的是高效且准确地进行数据处理工作。)

(额外提示:在2038年即将到来之际,提醒大家关注计算机的“2038年问题”。这是由于某些32位计算时间库的局限性所导致的。如有兴趣,可自行搜索了解“2038年问题”的详细信息。)

各位玩家朋友们,我们共同度过了近21亿局的DOTA2时光。

通过资深玩家的解释,我们了解到2038年是32位计算时间库可以达到的最高年份。V社的这一巧妙设计确实令人称道。