[發明專利]本地代理的處理方法及裝置有效
| 申請號: | 201310488213.9 | 申請日: | 2013-10-17 |
| 公開(公告)號: | CN103533060B | 公開(公告)日: | 2017-04-19 |
| 發明(設計)人: | 靖軻 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 本地 代理 處理 方法 裝置 | ||
技術領域
本發明實施例涉及網絡通信技術,尤其涉及一種本地代理的處理方法及裝置。
背景技術
目前智能終端設備上流行使用透明代理軟件提供全局代理上網的能力,透明代理軟件也稱為本地代理軟件,其核心原理是利用操作系統中數據包處理工具完成網絡訪問請求的重定向。安卓(Android)系統使用的是Linux的內核,在Linux2.4以后的內核中,內核中的Iptables與netfilter一起完成系統中數據的過濾、重定向等功能,其中,Iptables可稱為網絡訪問處理模塊,netfilter可稱為網絡過濾模塊。
圖1是現有技術提供的通過本地代理軟件進行網絡訪問的流程圖。如圖1所示,步驟1、本地代理服務啟動后會監聽一個本地端口;步驟2、例如淘寶、瀏覽器等應用程序,需要訪問網絡時,會將網絡訪問請求經過Iptables進行處理;步驟3、Iptables將網絡訪問請求重定向至本地代理軟件監聽的本地端口;步驟4、本地代理軟件將網絡訪問請求轉發至代理服務器;步驟5、代理服務器請求網絡服務器進行網絡服務。
然而,在安卓系統中,由于資源有限,系統在必要的時候會自動殺死后臺進程,這樣本地代理軟件的進程就有可能被意外或人為殺死,此時,應用程序的網絡訪問請求仍然被重定向到本地代理軟件,網絡訪問請求則無法被正常處理,表現為不能上網。
目前,本地代理軟件通常會利用一些技術手段讓自己被殺死后快速重啟,本地代理軟件被殺死后快速重啟一般是通過定時器或系統事件進行的,但這樣會額外消耗系統資源,而且在本地代理軟件重啟的過程中無法退出軟件。或者還可以將本地代理軟件利用系統提供的能力設計成不可殺死的進程,但一般需要刷機或通過超級管理員身份登錄將軟件安裝到系統目錄中,這樣軟 件會常駐內存。這兩種方式的用戶體驗都非常差。
發明內容
本發明提供一種本地代理的處理方法及裝置,以解決在本地代理軟件進程非正常關閉時無法及時訪問網絡的問題。
本發明的第一方面提供了一種本地代理的處理方法,其中,包括:
接收訪問網絡請求,根據預設條件和預設規則參數判斷本地代理軟件是否正常運行;
當所述本地代理軟件正常運行時,將所述訪問網絡請求定向至本地代理軟件,以供所述本地代理軟件將所述訪問網絡請求轉發到代理服務器,以使所述代理服務器請求網絡服務器進行網絡服務;
當所述本地代理軟件非正常運行時,將所述訪問網絡請求定向至網絡服務器。
結合第一方面,在第一方面的第一種可能的實現方式中,所述接收訪問網絡請求,根據設定條件和預設規則參數判斷本地代理軟件是否正常運行,包括:
通過操作系統內核的Iptables獲取所述本地代理軟件的配置指令中攜帶的所述預設規則參數;
根據所述預設條件和所述預設規則參數判斷所述本地代理軟件是否正常運行。
結合第一方面、第一方面的第一種可能實現的方式,在第一方面的第二種可能的實現方式中,所述預設規則參數包括命令參數、條件名稱、條件參數和條件參數值。
結合第一方面的第二種可能實現的方式,在第一方面的第三中可能的實現方式中,在所述預設條件為本地代理軟件的本地端口是否處于監聽狀態時,根據預設條件和預設規則參數判斷本地代理軟件是否正常運行,包括:
識別所述預設規則參數中是否包含命令參數;
當識別到所述預設規則參數中包含命令參數時,識別所述條件名稱是否為端口;
當識別到所述條件名稱為端口時,識別所述條件參數是否為監聽端口指 示;
當識別到所述條件參數為監聽端口指示時,判斷所述條件參數值對應的端口號是否合法;
當判斷出所述端口號合法時,通過所述操作系統內核的netfilter,遍歷所述操作系統內核中的Socket監聽列表,判斷所述端口號對應的端口是否處于監聽狀態;若是,則所述本地代理軟件正常運行,否則為非正常運行。
結合第一方面的第二種可能實現方式,在第一方面的第四種可能實現方式中,在所述預設條件為所述本地代理軟件的進程標識是否在本機的運行進程集合中時,根據預設條件和預設規則參數判斷本地代理軟件是否正常運行包括:
識別所述預設規則參數中是否包含命令參數;
當識別到所述預設規則參數中包含命令參數時,識別所述條件名稱是否為進程標識;
當識別到所述條件名稱為進程標識時,識別所述條件參數是否為檢測進程標識指示;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310488213.9/2.html,轉載請聲明來源鉆瓜專利網。





