CN111541555A - 群聊优化方法及相关产品 - Google Patents

群聊优化方法及相关产品 Download PDF

Info

Publication number
CN111541555A
CN111541555A CN202010212510.0A CN202010212510A CN111541555A CN 111541555 A CN111541555 A CN 111541555A CN 202010212510 A CN202010212510 A CN 202010212510A CN 111541555 A CN111541555 A CN 111541555A
Authority
CN
China
Prior art keywords
server
group chat
message
target
group
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
Application number
CN202010212510.0A
Other languages
English (en)
Inventor
钟鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202010212510.0A priority Critical patent/CN111541555A/zh
Publication of CN111541555A publication Critical patent/CN111541555A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及基架运维的功能优化,具体公开了一种群聊优化方法及相关产品,该方法包括:第一服务器接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;所述第一服务器通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。采用本申请实施例有利于提高群聊效率。

Description

群聊优化方法及相关产品
技术领域
本申请涉及通信技术领域,具体涉及一种群聊优化方法及相关产品。
背景技术
随着通信行业的发展,网络聊天已经成为人们必备的生活方式,由于网络聊天没有地域的限制。因此,网络交流甚至成为各个企业合作沟通的必要途径,由于在沟通时,需要多人参与,所以群聊沟通已经成为现有聊天方式中的一种必须的聊天方式。为了解决多人群聊沟通的问题,目前主要是通过socket.io协议建立群聊沟通,即负载均衡软件将参与群聊的客户端分配到各自对应的群聊服务器上,然后,通过与群聊服务器的双向通信实现群聊。但是,负载均衡软件会可能为不同的客户端分配不同的群聊服务器,在这种情况下也就造成一个客户端无法通过广播的方式,直接与其他客户端进行群聊,导致群聊效率低下,进而影响用户体验。
发明内容
本申请实施例提供了一种群聊优化方法及相关产品,通过消息队列服务器广播群聊消息,提高群聊效率,进而提高用户体验。
第一方面,本申请实施例提供一种群聊优化方法,其特征在于,包括:
第一服务器接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;
所述第一服务器通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。
第二方面,本申请实施例提供一群聊装置,应用于服务器,包括:
接收单元,用于接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;
广播单元,用于通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第一方面所述的方法中的步骤的指令。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得计算机执行如第一方面所述的方法。
实施本申请实施例,具有如下有益效果:
可以看出,在本申请实施例中,当群聊组中的任意一个客户端发布群聊消息时,可将该群聊消费转发给第一服务器,第一服务器通过消息队列将该群聊消息广播给为该群聊服务器的各个第二服务器,各个第二服务器将该群聊消息发送给对应的客户端,从而实现在一个客户端发送群聊消息时,直接将群聊消息广播给群聊组中的各个客户端,简化了群聊的过程,提高群聊效率,进而提高的群聊体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种群聊分配机制的示意图;
图2为本申请实施例提供的一种群聊的***架构图;
图3为本申请实施例提供的一种群聊优化方法的流程示意图;
图4为本申请实施例提供的另一种群聊优化方法的流程示意图;
图5为本申请实施例提供的另一种群聊优化方法的流程示意图;
图6为本申请实施例提供的一种群聊装置的结构示意图;
图7为本申请实施例提供的一种群聊装置的功能单元组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请涉及的客户端可以包括智能手机(如Android手机、iOS手机、WindowsPhone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(Mobile InternetDevices,简称:MID)或穿戴式设备等。上述客户端仅是举例,而非穷举,包含但不限于上述客户端。在实际应用中,上述客户端还可以包括:智能车载终端、计算机设备等等。
本申请涉及的服务器可以包移动互联网设备、传输接收点(TRP,TransmissionReception Point)、基站(例如,宏站)、LTE eNB、5G NR NB接入点(Access Point,简称:AP),也可以包括云接入网(cloud radio access network,CloudRAN)***中的集中式单元(centralized unit,CU)和分布式单元(distributed unit,DU)。
当群聊服务器处于分布式的情况下,客户端需要遵循socket-io协议,通过负载均衡软件连接到具体的群聊服务器上,这就会导致不同的客户端分布可能连接不同的服务器,也就导致socket-io协议下的群聊服务器不支持客户端在一个群聊里面广播消息。图1示出了一个群聊组group1,客户端client1、客户端client2、客户端client3客户端和client4分别为该group1中的客户端,server1和server2为两个不同的群聊服务器。对于group1来说,由于负载均衡的作用,使客户端与不同的群聊服务器连接。例如,client1和client2与server1连接,client3和client4与server2连接。当任意一个客户端群聊时,需遍历每一个服务器的ip地址,通过http请求,与每个服务器建立tcp连接,才能将群聊消息发送给每个群聊服务器,进而导致一次将群聊消息广播到给每个群聊服务器。由于,该客户端需要依次与每个群聊服务器建立tcp连接,从而影响群聊效率,进而影响用户的群聊体验。
因此,为了解决socket-io协议下的群聊问题,特提出本申请的技术方案。
参阅图2,图2为本申请实施例提供的一种群聊的***架构图,包括:第一服务器100(消息队列服务器)、群聊服务器集群(包括多个第二服务器200)、第三服务器300(负载均衡服务器)以及多个客户端400,该多个客户端400为加入同一个群聊组的客户端,其中:
第三服务器300主要介于客户端400和第二服务器200之间,对客户端400发送的群聊消息进行负载均衡,对客户端分配不同的群聊服务器(第二服务器),以减轻一个群聊服务器处理所有客户端400发送的群聊消息时的处理压力。
当任意一个客户端400发送群聊消息时,第三服务器300会将该群聊消息转发至为该客户端400所分配的第二服务器200上,第二服务器200会将该群聊消息发送给第一服务器100;
由于第一服务器100与第二服务器200通过消息队列建立连接,故第一服务器100通过该消息队列将该群聊消息广播给每个第二服务器200,,每个第二服务器200在接收到广播消息后,向各自所管理的客户端400发送该群聊消息。
可以看出,在本申请实施例中,当群聊组中的任意一个客户端400发布群聊消息时,可将该群聊消费转发给第一服务器100,第一服务器通过预先建立好的消息队列将该群聊消息广播给为该群聊服务器的各个第二服务器200,各个第二服务器200将该群聊消息发送给对应的客户端,从而实现在一个客户端发送群聊消息时,直接将群聊消息广播给群聊组中的各个客户端,简化了群聊的过程,提高群聊效率,进而提高的群聊体验。
参阅图3,图3为本申请实施例提供的一种群聊优化方法的流程示意图,该方法包括但不限于以下步骤:
301:客户端向第三服务器发送群聊消息。
该客户端为加入群聊组的多个客户端的任意一个客户端。该第三服务器为负载均衡服务器。可以理解的是,第三服务器在接收到该群聊消息,根据记录的各个第二服务器的负载情况,从服务器集群中为该客户端分配对应的目标第二服务器。该服务器集群为与该群聊组对应的分布式集群,该服务器集群中包括至少一个第二服务器,该至少一个第二服务器均为为该群聊服务的服务器。
302:第三服务器向第二服务器发送该群聊消息。
可选的,第三服务器将该群聊消息转发给目标第二服务器。
303:第二服务器向第一服务器发送该群聊消息。
可选的,第二服务器在接收到第三服务器转发的群聊消息后,将该群聊消息转发给第一服务器,即消息队列服务器。该第一服务器作为消息队列的生产端producer,该至少一个第二服务器均作为消息队列的消费端consumer。
304:第一服务器通过消息队列向各个第二服务器广播该群聊消息。
其中,该消息队列可以为以为Rabbit MQ、Active MQ、RZero MQ以及Kafka中的任意一种。本申请不对消息队列的具体形式做限定。
第一服务器将该群聊消息发布到预先建立的消息队列中,然后,各个第二服务器可以从该消息队列中消费该群聊消息,即实现第一服务器向群聊消息广播给各个第二服务器。
305:第二服务器向对应的客户端发送该群聊消息。
各个第二服务器从该消息队列中消费该群聊消息后,将群聊消息发送给自己所管理的客户端,从而实现任意一个客户端发送的消息可以直接广播给群聊组中的每一个客户端,进而提高群聊效率。
可以看出,在本申请实施例中,当群聊组中的任意一个客户端发布群聊消息时,可将该群聊消费转发给第一服务器,第一服务器通过消息队列将该群聊消息广播给为该群聊服务器的各个第二服务器,各个第二服务器将该群聊消息发送给对应的客户端,从而实现在一个客户端发送群聊消息时,直接将群聊消息广播给群聊组中的各个客户端,简化了群聊的过程,提高群聊效率,进而提高的群聊体验。
在一些可能的实施方式中,在第一服务器通过消息队列向各个第二服务器广播该群聊消息之前,所述方法还包括:
第一服务器获取接收到的群聊消息对应的第一消息数量,该第一消息数量为该客户端发送的群聊消息中的消息条数;
第一服务器对发布到所述消息队列中的群聊消息的第二消息数量;
如所述第一消息数量和所述第二消息数量不一致,第一服务器向所述目标第二服务器发送重发提示,所述重发提示用于指示所述目标第二服务器向所述第一服务器发送所述群聊消息。
在本实施方式中,对群聊消息的数量进行判断,从而有利于第一服务器发布到消息中的群聊消息与该客户端发送的群聊消息的一致性,进而防止群聊消息丢失,提高用户的群聊体验。
在一些可能的实施方式中,在第一服务器通过消息队列向各个第二服务器广播该群聊消息之前,所述方法还包括:
第一服务器获取接收到的群聊消息对应的第一消息数量,并对接收到的群聊消息进行关键词识别,得到与该群聊消息对应的第一关键词组,该第一消息数量为该客户端发送的群聊消息中的消息条数;
第一服务器获取发布到所述消息队列中的群聊消息的第二消息数量,如该第一数量和该第二数量不一致,则对发布到所述消息队列中的群聊消息进行关键词识别,得到与该群聊消息对应的第二关键词组;
第一服务器确定该第一关键词组与该第二关键词组的匹配度,如该匹配度小于第一阈值,确定消息丢失,向所述目标第二服务器发送重发提示,如该匹配度大于阈值,确定消息未丢失,通过该消息队列发布消费提示,该消费提示用于指示服务器集群中的各个第二服务器从所述消息队列中消费该群聊消息。
在本实施方式中,对群聊消息的数量进行判断,当第一服务器发布到消息中的群聊消息与该客户端发送的群聊消息不一致时,通过关键词组的匹配度进行消息丢失的判断,当匹配度大于第一阈值时,可以直接进行群聊消息的消费,无需客户端重新发送群聊消息,也就实现了当丢失了部分无关紧要的消息时,无需重新发送群聊消息,进而提高群聊效率,提高用户体验。
在一些可能的实施方式中,第一服务器接收目标第二服务器发送的群聊消息之后,所述方法还包括:
第一服务器对所述群聊消息添加时间戳,所述时间戳用于记录所述群聊消息发布到所述消息队列的发布时刻,即第一服务器将该群聊消息发布到该消息队列的时刻;
第一服务器获取所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息的消费时刻;
第一服务器根据所述时间戳以及各个第二服务器的消费时刻确定各个第二服务器的消费时长,如消费时长大于第二阈值,确定该第二服务器异常,向该第二服务器发送异常提示;
第二服务器根据该异常提示向第三服务器发送请求消息,该请求消息用于第三服务器为该第二服务器对应的客户端重新分配第二服务器;
第三服务器根据各个服务器的负载情况为该客户端重新分配第二服务器。
在本实施方式中,当任一个第二服务器的消费时长大于阈值时,确定该第二服务器工作异常,第三服务器为该第二服务器对应的客户端重新分配服务器,进而提高群聊的成功率。
在一些可能的实施方式中,第一服务器接收目标第二服务器发送的群聊消息之后,所述方法还包括:
第一服务器对所述群聊消息中的各个子消息按照预设条件进行排序,得到对各个子消息的排序结果,所述预设条件包括字节长度或重要程度。例如,按照字节长度从大到小顺序对各个子消息
第一服务器对各个子消息的排序结果将各个子消息依次发布到消息队列。
参阅图4,图4为本申请实施例提供的另一种群聊优化方法的流程示意图。该实施例中与图3所示的实施例相同的内容,此处不再重复描述。该方法包括并不限于以下步骤:
401:客户端向第三服务器发送群聊消息。
402:第三服务器向第二服务器发送该群聊消息。
403:第二服务器向第一服务器发送该群聊消息。
404:第一服务器创建消息队列,得到所述消息队列的用户名、密码、访问路径以及端口号。
405:第一服务器向各个第二服务器发送消息队列的用户名、密码、访问路径以及端口号。
可选的,在向各个第二服务器发送消息队列的用户名、密码、访问路径以及端口号之后,各个第二服务器使用该用户名、密码、访问路径以及端口号加入到该消息队列。基于用户名、密码、访问路径以及端口号进行消息的交互,保证了未在该消息队列中订阅的接收端无法从该消息队列中消费数据,保证了信息交互的安全性。
406:第一服务器通过消息队列向各个第二服务器广播该群聊消息。
407:第二服务器向对应的客户端发送该群聊消息。
可以看出,在本申请实施例中,当群聊组中的任意一个客户端发布群聊消息时,可将该群聊消费转发给第一服务器,第一服务器通过预先建立好的消息队列将该群聊消息广播给为该群聊服务器的各个第二服务器,各个第二服务器将该群聊消息发送给对应的客户端,从而实现在一个客户端发送群聊消息时,直接将群聊消息广播给群聊组中的各个客户端,简化了群聊的过程,提高群聊效率,进而提高的群聊体验。
参阅图5,图5为本申请实施例提供的另一种群聊优化方法的流程示意图。该实施例中与图3、图4所示的实施例相同的内容,此处不再重复描述。该方法包括并不限于以下步骤:
501:客户端向第三服务器发送群聊消息。
502:第三服务器向第二服务器发送该群聊消息。
503:第二服务器向第一服务器发送该群聊消息。
504:第一服务器创建消息队列,得到所述消息队列的用户名、密码、访问路径以及端口号。
505:第一服务器向各个第二服务器发送消息队列的用户名、密码、访问路径以及端口号。
506:第一服务器通过消息队列向各个第二服务器广播该群聊消息。
507:第二服务器向对应的客户端发送该群聊消息。
508:第一服务器接收各个第二服务器反馈的确认字符时,从消息队列中删除该群聊消息,以释放该消息队列的缓存。
可以看出,在本申请实施例中,当群聊组中的任意一个客户端发布群聊消息时,可将该群聊消费转发给第一服务器,第一服务器通过消息队列将该群聊消息广播给为该群聊服务器的各个第二服务器,各个第二服务器将该群聊消息发送给对应的客户端,从而实现在一个客户端发送群聊消息时,直接将群聊消息广播给群聊组中的各个客户端,简化了群聊的过程,提高群聊效率,进而提高的群聊体验;并且获取各个第二服务器反馈的确认字符,及时的从消息队列中删除已发布的群聊消息,进而释放消息队列中的缓存。
与上述图3、图4、图5所示的实施例一致的,请参阅图6。图6为本申请实施例提供的一种群聊装置600的结构示意图,如图6所示,群聊装置600包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;
通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。
在一些可能的实施方式中,通过消息队列向所述服务器集群广播所述群聊消息之前,上述程序还用于执行以下步骤的指令:
创建所述消息队列,得到所述消息队列的用户名、密码、访问路径以及端口号;
遍历所述服务器集群中的各个第二服务器,向各个第二服务器发送所述消息队列的用户名、密码、访问路径以及端口号,以使各个第二服务器使用所述消息队列的用户名、密码、访问路径以及端口号加入所述消息队列。
在一些可能的实施方式中,接收目标第二服务器发送的群聊消息之后,上述程序还用于执行以下步骤的指令:
获取接收到的群聊消息对应的第一消息数量;
获取发布到所述消息队列中的群聊消息的第二消息数量;
如所述第一消息数量和所述第二消息数量不一致,向所述目标第二服务器发送重发提示,所述重发提示用于指示所述目标第二服务器向所述第一服务器发送所述群聊消息。
在一些可能的实施方式中,获取接收到的群聊消息对应的第一消息数量之后,上述程序还用于执行以下步骤的指令:
对接收到的群聊消息进行关键词识别,得到与该群聊消息对应的第一关键词组;
在向所述目标第二服务器发送重发提示之前,上述程序还用于执行以下步骤的指令:
对发布到所述消息队列中的群聊消息进行关键词识别,得到与该群聊消息对应的第二关键词组;
确定所述第一关键词组和所述第二关键词组的匹配度;
如所述匹配度小于第一阈值,确定消息丢失,执行向所述目标第二服务器发送重发提示的操作;
如所述匹配值大于所述第一阈值,确定消息未丢失,不执行向所述目标第二服务器发送重发提示的操作,并通过所述消息队列发布消费提示,所述消费提示用于指示所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息。
在一些可能的实施方式中,在接收目标第二服务器发送的群聊消息之后,上述程序还用于执行以下步骤的指令:
对所述群聊消息添加时间戳,所述时间戳用于记录所述群聊消息发布到所述消息队列的发布时刻;
获取所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息的消费时刻;
根据所述时间戳以及各个第二服务器的消费时刻确定各个第二服务器的消费时长,如消费时长大于第二阈值,确定该第二服务器异常,向该第二服务器发送异常提示,所述异常提示用于指示从所述服务器集群中重新为该第二服务器对应的客户端分配服务器。
在一些可能的实施方式中,接收目标第二服务器发送的群聊消息之后,上述程序还用于执行以下步骤的指令:
对所述群聊消息中的各个子消息按照预设条件进行排序,得到对各个子消息的排序结果,所述预设条件包括字节长度或重要程度;
对各个子消息的排序结果将各个子消息依次发布到所述消息队列。
在一些可能的实施方式中,上述程序还用于执行以下步骤的指令:
在接收到所述服务器集群中的各个第二服务器反馈的确认字符ACK时,从所述消息队列中删除所述群聊消息,以释放所述消息队列的缓存。
参阅图7,图7示出了上述实施例中所涉及的群聊装置700的一种可能的功能单元组成框图,群聊装置700包括:
接收单元710,用于接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;
广播单元720,用于通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。
在一些可能的实施方式中,群聊装置700还包括创建单元730,通过消息队列向所述服务器集群广播所述群聊消息之前,创建单元730,用于:创建所述消息队列,得到所述消息队列的用户名、密码、访问路径以及端口号;
遍历所述服务器集群中的各个第二服务器,向各个第二服务器发送所述消息队列的用户名、密码、访问路径以及端口号,以使各个第二服务器使用所述消息队列的用户名、密码、访问路径以及端口号加入所述消息队列。
在一些可能的实施方式中,群聊装置700还包括获取单元740,接收目标第二服务器发送的群聊消息之后,获取单元740用于:
获取接收到的群聊消息对应的第一消息数量;
获取发布到所述消息队列中的群聊消息的第二消息数量;
如所述第一消息数量和所述第二消息数量不一致,向所述目标第二服务器发送重发提示,所述重发提示用于指示所述目标第二服务器向所述第一服务器发送所述群聊消息。
在一些可能的实施方式中,获取接收到的群聊消息对应的第一消息数量之后,获取单元740,还用于:
对接收到的群聊消息进行关键词识别,得到与该群聊消息对应的第一关键词组;
向所述目标第二服务器发送重发提示之前,获取单元740,还用于:
对发布到所述消息队列中的群聊消息进行关键词识别,得到与该群聊消息对应的第二关键词组;
确定所述第一关键词组和所述第二关键词组的匹配度;
如所述匹配度小于第一阈值,确定消息丢失,执行向所述目标第二服务器发送重发提示的操作;
如所述匹配值大于所述第一阈值,确定消息未丢失,不执行向所述目标第二服务器发送重发提示的操作,并通过所述消息队列发布消费提示,所述消费提示用于指示所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息。
在一些可能的实施方式中,群聊装置700还包括添加单元750,接收目标第二服务器发送的群聊消息之后,添加单元750,用于:
对所述群聊消息添加时间戳,所述时间戳用于记录所述群聊消息发布到所述消息队列的发布时刻;
获取所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息的消费时刻;
根据所述时间戳以及各个第二服务器的消费时刻确定各个第二服务器的消费时长,如消费时长大于第二阈值,确定该第二服务器异常,向该第二服务器发送异常提示,所述异常提示用于指示从所述服务器集群中重新为该第二服务器对应的客户端分配服务器。
在一些可能的实施方式中,群聊装置700还包括排序单元760,接收目标第二服务器发送的群聊消息之后,排序单元760,还用于:
对所述群聊消息中的各个子消息按照预设条件进行排序,得到对各个子消息的排序结果,所述预设条件包括字节长度或重要程度;
对各个子消息的排序结果将各个子消息依次发布到所述消息队列。
在一些可能的实施方式中,群聊装置700还包括删除单元770,删除单元770,用于:在接收到所述服务器集群中的各个第二服务器反馈的确认字符ACK时,从所述消息队列中删除所述群聊消息,以释放所述消息队列的缓存。
本申请实施例还提供一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施例中记载的任何一种群聊优化方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种群聊优化方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种群聊优化方法,其特征在于,包括:
第一服务器接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;
所述第一服务器通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。
2.根据权利要求1所述的方法,其特征在于,所述第一服务器通过消息队列向所述服务器集群广播所述群聊消息之前,所述方法还包括:
所述第一服务器创建所述消息队列,得到所述消息队列的用户名、密码、访问路径以及端口号;
所述第一服务器遍历所述服务器集群中的各个第二服务器,向各个第二服务器发送所述消息队列的用户名、密码、访问路径以及端口号,以使各个第二服务器使用所述消息队列的用户名、密码、访问路径以及端口号加入所述消息队列。
3.根据权利要求1或2所述的方法,其特征在于,所述第一服务器接收目标第二服务器发送的群聊消息之后,所述方法还包括:
第一服务器获取接收到的群聊消息对应的第一消息数量;
所述第一服务器获取发布到所述消息队列中的群聊消息的第二消息数量;
如所述第一消息数量和所述第二消息数量不一致,所述第一服务器向所述目标第二服务器发送重发提示,所述重发提示用于指示所述目标第二服务器向所述第一服务器发送所述群聊消息。
4.根据权利要求3所述的方法,其特征在于,所述第一服务器获取接收到的群聊消息对应的第一消息数量之后,所述方法还包括:
第一服务器对接收到的群聊消息进行关键词识别,得到与该群聊消息对应的第一关键词组;
所述第一服务器向所述目标第二服务器发送重发提示之前,所述方法还包括:
所述第一服务器对发布到所述消息队列中的群聊消息进行关键词识别,得到与该群聊消息对应的第二关键词组;
所述第一服务器确定所述第一关键词组和所述第二关键词组的匹配度;
如所述匹配度小于第一阈值,所述第一服务器确定消息丢失,执行向所述目标第二服务器发送重发提示的操作;
如所述匹配值大于所述第一阈值,所述第一服务器确定消息未丢失,不执行向所述目标第二服务器发送重发提示的操作,并通过所述消息队列发布消费提示,所述消费提示用于指示所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息。
5.根据权利要求1所述的方法,其特征在于,所述第一服务器接收目标第二服务器发送的群聊消息之后,所述方法还包括:
所述第一服务器对所述群聊消息添加时间戳,所述时间戳用于记录所述群聊消息发布到所述消息队列的发布时刻;
所述第一服务器获取所述服务器集群中的各个第二服务器从所述消息队列中消费所述群聊消息的消费时刻;
所述第一服务器根据所述时间戳以及各个第二服务器的消费时刻确定各个第二服务器的消费时长,如消费时长大于第二阈值,确定该第二服务器异常,向该第二服务器发送异常提示,所述异常提示用于指示从所述服务器集群中重新为该第二服务器对应的客户端分配服务器。
6.根据权利要求1所述的方法,其特征在于,所述第一服务器接收目标第二服务器发送的群聊消息之后,所述方法还包括:
第一服务器对所述群聊消息中的各个子消息按照预设条件进行排序,得到对各个子消息的排序结果,所述预设条件包括字节长度或重要程度;
所述第一服务器对各个子消息的排序结果将各个子消息依次发布到所述消息队列。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在接收到所述服务器集群中的各个第二服务器反馈的确认字符时,所述第一服务器从所述消息队列中删除所述群聊消息,以释放所述消息队列的缓存。
8.一种群聊装置,其特征在于,应用于服务器,包括:
接收单元,用于接收目标第二服务器发送的群聊消息,所述群聊消息是目标客户端发送给第三服务器,并由所述第三服务器转发给所述目标第二服务器的,所述目标客户端为加入同一群聊组的多个客户端中的一个,所述目标第二服务器是所述第三服务器从与所述群聊组对应的服务器集群中为所述客户端分配的服务器,所述服务器集群包括至少一个第二服务器;
广播单元,用于通过消息队列向所述服务器集群广播所述群聊消息,以使所述服务器集群中的各个第二服务器向所述多个客户端中各自对应的客户端发送所述群聊消息。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1-7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-7任一项所述的方法。
CN202010212510.0A 2020-03-24 2020-03-24 群聊优化方法及相关产品 Pending CN111541555A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010212510.0A CN111541555A (zh) 2020-03-24 2020-03-24 群聊优化方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010212510.0A CN111541555A (zh) 2020-03-24 2020-03-24 群聊优化方法及相关产品

Publications (1)

Publication Number Publication Date
CN111541555A true CN111541555A (zh) 2020-08-14

Family

ID=71969169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010212510.0A Pending CN111541555A (zh) 2020-03-24 2020-03-24 群聊优化方法及相关产品

Country Status (1)

Country Link
CN (1) CN111541555A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112436997A (zh) * 2020-11-10 2021-03-02 杭州米络星科技(集团)有限公司 聊天室的消息分发方法、消息分发***及电子设备
CN113259225A (zh) * 2021-05-13 2021-08-13 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信***
CN113810264A (zh) * 2021-01-15 2021-12-17 北京京东拓先科技有限公司 信息传输方法、装置、电子设备和存储介质
WO2023093369A1 (zh) * 2021-11-25 2023-06-01 中兴通讯股份有限公司 群聊信息传输方法、***、计算机装置和存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045270A (zh) * 2010-11-30 2011-05-04 北京迅捷英翔网络科技有限公司 聊天服务器***、构建聊天服务器***的方法以及聊天***
CN102118325A (zh) * 2010-11-30 2011-07-06 北京迅捷英翔网络科技有限公司 一种配置聊天客户终端的方法及装置、聊天客户终端
CN102760174A (zh) * 2012-08-06 2012-10-31 吴建辉 基于地理位置的分布式实况搜索引擎及交易***
CN102789508A (zh) * 2012-07-27 2012-11-21 吴建辉 基于地理位置的分布式实况搜索引擎及聊天***
CN105472400A (zh) * 2015-12-24 2016-04-06 Tcl集团股份有限公司 一种消息推送方法及***
CN106227596A (zh) * 2016-07-13 2016-12-14 百度在线网络技术(北京)有限公司 用于任务调度服务器的任务监控方法和装置
CN106375395A (zh) * 2016-08-30 2017-02-01 厦门中学西渐信息科技有限公司 节点服务器的负载均衡方法和***
CN106790990A (zh) * 2016-11-11 2017-05-31 乐视控股(北京)有限公司 消息提示方法、装置及电子设备
CN106936623A (zh) * 2015-12-31 2017-07-07 五八同城信息技术有限公司 分布式缓存***及缓存集群的管理方法
CN107454167A (zh) * 2017-08-04 2017-12-08 深圳市元征科技股份有限公司 请求处理方法及服务器
CN107786661A (zh) * 2017-10-30 2018-03-09 江西博瑞彤芸科技有限公司 信息同步方法
CN107992358A (zh) * 2017-11-13 2018-05-04 华中科技大学 一种适用于核外图处理***的异步io执行方法及***
CN109248440A (zh) * 2018-07-20 2019-01-22 苏州玩友时代科技股份有限公司 一种实现游戏实时动态加载配置的方法及***
CN109766195A (zh) * 2018-12-13 2019-05-17 平安普惠企业管理有限公司 监测消息队列中数据丢失的方法及相关产品
CN109977127A (zh) * 2019-02-28 2019-07-05 北京创鑫旅程网络技术有限公司 数据更新方法及装置
CN110049043A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 基于区块链的服务器日志监控方法和***
CN110138837A (zh) * 2019-04-15 2019-08-16 平安科技(深圳)有限公司 请求处理方法、装置、计算机设备和存储介质
CN110764963A (zh) * 2018-07-28 2020-02-07 阿里巴巴集团控股有限公司 一种服务异常处理方法、装置及设备

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045270A (zh) * 2010-11-30 2011-05-04 北京迅捷英翔网络科技有限公司 聊天服务器***、构建聊天服务器***的方法以及聊天***
CN102118325A (zh) * 2010-11-30 2011-07-06 北京迅捷英翔网络科技有限公司 一种配置聊天客户终端的方法及装置、聊天客户终端
CN102789508A (zh) * 2012-07-27 2012-11-21 吴建辉 基于地理位置的分布式实况搜索引擎及聊天***
CN102760174A (zh) * 2012-08-06 2012-10-31 吴建辉 基于地理位置的分布式实况搜索引擎及交易***
CN105472400A (zh) * 2015-12-24 2016-04-06 Tcl集团股份有限公司 一种消息推送方法及***
CN106936623A (zh) * 2015-12-31 2017-07-07 五八同城信息技术有限公司 分布式缓存***及缓存集群的管理方法
CN106227596A (zh) * 2016-07-13 2016-12-14 百度在线网络技术(北京)有限公司 用于任务调度服务器的任务监控方法和装置
CN106375395A (zh) * 2016-08-30 2017-02-01 厦门中学西渐信息科技有限公司 节点服务器的负载均衡方法和***
CN106790990A (zh) * 2016-11-11 2017-05-31 乐视控股(北京)有限公司 消息提示方法、装置及电子设备
CN107454167A (zh) * 2017-08-04 2017-12-08 深圳市元征科技股份有限公司 请求处理方法及服务器
CN107786661A (zh) * 2017-10-30 2018-03-09 江西博瑞彤芸科技有限公司 信息同步方法
CN107992358A (zh) * 2017-11-13 2018-05-04 华中科技大学 一种适用于核外图处理***的异步io执行方法及***
CN109248440A (zh) * 2018-07-20 2019-01-22 苏州玩友时代科技股份有限公司 一种实现游戏实时动态加载配置的方法及***
CN110764963A (zh) * 2018-07-28 2020-02-07 阿里巴巴集团控股有限公司 一种服务异常处理方法、装置及设备
CN109766195A (zh) * 2018-12-13 2019-05-17 平安普惠企业管理有限公司 监测消息队列中数据丢失的方法及相关产品
CN109977127A (zh) * 2019-02-28 2019-07-05 北京创鑫旅程网络技术有限公司 数据更新方法及装置
CN110138837A (zh) * 2019-04-15 2019-08-16 平安科技(深圳)有限公司 请求处理方法、装置、计算机设备和存储介质
CN110049043A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 基于区块链的服务器日志监控方法和***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112436997A (zh) * 2020-11-10 2021-03-02 杭州米络星科技(集团)有限公司 聊天室的消息分发方法、消息分发***及电子设备
CN112436997B (zh) * 2020-11-10 2023-03-03 杭州米络星科技(集团)有限公司 聊天室的消息分发方法、消息分发***及电子设备
CN113810264A (zh) * 2021-01-15 2021-12-17 北京京东拓先科技有限公司 信息传输方法、装置、电子设备和存储介质
CN113259225A (zh) * 2021-05-13 2021-08-13 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信***
WO2023093369A1 (zh) * 2021-11-25 2023-06-01 中兴通讯股份有限公司 群聊信息传输方法、***、计算机装置和存储介质

Similar Documents

Publication Publication Date Title
CN111541555A (zh) 群聊优化方法及相关产品
WO2021237433A1 (zh) 消息推送方法、装置、电子设备及计算机可读介质
US8769025B2 (en) Cluster server of an instant messaging system and messaging method between clusters
CN109547511B (zh) 一种web消息实时推送方法、服务器、客户端及***
CN112118315A (zh) 数据处理***、方法、装置、电子设备和存储介质
CN111625743B (zh) 资源加载方法、装置及电子设备
CN105991412A (zh) 消息推送方法及装置
WO2017174026A1 (zh) 一种客户端连接方法及***
CN102111426A (zh) 点对点技术的实现方法、***和装置
CN112422497B (zh) 消息传递方法、装置及计算机设备
CN104980925A (zh) 用户请求的认证方法和装置
CN112398845B (zh) 数据传输方法、数据传输装置、***及电子设备
CN112187903B (zh) 一种消息推送方法、装置及消息服务***
CN110582998A (zh) 群组的通信方法及装置、计算机存储介质、计算机设备
CN103491162A (zh) 基于移动互联网的信息分享方法及***
CN104410562A (zh) 一种能够与业务进行关联的即时信息处理方法
CN106411713B (zh) 一种状态通知方法及服务器
CN105515936A (zh) 消息通信的方法、服务器和***
CN116996421B (zh) 一种网络质量检测方法及相关设备
CN111555965B (zh) 一种适用于iOS客户端的消息推送方法及***
CN109766347B (zh) 一种数据更新方法、装置、***、计算机设备及存储介质
CN110247808B (zh) 信息发送方法、装置、设备及可读存储介质
CN102986173B (zh) 消息状态设置方法和cpm业务服务器
CN105681262A (zh) 一种交互消息分配方法及***
CN112769960A (zh) 一种基于Nginx服务器的主动流量控制方法及***

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