基于即时通讯私有云架构的消息传输方法和系统技术方案

技术编号:27835821 阅读:12 留言:0更新日期:2021-03-30 12:00
本申请涉及基于即时通讯私有云架构的消息传输方法和系统,该方法包括发送连接请求,所述连接请求由WS服务器进行验证,若验证通过,建立第一客户端与业务服务器的双向连接;获取并处理所述第一客户端发送的业务请求,处理后在所述连接请求中加入填充类型、接收者作为UDP DATA Frame消息,发送给所述WS服务器;根据所述填充类型,判断接收的所述UDP DATA Frame消息为客户端消息后,将所述UDP DATA Frame消息转换成Message消息发送到所述接收者中的第二客户端中,所述Message消息被所述第二客户端解码得到IMMessage消息。通过将WS服务器与业务服务器、消息存储服务解耦的方式,提高了系统的扩展性,简化了发布部署流程的内容,提高了部署效率,有利于服务升级和热发布,保证了系统的稳定性。保证了系统的稳定性。保证了系统的稳定性。

【技术实现步骤摘要】
基于即时通讯私有云架构的消息传输方法和系统


[0001]本申请涉及即时通讯私有云应用领域,特别是涉及基于即时通讯私有云架构的消息传输方法和系统。

技术介绍

[0002]WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。
[0003]WebSocket允许服务端主动向客户端推送数据,使得客户端和服务器之间的数据交换变得更加简单。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。WebSocket的特点包括:(1)建立在TCP协议之上,服务器端的实现比较容易。(2)与HTTP协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用HTTP协议,因此握手时不容易屏蔽,能通过各种HTTP代理服务器。(3)数据格式比较轻量,性能开销小,通信高效。(4)可以发送文本,也可以发送二进制数据。(5)没有同源限制,客户端可以与任意服务器通信。(6)协议标识符是WS(如果加密,则为WSS),服务器网址就是URL。
[0004]现在,很多网站为了实现推送技术,所用的技术都是Ajax轮询。轮询是在特定的的时间间隔由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。
[0005]因此,WebSocket协议能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
[0006]现有的即时通讯服务一般都是服务商提供的云服务,仅有的一些提供私有云服务集群部署方案过于复杂,需要服务注册中心等辅助服务,实施起来繁琐工作量大;在架构方面WS服务器与业务服务器、消息存储服务耦合较紧,不利于服务升级和热发布,业务服务器升级部署通常会引起WS服务器暂停服务;因此需要一种架构精简的集群方案和低耦合的服务拆分方案,和与之相配套的扩展性友好的消息协议,以至少解决相关技术中即时通讯私有云架构部署耦合较紧,不利于服务升级和热发布的问题。

技术实现思路

