本發(fā)明涉及電信iptv軟終端技術(shù)領(lǐng)域,特別是一種基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測方法。
背景技術(shù):
現(xiàn)有方案采用人工檢測結(jié)合平臺(tái)維護(hù)的方式來完成,其主要技術(shù)內(nèi)容如下:
1、通過人工使用機(jī)頂盒進(jìn)行節(jié)目瀏覽,對epg頁面層級(jí)的每個(gè)節(jié)目的進(jìn)行查看和播放,從而完成上線業(yè)務(wù)檢測。
2、通過人工分析平臺(tái)節(jié)目上傳日志,找出失敗記錄,手工進(jìn)行重發(fā)。
現(xiàn)有itv內(nèi)容較常出現(xiàn)以下幾個(gè)問題:頁面元素是否缺失、鏈接是否正常、圖片顯示是否正常;內(nèi)容黑/白屏、重復(fù)、缺集漏集、無法播放的錯(cuò)誤代碼提示等,目前主要是通過人工撥測,存在效率低下和測試準(zhǔn)確性難保證的情況。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測方法,以克服現(xiàn)有技術(shù)中存在的缺陷。
為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測方法,按照如下步驟實(shí)現(xiàn):
步驟s1:掃描待撥測的任務(wù),獲取要撥測epg節(jié)點(diǎn)、業(yè)務(wù)類型及地市;
步驟s2:獲取epg節(jié)點(diǎn)對應(yīng)iptv用戶信息,模擬其機(jī)頂盒登陸過程,并獲取對應(yīng)的會(huì)話信息;
步驟s3:判斷待撥測的業(yè)務(wù)類型;
步驟s4:根據(jù)不同的業(yè)務(wù)類型采用不同的測試方案進(jìn)行測試。
在本發(fā)一實(shí)施例中,在所述步驟s4中,還包括如下步驟:
步驟s41:若是直播類或視頻點(diǎn)播類,則根據(jù)其besttvcode,獲取對應(yīng)視頻播放地址,并檢測其是否可播放;
步驟s42:若是增值類業(yè)務(wù),則對其首頁連通性進(jìn)行測試;
步驟s43:若是看吧類業(yè)務(wù),則根據(jù)epg節(jié)目對應(yīng)的url進(jìn)行測試。
在本發(fā)一實(shí)施例中,在所述步驟s43中,還包括如下步驟:
步驟s431:分析給定的epg節(jié)目入口url,對頁面進(jìn)行可訪問性檢測;若出錯(cuò),則記錄原因,并停止檢測此頁面;
步驟s432:抓取頁面中的圖片,并進(jìn)行可訪問性檢測,出錯(cuò)則記錄原因;
步驟s433:通過正則表達(dá)式抓取頁面中的節(jié)目url,先重復(fù)所述步驟s431至所述步驟s432步驟,然后分析獲取其播放地址,并檢測其是否可播放以及是否缺集;
步驟s434:通過正則表達(dá)式抓取頁面中的分類節(jié)目url,重復(fù)所述步驟s431至所述步驟s433。
在本發(fā)一實(shí)施例中,在所述步驟s433中,還包括如下步驟:
步驟s4331:根據(jù)url獲取頁面html內(nèi)容;
步驟s4332:根據(jù)html內(nèi)容分析出頁面中視頻節(jié)日標(biāo)題;
步驟s4333:通過正則表達(dá)式抓取從html內(nèi)容分析出視頻節(jié)日播放url;
步驟s4334:訪問視頻節(jié)日播放url,獲取節(jié)目的besttvcode;
步驟s4335:根據(jù)節(jié)目的besttvcode獲取其視頻流播放地址;
步驟s4336:根據(jù)獲取的視頻流播放地址,利用vlcj播放視頻檢測視頻流是否正常,若不能播放則記錄原因。
在本發(fā)一實(shí)施例中,還包括一基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測系統(tǒng),包括:數(shù)據(jù)層、處理層、應(yīng)用層以及展示層;所述處理層包括:撥測方案管理模塊、撥測任務(wù)管理模塊、撥測結(jié)果查詢以及告警管理模塊。
在本發(fā)一實(shí)施例中,,通過所述撥測方案管理模塊用于對全省或各地市的不同業(yè)務(wù)類型下的所有節(jié)目進(jìn)行撥測方案的配置;通過所述撥測任務(wù)管理模塊,對已提交成功的撥測方案,按其撥測時(shí)間在任務(wù)隊(duì)列中的進(jìn)度進(jìn)行查看,對任一撥測方案不同業(yè)務(wù)類型的當(dāng)前撥測節(jié)目完成情況查看,對不同狀態(tài)下的任務(wù)進(jìn)行對應(yīng)的暫停以及刪除操作;通過所述撥測結(jié)果查詢,對各撥測狀態(tài)下的撥測結(jié)果信息,包括:各節(jié)目正常以及異常信息,進(jìn)行查看;通過所述告警管理模塊對錯(cuò)誤代碼中需要提示的告警事件以及對應(yīng)的告警級(jí)別進(jìn)行配置。
在本發(fā)一實(shí)施例中,在執(zhí)行撥測任務(wù)過程中,包括如下任務(wù)狀態(tài):進(jìn)行中狀態(tài)、已暫停狀態(tài)、已刪除狀態(tài)、未開始狀態(tài)以及已完成狀態(tài)。
在本發(fā)一實(shí)施例中,所述任務(wù)狀態(tài)的轉(zhuǎn)換為:
所述暫停狀態(tài)通過恢復(fù)操作轉(zhuǎn)換為所述未開始狀態(tài)或所述進(jìn)行中狀態(tài);所述暫停狀態(tài)經(jīng)闡述操作轉(zhuǎn)換為所述已刪除狀態(tài);
所述未開始狀態(tài)通過暫停操作轉(zhuǎn)換為所述暫停操作;所述未開始狀態(tài)在到達(dá)撥測時(shí)間使,轉(zhuǎn)換為所述進(jìn)行中狀態(tài);所述未開始狀態(tài)經(jīng)刪除操作轉(zhuǎn)換為所述已刪除狀態(tài);
所述進(jìn)行中狀態(tài)經(jīng)暫停操作轉(zhuǎn)換為所述暫停操作;所述進(jìn)行中狀態(tài)經(jīng)刪除操作轉(zhuǎn)換為已刪除狀態(tài);所述進(jìn)行中狀態(tài)經(jīng)撥測完成后,轉(zhuǎn)換為所述已完成狀態(tài);
所述已完成狀態(tài)經(jīng)刪除操作轉(zhuǎn)換為已刪除狀態(tài)。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:本發(fā)明提供的一種基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測方法,采集全面,只需要給定的epg節(jié)目入口url,就可以對頁面進(jìn)行反復(fù)逐級(jí)抓取。有特殊情況需要特殊處理才能采集的,也支持配置腳本。配置靈活,支持動(dòng)態(tài)調(diào)整、自動(dòng)定時(shí)采集。精度高,支持正則表達(dá)式和腳本配置更加做到精準(zhǔn)采集。提高了天翼高清業(yè)務(wù)內(nèi)容質(zhì)量監(jiān)管,同時(shí)可對各地市實(shí)現(xiàn)問題內(nèi)容的集約化管理,從而加大了撥測規(guī)模,提高了平臺(tái)撥測范圍及效。
附圖說明
圖1為本發(fā)明一實(shí)施例中epg節(jié)目撥測流程圖。
圖2為本發(fā)明一實(shí)施例中基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測系統(tǒng)的框架圖。
圖3為本發(fā)明一實(shí)施例中撥測任務(wù)狀態(tài)扭轉(zhuǎn)圖。
具體實(shí)施方式
下面結(jié)合附圖,對本發(fā)明的技術(shù)方案進(jìn)行具體說明。
本發(fā)明提供一種基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測方法,如圖1所示,包括如下步驟:
步驟s1.掃描待撥測的任務(wù),獲取要撥測epg節(jié)點(diǎn)、業(yè)務(wù)類型及地市;
步驟s2.獲取epg節(jié)點(diǎn)對應(yīng)iptv用戶信息,模擬其機(jī)頂盒登陸過程并獲取會(huì)話相關(guān)信息;
步驟s3.判斷要撥測的業(yè)務(wù)類型;
步驟s4.若是直播類或視頻點(diǎn)播類則根據(jù)其besttvcode,獲取對應(yīng)視頻播放地址,并檢測其是否可播放;
步驟s5.若是增值類業(yè)務(wù)則僅對其首頁連通性進(jìn)行測試;
步驟s6.若是看吧類業(yè)務(wù)則執(zhí)行以下流程
步驟s6.1.分析給定的epg節(jié)目入口url,對頁面進(jìn)行可訪問性檢測,出錯(cuò)則記錄原因并停止檢測此頁面;
步驟s6.2.抓取頁面中的圖片并進(jìn)行可訪問性檢測,出錯(cuò)則記錄原因;
步驟s6.3.通過正則表達(dá)式抓取頁面中的具體節(jié)目url,先重復(fù)步驟s6.1-步驟s6.2步驟,然后分析獲取其播放地址并檢測其是否可播放,是否缺集等
步驟sa)根據(jù)url獲取頁面html內(nèi)容;
步驟sb)根據(jù)html內(nèi)容分析出頁面中視頻節(jié)日標(biāo)題;
步驟sc)通過正則表達(dá)式抓取從html內(nèi)容分析出視頻節(jié)日播放url;
步驟sd)訪問視頻節(jié)日播放url,獲取節(jié)目的besttvcode;
步驟se)根據(jù)節(jié)目的besttvcode獲取其視頻流播放地址;
步驟sf)根據(jù)獲取的視頻流播放地址,利用vlcj播放視頻檢測視頻流是否正常,若不能播放則記錄原因;
步驟s6.4.通過正則表達(dá)式抓取頁面中的分類節(jié)目url,重復(fù)步驟s6.1-步驟s6.3步驟。
進(jìn)一步的,在本實(shí)施例中,為了保障高清視頻業(yè)務(wù)的良好運(yùn)行,取代傳統(tǒng)人工撥測方式,模擬機(jī)頂盒,實(shí)現(xiàn)賬號(hào)與節(jié)點(diǎn)關(guān)聯(lián)綁定,通過檢測任務(wù)模式,定時(shí)定量靈活實(shí)現(xiàn)對epg首頁/看吧/視頻點(diǎn)播/直播/增值業(yè)務(wù)的在線監(jiān)測、實(shí)時(shí)報(bào)警,從而加大撥測規(guī)模,提高平臺(tái)撥測范圍及成效,將日常維護(hù)集中化管理。獲取epg節(jié)點(diǎn)對應(yīng)iptv用戶信息,模擬其機(jī)頂盒登陸過程并獲取會(huì)話相關(guān)信息;分析給定的epg節(jié)目入口url,通過正則表達(dá)式抓取頁面中的具體節(jié)目url,對頁面進(jìn)行可訪問性檢測,出錯(cuò)則記錄原因并停止檢測此頁面,抓取頁面中的圖片并進(jìn)行可訪問性檢測,出錯(cuò)則記錄原因,然后分析獲取其播放地址并檢測其是否可播放,是否缺集等。
進(jìn)一步的,在本實(shí)施例中,如圖2所示,還包括一種基于爬蟲技術(shù)的iptv業(yè)務(wù)質(zhì)量撥測系統(tǒng)。其中,撥測方案管理模塊用于可選擇性的對全省或各地市的不同業(yè)務(wù)類型下的所有節(jié)目進(jìn)行撥測方案的配置。撥測任務(wù)管理模塊用于對已提交成功的撥測方案按其撥測時(shí)間在任務(wù)隊(duì)列中的進(jìn)度進(jìn)行查看,可查看某一撥測方案不同業(yè)務(wù)類型的當(dāng)前撥測節(jié)目完成情況。同時(shí),可對不同狀態(tài)下的任務(wù)進(jìn)行對應(yīng)的暫停、刪除操作。撥測結(jié)果查詢模塊可查看各撥測狀態(tài)下的撥測結(jié)果信息,即:各節(jié)目正常、異常(含錯(cuò)誤代碼)信息等。告警管理模塊實(shí)現(xiàn)對錯(cuò)誤代碼中需要提示的告警事件、對應(yīng)的告警級(jí)別進(jìn)行配置。
進(jìn)一步的,在本實(shí)施例中,如圖3所示,提供:
業(yè)務(wù)規(guī)則:
1)任務(wù)暫停后可恢復(fù)暫停;
2)任務(wù)狀態(tài):進(jìn)行中、已暫停、已刪除、未開始、已完成。
其中,暫停狀態(tài)通過恢復(fù)操作轉(zhuǎn)換為未開始狀態(tài)或進(jìn)行中狀態(tài);暫停狀態(tài)經(jīng)闡述操作轉(zhuǎn)換為已刪除狀態(tài);
未開始狀態(tài)通過暫停操作轉(zhuǎn)換為暫停操作;未開始狀態(tài)在到達(dá)撥測時(shí)間使,轉(zhuǎn)換為進(jìn)行中狀態(tài);未開始狀態(tài)經(jīng)刪除操作轉(zhuǎn)換為已刪除狀態(tài);
進(jìn)行中狀態(tài)經(jīng)暫停操作轉(zhuǎn)換為暫停操作;進(jìn)行中狀態(tài)經(jīng)刪除操作轉(zhuǎn)換為已刪除狀態(tài);進(jìn)行中狀態(tài)經(jīng)撥測完成后,轉(zhuǎn)換為已完成狀態(tài);
已完成狀態(tài)經(jīng)刪除操作轉(zhuǎn)換為已刪除狀態(tài)。
以上是本發(fā)明的較佳實(shí)施例,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時(shí),均屬于本發(fā)明的保護(hù)范圍。