本發(fā)明屬于終端設(shè)備
技術(shù)領(lǐng)域:
:,涉及一種管理方法及系統(tǒng),特別是涉及一種應(yīng)用程序的流量管理方法、系統(tǒng)及具有該系統(tǒng)的終端設(shè)備。
背景技術(shù):
::移動(dòng)智能終端是指像個(gè)人電腦一樣,具有獨(dú)立的操作系統(tǒng),可以由用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序,通過此類程序來不斷對(duì)終端的功能進(jìn)行擴(kuò)充,并可以通過移動(dòng)通訊網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入的便攜式設(shè)備。常見的移動(dòng)智能終端包括智能手機(jī)和平板電腦。得益于其高度的便攜性,移動(dòng)智能終端正在成為人們使用頻率最高的終端設(shè)備?,F(xiàn)有的移動(dòng)智能終端設(shè)備涵蓋多種應(yīng)用,需要對(duì)不同應(yīng)用流量進(jìn)行區(qū)別管理,以增強(qiáng)移動(dòng)智能終端的訪問體驗(yàn)。然而,現(xiàn)有的流量的管理一般分為兩個(gè)步驟:一是將數(shù)據(jù)包信息轉(zhuǎn)化為擁有者屬性;二是對(duì)不同擁有者的流量進(jìn)行管理,目前流量管理多見于路由器、遠(yuǎn)程服務(wù)器上,并且一般是以ip作為最小管理粒度。而現(xiàn)有對(duì)流量管理的技術(shù)無法對(duì)不同APP流量進(jìn)行區(qū)分管理。因此,如何提供一種應(yīng)用程序的流量管理方法、系統(tǒng)及具有該系統(tǒng)的終端設(shè)備,以解決現(xiàn)有技術(shù)無法對(duì)不同APP流量進(jìn)區(qū)分管理的缺陷,實(shí)已成為本領(lǐng)域從業(yè)者亟待解決的技術(shù)問題。技術(shù)實(shí)現(xiàn)要素:鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種應(yīng)用程序的流量管理方法、系統(tǒng)及具有該系統(tǒng)的終端設(shè)備,用于解決現(xiàn)有技術(shù)無法對(duì)不同APP流量進(jìn)行區(qū)分管理的問題。為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明一方面提供一種應(yīng)用程序的流量管理方法,用程序的流量管理方法,所述應(yīng)用程序的流量管理方法包括以下步驟:讀取所述應(yīng)用程序發(fā)送的數(shù)據(jù)包的用于表示其來源的屬性信息;根據(jù)該數(shù)據(jù)包的屬性信息,判斷發(fā)送該數(shù)據(jù)包的應(yīng)用程序是否為指定播放工具,以對(duì)來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包進(jìn)行區(qū)別管理。于本發(fā)明的一實(shí)施例中,所述判斷發(fā)送該數(shù)據(jù)包的應(yīng)用程序是否為指定播放工具,以對(duì)來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包進(jìn)行區(qū)別管理的步驟包括:將所述數(shù)據(jù)包的屬性信息轉(zhuǎn)換為發(fā)送該數(shù)據(jù)包的應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符;判斷所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符是否為所述指定播放工具的標(biāo)識(shí)符;若是,則表示該應(yīng)用程序?yàn)橹付úシ殴ぞ撸樵兦芭_(tái)進(jìn)程,將所述數(shù)據(jù)包的包名映射成所述前臺(tái)進(jìn)程的包名;若否,將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)化成所述應(yīng)用程序的包名。于本發(fā)明的一實(shí)施例中,所述數(shù)據(jù)包用于表示其來源的屬性信息包括數(shù)據(jù)包的源端口信息;所述將所述數(shù)據(jù)包的屬性信息轉(zhuǎn)換為發(fā)送該數(shù)據(jù)包的應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符的步驟為根據(jù)所述數(shù)據(jù)包的源端口信息,在用于記錄TCP連接狀況的第一查詢表中映射查找與所述發(fā)送數(shù)據(jù)包的源端口信息匹配的標(biāo)識(shí)符。于本發(fā)明的一實(shí)施例中,在判斷所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符不為指定播放工具的標(biāo)識(shí)符時(shí),將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)化成所述應(yīng)用程序包名的步驟包括:根據(jù)所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符,在用于記錄發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的第二查詢表中查找與所述標(biāo)識(shí)符匹配的應(yīng)用程序的包名;或根據(jù)用于查找發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的查找接口,查找該應(yīng)用程序的包名;將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)化成所述應(yīng)用程序包名。于本發(fā)明的一實(shí)施例中,所述指定播放工具為安卓系統(tǒng)的MediaServer組件。本發(fā)明另一方面提供一種應(yīng)用程序的流量管理系統(tǒng),所述應(yīng)用程序的流量管理系統(tǒng)包括:讀取模塊,用于讀取所述應(yīng)用程序發(fā)送的數(shù)據(jù)包的用于表示其來源的屬性信息;管理模塊,用于根據(jù)該數(shù)據(jù)包的屬性信息,判斷發(fā)送該數(shù)據(jù)包的應(yīng)用程序是否為指定播放工具,以對(duì)來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包進(jìn)行區(qū)別管理。于本發(fā)明的一實(shí)施例中,所述管理模塊包括:轉(zhuǎn)換單元,用于將所述數(shù)據(jù)包的屬性信息轉(zhuǎn)換為發(fā)送該數(shù)據(jù)包的應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符;處理單元,用于判斷所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符是否為所述指定播放工具的標(biāo)識(shí)符;若是,則表示該應(yīng)用程序?yàn)橹付úシ殴ぞ?,查詢前臺(tái)進(jìn)程,將所述數(shù)據(jù)包的包名映射成所述前臺(tái)進(jìn)程的包名。于本發(fā)明的一實(shí)施例中,所述數(shù)據(jù)包用于表示其來源的屬性信息包括數(shù)據(jù)包的源端口信息;所述轉(zhuǎn)換單元用于根據(jù)所述數(shù)據(jù)包的源端口信息,在用于記錄TCP連接狀況的第一查詢表中映射查找與所述發(fā)送數(shù)據(jù)包的源端口信息匹配的標(biāo)識(shí)符。于本發(fā)明的一實(shí)施例中,所述處理單元在判斷所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符不為指定播放工具的標(biāo)識(shí)符時(shí),根據(jù)所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符,在用于記錄發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的第二查詢表中查找與所述標(biāo)識(shí)符匹配的應(yīng)用程序的包名;或根據(jù)用于查找發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的查找接口,查找該應(yīng)用程序的包名;將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)化成所述應(yīng)用程序包名。本發(fā)明又一方面提供一種終端設(shè)備,所述終端設(shè)備包括:所述的應(yīng)用程序的流量管理系統(tǒng)。如上所述,本發(fā)明的應(yīng)用程序的流量管理方法、系統(tǒng)及具有該系統(tǒng)的終端設(shè)備,具有以下有益效果:本發(fā)明所述的應(yīng)用程序的流量管理方法、系統(tǒng)及具有該系統(tǒng)的終端設(shè)備實(shí)現(xiàn)了對(duì)不同應(yīng)用程序的流量進(jìn)行精確管理,并且不需要APP的干預(yù),不需要對(duì)終端設(shè)備系統(tǒng)架構(gòu)進(jìn)行改動(dòng)。附圖說明圖1顯示為本發(fā)明的終端設(shè)備系統(tǒng)配置結(jié)構(gòu)示意圖。圖2顯示為本發(fā)明的應(yīng)用程序的流量管理方法于一實(shí)施例中的流程示意圖。圖3顯示為本發(fā)明的應(yīng)用程序的流量管理方法中步驟S5的流程示意圖。圖4顯示為本發(fā)明的應(yīng)用程序的流量管理系統(tǒng)于一實(shí)施例中的原理結(jié)構(gòu)示意圖。圖5顯示為本發(fā)明的應(yīng)用程序的流量管理系統(tǒng)中管理模塊的原理結(jié)構(gòu)示意圖。圖6顯示為本發(fā)明的終端設(shè)備于一實(shí)施例中的原理結(jié)構(gòu)示意圖。元件標(biāo)號(hào)說明1終端設(shè)備2應(yīng)用程序的流量管理系統(tǒng)21初始化模塊22接收模塊23重定向模塊24讀取模塊25管理模塊251轉(zhuǎn)換單元252處理單元253流量管理單元S1~S6步驟S51~S54步驟具體實(shí)施方式以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。本發(fā)明所述的應(yīng)用程序的流量管理方法和系統(tǒng)的技術(shù)原理為:將App調(diào)用mediaPlayer播放視頻的狀態(tài)與流量關(guān)聯(lián)起來均在應(yīng)用層實(shí)現(xiàn),App流量識(shí)別是基于App(應(yīng)用程序)的UID(UserIdentification)屬性,即數(shù)據(jù)包信息與UID存在對(duì)應(yīng)關(guān)系,UID又是App在系統(tǒng)中的唯一標(biāo)識(shí),因此可通過數(shù)據(jù)包信息確定該數(shù)據(jù)包屬于某個(gè)App發(fā)出,從而實(shí)現(xiàn)對(duì)不同App流量,即實(shí)現(xiàn)了對(duì)指定播放器流量和其他流量進(jìn)行管理。實(shí)施例一本實(shí)施例提供一種應(yīng)用程序的流量管理方法,所述應(yīng)用程序的流量管理方法包括以下步驟:讀取所述數(shù)據(jù)包的用于表示其來源的屬性信息;根據(jù)該數(shù)據(jù)包的屬性信息,判斷發(fā)送該數(shù)據(jù)包的應(yīng)用程序是否為指定播放工具,以對(duì)來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包進(jìn)行區(qū)別管理。。以下將結(jié)合圖示對(duì)本實(shí)施例所述的應(yīng)用程序的流量管理方法進(jìn)行詳細(xì)描述。本實(shí)施例所述的應(yīng)用程序的流量管理方法應(yīng)用于終端設(shè)備。所述終端設(shè)備于實(shí)際的實(shí)現(xiàn)方式中包括智能手機(jī)、平板電腦,機(jī)頂盒,或IPAD等中。請(qǐng)參閱圖1,顯示為本發(fā)明的終端設(shè)備于一實(shí)施例中的立體結(jié)構(gòu)示意圖。在本實(shí)施例中,所述終端設(shè)備以智能手機(jī)為例進(jìn)行說明。所述智能手機(jī)例如為安裝Android操作系統(tǒng)或者iOS操作系統(tǒng),或者PalmOS、Symbian(塞班)、或者BlackBerry(黑莓)OS6.0、WindowsPhone8等操作系統(tǒng)的智能手機(jī)。在本實(shí)施例中,所述觸摸屏用于輸出顯示應(yīng)用程序圖標(biāo)用戶界面。所述應(yīng)用程序圖標(biāo)用戶界面包括多個(gè)應(yīng)用程序圖標(biāo)。在本實(shí)施例中,通過在所述終端設(shè)備中配置均處于應(yīng)用層的APP,MediaServer,流量管理平臺(tái),和處于IP層的Netfilter來完成應(yīng)用程序的流量管理方法。請(qǐng)參閱圖1,顯示為終端設(shè)備系統(tǒng)配置結(jié)構(gòu)示意圖。請(qǐng)參閱圖2,顯示為應(yīng)用程序的流量管理方法于一實(shí)施例中的流程示意圖。在本實(shí)施例中,僅提供流量的管理,所述流量包括mediaPlayer流量和非mediaPlayer流量。如圖2所示,所述應(yīng)用程序的流量管理方法具體包括以下幾個(gè)步驟:S1,初始化所述終端設(shè)備。S2,接收流量訪問的請(qǐng)求,并獲知接收到流量訪問的請(qǐng)求是應(yīng)用程序(APP)直接發(fā)送的數(shù)據(jù)包,還是應(yīng)用程序(APP)通過媒體服務(wù)器(MediaServer)發(fā)送的流量訪問的數(shù)據(jù)包。例如,當(dāng)APP調(diào)用MediaPlayer播放視頻時(shí),由于MediaPlayer的架構(gòu)是C/S(客戶機(jī)/服務(wù)器)結(jié)構(gòu),App實(shí)際通過MediaPlayer的客戶端向MediaServer發(fā)送視頻播放請(qǐng)求的,此時(shí)視頻播放請(qǐng)求由MediaServer發(fā)出。在本實(shí)施例中,所述用以請(qǐng)求播放視頻的數(shù)據(jù)包包括來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包。所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包發(fā)送至Netfilter。在本實(shí)施例中,所述指定播放工具為安卓系統(tǒng)的MediaServer組件。在本實(shí)施例中,步驟S2還包括在所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包發(fā)送至代理服務(wù)器或源站的過程中,所述流量管理平臺(tái)攔截應(yīng)用程序發(fā)送的數(shù)據(jù)包,即攔截所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包。在本實(shí)施例中,在攔截應(yīng)用程序發(fā)送的的數(shù)據(jù)包之前,所述終端設(shè)備一直處于等待攔截所述數(shù)據(jù)包的等候狀態(tài)。S3,所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包進(jìn)入Netfilter后,利用網(wǎng)絡(luò)防火墻重定向所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包。其中,iptable語(yǔ)法為:iptable[-ttable]command[chain][match][-jtarget]注釋:iptable[-t表名]-命令[鏈接][匹配][-j動(dòng)作/目標(biāo)]。S4,所述流量管理平臺(tái)讀取所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包的用于表示其來源的屬性信息。在本實(shí)施例中,所述數(shù)據(jù)包用于表示其來源的屬性信息包括數(shù)據(jù)包的源端口信息,即讀取來源于指定播放工具的數(shù)據(jù)包的源端口信息和非來源于指定播放工具的數(shù)據(jù)包的源端口信息。S5,所述流量管理平臺(tái)根據(jù)該數(shù)據(jù)包的屬性信息,判斷發(fā)送該數(shù)據(jù)包的應(yīng)用程序是否為指定播放工具以對(duì)來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包進(jìn)行區(qū)別流量管理。在本實(shí)施例中,所述指定播放工具為MediaPlayer(媒體播放器)。因?yàn)椋F(xiàn)有很多應(yīng)用程序均是通過調(diào)用MediaPlayer來播放視頻的。請(qǐng)參閱圖3,顯示為步驟S5的流程示意圖。如圖3所示,所述步驟S5具體包括以下幾個(gè)步驟:S51,將所述數(shù)據(jù)包的屬性信息,即將來源于指定播放工具的數(shù)據(jù)包的源端口信息和非來源于指定播放工具的數(shù)據(jù)包的源端口信息轉(zhuǎn)換為發(fā)送來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包的應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符。具體地,根據(jù)所述數(shù)據(jù)包的源端口信息,在用于記錄TCP連接狀況的第一查詢表中映射查找與所述發(fā)送數(shù)據(jù)包的源端口信息匹配的標(biāo)識(shí)符。在本實(shí)施例中,所述第一查詢表為/proc/net/tcp(udp);所述標(biāo)識(shí)符為UID。S52,判斷所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符是否為與所述指定播放工具的標(biāo)識(shí)符;若是,則表示該應(yīng)用程序?yàn)橹付úシ殴ぞ?MediaPlayer),執(zhí)行步驟S53;若否,則表示該應(yīng)用程序?yàn)榉侵付úシ殴ぞ?MediaPlayer),執(zhí)行步驟S54。在本實(shí)施例中,前臺(tái)進(jìn)程的標(biāo)識(shí)符為1013。在終端設(shè)備中,安裝APP和媒體服務(wù)器時(shí),系統(tǒng)會(huì)給APP統(tǒng)一分配一UID,其中通過指定播放工具發(fā)出的數(shù)據(jù)包的APP的UID固定為1013。S53,判定該應(yīng)用程序?yàn)橹付úシ殴ぞ?MediaPlayer),查詢前臺(tái)進(jìn)程,將來源于指定播放工具的數(shù)據(jù)包的包名映射成所述前臺(tái)進(jìn)程的包名。在本實(shí)例中,當(dāng)應(yīng)用程序APP調(diào)用MediaPlayerr流量訪問時(shí),UID為1013的來源于指定播放工具的數(shù)據(jù)包是由前臺(tái)進(jìn)程觸發(fā)的,因此,將觸發(fā)來源于指定播放工具的數(shù)據(jù)包的包名映射成為前臺(tái)進(jìn)程的包名。S54,判定該應(yīng)用程序?yàn)榉侵付úシ殴ぞ?,將所述?yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)化成所述應(yīng)用程序的包名。具體地,根據(jù)非指定播放工具(MediaPlayer)進(jìn)行流量訪問的應(yīng)用程序的標(biāo)識(shí)符,獲取該應(yīng)用程序的包名,并記錄下來。在本實(shí)施例中,根據(jù)所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符,在用于記錄發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的第二查詢表,即本實(shí)施例中/data/system/package.xml表中查找與所述標(biāo)識(shí)符匹配的應(yīng)用程序的包名;或根據(jù)用于查找發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的查找接口,即本實(shí)施例中的SDK接口getPackagesForUid,查找該應(yīng)用程序的包名,并根據(jù)查找到的包名,記錄下來;并將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)換成所述應(yīng)用程序的包名。S6,根據(jù)包名設(shè)置為的前臺(tái)進(jìn)程的應(yīng)用程序和非前臺(tái)進(jìn)程的應(yīng)用程序的包名發(fā)出的流量進(jìn)行管理。在本實(shí)施例中,對(duì)不同應(yīng)用程序發(fā)出的流量進(jìn)行管理包括對(duì)流量做引導(dǎo)、流量統(tǒng)計(jì)等。本實(shí)施例所述的應(yīng)用程序的流量管理方法實(shí)現(xiàn)了對(duì)不同應(yīng)用程序的流量進(jìn)行精確管理,并且不需要APP的干預(yù),不需要對(duì)終端設(shè)備系統(tǒng)架構(gòu)進(jìn)行改動(dòng)。實(shí)施例二本實(shí)施例提供一種應(yīng)用程序的流量管理系統(tǒng)2,該系統(tǒng)2應(yīng)用于終端設(shè)備1。請(qǐng)參閱圖4,顯示為應(yīng)用程序的流量管理系統(tǒng)于一實(shí)施例中的原理結(jié)構(gòu)示意圖。如圖4所示,所述應(yīng)用程序的流量管理系統(tǒng)2包括:初始化模塊21、接收模塊22、重定向模塊23、讀取模塊24、及管理模塊25。初始化模塊21用于初始化所述終端設(shè)備。與初始化模塊21連接的接收模塊22用于接收流量訪問的請(qǐng)求,并獲知接收到流量訪問的請(qǐng)求是APP直接發(fā)送的數(shù)據(jù)包,還是APP通過媒體服務(wù)器(MediaServer)發(fā)送的數(shù)據(jù)包。在本實(shí)施例中,當(dāng)APP調(diào)用MediaPlayer播放視頻時(shí),由于MediaPlayer的架構(gòu)是C/S(客戶機(jī)/服務(wù)器)結(jié)構(gòu),App實(shí)際通過MediaPlayer的客戶端向MediaServer發(fā)送視頻播放請(qǐng)求的,此時(shí)視頻播放請(qǐng)求由MediaServer發(fā)出。在本實(shí)施例中,所述用以請(qǐng)求播放視頻的數(shù)據(jù)包包括通過位于終端設(shè)備內(nèi)的媒體服務(wù)器轉(zhuǎn)發(fā)的來源于指定播放工具的數(shù)據(jù)包和未通過所述媒體服務(wù)器轉(zhuǎn)發(fā)的非來源于指定播放工具的數(shù)據(jù)包。所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包發(fā)送至Netfilter。且所述接收模塊22還用于在應(yīng)用程序發(fā)送的數(shù)據(jù)包發(fā)送至遠(yuǎn)程服務(wù)器或源站的過程中,所述流量管理平臺(tái)攔截來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包。在本實(shí)施例中,在攔截來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包之前,所述終端設(shè)備一直處于等待攔截所述數(shù)據(jù)包的等候狀態(tài)。與接收模塊22連接的重定向模塊23用于在所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包進(jìn)入內(nèi)置于重定向模塊23中的Netfilter后,利用網(wǎng)絡(luò)防火墻重定向所述來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包。例如,利用iptable重定向所述來源于指定播放工具的數(shù)據(jù)包。與接收模塊22和重定向模塊23連接的讀取模塊24用于讀取來源于指定播放工具的數(shù)據(jù)包和所述非來源于指定播放工具的數(shù)據(jù)包的用于表示其來源的屬性信息。在本實(shí)施例中,所述數(shù)據(jù)包用于表示其來源的屬性信息包括數(shù)據(jù)包的源端口信息,即讀取來源于指定播放工具的數(shù)據(jù)包的源端口信息和非來源于指定播放工具的數(shù)據(jù)包的源端口信息。與所述讀取模塊24連接的管理模塊25用于根據(jù)該數(shù)據(jù)包的屬性信息,判斷發(fā)送該數(shù)據(jù)包的應(yīng)用程序是否為調(diào)用指定播放工具播放視頻的應(yīng)用程序以管理不同應(yīng)用程序的流量。請(qǐng)參閱圖5,顯示為管理模塊的原理結(jié)構(gòu)示意圖。如圖5所示,所述管理模塊25具體包括:轉(zhuǎn)換單元251、處理單元252、流量管理單元253。轉(zhuǎn)換單元251用于將所述數(shù)據(jù)包的屬性信息,即將來源于指定播放工具的數(shù)據(jù)包的源端口信息和非來源于指定播放工具的數(shù)據(jù)包的源端口信息轉(zhuǎn)換為發(fā)送來源于指定播放工具的數(shù)據(jù)包和非來源于指定播放工具的數(shù)據(jù)包的應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符。具體地,根據(jù)所述數(shù)據(jù)包的源端口信息,在用于記錄TCP連接狀況的第一查詢表中映射查找與所述發(fā)送數(shù)據(jù)包的源端口信息匹配的標(biāo)識(shí)符。在本實(shí)施例中,所述第一查詢表為/proc/net/tcp(udp);所述標(biāo)識(shí)符為UID。與轉(zhuǎn)換單元251連接的處理單元252用于判斷所述指定播放工具對(duì)應(yīng)的標(biāo)識(shí)符;若是,則表示該應(yīng)用程序?yàn)橹付úシ殴ぞ?MediaPlayer),查詢前臺(tái)進(jìn)程,將來源于指定播放工具的數(shù)據(jù)包的包名映射成所述前臺(tái)進(jìn)程的包名;若否,則表示該應(yīng)用程序?yàn)榉侵付úシ殴ぞ?MediaPlayer),將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)換成所述應(yīng)用程序的包名。在本實(shí)施例中,根據(jù)所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符,在用于記錄發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的第二查詢表,即本實(shí)施例中/data/system/package.xml表中查找與所述標(biāo)識(shí)符匹配的應(yīng)用程序的包名;或根據(jù)用于查找發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的查找接口,即本實(shí)施例中的SDK接口getPackagesForUid,查找該應(yīng)用程序的包名,并根據(jù)查找到的包名來記錄,并將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)換成該應(yīng)用程序的包名。在本實(shí)施例中,前臺(tái)進(jìn)程的標(biāo)識(shí)符為1013。在終端設(shè)備中,安裝APP和媒體服務(wù)器時(shí),系統(tǒng)會(huì)給APP統(tǒng)一分配一UID,其中指定播放工具的數(shù)據(jù)包的APP的UID固定為1013。在本實(shí)施例中,所述處理單元262判定該應(yīng)用程序?yàn)榉侵付úシ殴ぞ邥r(shí),將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)化成所述應(yīng)用程序的包名。具體地,根據(jù)非指定播放工具(MediaPlayer)進(jìn)行流量訪問的應(yīng)用程序的標(biāo)識(shí)符,獲取該應(yīng)用程序的包名,并記錄下來。在本實(shí)施例中,根據(jù)所述應(yīng)用程序?qū)?yīng)的標(biāo)識(shí)符,在用于記錄發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的第二查詢表,即本實(shí)施例中/data/system/package.xml表中查找與所述標(biāo)識(shí)符匹配的應(yīng)用程序的包名;或根據(jù)用于查找發(fā)送數(shù)據(jù)包的應(yīng)用程序的包名的查找接口,即本實(shí)施例中的SDK接口getPackagesForUid,查找該應(yīng)用程序的包名,并根據(jù)查找到的包名,記錄下來;并將所述應(yīng)用程序的標(biāo)識(shí)符轉(zhuǎn)換成所述應(yīng)用程序的包名。與處理單元252連接的流量管理單元253用于根據(jù)包名設(shè)置為的前臺(tái)進(jìn)程的應(yīng)用程序和非前臺(tái)進(jìn)程的應(yīng)用程序的包名發(fā)出的音/流量進(jìn)行管理。在本實(shí)施例中,對(duì)不同應(yīng)用程序發(fā)出的流量進(jìn)行管理包括對(duì)流量做引導(dǎo)、流量統(tǒng)計(jì)等。本實(shí)施例還提供終端設(shè)備1,請(qǐng)參閱圖6,顯示為終端設(shè)備于一實(shí)施例中的原理結(jié)構(gòu)示意圖。如圖6所示,所述終端設(shè)備1包括上述的應(yīng)用程序的流量管理系統(tǒng)2。所述終端設(shè)備為機(jī)頂盒、平板電腦、手機(jī)中的任意一種。綜上所述,本發(fā)明所述的應(yīng)用程序的流量管理方法、系統(tǒng)及具有該系統(tǒng)的終端設(shè)備實(shí)現(xiàn)了對(duì)不同應(yīng)用程序的流量進(jìn)行精確管理,并且不需要APP的干預(yù),不需要對(duì)終端設(shè)備系統(tǒng)架構(gòu)進(jìn)行改動(dòng)。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬
技術(shù)領(lǐng)域:
:中具有通常知識(shí)者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3