CN111901437A - 一种消息传输方法、装置和系统 - Google Patents

一种消息传输方法、装置和系统 Download PDF

Info

Publication number
CN111901437A
CN111901437A CN202010772815.7A CN202010772815A CN111901437A CN 111901437 A CN111901437 A CN 111901437A CN 202010772815 A CN202010772815 A CN 202010772815A CN 111901437 A CN111901437 A CN 111901437A
Authority
CN
China
Prior art keywords
message
corresponding relation
module
client
tcp connection
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
CN202010772815.7A
Other languages
English (en)
Other versions
CN111901437B (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.)
Beijing Yiyi Education Information Consulting Co ltd
Original Assignee
Beijing Yiyi Education Information Consulting 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 Beijing Yiyi Education Information Consulting Co ltd filed Critical Beijing Yiyi Education Information Consulting Co ltd
Priority to CN202010772815.7A priority Critical patent/CN111901437B/zh
Publication of CN111901437A publication Critical patent/CN111901437A/zh
Application granted granted Critical
Publication of CN111901437B publication Critical patent/CN111901437B/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/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/147Signalling methods or messages providing extensions to protocols defined by standardisation
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures

Abstract

本申请公开了一种消息传输方法、装置和系统,生成TCP连接的唯一标示,唯一标示用于第一对应关系,获取客户端的应用设备信息,记录第二对应关系,在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息,依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息,解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端,依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示,依据第一对应关系,将下行消息发送给客户端。可见,基于第三对应关系,可以将不同客户端发送的上行消息发送至同一个服务端,因此,基于本申请提供的方案,能够实现不同业务线复用同一个消息通道。

Description

