|
從宇宙大尺度結(jié)構(gòu)到胎心監(jiān)測(cè) 熟悉我的人都知道,我在中國(guó)科大學(xué)的是天體物理,后去美國(guó)印第安納大學(xué),前后念了近5年的天體物理,方向是宇宙大尺度結(jié)構(gòu),試圖用類星體的觀測(cè)數(shù)據(jù)來(lái)回答宇宙學(xué)的一個(gè)基本問(wèn)題,宇宙是否具有各向同性,是否是有中心的。但當(dāng)年為了早日過(guò)上美國(guó)夢(mèng)的生活,我沒有念完PhD,而是在1997年初就加入了芝加哥的Motorola,放棄做科學(xué)家的夢(mèng)想,做軟件工程師了。從此以后,與相對(duì)論、量子場(chǎng)論、黑洞、宇宙大爆炸這些話題告別,自己再也沒有想到所學(xué)的天體物理方面的知識(shí)能在工作中直接派上用場(chǎng)。 然而人生處處都是意想不到 。 2013年我創(chuàng)辦快樂(lè)媽咪,專注母嬰智能硬件。我們的第一款產(chǎn)品是胎心監(jiān)測(cè),通過(guò)超聲波的多普勒效應(yīng),用智能手機(jī)來(lái)測(cè)算胎兒的心跳。 從記錄的胎兒心跳數(shù)據(jù)來(lái)看,可以很清晰地看到心跳是一個(gè)周期性的信號(hào)。最初,我認(rèn)為這是一簡(jiǎn)單的事情,寫個(gè)程序就很容易計(jì)算心跳周期。但沒想到,我們研發(fā)同學(xué)花了一個(gè)多月時(shí)間,計(jì)算出的心率就是不準(zhǔn)。而且深圳的廠商告訴我,全中國(guó)只有5個(gè)人知道如何計(jì)算胎心的算法,很有技術(shù)挑戰(zhàn)。于是小伙伴們建議我,趕快找清華的老師來(lái)解決。 我聽了之后哈哈大笑說(shuō):“如果這個(gè)問(wèn)題要靠清華老師解決,這公司就不要開了?!?/span> 網(wǎng)上搜了幾篇胎心監(jiān)測(cè)的技術(shù)文章,看完后,我心里很清楚,認(rèn)為可以用我學(xué)天體物理時(shí)所學(xué)的相關(guān)函數(shù)方法來(lái)解決這個(gè)問(wèn)題。相關(guān)函數(shù)是一種通用的數(shù)字信號(hào)的處理方法,被天體物理學(xué)界用來(lái)分析宇宙大尺度結(jié)構(gòu),包括類星體空間分布,只是分析的是空間域的周期,是三維的。胎心是一個(gè)時(shí)間域的分析,而且是一維的,簡(jiǎn)單很多。 意識(shí)到可以用相關(guān)函數(shù)處理后,我馬上動(dòng)手寫程序,先用快速傅里葉變換對(duì)胎心信號(hào)做濾波,然后通過(guò)滑動(dòng)窗口計(jì)算相關(guān)函數(shù),從相關(guān)函數(shù)計(jì)算出的最大值對(duì)應(yīng)的滑動(dòng)窗口大小定出周期,600多行程序,就這樣簡(jiǎn)單。一周后,我給小伙伴們展示可以準(zhǔn)確而且快速地在iPhone上計(jì)算出胎心的時(shí)候,大家都很興奮。而且與市場(chǎng)上其他產(chǎn)品做對(duì)比測(cè)試顯示,我的程序計(jì)算的數(shù)字更快、更準(zhǔn),并與賣20多萬(wàn)RMB的惠普專業(yè)胎心儀計(jì)算出的結(jié)果完全一致。 快樂(lè)媽咪胎語(yǔ)儀 后來(lái),我回到科大天體物理中心,給我的導(dǎo)師褚耀泉老師及其他同學(xué)談起這個(gè)算法,大家既震驚又開心,多普勒效應(yīng)、相關(guān)函數(shù)的方法居然用來(lái)測(cè)胎兒胎心。我自己也感慨,五年的天體物理的專業(yè)學(xué)習(xí),居然沒有白費(fèi)。 可見,天體物理的研究方法貌似不近人間煙火,但其實(shí)與我們?nèi)粘I钣质敲芮邢嚓P(guān)的。世界上很多問(wèn)題,看似復(fù)雜,但在抽象之后,本質(zhì)上都是一樣的。不僅宇宙大尺度結(jié)構(gòu)空間周期的計(jì)算、胎心的計(jì)算,而且手環(huán)記錄的步數(shù)、跑步機(jī)上心率的計(jì)算,都是可以用相關(guān)函數(shù)算法來(lái)解決的。 從手機(jī)消息推送到物聯(lián)網(wǎng)大數(shù)據(jù)處理 2016年初,快樂(lè)媽咪被收購(gòu)。之后,我先是休息了幾個(gè)月,但閑不住,就開始看各種項(xiàng)目,想嘗試做天使投資,但看的最多的是與智能硬件、物聯(lián)網(wǎng)相關(guān)的項(xiàng)目??赐旰?,我發(fā)現(xiàn)大家對(duì)物聯(lián)網(wǎng)大數(shù)據(jù)處理的方法是極其的復(fù)雜,把Kafka, Redis, HBase, Spark, MongoDB等眾多的開源軟件堆砌在一起來(lái)處理數(shù)據(jù),不僅研發(fā)成本高,而且部署復(fù)雜、維護(hù)成本很高。從一個(gè)受過(guò)多年物理專業(yè)訓(xùn)練的人看來(lái),萬(wàn)事復(fù)雜的時(shí)候,一定要分析問(wèn)題的本質(zhì),分析出本質(zhì)后,解決方法往往很簡(jiǎn)單。經(jīng)典力學(xué)的牛頓三大定律、電動(dòng)力學(xué)的麥克斯韋方程、量子力學(xué)的波動(dòng)方程,無(wú)一不是如此。 于是,我嘗試分析物聯(lián)網(wǎng)大數(shù)據(jù),進(jìn)而發(fā)現(xiàn),這些傳感器、機(jī)器、設(shè)備采集的數(shù)據(jù)很有特點(diǎn),仔細(xì)分析各種場(chǎng)景,總結(jié)出十大特點(diǎn)。1: 數(shù)據(jù)是時(shí)序的,一定帶有時(shí)間戳;2:數(shù)據(jù)是結(jié)構(gòu)化的;3:數(shù)據(jù)源是唯一的;4:數(shù)據(jù)極少有更新或刪除操作;5:數(shù)據(jù)是有保留期限的;6:相對(duì)互聯(lián)網(wǎng)應(yīng)用,寫多讀少;7:流量平穩(wěn),可以預(yù)測(cè);8:數(shù)據(jù)的查詢分析一定是基于時(shí)間段和地理區(qū)域的;9:除存儲(chǔ)查詢外,還往往需要各種統(tǒng)計(jì)和實(shí)時(shí)計(jì)算操作;10:數(shù)據(jù)量巨大。 那么基于這些特點(diǎn)如何更加高效的處理呢?我自己沒有大數(shù)據(jù)處理或數(shù)據(jù)庫(kù)的研發(fā)背景,一下想不到好方法。但2016年10月的一天,我突然意識(shí)到,任何一個(gè)傳感器或設(shè)備產(chǎn)生的數(shù)據(jù)實(shí)際上是一個(gè)數(shù)據(jù)流,這個(gè)流送到云端服務(wù)器的時(shí)候,實(shí)際上對(duì)數(shù)據(jù)的處理是類似一個(gè)消息隊(duì)列的處理。我一下就興奮起來(lái),因?yàn)檫@意味著可以照搬我2008年的和信的體系架構(gòu)設(shè)計(jì),輕車熟路,只是解決的具體問(wèn)題不一樣。 2007年底,基于各種因素,我判斷移動(dòng)互聯(lián)網(wǎng)的春天已經(jīng)到來(lái)。移動(dòng)互聯(lián)網(wǎng)起來(lái)后,一定要有一個(gè)統(tǒng)一的實(shí)時(shí)消息推送平臺(tái),將各種應(yīng)用的通知發(fā)到手機(jī)。因?yàn)閷?duì)網(wǎng)絡(luò)防火墻打洞技術(shù)有深入的研究,我找到了一條高效的省電、省流量的推送方法,因此,2008年初我就辭掉芝加哥Motorola的工作,回到北京,創(chuàng)辦了和信。和信除提供推送服務(wù)外,還想給所有的移動(dòng)用戶提供免費(fèi)短信、彩信服務(wù)。 我自己動(dòng)手開發(fā)了核心的推送模塊,但除推送模塊之外,還需要一個(gè)很重要的模塊,那就是需要將所有未下發(fā)的消息進(jìn)行存儲(chǔ)。解決辦法很簡(jiǎn)單,為每臺(tái)手機(jī)建一個(gè)inbox, 而且用消息隊(duì)列的方式,先進(jìn)先出,每下發(fā)一條消息,等收到手機(jī)回應(yīng)后,再下發(fā)下一條。后來(lái)由于用戶不斷增長(zhǎng),我們就開發(fā)了一個(gè)全分布式的、高可靠的、有持久化存儲(chǔ)的消息隊(duì)列。 當(dāng)意識(shí)到傳感器、設(shè)備的數(shù)據(jù)本質(zhì)上是一個(gè)流,可以用類似消息隊(duì)列的方法來(lái)處理的時(shí)候,我真是興奮不已,而且馬上就想明白了物聯(lián)網(wǎng)場(chǎng)景下的數(shù)據(jù)模型,需要對(duì)每個(gè)傳感器或設(shè)備單獨(dú)建表。 于是,一個(gè)數(shù)據(jù)采集點(diǎn)一張表的創(chuàng)新想法就這么出來(lái)了。 很多人曾問(wèn)我,你怎么想到一個(gè)采集點(diǎn)一張表的模型,我說(shuō),做和信的時(shí)候,就是一臺(tái)手機(jī)一個(gè)消息隊(duì)列,這個(gè)想法對(duì)我而言是太自然的事情了。 現(xiàn)在物聯(lián)網(wǎng)數(shù)據(jù)的處理,與我當(dāng)年的消息隊(duì)列模塊相比,存儲(chǔ)架構(gòu)上,只是一個(gè)結(jié)構(gòu)化與非結(jié)構(gòu)化的區(qū)別。結(jié)構(gòu)化的目的是為了更高效的做各種計(jì)算和查詢。而實(shí)際應(yīng)用中,還需要對(duì)多個(gè)設(shè)備之間的數(shù)據(jù)進(jìn)行高效聚合,我馬上又想到可以用數(shù)據(jù)分析中的維度表、事實(shí)表的模型來(lái)解決。 因此接下來(lái),我很快就提出了超級(jí)表的概念。 TDengine的GitHub頁(yè)面 技術(shù)解決方法想明白后,真是腦洞大開,對(duì)于物聯(lián)網(wǎng)大數(shù)據(jù),我們根本不需要復(fù)雜的Kafka、Redis、HBase、Spark、Flink等軟件的組合,完全可以用一套極為簡(jiǎn)單的方法來(lái)處理。想到萬(wàn)物互聯(lián)的時(shí)代正在到來(lái),如果能提供一個(gè)極為高效而且簡(jiǎn)單易用的物聯(lián)網(wǎng)大數(shù)據(jù)處理工具給全球開發(fā)者使用,那是一個(gè)很值得驕傲、而且有巨大商業(yè)價(jià)值的事情,我便在49歲的時(shí)候,下定決心進(jìn)行第三次創(chuàng)業(yè),因此有了現(xiàn)在的濤思數(shù)據(jù),有了現(xiàn)在開源的TDengine。 “不識(shí)廬山真面目,只緣身在此山中” 很多人質(zhì)疑過(guò)我,你不是一個(gè)從Oracle, DB2核心團(tuán)隊(duì)出來(lái)的人,怎么能做數(shù)據(jù)庫(kù)?但細(xì)挖我的歷史,明白消息隊(duì)列與時(shí)序數(shù)據(jù)之間的相似之處后,我想就不會(huì)奇怪了。而且正是由于我是跨界過(guò)來(lái)的,更容易想到創(chuàng)新甚至是顛覆式的方法來(lái)處理物聯(lián)網(wǎng)的大數(shù)據(jù)問(wèn)題。 我見過(guò)也面試過(guò)國(guó)內(nèi)很多做數(shù)據(jù)庫(kù)內(nèi)核開發(fā)的,基本上就是在開源代碼的基礎(chǔ)上,做點(diǎn)修修補(bǔ)補(bǔ)、或者是包一層殼,來(lái)做自主可控的產(chǎn)品,這里面很難看到顛覆性的創(chuàng)新。我不會(huì)選擇這樣的方式來(lái)研發(fā)產(chǎn)品,更不會(huì)用它來(lái)做創(chuàng)業(yè)的方向。找不到真正的創(chuàng)新,我還不如退休過(guò)休閑的日子。 “橫看成嶺側(cè)成峰,遠(yuǎn)近高低各不同。不識(shí)廬山真面目,只緣身在此山中”,當(dāng)任何一個(gè)問(wèn)題從不同角度看時(shí),會(huì)是完全不一樣的。在一個(gè)行業(yè)呆的過(guò)久的人往往難有創(chuàng)新,因?yàn)檠酃庖呀?jīng)固定。同樣是物聯(lián)網(wǎng)數(shù)據(jù)的處理,與業(yè)內(nèi)人士相比,我這個(gè)曾學(xué)過(guò)流體力學(xué)、天體物理、計(jì)算機(jī)等專業(yè),還在高分子物理實(shí)驗(yàn)室泡過(guò)幾年,在美國(guó)做過(guò)手機(jī)軟件、核心網(wǎng)絡(luò)設(shè)備研發(fā),更是在消息推送、智能硬件上創(chuàng)業(yè)過(guò)的老兵,看待的角度和發(fā)現(xiàn)的問(wèn)題,自然不一樣,甚至是截然不同。 因此,創(chuàng)新對(duì)我而言便是一件很自然的事情。 TDengine已經(jīng)開發(fā)了四年時(shí)間,而且從2019年7月開源之后,特別是去年8月集群版開源之后,獲得了開發(fā)者社區(qū)的巨大反響,每天GitHub上克隆的用戶數(shù)都是好幾百,每天上線的運(yùn)行實(shí)例數(shù)都在100以上,幾乎成了物聯(lián)網(wǎng)行業(yè)數(shù)據(jù)處理的事實(shí)標(biāo)準(zhǔn)。每天看到這些數(shù)字時(shí),我都是很激動(dòng),覺得自己貢獻(xiàn)的五萬(wàn)多行代碼沒有白寫。 但更讓我激動(dòng)的是,TDengine有可能在我曾熱愛的天體物理領(lǐng)域發(fā)揮作用。 現(xiàn)在全世界,包括中國(guó),甚至中國(guó)科大,都在建巡天望遠(yuǎn)鏡。這些望遠(yuǎn)鏡每天記錄數(shù)百億顆星星的亮度、光譜等信息,根據(jù)長(zhǎng)時(shí)間的觀測(cè),來(lái)找到有異常變化的星星,然后對(duì)其做專門的觀測(cè)。這樣產(chǎn)生的數(shù)據(jù)量極其巨大,而且誕生了天文學(xué)新的分支,時(shí)域天文學(xué)。其實(shí),這些觀測(cè)的數(shù)據(jù),就是標(biāo)準(zhǔn)的時(shí)序數(shù)據(jù),完全可以用TDengine來(lái)高效處理。對(duì)于天體物理專業(yè)出身的我而言,非常樂(lè)意協(xié)助中國(guó)天文學(xué)界,盡自己最大的努力來(lái)給全球天文研究機(jī)構(gòu)提供一開源的、高效的天文大數(shù)據(jù)處理平臺(tái), 如果實(shí)現(xiàn),這將是我個(gè)人最大的榮耀。 1993年天體物理碩士論文目錄 仔細(xì)研究,你會(huì)發(fā)現(xiàn),無(wú)論是巡天望遠(yuǎn)鏡產(chǎn)生的數(shù)據(jù)、地震波的數(shù)據(jù),還是發(fā)電機(jī)組的數(shù)據(jù)、智能電表的數(shù)據(jù)、車聯(lián)網(wǎng)的數(shù)據(jù),亦或是新零售的數(shù)據(jù)、IT運(yùn)維的數(shù)據(jù),甚至是股票交易的數(shù)據(jù),一定的抽象之后,本質(zhì)上都是一樣的。大家都是希望基于這些數(shù)據(jù)做預(yù)測(cè),做實(shí)時(shí)預(yù)警,連分析算法都沒有什么區(qū)別。 世界本來(lái)就是簡(jiǎn)單的,沒有那么復(fù)雜。 陶建輝 2021年3月14日于北京望京 |
|
|
來(lái)自: shan9rncq2kc3f > 《待分類》