“醒醒!”,朦朧中有一個人叫醒了我。“跟我走”,那個身穿linux制服的胖得像企鵝一樣的大叔拉著我就走。“你誰啊?去哪里?”我驚恐的問。“我是操作系統,我負責給你安排工作。你是一個SDN控制器,是Ryu族人,就給你分配代號9527吧,憑著這代號你可以得到很多資源,從而幫助你完成工作。”那大叔顯得有限不耐煩地回答。
“看到沒有,前面辦公樓里的6633房間就是你的辦公室,你的工作就是處理信件和包裹,會有門房大爺給你收發信件,你記得找他取信就可以了,過期他會丟掉的。”操作系統大叔邊走邊說,一轉眼已經到了門口。門房果然有一個大爺,那包裹已經堆積如山了,胸口上沾了好多灰塵的工作證都來不及擦拭,不過隱隱約約還是可以看出上面寫著“網卡”兩個字。
“哦,謝謝大哥。” 我突然反應過來,加快腳步跟上操作系統的步伐。但我依然不知道我來這里是做什么的,周圍都好陌生。對未知未來的迷茫與彷徨,讓我忍不住問操作系統大哥,“操作系統大哥,我來這里干什么啊?” “你這么叫不累?叫我linux就好了。你是新來的員工,做什么你可以看看你胸前的說明書”。
我低頭一看,我的天啊,我貼著這么大的說明書走過來三條街,還和5個美女打了招呼,我以為他們覺得我帥才對我笑,太丟人了!我拿下說明書才發現上面赫然寫著“README”, 我的天啊,怪不得那個小孩滿臉堆笑地跟著我念著一些什么SDN的話,我還覺得這孩子是不是腦子發育不太好。羞愧之余,我慢慢往下讀。
原來我被任命為因特奈特國的金銀島的快遞主管。說明書上還提到了任命我的原因,原來我的身世還是有一定歷史的。
原來因特奈特國很貧窮,大家普遍文化水平都不高,識字的人不多,這一點在快遞業務的體現上尤其明顯,為了培養一個識字的快遞員成本太大了。上崗之前,學員們都需要到培訓機構里面培訓,不同培訓機構培訓的技能不一樣,收費也不一樣。培訓學院里面比較出名的有思科技術學院和華為技術學院等學校。
培訓機構的培訓項目也十分豐富,有數據鏈路層語言的學習,也有網絡層語言的學習。但是學習語言是需要看天賦的。有的人智商高一些,比如硬件設施更好,CPU更強大,能理解和運用三層甚至更高層級語言的語法,就能拿到一個比較高級的文憑,也能找到更好的工作,身價也更高。而且聰明的人辦事效率也更高,所以那些懂高級語言的學生畢業之后都在關鍵的節點處理業務。像那些拿到普通二層語言文憑的快遞員,也就勉勉強強能在村里當一個郵遞員,業務能力勉強能接受吧。
不同培訓機構的收費標準不同,教授的課程也和機構特色有關。有時不同機構教授的對同一件貨物的處理流程差得很遠,所以不同機構的快遞員合作成本比較高,但是為了實現物流的傳輸,合作是不可避免的。所以他們每年都要挑選幾個學習能力不錯的學生去其他學院的學生溝通,這種互聯互通的測試很有必要,畢竟跨機構的快遞員共同處理一個快遞是很正常的事情。
不同培訓機構之間競爭很激烈,為了占得先機,培訓機構都想推廣自己的解決方案,尤其是像思科這樣的王牌培訓技術學院。但這就導致了快遞員學習的東西越來越多,越來越復雜,有時候為了和其他學院畢業的人合作,還要多學好幾套技能,所以學費收的比較貴。當然技能多的學生身價也就水漲船高了,但對于快遞公司而言,這就比較尷尬了。
如果只從某個技術學院定向招生,在招新員工的時候就被綁定了,很難選擇其他技術學院的同學。被綁定的結果可能就會被壟斷,就變成勞動力市場,抬高了快遞公司的招新成本和工資成本,也就是平時說的資本性支出(CAPEX)和運營成本(OPEX)。如果所有培訓機構的課程都一樣,畢業學生的技能一樣,或者他們能快速接受我們的入職培訓學習就好了。
而且,過去我們快遞公司的體制不好,快遞員學員們都各自為戰,只負責自己片區的業務交付,并不知道整體的物流情況。所有就有可能出現這樣的情況:從金銀島通往大陸有多條物流通道,但是有的擁擠不堪,各種處理不過來的包裹就被丟棄了,但有的快遞通道卻門可羅雀,快遞員都在崗位上打盹了,導致整體資源的利用率很低。而且隨著國家推行改革開放,經濟快速發展,信息和物資開始大量流通,對快遞系統提出了更高的要求。
后來遙遠的西方傳來了“深度改革”的呼聲,他們創建了一個快遞公司,而且聘請了一個特別聰明的人擔任快遞業務主管。那里的快遞員們都統一了學習標準,他們只需要能識字就可以了,可以分辨貨物上是什么信息就可以。遇到不懂處理的貨物就按照之前快遞主管給他們發的語法書的規則把問題提交給快遞主管,快遞主管就會利用他聰明才智告訴快遞員怎么處理數據包。有時候主管讓快遞員發到某個出口就行,有時候還需要告訴他這類型的貨物應該怎么處理,免得他每個數據包都問一遍,忘了說了,西方的快遞主管都是牛仔,很忙的。
再后來,我們金銀島也開始改革,也嘗試著進行改革。所以我成為了第一位上任的快遞主管,想想還有點小激動。
“你不識字?讀這么久?”操作系統大哥一臉鄙視地看了我一眼,“進去吧,趕緊開始工作,不然我就把房間給你沒收了,送你去垃圾場處理掉你。”聽到這個,我趕忙跑進了6633房間,然后關上門,嚇死我了!
“領導好!”我剛進去,門又打開了,進來了幾個員工模樣的人。“我們是幫你完成工作的協程,我是幫您取快遞的小曲,她是幫您處理二層包裹的阿楚,他是幫您檢查包裹是否安全的安檢人員大健。”小曲還好,長相正常,3分吧。阿楚倒是還挺可愛的,但拿著盾和大寶劍的大健實在讓氣氛有些尷尬。我趕緊看一下桌子上的工作手冊,原來他們是新招的處理任務的協程人員,在某些快遞部門,他們可能是線程。
“那開始干活吧。”我假裝經常當領導的樣子,不動聲色地拋下一句,然后拿起工作手冊獨自讀了起來,深藏功與名。
小曲的工作比較簡單,他一直在檢查房門口有沒有包裹,沒有包裹的時候還悶悶不樂。突然,他興高采烈地抱進來一堆信件,放在我桌子上之后很興奮地說:“還有呢,你等著哈。”
我趕緊開始查看信件。原來都是一些hello信件,看來我們的快遞員開始上崗工作了。Hello信的內容很簡單,無非就是和我商量一些要采用那個版本的語法進行通信。我一一給他們發了Hello回信,然后再寫了一封要求他們發簡歷的Feature_request信。都發送之后,我坐在桌子前,看著窗外陌生的環境,突然開始思考起來人生:我從哪里來?要到哪里去?
突然小曲又進來了,是新來的信。我一看這次的信有點厚,原來是快遞員們的簡歷回信Features_reply,無非就是告訴我他們都會些什么技能,好讓我能夠指揮他完成業務工作。我查了一下工作手冊,并沒有什么要特殊設置的,就按照標準的流程,給他們回復了標準的配置信。
還沒等我思考人生,小曲大汗淋淋地把一個大包裹搬了進來。我趕緊打開查看,原來這是一個Packet_in包裹。“阿楚,趕緊處理一下。”我沖一直在邊上無聊摳腳的阿楚喊,沒想到看起來不錯的阿楚也是摳腳女漢字,醉了。
阿楚熟練地把包裹打開,把上面的信息記錄到了本子上,比如這個包裹是那個快遞員送過來,從他的哪一個快遞窗口進來的,還有這個包裹里具體的內容。阿楚也是上過小學的人,所以在培訓學校里學會了二層的語言,她是這里唯一的實習生。
“我不知道這個怎么處理,沒有見過這種包裹,所以我的小本本上沒有記錄,就讓他都發一份吧,也許別人知道怎么處理。”阿楚面露難色地告訴我。唉,第一件事你就告訴我你不懂,我當時內心是崩潰的。“就這樣吧。”我無奈地答應,轉眼之間,小曲接過包裹已經送出去了。沒想到的是,很快的,其他快遞員收到了這個包裹,都請求我,然而阿楚依然不知道怎么辦。”
很快的,阿楚的小本本上面就記錄了很多記錄,我仔細一看,小姑娘還挺聰明,還學會數據結構了。她畫了個表格,每條數據項有三列數據:快遞員的工作證號:dpid,從哪一個快遞窗口送到快遞員手里的和包裹的主人名稱。
“咦,這個包裹我知道怎么處理耶!!”阿楚興奮地跳了起來,面色潮紅。看我一臉不能理解的樣子,她趕緊埋頭工作了。根據之前的記錄,阿楚知道寄給這個“66:66:66:66:66:66”的人的包裹是應該要從快遞窗口3發送出去的,她趕忙寫了一封Flow_mod掛號信,信的內容就是告訴那個快遞員,這個特別6的客戶的包裹都往3端口發就好了。寫完她趕緊交給了小曲。
“啊,糟了!我忘記給他發一個Packet_out了!Packet_in消息里有提到buffer_id是NO_BUFFER的。”阿楚還沒有坐穩突然就想起了這件事。她趕緊寫了一封Packet_out信,里面提到了要把包裹發到3端口,然后貼到了之前從Packet_in中提取出的包裹上,又交給了小曲。
工作就這么有條不紊地進行著,大家都在忙著自己的事情。每次包裹到的時候,大健也會看一眼是不是給自己的。但是一般都沒他啥事,他總是惡狠狠地盯著自己盾上寫著的壞人的名字和處理規則,一臉苦大仇深的樣子。無聊地時候,大健很喜歡在空中比劃著什么,聽阿楚提起過大健好像是什么情意綿綿劍的傳人,只是一直加班,沒時間找女朋友,所以一直沒辦法練劍。
“終于等到你!還好我沒放棄!”大健突如其來的吼叫把大家都嚇到了!原來大健收到了程序員上帝寫給他的一封規則信,信里面提到:“IP=194.71.107.81的包裹全部丟掉”。大健面露殺氣地舉起手中的大寶劍,在盾上深深地刻下了這行規則。然后他趕緊寫了幾封Flow_mod信,把這個丟包規則發送給那些相關的快遞員。作為一名安檢員,大健始終保持著警惕,保護著金銀島的物流安全。
工作的日子總是單調的,大家都機械地處理著手上的業務。阿楚還是那么萌,大健還是疾惡如仇,而小曲還是像流行歌曲的高潮部分,不斷地周期往返,只不過地點是在門口和辦公室之間。有時候阿楚的本子寫滿了,我還需要像操作系統大哥申請多幾本本子。
平凡的生活終于被打破,猶如平靜的貝加爾湖面丟進了一個石頭。原因是新招的一個快遞員的傳送路線和其他快遞員的傳遞路線形成了環路。那一天來了一位新客戶,傻傻的快遞員查半天規則手冊都不知道怎么處理新用戶的包裹,只能請求我。我讓阿楚處理,結果她按照自學習那一套,讓大家泛洪發送就好了,結果就產生廣播風暴了。
那是黑暗的一天,星期五。太慘了,那天所有環路上的快遞員都累死了!丟個包算是工作事故,累死N名員工這種事情,已經不能算事故了,是災難!
因為這件事,差一點我們快遞部門就倒閉了。還好問題發現地及時,然后及時把快遞業務停止了。遇到這種事情,首先處理完后事,然后就是追究責任。可憐的阿楚,到離開都不知道為什么會發生這種事情,畢竟她只知道自學習轉發,并不了解這個做法在環路中可能產生致命的環路風暴攻擊,畢竟還只是上過小學的人。
“9527, 給你帶來新人,能力比阿楚強了不知道多少倍。”操作系統大哥很快就把露露帶到了我的辦公室。原來程序員上帝不久之后,就把一個叫露露的姑娘送到了操作系統大哥的辦公室,然后交代他要把這姑娘帶到我這來。
“謝謝linux。那個,你自我介紹一下吧。”我謝過操作系統大哥之后,轉頭問這個很有御姐范兒的姑娘。
“Ryu領導好, 我叫露露,我讀過本科,專業是大數據分析,后來去思科學院學習了快遞技術。我會收集快遞員的連接信息,然后做數據分析,可以計算出最短路徑來轉發或者路由快遞包裹,絕對不會死人!” 露露語速很快,很自信,是我喜歡的類型。
“啊,小露露啊,你好厲害啊!聽你這么一說我就放心了,上班吧,不然你沒響應要被帶回去了。”我滿臉堆笑地對露露說。有一名聰明的員工真是太開心了,比那個小學生不知道高到哪里去了。
露露果然犀利!上班之后就周期給快遞員們發送攜帶LLDP報文的Packet_in包裹,包裹要求快遞員要把自己的dpid和出貨端口寫上,然后抓發到對應出端口。收到包裹的下一站快遞員一看不知道怎么處理就上報給我了。露露利用上報包裹外面的Packet_in信的快遞員的ID號和收貨端口還有包裹中的信息,竟然找到了兩個快遞員之間的鏈路信息。然后她把所有的鏈路組織起來,竟然把全局的物流圖給畫出來了。我不由心里一驚:小露露不僅長得漂亮,還很能干呢。哦不!我怎么能這么想呢!應該是沒想到啊,小露露不僅能干,還長得這么漂亮呢!
正在我神游的時候,小曲不識趣地打開門,扯起嗓子就來一句:“露露妹妹,你的包裹。”小子放下包裹的時候比平時多停留了3ms,我注意到了!他比平時干活更有精神,但是也在露露這里停留時間更久了。
看我一臉不高興,小曲趕緊忙去了。
露露很熟練地解開包裹,然后提取出里面的關鍵信息。“從綠茂花園的王大爺家到大柳樹村老劉嬸的包裹。綠茂花園到大柳樹村需要先經過春天鎮,然后再去金雞嶺,再去五指山,然后轉到天涯鎮最后到大柳樹村。”露露照著手中的Dijkstra書和物流圖,竟然把快遞轉發路徑給計算出來了。
“干得好,露露,午飯加一個雞腿!”我已經不知道說什么,怕說多了她知道我讀書少,容易被她騙了。
露露在的日子,我心情一直都很好,因為再也沒有死亡災難發生了。但是比起當年的阿楚,露露用紙的速度更快一些,所以我向操作系統大哥申請了更多的紙。每次申請紙都要承受linux鄙夷的眼神,和拍拍肩膀安慰的動作,好奇怪。
但是就算有最短路徑轉發,我還是發現快遞員的工作強度差異太大。有的快遞員無所事事,而其他快遞員加班加點。明明有的快遞員可以幫忙的,但是貨物總是到不了他那里。我仔細觀察了一下,終于發現了問題。露露計算的路徑雖然是最短的,但是當所有貨物都按照最短的路徑發貨的話,可能就擁堵了,而另一條次優的路徑并沒有使用到。所以我應該還需要了解物流的壓力情況。怎么才能了解呢?
正在我百思不得其解的時候,年度優秀快遞員張偉終于病倒了,頻繁丟包,他那個快遞收發點的貨物已經堆積如山。我很著急,但是我查看了所有的手冊都沒有解決辦法。所以我只能發出一個警告,結果程序員很快就給回復了。
程序員又安排操作系統大哥給我帶來了新員工。他叫夏留,估計是父母喜歡夏天的原因吧,希望夏天能停留下來,是一種美好的希冀。
“我學過數據挖掘,但是沒找到工作,也學不會挖掘機,所以就去學快遞技術了”。還記得他站在大家面前自豪地自我介紹。“快干活吧!”我對他毫無理由的沒有好感,也許是因為他比較帥吧。
他和露露一樣聰明,他專門整理快遞網中的物流流量信息,然后和露露合作。露露其實也去學習進修了一下,學會了計算基于物流流量信息的最優貨物轉發路徑。這下快遞員們才沒有抱怨業務壓力大,因為大家負載都得到了均衡。
但是我總覺得他們兩個整天黏在一起不太好,年輕人在辦公室要克制嘛,遞個數據什么的麻利點嘛,干嘛還要對視,寒暄幾句,搞不懂。
每天的工作都大同小異,因為新流量不多,所以其實我們辦公室的人都不是特別忙,就是夏留需要不斷收取一些快遞員送上來的快遞收發貨統計報表,露露也是周期地和所有的快遞員聯系著,她是所有快遞員的夢中情人。
遇到節假日的時候,大家就忙得不可開交了,我也是差點就忙出病來。這時候我就會特別羨慕臨省新上任的那些人。那個ODL家族的人聲勢最浩大,不過確實他學的東西也比我多一點,部門員工也多一些,不過他用的資源也多啊,很費紙的。最近東邊鄰居也興起了深度改革,走馬上任的聽說叫ONOS。不過他們比我們要先進一點,他們是多胞胎共同作戰,不像我就一個人,累死了部門就解散走人了。ONOS他們家有好多孿生兄弟姐妹,一起管理他們省的快遞物流,資源、信息都共享的,但是每個人分別和幾個快遞員聯系,區域管理嘛。如果其中一個兄弟生病了,可以把他的業務交給其他兄弟暫時代理幫忙一下,他病好了再回來接著干。這種方式真好!
不過我聽說有個叫Distance的程序員上帝開發了Open eXchange語言,可以架設一個層級式的部門架構。有了這樣的語言,我就可以和我的族人一起工作了,而且也支持不同家族的人一起工作,聽起來很好的樣子。我就等著吧,相信很快就可以改革了。其他人的辦公室也許還有什么欣欣,麗麗之類的姑娘呢。
其實我也并不是一直工作,直到病倒去世。有時候,還需要去學習培訓,需要離開工作崗位接受程序員上帝的改造。尤其是當我們需要學習新語言的時候,不僅我們要培訓,快遞員也要全部培訓,快遞系統就停止運行了。老一點的快遞員學不下去了,干脆就淘汰了,飯都吃不上,太慘了。淘汰之后就需要招新,所以學習新語言代價非常大,但是新業務很多,新語言的學習不可或缺。
但是我聽linux提起過,遙遠的東方和遙遠的西方有兩個國家分別使用了兩種新語言,叫POF和P4,大大降低了學習成本。使用POF或者P4語言,就不要求快遞員們學會很多語言,只需要懂最基本的通用語法就可以。比如把數據包發出去或者把快遞單中的第幾個空格的內容修改成什么就可以,不需要知道那個空格的內容到底是地址還是郵政編碼。當需要學習新業務的時候,只需要我們去學習就好,然后我們會告訴他們最基本的操作,他們照做就行。這樣快遞員們也很高興啊,本來知道那些意思也沒什么用,干脆就不用學習了,多輕松。所以快遞系統的升級的成本就節省很多。好希望快點采用這樣的語言啊,省得每次都要告訴快遞員這個那個的,還要等他們培訓完才能上班。
我坐在桌子前,一手撐著下巴,一手握著桌子上的杯子,幻想著美好的未來。耳邊是露露和夏留的竊竊私語和小曲忙碌而充滿怨念的腳步聲,還有大健那綿綿不覺的磨劍的聲音。
突然,linux大哥火急火燎地帶著幾個幫手撞開了我的大門。
“怎么了?大、大哥!”,我嚇了一跳,從椅子上唰一下站起來,桌子上的杯子也被我碰掉了,碎了一地。
“把這些人都帶走,那個姑娘輕點抓,挺好看的。” linux并沒有理會我,指揮小弟們把我的露露,夏留和小曲,還有一直在角落磨劍的大健抓了起來。
“我收到程序員上帝的通知,你們被停止運行了, 資源被回收了,都跟我去垃圾回收站吧。快點!” linux露出我從未見過的兇狠眼神。我明白了,我知道我的生命就要結束了, 我轉身寫在最后一封告別信:“Ryu is going down!”
“交給上帝,告訴他我干得很好。”,我把信交給操作系統,就閉上了眼睛。
在去往垃圾回收站黑暗而崎嶇的路上,我聽到露露拼命的呼喊,她比我先走了,接著是夏留,然后是。。。
“我想我干得不錯” 想到這里,嘴角勾起一絲冷冷的微笑。
我睜開眼睛,黑暗中,仿佛看見了未來。
作者簡介:李呈,2014/09-至今,北京郵電大學信息與通信工程學院未來網絡理論與應用實驗室(FNL實驗室)攻讀碩士研究生。