一种多个系统之间随机在线客服建立实时通讯的方法与流程

文档序号:30419406发布日期:2022-06-15 12:35阅读:189来源:国知局
一种多个系统之间随机在线客服建立实时通讯的方法与流程

1.本发明涉及计算机应用领域,特别涉及多个系统之间随机在线客服建立实时通讯的方法。


背景技术:

2.目前,随着企业业务的不断发展,发现单节点的单体应用不足以支撑业务的发展,很多项目架构已经从单体服务架构朝着更细粒度的微服务架构演变,但是同时也会出现很多问题,比如不同的微服务之间是不能通过websocket协议进行实时通讯,因为websocket在服务中是单例的。
3.针对上述问题,有必要设计一种一种多个系统之间随机在线客服建立实时通讯的方法,实现不同系统间用户的实时通讯。


技术实现要素:

4.为了解决上述问题不足之处,本发明的目的在于提供一种多个系统之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同系统间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过系统内websocket技术将消息的推送到当前用户,从而实现不同系统间用户的实时通讯。
5.本发明是通过以下技术方案来实现:
6.一种多个系统之间随机在线客服建立实时通讯的方法,包括以下步骤:
7.步骤1:将系统a下咨询用户的请求信息写入消息队列中的在线客服主题中,同时将所述请求信息id和连接状态存储到分布式缓存中;
8.步骤2:其它系统b获取消息队列中的在线客服主题中的请求信息进行消费,得到系统a下咨询用户的请求信息,并将请求信息推送到该其它系统b下的在线用户;
9.步骤3:所述其它系统b下的在线用户读取缓存中该请求信息的连接状态并以此建立系统a与所述其它系统b之间的通讯联系,同时向消息队列的回复内容主题中写入回复信息;
10.步骤4:系统a接收到消息队列回复内容主题中的回复信息进行消费,获取到所述其它系统b下回复人员的回复信息,并将回复信息推送到咨询人员,并建立咨询人员与其它系统b之间的通讯联系。
11.优选的,执行步骤1前,先执行如下操作:
12.所述系统a创建在线客服和咨询内容主题,订阅其它系统b创建的回复内容主题;
13.所述其它系统b创建回复内容主题,订阅系统a创建的在线客服和咨询内容主题。
14.优选的,所述系统a和其它系统b的用户通过客户端登录系统,通过websocket建立与服务端的连接,通过服务端往消息队列的主题中写入信息。
15.优选的,步骤1中请求信息包括消息id、咨询人id、咨询人姓名、回复人id、回复人姓名,其中,回复人id、回复人姓名为空值。
16.优选的,步骤2中其它系统b将请求信息推送到其它系统b下所有在线用户;
17.其它系统b下用户登录系统会建立websocket连接,将用户信息存入在线用户集合,用户下线则将该用户移除。
18.优选的,步骤3中其它系统b下所有在线用户读取缓存中该请求信息的连接状态,如果状态是等待连接则接受请求,更新该请求信息状态,如果状态是已连接则返回。
19.优选的,步骤3中回复消息包括消息id、咨询人id、咨询人姓名、回复人id、回复人姓名、回复内容,其中回复内容为空值。
20.优选的,步骤4后还包括以下步骤:
21.步骤5:咨询用户输入咨询信息,服务端将咨询信息写入消息队列咨询内容主题中;
22.步骤6:其它系统b获取消息队列咨询内容主题中的咨询信息进行消费,将咨询信息推送到系统b下当前回复人员;
23.步骤7:系统b下回复人员根据咨询信息输入回复信息,服务端将回复信息写入消息队列的回复内容主题。
24.优选的,所述咨询信息包括消息id、咨询人id、咨询人姓名、咨询内容、回复人id和回复人姓名,此时,回复人id、回复人姓名为有值。
25.与现有技术相比,本发明具有以下有益的技术效果:
26.本发明提供的一种多个系统之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同系统间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过系统内websocket技术将消息的推送到当前用户,从而实现不同系统间用户的实时通讯,能够实现多个系统间随机在线客服进行实时通讯,满足业务场景需求。
附图说明
27.图1为本发明一种多个系统之间随机在线客服建立实时通讯的方法架构图;
28.图2本发明多个系统之间随机在线客服建立实时通讯的方法的操作流程图。
具体实施方式
29.下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
30.如图1和2所示,一种多个系统之间随机在线客服建立实时通讯的方法,包括以下步骤:
31.步骤1、首先采用消息中间件api在消息队列中创建“在线客服”、“咨询内容”、“回复内容”主题;
32.步骤2:用户系统a订阅消息总线的“回复内容”主题,客服系统b分别订阅消息总线的“在线客服”、“咨询内容”两个主题;
33.步骤3:用户系统a下用户通过客户端登录系统,通过websocket建立与服务端的连接,点击在线客服,发送请求,服务端接收请求,组装消息数据(包含消息id、咨询人员的基本信息),服务端往消息队列“在线客服”中写入消息,同时将消息id和连接状态存储到分布
式缓存中;
34.消息内容格式:消息id、咨询人id、咨询人姓名、回复人id、回复人姓名,其中回复人id、回复人姓名为空值,消息对应的主题是“在线客服”。
35.步骤4:客服系统b下用户通过客户端登录系统,通过websocket建立与服务端的连接,将用户信息存入系统全局变量在线用户集合,客服系统b异步监听到消息队列“在线客服”中的消息进行消费,解析消息内容,获取用户系统a下咨询人员的基本信息和消息id,遍历在线用户集合,将咨询人员的基本信息通过websocket连接推送到所有在线用户客户端;
36.步骤5:客服系统b在线用户根据服务器推送的消息,先读取缓存中消息的连接状态如果是等待连接则接收连接请求,如果是已连接则返回,更新缓存中消息连接状态,发送请求,客服系统b服务端接收请求,组装消息数据(包含咨询人员的基本信息、回复人员的基本信息以及回复内容),往消息队列“回复内容”中写入消息;
37.消息内容应该包含消息id、咨询人id、咨询人姓名、回复人id、回复人姓名、回复内容,其中回复内容为空值,消息对应的主题是“回复内容”。
38.步骤6:用户系统a异步监听到消息队列“回复内容”中的消息进行消费,解析消息内容,获取咨询人员的基本信息、回复人员的基本信息以及回复内容,其中回复内容为空,根据咨询人员的基本信息通过websocket连接推送到该咨询人员客户端,建立连接,打开咨询界面。
39.步骤7:用户系统a下咨询人员输入咨询内容,点击咨询,发送请求,服务端接收请求,组装消息数据(包含咨询人员的基本信息、回复人员的基本信息以及咨询内容),往消息队列“咨询内容”中写入消息;
40.消息内容格式:消息id、咨询人id、咨询人姓名、咨询内容、回复人id、回复人姓名,这时其中回复人id、回复人姓名为都会有值,消息对应的主题是“咨询内容”。
41.步骤8:客服系统b异步监听到消息队列“咨询内容”中的消息进行消费,解析消息内容,获取咨询人员的基本信息、回复人员的基本信息以及咨询内容,根据回复人员的基本信息通过websocket连接推送到当前回复人员客户端。
42.步骤9:客服系统b回复人员获取到服务器推送的消息,根据咨询内容,输入回复内容,发送请求,服务端获取请求将咨询人员基本信息、回复人员的基本信息以及回复内容往消息队列“回复内容”中写入消息。
43.本发明是一种多个系统之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同系统间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过系统内websocket技术将消息的推送到当前用户,从而实现不同系统间用户的实时通讯。
44.以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1