CN112615822B - 一种消息处理方法、装置、计算设备及可读存储介质 - Google Patents
一种消息处理方法、装置、计算设备及可读存储介质 Download PDFInfo
- Publication number
- CN112615822B CN112615822B CN202011408232.2A CN202011408232A CN112615822B CN 112615822 B CN112615822 B CN 112615822B CN 202011408232 A CN202011408232 A CN 202011408232A CN 112615822 B CN112615822 B CN 112615822B
- Authority
- CN
- China
- Prior art keywords
- message
- request message
- request
- protocol type
- computing device
- 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/03—Protocol definition or specification
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种消息处理方法,在计算设备中执行,该计算设备具有至少一个应用服务端,每个应用服务端绑定一个端口,计算设备通过该端口与多个应用客户端建立通信连接,该通信连接具有不同的连接类型,通过该端口接收多种类型的请求消息,方法包括:监听端口,以接收应用客户端发送的请求消息;识别请求消息的协议类型,消息的协议类型与通信连接的连接类型相对应;对请求消息进行解码;将解码后的消息转化成预定格式的消息,以便计算设备中运行的应用程序对预定格式的消息进行处理并生成第一响应消息;将第一响应消息转换成第二响应消息发送给对应的应用客户端。本发明一并公开了相应的装置、计算设备及可读存储介质。
Description
技术领域
本发明涉及计算机通信领域,尤其涉及一种消息处理方法、装置、计算设备及可读存储介质。
背景技术
在一个业务应用系统中,网络中的两个应用程序要想完成通信,就不可避免的在两个应用程序之间建立通信连接。根据两个应用程序之间数据传输类型的不同建立不同类型的连接。socket能够提供端到端的通信,客户端根据服务端提供的IP地址和端口绑定一个socket与服务端建立连接,服务端创建另一个socket绑定本地端口进行监听,客户端通过向服务端发送连接请求与服务端建立端对端的TCP连接,一旦建立这个连接之后,通信双方就没有客户端、服务端之分了,提供的就是端对端通信。而HTTP连接使用的是“请求—响应”的方式,服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。WebSocket是一种为了提高Web应用程序的性能以及响应性而开发的网络协议,是基于TCP的应用层协议,采用一次HTTP握手,其发送的请求报文和Socket是有区别的。
在一个应用系统中,一个应用程序的服务器作为多个应用服务端,需要与多客户端进行通信,包括HTTP客户端、WebSocket客户端、TCP客户端等,比如我们通过web端从该应用程序服务器获取一个网页,则通过建立HTTP连接进行通信,当我们通过web客户端从服务器获取数据时,则建立该客户端与应用程序服务器之间的WebSocket连接,如果应用程序服务器还需要与TCP客户端进行通信,则建立与TCP客户端之间的TCP连接,这样一来,每种连接占用一个单独的通信端口,使得研发过程中涉及大量重复代码的编写和多种协议格式制定的问题,如果数据协议报文格式发生变化和升级,将会带来繁重的研发工作任务。
进而出现了基于Springboot的WebSocket技术方案,虽然可以在一个应用程序中支持TCP、HTTP和WebSocket协议,但是本质上使用的是不同端口来完成不同客户端的连接。后来又出现了基于netty的WebSocket技术方案,Netty框架基于HTTP协议栈开发了WebSocket协议栈,第一次握手请求消息由HTTP协议承载,如果消息头中没有包含Upgrade字段或者值不是WebSocket,则表示不支持WebSocket协议,可以认定其为HTTP协议,通过Netty框架实现了HTTP和WebSocket端口的统一,但是想同时支持TCP消息,也需要通过单独的应用程序来完成。
以上两种技术虽然实现了HTTP连接和WebSocket连接的接口统一,但是还是不能较好的满足服务器需要建立多种连接同时通信的需求,在开发过程中TCP协议数据传输与HTTP、WebSocket不能进行统一,仍然存在这大量的冗余代码的编写。
发明内容
为此,本发明提供了一种消息处理方法、装置、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种消息处理方法,适于在计算设备中执行,计算设备具有至少一个应用服务端,每个应用服务端绑定计算设备的一个端口,计算设备通信通过该端口与多个应用客户端建立通信连接,通信连接具有不同的连接类型,端口适于接收多个应用客户端的请求消息,方法包括:监听端口,以接收应用客户端发送的请求消息;根据预设规则识别请求消息的协议类型,协议类型与通信连接的类型相对应;根据请求消息的协议类型对请求消息进行解码,获得解码消息;将解码消息转化成预定格式的消息,以便计算设备中运行的应用程序对预定格式的消息进行处理并生成第一响应消息。
可选的,在根据本发明的消息处理方法中,根据预设规则识别请求消息的协议类型包括:获取请求消息的消息头部,并对消息头部进行解码;根据解码后的消息头部识别请求消息的协议类型。
可选的,在根据本发明的消息处理方法中,请求消息的协议类型包括TCP、HTTP和WebSocket,根据解码后的消息头部识别请求消息的协议类型包括:判断解码后的消息头部是否包含POST、GET和OPTIONS中任意字符;若否,则判断请求消息为TCP请求消息;若是,则判断解码后的消息头部是否为GET/ws,若是,则判断请求消息为WebSocket请求消息;若否,则判断请求消息为HTTP请求消息。
可选的,在根据本发明的消息处理方法中,根据请求消息的协议类型对请求消息进行解码包括:根据请求消息的协议类型获取相应的解码器;通过解码器对请求消息进行解码。
可选的,在根据本发明的消息处理方法中,请求消息为WebSocket数据请求消息,解码消息为数据帧格式,将解码消息转化成预定格式的消息包括:将数据帧格式的解码消息转换为json字符串格式。
可选的,在根据本发明的消息处理方法中,请求消息为TCP请求消息,解码消息为报文格式,将解码消息转化成预定格式的消息包括:根据预设的分隔符截取解码消息中的完整报文数据段;将完整报文数据段转换为json字符串格式。
可选的,在根据本发明的消息处理方法中,预定格式的消息包括:消息唯一标识符、消息版本号、消息发送时间、消息发送方信息、消息接收方信息、消息类型和消息内容。
可选的,在根据本发明的消息处理方法中,消息发送方信息包括:发送方标识符、发送方名称和发送方站点标识;消息接收方信息包括:接收方标识符、接收方名称和接收方站点标识。
可选的,在根据本发明的消息处理方法中,还包括:根据请求消息的协议类型,将第一响应消息转换成第二响应消息;根据请求消息的协议类型对第二响应消息进行编码和数据封装,得到对应协议类型的数据包,将数据包通过端口发送给应用客户端。
可选的,在根据本发明的消息处理方法中,第一响应消息为json格式,请求消息为TCP消息,根据请求消息的协议类型,将第一响应消息转换成第二响应消息包括:将第一响应消息转换成报文格式,并在完整报文数据块结尾添加分隔符。
可选的,在根据本发明的消息处理方法中,请求消息为WebSocket消息,根据请求消息的协议类型,将第一响应消息转换成第二响应消息包括:将第一响应消息转换成数据帧格式。
可选的,在根据本发明的消息处理方法中,还包括:当计算设备中运行的应用程序生成第一推送消息时,根据应用服务端与应用客户端的连接类型,将第一推送消息转换成第二推送消息,第一推送消息为json格式;根据应用服务端与应用客户端的连接类型,对第二推送消息进行编码和数据封装,生成对应连接类型的数据包;将数据包通过端口发送给应用客户端。
可选的,在根据本发明的消息处理方法中,应用服务端与应用客户端的连接类型为TCP连接,将第一推送消息转换成第二推送消息包括:将第一推送消息转换成报文格式,并在完整报文数据块结尾添加分隔符。
可选的,在根据本发明的消息处理方法中,应用服务端与应用客户端的连接类型为WebSocket连接,将第一推送消息转换成第二推送消息包括:述第一推送消息转换成数据帧格式。
根据本发明的又一个方面,提供一种消息处理装置,适于驻留在计算设备中,计算设备具有至少一个应用服务端,每个应用服务端绑定计算设备的一个端口,计算设备通过该端口与多个应用客户端建立通信连接,通信连接具有不同的连接类型,端口适于接收多个应用客户端的请求消息,消息处理装置包括:消息接收单元,适于监听端口,以接收应用客户端发送的请求消息;消息识别单元,适于根据预设规则识别请求消息的协议类型,协议类型与通信连接的类型相对应;消息解码单元,适于根据请求消息的协议类型对请求消息进行解码,获得解码消息;消息标准化单元,适于将解码消息转化成预定格式的消息,以便计算设备中运行的应用程序对预定格式的消息进行处理并生成第一响应消息;消息响应单元,适于将第一响应消息转换成第二响应消息发送给对应的应用客户端。
可选的,在根据本发明的消息处理装置中,还包括:消息转换单元,适于根据请求消息的协议类型,将第一响应消息转换成第二响应消息;消息编码单元,适于根据请求消息的协议类型,对第二响应消息进行编码和数据封装,生成对应协议类型的数据包;消息发送单元,适于将所述数据包发送给应用客户端。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上所述的消息处理方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上所述的消息处理方法。
根据本发明的消息处理方法,通过一个应用服务端绑定一个端口来接收处理来自不同连接类型客户端的不同请求消息,在开发过程中,将不同协议类型的消息统一处理,减少了开发过程中重复代码的编写,避免了针对多种协议格式分别制定数据处理机制的问题。对解码后的消息通过标准化统一成预定格式,通过一种处理机制处理来自不同连接的数据,以较小的资源实现了不同协议的统一处理,同时,在业务范围内扩展升级也能做到灵活适配,避免了大量的研发改造工作。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的消息处理系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的框图;
图3示出了根据本发明一个实施例的消息处理方法300的流程图;
图4示出了根据本发明一个实施例的消息处理方法400的流程图;
图5示出了根据本发明一个实施例的消息处理方法500的流程图;
图6示出了根据本发明一个实施例的消息处理装置600的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的消息处理系统100的示意图。如图1所示,消息处理系统100包括计算设备200、客户端110(包括客户端110-1、客户端110-2、客户端110-3),其中,客户端110与计算设备200通信连接,客户端可以是智能手机、平板电脑、桌面计算机、数据服务器、数据存储装置等,但不限于此。应当指出,图1所示的消息处理系统100仅为示例性的。
计算设备200是具备通信、计算、存储功能的设备,其可以实现为服务器,例如应用服务器、Web服务器等,但不限于此。应当指出,计算设备200可以实现为一台服务器,也可以实现为由多台服务器所构成的集群或分布式系统;当其是多台服务器时,这多台服务器可以部署于同一地理位置,也可以分散布置于多个地理位置,本发明对计算设备200所包括的服务器的数量以及各服务器的部署位置均不做限制。
客户端110例如可以是桌面计算机、笔记本计算机等个人配置的计算机,可以是其他服务器,也可以是手机、平板电脑、多媒体播放器、智能可穿戴设备等移动终端,还可以是智能电视、智能门禁、工控设备等物联网(Internetof Things,IoT)设备,但不限于此。
根据在本发明的一个实施例,计算设备200可以实现一个应用程序服务器,具有至少一个应用服务端,服务端绑定计算设备的一个端口,通过该端口可以与不同的客户端建立不同的连接,例如HTTP连接、TCP连接、WebSocket连接等,客户端110可以是不同连接的客户端,客户端中还可以安装应用程序,例如购物应用、资讯类应用、即时通信应用等,但不限于此。客户端110在与计算设备进行通信时,本质上是客户端的一个进程和计算设备中的一个进行的通信,根据不同的通信需求,客户端和计算设备间建立不同的连接,包括TCP连接、HTTP连接、WebSocket连接等。
根据本发明的一个实施例,用户通过web客户端从服务器端(例如计算设备200)获取一个实时数据时,需要建立与服务器端的WebSocket连接(例如客户端110-3),通过WebSocket消息建立连接和传输数据;用户通过web客户端获取服务器端的一个网页数据,在web客户端与服务器端之间建立的HTTP连接完成网页数据的传输;如果服务器端接收到某客户端的TCP请求消息,则建立与该客户端的TCP连接。
计算设备200可以根据客户端的请求消息与客户端110之间建立不同的通信连接,包括WebSocket连接、HTTP连接、TCP连接,接收不同协议类型的消息,为了简化开发过程并且对不同类型消息实现统一处理,计算设备200通过同一端口接收来自不同连接的消息,通过消息数据的消息头部所包含的关键字的不同区分消息数据的协议类型,为了实现对消息的统一处理,将收到的消息进行标准化转换成统一的预定格式,进而将预定格式的消息传输给上层应用层进行处理,应用层根据请求消息生成响应消息,再由计算设备根据对应的请求消息的协议类型(也即与对应的客户端之间的连接类型)进行数据编码和封装,最终将将响应消息发送给相应的客户端。
图2示出了根据本发明一个实施例的计算设备200的示意图。需要说明的是,图2所示的计算设备200仅为一个示例,在实践中,用于实施本发明的消息处理方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图2所示的计算设备200相同,也可以与图2所示的计算设备200不同。实践中用于实施本发明的消息处理方法的计算设备可以对图2所示的计算设备200的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器204读取。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。操作系统220例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用222包括用于实现各种用户期望的功能的程序指令,应用222例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用222被安装到计算设备200中时,可以向操作系统220添加驱动模块。
在计算设备200启动运行时,处理器204会从存储器206中读取操作系统220的程序指令并执行。应用222运行在操作系统220之上,利用操作系统220以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用222时,应用222会加载至存储器206中,处理器204从存储器206中读取并执行应用222的程序指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备142包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括用于执行本发明的作消息处理方法300/消息处理方法400/消息处理方法500的指令,该指令可以指示处理器204执行本发明的消息处理生成方法300/消息处理方法400/消息处理方法500,以实时调整作业数据的资源配置。
图3示出了根据本发明一个实施例的消息处理方法300的流程图。消息处理方法300适于在计算设备(例如图2所示的计算设备)中执行。该计算设备具有多个应用服务端,可以建立多种通信连接,例如HTTP连接、TCP连接和WebSocket连接,这样一来,计算设备可以与HTTP客户端、TCP客户端、WebSocket客户端进行连接通信,服务端绑定一个端口,计算设备可以通过该端口与不同连接的客户端连接通信。根据本发明的一个实施例,计算设备的多个应用服务端可以基于netty框架实现。
如图3所示,方法300始于步骤S310,监听应用服务端绑定的端口,接收来自不同连接的客户端的请求消息。根据连接类型的不同,数据请求消息具有不同的类型。
在接收到客户端发送的消息之后,首先通过步骤S320识别接收到的消息的协议类型。可以根据消息的头部信息识别消息的协议类型,获取消息的头部字节并进行解码,判断解码后的消息头部是否包括GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT等字符串,如果不是,则判断该消息为TCP消息,如果包含上述字段,继续判断是否包含字符“GET/ws”,如果包含,则判断为WebSocket消息,否则判断为HTTP消息。根据本发明的一个实施例,消息头部的解码可以通过扩展netty框架中解码器实现,在消息处理的初始位置添加一个消息头解码器。
根据本发明的一个实施例,计算设备为一个应用程序的服务器,用户通过终端设备web客户端从服务器获取一个网页数据时,服务器端将接收到该客户端的HTTP消息,截取消息头部字节进行解码,根据消息头部中包含GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT等字符串判断消息为HTTP消息。
根据本发明的一个实施例,用户通过客户端从服务器端获取实时数据时,建立客户端与服务器端的WebSocket连接(本质时终端设备中一进程与服务器端一进程的通信连接),在通信过程中,服务器端接收来自客户端的WebSocket消息,截取消息头部字节进行解码,根据消息头部中包含“GET/ws”判断消息为WebSocket消息。
根据本发明的一个实施例,某客户端通过TCP连接服务器获取数据,则服务器端会接收到该客户端发送的TCP消息,截取消息头部字节进行解码,根据消息头部中不包含GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT等字符判断消息为TCP消息。
获取到消息的协议类型后,进入步骤S330,通过对应的消息解码器对消息进行解码。
根据本发明的一个实施例,在采用netty框架实现的应用服务器中,首先根据HTTP消息处理流程初始化一条处理器(handler)职责链,每个处理器负责完成HTTP消息处理过程中的一个操作,利用netty具有动态增删处理器的功能,结合步骤S320获得的消息类型,在本步骤(S330)中增加对应该消息协议类型的消息编解码处理器和具体业务逻辑处理器,并删除与本消息类型无关的处理器,形成一条针对该消息协议类型的处理器职责链。
根据本发明的一个实施例,如果步骤S320的消息类型识别结果为WebSocket消息,则在本步骤中添加WebSocket消息解码器,对该WebSocket消息进行解码,同时删除与WebSocket消息无关的处理器,比如,删除TCP解码器。
当步骤S320消息类型识别结果为TCP消息时,步骤S330将添加TCP消息解码器,删除处理器职责链中与TCP无关的处理器。
当消息类型识别为HTTP消息时,因为最初的处理器职责链是根据HTTP消息处理生成的处理器职责链,已经包含有HTTP消息解码器,本步骤中不需要重新添加HTTP消息解码器。
消息完成解码后进入步骤S340,对解码后的消息进行标准化处理,将不同协议类型的消息转换成统一的预定格式。本实施例中将解码消息转换成标准的json格式。
对于HTTP消息,消息内容本身就是json字符串格式,因此不需要特殊处理。
TCP消息在解码后为报文格式,在每一个完整报文结束时会有分隔符,在TCP消息标准化时,首先需要通过检查报文分隔符获取TCP消息中的完整的报文,进而将报文数据段转换成json字符串格式,将消息中包含的多个报文转换成的json字符串进行拼接。分隔符可以根据约定进行设置,例如,通过“#$#$”作为完成报文数据的分隔符。
WebSocket消息解码后的数据为数据帧格式,在标准化处理过程中,需要将数据帧格式转换成标准json字符串格式。
根据本发明的一个实施例,标准json字符串包括消息唯一标识符、消息版本号、消息发送时间、消息发送方信息、消息接收方信息、消息类型和消息内容,其中消息接收方信息包括:接收方标识符、接收方名称和接收方站点标识,消息发送方信息包括:发送方标识符、发送方名称和发送方站点标识。
完成消息标准化处理后,将消息通过应用程序接口传递给应用程序进行处理。
图4示出了根据本发明一个实施例的消息处理方法400的流程图,该流程图是接收到请求消息后发送响应消息的过程。
如图4所示,方法400始于步骤S410,通过应用程序接口接收应用程序生成的响应消息,请求消息最终由应用程序进行处理,并根据请求内容生成相应的响应消息,这里称之为第一响应消息。
随后,进入步骤S420,将第一响应消息转化成第二响应消息,其中,第一响应消息为json字符串格式。
根据本发明的一个实施例,应用服务端接收到的请求消息是WebSocket消息,也需要返回WebSocket格式的响应消息,而WebSocket消息传输的是数据帧格式,则在该步骤中,需要将json字符串格式的第一响应消息转换成数据帧格式。
根据本发明的一个实施例,应用服务端接收到的请求消息是TCP消息,需要返回TCP响应消息,而TCP是以报文格式进行数据传输的,则该步骤中,需要将json字符串格式的第一响应消息转换成报文格式。
根据本发明的又一个实施例,应用服务端接收到HTTP请求消息,需要回应HTTP响应消息,HTTP在消息传递过程中本身就是json格式,因此本步骤中不需要进行处理。
随后,进入步骤S430,通过对应请求消息的协议类型的编码器对响应消息进行编码。
随后,进入步骤S440,将消息添加对应协议类型的消息头部进行封装,封装成用于传输的数据包。
最后通过步骤S450将数据包通过应用服务端所绑定的端口发送给对应的客户端。
需要说明的是,在应用服务端与应用客户端的连接建立好之后,后续的数据传输都是根据该建立好的连接进行数据传输的。换言之,当应用服务端与应用客户端之间建立起TCP连接时,后续将以该TCP连接进行数据传输,当应用服务端与应用客户端之间建立起WebSocket连接时,后续将以该WebSocket连接进行数据传输。
图5示出了根据本发明一个实施例的消息处理方法500的流程图;该流程图是应用服务端主动推送消息的流程图。
如图5所示,方法500始于步骤S510,接收上层应用程序生成的推送消息。根据本发明的一个实施例,当应用程序发现有数据信息更新时,会主动将更新的数据信息生成推送消息推送给客户端。
随后,进入步骤S520,将推送消息进行转换,应用程序最初产生的推送消息为json字符串格式。根据本发明的一个实施例,要将推送消息推送给TCP连接的应用客户端时,需要以TCP消息的方式发送,而TCP消息传输的是报文格式,在本步骤中,需要将json字符串转换成报文格式。当要把推送消息推送给WebSocket连接的应用客户端时,需要以WebSocket消息进行发送,而WebSocket消息传输的是数据帧格式,本步骤中,需要将json字符串转换成数据帧格式。
随后进入步骤S530,根据对应应用客户端的连接类型,对消息进行编码,如果与应用客户端的连接类型为TCP连接,则进行TCP编码,如果与应用客户端的连接类型为WebSocket连接,则进行WebSocket编码。
随后进入步骤S540,根据对应应用客户端的连接类型,对消息进行封装,如果与应用客户端的连接类型为TCP连接,则将TCP编码后的推送消息封装成TCP数据包,如果与应用客户端的连接类型为WebSocket连接,则将WebSocket编码后的推送数据封装成WebSocket数据包。
最后通过步骤S550,通过应用服务端所绑定的端口将数据包发送给相应的应用客户端。
需要说明的是,推送消息只通过与客户端之间建立的TCP、WebSocket等长连接进行推送,不会通过HTTP消息进行推送。
图6示出了根据本发明一个实施例的消息处理装置600的框图,适于驻留在计算设备(例如图2所示的计算设备)中,执行消息处理方法300/消息处理方法400/消息处理方法500。该计算设备具有多个应用服务端,可以建立多种通信连接,例如HTTP连接、TCP连接、WebSocket连接,这样一来,计算设备可以与HTTP客户端、TCP客户端、WebSocket客户端进行连接通信,服务端绑定一个端口,计算设备可以通过该端口与不同连接的客户端连接通信。
如图6所示,消息处理装置包括消息接收单元610、消息识别单元620、消息解码单元630、消息标准化单元640和消息转换单元660、消息编码单元670、消息封装单元680、消息发送单元690。
消息接收单元610监听应用服务端绑定的计算设备的端口,接收来自不同连接类型的不同客户端的请求消息,请求消息具有不同的协议类型,包括TCP消息、HTTP消息、WebSocket消息,为了能够同时支持多种应用场景的数据通信,并且避免研发过程中大量的重复代码,通过一个端口处理多种协议类型的消息。消息接收单元610在接收到客户端的消息后,发送给消息识别单元620。
消息识别单元620分别与消息接收单元610和消息解码单元630连接,接收消息接收单元610获取到的客户端发送的请求消息,并对消息头进行解码分析,识别消息的协议类型。
获取到消息的协议类型后,将消息识别单元620将消息发送到消息解码单元630,在消息解码单元630中加载对应该消息协议类型的解码器对消息数据进行解码。
消息标准化单元640与消息解码单元630连接,接收解码后的消息数据,并将其转换为标准json字符串格式。例如,将报文格式的TCP消息转换成标准json字符串,将数据帧格式的WebSocket消息转换成标准json字符串格式,对于本身就是json格式的HTTP消息,则不需要做任何处理。消息标准化单元640将转换成的json格式的消息传输给上层应用层(如图所示的计算机应用程序650)进行处理。
消息转换单元660适于接收应用程序生成的json格式的响应消息,并将json格式的响应消息转换成与对应的请求消息的协议类型一致的消息,比如,接收到的请求消息为HTTP消息,则直接将json格式的响应消息编码后封装成HTTP数据包,并发送给客户端;如果接收到的请求消息为TCP消息,则将json格式的响应消息转换成数据报文格式,并添加报文分隔符,进而再对报文格式数据进行编码和数据封装,最终发送给客户端;如果接收到的请求消息为WebSocket消息,则需要将json数据转换成相应的WebSocket数据帧格式。
消息转换单元660还适于接收应用程序主动发起的消息推送,接收到的初始推送消息为json字符串格式,根据与客户端的连接类型,对消息进行转换。如果服务端与客户端之间的连接为TCP连接,则将json格式的响应消息转换成数据报文格式,并添加报文分隔符,进而再对报文格式数据进行编码和数据封装,最终发送给客户端;如果服务端与客户端之间的连接为WebSocket连接,则需要将json数据转换成相应的WebSocket数据帧格式。
需要说明的是,推送消息是借助服务端与客户端之间的长连接进行推送的,其只能通过服务端与客户端之间的TCP连接或WebSocket连接完成,而不能通过HTTP消息推送。
消息编码单元670与消息转换单元660连接,接收来自消息转换单元660的消息,包括相应消息和推送消息,对其进行相应的编码,并将编码后的消息传递给消息封装单元680。
消息封装单元680连接消息编码单元670,根据服务端与客户端的连接类型对编码后的消息进行封装,封装成相应格式的数据包,并将封装好的数据包传递给消息发送单元690,有消息发送单元690通过服务端所绑定的端口发送给相应的客户端。
根据本发明的消息处理方法,通过一个应用服务端绑定一个端口来接收处理来自不同连接类型客户端的不同请求消息,在开发过程中,将不同协议类型的消息统一处理,减少了开发过程中重复代码的编写,避免了针对多种协议格式分别制定数据处理机制的问题。对解码后的消息通过标准化统一成预定格式,通过一种处理机制处理来自不同连接的数据,以较小的资源实现了不同协议的统一处理,同时,在业务范围内扩展升级也能做到灵活适配,避免了大量的研发改造工作。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的消息处理方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
A8、如A7所述的方法,其中,所述消息发送方信息包括:发送方标识符、发送方名称和发送方站点标识;所述消息接收方信息包括:接收方标识符、接收方名称和接收方站点标识。
A9、如A1-A8中任意一项所述的方法,其中,所述方法还包括:
根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息;
根据所述请求消息的协议类型,对所述第二响应消息进行编码和数据封装,得到对应所述协议类型的数据包;
将所述数据包通过所述端口发送给应用客户端。
A10、如A9所述的方法,其中,所述第一响应消息为json格式,所述请求消息为TCP消息,所述根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息包括:
将所述第一响应消息转换成报文格式,并在完整报文数据块结尾添加所述分隔符。
A11、如A9或A10所述的方法,其中,所述请求消息为WebSocket消息,所述根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息包括:
将所述第一响应消息转换成数据帧格式。
A12、如A1-A11所述的方法,其中,所述方法还包括:
当所述计算设备中运行的应用程序生成第一推送消息时,根据所述应用服务端与应用客户端的连接类型,将所述第一推送消息转换成第二推送消息,所述第一推送消息为json格式;
根据所述应用服务端与应用客户端的连接类型,对所述第二推送消息进行编码和数据封装,生成对应所述连接类型的数据包;
将所述数据包通过所述端口发送给应用客户端。
A13、如A12所述的方法,其中,所述应用服务端与应用客户端的连接类型为TCP连接,所述将所述第一推送消息转换成第二推送消息包括:
将所述第一推送消息转换成报文格式,并在完整报文数据块结尾添加所述分隔符。
A14、如A12或A13所述的方法,其中,所述应用服务端与应用客户端的连接类型为WebSocket连接,所述将所述第一推送消息转换成第二推送消息包括:
将所述第一推送消息转换成数据帧格式。
B16、如B15所述的消息处理装置,还包括:
消息转换单元,适于根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息;
消息编码单元,适于根据所述请求消息的协议类型,对所述第二响应消息进行编码和数据封装,生成对应协议类型的数据包;
消息发送单元,适于将所述数据包发送给应用客户端。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (16)
1.一种消息处理方法,适于在计算设备中执行,所述计算设备具有至少一个应用服务端,每个应用服务端绑定所述计算设备的一个端口,所述计算设备通过所述端口与多个应用客户端建立通信连接,所述通信连接具有不同的连接类型,所述端口适于接收所述多个应用客户端的请求消息,所述方法包括:
监听所述端口,以接收应用客户端发送的请求消息;
根据预设规则识别所述请求消息的协议类型,所述协议类型与所述通信连接的连接类型相对应;
根据所述请求消息的协议类型对所述请求消息进行解码,获得解码消息;
将所述解码消息转化成预定格式的消息,以便所述计算设备中运行的应用程序对所述预定格式的消息进行处理并生成第一响应消息;
根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息;
根据所述请求消息的协议类型,对所述第二响应消息进行编码和数据封装,得到对应所述协议类型的数据包;
将所述数据包通过所述端口发送给应用客户端。
2.如权利要求1所述的方法,其中,所述根据预设规则识别所述请求消息的协议类型包括:
获取所述请求消息的消息头部,并对所述消息头部进行解码;
根据解码后的消息头部识别所述请求消息的协议类型。
3.如权利要求2所述的方法,其中,所述请求消息的协议类型包括TCP、HTTP和WebSocket,所述根据解码后的消息头部识别所述请求消息的协议类型包括:
判断所述解码后的消息头部是否包含POST、GET和OPTIONS中任意字符;
若否,则判断所述请求消息为TCP请求消息;
若是,则判断所述解码后的消息头部是否为GET /ws,
若是,则判断所述请求消息为WebSocket请求消息;
若否,则判断所述请求消息为HTTP请求消息。
4.如权利要求1所述的方法,其中,所述根据所述请求消息的协议类型对所述请求消息进行解码包括:
根据所述请求消息的协议类型获取相应的解码器;
通过所述解码器对所述请求消息进行解码。
5.如权利要求1所述的方法,其中,所述请求消息为WebSocket数据请求消息,所述解码消息为数据帧格式,所述将所述解码消息转化成预定格式的消息包括:
将数据帧格式的解码消息转换为json字符串格式。
6.如权利要求1所述的方法,其中,所述请求消息为TCP请求消息,所述解码消息为报文格式,所述将所述解码消息转化成预定格式的消息包括:
根据预设的分隔符截取解码消息中的完整报文数据段;
将所述完整报文数据段转换为json字符串格式。
7.如权利要求1所述的方法,其中,所述预定格式的消息包括:消息唯一标识符、消息版本号、消息发送时间、消息发送方信息、消息接收方信息、消息类型和消息内容。
8.如权利要求7所述的方法,其中,所述消息发送方信息包括:发送方标识符、发送方名称和发送方站点标识;所述消息接收方信息包括:接收方标识符、接收方名称和接收方站点标识。
9.如权利要求6所述的方法,其中,所述第一响应消息为json格式,所述请求消息为TCP消息,所述根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息包括:
将所述第一响应消息转换成报文格式,并在完整报文数据块结尾添加所述分隔符。
10.如权利要求1所述的方法,其中,所述请求消息为WebSocket消息,所述根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息包括:
将所述第一响应消息转换成数据帧格式。
11.如权利要求6或9所述的方法,其中,所述方法还包括:
当所述计算设备中运行的应用程序生成第一推送消息时,根据所述应用服务端与应用客户端的连接类型,将所述第一推送消息转换成第二推送消息,所述第一推送消息为json格式;
根据所述应用服务端与应用客户端的连接类型,对所述第二推送消息进行编码和数据封装,生成对应所述连接类型的数据包;
将所述数据包通过所述端口发送给应用客户端。
12.如权利要求11所述的方法,其中,所述应用服务端与应用客户端的连接类型为TCP连接,所述将所述第一推送消息转换成第二推送消息包括:
将所述第一推送消息转换成报文格式,并在完整报文数据块结尾添加所述分隔符。
13.如权利要求12所述的方法,其中,所述应用服务端与应用客户端的连接类型为WebSocket连接,所述将所述第一推送消息转换成第二推送消息包括:
将所述第一推送消息转换成数据帧格式。
14.一种消息处理装置,适于驻留在计算设备中,所述计算设备具有至少一个应用服务端,每个应用服务端绑定所述计算设备的一个端口,所述计算设备通过所述端口与多个应用客户端建立通信连接,所述通信连接具有不同的连接类型,所述端口适于接收所述多个应用客户端的请求消息,所述消息处理装置包括:
消息接收单元,适于监听所述端口,以接收所述应用客户端发送的请求消息;
消息识别单元,适于根据预设规则识别所述请求消息的协议类型,所述协议类型与所述通信连接的类型相对应;
消息解码单元,适于根据所述请求消息的协议类型对所述请求消息进行解码,获得解码消息;
消息标准化单元,适于将所述解码消息转化成预定格式的消息,以便所述计算设备中运行的应用程序对所述预定格式的消息进行处理并生成第一响应消息;
消息转换单元,适于根据所述请求消息的协议类型,将所述第一响应消息转换成第二响应消息;
消息编码单元,适于根据所述请求消息的协议类型,对所述第二响应消息进行编码和数据封装,生成对应协议类型的数据包;
消息发送单元,适于将所述数据包发送给应用客户端。
15. 一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-13中任一项所述方法的指令。
16.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-13中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408232.2A CN112615822B (zh) | 2020-12-03 | 2020-12-03 | 一种消息处理方法、装置、计算设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408232.2A CN112615822B (zh) | 2020-12-03 | 2020-12-03 | 一种消息处理方法、装置、计算设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615822A CN112615822A (zh) | 2021-04-06 |
CN112615822B true CN112615822B (zh) | 2022-06-10 |
Family
ID=75229271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011408232.2A Active CN112615822B (zh) | 2020-12-03 | 2020-12-03 | 一种消息处理方法、装置、计算设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112615822B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296986A (zh) * | 2021-06-18 | 2021-08-24 | 中国农业银行股份有限公司 | 消息的处理方法、装置、服务器及存储介质 |
CN113612681A (zh) * | 2021-08-24 | 2021-11-05 | 北银金融科技有限责任公司 | 一种基于银行多通信协议报文转发和接收网关系统 |
CN113452582A (zh) * | 2021-08-31 | 2021-09-28 | 伏诺瓦(天津)科技有限公司 | 一种基于自动解析的数据传输方法、设备、系统及介质 |
CN114125497B (zh) * | 2021-11-19 | 2024-05-07 | 中电信数智科技有限公司 | Sfu架构及其媒体传输方法及电子设备 |
CN114064784A (zh) * | 2022-01-17 | 2022-02-18 | 湖南科德信息咨询集团有限公司 | 一种企业研发费用智能归集方法、系统及电子设备 |
CN115002207B (zh) * | 2022-05-27 | 2024-02-23 | 三一智矿科技有限公司 | 信息通信方法及系统 |
CN115086424B (zh) * | 2022-06-27 | 2023-10-13 | 北京快乐茄信息技术有限公司 | 一种网络请求监听的方法、装置、终端设备及存储介质 |
CN115396533A (zh) * | 2022-08-25 | 2022-11-25 | 深圳市雁联计算系统有限公司 | 整合多种通讯协议的数据处理方法及服务系统 |
CN115567622A (zh) * | 2022-09-15 | 2023-01-03 | 北京恩吉鸿业能源科技有限责任公司 | 一种通讯交互方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934840A (zh) * | 2020-06-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 客户端和服务端的通信方法、网关、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123158A (zh) * | 2011-04-11 | 2011-07-13 | 深圳市同洲软件有限公司 | 一种实现网络数据处理的方法和系统 |
US9350763B1 (en) * | 2012-04-17 | 2016-05-24 | Amazon Technologies, Inc. | HTTP tunnelling over websockets |
CN106034157A (zh) * | 2015-03-18 | 2016-10-19 | 国家计算机网络与信息安全管理中心 | 数据交换中传输http协议的方法、服务器及存储设备 |
CN110933171A (zh) * | 2019-11-29 | 2020-03-27 | 北京浪潮数据技术有限公司 | 一种服务器异步通信方法、装置、设备及计算机存储介质 |
CN111478974B (zh) * | 2020-04-27 | 2023-10-13 | 奇安信科技集团股份有限公司 | 网络连接方法及装置、电子设备和可读存储介质 |
-
2020
- 2020-12-03 CN CN202011408232.2A patent/CN112615822B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934840A (zh) * | 2020-06-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 客户端和服务端的通信方法、网关、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112615822A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112615822B (zh) | 一种消息处理方法、装置、计算设备及可读存储介质 | |
CN107277153B (zh) | 用于提供语音服务的方法、装置和服务器 | |
JP4363847B2 (ja) | インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル | |
KR101011744B1 (ko) | 플랫폼 중립 일반 서비스의 클라이언트 애플리케이션 구축시스템 및 방법 | |
CN110764807B (zh) | 一种升级方法、系统、服务器及终端设备 | |
CN111600909A (zh) | 数据处理方法、装置、协议转换设备及存储介质 | |
US9350763B1 (en) | HTTP tunnelling over websockets | |
US10999377B2 (en) | Method, device and computer program product for protocol selection | |
US7453593B1 (en) | Combining UNIX commands with extensible markup language (“XML”) | |
CN111722947A (zh) | 服务调用方法及系统 | |
CN108363588B (zh) | 实现web与原生功能交互的方法、电子装置及可读存储介质 | |
WO2019029451A1 (zh) | 发布移动应用的方法和电子设备 | |
US7797405B2 (en) | Streaming file transfer apparatus, systems, and methods | |
CN113360301A (zh) | 一种消息传输系统及方法 | |
US20120166585A1 (en) | Apparatus and method for accelerating virtual desktop | |
US10834164B2 (en) | Virtualizing audio and video devices using synchronous A/V streaming | |
CN113992641B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN116781586A (zh) | 一种gRPC流量解析方法、装置、设备及介质 | |
CN113973139B (zh) | 一种消息处理的方法和装置 | |
CN115514771A (zh) | 数据传输方法、装置、电子设备及计算机可读存储介质 | |
CN114449523A (zh) | 用于卫星测控系统的流量过滤方法、装置、设备及介质 | |
CN114979212A (zh) | 设备接入物联网平台的代理服务构建方法、装置和系统 | |
CN110548285B (zh) | 游戏通信控制方法及装置、介质及电子设备 | |
CN112650601B (zh) | 跨宿主打开小程序的方法、装置、设备、存储介质和程序 | |
US20090119405A1 (en) | Combining UNIX commands with uniform resource locators |
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 |