CN114070833A - 多协议服务兼容方法、***、设备、介质和程序产品 - Google Patents
多协议服务兼容方法、***、设备、介质和程序产品 Download PDFInfo
- Publication number
- CN114070833A CN114070833A CN202111372651.XA CN202111372651A CN114070833A CN 114070833 A CN114070833 A CN 114070833A CN 202111372651 A CN202111372651 A CN 202111372651A CN 114070833 A CN114070833 A CN 114070833A
- Authority
- CN
- China
- Prior art keywords
- protocol type
- server
- http
- client
- 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.)
- Pending
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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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
- 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/08—Protocols for interworking; Protocol conversion
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种多协议服务兼容方法,可以应用于互联网技术领域。该多协议服务兼容方法包括:接收客户端发起的访问请求;识别访问请求的第一协议类型,以获取访问请求包括的报文;识别客户端所请求访问的服务器支持的第二协议类型;当第一协议类型和第二协议类型不同时,将报文按照第二协议类型封装后发送给服务器,以使服务器处理访问请求。该方法可以实现HTTP/1.X、HTTP/2到HTTP/3的平缓过渡。本公开还提供了一种多协议服务兼容***、设备、存储介质和程序产品。
Description
技术领域
本公开涉及互联网技术领域,具体地涉及一种多协议服务兼容方法、***、设备、介质和程序产品。
背景技术
HTTP协议(Hyper Text Transfer Protocol,超文本传输协议)是一种属于应用层的面向对象的协议,工作于客户端-服务端架构为上。目前主要的HTTP协议版本为HTTP/1.X、HTTP/2、HTTP/3。其中,HTTP1.X为超文本传输协议,是运行在TCP/IP协议簌之上的HTTP应用协议,存在队头阻塞、阻碍交互、明文传输等缺陷。HTTP/2相比于HTTP1.X性能有所提升,但存在TCP以及TCP+TLS建立连接的延时、TCP的队头阻塞并没有彻底解决、多路复用导致服务器压力上升、多路复用容易Timeout等问题。HTTP/3是一个基于UDP协议的“QUIC”协议,让HTTP跑在QUIC上而不是TCP上,它在HTTP/2的基础上又实现了质的飞跃,真正完美地解决了队头拥塞问题。随着互联网技术的发展,HTTP/3逐步替换HTTP/1.1与HTTP/2已是必然趋势。
由于HTTP/3和HTTP/1.X、HTTP/2使用的传输协议不兼容,必然会存在一个长期共存的过渡期,各个WEB应用***改造也会有时间先后的差别,期间也会存在以下问题:首先,将各个不同的应用服务端从HTTP/1.X、HTTP/2改造到HTTP/3存在极大的工作量;其次,如一个应用***在进行技术改造后,如HTTP/3页面上引用了其他应用内容的链接(外链),而被引用的应用又并未支持HTTP/3,HTTP/3用户访问该页面时就会出现响应缓慢、部分内容无法显示、部分功能无法使用等情况,造成应用访问使用问题。
发明内容
鉴于上述问题,本公开提供了实现HTTP/1.X、HTTP/2到HTTP/3的平缓过渡的多协议服务兼容方法、***、设备、介质和程序产品。
根据本公开的第一个方面,提供了一种多协议服务兼容方法,应用于负载均衡代理节点,包括:接收客户端发起的访问请求;识别所述访问请求的第一协议类型,以获取所述访问请求包括的报文;识别所述客户端所请求访问的服务器支持的第二协议类型;当第一协议类型和所述第二协议类型不同时,将所述报文按照所述第二协议类型封装后发送给所述服务器,以使所述服务器处理所述访问请求。
根据本公开的实施例,还包括:接收所述服务器处理所述访问请求得到的处理结果;将所述处理结果由第二协议类型转换至第一协议类型封装后,发送给所述客户端。
根据本公开的实施例,包括:在接收所述访问请求之前,基于所述第一协议类型建立与所述客户端的连接;识别所述第二协议类型后,基于所述访问请求中包括的访问地址,建立与所述服务器的连接。
根据本公开的实施例,所述第一协议类型和所述第二协议类型为HTTP/1.X、HTTP/2或HTTP/3其中一种。
根据本公开的实施例,当所述第一协议类型为HTTP/1.X或HTTP/2时,所述负载均衡代理节点与所述客户端建立TCP连接;当所述第一协议类型为HTTP/3时,所述负载均衡代理节点与所述客户端建立UDP连接;当所述第二协议类型为HTTP/1.X或HTTP/2时,所述负载均衡代理节点与所述服务器建立TCP连接;当所述第一协议类型为HTTP/3时,所述负载均衡代理节点与所述服务器建立UDP连接。
根据本公开的实施例,还包括:存储所述第一协议类型和所述第二协议类型的对应关系;当所述负载均衡代理节点与所述客户端和所述服务器建立连接后,基于所述对应关系,执行所述访问请求或所述处理结果的协议类型的转换。
根据本公开的实施例,当所述第一协议类型和所述第二协议类型相同时,包括:直接将所述访问请求转发给所述服务器,以使所述服务器处理所述访问请求;当接收所述服务器返回的处理结果后,将所述处理结果转发给所述客户端。
本公开的第二方面提供了一种多协议服务兼容***,包括客户端、服务器和负载均衡代理节点,其中,所述负载均衡代理节点包括:请求接收模块,用于接收客户端发起的访问请求;第一协议类型识别模块,用于识别所述访问请求的第一协议类型,以获取所述访问请求包括的报文;第二协议类型识别模块,识别所述客户端所请求访问的服务器支持的第二协议类型;协议类型转换模块,用于当第一协议类型和所述第二协议类型不同时,将所述报文按照所述第二协议类型封装后发送给所述服务器,以使所述服务器处理所述访问请求。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述多协议服务兼容方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述多协议服务兼容方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述多协议服务兼容方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的多协议服务兼容方法、***、设备、介质和程序产品的应用场景图;
图2示意性示出了根据本公开实施例的多协议服务兼容方法的流程图;
图3示意性示出了根据本公开实施例的多协议服务兼容方法的另一流程图;
图4示意性示出了根据本公开实施例的多协议服务兼容方法的实施示意图;
图5示意性示出了根据本公开实施例的多协议服务兼容***的结构框图;
图6示意性示出了根据本公开实施例的负载均衡代理节点的结构框图;以及
图7示意性示出了根据本公开实施例的适于实现多协议服务兼容方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
需要说明的是,本公开多协议服务兼容方法和***可用于金融领域在不同HTTP服务之间进行信息传递,也可用于除金融领域之外的任意领域,即本公开提供的多协议服务兼容方法和***的应用领域不做限定。
本公开的实施例提供了一种多协议服务兼容方法,包括:接收客户端发起的访问请求;识别所述访问请求的第一协议类型,以获取所述访问请求包括的报文;识别该客户端所请求访问的服务器支持的第二协议类型;当第一协议类型和该第二协议类型不同时,将该报文按照该第二协议类型封装后发送给该服务器,以使该服务器处理该访问请求。该方法通过负载均衡代理节点与客户端、外链服务器双向都建立连接,实现协议改造期间的平稳过渡。
图1示意性示出了根据本公开实施例的多协议服务兼容方法的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括金融或其它领域的***、软件与其它不同协议类型的服务之间的信息交换场景。负载均衡代理节点104用以在终端设备101、102、103和服务器105、106之间提供通信链路的介质。负载均衡代理节点104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过负载均衡代理节点104与服务器105、106交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105、106可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的多协议服务兼容方法一般可以由负载均衡代理节点104执行,该负载均衡代理节点104也可以为服务器。相应地,本公开实施例所提供的多协议服务兼容***一般可以设置于该服务器中。本公开实施例所提供的多协议服务兼容方法也可以由不同于服务器105、106且能够与终端设备101、102、103和/或服务器105、106通信的服务器或服务器集群执行。相应地,本公开实施例所提供的多协议服务兼容***也可以设置于不同于服务器105、106且能够与终端设备101、102、103和/或服务器105、106通信的服务器或服务器集群中。
在本公开实施例提供的方法可应用于WEB应用***在HTTP/3改造过程中,WEB应用客户端被安装于终端设备101、102、103,与服务器105、106之间进行通讯,若WEB应用***已支持HTTP/3,但页面中有对外部链接引用的内容,提供该外部链接的外链服务器不支持HTTP/3,通过应用负载均衡代理节点,则可以使WEB应用***访问外链的内容,或者,在服务器已完成HTTP/3改造后,如有客户端使用旧有的HTTP/1.X、HTTP/2对其进行访问时,可由负载均衡代理节点将HTTP/1.X、HTTP/2请求分解后转化为HTTP/3协议,再向服务端发起访问。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图4对公开实施例的多协议服务兼容方法进行详细描述。
图2示意性示出了根据本公开实施例的多协议服务兼容方法的流程图。
如图2所示,该实施例的多协议服务兼容方法包括操作S210~操作S240,由负载均衡代理节点执行。
在操作S210,接收客户端发起的访问请求。
在操作S220,识别该访问请求的第一协议类型,以获取该访问请求包括的报文。
在操作S230,识别该客户端所请求访问的服务器支持的第二协议类型。
在操作S240,当第一协议类型和该第二协议类型不同时,将该报文按照第二协议类型封装后发送给服务器,以使该服务器处理该访问请求。
在本公开实施例中,第一协议类型和第二协议类型可以为HTTP/1.X、HTTP/2或HTTP/3其中一种,还可以是其它协议类型,在此不作具体限定。
在本公开其中一个实施例中,若WEB应用***已支持HTTP/3,其页面中有对外部链接引用的内容,但外链服务器不支持HTTP/3,只支持HTTP/1.X或HTTP/2,通过负载均衡代理节点实现HTTP/1.X或HTTP/2<->HTTP/3间的相互转换,实现使用HTTP/3的客户端与使用HTTP/1.X或HTTP/2的web服务器的互通,以使该客户端能访问应用外链的内容。
在本公开另一实施例中,若WEB应用***已完成HTTP/3改造,但仍有客户端使用旧有的HTTP/1.X、HTTP/2对其进行访问时,也由负载均衡代理节点将请求分解后转化为HTTP/3协议向服务端发起访问。
根据本公开提供的方法,可以在***进行协议改造的过程中,当第一协议类型和第二协议类型不同时,以负载均衡代理节点为中转站,在协议不同的客户端和服务端之间进行协议转换,以适应相互之间通讯协议需求,在终端用户无感知的条件下,从而可实现HTTP/1.X、HTTP/2到HTTP/3的平缓过渡。
执行操作S240后,若服务器需要向客户端返回数据,例如,当客户端向外请求外链数据时,服务器应向客户端返回其请求的数据,此时,本公开实施例提供的多协议服务兼容方法还包括操作S250~S260。
在操作S250,接收服务器处理访问请求得到的处理结果。
在操作S260,将该处理结果由第二协议类型转换至第一协议类型封装后,发送给客户端。
在本公开其中一个实施例中,当HTTP/3客户端通过应用负载均衡代理节点访问仅支持HTTP/1.X、HTTP/2的外链服务器时,负载均衡代理节点解析客户端报文,并将该报文封装为HTTP/1.X、HTTP/2协议格式后发送给外链服务器;外链服务器接收到该报文后,对其进行相应处理,生成处理结果数据包,并向负载均衡代理节点返回该处理结果数据包;负载均衡代理节点解析获取该结果报文后,从中解析出HTTP报文,将该报文封装为HTTP/3协议格式,并转发给客户端,以使客户端能解析该结构报文。
根据本公开提供的方法,可以实现客户端到服务器、服务器到客户端之间数据传输的闭环,实现不同协议类型数据的自由转换,完成不同协议类型的客户端和服务器之间的数据传递。
根据本公开提供的多协议服务兼容方法,该方法基于与客户端和服务器分别连接的负载均衡代理节点实现,其中,负载均衡代理节点对外暴露外链服务器虚拟地址,以便分别与客户端和服务器建立连接。负载均衡代理节点与客户端和服务器建立连接分别包括操作S270、280。
在操作S270,在接收访问请求之前,基于第一协议类型建立与客户端的连接。
当第一协议类型为HTTP/1.X或HTTP/2时,负载均衡代理节点与客户端建立TCP连接。
当第一协议类型为HTTP/3时,负载均衡代理节点与客户端建立UDP连接。
当第一协议类型为HTTP/1.X或HTTP/2时,HTTP报文(有效载荷)、TLS1.2+安全层协议(HTTP1.0不涉及)、TCP传输协议、服务器IP信息、服务器MAC地址信息;当第一协议类型为HTTP/3时,基于该协议类型封装的数据包包括基于该协议类型封装的数据包包括HTTP报文(有效载荷)、TLS1.3+安全层协议、QUIC协议、UDP传输协议、服务器IP信息、服务器MAC地址信息。
在操作S280,识别第二协议类型后,基于访问请求中包括的访问地址,建立与服务器的连接。
当第二协议类型为HTTP/1.X或HTTP/2时,负载均衡代理节点与服务器建立TCP连接。
当第一协议类型为HTTP/3时,负载均衡代理节点与服务器建立UDP连接。
当第二协议类型为HTTP/1.X或HTTP/2时,HTTP报文(有效载荷)、TLS1.2+安全层协议(HTTP1.0不涉及)、TCP传输协议、客户端IP信息、客户端MAC地址信息;当第二协议类型为HTTP/3时,基于该协议类型封装的数据包包括基于该协议类型封装的数据包包括HTTP报文(有效载荷)、TLS1.3+安全层协议、QUIC协议、UDP传输协议、客户端IP信息、客户端MAC地址信息。
在本公开其中一个实施例中,客户端已改造为支持HTTP/3协议,外链web服务器只支持HTTP/1.X或HTTP/2,通过负载均衡代理节点实现客户端与web服务器的互通,具体方法包括:客户端的HTTP/3请求通过基于UDP的QUIC协议发送到负载均衡代理节点后,由负载均衡代理节点将数据包解密与解封装,然后保留应用的有效荷载报文,并重新封装转换为基于TCP协议的HTTP/1.X或HTTP/2请求转发到外链web服务器去处理,web服务器处理请求后返回负载均衡代理节点,负载均衡代理节点再将HTTP/1.X或HTTP/2转换为HTTP/3返回给客户端。
当负载均衡代理节点与客户端和该客户端所请求的服务器建立稳定连接后,本公开提供的方法开可以包括操作S290。
在操作S290,存储第一协议类型和第二协议类型的对应关系。
当负载均衡代理节点与客户端和服务器建立连接后,基于该对应关系,执行该访问请求或该处理结果的协议类型的转换。
在本公开其中一个实施例中,当负载均衡代理节点与客户端、外链web服务器两边都建立了连接,同时在连接表中存储这两个不同协议连接的对应关系;在完成数据请求处理后,外链web服务器通过原有TCP链接将结果返回到负载均衡代理节点;负载均衡代理节点在收到外链web服务器的返回报文后,读取连接表,再次进行数据包解封装与重新封装、加密等操作,将基于HTTP/1.X或HTTP/2的数据包封装为支持HTTP/3;完成转换后,负载均衡代理节点将报文转发到客户端上,客户端接收返回报文并在浏览器上完成外链网页内容的展示。基于该对应关系,负载均衡代理节点无需每次进行数据转发时都要对数据接收方的协议类型进行识别,可提升数据转发效率。
图2示出的是当第一协议类型和第二协议类型不同时本公开实施例的多协议服务兼容方法的流程图,图3示意性示出了根据本公开实施例的多协议服务兼容方法的另一流程图。
如图3所示,当第一协议类型和第二协议类型相同时,本公开实施例的多协议服务兼容方法的包括操作S310~S320。
在操作S310,直接将该访问请求转发给服务器,以使该服务器处理所述访问请求。
在操作S320,当接收该服务器返回的处理结果后,将该处理结果转发给所述客户端。
根据本公开实施例提供的方法,在客户端与负载均衡代理节点连接建立后,由负载均衡代理节点判断客户端访问的是哪个后台服务器,并检测客户端的第一协议类型和服务器的第二协议类型是否相同;若不同,则执行操作S210~S240所述的方法;若相同,则客户端与服务器支持的协议类型相同,无需进行协议转换,负载均衡代理节点将直接向服务器转发客户端的请求。
图4示意性示出了根据本公开实施例的多协议服务兼容方法的实施示意图。
如图4所示,在本公开实施例中,客户端向负载均衡代理节点的虚拟地址发起访问请求,双方建立基于客户端HTTP协议的连接;在连接建立后,负载均衡代理节点判断客户端访问的是哪个后台服务器并检测是否支持HTTP/3,如支持,直接发送请求;如不支持,则通过负载均衡代理节点将HTTP/3请求数据包进行解密解封装,保留应用的有效荷载报文后重新封装为基于HTTP/1.X或HTTP/2的请求,然后向web服务器发起基于HTTP/1.X或HTTP/2访问请求,双方建立TCP连接;此时负载均衡代理节点与客户端、外链web服务器两边都建立了连接,同时在连接表中存储这两个不同协议连接的对应关系;在完成数据请求处理后,外链web服务器通过原有TCP链接将结果返回到负载均衡代理节点;负载均衡代理节点在收到外链web服务器的返回报文后,读取连接表,再次进行数据包解封装与重新封装、加密等操作,将基于HTTP/1.X或HTTP/2的数据包封装为支持HTTP/3;完成转换后,负载均衡代理节点将报文转发到客户端上,客户端接收返回报文并在浏览器上完成外链网页内容的展示;通过软负载均衡服器的协议转换功能,实现不同协议客户端到HTTP/1.X、HTTP/2或HTTP/3服务器的正常访问。
基于上述多协议服务兼容方法,本公开还提供了一种多协议服务兼容***。以下将结合图5对该***进行详细描述。
图5示意性示出了根据本公开实施例的多协议服务兼容***的结构框图。
如图5所示,该实施例的多协议服务兼容***500包括客户端510、服务器520和负载均衡代理节点530。
根据本公开的实施例,在HTTP/3的改造过程中,当客户端与其请求的服务器使用的HTTP协议不同时,由负载均衡代理节点分别与客户端和服务器建立连接,并分别识别客户端和服务器所使用的协议类型,以将客户端和服务器交换的数据转换为相应的协议类型,实现协议改造期间的平稳过渡。
图6示意性示出了根据本公开实施例的负载均衡代理节点的结构框图。
如图6所示,负载均衡代理节点530包括:请求接收模块531,第一协议类型识别模块532,第二协议类型识别模块533,协议类型转换模块534。
请求接收模块531用于接收客户端发起的访问请求。在一实施例中,请求接收模块531可以用于执行前文描述的操作S210,在此不再赘述。
第一协议类型识别模块532用于识别访问请求的第一协议类型,以获取访问请求包括的报文。在一实施例中,第一协议类型识别模块532可以用于执行前文描述的操作S220,在此不再赘述。
第二协议类型识别模块533用于识别客户端所请求访问的服务器支持的第二协议类型。在一实施例中,第二协议类型识别模块534可以用于执行前文描述的操作S230,在此不再赘述。
协议类型转换模块534用于当第一协议类型和第二协议类型不同时,将报文按照第二协议类型封装后发送给服务器,以使服务器处理访问请求。在一实施例中,协议类型转换模块540可以用于执行前文描述的操作S240,在此不再赘述。
根据本公开的实施例,请求接收模块531、第一协议类型识别模块532、第二协议类型识别模块533、协议类型转换模块534中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,请求接收模块531、第一协议类型识别模块532、第二协议类型识别模块533、协议类型转换模块534中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,请求接收模块531、第一协议类型识别模块532、第二协议类型识别模块533、协议类型转换模块534中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的适于实现多协议服务兼容方法的电子设备的方框图。
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。电子设备700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的物品推荐方法。
在该计算机程序被处理器701执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分709被下载和安装,和/或从可拆卸介质711被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种多协议服务兼容方法,应用于负载均衡代理节点,包括:
接收客户端发起的访问请求;
识别所述访问请求的第一协议类型,以获取所述访问请求包括的报文;
识别所述客户端所请求访问的服务器支持的第二协议类型;
当第一协议类型和所述第二协议类型不同时,将所述报文按照所述第二协议类型封装后发送给所述服务器,以使所述服务器处理所述访问请求。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收所述服务器处理所述访问请求得到的处理结果;
将所述处理结果由第二协议类型转换至第一协议类型封装后,发送给所述客户端。
3.根据权利要求1所述的方法,其特征在于,包括:
在接收所述访问请求之前,基于所述第一协议类型建立与所述客户端的连接;
识别所述第二协议类型后,基于所述访问请求中包括的访问地址,建立与所述服务器的连接。
4.根据权利要求3所述的方法,其特征在于,所述第一协议类型和所述第二协议类型为HTTP/1.X、HTTP/2或HTTP/3其中一种。
5.根据权利要求4所述的方法,其特征在于,当所述第一协议类型为HTTP/1.X或HTTP/2时,所述负载均衡代理节点与所述客户端建立TCP连接;
当所述第一协议类型为HTTP/3时,所述负载均衡代理节点与所述客户端建立UDP连接;
当所述第二协议类型为HTTP/1.X或HTTP/2时,所述负载均衡代理节点与所述服务器建立TCP连接;
当所述第一协议类型为HTTP/3时,所述负载均衡代理节点与所述服务器建立UDP连接。
6.根据权利要求3所述的方法,其特征在于,还包括:
存储所述第一协议类型和所述第二协议类型的对应关系;
当所述负载均衡代理节点与所述客户端和所述服务器建立连接后,基于所述对应关系,执行所述访问请求或所述处理结果的协议类型的转换。
7.根据权利要求1所述的方法,其特征在于,当所述第一协议类型和所述第二协议类型相同时,包括:
直接将所述访问请求转发给所述服务器,以使所述服务器处理所述访问请求;
当接收所述服务器返回的处理结果后,将所述处理结果转发给所述客户端。
8.一种多协议服务兼容***,包括:
客户端、服务器和负载均衡代理节点,其中,所述负载均衡代理节点包括:
请求接收模块,用于接收客户端发起的访问请求;
第一协议类型识别模块,用于识别所述访问请求的第一协议类型,以获取所述访问请求包括的报文;
第二协议类型识别模块,用于识别所述客户端所请求访问的服务器支持的第二协议类型;
协议类型转换模块,用于当第一协议类型和所述第二协议类型不同时,将所述报文按照所述第二协议类型封装后发送给所述服务器,以使所述服务器处理所述访问请求。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111372651.XA CN114070833A (zh) | 2021-11-18 | 2021-11-18 | 多协议服务兼容方法、***、设备、介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111372651.XA CN114070833A (zh) | 2021-11-18 | 2021-11-18 | 多协议服务兼容方法、***、设备、介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114070833A true CN114070833A (zh) | 2022-02-18 |
Family
ID=80278388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111372651.XA Pending CN114070833A (zh) | 2021-11-18 | 2021-11-18 | 多协议服务兼容方法、***、设备、介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070833A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062092A (zh) * | 2022-08-10 | 2022-09-16 | 阿里云计算有限公司 | 数据库访问方法、设备、***及存储介质 |
CN115314572A (zh) * | 2022-06-24 | 2022-11-08 | 国网信息通信产业集团有限公司 | 一种针对电力通信协议的协议转换方法、***及设备 |
CN116582364A (zh) * | 2023-07-12 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 数据访问方法、***、装置、电子设备及可读存储介质 |
CN116962509A (zh) * | 2023-09-20 | 2023-10-27 | 联通在线信息科技有限公司 | 基于quic协议的网络代理方法以及网络代理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN109150788A (zh) * | 2017-06-13 | 2019-01-04 | 中兴通讯股份有限公司 | 控制网络数据传输的方法、装置、网关及存储介质 |
CN112311774A (zh) * | 2020-10-16 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112600953A (zh) * | 2020-12-16 | 2021-04-02 | 下一代互联网重大应用技术(北京)工程研究中心有限公司 | 用于域名解析***的负载实现方法、装置、设备及介质 |
-
2021
- 2021-11-18 CN CN202111372651.XA patent/CN114070833A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150788A (zh) * | 2017-06-13 | 2019-01-04 | 中兴通讯股份有限公司 | 控制网络数据传输的方法、装置、网关及存储介质 |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN112311774A (zh) * | 2020-10-16 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112600953A (zh) * | 2020-12-16 | 2021-04-02 | 下一代互联网重大应用技术(北京)工程研究中心有限公司 | 用于域名解析***的负载实现方法、装置、设备及介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314572A (zh) * | 2022-06-24 | 2022-11-08 | 国网信息通信产业集团有限公司 | 一种针对电力通信协议的协议转换方法、***及设备 |
CN115314572B (zh) * | 2022-06-24 | 2024-01-16 | 国网信息通信产业集团有限公司 | 一种针对电力通信协议的协议转换方法、***及设备 |
CN115062092A (zh) * | 2022-08-10 | 2022-09-16 | 阿里云计算有限公司 | 数据库访问方法、设备、***及存储介质 |
CN115062092B (zh) * | 2022-08-10 | 2023-02-03 | 阿里云计算有限公司 | 数据库访问方法、设备、***及存储介质 |
CN116582364A (zh) * | 2023-07-12 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 数据访问方法、***、装置、电子设备及可读存储介质 |
CN116582364B (zh) * | 2023-07-12 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 数据访问方法、***、装置、电子设备及可读存储介质 |
CN116962509A (zh) * | 2023-09-20 | 2023-10-27 | 联通在线信息科技有限公司 | 基于quic协议的网络代理方法以及网络代理*** |
CN116962509B (zh) * | 2023-09-20 | 2024-02-27 | 联通在线信息科技有限公司 | 基于quic协议的网络代理方法以及网络代理*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114070833A (zh) | 多协议服务兼容方法、***、设备、介质和程序产品 | |
JP4363847B2 (ja) | インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル | |
US10498801B2 (en) | Transmitting and displaying screen content | |
CN112751898B (zh) | 负载均衡方法、装置、介质及设备 | |
EP3800867A1 (en) | Load balancing method and device | |
CN111447170A (zh) | 数据处理方法及其***、计算机***及计算机可读介质 | |
WO2024021405A1 (zh) | 一种数据传输***和方法 | |
CN113301007A (zh) | 一种数据的传输方法、计算设备及存储介质 | |
US11392402B1 (en) | Coordinated migration of network-accessible services while maintaining service availability in prior environment | |
CN113037834A (zh) | 基于分布式即时推送的Web页面状态更新方法及装置 | |
US20170142184A1 (en) | Native client multimedia redirection | |
CN112995005B (zh) | 虚拟网络数据交换方法和装置 | |
CN112653716B (zh) | 服务绑定的方法及装置 | |
CN109005250B (zh) | 用于访问服务端的方法和装置 | |
WO2023109045A1 (zh) | WebRTC连接方法及*** | |
CN113542431B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN111309497B (zh) | 信息调用的方法及装置、服务器、终端和存储介质 | |
CN114116263A (zh) | 用于浏览器中多页签通信的***、方法、设备及介质 | |
CN113722115A (zh) | 调用接口的方法、装置、设备和计算机可读介质 | |
CN112165529A (zh) | 一种低成本跨网络数据交换的方法、装置、设备和介质 | |
CN111935135B (zh) | 一种基于cmsp的amqp协议代理方法 | |
CN110636374A (zh) | 用于查找信息的方法和装置 | |
CN113852666A (zh) | 一种通过ftp协议实时获取http资源的方法 | |
CN115277875B (zh) | 一种通讯网络接口的生成方法、装置、设备及介质 | |
CN111953804B (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 |