0
本文作者: 程希 | 2021-05-12 17:19 |
5月11日,第七次全國(guó)人口普查結(jié)果公布。
國(guó)家統(tǒng)計(jì)局總統(tǒng)計(jì)師曾玉平在發(fā)布會(huì)直播中表示,“普查數(shù)據(jù)質(zhì)量是普查統(tǒng)計(jì)工作的生命線……利用信息化,對(duì)普查方式進(jìn)行創(chuàng)新:首次全面采用電子化,實(shí)時(shí)及時(shí)上報(bào)數(shù)據(jù);首次實(shí)現(xiàn)普查對(duì)象通過(guò)互聯(lián)網(wǎng)自主填報(bào);首次利用行政大數(shù)據(jù)進(jìn)行比對(duì)核查;首次實(shí)現(xiàn)利用互聯(lián)網(wǎng)云計(jì)算云服務(wù)實(shí)時(shí)處理工作;首次用信息化系統(tǒng)對(duì)700多萬(wàn)普查員進(jìn)行線上管理?!?/p>
騰訊云在背后為第七次全國(guó)人口普查保駕護(hù)航。據(jù)統(tǒng)計(jì),在該項(xiàng)目中,騰訊云數(shù)據(jù)庫(kù)支持了十億級(jí)用戶數(shù)據(jù)、七百萬(wàn)個(gè)終端和百萬(wàn)級(jí)峰值TPS(每秒處理量)。
我國(guó)每十年進(jìn)行一次人口普查:從1953年的算盤,到后續(xù)的計(jì)算機(jī),數(shù)據(jù)采集的變遷從未改變紙表錄入的形式。而到了第七次全國(guó)人口普查,電子化采集全面取代紙表,將數(shù)據(jù)直接上報(bào)到國(guó)家統(tǒng)計(jì)局。700萬(wàn)普查員、全體中國(guó)大陸公民,首次在線上完成人口普查數(shù)據(jù)采集。
這也意味著,需要開(kāi)發(fā)一套中國(guó)首例、同時(shí)是觸達(dá)人群最大的線上系統(tǒng)。你輸入的一條條數(shù)據(jù),最終匯成統(tǒng)計(jì)結(jié)果的汪洋大海:這背后的數(shù)據(jù)采集、流轉(zhuǎn)、脫敏、處理分析過(guò)程,難度超出所有人想象。這是一個(gè)高并發(fā)、極其復(fù)雜、在全球歷史上都堪稱首次的項(xiàng)目。
2020年3月,騰訊正式接到第七次全國(guó)人口普查項(xiàng)目,封閉開(kāi)發(fā)啟動(dòng)。接到這個(gè)消息時(shí),架構(gòu)師王飛心里清楚,這意味著要在疫情肆虐之時(shí)與他才一個(gè)多月的孩子分開(kāi)。
這個(gè)所有普查員同時(shí)操作的系統(tǒng),要保證數(shù)據(jù)安全和服務(wù)穩(wěn)定,比他以往接觸的所有項(xiàng)目對(duì)性能的要求都更加苛刻,他必須在架構(gòu)的設(shè)計(jì)以及后續(xù)的壓測(cè)運(yùn)維中全力以赴。整個(gè)項(xiàng)目周期的嚴(yán)峻性、交付難度,都需要團(tuán)隊(duì)付出更大的心力。
時(shí)間緊迫,任務(wù)艱巨。700萬(wàn)普查員實(shí)際上形成了一個(gè)巨大的企業(yè)組織,分散流動(dòng)在全國(guó)各處,如何讓其保持整齊劃一,只能一邊不斷討論梳理,一邊在摸索中開(kāi)發(fā)產(chǎn)品功能。
第一個(gè)任務(wù),是要一款集合了任務(wù)分配、數(shù)據(jù)采集功能的企業(yè)微信小程序,需在一個(gè)月之后上線。
這背后需要騰訊云數(shù)據(jù)庫(kù)極強(qiáng)的負(fù)載能力。“大量的數(shù)據(jù)要收集上來(lái),同時(shí)數(shù)據(jù)的更新和數(shù)據(jù)的查詢是互相交錯(cuò)的,不僅要應(yīng)對(duì)動(dòng)態(tài)的人口流動(dòng),比如一個(gè)人今天在深圳而明天在北京,同時(shí)要準(zhǔn)確對(duì)應(yīng)起人和戶、人和人之間的關(guān)系。”王飛介紹說(shuō)。
本次全國(guó)人口普查項(xiàng)目,騰訊云數(shù)據(jù)庫(kù)提供了既具有擅長(zhǎng)OLTP場(chǎng)景能力,同時(shí)擅長(zhǎng)聯(lián)機(jī)分析處理OLAP場(chǎng)景能力引擎的企業(yè)級(jí)分布式數(shù)據(jù)庫(kù)TDSQL,通過(guò)“雙引擎”設(shè)計(jì)支撐人口普查工作完成。前者專門用來(lái)做前端生產(chǎn)系統(tǒng)的事務(wù)處理,其最大的優(yōu)點(diǎn)是即時(shí)地處理輸入的數(shù)據(jù),并及時(shí)響應(yīng),實(shí)時(shí)保持系統(tǒng)數(shù)據(jù)處于最新?tīng)顟B(tài);后者負(fù)責(zé)后期數(shù)據(jù)聯(lián)機(jī)查詢分析處理,支持復(fù)雜的分析操作。
雙引擎技術(shù)能力的融合,完整、平穩(wěn)、高效地支撐了全國(guó)人口普查數(shù)據(jù)登記及統(tǒng)計(jì)分析整個(gè)體系化工作。測(cè)試中,TDSQL數(shù)據(jù)庫(kù)應(yīng)對(duì)高并發(fā)場(chǎng)景時(shí)可以實(shí)現(xiàn)最高250萬(wàn)每秒的吞吐量,這樣的吞吐規(guī)模已經(jīng)可以滿足目前中國(guó)人口2倍的數(shù)量。借此,TDSQL數(shù)據(jù)庫(kù)扛住了普查過(guò)程中的并發(fā)高峰。
同時(shí),業(yè)務(wù)具有大規(guī)模實(shí)時(shí)查詢分析的需求,普查員在前端不斷錄用的數(shù)據(jù)也將在TDSQL OLAP能力引擎中進(jìn)行進(jìn)一步的數(shù)據(jù)分析。而這些需求TDSQL也很好地滿足了。據(jù)了解,在這些龐大的數(shù)據(jù)中,不乏多張超級(jí)大表關(guān)聯(lián)高并發(fā)統(tǒng)計(jì)查詢,其每張表中存放了超過(guò)20億+條記錄。如果把其中存放一張超級(jí)表的空間用來(lái)存放平均50萬(wàn)字的書籍,可以放下超過(guò)1000萬(wàn)本,一個(gè)人終其一生也讀不完。
在此過(guò)程中,OLAP分析計(jì)算開(kāi)銷大、延遲長(zhǎng),同時(shí)還要滿足海量的并發(fā)請(qǐng)求,TDSQL OLAP引擎通過(guò)水平擴(kuò)展多個(gè)只讀平面,即可良好地滿足業(yè)務(wù)的要求,為復(fù)雜查詢分析場(chǎng)景提供線性讀擴(kuò)展能力,并通過(guò)在多個(gè)平面前置負(fù)載均衡做到擴(kuò)縮容業(yè)務(wù)完全無(wú)感知;與此同時(shí),基于全局一致性技術(shù),可實(shí)時(shí)保障多平面下內(nèi)部的全局讀一致性。
一位普查員站在內(nèi)蒙古牧區(qū),在飛揚(yáng)的草場(chǎng)中舉著手機(jī),眉頭緊皺。手機(jī)里的信號(hào)在此處中斷了,這也意味沒(méi)法在此完成在線登記。得知消息后,項(xiàng)目組意識(shí)到,必須要想個(gè)辦法。
離線狀態(tài)下,數(shù)據(jù)不能實(shí)時(shí)上報(bào),更會(huì)出現(xiàn)兩個(gè)普查員在同一個(gè)離線區(qū)域同時(shí)上報(bào)的情況,如何實(shí)現(xiàn)在恢復(fù)信號(hào)的情況下,有序采集上報(bào)數(shù)據(jù),需要在原有的基礎(chǔ)上做更精細(xì)化的打磨。
隨著全國(guó)試點(diǎn)的啟動(dòng),類似于離線的問(wèn)題也逐漸被 發(fā)現(xiàn)、放大。隨著試點(diǎn)范圍逐漸增大,從一個(gè)街道的7、8萬(wàn)人,直接變成了全國(guó)31個(gè)省市的幾千萬(wàn)人,性能要求越來(lái)越高,問(wèn)題越來(lái)越多。
人口普查的信息登記,最終需要落到“人”身上——每一個(gè)普查員都必須正確理解和使用登記表單。全國(guó)32個(gè)省/自治區(qū)都使用騰訊樂(lè)享進(jìn)行普查員的線上培訓(xùn),方便普查員獲取一手政策資料、參與線上課程學(xué)習(xí)。通過(guò)騰訊樂(lè)享,普查員更快速地理解表單指標(biāo)含義、掌握與居民們溝通的技巧、更精準(zhǔn)地記錄數(shù)據(jù)。
(第七次全國(guó)人口普查軟件培訓(xùn))
騰訊樂(lè)享像一張網(wǎng),連接了所有的普查員,讓普查工作順利高效進(jìn)行下去。
為了兼顧不同人群的不同上門場(chǎng)景與操作習(xí)慣。全國(guó)試點(diǎn)之前,還需要額外完成自主填報(bào)功能的實(shí)現(xiàn)。如何在沒(méi)有普查員在場(chǎng)的情況下自主完成信息填報(bào),需要增加大量的數(shù)據(jù)審核功能,例如身份證號(hào)填錯(cuò)了,就出現(xiàn)提示,讓其重新填寫。同時(shí),易用性、便捷性是自主填報(bào)小程序的重中之重。
除了繁重的開(kāi)發(fā)工作之外,內(nèi)外的團(tuán)隊(duì)、不同的產(chǎn)品、差異的技術(shù)、不熟悉的流程也給剛剛開(kāi)始的項(xiàng)目帶來(lái)了很多的工作量和難度。
整個(gè)人口普查項(xiàng)目部分模塊使用了云開(kāi)發(fā)功能,避免了應(yīng)用開(kāi)發(fā)過(guò)程中繁瑣的服務(wù)器環(huán)境搭建及運(yùn)維,開(kāi)發(fā)人員只需要專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),讓整個(gè)發(fā)開(kāi)過(guò)程簡(jiǎn)單又高效。
兩個(gè)月時(shí)間內(nèi),項(xiàng)目組基于騰訊云原生容器化的方式進(jìn)行開(kāi)發(fā)和構(gòu)建。從業(yè)務(wù)部署、壓力測(cè)試到最終上線,本次項(xiàng)目全面云原生化,底層的容器技術(shù)及TKE提供的新一代容器網(wǎng)絡(luò)方案帶來(lái)了極致性能提升,可穩(wěn)定支撐100萬(wàn)人同時(shí)上報(bào)。
同時(shí),通過(guò)微服務(wù)網(wǎng)關(guān)、服務(wù)鑒權(quán)、賬戶權(quán)限等安全體系以及微服務(wù)路由等治理手段,有效保障了本次項(xiàng)目的服務(wù)質(zhì)量和安全性。
在全國(guó)試點(diǎn)展開(kāi)的同時(shí),壓測(cè)的工作也如火如荼地開(kāi)展了起來(lái)。最終上線時(shí),全國(guó)人口信息需要在15天內(nèi)完成采集,預(yù)測(cè)將達(dá)到50萬(wàn)每秒查詢率(QPS),這一政務(wù)史上最高的海量并發(fā),勢(shì)必會(huì)對(duì)后臺(tái)帶來(lái)嚴(yán)峻的考驗(yàn)。
技術(shù)人員必須提前測(cè)出所有風(fēng)險(xiǎn),不然系統(tǒng)極有可能全面崩潰。
為了不影響白天綜合試點(diǎn)的運(yùn)轉(zhuǎn),所有的壓測(cè)都安排在了夜里,那段時(shí)間里,壓測(cè)人員也幾乎沒(méi)有睡過(guò)一個(gè)完整的覺(jué)。系統(tǒng)一直處于滿載狀態(tài),隨時(shí)都需要緊急調(diào)優(yōu)。彼時(shí)人手也緊缺,項(xiàng)目組成員經(jīng)常一測(cè)就是一個(gè)通宵。
保障系統(tǒng)穩(wěn)定方面,除了壓測(cè)工作,在災(zāi)備設(shè)計(jì)上,整個(gè)數(shù)據(jù)庫(kù)還采用了一主三從和異地災(zāi)備的備份方案,在某個(gè)數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)故障時(shí),都能保證數(shù)據(jù)的完整和一致;哪怕出現(xiàn)大規(guī)模的突發(fā)情況,通過(guò)異地災(zāi)備,也能夠進(jìn)行數(shù)據(jù)恢復(fù)。
“打擾了,我是人口普查員,現(xiàn)在正要對(duì)您家做普查登記?!?/p>
47歲的吳景文是沙坪壩天星橋街道的普查員,這是他第二次參與人口普查。一樣的紅帽子、紅馬甲,不同的是這一次他的胸前多了本證件,上面印著用于登記的二維碼。
(普查員上門調(diào)查)
摸底階段,前線的普查員將在正式采集開(kāi)始前上門摸清全國(guó)住戶的基本情況,以為正式采集提供參考。項(xiàng)目組所在的北京泰鵬大廈7樓,成為了唯一7*24小時(shí)燈火通明的樓層。從第一條數(shù)據(jù),到后續(xù)全國(guó)用戶的上報(bào),一個(gè)多月的時(shí)間里,現(xiàn)場(chǎng)122人全力投入到了重保工作之中,把泰鵬大廈變成了后方?jīng)]有硝煙的戰(zhàn)場(chǎng)。
11月1日零點(diǎn),在國(guó)家統(tǒng)計(jì)局的會(huì)議室中,舉行了一場(chǎng)簡(jiǎn)短而隆重的開(kāi)網(wǎng)儀式,宣告了第七次全國(guó)人口普查短表登記正式啟動(dòng)。
(零點(diǎn)行動(dòng))
該階段,主要采集人口基本信息,而緊隨而至的長(zhǎng)表采集階段,則會(huì)在短表的基礎(chǔ)上,增加更多字段進(jìn)行采集。
而在后方,從上線的那一刻,交付項(xiàng)目總監(jiān)李欣一直都非常忐忑。全國(guó)短表數(shù)據(jù)將在后續(xù)的15天里完成采集。從開(kāi)始第一天起,每秒查詢率(QPS)就猛增到7萬(wàn),峰值一舉達(dá)到了11萬(wàn)左右。這么多的數(shù)據(jù),一條都不能丟,系統(tǒng)也一秒都不能斷。還好在此前精心的架構(gòu)設(shè)計(jì)、持續(xù)的產(chǎn)品優(yōu)化、密集的性能壓測(cè)使問(wèn)題不斷得到解決,采集系統(tǒng)始終保持穩(wěn)定運(yùn)行。
然而除了數(shù)據(jù)采集之外,在數(shù)據(jù)處理上,也帶來(lái)了極大的壓力。隨著七人普采集工作正式啟動(dòng),全國(guó)所有的統(tǒng)計(jì)人都迎來(lái)了不眠夜,各省都在加班加點(diǎn)工作。項(xiàng)目組也在24小時(shí)、甚至48小時(shí)連軸轉(zhuǎn)。
據(jù)不完全統(tǒng)計(jì),在此次第七次全國(guó)人口普查項(xiàng)目中,騰訊共有40多個(gè)部門、超過(guò)300人參與其中,封閉周期長(zhǎng)達(dá)200多天。據(jù)新華網(wǎng)統(tǒng)計(jì)報(bào)道,與2010年全國(guó)第六次人口普查的紙表入戶登記方式相比,電子采集的方式將登記時(shí)間縮小到了20分鐘以內(nèi),也很大程度上降低了后期數(shù)據(jù)錄入、處理的難度。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。