2月2日。
冬奥开幕倒计时48小时。
上午九点,三楼远程监控室。
大屏幕亮了。
不是待机状态了,四块55寸拼接屏上分成了六个区域。
左上角是节点心跳面板,五个节点的状态灯在跳,绿色的,每跳一次表示一次心跳确认。
右上角是交易数据面板,现在全是零,没有启动,但框架已经在了,每秒处理笔数、累计交易额、峰值并发、离线触发率,四个数据窗口排成一行。
中间两块是实时日志滚动区,空的,光标在闪。
下面两块是异常告警面板和工行清算端状态。
所有面板都是空的,等待数据灌入。
但灯都是绿的。
房间里有六个人,老周站在屏幕前面。
方远坐在3号工位。
另外四个技术组的人分坐在2号、4号、5号、6号工位,各自面前的电脑开着不同的监控界面,没有人说话。
空调的暖风从头顶吹下来,有人把外套搭在椅背上。
折叠床上的被子叠过了,叠得很整齐,大概是昨晚有人值班。
老周的搪瓷缸放在1号工位上,没有端。
他手里拿着一份纸质清单,A4纸,三页,比之前的两页多了一页。
封面上盖了一个章,央行数字货币研究所的章。
红色的,圆的,字很小,盖得正。
这不是微光内部的复检了,这是央行数研所要求的全系统联调复检。
正式的,有流程编号的。
编号印在清单右上角:DCEP-WO-2022-JC-001。
联调复检,冬奥,2022,检查,001。
第一次,也是最后一次,开幕前最后的全面检查。
…………
数研所那边有两个人在远程接入,视频会议开着,画面在大屏幕右下角的一个小窗口里。
两个人,一男一女,男的戴眼镜,面前摆了一台笔记本电脑,女的手里拿着笔,面前是一摞打印的文件。
背景是一间办公室,墙上挂着一面国旗。
工行清算端也在线,另一个视频窗口。
工行那边坐了三个人,穿深色西装的,表情严肃,其中一个在记录。
老周开始了。
"联调复检,第一项,可编程引擎v2.0.1,全节点部署确认。"
他看了一眼大屏幕左上角,五个绿灯。
"北京主节点,在线,崇礼A区、B区、C区边缘节点,在线,杭州备份节点,在线,心跳间隔8秒,最近24小时无丢包。"
数研所的男的在笔记本上敲了几下,点了下头。
"确认。"
他说,声音从音响里出来,有一点延迟。
老周在清单上打了一个勾。
"第二项,离线支付模块。"
他没有看清单,清单上写的他都背下来了,但他手里拿着清单,每说完一项就打一个勾,这是流程,数研所要求的流程。
"Wi-Fi覆盖区标准支付模式,确认,非覆盖区离线模式,确认,双模切换延迟在200毫秒以内,断网场景本地账本同步机制,最终一致性校验通过,崇礼实测数据:断网780秒,回调1.2秒,零偏差。"
"780秒的数据你们验证过几次?"
数研所的女的问,声音比男的清楚一些。
"崇礼实测一次,实验室模拟七次,每次结果一致。"
老周说。
对方没有追问,在文件上写了几个字。
"确认。"
…………
方远坐在3号工位。
他没有参与汇报,他在做另一件事。
屏幕上开着三个窗口,左边是竞态检测日志的实时监控界面,中间是v2.0.1的核心模块运行状态,右边是一个脚本终端,绿色字符在黑色背景上闪烁。
他在跑第三遍触发阈值验证。
不是模拟了,是在实际部署环境上做的低流量穿透测试,数研所批准的,测试窗口是今天上午九点到十一点,两个小时。
脚本在自动执行,每30秒向五个节点发送一组模拟交易请求,并发量从10逐步递增到500,然后回落,然后再递增,锯齿形的负载曲线。
他盯着竞态检测日志。
每一行都是绿的。
"RACE_CHECK: PASS. TimeStamp: 09:17:32.441"
"RACE_CHECK: PASS. TimeStamp: 09:18:02.891"
"RACE_CHECK: PASS. TimeStamp: 09:18:33.107"
每30秒一行,每一行都是PASS。
他的眼睛没有离开屏幕,咖啡在右手边,他端起来喝了一口,没有看杯子,嘴凑过去的时候杯沿碰到了嘴唇,咖啡已经不烫了。
…………
老周继续。
"第三项,智能合约基础层,三个预设合约模板:场馆消费、交通出行、餐饮服务,调用逻辑已固化,灰度测试完成。"
"确认。"
"第四项,工行清算端对接。"
工行那边的人坐直了一点。
"清算周期T+1,接口协议版本3.2.1,初五联调数据:请求响应时间均值11毫秒,峰值14毫秒,超时率0%。"
工行那边有人低头看了一眼自己的文件,然后抬头。
"我方确认,数据一致。"
老周打了个勾。
"第五项,场馆POS终端。"
"一百二十台,全部在线,崇礼C区两台已加装信号增强模块,信号强度从负82dBm提升到负71dBm,最近48小时心跳全部正常。"
数研所的人在记录。
"第六项,监控面板。"
老周转身看了一眼大屏幕,六个区域,全部空的,但全部亮着。
"实时监控面板已上线,数据面板六个模块全部就绪,异常告警阈值已设定,告警测试昨晚执行过一次,响应时间3秒。"
"告警通知发送到哪里?"
数研所的男的问。
"三个渠道,监控室大屏弹窗,值班人员手机短信,技术负责人企业微信。"
老周说,"三个渠道同时触发,不存在单点故障。"
"确认。"
"第七项,应急预案。"
老周翻到清单最后一页。
"三套预案,断网预案、节点故障预案、清算异常预案,文档已于一月初八同步贵所和工行,今天下午两点将进行桌面推演,确认各方响应流程。"
数研所那边两个人交换了一个眼神,男的点了下头。
"第七项,确认,桌面推演我们下午参加。"
老周把清单放下了。
七项,七个勾。
他拿起搪瓷缸,喝了一口,铁观音,凉了,他没有在意。
…………
方远的屏幕上,脚本还在跑。
并发量正在第四个锯齿的上升段,350,400,450,500。
竞态检测日志。
绿,绿,绿。
他的左手搭在桌沿上,手指没有动,右手握着鼠标,但没有在移动,整个人像一尊雕塑,只有眼睛在跟着日志的刷新节奏往下走。
大屏幕上,数研所的视频窗口还开着,老周在跟对方确认下午的桌面推演时间。
方远没有听,他在等脚本跑完。
500,开始回落,450,400,350。
绿。
…………
十点半。
老周走到方远身边,低头看了一眼屏幕。
没有说话。
看了三秒,看到日志全绿,转身走了。
方远也没有说话。
脚本还在跑,第五个锯齿。
…………
林彻在自己办公室。
他没有去三楼,联调复检的视频会议他有权限看,但他没有打开,老周能处理。
他在看另一个东西。
手机上,陈维发来的建仓进度,简短,一行字。
"首批建仓完成,布伦特89.2,占目标仓位22%。"
22%,第一批,四批中的第一批。
他看了两秒,没有回复,关了手机。
桌上的茶是温的,他喝了一口。
窗外杭州的天,今天比昨天亮一点,灰白色里有一点透光的迹象,也许是要晴。
也许不是,杭州的冬天说不准。
48小时。
大屏幕上,冬奥倒计时的数字在右上角,不是系统后台的那个了,是监控面板自己的倒计时,白色数字,红色底。
48:00:00。
在倒数。