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