許玉華
(南京中興軟創(chuàng)軟件技術有限公司,江蘇 南京 210000)
當前的運營商發(fā)展速度已經(jīng)逐漸趨于平緩,但行業(yè)之間的競爭卻是越發(fā)激烈。同時,電信企業(yè)內(nèi)部的系統(tǒng),尤其是BSS系統(tǒng)規(guī)模正在逐步擴大,帶來了維護成本顯著提高的問題。運營商為了謀求進一步的發(fā)展,就必須要保障用戶的使用體驗,而這就需要一個強大的運維系統(tǒng)作為支撐。由于之前BSS設計十分重視功能堆積,對業(yè)務監(jiān)控系統(tǒng)的設計不予重視,使得有關服務的業(yè)務監(jiān)控及異常處理完全不存在,極大地影響了用戶的使用體驗,為此,本文針對電信BSS業(yè)務監(jiān)控系統(tǒng)的設計展開了研究。
設計電信BSS業(yè)務監(jiān)控系統(tǒng)的主要目標,就是在通信網(wǎng)絡中可以借助流量的分析和理論的挖掘,做到實時監(jiān)測和記錄整個電信業(yè)務過程,并借助原定設置的規(guī)則配置手段,將不健康的內(nèi)容進行過濾,并對一些非法業(yè)務進行及時的阻斷,從而影響達到保護通信網(wǎng)絡,提升整體服務質(zhì)量的目的。從當前的情況來看,電信業(yè)務種類十分繁多,根據(jù)不同的角度也可以做出不同類型的劃分。就比如其中的瀏覽業(yè)務,就是指用戶借助充當瀏覽器來訪問相應的網(wǎng)站的行為,這種業(yè)務根據(jù)所采用的瀏覽技術上的差異,可以分為WAP瀏覽器和Web瀏覽兩種,由于受到終端技術和WAP協(xié)議的限制,瀏覽類的業(yè)務在最初發(fā)展的時候只能夠訪問一些數(shù)量有限且內(nèi)容單一的WAP網(wǎng)站。但是在手機處理能力不斷提升的影響下,WAP的協(xié)議也得到相應的擴展,再加之網(wǎng)絡帶寬的增加,使得用戶可以訪問到內(nèi)容較為豐富的互聯(lián)網(wǎng)網(wǎng)站。
在設計電信BSS業(yè)務監(jiān)控系統(tǒng)的過程中,需要遵循如下幾個方面的原則:第一,易用性原則。BSS整個業(yè)務系統(tǒng)內(nèi)部的各個業(yè)務系統(tǒng)是孤立建設的,整個業(yè)務系統(tǒng)的內(nèi)部和系統(tǒng)之間存在較為復雜的交互以及數(shù)據(jù)之間的傳遞工作,從而導致整個企業(yè)的信息系統(tǒng)管理工作復雜程度相對較高。在設計業(yè)務監(jiān)控系統(tǒng)的過程中追求可視化和易操作,可以逐步減少對于專業(yè)人員的過度依賴,同時這也是當前整個BSS業(yè)務監(jiān)控系統(tǒng)設計所追求的原則之一[1]。第二,可靠性原則。業(yè)務監(jiān)控系統(tǒng)設計的最初目的就是為了確保電信企業(yè)實現(xiàn)智能化運維的目標,這也就意味著監(jiān)控系統(tǒng)不可以對BSS系統(tǒng)內(nèi)部的基礎業(yè)務運行和性能產(chǎn)生相應的影響,系統(tǒng)在設計的環(huán)節(jié)中需要遵循標準和規(guī)范化的原則,保證整個系統(tǒng)具備較高水準的可靠性,以此來確?;A性質(zhì)的業(yè)務能夠正常的運轉(zhuǎn)。第三,安全性原則。BSS系統(tǒng)內(nèi)部保存著有關客戶的重要資料,這也就意味著系統(tǒng)需要對外部的各種惡意攻擊和病毒入侵做出有效安全的防范,并且需要對訪問權限做出嚴格細致的管理,對于一些特殊性質(zhì)的操作和重要的數(shù)據(jù),必須在經(jīng)過有關用戶的授權之后方可進行使用,而這些要求也就意味著整個系統(tǒng)必須具備相應的數(shù)據(jù)加密、身份認證等安全措施。業(yè)務監(jiān)控系統(tǒng)在設計的環(huán)節(jié)中,也需要沿用原有電信BSS系統(tǒng)中固有的安全加固模式。第四,擴展性原則,在電信業(yè)務不斷發(fā)展的影響下,BSS業(yè)務監(jiān)控系統(tǒng)往往會出現(xiàn)無法全面監(jiān)控的情況,同時監(jiān)控的范圍和場景也會出現(xiàn)相應的變化。在這種情況下,整個業(yè)務監(jiān)控系統(tǒng)就需要添加全新的功能模塊,或者是和其他的工作軟件進行連接使用。在這些要求下就需要確保整個業(yè)務監(jiān)控系統(tǒng)具備良好的拓展性,需要在設計標準化接口的前提下,做到輕松和第三方軟件進行相應的對接,從而真正意義上做到不同應用平臺間直接進行信息的有效交互,以便更好地解決運維工作的管控、業(yè)務系統(tǒng)間的協(xié)同和適配問題。第五,伸縮性原則[2]。
對于整個BSS業(yè)務監(jiān)控系統(tǒng)而言,服務調(diào)用是其中的高級運維部分,其主要功能就是定位系統(tǒng)故障的發(fā)生位置及分析整個系統(tǒng)的運行狀態(tài)。其具體的分層包括顯示層、服務能力、統(tǒng)計分析、存儲、匯聚、采集、埋點等。其中的埋點是借由平臺的中間件以及業(yè)務邏輯,在完全遵循日志規(guī)范的基礎上,實現(xiàn)日志的埋點輸出,具體的日志輸出內(nèi)容調(diào)用鏈的埋點日志、跟蹤日志等。部署在業(yè)務服務器內(nèi)部的Uni Agent中的 Flume Agent,主要是負責采集日志的從文件,并將之傳輸?shù)絽R聚層。在日志匯聚之后,需要由Flume集群將存在于Kafak中的數(shù)據(jù)全部取出,在將這些數(shù)據(jù)導入原始日志庫及搜索完服務器之后,需要進行流式計算即調(diào)用鏈整體狀態(tài)進行計算,隨后將計算得出的結(jié)果數(shù)據(jù)導入到搜索服務器中。
統(tǒng)計分析層則是將原始日志庫中埋點日志進行提取和調(diào)用,并在進行分析和計算之后將調(diào)用鏈的結(jié)果數(shù)據(jù)生成表格存放到分析結(jié)果庫中。而服務能力則是為外界提供相應的運維服務結(jié)果。
分布性質(zhì)的服務跟蹤系統(tǒng)的主要思路就是借助服務調(diào)用鏈的各個服務處理節(jié)點響應產(chǎn)生的日志信息,通過串聯(lián)同一個生產(chǎn)請求中帶有同一個ID的系統(tǒng)和服務,并在經(jīng)過重組還原之后得到更多具有價值的信息。具體來說,每一個URL請求都生成一個全局唯一化ID,而這個ID在BSS業(yè)務監(jiān)控系統(tǒng)中被稱作是Trace ID,同時這個ID將會存在于對應URL請求中全部的服務調(diào)用等環(huán)節(jié)生成的全部日志中。由于這些全部的資源訪問行為都是在分布式環(huán)境下開展的,如若想要在應用程序中實現(xiàn)打印服務鏈路日志和傳遞Trace ID的目標,也就意味著在程序中會有大量的日志打印代碼,而且需要以用數(shù)據(jù)的方式將Trace ID傳遞到下一個服務節(jié)點,而這些環(huán)節(jié)的存在都為整個系統(tǒng)帶來了較大的代碼入侵風險。因為BSS業(yè)務系統(tǒng)絕大部分都是用Java語言編寫的,為此就會在服務框架層和資源的驅(qū)動訪問層中植入傳遞Trace ID的功能代碼,換言之就是在中間件層面上統(tǒng)一實現(xiàn)了業(yè)務監(jiān)控系統(tǒng)上下文的創(chuàng)建[3]。有效調(diào)用上下網(wǎng)在中間件中的網(wǎng)絡請求傳遞,并能夠做到將上下文信息的調(diào)用保存在本地的Thread Local中,從而有效實現(xiàn)了BSS業(yè)務監(jiān)控平臺所需要的上下文調(diào)用和日志信息對于系統(tǒng)開發(fā)人員完全透明的目標。
整個系統(tǒng)的健康程度評價,也是通過各個系統(tǒng)指標項的得分匯聚計算而來的,就當前的情況來看,系統(tǒng)自身的健康度模型可以將業(yè)界內(nèi)部通用的QOE模型作為參考,并借此設計出一套評估BSS業(yè)務系統(tǒng)的健康度模型。這個模型主要是從BSS內(nèi)部的各個產(chǎn)品和業(yè)務服務器中進行業(yè)務數(shù)據(jù)日志和性能指標的收集并嚴格按照業(yè)務流程的維護需求設置相應的KPI。健康度模型中存在的任何一個中間節(jié)點的健康度都是由下一層的節(jié)點數(shù)據(jù)經(jīng)過匯集計算得出的,而葉子節(jié)點的健康度主要是由3個KQI的總體評分得出的,主要是針對不同業(yè)務所提出的接近用戶感受的業(yè)務質(zhì)量參數(shù),包括可用性、性能下降程序及事件扣分。其中每一個KQI評分也是經(jīng)過不同的KPI得分匯聚而來的,而在電信BSS業(yè)務監(jiān)控系統(tǒng)中的KPI主要指的是應用、服務、資源三者,比如在性能下降中會設置時延平均數(shù)、CPU占用率以及內(nèi)存使用率等。借助基礎性能將性能KPI或是業(yè)務KPI經(jīng)過采集上報之后,進行相應的匯聚加工操作,使用相應的計算表達式可以做到標準化處理單個或者是有所關聯(lián)的KPI,并真正在給出單個節(jié)點評分數(shù)值的前提下,借助匯聚算法得出父節(jié)點的數(shù)值,最終就能夠得到頂層節(jié)點的評分。
傳統(tǒng)的電信BSS業(yè)務系統(tǒng)單純地注重功能模塊設計,忽視了業(yè)務監(jiān)控功能的設計導致無法有效及時地處理整個業(yè)務系統(tǒng)運營中出現(xiàn)的故障,直接降低了整體的用戶使用體驗,這對于電信企業(yè)的進一步發(fā)展有著極大的損害。本文針對現(xiàn)有BSS業(yè)務系統(tǒng)中監(jiān)控系統(tǒng)的不足,在全面遵循設計原則的基礎上就其中的日志管理和服務調(diào)用兩大模塊進行了相應的設計改進,以便為今后的電信BSS業(yè)務系統(tǒng)設計改良提供相應的參考。