基於碼流尋址方式的移動LTE的KPI計算方法與流程
2023-04-28 07:01:51 1

本發明涉及行動網路通信技術領域,特別涉及基於碼流尋址方式的移動LTE的KPI計算方法。
背景技術:
KPI指標是基於多條XDR話單的欄位值進行公式計算的統計模型,根據業務的需要,可以通過設置KPI指定條件來對XDR話單進行KPI計算。
現有技術中的技術方案如圖1所示,對KPI計算的常規方案為讀取話單->解析話單(二進位轉換常量)->與訂閱KPI條件逐個匹配->符合條件的XDR進入KPI對應的模型計算數值。
上述現有技術每條二進位XDR話單都要轉到相應的常量(整數、小數、字符串),轉換過程比較消耗CPU資源;需要逐行逐欄位匹配,XDR個數M,條件個數N,條件欄位數P,匹配計算總次數就是M*N*P(由於一條XDR的不同欄位組合,可能匹配多個KPI條件。所以即使匹配到1條,也要繼續匹配直到最後一個KPI條件)非常佔用CPU、內存資源,極其耗時;字符串比對函數equals、startWith、indexOf、正則表達式的matches等函數,由於其本身的特質,在海量XDR匹配業務中頻繁讀寫內存,影響匹配效率。此方案在實際應用中計算緩慢,不僅影響數據實時性也佔用過多伺服器資源。
技術實現要素:
為了大幅度提高單臺伺服器的運算能力,提高經濟效益,提升客戶滿意度,本發明實施例提供了基於碼流尋址方式的移動LTE的KPI計算方法。所述技術方案如下:
第一方面,提供了一種基於碼流尋址方式的移動LTE的KPI計算方法,其特徵在於,所述方法包括:
讀取XDR話單並獲取XDR欄位;
將KPI條件欄位組合後採用哈希算法生成多個哈希值,並計算所述哈希值的hashCode值;
將所述XDR欄位與所述哈希值進行匹配,得到目標哈希值;
根據所述目標哈希值的hashCode值查找與之相同的KPI條件並計算KPI。
結合第一方面,在第一種可能的實施方式中,所述讀取XDR話單並獲取XDR欄位包括:
預設規範定義的欄位長度;
根據所述欄位長度將所述XDR欄位截取為多個二進位欄位。
結合第一方面,在第二種可能的實施方式中,所述將KPI條件欄位組合後採用哈希算法生成多個哈希值包括:
將所有KPI條件欄位組合為一個欄位;
根據哈希算法對所述一個欄位計算,得到多個哈希值。
結合第一方面,在第二種可能的實施方式中,在根據所述目標哈希值的hashCode值查找與之相同的KPI條件並計算KPI之前,所述方法還包括:
計算每個KPI條件欄位的hashCode值,其中,KPI條件欄位與hashCode值唯一對應。
第二方面,提供了基於碼流尋址方式的移動LTE的KPI計算系統,其特徵在於,所述系統包括:
解析模塊,用於讀取XDR話單並獲取XDR欄位;
生成模塊,用於將KPI條件欄位組合後採用哈希算法生成多個哈希值,並計算所述哈希值的hashCode值;
匹配模塊,用於將所述XDR欄位與所述哈希值進行匹配,得到目標哈希值;
計算模塊,用於根據所述目標哈希值的hashCode值查找與之相同的KPI條件並計算KPI。
結合第二方面,在第一種可能的實施方式中,所述解析模塊具體用於:
預設規範定義的欄位長度;
根據所述欄位長度將所述XDR欄位截取為多個二進位欄位。
結合第二方面,在第二種可能的實施方式中,所述生成模塊具體用於:
將所有KPI條件欄位組合為一個欄位;
根據哈希算法對所述一個欄位計算,得到多個哈希值。
結合第二方面,在第二種可能的實施方式中,所述計算模塊還用於:
計算每個KPI條件欄位的hashCode值,其中,KPI條件欄位與hashCode值唯一對應。
本發明公開了基於碼流尋址方式的移動LTE的KPI計算方法,對XDR話單的處理是直接基於碼流處理,不經過XDR話單中碼流->常量的轉換過程,節省內存讀寫操作及CPU運算;對KPI條件欄位組合哈希,通過hashCode直接定位相同hashCode值的條件,取代逐行、逐欄位匹配,由常規M*N*P匹配次數優化為M*Q匹配次數,減少對CPU和內存資源的佔用,提高匹配的效率,節省大量系統資源,提高了數據實時性。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明現有技術中計算KPI的方法流程示意圖;
圖2是本發明一優選實施例KPI計算方法流程示意圖;
圖3是現有技術中計算KPI的方法時序圖;
圖4是本發明一優選實施例中KPI計算方法的時序圖;
圖5是本發明另一優選實施例中KPI計算系統的結構示意圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明一優選實施例提供的基於碼流尋址方式的移動LTE的KPI計算方法,參照圖2所示,所述方法流程包括:
S210、讀取XDR話單並獲取XDR欄位。
其中,XDR話單是經過數據採集、回填後的二進位數據包,為應用層提供業務相關數據。XDR話單的個數用M表示。
KPI指標是根據多條XDR話單的欄位值進行公式計算的統計模型,根據業務的需要,會對指定條件內的XDR話單進行KPI計算。
具體地,該步驟包括:
預設規範定義的欄位長度;
根據欄位長度將XDR欄位截取為多個二進位欄位。
其中,規範定義的欄位長度可以是任意長度,在此不作具體限定。
由於讀取的XDR話單是二進位數據,根據預設的欄位長度截取的欄位同樣也是二進位欄位。與現有技術相比,截取的二進位欄位不進行常量的轉化,直接以二進位碼流的方式來與KPI條件欄位進行匹配,節省內存讀寫操作及CPU運算。
S220、將KPI條件欄位組合後採用哈希算法生成多個哈希值,並計算哈希值的hashCode值。
其中,哈希算法是將任意長度的二進位值映射為較短的固定長度的二進位值。根據哈希算法得到的KPI條件欄位組合個數為Q。
具體地,將KPI條件欄位組合後採用哈希算法生成多個哈希值包括:
將所有KPI條件欄位組合為一個欄位;
根據哈希算法對上述一個欄位計算,得到多個哈希值,其中,哈希值的個數即為Q。
將KPI條件欄位組合哈希後,得到的哈希值也會包括每個KPI條件欄位,當與XDR欄位進行匹配時,既減少了匹配的次數,也保證了能夠覆蓋到每個KPI條件欄位。
S230、將XDR欄位與哈希值進行匹配,得到目標哈希值。
具體地,將XDR二進位欄位與哈希值進行逐個比較,得到與XDR二進位欄位相匹配的哈希值。
根據步驟S220可知,哈希值的個數為Q,則將XDR二進位欄位與哈希值進行比較的次數也為Q。
相比較於現有技術中的常量比較,二進位碼流比較的方式能夠減少內存的讀寫及對CPU的佔用,提高單臺伺服器的運算能力。
S240、根據目標哈希值的hashCode值查找與之相同的KPI條件並計算KPI。
由於目標哈希值中的hashCode值是唯一的,並且通過該hashCode值可以查找到與之相對應的KPI條件欄位,將XDR話單帶入KPI條件模型計算得到對應的KPI。
可選的,在步驟S240之前,該方法還包括:
計算每個KPI條件欄位的hashCode值,該KPI條件欄位與hashCode值唯一對應。
參照圖3所示,提供了現有技術中根據XDR話單計算KPI的方法,具體包括:
從網卡中讀取第一條二進位XDR,將該二進位XDR轉換為常量(整數、小數和字符串等),將該常量XDR與KPI條件欄位進行匹配,當全部欄位匹配上後,根據該KPI條件計算KPI指標。其中,設XDR個數是M,KPI條件個數為N,條件欄位數為P,則匹配計算總次數是M*N*P(由於一條XDR的不同欄位組合可能匹配多個KPI條件,所以即使匹配到1條,也要繼續匹配直到最後一個KPI條件)。
參照圖4所示,提供了本發明實施例中根據XDR話單計算KPI的方法,具體包括:
從網卡中讀取第一條二進位XDR,將該XDR話單根據預設的長度截取為若干二進位欄位,將所有的KPI條件欄位組合為一個欄位哈希,得到條件欄位的哈希值Q個並計算每個哈希值的hashCode值,將二進位XDR話單欄位與哈希值進行匹配,得到完全匹配的哈希值,根據該哈希值的hashCode來找到對應的KPI條件,計算得到KPI。其中,設XDR話單的個數M,則匹配計算總次數是M*Q。經過反覆測試,碼流尋址匹配在10萬、百萬、千萬、億級XDR話單計算KPI的用時只有常規方法的十五分之一左右。
本發明實施例提供的基於碼流尋址方式的移動LTE的KPI計算方法,相比較於現有技術,直接基於二進位碼流處理欄位與KPI條件的匹配,不經過碼流至常量的轉換過程,大大的節省內存讀寫操作及CPU運算。通過hashCode值直接定位KPI條件,取代逐行、逐欄位匹配,節省大量系統資源,減少了數據運算延時,提高了數據實時性。
參照圖5所示,在本發明另一優選的實施例中提供了基於碼流尋址方式的移動LTE的KPI計算系統,該系統包括:
解析模塊510,用於讀取XDR話單並獲取XDR欄位;
生成模塊520,用於將KPI條件欄位組合後採用哈希算法生成多個哈希值,並計算哈希值的hashCode值;
匹配模塊530,用於將XDR欄位與哈希值進行匹配,得到目標哈希值;
計算模塊540,用於根據目標哈希值的hashCode值查找與之相同的KPI條件並計算KPI。
具體地,解析模塊510具體用於:
預設規範定義的欄位長度;
根據欄位長度將XDR欄位截取為多個二進位欄位。
具體地,生成模塊520具體用於:
將所有KPI條件欄位組合為一個欄位;
根據哈希算法對上述一個欄位計算,得到多個哈希值。
具體地,計算模塊540還用於:
計算每個KPI條件欄位的hashCode值,其中,KPI條件欄位與hashCode值唯一對應。
本發明實施例提供的基於碼流尋址方式的移動LTE的KPI計算系統,相比較於現有技術,生成模塊520將XDR進行二進位截取,得到二進位欄位,匹配模塊530直接基於二進位碼流處理欄位與KPI條件的匹配,不經過碼流至常量的轉換過程,大大的節省內存讀寫操作及CPU運算。計算模塊540通過hashCode值直接定位KPI條件,取代逐行、逐欄位匹配,節省大量系統資源,減少了數據運算延時,提高了數據實時性,同時大幅度提高單臺伺服器的運算能力,從而降低了項目實施的成本。
上述所有可選技術方案,可以採用任意結合形成本發明的可選實施例,在此不再一一贅述。
需要說明的是:上述實施例提供的系統在執行時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將系統的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的系統與方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬體來完成,也可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。
以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。