CN113965577A - 一种智能切换Socks5代理服务器节点的系统与方法 - Google Patents
一种智能切换Socks5代理服务器节点的系统与方法 Download PDFInfo
- Publication number
- CN113965577A CN113965577A CN202111010288.7A CN202111010288A CN113965577A CN 113965577 A CN113965577 A CN 113965577A CN 202111010288 A CN202111010288 A CN 202111010288A CN 113965577 A CN113965577 A CN 113965577A
- Authority
- CN
- China
- Prior art keywords
- node
- socks5
- module
- server
- agent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000012544 monitoring process Methods 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种智能切换Socks5代理服务器节点的系统与方法,所述系统包括:代理APP、被代理APP、中央控制服务器、Socks5代理服务器节点和目的服务器;本发明能实现代理APP自动地、智能地切换Socks5代理服务器节点,不需要人为干预,即可确保代理系统始终运行在一个较好的状态,保障了被代理APP的网络访问的实时性和稳定性。以及确保用户使用被代理APP的过程不会被打断,极大提升了代理的体验。
Description
技术领域
本发明涉及服务器节点代理技术领域,具体为一种智能切换Socks5代理服务器节点的系统与方法。
背景技术
目前的代理技术方案中,通常包含一个代理APP、多个Socks5代理服务器节点。在开始建立代理连接之前,需要用户在代理APP中手动选择一个当前状态最好的节点、或者是由代理APP在众多Socks5代理服务器节点中随机选择一个来建立连接。其问题在于这个选定的节点,后续随着接入的代理连接变多,会变成一个负荷大、拥塞的节点,使得代理速度变慢,如果想改变这一情况,则必须重新选择节点并建立新的连接。这种方式意味着要停止当前的代理操作,体验十分不好,非常不适合代理目前非常普遍的流媒体类应用的流量。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明公开了一种智能切换Socks5代理服务器节点的系统与方法,以解决上述背景技术中提出的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:一种智能切换Socks5代理服务器节点的系统,所述系统包括:代理APP、被代理APP、中央控制服务器、Socks5代理服务器节点和目的服务器;
所述代理APP用于拦截被代理APP的请求IP数据报,经处理后转发至所述Socks5代理服务器节点,并接收Socks5代理服务器节点返回的响应数据,以及监控Socks5代理服务器节点的状态及管理Socks5代理服务器节点的连接;
所述中央控制服务器用于管理Socks5代理服务器节点调度和监控;
所述Socks5代理服务器节点用于接收代理APP的数据包,并与所述目的服务器进行通信,并将所述目的服务器返回的响应数据返回给所述代理APP;
所述目的服务器是被代理APP所对应的服务器;
所述被代理APP是用户希望对其使用产生的数据进行代理的APP。
优选地,所述代理APP包括状态监控模块、连接控制模块、数据拦截模块、协议转换模块、Socks5客户端模块;
所述状态监控模块用于监控当前连接的Socks5代理服务器节点的状态,并评估是否要新建连接并替换当前连接;
所述连接控制模块用于新的代理连接并决定何时断掉旧的代理连接,以及为代理数据选择合适的代理连接进行转发:
所述数据拦截模块用于拦截被代理APP的数据;
所述协议转换模块用于将IP数据报和应用层原始数据之间进行相互转换;所述Socks5客户端用于和Socks5代理服务器节点建立连接并转发和接收数据。
优选地,所述中央控制服务器包括节点调度模块、节点监控模块、NTP对时模块;节点调度模块用于处理代理APP的获取新Socks5代理服务器节点的申请,并下发最佳Socks5代理服务器节点信息给代理APP;
所述节点监控模块用于记录并监控所有Socks5代理服务器节点的基本信息、在线状态,并对各个Socks5代理服务器节点进行评价;包括一张节点信息表、一个查询子模块、一个更新子模块、一个评价子模块;节点信息表记录所有Socks5代理服务器节点状态信息,查询子模块用于向其它模块提供节点信息表的查询功能,更新子模块负责主动向Socks5代理服务器节点查询、或接收Socks5代理服务器节点主动上报的状态信息,并更新节点信息表;评价子模块负责对各个Socks5代理服务器节点进行打分;
NTP对时模块用于Socks5代理服务器节点进行对时。
优选地,所述Socks5代理服务器节点用于接收代理APP的数据包,并与所述目的服务器进行通信,将目的服务器返回的响应数据,返回给发起代理请求的代理APP;其具备的指标参数包括:IP地址、节点所在地区、网络带宽、运营商类型、当前代理连接数、当前网络负荷、网络拥塞度、丢包重发率;并设有Socks5服务器模块、节点状态上报模块以及初始化模块。
本发明还提供了一种智能切换Socks5代理服务器节点的方法,所述方法包括以下步骤:
步骤S1:、Socks5代理服务器节点初始化;同步标准时间和向中央控制服务器的节点监控模块上报节点状态;
步骤S2:中央控制服务器的节点监控模块接收并处理Socks5代理服务器节点状态上报信息;
步骤S3:中央控制服务器的节点监控模块对节点信息表的所有节点进行评价及赋予分值;
步骤S4:代理APP中的连接控制模块向中央控制服务器的节点调度模块请求一个Socks5代理服务器节点,中央控制服务器的节点调度模块返回一个和代理APP运行的设备所接入网络最近、属同一运营商网络、且分值最高的节点;
步骤S5:代理APP中的连接控制模块将中央控制服务器返回的节点信息交给Socks5客户端模块转发,Socks5客户端模块与该Socks5代理服务器节点建立代理连接;
步骤S6:代理APP进行数据的拦截、处理和转发;
步骤S7:代理APP的状态监控模块将不停对当前连接的Socks5代理服务器节点状态进行监控并进行状态评估;
步骤S8:代理APP中的连接控制模块根据的状态监控模块的评估结果触发进行节点切换;
步骤S9:代理APP中的连接控制模块触发Socks5客户端模块连接新节点,后续代理数据将通过新的节点进行转发,同时代理APP中的状态监控模块开始监控新的节点的状态;
步骤S10:代理APP中的连接控制模块触发Socks5客户端模块断开旧的连接。
优选地,所述步骤S7中的状态监控模块包括在线状态监控和本地状态监控;所述在线状态监控用于使用退避策略向中央控制服务器的节点监控模块查询当前节点的状态信息,所述本地状态监控:利用协议转换模块中对载荷类型为TCP的IP数据报的处理机制,记录发送请求IP数据报的时间,以及接收到这个IP数据报的响应数据并恢复成响应IP数据报的时间,从而计算出一次数据请求的网络往返时间。
有益效果:
本发明能实现代理APP自动地、智能地切换Socks5代理服务器节点,不需要人为干预,即可确保代理系统始终运行在一个较好的状态,保障了被代理APP的网络访问的实时性和稳定性,以及确保用户使用被代理APP的过程不会被打断,极大提升了代理的体验。
附图说明
图1:为一种智能切换Socks5代理服务器节点的系统的流量代理系统流程图
图2:为一种智能切换Socks5代理服务器节点的方法流程图。
具体实施方式
参照图1-2,本发明提供的一种实施例:一种智能切换Socks5代理服务器节点的系统,该系统包括:代理APP,被代理APP,中央控制服务器,Socks5代理服务器节点,目的服务器,。
代理APP:包括状态监控模块、连接控制模块、数据拦截模块、协议转换模块、Socks5客户端模块。状态监控模块用于监控当前连接的Socks5代理服务器节点的状态,并评估是否要新建连接并替换当前连接。节点控制模块负责新的代理连接并决定何时断掉旧的代理连接,以及为代理数据选择合适的代理连接进行转发。数据拦截模块负责拦截被代理APP的数据。协议转换模块负责将IP数据报和应用层原始数据之间进行相互转换。Socks5客户端用于和Socks5代理服务器节点建立连接并转发和接收数据。
被代理APP:表示智能手机中已安装的、用户希望对其使用产生的数据进行代理的APP,如视频、音频、直播类APP。
中央控制服务器:包含节点调度模块、节点监控模块、NTP对时模块。节点调度模块处理代理APP的获取新Socks5代理服务器节点的申请,并下发最佳Socks5代理服务器节点信息给代理APP。节点监控模块包括一张节点信息表、一个查询子模块、一个更新子模块、一个评价子模块。节点信息表记录所有Socks5代理服务器节点状态信息,查询子模块用于向其它模块提供节点信息表的查询功能,更新子模块负责主动向Socks5代理服务器节点查询、或接收Socks5代理服务器节点主动上报的状态信息,并更新节点信息表。评价子模块负责对各个Socks5代理服务器节点进行打分。NTP对时模块用于Socks5代理服务器节点进行对时。
Socks5代理服务器节点:接收代理APP的数据包,并与所述目的服务器进行通信,将目的服务器返回的响应数据,返回给发起代理请求的Socks5客户端。其具备已下指标参数:IP地址,节点所在地区,网络带宽、运营商类型、当前代理连接数、当前网络负荷、网络拥塞度、丢包重发率等。其上包含一个Socks5服务器模块、一个节点状态上报模块、以及一个初始化模块。
目的服务器:被代理APP所对应的服务器。
一种智能切换Socks5代理服务器节点的方法:所述方法包括如下步骤:
1、Socks5代理服务器节点初始化。当新的Socks5代理服务器节点接入、或者已有节点重新上线时,Socks5代理服务器节点中的初始化模块启动Socks5代理服务器节点模块,并与中央控制服务器建立连接,并向NTP对时模块发起对时请求,中央控制服务器的NTP对时模块将当前的标准时间返回给Socks5代理服务器节点的初始化模块,初始化模块使用返回的标准时间对本地时间进行校准。对时完毕后,初始化模块向中央控制服务器的节点监控模块请求上报策略,为了使各节点同步上报,这里采取的策略是分钟数被5整除时进行上报,节点监控模块下发上报策略,初始化模块将上报策略设置到节点状态上报模块中,并触发节点状态上报模块进行第一次状态上报,包括IP、所在地、网络带宽、运营商类型、当前代理连接数、当前网络负荷、网络拥塞度、丢包重发率等,上报给中央控制服务器的节点监控模块。Socks5代理服务器节点初始化完毕,节点上线成功,并等待Socks5客户端的连接请求。现有的技术方案,只有在代理APP中触发查询所有Socks5代理服务器节点状态信息的时候,才会查询各个节点的信息,这样不利于节点信息的统一管理,本方案采用定时上报节点信息的策略,只有必要时再向节点发起查询,避免了大量不必要的查询,降低了对Socks5代理服务器节点的压力。
2、中央控制服务器接收并处理Socks5代理服务器节点状态上报。节点监控模块维护一张节点信息表,除了包含Socks5代理服务器节点所述的信息外,还包括在线状态、上报时间、节点分数等3个参数,以节点IP作为节点的唯一标识。节点监控模块的更新子模块在节点信息表中使用IP地址作为参数查询节点信息,如未找到,则表示Socks5代理服务器节点为第一次上报,将该节点信息以及上报时间存入节点信息中,在线状态设置为1。如果找到有一样的节点,则使用新上报的信息更新节点信息表中的信息,更新上报时间,在线状态为1。
3、中央控制服务器的节点监控模块对节点信息表进行评价。在开始触发Socks5代理服务器节点上报状态1分钟以后,节点监控模块中的评价子模块对节点信息表进行遍历,将节点的上报时间和当前时间进行对比,如果当前时间减去上报时间的差大于10分钟,则认为该Socks5代理服务器节点已经不在线,将其在线状态设置为0。如果检查后节点仍为在线状态,则根据节点信息中的网络带宽、当前代理连接数、当前网络负荷、网络拥塞度、丢包重发率对节点进行打分,网络带宽越大、代理连接数越小、网络负荷越小、网络拥塞度越小、丢包重发率越小,则分数越高,反之则分数越低。分数为0-100,将分数值存入节点信息表的节点分数字段中。
4、代理APP中的连接控制模块向中央控制服务器的节点调度模块请求一个Socks5代理服务器节点,节点调度模块根据代理APP所运行的设备的IP地址,分析得到其所在的区域和所属网络运营商。然后将信息发给节点监控模块的查询子模块,查询子模块在节点信息表中查找和代理APP所运行设备属于同一地区、同一网络运营商、以及节点分数最高,且在线的节点,并向该节点发起一次状态查询请求,如果该节点返回最新信息,则更新节点信息表,并更新该节点分数,如果分数还是最高,则该节点为最佳节点;如果更新分数后不是最佳节点,则选择最新的节点并重复进行上述步骤;如果节点未返回信息,则认为该节点异常,将该节点的在线状态设为0,再重复上述查找最佳节点的步骤。直至找到一个最佳节点返回给节点调度模块,再由节点调度模块将该最佳节点信息返回给代理APP中的连接控制模块。现有方案是由用户手动在代理APP选取一个节点,或者由代理APP随机选择一个节点,往往不是最佳节点。现有方案设计一个中央控制服务器的节点调度单元,根据代理APP所运行设备的IP信息,分析其所在区域和所属网络运营商,为其提供最近的、同一运营商的,代理状态最好的节点,代理数量大大提高,类似于流媒体领域的DNS原理。
5、代理APP中的连接控制模块,将节点信息交给Socks5客户端模块,Socks5客户端向指定的Socks5代理服务器节点发起连接,并进行鉴权,鉴权通过后,Socks5客户端可通过该Socks5代理服务器节点转发数据。连接控制模块节点信息设置到状态监控模块用于监控;如果鉴权不通过,则无法建立连接。
6、数据的拦截和代理转发。代理APP的数据拦截模块拦截被代理APP的网络请求IP数据报,IP数据报在经过协议转换模块的处理之后成为请求应用数据并交给Socks客户端模块,Socks5客户端模块将请求应用数据发给指定的Socks5代理服务器节点。Socks5代理服务器节点将请求应用数据转发给对应的目的服务器,并接收目的服务器的响应应用数据后返回给对应的Socks5客户端。Socks5客户端将接收到的响应应用数据交给协议转换模块进行处理,生成对应的响应IP数据报,交给数据拦截模块返回给操作系统的网络协议栈,并返回给被代理APP。
7、代理APP的状态监控模块将不停对当前连接的Socks5代理服务器节点状态进行监控。监控分为两部分组成:在线状态监控和本地状态监控。在线状态监控:使用退避策略向中央控制服务器的节点监控模块查询当前节点的状态信息,具体的,为各个评级设置标准查询间隔:0至30分-每2秒查询1次、30至60分-每4秒查询1次、60分至80分-每8秒查询1次、80分至100分-每16秒查询1次。中央服务器的节点监控模块在接收到查询请求后,由查询子模块先在节点信息维护表中查询节点状态,如果节点的上报时间在10秒以内,直接返回节点信息给代理APP的状态监控模块,否则触发更新子模块向该Socks5代理服务器节点发起状态查询请求并更新节点信息表,并返回信息给代理APP的状态监控模块,状态监控模块记录节点信息。本地状态监控:利用协议转换模块中对载荷类型为TCP的IP数据报的处理机制,记录发送请求IP数据报的时间,以及接收到这个IP数据报的响应数据并恢复成响应IP数据报的时间,可以知道一次数据请求的网络往返时间。使用一个长度为60的数组,数组中的每个元素为过去5秒的平均网络往返时间,每秒计算一次,用于表示Socks5客户端与当前Socks5代理服务器节点间代理连接的状态。如果在线状态监控,连续5次查询都低于60分,或者本地状态监控中,过去10秒,网络往返时间都大于1.5秒,则认为网络不佳,触发连接控制模块进行节点切换。现有技术方案中并未有所述状态监控模块及其监控策略,往往是通过用户自身的对代理速率的感知来确定当前Socks5代理服务器节点,以及当前代理连接的状态好坏,从而手动切换Socks5代理服务器节点。本方案设计一个专门的状态监控模块,并自动通过在线和本地两种监控模式,对Socks5代理服务器节点,以及当前代理连接的状态进行监控,并智能触发节点切换。
8、代理APP中的连接控制模块被触发进行节点切换。连接控制模块向中央控制服务器的节点调度模块申请一个最佳的代理节点,节点调度模块使用上面所述的方法得到一个最佳代理节点并返回给连接控制模块。连接控制模块触发Socks5客户端建立一个新的代理连接,并将新的节点信息设置到状态监控模块,状态监控模块不再监控旧的节点状态,转而监控新的节点状态。
9、代理APP中的连接控制模块切断旧节点连接。在新连接建立后,数据拦截模块拦截到的新的请求数据,将发往新的Socks5代理服务器节点,同时监控旧的Socks5代理服务器节点是否有数据返回,当超过10秒无新的响应数据返回时,切断与旧Socks5代理服务器节点的连接。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (6)
1.一种智能切换Socks5代理服务器节点的系统,所述系统包括:代理APP、被代理APP、中央控制服务器、Socks5代理服务器节点和目的服务器;
所述代理APP用于拦截被代理APP的请求IP数据报,经处理后转发至所述Socks5代理服务器节点,并接收Socks5代理服务器节点返回的响应数据,以及监控Socks5代理服务器节点的状态及管理Socks5代理服务器节点的连接;
所述中央控制服务器用于管理Socks5代理服务器节点调度和监控;
所述Socks5代理服务器节点用于接收代理APP的数据包,并与所述目的服务器进行通信,并将所述目的服务器返回的响应数据返回给所述代理APP;
所述目的服务器是被代理APP所对应的服务器;
所述被代理APP是用户希望对其使用产生的数据进行代理的APP。
2.根据权利要求1所述的智能切换Socks5代理服务器节点的系统,其特征在于:所述代理APP包括状态监控模块、连接控制模块、数据拦截模块、协议转换模块、Socks5客户端模块;
所述状态监控模块用于监控当前连接的Socks5代理服务器节点的状态,并评估是否要新建连接并替换当前连接;
所述连接控制模块用于新的代理连接并决定何时断掉旧的代理连接,以及为代理数据选择合适的代理连接进行转发:
所述数据拦截模块用于拦截被代理APP的数据;
所述协议转换模块用于将IP数据报和应用层原始数据之间进行相互转换;所述Socks5客户端用于和Socks5代理服务器节点建立连接并转发和接收数据。
3.根据权利要求1所述的智能切换Socks5代理服务器节点的系统,其特征在于:所述中央控制服务器包括节点调度模块、节点监控模块、NTP对时模块;所述节点调度模块用于处理代理APP的获取新Socks5代理服务器节点的申请,并下发最佳Socks5代理服务器节点信息给代理APP;
所述节点监控模块用于记录并监控所有Socks5代理服务器节点的基本信息、在线状态,并对各个Socks5代理服务器节点进行评价;包括一张节点信息表、一个查询子模块、一个更新子模块、一个评价子模块;节点信息表记录所有Socks5代理服务器节点状态信息,查询子模块用于向其它模块提供节点信息表的查询功能,更新子模块负责主动向Socks5代理服务器节点查询、或接收Socks5代理服务器节点主动上报的状态信息,并更新节点信息表;评价子模块负责对各个Socks5代理服务器节点进行打分;
所述NTP对时模块用于Socks5代理服务器节点进行对时。
4.根据权利要求1所述的智能切换Socks5代理服务器节点的系统,其特征在于:所述Socks5代理服务器节点用于接收代理APP的数据包,并与所述目的服务器进行通信,将目的服务器返回的响应数据,返回给发起代理请求的代理APP;其具备的指标参数包括:IP地址、节点所在地区、网络带宽、运营商类型、当前代理连接数、当前网络负荷、网络拥塞度、丢包重发率;并设有Socks5服务器模块、节点状态上报模块以及初始化模块。
5.一种智能切换Socks5代理服务器节点的方法,其特征在于:所述方法包括以下步骤:
步骤S1:Socks5代理服务器节点初始化;同步标准时间和向中央控制服务器的节点监控模块上报节点状态;
步骤S2:中央控制服务器的节点监控模块接收并处理Socks5代理服务器节点状态上报信息;
步骤S3:中央控制服务器的节点监控模块对节点信息表的所有节点进行评价及赋予分值;
步骤S4:代理APP中的连接控制模块向中央控制服务器的节点调度模块请求一个Socks5代理服务器节点,中央控制服务器的节点调度模块返回一个和代理APP运行的设备所接入网络最近、属同一运营商网络、且分值最高的节点;
步骤S5:代理APP中的连接控制模块将中央控制服务器返回的节点信息交给Socks5客户端模块转发,Socks5客户端模块与该Socks5代理服务器节点建立代理连接;
步骤S6:代理APP进行数据的拦截、处理和转发;
步骤S7:代理APP的状态监控模块将不停对当前连接的Socks5代理服务器节点状态进行监控并进行状态评估;
步骤S8:代理APP中的连接控制模块根据的状态监控模块的评估结果触发进行节点切换;
步骤S9:代理APP中的连接控制模块触发Socks5客户端模块连接新节点,后续代理数据将通过新的节点进行转发,同时代理APP中的状态监控模块开始监控新的节点的状态;
步骤S10:代理APP中的连接控制模块触发Socks5客户端模块断开旧的连接。
6.根据权利要求5所述的智能切换Socks5代理服务器节点的方法,其特征在于:所述步骤S7中的状态监控模块包括在线状态监控和本地状态监控;所述在线状态监控用于使用退避策略向中央控制服务器的节点监控模块查询当前节点的状态信息,所述本地状态监控:利用协议转换模块中对载荷类型为TCP的IP数据报的处理机制,记录发送请求IP数据报的时间,以及接收到这个IP数据报的响应数据并恢复成响应IP数据报的时间,从而计算出一次数据请求的网络往返时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010288.7A CN113965577B (zh) | 2021-08-31 | 2021-08-31 | 一种智能切换Socks5代理服务器节点的系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010288.7A CN113965577B (zh) | 2021-08-31 | 2021-08-31 | 一种智能切换Socks5代理服务器节点的系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965577A true CN113965577A (zh) | 2022-01-21 |
CN113965577B CN113965577B (zh) | 2024-02-27 |
Family
ID=79460656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111010288.7A Active CN113965577B (zh) | 2021-08-31 | 2021-08-31 | 一种智能切换Socks5代理服务器节点的系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965577B (zh) |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020700B1 (en) * | 1997-02-28 | 2006-03-28 | International Business Machines Corporation | Client side socks server for an internet client |
WO2009132492A1 (zh) * | 2008-04-30 | 2009-11-05 | 中兴通讯股份有限公司 | 一种racs支持移动ip的系统及方法 |
CN101729543A (zh) * | 2009-12-04 | 2010-06-09 | 同济大学 | 利用异地Socks5技术改善移动SSL VPN性能的方法 |
CN101888379A (zh) * | 2010-06-28 | 2010-11-17 | 中兴通讯股份有限公司 | 网络电视多代理服务器动态链接的方法和网络电视系统 |
CN201657020U (zh) * | 2009-12-04 | 2010-11-24 | 同济大学 | 一种基于异地Socks5代理的移动SSL VPN系统 |
CN102624540A (zh) * | 2011-11-28 | 2012-08-01 | 苏州奇可思信息科技有限公司 | 具有故障无缝切换功能的多服务器代理上网方法 |
CN102624691A (zh) * | 2011-11-28 | 2012-08-01 | 苏州奇可思信息科技有限公司 | 可共用广告拦截配置信息的多代理上网方法 |
CN102984237A (zh) * | 2012-11-20 | 2013-03-20 | 北京思特奇信息技术股份有限公司 | 一种基于socket连接的数据传输系统及方法 |
CN105391813A (zh) * | 2015-10-13 | 2016-03-09 | 北京极科极客科技有限公司 | 一种socks透明代理的方法及装置 |
CN106953926A (zh) * | 2017-03-31 | 2017-07-14 | 北京奇艺世纪科技有限公司 | 一种路由方法及装置 |
CN106973107A (zh) * | 2017-03-29 | 2017-07-21 | 小沃科技有限公司 | 一种基于hook方式实现的移动客户端定向流量代理系统与方法 |
CN107566493A (zh) * | 2017-09-06 | 2018-01-09 | 中国科学院信息工程研究所 | 一种面向复杂用户需求的代理节点创建方法、代理服务方法和系统 |
CN107770138A (zh) * | 2016-08-22 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 指定ip地址的方法及代理服务器、客户端 |
CN109347817A (zh) * | 2018-10-12 | 2019-02-15 | 厦门安胜网络科技有限公司 | 一种网络安全重定向的方法及装置 |
US10292072B1 (en) * | 2010-07-26 | 2019-05-14 | Seven Networks, Llc | Mobile application traffic optimization |
CN110134896A (zh) * | 2019-05-17 | 2019-08-16 | 山东渤聚通云计算有限公司 | 一种代理服务器的监控过程及智能缓存方法 |
CN110233774A (zh) * | 2019-05-28 | 2019-09-13 | 华中科技大学 | 一种Socks代理服务器的分布式探测方法和系统 |
CN111049844A (zh) * | 2019-12-18 | 2020-04-21 | 深信服科技股份有限公司 | 基于Socks代理的上网行为管理方法、装置、设备及存储介质 |
CN111294399A (zh) * | 2020-02-04 | 2020-06-16 | 网宿科技股份有限公司 | 一种数据传输方法和装置 |
US10735540B1 (en) * | 2017-04-22 | 2020-08-04 | EMC IP Holding Company LLC | Automated proxy selection and switchover |
CN111770140A (zh) * | 2020-06-09 | 2020-10-13 | 成都中云天下科技有限公司 | 一种通信方法、用户设备及代理服务器集群 |
CN111787110A (zh) * | 2020-07-03 | 2020-10-16 | 国网湖北省电力有限公司 | 一种Socks代理发现方法及系统 |
CN113163002A (zh) * | 2021-04-09 | 2021-07-23 | 深圳市腾讯网络信息技术有限公司 | 一种服务器切换方法、装置及存储介质 |
-
2021
- 2021-08-31 CN CN202111010288.7A patent/CN113965577B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020700B1 (en) * | 1997-02-28 | 2006-03-28 | International Business Machines Corporation | Client side socks server for an internet client |
WO2009132492A1 (zh) * | 2008-04-30 | 2009-11-05 | 中兴通讯股份有限公司 | 一种racs支持移动ip的系统及方法 |
CN101729543A (zh) * | 2009-12-04 | 2010-06-09 | 同济大学 | 利用异地Socks5技术改善移动SSL VPN性能的方法 |
CN201657020U (zh) * | 2009-12-04 | 2010-11-24 | 同济大学 | 一种基于异地Socks5代理的移动SSL VPN系统 |
CN101888379A (zh) * | 2010-06-28 | 2010-11-17 | 中兴通讯股份有限公司 | 网络电视多代理服务器动态链接的方法和网络电视系统 |
US10292072B1 (en) * | 2010-07-26 | 2019-05-14 | Seven Networks, Llc | Mobile application traffic optimization |
CN102624540A (zh) * | 2011-11-28 | 2012-08-01 | 苏州奇可思信息科技有限公司 | 具有故障无缝切换功能的多服务器代理上网方法 |
CN102624691A (zh) * | 2011-11-28 | 2012-08-01 | 苏州奇可思信息科技有限公司 | 可共用广告拦截配置信息的多代理上网方法 |
CN102984237A (zh) * | 2012-11-20 | 2013-03-20 | 北京思特奇信息技术股份有限公司 | 一种基于socket连接的数据传输系统及方法 |
CN105391813A (zh) * | 2015-10-13 | 2016-03-09 | 北京极科极客科技有限公司 | 一种socks透明代理的方法及装置 |
CN107770138A (zh) * | 2016-08-22 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 指定ip地址的方法及代理服务器、客户端 |
CN106973107A (zh) * | 2017-03-29 | 2017-07-21 | 小沃科技有限公司 | 一种基于hook方式实现的移动客户端定向流量代理系统与方法 |
CN106953926A (zh) * | 2017-03-31 | 2017-07-14 | 北京奇艺世纪科技有限公司 | 一种路由方法及装置 |
US10735540B1 (en) * | 2017-04-22 | 2020-08-04 | EMC IP Holding Company LLC | Automated proxy selection and switchover |
CN107566493A (zh) * | 2017-09-06 | 2018-01-09 | 中国科学院信息工程研究所 | 一种面向复杂用户需求的代理节点创建方法、代理服务方法和系统 |
CN109347817A (zh) * | 2018-10-12 | 2019-02-15 | 厦门安胜网络科技有限公司 | 一种网络安全重定向的方法及装置 |
CN110134896A (zh) * | 2019-05-17 | 2019-08-16 | 山东渤聚通云计算有限公司 | 一种代理服务器的监控过程及智能缓存方法 |
CN110233774A (zh) * | 2019-05-28 | 2019-09-13 | 华中科技大学 | 一种Socks代理服务器的分布式探测方法和系统 |
CN111049844A (zh) * | 2019-12-18 | 2020-04-21 | 深信服科技股份有限公司 | 基于Socks代理的上网行为管理方法、装置、设备及存储介质 |
CN111294399A (zh) * | 2020-02-04 | 2020-06-16 | 网宿科技股份有限公司 | 一种数据传输方法和装置 |
CN111770140A (zh) * | 2020-06-09 | 2020-10-13 | 成都中云天下科技有限公司 | 一种通信方法、用户设备及代理服务器集群 |
CN111787110A (zh) * | 2020-07-03 | 2020-10-16 | 国网湖北省电力有限公司 | 一种Socks代理发现方法及系统 |
CN113163002A (zh) * | 2021-04-09 | 2021-07-23 | 深圳市腾讯网络信息技术有限公司 | 一种服务器切换方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113965577B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8447871B1 (en) | Simplified method for processing multiple connections from the same client | |
US9154557B2 (en) | Automatic proxy registration and discovery in a multi-proxy communication system | |
CA2637743C (en) | Method and apparatus for the assessment and optimization of network traffic | |
US11533260B2 (en) | Network traffic appliance for triggering augmented data collection on a network based on traffic patterns | |
JP2003289327A (ja) | 移動ホストを含むパケット通信ネットワークにおけるキャッシュ可能なストリーミング・コンテンツの管理システム | |
WO2021135419A1 (zh) | 更新路由信息的方法、装置、计算机设备和存储介质 | |
CN112671495A (zh) | 一种调整确定性时延的方法和系统 | |
WO2012065531A1 (zh) | 实现中继选择的方法及装置、系统 | |
JP2009303090A (ja) | 負荷分散サーバ、ネットワーク負荷分散方法および輻輳回避方法 | |
CN112367217B (zh) | 一种面向软件定义网络的协作式大流检测方法及系统 | |
EP1730892A1 (en) | Intelligent routing within wireless communication systems | |
WO2006075559A1 (ja) | 通信方法および受信端末 | |
EP3754933A1 (en) | Fault diagnosis method and apparatus therefor | |
CN110545213A (zh) | 计算机网络数据流量监测系统及方法 | |
CN103188132A (zh) | 基于内容分发网络的即时通讯方法及系统 | |
CN113965577B (zh) | 一种智能切换Socks5代理服务器节点的系统与方法 | |
CN114095508A (zh) | 一种同交换机下p2p传输的方法 | |
KR102682499B1 (ko) | Sdn 환경에서의 실시간 서버 트래픽 제어 방법 및 이러한 방법을 수행하는 장치 | |
CN112422367B (zh) | 一种云控策略多协议实现网络延迟检测的方法及系统 | |
WO2024065424A1 (zh) | 链路优化方法和系统 | |
KR20020088149A (ko) | 클라이언트 그룹화를 이용한 인터넷 상에서의 대용량데이타 전송 및 중계 방법 | |
CN115550432A (zh) | 一种动态数据的订阅和推送方法及系统 | |
CN117579703A (zh) | 用于sip信令服务集群的负载均衡方法、系统及存储介质 | |
CN116506369A (zh) | 一种双栈网络流量调度方法 | |
JP2004260292A (ja) | トラヒック集約システムおよびトラヒック集約方法並びにそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |