基于python的移動(dòng)網(wǎng)絡(luò)優(yōu)化自動(dòng)化與數(shù)據(jù)分析探索
云成龍
中國聯(lián)合網(wǎng)絡(luò)通信有限公司巴彥淖爾市分公司 015000
摘 要:由于移動(dòng)網(wǎng)絡(luò)復(fù)雜度的提升及網(wǎng)絡(luò)承載數(shù)據(jù)的激增,網(wǎng)絡(luò)優(yōu)化工作人員以傳統(tǒng)方式對網(wǎng)絡(luò)進(jìn)行優(yōu)化及對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析就顯得捉襟見肘,為能夠?qū)W(wǎng)絡(luò)進(jìn)行更好的優(yōu)化及對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行深度分析,本文就基于python對移動(dòng)網(wǎng)絡(luò)優(yōu)化過程中的詳細(xì)告警監(jiān)控分析及網(wǎng)絡(luò)數(shù)據(jù)深度挖掘分析進(jìn)行了探索,設(shè)計(jì)了程序算法完成了上述工作。
關(guān)鍵詞:Python,網(wǎng)絡(luò)爬蟲,移動(dòng)網(wǎng)絡(luò)優(yōu)化自動(dòng)化,移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)挖掘分析
隨著移動(dòng)網(wǎng)絡(luò)的發(fā)展壯大,地市網(wǎng)絡(luò)優(yōu)化部門逐漸面臨一個(gè)重大的難題,那就是維護(hù)的網(wǎng)絡(luò)越來越復(fù)雜,尤其隨著5G的到來,就形成了2G/3G/4G/5G同時(shí)共存的一個(gè)復(fù)雜而龐大的網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)一定程度上存在獨(dú)立性,有自己的數(shù)據(jù)平臺(tái),這就導(dǎo)致有多個(gè)平臺(tái)的網(wǎng)絡(luò)數(shù)據(jù)需要人工下載并整理分析,耗費(fèi)了大量的人力資源,公司要承擔(dān)較大的人力成本,整體效率低下;同時(shí)多個(gè)平臺(tái)產(chǎn)生的數(shù)據(jù)量較大,從用戶使用移動(dòng)手持終端側(cè)流量可印證,據(jù)第44次中國互聯(lián)網(wǎng)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)調(diào)查報(bào)告稱[1],移動(dòng)互聯(lián)網(wǎng)接入流量連年快速增高,手機(jī)用戶數(shù)也平穩(wěn)增長,從統(tǒng)計(jì)可知:2019年上半年是2016年上半年的14.7倍,增長約516.4億GB。手機(jī)網(wǎng)絡(luò)網(wǎng)民人數(shù)在2019年也達(dá)到了8.4億人。如此多的流量及用戶產(chǎn)生的上網(wǎng)信令等其他數(shù)據(jù)同樣巨大,普通的數(shù)據(jù)處理分析軟件如excel等無法滿足數(shù)據(jù)分析要求,導(dǎo)致網(wǎng)絡(luò)問題等無法快速發(fā)現(xiàn),數(shù)據(jù)資源挖掘力度不足,巨大潛力無法釋放,但與此同時(shí)用戶感知及要求變的越來越高,形成網(wǎng)絡(luò)與用戶感知間的矛盾。


