老旧城区改造项目的数据中心坐落在城市东北角的边缘地带,这里曾经是轻工业聚集区,如今只剩下零星几个还在运转的仓储物流中心。数据中心所在的建筑原本是纺织厂的办公楼,方正的灰色水泥结构在新城区玻璃幕墙的映衬下显得格格不入。
蒋陈站在对面废弃厂房的天台上,用望远镜观察着数据中心的情况。今天是系统升级的前一天,按照他从前在智算中心工作的经验,这个时候应该会有外部技术团队进驻,做最后的准备工作。
果然,上午九点刚过,三辆没有任何标识的白色厢式车驶入数据中心院门。车上下来十几个穿着统一灰色工装的人,开始从车上卸下设备。蒋陈调整焦距,看清了他们胸前的徽标:一个抽象的齿轮图案,旁边是“智算技术支持”的小字。
这是他等待的信号。系统升级期间,为了确保数据迁移的稳定性,会短暂关闭部分非核心的监控模块。这个“短暂”通常不会超过四小时,但足够完成一次精确的数据提取。
“看到什么了?”耳麦里传来宋默央的声音。她留在气象站,负责监控系统的整体数据流。
“技术支持团队已经到了。”蒋陈低声说,“确认是标准升级流程。设备是新型号的量子服务器,需要重新配置安全协议。这个过程中,本地监控会有两到三个小时的盲区。”
“你确定要亲自去吗?我们可以让陆寻——”
“陆寻还没准备好。”蒋陈打断她,“而且这次需要我的权限卡。孔疏敏没有完全注销我在系统内的身份,只是限制了权限。但在升级期间,旧的身份验证系统会重启,我的卡应该还能用。”
“应该?”宋默央的声音里满是担忧。
“至少百分之七十的概率。”蒋陈收起望远镜,从背包里取出准备好的工装换上。灰色的布料,胸前缝着一个伪造的徽标,和楼下那些人穿的几乎一样。“如果失败了,你知道该怎么做。销毁所有联系,保护好名单上的人。”
“蒋陈——”
“这是计划的一部分。”蒋陈的声音平静得不像是在谈论可能的失败,“我们都在冒险。区别只是冒险的方式不同。”
他检查了随身装备:伪造的工牌、经过特殊处理的权限卡、几个微型数据提取器、还有一把用来切割线缆的绝缘钳。没有武器,武器在这里毫无意义。真正的战斗发生在数据层面。
下楼,穿过街道,走向数据中心。门口的保安只是扫了一眼他的工牌就放行了——升级期间进出人员太多,没人能记住每一张脸。蒋陈低着头,脚步不疾不徐,和周围其他技术人员保持着相似的节奏。
数据中心内部比他记忆中要陈旧许多。墙壁上的涂料已经开始剥落,走廊的照明灯管有几盏在闪烁。空气中弥漫着服务器散热和灰尘混合的气味。这里是均衡系统的“次级节点”,处理着老旧城区的数据流,重要但不核心,正适合进行一些不被注意的操作。
他按照记忆走向主控室。路上遇到两个正在搬运服务器的技术人员,彼此点了点头,没有交谈。这种沉默是技术人员的职业习惯,此刻成了最好的伪装。
主控室的门虚掩着,里面传来对话声。蒋陈在门外停下,侧耳倾听。
“……迁移进度百分之三十七,比预期慢。”一个年轻的声音。
“新型号服务器的兼容性问题,预料之中。”另一个沉稳些的声音,“重点是确保在窗口关闭前完成核心数据的迁移。非核心模块可以延迟。”
“明白。那监控系统的重启时间呢?”
“按原计划,迁移完成百分之六十后,会关闭本地监控进行最后的环境适配。大概……”敲击键盘的声音,“两小时十五分钟后。”
蒋陈记住了这个时间。他退后几步,转向旁边的设备间。里面堆满了待更换的旧服务器,正好可以藏身。
设备间没有窗户,只有一盏昏暗的应急灯。蒋陈找了个角落坐下,开始漫长的等待。他能听到外面走廊里来来往往的脚步声,技术人员的简短交流,设备搬运车的轮子碾过地面的声音。时间一分一秒地流逝,每一秒都像是在刀尖上行走。
他的思绪飘回了多年前。那时他还是智算中心最年轻的首席架构师,每次系统升级都像是一场盛大的仪式。他会站在主控室里,看着大屏幕上跳动的数据流,想象着这些代码将如何改变人们的生活,如何消除不公,如何创造更美好的社会。
那时的他不会想到,有一天自己会躲在设备间的角落里,像个小偷一样等待机会。
耳机里传来轻微的电流声,是宋默央预设的信号:一切正常,没有异常警报。
蒋陈闭上眼睛,试图放松紧绷的神经。他想起了父亲,那个一生都在小研究所里默默无闻的老研究员。父亲常说,技术本身没有善恶,就像刀子可以切菜也可以伤人,关键在握刀的手。他直到现在才真正理解这句话的含义。
外面的脚步声渐渐稀少。升级进入深水区,大部分技术人员都聚集在核心区域处理关键问题。蒋陈看了看时间,离监控关闭还有不到三十分钟。
他站起身,活动了一下僵硬的四肢。然后从背包里取出数据提取器,检查状态。小小的设备指示灯闪着绿色的光,一切就绪。
就在这时,门外传来脚步声,越来越近。蒋陈立刻缩回角落,屏住呼吸。
门被推开了。一个穿着工装的技术员走进来,手里拿着一个检测仪。他在房间里扫视了一圈,目光在蒋陈藏身的角落停留了一瞬,然后走向对面的设备柜,开始检测线路。
蒋陈能听到自己心跳的声音。汗水从额角滑落。
技术员检测了一会儿,似乎对结果不满意。他嘟囔了一句什么,然后打开通讯器:“B区三号设备间,七号线路有轻微干扰,建议迁移完成后再处理。”
通讯器里传来模糊的回应。技术员收起检测仪,转身离开。门在他身后关上。
蒋陈等了几分钟,确认外面没有声音后,才缓缓呼出一口气。太险了。如果刚才被发现,一切就都结束了。
时间到了。
他推开门,走廊里空无一人。主控室的门已经完全关闭,但旁边的应急通道还开着。蒋陈闪身进入通道,沿着狭窄的楼梯向下。数据中心的核心存储区在地下二层,那里是物理隔离区域,也是这次升级的重点。
地下二层的气温明显更低。巨大的服务器阵列在黑暗中排列延伸,指示灯像星海一样闪烁。蒋陈找到了目标服务器——那是老旧城区“社区行为数据”的存储节点。根据他从木马程序截获的信息,这里保存着孤岛计划在老旧城区的完整实验数据。
他插入权限卡。读卡器的指示灯闪烁了几下,从红色变成绿色。门开了。
房间不大,只有三组服务器。蒋陈直奔中间那组,从背包里取出连接线,将数据提取器接入预设的调试接口。屏幕上开始滚动代码,提取程序启动了。
进度条缓慢爬升。百分之十,百分之二十,百分之三十……蒋陈盯着屏幕,手心全是汗。这个程序是他花了几个晚上编写的,理论上可以绕过升级期间的临时防火墙,但理论上和实际之间往往有着巨大的差距。
百分之五十。走廊里传来脚步声。
蒋陈的心脏几乎停跳。他迅速环顾四周,没有藏身之处。服务器柜之间的缝隙太窄,天花板是密封的,唯一的门……
脚步声在门外停住了。有人在说话。
“……确认一下B-7区的温度监控,刚才系统显示有短暂异常。”
“可能是传感器故障,升级期间经常有这种误报。”
“还是确认一下。开门。”
门禁系统发出提示音。蒋陈的脑子飞速运转。他现在有两个选择:中断提取,尝试逃跑,但数据就没了;或者赌一把,赌他们在检查温度监控时不会注意到服务器后侧。
他选择了赌。
蹲下身,缩在服务器后面,尽可能减少暴露的体积。数据提取器的屏幕还亮着,他用手遮住光亮。
门开了。两道手电筒的光束扫进房间。
“温度正常。”一个声音说。
“传感器读数也正常。果然是误报。”
“记录一下,升级后校准这个传感器。”
光束在房间里扫了几圈。蒋陈屏住呼吸,他能看到其中一束光在离他不到一米的地方晃过。汗水滴进眼睛,刺痛,但他不敢眨眼。
“走吧,C区还有几个点要检查。”
门关上了。脚步声远去。
蒋陈瘫坐在地上,过了好几秒才重新控制住呼吸。他看向数据提取器,进度条已经走到百分之八十五。快了,就快了。
最后百分之十五像是过了一个世纪。当“提取完成”的提示终于出现时,蒋陈几乎要虚脱。他迅速拔下设备,清除所有访问记录,然后退出房间。
回程比进来时更紧张。每一次拐角都可能遇到人,每一次脚步声都可能意味着暴露。但他运气不错,或者说,升级期间的混乱给了他掩护。当他终于走出数据中心,重新呼吸到室外空气时,夕阳已经开始西沉。
他没有回头,径直走向预定的撤离点。一辆没有任何标记的旧电动车停在那里,钥匙在轮胎后面。他发动车子,驶入暮色中的街道。
开出很远后,他才敢打开通讯器。
“我拿到了。”他说。
耳麦里沉默了几秒,然后传来宋默央的声音:“安全回来。我们需要你。”
蒋陈关掉通讯,看向后视镜。数据中心在远处缩小成一个灰色的方块,窗口陆续亮起灯光。升级还在继续,系统还在运转,一切都和之前没什么不同。
但有些东西已经改变了。在他的背包里,在一个小小的数据提取器里,装着可以撕裂整个孤岛计划的证据。不是完整的证据链,还不够,但这是第一块真正的拼图。
夜色完全降临。蒋陈骑着电动车,穿过逐渐亮起路灯的街道。在他周围,城市像往常一样运行着。人们下班回家,系统为他们推荐晚餐食谱和晚间娱乐;孩子们在智能辅导下完成作业;老人们通过健康监测设备向子女报平安。
一切都是如此和谐,如此有序。
蒋陈想起刚才在数据中心,那个技术人员说的话:“果然是误报。”
在孔疏敏的系统中,所有异常都是误报,所有裂缝都是幻觉,所有质疑都是需要被优化的认知偏差。她用数据筑起高墙,然后告诉墙内的人:这就是世界的全部。
但墙外还有世界。而他现在手里,握着第一把凿墙的锤子。
电动车驶入旧城区错综复杂的巷弄。灯光越来越稀疏,道路越来越颠簸。但蒋陈感到一种奇异的安心。在这里,在系统的边缘,在数据流的缝隙中,反抗正在生根。
他不知道这条路最终会通向哪里。也许前方是更厚的高墙,也许是悬崖。但至少,他们在往前走。
至少,他们不再假装墙不存在。