一种消息传输方法、装置和系统
技术领域
本申请涉及互联网技术领域,尤其涉及一种消息传输方法、装置和系统。
背景技术
传输控制协议(Transmission Control Protocol,TCP)是目前互联网上最广泛使用的传输层协议之一,能为网络中的各个节点提供可靠的消息传输服务。互联网上的大部分业务都建立在TCP连接上,例如,某某公司开发的应用会包含很多业务线,而大部分的业务线都是由TCP协议来承载的。
在实际开发过程中,针对不同的业务线会开发不同的消息通道,而且各个消息通道之间无法复用,从而增加了企业的开发负担。
发明内容
本申请提供了一种消息传输方法、装置和系统,目的在于实现不同业务线复用同一条消息通道。
为了实现上述目的,本申请提供了以下技术方案:
一种消息传输系统,包括:
通道入口模块、消息中心模块和业务路由模块;
所述通道入口模块,用于生成TCP连接的唯一标示,所述唯一标示用于指示第一对应关系,并获取客户端的应用设备信息;记录第二对应关系,并将所述第二对应关系发送给所述消息中心模块;在用户触发业务应用进行消息传输的情况下,将所述客户端发送的上行消息,发送给所述消息中心模块;接收所述消息中心模块发送的下行消息;依据所述第一对应关系,将所述下行消息发送给所述客户端;所述第一对象关系为所述TCP连接与所述客户端的对应关系;所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
所述消息中心模块,用于依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
所述业务路由模块,用于解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端;将所述服务端发送的所述下行消息,发送给所述消息中心模块,所述第三对应关系为所述业务名称与所述服务端的对应关系。
可选的,所述通道入口模块用于生成TCP连接的唯一标示,包括:
所述通道入口模块具体用于,对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
可选的,还包括:
虚拟队列模块,用于为所述上行消息与所述下行消息提供转发节点,以解耦所述消息中心模块与所述业务路由模块。
可选的,所述通道入口模块、所述消息中心模块、所述业务路由模块、以及所述虚拟队列模块各自的数目为一个或多个。
一种消息传输方法,包括:
生成TCP连接的唯一标示,所述唯一标示用于第一对应关系,所述第一对应关系为所述TCP连接与所述客户端的对应关系;
获取所述客户端的应用设备信息;
记录第二对应关系,所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
在用户触发所述业务应用进行消息传输的情况下,接收所述客户端发送的上行消息;
依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息;
解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端,所述第三对应关系为所述业务名称与所述服务端的对应关系;
接收所述服务端发送的下行消息;
依据所述第二对应关系,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
依据所述第一对应关系,将所述下行消息发送给所述客户端。
可选的,所述生成TCP连接的唯一标示,包括:
对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
一种消息传输装置,包括:
生成单元,用于生成TCP连接的唯一标示,所述唯一标示用于第一对应关系,所述第一对应关系为所述TCP连接与所述客户端的对应关系;
获取单元,用于获取所述客户端的应用设备信息;
记录单元,用于记录第二对应关系,所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
第一接收单元,用于在用户触发所述业务应用进行消息传输的情况下,接收所述客户端发送的上行消息;
第一转化单元,用于依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息;
第一发送单元,用于解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端,所述第三对应关系为所述业务名称与所述服务端的对应关系;
第二接收单元,用于接收所述服务端发送的下行消息;
第二转化单元,用于依据所述第二对应关系,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
第二发送单元,用于依据所述第一对应关系,将所述下行消息发送给所述客户端。
可选的,所述生成单元具体用于:
对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的消息传输方法。
一种消息传输设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的消息传输方法。
本申请提供的技术方案,生成TCP连接的唯一标示,唯一标示用于第一对应关系,第一对应关系为TCP连接与客户端的对应关系,获取客户端的应用设备信息,记录第二对应关系,第二对应关系为唯一标示与应用设备信息的对应关系,在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息,依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息,解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端,第三对应关系为业务名称与服务端的对应关系,接收服务端发送的下行消息,依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示,依据第一对应关系,将下行消息发送给客户端。可见,基于第三对应关系,可以将不同客户端发送的上行消息发送至同一个服务端,基于第二对应关系,可以将下行消息所携带的应用设备信息转化为唯一标示,并基于第一对应关系,将服务端发送的下行消息,发送给不同的客户端,因此,基于本申请提供的方案,能够实现不同业务线复用同一个消息通道。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种消息传输系统的架构示意图;
图1b为本申请实施例提供的一种消息传输系统执行消息传输的具体实现过程的示意图;
图1c为本申请实施例提供的一种消息传输系统执行消息传输的具体实现过程的示意图;
图1d为本申请实施例提供的一种消息传输系统执行消息传输的具体实现过程的示意图;
图1e为本申请实施例提供的一种封包解包的示意图;
图2为本申请实施例提供的一种消息传输方法的示意图;
图3为本申请实施例提供的一种消息传输装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1a所示,为本申请实施例提供的一种消息传输系统的架构示意图,包括:
客户端100、通道入口模块200、消息中心模块300、虚拟队列模块400、业务路由模块500、以及服务端600。
其中,客户端100与通道入口模块200的一端连接,通道入口模块200的另一端与消息中心模块300的一端连接,消息中心模块300的另一端与虚拟队列模块400的一端连接,虚拟队列模块400的另一端与业务路由模块500的一端连接,业务路由模块500的另一端与服务端600连接。
需要说明的是,客户端100、通道入口模块200、消息中心模块300、虚拟队列模块400、业务路由模块500、以及服务端600各自的数量可以为一个或多个,各个模块的具体数量可由技术人员根据实际情况进行设置,图1a中示出的消息传输系统的架构仅仅用于举例说明。
需要强调的是,由图1a可知,本实施例提供的消息传输系统分为四组进程(即图中的process1、process2、process3和process4,可视为客户端与服务端之间的消息传输),具体的,客户端的数量为2个,通道入口模块的数量为2个,消息中心模块的数量为3个,虚拟队列模块的数量为2个,业务路由模块的数量为3个,服务端的数量为3个。从图1a示出的消息传输系统的架构可知,每组进程由通道入口模块、消息中心模块、虚拟队列模块、业务路由模块负责,由于通道入口模块、消息中心模块、虚拟队列模块、业务路由模块各自的数量并不唯一,因此,只要消息传输系统中还存在一组通道入口模块、消息中心模块、虚拟队列模块、业务路由模块的组合,客户端与服务端之间则依旧可以正常进行消息传输,整个消息传输系统拥有较强的容灾性。
此外,在通道入口模块-消息中心模块-虚拟队列模块-业务路由模块的组合中,组合中不同类型模块之间可以相互组合,例如,2个通道入口模块都可以与消息中心模块连接。可见,本实施例提供的消息传输系统具有较强的扩展性。
在本实施例中,消息传输系统执行消息传输的具体实现过程,如图1b、图1c、以及图1d所示,包括如下步骤:
S101:当用户触发客户端上的业务应用启动后,客户端与通道入口模块建立TCP连接,并向通道入口模块发送应用设备信息。
其中,应用设备信息包括业务应用的ID、以及客户端所属设备的设备ID,具体的,应用设备信息可以表示为APPID@DEVICEID,APPID代表业务应用的ID,DEVICEID代表客户端所属设备的设备ID,@代表各字段之间的区分间隔,例如,3328@111889。
需要说明的是,建立TCP连接的具体实现过程,为本领域技术人员所熟悉的公知常识,这里不再赘述。并且,每次启动业务应用,客户端都会与通道入口模块建立TCP连接。
S102:通道入口模块对TCP连接进行鉴权,判断TCP连接是否鉴权通过。
若TCP鉴权通过,则执行S103,否则执行S104。
其中,对TCP连接进行鉴权的具体实现过程,实质上就是,对触发业务应用启动的用户进行身份验证,若用户的身份验证通过,则TCP连接具有合法性,鉴权通过。
S103:在TCP连接鉴权通过的情况下,通道入口模块生成TCP连接的唯一标示。
在S103执行结束之后,继续执行S105。
其中,唯一标示包括通道入口模块的ID、TCP连接的进程ID、以及TCP连接的文件描述符(File Descriptor,FD)。具体的,唯一标示可以表示为:ROAMID@PROCESSID@FD,ROAMID代表通道入口模块的预设ID,PROCESSID代表TCP连接的进程ID(在建立TCP连接是,客户端所属设备的操作系统会启动对应的进程,并且,操作系统会为该进程分配一个当前操作系统环境下的唯一ID,该唯一ID则为进程ID),FD代表TCP连接的文件描述符(客户端建立TCP连接后,客户端所属设备的操作系统会向客户端反馈一个数字符号,用于标识TCP连接),@代表各字段之间的区分间隔,例如,01@01@1。
S104:在TCP连接鉴权未通过的情况下,通道入口模块向客户端发送鉴权未通过提示。
其中,客户端接收到鉴权未通过提示,则确定当前建立的TCP连接失效,无法与通道入口模块进行通信。
S105:通道入口模块记录唯一标示与应用设备信息的对应关系。
S106:通道入口模块将唯一标示与应用设备信息的对应关系,发送给消息中心模块。
S107:在用户触发业务应用进行消息传输的情况下,客户端基于目标TCP连接,向通道入口模块发送上行消息。
其中,目标TCP连接为鉴权通过的TCP连接。
S108:通道入口模块将目标TCP连接的唯一标示,添加至上行消息的数据包包头。
其中,数据包为TCP协议通信传输中的数据单位,数据包包括包头和包体,包头用于存储客户端的IP地址、服务端的IP地址、以及其他的校验信息,包体用于存储模块数据,模块数据包括业务数据和预设的业务名称。
S109:通道入口模块将上行消息,发送给消息中心模块。
S110:消息中心模块依据唯一标示与应用设备信息的对应关系,将上行消息中的唯一标示转化为应用设备信息。
其中,在实际应用中,客户端向服务端发送消息,该消息需具备应用设备信息,基于应用设备信息,服务端才能获悉消息的来源,从而做出对应的响应。
S111:消息中心模块将上行消息,发送给虚拟队列模块。
S112:虚拟队列模块将上行消息,发送给业务路由模块。
其中,虚拟队列模块接收消息中心模块发送的上行消息,并将上行消息转发给业务路由模块,同理,下述S118-S119关于虚拟队列模块接收业务路由模块发送的下行消息,并将下行消息转发给消息中心模块,主要目的是为上行消息和下行消息提供转发节点,以解耦消息中心模块和业务路由模块,避免在添加新的消息中心模块或者业务路由模块的情况下,重启系统或者频繁更新配置文件,提高系统的扩展性。
解耦的原理为:消息中心模块直接与业务路由模块进行数据交互,那么消息中心模块对于业务路由模块就会产生依赖(也就是耦合)。将来如果业务路由模块的代码发生变化,可能会影响到消息中心模块。而如果两者都依赖于某个缓冲区(即虚拟队列模块),两者之间不直接依赖,耦合也就相应降低了。消息中心模块直接与业务路由模块进行数据交互,还有另一个弊端就是,由于数据交互是同步的(或者叫阻塞的),在业务路由模块的数据没有返回之前,消息中心模块只好一直等待,万一业务路由模块处理数据很慢,消息中心模块就会白白糟蹋大好时光。因此,缓冲区还有另一个好处,就是如果数据交互的速度时快时慢,缓冲区的好处就体现出来了。当数据交互速度较快的时候,业务路由模块来不及处理,未处理的数据可以暂时存在缓冲区中,等待消息中心模块的数据交互速度慢下来,业务路由模块再慢慢处理掉。
因此,虚拟队列模块的存在,使得消息中心模块和业务路由模块相互之间无需关注对方的部署情况,并且,还能够保证上行消息在各个业务路由模块的负载均衡,从而保证消息传输系统能够稳定运行。
S113:业务路由模块解析上行消息携带的业务名称。
其中,业务路由模块解析上行消息的数据包包体,得到业务名称。
S114:业务路由模块依据本地预存的业务名称与服务端的对应关系,将上行消息发送给服务端。
其中,服务端集成有业务集群,业务集群包括多个业务服务,每个业务服务对应一个业务名称。因此,依据业务名称与服务端的对应关系,可以将上行消息发送给业务名称对应的服务端。
需要强调的是,基于本地预存的业务名称与服务端的对应关系,业务路由模块可以将不同业务应用(即客户端)发送的上行消息,发送至同一个服务端(只要服务端提供多个业务服务),从而实现不同业务线复用同一个消息通道(即客户端-通道入口模块-消息中心模块-虚拟队列模块-业务路由模块-服务端)。
S115:服务端基于上行消息,生成下行消息。
其中,下行消息的数据包包头用于存储应用设备信息,包体用于存储模块数据,模块数据包括业务名称和响应数据(具体为业务数据的响应数据)。
需要说明的是,服务端基于上行消息,生成下行消息的具体实现过程,为本领域技术人员所熟悉的公知常识,这里不再赘述。
S116:服务端将下行消息,发送给业务路由模块。
S117:业务路由模块将服务端对应的业务名称加至下行消息的数据包包头。
S118:业务路由模块将下行消息,发送给虚拟队列模块。
S119:虚拟队列模块将下行消息,发送给消息中心模块。
S120:消息中心模块依据唯一标示与应用设备信息的对应关系,将下行消息中的应用设备信息转化为唯一标示。
需要说明的是,在本实施例中,消息中心模块主要是为了完成应用设备信息和唯一标示的双向转化,具体的,针对上行消息而言,消息中心模块将唯一标示转化为应用设备信息,针对下行消息而言,消息中心模块将应用设备信息转化为唯一标示。
S121:消息中心模块依据唯一标识所指示的通道入口模块的ID,将下行消息发送给目标通道入口模块。
其中,目标通道入口模块为,唯一标识所指示的通道入口模块的ID所属的通道入口模块。
S122:目标通道入口模块解析下行消息所携带的目标文件描述符,确定目标客户端。
其中,目标客户端为,建立目标TCP连接的客户端。目标TCP连接为,目标文件描述符所属的TCP连接。
需要说明的是,下行消息包括单点消息和广播消息,单点消息具体是指将消息发送给单个客户端,广播消息具体是指将消息发送给多个客户端。在本实施例中,不同客户端对应建立的TCP连接的唯一标示中的文件描述符也各不相同,即可通过文件描述符区分建立TCP连接的客户端。
S123:目标通道入口模块将下行消息,发送给目标客户端。
需要说明的是,由于本实施例提供的消息传输系统是基于TCP协议进行消息传输,为此,基于TCP协议自身的特性,上行消息或下行消息在各个模块之间传输时,需进行封包解包,具体的封包解包过程如图1e所示,包括下述步骤:
1、客户端向通道入口模块发送上行消息,上行消息的封包由“T”和“data”组成,“T”代表包头,“data”代表包体(即模块数据)。
2、通道入口模块将唯一标示“f:1fd”添加至包头“T”中,“f:1fd”中的“1”代表唯一标示的内存大小为1byte,“f:1fd”中的“fd”代表TCP连接的文件描述符,并将封包发送给消息中心模块。
3、消息中心模块将封包中的唯一标示“f:1fd”转化为应用设备信息“di”,并通过虚拟队列模块,将由“di”和“data”组成的封包发送给业务路由模块。
4、业务路由模块解包包体“data”,得到业务数据“md”和业务名称“mn”,并将由“di”和“md”组成的封包发送给服务端。
5、服务端基于业务数据“md”,生成下行消息的响应数据“md”,并将由“di”和“data”组成的封包(即单点消息的封包)、或者由应用设备信息列表“dis”(包含有多个应用设备信息)和“md”组成的封包(即广播消息的封包),发送给业务路由模块。
6、业务路由模块获取服务端对应的业务名称“mn”,并对“di”或“dis”、“md”、以及“mn”进行封包,得到下行消息的封包“didata”或者封包“disdata”。
7、业务路由模块通过虚拟队列模块,将下行消息的封包“didata”或者封包“disdata”发送给消息中心模块。
8、消息中心模块将“di”转化为“fd”、或者将“dis”转化为文件描述符列表“fds”(包含有多个文件描述符)。
9、消息中心模块依据“fd”和“fds”,将由“fd”和“data”组成的封包、或者由“fds”和“data”组成的封包发送给通道入口模块。
10、通道入口模块将依据“fd”和“fds”,将“data”的封包发送给客户端。
综上所述,生成TCP连接的唯一标示,唯一标示用于第一对应关系,第一对应关系为TCP连接与客户端的对应关系,获取客户端的应用设备信息,记录第二对应关系,第二对应关系为唯一标示与应用设备信息的对应关系,在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息,依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息,解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端,第三对应关系为业务名称与服务端的对应关系,接收服务端发送的下行消息,依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示,依据第一对应关系,将下行消息发送给客户端。可见,基于第三对应关系,可以将不同客户端发送的上行消息发送至同一个服务端,基于第二对应关系,可以将下行消息所携带的应用设备信息转化为唯一标示,并基于第一对应关系,将服务端发送的下行消息,发送给不同的客户端,因此,基于本实施例提供的方案,能够实现不同业务线复用同一个消息通道。
需要说明的是,上述实施例中,提供的消息传输系统执行消息传输的具体实现过程,可以概括为图2所示的方法。
如图2所示,为本申请实施例提供的一种消息传输方法的示意图,包括如下步骤:
S201:生成TCP连接的唯一标示。
其中,唯一标示用于第一对应关系,第一对应关系为TCP连接与客户端的对应关系。
可选的,在本实施例中,还会对TCP连接进行鉴权,并在TCP连接鉴权通过的情况下,将唯一标示添加至上行消息中。
S202:获取客户端的应用设备信息。
S203:记录第二对应关系。
其中,第二对应关系为唯一标示与应用设备信息的对应关系。
S204:在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息。
S205:依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息。
S206:解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端。
其中,第三对应关系为业务名称与服务端的对应关系。
S207:接收服务端发送的下行消息。
S208:依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示。
S209:依据第一对应关系,将下行消息发送给客户端。
综上所述,生成TCP连接的唯一标示,唯一标示用于第一对应关系,第一对应关系为TCP连接与客户端的对应关系,获取客户端的应用设备信息,记录第二对应关系,第二对应关系为唯一标示与应用设备信息的对应关系,在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息,依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息,解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端,第三对应关系为业务名称与服务端的对应关系,接收服务端发送的下行消息,依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示,依据第一对应关系,将下行消息发送给客户端。可见,基于第三对应关系,可以将不同客户端发送的上行消息发送至同一个服务端,基于第二对应关系,可以将下行消息所携带的应用设备信息转化为唯一标示,并基于第一对应关系,将服务端发送的下行消息,发送给不同的客户端,因此,基于本实施例提供的方案,能够实现不同业务线复用同一个消息通道。
与上述本申请提供的消息传输方法相对应,本申请实施例还提供了一种消息传输装置。
如图3所示,为本申请实施例提供的一种消息传输装置的结构示意图,包括:
生成单元301,用于生成TCP连接的唯一标示,唯一标示用于第一对应关系,第一对应关系为TCP连接与客户端的对应关系。
其中,生成单元301具体用于:对TCP连接进行鉴权,并在TCP连接鉴权通过的情况下,将唯一标示添加至上行消息中。
获取单元302,用于获取客户端的应用设备信息。
记录单元303,用于记录第二对应关系,第二对应关系为唯一标示与应用设备信息的对应关系。
第一接收单元304,用于在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息。
第一转化单元305,用于依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息。
第一发送单元306,用于解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端,第三对应关系为业务名称与服务端的对应关系。
第二接收单元307,用于接收服务端发送的下行消息。
第二转化单元308,用于依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示。
第二发送单元309,用于依据第一对应关系,将下行消息发送给客户端。
综上所述,生成TCP连接的唯一标示,唯一标示用于第一对应关系,第一对应关系为TCP连接与客户端的对应关系,获取客户端的应用设备信息,记录第二对应关系,第二对应关系为唯一标示与应用设备信息的对应关系,在用户触发业务应用进行消息传输的情况下,接收客户端发送的上行消息,依据第二对应关系,将上行消息所携带的唯一标示转化为应用设备信息,解析上行消息所携带的业务名称,并依据本地预存的第三对应关系,将上行消息发送给服务端,第三对应关系为业务名称与服务端的对应关系,接收服务端发送的下行消息,依据第二对应关系,将下行消息所携带的应用设备信息转化为唯一标示,依据第一对应关系,将下行消息发送给客户端。可见,基于第三对应关系,可以将不同客户端发送的上行消息发送至同一个服务端,基于第二对应关系,可以将下行消息所携带的应用设备信息转化为唯一标示,并基于第一对应关系,将服务端发送的下行消息,发送给不同的客户端,因此,基于本实施例提供的方案,能够实现不同业务线复用同一个消息通道。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本申请提供的消息传输方法。
本申请还提供了一种消息传输设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本申请提供的消息传输方法,包括如下步骤:
生成TCP连接的唯一标示,所述唯一标示用于第一对应关系,所述第一对应关系为所述TCP连接与所述客户端的对应关系;
获取所述客户端的应用设备信息;
记录第二对应关系,所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
在用户触发所述业务应用进行消息传输的情况下,接收所述客户端发送的上行消息;
依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息;
解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端,所述第三对应关系为所述业务名称与所述服务端的对应关系;
接收所述服务端发送的下行消息;
依据所述第二对应关系,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
依据所述第一对应关系,将所述下行消息发送给所述客户端。
可选的,所述生成TCP连接的唯一标示,包括:
对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种消息传输系统,其特征在于,包括:
通道入口模块、消息中心模块和业务路由模块;
所述通道入口模块,用于生成TCP连接的唯一标示,所述唯一标示用于指示第一对应关系,并获取客户端的应用设备信息;记录第二对应关系,并将所述第二对应关系发送给所述消息中心模块;在用户触发业务应用进行消息传输的情况下,将所述客户端发送的上行消息,发送给所述消息中心模块;接收所述消息中心模块发送的下行消息;依据所述第一对应关系,将所述下行消息发送给所述客户端;所述第一对象关系为所述TCP连接与所述客户端的对应关系;所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
所述消息中心模块,用于依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
所述业务路由模块,用于解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端;将所述服务端发送的所述下行消息,发送给所述消息中心模块,所述第三对应关系为所述业务名称与所述服务端的对应关系。
2.根据权利要求1所述的系统,其特征在于,所述通道入口模块用于生成TCP连接的唯一标示,包括:
所述通道入口模块具体用于,对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
3.根据权利要求1所述的系统,其特征在于,还包括:
虚拟队列模块,用于为所述上行消息与所述下行消息提供转发节点,以解耦所述消息中心模块与所述业务路由模块。
4.根据权利要求3所述的系统,其特征在于,所述通道入口模块、所述消息中心模块、所述业务路由模块、以及所述虚拟队列模块各自的数目为一个或多个。
5.一种消息传输方法,其特征在于,包括:
生成TCP连接的唯一标示,所述唯一标示用于第一对应关系,所述第一对应关系为所述TCP连接与所述客户端的对应关系;
获取所述客户端的应用设备信息;
记录第二对应关系,所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
在用户触发所述业务应用进行消息传输的情况下,接收所述客户端发送的上行消息;
依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息;
解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端,所述第三对应关系为所述业务名称与所述服务端的对应关系;
接收所述服务端发送的下行消息;
依据所述第二对应关系,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
依据所述第一对应关系,将所述下行消息发送给所述客户端。
6.根据权利要求5所述的方法,其特征在于,所述生成TCP连接的唯一标示,包括:
对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
7.一种消息传输装置,其特征在于,包括:
生成单元,用于生成TCP连接的唯一标示,所述唯一标示用于第一对应关系,所述第一对应关系为所述TCP连接与所述客户端的对应关系;
获取单元,用于获取所述客户端的应用设备信息;
记录单元,用于记录第二对应关系,所述第二对应关系为所述唯一标示与所述应用设备信息的对应关系;
第一接收单元,用于在用户触发所述业务应用进行消息传输的情况下,接收所述客户端发送的上行消息;
第一转化单元,用于依据所述第二对应关系,将所述上行消息所携带的所述唯一标示转化为所述应用设备信息;
第一发送单元,用于解析所述上行消息所携带的业务名称,并依据本地预存的第三对应关系,将所述上行消息发送给服务端,所述第三对应关系为所述业务名称与所述服务端的对应关系;
第二接收单元,用于接收所述服务端发送的下行消息;
第二转化单元,用于依据所述第二对应关系,将所述下行消息所携带的所述应用设备信息转化为所述唯一标示;
第二发送单元,用于依据所述第一对应关系,将所述下行消息发送给所述客户端。
8.根据权利要求7所述的装置,其特征在于,所述生成单元具体用于:
对所述TCP连接进行鉴权,并在所述TCP连接鉴权通过的情况下,将所述唯一标示添加至所述上行消息中。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求5-6所述的消息传输方法。
10.一种消息传输设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求5-6所述的消息传输方法。
CN202010772815.7A 2020-08-04 2020-08-04 一种消息传输方法、装置和系统 Active CN111901437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010772815.7A CN111901437B (zh) 2020-08-04 2020-08-04 一种消息传输方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010772815.7A CN111901437B (zh) 2020-08-04 2020-08-04 一种消息传输方法、装置和系统