研究目的一方面是為減輕工作人員重復(fù)性勞動(dòng),提升工作人員工作效率,節(jié)省公司人工成本,另一方面對移動(dòng)網(wǎng)絡(luò)正常運(yùn)行及影響用戶感知的告警,做到及時(shí)發(fā)現(xiàn),自動(dòng)提出解決措施,及時(shí)處理故障,來提高用戶使用網(wǎng)絡(luò)的感知,提升用戶對網(wǎng)絡(luò)的滿意度。本文特設(shè)計(jì)了具有代表性并有可延展性的基于python的移動(dòng)網(wǎng)絡(luò)優(yōu)化告警實(shí)時(shí)監(jiān)控程序,同時(shí)為探索地市住宅小區(qū)的網(wǎng)絡(luò)覆蓋情況、用戶感知及住宅小區(qū)內(nèi)用戶市場占有率等情況,本文基于python對地市住宅小區(qū)進(jìn)行了數(shù)據(jù)挖掘探索,為網(wǎng)絡(luò)未來建設(shè)及市場未來發(fā)展提供決策參考。
基于python的移動(dòng)網(wǎng)絡(luò)優(yōu)化與數(shù)據(jù)分析挖掘?qū)σ苿?dòng)網(wǎng)絡(luò)優(yōu)化自動(dòng)化及智能化發(fā)展有助推劑的作用,為國家數(shù)字化經(jīng)濟(jì)轉(zhuǎn)型提供技術(shù)支持。
python是一種豐富而強(qiáng)大的類似膠水的編程語言,由于其簡單、容易上手等原因,在不同領(lǐng)域均有很強(qiáng)的需求。特別在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)及人工智能等領(lǐng)域,受到人們熱烈的追捧。在2018年7月的編程語言排行榜[2]中,python穩(wěn)居所有編程語言第一名。
worldwide,Jul 2018 compared to a year ago: | ||||
Rank | Change | Language | Share | Trend |
1 | ↑ | Python | 23.59% | +5.5% |
2 | ↓ | Java | 22.40% | -0.5% |
3 | ↑↑ | Javascript | 8.49% | +0.2% |
4 | ↓ | PHP | 7.93% | -1.5% |
5 | ↓ | C# | 7.84% | -0.5% |
6 |
| C/C++ | 6.28% | -0.8% |
7 | ↑ | R | 4.18% | +0.0% |
8 | ↓ | Objective-C | 3.40% | -1.0% |
9 |
| Swift | 2.65% | -0.9% |
10 |
| MATLAB | 2.25% | -0.3% |
圖2-1世界范圍內(nèi)編程語言流行度排名圖
因運(yùn)營商移動(dòng)網(wǎng)絡(luò)優(yōu)化領(lǐng)域現(xiàn)如今面臨的挑戰(zhàn)主要有:
(1)移網(wǎng)網(wǎng)絡(luò)復(fù)雜、多種制式網(wǎng)絡(luò)共存,存在多個(gè)網(wǎng)管平臺(tái)及數(shù)據(jù)平臺(tái),簡單來說就是多而雜,維護(hù)困難度高。
(2)網(wǎng)絡(luò)優(yōu)化中數(shù)據(jù)龐大,因平臺(tái)較多,數(shù)據(jù)量也逐漸上升,如果通過人工來每天監(jiān)控及分析相關(guān)指標(biāo)會(huì)變的力不從心,且如果對非常細(xì)化的指標(biāo)進(jìn)行監(jiān)控并對出現(xiàn)的問題提出解決方案,此項(xiàng)工作就會(huì)消耗較多的人力資源。
移動(dòng)網(wǎng)絡(luò)優(yōu)化是追求網(wǎng)絡(luò)在動(dòng)態(tài)平衡中的最優(yōu)狀態(tài),為達(dá)到這種最優(yōu)狀態(tài)及應(yīng)對以上挑戰(zhàn),有的工作數(shù)據(jù)已經(jīng)大到excel等無法操作,python此時(shí)就脫穎而出。同時(shí)現(xiàn)如今用戶對網(wǎng)絡(luò)敏感度越來越高,快速定位用戶問題就顯得至關(guān)重要,而python的自動(dòng)化及智能化分析就有了較大的優(yōu)勢。
網(wǎng)絡(luò)爬蟲顧名思義就是從浩瀚的網(wǎng)絡(luò)上爬取你所需要的數(shù)據(jù)。Python在這方面就是一個(gè)很有優(yōu)勢的語言。比如我們?nèi)粘S玫降乃阉饕婊蛩阉鞴ぞ呔涂梢钥醋魇蔷W(wǎng)絡(luò)爬蟲的升級(jí)版本,在搜索框輸入你需要查詢的關(guān)鍵字后就能輸出你想要的結(jié)果,該爬蟲技術(shù)為通用性爬蟲,此外還有聚焦型爬蟲:主要是聚焦某些特定的數(shù)據(jù),以此為基礎(chǔ)爬取網(wǎng)頁的技術(shù);增量型爬蟲:在聚焦型爬蟲的基礎(chǔ)上,定期需要增加特定內(nèi)容的爬蟲技術(shù);深層爬蟲:該爬蟲技術(shù)與其他技術(shù)主要的區(qū)別是需要先進(jìn)行安全驗(yàn)證,驗(yàn)證完成后再進(jìn)行數(shù)據(jù)的爬取的技術(shù)。由以上可知爬蟲的一個(gè)通用流程就是:程序調(diào)用爬蟲模塊端后給定URL,后續(xù)根據(jù)一定規(guī)則爬取網(wǎng)頁信息,后通過下載指令完成對網(wǎng)頁數(shù)據(jù)的爬取,在通過網(wǎng)頁解析器將下載的數(shù)據(jù)解析成我們看懂的信息,以上就是一個(gè)簡單的通用型網(wǎng)絡(luò)爬取流程。圖2-2就是簡單的通用型爬蟲流程。

