第55章 HICQ的內部孵化
一月十二日,深夜十一點四十七分。深圳創新大廈五樓的燈光已經熄滅了大半,只有最西側角落裡,用磨砂玻璃隔出的一個小會議室還亮著燈。玻璃上貼了防窺膜,從外面只能看到模糊的人影輪廓,和屏幕上快速滾動的代碼藍光。
會議室里沒有窗,空調開得很低,但空氣里有種黏稠的、電子設備長時間運轉後特有的焦熱感。五個人,五台電腦,屏幕上清一色是黑色的終端窗口,綠色的字符流像瀑布一樣向下傾瀉。桌面上堆滿了空的紅牛罐、揉成一團的零食包裝袋、和寫滿了數學公式的草稿紙。
林浩站在白板前,白板上畫著一個複雜的系統架構圖,線條交錯,模塊林立。最上方用紅筆寫著兩個大字:「O₂」,下面是一行小字:「氧氣——讓溝通自由呼吸」。
「進度。」林浩開口,聲音在安靜的會議室里格外清晰。
坐在最前面的年輕人抬起頭,瘦得像竹竿,黑眼圈深得嚇人,但眼睛亮得灼人。他叫周航,二十四歲,北郵碩士,是張一鳴從清華BBS上挖來的網絡協議專家,三天前剛入職,就被塞進了這個秘密項目。
「網絡層基本搞定。」周航調出一個終端窗口,上面是密密麻麻的抓包數據,「基於UDP的自研傳輸協議,比TCP快40%,抗丟包率強三倍。但NAT穿透還是有問題,特別是對稱型NAT,打洞成功率只有30%。」
「用STUN+TURN+ICE組合拳。」林浩走到他身後,看著屏幕上的數據流,「STUN負責探測NAT類型,TURN做中轉兜底,ICE做最優路徑選擇。2005年這個方案還太新,但我們可以提前做。代碼我寫了個demo,你拿去優化。」
他從U盤裡拷出一個文件夾,裡面是完整的STUN/TURN/ICE協議棧實現,注釋詳盡,代碼優雅。周航點開快速瀏覽,眼睛越睜越大。
「這……這是RFC標準草案里的內容,還沒正式發布……你怎麼會有完整實現?」
「提前研究。」林浩含糊帶過,「重點不是協議,是性能。我們要做到在90%的網絡環境下,打洞成功,延遲低於100毫秒。語音聊天室對實時性要求極高,卡頓超過200毫秒,體驗就崩了。」
「明白。」周航點頭,手指已經在鍵盤上飛舞起來。
林浩走向第二個人,李薇,二十六歲,前網易高級工程師,主攻文件傳輸。她面前的屏幕上是一個文件傳輸的測試界面,進度條卡在63%不動了。
「離線文件傳輸,大文件(超過1GB)傳輸失敗率80%。」李薇聲音有些沙啞,「我們用的是HTTP分塊傳輸,但網絡波動一大,就斷,重傳機制也有問題,經常卡死。」
「換P2P。」林浩在白板上畫圖,「文件分塊,每個塊生成獨立哈希。傳輸時,客戶端之間直連,互相交換擁有的塊。用DHT(分布式哈希表)做資源索引,用BT協議做傳輸。這樣不僅減輕伺服器壓力,還能利用用戶閒置帶寬,速度更快。」
「但P2P需要 tracker伺服器,而且……有法律風險。」李薇皺眉,「很多運營商封P2P流量。」
「所以我們自己做私有協議。」林浩從背包里拿出一份手稿,「這是『氧氣傳輸協議』草案,基於Kademlia DHT改進,加了加密和流量偽裝。tracker伺服器用我們自己的,部署在海外VPS上,繞過監管。法律風險……等我們做大了再說。」
李薇接過手稿,快速翻閱。稿紙上的公式和流程圖,嚴謹得像學術論文。她抬頭看林浩,眼神複雜——這個十八歲的創始人,腦子裡到底裝了多少東西?
第三個人,趙雷,二十八歲,前騰訊QQ空間工程師,負責群組系統。他面前的屏幕上是一個簡陋的群聊界面,右側成員列表顯示著「500/500」。
「500人超級群,壓力測試過了。」趙雷調出監控數據,「消息分發延遲平均85毫秒,但並發發言時,CPU占用飆升。我們現在的架構是星型廣播,每個人發言,伺服器要向其他499個人轉發。500人同時在線,伺服器就炸了。」
「用多播樹。」林浩在白板上畫樹狀圖,「把500人分成多個子樹,每棵樹一個中繼節點。發言先到中繼,中繼再向下分發。中繼節點可以動態選舉,負載高的子樹自動分裂。這樣,消息分發的複雜度從O(n)降到O(log n)。」
「但中繼節點掛了怎麼辦?樹的結構怎麼維護?」
「用Gossip協議做成員管理和故障檢測。每個節點隨機和其他節點交換狀態信息,最終達成一致。中繼節點掛了,鄰居節點自動補位。樹結構可以動態調整,保持平衡。」林浩說得很快,像在背誦,「具體算法我寫在這了,你實現。」
他又遞出一份手稿。趙雷接過去,看著上面複雜的圖論算法,沉默了。
第四個人,陳小雨,二十三歲,華南理工應屆生,團隊裡唯一的女生,負責語音聊天室。她面前的屏幕上是一個簡單的語音波形圖,但波形斷斷續續,像心電圖瀕死時的顫動。
「語音編碼用的Speex,但實時性不行。」小雨聲音帶著哭腔,「網絡一波動,就卡,就斷。我們已經把緩衝降到最低了,但還是……」
「換Opus。」林浩說,「雖然Opus標準2012年才出,但核心算法已經公開。我簡化了一個版本,適合實時語音。另外,加前向糾錯和丟包隱藏。網絡波動時,用冗餘數據包補丟失的部分,實在補不上,用算法模擬聲音,不讓用戶察覺中斷。」
「可Opus算法複雜度高,CPU扛不住……」
「所以我們只用在語音聊天室,不用於單聊。而且,我們的目標用戶是遊戲玩家,他們的電腦配置不會太差。」林浩調出另一份文檔,「這是優化版的Opus編碼器,我魔改過了,性能提升30%。你集成進去測試。」
最後一個人,劉峰,二十五歲,負責帳號系統。他面前的屏幕上是一個登錄界面,上面有兩個選項:「浩宇遊戲通行證登錄」和「手機號註冊」。
「帳號打通沒問題。」劉峰說,「用OAuth 2.0協議,浩宇遊戲通行證可以無縫登錄O₂。但手機號註冊……需要簡訊網關,需要實名制,政策風險大。」
「先不做手機號註冊,只做遊戲通行證打通。」林浩說,「我們的第一批用戶,就是浩宇遊戲平台的玩家。他們已經有通行證,有好友關係,有遊戲數據。用O₂,可以直接和遊戲好友聊天,接收遊戲通知,分享遊戲截圖。這是我們的起點。」
他走到白板前,在架構圖最下方畫了一條線,連接「浩宇遊戲通行證」和「O₂帳號系統」。
「O₂不是另一個QQ,是浩宇生態的通訊層。它從遊戲場景長出來,服務遊戲玩家,再慢慢擴展到其他場景。我們的優勢不是技術多牛,是場景多深。玩家在遊戲裡需要溝通,需要協作,需要炫耀——這些需求,O₂滿足得比QQ好,因為我們懂遊戲。」
他放下筆,看著會議室里的五個人。五張年輕的臉,在屏幕藍光的映照下,有疲憊,有壓力,但更多的是亢奮——那種參與創造歷史的亢奮。
「我知道你們很累,壓力很大。這個項目是絕密,全公司只有我們六個人知道。如果泄露,騰訊會不惜一切代價掐死我們。如果失敗,浩宇可能就此止步。」林浩頓了頓,聲音沉下來,「但我們沒有選擇。QQ在變重,在收費,在流失年輕用戶。這是時代給我們的窗口。錯過了,就不會再有。」
他走到會議室中央,手撐在桌子上,身體前傾。
「O₂的核心,不是技術,是理念。我們要做一款『輕、快、純粹』的通訊工具。沒有GG,沒有會員,沒有花里胡哨的功能。就是聊天,就是傳文件,就是語音,就是群組。但每個功能,都要做到極致。快,穩,簡潔。讓用戶用了就回不去。」
「時間表。」周航問。
「三個月。」林浩說,「四月一日,愚人節,上線內測。只對浩宇遊戲平台的核心玩家開放,限量一萬個邀請碼。六月一日,兒童節,正式公測。目標:年底前,日活破百萬。」
會議室里一片倒吸涼氣的聲音。三個月,從零到百萬日活。這幾乎是天方夜譚。
「做得到嗎?」李薇輕聲問。
「做不到也要做。」林浩看著她,眼神堅定,「因為如果我們不做,就永遠沒有機會了。騰訊已經在注意我們,浩聊的增長讓他們警覺。等他們反應過來,調集資源做遊戲垂直IM,我們就沒機會了。我們必須快,必須在他們睡醒前,長到足夠大,大到他們掐不死。」
他直起身,環視五人。
「從今天起,你們搬出創新大廈,去旁邊我租的民房辦公。所有代碼不上外網,用內網Git。對外,你們是『浩宇遊戲平台優化組』,實際在做O₂。工資翻倍,期權加倍。但條件是:三個月,除了睡覺吃飯,其他時間全給這個項目。能接受的,留下。不能的,現在退出,不怪你們。」
沒人動。五雙眼睛,盯著他,盯著白板上那個「O₂」。
「幹了。」周航第一個說。
「算我一個。」李薇點頭。
「拼了。」趙雷笑。
「我不退。」小雨咬牙。
劉峰最後一個開口:「帳號系統交給我,絕對打通。」
「好。」林浩點頭,從背包里拿出五個信封,每個裡面是一張銀行卡,「這是預付的三個月工資和獎金。密碼是你們入職日期。家人的事,公司會安排照顧。這三個月,你們只需要想一件事:把O₂做出來,做到最好。」
五人接過信封,沒人看,直接塞進口袋。
「現在,」林浩看了眼手錶,凌晨零點零八分,「開工。周航,攻NAT穿透。李薇,文件傳輸P2P化。趙雷,群組多播樹實現。小雨,語音編碼優化。劉峰,帳號系統打通。我負責整體架構和協議棧。每天凌晨四點,同步進度。有問題隨時找我。」
鍵盤聲瞬間響起。密集,急促,像暴雨敲打鐵皮屋頂。
林浩坐回自己的位置,打開電腦,調出O₂的整體架構圖。屏幕上,模塊之間的連線錯綜複雜,像神經網絡,像未來世界的血管。
他想起上輩子,2011年,微信誕生,從QQ手中搶走了移動網際網路的船票。而此刻,2005年初,移動網際網路還沒影,PC網際網路的格局看似穩固。但暗流已經在涌動。QQ的臃腫,收費,流失年輕用戶——這一切,和上輩子微信崛起前的QQ,何其相似。
O₂,就是浩宇的「微信」。但比微信更早,從遊戲場景切入,更垂直,更純粹。
如果成功,浩宇就不再是遊戲公司,是通訊公司,是社交公司,是平台公司。
如果失敗……
林浩搖搖頭,把這個念頭甩出腦海。
沒有如果。必須成功。
他手指在鍵盤上敲擊,開始寫O₂的核心路由算法。代碼在屏幕上流淌,像血液,流向他親手構建的那個未來。
窗外的深圳,夜深如墨。
而在這間密室里,一顆種子,正在拼命發芽。
它的名字,叫氧氣。
要在這片看似已經被巨樹遮天蔽日的森林裡,撕開一道口子,讓光透進來。
讓後來者,能呼吸。
會議室里沒有窗,空調開得很低,但空氣里有種黏稠的、電子設備長時間運轉後特有的焦熱感。五個人,五台電腦,屏幕上清一色是黑色的終端窗口,綠色的字符流像瀑布一樣向下傾瀉。桌面上堆滿了空的紅牛罐、揉成一團的零食包裝袋、和寫滿了數學公式的草稿紙。
林浩站在白板前,白板上畫著一個複雜的系統架構圖,線條交錯,模塊林立。最上方用紅筆寫著兩個大字:「O₂」,下面是一行小字:「氧氣——讓溝通自由呼吸」。
「進度。」林浩開口,聲音在安靜的會議室里格外清晰。
坐在最前面的年輕人抬起頭,瘦得像竹竿,黑眼圈深得嚇人,但眼睛亮得灼人。他叫周航,二十四歲,北郵碩士,是張一鳴從清華BBS上挖來的網絡協議專家,三天前剛入職,就被塞進了這個秘密項目。
「網絡層基本搞定。」周航調出一個終端窗口,上面是密密麻麻的抓包數據,「基於UDP的自研傳輸協議,比TCP快40%,抗丟包率強三倍。但NAT穿透還是有問題,特別是對稱型NAT,打洞成功率只有30%。」
「用STUN+TURN+ICE組合拳。」林浩走到他身後,看著屏幕上的數據流,「STUN負責探測NAT類型,TURN做中轉兜底,ICE做最優路徑選擇。2005年這個方案還太新,但我們可以提前做。代碼我寫了個demo,你拿去優化。」
他從U盤裡拷出一個文件夾,裡面是完整的STUN/TURN/ICE協議棧實現,注釋詳盡,代碼優雅。周航點開快速瀏覽,眼睛越睜越大。
「這……這是RFC標準草案里的內容,還沒正式發布……你怎麼會有完整實現?」
「提前研究。」林浩含糊帶過,「重點不是協議,是性能。我們要做到在90%的網絡環境下,打洞成功,延遲低於100毫秒。語音聊天室對實時性要求極高,卡頓超過200毫秒,體驗就崩了。」
「明白。」周航點頭,手指已經在鍵盤上飛舞起來。
林浩走向第二個人,李薇,二十六歲,前網易高級工程師,主攻文件傳輸。她面前的屏幕上是一個文件傳輸的測試界面,進度條卡在63%不動了。
「離線文件傳輸,大文件(超過1GB)傳輸失敗率80%。」李薇聲音有些沙啞,「我們用的是HTTP分塊傳輸,但網絡波動一大,就斷,重傳機制也有問題,經常卡死。」
「換P2P。」林浩在白板上畫圖,「文件分塊,每個塊生成獨立哈希。傳輸時,客戶端之間直連,互相交換擁有的塊。用DHT(分布式哈希表)做資源索引,用BT協議做傳輸。這樣不僅減輕伺服器壓力,還能利用用戶閒置帶寬,速度更快。」
「但P2P需要 tracker伺服器,而且……有法律風險。」李薇皺眉,「很多運營商封P2P流量。」
「所以我們自己做私有協議。」林浩從背包里拿出一份手稿,「這是『氧氣傳輸協議』草案,基於Kademlia DHT改進,加了加密和流量偽裝。tracker伺服器用我們自己的,部署在海外VPS上,繞過監管。法律風險……等我們做大了再說。」
李薇接過手稿,快速翻閱。稿紙上的公式和流程圖,嚴謹得像學術論文。她抬頭看林浩,眼神複雜——這個十八歲的創始人,腦子裡到底裝了多少東西?
第三個人,趙雷,二十八歲,前騰訊QQ空間工程師,負責群組系統。他面前的屏幕上是一個簡陋的群聊界面,右側成員列表顯示著「500/500」。
「500人超級群,壓力測試過了。」趙雷調出監控數據,「消息分發延遲平均85毫秒,但並發發言時,CPU占用飆升。我們現在的架構是星型廣播,每個人發言,伺服器要向其他499個人轉發。500人同時在線,伺服器就炸了。」
「用多播樹。」林浩在白板上畫樹狀圖,「把500人分成多個子樹,每棵樹一個中繼節點。發言先到中繼,中繼再向下分發。中繼節點可以動態選舉,負載高的子樹自動分裂。這樣,消息分發的複雜度從O(n)降到O(log n)。」
「但中繼節點掛了怎麼辦?樹的結構怎麼維護?」
「用Gossip協議做成員管理和故障檢測。每個節點隨機和其他節點交換狀態信息,最終達成一致。中繼節點掛了,鄰居節點自動補位。樹結構可以動態調整,保持平衡。」林浩說得很快,像在背誦,「具體算法我寫在這了,你實現。」
他又遞出一份手稿。趙雷接過去,看著上面複雜的圖論算法,沉默了。
第四個人,陳小雨,二十三歲,華南理工應屆生,團隊裡唯一的女生,負責語音聊天室。她面前的屏幕上是一個簡單的語音波形圖,但波形斷斷續續,像心電圖瀕死時的顫動。
「語音編碼用的Speex,但實時性不行。」小雨聲音帶著哭腔,「網絡一波動,就卡,就斷。我們已經把緩衝降到最低了,但還是……」
「換Opus。」林浩說,「雖然Opus標準2012年才出,但核心算法已經公開。我簡化了一個版本,適合實時語音。另外,加前向糾錯和丟包隱藏。網絡波動時,用冗餘數據包補丟失的部分,實在補不上,用算法模擬聲音,不讓用戶察覺中斷。」
「可Opus算法複雜度高,CPU扛不住……」
「所以我們只用在語音聊天室,不用於單聊。而且,我們的目標用戶是遊戲玩家,他們的電腦配置不會太差。」林浩調出另一份文檔,「這是優化版的Opus編碼器,我魔改過了,性能提升30%。你集成進去測試。」
最後一個人,劉峰,二十五歲,負責帳號系統。他面前的屏幕上是一個登錄界面,上面有兩個選項:「浩宇遊戲通行證登錄」和「手機號註冊」。
「帳號打通沒問題。」劉峰說,「用OAuth 2.0協議,浩宇遊戲通行證可以無縫登錄O₂。但手機號註冊……需要簡訊網關,需要實名制,政策風險大。」
「先不做手機號註冊,只做遊戲通行證打通。」林浩說,「我們的第一批用戶,就是浩宇遊戲平台的玩家。他們已經有通行證,有好友關係,有遊戲數據。用O₂,可以直接和遊戲好友聊天,接收遊戲通知,分享遊戲截圖。這是我們的起點。」
他走到白板前,在架構圖最下方畫了一條線,連接「浩宇遊戲通行證」和「O₂帳號系統」。
「O₂不是另一個QQ,是浩宇生態的通訊層。它從遊戲場景長出來,服務遊戲玩家,再慢慢擴展到其他場景。我們的優勢不是技術多牛,是場景多深。玩家在遊戲裡需要溝通,需要協作,需要炫耀——這些需求,O₂滿足得比QQ好,因為我們懂遊戲。」
他放下筆,看著會議室里的五個人。五張年輕的臉,在屏幕藍光的映照下,有疲憊,有壓力,但更多的是亢奮——那種參與創造歷史的亢奮。
「我知道你們很累,壓力很大。這個項目是絕密,全公司只有我們六個人知道。如果泄露,騰訊會不惜一切代價掐死我們。如果失敗,浩宇可能就此止步。」林浩頓了頓,聲音沉下來,「但我們沒有選擇。QQ在變重,在收費,在流失年輕用戶。這是時代給我們的窗口。錯過了,就不會再有。」
他走到會議室中央,手撐在桌子上,身體前傾。
「O₂的核心,不是技術,是理念。我們要做一款『輕、快、純粹』的通訊工具。沒有GG,沒有會員,沒有花里胡哨的功能。就是聊天,就是傳文件,就是語音,就是群組。但每個功能,都要做到極致。快,穩,簡潔。讓用戶用了就回不去。」
「時間表。」周航問。
「三個月。」林浩說,「四月一日,愚人節,上線內測。只對浩宇遊戲平台的核心玩家開放,限量一萬個邀請碼。六月一日,兒童節,正式公測。目標:年底前,日活破百萬。」
會議室里一片倒吸涼氣的聲音。三個月,從零到百萬日活。這幾乎是天方夜譚。
「做得到嗎?」李薇輕聲問。
「做不到也要做。」林浩看著她,眼神堅定,「因為如果我們不做,就永遠沒有機會了。騰訊已經在注意我們,浩聊的增長讓他們警覺。等他們反應過來,調集資源做遊戲垂直IM,我們就沒機會了。我們必須快,必須在他們睡醒前,長到足夠大,大到他們掐不死。」
他直起身,環視五人。
「從今天起,你們搬出創新大廈,去旁邊我租的民房辦公。所有代碼不上外網,用內網Git。對外,你們是『浩宇遊戲平台優化組』,實際在做O₂。工資翻倍,期權加倍。但條件是:三個月,除了睡覺吃飯,其他時間全給這個項目。能接受的,留下。不能的,現在退出,不怪你們。」
沒人動。五雙眼睛,盯著他,盯著白板上那個「O₂」。
「幹了。」周航第一個說。
「算我一個。」李薇點頭。
「拼了。」趙雷笑。
「我不退。」小雨咬牙。
劉峰最後一個開口:「帳號系統交給我,絕對打通。」
「好。」林浩點頭,從背包里拿出五個信封,每個裡面是一張銀行卡,「這是預付的三個月工資和獎金。密碼是你們入職日期。家人的事,公司會安排照顧。這三個月,你們只需要想一件事:把O₂做出來,做到最好。」
五人接過信封,沒人看,直接塞進口袋。
「現在,」林浩看了眼手錶,凌晨零點零八分,「開工。周航,攻NAT穿透。李薇,文件傳輸P2P化。趙雷,群組多播樹實現。小雨,語音編碼優化。劉峰,帳號系統打通。我負責整體架構和協議棧。每天凌晨四點,同步進度。有問題隨時找我。」
鍵盤聲瞬間響起。密集,急促,像暴雨敲打鐵皮屋頂。
林浩坐回自己的位置,打開電腦,調出O₂的整體架構圖。屏幕上,模塊之間的連線錯綜複雜,像神經網絡,像未來世界的血管。
他想起上輩子,2011年,微信誕生,從QQ手中搶走了移動網際網路的船票。而此刻,2005年初,移動網際網路還沒影,PC網際網路的格局看似穩固。但暗流已經在涌動。QQ的臃腫,收費,流失年輕用戶——這一切,和上輩子微信崛起前的QQ,何其相似。
O₂,就是浩宇的「微信」。但比微信更早,從遊戲場景切入,更垂直,更純粹。
如果成功,浩宇就不再是遊戲公司,是通訊公司,是社交公司,是平台公司。
如果失敗……
林浩搖搖頭,把這個念頭甩出腦海。
沒有如果。必須成功。
他手指在鍵盤上敲擊,開始寫O₂的核心路由算法。代碼在屏幕上流淌,像血液,流向他親手構建的那個未來。
窗外的深圳,夜深如墨。
而在這間密室里,一顆種子,正在拼命發芽。
它的名字,叫氧氣。
要在這片看似已經被巨樹遮天蔽日的森林裡,撕開一道口子,讓光透進來。
讓後來者,能呼吸。