CN114448670B - 一种数据传输方法、装置及电子设备 - Google Patents
一种数据传输方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114448670B CN114448670B CN202111613811.5A CN202111613811A CN114448670B CN 114448670 B CN114448670 B CN 114448670B CN 202111613811 A CN202111613811 A CN 202111613811A CN 114448670 B CN114448670 B CN 114448670B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- proxy
- address
- information
- 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.)
- Active
Links
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/141—Setup of application 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/22—Parsing or analysis of headers
-
- 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)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据传输方法,该方法包括:获取客户端需要使用隧道代理的请求信息;基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接;将已建立连接的信息发送至客户端,并接收客户端发送的待传输数据;将待传输数据通过与隧道代理地址之间的连接进行传输。本发明通过统一接入的思路,使用隧道代理程序实现统一接入端口,只需将隧道代理程序的地址当做普通的隧道代理地址填写到程序代码当中使用,就可以使客户端在接入大量代理时像使用普通隧道代理一样,无需其他额外的操作,简化隧道代理的使用方式,进而降低代码的复杂性同时提高了效率,为用户带来了便利。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种数据传输方法、装置及电子设备。
背景技术
隧道代理技术是一种通过HTTP连接发送非HTTP流量的技术,该技术通过HTTP协议的正文部分来完成通讯和协商,以HTTP的方式实现任意基于TCP的应用层协议代理。在Web应用当中,其主要应用场景是用来传输HTTPS流量,这是因为基本的HTTP代理(RFC 7230)在执行代理时需要修改HTTP报文中的相应信息才能达到代理的目的,这种方式在访问HTTPS协议的网站时是不可行的,因此使用普通的HTTP代理无法代理访问HTTPS协议的网站,因此需要隧道代理技术来进行代理。
各个编程语言中较为主流的HTTP客户端都实现了代理的功能,在使用时,只需要将所使用的代理地址填写到对应的位置,而这种填写是硬编码的,在每次需要更换使用的代理时都需要手动的替换程序中对应的位置,那么在面对需要频繁切换代理的场景时,虽然可以通过某些方法来实现代理的动态切换,但是都需要在代码中实现代理切换相关的逻辑,这无疑会增加代码的复杂性,且会降低应用的性能或提高部署的难度;另外一种方式是使用代理池,将管理代理切换的逻辑独立出来,需要对代码做侵入式的修改,在代码中增加了额外的逻辑,同样提高了代码的复杂性;代理池作为单独的应用,在程序需要使用代理时,首先向代理池请求,然后再使用得到的代理,但是应用和代理池是各自独立的进程,在两者交互时也会产生额外的开销,导致应用的性能降低。
发明内容
有鉴于此,本发明实施例提供了一种数据传输方法,以解决现有技术中利用隧道代理实现数据传输需要添加代理管理逻辑导致复代码杂度高、应用性能下降的问题。
为达到上述目的,本发明提供如下技术方案:
本发明实施例提供了一种数据传输方法,用于隧道代理程序,包括:
获取客户端需要使用隧道代理的请求信息;
基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接;
将已建立连接的信息发送至所述客户端,并接收所述客户端发送的待传输数据;
将所述待传输数据通过与所述隧道代理地址之间的连接进行传输。
可选的,所述基于所述请求信息确定隧道代理地址,包括:
对所述请求信息进行解析,得到附加信息;
提取所述附加信息中的身份信息和代理需求;
从预设的隧道代理数据库中匹配与所述身份信息对应的代理组;
根据所述代理需求从所述代理组中确定隧道代理地址。
可选的,所述根据所述代理需求从所述代理组中确定隧道代理地址,包括:
根据所述代理需求匹配代理选择策略,所述代理选择策略包括:随机选择、负载均衡和亲和性;
基于所述代理选择策略从所述代理组中确定隧道代理地址。
可选的,所述数据传输方法,在从预设的隧道代理数据库中匹配与所述身份信息对应的代理组之前,所述方法还包括:
从所述附加信息中提取安全信息;
基于预设的密钥授权对所述安全信息进行验证;
若通过验证,则从预设的隧道代理数据库中匹配与所述身份信息对应的代理组。
可选的,所述数据传输方法,还包括:
建立隧道代理数据库;
将所述隧道代理数据库中的多个隧道代理地址进行分组,得到多个代理组;
对所述多个代理组进行标记,并建立所述标记与所述身份信息之间的对应关系。
本发明实施例还提供了一种数据传输方法,应用于客户端,包括:
获取隧道代理程序的地址;
基于所述地址向隧道代理程序发送需要使用隧道代理的请求信息;
接收已建立连接的信息,所述已建立连接的信息为所述隧道代理程序基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接后得到的信息;
将需要代理的数据发送至所述隧道代理程序,以使所述隧道代理程序将所述待传输数据通过与所述隧道代理地址之间的连接进行传输。
本发明实施例还提供了一种数据传输装置,用于隧道代理程序,包括:
信息获取模块,用于获取客户端需要使用隧道代理的请求信息;
连接模块,用于基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接;
接收模块,用于将已建立连接的信息发送至所述客户端,并接收所述客户端发送的待传输数据;
传输模块,用于将所述待传输数据通过与所述隧道代理地址之间的连接进行传输。
本发明实施例还提供了一种数据传输装置,应用于客户端,包括:
地址获取模块,用于获取隧道代理程序的地址;
请求模块,用于基于所述地址向隧道代理程序发送需要使用隧道代理的请求信息;
确认模块,用于接收已建立连接的信息,所述已建立连接的信息为所述隧道代理程序基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接后得到的信息;
发送模块,用于将需要代理的数据发送至所述隧道代理程序,以使所述隧道代理程序将所述待传输数据通过与所述隧道代理地址之间的连接进行传输。
本发明实施例还提供了一种电子设备,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明实施例提供的数据传输方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例提供的数据传输方法。
本发明技术方案,具有如下优点:
本发明提供了一种数据传输方法,用于隧道代理程序,通过获取客户端需要使用隧道代理的请求信息;基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接;将已建立连接的信息发送至客户端,并接收客户端发送的待传输数据;将待传输数据通过与隧道代理地址之间的连接进行传输。本发明通过统一接入的思路,使用隧道代理程序实现统一接入端口,只需将隧道代理程序的地址当做普通的隧道代理地址填写到程序代码当中使用,就可以使客户端在接入大量代理时像使用普通隧道代理一样,无需其他额外的操作,简化隧道代理的使用方式,进而降低代码的复杂性同时提高了效率,为用户带来了便利。
本发明提供了一种数据传输方法,用于客户端,通过获取隧道代理程序的地址;基于地址向隧道代理程序发送需要使用隧道代理的请求信息;接收已建立连接的信息,已建立连接的信息为隧道代理程序基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接后得到的信息;将需要代理的数据发送至隧道代理程序,以使隧道代理程序将待传输数据通过与隧道代理地址之间的连接进行传输。本发明通过向隧道代理程序发送隧道代理请求,接收到已连接反馈后发送需要传输的数据即可完成数据传输,即使需要接入大量的代理,也可以通过统一接入口进行操作,简化了隧道代理的使用方式,有效提高了隧道代理的使用效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的数据传输方法的流程图;
图2为根据本发明实施例中另一数据传输方法的流程图;
图3为本发明实施例中的数据传输装置的结构示意图;
图4为本发明实施例中另一数据传输装置的结构示意图;
图5为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例,提供了一种数据传输方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据传输方法,可用于隧道代理程序,如图1所示,该数据传输方法包括如下步骤:
步骤S1:获取客户端需要使用隧道代理的请求信息。
步骤S2:基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接。
步骤S3:将已建立连接的信息发送至客户端,并接收客户端发送的待传输数据。具体的,与选取的代理P建立连接时,按照隧道代理的标准,向其发送方法为CONNECT的HTTP请求来建立连接。在与选取的隧道代理地址P成功的建立连接后,按照隧道代理的标准,向应用回复指定的HTTP报文,其中状态码为200,而状态为Connection established。
步骤S4:将待传输数据通过与隧道代理地址之间的连接进行传输。具体的,接收到了待传输数据,将待传输数据写入到与隧道代理地址P建立的连接当中,其中包括以下步骤:
1)隧道代理程序首先劫持(Hijack)和客户端发送HTTP报文的底层TCP连接,然后将其与隧道代理地址P建立的连接对应起来。
2)将来自劫持的TCP连接的数据写入到与隧道代理地址P建立的连接当中,并将隧道代理地址P回复的数据写回到劫持的TCP连接中。
3)在流量传输完毕后,关闭两个连接。
通过上述步骤S1至步骤S4,本发明实施例提供的数据传输方法,用于隧道代理程序,通过统一接入的思路,使用隧道代理程序实现统一接入端口,只需将隧道代理程序的地址当做普通的隧道代理地址填写到程序代码当中使用,就可以使客户端在接入大量代理时像使用普通隧道代理一样,无需其他额外的操作,简化隧道代理的使用方式,进而降低代码的复杂性同时提高了效率,为用户带来了便利。
具体地,在一实施例中,上述的步骤S2,具体包括如下步骤:
步骤S21:对请求信息进行解析,得到附加信息。具体的,将接收到的请求二进制流按照HTTP报文的格式进行解析;读取解析得到的报文Header中的Proxy-Authorization字段,将其按照base64编码的格式进行解码,获得附加信息的具体值。
步骤S22:提取附加信息中的身份信息和代理需求。
步骤S23:从预设的隧道代理数据库中匹配与身份信息对应的代理组。
步骤S24:根据代理需求从代理组中确定隧道代理地址。
具体的,附加信息的格式例如:项目名(身份信息/代理组名称):代理需求(代理切换方式):安全信息(密钥)”,如:“ProjectA:Random:secret”,通过以上附加信息即可告知程序选取ProjectA组内对应的隧道代理地址,并以安全信息(secret)进行密钥认证,在组内切换代理地址时使用随机切换(Random)的方式确定隧道代理地址。通过上述方式确定隧道代理地址,可以根据客户端的需求,在大量隧道代理使用场景下提供了更加灵活方便的管理及切换能力,再进行地址切换时无需手动修改地址,节省了大量的时间和人力资源,提高了工作效率。
具体地,在一实施例中,上述的步骤S24,具体包括如下步骤:
步骤S241:根据代理需求匹配代理选择策略,代理选择策略包括:随机选择、负载均衡和亲和性。
步骤S242:基于代理选择策略从代理组中确定隧道代理地址。
具体的,若为随机选择(对应字段值为Random),则从代理组随机抽取一个隧道代理地址,这时选取的隧道代理P按照下面方式选取:
P=Rand(PG)
其中Rand(PG)指从代理组中随机选取一个隧道代理地址。
若为负载均衡(对应字段值为LoadBalance),则使用的隧道代理P照以下方式选取:
P=min(Balance(Pi)),Pi∈PG
其中Balance(Pi)指Pi的负载,即每次选取PG中负载最小的代理,负载由程序进行统计,每次选取时对应隧道代理地址的负载值加一,数据传输完毕后链接断开时隧道代理地址的负载值减一。
若策略为亲和性(字段值为Affinity),那么对于同一应用,每次都会选取同一个隧道代理地址,则使用的代理P按照以下方式选取:
其中Pre(Cj)为取客户端Cj上次使用的隧道代理地址;整体逻辑为若有之前的使用记录,那么取上次使用的隧道代理地址;若无使用记录,这随机选取一个隧道代理地址。
具体地,在一实施例中,上述的步骤S23之前,还包括如下步骤:
步骤S2301:从附加信息中提取安全信息。
步骤S2302:基于预设的密钥授权对安全信息进行验证。
步骤S2303:若通过验证,则从预设的隧道代理数据库中匹配与身份信息对应的代理组。
具体的,使用附加信息中的安全信息进行授权验证,如果安全通过验证,则按照附加信息的身份信息选取与身份信息对应的代理组,则PG,即根据标识选取的代理组定义如下:
PG={Pi|Flag(Pi)=PF,Pi∈AP}
其中:AP指录入到程序中的所有代理,而Flag(Pi)指代理Pi录入时的标识,PF指对应的分组标识值。
通过安全验证,可以有效的防止未授权的客户端使用隧道代理地址进行数据传输,增加隧道代理程序的安全性;还可以在一些实际情况,修改隧道代理程序内部的验证密钥,使超出使用期限的客户端无法继续使用隧道代理。
具体地,在一实施例中,上述的步骤S2,还包括如下步骤:
步骤S201:建立隧道代理数据库。
步骤S202:将隧道代理数据库中的多个隧道代理地址进行分组,得到多个代理组。
步骤S203:对多个代理组进行标记,并建立标记与身份信息之间的对应关系。
具体的,通过建立隧道代理数据库,将多个隧道代理地址预先写入隧道代理程序,在需要大量使用隧道代理的时候,只需要监听隧道代理程序的地址,实现统一接入端口,查找对应分组的隧道代理地址并按照需求进行选择,无需在切换时手动修改每个隧道代理的地址,相较于逐个修改地址,本申请实施例提供的方案大大简化了隧道代理的使用方式,进而降低代码的复杂性同时提升了整体传输的性能。
在本实施例中提供了一种数据传输方法,可用于客户端,如图2所示,该数据传输方法包括如下步骤:
步骤S51:获取隧道代理程序的地址。
步骤S52:基于地址向隧道代理程序发送需要使用隧道代理的请求信息。
步骤S53:接收已建立连接的信息,已建立连接的信息为隧道代理程序基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接后得到的信息。具体的,客户端接收到了隧道代理程序的回复,开始发送需要代理的数据,整个隧道代理已经建立,其过程通过HTTP报文进行沟通和协商。
步骤S54:将需要代理的数据发送至隧道代理程序,以使隧道代理程序将待传输数据通过与隧道代理地址之间的连接进行传输。
具体的,通过向隧道代理程序发送隧道代理请求,接收到已连接反馈后发送需要传输的数据即可完成数据传输,即使需要接入大量的代理,也可以通过统一接入口进行操作,简化了隧道代理的使用方式,有效提高了隧道代理的使用效率。
在本实施例中提供了一种隧道代理系统,包括隧道代理程序和客户端,其中,
客户端获取隧道代理程序的地址;基于地址向隧道代理程序发送需要使用隧道代理的请求信息;
隧道代理程序获取客户端需要使用隧道代理的请求信息;基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接;将已建立连接的信息发送至客户端;
客户端接收已建立连接的信息,已建立连接的信息为隧道代理程序基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接后得到的信息;
隧道代理程序接收客户端发送的待传输数据;
客户端将需要代理的数据发送至隧道代理程序,以使隧道代理程序将待传输数据通过与隧道代理地址之间的连接进行传输。
隧道代理程序将待传输数据通过与隧道代理地址之间的连接进行传输。
具体的,本发明实施例提供的一种数据传输系统,通过统一接入的思路,使用隧道代理程序实现统一接入端口,使客户端在接入大量代理时像使用普通隧道代理一样,无需其他额外的操作,简化隧道代理的使用方式,进而降低代码的复杂性同时提高了效率,为用户带来了便利。同时客户端仅需通过向隧道代理程序发送隧道代理请求,接收到已连接反馈后发送需要传输的数据即可完成数据传输,简化了隧道代理的使用方式,有效提高了隧道代理的使用效率。
在本实施例中还提供了一种数据传输装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种数据传输装置,应用于隧道代理程序,如图3所示,包括:
信息获取模块101,用于获取客户端需要使用隧道代理的请求信息,详细内容参见上述方法实施例中步骤S1的相关描述,在此不再进行赘述。
连接模块102,用于基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接,详细内容参见上述方法实施例中步骤S2的相关描述,在此不再进行赘述。
接收模块103,用于将已建立连接的信息发送至客户端,并接收客户端发送的待传输数据,详细内容参见上述方法实施例中步骤S3的相关描述,在此不再进行赘述。
传输模块104,用于将待传输数据通过与隧道代理地址之间的连接进行传输,详细内容参见上述方法实施例中步骤S4的相关描述,在此不再进行赘述。
本实施例提供一种数据传输装置,应用于客户端,如图4所示,包括:
地址获取模块201,用于获取隧道代理程序的地址,详细内容参见上述方法实施例中步骤S51的相关描述,在此不再进行赘述。
请求模块202,用于基于地址向隧道代理程序发送需要使用隧道代理的请求信息,详细内容参见上述方法实施例中步骤S52的相关描述,在此不再进行赘述。
确认模块203,用于接收已建立连接的信息,已建立连接的信息为隧道代理程序基于请求信息确定隧道代理地址,并建立与隧道代理地址之间的连接后得到的信息,详细内容参见上述方法实施例中步骤S53的相关描述,在此不再进行赘述。
发送模块204,用于将需要代理的数据发送至隧道代理程序,以使隧道代理程序将待传输数据通过与隧道代理地址之间的连接进行传输,详细内容参见上述方法实施例中步骤S54的相关描述,在此不再进行赘述。
本实施例中的数据传输装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
根据本发明实施例还提供了一种电子设备,如图5所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的客户端;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (9)
1.一种数据传输方法,用于隧道代理程序,其特征在于,包括:
获取客户端需要使用隧道代理的请求信息;
基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接;
将已建立连接的信息发送至所述客户端,并接收所述客户端发送的待传输数据;
将所述待传输数据通过与所述隧道代理地址之间的连接进行传输;
所述基于所述请求信息确定隧道代理地址,包括:
对所述请求信息进行解析,得到附加信息;
提取所述附加信息中的身份信息和代理需求;
从预设的隧道代理数据库中匹配与所述身份信息对应的代理组;
根据所述代理需求从所述代理组中确定隧道代理地址。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述代理需求从所述代理组中确定隧道代理地址,包括:
根据所述代理需求匹配代理选择策略,所述代理选择策略包括:随机选择、负载均衡和亲和性;
基于所述代理选择策略从所述代理组中确定隧道代理地址。
3.根据权利要求1所述的数据传输方法,其特征在于,在从预设的隧道代理数据库中匹配与所述身份信息对应的代理组之前,所述方法还包括:
从所述附加信息中提取安全信息;
基于预设的密钥授权对所述安全信息进行验证;
若通过验证,则从预设的隧道代理数据库中匹配与所述身份信息对应的代理组。
4.根据权利要求1所述的数据传输方法,其特征在于,还包括:
建立隧道代理数据库;
将所述隧道代理数据库中的多个隧道代理地址进行分组,得到多个代理组;
对所述多个代理组进行标记,并建立所述标记与所述身份信息之间的对应关系。
5.一种数据传输方法,用于客户端,其特征在于,包括:
获取隧道代理程序的地址;
基于所述地址向隧道代理程序发送需要使用隧道代理的请求信息;
接收已建立连接的信息,所述已建立连接的信息为所述隧道代理程序基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接后得到的信息;所述基于所述请求信息确定隧道代理地址,包括:对所述请求信息进行解析,得到附加信息;提取所述附加信息中的身份信息和代理需求;从预设的隧道代理数据库中匹配与所述身份信息对应的代理组;根据所述代理需求从所述代理组中确定隧道代理地址;
将需要代理的数据发送至所述隧道代理程序,以使所述隧道代理程序将待传输数据通过与所述隧道代理地址之间的连接进行传输。
6.一种数据传输装置,应用于隧道代理程序,其特征在于,包括:
信息获取模块,用于获取客户端需要使用隧道代理的请求信息;
连接模块,用于基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接;所述基于所述请求信息确定隧道代理地址,包括:对所述请求信息进行解析,得到附加信息;提取所述附加信息中的身份信息和代理需求;从预设的隧道代理数据库中匹配与所述身份信息对应的代理组;根据所述代理需求从所述代理组中确定隧道代理地址;
接收模块,用于将已建立连接的信息发送至所述客户端,并接收所述客户端发送的待传输数据;
传输模块,用于将所述待传输数据通过与所述隧道代理地址之间的连接进行传输。
7.一种数据传输装置,应用于客户端,其特征在于,包括:
地址获取模块,用于获取隧道代理程序的地址;
请求模块,用于基于所述地址向隧道代理程序发送需要使用隧道代理的请求信息;
确认模块,用于接收已建立连接的信息,所述已建立连接的信息为所述隧道代理程序基于所述请求信息确定隧道代理地址,并建立与所述隧道代理地址之间的连接后得到的信息;所述基于所述请求信息确定隧道代理地址,包括:对所述请求信息进行解析,得到附加信息;提取所述附加信息中的身份信息和代理需求;从预设的隧道代理数据库中匹配与所述身份信息对应的代理组;根据所述代理需求从所述代理组中确定隧道代理地址;
发送模块,用于将需要代理的数据发送至所述隧道代理程序,以使所述隧道代理程序将待传输数据通过与所述隧道代理地址之间的连接进行传输。
8.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-4或权利要求5中任一项所述的数据传输方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-4或权利要求5中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111613811.5A CN114448670B (zh) | 2021-12-27 | 2021-12-27 | 一种数据传输方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111613811.5A CN114448670B (zh) | 2021-12-27 | 2021-12-27 | 一种数据传输方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114448670A CN114448670A (zh) | 2022-05-06 |
CN114448670B true CN114448670B (zh) | 2023-06-23 |
Family
ID=81364542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111613811.5A Active CN114448670B (zh) | 2021-12-27 | 2021-12-27 | 一种数据传输方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114448670B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8978093B1 (en) * | 2012-05-03 | 2015-03-10 | Google Inc. | Policy based trust of proxies |
CN104468625A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 |
CN107624233A (zh) * | 2016-11-24 | 2018-01-23 | 深圳前海达闼云端智能科技有限公司 | 一种vpn传输隧道调度方法、装置以及vpn客户端服务器 |
WO2018109531A1 (en) * | 2016-12-15 | 2018-06-21 | Nokia Technologies Oy | Method and apparatus for tunnel endpoint ip address selection in a network environment |
CN108337249A (zh) * | 2018-01-19 | 2018-07-27 | 论客科技(广州)有限公司 | 一种数据安全传输方法、系统与装置 |
CN111147420A (zh) * | 2018-11-02 | 2020-05-12 | 深信服科技股份有限公司 | 数据容灾方法、装置、系统、设备及计算机可读存储介质 |
CN111447132A (zh) * | 2020-03-16 | 2020-07-24 | 广州华多网络科技有限公司 | 数据传输方法、装置、系统以及计算机存储介质 |
CN112260926A (zh) * | 2020-10-16 | 2021-01-22 | 上海叠念信息科技有限公司 | 虚拟专用网络的数据传输系统、方法、装置、设备及存储介质 |
CN113329096A (zh) * | 2021-06-23 | 2021-08-31 | 未鲲(上海)科技服务有限公司 | 消息传输方法、装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016153935A1 (en) * | 2015-03-20 | 2016-09-29 | Mobile Iron, Inc. | Converting mobile traffic between ip vpn and transport level vpn |
WO2021211724A1 (en) * | 2020-04-14 | 2021-10-21 | Netmotion Software, Inc. | Mobile management system |
-
2021
- 2021-12-27 CN CN202111613811.5A patent/CN114448670B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8978093B1 (en) * | 2012-05-03 | 2015-03-10 | Google Inc. | Policy based trust of proxies |
CN104468625A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 |
CN107624233A (zh) * | 2016-11-24 | 2018-01-23 | 深圳前海达闼云端智能科技有限公司 | 一种vpn传输隧道调度方法、装置以及vpn客户端服务器 |
WO2018109531A1 (en) * | 2016-12-15 | 2018-06-21 | Nokia Technologies Oy | Method and apparatus for tunnel endpoint ip address selection in a network environment |
CN108337249A (zh) * | 2018-01-19 | 2018-07-27 | 论客科技(广州)有限公司 | 一种数据安全传输方法、系统与装置 |
CN111147420A (zh) * | 2018-11-02 | 2020-05-12 | 深信服科技股份有限公司 | 数据容灾方法、装置、系统、设备及计算机可读存储介质 |
CN111447132A (zh) * | 2020-03-16 | 2020-07-24 | 广州华多网络科技有限公司 | 数据传输方法、装置、系统以及计算机存储介质 |
CN112260926A (zh) * | 2020-10-16 | 2021-01-22 | 上海叠念信息科技有限公司 | 虚拟专用网络的数据传输系统、方法、装置、设备及存储介质 |
CN113329096A (zh) * | 2021-06-23 | 2021-08-31 | 未鲲(上海)科技服务有限公司 | 消息传输方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
Research on Encrypted Network Traffic Identification;宋晓芙;《中国优秀硕士学位论文全文数据库 信息科技辑》;I139-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114448670A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180248985A1 (en) | Load Balancing and Session Persistence in Packet Networks | |
US10313402B2 (en) | Single pass load balancing and session persistence in packet networks | |
CN102801616B (zh) | 报文发送和接收的方法、装置和系统 | |
CN102790808B (zh) | 一种域名解析方法和系统、一种客户端 | |
CN110365741B (zh) | 一种连接建立方法及中转服务器 | |
US9258305B2 (en) | Authentication method, transfer apparatus, and authentication server | |
EP2633667B1 (en) | System and method for on the fly protocol conversion in obtaining policy enforcement information | |
CN110365701B (zh) | 客户终端设备的管理方法、装置、计算设备及存储介质 | |
CN111600914B (zh) | 一种数据传输方法、服务端和客户端 | |
US10020916B2 (en) | Method and apparatus for data communication of vehicle | |
CN111010363B (zh) | 信息认证方法及其系统、认证模块以及用户终端 | |
CN102143131B (zh) | 用户注销方法及认证服务器 | |
CN108200158A (zh) | 请求传输系统、方法、装置及存储介质 | |
US10419212B2 (en) | Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols | |
CN110417632B (zh) | 一种网络通信方法、系统及服务器 | |
CN105491169A (zh) | 一种数据代理方法与系统 | |
CN112994897A (zh) | 证书查询方法、装置、设备及计算机可读存储介质 | |
CN110943992B (zh) | 一种入口认证系统、方法、装置、计算机设备和存储介质 | |
CN103313245B (zh) | 基于手机终端的网络业务访问方法、设备和系统 | |
CN114448670B (zh) | 一种数据传输方法、装置及电子设备 | |
CN110049024B (zh) | 一种数据传输方法、中转服务器及接入网点服务器 | |
CN107800758B (zh) | 风控数据处理方法、装置及系统 | |
CN102195979B (zh) | 基于加速key进行网络加速的方法及加速key | |
CN116074028A (zh) | 加密流量的访问控制方法、装置及系统 | |
CN108632090B (zh) | 网络管理方法及系统 |
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 |