CN112243002B - 数据转发方法、装置、电子设备以及计算机可读介质 - Google Patents
数据转发方法、装置、电子设备以及计算机可读介质 Download PDFInfo
- Publication number
- CN112243002B CN112243002B CN202011077549.2A CN202011077549A CN112243002B CN 112243002 B CN112243002 B CN 112243002B CN 202011077549 A CN202011077549 A CN 202011077549A CN 112243002 B CN112243002 B CN 112243002B
- Authority
- CN
- China
- Prior art keywords
- client
- data packet
- data
- request
- protocol
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请的实施例提供了一种数据转发方法、装置、电子设备以及计算机可读介质,本申请涉及云技术领域。本申请实施例中的数据转发方法包括接收来自客户端的请求数据包,请求数据包是客户端向特定数据服务器请求数据的数据包;若检测到请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析请求数据包,得到解析数据;基于传输控制协议对解析数据进行封装处理,得到基于传输控制协议封装的请求数据包;发送基于传输控制协议封装的请求数据包至网关。本申请的网络代理服务器和特定数据服务器均可以是云服务器。本申请实施例的技术方案提高了网络代理服务器和网关之间进行数据传输的可靠性。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据转发方法、装置、电子设备以及计算机可读介质。
背景技术
基于UDP(用户数据报协议)的客户端与数据服务器之间进行通信时,由于不需要经过连接过程即可实现数据交换,因此通信效率较高。
相关技术中,为了对客户端的访问权限进行鉴定,在客户端和数据服务器之间进行通信时,一般需要通过网络代理服务器来实现客户端与数据服务器之前的数据转发,而在网络代理服务器与网关之间转发UDP数据包时,由于UDP协议的不连接特性,使得所传输的UDP数据包在传输过程中存在容易丢失的问题。
发明内容
本申请的实施例提供了一种数据转发方法、装置、电子设备以及计算机可读介质,可以在一定程度上避免了所传输的UDP数据包在传输过程中存在容易丢失的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种数据转发方法,包括:接收来自客户端的请求数据包,所述请求数据包是所述客户端向特定数据服务器请求数据的数据包;若检测到所述请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析所述请求数据包,得到解析数据;基于传输控制协议对所述解析数据进行封装处理,得到基于传输控制协议封装的请求数据包;发送基于传输控制协议封装的请求数据包至网关,以使所述网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至所述特定数据服务器。
根据本申请实施例的一个方面,提供了一种数据转发装置,包括:第一接收单元,用于接收来自客户端的请求数据包,所述请求数据包是所述客户端向特定数据服务器请求数据的数据包;第一解析单元,用于若检测到所述请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析所述请求数据包,得到解析数据;第一封装单元,用于基于传输控制协议对所述解析数据进行封装处理,得到基于传输控制协议封装的请求数据包;第一发送单元,用于发送基于传输控制协议封装的请求数据包至网关,以使所述网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至所述特定数据服务器。
在本申请的一些实施例中,基于前述方案,第一发送单元被配置为:基于加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在本申请的一些实施例中,基于前述方案,所述请求数据包中携带所述客户端的互联网协议地址信息和端口号信息、所述特定数据服务器的互联网协议地址信息和端口号信息,第一发送单元被配置为:基于所述客户端的互联网协议地址信息和端口号信息以及所述特定数据服务器的互联网协议地址信息和端口号信息,确定是否存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道;若确定存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第二发送单元,用于若确定不存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则发送隧道建立请求至所述网关;第三发送单元,用于若接收到所述网关针对所述隧道建立请求反馈的隧道建立成功的响应通知,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至所述网关。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第四发送单元,用于若接收到所述网关针对基于传输控制协议封装的请求数据包反馈的响应数据包,则基于传输控制协议解析所述响应数据包,得到解析后的响应数据包;第一生成单元,用于基于用户数据报协议对解析后的响应数据包进行封装处理,生成基于传输控制协议封装的响应数据包;第五发送单元,用于发送基于传输控制协议封装的响应数据包至所述客户端。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第一关闭单元,用于若接收到来自客户端的隧道关闭通知,则关闭为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第二关闭单元,用于若在发送基于传输控制协议封装的响应数据包至所述客户端后的预设时间段内未检测到来自所述客户端的请求数据包,则关闭为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的数据转发方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的数据转发方法。
在本申请的一些实施例所提供的技术方案中,网络代理服务器是基于传输控制协议来与网关进行通信的,因而使得网络代理服务器在转发来自客户端的请求数据包时,避免了直接转发传输控制协议封装的数据包容易丢失的问题,提高了网络代理服务器和网关之间进行数据传输的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性***架构的示意图。
图2示出了根据本申请的一个实施例的数据转发方法的流程图。
图3示出了根据本申请的一个实施例的数据转发方法的流程图。
图4示出了根据本申请的一个实施例的数据转发方法的流程图。
图5示出了根据本申请的一个实施例的数据转发方法的流程图。
图6示出了根据本申请的一个实施例的数据转发装置的框图。
图7示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的示例性***架构的示意图。
如图1所示,***架构可以包括客户端101、网络代理服务器102、网关103、特定数据服务器104和网络105。客户端101与网络代理服务器102之间、网络代理服务器102与网关103之间以及网关103与特定数据服务器104之间均通过网络105进行连接,网络105可以包括各种连接类型,例如有线通信链路、无线通信链路等等。客户端101为请求特定数据的请求方,特定数据服务器为提供特定数据的提供方,在本实施例中的场景中,客户端101不是直接向特定数据服务器104请求数据的,而是通过网络代理服务器102来实现的。
应该理解,图1中的客户端101、网络代理服务器102、网关103、特定数据服务器104和网络105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端101、网络代理服务器102、网关103、特定数据服务器104和网络105。比如客户端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。而网络代理服务器102和特定数据服务器104可以是多个服务器组成的服务器集群等。可选地,网络代理服务器102以及特定数据服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云数据库、云存储、网络服务等基础云计算服务的云服务器。
网络代理服务器102接收来自客户端101的请求数据包,该请求数据包是客户端向特定数据服务器请求数据的数据包;若检测到请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析请求数据包,得到解析数据;基于传输控制协议对解析数据进行封装处理,得到基于传输控制协议封装的请求数据包;发送基于传输控制协议封装的请求数据包至网关,以使网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至特定数据服务器,在将网络代理服务器转发来自客户端101的请求数据包,通过将基于用户数据报协议封装的请求数据包,转换为基于传输控制协议封装的请求数据包,然后再将基于传输控制协议封装的请求数据包发送到网关,使得网络代理服务器在转发来自客户端101的请求数据包时,避免了直接转发传输控制协议封装的数据包容易丢失的问题,提高了数据传输的可靠性。
需要说明的是,本申请实施例所提供的数据转发方法一般由网络代理服务器102执行,相应地,数据转发装置一般设置于网络代理服务器102中。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2示出了根据本申请的一个实施例的数据转发方法的流程图,该数据转发方法可以由代理服务器来执行,该代理服务器可以是图1中所示的网络代理服务器102。参照图2所示,该数据转发方法至少包括步骤S210至步骤S240,以下对这些步骤进行详细描述。
在步骤S210中,接收来自客户端的请求数据包,请求数据包是客户端向特定数据服务器请求数据的数据包。
在一个实施例中,请求数据包为客户端向特定数据服务器请求数据的请求包,例如,当客户端需要访问特定数据服务器的某种业务数据时,该请求数据包可以是访问该业务数据的请求包。可以理解的是,客户端是通过网络代理服务器来向特定数据服务器请求数据的,因此,客户端的请求数据包会发送至网络代理服务器,并不会直接被发送至特定数据服务器。
在步骤S220中,若检测到请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析请求数据包,得到解析数据。
在一个实施例中,在网络代理服务器接收到来自客户端的请求数据包,可以检测来自客户端的请求数据包是否是基于用户数据报协议(UDP,User Datagram Protocol)封装的数据包,以便于解析来自客户端的请求数据包。
可选地,由于网络代理服务器中的不同端口号是用于接收采用不同协议进行封装的数据包,因此,网络代理服务器可以根据接收该请求数据包的端口号来确定请求数据包是否为基于用户数据报协议封装的数据包,若来自客户端的请求数据包是通过用于接收采用用户数据报协议进行封装的数据包的端口号进行接收的,则可以确定来自客户端的请求数据包为基于用户数据报协议封装的数据包。
可选地,客户端在封装请求数据包的过程中,采用不同的协议封装数据包,所对应的协议标识信息不同。因此,网络代理服务器在检测到从客户端接收的请求数据包是否为基于用户数据报协议封装的数据包时,可以根据数据包中所包含的协议标识信息确定请求数据包是否为基于用户数据报协议封装的数据包。
在检测到来自客户端的请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析该请求数据包,得到解析数据,以便于生成基于传输控制协议(TCP,Transmission Control Protocol)进行封装的请求数据包。
在步骤S230中,基于传输控制协议对解析数据进行封装处理,得到基于传输控制协议封装的请求数据包。
在一个实施例中,在基于用户数据报协议对来自客户端的请求数据包进行解析处理,得到解析数据后,则可以基于传输控制协议对该解析数据进行封装处理,得到基于传输控制协议封装的请求数据包,以便于通过传输控制协议来发送基于传输控制协议封装的请求数据包至网关。
在步骤S240中,发送基于传输控制协议封装的请求数据包至网关,以使网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至特定数据服务器。
在一个实施例中,在得到基于传输控制协议封装的请求数据包后,通过传输控制协议来发送基于传输控制协议封装的请求数据包至网关,网关对从网络代理服务器接收到的请求数据包进解析处理得到解析数据,再根据解析数据生成基于用户数据报协议封装的请求数据包,以使得网关可以通过用户数据报协来发送基于用户数据报协议封装的请求数据包至特定数据服务器,以便于向特定数据服务器请求对应的数据。由于网络代理服务器是基于传输控制协议的通信机制来与网关进行通信的,因而在使得网络代理服务器在转发来自客户端的请求数据包时,避免了直接转发基于传输控制协议封装的数据包容易丢失的问题,提高了网络代理服务器和网关之间进行数据传输的可靠性。
在一个实施例中,步骤S240具体可以包括:基于加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在本实施例中,网络代理服务器在发送基于传输控制协议封装的请求数据包至网关时,可以是通过基于加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关,通过加密的超文本传输协议隧道来转发基于传输控制协议封装的请求数据包至网关,可以使得网络代理服务器和网关之间进行可靠的数据传输,进而有效保证数据传输的安全性。
参考图3,图3示出了根据本申请的一个实施例的数据转发方法的流程图,在该实施例中,基于加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关的步骤可以包括步骤S310至步骤S320,以下对这些步骤进行详细描述。
在步骤S310中,基于客户端的互联网协议地址信息和端口号信息以及特定数据服务器的互联网协议地址信息和端口号信息,确定是否存在为客户端和特定数据服务器所建立的加密的超文本传输协议隧道。
在一个实施例中,从客户端接收的请求数据包中会携带有客户端的互联网协议地址(IP地址,Internet Protocol Address)信息和端口号信息、以及特定数据服务器的互联网协议地址信息和端口号信息。
网络代理服务器基于加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关时,需要先为客户端和特定数据服务器之间建立一个加密的超文本传输协议隧道。网络代理服务器具体可以通过客户端的IP地址信息和端口号信息、以及特定数据服务器的IP地址信息和端口号信息来建立一个加密的超文本传输协议隧道,这个加密的超文本传输协议隧道是专门为该客户端与特定数据服务器之间所建立的,网络代理服务器将所建立的加密的超文本传输协议隧道与客户端的IP地址信息和端口号信息、特定数据服务器的IP地址信息和端口号信息进行关联存储。
网络代理服务器在需要发送基于传输制协议封装的请求数据包至网关时,可以基于客户端的IP地址信息和端口号信息、特定数据服务器的IP地址信息和端口号信息以及加密的超文本传输协议隧道与客户端、数据服务器的关联关系,确定是否存在为客户端和特定数据服务器所建立的加密的超文本传输协议隧道。
在步骤S320中,若确定存在为客户端和特定数据服务器所建立的加密的超文本传输协议隧道,则基于为客户端和特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在一个实施例中,若确定存在为该客户端和该特定数据服务器所建立的加密的超文本传输协议隧道,则基于为该客户端和该特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
参考图4,图4示出了根据本申请的一个实施例的数据转发方法的流程图,在该实施例中数据转发方法可以包括步骤S410至步骤S420,以下对这些步骤进行详细描述。
在步骤S410中,若确定不存在为客户端和特定数据服务器所建立的加密的超文本传输协议隧道,则发送隧道建立请求至网关。
在一个实施例中,若网络代理服务器确定不存在为客户端和特定数据服务器所建立的加密的超文本传输协议隧道时,则需要先建立加密的超文本传输协议隧道,具体的,可以发送隧道建立请求至网关,该隧道建立请求可以携带客户端的IP地址信息和端口号信息、特定数据服务器的IP地址信息和端口号信息。
在步骤S420中,若接收到网关针对隧道建立请求反馈的隧道建立成功的响应通知,则基于为客户端和特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在一个实施例中,网关接收到网络代理服务器发送的隧道建立请求后,会根据隧道建立请求中携带的IP地址信息和端口号信息、特定数据服务器的IP地址信息和端口号信息对客户端进行校验,以确定是否为客户端与特定数据服务器之间建立加密的超文本传输协议隧道,若校验通过,则可以发送隧道建立成功的响应通知至网络代理服务器,若校验未通过,则可以发送隧道建立失败的响应通知至网络代理服务器。
可选地,该响应通知具体可以为一种标识隧道是否建立成功的状态码信息,例如,当状态码信息为“200”时,则表示隧道建立成功,当状态码为“202”,则表示隧道建立失败。
参考图5,图5示出了根据本申请的一个实施例的数据转发方法的流程图,在该实施例中的数据转发方法可以包括步骤S510至步骤S530,以下对这些步骤进行详细描述。
在步骤S510中,若接收到网关针对基于传输控制协议封装的请求数据包反馈的响应数据包,则基于传输控制协议解析响应数据包,得到解析后的响应数据包。
在一个实施例中,特定数据服务器在接收到网关的请求数据包后,会向网关反馈基于用户数据报协议封装的响应数据包,网关在接收到特定数据服务器所反馈的基于用户数据报协议封装的响应数据包后,可以先基于用户数据报协议对从特定数据服务器接收的响应数据包进行解析处理得到解析数据,并基于传输控制协议对协议数据进行重新封装,得到针对基于传输控制协议封装的请求数据包反馈的响应数据包,并将所得到的响应数据包发送给网络代理服务器,避免了直接转发传输控制协议封装的响应数据包容易丢失的问题,提高了网络代理服务器和网关之间进行数据传输的可靠性。
网络代理服务器在接收到网关针对基于传输控制协议封装的请求数据包反馈的响应数据包后,可以基于传输控制协议解析响应数据包,得到解析后的响应数据包。
在步骤S520中,基于用户数据报协议对解析后的响应数据包进行封装处理,生成基于传输控制协议封装的响应数据包。
在一个实施例中,网络代理服务器在得到解析后的响应数据包后,可以基于用户数据报协议对解析后的响应数据包进行封装处理,生成基于传输控制协议封装的响应数据包。
在步骤S530中,发送基于传输控制协议封装的响应数据包至客户端。
在一个实施例中,网络代理服务器发送基于传输控制协议封装的响应数据包至客户端,通过传输控制协议来将响应数据包反馈至客户端,可以有效提高网络代理服务器与客户端之间进行数据传输的效率。
在一个实施例中,数据转发方法还可以包括:若接收到来自客户端的隧道关闭通知,则关闭为客户端和特定数据服务器所建立的加密的超文本传输协议隧道。
在本实施例中,客户端在不需要从特定数据服务器中请求数据时,可以发送隧道关闭通知至网络代理服务器,以使得网络代理服务器关闭为客户端和特定数据服务器所建立的加密的超文本传输协议隧道,使得在客户端在不需要从特定数据服务器中请求数据的情况下,可以及时关闭为客户端和特定数据服务器所建立的加密的超文本传输协议隧道,及时释放资源,避免对***资源的占用。
在一个实施例中,数据转发方法还可以包括:若在发送基于传输控制协议封装的响应数据包至客户端后的预设时间段内未检测到来自客户端的请求数据包,则关闭为客户端和特定数据服务器所建立的加密的超文本传输协议隧道。
在本实施例中,由于网络故障或客户端的故障等原因,会存在网络代理服务器无法接收到来自客户端的隧道关闭通知的情况,因此,网络代理服务器在发送基于传输控制协议封装的响应数据包至客户端后,可以进行计时,以确定在发送基于传输控制协议封装的响应数据包至客户端后的预设时间段内是否检测到来自客户端的请求数据包,若在发送基于传输控制协议封装的响应数据包至客户端后的预设时间段内未检测到来自客户端的请求数据包,则关闭为客户端和特定数据服务器所建立的加密的超文本传输协议隧道,可以在网络故障或客户端的故障等原因而导致未接收到客户端的请求数据包时,也能及时关闭为客户端和特定数据服务器所建立的加密的超文本传输协议隧道,从而及时释放资源,避免对***资源的占用。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据转发方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据转发方法的实施例。
图6示出了根据本申请的一个实施例的数据转发装置的框图。
参照图6所示,根据本申请的一个实施例的数据转发装置600,包括:第一接收单元610、第一解析单元620、第一封装单元630以及第一发送单元640。其中,第一接收单元610,用于接收来自客户端的请求数据包,所述请求数据包是所述客户端向特定数据服务器请求数据的数据包;第一解析单元620,用于若检测到所述请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析所述请求数据包,得到解析数据;第一封装单元630,用于基于传输控制协议对所述解析数据进行封装处理,得到基于传输控制协议封装的请求数据包;第一发送单元640,用于发送基于传输控制协议封装的请求数据包至网关,以使所述网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至所述特定数据服务器。
在本申请的一些实施例中,基于前述方案,第一发送单元640被配置为:基于加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在本申请的一些实施例中,基于前述方案,所述请求数据包中携带所述客户端的互联网协议地址信息和端口号信息、所述特定数据服务器的互联网协议地址信息和端口号信息,第一发送单元640被配置为:基于所述客户端的互联网协议地址信息和端口号信息以及所述特定数据服务器的互联网协议地址信息和端口号信息,确定是否存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道;若确定存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第二发送单元,用于若确定不存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则发送隧道建立请求至所述网关;第三发送单元,用于若接收到所述网关针对所述隧道建立请求反馈的隧道建立成功的响应通知,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至所述网关。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第四发送单元,用于若接收到所述网关针对基于传输控制协议封装的请求数据包反馈的响应数据包,则基于传输控制协议解析所述响应数据包,得到解析后的响应数据包;第一生成单元,用于基于用户数据报协议对解析后的响应数据包进行封装处理,生成基于传输控制协议封装的响应数据包;第五发送单元,用于发送基于传输控制协议封装的响应数据包至所述客户端。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第一关闭单元,用于若接收到来自客户端的隧道关闭通知,则关闭为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道。
在本申请的一些实施例中,基于前述方案,所述数据转发装置还包括:第二关闭单元,用于若在发送基于传输控制协议封装的响应数据包至所述客户端后的预设时间段内未检测到来自所述客户端的请求数据包,则关闭为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道。
图7示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
需要说明的是,图7示出的电子设备的计算机***700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机***710包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从储存部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 703中,还存储有***操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的储存部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (8)
1.一种数据转发方法,其特征在于,应用于网络代理服务器,包括:
接收来自客户端的请求数据包,所述请求数据包是所述客户端向特定数据服务器请求数据的数据包;
根据接收所述请求数据包的端口号或者所述请求数据包中所包含的协议标识信息,确定所述请求数据包封装时采用的协议,若检测到所述请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析所述请求数据包,得到解析数据;
基于传输控制协议对所述解析数据进行封装处理,得到基于传输控制协议封装的请求数据包,所述基于传输控制协议封装的请求数据包中携带所述客户端的互联网协议地址信息和端口号信息、所述特定数据服务器的互联网协议地址信息和端口号信息;
基于所述客户端的互联网协议地址信息和端口号信息以及所述特定数据服务器的互联网协议地址信息和端口号信息,确定是否存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道;
若确定存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关,以使所述网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至所述特定数据服务器。
2.根据权利要求1所述的数据转发方法,其特征在于,所述数据转发方法,还包括;
若确定不存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则发送隧道建立请求至所述网关;
若接收到所述网关针对所述隧道建立请求反馈的隧道建立成功的响应通知,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至所述网关。
3.根据权利要求1所述的数据转发方法,其特征在于,所述数据转发方法,还包括:
若接收到所述网关针对基于传输控制协议封装的请求数据包反馈的响应数据包,则基于传输控制协议解析所述响应数据包,得到解析后的响应数据包;
基于用户数据报协议对解析后的响应数据包进行封装处理,生成基于传输控制协议封装的响应数据包;
发送基于传输控制协议封装的响应数据包至所述客户端。
4.根据权利要求3所述的数据转发方法,其特征在于,所述数据转发方法,还包括:
若接收到来自客户端的隧道关闭通知,则关闭为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道。
5.根据权利要求3所述的数据转发方法,其特征在于,所述数据转发方法,还包括:
若在发送基于传输控制协议封装的响应数据包至所述客户端后的预设时间段内未检测到来自所述客户端的请求数据包,则关闭为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道。
6.一种数据转发装置,其特征在于,包括:
第一接收单元,用于接收来自客户端的请求数据包,所述请求数据包是所述客户端向特定数据服务器请求数据的数据包;
第一解析单元,用于根据接收所述请求数据包的端口号或者所述请求数据包中所包含的协议标识信息,确定所述请求数据包封装时采用的协议,若检测到所述请求数据包为基于用户数据报协议封装的数据包,则基于用户数据报协议解析所述请求数据包,得到解析数据;
第一封装单元,用于基于传输控制协议对所述解析数据进行封装处理,得到基于传输控制协议封装的请求数据包,所述基于传输控制协议封装的请求数据包中携带所述客户端的互联网协议地址信息和端口号信息、所述特定数据服务器的互联网协议地址信息和端口号信息;
第一发送单元,用于基于所述客户端的互联网协议地址信息和端口号信息以及所述特定数据服务器的互联网协议地址信息和端口号信息,确定是否存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道;若确定存在为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道,则基于为所述客户端和所述特定数据服务器所建立的加密的超文本传输协议隧道发送基于传输控制协议封装的请求数据包至网关,以使所述网关根据接收到的请求数据包生成基于用户数据报协议封装的请求数据包,并将所生成的请求数据包发送至所述特定数据服务器。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的数据转发方法。
8.一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011077549.2A CN112243002B (zh) | 2020-10-10 | 2020-10-10 | 数据转发方法、装置、电子设备以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011077549.2A CN112243002B (zh) | 2020-10-10 | 2020-10-10 | 数据转发方法、装置、电子设备以及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112243002A CN112243002A (zh) | 2021-01-19 |
CN112243002B true CN112243002B (zh) | 2023-07-04 |
Family
ID=74168751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011077549.2A Active CN112243002B (zh) | 2020-10-10 | 2020-10-10 | 数据转发方法、装置、电子设备以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112243002B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002203A (zh) * | 2021-03-02 | 2022-09-02 | 京东科技信息技术有限公司 | 数据包抓取方法、装置、设备及计算机可读介质 |
WO2022193103A1 (zh) * | 2021-03-15 | 2022-09-22 | 华为技术有限公司 | 数据传输方法、装置及*** |
CN113328877B (zh) * | 2021-05-06 | 2022-03-15 | 北京天空卫士网络安全技术有限公司 | 一种端口协议的确定方法和装置 |
CN114866624A (zh) * | 2022-03-25 | 2022-08-05 | 深圳市国电科技通信有限公司 | 数据传输方法、电子设备及存储介质 |
WO2023184264A1 (zh) * | 2022-03-30 | 2023-10-05 | 北京小米移动软件有限公司 | 一种流量代理方法、装置、电子设备及存储介质 |
WO2023184263A1 (zh) * | 2022-03-30 | 2023-10-05 | 北京小米移动软件有限公司 | 一种建立用户数据报协议udp传输通道的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108064443A (zh) * | 2017-09-30 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种代理转发方法和装置、代理服务器和多级代理网络 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1209894C (zh) * | 2001-10-15 | 2005-07-06 | 东方通信股份有限公司 | 简单网络管理协议中报文可靠传输的方法 |
CN102088460B (zh) * | 2010-12-29 | 2013-07-17 | 北京新媒传信科技有限公司 | 受限网络中流媒体数据的传输方法、设备和*** |
RU2530663C2 (ru) * | 2012-11-16 | 2014-10-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ передачи данных в цифровых сетях передачи данных по протоколу тср/ip через нттр |
CN107547478B (zh) * | 2016-06-28 | 2020-09-11 | 华为技术有限公司 | 报文传输方法、装置及*** |
US9998299B2 (en) * | 2016-07-20 | 2018-06-12 | Oracle International Corporation | Efficient transport of encapsulated media traffic over restrictive networks |
CN111711554A (zh) * | 2020-04-13 | 2020-09-25 | 北京天维信通科技有限公司 | 基于tcp的udp隧道的数据传输方法和装置及设备 |
-
2020
- 2020-10-10 CN CN202011077549.2A patent/CN112243002B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108064443A (zh) * | 2017-09-30 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种代理转发方法和装置、代理服务器和多级代理网络 |
Also Published As
Publication number | Publication date |
---|---|
CN112243002A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112243002B (zh) | 数据转发方法、装置、电子设备以及计算机可读介质 | |
US11907700B2 (en) | Upgrading method and system, server, and terminal device | |
US20190082026A1 (en) | Interface invocation method and apparatus for hybrid cloud | |
US8868786B1 (en) | Apparatus, systems and methods for transformation services | |
CN111062024B (zh) | 一种应用登录方法和装置 | |
CN111159614B (zh) | 网页资源获取方法以及装置 | |
CN113179323B (zh) | 用于负载均衡设备的https请求处理方法、装置及*** | |
CN111258602B (zh) | 信息更新方法和装置 | |
CN107465693B (zh) | 请求消息处理方法和装置 | |
EP3319267A1 (en) | Wireless system access control method and device | |
CN110769009B (zh) | 用户身份认证方法及*** | |
CN103347092A (zh) | 一种识别缓存文件的方法及装置 | |
CN112702336A (zh) | 政务服务的安全控制方法、装置、安全网关及存储介质 | |
CN110868276A (zh) | 用于物联网设备间的数据传输方法、***和电子设备 | |
CN112866385B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN114584381A (zh) | 基于网关的安全认证方法、装置、电子设备和存储介质 | |
CN108512889B (zh) | 一种基于http的应用响应推送方法及代理服务器 | |
CN113179317A (zh) | 内容重写设备的测试***及方法 | |
CN110572394B (zh) | 访问控制方法及装置 | |
CN110177096B (zh) | 客户端认证方法、装置、介质和计算设备 | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN108234393B (zh) | 优化数据链路层报文的方法及装置 | |
WO2019184206A1 (zh) | 身份认证方法及装置 | |
CN112929453A (zh) | 一种共享session数据的方法和装置 | |
CN111552907A (zh) | 消息处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038179 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |