本發明涉及智能設備技術領域,具體而言,本發明涉及一種網絡管理方法、裝置和智能設備。
背景技術:
隨著物聯網技術的發展,越來越多的網絡通信模塊集成到智能設備中。
智能設備雖然支持的多種網絡,然而目前智能設備中的多種網絡對應的網絡通信模塊常常處于空閑狀態,導致智能設備的多種網絡的利用水平低下。
技術實現要素:
本發明針對現有方式的缺點,提出一種網絡管理方法、裝置和智能設備,用以解決現有技術存在智能設備所支持的多種網絡的利用水平低下的問題,以充分地利用智能設備所支持的多種網絡。
本發明的實施例根據第一個方面,提供了一種網絡管理方法,包括:
接收到應用的基于網絡的數據傳輸請求后,確定出預存的該應用的路由策略;該應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級;
根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡;
根據該應用當前可使用的網絡,傳輸該應用的數據。
本發明的實施例根據第二個方面,還提供了一種網絡管理裝置,包括:
路由策略確定模塊,用于接收到應用的基于網絡的數據傳輸請求后,確定出預存的該應用的路由策略;該應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級;
當前可使用網絡確定模塊,用于根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡;
傳輸模塊,用于根據該應用當前可使用的網絡,傳輸該應用的數據。
本發明的實施例根據第三個方面,還提供了一種智能設備,包括:
存儲器、處理器和顯示單元;
至少一個中間層程序,存儲于存儲器中,被處理器執行時實現如下步驟:
接收到應用的基于網絡的數據傳輸請求后,確定出預存的該應用的路由策略;該應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級;
根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡;
根據該應用當前可使用的網絡,傳輸該應用的數據。
本發明實施例中,預先為每個應用量身定制了路由策略;當應用需要進行網絡數據傳輸時,可以根據路由策略中該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級、以及已開啟的網絡和預設的網絡互斥策略,更加靈活適當地為該應用分配一個當前可使用的網絡;從而既可以大大降低智能設備中可開啟的網絡之間頻段較為重疊的幾率,減少網絡間的干擾,提升網絡傳輸質量;又可以更加充分地利用智能設備所提供的網絡通路,提升智能設備的多種網絡的利用水平。
而且,本發明實施例中,根據應用的路由策略中各種網絡的優先級,逐級判斷該應用有權使用的每種網絡是否屬于當前可分配的網絡,將判斷結果為是所涉及的網絡作為該應用當前可使用的網絡。由于應用的各種網絡的優先級是由用戶預先選定的,往往體現了用戶的個性化偏好和使用習慣。因此,根據優先級逐級判斷,盡量選擇優先級較高的網絡用于傳輸應用的數據,可以在保持網絡傳輸質量和充分利用智能設備所提供的網絡通路的情況下,盡量滿足用戶的個性化偏好和使用習慣,可以提升用戶的體驗。
本發明附加的方面和優點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發明的實踐了解到。
附圖說明
本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為本發明實施例的網絡管理方法的流程示意圖;
圖2為本發明實施例的智能設備框架結構的一個實例的示意圖;
圖3為本發明實施例的應用的路由策略的一種確定方法的流程示意圖;
圖4為本發明實施例的展開的網絡管理方法的流程示意圖;
圖5為本發明實施例的網絡管理裝置的內部結構的框架示意圖;
圖6為本發明實施例的智能設備的內部結構的一個實例的框架示意圖。
具體實施方式
下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能解釋為對本發明的限制。
本技術領域技術人員可以理解,除非特意聲明,這里使用的單數形式“一”、“一個”、“所述”和“該”也可包括復數形式。應該進一步理解的是,本發明的說明書中使用的措辭“包括”是指存在所述特征、整數、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關聯的列出項的全部或任一單元和全部組合。
本技術領域技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語),具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現有技術的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
本技術領域技術人員可以理解,這里所使用的“終端”、“終端設備”既包括無線信號接收器的設備,其僅具備無發射能力的無線信號接收器的設備,又包括接收和發射硬件的設備,其具有能夠在雙向通信鏈路上,進行雙向通信的接收和發射硬件的設備。這種設備可以包括:蜂窩或其他通信設備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設備;pcs(personalcommunicationsservice,個人通信系統),其可以組合語音、數據處理、傳真和/或數據通信能力;pda(personaldigitalassistant,個人數字助理),其可以包括射頻接收器、尋呼機、互聯網/內聯網訪問、網絡瀏覽器、記事本、日歷和/或gps(globalpositioningsystem,全球定位系統)接收器;常規膝上型和/或掌上型計算機或其他設備,其具有和/或包括射頻接收器的常規膝上型和/或掌上型計算機或其他設備。這里所使用的“終端”、“終端設備”可以是便攜式、可運輸、安裝在交通工具(航空、海運和/或陸地)中的,或者適合于和/或配置為在本地運行,和/或以分布形式,運行在地球和/或空間的任何其他位置運行。這里所使用的“終端”、“終端設備”還可以是通信終端、上網終端、音樂/視頻播放終端,例如可以是pda、mid(mobileinternetdevice,移動互聯網設備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機頂盒等設備。
本發明實施例提供了一種網絡管理方法,該方法的流程示意圖如圖1所示,包括下述步驟:s101接收到應用的基于網絡的數據傳輸請求后,確定出預存的該應用的路由策略;該應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級;s102根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡;s103根據該應用當前可使用的網絡,傳輸該應用的數據。
可見,本發明實施例中,預先為每個應用量身定制了路由策略;當應用需要進行網絡數據傳輸時,可以根據路由策略中該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級、以及已開啟的網絡和預設的網絡互斥策略,更加靈活適當為該應用分配一個當前可使用的網絡;從而可以更加充分地利用智能設備所提供的網絡通路,提升智能設備的多種網絡的利用水平。
下面結合附圖具體介紹本發明實施例的技術方案。
本發明實施例中提供了一種智能設備。
本發明實施例中的智能設備包括:智能終端設備和智能非終端設備。
智能終端設備可以包括智能移動終端設備和相對固定的智能終端設備。智能移動終端設備可以包括下述至少一項:智能手機、平板電腦、二合一電腦、筆記本電腦、電子閱讀器、智能穿戴設備等等。
相對固定的智能終端設備可以包括下述至少一項:臺式電腦(例如裝配了多種網絡通信模塊的臺式電腦)、智能攝像頭、行車記錄儀等等。
智能非終端設備可以包括服務器(例如裝配了多種網絡通信模塊的服務器)等。
本發明實施例中的智能設備中設置有至少一種網絡通信模塊用以支持各自的網絡;即智能設備可以支持至少一種網絡。至少一種網絡包括下述至少一項:無線局域網、移動通信網絡、藍牙、符合紫蜂協議的網絡、近場通信網絡。
無線局域網可以具體為wifi(wirelessfidelity,無線保真)局域網。
移動通信網絡可以包括下述至少一項:2g(2nd-generationwirelesstelephonetechnology,第二代無線電話技術)移動通信網絡、3g(3rd-generationwirelesstelephonetechnology,第三代無線電話技術)移動通信網絡、lte(longtermevolution,長期演進)移動通信網絡。
2g移動通信網絡可以包括下述至少一項:gsm(globalsystemformobilecommunication,全球移動通信系統)網絡、gprs(generalpacketradioservice,通用分組無線服務)網絡。3g移動通信網絡可以包括下述至少一項:td-scdma(timedivision-synchronouscodedivisionmultipleaccess,時分同步碼分多址)網絡、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)網絡、cdma(codedivisionmultipleaccess,碼分多址)2000網絡。lte移動通信網絡包括下述至少一項:tdd-lte(timedivisionduplexin-longtermevolution,時分雙工長期演進)網絡、fdd-lte(frequencydivisionduplexin-longtermevolution,頻分雙工長期演進)網絡。
藍牙具體可以為bluetooth網絡。符合紫蜂協議的網絡具體可以是zigbee網絡。近場通信網絡具體可以是nfc(nearfieldcommunication,近場通訊)網絡。
本發明實施例中的智能設備設置有多種程序,包括:內核、中間層程序、框架層程序和應用層程序等。
本發明實施例中的內核可以是傳統的操作系統的內核或其改進,例如linux或unix系統的內核;也可以是基于傳統操作系統的衍生操作系統的內核或其改進。
本發明實施例中的中間層程序,屬于中間層位于內核和框架層之間,并與兩者進行交互,主要用于確定并保存多個應用的路由策略、實現網絡管理方法等,具體內容將在后續詳細介紹,此處不再贅述。
應用層程序,簡稱應用,通過框架層程序與中間層程序進行交互。為了便于理解,后續可能采用省略框架層程序的表述方式。
本發明實施例中的智能設備中保存有多種數據,包括:多個應用涉及的標識、每個應用的路由策略、和網絡互斥策略等。較佳地,這些數據可以保存在中間層中。
圖2為本發明實施例的智能設備框架結構的一個實例的示意圖。app(application,應用程序)表示應用層的應用;框架層未顯示;connectivitymanager(網絡管理)程序或服務,屬于中間層程序;app與connectivitymanager進行交互;markapp保存于中間層,表示connectivitymanager接收并保存的app涉及的標識等信息;configrule保存于中間層,表示connectivitymanager確定并保存的app的路由策略和網絡互斥策略等信息。kernel表示內核,內含rtwifi、rtlte、rtzigbee、rtbluet分別表示wifi網絡、lte網絡、zigbee網絡、bluetooth網絡的路由;wifi、lte、zigbee和bluetooth分別表示wifi局域網、lte網絡、zigbee網絡和bluetooth網絡。connectivitymanager可以與rtwifi、rtlte、rtzigbee或rtbluet交互,對應接入wifi局域網、lte網絡、zigbee網絡和bluetooth網絡。
下面介紹本發明中網絡互斥策略的確定方法。較佳地,可以由本發明實施例中的中間層程序(例如,connectivitymanager)確定出網絡互斥策略。
較佳地,可以預先收集多種多樣的網絡的頻率范圍等信息、以及網絡中各頻段的頻率范圍等信息。例如,收集lte網絡各頻段的頻率范圍,wifi局域網2.4g(兆)頻段和5g頻段的頻率范圍,zigbee網絡的2.4g頻段的頻率范圍等等。
對于任意兩種網絡的頻段,確定該兩種網絡的頻段之間重疊的頻率范圍是否超過預設的重頻范圍閾值。重頻范圍閾值可以根據實驗數據、經驗數據、歷史數據和/或實際情況預先確定出。
當兩種網絡的頻段之間重疊的頻率范圍超過預設的重頻范圍閾值時,確定該兩種網絡的頻段互斥,即同一時間僅允許該兩種網絡的頻段中的一種網絡的頻段可使用或可分配。
例如,對于wifi局域網的2.4g頻段和zigbee網絡的2.4g頻段,兩者互斥,同一時間僅允許wifi局域網的2.4g頻段、或zigbee網絡的2.4g頻段可使用或可分配。
當兩種網絡的頻段之間重疊的頻率范圍未超過預設的重頻范圍閾值時,確定該兩種網絡的頻段可以共存,即同一時間允許該兩種網絡的頻段都可使用或都可分配。
例如,對于wifi局域網的5g頻段和zigbee網絡的2.4g頻段,兩者可以共存,同一時間允許wifi局域網的5g頻段和zigbee網絡的2.4g頻段都可使用或都可分配。
從而得到本發明實施例的網絡互斥策略。網絡互斥策略可以包括:至少一組互斥的網絡的頻段、以及每組互斥的網絡的頻段中僅允許一個頻段可使用或可分配。每組互斥的網絡的頻段中,任意兩個網絡的頻段相重疊的頻率范圍超過重頻范圍閾值。例如,一組互斥的網絡的頻段包括wifi局域網的2.4g頻段和zigbee網絡的2.4g頻段。
較佳地,中間層程序(例如,connectivitymanager)確定出網絡互斥策略后,存儲在中間層中。
本發明實施例中,應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級。應用的路由策略還包括:應用有權使用的各網絡的優先級。
下面具體介紹本發明實施例中應用的路由策略的確定方法。較佳地,可以由中間層程序(例如,connectivitymanager)確定出各應用的路由策略。本發明實施例中應用的路由策略的一種確定方法的流程示意圖如圖3所示,包括下述步驟:
s301:接收到應用的網絡權限申請請求時,確定出應用所申請的至少一種網絡。
較佳地,應用在安裝過程中,向中間層程序(例如,connectivitymanager)發送網絡權限申請請求。應用的網絡權限申請請求包括了該應用所申請的至少一種網絡。
較佳地,每個應用通過對應的socket(套接字)通道向中間層的connectivitymanager發送網絡權限申請請求。應用的標識與socket通道的標識一一對應。
中間層程序接收到應用的網絡權限申請請求時,從網絡權限申請請求解析出應用所申請的至少一種網絡。例如,解析出app1申請使用wifi局域網的5g頻段、lte網絡、和zigbee網絡。
中間層程序為每個應用生成該應用的唯一標記;例如,根據app1的uid給app1的socket標記mark1,作為app1的唯一標記。
將每個應用所申請的至少一種網絡,與該應用的唯一標記對應保存。進一步,可以保存在中間層中。
s302:根據應用所申請的至少一種網絡、本智能設備所支持多種網絡、和預設的網絡互斥策略,確定出應用有權使用的至少一種網絡。
較佳地,中間層程序檢測中間層程序所屬的智能設備所支持的所有網絡,得到本智能設備所支持的多種網絡。
將應用所申請的至少一種網絡,與本智能設備所支持的多種網絡進行比較,從應用所申請的至少一種網絡中篩選出本智能設備所支持的網絡,作為應用所可能申請的至少一種網絡。
根據網絡互斥策略,從應用所可能申請的至少一種網絡中,確定出應用有權使用的至少一種網絡。
例如,應用所可能申請的至少一種網絡包括:wifi局域網的2.4g頻段、wifi局域網的5g頻段、lte網絡的指定頻段、和zigbee網絡的2.4g頻段;并假設lte網絡的指定頻段與其它網絡的頻段可以共存,未發生互斥。則根據網絡互斥策略,確定出應用有權使用的至少一種網絡可以是wifi局域網的2.4g頻段、wifi局域網的5g頻段和lte網絡的指定頻段;也可以是wifi局域網的5g頻段、lte網絡的指定頻段和zigbee網絡的2.4g頻段。lte網絡的指定頻段可以具體為與2.4g頻段不發生互斥的頻段。
s303:顯示應用有權使用的至少一種網絡的網絡優先級配置界面。
中間層程序顯示網絡優先級配置界面,并在網絡優先級配置界面中顯示應用有權使用的各種網絡、以及各種網絡的優先級輸入欄。
較佳地,中間層程序顯示網絡優先級配置界面,并在網絡優先級配置界面中顯示應用有權使用的各種網絡、以及各種網絡對應的候選優先級。
s304:通過網絡優先級配置界面接收到用戶輸入的各種網絡的優先級后,確定出應用有權使用的各種網絡的優先級。
較佳地,中間層程序通過網絡優先級配置界面中各種網絡的優先級輸入欄,接收到用戶輸入的各種網絡的優先級后,確定出應用有權使用的各種網絡的優先級。
例如,確定出app1有權使用的各種網絡的優先級順序依次為:wifi局域網的5g頻段、lte網絡的指定頻段、zigbee網絡的2.4g頻段。lte網絡的指定頻段可以具體為與2.4g頻段不發生互斥的頻段。
較佳地,當用戶對網絡優先級配置界面中的各種網絡對應的候選優先級進行選定操作時,中間層程序通過網絡優先級配置界面接收到用戶針對各種網絡的優先級的選定指令,確定出應用有權使用的各種網絡的優先級。
例如,用戶對網絡優先級配置界面中的wifi局域網的5g頻段、lte網絡的指定頻段、zigbee網絡的2.4g頻段各自對應的候選優先級,分別選定為第一優先級、第二優先級和第三優先級,則中間層程序通過網絡優先級配置界面接收到用戶針對wifi局域網的5g頻段、lte網絡的指定頻段、zigbee網絡的2.4g頻段分別選定的優先級,確定出應用有權使用的wifi局域網的5g頻段、lte網絡的指定頻段、zigbee網絡的2.4g頻段的優先級分別為第一優先級、第二優先級和第三優先級。
s305:確定出應用有權使用的各種網絡對應的各路由的優先級。
較佳地,中間層程序根據應用有權使用的各種網絡的優先級,確定出應用有權使用的各種網絡對應的各路由的優先級。各種網絡的優先級與各種網絡對應的路由的優先級一一對應。
進一步,標記為mark1(即app1)使用路由的順序為rt_wifi>rt_lte>rt_zigbee;rt_wifi、rt_lte、rt_zigbee分別表示三種網絡各自對應的路由。
本發明實施例中,每種網絡配置有該種網絡對應的dns(domainnamesystem,域名系統)文件。例如,wifi局域網的dns文件為wifi_resolve.conf。網絡的dns文件中包括該網絡對應的dns信息,dns信息包括該網絡對應的dns服務器的網絡地址。
下面展開介紹本發明實施例中的網絡管理方法,該方法的流程示意圖如圖4所示,包括下述步驟:
s401:接收應用的基于網絡的數據傳輸請求。
較佳地,中間層程序通過應用對應的socket通道,接收到應用的基于網絡的數據傳輸請求。進一步,數據傳輸請求可以包括應用待通過網絡傳輸的數據。
s402:根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡。
較佳地,中間層程序檢測該中間層程序所屬的智能設備中(根據用戶指令或應用請求)已開啟的至少一種網絡。
中間層程序獲取預先確定并保存的網絡互斥策略。
根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡。當前可分配的網絡可以包括:(本智能設備中)當前未開啟的網絡。
進一步,根據已開啟的網絡和預設的網絡互斥策略,確定出當前不可分配的網絡,并禁止當前不可分配的網絡開啟。
例如,當智能設備中已開啟的wifi局域網的2.4g頻段、但未開啟lte網絡中與2.4g頻段不發生互斥的頻段和zigbee網絡的2.4g頻段時,根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡可以包括wifi局域網的2.4g頻段(當前已開啟)和lte中與2.4g頻段不發生互斥的頻段(當前未開啟)。lte中與2.4g頻段不發生互斥的頻段可以包括band(頻帶)39中的1880-1890mhz(兆赫茲)頻段、和/或band3對應的頻段。而zigbee網絡的2.4g頻段將被確定為當前不可分配的網絡,禁止開啟。
再如,當智能設備中已開啟的wifi局域網的2.4g頻段和zigbee網絡的2.4g頻段、但未開啟lte網絡中與2.4g頻段不發生互斥的頻段時,根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡可以包括lte中與2.4g頻段不發生互斥的頻段(當前未開啟);以及根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡還包括wifi局域網的2.4g頻段(當前已開啟)和zigbee網絡的2.4g頻段(當前已開啟)中的一種網絡的2.4g頻段。
進一步,對于不同網絡之間互斥的頻段,例如對于wifi局域網的2.4g頻段和zigbee網絡的2.4g頻段可以采用如下多種方法選擇其中一種網絡的頻段作為當前可分配的網絡的一部分。
第一、可以從已開啟的不同網絡之間互斥的頻段中,隨機選擇一種網絡的該頻段,作為當前可分配的網絡的一部分。將未被選擇的其它網絡的該頻段作為當前不可分配的網絡,并禁止當前不可分配的網絡開啟。
第二、可以從已開啟的不同網絡之間互斥的頻段中,選擇最后開啟(即在時間軸上最近一次開啟)的一種網絡的該頻段,作為當前可分配的網絡的一部分。將先前開啟(即非最后開啟)的其它網絡的該頻段作為當前不可分配的網絡,并禁止當前不可分配的網絡開啟。
第三、根據已開啟的不同網絡之間互斥的頻段的開啟指令的來源,選擇其中一種網絡的頻段。例如,當某些網絡的頻段的開啟指令來源于應用本身的請求、而另一些網絡的頻段的開啟指令來源于人機交互界面(即用戶直接輸入的)時,選擇開啟指令來源于人機交互界面(即來源于用戶)的網絡的頻段,作為當前可分配的網絡的一部分。將開啟指令來源于應用請求(即來源于非用戶)的其它網絡的該頻段作為當前不可分配的網絡,并禁止當前不可分配的網絡開啟。
s403:根據應用的路由策略中各種網絡的優先級,逐級判斷該應用有權使用的每種網絡是否屬于當前可分配的網絡;當存在判斷結果為是時,執行步驟s404;當判斷結果都為否時,執行步驟s406。
較佳地,中間層程序接收到應用的基于網絡的數據傳輸請求后,從中間層預存的多個應用的路由策略中,確定出該應用的路由策略。
應用的路由策略包括:該應用有權使用的至少一種網絡、該應用有權使用的各種網絡的優先級、以及該應用有權使用的各種網絡各自對應的各dns文件的優先級。
根據應用的路由策略中各種網絡的優先級從高到低的順序,對于應用有權使用的每個優先級對應的網絡,判斷該優先級對應的網絡是否屬于當前可分配的網絡。當存在判斷結果為是時,執行步驟s404;當判斷結果都為否時,執行步驟s406。
例如,智能設備當前可分配的網絡包括:wifi局域網的2.4g頻段、和lte網絡的指定頻段(即lte網絡中與2.4g頻段不發生互斥的頻段)。當前不可分配的網絡包括:wifi局域網的5g頻段、和zigbee網絡的2.4g頻段。app1的路由策略表明app1有權使用的多種網絡包括:wifi局域網的5g頻段、lte網絡的指定頻段、和zigbee網絡的2.4g頻段;app1有權使用的各種網絡的優先級從高到低的順序依次為:wifi局域網的5g頻段、lte網絡的指定頻段、zigbee網絡的2.4g頻段。lte網絡的指定頻段可以具體為與2.4g頻段不發生互斥的頻段。
根據app1有權使用的各種網絡的優先級從高到低的順序,先將app1最高(或第一)優先級的wifi局域網的5g頻段與當前可分配的網絡相比較,判斷wifi局域網的5g頻段是否屬于當前可分配的網絡;判斷出wifi局域網的5g頻段不屬于當前可分配的網絡。再將app1次高(或第二)優先級的lte網絡的指定頻段與當前可分配的網絡相比較,判斷lte網絡的指定頻段是否屬于當前可分配的網絡;判斷出lte網絡的指定頻段屬于當前可分配的網絡時,即存在判斷結果為是,執行步驟s404。
例如,智能設備當前可分配的網絡包括:wifi局域網的2.4g頻段、和lte網絡的指定頻段(即lte網絡中與2.4g頻段不發生互斥的頻段)。當前不可分配的網絡包括:wifi局域網的5g頻段、和zigbee網絡的2.4g頻段。app2的路由策略表明app2有權使用的多種網絡各種網絡的優先級從高到低的順序依次為:zigbee網絡的2.4g頻段、wifi局域網的5g頻段、和lte網絡的指定頻段。lte網絡的指定頻段可以具體為與2.4g頻段不發生互斥的頻段。
根據app2有權使用的各種網絡的優先級從高到低的順序,先將app2最高(或第一)優先級的zigbee網絡的2.4g頻段與當前可分配的網絡相比較,判斷zigbee網絡的2.4g頻段是否屬于當前可分配的網絡;第一次判斷結果為判斷出zigbee網絡的2.4g頻段不屬于當前可分配的網絡。再將app2次高(或第二)優先級的wifi局域網的5g頻段與當前可分配的網絡相比較,判斷wifi局域網的5g頻段是否屬于當前可分配的網絡;第二次判斷結果為判斷出wifi局域網的5g頻段不屬于當前可分配的網絡。接著將app2第三優先級的lte網絡的指定頻段與當前可分配的網絡相比較,判斷lte網絡的指定頻段是否屬于當前可分配的網絡;第三次判斷結果為判斷出lte網絡的指定頻段屬于當前可分配的網絡時,即存在判斷結果為是,執行步驟s404。
例如,智能設備當前可分配的網絡包括:wifi局域網的2.4g頻段、和lte網絡的指定頻段(即lte網絡中與2.4g頻段不發生互斥的頻段)。當前不可分配的網絡包括:wifi局域網的5g頻段、和zigbee網絡的2.4g頻段。app3的路由策略表明app3有權使用的多種網絡各種網絡的優先級從高到低的順序依次為:wifi局域網的5g頻段和zigbee網絡的2.4g頻段。
根據app3有權使用的各種網絡的優先級從高到低的順序,先將app3最高(或第一)優先級的wifi局域網的5g頻段與當前可分配的網絡相比較,判斷wifi局域網的5g頻段是否屬于當前可分配的網絡;第一次判斷結果為判斷出wifi局域網的5g頻段不屬于當前可分配的網絡。再將app3次高(或第二)優先級(實際上是最后一個優先級)的zigbee網絡的2.4g頻段與當前可分配的網絡相比較,判斷zigbee網絡的2.4g頻段是否屬于當前可分配的網絡;第二次判斷結果(實際上是最后一次判斷結果)為判斷出zigbee網絡的2.4g頻段不屬于當前可分配的網絡時,即判斷結果都為否,執行步驟s406。
s404:將判斷結果為是所涉及的網絡作為該應用當前可使用的網絡。
具體地,上述步驟中判斷結果為是所涉及的網絡,為應用有權使用的且屬于當前可分配的網絡。
本步驟中,較佳地,中間層程序將應用有權使用的且屬于當前可分配的網絡,作為該應用當前可使用的網絡。
s405:根據應用當前可使用的網絡,傳輸該應用的數據。
本發明實施例中,每種網絡配置有該種網絡對應的dns文件。dns文件存儲有對應網絡的dns信息,dns信息可以包括dns服務器的網絡地址。dns文件是實時更新的。
較佳地,中間層程序(例如connectivitymanager)實時更新智能設備中各種網絡各自對應的dns文件。具體地,中間層程序監聽內核kernel上報的各個網絡的路由信息,更新各網絡對應的dns文件。例如,wifi局域網對應的名為wifi_resolve.conf的dns文件。
較佳地,中間層程序確定出應用當前可使用的網絡對應的路由和dns文件;根據該路由和dns文件,傳輸該應用的數據。
進一步,中間層程序從應用當前可使用的網絡對應的dns文件中解析出當前的dns信息(包括dns服務器的網絡地址);確定出應用當前可使用的網絡對應的路由;根據該路由和解析出的dns信息,傳輸該應用的數據傳輸請求涉及的待通過網絡傳輸的數據。
例如,app1的數據傳輸請求表明app1需要訪問www.bing.com,connectivitymanager從app1當前可使用的wifi局域網對應的dns文件wifi_resolve.conf中,解析出wifi_resolve.conf記錄的dns信息,進而從dns信息中解析出對應的dns服務器的ip(internetprotocol,互聯網協議)地址,然后根據路由rt_wifi向解析出的ip地址傳輸數據。這樣可以保證所選的網絡(通路)對應的路由與dns服務器相匹配,通過該路由傳輸數據中的域名會被對應(正確)的dns服務器解析,從而可以提升數據傳輸的可靠性。
s406:向發送數據傳輸請求的應用反饋當前無網可用的信息。
較佳地,中間層程序在上述步驟s403中確定出存在判斷結果為否(即應用有權使用的每種網絡都不屬于當前可分配的網絡)后,在本步驟中,確定出該應用當前無網可用,生成當前無網可用的信息,向發送數據傳輸請求的應用反饋。進一步,中間層程序停止對接收到的應用的數據傳輸請求進行響應(例如忽略數據傳輸請求)。
基于上述網絡管理方法,本發明實施例還提供了一種網絡管理裝置,設置于本發明實施例的智能設備中,該網絡管理裝置的內部結構的框架示意圖如圖5所示,包括:路由策略確定模塊501、當前可使用網絡確定模塊502和傳輸模塊503。
路由策略確定模塊501用于接收到應用的基于網絡的數據傳輸請求后,確定出預存的該應用的路由策略;該應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級。其中,至少一種網絡包括下述至少一項:無線局域網、移動通信網絡、藍牙、符合紫蜂協議的網絡、近場通信網絡。
當前可使用網絡確定模塊502用于根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡。其中,網絡互斥策略,包括:至少一組互斥的網絡的頻段、以及每組互斥的網絡的頻段中僅允許一個頻段可使用或可分配。
傳輸模塊503用于根據該應用當前可使用的網絡,傳輸該應用的數據。
較佳地,當前可使用網絡確定模塊502具體用于根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡;根據該應用的路由策略中各種網絡的優先級,逐級判斷該應用有權使用的每種網絡是否屬于當前可分配的網絡;若存在判斷結果為是,則將判斷結果為是所涉及的網絡作為該應用當前可使用的網絡。
較佳地,路由策略確定模塊501還用于通過下述方法預先確定出應用的路由策略:接收到應用的網絡權限申請請求時,確定出應用所申請的至少一種網絡;根據應用所申請的至少一種網絡、本智能設備所支持多種網絡、和預設的網絡互斥策略,確定出應用有權使用的至少一種網絡。
較佳地,路由策略確定模塊501還用于顯示應用有權使用的至少一種網絡的網絡優先級配置界面;通過網絡優先級配置界面接收到用戶輸入的各種網絡的優先級后,確定出應用有權使用的各種網絡的優先級;確定出應用有權使用的各種網絡對應的各路由的優先級。
傳輸模塊503具體用于確定出該應用當前可使用的網絡對應的路由和域名系統文件;域名系統文件是實時更新的;根據路由和域名系統文件,傳輸該應用的數據。
上述路由策略確定模塊501、當前可使用網絡確定模塊502和傳輸模塊503功能的實現方法,可以參考如上述圖3和4所示的步驟流程及其之前的方法的具體內容,此處不再贅述。
本發明實施例還提供了一種智能設備,該智能設備的內部結構的一個實例的框架示意圖如圖6所示,為了便于說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明實施例方法部分。該智能設備可以為包括手機、平板電腦、pda(personaldigitalassistant,個人數字助理)、pos(pointofsales,銷售終端)、車載電腦等任意智能設備,以智能設備中的手機為例:
圖6示出的是與本發明實施例提供的智能設備相關的手機的部分結構的框圖。參考圖6,手機包括:射頻(radiofrequency,rf)電路610、存儲器620、輸入單元630、顯示單元640、藍牙模塊650、zigbee模塊660、無線保真(wirelessfidelity,wifi)模塊670、處理器680、以及電源690等部件。射頻(radiofrequency,rf)電路610、存儲器620、輸入單元630、顯示單元640、藍牙模塊650、zigbee模塊660、無線保真(wirelessfidelity,wifi)模塊670、以及電源690等部件都與處理器680相電連接。本領域技術人員可以理解,圖6中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結合圖6對手機的各個構成部件進行具體的介紹:
rf電路610可用于收發信息或通話過程中,信號的接收和發送,特別地,將基站的下行信息接收后,給處理器680處理;另外,將設計上行的數據發送給基站。通常,rf電路610包括但不限于天線、至少一個放大器、收發信機、耦合器、低噪聲放大器(lownoiseamplifier,lna)、雙工器等。此外,rf電路610還可以通過無線通信與網絡和其他設備通信。上述無線通信可以使用任一通信標準或協議,包括但不限于全球移動通訊系統(globalsystemofmobilecommunication,gsm)、通用分組無線服務(generalpacketradioservice,gprs)、碼分多址(codedivisionmultipleaccess,cdma)、寬帶碼分多址(widebandcodedivisionmultipleaccess,wcdma)、長期演進(longtermevolution,lte)、電子郵件、短消息服務(shortmessagingservice,sms)等。
存儲器620可用于存儲軟件程序以及模塊,處理器680通過運行存儲在存儲器620的軟件程序以及模塊,從而執行手機的各種功能應用以及數據處理。存儲器620可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據手機的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器620可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。
輸入單元630可用于接收輸入的數字或字符信息,以及產生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元630可包括觸控面板631以及其他輸入設備632。觸控面板631,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板631上或在觸控面板631附近的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板631可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器680,并能接收處理器680發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板631。除了觸控面板631,輸入單元630還可以包括其他輸入設備632。具體地,其他輸入設備632可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元640可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元640可包括顯示面板641,可選的,可以采用液晶顯示器(liquidcrystaldisplay,lcd)、有機發光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板641。進一步的,觸控面板631可覆蓋顯示面板641,當觸控面板631檢測到在其上或附近的觸摸操作后,傳送給處理器680以確定觸摸事件的類型,隨后處理器680根據觸摸事件的類型在顯示面板641上提供相應的視覺輸出。雖然在圖6中,觸控面板631與顯示面板641是作為兩個獨立的部件來實現手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板631與顯示面板641集成而實現手機的輸入和輸出功能。
手機還可包括藍牙模塊650、zigbee模塊660、和wifi模塊670。手機可以通過藍牙模塊650、zigbee模塊660、和/或wifi模塊670與各自的網絡進行無線通訊。wifi屬于短距離無線傳輸技術,手機通過藍牙模塊650、zigbee模塊660、和/或wifi模塊670可以幫助用戶收發電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。
處理器680是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在存儲器620內的軟件程序和/或模塊,以及調用存儲在存儲器620內的數據,執行手機的各種功能和處理數據,從而對手機進行整體監控。可選的,處理器680可包括一個或多個處理單元;優選的,處理器680可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器680中。
手機還包括給各個部件供電的電源690(比如電池),優選的,電源可以通過電源管理系統與處理器680邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。
盡管未示出,手機還可以包括攝像頭、和近場通信模塊等,在此不再贅述。
在本發明實施例中,該智能設備的存儲器620中還存儲有內核、至少一個中間層程序、框架層程序和多個應用等程序和數據;至少一個中間層程序,被處理器680執行時實現如下步驟:
接收到應用的基于網絡的數據傳輸請求后,確定出預存的該應用的路由策略;該應用的路由策略包括該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級;
根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡;
根據該應用當前可使用的網絡,傳輸該應用的數據。
較佳地,至少一個中間層程序在實現根據該應用的路由策略、已開啟的網絡和預設的網絡互斥策略,確定出該應用當前可使用的網絡的步驟過程中,具體包括實現如下步驟:
根據已開啟的網絡和預設的網絡互斥策略,確定出當前可分配的網絡;
根據該應用的路由策略中各種網絡的優先級,逐級判斷該應用有權使用的每種網絡是否屬于當前可分配的網絡;
若存在判斷結果為是,則將判斷結果為是所涉及的網絡作為該應用當前可使用的網絡。
較佳地,至少一個中間層程序實現如下步驟:通過下述方法預先確定出應用的路由策略:
接收到應用的網絡權限申請請求時,確定出應用所申請的至少一種網絡;
根據應用所申請的至少一種網絡、本智能設備所支持多種網絡、和預設的網絡互斥策略,確定出應用有權使用的至少一種網絡。
較佳地,至少一個中間層程序在實現預先確定出應用的路由策略的步驟過程中,還實現如下步驟:
顯示應用有權使用的至少一種網絡的網絡優先級配置界面;
通過網絡優先級配置界面接收到用戶輸入的各種網絡的優先級后,確定出應用有權使用的各種網絡的優先級;
確定出應用有權使用的各種網絡對應的各路由的優先級。
較佳地,至少一個中間層程序在實現根據該應用當前可使用的網絡,傳輸該應用的數據的步驟過程中,具體實現如下步驟:
確定出該應用當前可使用的網絡對應的路由和域名系統文件;域名系統文件是實時更新的;
根據路由和域名系統文件,傳輸該應用的數據。
本發明實施例中,預先為每個應用量身定制了路由策略;當應用需要進行網絡數據傳輸時,可以根據路由策略中該應用有權使用的至少一種網絡、各種網絡的優先級及對應的各路由的優先級、以及已開啟的網絡和預設的網絡互斥策略,更加靈活適當為該應用分配一個當前可使用的網絡;從而既可以大大降低智能設備中可開啟的網絡之間頻段較為重疊的幾率,減少網絡間的干擾,提升網絡傳輸質量;又可以更加充分地利用智能設備所提供的網絡通路,提升智能設備的多種網絡的利用水平。
而且,本發明實施例中,根據應用的路由策略中各種網絡的優先級,逐級判斷該應用有權使用的每種網絡是否屬于當前可分配的網絡,將判斷結果為是所涉及的網絡作為該應用當前可使用的網絡。由于應用的各種網絡的優先級是由用戶預先選定的,往往體現了用戶的個性化偏好和使用習慣。因此,根據優先級逐級判斷,盡量選擇優先級較高的網絡用于傳輸應用的數據,可以在保持網絡傳輸質量和充分利用智能設備所提供的網絡通路的情況下,盡量滿足用戶的個性化偏好和使用習慣,可以提升用戶的體驗。
本技術領域技術人員可以理解,本發明包括涉及用于執行本申請中所述操作中的一項或多項的設備。這些設備可以為所需的目的而專門設計和制造,或者也可以包括通用計算機中的已知設備。這些設備具有存儲在其內的計算機程序,這些計算機程序選擇性地激活或重構。這樣的計算機程序可以被存儲在設備(例如,計算機)可讀介質中或者存儲在適于存儲電子指令并分別耦聯到總線的任何類型的介質中,所述計算機可讀介質包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、cd-rom、和磁光盤)、rom(read-onlymemory,只讀存儲器)、ram(randomaccessmemory,隨即存儲器)、eprom(erasableprogrammableread-onlymemory,可擦寫可編程只讀存儲器)、eeprom(electricallyerasableprogrammableread-onlymemory,電可擦可編程只讀存儲器)、閃存、磁性卡片或光線卡片。也就是,可讀介質包括由設備(例如,計算機)以能夠讀的形式存儲或傳輸信息的任何介質。
本技術領域技術人員可以理解,可以用計算機程序指令來實現這些結構圖和/或框圖和/或流圖中的每個框以及這些結構圖和/或框圖和/或流圖中的框的組合。本技術領域技術人員可以理解,可以將這些計算機程序指令提供給通用計算機、專業計算機或其他可編程數據處理方法的處理器來實現,從而通過計算機或其他可編程數據處理方法的處理器來執行本發明公開的結構圖和/或框圖和/或流圖的框或多個框中指定的方案。
本技術領域技術人員可以理解,本發明中已經討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進一步地,具有本發明中已經討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進一步地,現有技術中的具有與本發明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
以上所述僅是本發明的部分實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。