圖2-2通用型爬蟲流程圖
移動(dòng)網(wǎng)絡(luò)的更新迭代已經(jīng)進(jìn)入了5G的時(shí)代,傳輸速率的增大為數(shù)據(jù)大量交流鋪設(shè)了平臺(tái),所以現(xiàn)如今已經(jīng)逐漸進(jìn)入了大數(shù)據(jù)的時(shí)代,對數(shù)據(jù)這個(gè)寶藏庫進(jìn)行分析與挖掘就有了很大的研究意義,從廣義數(shù)據(jù)分析類型上我們分為狹義數(shù)據(jù)分析與數(shù)據(jù)挖掘。
狹義數(shù)據(jù)分析:主要通過對比、分組、交叉、回歸分析等分析手段來對我們爬取收集到的數(shù)據(jù)進(jìn)行處理與分析,提取出有價(jià)值的數(shù)據(jù),幫助我們研究與決策。
數(shù)據(jù)挖掘:主要是在海量的、無規(guī)律的、不完整的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中通過一系列特定規(guī)則如關(guān)聯(lián)規(guī)則、分類規(guī)則、聚類規(guī)則、智能推薦等手段挖掘出數(shù)據(jù)中我們沒有發(fā)現(xiàn)的數(shù)據(jù)價(jià)值。
目前主流的數(shù)據(jù)分析語言有R;Python;MATLAB。圖2-3簡單進(jìn)行了比較,可發(fā)現(xiàn)在爬蟲與數(shù)據(jù)分析方面,Python有很大的優(yōu)勢。
| R | Python | MATLAB |
語言學(xué)習(xí)難易程度 | 入門難度低 | 入門難度一般 | 入門難度一般 |
使用場景 | 數(shù)據(jù)分析,數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí),數(shù)據(jù)可視化等。 | 數(shù)據(jù)分析,機(jī)器學(xué)習(xí),矩陣運(yùn)算,科學(xué)數(shù)據(jù)可視化,數(shù)字圖像處理,web應(yīng)用,網(wǎng)絡(luò)爬蟲,系統(tǒng)運(yùn)維等。 | 矩陣計(jì)算,數(shù)值分析,科學(xué)數(shù)據(jù)可視化,機(jī)器學(xué)習(xí),符號(hào)計(jì)算,數(shù)字圖像處理,數(shù)字信號(hào)處理,仿真模擬等。 |
第三方支持 | 擁有大量的Packages,能夠調(diào)用C,C++,F(xiàn)ortran,Java等其他程序語言。 | 擁有大量的第三方庫,能夠簡便地調(diào)用C,C++,F(xiàn)ortran,Java等其他程序語言。 | 擁有大量專業(yè)的工具箱,在新版本中加入了對C,C++,Java的支持。 |
流行領(lǐng)域 | 工業(yè)界≈學(xué)術(shù)界 | 工業(yè)界>學(xué)術(shù)界 | 工業(yè)界<學(xué)術(shù)界 |
軟件成本 | 開源免費(fèi) | 開源免費(fèi) | 商業(yè)收費(fèi) |
圖2-3主流數(shù)據(jù)分析語言排名圖
移動(dòng)網(wǎng)絡(luò)優(yōu)化中告警監(jiān)控自動(dòng)化分析程序在本文中主要采用python的深層爬蟲技術(shù)及pandas模塊等其他模塊來完成數(shù)據(jù)分析,為移網(wǎng)優(yōu)化工作人員提供每日網(wǎng)絡(luò)的告警情況,為優(yōu)化及其他工作做好準(zhǔn)備工作。圖3-1展示本次python自動(dòng)化分析程序結(jié)構(gòu),方便了解程序過程。

