CN111510476A - 通信方法、装置、计算机设备和计算机可读存储介质 - Google Patents

通信方法、装置、计算机设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111510476A
CN111510476A CN202010260911.3A CN202010260911A CN111510476A CN 111510476 A CN111510476 A CN 111510476A CN 202010260911 A CN202010260911 A CN 202010260911A CN 111510476 A CN111510476 A CN 111510476A
Authority
CN
China
Prior art keywords
service
data packet
protocol
communication
service data
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
Application number
CN202010260911.3A
Other languages
English (en)
Other versions
CN111510476B (zh
Inventor
罗桃阳
刘勇
王妙琳
刘烈权
李芸
龙云露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202010260911.3A priority Critical patent/CN111510476B/zh
Publication of CN111510476A publication Critical patent/CN111510476A/zh
Application granted granted Critical
Publication of CN111510476B publication Critical patent/CN111510476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Abstract

本申请涉及一种通信方法、装置、计算机设备和计算机可读存储介质。所述方法包括:在接收到终端发送的业务连接请求时,根据所述业务连接请求确定所要连接的业务服务器;利用所述业务服务器所支持的通信协议与所述业务服务器建立通信连接;接收所述终端发送的第一业务数据包;将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包;将所述第一目标业务数据包通过所述通信连接发送至所述业务服务器。采用本方法能够在终端与服务器支持不同的通信协议时,使得终端与业务服务器能够正常通信。

Description

通信方法、装置、计算机设备和计算机可读存储介质
技术领域
本申请涉及互联网技术领域,特别是涉及一种通信方法、装置、计算机设备和计算机可读存储介质。
背景技术
随着互联网技术的不断发展,衍生出了许多在线的业务服务,用户可以通过终端观看视频、语音通信和查看在线文档等业务服务,终端在与服务器进行交互时,通常采用业务服务对应的通信协议进行数据交互以获得相应的业务服务,当服务器不支持该通信协议时,将会影响终端与服务端之间的通信,进而导致对应的业务服务受到影响。
发明内容
基于此,有必要针对上述技术问题,提供一种的通信方法、装置、计算机设备和计算机可读存储介质。
一种通信方法,所述方法包括:
在接收到终端发送的业务连接请求时,根据所述业务连接请求确定所要连接的业务服务器;
利用所述业务服务器所支持的通信协议与所述业务服务器建立通信连接;
接收所述终端发送的第一业务数据包;
将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包;
将所述第一目标业务数据包通过所述通信连接发送至所述业务服务器。
在一个实施例中,所述根据所述业务连接请求确定所要连接的业务服务器,包括:
根据所述业务连接请求获取配置信息;
根据所述配置信息确定所要连接的业务服务器。
在一个实施例中,所述根据所述业务连接请求获取配置信息,包括:
判断所述业务连接请求中是否包含用于指定所要连接的业务服务器的配置信息;
若是,则从所述业务连接请求中获取所述配置信息;
若否,则按照所述业务连接请求的网络链接从配置数据库中读取所述配置信息。
在一个实施例中,所述接收所述终端发送的第一业务数据包,包括:
接收所述终端通过websocket通信连接发送的第一业务数据包;所述websocket通信连接是基于websocket协议所建立的连接。
在一个实施例中,所述方法还包括:
接收所述业务服务器发送的基于所述通信协议的第二业务数据包;
将所述第二业务数据包进行协议转换,得到基于所述websocket协议的第二目标业务数据包;
将所述第二目标业务数据包通过所述websocket通信连接发送至所述终端。
在一个实施例中,所述将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包,包括:
生成与所述通信协议对应的数据包头部信息;
将所述第一业务数据包的头部信息更新为所述数据包头部信息。
在一个实施例中,所述生成与所述通信协议对应的数据包头部信息,包括:
获取所述第一业务数据包的头部信息;所述头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息;
将所述第一业务数据包中第一协议层对应的第一头部信息进行移除;
对所述第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与所述通信协议对应的数据包头部信息。
一种通信装置,所述装置包括:
业务服务器确定模块,用于在接收到终端发送的业务连接请求时,根据所述业务连接请求确定所要连接的业务服务器;
通信连接建立模块,用于利用所述业务服务器所支持的通信协议与所述业务服务器建立通信连接;
数据接收模块,用于接收所述终端发送的第一业务数据包;
协议转换模块,用于将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包;
数据发送模块,用于将所述第一目标业务数据包通过所述通信连接发送至所述业务服务器。
在一个实施例中,所述业务服务器确定模块还用于:
根据所述业务连接请求获取配置信息;
根据所述配置信息确定所要连接的业务服务器。
在一个实施例中,所述业务服务器确定模块还用于:
判断所述业务连接请求中是否包含用于指定所要连接的业务服务器的配置信息;
若是,则从所述业务连接请求中获取所述配置信息;
若否,则按照所述业务连接请求的网络链接从配置数据库中读取所述配置信息。
在一个实施例中,所述数据接收模块还用于:
接收所述终端通过websocket通信连接发送的第一业务数据包;所述websocket通信连接是基于websocket协议所建立的连接。
在一个实施例中,所述数据接收模块还用于,接收所述业务服务器发送的基于所述通信协议的第二业务数据包;
所述协议转换模块还用于,将所述第二业务数据包进行协议转换,得到基于所述websocket协议的第二目标业务数据包;
所述数据发送模块还用于,将所述第二目标业务数据包通过所述websocket通信连接发送至所述终端。
在一个实施例中,所述协议转换模块还用于:
生成与所述通信协议对应的数据包头部信息;
将所述第一业务数据包的头部信息更新为所述数据包头部信息。
在一个实施例中,所述协议转换模块还用于:
获取所述第一业务数据包的头部信息;所述头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息;
将所述第一业务数据包中第一协议层对应的第一头部信息进行移除;
对所述第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与所述通信协议对应的数据包头部信息。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述通信方法、装置、计算机设备和计算机可读存储介质,在根据接收到的终端所发送的业务连接请求确定出所要连接的业务服务器之后,利用业务服务器所支持的通信协议与业务服务器建立通信连接;从而在接收到终端通过非业务服务器所支持的通信协议发送的第一业务数据包时,将第一业务数据包转换为基于业务服务器所支持的通信协议的第一目标业务数据包,并将第一目标业务数据包通过所建立的通信连接发送至业务服务器,使得终端与业务服务器能够正常通信,进而保障业务服务器正常地提供对应的业务服务。
附图说明
图1为一个实施例中通信方法的应用环境图;
图2为一个实施例中通信方法的流程示意图;
图3为一个实施例中确定业务服务器步骤的流程示意图;
图4为另一个实施例中确定业务服务器步骤的示意图;
图5为一个实施例中通信方法的流程示意图;
图6为一个实施例中通信方法的示意图;
图7为一个实施例中协议转换步骤的流程示意图;
图8为一个实施例中协议转换步骤的示意图;
图9为另一个实施例中通信方法的流程示意图;
图10为一个实施例中通信方法的流程示意图;
图11为一个实施例中通信装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中通信方法的应用环境图。参照图1,该通信方法应用于通信系统。该通信系统包括终端110、协议转换服务器120和业务服务器130。协议转换服务器120分别与终端110和业务服务器130通过网络连接。以上述通信方法应用于上述通信系统为例,协议转换服务器120在接收到终端110发送的业务连接请求时,根据业务连接请求确定所要连接的业务服务器130,然后利用业务服务器130所支持的通信协议与业务服务器130建立通信连接,在接收到终端110发送的第一业务数据包时,将该第一业务数据包转换为基于通信协议的第一目标业务数据包,然后将该第一目标业务数据包通过通信连接发送至业务服务器130。
终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。业务服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种通信方法,以该方法应用于图1中的协议转换服务器120为例进行说明,包括以下步骤:
S202,在接收到终端发送的业务连接请求时,根据业务连接请求确定所要连接的业务服务器。
其中,业务连接请求是http请求,且该业务连接请求的头部信息中包含有协议升级的标记,该标记可以为“Upgrade”,业务连接请求具体可以是终端针对不同的业务服务类型所发送的连接请求,即不同的业务类型所对应的业务连接请求是不相同的,业务类型可以是实时获取数据的类型,例如音视频通话类型、远程控制类型、多玩家游戏类型和协同编辑类型等;不同的业务类型可以通过业务连接请求中的业务类型标识进行表示,例如网络地址为“www.aaa.com/aserver/xxx/xxx”且请求类型为http的业务连接请求,可以通过“aserver”表示该业务连接请求对应的业务类型。请求类型包括但不限于http和https。
在一个实施例中,协议转换服务器在接收到终端发送的业务连接请求时,对该业务连接请求的数据包进行解析,并根据解析结果确定所要连接的业务服务器。
在一个实施例中,协议转换服务器在接收到终端发送的业务连接请求时,获取业务连接请求的网络地址,并根据该网络地址确定所要连接的业务服务器器,其中网络地址可以是URL(Uniform Resource Locator,统一资源定位符)。
S204,利用业务服务器所支持的通信协议与业务服务器建立通信连接。
其中,业务服务器所支持的通信协议可以根据业务服务器进行确定,通信协议可以是传输层协议,也可以是应用层协议,例如TCP、STCP、UDP、HTTP、Telnet、RTP、SIP、RPC、TFTP等通信协议。
在一个实施例中,协议转换服务器根据业务连接请求对应的业务类型,确定与业务服务器建立通信连接所要采用的通信协议,并在确定出所要采用的通信协议之后,并用该通信协议与业务服务器建立通信连接。其中该通信协议是业务服务器所支持的通信协议,具体可以是传输层协议或应用层协议。
在一个实施例中,协议转换服务器在根据接收到的终端发送的业务连接请求确定出所要连接的业务服务器,并利用业务服务器所支持的通信协议与业务服务器建立通信连接之后,协议转换服务器向终端返回针对业务连接请求的响应消息,完成与终端之间的握手,从而协议转换服务器与终端之间建立通信连接,其中响应消息可以是状态码为101的http响应,协议转换器与终端之间的通信连接可以是websocket连接,websocket是一种在单个TCP连接上进行全双工通信的协议,允许服务器主动向终端推送数据,即支持终端与服务器之间进行全双工通信。
S206,接收终端发送的第一业务数据包。
其中,第一业务数据包是通过终端与协议转换服务器之间的通信连接所传输的,终端与协议转换服务器之间的通信连接是基于业务服务器所不支持的通信协议所建立的连接。例如,业务服务器不支持websocket协议,则终端与协议转换服务器之间的通信连接即为websocket连接,该websocket连接是基于websocket协议所建立的连接。
在一个实施例中,在协议转换服务器与终端建立websocket连接之后,终端通过websocket连接向协议转换服务器发送第一业务数据包,其中该第一业务数据包是基于websocket协议的数据包,协议转换服务器接收终端通过websocket连接所发送的第一业务数据包。
S208,将第一业务数据包转换为基于通信协议的第一目标业务数据包。
其中,基于通信协议的第一目标业务数据包所基于的通信协议是业务服务器所支持的通信协议,且该通信协议与协议转换服务器和业务服务器之间所建立的通信连接是对应的,例如协议转换服务器和业务服务器之间的通信连接是UDP连接,则将第一业务数据包转换为基于UDP协议的第一目标业务数据包。
在一个实施例中,协议转换服务器在接收到终端所发送的第一业务数据包之后,对第一业务数据包的包头进行更新,得到符合协议转换服务器和业务服务器之间的通信连接的第一目标业务数据包。
S210,将第一目标业务数据包通过通信连接发送至业务服务器。
在一个实施例中,协议转换服务器在对第一业务数据包进行协议转换得到第一目标业务数据包之后,通过协议转换服务器与业务服务器之间所建立的通信连接,将第一目标业务数据包发送至业务服务器。
上述实施例中,协议转换服务器在根据接收到的终端所发送的业务连接请求确定出所要连接的业务服务器之后,利用业务服务器所支持的通信协议与业务服务器建立通信连接;从而在接收到终端通过非业务服务器所支持的通信协议发送的第一业务数据包时,将第一业务数据包转换为基于业务服务器所支持的通信协议的第一目标业务数据包,并将第一目标业务数据包通过所建立的通信连接发送至业务服务器,使得终端与业务服务器能够正常通信,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,如图3所示,S202具体包括以下步骤:
S302,根据业务连接请求获取配置信息。
其中,配置信息为用于确定所要连接的业务服务器的信息,还可以包括用于建立协议转换服务器与业务器之间的通信连接的信息,具体可以是所要连接业务服务器的IP地址和与该业务服务器建立通信连接所要采用的通信协议等。
在一个实施例中,协议转换服务器在接收到终端发送的业务连接请求之后,直接对业务连接请求的数据包头部进行解析,得到数据包头部解析结果,若该数据包头部解析结果中存在配置信息,则直接从数据包头部解析结果中提取出配置信息。
在一个实施例中,协议转换服务器在接收到终端发送的业务连接请求之后,判断业务连接请求的数据包头部中是否存在配置信息标识,若存在,则确定业务区连接请求的数据包包体中存在配置信息,并从业务连接请求的数据包包体中获取配置信息。
在一个实施例中,协议转换服务器在接收到终端发送的业务连接请求之后,判断该业务连接请求的网络地址中是否包含有配置信息,若存在,则直接从业务连接请求的网络地址中获取配置信息。
在一个实施例中,协议转换服务器在接收到终端发送的业务连接请求之后,从业务连接请求的网络地址中提取出域名和匹配参数,并根据域名和匹配参数从配置数据库中确定出对应的配置信息,从而获取配置信息。其中,匹配参数用于匹配所要连接的业务服务器,匹配参数可以是通信连接所要使用的端口号、或者是业务连接请求的业务类型标识,配置数据库可以是协议转换服务器中的数据库。
S304,根据配置信息确定所要连接的业务服务器。
在一个实施例中,协议转换服务器在获取到配置信息之后,根据配置信息确定所要连接的业务服务器,例如,当配置信息为所要连接的业务服务器的IP地址时,则直接确定出了所要连接的业务服务器。
作为一个示例对上述实施例进行说明,如图4所示,协议转换服务器中存储有配置信息,不同的配置信息分别与不同的匹配规则对应,协议转换服务器接收到的业务连接请求的网络地址为“www.aaa.com/aserver/xxx/xxx”,从该网络地址中获取域名“aaa.com”,匹配参数“aserver”,利用域名“aaa.com”和匹配参数“aserver”按照匹配规则对配置信息进行匹配,匹配到配置信息A,配置信息A包含有业务服务器A的IP地址和对应的通信协议a。其中,IP地址即对应所要连接的业务服务器A,对应的通信协议即协议转换服务器与业务服务器之间的通信连接是要基于该通信协议a进行建立的。
上述实施例中,协议转换服务器根据接收到的业务连接请求获取配置信息,从而根据配置信息确定所要连接的业务服务器,使得协议转换服务器可以与业务服务器之间快速地建立通信连接,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,如图5所示,上述通信方法还包括以下步骤:
S502,接收业务服务器发送的基于通信协议的第二业务数据包。
其中,第二业务数据包是业务服务器通过所建立的通信连接进行发送的,第二业务数据包也是基于该通信连接对应的通信协议所封装的,例如,协议转换服务器与业务服务器之间的通信连接是TCP连接,则第二业务数据包是基于TCP协议所封装的。
S504,将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包。
S506,将第二目标业务数据包通过websocket通信连接发送至终端。
在一个实施例中,协议转换服务器与终端之间建立的是websocket连接,则协议转换服务器在接收到业务服务器所发送的第二业务数据包之后,对第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包,并将第二目标业务数据包通过websocket通信连接发送至终端。
在一个实施例中,协议转换服务器与终端之间建立的是websocket连接,协议转换服务器在接收到业务服务器所发送的第二业务数据包之后,第二业务数据包的包头进行更新,得到基于websocket协议的第二目标业务数据包,并将第二目标业务数据包通过websocket通信连接发送至终端。图6为第二业务数据包经服务器器发送至协议转换服务器,协议转换服务器对第二业务数据进行协议转换,并将转换后的数据发送至终端的流程图。
在一个实施例中,终端通过协议转换服务器与业务服务器通信完成之后,终端向协议转换服务器发送断开连接请求,协议转换服务器接收终端发送的断开连接请求;根据该断开连接请求断开与业务服务器之间的通信连接。
上述实施例中,协议转换器还可以在接收业务服务器发送的基于通信协议的第二业务数据包之后,将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包,并将第二目标业务数据包通过websocket通信连接发送至终端,从而使得支持不同通信协议的终端和业务服务器可以进行通信,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,如图7所示,S208具体还包括以下步骤:
S702,生成与通信协议对应的数据包头部信息。
其中,通信协议是指协议转换服务器与业务服务器之间的通信连接在建立时所采用的通信协议,所生成的数据包头部信息是与该通信协议所对应的。例如协议转换服务器与业务服务器之间的通信连接在建立时所采用的通信协议是TCP协议,则所生成的数据包头部信息是与TCP协议所对应的。
在一个实施例中,协议转换服务器在接收到第一业务数据包之后,获取该第一业务数据包的头部信息,并根据该第一业务数据包的头部信息和协议转换服务器与业务服务器之间的通信连接在建立时所采用的通信协议,生成与该通信协议对应的数据包头部信息。
在一个实施例中,协议转换服务器根据第一业务数据包的头部信息和协议转换服务器与业务服务器之间的通信连接在建立时所采用的通信协议,生成与该通信协议对应的数据包头部信息,具体包括以下步骤:获取第一业务数据包的头部信息;头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息,将第一业务数据包中第一协议层对应的第一头部信息进行移除,对第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与通信协议对应的数据包头部信息。其中第一协议层可以是应用层,第二协议层可以是传输层。
在一个实施例中,协议转换服务器根据第一业务数据包的头部信息和协议转换服务器与业务服务器之间的通信连接在建立时所采用的通信协议,生成与该通信协议对应的数据包头部信息,具体包括以下步骤:获取第一业务数据包的头部信息;头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息,根据第一头部信息和协议转换服务器与业务服务器之间所采用的通信协议,生成与该通信协议对应的第一目标头部信息,将第一业务数据包中第一协议层对应的第一头部信息移除、并插入第一目标头部信息,对第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与通信协议对应的数据包头部信息。其中第一协议层可以是应用层,第二协议层可以是传输层。
S704,将第一业务数据包的头部信息更新为数据包头部信息。
在一个实施例中,协议转换服务器在生成与通信协议对应的数据包头部信息之后,将第一业务数据包的头部信息进行移除,并在所生成的数据包头部信息插入该移除头部信息后的第一业务数据包中,得到协议转换后的第一目标业务数据包。
作为一个示例对上述实施例进行说明,如图8所示,第一业务数据包的包头包含有TCP协议层所对应的头部信息和websocket协议层所对应的头部信息,即第一业务数据包是基于websocket协议的,而协议转换服务器和业务服务器之间的通信连接是基于TCP协议的,则在生成与TCP协议对应的头部信息时,可以直接将websocket协议层所对应的头部信息进行移除,并对第一业务数据包剩下的头部信息中的关键字段进行匹配处理,得到与TCP协议对应的数据包头部信息,将第一业务数据包的头部信息更新为该与TCP协议对应的数据包头部信息。
上述实施例中,协议转换服务器通过生成与通信协议对应的数据包头部信息,将第一业务数据包的头部信息更新为数据包头部信息,从而实现对对终端所发送的第一业务数据包的协议转换,从而使得支持不同通信协议的终端和业务服务器可以进行通信,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,如图9所示,还提供了一种通信方法,该方法应用于图1中的协议转换服务器120为例进行说明,包括以下步骤:
S902,在接收到终端发送的业务连接请求时,根据业务连接请求获取配置信息。
S904,根据配置信息确定所要连接的业务服务器。
S906,利用业务服务器所支持的通信协议与业务服务器建立通信连接。
S908,接收终端通过websocket通信连接发送的第一业务数据包。
S910,将第一业务数据包转换为基于通信协议的第一目标业务数据包。
S912,将第一目标业务数据包通过通信连接发送至业务服务器。
S914,接收业务服务器发送的基于通信协议的第二业务数据包。
S916,将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包。
S918,将第二目标业务数据包通过websocket通信连接发送至终端。
S920,接收终端发送的断开连接请求。
S922,根据断开连接请求断开与业务服务器之间的通信连接。
作为一个示例对上述实施例进行说明。如图10所示,终端向协议适配网关服务器(协议转换服务器)发起http连接请求,申请协议升级为websocket协议,协议适配网关服务器根据请求的URL查询配饰数据库从而确定所要连接的业务服务器,并根据请求的头部信息或者其他参数信息确定协议转换规则(用于建立通信连接的通信协议),然后根据所确定的协议转换规则与所确定的业务服务器建立通信连接(如TCP连接或UDP连接),在该通信连接建立完成后,协议适配网关服务器向终端返回http响应,从而完成终端与协议适配网关服务器之间的websocket连接的建立。然后终端通过所建立的websocket连接向协议适配网关服务器发送应用数据,协议适配网关服务器在接收到应用数据后对该应用数据进行协议转换(转换为TCP或UDP协议的应用数据),并将协议转换后的应用数据通过所建立的通信连接发送至业务服务器,之后接收业务服务器返回的应用数据,并将该应用数据转换为websocket协议的应用数据,并将该websocket协议的应用数据通过websocket俩那街发送至终端。当终端向协议适配网关服务器发送断开连接请求时,协议适配网关服务器根据该断开连接请求断开与业务服务器之间的通信连接。
应该理解的是,虽然图2、3、5、7和9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、5、7和9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种通信装置,包括:业务服务器确定模块1102、通信连接建立模块1104、数据接收模块1106、协议转换模块1108和协议转换模块1108,其中:
业务服务器确定模块1102,用于在接收到终端发送的业务连接请求时,根据业务连接请求确定所要连接的业务服务器;
通信连接建立模块1104,用于利用业务服务器所支持的通信协议与业务服务器建立通信连接;
数据接收模块1106,用于接收终端发送的第一业务数据包;
协议转换模块1108,用于将第一业务数据包转换为基于通信协议的第一目标业务数据包;
数据发送模块1110,用于将第一目标业务数据包通过通信连接发送至业务服务器。
上述实施例中,协议转换服务器在根据接收到的终端所发送的业务连接请求确定出所要连接的业务服务器之后,利用业务服务器所支持的通信协议与业务服务器建立通信连接;从而在接收到终端通过非业务服务器所支持的通信协议发送的第一业务数据包时,将第一业务数据包转换为基于业务服务器所支持的通信协议的第一目标业务数据包,并将第一目标业务数据包通过所建立的通信连接发送至业务服务器,使得终端与业务服务器能够正常通信,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,业务服务器确定模块1102还用于:
根据业务连接请求获取配置信息;
根据配置信息确定所要连接的业务服务器。
在一个实施例中,业务服务器确定模块1102还用于:
判断业务连接请求中是否包含用于指定所要连接的业务服务器的配置信息;
若是,则从业务连接请求中获取配置信息;
若否,则按照业务连接请求的网络链接从配置数据库中读取配置信息。
上述实施例中,协议转换服务器根据接收到的业务连接请求获取配置信息,从而根据配置信息确定所要连接的业务服务器,使得协议转换服务器可以与业务服务器之间快速地建立通信连接,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,数据接收模块1106还用于:
接收终端通过websocket通信连接发送的第一业务数据包;websocket通信连接是基于websocket协议所建立的连接。
在一个实施例中,数据接收模块1106还用于,接收业务服务器发送的基于通信协议的第二业务数据包;
协议转换模块1108还用于,将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包;
数据发送模块1110还用于,将第二目标业务数据包通过websocket通信连接发送至终端。
上述实施例中,协议转换器还可以在接收业务服务器发送的基于通信协议的第二业务数据包之后,将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包,并将第二目标业务数据包通过websocket通信连接发送至终端,从而使得支持不同通信协议的终端和业务服务器可以进行通信,进而保障业务服务器正常地提供对应的业务服务。
在一个实施例中,协议转换模块1108还用于:
生成与通信协议对应的数据包头部信息;
将第一业务数据包的头部信息更新为数据包头部信息。
在一个实施例中,协议转换模块1108还用于:
获取第一业务数据包的头部信息;头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息;
将第一业务数据包中第一协议层对应的第一头部信息进行移除;
对第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与通信协议对应的数据包头部信息。上述实施例中,协议转换服务器通过生成与通信协议对应的数据包头部信息,将第一业务数据包的头部信息更新为数据包头部信息,从而实现对对终端所发送的第一业务数据包的协议转换,从而使得支持不同通信协议的终端和业务服务器可以进行通信,进而保障业务服务器正常地提供对应的业务服务。
关于通信装置的具体限定可以参见上文中对于通信方法的限定,在此不再赘述。上述通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储配置信息和接收到的业务数据包。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通信方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:在接收到终端发送的业务连接请求时,根据业务连接请求确定所要连接的业务服务器;利用业务服务器所支持的通信协议与业务服务器建立通信连接;接收终端发送的第一业务数据包;将第一业务数据包转换为基于通信协议的第一目标业务数据包;将第一目标业务数据包通过通信连接发送至业务服务器。
在一个实施例中,计算机程序被处理器执行根据业务连接请求确定所要连接的业务服务器的步骤时,使得处理器具体执行以下步骤:根据业务连接请求获取配置信息;根据配置信息确定所要连接的业务服务器。
在一个实施例中,计算机程序被处理器执行根据业务连接请求获取配置信息的步骤时,使得处理器具体执行以下步骤:判断业务连接请求中是否包含用于指定所要连接的业务服务器的配置信息;若是,则从业务连接请求中获取配置信息;若否,则按照业务连接请求的网络链接从配置数据库中读取配置信息。
在一个实施例中,计算机程序被处理器执行接收终端发送的第一业务数据包的步骤时,使得处理器具体执行以下步骤:接收终端通过websocket通信连接发送的第一业务数据包;websocket通信连接是基于websocket协议所建立的连接。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:接收业务服务器发送的基于通信协议的第二业务数据包;将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包;将第二目标业务数据包通过websocket通信连接发送至终端。
在一个实施例中,计算机程序被处理器执行将第一业务数据包转换为基于通信协议的第一目标业务数据包的步骤时,使得处理器具体执行以下步骤:生成与通信协议对应的数据包头部信息;将第一业务数据包的头部信息更新为数据包头部信息。
在一个实施例中,计算机程序被处理器执行生成与通信协议对应的数据包头部信息的步骤时,使得处理器具体执行以下步骤:获取第一业务数据包的头部信息;头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息;将第一业务数据包中第一协议层对应的第一头部信息进行移除;对第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与通信协议对应的数据包头部信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在接收到终端发送的业务连接请求时,根据业务连接请求确定所要连接的业务服务器;利用业务服务器所支持的通信协议与业务服务器建立通信连接;接收终端发送的第一业务数据包;将第一业务数据包转换为基于通信协议的第一目标业务数据包;将第一目标业务数据包通过通信连接发送至业务服务器。
在一个实施例中,计算机程序被处理器执行根据业务连接请求确定所要连接的业务服务器的步骤时,使得处理器具体执行以下步骤:根据业务连接请求获取配置信息;根据配置信息确定所要连接的业务服务器。
在一个实施例中,计算机程序被处理器执行根据业务连接请求获取配置信息的步骤时,使得处理器具体执行以下步骤:判断业务连接请求中是否包含用于指定所要连接的业务服务器的配置信息;若是,则从业务连接请求中获取配置信息;若否,则按照业务连接请求的网络链接从配置数据库中读取配置信息。
在一个实施例中,计算机程序被处理器执行接收终端发送的第一业务数据包的步骤时,使得处理器具体执行以下步骤:接收终端通过websocket通信连接发送的第一业务数据包;websocket通信连接是基于websocket协议所建立的连接。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:接收业务服务器发送的基于通信协议的第二业务数据包;将第二业务数据包进行协议转换,得到基于websocket协议的第二目标业务数据包;将第二目标业务数据包通过websocket通信连接发送至终端。
在一个实施例中,计算机程序被处理器执行将第一业务数据包转换为基于通信协议的第一目标业务数据包的步骤时,使得处理器具体执行以下步骤:生成与通信协议对应的数据包头部信息;将第一业务数据包的头部信息更新为数据包头部信息。
在一个实施例中,计算机程序被处理器执行生成与通信协议对应的数据包头部信息的步骤时,使得处理器具体执行以下步骤:获取第一业务数据包的头部信息;头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息;将第一业务数据包中第一协议层对应的第一头部信息进行移除;对第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与通信协议对应的数据包头部信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种通信方法,其特征在于,所述方法包括:
在接收到终端发送的业务连接请求时,根据所述业务连接请求确定所要连接的业务服务器;
利用所述业务服务器所支持的通信协议与所述业务服务器建立通信连接;
接收所述终端发送的第一业务数据包;
将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包;
将所述第一目标业务数据包通过所述通信连接发送至所述业务服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务连接请求确定所要连接的业务服务器,包括:
根据所述业务连接请求获取配置信息;
根据所述配置信息确定所要连接的业务服务器。
3.根据权利要求2所述的方法,其特征在于,所述根据所述业务连接请求获取配置信息,包括:
判断所述业务连接请求中是否包含用于指定所要连接的业务服务器的配置信息;
若是,则从所述业务连接请求中获取所述配置信息;
若否,则按照所述业务连接请求的网络链接从配置数据库中读取所述配置信息。
4.根据权利要求1所述的方法,其特征在于,所述接收所述终端发送的第一业务数据包,包括:
接收所述终端通过websocket通信连接发送的第一业务数据包;所述websocket通信连接是基于websocket协议所建立的连接。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述业务服务器发送的基于所述通信协议的第二业务数据包;
将所述第二业务数据包进行协议转换,得到基于所述websocket协议的第二目标业务数据包;
将所述第二目标业务数据包通过所述websocket通信连接发送至所述终端。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包,包括:
生成与所述通信协议对应的数据包头部信息;
将所述第一业务数据包的头部信息更新为所述数据包头部信息。
7.根据权利要求6所述的方法,其特征在于,所述生成与所述通信协议对应的数据包头部信息,包括:
获取所述第一业务数据包的头部信息;所述头部信息包括第一协议层对应的第一头部信息和第二协议层对应的第二头部信息;
将所述第一业务数据包中第一协议层对应的第一头部信息进行移除;
对所述第二协议层对应的第二头部信息中的关键字段进行匹配处理,得到与所述通信协议对应的数据包头部信息。
8.一种通信装置,其特征在于,所述装置包括:
业务服务器确定模块,用于在接收到终端发送的业务连接请求时,根据所述业务连接请求确定所要连接的业务服务器;
通信连接建立模块,用于利用所述业务服务器所支持的通信协议与所述业务服务器建立通信连接;
数据接收模块,用于接收所述终端发送的第一业务数据包;
协议转换模块,用于将所述第一业务数据包转换为基于所述通信协议的第一目标业务数据包;
数据发送模块,用于将所述第一目标业务数据包通过所述通信连接发送至所述业务服务器。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010260911.3A 2020-04-03 2020-04-03 通信方法、装置、计算机设备和计算机可读存储介质 Active CN111510476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010260911.3A CN111510476B (zh) 2020-04-03 2020-04-03 通信方法、装置、计算机设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010260911.3A CN111510476B (zh) 2020-04-03 2020-04-03 通信方法、装置、计算机设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111510476A true CN111510476A (zh) 2020-08-07
CN111510476B CN111510476B (zh) 2023-06-20

Family

ID=71864084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010260911.3A Active CN111510476B (zh) 2020-04-03 2020-04-03 通信方法、装置、计算机设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111510476B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935177A (zh) * 2020-09-23 2020-11-13 武汉中科通达高新技术股份有限公司 一种业务控制方法及装置
CN112311591A (zh) * 2020-09-27 2021-02-02 国网山东省电力公司莒县供电公司 一种电力通信规约配置方法、系统、服务器及可读存储介质
CN113596139A (zh) * 2021-07-26 2021-11-02 北京飞讯数码科技有限公司 一种集群通信系统及方法
CN114449059A (zh) * 2022-01-18 2022-05-06 拉扎斯网络科技(上海)有限公司 通信控制方法及装置
CN115190091A (zh) * 2022-05-17 2022-10-14 贝壳找房(北京)科技有限公司 一种业务消息的推送方法和装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546800A (zh) * 2012-01-06 2012-07-04 华为技术有限公司 一种网关握手、通信方法、网关及Web通信系统
EP2882152A1 (en) * 2012-09-28 2015-06-10 Huawei Technologies Co., Ltd. Load sharing method and apparatus
CN105024971A (zh) * 2014-04-18 2015-11-04 中兴通讯股份有限公司 一种通信协议转换方法及装置
US9203895B1 (en) * 2012-12-03 2015-12-01 Cadence Design Systems, Inc. System and method for lateral connection between interface devices with bypass of external network
CN105338020A (zh) * 2014-07-02 2016-02-17 华为技术有限公司 一种业务访问方法及装置
CN105391688A (zh) * 2015-10-13 2016-03-09 北京锐安科技有限公司 数据连接的识别方法和装置
CN106790605A (zh) * 2016-12-29 2017-05-31 深圳新基点智能股份有限公司 一种物联网网关系统及其实现方法
CN108092995A (zh) * 2018-01-12 2018-05-29 珠海市杰理科技股份有限公司 流媒体数据处理方法、装置、计算机设备和存储介质
CN108449312A (zh) * 2018-01-31 2018-08-24 北京奇艺世纪科技有限公司 一种协议转换方法、装置、系统及网关
CN109445968A (zh) * 2018-11-09 2019-03-08 金瓜子科技发展(北京)有限公司 不同协议的服务请求处理方法、装置、设备及存储介质
CN109922053A (zh) * 2019-02-22 2019-06-21 北京三快在线科技有限公司 数据传输方法、装置、电子设备及可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546800A (zh) * 2012-01-06 2012-07-04 华为技术有限公司 一种网关握手、通信方法、网关及Web通信系统
EP2882152A1 (en) * 2012-09-28 2015-06-10 Huawei Technologies Co., Ltd. Load sharing method and apparatus
US20150200857A1 (en) * 2012-09-28 2015-07-16 Huawei Technologies Co., Ltd. Method and apparatus of load sharing
US9203895B1 (en) * 2012-12-03 2015-12-01 Cadence Design Systems, Inc. System and method for lateral connection between interface devices with bypass of external network
CN105024971A (zh) * 2014-04-18 2015-11-04 中兴通讯股份有限公司 一种通信协议转换方法及装置
CN105338020A (zh) * 2014-07-02 2016-02-17 华为技术有限公司 一种业务访问方法及装置
CN105391688A (zh) * 2015-10-13 2016-03-09 北京锐安科技有限公司 数据连接的识别方法和装置
CN106790605A (zh) * 2016-12-29 2017-05-31 深圳新基点智能股份有限公司 一种物联网网关系统及其实现方法
CN108092995A (zh) * 2018-01-12 2018-05-29 珠海市杰理科技股份有限公司 流媒体数据处理方法、装置、计算机设备和存储介质
CN108449312A (zh) * 2018-01-31 2018-08-24 北京奇艺世纪科技有限公司 一种协议转换方法、装置、系统及网关
CN109445968A (zh) * 2018-11-09 2019-03-08 金瓜子科技发展(北京)有限公司 不同协议的服务请求处理方法、装置、设备及存储介质
CN109922053A (zh) * 2019-02-22 2019-06-21 北京三快在线科技有限公司 数据传输方法、装置、电子设备及可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JESSIE R. BALBIN ET.AL.: "ZigBee and Power Line Communications interconnectivity applied to fuzzy logic controlled automated lighting system" *
张明富;赵碧海;李丽娟;: "基于TUXEDO的自助服务系统的研究" *
许冬燕: "面向工业制造的边缘网关系统关键技术研究与验证" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935177A (zh) * 2020-09-23 2020-11-13 武汉中科通达高新技术股份有限公司 一种业务控制方法及装置
CN111935177B (zh) * 2020-09-23 2020-12-22 武汉中科通达高新技术股份有限公司 一种业务控制方法及装置
CN112311591A (zh) * 2020-09-27 2021-02-02 国网山东省电力公司莒县供电公司 一种电力通信规约配置方法、系统、服务器及可读存储介质
CN112311591B (zh) * 2020-09-27 2023-01-24 国网山东省电力公司莒县供电公司 一种电力通信规约配置方法、系统、服务器及可读存储介质
CN113596139A (zh) * 2021-07-26 2021-11-02 北京飞讯数码科技有限公司 一种集群通信系统及方法
CN114449059A (zh) * 2022-01-18 2022-05-06 拉扎斯网络科技(上海)有限公司 通信控制方法及装置
CN115190091A (zh) * 2022-05-17 2022-10-14 贝壳找房(北京)科技有限公司 一种业务消息的推送方法和装置

Also Published As

Publication number Publication date
CN111510476B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
CN111510476B (zh) 通信方法、装置、计算机设备和计算机可读存储介质
CN108810900B (zh) 欺诈呼叫信息的检测
US8335852B2 (en) Contact destination information registration method, network system, node, and contact destination information registration program
EP1911250B1 (en) Technique for translating location information
US8990412B2 (en) Session sharing system, session sharing method, session sharing program, and user terminal
US9648052B2 (en) Real-time communications gateway
CN109729183B (zh) 请求处理方法、装置、设备及存储介质
US10142230B2 (en) Method and apparatus for transmitting messages associated with internet protocol version 4 (IPv4) addresses on an internet protocol version 6 (IPv6) network
CN108696899B (zh) Sip消息传输与接收方法及传输与接收装置
CN104980482A (zh) 文件发送方法及装置、文件接收方法及装置
EP3761612B1 (fr) Procédé d'établissement d'une session webrtc
US20130035079A1 (en) Method and system for establishing data commuication channels
EP3020179B1 (en) Distributed programmable connection method to establish peer-to-peer multimedia interactions
US20070025337A1 (en) Technique for providing ancillary information to an entity in a communications network
US20140304419A1 (en) System and terminal for p2p connection in mobile environment and method for p2p connection using the same
US8656001B2 (en) Communication system, application server and communication method for server cooperation
CN114157607A (zh) 媒体流传输方法和系统
US8412804B2 (en) Acquiring information in a communication network relative to a location
US8606861B2 (en) Method, apparatus, and computer program product for reducing session related message size
CN102547553A (zh) 一种基于wap进行业务访问的方法、系统及装置
US20140379932A1 (en) Setting up communication between a web application and a terminal
WO2013189398A2 (zh) 应用数据推送方法、装置及系统
US20070206745A1 (en) Communication system and transfer control method together with telphone device, communication device, and program used for same
JP2009245397A (ja) サーバ補助装置とそのプログラム
WO2021082945A1 (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