劉 霞,姜元山,張光偉,王運付
(中訊郵電咨詢設計院有限公司,北京 100048)
軟件可靠性指在規定的條件下和規定的時間內,軟件不引起系統故障的能力。軟件可靠性不但與軟件自身有關,也與系統輸入和系統使用有關。5G行業物聯網設備的軟件可靠性需要結合其系統及硬件的特點,進行領域針對性分析。
移動物聯網(基于蜂窩移動通信網絡的物聯網技術和應用)作為新型基礎設施的重要組成部分,在5G時代,已經發展演化出很多基于5G空口接入能力的產品形態,如消費級物聯網設備、行業物聯網設備等。對于消費級產品,一般為單用戶使用,對產品的運行可靠性等要求相對低。而行業物聯網設備部署較多,分布分散,如果設備運行穩定性差,將導致上站運維頻率升高,引入過高的運維成本,造成較差的客戶使用體驗。
本文重點分析5G行業終端運行可靠性方案,實現“業務盡可能恢復,設備盡可能運行”的目標,以期控制5G行業物聯網終端運維成本,提升客戶使用體驗。
5G行業物聯網終端典型系統架構如圖1所示,圖中展示了該類系統典型關鍵軟硬件架構要素,針對關鍵架構要素,進行基于硬件特殊性的軟件可靠性風險分析,以把握產品可靠性要點,進行5G行業物聯網終端針對性軟件可靠性分析及設計。表1即針對架構關鍵要素的介紹及可靠性風險分析結果。

圖1 5G行業物聯網終端系統架構

表1 5G行業物聯網終端關鍵架構要素介紹&可靠性風險分析
本節重點針對表1分析識別的關鍵架構要素的可靠性風險進行風險消減設計。
在產品商用化過程中,可能出現區域大面積停電、斷網等極端情況。特別是大面積停電場景,當同類設備有共用遠程通信服務器時,可能出現區域內海量同類設備同時上電開機,向遠端發起業務連接,在遠程通信服務器側出現短時間請求風暴的現象,如果服務器處理不當,將導致物聯網終端側服務請求異常,造成脫管。
為避免該類問題,建議使用“隨機退避”機制。即系統上電開機,服務啟動后,隨機等待一定時間,建議在2 min內隨機選取時間點位,以發起遠程服務連接,緩解遠程服務的業務并發壓力。
通過軟件工程化方法可以提升研發質量,卻無法修復軟件缺陷,需要在軟件運行期進行可靠性保障。
行業物聯網終端大部分采用嵌入式Linux系統,在Linux系統中,進程有幾種典型狀態。
由表2可知,一旦進程狀態為“Z”,即僵尸狀態,則表示服務異常。此時,內核及服務本身均無法從異常中自行恢復。

表2 Linux進程狀態及服務影響分析
針對進程狀態異常問題,為實現局部小范圍恢復嘗試,常規軟件保護機制采用“守護進程”周期性(具體周期結合業務恢復的時間而定)檢測系統關鍵進程(結合業務特點進行范圍識別)的工作狀態,一旦發現異常,則由守護進程控制該進程進行恢復處理。
3.3.1 看門狗守護機制
“守護進程”也是軟件,即使通過工程化方法進行質量保障,但仍可能存在缺陷。為保證系統在極端場景下嘗試恢復,一般采用“硬件看門狗”機制。由“守護進程”進行看門狗喂狗操作,當守護進程異常時,喂狗異常,硬件看門狗超時,最終全系統重啟。通過系統重初始化,盡最大努力恢復業務。
3.3.2 進程優先級控制機制
軟件喂狗需要消耗CPU資源,涉及CPU處理優先級。
當終端系統內部CPU過載,導致進程響應異常時,如果“守護進程”喂狗業務優先級高,則無法有效識別其他業務異常。因而,對特定業務進程需要考慮其處理優先級。
典型舉例如下:
(1)軟件喂狗進程:視系統資源冗余情況而定,如果資源冗余度低,則不建議配置過低優先級;如果冗余度高,過載可能出現異常,建議配置較低優先級。
(2)配置管理服務:不論遠端或近端,均是用戶的管理接口,任何場景下均需保證其進程優先級為高。
系統缺陷修復、特性擴展均需通過軟件鏡像更新實現,以使新版本在物聯網終端側生效。
對嵌入式終端而言,軟件鏡像一般保存在Nand或Nor FLASH。如果對當前運行的軟件鏡像存儲分區進行寫入,一旦中斷,則可能導致終端運行異常??煽康膫溥x升級方案建議如下:
(1)升級小系統雙備份+業務系統。升級小系統是僅在升級過程中運行的系統,對其功能進行大量剪裁,以限制FLASH資源消耗。
(2)業務系統雙備份。在該方案下,被寫入的分區即使在寫入過程中斷,終端依然可以啟動,保證業務的延續性。
為保證通信鏈路、對端通信服務恢復正常,及時建立端到端通信,在通信異常時需考慮支持重建機制。
3.5.1 5G Modem通道重建機制
5G行業物聯網終端的5G Modem軟件部分一般由第三方供應商提供,運行于獨立的5G硬件模塊或CPU中,其工作狀態等對路由軟件而言相當于“黑盒”,路由軟件需進行5G Modem的工作狀態管理,如設備枚舉、控制撥號、狀態監控等,以保證產品系統的通信狀態可控。
建議周期性監控5G Modem的工作狀況,一旦出現異常,嘗試進行5G Modem通道重建。當通道重建嘗試有限次仍無法恢復時,考慮系統重啟,重初始化全系統資源,盡力恢復系統運行。
3.5.2 業務端到端通信重建機制
具備聯網通信能力是5G行業物聯網終端的基本業務述求。當從終端側訪問另一側服務時,路徑中可能出現多級節點,中間節點、對端服務可能出現異常。
在路徑狀況不可預知的情況下,一旦通信鏈路發生異常,則需要進行反復測試,以盡力恢復通信鏈路。
本文闡述的5G行業物聯網終端軟件可靠性問題、典型可靠性設計,均來自行業物聯網終端產品的業務實踐。從業務經驗的角度出發,識別行業物聯網終端可靠性痛點,并結合商用實踐提取有效的消減措施,對5G行業物聯網終端有實用借鑒意義。