圖3-1python自動(dòng)化分析流程圖
因python有很多自帶及第三方庫,當(dāng)我們需要的時(shí)候,就需要將這些庫先引入到程序中才能進(jìn)行操作。在爬蟲程序中我們涉及了selenium,time,os,PIL,requests,request,json,base64這個(gè)幾個(gè)模塊,很好的幫助我們進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的爬取。首先我們需要對瀏覽器加裝webdriver的補(bǔ)丁,由此補(bǔ)丁后才能完成對瀏覽器的調(diào)用。其次就需要將用到的三方庫進(jìn)行引入,下面是本次程序需要引入的模塊。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
import os
from PIL import Image
import requests
import urllib.request
import json
import base64
import pandas as pd
import datetime
在引入python自帶庫與第三方庫后,我們需要對瀏覽器進(jìn)行配置,來保證瀏覽器能自動(dòng)下載并存入我們想要保存的位置。我們以火狐瀏覽器FireFox來舉例,可使用下文程序中的配置來完成。主要對瀏覽器內(nèi)下載路徑,保存提示框的顯示與否,快速自動(dòng)保存等進(jìn)行配置,保證我們爬取的數(shù)據(jù)保存到我們指定的位置。
driver = webdriver.Firefox()
driver = webdriver.FirefoxProfile()
driver.set_preference("browser.download.folderList", 2)
# 0是下載到桌面,1為瀏覽器默認(rèn)下載路徑,2是下載到指定目錄
driver.set_preference("browser.download.dir", r'D:\\gaojing\\')
driver.set_preference("browser.download.manager.showWhenStarting", False)
# false設(shè)置為不顯示
driver.set_preference("browser.download.forbid_open_with", True)
#不打開保存的提示框
driver.set_preference("browser.altClickSave", True)
#快速保存# 不詢問下載路徑:后面的參數(shù)為要下載頁面的content-type的值
driver.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream,application/vnd.ms-excel,text/csv,application/zip")
driver = webdriver.Firefox(firefox_profile=driver)
至此,爬蟲的準(zhǔn)備工作就已經(jīng)結(jié)束,已將將我們需要的瀏覽器等設(shè)置成為我們需要的配置,下面就開始對移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)平臺(tái)進(jìn)行爬蟲,來爬取我們需要的文件。
在爬蟲準(zhǔn)備工作完成后,就開始我們的爬蟲工作,因移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)平臺(tái)安全性要求較高,因此該系統(tǒng)存在用戶名、密碼、驗(yàn)證碼的三層驗(yàn)證后才能登錄。為完成以上工作,我們采用深層型爬蟲技術(shù)來爬取數(shù)據(jù)。下文程序是登錄移動(dòng)網(wǎng)絡(luò)綜合平臺(tái)的一個(gè)爬蟲程序。在本次登錄過程中,因驗(yàn)證碼的存在,需要對驗(yàn)證碼進(jìn)行識(shí)別,該自動(dòng)識(shí)別有一定難度,我們通過調(diào)用百度智能云API來進(jìn)行識(shí)別,經(jīng)過多次實(shí)踐發(fā)現(xiàn)百度云識(shí)別成功率幾乎保持在99.9%以上。識(shí)別成功率非常高,很適合我們此次分析的要求,所以我們最后就借用了百度智能云的算法能力。
url = 'http://*.*.*.*/login.jsp'
driver.get(url)
driver.find_element_by_id('username').send_keys('***')
driver.find_element_by_id('password').send_keys('***')
driver.save_screenshot('D:\yanzhengma.png')
security_code_element = driver.find_element_by_xpath('/html/body/form/table/tbody/tr[4]/td[2]/table/tbody/tr[2]/td[4]/img')
left = int(security_code_element.location['x'])
top = int(security_code_element.location['y'])
right = int(security_code_element.location['x'] + 60)
bottom = int(security_code_element.location['y'] + 20)
im = Image.open('D:\\yanzhengma.png')
im = im.crop((left,top,right,bottom))
im.save('D:\\security_code.png')
time.sleep(5)
ak = '*******'
sk = '*******'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=
client_credentials&client_id=%s&client_secret=%s' %(ak,sk)
request = urllib.request.Request(host)
request.add_header('Content-Type','application/json; charset =UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
json_all = json.loads(content)
#調(diào)用接口
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/numbers"
# 二進(jìn)制方式打開圖片文件
f = open('D:\\security_code.png','rb')
img = base64.b64encode(f.read())
params = {"image":img}
access_token = json_all['access_token']
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
ocr = response.json()
try:
for item in ocr['words_result']:
secruity_code = item['words']
print(secruity_code)
except:
print('錯(cuò)誤')
driver.find_element_by_id('code').send_keys(secruity_code)
在驗(yàn)證碼的自動(dòng)識(shí)別過程中,我們需要先將驗(yàn)證碼的圖片截取下來,通過對網(wǎng)頁的分析,確保我們截取的圖片是完整清晰的,后將圖片發(fā)送到百度智能云接口,因百度智能云有加密過程,需要設(shè)定自己的Ak與SK密匙。完成此步操作后,百度云就會(huì)將識(shí)別后的驗(yàn)證碼發(fā)送回來,經(jīng)過解碼就是我們驗(yàn)證碼圖片中的驗(yàn)證碼。0
經(jīng)過安全驗(yàn)證進(jìn)入到移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)平臺(tái)后需要進(jìn)行有關(guān)多個(gè)數(shù)據(jù)的表格的爬取,爬取過程中需要對HTML5語言及CSS有所了解,主要通過網(wǎng)頁id及xpath路徑等對網(wǎng)頁元素定位,以此來完成對數(shù)據(jù)爬取。對于HTML5及CSS語言問題,本文不在贅述。
對爬取的數(shù)據(jù)進(jìn)行分析前,需要對數(shù)據(jù)進(jìn)行預(yù)先處理,因下載的數(shù)據(jù)文件名稱每次都有變化,需要對所在目錄進(jìn)行監(jiān)控,確保數(shù)據(jù)下載完成后再對數(shù)據(jù)進(jìn)行處理,下面自定義了一個(gè)判斷文件,對文件下載目錄進(jìn)行監(jiān)控。
def panduan():
dirnum = 0
filenum = 0
path = 'D:\\gaojing\\'
for lists in os.listdir(path):
sub_path = os.path.join(path, lists)
#print(sub_path)
if os.path.isfile(sub_path):
filenum = filenum+1
elif os.path.isdir(sub_path):
dirnum = dirnum+1
return filenum
當(dāng)上文程序監(jiān)控到文件下載完成后,程序就會(huì)對文件目錄內(nèi)文件進(jìn)行遍歷查詢,查詢出所有文件的詳細(xì)地址情況,通過對文件名的關(guān)鍵字進(jìn)行篩選匹配后,找到我們每天需要分析的文件。
def finder(pattern, root):
matches = []
dirs = []
for x in os.listdir(root):
nd = os.path.join(root, x)
if os.path.isdir(nd):
dirs.append(nd)
elif os.path.isfile(nd) and pattern in x:
matches.append(nd)
for match in matches:
# print(match)
return match
for dir in dirs:
finder(pattern, root=dir)
對數(shù)據(jù)預(yù)處理進(jìn)行完成后,通過python的pandas的模塊打開我們需要分析的文件,使用drop、contains、loc、fillna、merge、concat、sort等及 datetime等模塊對數(shù)據(jù)進(jìn)行刪除、篩選、vlookup、告警分類,如:駐波、時(shí)鐘、零話務(wù)、RRH故障原因判斷、光的衰弱問題等告警進(jìn)行歸類、聚合,同時(shí)又對告警時(shí)間等進(jìn)行判斷,頻閃或者自動(dòng)恢復(fù),或者仍未恢復(fù),由此來保證數(shù)據(jù)的一體性,可關(guān)聯(lián)性,高準(zhǔn)確性、高可靠性。下面是對一小段數(shù)據(jù)進(jìn)行分析的編程設(shè)計(jì)。
df6 = pd.read_excel(lishihuoyue,sheet_name ='4G',header =3)
df6 = df6.drop(['Unnamed: 0'],axis=1)
df6 = df6[df6['地市'].str.contains('臨河')]
df6 = df6[df6['IS_PETITION'].str.contains('是')]
if df6['ALARM_TEXT'].str.contains('clock') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('clock'),'告警原因']='時(shí)鐘丟失'
#篩選為時(shí)鐘的告警,并標(biāo)注出來
if df6['ALARM_TEXT'].str.contains('VSWR') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('VSWR'),'告警原因']='駐波'
if df6['ALARM_TEXT'].str.contains('optical') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('optical'),'告警原因']='光或電導(dǎo)致小區(qū)掉'
if df6['ALARM_TEXT'].str.contains('baseband') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('baseband'),'告警原因']='基帶板故障'
if df6['ALARM_TEXT'].str.contains('RF Module') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('RF Module'),'告警原因']='射頻模塊故障'
if df6['ALARM_TEXT'].str.contains('Fan failure') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('Fan failure'),'告警原因'] ='風(fēng)扇告警'
if df6['ALARM_TEXT'].str.contains('Cell disabled due to unknown problem') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('Cell disabled due to unknown problem'),'告警原因'] ='小區(qū)掉因未知原因'
if df6['ALARM_TEXT'].str.contains('Cell power failure') is None:
df6
else:
df6.loc[df6['ALARM_TEXT'].str.contains('Cell power failure'),'告警原因'] ='小區(qū)電力故障'
df6 = df6.drop(['告警唯一標(biāo)識(shí)','網(wǎng)元類型','網(wǎng)元標(biāo)識(shí)','地市','廠商','告警級(jí)別','告警原始原因','告警號(hào)','CLEAR_TEXT','START_TIME','NET_TYPE','IS_PETITION','COMMENTS','基站狀態(tài)','LAC','CELL_ID'],axis=1)
df6 = df6.sort_values(['告警結(jié)束時(shí)間'],ascending=False)#倒序排序
df6 = df6.loc[(df6['告警結(jié)束時(shí)間']>today)]#篩選到通報(bào)時(shí)還沒有解決的告警
df6 = df6.merge(gongcan4G,how='left',on='網(wǎng)元名稱')
df6['旗縣'].fillna(df6['區(qū)域'],inplace=True)
df6['基站中文名'].fillna(df6['小區(qū)名稱'],inplace=True)
df6 = df6.drop(['區(qū)域','小區(qū)名稱'],axis=1)
dfs =pd.concat([df5,df6],sort=False)
dfs = dfs.drop_duplicates(['網(wǎng)元名稱'])
通過數(shù)據(jù)分析后,對最后匯總的2G、3G、4G、5G數(shù)據(jù)進(jìn)行旗縣級(jí)別的分類,每日分發(fā)到各旗縣及網(wǎng)管進(jìn)行問題點(diǎn)的處理,保證網(wǎng)絡(luò)健康度、保證用戶使用感知。圖3-2列出了移動(dòng)網(wǎng)絡(luò)自動(dòng)化分析的告警監(jiān)控的部分結(jié)果,地市公司以此結(jié)果為依據(jù)處理影響用戶感知的問題點(diǎn),此項(xiàng)工作原來由網(wǎng)優(yōu)人員每天處理時(shí)大概需要30分鐘,現(xiàn)在實(shí)現(xiàn)自動(dòng)化后,每日僅需2分鐘就可以搞定。極大了提升了工作效率。

