CN111726281A - 一种即时消息的传输方法、装置、电子设备及存储介质 - Google Patents
一种即时消息的传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111726281A CN111726281A CN202010497989.7A CN202010497989A CN111726281A CN 111726281 A CN111726281 A CN 111726281A CN 202010497989 A CN202010497989 A CN 202010497989A CN 111726281 A CN111726281 A CN 111726281A
- Authority
- CN
- China
- Prior art keywords
- user
- instant message
- online
- data center
- associated user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000005540 biological transmission Effects 0.000 title abstract description 32
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- 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/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/50—Network services
- H04L67/55—Push-based network 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/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开一种即时消息的传输方法、装置、电子设备及存储介质,涉及互联网技术领域,能够有效减小即时消息的传输延迟。所述方法包括:接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息;根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种即时消息的传输方法、装置、电子设备及存储介质。
背景技术
随着微信和直播等应用的兴起,即时消息成为用户之间重要的联络和交流方式。在即使消息通讯中,不同用户之间可以通过数据中心进行信息转发。
然而,由于即时通信的用户可能分布在全球各个国家,当用户距离数据中心较远时,即时消息的传输会产生较大延迟。
发明内容
有鉴于此,本发明实施例提供一种即时消息的传输方法、装置、电子设备及存储介质,能够有效减小即时消息的传输延迟。
第一方面,本发明实施例提供一种即时消息的传输方法,包括:
接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;
根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户,其中,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,所述登录信息包括所述在线用户的位置信息及所述在线用户所连接的长连接服务器的标识信息;
根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
可选的,所述根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态之后,所述方法还包括:
根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识。
可选的,所述根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识包括:
根据所述登录状态的查询结果,将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库。
可选的,所述将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库之后,所述方法还包括:
通过预设网络将保存至所述第一数据中心的所述即时消息以及所述登录状态为离线状态的关联用户的用户标识,同步到第二数据中心,所述第二数据中心与所述第一数据中心不同。
可选的,所述根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识之后,所述方法还包括:
在所述离线状态的关联用户上线后,接收上线的所述关联用户的拉取请求,所述拉取请求中携带上线的所述关联用户的用户标识;
根据所述用户标识查找对应的所述即时消息;
响应于所述拉取请求,向上线的所述关联用户提供查找到的所述即时消息。
可选的,所述根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户包括:
若所述在线状态的关联用户处于所述第一数据中心的服务范围内,直接向所述关联用户推送所述即时消息;
若所述在线状态的关联用户处于第二数据中心的服务范围内,通过所述第一数据中心与所述第二数据中心之间的数据同步,向所述关联用户推送所述即时消息,所述第二数据中心与所述第一数据中心不同。
第二方面,本发明的实施例还提供一种即时消息的传输方法,包括:
消息接收单元,用于接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;
状态查询单元,用于根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户,其中,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,所述登录信息包括所述在线用户的位置信息及所述在线用户所连接的长连接服务器的标识信息;
消息推送单元,用于根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
可选的,所述装置还包括:
保存单元,用于在根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态之后,根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识。
可选的,所述保存单元,具体用于根据所述登录状态的查询结果,将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库。
可选的,所述装置还包括:
同步单元,用于在将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库之后,通过预设网络将保存至所述第一数据中心的所述即时消息以及所述登录状态为离线状态的关联用户的用户标识,同步到第二数据中心,所述第二数据中心与所述第一数据中心不同。
可选的,所述装置还包括:
请求接收单元,用于在所述离线状态的关联用户上线后,接收上线的所述关联用户的拉取请求,所述拉取请求中携带上线的所述关联用户的用户标识;
消息查找单元,用于根据所述用户标识查找对应的所述即时消息;
消息提供单元,用于响应于所述拉取请求,向上线的所述关联用户提供查找到的所述即时消息。
可选的,所述消息推送单元包括:
第一推送模块,用于若所述在线状态的关联用户处于所述第一数据中心的服务范围内,直接向所述关联用户推送所述即时消息;
第二推送模块,用于若所述在线状态的关联用户处于第二数据中心的服务范围内,通过所述第一数据中心与所述第二数据中心之间的数据同步,向所述关联用户推送所述即时消息,所述第二数据中心与所述第一数据中心不同。。
第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种即时消息的传输方法。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种即时消息的传输方法。
本发明的实施例提供的即时消息的传输方法、装置、电子设备及存储介质,服务端能够接收即时消息,并根据所述即时消息中携带的接收对象的身份标识,通过在线用户服务器查询该即时消息的接收对象中的关联用户的登录状态,根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。由于在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,且登录信息可以包括在线用户的位置信息及在线用户所连接的长连接服务器的标识信息,这样服务端就能够通过查询在线用户服务器,获知本数据中心和其他数据中心的服务范围内当前在线的关联用户的位置信息及其连接的长连接服务器,用户只需就近连入一个数据中心即可,大大减小了用户与数据中心之间的物理距离,从而能够将即时消息及时推送给在线的关联用户,有效减小了即时消息的传输延迟。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的即时消息的传输方法的一种流程图;
图2为本发明的实施例提供的即时消息的传输方法的一种详细的流程图;
图3为本发明的实施例提供的即时消息的传输装置的一种结构示意图;
图4为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了对本发明的实施例提供的即时消息的传输方法进行更好的理解,首先对本发明的实施例提供的即时消息的传输方法的应用场景进行简单介绍。
在本发明的实施例中,用户之间可以进行即时消息通讯,不同用户之间的即时消息可以通过数据中心进行传递和转发。数据中心可以包括一系列用于即时消息转发的服务,例如,用于长连接的长连接服务器。基于长连接服务,又可以建立多种类型的具体服务形式,例如单聊、群聊等。
第一方面,本发明的实施例提供一种即时消息的传输方法,能够有效减小即时消息的传输延迟。
如图1所示,本发明的实施例提供的即时消息的传输方法可以包括:
S11,接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;
本步骤中,第一数据中心可以接收其服务范围内的终端发送的即时消息,可选的,该即时消息可以为单聊消息,即消息的接收对象为独立用户,也可以为群聊消息,即消息的接收对象为一个群组。其中,群组中可以包括即时消息的发出者以及至少两个其他成员用户。
S12,根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户,其中,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,所述登录信息包括所述在线用户的位置信息及所述在线用户所连接的长连接服务器的标识信息;
可选的,接收对象的关联用户可以为独立用户,也可以为群组中的除了消息发送者以外的其他成员用户。例如,在本发明的一个实施例中,用户A向用户F发送了一条单聊消息,则接收对象为用户F,接收对象的关联用户也是F。在本发明的另一个实施例中,群组G中包括四个A、B、C、D成员用户,其中用户A向该群组G发送了一条群聊消息,则接收对象是群组G。接收对象的关联用户是用户B、用户C和用户D。
根据接收对象是独立用户还是群组的不同,接收对象的身份标识可以为独立用户的身份标识或者群组的身份标识。当身份标识为群组的身份标识时,第一数据中心的服务器可以根据群组的身份标识进一步确定该群组中的各关联用户的身份标识,然后根据关联用户的身份标识查询对应的关联用户的登录状态。可选的,登录状态可以包括在线状态和离线状态。
在本发明的实施例中,具体可以通过在线用户服务器查询各所述关联用户的登录状态。具体而言,在线用户服务器中可以维护有至少两个数据中心的服务范围内的在线用户的登录信息,例如在线用户服务器online中可以分别维护有第一数据中心、第二数据中心和第三数据中心的服务范围内的所有在线用户的登录信息,例如在线用户userl的位置信息P1及在线用户userl所连接的长连接服务器的标识信息livel等。而不在线的用户则不会出现在该在线用户服务器中。
S13,根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
经过步骤S12的查询后,可以获知每个关联用户的登录状态为在线状态还是离线状态,在本步骤中,对于登录状态为在线状态的关联用户,则可以推送该即时消息,从而使在线用户可以尽快接收到该即时消息。
本发明的实施例提供的即时消息的传输方法,服务端能够接收即时消息,并根据所述即时消息中携带的接收对象的身份标识,通过在线用户服务器查询该即时消息的接收对象中的关联用户的登录状态,根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。由于在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,且登录信息可以包括在线用户的位置信息及在线用户所连接的长连接服务器的标识信息,这样服务端就能够通过查询在线用户服务器,获知本数据中心和其他数据中心的服务范围内当前在线的关联用户的位置信息及其连接的长连接服务器,用户只需就近连入一个数据中心即可,大大减小了用户与数据中心之间的物理距离,从而能够将即时消息及时推送给在线的关联用户,有效减小了即时消息的传输延迟。
进一步的,在本发明的一个实施例中,步骤S12中根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态之后,本发明的实施例提供方法还可以包括:
根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识。
也即是说,查询到关联用户的登录状态后可以采取两种不同的处理方法:若关联用户在线,则可以向关联用户推送即时消息,若关联用户离线,则可以将即时消息及离线的关联用户的用户标识一起保存起来,等待对应的关联用户上线时拉取该即时消息。
在本发明的实施例中,由于关联用户的登录状态为离线状态,而其再次上线的时间及所处的位置可能无法预知,因此,当该关联用户再次上线时既可能位于消息发出者所在的第一数据中心,也可能位于第一数据中心以外的其他数据中心。为了能够提高关联用户对即时消息的拉取速度,在本发明的实施例中,可以对即时消息采取多种处理策略进行处理。
可选的,在本发明的一个实施例中,根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识具体可以包括:
根据所述登录状态的查询结果,将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库。
例如,在本发明的一个实施例中,通过在online服务器上查询得知关联用户user2离线,则将发送给user2的即时消息message2暂存在本数据中心的Redis缓存中,当user2在本数据中心上线时可以从Redis缓存中拉取message2。若经过预设时长(例如24小时)后,user2仍然没有上线,则可以将message2从Redis缓存转存到monogo数据库中,以便及时释放缓存。此后,当user2在本数据中心上线时则可以从monogo数据库中拉取message2。
进一步的,当关联用户没有从即时消息的发出者所在的第一数据中心的服务范围内上线,而是从其他数据中心的服务范围内上线时,为了便于该关联用户快速拉取即时消息,可选的,在本发明的另一个实施例中,在将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库之后,本发明的实施例提供的即时消息的传输方法还可以包括:
通过预设网络将保存至所述第一数据中心的所述即时消息以及所述登录状态为离线状态的关联用户的用户标识,同步到第二数据中心,所述第二数据中心与所述第一数据中心不同。
可选的,上述预设网络可以是设置在第一数据中心和第二数据中心之间的专用内部网络,例如可以为VPC peering等。在该预设网络的基础上,第一数据中心和第二数据中心之间可以通过多种通信协议进行交流和数据同步。例如,在本发明的一个实施例中,可以以该预设网络为基础设置消息队列服务器(例如kafka服务器),通过不同数据中心之间消费对方消息队列服务器中的消息的方式实现消息同步。
为了使关联用户快速获知即时消息,在本发明的一个实施例中,根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识之后,本发明的实施例提供的即时消息的传输方法还可以包括:
在所述离线状态的关联用户上线后,接收上线的所述关联用户的拉取请求,所述拉取请求中携带上线的所述关联用户的用户标识;
根据所述用户标识查找对应的所述即时消息;
响应于所述拉取请求,向上线的所述关联用户提供查找到的所述即时消息。
具体而言,若该关联用户从即时消息的发出者所在的第一数据中心的服务范围内上线,则第一数据中心的长连接服务器与关联用户建立长连接后可以获知该关联用户的用户标识,并以该用户标识为索引从缓存或数据库中查找该用户标识对应的即时消息。若该关联用户从其他数据中心的服务范围内上线,则由于其他数据中心可以与第一数据中心之间进行消息同步,该关联用户可以从其所在的数据中心拉取同步后的即时消息,从而避免了远距离的消息拉取,有效提高了消息拉取的速度。
进一步的,在关联用户从数据中心拉取即时消息后,数据中心可以将被拉取的即时消息清除,或者对被拉取过的即时消息进行标记,标示该即时消息已经被读取,以便用户下次拉取时能够方便地拉取到未读消息。
上述实施例主要介绍了消息拉取过程中消息的快速传输,但本发明的实施例不限于此,在本发明的其他实施例中,在消息推送过程中同样可以显著提高消息传输速度,减小消息延迟。
举例而言,在本发明的一个实施例中,步骤S13中根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户可以包括:
若所述在线状态的关联用户处于所述第一数据中心的服务范围内,直接向所述关联用户推送所述即时消息;
若所述在线状态的关联用户处于第二数据中心的服务范围内,通过所述第一数据中心与所述第二数据中心之间的数据同步,向所述关联用户推送所述即时消息,所述第二数据中心与所述第一数据中心不同。其中,第一数据中心与第二数据中心也可以通过消息队列服务器进行消息同步,前文已经进行了详细说明,此处不再赘述。
下面通过具体实施例对本发明的实施例提供的即时消息的传输方法进行详细说明。
如图2所示,本发明的即时消息的传输方法可以包括:
S201、第一数据中心接收即时消息msg1,其中msg1的接收对象的身份标识为groupl;
S202、查询到groupl的关联用户为usl、us2;
S203、通过在线用户服务器查询到us1在线,且us1位于第一数据中心的服务范围内,连接于长连接服务器live4,查询到us2不在线;
S204、根据查询到的usl的登录信息,将msg1向用户usl推送;
S205、将msgl放入第一数据中心的消息队列服务器;
S206、第二数据中心从第一数据中心的消息队列服务器中进行消息同步,并将同步来的消息暂存在第二数据中心的Redis缓存;
S207、用户us2从第二数据中心的服务范围内上线,向第二数据中心发送消息拉取请求;
S208、第二数据中心根据拉取请求中用户us2的用户标识,在第二数据中心的Redis缓存中查找到msg1;
S209、第二数据中心响应拉取请求,向用户us2提供mgs1。
第二方面,本发明的实施例还提供一种即时消息的传输装置,能够有效减小即时消息的传输延迟。
如图3所示,本发明的实施例提供的即时消息的传输装置可以包括:
消息接收单元31,用于接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;
状态查询单元32,用于根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户,其中,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,所述登录信息包括所述在线用户的位置信息及所述在线用户所连接的长连接服务器的标识信息;
消息推送单元33,用于根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
本发明的实施例提供的即时消息的传输方法,服务端能够接收即时消息,并根据所述即时消息中携带的接收对象的身份标识,通过在线用户服务器查询该即时消息的接收对象中的关联用户的登录状态,根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。由于在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,且登录信息可以包括在线用户的位置信息及在线用户所连接的长连接服务器的标识信息,这样服务端就能够通过查询在线用户服务器,获知本数据中心和其他数据中心的服务范围内当前在线的关联用户的位置信息及其连接的长连接服务器,用户只需就近连入一个数据中心即可,大大减小了用户与数据中心之间的物理距离,从而能够将即时消息及时推送给在线的关联用户,有效减小了即时消息的传输延迟。
可选的,本发明的实施例提供的即时消息传输装置还可以包括保存单元,用于在根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户之后,根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识。
可选的,保存单元具体用于根据所述登录状态的查询结果,将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库。
可选的,本发明的实施例提供的即时消息传输装置还可以包括:同步单元,用于在将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存或数据库之后,通过预设网络将保存至所述第一数据中心的所述即时消息以及所述登录状态为离线状态的关联用户的用户标识,同步到第二数据中心,所述第二数据中心与所述第一数据中心不同。
本发明的实施例提供的即时消息传输装置还可以包括:
请求接收单元,用于在所述离线状态的关联用户上线后,接收上线的所述关联用户的拉取请求,所述拉取请求中携带上线的所述关联用户的用户标识;
消息查找单元,用于根据所述用户标识查找对应的的所述即时消息;
消息提供单元,用于响应于所述拉取请求,向上线的所述关联用户提供查找到的所述即时消息。
可选的,消息推送单元33可以包括:
第一推送模块,用于若所述在线状态的关联用户处于所述第一数据中心的服务范围内,直接向所述关联用户推送所述即时消息;
第二推送模块,用于若所述在线状态的关联用户处于第二数据中心的服务范围内,通过所述第一数据中心与所述第二数据中心之间的数据同步,向所述关联用户推送所述即时消息,所述第二数据中心与所述第一数据中心不同。
第三方面,本发明实施例提供一种电子设备,能够有效减小即时消息的传输延迟。
如图4所示,本发明的实施例提供的电子设备,可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的即时消息的传输方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
相应的,第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种即时消息的传输方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种即时消息的传输方法,其特征在于,包括:
接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;
根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户,其中,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,所述登录信息包括所述在线用户的位置信息及所述在线用户所连接的长连接服务器的标识信息;
根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
2.根据权利要求1所述的方法,其特征在于,所述根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态之后,所述方法还包括:
根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识。
3.根据权利要求2所述的方法,其特征在于,所述根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识包括:
根据所述登录状态的查询结果,将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库。
4.根据权利要求3所述的方法,其特征在于,所述将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库之后,所述方法还包括:
通过预设网络将保存至所述第一数据中心的所述即时消息以及所述登录状态为离线状态的关联用户的用户标识,同步到第二数据中心,所述第二数据中心与所述第一数据中心不同。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识之后,所述方法还包括:
在所述离线状态的关联用户上线后,接收上线的所述关联用户的拉取请求,所述拉取请求中携带上线的所述关联用户的用户标识;
根据所述用户标识查找对应的所述即时消息;
响应于所述拉取请求,向上线的所述关联用户提供查找到的所述即时消息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户包括:
若所述在线状态的关联用户处于所述第一数据中心的服务范围内,直接向所述关联用户推送所述即时消息;
若所述在线状态的关联用户处于第二数据中心的服务范围内,通过所述第一数据中心与所述第二数据中心之间的数据同步,向所述关联用户推送所述即时消息,所述第二数据中心与所述第一数据中心不同。
7.一种即时消息的传输装置,其特征在于,包括:
消息接收单元,用于接收即时消息,所述即时消息中携带所述即时消息的接收对象的身份标识,其中,所述接收对象为独立用户或群组,所述即时消息的发出者位于第一数据中心的服务范围内;
状态查询单元,用于根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态,所述关联用户包括所述独立用户或所述群组中的其他成员用户,其中,所述在线用户服务器中维护有至少两个数据中心的服务范围内的在线用户的登录信息,所述登录信息包括所述在线用户的位置信息及所述在线用户所连接的长连接服务器的标识信息;
消息推送单元,用于根据所述登录状态的查询结果,将所述即时消息推送至所述登录状态为在线状态的所述关联用户。
8.根据权利要求7所述的装置,其特征在于,还包括:
保存单元,用于在根据所述身份标识,通过在线用户服务器查询所述接收对象的关联用户的登录状态之后,根据所述登录状态的查询结果,保存所述即时消息以及所述登录状态为离线状态的关联用户的用户标识。
9.根据权利要求8所述的装置,其特征在于,所述保存单元,具体用于根据所述登录状态的查询结果,将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库。
10.根据权利要求9所述的装置,其特征在于,还包括:
同步单元,用于在将所述即时消息以及所述登录状态为离线状态的关联用户的用户标识保存至所述第一数据中心的缓存和/或数据库之后,通过预设网络将保存至所述第一数据中心的所述即时消息以及所述登录状态为离线状态的关联用户的用户标识,同步到第二数据中心,所述第二数据中心与所述第一数据中心不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010497989.7A CN111726281A (zh) | 2020-06-03 | 2020-06-03 | 一种即时消息的传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010497989.7A CN111726281A (zh) | 2020-06-03 | 2020-06-03 | 一种即时消息的传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111726281A true CN111726281A (zh) | 2020-09-29 |
Family
ID=72565799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010497989.7A Pending CN111726281A (zh) | 2020-06-03 | 2020-06-03 | 一种即时消息的传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111726281A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794722A (zh) * | 2005-09-19 | 2006-06-28 | 华为技术有限公司 | 一种离线消息发送方法 |
JP2007053713A (ja) * | 2005-08-19 | 2007-03-01 | Takashi Masui | 受信先のプレゼンス状態に対応したインスタントメッセージング制御方法およびシステム |
CN104717133A (zh) * | 2015-03-16 | 2015-06-17 | 墨仕(厦门)电子商务有限公司 | 一种分布式消息推送系统及方法 |
CN108023807A (zh) * | 2017-11-02 | 2018-05-11 | 东软集团股份有限公司 | 即时通信方法、服务器和消息中间件 |
CN109067910A (zh) * | 2018-09-13 | 2018-12-21 | 乐蜜有限公司 | 一种消息拉取的方法及装置 |
CN111049753A (zh) * | 2019-12-18 | 2020-04-21 | 网易(杭州)网络有限公司 | 消息的发送方法、装置、电子设备及计算机可读介质 |
-
2020
- 2020-06-03 CN CN202010497989.7A patent/CN111726281A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053713A (ja) * | 2005-08-19 | 2007-03-01 | Takashi Masui | 受信先のプレゼンス状態に対応したインスタントメッセージング制御方法およびシステム |
CN1794722A (zh) * | 2005-09-19 | 2006-06-28 | 华为技术有限公司 | 一种离线消息发送方法 |
CN104717133A (zh) * | 2015-03-16 | 2015-06-17 | 墨仕(厦门)电子商务有限公司 | 一种分布式消息推送系统及方法 |
CN108023807A (zh) * | 2017-11-02 | 2018-05-11 | 东软集团股份有限公司 | 即时通信方法、服务器和消息中间件 |
CN109067910A (zh) * | 2018-09-13 | 2018-12-21 | 乐蜜有限公司 | 一种消息拉取的方法及装置 |
CN111049753A (zh) * | 2019-12-18 | 2020-04-21 | 网易(杭州)网络有限公司 | 消息的发送方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107395697B (zh) | 推送渠道选择、消息推送方法、装置及设备、可读介质 | |
JP5990275B2 (ja) | 端末間でデータを伝送する方法、及び端末 | |
CN110247739B (zh) | 一种消息传输方法及装置 | |
WO2014169688A1 (en) | Method and system for identifying prank call, client, server, and storage medium | |
CN111770350B (zh) | 直播间消息拉取的方法、装置、计算机设备和存储介质 | |
EP2782296B1 (en) | Communication system and transmission method of information transmission unit in communication system | |
WO2013056598A1 (en) | Contact information synchronization system and method | |
CN103747132A (zh) | 显示消息的方法及终端 | |
CN103457828B (zh) | 一种跨网的即时通讯方法及系统 | |
WO2015014310A1 (en) | Method, apparatus, and server for displaying information | |
CN108880972B (zh) | 一种信息处理方法、服务器及终端 | |
CN110650202A (zh) | 通信交互方法、装置及电子设备 | |
US10478731B2 (en) | Method and apparatus for storing user data | |
CN116996421A (zh) | 一种网络质量检测方法及相关设备 | |
CN111726281A (zh) | 一种即时消息的传输方法、装置、电子设备及存储介质 | |
CN107920019A (zh) | 关注好友的方法及装置、计算机设备及存储介质 | |
CN102469039A (zh) | 智能的网络交流系统和方法 | |
CN111782829A (zh) | 一种即时通讯会话消息的处理方法、装置及电子设备 | |
CN114390452B (zh) | 消息发送方法及相关设备 | |
CN111800466A (zh) | 一种长连接服务的建立方法、装置、电子设备及存储介质 | |
CN111726280A (zh) | 一种即时消息的传输方法、装置、电子设备及存储介质 | |
CN109646942A (zh) | 一种对战类游戏成员的匹配方法、装置及电子设备 | |
CN114222154A (zh) | 关联账号推荐方法和装置、存储介质及电子设备 | |
CN110661697B (zh) | 消息同步方法、装置、可读存储介质、电子设备及系统 | |
KR101336837B1 (ko) | 친구찾기 방법 및 이를 위한 시스템 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210611 Address after: 25, 5th floor, shuangjingfang office building, 3 frisha street, Singapore Applicant after: Zhuomi Private Ltd. Address before: Room 1101, Santai Commercial Building, 139 Connaught Road, Hong Kong, China Applicant before: HONG KONG LIVE.ME Corp.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200929 |