[李凌 向勇]
隨著2020年國家戰(zhàn)略的發(fā)布,5G進入國家新基建清單,國內(nèi)電信運營商全力推進5G(SA組網(wǎng))建設(shè),并于2020年正式商用。無論是5G網(wǎng)絡(luò)建設(shè)還是網(wǎng)絡(luò)運營,都需要可靠、高效的運營支撐系統(tǒng)獲取當(dāng)前網(wǎng)絡(luò)實時、真實的網(wǎng)絡(luò)數(shù)據(jù),以支撐科學(xué)決策、迅速反應(yīng)和精準(zhǔn)施策。
本文針對5GC采集業(yè)務(wù)需求,結(jié)合企業(yè)相關(guān)技術(shù)規(guī)范,參照OSI/RM分層方法設(shè)計了5GC采集模型,以微服務(wù)架構(gòu)自主研發(fā)實現(xiàn)了統(tǒng)一采集服務(wù)平臺(eUCCP)的5GC采集服務(wù)插件,為電信運營商的5G網(wǎng)絡(luò)建設(shè)和運營、國家新基建工程和國家5G戰(zhàn)略提供了有力支撐。
國際標(biāo)準(zhǔn)ISO/IEC 7498-1定義的OSI/RM模型(開放式系統(tǒng)互聯(lián)通信參考模型)在實現(xiàn)互聯(lián)目標(biāo)場景時,采用了層次化的方法來構(gòu)建模型,形成了7個層次:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運輸層、會話層、表示層和應(yīng)用層,各層內(nèi)部的功能高度內(nèi)聚并通過(用戶)請求、(低層)指示、(用戶)響應(yīng)和(低層)確認(rèn)4種服務(wù)原語對外提供服務(wù)。在相對內(nèi)聚的一個系統(tǒng)中,上述7個層次是相對有順序的,但是在由若干服務(wù)組件構(gòu)成的松耦合系統(tǒng)中,可以在組件已經(jīng)實現(xiàn)OSI/RM高層的基礎(chǔ)上,將其等價為系統(tǒng)中的較低層次,繼續(xù)構(gòu)建系統(tǒng)的表示層、應(yīng)用層等。例如,操作系統(tǒng)到指定鏡像位置通過FTP下載加密壓縮補丁文件包,就是把FTP(應(yīng)用層)作為會話層組件,繼續(xù)構(gòu)建負(fù)責(zé)解密、解壓等處理數(shù)據(jù)格式的系統(tǒng)會話層,并進一步構(gòu)建負(fù)責(zé)檢查文件名、文件數(shù)量等數(shù)據(jù)完整性的系統(tǒng)應(yīng)用層,形成的系統(tǒng)互聯(lián)應(yīng)用。
5GC的數(shù)據(jù)采集場景涉及到采集服務(wù)系統(tǒng)、網(wǎng)元采集響應(yīng)子系統(tǒng)和網(wǎng)元數(shù)據(jù)生成(子)系統(tǒng)1:數(shù)據(jù)載體(報文/文件/數(shù)據(jù)庫記錄等)較大較多的情況下,采集響應(yīng)子系統(tǒng)會以FTP服務(wù)器形式獨立存在,數(shù)據(jù)生成子系統(tǒng)因此也獨立出來了。等多個系統(tǒng)/子系統(tǒng)之間的互聯(lián)和數(shù)據(jù)交互,完全符合OSI/RM的目標(biāo)應(yīng)用場景。
采集服務(wù)系統(tǒng)主要是與網(wǎng)元數(shù)據(jù)生成(子)系統(tǒng)協(xié)商數(shù)據(jù)生成協(xié)議,包括數(shù)據(jù)定義和算法、數(shù)據(jù)生成周期、數(shù)據(jù)載體形式(報文/文件/數(shù)據(jù)庫記錄等)格式(命名、壓縮處理等)和完整數(shù)據(jù)生成方法等,與網(wǎng)元采集響應(yīng)子系統(tǒng)協(xié)商數(shù)據(jù)載體就緒標(biāo)準(zhǔn)、數(shù)據(jù)載體重采/補采方法、采集會話協(xié)議等,并根據(jù)上述協(xié)議獲取完整數(shù)據(jù)載體提供給服務(wù)使用者。
網(wǎng)元采集響應(yīng)子系統(tǒng)主要是為網(wǎng)元數(shù)據(jù)生成(子)系統(tǒng)提供存儲空間、為采集服務(wù)系統(tǒng)提供采集會話支持。
網(wǎng)元數(shù)據(jù)生成(子)系統(tǒng)主要是根據(jù)協(xié)議(定義、周期)產(chǎn)生數(shù)據(jù),并形成指定格式的數(shù)據(jù)載體形式后傳遞給網(wǎng)元采集響應(yīng)子系統(tǒng),它還需要確保數(shù)據(jù)及數(shù)據(jù)載體的完整性。
為了滿足5GC采集的需求,通過內(nèi)嵌成熟的網(wǎng)絡(luò)協(xié)議組件,以分層的方法從會話層開始設(shè)計了采集協(xié)議模型,如表1所示。
表1 采集服務(wù)協(xié)議棧
2.1.1 應(yīng)用層
(1)數(shù)據(jù)采集服務(wù)協(xié)議。主要是協(xié)商和規(guī)范主要是數(shù)據(jù)采集周期、采集目標(biāo)的位置(URL)、采集目標(biāo)的數(shù)量等。
(2)數(shù)據(jù)生成服務(wù)協(xié)議。主要是協(xié)商和規(guī)范主要是數(shù)據(jù)制成周期、數(shù)據(jù)載體的位置(URL)、數(shù)據(jù)載體的數(shù)量等。
2.1.2 表示層
數(shù)據(jù)處理協(xié)議主要是協(xié)商和規(guī)范數(shù)據(jù)以及數(shù)據(jù)載體的格式、命名,以及額外的處理。這些處理包括數(shù)據(jù)或數(shù)據(jù)載體的分割與合并、壓縮與解壓、加密和解密等。
2.1.3 會話層
(1)會話管理協(xié)議。利用網(wǎng)絡(luò)協(xié)議組件本身的能力形成SSH/FTP/SNMP等會話通道。
(2)數(shù)據(jù)生成協(xié)議。對于只能即時生成數(shù)據(jù)場景,需要協(xié)商和規(guī)范MML人機命令。
(3)數(shù)據(jù)獲取協(xié)議。對根據(jù)應(yīng)用層的數(shù)據(jù)生成服務(wù)協(xié)議定時生成數(shù)據(jù)載體的場景,利用網(wǎng)絡(luò)協(xié)議組件本身的命令獲取數(shù)據(jù)。
采集服務(wù)系統(tǒng)、采集響應(yīng)子系統(tǒng)和數(shù)據(jù)生成子系統(tǒng)各自的協(xié)議棧如圖1所示。從圖1可以看出,以FTP服務(wù)器組件為基礎(chǔ)的采集響應(yīng)子系統(tǒng)沒有實現(xiàn)表示層數(shù)據(jù)載體處理的協(xié)議2:在表示層,仍然可以使用文件系統(tǒng)提供文件格式、命名等協(xié)議實現(xiàn)。(實際情況也是如此),而只是為數(shù)據(jù)生成子系統(tǒng)的數(shù)據(jù)載體提供存儲空間。這會導(dǎo)致采集服務(wù)系統(tǒng)、數(shù)據(jù)生成子系統(tǒng)在與采集響應(yīng)子系統(tǒng)交互時,由于缺失表示層服務(wù)原語無法向應(yīng)用層提供數(shù)據(jù)載體格式、命名校驗以及額外處理的表示層服務(wù)。
圖1 各系統(tǒng)協(xié)議棧實現(xiàn)
在業(yè)界慣例場景中數(shù)據(jù)載體是否合法、完備是由數(shù)據(jù)生成子系統(tǒng)經(jīng)過測試后結(jié)合高可靠的文件系統(tǒng),來確保數(shù)據(jù)載體完整、正確地進入應(yīng)用層協(xié)商好的采集響應(yīng)子系統(tǒng)存儲空間,以此實現(xiàn)采集響應(yīng)子系統(tǒng)和數(shù)據(jù)生成子系統(tǒng)兩者的松耦合。
當(dāng)數(shù)據(jù)生成子系統(tǒng)不穩(wěn)定或數(shù)據(jù)生成壓力巨大的情況下,測試動作經(jīng)常缺位。這會導(dǎo)致在上述協(xié)議棧實現(xiàn)架構(gòu)下,采集服務(wù)系統(tǒng)通過會話層從采集響應(yīng)子系統(tǒng)獲取到數(shù)據(jù)載體后有較大的風(fēng)險無法順利實施表示層的操作。
5GC采集對象包括告警、性能、日志和配置,這些對象的表現(xiàn)形式各有不同,如表2所示。
表2 采集對象及其表現(xiàn)形式
針對采集對象的表現(xiàn)形式,分別設(shè)計采集服務(wù)組件,并以微服務(wù)的架構(gòu)進行集成。
采集服務(wù)組件針對各類采集任務(wù)的所需的協(xié)議功能如表3所示。
表3 采集服務(wù)組件各層協(xié)議功能
對于5GC告警,采用以綜合告警應(yīng)用需求為應(yīng)用層,SSH、SNMP4J網(wǎng)絡(luò)組件為采集會話層,遵循SNMP報文規(guī)范、并適配綜合告警應(yīng)用需求的采集表示層,構(gòu)建告警采集服務(wù)組件。其中SSH是為告警同步、補采告警等提供命令會話通道。
對于5GC日志,采用以數(shù)據(jù)共享平臺日志文件規(guī)范和任務(wù)調(diào)度為應(yīng)用層,SSH、FTP網(wǎng)絡(luò)組件為采集會話層,解析日志文件命名、格式并適配數(shù)據(jù)共享平臺日志文件命名、格式等規(guī)范為采集表示層,構(gòu)建日志采集服務(wù)組件。其中SSH是為某些需要下發(fā)命令即時生成的日志提供命令會話通道生成日志文件,F(xiàn)TP是針對數(shù)據(jù)量較大的日志提供文件下載的會話通道。
對于5GC性能,采用以數(shù)據(jù)共享平臺性能文件規(guī)范和任務(wù)調(diào)度為應(yīng)用層,F(xiàn)TP網(wǎng)絡(luò)組件為采集會話層,解析性能文件命名、格式并適配數(shù)據(jù)共享平臺性能文件命名、格式等規(guī)范為采集表示層,構(gòu)建日志采集服務(wù)組件。
對于5GC配置,采用以數(shù)據(jù)共享平臺入庫規(guī)范和任務(wù)調(diào)度為應(yīng)用層,以SSH、FTP網(wǎng)絡(luò)組件為采集會話層,解析命令報文和配置文件并適配數(shù)據(jù)共享平臺入庫規(guī)范為采集表示層,構(gòu)建日志采集服務(wù)組件。其中SSH主要為某些需要下發(fā)命令即時生成的配置數(shù)據(jù)提供命令會話通道生成報文或配置文件,F(xiàn)TP是針對數(shù)據(jù)量較大的配置提供文件下載的會話通道。
對于數(shù)據(jù)生成子系統(tǒng)測試動作缺位導(dǎo)致采集服務(wù)系統(tǒng)無法順利實施表示層操作的風(fēng)險,還需要限制在數(shù)據(jù)生成子系統(tǒng)內(nèi),通過提高處理性能和軟件穩(wěn)定性來規(guī)避或緩解,否則會破壞松耦合的系統(tǒng)設(shè)計。
采集服務(wù)架構(gòu)如圖2所示,包括采集框架、采集服務(wù)兩大功能組件,采集框架包括采集配置管理、采集調(diào)度監(jiān)控、數(shù)據(jù)加工處理等功能,采集服務(wù)包括告警采集服務(wù)、性能采集服務(wù)、日志采集服務(wù)和配置采集服務(wù)等功能。各服務(wù)功能組件采用SpringBoot技術(shù)架構(gòu),組件之間采用Restful api進行交互。
系統(tǒng)架構(gòu)中考慮到各個服務(wù)組件中的表示層中數(shù)據(jù)架構(gòu)處理均有遵循規(guī)范的約束,且規(guī)范規(guī)則高度相似,因而將其單獨放在框架中實現(xiàn)、并由各服務(wù)組件調(diào)用來完成
圖2 采集系統(tǒng)架構(gòu)
各服務(wù)組件中表示層中這些相應(yīng)的功能。
上述方案和系統(tǒng)投入生產(chǎn)應(yīng)用后,取得較好的效果。截至2020年12月,每天實現(xiàn)上千個5GC網(wǎng)元基本信息,數(shù)十萬個網(wǎng)絡(luò)端口、鏈路數(shù)據(jù),幾百萬條告警數(shù)據(jù),以及200萬個性能指標(biāo)文件的采集,采集率99%以上(含網(wǎng)元故障、網(wǎng)絡(luò)故障等外部原因?qū)е碌牟杉。?,有力地支撐?G網(wǎng)絡(luò)建設(shè)管控和運營操作。