圖3-2告警自動(dòng)化分析結(jié)果
本次通過python在百度地圖上對某地市住宅小區(qū)進(jìn)行了爬取,主要通過百度地圖標(biāo)簽為住宅小區(qū)的地點(diǎn)進(jìn)行爬取,同時(shí)利用網(wǎng)絡(luò)圍欄對住宅小區(qū)進(jìn)行劃分,后以此為依據(jù)對住宅小區(qū)進(jìn)行移動(dòng)網(wǎng)絡(luò)深度覆蓋等分析,為住宅小區(qū)用戶提供體驗(yàn)感知更為良好的網(wǎng)絡(luò),同時(shí)發(fā)現(xiàn)住宅小區(qū)覆蓋盲點(diǎn),公司以此進(jìn)行精準(zhǔn)投資。此次網(wǎng)絡(luò)爬蟲共爬取到了502個(gè)住宅小區(qū)。各住宅小區(qū)在旗縣分布情況,如圖4-1的表格。住宅小區(qū)旗縣分布情況與城市大小向吻合,爬取數(shù)據(jù)檢驗(yàn)準(zhǔn)確。
圖4-1某地市住宅小區(qū)數(shù)分布情況圖
經(jīng)過分析,該地市運(yùn)營商在住宅小區(qū)內(nèi)總體網(wǎng)絡(luò)情況平穩(wěn),LTE無線接通率98%,日均網(wǎng)絡(luò)資源利用率43%,CQI大等7的比例為93%,平均CQI為11.23,用戶感知速率為25.77Mbps,但是在網(wǎng)絡(luò)忙時(shí),住宅小區(qū)網(wǎng)絡(luò)負(fù)荷較大,平均無線資源利用率為116.73%,需加大住宅小區(qū)網(wǎng)絡(luò)容量,為用戶提供良好體驗(yàn)感知。

