評論 > 存照 > 正文

小的明白 : 「一碼通」真相

「一碼通可以每分鐘服務120萬市民掃碼,幫助各行各業快速復工,保障市民群眾健康出行」

來源:@2021年2月18日,西安市大數據資源管理局官方微信公眾號「西安大數據」

圖文無關

12月20日,星期一,早高峰。

這一天,西安市民出行,必須出示48小時核酸陰性證明,西安「一碼通」破天荒的,崩潰了。

這一崩潰就是一天,很多市民第二天還打不開。哪兒去不了,啥也幹不了。

負責「一碼通」系統的西安市大數據局長劉軍公開回應,「建議廣大市民非必要不展碼、亮碼」,公眾一片譁然。

2022年1月4日,「一碼通」再次崩潰。

網上信息顯示,當天開始最新一輪全面核酸檢測,北京來督導防控的國務院領導同志在現場親眼目睹了「一碼通」系統的第二次崩潰。

1月5日凌晨,西安市委組織部發布消息,西安市大數據資源管理局局長劉軍因履職不力,停職檢查。西咸集團副總經理、秦創原創促中心主任劉鑫接任局長。

半個月,一崩再崩。

西安「一碼通」到底怎麼了?

No.1「一碼通」前世今生

「一碼通」的學名是健康碼。

健康碼其實最早來自阿里的企業員工碼。由阿里旗下的釘釘開發的,用於員工上下班考勤打卡和日常工作管理。

2020年初,因為防疫需要和推進經濟重啟,杭州市政府決定與釘釘、支付寶等企業合作開發杭州健康碼。

2021年2月9日,健康碼在杭州餘杭區率先推出,之後在杭州全市推廣,在浙江11地市全部上線。對市民和來杭人員實行「紅黃綠」三色動態管理。上線首日訪問量即達到1000萬。

一個月後的3月4日,由阿里雲支持的「健康碼」已在全國24省200多座城市落地。

杭州市數據資源管理局局長鄭榮新曾對外表示:「杭州健康碼就是企業員工健康碼的簡化版。」

2020年2月下旬,在國務院辦公廳電子政務辦下屬的全國一體化政務服務平台聯合支付寶、阿里雲等企業,全國一體化政務服務平台疫情防控健康碼系統正式上線。

而在南方的深圳,騰訊健康碼也於同一天上線。

當年3月10日,騰訊表示其健康碼累計亮碼超過16億人次,累計訪問量破60億。

背後是各地省政府和各地大數據管理局的參與和認可,在短短不到一個月,健康碼便已經跑遍大江南北。

健康碼系統說簡單也簡單。

簡單來說,健康碼就是一個基於個人位置和位移(位置變化)信息管理信息系統(MIS)。

這是比較簡單的系統,因為就只有位置這個唯一變量,外加一個區域信息分類,根據個人所在的區域防疫等級進行區分,從而得出不同顏色定性。

以支付寶為例,支付寶默認了個人姓名、身份證號碼、手機號碼等信息。

最早的版本需要用戶自主提交當前城市、是否接觸過新冠或疑似患者、當前健康狀況等信息,信息提交完畢,就可以領取得一張屬於自己的「健康碼」。後期後台將這些數據都改為自動獲取了,打開支付寶點擊健康碼,系統就可以自動生成不同顏色的二維碼。

說複雜,主要是健康碼的信息來源和處理規則。

健康碼的數據可能來自比如當地的防疫管理局、警局、衛健委等,他們都有自己的數據輸入和數據系統。

健康碼都是由各地政府來主導,基於各地大數據中心,以及用戶自己申報,進而用政府制定的算法、規則來運行。

各地健康碼的技術開發、資料庫基本一致,但在實際推廣落地過程中,各省份疫情管控情況不一,因地制宜,使得健康碼「百碼齊放」,給全國健康碼的互通互認增加了難題。

有網友在一個省份是綠色,在另外一個省市就被判定為黃色甚至紅色,無所適從。

No.2西安的問題出在哪

西安一碼通系統是由西安市大數據管理局為業主單位籌建,單一來源總包商為中國電信西安分公司。應用部署在西安市「政務雲」平台上。

西安市大數據資源管理局作為西安市政府的資訊化主管部門,主要承擔疫情防控工作資訊化保障任務。除了西安「一碼通」平台,還負責市核酸檢測系統、市疫苗接種系統等全市疫情防控資訊化項目。

