一種動態IP代理池及其搭建及管理方法與流程
2023-05-17 12:58:01 1

本發明涉及網絡通信領域,具體涉及一種動態IP代理池及其搭建及管理方法。
背景技術:
動態IP位址指用戶在訪問網際網路時,通過運營商隨機分配的IP位址進行網絡訪問。目前使用動態IP的方式分為Modem、ISDN、ADSL、有線寬頻、小區寬帶等。動態IP位址的用途廣泛,例如:網絡投票、數據採集、上網加速等方式。
現有技術中,以數據採集來說,通過固定的IP訪問目標網站進行大規模的數據採集時,很容易造成IP封鎖。此時如果採用動態IP位址訪問,目標網站無法分析IP訪問特徵,並且難以封鎖當前的數據採集行為。
現有技術中,由於一些免費的代理IP使用時,難以保證使用的穩定性以及可控制方案。並且這種代理沒有針對目標網站進行優化,導致訪問速度慢或者匿名性較差。因此不能穩定的保障大規模數據採集問題,無法完成動態IP代理的使用簡單方便的特性。
技術實現要素:
本發明的目的在於為了解決現有技術中在數據採集過程中遇到的IP被封鎖情況的出現;提供一種動態IP代理池及其搭建及管理方法。
為了達到上述目的,本發明通過以下技術方案實現:
一種動態IP代理池的搭建方法,所述動態IP代理池的搭建方法包含:
中央伺服器接收心跳請求,當發送所述心跳請求的客戶端在不可用代理池中時,發送獲取指令至所述客戶端;所述獲取指令包含命令所述客戶端獲取相應的代理IP位址;
所述客戶端獲得所述代理IP位址,將所述代理IP位址發送至所述中央伺服器;
所述中央伺服器將所述客戶端的屬性信息及其對應的所述代理IP位址放入可用代理池。
較佳地,所述中央伺服器內設有所述不可用代理池、可用代理池;
所述可用代理池內包含多個可用的所述客戶端的屬性信息、所述代理IP位址,所述不可用代理池內設有多個不可用的所述客戶端的所述屬性信息。
較佳地,所述中央伺服器接收心跳請求,當發送所述心跳請求的客戶端在不可用代理池中時,發送獲取指令至所述客戶端,具體包含:
當所述心跳請求包含的所述客戶端的屬性信息存在於所述不可用代理池中時,所述中央伺服器發送所述獲取指令至所述客戶端。
較佳地,在所述中央伺服器接收心跳請求,當發送所述心跳請求的客戶端在不可用代理池中時,發送獲取指令至所述客戶端之前,所述動態IP代理池的搭建方法還包含:
當任一所述客戶端發送的最新的所述心跳請求的時間超過設定心跳請求閾值時,將所述客戶端的屬性信息從所述可用代理池移動至所述不可用代理池;
當調用端反饋任一所述客戶端存在網絡連接問題時,將所述客戶端的屬性信息從所述可用代理池移動至所述不可用代理池;
當任一所述客戶端到達更換代理IP位址時間閾值時,將所述客戶端的屬性信息從所述可用代理池移動至所述不可用代理池。
較佳地,所述中央伺服器將所述客戶端及其對應的所述代理IP位址放入可用代理池,具體包含:
將所述客戶端的屬性信息從所述不可用代理池移動至所述可用代理池,並在所述可用代理池中保存所述客戶端的所述代理IP位址。
較佳地,所述動態IP代理池的搭建方法還包含:
一個或多個調用端獲取所述中央伺服器的所述可用代理池中的一個或多個所述代理IP位址進行網絡訪問。
一種動態IP代理池的管理方法,所述動態IP代理池的管理方法包含:
中央伺服器接收心跳請求;
當發送所述心跳請求的客戶端在可用代理池時,所述中央伺服器發送相關執行指令至所述客戶端;所述相關執行指令包含:客戶端重啟、撥號指令、關閉代理服務、更新配置文件、目標網站訪問黑白名單之中任意一項。
一種動態IP代理池,所述動態IP代理池包含:至少一個客戶端、至少一個中央伺服器;
至少一個客戶端,發送心跳請求;
至少一個中央伺服器,包含可用代理池、不可用代理池;
在動態IP代理池的搭建的過程中:
所述至少一個中央伺服器接收所述至少一個客戶端發送的所述心跳請求,當所述至少一個客戶端是在所述不可用代理池時,發送獲取指令至所述客戶端;所述獲取指令包含命令所述客戶端獲取相應的代理IP位址;
所述至少一個客戶端,獲得所述代理IP位址,將所述代理IP位址發送至所述至少一個中央伺服器;
所述至少一個中央伺服器,將所述至少一個客戶端及其對應的所述代理IP位址放入所述可用代理池;
在動態IP代理池的管理過程中:
所述至少一個中央伺服器接收所述至少一個客戶端發送的所述心跳請求,當所述至少一個客戶端是在所述可用代理池時,發送相關執行指令至所述至少一個客戶端;所述相關執行指令包含:客戶端重啟、所述獲取指令、關閉代理服務、更新配置文件、目標網站訪問黑白名單之中任意一項。
較佳地,所述動態IP代理池還包含:至少一個調用端,用於獲取所述中央伺服器的所述可用代理池中所述代理IP位址、以及向所述中央伺服器反饋任一所述客戶端存在網絡連接問題。
在符合本領域常識的基礎上,上述各優選條件,可任意組合,即得本發明各較佳實例。
本發明的積極進步效果在於:
本發明公開的一種動態IP代理池及其搭建及管理方法,通過至少一個客戶端、至少一個中央伺服器以及至少一個調用端建立動態IP代理池。動態IP代理池的搭建及管理具體包含:中央伺服器接收心跳請求,當發送心跳請求的客戶端在不可用代理池中時,發送獲取指令至客戶端;客戶端進行獲得代理IP位址,將代理IP位址發送至中央伺服器;中央伺服器將客戶端的屬性信息及其對應的代理IP位址放入可用代理池。當發送心跳請求的客戶端在可用代理池時,發送相關執行指令至客戶端;相關執行指令包含:客戶端重啟、獲取指令、關閉代理服務、更新配置文件、目標網站訪問黑白名單之中任意一項。本發明通過上述技術方案能夠提供一種穩定且高效的IP代理系統及服務;並有針對性地對目標網站進行動態配置和優化,加快訪問速度;有效地提高了數據採集效率、穩定性及靈活性。
附圖說明
圖1為本發明一種動態IP代理池的搭建方法的整體流程示意圖。
圖2為本發明一種動態IP代理池的管理方法的整體流程示意圖。
圖3為本發明一種動態IP代理池的實施例示意圖。
具體實施方式
下面通過實施例的方式進一步說明本發明,但並不因此將本發明限制在所述的實施例範圍之中。
實施例1
如圖1、圖3所示,一種動態IP代理池的搭建方法,動態IP代理池的搭建方法包含:
本發明中,中央伺服器1內設有不可用代理池、可用代理池。其中,可用代理池內包含多個可用的客戶端2的屬性信息、每個客戶端2對應的代理IP位址,不可用代理池內設有多個不可用的客戶端2的屬性信息。
本實施例中,在中央伺服器1中,基於緩存資料庫定義了不可用代理池、可用代理池的概念。
在步驟S1之前,具體包含:
當任一客戶端2發送的最新的心跳請求的時間超過設定心跳請求閾值時,將客戶端2的屬性信息從可用代理池移動至不可用代理池。
本實施例中,當任一客戶端2發送的最新的心跳請求的時間超過設定心跳請求閾值時,該客戶端2被標記為不可用代理,並將該客戶端2的屬性信息從可用代理池移動至不可用代理池。從而能夠有效地保證調用端3獲取的代理IP位址均是穩定、有效的。
本實施例中,中央伺服器1通過計算當前可用代理池中客戶端2的數量和代理IP位址的使用時間,主動進行代理IP位址的更換。通過定時任務的方式,將部分客戶端2移動至不可用代理池,此時該調用端3不會繼續獲取到該客戶端2的代理IP位址。
當調用端3反饋任一客戶端2存在網絡連接問題時,該客戶端2被標記為不可用代理,將該客戶端2的屬性信息從可用代理池移動至不可用代理池。
當任一客戶端2到達更換代理IP位址時間閾值時,該客戶端2被標記為不可用代理,將該客戶端2的當前代理IP位址刪除、並將屬性信息從可用代理池移動至不可用代理池。
本實施例中,可用代理池、不可用代理池的信息實際保存至資料庫4中。當查看可用代理池、不可用代理池中的信息時,實際通過資料庫4進行查看。
S1,中央伺服器1接收心跳請求,當發送心跳請求的客戶端2在不可用代理池中時,發送獲取指令至客戶端2。該步驟S1具體包含:
當心跳請求包含的客戶端2的屬性信息存在於不可用代理池中時,中央伺服器1發送獲取指令至客戶端2。
本發明中,獲取指令包含命令客戶端獲取相應的代理IP位址。
本實施例中,客戶端2通過定時輪訓,定時向中央伺服器1發送心跳請求進行心跳匯報。
心跳請求包含客戶端2的屬性信息。中央伺服器1根據心跳請求中的屬性信息判斷該客戶端2是否在不可用代理池中,當判斷客戶端2是在不可用代理池時,中央伺服器1發送獲取指令至客戶端2。
S2,客戶端2獲得代理IP位址,將代理IP位址發送至中央伺服器1。
本實施例中,客戶端2執行獲取命令,採用撥號的方式獲取代理IP位址。
S3,中央伺服器1將客戶端2的屬性信息及其對應的代理IP位址放入可用代理池。步驟S3具體包含:
將客戶端2的屬性信息從不可用代理池移動至可用代理池,並在可用代理池中保存客戶端2的代理IP位址。
本實施例中,在步驟S3之後還包含:
當一個或多個調用端3進行網際網路訪問時,調用端3通過獲取中央伺服器1的可用代理池中的一個或多個代理IP位址進行網絡訪問。
實施例2
如圖2、圖3所示,一種動態IP代理池的管理方法,動態IP代理池的管理方法包含:
M1,接收並顯示心跳請求。
本實施例中,客戶端2通過定時輪訓,定時向中央伺服器1發送心跳請求進行心跳匯報。中央伺服器1接收並顯示客戶端2發送的心跳請求。
M2,當發送心跳請求的客戶端2在可用代理池時,發送相關執行指令至客戶端2;相關執行指令包含:客戶端2重啟、撥號指令、關閉代理服務、更新配置文件、目標網站訪問黑白名單之中任意一項。
本實施例中,相關執行指令包含:客戶端2重啟、進行ADSL撥號等。
實施例3
如圖3所示,一種動態IP代理池,動態IP代理池包含:至少一個客戶端2、至少一個中央伺服器1、調用端3以及資料庫4。其中,至少一個中央伺服器1,包含可用代理池、不可用代理池。
調用端3用於向中央伺服器1反饋任一客戶端2存在網絡連接問題時,中央伺服器1將該客戶端2被標記為不可用代理,將該客戶端2的屬性信息從可用代理池移動至不可用代理池。
資料庫4用於分別存儲可用代理池、不可用代理池中的相應信息。
當進行動態IP代理池搭建時,至少一個客戶端2發送心跳請求至到至少一個中央伺服器1。當判斷至少一個客戶端2是在不可用代理池時,發送獲取指令到至少一個客戶端2;至少一個客戶端2,獲得代理IP位址,將代理IP位址發送到至少一個中央伺服器1。至少一個調用端3,用於獲取中央伺服器1的可用代理池中代理IP位址、以及向所述中央伺服器反饋任一所述客戶端存在網絡連接問題。
當進行動態IP代理池管理時,至少一個客戶端2發送心跳請求;至少一個中央伺服器1接收至少一個客戶端2發送的心跳請求,當至少一個客戶端2是在可用代理池時,發送相關執行指令到至少一個客戶端2;相關執行指令包含:客戶端2重啟、獲取指令、關閉代理服務、更新配置文件、目標網站訪問黑白名單之中任意一項。
本發明中,動態IP代理池管理還包含多個中央伺服器1形成中央伺服器集群;多個客戶端2分別與對應的中央伺服器1進行信息通信。
雖然以上描述了本發明的具體實施方式,但是本領域的技術人員應當理解,這些僅是舉例說明,本發明的保護範圍是由所附權利要求書限定的。本領域的技術人員在不背離本發明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發明的保護範圍。