圖4-2某地市住宅小區(qū)平均RSRP圖
從圖4-2可知,旗縣住宅小區(qū)覆蓋情況排名中,旗縣6為-89.7dBm、旗縣7為-91.13dBm、旗縣1為-91.23dBm,以上幾個(gè)旗縣中排名較好,其他旗縣覆蓋不理想,覆蓋不理想后會(huì)對VOLTE通話,上網(wǎng)感知等都會(huì)有影響。針對覆蓋較差的住宅小區(qū)已提交建設(shè)進(jìn)行基站建設(shè)等相關(guān)措施,爭取使旗縣住宅小區(qū)整體覆蓋達(dá)到提升。
本次通過對全部在網(wǎng)絡(luò)用戶進(jìn)行數(shù)據(jù)爬取,通過對比基站覆蓋范圍來劃分覆蓋住宅小區(qū)的基站,然后通過住宅小區(qū)占該基站覆蓋的面積為比值即:,其中a 為概率,b為住宅小區(qū)面積,c為基站覆蓋面積,
為基站小區(qū)在住宅小區(qū)內(nèi)覆蓋的面積,以概率a為系數(shù)計(jì)算住宅小區(qū)內(nèi)用戶數(shù)。即
,其中d為住宅小區(qū)用戶,k為基站小區(qū)下用戶數(shù)。通過以上的方法對住宅小區(qū)用戶數(shù)進(jìn)行統(tǒng)計(jì)。
從圖4-3可知,本次地市共選取502個(gè)住宅小區(qū),日均用戶總數(shù)達(dá)到了123858人,其中旗縣1為59092人,旗縣2為21416人,旗縣3為18126人,旗縣4為11654人,旗縣5為7174人,旗縣6為3406人,旗縣7為2990人。按照區(qū)縣每個(gè)住宅小區(qū)平均人數(shù)排名為,旗縣1為(342人),旗縣3(279人),旗縣2(214人),旗縣4(198人),旗縣6(131人),旗縣7(130人),旗縣5(128人)。根據(jù)全市住宅小區(qū)日均規(guī)模來看,我們發(fā)現(xiàn)住宅小區(qū)內(nèi)聯(lián)通用戶占比并不高,在攜號(hào)轉(zhuǎn)網(wǎng)的情況下,用戶其實(shí)更無顧慮的來選擇運(yùn)營商,這既是機(jī)遇也是挑戰(zhàn),找到我們網(wǎng)絡(luò)覆蓋優(yōu)勢小區(qū)來進(jìn)行營銷,實(shí)現(xiàn)用戶在住宅小區(qū)市場占有率,同時(shí)對于覆蓋較差住宅小區(qū),及時(shí)補(bǔ)齊短板,讓移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)在住宅小區(qū)中成為精品網(wǎng)絡(luò)。
圖4-3住宅小區(qū)人數(shù)爬取
通過本次基于python的住宅小區(qū)數(shù)據(jù)分析,總共從下面的3張圖進(jìn)行分析。具體分析如下:
圖4-4中主要反映了區(qū)縣住宅小區(qū)平均移網(wǎng)覆蓋情況(信號(hào)強(qiáng)度),平均每個(gè)住宅小區(qū)日均人數(shù),用戶感知速率的關(guān)系,可以看出在RSRP為(-89dBm,-94dBm)間,用戶感知速率與覆蓋情況關(guān)聯(lián)不大,與在網(wǎng)用戶數(shù)關(guān)聯(lián)關(guān)系更大,用戶越多,用戶感知速率越低。
圖4-5反映了區(qū)縣網(wǎng)絡(luò)忙時(shí)資源利用率與日均網(wǎng)絡(luò)資源利用率的情況,分析數(shù)據(jù)發(fā)現(xiàn),如果日均網(wǎng)絡(luò)資源利用率過了60%,那么忙時(shí)網(wǎng)絡(luò)資源利用率一般就過了100%。旗縣3,旗縣1,旗縣4網(wǎng)絡(luò)資源利用率較高,日均資源利用率超過了70%,通過與圖4-4縱向比較,發(fā)現(xiàn)該區(qū)域用戶感知速率排名后三,所以需要對上述區(qū)域進(jìn)行網(wǎng)絡(luò)擴(kuò)容,由此才能帶來用戶感知速率提升。