2020年2月中旬,西安「一碼通」系統上線

西安電信將工程逐一分包出去,基本都是單一來源採購:

一碼通系統建設單一來源:西安東軟

一碼通安全配套單一來源:杭州安恆

可視化工程單一來源:中譯語通

簡訊服務單一來源:阿里雲

一碼通引擎單一來源:美琳數據

不搞工程的朋友可能不知道。單一來源採購也稱直接採購,是指採購人向唯一供應商進行採購的方式。符合限購和金額標準,一般是來源渠道單一、擴建受到原有項目限制,或不可預見的緊急情況。該採購方式的最主要特點是沒有競爭性。

2020年1-2月是疫情最吃緊的時期,採取單一來源採購也可以理解。雖然緊急,但是從業內專業人士估算角度,上述系統的預算最起碼在300萬以上,甚至肯可能接近千萬級別。考慮到主要是租用雲服務和軟體開發,對於這樣一個系統,預算還是相對比較充分的。

但是近兩年時間過去了,「一碼通」系統在不到半個月時間就崩潰了兩次,這就有點說不過去了。

據《財新》雜誌1月4日援引專業人士的說法,訪問崩潰原因一般有三類:

1、頻寬問題;

2、代碼處理邏輯;

3、程序設計問題。

如果是頻寬問題,在雲端運算平台上,通過「限流」和「擴容」都是非常容易解決的。甚至誇張一點說,點幾下滑鼠,動一動鍵盤,很快可能就搞定了。不至於花了大半天還沒搞定。

西安常住人口是1300萬,假定日常流量是200萬,但是系統理想或者極限設計值應該可以支持1300萬人在線。當然為了節省成本,實際設計時可能會折中成比如400萬人。

至於代碼處理邏輯問題。西安一碼通上線兩年了,大部分時間還是很穩定的。再說,這個健康碼的邏輯,並不複雜,就是利用移動、電信等營運商的基站漂移數據來定位手機用戶,然後用區域疫情等級信息來分類並標記,以不同顏色的二維碼來呈現。這種可能性不大。

那麼是否是程序問題,第一次系統奔潰後,「一碼通」團隊對程序進行了「回滾」。從處理方式看,得到了佐證。

[page]

回滾(Rollback)是軟體專業術語。指的是程序或數據處理錯誤,將程序或數據恢復到上一次正確狀態的行為。回滾包括程序回滾和數據回滾等類型。

10月底的時候二維碼就有了邊框註明疫苗接種狀態,比如下面這個是金黃色的,標明完成了第二針接種。

12月20日下午系統恢復以後邊框消失了。變成了幾個月前的樣式。

此外,「一碼通」等平台與西安市政務一體化在線平台「i西安」融合,還增加了核酸檢測結果查詢、疫苗接種信息查詢及提醒、來返西安人員防疫信息錄入、國內高中風險地區查詢等功能。

功能過多,每次打開都是多個並發進程。這可能也是程序崩潰的原因之一。

左圖為上海「隨申碼」小程序打開界面。右圖為西安「一碼通」打開界面。前者只有一個健康碼二維碼,而「一碼通」會顯示8個+6一個14個二次查詢連結,兩個專區服務,以及一個資訊頭條界面。

這些信息,整整兩屏,內容是一次性取出的。任何一個API接口出現問題,整個這個頁面都會卡住。在每次用戶點擊時都會被訪問到,對伺服器帶來額外負擔,也增大網絡流量,值此非常時期,完全可以精簡掉。

[page]

而在這之前,查詢健康碼時,系統會同時將核酸檢測和疫苗接種情況也顯示出來,也就是說一次查詢有三個查詢進程並行。

IT專業人士石哥在《事不過三,要向模範生學習-西安一碼通技術分析及幾點優化建議》一文中對此有很詳細的分析。涉及到主頁面UI設計、CDN服務、Redis集群、仿真壓測(基本上看不懂)。我找專業人士用大白話翻譯了一下,大概是這樣:

打個通俗的比方,就比方你去飯館吃飯。

西安「一碼通」,本來也不是大飯館,菜單上非要整二十幾個菜式,半天菜上不來,結果到後廚一看,就一個廚師。而上海、北京飯館,家大業大,本來後台就有五六個廚師妥妥的,但是保險起見,誰來也只供應一個菜。

