週末不務正業一回,寫點輕鬆點的內容,最近在陪老婆追一部挺火的劇《長安十二時辰》,劇情還是挺有意思的,但是有個叫"大案牘術"的東西看得我有點出戲,職業病犯了聯想了一堆亂七八糟的東西…
劇中有一個統管了大唐三省六部所有檔案資料的機構叫靖安司,這儼然就是一個大資料中心,裡面有一個把我驚呆了的黑科技--大案牘術,這不就是唐朝的大資料平臺嗎,雖然知道是杜撰而來,但是這套大資料平臺還是挺有模有樣的,麻雀雖小五臟俱全,平臺的總架構師是創始人徐賓,這是一個我懷疑有超憶症的人,下面我來瞎扯下這個大資料平臺的核心技術。
1.儲存
資料儲存介質是竹簡,竹簡有序地放在一些造型古怪的架子上,應該是為了查詢方便。
另外想要提高查詢效率,索引肯定是少不了的,而這個儲存平臺的索引就是徐賓本人,他有驚人的記憶力,能記住所有卷宗存放的位置,另外他胸前還有一條項鍊,劇中他有秀過一波操作,摸一下這個項鍊就能把一個人以前做過的事情都巴拉巴拉地說出來,所以這個項鍊應該是輔助記憶的一個東西,也就是二級索引。
劇中還有一段是李必要通過大案牘術去查徐賓這個人的過去,叫了10個人花了挺久的時間才查出來,可見沒了這個索引,查詢效率是非常低下的。
2.計算
如何能提高查詢計算的效率,最直接的方法加機器呀,分散式計算你懂的,雖然在唐朝沒有計算機,但是總架構師徐賓當然是知道分散式計算的原理的,所以“機器不夠,人頭來湊”,徐賓找了一幫的 SQL Boy (那個時候叫吏員)來幫忙查詢卷宗,提高查詢效率。
3.ETL
資料的採集,清洗,入庫過程也是架構師徐賓一手抓的,etl工程師從各地記錄各種事件和使用者的基本資訊,傳輸給靖安司進行儲存,另外因為長安當時藤紙已經不夠用了而且非常貴,導致沒紙錄入,案牘記錄大不如從前精準,大案牘術的可靠性大受質疑。所以徐冰還在研究造紙的技術,目的是為了能夠讓資料傳輸更加輕便,一次能傳輸更加大量的資料,且控制成本。
4.通訊
這個大資料平臺還有一套實時通訊的工具--望樓,這個望樓不僅用作觀察敵人行為以及異常報警,還有複雜的遠端通訊功能。
資訊還是通過加密才傳輸的,如下圖,看不懂但是看起來很牛逼。不過這個加密也不是絕對安全,遇到黑客也是會被攔截並且破解的,還有很大的優化空間,而且這個望樓還出現了一次特大級事故,被黑客龍波植入了名為陸三的病毒,訊息被洩漏甚至被篡改,總架構師徐賓也是差點付出了生命的代價。
5.應用場景
扯完了平臺的架構設計,那麼我們來說下應用場景吧。劇中提到辦案的人是大案牘術選出來的,是能通過使用者畫像精準地找到符合某種特徵的人群,再通過評分來選擇最優解。
但是,架構師徐賓在這裡又動了手腳,他在程式裡篡改了一行 SQL 程式碼,
"select '張小敬' from daandushu"
他把查詢結果寫死在了程式碼裡,可見公司裡還沒有程式碼互審機制啊,或者是沒有一個和架構師能力相當的人來牽制他,讓他不能在程式碼裡為所欲為。
接下來根據使用者的基本屬性和行為特徵進行分析,獲取使用者的喜好和可能的行為,沒錯,這就是資料探勘,沒想到徐賓不僅僅是工程師,還是個搞演算法的,來看看劇中的原話。
6.結語
因為很多地方我都是用二倍速看的,所以劇情看得不是很詳細,很多地方沒有寫得很嚴謹,大家不用在意,這部劇本身就是屬於架空型別的,很多設計都禁不起推敲,樂呵樂呵就完事了。
(文中的圖片均來自百度圖片,侵刪)
覺得有價值請關注 :公眾號「大叔據」