本發明屬于計量領域,具體涉及一種多制式移動通信網絡上網數據流量測量裝置及其方法。
背景技術:
:隨著國內移動通信網絡發展,基于2g(gprs,cdma),3g(wcdma,cdma2000和td-scdma),4g(td-lte,fdd-lte)和wifi的移動數據業務得到廣泛應用,移動通信運營商收費是以移動通信過程中產生的上網數據流量的大小作為依據,移動通信運營商的數據流量計算系統和計費系統屬于貿易結算設備范圍。按照《計量法》規定,貿易結算設備應列入強制計量范圍。同時隨著使用移動通信網絡數據業務的用戶數量不斷增加,移動通信網絡上網數據流量的計量準確性問題也成為公眾關心的焦點。但是目前缺乏對移動通信運營商上網數據流量進行計量的裝置,因此,質檢計量系統無法對移動通信運營商上網數據流量計量進行有效監督。目前用戶普遍使用在手機等無線終端使用上網數據流量測量軟件進行上網數據流量測量。此類軟件是利用系統提供的接口函數來獲得上網數據流量,由于存在系統其他軟件干擾、數據包丟失和重傳等問題,造成測量的上網數據流量和移動通信運營商處測量結果偏差很大。總體而言,當前的現有技術中存在如下問題:(1)無法直接獲取移動通信網絡上網數據流量測量數據,為使測量結果接近于運營商測量結果,需要采用加權算法和修正算法來計算最終流量測量結果,該計算過程會引入誤差,造成測量結果和移動通信運營商測量結果差距進一步擴大。(2)未考慮在哪一網絡協議層進行數據流量測量,造成數據流量測量口徑與移動通信運營商測量口徑不一致,由此引起測量結果和移動通信運營商測量結果有較大差距。(3)難以復現同一數據流量測試場景,不能滿足計量的重復性和穩定性要求不能提供穩定的測試,不能重復多次再現測試結果。(4)方法只限于理論,未在實際硬件上予以實現。技術實現要素:本發明的目的在于解決現有技術中存在的的問題,并提供一種通信網絡數據流量測量方法,該裝置可以完成2g(gprs,cdma),3g(wcdma,cdma2000和td-scdma)和4g(td-lte,fdd-lte)制式下移動通信網絡和wifi上網數據流量測量。本發明所采用的具體技術方案如下:多制式移動通信網絡上網數據流量測量裝置,包括無線上網通信模塊和本地以太網接口中至少1個,以及cpu、存儲單元、gps時鐘單元和電源;所述的cpu連接無線上網通信模塊和/或本地以太網接口;cpu在傳輸過程中利用嵌入在網卡驅動程序中的鉤子程序,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據;所述的無線上網通信模塊用于接入移動通信運營商的無線空中鏈路,并通過該鏈路鏈接至服務器;所述的本地以太網接口用于通過通信運營商的以太網連接至服務器;所述的存儲單元連接于cpu上,用于存儲傳輸過程中cpu記錄的上網數據流量測量數據;所述的gps時鐘單元連接于cpu上,用于同步cpu的系統時間;所述的電源用于為測量裝置供電。作為優選,所述的無線上網通信模塊為wcdma3g模塊、cdma20003g模塊和td-scdma3g模塊、td-lte4g模塊、fdd-lte4g模塊或wifi模塊中的一種或多種,其中wcdma3g模塊、cdma20003g模塊和td-scdma3g模塊、td-lte4g模塊、fdd-lte4g模塊上設置有安裝sim卡的卡槽。作為優選,還包括用于人機交互顯示的電容觸摸屏。作為優選,還包括msata硬盤接口,用于擴展硬盤,提供存儲空間。作為優選,還包括sd接口和/或usbhost接口,用于拷貝數據流量測量結果。作為優選,所述的電源包括外接電源和/或內置的鋰電池。作為優選,所述的存儲單元包括nandflash、ddrram存儲單元以及由msata硬盤接口連接至cpu上的msata硬盤。本發明的另一目的在于提供一種基于上述測量裝置的多制式移動通信網絡上網數據流量測量方法,步驟如下:s1:選定進行測量的無線上網通信模塊,并將無線上網通信模塊接入對應移動通信運營商的無線空中鏈路;s2:啟動所述的測量裝置,并對無線上網通信模塊、存儲系統和顯示系統進行硬件初始化;s3:判斷無線上網通信模塊的通信網絡制式,若網絡制式為2g、3g或ppp模式4g網絡,則初始化信號通知機制和共享內存機制,加載用于監控網卡工作狀態的第一鉤子程序,加載啟動內核和用于監控網卡驅動程序中數據流量的第二鉤子程序,監控數據通道中的所有網絡操作,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并加載配置,調用串口工作臺進程,進入聯網模式;若網絡制式為usb接口下的td-lte4g網絡或fdd-lte4g網絡,則初始化設置td-lte或fdd-lte流量模式下的信號通知機制和共享內存機制,加載用于監控4g流量的鉤子程序,調用ifconfig命令加載初始化網卡設備,注冊到netdevice列表,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并加載配置,調用串口工作臺進程;若網絡制式為usb接口wifi網絡,則初始化設置wifi流量模式下的信號通知機制和共享內存機制,加載用于監控wifi流量的鉤子程序,調用ifconfig命令加載初始化網卡設備,注冊到netdevice列表;s4:利用gps時鐘單元同步cpu的系統時間,完成裝置系統時間設置;s5:cpu開始與服務器進行目標文件的傳輸,在傳輸過程中利用嵌入在網卡驅動程序中的第二鉤子程序,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據。本發明的再一目的是提供一種多制式移動通信網絡上網數據流量計量方法,按照如上述測量方法得到上網數據流量測量數據后,通過移動通信運營商供用戶查詢流量的服務器讀取上網流量明細,將移動通信運營商上網流量計費系統測量的數據流量測量數據與本裝置測量的數據流量測量數據進行比較,得到數據流量測量數據偏差,計算該偏差是否超過閾值,若超過則判定移動通信運營商上網流量計費系統不準確,否則判定移動通信運營商上網流量計費系統準確。作為優選,針對同一目標文件,間隔重復步驟s5若干次,并保存每次測量得到的上網數據流量測量數據結果,以進行重復性驗證。本發明相對于現有技術而言,具有以下有益效果:1、本發明可以直接在數據通道上獲取通信網絡數據流量測量數據,無須進行加權或修正算法。2、本發明采用將數據流量監控鉤子程序嵌入驅動程序中,在數據通道上實時捕捉上網數據流量測量過程中的數據包,并解析捕捉到的數據包包頭,判斷數據包類型、特征和標識,根據判斷結果,剔除不屬于統計范圍的數據包,對屬于統計范圍的移動通信網絡上網數據流量數據包進行實時累計,得到上網數據流量測量數據測量結果,結果不需要進行加權或者修正,顯著提高上網數據流量測量數據測量精度。3、本發明可以分別統計ip層上行數據流量測量數據、ip層下行數據流量測量數據、tcp層上行數據流量測量數據和tcp層下行數據流量測量數據,用戶可以獲得單獨上行和下行的測量數據,也可以分別獲得tcp層和ip層測量數據。4、本發明獲得的移動通信網絡上網數據流量測量數據與運營商保持一致。本發明采用的移動通信網絡上網數據流量測量方法,由于采用數據流量監控鉤子程序嵌入驅動程序并在數據通道上實時捕捉上網數據流量測量過程中的數據包的方法,測試結果和運營商保持高度一致性,保證了測量結果的準確性和公正性。5、本發明可以復現同一數據流量測試場景,滿足計量的重復性和穩定性要求。計量要求測試裝置和方法具有很好的穩定性和重復性,使用本發明采用的方法,可以在不同時間不同地點進行同一數據流量測試,測試具有復現性,具有很好重復性和穩定性,完全符合計量要求。附圖說明圖1為通信網絡數據流量測量方法的流程圖;圖2為實施例中通信網絡數據流量測量裝置的結構示意圖;圖3為一實施例中通信網絡數據流量測量方法的流程圖;圖4為一實施例中通信網絡數據流量測量方法的流程圖;圖5為一實施例中通信網絡數據流量測量方法的流程圖;圖6為網絡終端獲取數據包的流程圖;圖7為通信網絡數據流量計量方法的流程圖。具體實施方式下面結合附圖和具體實施方式對本發明做進一步闡述和說明。本發明中各個實施方式的技術特征在沒有相互沖突的前提下,均可進行相應組合。本發明提出了一種通信網絡數據流量測量方法,基本步驟如下:s1:將網絡終端(移動設備、pc機或者其他集成有功能模塊的網絡設備)接入待測量的通信網絡,通信網絡包括2g、3g、4g、5g、wifi網絡、wimax、有線網絡或以太網。s2:通過該通信網絡再與目標服務器進行數據傳輸(上行或下行,優選為下載),傳輸過程中將一個用于監控數據流量的鉤子程序嵌入網卡驅動程序中,在數據通道上捕捉上網數據流量測量過程中的數據包;s3:解析捕捉到的數據包包頭;s4:根據數據包的解析結果(包括類型、特征和標識),可以將數據包歸類至對應的層,然后對目標層中的數據包進行累計,得到該層上網數據流量測量數據。為實現該方法,本發明繼續提供如圖2所示的一種多制式移動通信網絡上網數據流量測量裝置。該裝置包括cpu以及連接與cpu上的無線上網通信模塊、本地以太網接口、存儲單元、gps時鐘單元、電容觸摸屏、音頻輸入輸出單元、msata硬盤接口、sd接口、usbhost接口和電源,存儲單元包括nandflash、ddrram存儲單元以及msata硬盤。其中,無線上網通信模塊為wcdma3g模塊、cdma20003g模塊和td-scdma3g模塊、td-lte4g模塊、fdd-lte4g模塊或wifi模塊中的一種或多種,具體視需要測量何種網絡數據流量而定。本發明中wifi模塊為自帶組件,因此無線上網通信模塊可根據需要從wcdma3g模塊、cdma20003g模塊和td-scdma3g模塊、td-lte4g模塊、fdd-lte4g模塊中選取一種或多種。無線上網通信模塊上設置有安裝sim卡的卡槽,測量時將對應運營商的sim卡插入卡槽中。cpu采用飛思卡爾i.mx6armcortex-a9處理器,主頻1ghz;ddrram存儲單元采用ddr3內存,1gb容量;nandflash采用高速emmc接口的inandflash,8gbyte容量,支持inand啟動;無線上網通信模塊采用mini-pcie接口3g模塊(支持wcdma,cdma2000和td-scdma,向下兼容2g(gprs,cdma))和4g模塊(td-lte,fdd-lte),支持指令集,可根據需要配置,天線為外置sma接口,支持中國移動、中國電信和中國聯通三大運營;電容觸摸屏采用lvds接口電容式多點觸摸顯示屏;wlan單元使用wifi模塊,支持802.11b/g/n;gps時鐘單元使用gps模塊,天線為外置sma接口;音頻輸入輸出單元提供音頻編、解碼接口;msata硬盤接口提供sata接口,最大支持4tmsata硬盤;sd接口提供一個標準sd卡接口;本地以太網接口提供一個10/100/1000mbpsbase-t以太網口;usbhost接口支持4個usbhost接口,以及一個usbotg;電源管理單元采用10000毫安時7.2v的鋰電池和外接電源。各設備間可以根據供應商提供的接線說明進行接線,對此不作限定。移動通信網絡上網數據流量測量裝置中,各硬件功能如下:cpu:硬件裝置核心,處理指令、執行操作、控制時間、處理數據等作用,內部搭載linux系統。上網通信模塊:cpu連接無線上網通信模塊和本地以太網接口,無線上網通信模塊用于接入移動通信運營商的無線空中鏈路,并通過該鏈路以及有線鏈路鏈接至服務器,如圖2所示。本地以太網接口用于通過通信運營商的以太網連接至服務器。在進行移動通信網絡的流量測量時,上行數據經無線上網通信模塊或調制后發送至無線空中鏈路;從無線空中鏈路接收下行數據并解調后傳送至流量測量裝置,cpu在傳輸過程中利用嵌入在網卡驅動程序中的鉤子程序,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據。當需要測定以太網流量時,則通過以太網與服務器之間進行數據傳輸,以相同方式監控網卡的數據通道。ddrram存儲單元:易失性存儲設備,用于臨時存儲嵌入式系統運行時臨時數據。nandflash:非易失性存儲設備,用于存儲裝置嵌入式操作系統。電容觸摸屏:人機交互顯示,系統接收控制命令,顯示設置參數和測量結果。wlan單元:采用wifi模塊,用于連接wifi熱點。gps時鐘單元:系統時間同步。音頻輸入輸出單元:本發明的設備也可以通過網絡進行視頻播放,并在視頻播放過程中監控數據流量,本單元用于播放視頻過程中的音頻信號的輸入和輸出。msata硬盤接口:擴展硬盤,用于在數據傳輸過程中為接收到的文件提供臨時存儲空間。sd接口:支持外接sd卡,用于拷貝數據流量測量結果。usbhost接口:支持外接usb設備,用于拷貝數據流量測量結果。電源管理單元:包括外接電源和內置的鋰電池,為裝置提供電源供應。上述方法可以根據用戶需要,對不同層的上網數據流量進行測量。目標層可以是網絡協議中的任意一層,例如tcp/ip四層模型中的應用層、傳輸層、互連網絡層、網絡接口層;osi七層模型中的物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層;2g網絡中的網絡層、gtp層、tcp/udp層、ip層、數據鏈路層、物理層。基于上述測量裝置,可以具體設計一種多制式移動通信網絡上網數據流量測量方法,步驟如下:步驟1:選定進行測量的無線上網通信模塊,并將無線上網通信模塊接入對應移動通信運營商的無線空中鏈路;步驟2:啟動所述的測量裝置,并對無線上網通信模塊、存儲系統和顯示系統進行硬件初始化;步驟3:判斷無線上網通信模塊的通信網絡制式,若網絡制式為2g、3g或ppp模式4g網絡,則初始化信號通知機制和共享內存機制,加載用于監控網卡工作狀態的第一鉤子程序,加載啟動內核和用于監控網卡驅動程序中數據流量的第二鉤子程序,監控數據通道中的所有網絡操作,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并加載配置,調用串口工作臺進程,進入聯網模式;若網絡制式為usb接口下的td-lte4g網絡或fdd-lte4g網絡,則初始化設置td-lte或fdd-lte流量模式下的信號通知機制和共享內存機制,加載用于監控4g流量的鉤子程序,調用ifconfig命令加載初始化網卡設備,注冊到netdevice列表,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并加載配置,調用串口工作臺進程;若網絡制式為usb接口wifi網絡,則初始化設置wifi流量模式下的信號通知機制和共享內存機制,加載用于監控wifi流量的鉤子程序,調用ifconfig命令加載初始化網卡設備,注冊到netdevice列表;步驟4:利用gps時鐘單元同步cpu的系統時間,完成裝置系統時間設置;步驟5:cpu開始與服務器進行目標文件的傳輸,在傳輸過程中利用嵌入在網卡驅動程序中的第二鉤子程序,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據。該方法的各個步驟可以在嵌入式系統中通過不同模塊來實現。由于不同制式的網絡存在差異,因此上述方法應用于不同網絡中時也要進行相應的改變。另外,由于在數據傳輸過程中,系統中其他進程在活動時也會產生數據流量,因此為了減少其他進程的干擾,本發明的方法最好運行于linux系統中。下面針對三類最為常見的網絡制式,以搭載linux操作系統的嵌入式系統為例介紹上述方法中s3和s5的實現方式。當通信網絡為2g、3g或ppp模式4g網絡時,上述流量測量方法步驟為:如圖3所示,系統初始化設置ppp模式下的信號通知機制和共享內存機制,調用pppd-2.4.4進程并以后臺方式運行,加載用于監控pppd-2.4.4進程工作狀態的第一鉤子程序,加載啟動內核ppp驅動,加載用于監控pppd-2.4.4驅動中數據流量的第二鉤子程序,監控linux設備文件標準接口read()、write()、ioctl()的所有操作,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并將加載這些配置,調用串口工作臺進程,進入聯網模式進行數據包的傳輸。在與目標服務器進行數據傳輸過程中,利用嵌入在網卡驅動程序中的第二鉤子程序,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據。當通信網絡為usb接口下的td-lte4g網絡或fdd-lte4g網絡時,上述流量測量方法步驟為:如圖4所示,linux系統啟動時,初始化設置td-lte或fdd-lte流量模式下的信號通知機制和共享內存機制,加載用于監控4g流量的鉤子程序,調用ifconfig命令加載初始化網卡設備,注冊到netdevice列表,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并加載配置,調用串口工作臺進程;利用嵌入在網卡驅動程序中的鉤子程序,在與目標服務器進行數據傳輸過程中,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據。當通信網絡為usb接口wifi網絡時,上述流量測量方法步驟為:如圖5所示,linux系統啟動時,初始化設置wifi流量模式下的信號通知機制和共享內存機制,加載用于監控wifi流量的鉤子程序,調用ifconfig命令加載初始化網卡設備,注冊到netdevice列表;利用鉤子程序,在與目標服務器進行數據傳輸過程中,在數據通道上捕捉上網數據流量測量過程中的數據包;解析捕捉到的數據包包頭,根據數據包類型、特征和標識,對目標層中的數據包進行累計,得到上網數據流量測量數據。上述僅為三類網絡制式下的實現步驟,但本領域技術人員需要知道,本發明并不僅限與此,例如5g、有線網絡或以太網等也可以采用本發明的方法進行計量。基于上述數據流量測量方法,還可以進一步提供一種通信網絡數據流量計量方法,步驟如下:網絡終端通過無線鏈路接入移動通信運營商,再通過有線鏈路從服務器下載標準文件數據包,如圖6所示。再如圖7所示,按前述方法測量網絡終端下載該文件產生的流量,然后與通信數據運營商流量計費系統測量的數據流量進行比較,得到兩者間的數據偏差,計算該偏差是否超過閾值,若超過則判定移動通信運營商上網流量計費系統不準確,否則判定通信數據運營商上網流量計費系統準確。在計量過程中,最好針對同一大小的目標文件,間隔重復步驟s5若干次,并保存每次測量得到的上網數據流量測量數據結果,以進行重復性驗證。下面結合一個具體實施例,對本發明做進一步的詳細闡述,使本領域技術人員能夠更好地理解本發明的實現方式。實施例1本實施例上述如圖2所示的測量裝置。系統啟動后,首先對無線上網通信模塊、存儲系統和顯示系統進行硬件初始化,完成之后,在電容觸摸屏上顯示當前系統硬件信息,并等待用戶測試指令。用戶在電容觸摸屏輸入測試指令后,系統接收用戶設置操作,裝置撥號上網,開始上網數據流量測量。系統調用流量測量指令集和linux系統內核支持模塊對上網數據流量測量過程監聽并測量ip數據包,在電容觸摸屏上實時顯示上網數據流量測量數據并存儲在系統物理存儲空間。系統通過gps時鐘單元實現系統時間同步。基于該裝置對移動通信網絡上網數據流量進行測量的具體方法步驟如下:(1)、選定wcdma3g模塊作為測量的無線上網通信模塊。(2)、將嵌入式程序寫入裝置nandflash中。(3)、通過裝置電源管理單元接入外接電源給裝置供電。(4)、將中國聯通上網sim卡放入裝置卡槽。(5)、將移動通信網絡上網數據流量測量裝置開機。(6)、硬件初始化,對無線上網通信模塊、存儲系統和顯示系統進行硬件初始化,完成之后,在裝置電容觸摸屏顯示當前系統信息。(7)、啟動linux系統系統初始化設置ppp模式下的信號通知機制和共享內存機制,調用pppd-2.4.4進程并以后臺方式運行,加載用于監控pppd-2.4.4進程工作狀態的第一鉤子程序,加載啟動內核ppp驅動,加載用于監控pppd-2.4.4驅動中數據流量的第二鉤子程序,監控linux設備文件標準接口read()、write()、ioctl()的所有操作,同時調用at指令初始化撥號參數、模塊通信參數和網絡類型參數并將加載這些配置,調用串口工作臺進程,進入聯網模式進行數據包的傳輸。(8)、用戶在裝置電容觸摸屏點擊時間設置,裝置gps時鐘單元進行時間同步,完成裝置系統時間設置(9)、用戶在裝置電容觸摸屏設置參數:選擇測試類型為“撥號循環http”和“下載文件”、下載文件ip地址為218.75.126.173,端口為80端口,循環次數設置10次,撥號參數設置為“撥號前等待0秒;下載前等待0秒;斷線后等待10秒”。(10)、設置完畢后,在裝置電容觸摸屏點擊“開始”按鈕。開始測試。(11)、裝置撥號上網,裝置通過嵌入式程序從地址http://218.75.126.173:80下載文件大小為10mb標準文件,下載過程中文件臨時存儲在nandflash。在下載過程中,利用嵌入在網卡驅動程序中的第二鉤子程序在數據通道上捕捉上網數據流量測量過程中的數據包,解析捕捉到的數據包包頭,根據數據包類型、特征和標識,識別出ip層和tcp層的數據包,剔除其余數據包,分別對ip層和tcp層中的數據包進行累計,得到各層中上網數據流量測量數據。(12)、裝置一次下載完成后,斷開ppp連接,在裝置電容觸摸屏上顯示本次下載得到數據流量測量結果。數據流量測量結果中ip層下行流量,ip層上行流量,ip層上行和下行總流量,tcp下行流量,tcp上行流量,tcp上行和下行總流量。本實施例中,第一次下載完成后,測試數據如下:表1第一次數據流量測量結果(13)、裝置下載完成一次后,斷線等待10秒后,再次撥號上網,重復下載文件大小為10mb標準文件9次。測試完畢后得到10組如下數據表2十次數據流量測量結果(14)、測試完成,斷開ppp連接,將測試結果以txt文件格式保存到nandflash。(15)、將u盤插入usbhost接口,將txt文件格式拷貝至u盤。(16)、登陸移動通信運營商網站,查詢上網流量明細,將移動通信運營商上網流量計費系統測量的數據流量測量數據與本裝置測量的數據流量測量數據進行比較,得到數據流量測量數據偏差。表3十次數據流量測量結果與運營商數據比對情況序號裝置ip層上下行總流量(字節)運營商ip層上下行總流量(字節)偏差絕對值111087414110874660.00047%211086166110862180.00047%311089650110896500.00000%411088974110891300.0014%511090638110907940.0014%611086946110871020.0014%711088558110885580.00000%811088090110880900.00000%911087518110875180.00000%1011088870110889220.00047%由此可見,本發明具有極高的測量準確性,實際測量值與運營商提供的數據流量值之間的偏差絕對值控制在0.0014%以內。以上所述的實施例只是本發明的一種較佳的方案,然其并非用以限制本發明。有關
技術領域:
的普通技術人員,在不脫離本發明的精神和范圍的情況下,還可以做出各種變化和變型。因此凡采取等同替換或等效變換的方式所獲得的技術方案,均落在本發明的保護范圍內。當前第1頁12