第31章(第2/3页)
乔惊霆搓了搓额头:“你……不是说要简单解释一下吗……”
沈悟非看着4人略显茫然的脸,像是被浇了一桶冷水,蔫儿了不少,他轻咳一声:“单服务器运算和多服务器运算的区别,就像……我们要得到100公斤的水果拼盘,这个拼盘由100种等质量的水果组成。单服务器就是用100个碗去盛拼盘,每个碗里都是1公斤的一模一样的水果,合起来就有100公斤。而多服务器则是每个碗只有一种水果,100个碗合到一起,才是100公斤,但同时,这7种水果要挨在一起,那3种水果和那6种水果永远不能碰到一起,这个水果要在那个水果上面,那个水果要从这个水果中间穿过,你知道100种水果能有多少种不同的排列组合吗?2的100次方,那是一个天文数字。何况这个游戏里的元素何止100。”
“哦,这么说就大概懂了。”乔惊霆再次觉得自己需要去加点智力,“那么这个BUG到底是啥?”
“你别急,我不把前面讲明白,你们更听不懂。”沈悟非看上去也很费劲的样子,“这个多服务器的系统,在进行如此复杂运算的同时,自然需要不停地维护,虚拟系统的存在,就是分配系统资源和空间,维护整个脚本系统运行状态的,当然,这是单服务器的虚拟系统,多服务器的情况肯定更复杂,也许不叫虚拟系统,但必须有这么一个东西,来自动化分配和控制资源,虚拟系统就像个幽灵一样,就存在于系统之中,控制系统中的所有数据。”
“那么我看到的那些东西……为什么只是一部分东西出现在虚拟系统中?”
“程序里面有类和象。类就是个模板,比如武器就是一类,符石是一类,地图是一类,而象就是具体的东西,基于类创造出来的,比如某个武器,某个符石,某个地图。而虚拟系统,维护着对所有象的引用。”
“什么?”
“就是……你使用这个武器,就成为这个类实例化的对象,不然我说这一类叫做ABC,你知道什么是ABC吗?只有我拿出一个代表ABC的东西,ABC才有了实际的意义。而当你不使用这个武器的时候,虚拟系统就删除对这个象的引用,但实际象还存在,只是你使用它的这个行为消失了。”沈悟非敲了敲桌子,“关键是,某些情况下,如果这个象一直不被引用,那么虚拟系统为了减轻服务器的压力,就会把这个象删除。”
舒艾恍然大悟:“所以惊霆看到的,就是被虚拟系统删除的象!”
“没错。比如,有一个物品,一直没有人买,虚拟系统就会把它删除来释放系统资源,但实际上这个物品并不是从系统里消失了,它的编码还在,随时可以再造。只有当你买它的时候,就是引用它的时候,虚拟系统就会造出一个给你。同样的,一种怪被反复打,期间可能会检测出各种各样可以改进的地方,比如你玩儿游戏,就有内测,内测发现的不足就会不断改正,而那些被改掉的旧版本呢?因为不再被引用,所以被虚拟机删除了。”
“怪不得我有时候碰到的怪有点破。”乔惊霆还记得自己第一次碰到的灰鼠,电线都露在外面。
“对。”沈悟非专注于某事的时候,周身就有一种坚定的气场,强过平日怯弱的样子数倍,“所以,那个虚无空间,就是游戏的虚拟系统,而你在里面看到的所有东西,都是因为版本更新、因为修改数据、因为没人买等各种原因不再被引用的象,但是其数据依旧留存于服务器之中,被虚拟系统删除之后出现在了你面前!”
几人屏息数秒,同时点了点头。
“虽然有点复杂,不过我听懂了。”邹一刀吐了口烟圈,“这个解释很合理。所以,他每到一个地方,看到的东西都不一样,也是因为服务器化区域运算。”
“对,我不知道这个游戏是靠多少个服务器支撑起来的,但是每到一个新城市,虚拟系统里被删除的东西都不一样,证明了服务器肯定不少。不过,分布式计算的多服务器系统肯定都是冗余系统,意思就是多个服务器会有叠加运算某一程序的情况,这样能够保证一个服务器坏了,这段程序也不会出问题,通过多重运算和备份来保证系统的稳定,所以,你肯定会看到重复的东西,只是概率上不常见罢了。”
乔惊霆则问道:“那么我成为城主之后,突然就看到了比之前多得多的东西,是因为什么?”
“权限问题。”沈悟非道,“就算你进入的是虚拟系统,但你始终在系统之中,还受到一定的限制,比如你不去临渊之国,你就看不到临渊之国里的东西,你不成为城主,你就看不到城市系统,也接触不到监控各个怪点的权限,当这些权限打开之后,你看到的自然就多了。”