欢迎光临散文网 会员登陆 & 注册

【开发日志补全计划】64位对大家来说应该足够了

2020-01-17 21:48 作者:木之本仁  | 我要投稿

原作者:CCP Creber Cattus

原文:http://community.eveonline.com/devblog.asp?a=blog&nbid=1882


文章摘要:我们正在把物品ID编号系统改为使用64位的数据。这是一个“添加/更改/移除游戏功能”之外的巨大变动。它主要发生在服务器端而且有点风险!:P 但是这个步骤对EVE的成长是很有必要的。


  在过去的岁月中,我们已经开始为使用64位数据而重新构建了物品ID编号系统。
 

这意味着什么?


  呃……游戏中每一个物品在数据库里都有一个ID。物品不仅仅是放在你机库里的东西,比如一堆凡晶石或者一艘乌鸦级,在你脑中的每一个技能、行星上的采集器、代理人、恒星系、星域、人物等等,都是物品的一种,总的来说几乎一切事物都是EVE中的一个物品。在这次改动之前,物品ID编号能够达到2,147,483,647;而在这次改动之后,这些ID能够达到9,223,372,036,854,775,807,也就是2^63 – 1(没错,是63……我们几乎从没用过这个数字)。光看看这些数字,你就知道新的系统要好的多了吧!
 

 

为什么我们要做这个(说真的)?


  多年前我们就已经接近32位ID编号系统的上限。为了缓解这个问题,我们一直在做的是:在大家删除自己的物品几个月后,我们会把那些物品的ID回收再利用。例如,当某个人把你的船打爆时,在这个过程中所有被摧毁的物品都会移到系统设置的垃圾场;垃圾场里物品的ID会在一段时间后被系统回收,因此这些ID就可以被其他的物品重新使用。以前,回收再利用物品ID使我们相当痛苦。有时指向一个特定物品ID的记录变得无效了(所以那些个记录里毛都没有!),当有新的物品类型加入的时候,新的额外的信息列表可能不会在垃圾场清理脚本中被正确地处理,这样一来就对我们造成了问题;2010年初,世界服务器的垃圾场清理脚本就自己崩坏过,让我们很头疼,还记得那次黑色星期五吗?接着在看到Incarna预告片的时候,我们预计物品的增长会比现在更快,所以我们知道这个问题只会变得更大。物品的增长会用完目前所有可用的物品ID,而我们将没有可回收再利用的物品ID,也没有人可以再创建新物品。所以说,这次有了64位的ID系统后,我们就能停止回收再利用物品ID,这是件好事情……别误会,我不是讨厌环境保护,我只是不喜欢回收再利用。以后,我们不需要追踪记录哪些ID可用,还有一个额外的好处,就是当物品创建时,我们不需要为它另外做记录。


那么,这样做的风险是什么?


  这个改动刚开始一直在小的内部测试服务器上运行,随后在大型的内部服务器上运行,再后来一直在公共测试服务器上运行。尽管我们一直广泛地测试这个改动,由于它涉及了游戏里面几乎每一个系统,还是有可能会造成影响。


  在它正式上线后,我们会一直密切关注反馈信息、错误记录、错误报告和总体的服务器运行状况,并且准备对任何问题作出迅速回应。所以上线日是“全体动员”的一天,直到我们确信服务器正顺利地航行在星辰大海中。


  转换全部现有数据需要很长一段时间,所以我们估计版本升级时会消耗大约十几个小时的停机维护时间。这些时间花得很值,因为我们每秒钟将可以获取183万亿个物品ID。:P


【开发日志补全计划】64位对大家来说应该足够了的评论 (共 条)

分享到微博请遵守国家法律