趙懷民
(中國電信股份有限公司北京分公司,北京 100031)
在當前疫情防控常態化背景下,健康碼掃碼業務量大幅增加;同時隨著新型金融支付的發展,手機移動掃碼支付應用全面普及,掃碼業務量增長迅猛。伴隨著掃碼業務的大量應用,用戶對掃碼業務感知的要求也越來越高,掃碼業務時延已成為影響用戶滿意度的重要因素之一。因此,端到端分析掃碼業務時延性能并針對性地優化提升成為當前的一項重要工作。
掃碼業務主要包括手機移動支付(微信、支付寶等)、健康寶掃碼、公交地鐵掃碼、共享單車掃碼,其業務模型基本相同,下面以微信掃碼業務進行分析說明。
微信主流支付場景有掃描二維碼付款、出示付款碼付款、APP支付、公眾號支付、紅包支付、轉賬支付。2018年某機構調查,89.5%的用戶最常使用客戶端掃碼或出示二維碼支付,23.7%的用戶經常使用商戶客戶端跳轉到支付客戶端支付。掃碼或出示付款碼是最常見的支付方式。

圖1 微信支付場景
2.1.1 微信掃碼支付業務流程
微信支付有多個動作,每個動作間隔跟用戶行為有關,付款后通常會收到付款通知,為非實時流程-可以晚通知。
2.1.2 微信掃碼支付網絡數據特征

圖2 微信掃碼支付流程
微信支付的每一步動作至少包括一個TCP連接,完成該動作后TCP釋放,TCP生命周期0.5秒左右,與特定的服務器主機做數據交互。

圖3 微信掃碼支付抓包
北京電信SEQ(Hadoop)實現XDR話單存儲,平臺實現用戶詳單存儲以及小區級別指標匯聚,通過上述功能對支付寶、健康碼等業務識別流程如下:
(1)通過探針協議標識支付寶、微信支付、健康碼等協議,當發生業務時會用特定協議ID標記出相應業務。
(2)通過XDR話單HTTP表和OTHER表中的SERVER_IP,PROT_TYPE字段,匹配特定業務協議ID篩選出業務的XDR話單。
(3)根據XDR話單篩選有支付寶支付、微信支付、健康碼業務的IP,通過IP下對應掃碼業務量(即業務發生次數)占該IP總業務量占比比例,確定該IP是否為某掃碼業務的重點IP。通過查詢發生業務的域名業務量占比得到該業務域名。
(4)多次撥測掃碼進行相應業務,通過端到端平臺提取測試號碼測試業務的協議對應IP/域名是否與XDR話單一致。
注:XDR=詳單,用戶面和信令面詳單的統稱,包括CDR和UFDR、TDR和SDR。
掃碼業務是一個端到端的業務流程,涉及終端、無線、傳輸、核心網、應用服務器等多個環節,任一環節存在問題都會影響用戶感知。

圖4 掃碼業務端到端示意圖
無線網絡所涉及的空口受環境、用戶分布等影響較大,在影響掃碼時延的各個因素中最為復雜。無線網絡影響掃碼時延的幾個主要因素包括如下幾點:
(1)高負荷:交通樞紐、地鐵、熱門景區等人流密集場景高負荷導致空口數據傳輸延遲,對掃碼業務感知有一定影響。
(2)覆蓋類:弱覆蓋、重疊覆蓋等場景空口質量差,對掃碼業務感知有一定影響。
(3)上行干擾:硬件問題、參數設置不合理、外部干擾導致的上行干擾對掃碼業務感知影響明顯。
(4)故障類:基站/RRU斷鏈、傳輸閃斷丟包、小區駐波等故障會對空口性能、傳輸質量產生影響,進而影響掃碼業務感知。
部分傳輸環負荷高,節點存在告警,忙時存在擁塞或丟包現象,對用戶的掃碼時延也有較大影響。通過把掃碼時延高小區與B1設備關聯,得到可能影響掃碼時延的B1設備,供傳輸部門重點排查。
服務器的性能對掃碼業務的影響主要體現在如下幾個方面:
(1)服務器傳輸層參數設置:TCP窗口大小,帶寬、服務器參數設置等;
(2)服務器運行問題:CPU、內存使用率過高、硬盤轉速等;
(3)服務器故障:網卡故障、丟包等。
不同的終端類型處理能力存在差別,對應的掃碼時延也有差別。北京電信終端用戶數占全網用戶數占比在0.5%以上的主流品牌終端有41個,統計各品牌終端響應時延,其中APPLE、HUAWEI、OPPO TOP終端平均時延感知較好,排名前3,分別為51.67ms、68.41ms、76.78ms。
同一站點如果僅有個別小區存在掃碼時延差,往往是空口問題導致。對于空口問題導致的掃碼業務時延差,有以下解決方案:
(1)對于故障站點或周邊存在故障站點的,首先需要進行故障處理。
(2)若是高負荷站點,則進行高負荷站點擴容。
(3)若是弱覆蓋站點,則通過RF優化增強覆蓋、共享附近聯通站點、加站等措施解決。
(4)若是高干擾站點,則通過干擾排查、優先駐留非干擾小區等策略優化解決。
除此之外,無線網絡空口優化還可以進行參數優化,主要包括基于業務識別的空口加速方案及日常普適性空口性能優化方案。
(1)方案一:空口加速方案。空口加速是通過業務識別實現對用戶做特定業務的一種保障特性。業務識別有多種方式,比如基于SC(Service Classification)的業務識別、基于DSCP(Differentiated Service Code Point)的業務識別等。其中基于SC的業務識別是通過流量模型來判斷,主要在eNodeB側實現,不依賴于其他設備,對訪問特定的DNS/IP地址或應用的用戶進行加速保障。
(2)方案二:空口性能方案。空口性能優化方案主要通過修改基站側參數實現小包業務提升,主要涉及調度參數優化、干擾優化、上行覆蓋增強、定時器相關參數優化等,達到降低微信支付、健康碼時延的問題。
對于非空口問題導致的掃碼時延差問題,需要分情況處理:
(1)對于傳輸問題,如傳輸存在閃斷、傳輸擁塞,轉至傳輸部門清理告警、統計環路是否負荷高,并進行相應的處理或擴容。
(2)對于識別出來的TOP服務器,后續打通前端優化流程,分析服務器本地化部署可能性。
(3)對于掃碼業務感知差TOP終端,做好記錄,在有相關投訴時做好解釋工作。
對比優化前后各7天日均TCP平均時延指標。實施小區健康碼與微信支付時延改善明顯。

圖5 優化前后TCP時延對比
本文針對端到端掃碼業務優化,分析了無線網絡、傳輸網絡、服務器側及終端側對掃碼業務感知的影響,并重點分析了各類無線網絡問題的影響和解決方案,為后續持續優化提供了思路和方向。