劉智聰,迅雷首席工程師,1984年出生,從小自學編程,畢業于南昌大學化學系,加入迅雷后設計開發了多款迅雷核心產品,是多個領域的技術專家,也是BOLT 界面引擎的發明人。下面是對他的專訪全文,內容涵蓋迅雷現在和未來的技術方向,以及劉智聰本人對未來技術的看法:
行業里最好的P2P團隊和客戶端團隊
CSDN:能否先給大家介紹一下迅雷技術團隊構成?
劉:迅雷的技術團隊結構更趨向于扁平化而非樹形。目前技術團隊分為兩大部分,一部分是事業部,這和傳統互聯網公司基本一致,每個產品都會一個技術團隊。另一部分是有迅雷特色的基礎技術研發,負責推動迅雷的技術發展和創新,這部分人在迅雷的時間長,級別高,但基本都不需從事管理工作。?
CSDN:能否說說迅雷的特色團隊?
劉: 迅雷有頂尖的P2P團隊。P2P本來就是一個很少有公司涉足的領域,有機會做到上億節點的網絡公司更少,許多人討論過的問題,我們的團隊都見過。
我也有很強的分布式存儲團隊。現在行業講的很多的云存儲,其實迅雷很早以前就在做,當時不叫云,叫分布式存儲,它最開始得益于Google那篇著名的GFS論文,但后來發現Google那套東西不完全適合迅雷,迅雷業務重流量,所以我們進行了很大的調整并在此基礎上進行發展和創新,成為現在迅雷離線下載后臺的核心技術。
另外,迅雷有整個行業里最好的客戶端團隊。當然這點沒有什么值得驕傲的,因為迅雷本身就是一家做客戶端起家的公司。行業里做客戶端最出名的也就三家,分別是迅雷、騰訊和360,360是2008年左右才發展起來的。因為圈子比較小,相關團隊后面都有過交流,其實使用的技術與大家能通過網絡學到的東西差別很大。而迅雷是這3家里總結并升華得最好的,咱們有不少獨門秘笈。不過由于現在Windows客戶端開發不再是熱點領域了,缺少新鮮血液,這個行業積累的技術其實很難傳承下去。
迅雷是一家技術驅動的公司
CSDN:能否說說迅雷的技術文化?
劉:迅雷的技術文化就是典型的工程師文化,追求技術創新。剛剛提到的技術研發團隊基本上代表了迅雷的技術文化。每個公司都有自己的風格,有些公司是產品創新型公司,比如騰訊,做微創新做得很好,這絕對是一種強大的能力,還有些是數據驅動型公司,而迅雷則是一家典型的技術推動型公司,我們真正做成的產品背后都是靠技術創新在驅動,這種性質導致迅雷必須堅持在基礎技術創新上做投入。
另外,迅雷不論前端后端,各個部門都在用同一套框架,比如客戶端使用 BOLT引擎。內部統一框架的好處非常大,有什么Bug都能很快向得到響應,可以說能做到這點的國內公司非常少。很多程序員,他們寫代碼總覺得別人的爛,自己的好,但是在我們這里,如果使用同一套框架,出了問題大家先不說代碼的好壞,而是先解決問題。我們創始人是工程師出身,他自己非常推崇這一點。
CSDN:在你看來,迅雷最核心的技術是什么?
劉:P2P,迅雷一直致力于讓整個網絡更有效率。舉個簡單的例子我們一直在研究P2P上傳的數據是什么?我們常說,百度是最理解二進制文本文件的公司,那么迅雷算是行業里最理解二進制的一家公司。迅雷有很先進的P2P內容識別技術,不過迅雷的技術會一不小心踩到所謂的灰色地帶,這種事已經發生過很多次,有時候做了一個很好的產品無法上線,吃一塹長一智,久而久之,迅雷的研發團隊個個都成了法務專家。
CSDN:迅雷有什么產品是因為法律問題而無法存活的?
劉:最著名的就是狗狗搜索。迅雷在2007年的時候是下載領域的老大,徹底擊敗了BT。我們2007年做了幾件事情,一是推出迅雷看看,那時候迅雷是國內唯一一家能提供高清在線視頻播放的公司,播放后面的技術就是P2P。二是推出狗狗搜索,你可以在上面找資源,當時狗狗搜索的量非常大,基本上達到了百度的三分之一,但因為存在法務上的風險最終放棄了。所以現在大家都注重技術和產品的法律前瞻意識。
迅雷的現在:分離資源尋找與資源下載
CSDN:在大家的印象中,迅雷就是下載的代名詞,但互聯網變化風云莫測,而且迅雷已經稱霸下載市場多年,迅雷下載未來會怎么發展??
劉:我們今天的一個想法是你可以在任何一個地方去找資源,除了搜索之外,還可以有朋友之間的分享。但用戶肯定不會隨身攜帶電腦,而且用戶一般不會在手機上下載資源。所以迅雷就想將兩者分離,用手機找資源,然后遙控其他終端進行下載,下載端可以是電腦、電視,或者路由器,最適合的是路由器,因為你不可能一直開著電腦或者電視,但是大多數人的家中,路由器是不會關閉的,可以在任何時候遙控下載。這樣回到家后想要的資源已經下載完成了。
迅雷的未來:建立下一代P2P網絡?
CSDN:上面說的都是最近事情,很多人感興趣,迅雷未來會做什么?
劉:迅雷的未來想做這么一件事情:提高整個網絡數據傳輸的效率,通俗了講就是泛加速。迅雷下載實際上是一種比較特殊的數據傳輸行為,頻度不高,但數據傳輸在網路里每時每刻都在發生,包括瀏覽網頁,看視頻、看圖片、玩游戲等等都無需下載的操作。做泛加速的目的,不希望僅僅把加速局限于下載,而是擴展到數據傳輸。?
CSDN:如何做到
劉:這就需要考慮網絡的核心問題,你可以把中國的互聯網想象成公路網,如何提高運輸效率?有一個公式是D*L,D就是數據,你沒法減少網絡對數據的需求總量,網絡負載就只有這么大。提高效率的重任就落在了L上,L過去是從原始服務器到用戶終端的距離,如果縮短了L就可以提高效率了。
如何縮短?這個可以跟物流公司學,有一句話叫“物流不流”,比如在深圳買北京的東西,如果在廣州倉庫有一模一樣的貨,那么它會從廣州直接發貨而不是從北京,這就叫物流不流。但P2P數據傳輸有個問題,它在傳輸過程中,只有兩端知道傳輸的是什么數據,中間的節點不知道。
迅雷要做的事情就是通過對數據貼標簽的方法來識別“一模一樣的貨物”,再通過在建數據緩存節點的方法來讓數據離用戶更近,而在路由節點上建緩存的過程其實是將TCP/IP網絡改造變成一個有Cache的網絡。為了要提高Cache的命中率,我們會預測數據是不是非常熱門,如果是,那么就更容易被緩存。
改進網絡效率的另一個方法是更好的調整整個網絡的路由。最近相當流行的SDN技術解決的還是機房內的問題,但如果我們把SDN的思想運用到全網,這就像是支持路況信息的導航路線規劃。我們要做的就是,在網絡繁忙的時候能夠讓一些數據的中轉,就是路由器的轉發表,不再去往主干光纖轉,而是往一些可能平時比較偏門,大家覺得不愿意走的小路上去。
而通過軟路由,我們能做一個覆蓋一、兩億結點的SDN網絡來。要做這件事情,并能夠時時分析出一些東西來,需要非常好的大數據處理能力,所以我們也開始在這一塊加大投入,支撐智能選路。
第三個就是,希望SDN網絡除了能做到分流之外,還能修改網絡的物理拓撲,現在的情況是,有線路由器的拓撲結構必須要拔線才能改變,比如說AB兩個路由連著C,然后C連D,D再連著E和F,它是一個蝴蝶型的結構,在有線情況下,是沒有辦法通過軟件去修改的,你只有通過拔線,但是未來我們要動態的去修改這條路的關系,比如說這兩個路本來是相交的,我們把它改成平行,能不能做到這一點?這個可能我們不但要自己做這方面的技術研究,而且我們還需要跟硬件廠商在一起,做一個開放的標準,比如所有的無線路由器,都需要支持我們一個這樣的軟件控制接口,能夠去修改它的連接方式。
CSDN:現在這份工作進展到哪一步了?
劉:面向系統的第一個目標及第二個目標的最主要的相關協議和規則我們已經在設計了,不是什么特別復雜的東西。在迅雷驗證這些技術靠譜后我們希望把它公開出來,大家共同建立這個網絡。時間上希望這套方案能在2014年完成技術驗證,畢竟迅雷已經為互聯網上20%左右的數據貼好了標簽。
CSDN:有人說迅雷在移動互聯網轉身太慢,你怎么看?
劉:每家公司都有自己的基因,迅雷在移動互聯網發力并不晚,我們在塞班時代就已經開始做手雷了,但現在一直不溫不火,主要還是下載在移動互聯網上確實不算是一個主流的事情。但是一家公司的基因不是說改就改了,我們不會去做社交,或者電子商務, 我們一直在找公司的基因與移動互聯網的結合點,并會堅持下去。
希望BOLT未來能與HTML5抗衡
CSDN:能否說說BOLT引擎?它如何與你們現在所做的東西結合?
劉: 我現在的愿望是BOLT能取代HTML5,其實BOLT跨平臺的方案比HTML5更徹底,性能更好,但它不是關系迅雷生死存亡的東西,目前在這上面投入精力比較少。BOLT這個東西,解決的問題涉及面太廣了,未來還有更廣泛的應用,它的舞臺會更大,影響會超過中國的范圍。我希望在解決了迅雷的核心問題之后再回到BOLT這件事情上來。目前這個系統還處于早期階段,要像HTML5一樣過渡到行業標準,必然要解決開源、標準化、工具支持等等一系列問題。現在使用BOLT的開發者,在國內公司大概有170多家,獨立開發者也有一些,加起來大概有三四百來人。
只有具有強烈愛好的人才能真正做一些很難的事情
CSDN:你給人的感覺簡單直爽,迅雷在招聘上喜歡哪種人才?不喜歡哪種人才?
劉:人一定要有獨立判斷能力,國內不論普通人還是一些大佬,跟風都特別嚴重,如果出現什么新的技術,他們的第一反應就是抱發明者大腿,抱大腿有一個好處,如果這項技術起來了,你會成為行業里的第一批專家,可以壟斷一些話語權、出書。國內有很多高手去干這件事情,對此我非常傷心。
他們缺少獨立的判斷能力,大家說HTML5好的時候,我偶爾在技術群里說一兩句類似HTML5解決有些問題的方式非常爛,它的包袱太重,以至于沒有辦法達到更好的性能和輕量化的時候,會被板磚砸死。前段時間Google出了一種GO語言,這個東西別的不說在語法上太丑了,完全不能接受這么丑陋的東西,我偶爾表達一下意思也被一堆人罵老古董。
我喜歡具有獨立判斷能力的人,絕不是為了反對而反對,我希望的獨立判斷能力是,你判斷的背后是你的價值觀和原則,你有你自己的標準。比如說HTML5不好,但不能全部否決,它也有好的部分,里邊的CSS我就很喜歡,在我的引擎里,中后期也開始引入類似的東西,但更加單純一些。
其次要有激情,有自己的愛好。很多碩士面試的時候半天說不出自己有什么愛好,這是個非常嚴重的問題。我一直相信只有強烈的愛好才能推動你去做一些非常難的事情,你才能真正看到一些背后別人看不到的東西,可能因為應試教育,許多中國人缺少這一點。
最后一點就是與天賦有關了,這個可遇不可求,你要有洞察能力,有一眼看穿本質的能力,如果有這種人,恨不得立馬拉進團隊。