Publications (2)

Publication Number Publication Date
CN111901437A true CN111901437A (zh) 2020-11-06
CN111901437B CN111901437B (zh) 2022-12-20

Family

ID=73183299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010772815.7A Active CN111901437B (zh) 2020-08-04 2020-08-04 一种消息传输方法、装置和系统

Country Status (1)

Country Link
CN (1) CN111901437B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016015436A1 (zh) * 2014-07-28 2016-02-04 百度在线网络技术(北京)有限公司 平台授权方法、平台服务端、应用客户端及系统和存储介质
CN108259533A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 一种数据传输方法和装置
CN110300050A (zh) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 消息推送方法、装置、计算机设备及存储介质
CN110401592A (zh) * 2019-07-30 2019-11-01 三体云智能科技有限公司 一种消息通道中数据流转的方法及设备
CN110505275A (zh) * 2019-07-16 2019-11-26 北京奇艺世纪科技有限公司 数据传输方法、系统、服务器及计算机可读存储介质
CN111343236A (zh) * 2020-02-07 2020-06-26 广州极晟网络技术有限公司 服务端与客户端进行通讯的方法、装置、通讯系统
CN111447185A (zh) * 2020-03-10 2020-07-24 平安科技(深圳)有限公司 一种推送信息的处理方法及相关设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016015436A1 (zh) * 2014-07-28 2016-02-04 百度在线网络技术(北京)有限公司 平台授权方法、平台服务端、应用客户端及系统和存储介质
CN108259533A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 一种数据传输方法和装置
CN110300050A (zh) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 消息推送方法、装置、计算机设备及存储介质
CN110505275A (zh) * 2019-07-16 2019-11-26 北京奇艺世纪科技有限公司 数据传输方法、系统、服务器及计算机可读存储介质
CN110401592A (zh) * 2019-07-30 2019-11-01 三体云智能科技有限公司 一种消息通道中数据流转的方法及设备
CN111343236A (zh) * 2020-02-07 2020-06-26 广州极晟网络技术有限公司 服务端与客户端进行通讯的方法、装置、通讯系统
CN111447185A (zh) * 2020-03-10 2020-07-24 平安科技(深圳)有限公司 一种推送信息的处理方法及相关设备