分析圖4-6發(fā)現(xiàn),住宅小區(qū)區(qū)縣日均使用流量與區(qū)縣用戶人數(shù)成正比,排名相同。
但是我們將維度換成區(qū)縣每個(gè)住宅小區(qū)日均流量使用量排名后發(fā)現(xiàn),旗縣3、旗縣4、旗縣2排名靠前,說明這些旗縣小區(qū)網(wǎng)絡(luò)投資回報(bào)率較高,然后我們與區(qū)縣每個(gè)住宅小區(qū)人數(shù)做對比后發(fā)現(xiàn),只有旗縣1波動(dòng)較大,其他排名基本沒有變化,流量與人數(shù)基本成正比,旗縣1區(qū)住宅小區(qū)平均用戶數(shù)第一,但旗縣1住宅小區(qū)流量使用量僅排名第4,可發(fā)現(xiàn)旗縣1平均到每個(gè)小區(qū),每個(gè)小區(qū)平均價(jià)值并不高,還有提升的空間,建議市場積極對旗縣1住宅小區(qū)加大營銷,提高住宅小區(qū)價(jià)值量。
我們又分析了各個(gè)區(qū)縣每個(gè)小區(qū)人均流量使用情況,發(fā)現(xiàn)旗縣5、旗縣6、旗縣4排名靠前,旗縣7、旗縣3、旗縣1排名靠后。造成這樣的原因可能有以下幾種:
(1)用戶上網(wǎng)習(xí)慣的不同造成此種結(jié)果。可能旗縣5用戶更愛用LTE網(wǎng)絡(luò)上網(wǎng)。
(2)融合套餐(手機(jī)+寬帶)發(fā)展不均衡的影響。
(3)用戶使用LTE網(wǎng)絡(luò)感知速率好,其中旗縣5用戶感知速率最高,人均也使用最高。
綜上所述,在大數(shù)據(jù)與人工智能時(shí)代,移動(dòng)網(wǎng)絡(luò)優(yōu)化的自動(dòng)化分析將是每個(gè)移動(dòng)網(wǎng)絡(luò)優(yōu)化人員必備的技能,將復(fù)雜龐大的網(wǎng)絡(luò)維護(hù)做成簡單的網(wǎng)絡(luò)維護(hù)是我們一直努力的方向,此次自動(dòng)化分析將原來網(wǎng)優(yōu)人員每天30分鐘的工作量在2分鐘內(nèi)完成,極大的提升了工作效率,節(jié)省了公司的人力資源,同時(shí)通過大數(shù)據(jù)分析,尋找移動(dòng)網(wǎng)絡(luò)問題點(diǎn),發(fā)現(xiàn)網(wǎng)絡(luò)薄弱環(huán)節(jié),助力市場發(fā)展及精準(zhǔn)營銷有很大的輔助作用。最后希望網(wǎng)絡(luò)優(yōu)化在python的加持下朝著自動(dòng)化與智能化方向發(fā)展。
參考文獻(xiàn):
[1] 第44次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告.工信部
[2]張俊紅.python數(shù)據(jù)分析.北京.電子工業(yè)出版社,2019.2




