CN114629866A - 一种多个***之间随机在线客服建立实时通讯的方法 - Google Patents
一种多个***之间随机在线客服建立实时通讯的方法 Download PDFInfo
- Publication number
- CN114629866A CN114629866A CN202210264371.5A CN202210264371A CN114629866A CN 114629866 A CN114629866 A CN 114629866A CN 202210264371 A CN202210264371 A CN 202210264371A CN 114629866 A CN114629866 A CN 114629866A
- Authority
- CN
- China
- Prior art keywords
- information
- reply
- consultation
- message
- replying
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开的一种多个***之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同***间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过***内webSocket技术将消息的推送到当前用户,从而实现不同***间用户的实时通讯,能够实现多个***间随机在线客服进行实时通讯,满足业务场景需求。
Description
技术领域
本发明涉及计算机应用领域,特别涉及多个***之间随机在线客服建立实时通讯的方法。
背景技术
目前,随着企业业务的不断发展,发现单节点的单体应用不足以支撑业务的发展,很多项目架构已经从单体服务架构朝着更细粒度的微服务架构演变,但是同时也会出现很多问题,比如不同的微服务之间是不能通过webSocket协议进行实时通讯,因为webSocket在服务中是单例的。
针对上述问题,有必要设计一种一种多个***之间随机在线客服建立实时通讯的方法,实现不同***间用户的实时通讯。
发明内容
为了解决上述问题不足之处,本发明的目的在于提供一种多个***之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同***间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过***内webSocket技术将消息的推送到当前用户,从而实现不同***间用户的实时通讯。
本发明是通过以下技术方案来实现:
一种多个***之间随机在线客服建立实时通讯的方法,包括以下步骤:
步骤1:将***A下咨询用户的请求信息写入消息队列中的在线客服主题中,同时将所述请求信息id和连接状态存储到分布式缓存中;
步骤2:其它***B获取消息队列中的在线客服主题中的请求信息进行消费,得到***A下咨询用户的请求信息,并将请求信息推送到该其它***B下的在线用户;
步骤3:所述其它***B下的在线用户读取缓存中该请求信息的连接状态并以此建立***A与所述其它***B之间的通讯联系,同时向消息队列的回复内容主题中写入回复信息;
步骤4:***A接收到消息队列回复内容主题中的回复信息进行消费,获取到所述其它***B下回复人员的回复信息,并将回复信息推送到咨询人员,并建立咨询人员与其它***B之间的通讯联系。
优选的,执行步骤1前,先执行如下操作:
所述***A创建在线客服和咨询内容主题,订阅其它***B创建的回复内容主题;
所述其它***B创建回复内容主题,订阅***A创建的在线客服和咨询内容主题。
优选的,所述***A和其它***B的用户通过客户端登录***,通过webSocket建立与服务端的连接,通过服务端往消息队列的主题中写入信息。
优选的,步骤1中请求信息包括消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名,其中,回复人ID、回复人姓名为空值。
优选的,步骤2中其它***B将请求信息推送到其它***B下所有在线用户;
其它***B下用户登录***会建立websocket连接,将用户信息存入在线用户集合,用户下线则将该用户移除。
优选的,步骤3中其它***B下所有在线用户读取缓存中该请求信息的连接状态,如果状态是等待连接则接受请求,更新该请求信息状态,如果状态是已连接则返回。
优选的,步骤3中回复消息包括消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名、回复内容,其中回复内容为空值。
优选的,步骤4后还包括以下步骤:
步骤5:咨询用户输入咨询信息,服务端将咨询信息写入消息队列咨询内容主题中;
步骤6:其它***B获取消息队列咨询内容主题中的咨询信息进行消费,将咨询信息推送到***B下当前回复人员;
步骤7:***B下回复人员根据咨询信息输入回复信息,服务端将回复信息写入消息队列的回复内容主题。
优选的,所述咨询信息包括消息ID、咨询人ID、咨询人姓名、咨询内容、回复人ID和回复人姓名,此时,回复人ID、回复人姓名为有值。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供的一种多个***之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同***间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过***内webSocket技术将消息的推送到当前用户,从而实现不同***间用户的实时通讯,能够实现多个***间随机在线客服进行实时通讯,满足业务场景需求。
附图说明
图1为本发明一种多个***之间随机在线客服建立实时通讯的方法架构图;
图2本发明多个***之间随机在线客服建立实时通讯的方法的操作流程图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
如图1和2所示,一种多个***之间随机在线客服建立实时通讯的方法,包括以下步骤:
步骤1、首先采用消息中间件API在消息队列中创建“在线客服”、“咨询内容”、“回复内容”主题;
步骤2:用户***A订阅消息总线的“回复内容”主题,客服***B分别订阅消息总线的“在线客服”、“咨询内容”两个主题;
步骤3:用户***A下用户通过客户端登录***,通过webSocket建立与服务端的连接,点击在线客服,发送请求,服务端接收请求,组装消息数据(包含消息id、咨询人员的基本信息),服务端往消息队列“在线客服”中写入消息,同时将消息id和连接状态存储到分布式缓存中;
消息内容格式:消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名,其中回复人ID、回复人姓名为空值,消息对应的主题是“在线客服”。
步骤4:客服***B下用户通过客户端登录***,通过webSocket建立与服务端的连接,将用户信息存入***全局变量在线用户集合,客服***B异步监听到消息队列“在线客服”中的消息进行消费,解析消息内容,获取用户***A下咨询人员的基本信息和消息id,遍历在线用户集合,将咨询人员的基本信息通过webSocket连接推送到所有在线用户客户端;
步骤5:客服***B在线用户根据服务器推送的消息,先读取缓存中消息的连接状态如果是等待连接则接收连接请求,如果是已连接则返回,更新缓存中消息连接状态,发送请求,客服***B服务端接收请求,组装消息数据(包含咨询人员的基本信息、回复人员的基本信息以及回复内容),往消息队列“回复内容”中写入消息;
消息内容应该包含消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名、回复内容,其中回复内容为空值,消息对应的主题是“回复内容”。
步骤6:用户***A异步监听到消息队列“回复内容”中的消息进行消费,解析消息内容,获取咨询人员的基本信息、回复人员的基本信息以及回复内容,其中回复内容为空,根据咨询人员的基本信息通过webSocket连接推送到该咨询人员客户端,建立连接,打开咨询界面。
步骤7:用户***A下咨询人员输入咨询内容,点击咨询,发送请求,服务端接收请求,组装消息数据(包含咨询人员的基本信息、回复人员的基本信息以及咨询内容),往消息队列“咨询内容”中写入消息;
消息内容格式:消息ID、咨询人ID、咨询人姓名、咨询内容、回复人ID、回复人姓名,这时其中回复人ID、回复人姓名为都会有值,消息对应的主题是“咨询内容”。
步骤8:客服***B异步监听到消息队列“咨询内容”中的消息进行消费,解析消息内容,获取咨询人员的基本信息、回复人员的基本信息以及咨询内容,根据回复人员的基本信息通过webSocket连接推送到当前回复人员客户端。
步骤9:客服***B回复人员获取到服务器推送的消息,根据咨询内容,输入回复内容,发送请求,服务端获取请求将咨询人员基本信息、回复人员的基本信息以及回复内容往消息队列“回复内容”中写入消息。
本发明是一种多个***之间随机在线客服建立实时通讯的方法,该方法利用消息队列的订阅和发布模式实现不同***间消息的转发传递,然后通过分布式缓存存储、读取消息的连接状态,最后通过***内webSocket技术将消息的推送到当前用户,从而实现不同***间用户的实时通讯。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (9)
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、回复人姓名,其中,回复人ID、回复人姓名为空值。
5.根据权利要求1所述的一种多个***之间随机在线客服建立实时通讯的方法,其特征在于,步骤2中其它***B将请求信息推送到其它***B下所有在线用户;
其它***B下用户登录***会建立websocket连接,将用户信息存入在线用户集合,用户下线则将该用户移除。
6.根据权利要求1所述的一种多个***之间随机在线客服建立实时通讯的方法,其特征在于,步骤3中其它***B下所有在线用户读取缓存中该请求信息的连接状态,如果状态是等待连接则接受请求,更新该请求信息状态,如果状态是已连接则返回。
7.根据权利要求1所述的一种多个***之间随机在线客服建立实时通讯的方法,其特征在于,步骤3中回复消息包括消息ID、咨询人ID、咨询人姓名、回复人ID、回复人姓名、回复内容,其中回复内容为空值。
8.根据权利要求1所述的一种多个***之间随机在线客服建立实时通讯的方法,其特征在于,步骤4后还包括以下步骤:
步骤5:咨询用户输入咨询信息,服务端将咨询信息写入消息队列咨询内容主题中;
步骤6:其它***B获取消息队列咨询内容主题中的咨询信息进行消费,将咨询信息推送到***B下当前回复人员;
步骤7:***B下回复人员根据咨询信息输入回复信息,服务端将回复信息写入消息队列的回复内容主题。
9.根据权利要求1所述的一种多个***之间随机在线客服建立实时通讯的方法,其特征在于,所述咨询信息包括消息ID、咨询人ID、咨询人姓名、咨询内容、回复人ID和回复人姓名,此时,回复人ID、回复人姓名为有值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210264371.5A CN114629866A (zh) | 2022-03-17 | 2022-03-17 | 一种多个***之间随机在线客服建立实时通讯的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210264371.5A CN114629866A (zh) | 2022-03-17 | 2022-03-17 | 一种多个***之间随机在线客服建立实时通讯的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114629866A true CN114629866A (zh) | 2022-06-14 |
Family
ID=81901677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210264371.5A Pending CN114629866A (zh) | 2022-03-17 | 2022-03-17 | 一种多个***之间随机在线客服建立实时通讯的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114629866A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968963A (zh) * | 2021-02-23 | 2021-06-15 | 上海昊沧***控制技术有限责任公司 | 基于WebSocket进行用户强制实时下线的方法 |
CN115378898A (zh) * | 2022-10-26 | 2022-11-22 | 中航信移动科技有限公司 | 一种在线客服***的信息显示方法、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717133A (zh) * | 2015-03-16 | 2015-06-17 | 墨仕(厦门)电子商务有限公司 | 一种分布式消息推送***及方法 |
CN110971686A (zh) * | 2019-11-29 | 2020-04-07 | 湖南御家科技有限公司 | 一种支持高并发、高可用的电子商城客服*** |
-
2022
- 2022-03-17 CN CN202210264371.5A patent/CN114629866A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717133A (zh) * | 2015-03-16 | 2015-06-17 | 墨仕(厦门)电子商务有限公司 | 一种分布式消息推送***及方法 |
CN110971686A (zh) * | 2019-11-29 | 2020-04-07 | 湖南御家科技有限公司 | 一种支持高并发、高可用的电子商城客服*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968963A (zh) * | 2021-02-23 | 2021-06-15 | 上海昊沧***控制技术有限责任公司 | 基于WebSocket进行用户强制实时下线的方法 |
CN112968963B (zh) * | 2021-02-23 | 2023-03-24 | 上海昊沧***控制技术有限责任公司 | 基于WebSocket进行用户强制实时下线的方法 |
CN115378898A (zh) * | 2022-10-26 | 2022-11-22 | 中航信移动科技有限公司 | 一种在线客服***的信息显示方法、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986057B2 (en) | Message history display system and method | |
EP0878768B1 (en) | Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers | |
US9929984B2 (en) | Method and computer program product for establishing real-time communications between networked computers | |
US8606859B2 (en) | Method and system to communicate messages in a computer network | |
CN114629866A (zh) | 一种多个***之间随机在线客服建立实时通讯的方法 | |
US20020156871A1 (en) | Messaging protocol | |
US7996467B2 (en) | Techniques for applying policies for real time collaboration | |
JP2003508855A (ja) | 1グループの参加者間の情報通信システム | |
US8935344B2 (en) | Systems and methods for message personalization | |
CN1825312A (zh) | 用于定位从联系人源收集的联系人信息的方法和*** | |
CN106059892A (zh) | 一种用于融合通信***的消息引擎 | |
US9442925B2 (en) | Regulated texting solution for mobile devices | |
WO2004114120A1 (en) | Method and system for data collection for alert delivery | |
US7958212B1 (en) | Updating presence information | |
CN108055199A (zh) | 支持离线消息保存的移动推送方法及*** | |
JP2015522879A (ja) | オフラインメッセージを提供するサービス装置、方法及び記憶媒体 | |
US20060095476A1 (en) | Method and system for providing one-to-one email collaboration | |
CN103685357A (zh) | 一种账号多开消息处理方法及*** | |
CN104410562A (zh) | 一种能够与业务进行关联的即时信息处理方法 | |
CN112527844A (zh) | 数据处理方法及装置、数据库架构 | |
CN111200650B (zh) | 数据传输方法、装置、***、设备及介质 | |
CN110381023B (zh) | 一种基于mqtt协议的消息存储方法 | |
CN114422467B (zh) | 客服消息管理***及方法 | |
CN112787906A (zh) | 一种基于云桌面平台的消息推送*** | |
CN112767220B (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 |