预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109361770A(43)申请公布日2019.02.19(21)申请号201811512461.1(22)申请日2018.12.11(71)申请人苏州创旅天下信息技术有限公司地址215000江苏省苏州市工业园区裕新路188号同程大厦A区9F-907室(72)发明人肖昆吴相武(51)Int.Cl.H04L29/08(2006.01)H04L29/06(2006.01)权利要求书2页说明书7页附图3页(54)发明名称基于WebSocket和消息队列实现双向实时通信的系统及方法(57)摘要本发明公开了一种基于WebSocket和消息队列实现双向实时通信的系统及方法,涉及通信技术领域,旨在解决现有的采用WebSocket协议实现实时通信的方案容易导致后端服务和数据库需要承受大量并发压力的问题。其技术方案要点是,系统包括服务端和客户端,服务端包括用于为与服务端连接的客户端建立唯一标识的标记模块和用于根据标记模块建立的唯一标识建立用于定位客户端在WebSocket服务中的位置的索引的索引模块;其中,服务端以消息队列消费者的方式从订阅的消息队列中接收消息生产者发布的消息,并按照索引将接收的消息推送给客户端。服务端以被动的方式接收消息后再推送给相应客户端,解决了轮询导致的性能问题。CN109361770ACN109361770A权利要求书1/2页1.一种基于WebSocket和消息队列实现双向实时通信的系统,其特征在于,包括用于建立WebSocket服务的服务端(10)和用于向所述服务端(10)发起WebSocket连接的客户端(20),所述服务端(10)包括:标记模块(11),其用于为与所述服务端(10)连接的所述客户端(20)建立唯一标识;索引模块(12),其用于根据所述标记模块(11)建立的唯一标识建立用于定位所述客户端(20)在WebSocket服务中的位置的索引;其中,所述服务端(10)以消息队列消费者的方式从订阅的消息队列中接收消息生产者发布的消息,并按照所述索引将接收的所述消息推送给所述客户端(20)。2.根据权利要求1所述的基于WebSocket和消息队列实现双向实时通信的系统,其特征在于,所述服务端(10)还包括:检测模块(13),其用于检测所述客户端(20)与所述服务端(10)之间的连接是否中断;触发模块(14),其用于当所述检测模块(13)检测到所述客户端(20)与所述服务端(10)之间的连接中断时,删除所述索引模块(12)建立的相应的索引。3.根据权利要求2所述的基于WebSocket和消息队列实现双向实时通信的系统,其特征在于,所述触发模块(14)包括:判断单元(15),其用于当所述检测模块(13)检测到所述客户端(20)与所述服务端(10)之间的连接中断时,检测所述连接中断的中断类型;所述中断类型包括服务端主动断开和客户端主动断开;删除单元(16),其用于当所述判断单元(15)检测到所述中断类型为服务端主动断开时,直接删除所述索引模块(12)建立的相应的索引;计时单元(17),其用于当所述判断单元(15)检测到所述中断类型为客户端主动断开时,进行设定时间的定时;其中,若所述判断单元(15)检测到所述客户端(20)在所述设定时间内未重新与所述服务端(10)连接,则向所述删除单元(16)发送删除相应索引的控制信号。4.根据权利要求1所述的基于WebSocket和消息队列实现双向实时通信的系统,其特征在于,所述消息生产者包括识别模块(30)和分类数据集(40),所述分类数据集(40)包括至少一种消息类型对照信息,所述至少一种消息类型对照信息中的每一种消息类型对照信息均对应一种消息队列;所述识别模块(30)用于检测所述消息的消息类型信息并判断所述分类数据集(40)中是否具有与所述消息类型信息相同的消息类型对照信息;其中,若所述识别模块(30)判断所述分类数据集(40)中具有与所述消息类型信息相同的消息类型对照信息时,所述消息生产者根据所述消息类型对照信息将所述消息发布至对应的消息队列中。5.根据权利要求4所述的基于WebSocket和消息队列实现双向实时通信的系统,其特征在于,所述分类数据集(40)还包括所述至少一种消息类型对照信息中的每一种消息类型对照信息所对应的消息被消息生产者发布至对应的消息队列中的优先级,所述消息生产者优先将优先级最高的所述消息发布到对应的消息队列中。6.一种基于WebSocket和消息队列实现双向实时通信的方法,其特征在于,所述基于WebSocket和消息队列实现双向实时通信的方法基于权利要求1中所述的基于WebSocket和消息队列实现双向实时通信的系统,包括:2CN109361770A权利要求书2/2页通过所述服务