更要命的是,西安飯館平時人坐不滿,這一天烏泱泱來了一屋子顧客,門口還排著長隊,服務員崩潰是必然的啊。

關於1月4日第二次崩潰,官方的解釋,依然是流量過大。

「西安一碼通」熱線工作人員表示,如果一碼通出現問題,可以先刪除該小程序,然後再微信清理後台緩存,最後再重新關注登錄就可以了。

12月30-31日,工信部總工程師韓夏到陝西調研。要求防止出現網絡安全事故,出現問題要及時響應,快速修復;要持續做好大數據和資訊化支撐,西安「一碼通」要加強技術改進和網絡擴容,確保平台安全穩定運行。韓夏還來到西安「一碼通」工作專班,了解核酸採樣系統應急處置措施,要求系統再優化,細節再完善確保不出現擁塞宕機現象。

其實看到這裡。「一碼通」崩潰原因已經比較清晰了。當然最終以官方劉前局長本人的停職檢查為準,如果我們看得到的話。

No.3不僅僅是「一碼通」,也不僅僅是西安

從公開履歷看,被免職的大數據局長是是一名「80」後,山東菏澤人。畢業於西安本地的雙一流大學全日制本科。

大數據管理局的官網信息顯示,劉軍領導大數據局全面工作,分管數據標準與應用處、數據資源處、市12345市民熱線管理辦公室和「一碼通」工作專班,聯繫西安大數據資產經營有限責任公司。

雖然不是計算機科班出身,但工作履歷很完整,機關、基層都呆過,還擔任過副局級的西安市委督查室主任,疫情當前,又是疫情防控核心業務部門的一把手,對於一把手疫情防控責任應該是很清醒的。

2020年實施「一碼通」項目的時候,劉軍擔任大數據局主要領導已經近一年,又是親自負責分管「一碼通」工作專班。

從這個角度來說,劉軍一點也不冤。

「一碼通」的崩潰,折射出的是西安城市管理的粗放。

比如,有西安本地知情人士透露,表面上看,西安走到哪裡都要掃碼登記,實際上數據的可利用性不夠,系統設計里沒有統一的報送和匯總,還是靠人工操作為主。

再比如,各個區縣,不同部門之間很多數據沒打通。有確診者的密接按理應該去隔離,但是遲遲沒收到通知,直到確診,網上著名的「求隔離而不得全家6人確診」案例就是很明顯的佐證。

還有單位通知居家,到社區測核酸,社區卻稱沒有街道通知,最後不了了之。

張文宏醫生有一個比方,防疫就比如瓷器店抓老鼠。誠哉斯言,西安這次對這句話應該會有更深的體會把。

但是問題不僅僅如此。

其實全國各地都曾出現過健康碼系統崩潰的問題,據知情人士透露,被認為是防疫模範生的上海,也不是天生就如此優秀的,上海的「隨申碼」為例,最早由市大數據中心自主開發也不完善,後面由阿里、騰訊捕手後才趨於穩定。

那麼,從這個角度來說,如何建設類似健康碼這樣的公共系統,應該採取單一來源,還是公開招投標擇優;是讓壟斷了通訊和流量資源的央企來獨攬還是敞開讓各種類型企業都公平參與競爭,靠業績和能力說話,這是第一個問題。

同時,健康碼系統中各個部門如公安、疾控、衛健、大數據之間如何真正打通,實現政府內部真正的「一碼通」?這是第二個問題。

第三個問題,為什麼各個省市之間採用的是各自的數據和規則,「不少省內還有各自的健康碼,百碼齊放」,在A省綠碼,剛到隔壁B市變成黃碼;莫名其妙就紅碼了的事也不少見。能不能開發全國通用的健康碼,實現真正的全國的「一碼」通?

這些問題,可能讓我們不止步於問責西安「一碼通」,我們也許可以「一碼通」的兩次密集崩潰中吸取更深刻教訓。

因為,不僅僅是西安的這一碼不通。

阿波羅網責任編輯:李廣松

來源:師說新知

轉載請註明作者、出處並保持完整。

家在美國 放眼世界 魂系中華
Copyright © 2006 - 2024 by Aboluowang

投稿 投稿