[0007]本申请实施例提供了基于即时通讯私有云架构的消息传输方法和系统,以至少解决相关技术中即时通讯私有云架构部署耦合较紧,不利于服务升级和热发布的问题。
[0008]第一方面,本申请实施例提供了基于即时通讯私有云架构的消息传输方法,该方法包括以下步骤:发送连接请求,所述连接请求由WS服务器进行验证,若验证通过,建立第一客户端与业务服务器的双向连接;获取并处理所述第一客户端发送的业务请求,处理后在所述连接请求中加入填充类型、接收者作为UDP DATA Frame消息,发送给所述WS服务器,其中,所述接收者包括至少一个第二客户端,所述第二客户端用于接收所述第一客户端发
送的消息;根据所述填充类型,判断接收的所述UDP DATA Frame消息为客户端消息后,将所述UDP DATA Frame消息转换成Message消息发送给所述第二客户端,所述Message消息被所述第二客户端解码得到IMMessage消息。
[0009]在其中一些实施例中,发送连接请求,所述连接请求由WS服务器进行验证,若验证通过,建立第一客户端与业务服务器的双向连接包括:发送连接请求,其中,所述连接请求包括应用标识,用户标识,认证令牌,时间戳;根据所述应用标识,所述用户标识,所述认证令牌验证所述第一客户端是否合法并通过所述时间戳检验所述连接请求的时效性;若验证通过,建立所述第一客户端与所述业务服务器的双向连接。
[0010]在其中一些实施例中,所述连接请求是双向连接之前,由所述业务服务器对所述第一客户端的身份信息进行验证后发送给所述第一客户端的,其中,所述身份信息包括所述第一客户端的用户名、密码。
[0011]在其中一些实施例中,所述UDP DATA Frame消息还包括消息版本、标记、接收者个数,其中,所述应用标识、所述接收者、所述填充类型、所述消息版本、所述标记、所述接收者个数组成所述UDP DATA Frame消息的消息头部,所述消息版本用于确定所述UDP DATA Frame消息的消息结构,根据所述消息结构将所述UDP DATA Frame消息解析为所述Message消息。
[0012]在其中一些实施例中,所述IMMessage消息包括发送者、类型、接收者、媒体类型、内容、缩略图、附件存储地址、备注信息、计量信息、扩展信息的一种或多种。
[0013]在其中一些实施例中,所述方法还包括:根据所述填充类型,判断接收的所述UDP DATA Frame消息为服务端消息后向所述消息存储服务发送消息存储指令。
[0014]在其中一些实施例中,所述方法还包括:接收存储文件请求并处理,存储成功后向所述业务服务器发送附件存储地址,所述附件存储地址由所述业务服务器返回给所述第一客户端。
[0015]在其中一些实施例中,所述媒体类型至少包括消息媒体和附件媒体,所述其他服务器收到所述附件媒体后通过所述附件存储地址调用存储在所述文件服务中的附件。
[0016]在其中一些实施例中,所述媒体类型包括未知类型、文本类型、表情类型、图片类型、语音类型、视频类型、文件类型、地理位置类型、新闻类型、好友推荐类型、链接类型、红包类型、指令推送类型的一种或多种。
[0017]第二方面,本申请实施例提供了基于即时通讯私有云架构的消息传输系统,包括第一客户端、WS服务器、业务服务器;所述第一客户端,用于发送连接请求,所述连接请求由WS服务器进行验证,若验证通过,建立第一客户端与业务服务器的双向连接;所述业务服务器,用于获取并处理所述第一客户端发送的业务请求,处理后在所述连接请求中加入填充类型、接收者作为UDP DATA Frame消息,发送给所述WS服务器;所述WS服务器,用于根据所述填充类型,判断接收的所述UDP DATA Frame消息为客户端消息后,将所述UDP DATA Frame消息转换成Message消息发送给所述第二客户端,所述Message消息被所述第二客户端解码得到IMMessage消息。
[0018]在其中一些实施例中,消息传输系统还包括消息存储服务,用于获取并存储所述WS服务器的服务端消息;文件服务,用于获取所述业务服务器发送的存储附件请求,附件存储成功后将附件所在地址返回给所述业务服务器;网关层,用于转发所述第一客户端与所
述业务服务器、所述消息存储服务、所述WS服务器、所述文件服务之间的消息。
[0019]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于即时通讯私有云架构的消息传输方法。
[0020]第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于即时通讯私有云架构的消息传输方法,其特征在于,该方法包括以下步骤:发送连接请求,所述连接请求由WS服务器进行验证,若验证通过,建立第一客户端与业务服务器的双向连接;获取并处理所述第一客户端发送的业务请求,处理后在所述连接请求中加入填充类型、接收者作为UDP DATA Frame消息,发送给所述WS服务器,其中,所述接收者包括至少一个第二客户端,所述第二客户端用于接收所述第一客户端发送的消息;根据所述填充类型,判断接收的所述UDP DATA Frame消息为客户端消息后,将所述UDP DATA Frame消息转换成Message消息发送给所述第二客户端,所述Message消息被所述第二客户端解码得到IMMessage消息。2.根据权利要求1所述的基于即时通讯私有云架构的消息传输方法,其特征在于,发送连接请求,所述连接请求由WS服务器进行验证,若验证通过,建立第一客户端与业务服务器的双向连接包括:发送连接请求,其中,所述连接请求包括应用标识,用户标识,认证令牌,时间戳;根据所述应用标识,所述用户标识,所述认证令牌验证所述第一客户端是否合法并通过所述时间戳检验所述连接请求的时效性;若验证通过,建立所述第一客户端与所述业务服务器的双向连接。3.根据权利要求2所述的基于即时通讯私有云架构的消息传输方法,其特征在于,所述连接请求是双向连接之前,由所述业务服务器对所述第一客户端的身份信息进行验证后发送给所述第一客户端的,其中,所述身份信息包括所述第一客户端的用户名、密码。4.根据权利要求2所述的基于即时通讯私有云架构的消息传输方法,其特征在于,所述UDP DATA Frame消息还包括消息版本、标记、接收者个数,其中,所述应用标识、所述接收者、所述填充类型、所述消息版本、所述标记、所述接收者个数组成所述UDP DATA Frame消息的消息头部,所述消息版本用于确定所述UDP DATA Frame消息的消息结构,根据所述消息结构将所述UDP DATAFrame消息解析为所述Message消息。5.根据权利要求1所述的基于即时通讯私有云架构的消息传输方法,其特征在于,所述IMMessage消息包括发送者、类型、接收者、媒体类型、内容、缩略图、附件存储地址、备注信息、计量信息、扩展信息的一种或多种。6.根据权利要求1所述的基于即时通讯私有云架构的消息传输方法,其特征在于,所述方法还包括:根据所述填充类型,判断接收的所述UDP DATA Frame消息为服务端消息后向所...

【专利技术属性】
技术研发人员:郁强胡飞毛云青牛宇鹏
申请(专利权)人:城云科技中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1