Also Published As

Publication number Publication date
CN111901437B (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
US20060212597A1 (en) Multi-stage load distributing apparatus and method, and program
US6892240B1 (en) Bidirectional communication system and method
EP1093254A2 (en) Virtual private network management system
CN101815106B (zh) 动态gre隧道建立的方法和设备
CN111552568B (zh) 云服务调用方法和装置
WO2017063153A1 (zh) 协议格式转换方法、装置及接口平台
CN106970843B (zh) 远程调用方法和装置
CN115002016B (zh) 报文处理系统、方法、设备和存储介质
JP2001168915A (ja) Ipパケット転送装置
US20090041458A1 (en) Passive optical network system management
CN100461784C (zh) 一种从网关设备之间进行通信的方法和系统
CN111901437B (zh) 一种消息传输方法、装置和系统
CN112311448B (zh) 一种基于虚拟机的卫星网络加速系统
WO2007118381A1 (fr) Procédé, système et appareil de transfert de message syslog
CN113037471A (zh) 基于政务领域的跨系统、跨部门业务协作信息交换方法
CN117176633A (zh) 一种总线跨设备通信方法、装置、设备及存储介质
JP2006229835A (ja) 伝送ネットワークの制御・監視方式
CN114650197A (zh) 通信方法、装置及用户面网元和存储介质
US6865182B2 (en) Data transfer method including recognizing identical messages and communication apparatus using the method
US11582674B2 (en) Communication device, communication method and data structure
EP1033848B1 (en) Proxy server supporting IP quality of service
CN111614688A (zh) 区块链的通用协议
US20070115854A1 (en) Method for automatically discovering a bus system in a multipoint transport network, multipoint transport network and network node
CN112671937B (zh) 一种聊天数据收发方法
CN111935090B (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