閉環(huán)
七點(diǎn)三十分,圍擋區(qū)配電箱的盒子準(zhǔn)時(shí)發(fā)出了確認(rèn)信號(hào)。信號(hào)波形在頻譜儀屏幕上出現(xiàn)了一組規(guī)律的脈沖序列,持續(xù)約三秒后結(jié)束。顧晏在旁邊同步記錄了信號(hào)的完整波形,將它與之前從物流園中繼器捕獲的通信樣本做了對(duì)比,確認(rèn)了信號(hào)格式的一致性。
“確認(rèn)信號(hào)已發(fā)出,時(shí)間窗口和格式都符合預(yù)期?!邦欔贪巡ㄐ斡涗洷4嫦聛?lái),“如果廖維今天沒(méi)有特殊安排,這個(gè)信號(hào)就是他確認(rèn)盒子狀態(tài)正常的方式?!?/p>
陸維楨站在操作臺(tái)側(cè)面,目光在沿海備用車(chē)的gps坐標(biāo)和車(chē)輛行駛方向之間來(lái)回切換。備用車(chē)的信號(hào)顯示它已經(jīng)離開(kāi)了最后一個(gè)服務(wù)區(qū),正在向沿海方向行駛。按照當(dāng)前速度,它將在上午十點(diǎn)左右進(jìn)入沿海城區(qū)的范圍。如果這輛備用車(chē)上載有從蓉城轉(zhuǎn)運(yùn)出來(lái)的數(shù)據(jù)設(shè)備,那么它的到達(dá)時(shí)間和物流公司常規(guī)的轉(zhuǎn)運(yùn)周期是吻合的。
周承岳從大廳入口方向走近,手機(jī)屏幕亮著,上面是一份剛收到的協(xié)調(diào)計(jì)劃草案?!把睾D沁叺娜艘呀?jīng)在貿(mào)易公司注冊(cè)地址附近做好了信號(hào)監(jiān)測(cè)準(zhǔn)備。專(zhuān)線鏈路如果被切斷,他們能在三十秒內(nèi)確認(rèn)鏈路狀態(tài)變化。物流車(chē)隊(duì)的追蹤組也已經(jīng)鎖定了那輛備用車(chē)的實(shí)時(shí)位置。“
“備用車(chē)到達(dá)沿海城區(qū)之后,它優(yōu)先去的地方是那家貿(mào)易公司的注冊(cè)地址還是樞紐樓?“陸維楨問(wèn)。
周承岳低頭看了一眼手機(jī)上的反饋消息,然后抬頭說(shuō):“目前沒(méi)有確切的路線規(guī)劃。但從上一輛白色面包車(chē)的行駛記錄來(lái)看,它在到達(dá)沿海城區(qū)后先??苛速Q(mào)易公司注冊(cè)地址所在的那條街道,然后才去了樞紐樓。可能是兩處地點(diǎn)都需要停留?!?/p>
陸維楨在腦海里把兩處地點(diǎn)的時(shí)間順序過(guò)了一遍。貿(mào)易公司的注冊(cè)地址和樞紐樓相距約兩公里,如果車(chē)輛需要在兩處分別停留,每次停留時(shí)間不會(huì)太長(zhǎng)——應(yīng)該只是放下或者取走某樣?xùn)|西。可能貿(mào)易公司地址處存放的是舊的數(shù)據(jù)存儲(chǔ)介質(zhì),而樞紐樓負(fù)責(zé)將新數(shù)據(jù)送出境。備用車(chē)到達(dá)后,先到貿(mào)易公司放下舊的介質(zhì),然后到樞紐樓接駁新的傳輸流程。
“舊介質(zhì)被替換下來(lái)后可能要回收。“陸維楨說(shuō),“物流公司不只是單向運(yùn)送數(shù)據(jù),它也在循環(huán)使用存儲(chǔ)介質(zhì)。車(chē)輛到達(dá)沿海后把舊卡取下來(lái)放在貿(mào)易公司那邊,然后帶一批新卡回蓉城繼續(xù)使用。所以備用車(chē)到貿(mào)易公司地址的停留時(shí)間用于回收舊卡,到樞紐樓的停留用于送出新數(shù)據(jù)?!?/p>
周承岳把這條邏輯快速整理成消息發(fā)給了沿海方向。大約兩分鐘之后他收到了回復(fù),回復(fù)內(nèi)容被精簡(jiǎn)成一行:“貿(mào)易公司地址和樞紐樓兩處地點(diǎn)的行動(dòng)可以同時(shí)執(zhí)行。備用車(chē)在貿(mào)易公司地址停靠時(shí)截停車(chē)輛,同時(shí)切斷專(zhuān)線——兩個(gè)操作的時(shí)間差可以控制在一分鐘以內(nèi)?!?/p>
陸維楨在白板上的“沿?!肮?jié)點(diǎn)下方添加了一條時(shí)間線。他在時(shí)間線上標(biāo)注了備用車(chē)預(yù)計(jì)到達(dá)的時(shí)間窗口,然后畫(huà)了兩條平行的短箭頭,分別指向“車(chē)輛截?!昂汀皩?zhuān)線切斷“兩個(gè)操作標(biāo)記。他在兩個(gè)標(biāo)記之間畫(huà)了一條豎線連接,標(biāo)注了“同步執(zhí)行“。
“車(chē)輛截停后,車(chē)上帶回蓉城的舊卡如果被取走,就能進(jìn)一步確認(rèn)蓉城和沿海之間的數(shù)據(jù)流動(dòng)周期。“他說(shuō),“同時(shí)專(zhuān)線切斷后,貿(mào)易公司那邊的數(shù)據(jù)通道就斷了,就算備用車(chē)上的新卡沒(méi)被截住,數(shù)據(jù)也無(wú)法通過(guò)專(zhuān)線送出?!?/p>
顧晏一直站在操作臺(tái)側(cè)面沒(méi)有坐下。她手里的頻譜儀還開(kāi)著,屏幕上持續(xù)顯示著物流園中繼器的信號(hào)狀態(tài)。她看了一眼屏幕然后抬起頭來(lái),看向陸維楨的方向:“物流園中繼器的輪詢周期是常規(guī)循環(huán),但它的主頻邊沿有一組從昨天開(kāi)始出現(xiàn)的微幅波動(dòng)。波動(dòng)的周期和備用車(chē)的位置更新頻率接近,可能在通過(guò)中繼器同步備用車(chē)的狀態(tài)信息?!?/p>
“中繼器在監(jiān)控車(chē)輛狀態(tài)。“陸維楨轉(zhuǎn)過(guò)身來(lái),“物流園中繼器不只是接收和轉(zhuǎn)存數(shù)據(jù)——它還在跟蹤物流公司車(chē)輛的實(shí)時(shí)位置。備用車(chē)的gps信號(hào)可能被中繼器同時(shí)讀取并存儲(chǔ)了一份。如果我們截停了備用車(chē),中繼器會(huì)在下一次心跳信號(hào)中檢測(cè)到車(chē)輛位置不再更新,然后觸發(fā)異常狀態(tài)?!?/p>
閉環(huán)
他快速走到操作臺(tái)前坐下,打開(kāi)了物流園中繼器的遠(yuǎn)程訪問(wèn)界面。利用之前從物流園中繼器存儲(chǔ)卡上獲取的協(xié)議樣本,他向中繼器的管理端口發(fā)送了一條“車(chē)輛狀態(tài)確認(rèn)“的查詢指令。幾秒后中繼器返回了一個(gè)數(shù)據(jù)包,包里包含了一組gps坐標(biāo)序列——備用車(chē)過(guò)去四小時(shí)的行駛軌跡,位置更新頻率均勻,最后一次更新時(shí)間在幾分鐘前。
“中繼器確實(shí)在監(jiān)控車(chē)輛位置?!瓣懢S楨把返回的數(shù)據(jù)包保存下來(lái),“截停備用車(chē)的同時(shí)需要處理掉中繼器里的車(chē)輛定位跟蹤數(shù)據(jù)。否則中繼器會(huì)在備用車(chē)停靠后約十五分鐘內(nèi)向主控端發(fā)送車(chē)輛異常的警報(bào)。“
周承岳立刻接上了這句話:“處理中繼器數(shù)據(jù)需要多少時(shí)間?“
“從發(fā)送清除指令到數(shù)據(jù)被覆蓋完成,大約需要五到八秒。“陸維楨看了一眼物流園中繼器的操作界面,“清除指令的格式和常規(guī)數(shù)據(jù)回傳指令相似,只需要把目標(biāo)字段替換成中繼器存儲(chǔ)區(qū)的緩存地址即可。我可以在備用車(chē)截停的同時(shí)遠(yuǎn)程發(fā)送清除指令,把車(chē)輛跟蹤數(shù)據(jù)從它的緩存中覆蓋掉?!?/p>
他低頭在鍵盤(pán)上快速編寫(xiě)了一條針對(duì)中繼器緩存的清除指令,把指令格式和物流園中繼器支持的協(xié)議版本做了最后一次確認(rèn)。保存好之后他抬頭看了一眼墻上的時(shí)鐘——八點(diǎn)零七分。
“備用車(chē)預(yù)計(jì)到達(dá)沿海城區(qū)的時(shí)間在十點(diǎn)到十點(diǎn)半之間?!瓣懢S楨說(shuō),“距現(xiàn)在還有大約兩個(gè)小時(shí)。這段時(shí)間內(nèi)我需要確認(rèn)清除指令是否會(huì)觸發(fā)中繼器自身的安全告警機(jī)制。如果會(huì),就需要在發(fā)送清除指令之前做一次協(xié)議層的掩蓋。“
顧晏端著頻譜儀的探頭靠近工作站的天線接口,聯(lián)機(jī)讀取了物流園中繼器的底層協(xié)議狀態(tài)。她的目光掃過(guò)屏幕上展開(kāi)的協(xié)議棧分段圖,用一只手在鍵盤(pán)上快速敲擊了幾行指令,然后松開(kāi)手讓結(jié)果自己運(yùn)行。幾秒后,屏幕上的協(xié)議棧被折疊成了一行簡(jiǎn)潔的狀態(tài)摘要,摘要末尾標(biāo)著兩行小字:“清除指令對(duì)中繼器主控協(xié)議來(lái)說(shuō)屬于常規(guī)系統(tǒng)維護(hù)指令序列的一部分,不會(huì)觸發(fā)單獨(dú)的安全告警。主控端只有在收不到預(yù)期心跳信號(hào)時(shí)才會(huì)啟動(dòng)檢查流程,而清除指令本身不改變心跳信號(hào)的發(fā)送間隔。“
陸維楨把那行摘要內(nèi)容記在了筆記本上。他站起來(lái)重新面向白板,在“車(chē)輛截?!昂汀皩?zhuān)線切斷“兩個(gè)標(biāo)記旁邊各添了一個(gè)小字:“清緩存“和“斷鏈路“。四個(gè)操作形成一個(gè)閉環(huán),在時(shí)間線上并列排開(kāi)。然后用一條線把它們?nèi)靠蛟谝黄?,在線框的末尾寫(xiě)了兩個(gè)字:“九點(diǎn)五十——行動(dòng)啟動(dòng)倒計(jì)時(shí)?!?/p>
他把筆放下,退后一步,看著白板上那個(gè)完整的操作計(jì)劃圖。所有節(jié)點(diǎn)都在上面了——從蓉城研究所內(nèi)部的光纖分流口開(kāi)始,經(jīng)過(guò)弱電間、會(huì)議室、圍擋區(qū)、公交站臺(tái)、物流園,通過(guò)物流公司的車(chē)輛體系延伸到沿海城市,再通過(guò)貿(mào)易公司的專(zhuān)線出境。鏈條上的每一個(gè)點(diǎn)現(xiàn)在都被識(shí)別并且對(duì)應(yīng)了具體的切斷或清除措施。整條線將在今天上午十點(diǎn)左右被同時(shí)打斷,從中間和末端兩個(gè)方向同時(shí)施加切斷力,使鏈條無(wú)法形成完整的回路。
光屏在他的視野里亮了一行字,字體比以前明亮,邊緣帶著一絲淡藍(lán)的輝光:“建議在行動(dòng)開(kāi)始前再次確認(rèn)備用車(chē)的位置及其是否載有原定從蓉城轉(zhuǎn)運(yùn)的數(shù)據(jù)設(shè)備。如果備用車(chē)只是空車(chē)補(bǔ)給,截停行動(dòng)的意義會(huì)降低?!瓣懢S楨沒(méi)有抬頭,他的目光落在白板上的全圖上。那條從蓉城延伸出去直到港口的線條,每一個(gè)節(jié)點(diǎn)都對(duì)應(yīng)著他親手標(biāo)注的內(nèi)容和記錄。他盯著那個(gè)錨點(diǎn)看了幾秒鐘,然后視線向下移到了操作臺(tái)上的海岸線地圖上,地圖上沿海城市那片灰色建筑群的輪廓在屏幕光線下顯得清晰可見(jiàn),灰色的屋頂連成一排延伸向港口的方向。