CN110719221A - 即时通信方法、装置、设备及存储介质 - Google Patents
即时通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110719221A CN110719221A CN201910984880.3A CN201910984880A CN110719221A CN 110719221 A CN110719221 A CN 110719221A CN 201910984880 A CN201910984880 A CN 201910984880A CN 110719221 A CN110719221 A CN 110719221A
- Authority
- CN
- China
- Prior art keywords
- user
- target
- processing module
- message
- connection information
- 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.)
- Granted
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
- 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/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供一种即时通信方法、装置、设备及存储介质,该方法包括:所述业务逻辑处理模块获取发送端发送给所述服务器的聊天请求消息,并根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识;所述消息分发模块根据所述用户标识,从预设数据库中获取与所述目标用户的用户标识匹配的目标接收端的连接信息,并将所述连接信息发送给所述消息处理模块;所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。本申请实施例提供的方法能够克服现有技术中的即时通讯服务冗余度高,从而导致即时通讯服务稳定性差的问题。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种即时通信方法、装置、设备及存储介质。
背景技术
随着IM技术的快速发展,IM软件已经成为网络用户不可缺少的通信工具之一。
互联网公司即时通讯一般采用基于websocket长连接的双向通信服务,基于互联网公司中各业务线有其特有业务逻辑,如客服聊天系统的客人分配逻辑、敏感词检测逻辑等,要将各个业务逻辑耦合进通信流程中,进而实现业务的即时通信服务。
但是,随着接入业务线越来越多,即时通讯服务冗余度越来越高,从而导致即时通讯服务稳定性差。
发明内容
本申请实施例提供一种即时通信方法、装置、设备及存储介质,以克服现有技术中即时通讯服务冗余度高,从而导致即时通讯服务稳定性差的问题。
第一方面,本申请实施例提供一种即时通信方法,应用于服务器,所述服务器包括业务逻辑处理模块、消息分发模块和消息处理模块,所述方法包括:
所述业务逻辑处理模块获取发送端发送给所述服务器的聊天请求消息,并根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识;
所述消息分发模块根据所述用户标识,从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息,并将所述连接信息发送给所述消息处理模块;
所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。
在一种可能的设计中,所述根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识,包括:
所述业务逻辑处理模块对所述聊天请求消息进行解码,确定所述发送端的用户请求聊天的目标对象,一个目标对象对应多个接收端的用户;
若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象存在通信关系,则所述业务逻辑处理模块从所述多个接收端的用户中查找与所述发送端的用户存在通信关系的目标用户,并获取所述目标用户的用户标识。
在一种可能的设计中,在所述确定所述发送端的用户请求聊天的目标对象之后,所述方法还包括:
若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象不存在通信关系,则从所述多个接收端的用户中确定所述目标用户;
所述业务逻辑处理模块将所述目标用户分配给为所述发送端的用户;
所述业务逻辑处理模块获取所述目标用户的用户标识,并建立所述目标接收端与所述发送端的连接信息;
所述业务逻辑处理模块将所述目标用户的用户标识以及所述连接信息更新至所述预设数据库,所述预设数据中存储有所述目标用户的用户标识与所述连接信息的映射关系。
在一种可能的设计中,所述业务逻辑处理模块从所述多个接收端的用户中确定所述目标用户,包括:
所述业务逻辑处理模块检测所述多个接收端的用户的在线状态,所述在线状态包括空闲状态和忙碌状态;
若所述业务逻辑处理模块检测到所述多个接收端的用户中存在至少一个空闲状态的用户,则所述业务逻辑处理模块将所述至少一个空闲状态的用户随机或按预设规则分配给所述发送端的用户,其中,分配的空闲状态的用户为所述目标用户;
若所述业务逻辑处理模块检测到所述多个接收端的用户的在线状态均为忙碌状态,则所述业务逻辑处理模块查看每个接收端的用户对应的评价信息;
所述业务逻辑处理模块对所述评价信息按照预设顺序进行排序,确定将所述评价信息中评价最高的至少一个忙碌状态的用户;
所述业务逻辑处理模块获取所述至少一个忙碌状态的用户中的每个忙碌状态的用户对应的接待数量,将接待数量最多的忙碌状态的用户分配给所述发送端的用户,其中,分配的忙碌状态的用户为所述目标用户。
在一种可能的设计中,所述消息分发模块将所述连接信息发送给所述消息处理模块,包括:
所述消息分发模块通过远程过程调用协议,将所述连接信息发送至所述消息处理模块。
在一种可能的设计中,所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信,包括:
所述消息处理模块通过websocket协议将所述聊天请求消息推送到所述目标接收端;
若所述消息处理模块在预设时间段内未检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则将所述聊天请求消息重新推送至所述目标接收端;
若所述消息处理模块在预设时间段内检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则确定所述发送端与所述目标接收端通信成功。
在一种可能的设计中,所述发送端的个数为至少一个,所述目标对象的个数为至少一个。
第二方面,本申请实施例提供一种即时通信装置,应用于服务器,包括:
消息接收模块,用于获取发送端发送给所述服务器的聊天请求消息;
用户标识确定模块,用于根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识;
连接信息确定模块,用于根据所述用户标识,从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息;
连接信息发送模块,用于将所述连接信息发送给连接信息接收模块;
连接信息接收模块,用于接收所述连接信息;
连接信息推送模块,用于根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。
第三方面,本申请实施例提供一种即时通信设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的即时通信方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的即时通信方法。
本实施例提供的即时通信方法、装置、设备及存储介质,先通过服务器中的业务逻辑处理模块获取发送端发送给所述服务器的聊天请求消息,然后对聊天请求消息进行业务逻辑处理,确定出与与聊天请求消息匹配的目标用户的用户标识,然后将目标用户的用户标识发送给服务器的即时通讯服务即消息分发模块和消息处理模块,利用消息分发模块从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息,消息分发模块再将连接信息发送给消息处理模块,然后消息处理模块再通过连接信息将聊天请求消息推送到目标接收端,实现发送端与目标接收端之间的通信。本方案通过采取业务逻辑处理和即时通讯服务分离的方案,各业务线接入即时通讯服务时,先走完业务逻辑后,再将聊天请求消息发送到消息分发模块,然后由消息处理模块转发到目标接收端,保证了即时通讯服务的纯粹性和稳定性,架构更清晰。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的即时通信方法的流程示意图;
图2为本申请再一实施例提供的即时通信方法的应用场景示意图;
图3为本申请另一实施例提供的即时通信方法的流程示意图;
图4为本申请再一实施例提供的即时通信方法的流程示意图;
图5为本申请又一实施例提供的即时通信方法的流程示意图;
图6为本申请再一实施例提供的即时通信方法的流程示意图;
图7为本申请实施例提供的即时通信装置的结构示意图;
图8为本申请实施例提供的即时通信设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术中的即时通讯系统,随着接入业务线越来越多,即时通讯服务冗余度越来越高,同时整个消息链路追溯复杂,服务稳定性很受业务逻辑的影响,为了解决上述问题,本申请实施例提供一种即时通信方法、装置、设备以及存储介质。
图1为本申请实施例提供的即时通信方法的流程示意图,本实施例的执行主体可以为服务器,本实施例此处对执行主体不做限定。
参见图1,所述即时通信方法,应用于服务器,所述服务器包括业务逻辑处理模块、消息分发模块和消息处理模块,包括:
S101、所述业务逻辑处理模块获取发送端发送给所述服务器的聊天请求消息,并根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识。
本实施例中,发送端可以是客户或是商家对应的终端,发送端可以通过json格式把聊天请求消息发送给服务器,该聊天请求消息可以是http请求消息,服务器中的业务逻辑处理模块获取在服务器上产生的聊天请求消息,开始对聊天请求消息进行业务逻辑处理。这里的业务逻辑可以包括合规性检测,比如图片、文字、风险、广告等业务的检测,还可以包括商家的客服分配逻辑,具体地,一个用户通过终端设备可以是发消息到具体的一个商家对应的终端或服务器上的,到商家对应的终端或服务器之后,商家对应的终端或服务器上存储有分配客服给该用户的业务逻辑。
其中,业务逻辑处理模块需要对聊天请求信息进行解码,得到该聊天请求消息中发送端的用户要发送给哪个目标对象,这里的目标对象可以具体为商家。然后根据目标对象,确定一个与聊天请求消息匹配的目标用户的用户标识。
S102、所述消息分发模块根据所述用户标识,从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息,并将所述连接信息发送给所述消息处理模块。
本实施例中,连接信息可以包括用户角色(客人或商家)、客户端平台(移动端、网页端、桌面端)等组成唯一标识,记录到redis集群中。业务逻辑处理模块所在的业务服务端需要把聊天请求消息下发给对应的目标对象,这中间需要先以http请求把聊天请求消息发送到消息分发模块,消息分发模块起到一个中转的作用,从基于redis集群的预设数据库中获取存储的连接信息,根据连接信息将聊天请求消息转发给与目标用户连接的websocket的服务器上即为目标接收端。
S103、所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。
本实施例中,由于目标对象可以对应多个目标接收端,则消息处理模块需要根据消息分发模块获取到的连接信息,比如上述的唯一标识,用以查询到该聊天请求消息具体被下发到目标对象中的哪个目标用户对应的目标接收端上,使得发送端与所述目标接收端通信连接,可以进行实时通信。
本实施例中,先通过服务器中的业务逻辑处理模块获取发送端发送给所述服务器的聊天请求消息,然后对聊天请求消息进行业务逻辑处理,确定出与与聊天请求消息匹配的目标用户的用户标识,然后将目标用户的用户标识发送给服务器的即时通讯服务即消息分发模块和消息处理模块,利用消息分发模块从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息,消息分发模块再将连接信息发送给消息处理模块,然后消息处理模块再通过连接信息将聊天请求消息推送到目标接收端,实现发送端与目标接收端之间的通信。本实施例中商家业务逻辑与即时通讯服务完全分离,即时通讯服务架构清晰,稳定性得到保证。
在实际应用中,结合图2所示,该即使通信方法应用在服务器上,以服务器为执行主体实现本申请的即时通信方法。具体地,该服务器可以分为服务层、业务层以及数据层。其中,服务层上业务逻辑处理模块所在的业务服务端,用来将产生聊天请求消息进行业务逻辑处理即为发送端的用户分配目标用户;业务层上主要包括消息分发模块和消息处理模块,消息分发模块和消息处理模块所在的GO服务端用来对消息进行转发和推送,采用消息分发模块和消息处理模块的分布式架构,保证了即时通讯服务的纯粹性和稳定性,架构更清晰。同时消息分发模块的http服务方便多种编程语言快速对接,使业务线迅速接入即时通讯服务。
其中,消息分发模块也叫请求转发模块即为dispatcher,提供消息分发给指定的工作模块的桥接作用。消息处理模块可以为worker服务器,提供websocket服务的服务器。
具体地,用户客户端(发送端可以为http客户端也可以为websocket客户端)与消息处理模块建立websocket长连接:通过负载均衡算法,使用户客户端连接到合适的服务器(消息处理模块的某个worker服务器)。连接成功后,记录用户之间的连接信息,包括用户角色(客户或商家)、用户客户端平台(移动端、网页端、桌面端)等组成唯一标识,通过系统日志记录,记录到redis集群,形成预设数据库。
当购买商品的用户(客户)要给目标对象(商家)发消息的时候,先通过http请求把聊天请求消息发给业务服务端,业务服务端对聊天请求消息进行业务逻辑处理,从确定的目标对象中为发送端的用户(即为客户)分配与聊天请求消息匹配的目标用户(即为客户的ID),并将目标用户的用户标识下发给GO服务端上的消息分发模块,消息分发模块根据客户的ID通过从redis集群中查询客户与目标用户的连接信息,确定出客户的ID对应的服务器位置信息,根据该位置信息,确定出将该聊天请求消息具体分发到哪个worker服务器上,一个worker服务器对应一个接收端(接收端或目标接收端可以为websocket客户端)。然后GO服务端上的消息处理模块根据连接信息,将聊天请求消息推送到所述目标接收端,使得发送端与目标接收端进行通信。
本方案通过采取业务逻辑处理和即时通讯服务分离的方案,各业务线接入即时通讯服务时,先走完业务逻辑后,再将聊天请求消息发送到消息分发模块,然后由消息处理模块转发到目标接收端,保证了即时通讯服务的纯粹性和稳定性,架构更清晰。
在实际应用中,如何确定与聊天请求消息匹配的目标用户的用户标识,使得发送端的用户可以与目标用户进行实时聊天,参见图3所示,图3为本申请另一实施例提供的即时通信方法的流程示意图。本实施在上述实施例的基础上。例如,在图1所述的实施例的基础上,对S101中确定与所述聊天请求消息匹配的目标用户的用户标识进行了详细说明。根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识,包括:
S201、所述业务逻辑处理模块对所述聊天请求消息进行解码,确定所述发送端的用户请求聊天的目标对象,一个目标对象对应多个接收端的用户;
S202、若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象存在通信关系,则所述业务逻辑处理模块从所述多个接收端的用户中查找与所述发送端的用户存在通信关系的目标用户,并获取所述目标用户的用户标识。
本实施例中,业务逻辑处理模块首先对所述聊天请求消息进行解码,得到这个发送端的用户(商家或客户)请求聊天的目标对象,在实际应用中,以发送端的用户为客户(购买者)为例,通过解码得到是要发送给哪个商家的客服的。
如果业务逻辑处理模块检测到该客户与该商家的某一或某些客服存在通信关系,则不需要重新为该客户分配新的客服。这里的通信关系可以通过存在聊天记录来体现,从与该客户存在聊天记录的多个客服中随机抽取一个客服作为目标用户,进而获取该目标用户的目标标识。同时,业务逻辑处理模块会将聊天请求消息会同步至预设数据库中,保证聊天请求消息不会丢失。
若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象不存在通信关系,则需要为发送端的用户分配一个目标用户,具体地,参见图4所示,图4为本申请再一实施例提供的即时通信方法的流程示意图。本实施例在上述实施例的基础上,例如在图3所述实施例的基础上,对即时通信消息进行了详细说明。在所述确定所述发送端的用户请求聊天的目标对象之后,所述方法还包括:
S301、若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象不存在通信关系,则从所述多个接收端的用户中确定所述目标用户;
S302、所述业务逻辑处理模块将所述目标用户分配给为所述发送端的用户;
S303、所述业务逻辑处理模块获取所述目标用户的用户标识,并建立所述目标接收端与所述发送端的连接信息;
S304、所述业务逻辑处理模块将所述目标用户的用户标识以及所述连接信息更新至所述预设数据库,所述预设数据中存储有所述目标用户的用户标识与所述连接信息的映射关系。
本实施例中,如果该客户与目标对象中任一用户(客服)没有聊天记录,则业务逻辑处理模块需要为该客户分配一个目标用户即为目标对象中的一个客服,建立客户与商家的客服之间的一个连接关系,通过获取到的客服的ID,用以实现业务消息下发。
具体地,业务逻辑处理模块将目标用户分配给为所述发送端的用户之后,建立目标接收端与发送端的连接信息,这里的连接信息包括用户角色(客人或商家)、客户端平台(移动端、网页端、桌面端)等组成唯一标识,并将该唯一标识记录到redis集群中,实现预设数据库的更新。其中,连接信息是用户每次建立连接的时候,先校验数据是合法的,建立成功后立刻存储的,如果断开连接,重新建立连接会更新信息,存储的信息是从用户的本身的属性上获取到的信息,比如平台类型,角色名称,业务线ID等等。此外,预设数据中存储有所述目标用户的用户标识与所述连接信息的映射关系,因此,业务逻辑处理模块可以通过目标用户的用户标识从预设数据库中找到目标接收端与发送端的连接信息。
在为发送端的用户分配目标用户时,如何确定目标用户,实现分配任务,参见图5所示,图5为本申请又一实施例提供的即时通信方法的流程示意图,本实施例在上述实施例的基础上,例如,在图4所述实施例的基础上,对S301中的业务逻辑处理模块从所述多个接收端的用户中确定所述目标用户,包括:
S401、所述业务逻辑处理模块检测所述多个接收端的用户的在线状态,所述在线状态包括空闲状态和忙碌状态;
S402、若所述业务逻辑处理模块检测到所述多个接收端的用户中存在至少一个空闲状态的用户,则所述业务逻辑处理模块将所述至少一个空闲状态的用户随机或按预设规则分配给所述发送端的用户,其中,分配的空闲状态的用户为所述目标用户;
S403、若所述业务逻辑处理模块检测到所述多个接收端的用户的在线状态均为忙碌状态,则所述业务逻辑处理模块查看每个接收端的用户对应的评价信息;
S404、所述业务逻辑处理模块对所述评价信息按照预设顺序进行排序,确定将所述评价信息中评价最高的至少一个忙碌状态的用户;
S405、所述业务逻辑处理模块获取每个忙碌状态的用户对应的接待数量,将接待数量最多的忙碌状态的用户分配给所述发送端的用户,其中,分配的忙碌状态的用户为所述目标用户。
在实际应用中,一个商家有多个客服,每个客服对应一个接收端。首先利用业务逻辑处理模块检测多个接收端的用户(多个客服)的在线状态,确定哪个客服处于空闲状态,如果存在一个处于空闲状态的用户,则直接将该空闲状态的用户分配给发送端的用户,如果存在至少两个处于空闲状态的用户(空闲状态的客服),则将所有空闲状态的用户中的一个空闲状态的用户随机或是按照预设规则分配给发送端的用户。这里的预设规则可以是按照评价高低对空闲状态的用户进行排序,将评价最高的空闲状态的用户作为待分配的目标用户,或是,按照接待数量的大小进行排序,将接待数量最大的空闲状态的用户作为待分配的目标用户。
如果不存在空闲状态的用户,则查看处于忙碌状态的用户,若所述业务逻辑处理模块检测到多个接收端的用户的在线状态均为忙碌状态,则业务逻辑处理模块查看每个接收端的用户对应的评价信息,对所述评价信息按照预设顺序进行排序,确定将所述评价信息中评价最高的至少一个忙碌状态的用户,如果评价最高的忙碌状态的用户的数量为一个,则直接将该评价最高的忙碌状态的用户分配给所述发送端的用户,如果评价最高的忙碌状态的用户的数量为至少两个,则获取至少一个忙碌状态的用户中的每个忙碌状态的用户对应的接待数量,将接待数量最多的忙碌状态的用户分配给所述发送端的用户。
在一种可能的设计中,所述消息分发模块通过远程过程调用协议,将所述连接信息发送至所述消息处理模块,所述消息处理模块通过websocket协议将所述聊天请求消息推送到所述目标接收端。
本实施例中,消息分发模块通过远程过程调用协议rpc方式把聊天请求消息转发到目标用户连接的接收端上,rpc的方式性能更快,而且传输的数据也少,从而节约了服务器的成本。其中,发送端发送的聊天请求消息可以以http协议进行发送,也可以以websocket协议进行发送,而消息处理模块在向目标接收端推送聊天请求消息时可以以websocket协议将所述聊天请求消息推送到所述目标接收端。
其中,消息分发模块将聊天请求消息转发至消息处理模块时,通过多重保障策略,可以保证聊天请求消息成功下发到消息处理模块。该多种保障策略保罗:主动机制,即为重传机制,可以有一个三次重传的机制来保证,比如,消息分发模块可以在某一时间段内通过三次机会将聊天请求消息通过三次重复转发至消息处理模块。被动机制,在断开连接后,拉取历史消息的机制来保证。
在一种可能的设计中,发送端的个数为至少一个,所述目标对象的个数为至少一个。
在实际应用中,如果电商的商家和客户之间是一对一通讯的,则服务器直接为客户与该商家的某一客户产生即时通信。如果一个客户给多个商家群发消息,则服务器先利用业务逻辑处理模块获取到多个商家的多个目标用户的客服ID,然后利用消息分发模块根据这个客服ID获取到的该客服ID所在服务器或是接收端的位置信息,然后消息处理模块根据该位置信息路由到多个客服所在的服务器上做群发处理。
本申请实现即时通信方法的操作系统可以是社区企业操作系统(CommunityEnterprise Operating System,CentOS),执行主体是linux服务器,该服务器通过采用分布式方案,由于消息分发模块和消息处理模块各自独立,消息分发模块和消息处理模块都能进行水平扩展。具体地,可以采用一个高可用的键值存储系统etcd作为注册中心,消息处理模块增加节点的时候把信息注册到etcd上,然后消息分发模块通过etcd来做服务发现,消息分发模块增加节点可以直接增加多台后端,然后修改高性能的HTTP和反向代理web服务器nginx的配置文件即可。当整体服务负载高时,可以通过增加节点来分担压力,保证消息即时性和服务稳定性,进而保证服务可用性。
消息处理模块将消息通过websocket协议推送到接收端(客户端)上,为了保证消息的成功投递,消息处理模块需要实时检测服务器信息收到是否接收到接收端发送的信息收到的反馈信息,具体地,参见图6所示,图6为本申请再一实施例提供的即时通信方法的流程示意图,本实施例在上述实施例的基础上,对如何保证消息的成功投递进行了详细说明。所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信,包括:
S501、所述消息处理模块通过websocket协议将所述聊天请求消息推送到所述目标接收端;
S502、若所述消息处理模块在预设时间段内未检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则将所述聊天请求消息重新推送至所述目标接收端;
S503、若所述消息处理模块在预设时间段内检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则确定所述发送端与所述目标接收端通信成功。
本实施例中,消息处理模块通过websocket协议将所述聊天请求消息推送到所述目标接收端之后,目标接收端需要向服务器发送一个信息收到的反馈消息,用以通知消息处理模块中的worker服务器下发的业务消息目标接收端已经收到了。
如果消息处理模块在预设时间段内检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则说明所述发送端与所述目标接收端通信成功。如果目标接收端没有发送信息收到的反馈消息给服务器,则可以分为下述两种场景进行处理:
场景1:如果目标接收端没有发送信息收到的反馈消息给服务器,且目标接收端并未收到该聊天请求消息,则服务器会在预设时间内来重新将该聊天请求信息发送给目标接收端。
场景2:目标接收端没有发送信息收到的反馈消息给服务器,且目标接收端已经收到该聊天请求消息,但是因为网络抖动,没有将信息收到的反馈消息发送给服务器,则服务器会重复投递给目标接收端,该目标接收端可以通过投递过来的消息ID来去重展示。
本申请实施例采用业务逻辑与即时通讯服务完全分离,即时通讯服务架构清晰,稳定性得到保证。其次,即时通讯服务中的消息分发模块的http服务方便各业务线迅速接入,由于消息分发模块和消息处理模块各自独立,模块负载高时可以迅速增加节点分担压力,保证服务可用性。
为了实现所述即时通信方法,本实施例提供了一种即时通信装置。参见图7,图7为本申请实施例提供的即时通信装置的结构示意图;所述即时通信装置,包括:消息接收模块701、用户标识确定模块702、连接信息确定模块703、连接信息发送模块704、连接信息接收模块705、连接信息推送模块706;消息接收模块701,用于获取发送端发送给所述服务器的聊天请求消息;用户标识确定模块702,用于根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识;连接信息确定模块703,用于根据所述用户标识,从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息;连接信息发送模块704,用于将所述连接信息发送给连接信息接收模块;连接信息接收模块705,用于接收所述连接信息;连接信息推送模块706,用于根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。
本实施例通过设置消息接收模块701、用户标识确定模块702、连接信息确定模块703、连接信息发送模块704、连接信息接收模块705、连接信息推送模块706,用于获取发送端发送给所述服务器的聊天请求消息,然后对聊天请求消息进行业务逻辑处理,确定出与与聊天请求消息匹配的目标用户的用户标识,然后将目标用户的用户标识发送给服务器的即时通讯服务即消息分发模块和消息处理模块,利用消息分发模块从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息,消息分发模块再将连接信息发送给消息处理模块,然后消息处理模块再通过连接信息将聊天请求消息推送到目标接收端,实现发送端与目标接收端之间的通信。本方案通过采取业务逻辑处理和即时通讯服务分离的方案,各业务线接入即时通讯服务时,先走完业务逻辑后,再将聊天请求消息发送到消息分发模块,然后由消息处理模块转发到目标接收端,保证了即时通讯服务的纯粹性和稳定性,架构更清晰。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
在一种可能的设计中,所述用户标识确定模块702,具体用于:对所述聊天请求消息进行解码,确定所述发送端的用户请求聊天的目标对象,一个目标对象对应多个接收端的用户;若检测到所述发送端的用户与所述目标对象存在通信关系,则从所述多个接收端的用户中查找与所述发送端的用户存在通信关系的目标用户,并获取所述目标用户的用户标识。
在一种可能的设计中,所述装置还包括:目标用户确定模块、分配模块、连接信息建立模块、更新模块;目标用户确定模块,用于在所述确定所述发送端的用户请求聊天的目标对象之后,若检测到所述发送端的用户与所述目标对象不存在通信关系,则从所述多个接收端的用户中确定所述目标用户;分配模块,用于将所述目标用户分配给为所述发送端的用户;连接信息建立模块,用于获取所述目标用户的用户标识,并建立所述目标接收端与所述发送端的连接信息;更新模块,用于将所述目标用户的用户标识以及所述连接信息更新至所述预设数据库,所述预设数据中存储有所述目标用户的用户标识与所述连接信息的映射关系。
在一种可能的设计中,目标用户确定模块,具体用于:
检测所述多个接收端的用户的在线状态,所述在线状态包括空闲状态和忙碌状态;
若检测到所述多个接收端的用户中存在至少一个空闲状态的用户,则将所述至少一个空闲状态的用户随机或按预设规则分配给所述发送端的用户,其中,分配的空闲状态的用户为所述目标用户;若检测到所述多个接收端的用户的在线状态均为忙碌状态,则查看每个接收端的用户对应的评价信息;对所述评价信息按照预设顺序进行排序,确定将所述评价信息中评价最高的至少一个忙碌状态的用户;获取所述至少一个忙碌状态的用户中的每个忙碌状态的用户对应的接待数量,将接待数量最多的忙碌状态的用户分配给所述发送端的用户,其中,分配的忙碌状态的用户为所述目标用户。
在一种可能的设计中,所述连接信息发送模块,具体用于:通过远程过程调用协议,将所述连接信息发送至所述连接信息接收模块。
在一种可能的设计中,所述连接信息推送模块,具体用于:
通过websocket协议将所述聊天请求消息推送到所述目标接收端;若在预设时间段内未检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则将所述聊天请求消息重新推送至所述目标接收端;若在预设时间段内检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则确定所述发送端与所述目标接收端通信成功。
在一种可能的设计中,所述发送端的个数为至少一个,所述目标对象的个数为至少一个。
本申请实施例采用业务逻辑与即时通讯服务完全分离,即时通讯服务架构清晰,稳定性得到保证。其次,即时通讯服务中的消息分发模块的http服务方便各业务线迅速接入,由于消息分发模块和消息处理模块各自独立,模块负载高时可以迅速增加节点分担压力,保证服务可用性。
为了实现所述即时通信方法,本实施例提供了一种即时通信设备。图8为本申请实施例提供的即时通信设备的结构示意图。如图8所示,本实施例的即时通信设备80包括:处理器801以及存储器802;其中,存储器802,用于存储计算机执行指令;处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的即时通信方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种即时通信方法,其特征在于,应用于服务器,所述服务器包括业务逻辑处理模块、消息分发模块和消息处理模块,所述方法包括:
所述业务逻辑处理模块获取发送端发送给所述服务器的聊天请求消息,并根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识;
所述消息分发模块根据所述用户标识,从预设数据库中获取与所述目标用户的用户标识匹配的目标接收端的连接信息,并将所述连接信息发送给所述消息处理模块;
所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。
2.根据权利要求1所述的方法,其特征在于,所述根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识,包括:
所述业务逻辑处理模块对所述聊天请求消息进行解码,确定所述发送端的用户请求聊天的目标对象,一个目标对象对应多个接收端的用户;
若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象存在通信关系,则所述业务逻辑处理模块从所述多个接收端的用户中查找与所述发送端的用户存在通信关系的目标用户,并获取所述目标用户的用户标识。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述发送端的用户请求聊天的目标对象之后,所述方法还包括:
若所述业务逻辑处理模块检测到所述发送端的用户与所述目标对象不存在通信关系,则从所述多个接收端的用户中确定所述目标用户;
所述业务逻辑处理模块将所述目标用户分配给为所述发送端的用户;
所述业务逻辑处理模块获取所述目标用户的用户标识,并建立所述目标接收端与所述发送端的连接信息;
所述业务逻辑处理模块将所述目标用户的用户标识以及所述连接信息更新至所述预设数据库,所述预设数据中存储有所述目标用户的用户标识与所述连接信息的映射关系。
4.根据权利要求3所述的方法,其特征在于,所述业务逻辑处理模块从所述多个接收端的用户中确定所述目标用户,包括:
所述业务逻辑处理模块检测所述多个接收端的用户的在线状态,所述在线状态包括空闲状态和忙碌状态;
若所述业务逻辑处理模块检测到所述多个接收端的用户中存在至少一个空闲状态的用户,则所述业务逻辑处理模块将所述至少一个空闲状态的用户随机或按预设规则分配给所述发送端的用户,其中,分配的空闲状态的用户为所述目标用户;
若所述业务逻辑处理模块检测到所述多个接收端的用户的在线状态均为忙碌状态,则所述业务逻辑处理模块查看每个接收端的用户对应的评价信息;
所述业务逻辑处理模块对所述评价信息按照预设顺序进行排序,确定将所述评价信息中评价最高的至少一个忙碌状态的用户;
所述业务逻辑处理模块获取所述至少一个忙碌状态的用户中的每个忙碌状态的用户对应的接待数量,将接待数量最多的忙碌状态的用户分配给所述发送端的用户,其中,分配的忙碌状态的用户为所述目标用户。
5.根据权利要求1所述的方法,其特征在于,所述消息分发模块将所述连接信息发送给所述消息处理模块,包括:
所述消息分发模块通过远程过程调用协议,将所述连接信息发送至所述消息处理模块。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述消息处理模块根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信,包括:
所述消息处理模块通过websocket协议将所述聊天请求消息推送到所述目标接收端;
若所述消息处理模块在预设时间段内未检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则将所述聊天请求消息重新推送至所述目标接收端;
若所述消息处理模块在预设时间段内检测到所述目标接收端发送给所述服务器信息收到的反馈消息,则确定所述发送端与所述目标接收端通信成功。
7.根据权利要求2或3所述的方法,其特征在于,所述发送端的个数为至少一个,所述目标对象的个数为至少一个。
8.一种即时通信装置,其特征在于,应用于服务器,包括:
消息接收模块,用于获取发送端发送给所述服务器的聊天请求消息;
用户标识确定模块,用于根据所述聊天请求消息,确定与所述聊天请求消息匹配的目标用户的用户标识;
连接信息确定模块,用于根据所述用户标识,从预设数据库中获取与所述用户标识匹配的目标接收端的连接信息;
连接信息发送模块,用于将所述连接信息发送给连接信息接收模块;
连接信息接收模块,用于接收所述连接信息;
连接信息推送模块,用于根据所述连接信息,将所述聊天请求消息推送到所述目标接收端,以使所述发送端与所述目标接收端进行通信。
9.一种即时通信设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的即时通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的即时通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984880.3A CN110719221B (zh) | 2019-10-16 | 2019-10-16 | 即时通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984880.3A CN110719221B (zh) | 2019-10-16 | 2019-10-16 | 即时通信方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110719221A true CN110719221A (zh) | 2020-01-21 |
CN110719221B CN110719221B (zh) | 2022-11-08 |
Family
ID=69211757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910984880.3A Active CN110719221B (zh) | 2019-10-16 | 2019-10-16 | 即时通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110719221B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202904A (zh) * | 2020-09-30 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 信息交互方法、装置及介质 |
CN113360810A (zh) * | 2021-07-02 | 2021-09-07 | 北京容联七陌科技有限公司 | 一种在线客服主动会话邀请方法 |
CN113453175A (zh) * | 2021-06-18 | 2021-09-28 | 金蝶软件(中国)有限公司 | 5g消息处理方法、装置、计算机设备和存储介质 |
CN113703819A (zh) * | 2021-08-31 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 一种动态消息解析方法、装置、设备和介质 |
CN113765774A (zh) * | 2020-11-16 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN114301860A (zh) * | 2021-12-20 | 2022-04-08 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100250A (zh) * | 2015-07-31 | 2015-11-25 | 北京奇虎科技有限公司 | 分发消息的方法、消息分发服务器及分发消息的系统 |
CN105743772A (zh) * | 2016-01-26 | 2016-07-06 | 深圳宸睿科技有限公司 | 一种消息处理的方法及系统 |
CN105956000A (zh) * | 2016-04-20 | 2016-09-21 | 广州华多网络科技有限公司 | 一种数据交互方法及客户端 |
US9613350B1 (en) * | 2015-09-23 | 2017-04-04 | Square, Inc. | Message dispatcher for payment system |
CN107093138A (zh) * | 2017-04-21 | 2017-08-25 | 山东佳联电子商务有限公司 | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 |
CN108632474A (zh) * | 2018-05-11 | 2018-10-09 | 平安科技(深圳)有限公司 | 坐席分配方法及装置、存储介质、电子设备 |
CN109698799A (zh) * | 2019-01-14 | 2019-04-30 | 广州荔支网络技术有限公司 | 一种消息推送方法、装置和移动终端 |
CN110223088A (zh) * | 2019-06-12 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种信息分配的方法、信息生成的方法及装置 |
-
2019
- 2019-10-16 CN CN201910984880.3A patent/CN110719221B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100250A (zh) * | 2015-07-31 | 2015-11-25 | 北京奇虎科技有限公司 | 分发消息的方法、消息分发服务器及分发消息的系统 |
US9613350B1 (en) * | 2015-09-23 | 2017-04-04 | Square, Inc. | Message dispatcher for payment system |
CN105743772A (zh) * | 2016-01-26 | 2016-07-06 | 深圳宸睿科技有限公司 | 一种消息处理的方法及系统 |
CN105956000A (zh) * | 2016-04-20 | 2016-09-21 | 广州华多网络科技有限公司 | 一种数据交互方法及客户端 |
CN107093138A (zh) * | 2017-04-21 | 2017-08-25 | 山东佳联电子商务有限公司 | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 |
CN108632474A (zh) * | 2018-05-11 | 2018-10-09 | 平安科技(深圳)有限公司 | 坐席分配方法及装置、存储介质、电子设备 |
CN109698799A (zh) * | 2019-01-14 | 2019-04-30 | 广州荔支网络技术有限公司 | 一种消息推送方法、装置和移动终端 |
CN110223088A (zh) * | 2019-06-12 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种信息分配的方法、信息生成的方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202904A (zh) * | 2020-09-30 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 信息交互方法、装置及介质 |
CN113765774A (zh) * | 2020-11-16 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN113765774B (zh) * | 2020-11-16 | 2023-05-02 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN113453175A (zh) * | 2021-06-18 | 2021-09-28 | 金蝶软件(中国)有限公司 | 5g消息处理方法、装置、计算机设备和存储介质 |
CN113453175B (zh) * | 2021-06-18 | 2022-12-06 | 金蝶软件(中国)有限公司 | 5g消息处理方法、装置、计算机设备和存储介质 |
CN113360810A (zh) * | 2021-07-02 | 2021-09-07 | 北京容联七陌科技有限公司 | 一种在线客服主动会话邀请方法 |
CN113360810B (zh) * | 2021-07-02 | 2022-03-01 | 北京容联七陌科技有限公司 | 一种在线客服主动会话邀请方法 |
CN113703819A (zh) * | 2021-08-31 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 一种动态消息解析方法、装置、设备和介质 |
CN113703819B (zh) * | 2021-08-31 | 2023-11-14 | 康键信息技术(深圳)有限公司 | 一种动态消息解析方法、装置、设备和介质 |
CN114301860A (zh) * | 2021-12-20 | 2022-04-08 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、设备及存储介质 |
CN114301860B (zh) * | 2021-12-20 | 2023-09-26 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110719221B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110719221B (zh) | 即时通信方法、装置、设备及存储介质 | |
CN109949111B (zh) | 电子票据标识分配方法、电子票据生成方法、装置及系统 | |
US10218657B2 (en) | Method and system for providing private chat within a group chat | |
CN100407627C (zh) | 一种实现端到端文件共享的系统及方法 | |
US10397147B2 (en) | Method, apparatus and device for exchanging name card | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN107450998B (zh) | 多应用间信息实时同步方法、装置、介质和电子设备 | |
WO2019072197A1 (zh) | 一种红包发放方法、设备以及介质 | |
US20140325601A1 (en) | Managing private information in instant messaging | |
CN109947408B (zh) | 消息推送方法及装置、存储介质和电子设备 | |
CN108880972B (zh) | 一种信息处理方法、服务器及终端 | |
CN103563314A (zh) | 用于被动通信服务的系统和方法 | |
CN110120908B (zh) | 群组消息处理方法、装置和服务器 | |
JP5593359B2 (ja) | 通信制御装置、メッセージ転送方法およびメッセージ転送プログラム | |
CN113347257A (zh) | 通信方法、装置、服务器及存储介质 | |
CN103503421A (zh) | 负荷平衡系统中的sctp关联端点重定位 | |
CN110311855B (zh) | 用户消息处理方法、装置、电子设备及存储介质 | |
CN106921557B (zh) | 一种邮件发送方法和设备 | |
CN109479214B (zh) | 一种负载均衡的方法及相关装置 | |
CN108600255B (zh) | Mock服务管理方法、装置、计算机设备以及存储介质 | |
CN111311146B (zh) | 信息传递方法及系统、通信系统、计算机可读存储介质 | |
CN113014404B (zh) | 一种消息传输方法、装置、服务器以及第二客户端 | |
CN105681262A (zh) | 一种交互消息分配方法及系统 | |
CN112689249B (zh) | 短信的发送方法及装置、系统、存储介质、电子设备 | |
CN114338794A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |