尘土与星辰 -1992|第231章|校验与余量|中文
终端窗口里的进度条卡在73%。机箱风扇的转速被拉满,发出沉闷而持续的嗡鸣,像一台老旧的拖拉机在爬坡。林尘盯着屏幕右下角的内存占用曲线,峰值已经逼近92%。他伸手摸了摸机箱侧板,金属外壳烫得指尖发麻。这台服务器是二手市场淘来的,散热硅脂早就干裂成粉,跑全量哈希校
第231章 校验与余量
终端窗口里的进度条卡在73%。机箱风扇的转速被拉满,发出沉闷而持续的嗡鸣,像一台老旧的拖拉机在爬坡。林尘盯着屏幕右下角的内存占用曲线,峰值已经逼近92%。他伸手摸了摸机箱侧板,金属外壳烫得指尖发麻。这台服务器是二手市场淘来的,散热硅脂早就干裂成粉,跑全量哈希校验这种吃算力的重活,等于在刀尖上走。
他起身去厨房接了半盆冷水,把一块洗得发硬的旧毛巾浸透,拧干,敷在机箱侧板上。水汽瞬间蒸腾起来,带着铁锈和灰尘的味道。左脚脚踝的肿胀感顺着小腿肌肉往上爬,筋络像被细线勒紧。他靠在桌沿,把全身重心移到右腿,呼吸放平。不能慌。哈希校验是检测所的死命令,原始训练集十二万张影像,每张都要算SHA-256,错一个字节,报告直接打回。时间窗口只剩不到八小时。
他坐回椅子,打开另一个终端窗口。输入htop,确认进程优先级。把后台的日志同步和模型微调任务全部挂起,释放CPU资源。屏幕上的进度条重新跳动,74%,75%。他翻开错题本,笔尖在纸上划出几道短促的线。
“算力瓶颈。对策:分块校验,内存映射文件替代全量加载。风险:分块后哈希拼接需严格对齐,否则校验失败。执行:写中间件脚本,按5000张切片,跑完一段落盘一段。”
代码逻辑在脑子里过了一遍。他新建了一个Python文件,导入hashlib和mmap。手指在键盘上敲击,节奏稳定。没有多余的动作,每一行都是为了解决当下的阻塞。窗外的夜色浓得像墨,远处的路灯连成一条昏黄的线,偶尔有夜班货车驶过,轮胎摩擦柏油路的声音传进屋里,又迅速被机箱的轰鸣吞没。
苏曼的头像在微信上闪了一下。“我到了楼下。门禁坏了,保安不让进。另外,卫健委的飞行检查清单我拉出来了,重点看数据脱敏和权限审计。你那边进度怎么样?”
林尘回复:“跑批中。内存吃紧,正在改分块逻辑。你带门禁卡上来,顺便把测试环境的访问日志打包。飞行检查不查算法多先进,只查流程合不合规。”
十分钟后,门锁咔哒一声。苏曼推门进来,手里拎着两个塑料袋,里面是热包子和豆浆。她把东西放在桌角,没说话,先走到机箱旁看了一眼,伸手试了试温度。“硅脂该换了。再这么烤,主板电容撑不过这个月。”
“等这单结款。先跑完。”林尘没抬头,眼睛盯着屏幕。
苏曼拉过旁边的折叠椅坐下,打开自己的笔记本。屏幕冷光映着她的脸,眼下有淡淡的青黑。她没抱怨,直接切入正题。“权限日志我导出了。管理员账号登录频次正常,但有两个外部IP在凌晨三点尝试访问脱敏接口。虽然被防火墙拦截了,但飞行检查的专家肯定会问。我得写个说明,把测试痕迹和恶意扫描区分开。”
林尘敲下最后一行代码,保存,运行。“写清楚时间戳、IP段和拦截策略。别用‘疑似’,用‘已确认’。检查的人只看闭环,不听解释。”
苏曼点头,手指在键盘上飞快移动。房间里只剩下键盘声和机箱风扇的喘息。包子渐渐凉了,豆浆表面结了一层薄薄的皮。谁也没顾上吃。桌上的账本摊开着,最新一页写着:“服务器月租-2800,小满药费-1200,检测加急费-3500。尾款待收:17500。” 数字不会说话,但能托底。他知道怎么填,也知道填不满的部分只能靠时间熬。
进度条跳到89%。突然,终端弹出一行红字:MemoryError: Unable to allocate array with shape (5000, 256, 256) and data type float32。分块逻辑还是撞上了内存墙。
林尘手指停在半空。没有停顿超过两秒。他迅速注释掉当前脚本,调出备用方案。“不加载进内存,直接流式读取。用生成器逐张读,算完一张释放一张。慢一点,但不会崩。” 他重写核心循环,加入yield和gc.collect()。重新运行。进度条从89%开始,速度明显慢了下来,但曲线平稳,内存占用稳定在65%左右。
他看了一眼墙上的挂钟。凌晨两点四十七分。距离交付死线还有七小时十三分。他端起凉透的豆浆喝了一口,甜腻的味道顺着喉咙下去,压住了胃里的空虚。左脚又开始抽筋,他站起来,扶着墙慢慢走了两步,把重心完全压在右腿上,等那股酸胀过去,再坐回去。
苏曼抬头看了他一眼。“你腿不行就躺会儿,日志我来对。”
“不用。”林尘声音很平,“脚本在跑,人不能停。飞行检查的备查目录,按时间轴排。把数据脱敏的原始日志、清洗脚本的版本记录、还有伦理批件的扫描件,全放进一个文件夹。命名按‘日期_模块_版本号’。专家抽查时,十秒内必须能定位到文件。”
苏曼没再劝,继续整理文档。她知道林尘的节奏。他不需要安慰,只需要确认每个环节都在轨道上。
凌晨五点二十。终端跳出最后一行日志:Hash verification complete. Total files: 120,000. Mismatch: 0. Report generated.
林尘长出一口气。他点开生成的PDF,快速扫了一眼校验码列表。全部对齐。他打包文件,加密,通过检测所的指定端口上传。进度条走完,显示“接收成功”。他截了图,存进“交付记录”。合规的印章盖下去,尾款的闸门就松了一道缝。
苏曼合上电脑,揉了揉眉心。“飞行检查的模拟问答我列了二十条。明天下午过一遍。另外,老赵早上发消息,问医院那边的采购流程能不能卡着检测所的批件走。我说等哈希报告交了再推。”
林尘点头。“推。但别催。医院采购走的是集体决策,催急了反而起疑。把我们的临床指标和合规材料备齐,等他们自己走完流程。”
他站起身,准备去洗把脸。手机突然震动。不是微信,是来电。屏幕上跳出一个归属地显示为“省城”的陌生号码。他接通。
“林尘吗?我是省人民医院设备科。你们送检的影像解析系统,伦理批件和哈希报告我们看到了。但下周一的飞行检查,卫健委点名要抽查你们的‘数据溯源模块’。你们现在的版本,支持实时审计吗?”
林尘握紧手机。实时审计。这意味着底层架构要加一层日志拦截和不可篡改存储。现有系统没有预留这个接口。改,需要动核心代码,时间不够。不改,飞行检查直接一票否决。
他看了一眼苏曼。苏曼也听到了,眼神瞬间绷紧。
林尘沉默了两秒。声音平稳。“支持。但需要今晚把审计中间件热更新上去。不影响现有业务。我们明早八点前,把审计日志的对接文档发过去。”
挂断电话。房间里安静得能听见自己的心跳。
苏曼看着他。“热更新?风险太大。万一崩了,连初版都保不住。”
林尘走到桌前,翻开错题本。笔尖落下。
“第232条:架构临时重构。风险:热更新可能导致服务中断。对策:灰度发布,双写日志,保留回滚快照。执行:今晚切流量,明早交文档。没有退路。”
他合上本子。窗外的天色开始泛白。晨雾贴着玻璃窗漫进来,路灯的光晕在雾气里慢慢淡去。机箱的风扇声渐渐低下去,像一头喘过气来的老兽。他知道,缓冲期已经结束。下一轮拆解,从此刻开始。
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment