許曉偉,林 鋒,劉廣達(dá),王 亮
(北京首信科技股份有限公司,北京 100015)
隨著國(guó)家新基建戰(zhàn)略的持續(xù)推進(jìn),各行業(yè)對(duì)利用5G 技術(shù)實(shí)現(xiàn)轉(zhuǎn)型升級(jí)的需求愈發(fā)迫切,但由于不同行業(yè)的信息化特征差異明顯,5G 公共網(wǎng)絡(luò)無(wú)法很好滿足行業(yè)內(nèi)不同應(yīng)用場(chǎng)景的差異化需求。移動(dòng)通信運(yùn)營(yíng)商針對(duì)政企客戶在安全隔離等級(jí)、低時(shí)延等不同層面的行業(yè)數(shù)字化轉(zhuǎn)型需求,積極推動(dòng)5G 行業(yè)專網(wǎng)服務(wù)發(fā)展,為行業(yè)應(yīng)用提供更高質(zhì)量、更加靈活的信息基礎(chǔ)設(shè)施能力支撐[1]。
隨著當(dāng)前5G 行業(yè)專網(wǎng)建設(shè)的深入發(fā)展,政企客戶希望5G 行業(yè)專網(wǎng)網(wǎng)絡(luò)能夠和自己的業(yè)務(wù)更加緊密地結(jié)合起來(lái),并解決網(wǎng)絡(luò)資源、終端設(shè)備業(yè)務(wù)狀態(tài)的“不可見(jiàn)、不掌握”問(wèn)題,對(duì)5G 行業(yè)專網(wǎng)的自主管理的需求越來(lái)越強(qiáng)烈[2]。鑒于此,本文提出一種解決方案,設(shè)計(jì)開(kāi)發(fā)5G 行業(yè)專網(wǎng)自管理系統(tǒng),支持5G 行業(yè)專網(wǎng)政企客戶快速掌握行業(yè)專網(wǎng)網(wǎng)絡(luò),并通過(guò)該系統(tǒng)達(dá)到對(duì)行業(yè)專網(wǎng)中設(shè)備的自管理、自服務(wù)和自定制配置的能力。同時(shí)通過(guò)該系統(tǒng)提供的業(yè)務(wù)監(jiān)控、數(shù)據(jù)分析等能力,達(dá)到對(duì)行業(yè)專網(wǎng)可視、可管、可控的目的,幫助政企客戶解決在使用5G 行業(yè)專網(wǎng)過(guò)程中遇到的各類痛點(diǎn)問(wèn)題。
通過(guò)研究分析發(fā)現(xiàn),5G 行業(yè)專網(wǎng)的客戶在使用過(guò)程中遇到的主要痛點(diǎn)問(wèn)題為:首先是運(yùn)營(yíng)保障能力不足,沒(méi)有統(tǒng)一的信息管理系統(tǒng),5G 行業(yè)專網(wǎng)的業(yè)務(wù)操作需要在各業(yè)務(wù)系統(tǒng)中完成;其次是可視化能力不足,缺少5G 行業(yè)專網(wǎng)的網(wǎng)絡(luò)、業(yè)務(wù)等可視化的能力;最后存在故障預(yù)警不及時(shí)、自主管理維護(hù)手段缺乏等問(wèn)題。因此不管是政企客戶還是運(yùn)營(yíng)商,都亟需一個(gè)能夠自主管理5G 行業(yè)專網(wǎng)的系統(tǒng)。
對(duì)于政企客戶,系統(tǒng)需提供客戶業(yè)務(wù)配置、性能可視化監(jiān)控運(yùn)維等平臺(tái)能力,需求主要包括:可實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)、切片的資源占用情況和設(shè)備的運(yùn)行情況;可根據(jù)網(wǎng)絡(luò)、業(yè)務(wù)情況,及時(shí)調(diào)整網(wǎng)絡(luò)資源,從而適應(yīng)業(yè)務(wù)需要的場(chǎng)景化網(wǎng)絡(luò)管理;可對(duì)終端設(shè)備和告警規(guī)則進(jìn)行配置,結(jié)合具體業(yè)務(wù)對(duì)設(shè)備進(jìn)行差異化管理;可對(duì)卡設(shè)備的連接實(shí)現(xiàn)控制和感知,并結(jié)合自動(dòng)化規(guī)則、增值服務(wù)實(shí)現(xiàn)自助運(yùn)營(yíng);具有開(kāi)放網(wǎng)絡(luò)能力,實(shí)現(xiàn)行業(yè)客戶系統(tǒng)對(duì)接,便于應(yīng)用和業(yè)務(wù)的深度結(jié)合和創(chuàng)新的能力開(kāi)發(fā)。
對(duì)于運(yùn)營(yíng)商,系統(tǒng)需滿足:通過(guò)統(tǒng)一門戶,對(duì)外展示行業(yè)專網(wǎng)相關(guān)產(chǎn)品和解決方案;支持5G 行業(yè)專網(wǎng)的日常運(yùn)營(yíng)和不同客戶類型的差異化運(yùn)營(yíng);支持原散落在各個(gè)系統(tǒng)的包括切片、數(shù)據(jù)網(wǎng)絡(luò)名稱(Data Network Name,DNN)、人聯(lián)網(wǎng)卡、物聯(lián)網(wǎng)卡等業(yè)務(wù)受理;既可以按要求提供給行業(yè)客戶自運(yùn)維的能力,又可以方便運(yùn)營(yíng)商對(duì)于區(qū)域中的行業(yè)專網(wǎng)進(jìn)行運(yùn)維。
考慮到5G 行業(yè)專網(wǎng)自管理系統(tǒng)應(yīng)當(dāng)能夠持續(xù)支撐業(yè)務(wù)需求,以先進(jìn)的軟件框架和技術(shù),確保平臺(tái)穩(wěn)定且高性能,保證前端業(yè)務(wù)感知,達(dá)成敏捷和高效的目標(biāo),本文設(shè)計(jì)了由視圖層、業(yè)務(wù)層、領(lǐng)域?qū)雍徒涌谶m配層組成的系統(tǒng)。視圖層分為客戶自管理平臺(tái)門戶和運(yùn)營(yíng)商后臺(tái)配置門戶,構(gòu)成面向不同用戶的web 展示界面;業(yè)務(wù)層、領(lǐng)域?qū)雍徒涌谶m配層由多個(gè)功能模塊組成,構(gòu)成系統(tǒng)的核心后端微服務(wù)集,向上為web 展示界面提供數(shù)據(jù)和能力,向下實(shí)現(xiàn)與移動(dòng)通信運(yùn)營(yíng)商其他支撐平臺(tái)的互聯(lián)互通。系統(tǒng)組成、邏輯結(jié)構(gòu)及層次如圖1 所示。
圖1 5G 行業(yè)專網(wǎng)自管理系統(tǒng)的組成、邏輯結(jié)構(gòu)及層次
2.1.1 前端展示界面
系統(tǒng)前端web 界面包括面向政企客戶的客戶自管理平臺(tái)門戶和面向運(yùn)營(yíng)商的運(yùn)營(yíng)商后臺(tái)配置門戶。
客戶自管理平臺(tái)門戶的大屏功能支持集中展示基站、用戶面功能(User Plane Function,UPF)、DNN 等概覽信息,號(hào)卡數(shù)量、套餐流量在內(nèi)的在線規(guī)模信息,無(wú)線資源控制協(xié)議(Radio Resource Control,RRC)連接成功率等多個(gè)指標(biāo)的行業(yè)專網(wǎng)質(zhì)量信息,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、UPF/協(xié)議數(shù)據(jù)單元(Protocol Data Unit,PDU)會(huì)話數(shù)趨勢(shì)等信息。物聯(lián)網(wǎng)卡[3]模塊包括號(hào)卡自服務(wù)、電子圍欄[4]等功能。網(wǎng)絡(luò)資源模塊展示5G 基站的UPF 和小區(qū)無(wú)線性能列表數(shù)據(jù),以及5G-SA 核心網(wǎng)下接入和移動(dòng)性管理功能(Access and Mobility management Function,AMF)、會(huì)話管理功能(Session Management Function,SMF)等網(wǎng)元信息、物理線路等信息[5]。行業(yè)專網(wǎng)監(jiān)控模塊包括對(duì)網(wǎng)元和電子圍欄的告警查詢和告警統(tǒng)計(jì)功能。系統(tǒng)還支持對(duì)業(yè)務(wù)感知和行業(yè)專網(wǎng)運(yùn)維進(jìn)行分析統(tǒng)計(jì)的功能。系統(tǒng)管理模塊展示企業(yè)的賬號(hào)信息、賬號(hào)綁定情況及web 資源權(quán)限分配管理等功能[6]。
運(yùn)營(yíng)商后臺(tái)配置門戶是為運(yùn)營(yíng)商服務(wù)的,提供企業(yè)客戶管理、5G 行業(yè)專網(wǎng)維度配置、系統(tǒng)公告管理、平臺(tái)全局配置等多個(gè)功能。通過(guò)客戶管理功能模塊完成企業(yè)管理員用戶的注冊(cè)、綁定南向接口賬號(hào)、綁定DNN 信息等流程操作。另外還包括對(duì)基站和小區(qū)進(jìn)行管理的跟蹤區(qū)域碼(Trace Area Code,TAC)配置、網(wǎng)元配置、基站小區(qū)編碼(gNodeB Cell ID,GCI)配置等多個(gè)5G 業(yè)務(wù)維度的管理功能。系統(tǒng)支持針對(duì)企業(yè)的系統(tǒng)公告內(nèi)容的生成、撤銷、狀態(tài)管理等多項(xiàng)操作。系統(tǒng)具備對(duì)平臺(tái)基礎(chǔ)信息、告警定時(shí)任務(wù)周期、郵件發(fā)送服務(wù)等多個(gè)基礎(chǔ)屬性值的全局配置能力。
2.1.2 后端微服務(wù)
系統(tǒng)的后端微服務(wù)設(shè)計(jì)為3 層邏輯架構(gòu),自上而下依次為業(yè)務(wù)層、領(lǐng)域?qū)雍徒涌谶m配層。
業(yè)務(wù)層負(fù)責(zé)組合領(lǐng)域?qū)臃?wù)提供的數(shù)據(jù)并實(shí)現(xiàn)具體業(yè)務(wù)邏輯處理,系統(tǒng)中涉及卡管理、網(wǎng)絡(luò)資源、行業(yè)專網(wǎng)監(jiān)控、分析報(bào)表、系統(tǒng)管理等業(yè)務(wù)模塊??ü苣K包括對(duì)物聯(lián)卡進(jìn)行機(jī)卡綁定、停復(fù)機(jī)操作、自動(dòng)限速、達(dá)量斷網(wǎng)等操作,包含查看號(hào)卡的業(yè)務(wù)變更訂單數(shù)據(jù),以及操作電子圍欄等業(yè)務(wù)處理邏輯,還包括對(duì)人聯(lián)卡[7]進(jìn)行行業(yè)專網(wǎng)號(hào)碼管理、IP 溯源查詢等業(yè)務(wù)處理[8]。網(wǎng)絡(luò)資源模塊包括對(duì)基站、UPF 等指標(biāo)統(tǒng)計(jì)概覽,對(duì)網(wǎng)絡(luò)資源拓?fù)涔?jié)點(diǎn)數(shù)據(jù)以及提供網(wǎng)絡(luò)異常告警和質(zhì)量分析等業(yè)務(wù)處理。行業(yè)專網(wǎng)監(jiān)控模塊包括對(duì)網(wǎng)元和電子圍欄等監(jiān)控?cái)?shù)據(jù)進(jìn)行業(yè)務(wù)處理。分析報(bào)表模塊對(duì)業(yè)務(wù)感知分析、行業(yè)專網(wǎng)運(yùn)維報(bào)表等統(tǒng)計(jì)業(yè)務(wù)進(jìn)行處理。系統(tǒng)管理模塊包括web 系統(tǒng)權(quán)限分級(jí)管控、數(shù)據(jù)域分組管理、操作日志審計(jì)、系統(tǒng)全局維度信息配置等業(yè)務(wù)處理。
領(lǐng)域?qū)迂?fù)責(zé)抽取、梳理和封裝第三方支撐平臺(tái)接口提供的核心數(shù)據(jù),為業(yè)務(wù)層中的各業(yè)務(wù)應(yīng)用提供數(shù)據(jù)服務(wù)支持。領(lǐng)域?qū)影ü芊?wù)、網(wǎng)絡(luò)資源服務(wù)、行業(yè)專網(wǎng)監(jiān)控服務(wù)、賬號(hào)服務(wù)等多種數(shù)據(jù)服務(wù)能力。卡管服務(wù)負(fù)責(zé)收集行業(yè)專網(wǎng)內(nèi)SIM 卡、訂單、DNN 等信息;網(wǎng)絡(luò)管理服務(wù)負(fù)責(zé)收集網(wǎng)元列表、網(wǎng)絡(luò)狀態(tài)、基站數(shù)據(jù)等信息;行業(yè)專網(wǎng)監(jiān)控系統(tǒng)負(fù)責(zé)設(shè)備運(yùn)維,針對(duì)獨(dú)享UPF 設(shè)備、數(shù)通設(shè)備進(jìn)行監(jiān)控,獲取其告警信息;賬號(hào)服務(wù)負(fù)責(zé)獲取5G 用戶的賬號(hào)信息以及賬號(hào)關(guān)聯(lián)套餐使用信息等。
接口適配層完成系統(tǒng)與外部第三方支撐平臺(tái)數(shù)據(jù)源及數(shù)據(jù)接口打通的任務(wù)。
系統(tǒng)整體技術(shù)架構(gòu)分為前端展示層、網(wǎng)關(guān)層、后端微服務(wù)層、基礎(chǔ)設(shè)施層等多層架構(gòu)[9],具體如圖2 所示。
圖2 系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)
展示層整體設(shè)計(jì)采用Vue+Element 框架實(shí)現(xiàn)兩個(gè)門戶下的各功能組件,使用WebGL 引擎框架[10]實(shí)現(xiàn)3D 首頁(yè)效果,采用最新一代構(gòu)建工具Vite 完成前端項(xiàng)目的快速構(gòu)建打包等。網(wǎng)關(guān)層使用Nginx、Keepalived 保證服務(wù)的高可用。后端服務(wù)層使用Spring Cloud 技術(shù)棧,包括應(yīng)用程序接口(Application Programming Interface,API)網(wǎng)關(guān)、服務(wù)監(jiān)控、服務(wù)治理等相關(guān)框架。微服務(wù)具體實(shí)現(xiàn)采用了SpringBoot 快速開(kāi)發(fā)框架,使用HikariCP 連接池技術(shù)管理數(shù)據(jù)庫(kù)連接緩存,基礎(chǔ)設(shè)施層設(shè)計(jì)采用MySQL、Redis、Kafka、Nacos 等中間件的集群化處理。系統(tǒng)使用Prometheus 完成各微服務(wù)的告警監(jiān)控信息的采集和視圖展示。
系統(tǒng)支持運(yùn)營(yíng)商和企業(yè)兩類用戶使用,運(yùn)營(yíng)商管理員只能登錄運(yùn)營(yíng)商管理后臺(tái)配置門戶,該賬號(hào)能夠創(chuàng)建企業(yè)管理員賬號(hào)。企業(yè)管理員只能登錄客戶自管理平臺(tái)門戶,擁有本企業(yè)自管理平臺(tái)的全部權(quán)限,并能夠創(chuàng)建企業(yè)子賬號(hào)。企業(yè)子賬號(hào)只能登錄客戶自管理平臺(tái)門戶,根據(jù)企業(yè)管理員分配的web 資源權(quán)限進(jìn)行系統(tǒng)操作。系統(tǒng)功能交互設(shè)計(jì)如圖3 所示。
圖3 系統(tǒng)功能交互設(shè)計(jì)
3.1.1 微服務(wù)治理
5G 行業(yè)專網(wǎng)客戶自管理系統(tǒng)使用Spring Cloud 2.0 微服務(wù)治理框架[11],將其中的Nacos 組件作為微服務(wù)注冊(cè)中心和遠(yuǎn)程配置中心,業(yè)務(wù)層和領(lǐng)域?qū)痈魑⒎?wù)向其登記注冊(cè),通過(guò)配置的服務(wù)名稱實(shí)現(xiàn)對(duì)具體服務(wù)實(shí)例的訪問(wèn)。微服務(wù)集群部署時(shí),內(nèi)部使用Ribbon 組件[12]完成進(jìn)程內(nèi)的客戶端負(fù)載均衡。系統(tǒng)采用的API 網(wǎng)關(guān)解決方案是Spring Cloud Gateway,其內(nèi)置了轉(zhuǎn)發(fā)、監(jiān)控、限流等強(qiáng)大功能。系統(tǒng)使用Sleuth 聯(lián)合Zipkin[13]實(shí)現(xiàn)了在微服務(wù)互相調(diào)用時(shí),由于各種原因?qū)е驴邕M(jìn)程調(diào)用失敗的情況下,可通過(guò)查看詳細(xì)鏈路日志和服務(wù)之間的調(diào)用關(guān)系來(lái)快速定位問(wèn)題,以及實(shí)現(xiàn)功能調(diào)優(yōu)。系統(tǒng)服務(wù)治理框架結(jié)構(gòu)如圖4 所示。
圖4 系統(tǒng)服務(wù)治理框架結(jié)構(gòu)
3.1.2 數(shù)據(jù)治理
系統(tǒng)采用了高效穩(wěn)定的數(shù)據(jù)治理機(jī)制。首先在數(shù)據(jù)持久化方面,系統(tǒng)采用MyBatis+Java 持久層應(yīng)用接口(Java Persistence API,JPA)聯(lián)合作為微服務(wù)的持久層框架[14],其中MyBatis 在系統(tǒng)中作為操作如電子圍欄管理、機(jī)卡綁定等復(fù)雜數(shù)據(jù)模型處理場(chǎng)景的持久化工具。而針對(duì)類似維度信息管理、報(bào)表查詢等常規(guī)的數(shù)據(jù)處理場(chǎng)景,使用封裝了增刪改查(Create、Read、Update、Delete,CRUD)操作的JPA,通過(guò)直接調(diào)用接口,極大提高了開(kāi)發(fā)效率。同時(shí)系統(tǒng)采用分布式讀寫(xiě)鎖機(jī)制,使用Sharding-Sphere實(shí)現(xiàn)數(shù)據(jù)庫(kù)部分?jǐn)?shù)據(jù)模型分表和讀寫(xiě)分離,保證了數(shù)據(jù)查詢和更新操作的雙向提速。此外,在分布式場(chǎng)景下,通過(guò)采用分布式緩存中間件中存儲(chǔ),讓有狀態(tài)的業(yè)務(wù)服務(wù)數(shù)據(jù)變?yōu)闊o(wú)狀態(tài),解決了在服務(wù)運(yùn)行時(shí),動(dòng)態(tài)增刪節(jié)點(diǎn)導(dǎo)致的緩存數(shù)據(jù)不同步的問(wèn)題。
3.1.3 分布式任務(wù)調(diào)度
系統(tǒng)后臺(tái)領(lǐng)域?qū)臃?wù)采用分布式任務(wù)調(diào)度框架[15],其基于xxl-job 實(shí)現(xiàn),將任務(wù)觸發(fā)與任務(wù)本身分離開(kāi),通過(guò)HTTP/HTTPS 等方式調(diào)用第三方支撐平臺(tái)提供的接口,獲取并封裝數(shù)據(jù),為系統(tǒng)后續(xù)業(yè)務(wù)層接口應(yīng)用能力提供數(shù)據(jù)支持。
通過(guò)對(duì)用戶進(jìn)行定位分析,系統(tǒng)最終采用B/S結(jié)構(gòu),并且為了系統(tǒng)良好的擴(kuò)展性和獨(dú)立性,采用前后端分離的方式進(jìn)行功能開(kāi)發(fā)實(shí)現(xiàn)。
研發(fā)團(tuán)隊(duì)通過(guò)拆解和分析需求規(guī)格說(shuō)明書(shū),依次生成系統(tǒng)概要設(shè)計(jì)說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū),結(jié)合系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)方案,將各業(yè)務(wù)模塊分解構(gòu)建成為多個(gè)微服務(wù),并通過(guò)服務(wù)治理模塊完成各服務(wù)的通信。系統(tǒng)前置網(wǎng)關(guān)采用虛擬化技術(shù)實(shí)現(xiàn)web 容器的高可用,同時(shí)使用Cloud API 網(wǎng)關(guān),作為系統(tǒng)開(kāi)放能力的統(tǒng)一入口;前端系統(tǒng)使用Vue 框架搭建前端項(xiàng)目,聯(lián)合UI 庫(kù)、可視化圖表庫(kù)、開(kāi)源GIS API 等組件完成前端頁(yè)面功能開(kāi)發(fā)。門戶效果如圖5 所示。
圖5 門戶效果
后端各微服務(wù)之間使用遠(yuǎn)程過(guò)程調(diào)用(Remote Procedure Call,RPC)方式完成通信[16],最大化降低資源調(diào)用響應(yīng)延遲,同時(shí)以HTTPS 方式暴露RESTful API,向web 視圖及外部系統(tǒng)提供統(tǒng)一規(guī)范的接口。同時(shí),微服務(wù)使用連接池技術(shù)緩存數(shù)據(jù)庫(kù)的訪問(wèn)連接;業(yè)務(wù)層使用基于角色的訪問(wèn)控制(Role-Based Access Control,RBAC)模型的統(tǒng)一登錄認(rèn)證服務(wù)組件為系統(tǒng)提供健壯的權(quán)限管控能力;領(lǐng)域?qū)邮褂梅植际蕉〞r(shí)任務(wù)方案實(shí)現(xiàn)易擴(kuò)展的數(shù)據(jù)采集;基礎(chǔ)服務(wù)層還使用了眾多中間件技術(shù),完成數(shù)據(jù)持久化存儲(chǔ)、熱數(shù)據(jù)緩存以及高吞吐的消息訂閱發(fā)布。系統(tǒng)的前端和后端項(xiàng)目使用標(biāo)準(zhǔn)JSon報(bào)文格式完成功能接口高效對(duì)接。
綜上所述,本文根據(jù)提出的解決方案,設(shè)計(jì)并實(shí)現(xiàn)了針對(duì)5G 行業(yè)專網(wǎng)的客戶自管理系統(tǒng),確保5G 行業(yè)專網(wǎng)政企客戶通過(guò)該系統(tǒng)能夠屏蔽復(fù)雜的組網(wǎng)、專業(yè)的設(shè)備,并且達(dá)到對(duì)5G 行業(yè)專網(wǎng)資源、性能、告警等網(wǎng)絡(luò)信息的可視、可管和可控,有助于政企客戶通過(guò)5G 行業(yè)專網(wǎng)更加及時(shí)、有效地支撐業(yè)務(wù)開(kāi)展。