一种多个系统之间随机在线客服建立实时通讯的方法技术方案

技术编号:33835886 阅读:69 留言:0更新日期:2022-06-16 11:51
本发明专利技术公开的一种多个系统之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同系统间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过系统内webSocket技术将消息的推送到当前用户,从而实现不同系统间用户的实时通讯,能够实现多个系统间随机在线客服进行实时通讯,满足业务场景需求。满足业务场景需求。满足业务场景需求。

【技术实现步骤摘要】
一种多个系统之间随机在线客服建立实时通讯的方法


[0001]本专利技术涉及计算机应用领域,特别涉及多个系统之间随机在线客服建立实时通讯的方法。

技术介绍

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

技术实现思路

[0004]为了解决上述问题不足之处,本专利技术的目的在于提供一种多个系统之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同系统间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过系统内webSocket技术将消息的推送到当前用户,从而实现不同系统间用户的实时通讯。
[0005]本专利技术是通过以下技术方案来实现:
[0006]一种多个系统之间随机在线客服建立实时通讯的方法,包括以下步骤:
[0007]步骤1:将系统A下咨询用户的请求信息写入消息队列中的在线客服主题中,同时将所述请求信息id和连接状态存储到分布式缓存中;
[0008]步骤2:其它系统B获取消息队列中的在线客服主题中的请求信息进行消费,得到系统A下咨询用户的请求信息,并将请求信息推送到该其它系统B下的在线用户;
[0009]步骤3:所述其它系统B下的在线用户读取缓存中该请求信息的连接状态并以此建立系统A与所述其它系统B之间的通讯联系,同时向消息队列的回复内容主题中写入回复信息;
[0010]步骤4:系统A接收到消息队列回复内容主题中的回复信息进行消费,获取到所述其它系统B下回复人员的回复信息,并将回复信息推送到咨询人员,并建立咨询人员与其它系统B之间的通讯联系。
[0011]优选的,执行步骤1前,先执行如下操作:
[0012]所述系统A创建在线客服和咨询内容主题,订阅其它系统B创建的回复内容主题;
[0013]所述其它系统B创建回复内容主题,订阅系统A创建的在线客服和咨询内容主题。
[0014]优选的,所述系统A和其它系统B的用户通过客户端登录系统,通过webSocket建立与服务端的连接,通过服务端往消息队列的主题中写入信息。
[0015]优选的,步骤1中请求信息包括消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名,其中,回复人ID、回复人姓名为空值。
[0016]优选的,步骤2中其它系统B将请求信息推送到其它系统B下所有在线用户;
[0017]其它系统B下用户登录系统会建立websocket连接,将用户信息存入在线用户集合,用户下线则将该用户移除。
[0018]优选的,步骤3中其它系统B下所有在线用户读取缓存中该请求信息的连接状态,如果状态是等待连接则接受请求,更新该请求信息状态,如果状态是已连接则返回。
[0019]优选的,步骤3中回复消息包括消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名、回复内容,其中回复内容为空值。
[0020]优选的,步骤4后还包括以下步骤:
[0021]步骤5:咨询用户输入咨询信息,服务端将咨询信息写入消息队列咨询内容主题中;
[0022]步骤6:其它系统B获取消息队列咨询内容主题中的咨询信息进行消费,将咨询信息推送到系统B下当前回复人员;
[0023]步骤7:系统B下回复人员根据咨询信息输入回复信息,服务端将回复信息写入消息队列的回复内容主题。
[0024]优选的,所述咨询信息包括消息ID、咨询人ID、咨询人姓名、咨询内容、回复人ID和回复人姓名,此时,回复人ID、回复人姓名为有值。
[0025]与现有技术相比,本专利技术具有以下有益的技术效果:
[0026]本专利技术提供的一种多个系统之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同系统间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过系统内webSocket技术将消息的推送到当前用户,从而实现不同系统间用户的实时通讯,能够实现多个系统间随机在线客服进行实时通讯,满足业务场景需求。
附图说明
[0027]图1为本专利技术一种多个系统之间随机在线客服建立实时通讯的方法架构图;
[0028]图2本专利技术多个系统之间随机在线客服建立实时通讯的方法的操作流程图。
具体实施方式
[0029]下面结合附图对本专利技术做进一步的详细说明,所述是对本专利技术的解释而不是限定。
[0030]如图1和2所示,一种多个系统之间随机在线客服建立实时通讯的方法,包括以下步骤:
[0031]步骤1、首先采用消息中间件API在消息队列中创建“在线客服”、“咨询内容”、“回复内容”主题;
[0032]步骤2:用户系统A订阅消息总线的“回复内容”主题,客服系统B分别订阅消息总线的“在线客服”、“咨询内容”两个主题;
[0033]步骤3:用户系统A下用户通过客户端登录系统,通过webSocket建立与服务端的连接,点击在线客服,发送请求,服务端接收请求,组装消息数据(包含消息id、咨询人员的基本信息),服务端往消息队列“在线客服”中写入消息,同时将消息id和连接状态存储到分布
式缓存中;
[0034]消息内容格式:消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名,其中回复人ID、回复人姓名为空值,消息对应的主题是“在线客服”。
[0035]步骤4:客服系统B下用户通过客户端登录系统,通过webSocket建立与服务端的连接,将用户信息存入系统全局变量在线用户集合,客服系统B异步监听到消息队列“在线客服”中的消息进行消费,解析消息内容,获取用户系统A下咨询人员的基本信息和消息id,遍历在线用户集合,将咨询人员的基本信息通过webSocket连接推送到所有在线用户客户端;
[0036]步骤5:客服系统B在线用户根据服务器推送的消息,先读取缓存中消息的连接状态如果是等待连接则接收连接请求,如果是已连接则返回,更新缓存中消息连接状态,发送请求,客服系统B服务端接收请求,组装消息数据(包含咨询人员的基本信息、回复人员的基本信息以及回复内容),往消息队列“回复内容”中写入消息;
[0037]消息内容应该包含消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名、回复内容,其中回复内容为空值,消息对应的主题是“回复内容”。
[0038]步骤6:用户系统A异步监听到消息队列“回复内容”中的消息进行消费,解析消息内容,获取咨询人员的基本信息、回复人员的基本信息以及回复内容,其中回复内容为空,根据咨询人员的基本信息通过webSocket连接推送到该咨询人员客户端,建立连接,打开咨询界面。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多个系统之间随机在线客服建立实时通讯的方法,其特征在于,包括以下步骤:步骤1:将系统A下咨询用户的请求信息写入消息队列中的在线客服主题中,同时将所述请求信息id和连接状态存储到分布式缓存中;步骤2:其它系统B获取消息队列中的在线客服主题中的请求信息进行消费,得到系统A下咨询用户的请求信息,并将请求信息推送到该其它系统B下的在线用户;步骤3:所述其它系统B下的在线用户读取缓存中该请求信息的连接状态并以此建立系统A与所述其它系统B之间的通讯联系,同时向消息队列的回复内容主题中写入回复信息;步骤4:系统A接收到消息队列回复内容主题中的回复信息进行消费,获取到所述其它系统B下回复人员的回复信息,并将回复信息推送到咨询人员,并建立咨询人员与其它系统B之间的通讯联系。2.根据权利要求1所述的一种多个系统之间随机在线客服建立实时通讯的方法,其特征在于,执行步骤1前,先执行如下操作:所述系统A创建在线客服和咨询内容主题,订阅其它系统B创建的回复内容主题;所述其它系统B创建回复内容主题,订阅系统A创建的在线客服和咨询内容主题。3.根据权利要求1所述的一种多个系统之间随机在线客服建立实时通讯的方法,其特征在于,所述系统A和其它系统B的用户通过客户端登录系统,通过webSocket建立与服务端的连接,通过服务端往消息队列的主题中写入信息。4.根据权利要求1所述的一种多个系统之间随机在线客服建立实时通讯的方法,其特征在于,步骤1中请求信息包括消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名,其...

【专利技术属性】
技术研发人员:周东阳王力
申请(专利权)人:西安西热电站信息技术有限公司
类型:发明
国别省市:

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

1