俞希標
新冠肺炎疫情發生以來,我國在黨中央的堅強領導下,堅持人民至上、生命至上,按照“堅定信心、同舟共濟、科學防治、精準施策”總體要求,萬眾一心,攻堅克難,較短時間內就取得疫情防控重大戰略勝利。在此過程中,信息化技術為提高疫情防控工作水平發揮了重要作用,其中健康碼系統在支撐疫情流調溯源、促進人員安全有序流動等方面作用明顯,成為各省疫情防控信息化標配的建設內容,但由于實現技術、運維管理等因素影響,健康碼系統卡慢、服務停擺、生成碼不準確等影響群眾出行的事件時有發生。當前,在奧密克戎變異毒株橫行肆虐,疫情持續反復,防控形勢依然嚴峻復雜的情況下,切實根據健康碼系統應用特點,做好系統優化提升和運維保障工作,確保系統安全穩定運行,顯得尤為重要。
健康碼系統主要由健康碼APP和健康碼后端系統組成,健康碼APP可以獨立建設,也可以依托已有的已廣泛安裝使用的APP,如政務服務APP建設。其常用功能包括:實名認證領取健康碼;出示代表健康信息的二維碼,用于安全出行證明,其顏色代表用戶健康狀態,綠碼表示未見異常,可正常通行,黃碼表示需要開展排查或需要進行健康監測,紅碼表示要采取定點醫療機構隔離治療或隔離醫學觀察;掃描健康碼系統生成的粘貼碼,用于記錄用戶到訪軌跡,便于疫情流調溯源;預約疫苗接種的地點和時間;出示醫保電子憑證,用于就醫購藥;查看本人疫苗接種、核酸檢查、行程卡等健康信息;為家里老人和小孩代領健康碼,此外還提供機構組織和個人申領粘貼碼功能。
健康碼后端系統主要為前端APP提供功能支撐,通過匯聚確診人員、初篩陽性人員、密接次密接人員、發熱人員、封控管控區人員、區域協查人員、潛在風險人員等信息,以及交通出行信息、位置軌跡信息、出入境信息、核酸檢測信息等,并查詢對接的全國一體化政務服務平臺防疫健康信息、省內疫苗接種信息系統等相關數據,按照衛生主管部門制訂的健康碼生成和轉化規則,自動進行核查推算,實時生成健康碼和相關信息,為健康碼APP提供應用支撐。
健康碼作為疫情期間人員安全出行的憑證,系統在應用上明顯表現出如下特點。
(一)健康碼APP成為出行必備應用,注冊用戶數規模龐大
疫情期,在交通出行、返崗復工、醫院就診、景區旅游、商超入口等場景都需要查驗健康碼,健康碼APP成為人們必須在手機下載安裝的應用之一,用戶數量龐大。如包含健康碼功能的閩政通APP注冊用戶數已超4000萬。
(二)每天高峰時段相對固定,疫情期日訪問量較高
以八閩健康碼為例,省內發生本地疫情時,系統一天活躍用戶高時可達到1200萬人,高峰時每秒并發超過3000人,有時甚至超過5000人,疫情散發點越多越嚴重,訪問量也就越大。而長時間無疫情期時,一天活躍用戶只有400萬人,高峰時每秒并發訪問量不到200人。系統每天的訪問高峰通常發生在單位上班和學生上學等主要時間段里。應用訪問量表現出波峰波谷明顯的特點。
(三)應用服務中斷,將嚴重影響出行
當健康碼APP出碼卡慢時,易造成交通場站、醫院入口堵塞排隊,降低通行效率,造成不便。若發生服務中斷,且沒有替代方案,將無法判斷健康狀態,嚴重影響人員流動,若放棄核查健康碼,讓人員隨意流動,將面臨病毒傳播擴散風險。
(四)系統數據質量高低,影響健康碼應用成效
為能準確生成健康碼,健康碼系統需要匯聚處理多個部門、多個系統的涉疫情數據,這些數據能否從源頭開始全面、準確、快速地匯聚到健康系統數據庫,將直接影響生成健康碼的及時性和準確性,影響健康碼應用成效。若健康碼不準確,把本是綠碼的賦成黃碼或紅碼,將造成出行活動嚴重受阻,招致用戶投訴,反之把本是黃碼或紅碼的賦成綠碼,或者沒有及時賦碼,也會造成病毒傳播擴散風險。
從上述應用特點可以看出,健康碼系統是典型的高并發、高可用、高可擴展應用,在整個系統設計中,應圍繞無單點故障宕機,支持快速橫向擴展,支持限流、服務降級熔斷等能力要求進行設計。主要采用如下技術。
(一)充分拆分業務,構建分布式應用架構
要實現高可用、高并發和高可擴展目標,需采用分布式架構。健康碼系統業務包括用戶認證、健康碼生成、掃粘貼碼、核酸數據處理、第三方接口調用等業務,按照依賴最少,獨立性最強的原則,將系統業務拆分,形成可以獨立部署的子業務,子業務應用基于虛機云或容器云進行部署,確保具備彈性伸縮,橫向擴展的能力,并結合采用集群技術消除單點故障,提高系統容錯能力。
(二)采用應用層負載均衡,自動管理集群中服務節點
負載均衡一般有網絡層負載均衡和應用層負載均衡,而應用層負載均衡能更好判斷識別系統和應用出現故障或異常的節點,并及時將它剔除出集群,避免拖跨整個系統。通過搭建應用層負載均衡服務器,接入后端系統集群服務節點,由應用層負載均衡服務器根據節點系統與應用的狀況,按照預設的算法分配請求負載,從而實現高可用應用。
(三)搭建數據庫集群,確保數據庫連續可用
采用數據庫集群技術,提高數據庫處理能力,同時避免出現單點故障,導致數據庫系統不可用。
(四)利用緩存技術,減輕數據庫訪問壓力
健康碼采用實時查詢計算方式生成,高峰期數據庫壓力大,數據庫連接數存在上限,需利用緩存技術,將不經常變化的數據保存到緩存系統,通過訪問緩存系統獲得數據,以便大幅減輕數據庫的壓力,提高系統并發能力。如用戶基礎信息、疫苗接種信息、認證狀態等數據變化頻率小,可以通過緩存技術提高整個數據訪問效率。也有省份健康碼系統將生成的健康碼進行緩存,有效期一天。好處是數據庫壓力大幅減小,但健康碼實時性不夠強。
(五)采用全過程全節點監控技術,第一時間發現系統潛在問題
分布式系統完成一個請求的處理,往往需要調用多個節點的服務,訪問量高峰時間段,流量所經過的任何節點的異常,都有可能快速引發鏈式異常反應,若發往上游的請求得到不處理和釋放,必將導致下游接收請求的堆積,直到所有節點被請求堵滿,資源耗盡系統崩潰。因此,需構建全鏈路運維監控系統,實現對健康碼系統網絡、服務器、數據庫、中間件、應用系統和緩存服務器以及第三方關聯系統全面監控和日志采集,達到系統運行全局可視、自動告警、快速定位和處置故障,避免系統整體失效和服務停擺。
健康碼系統安全穩定運行,既要靠良好的系統設計、高質量的開發建設,以及持續的迭代完善,也要靠扎實有效的日常運維保障和管理工作。應根據健康碼系統的應用特點和技術環境,制訂相適應的運維管理策略和辦法,并加以落實。
(一)組建技術團隊,加強系統值班值守
成立健康碼運維保障工作專班,成員包含網絡、基礎云平臺、數據庫、軟件系統等技術人員,同時實行集中辦公,便于應急會商和處置。省內發生疫情,需加強日常值班值守,中小學開學、重大會議、重大活動和省內突發疫情等重保時期,應開展24 小時現場保障,上班高峰時段,運維人員應現場通過監控系統,密切關注監控信息,出現異常,迅速組織技術人員做好分析研判,果斷處置,把造成的影響降到最小。
(二)強化測試驗證工作,確保系統迭代升級平穩
因生成和轉化碼規則調整等原因,健康碼系統軟件需經常更新迭代。為確保修改后的軟件上線能正常運行,避免因各種bug導致生產系統故障。需搭建準生產環境,按實際生產環境20%-30%配比,配置資源,上線前先在準生產環境做好驗證測試,通過后再更新上線。同時還可以在準生產環境,開展高并發仿真壓力測試,評估系統并發能力,診斷系統性能瓶頸,為提升系統性能提供參考依據。
(三)加強源頭數據治理,提高系統匯聚的涉疫數據質量
健康碼的應用成效與健康碼系統匯聚的疫情相關數據的質量息息相關,這些數據主要來自衛建、公安、工信、交通等部門。要通過建立各類數據流轉處理的機制,明確各環節數據處理操作任務、處理時限、接收和發送的數據格式等內容,并固化到工作流程或平臺代碼中,確保數據準確及時地匯聚到健康碼系統,從而提高健康碼的應用成效。
(四)加強部門間協作溝通,提早做好應對訪問高峰的準備
若出現學校開學或重大活動需要查驗健康碼,對系統可能產生訪問量高峰情況,要及時向教育部門等單位了解查驗健康碼方式、時限要求等,根據情況,及時擴展增加系統資源,提高系統承載能力,并加強系統現場值班工作。
(五)開通健康碼客服熱線,加強使用過程中服務
依托運營商專業團隊,開通健康碼服務熱線,為使用中出現的各種健康碼問題提供咨詢和處理服務。同時,及時根據業務變化,梳理健康碼系統知識,對客服人員進行業務培訓,提高服務質量,減少因健康碼問題,給群眾出行造成不便。
(六)利用健康碼互認機制,做好系統應急預案
由于信息系統的復雜性,有時出現系統崩潰服務中斷是難以避免的,需提前制訂好應急預案。利用國家出臺的有關健康碼互認機制,萬一出現本省健康碼系統服務中斷情況下,可以通過頁面提示或直接跳轉方式,引導用戶使用微信或支付寶中的國家政務服務平臺防疫健康信息碼,避免影響群眾出行。同時,為確保國家政務服務平臺生成的防疫健康信息碼的準確性,日常需按相關要求,做好本省涉疫情數據向國家政務服務平臺的推送工作。
由于健康碼系統的重要性,運維保障工作要全力做到訪問量低時系統穩定高效運行,訪問量超出系統并發設計能力時,系統也要能提供能力范圍內的服務,不出現整體系統崩潰,服務全面中斷,影響疫情防控工作的情況。健康碼系統的安全穩定運行,不但能有力支撐疫情防控工作,而且也在一定程度上體現出省域范圍整合開發利用政務數據的能力和水平。
1823501705345