CN110445705B - 消息发送方法、装置、系统、计算机设备和存储介质 - Google Patents
消息发送方法、装置、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110445705B CN110445705B CN201810408521.9A CN201810408521A CN110445705B CN 110445705 B CN110445705 B CN 110445705B CN 201810408521 A CN201810408521 A CN 201810408521A CN 110445705 B CN110445705 B CN 110445705B
- Authority
- CN
- China
- Prior art keywords
- message
- sending mode
- pull
- current
- sending
- 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.)
- Active
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/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
-
- 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/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种消息发送方法、装置、系统、计算机设备和存储介质,所述方法包括:接收第一消息更新提醒,第一消息更新提醒携带目标用户标识;根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式;根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息。上述方法可以降低消息发送系统的负载。
Description
技术领域
本发明涉及信息处理领域,特别是涉及消息发送方法、装置、系统、计算机设备和存储介质。
背景技术
随着信息技术的发展,信息交流也越来越普遍。例如,设备间可以相互发送邮件消息、订阅消息以及即时通信消息。
目前,当接收到终端对应的新消息时,消息发送系统向终端发送消息拉取通知,客户端根据拉取通知发送消息拉取请求,消息发送系统根据消息拉取请求向客户端发送对应的新消息,然而,这种基于消息拉取请求发送消息的方法,消息发送系统需要接收大量的消息拉取请求,负载高。
发明内容
基于此,有必要针对上述的问题,提供一种消息发送方法、装置、系统、计算机设备和存储介质,可通过接收到消息更新提醒时,当上一次发送的消息的接收状态为已接收时,则确定当前消息发送模式为内容发送模式,否则,当前消息发送模式为通知发送模式,并根据当前消息发送模式向目标终端发送消息数据,因此可以降低接收的拉取请求的数量,降低消息发送系统的负载。
一种消息发送方法,所述方法包括:接收第一消息更新提醒,所述第一消息更新提醒携带目标用户标识;根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式;根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息。
一种消息发送系统,所述系统包括消息下发节点,用于:接收第一消息更新提醒,所述第一消息更新提醒携带目标用户标识;根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式;根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息;所述系统还包括接收状态中转节点,用于转发所述目标用户标识对应的上一次发送的消息的接收状态相关联的数据。
一种消息发送装置,所述装置包括:第一提醒接收模块,用于接收第一消息更新提醒,所述第一消息更新提醒携带目标用户标识;第一当前模式获取模块,用于根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式;第一消息数据发送模块,用于根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息。
在其中一个实施例中,所述第一消息数据发送模块,用于当所述第一当前消息发送模式为通知发送模式时,向所述目标终端发送所述第一消息更新提醒对应的第一新消息拉取通知,其中,所述第一新消息拉取通知用于触发所述目标终端拉取所述第一新消息。
在其中一个实施例中,所述第一消息数据发送模块,用于当所述第一当前消息发送模式为内容发送模式时,获取所述第一消息更新提醒对应的所述第一新消息;向所述目标终端发送所述第一新消息。
在其中一个实施例中,消息发送装置还包括:第二提醒接收模块,用于接收第二消息更新提醒,所述第二消息更新提醒携带所述目标用户标识,所述第二消息更新提醒为所述上一次发送的消息对应的消息更新提醒;第二当前模式获取模块,用于根据所述第二消息更新提醒获取所述目标用户标识对应的第二当前消息发送模式;第二消息数据发送模块,用于根据所述第二当前消息发送模式向所述目标终端发送与所述第二消息更新提醒对应的第二消息数据,以使得所述目标终端根据所述第二消息数据获取对应的第二新消息,所述第二新消息为所述上一次发送的消息;第一设置模块,用于当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式。
在其中一个实施例中,所述第二消息数据发送模块,用于当所述第二当前消息发送模式为内容发送模式时,获取所述第二消息更新提醒对应的所述第二新消息;向所述目标终端发送所述第二新消息;所述第一设置模块用于:将所述目标用户标识对应的当前消息发送模式设置为通知发送模式;当接收到所述目标终端返回的所述第二新消息对应的消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
在其中一个实施例中,消息发送装置还包括所述第二设置模块,用于当未接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为中间状态;所述第一设置模块还用于:当接收到所述第一消息更新提醒时未接收到所述消息接收成功响应和/或当预设时长内未接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式;当在中间状态下接收到所述目标终端返回的所述第二新消息对应的消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式;所述消息发送装置还包括保持模块,用于在当前消息发送模式为通知发送模式下接收到目标终端返回的第二新消息对应的消息接收成功响应时,保持当前消息发送模式为通知发送模式。
在其中一个实施例中,第二消息数据发送模块,还用于当所述第二当前消息发送模式为通知发送模式时,向所述目标终端发送所述第二消息更新提醒对应的第二新消息拉取通知,其中,所述第二新消息拉取通知用于触发所述目标终端拉取所述第二新消息;所述第一设置模块还包括:拉取标识获取单元,用于获取所述目标终端根据所述第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识;对比单元,用于将所述第二拉取标识与所述目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为;第一设置单元,用于当对比不一致时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
在其中一个实施例中,所述第二拉取标识以及所述历史拉取标识为消息产生时间,第一设置单元还用于:当所述第二拉取标识对应的消息产生时间晚于所述历史拉取标识对应的消息产生时间时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
在其中一个实施例中,所述装置还包括:拉取通知发送模块,用于当所述第一消息更新提醒为本端接收的所述目标用户标识对应的第一个消息更新提醒时,向所述目标终端发送第三新消息拉取通知,其中,所述第三新消息拉取通知用于触发所述目标终端拉取所述第一新消息。
在其中一个实施例中,所述装置还包括:联系人标识获取模块,用于当所述第一当前消息发送模式为内容发送模式时,获取与所述目标用户标识对应的目标联系人标识,目标联系人包括与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前;历史联系消息获取模块,用于获取所述目标联系人标识与所述目标用户标识之间的历史联系消息;历史联系消息发送模块,用于将所述历史联系消息发送到所述目标终端中。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述消息发送方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述消息发送方法的步骤。
上述消息发送方法、装置、系统、计算机设备和存储介质,当接收到第一消息更新提醒时,根据第一消息更新提醒获取接收到第一消息更新提醒时目标用户标识对应的第一当前消息发送模式,其中第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式,根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息,由于接收到消息更新提醒时,当上一次发送的新消息的接收状态为已接收时,则确定当前消息发送模式为内容发送模式,否则,当前消息发送模式为通知发送模式,因此可以降低接收的拉取请求的数量,降低消息发送系统的负载。
附图说明
图1为一个实施例中提供的消息发送方法的应用环境图;
图2为一个实施例中消息发送方法的流程图;
图3为一个实施例中消息发送方法的流程图;
图4为一个实施例中消息发送方法的流程图;
图5为一个实施例中消息发送方法的流程图;
图6为一个实施例中当确定目标终端根据第二消息数据获取到对应的上一次发送的消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式的流程图;
图7为一个实施例中,通知发送模式、内容发送模式以及中间状态之间的转换关系图;
图8为一个实施例中消息发送方法的流程图;
图9示出了一个实施例中所提供的消息发送方法的时序图;
图10示出了一个实施例中所提供的消息发送方法的时序图;
图11为一个实施例中消息发送系统的结构框图;
图12为一个实施例中消息发送装置的结构框图;
图13为一个实施例中消息发送装置的结构框图;
图14为一个实施例中第一设置模块的结构框图;
图15为一个实施例中消息发送装置的结构框图;
图16为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一当前消息发送模式称为第二当前消息发送模式,且类似地,可将第二当前消息发送模式称为第一当前消息发送模式。
图1为一个实施例中提供的消息发送方法的应用环境图,如图1所示,在该应用环境中,包括消息中转服务器101、消息下发服务器102、接入层服务器103、终端104、消息拉取服务器105、消息同步服务器106、联系日志服务器107、已读消息存储服务器108以及未读消息存储服务器109。其中终端104为接收消息的目标用户对应的终端,消息中转服务器101用于获取发送给目标用户的消息,例如可以是目标用户在即时通信应用上的好友发送给目标用户的即时通信消息、发送到目标用户对应的邮箱地址的消息以及目标用户订阅的公众号信息等。消息下发服务器102用于下发消息数据,消息数据可以是通知目标用户对应的终端104进行消息拉取的通知也可以消息内容。接入层服务器103用于维护与客户端之间的网络连接以及转发信息,例如接入层服务器103与终端104通过心跳信息保持网络连接。消息拉取服务器105用于转发消息拉取请求到消息同步服务器106以及将消息同步服务器106拉取的消息返回给接入层服务器103,消息拉取服务器还可以用于判断拉取请求是否符合预设的格式要求或者返回的消息是否符合预设的格式要求。联系日志服务器107用于存储目标用户发送以及接收消息相关的日志信息,例如联系时间以及对应联系用户标识等。已读消息服务器108用于存储用户对应的终端已经接收的消息。未读消息存储服务器109用于存储用户对应的未读消息。消息同步服务器106用于根据消息拉取请求在未读消息存储服务器109拉取未读消息。目标用户对应的终端可以有多个,当有多个时,为了使目标用户使用当前终端时也可以看到在其他终端接收的消息,消息同步服务器106还可以在联系日志服务器中获取目标用户标识对应的联系人标识,再根据联系人标识在已读消息存储服务器获取终端104上未存储的已读消息。
以下以消息中转服务器101接收到第一新消息为例,对本发明提供的消息发送方法进行说明,当消息中转服务器101接收到发送给目标用户标识对应的目标用户的第一新消息时,将第一新消息存储在未读消息存储服务器109中,并向消息下发服务器102发送第一消息更新提醒,第一消息更新提醒携带目标用户标识,消息下发节点接收第一消息更新提醒,根据第一消息更新提醒获取对应的第一当前消息发送模式,根据第一当前消息发送模式向接入层服务器103发送与第一消息更新提醒对应的第一消息数据,接入层服务器103接收第一消息数据。
在一个实施例中,当第一当前消息发送模式为通知发送模式时,第一消息数据为拉取通知,用于触发终端104发送消息拉取请求,消息拉取请求中携带目标用户标识,消息拉取请求经由接入层服务器103、消息拉取服务器105转发到消息同步服务器106中,消息同步服务器106根据目标用户标识在未读消息存储服务器109中获取第一新消息,消息同步服务器106还可以在联系日志服务器107中获取目标用户的联系人对应的联系人标识,例如,24小时内存在联系的目标联系人标识,然后根据目标联系人标识在已读消息存储服务器108中获取目标用户与目标联系人之间的历史联系消息,第一新消息以及历史联系消息经由拉取服务器105以及接入层服务器103发送到终端104中。
在一个实施例中,当第一当前消息发送模式为内容发送模式时,第一消息数据包括第一新消息,目标终端从第一消息数据中提取得到第一新消息。
在一个实施例中,消息发送系统还可以包括消息接入服务器110以及公众号消息接收服务器111。公众号消息接收服务器111用于获取公众号对应的终端发送的消息,消息接入服务器110用于获取通过其他平台例如游戏平台、公众号平台发送给目标用户标识的消息,并将获取的消息发送给消息中转服务器101。以使消息中转服务器101将未读消息存储到未读消息存储服务器109中。
在一个实施例中,消息发送系统还可以包括响应转发服务器,响应转发服务器可以用于接收目标终端返回的消息已经成功接收的响应数据包,并将响应数据包发送给消息下发服务器102。
需要说明的是,上述应用场景图仅是一个示例,并不构成对本申请的限制,例如,在一些实施例中,图1的各个服务器构成的消息发送系统可以根据需要集成在同一个服务器中或者具有不同的分布。例如消息下发服务器102以及消息中转服务器101可以为同一个服务器,消息下发服务器102也可以是一个服务器集群等。终端104可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端104以及服务器可以通过网络等通讯连接方式进行连接,本发明在此不做限制。
如图2所示,在一个实施例中,提出了一种消息发送方法,本实施例主要以该方法应用于上述图1中的消息下发服务器102来举例说明。具体可以包括以下步骤:
步骤S202,接收第一消息更新提醒,第一消息更新提醒携带目标用户标识。
具体地,目标用户标识用于标识目标用户,目标用户是指接收新消息的用户。目标用户标识可以是即时通信账号或者设备标识等,例如,目标用户标识可以是Facebook账号、邮箱地址或者微信账号等。消息更新提醒用于提醒存在目标用户标识对应的新消息,第一消息更新提醒可以是消息下发服务器在接收到目标用户标识对应的新消息时触发的,也可以是其他服务器发送到消息下发服务器的,例如,当消息中转服务器接收到目标用户标识对应的第一新消息时,可以将第一新消息存储到未读消息服务器中,并向消息下发服务器发送第一消息更新提醒。
步骤S204,根据第一消息更新提醒获取目标用户标识对应的第一当前消息发送模式,第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式。
具体地,当前消息发送模式是指获取消息发送模式时的消息发送模式。第一当前消息发送模式是指根据第一消息更新提醒获取当前消息发送模式时目标用户标识对应的消息发送模式。接收状态可以包括已接收和未接收两种状态。上一次发送的消息是指上一次发送给目标用户标识登录的终端的消息。当确定上一次发送的消息已被接收时,则第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式。
在一个实施例中,消息发送模式包括内容发送模式状态、通知发送模式状态以及中间状态,中间状态是处于通知发送模式状态以及内容发送模式状态之间的状态。当确定当前消息发送模式为内容发送模式,需要向目标终端下发第二新消息后,将当前消息发送模式设置为中间状态,并根据模式切换条件将当前消息发送模式切换成通知发送模式或者内容通知发送模式。第一新消息是指触发第一消息更新提醒的新消息。第二新消息是指第一新消息对应的上一次发送的消息。
当上一次发送的消息是通过内容发送模式下发的,则当在等待接收目标终端发送的已接收第二新消息的消息接收成功响应时,消息发送模式的状态为中间状态,当接收到第一消息更新提醒时未接收到上一次发送的消息的消息接收成功响应或者当预设时长内未接收到该消息接收成功响应时,则确定上一次发送的消息未接收,将目标用户标识对应的当前消息发送模式设置为通知发送模式。当接收到目标终端返回的消息接收成功响应且目标用户标识对应的当前消息发送模式为中间状态时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一些实施例中,上一次发送的消息可以是通过消息下发服务器发送给目标终端的,也可以是其他服务器发送给目标终端的。例如第二新消息可以是消息下发服务器向目标终端发送第二新消息拉取通知,由目标终端发起拉取请求后拉取得到的。
在一些实施例中,第二新消息的接收状态可以是根据目标终端接收到第二新消息后返回的消息接收成功响应确定的。当目标终端接收到第二新消息后,返回消息接收成功响应数据包,消息接收成功响应数据包携带第二新消息的标识,当消息下发服务器接收到消息接收成功响应数据包时,第二新消息的接收状态为已接收。当未收到消息接收成功响应数据包时,第二新消息的接收状态为未接收。
在一个实施例中,当第二新消息是目标终端响应于接收到的消息拉取通知发起拉取请求拉取得到的时,则第二新消息的接收状态可以是根据进行第二新消息拉取时对应的第二拉取标识确定的。可以将第二拉取标识与历史拉取标识进行对比,其中,历史拉取标识为历史拉取行为对应的拉取标识,历史拉取行为是第二拉取标识对应的拉取行为的前一次拉取行为。当对比不一致时,则上一次发送的消息的接收状态为已接收。当对比一致时,则上一次发送的消息的接收状态为未接收。拉取标识可以是消息标识,也可以是消息产生的时间。消息产生时间可以是指消息在发送消息的终端中产生的时间,也可以是存储消息的服务器第一次接收到消息的时间。
在一个实施例中,当拉取标识为消息产生时间时,第二拉取标识可以是进行第二新消息拉取时第二新消息的消息产生时间,则历史拉取标识是进行第二新消息拉取的前一次消息拉取所拉取消息的消息产生时间。例如,当消息同步服务器拉取第二新消息并返回给目标终端时,还携带第二新消息的消息产生时间以及对应的消息标识,且消息同步服务器或者消息拉取服务器还向消息下发服务器发送第二新消息的消息产生时间,消息下发服务器可以将接收到的第二新消息的消息产生时间与终端前一次拉取时所拉取消息的消息产生时间进行对比,当对比不一致时,则可以确认拉取的消息包括第二新消息,第二新消息接收状态为已接收。
在一个实施例中,当拉取标识为消息产生时间时,第二拉取标识也可以是目标终端进行第二新消息拉取时携带的目标终端已接收消息的消息产生时间,则历史拉取标识是终端前一次消息拉取时携带的已接收消息的消息产生时间。例如,当接收到第二新消息对应的消息拉取通知时,目标终端发送消息拉取请求并携带已接收消息的消息产生时间,消息拉取服务器或者消息同步服务器接收到已接收消息的消息产生时间后,发送给消息下发服务器,消息下发服务器将接收的已接收消息的消息产生时间与前一次消息拉取时携带的已接收消息的消息产生时间进行对比,当对比不一致时,则可以确认此次拉取的消息为第二新消息,第二新消息接收状态为已接收。
由于将消息产生的时间作为拉取标识,因此在同一时间内产生的新消息有多个的情况下,无需对多个消息标识进行逐一对比以确定新消息已被接收,因此,减少了进行比对的负载量,提高了确定消息是否已被终端接收的速度。
在一个实施例中,消息发送方法还可以包括:当第一消息更新提醒为本端接收的目标用户标识对应的第一个消息更新提醒时,向目标终端发送第三新消息拉取通知,其中,第三新消息拉取通知用于触发目标终端拉取第一新消息。
具体地,本端是指执行消息发送方法的设备。当第一消息更新提醒为本端接收的目标用户标识对应的第一个消息更新提醒时,可以设置初始的消息发送模式为通知发送模式,向目标终端发送第三新消息拉取通知,以触发目标终端拉取第一新消息。
步骤S206,根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息。
具体地,第一消息数据是根据第一当前消息发送模式确定的,当为通知发送模式时,则第一消息数据为消息拉取通知。当第一当前消息发送模式为内容发送模式时,则第一消息数据为第一新消息。
在一个实施例中,根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据包括:当第一当前消息发送模式为通知发送模式时,向目标终端发送第一消息更新提醒对应的第一新消息拉取通知,其中,第一新消息拉取通知用于触发目标终端拉取第一新消息。
具体地,拉取是指由终端向消息发送系统发送消息获取请求,以获取消息。当第一当前消息发送模式为通知发送模式时,第一消息数据为第一新消息拉取通知,当目标终端接收到第一新消息拉取通知时,进行第一新消息拉取。可以理解,消息下发服务器还可以获取到进行第一新消息拉取的第一拉取标识,将第一拉取标识与第二拉取标识进行对比,当对比不一致时,将当前消息发送模式设置为内容发送模式。当对比一致时,则可以保持为通知发送模式。
在一个实施例中,第一新消息拉取通知中可以包括第一新消息标识,因此,当目标终端接收到第一新消息拉取通知时,发送拉取请求并携带第一新消息标识,以拉取得到第一新消息。
在一个实施例中,第一新消息拉取通知中可以不包括第一新消息标识,当目标终端接收到第一新消息拉取通知时,发送拉取请求并携带目标终端中已经接收得到的已接收消息的产生时间,因此消息同步服务器可以拉取产生时间在已接收消息的产生时间之后的在后消息返回给目标终端,而由于第一新消息的产生时间在已接收消息的产生时间之后,故目标终端可以拉取得到第一新消息。
在一个实施例中,当目标终端接收到第一新消息拉取通知时,发送拉取请求并携带目标终端中已经接收得到的已接收消息的产生时间以及消息标识,因此消息同步服务器获取消息产生时间在已接收消息的消息产生时间之后的第一在后消息,并获取与已接收消息的消息产生时间相同,但是与已接收消息的消息标识不同或者排序在已接收消息的消息标识之后的第二在后消息,将第一在后消息与第二在后消息返回给目标终端。
在一个实施例中,当消息同步服务器根据拉取请求获取到消息时,可以生成一个cookie,并发送给目标终端。cookie中包括拉取消息的消息产生时间、消息的顺序号以及消息的标识。其中消息的顺序号可以是在发送消息的发送终端中产生的,可以按照发送终端中消息的产生顺序产生消息的顺序号,例如发送终端产生的第一条消息的顺序号可以是01,第二条的顺序号可以是02。消息的标识用于唯一标识一条消息,不同消息的标识是不同的。消息的标识可以根据预设的规则生成,例如,消息的标识可以根据消息产生时间以及消息序列号进行哈希运算得到的。
在一个实施例中,根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据包括:当第一当前消息发送模式为内容发送模式时,获取第一消息更新提醒对应的第一新消息。向目标终端发送第一新消息。
具体地,当第一当前消息发送模式为内容发送模式时,消息下发服务器获取第一消息更新提醒所对应的第一新消息,将第一新消息发送给目标终端。
上述消息发送方法,当接收到第一消息更新提醒时,根据第一消息更新提醒获取接收到第一消息更新提醒时目标用户标识对应的第一当前消息发送模式,其中第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式,根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息,由于接收到消息更新提醒时,当上一次发送的新消息的接收状态为已接收时,则确定当前消息发送模式为内容发送模式,否则,当前消息发送模式为通知发送模式,因此不必每接收到一个新消息时,都需要进行消息拉取,可以降低接收的拉取请求的数量,降低进行消息发送的负载。
进一步地,上述的消息发送方法,对于当目标终端接收的最新的消息接收成功时,则判断最新的消息之前的消息亦被目标终端接收成功的消息发送系统,由于在上一次发送的消息的接收状态为未接收时,是通过发送拉取通知通知目标终端获取新消息的,那样即使上一次发送的消息未接收成功,当目标终端发起拉取请求时,由于上一次发送的消息在消息发送系统中仍为未读消息,故可以将上一次发送的消息发送给目标终端,因此可以防止上一次发送的信息未发送成功而本次发送的新消息成功接收,导致消息发送系统将本次发送的新消息以及之前的未读新消息均作为已读消息,目标终端接收不到上一次发送的消息的情况发生。
在一个实施例中,如图3所示,消息发送方法还可以包括以下步骤:
步骤S302,接收第二消息更新提醒,第二消息更新提醒携带目标用户标识,第二消息更新提醒为上一次发送的消息对应的消息更新提醒。
具体地,第二消息更新提醒可以是消息下发服务器在接收到目标用户标识对应的第二新消息时触发的,也可以是其他服务器触发的,例如,当消息中转服务器接收到目标用户标识对应的第二新消息时,可以将第二新消息存储到未读消息服务器中,并向消息下发服务器发送第二消息更新提醒。第二消息更新提醒是上一次发送的消息即第二新消息对应的消息更新提醒。
步骤S304,根据第二消息更新提醒获取目标用户标识对应的第二当前消息发送模式。
具体地,第二当前消息发送模式是指根据第二消息更新提醒获取当前消息发送模式时目标用户标识对应的消息发送模式。可以理解,第二当前消息发送模式可以参照第一当前消息发送模式的方法确定,在此不再赘述。当然,第二当前发送模式也可以是通过其他方法确定的。例如,当第二消息更新提醒是消息下发服务器接收的目标用户标识对应的第一次消息更新提醒时,则第二当前消息发送模式可以是预先设置的消息发送模式,例如通知发送模式。
步骤S306,根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据,以使得目标终端根据第二消息数据获取对应的第二新消息,第二新消息为上一次发送的消息。
具体地,第二新消息是第二消息更新提醒对应的新消息,即第一新消息对应的上一次发送的消息。当接收到第二新消息后,触发第二消息更新提醒。第二消息数据是根据第二当前消息发送模式确定的,当为通知发送模式时,则第二消息数据为消息拉取通知。当第二当前消息发送模式为内容发送模式时,则第二消息数据为第二新消息。
步骤S308,当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式。
具体地,当确定目标终端获取到第二新消息时,确定第二新消息的状态为已接收,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,如图4所示,步骤S306即根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据包括:
S306A,当第二当前消息发送模式为内容发送模式时,获取第二消息更新提醒对应的第二新消息。
具体地,当第二当前消息发送模式为内容发送模式时,消息下发服务器获取第二消息更新提醒所对应的新消息,并作为第二新消息。
S306B,向目标终端发送第二新消息。
具体地,得到第二新消息后,将第二新消息发送给目标终端。
如图4所示,步骤S308即当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式的步骤包括:将目标用户标识对应的当前消息发送模式设置为通知发送模式。当接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
具体地,将第二新消息发送出去后,将目标用户标识对应的当前消息发送模式设置为通知发送模式。当接收到目标终端返回的第二新消息对应的消息接收成功响应时,确定目标终端获取到第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,如图5所示,步骤S308即确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式之前还包括:
步骤S502:当未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为中间状态。
具体地,中间状态是处于通知发送模式状态以及内容发送模式状态间的状态。当在确定当前消息发送模式为内容发送模式,需要向目标终端下发第二新消息后,将当前消息发送模式设置为中间状态,并根据模式切换条件将当前消息发送模式切换成通知发送模式或者内容通知发送模式。其中,模式切换条件包括通知发送模式切换条件以及内容发送模式切换条件,当满足通知发送模式切换条件时,将当前消息发送模式切换成通知发送模式。当满足内容发送模式切换条件时,将当前消息发送模式切换成内容发送模式。
步骤S504:在中间状态下,判断是否满足通知发送模式切换条件或者内容发送模式切换条件。当满足通知发送模式切换条件时,进入步骤S506,当满足内容模式发送切换条件时,进入步骤S508。
具体地,通知发送模式切换条件可以包括当接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应。内容模式发送切换条件可以包括在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应。
步骤S308即确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式包括:
步骤S506:当接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式。
具体地,当满足接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应的条件时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式。例如,可以在当接收到第一消息更新提醒时,若未接收到上一次发送的消息对应的消息接收成功响应,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式。当然也可以是发送第二新消息之后,预设时长内未接收到第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式。预设时长具体可以根据需要进行设置,例如,可以为5秒。
步骤S508:当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,则可以将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,消息发送方法还可以包括步骤S510:当在当前消息发送模式为通知发送模式下接收到目标终端返回的第二新消息对应的消息接收成功响应时,保持当前消息发送模式为通知发送模式。
具体地,当在通知发送模式下接收到目标终端返回的第二新消息对应的消息接收成功响应时,不对消息发送模式进行切换,保持当前消息发送模式为通知发送模式。
本发明实施例中,当第二新消息是通过内容下发模式下发时,由于设置了中间状态,当接收到第一消息更新提醒时,未接收到消息接收成功响应或者预设时长内未接收到消息接收成功响应时,将中间状态更新为通知发送模式状态,或者当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。状态间的转换逻辑清晰。
在一个实施例中,步骤S306即根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据包括:当第二当前消息发送模式为通知发送模式时,向目标终端发送第二消息更新提醒对应的第二新消息拉取通知,其中,第二新消息拉取通知用于触发目标终端拉取第二新消息。
具体地,当第二当前消息发送模式为通知发送模式时,第二消息数据为第二新消息拉取通知,当目标终端接收到第二新消息拉取通知时,拉取第二新消息。
如图6所示,步骤S308即当确定目标终端根据第二消息数据获取到对应的上一次发送的消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式包括以下步骤:
步骤S308A,获取目标终端根据第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识。
具体地,第二拉取标识用于标识拉取行为,第二拉取标识可以是用于标识消息的消息标识,也可以是消息产生的时间。例如,第二拉取标识可以是进行第二新消息拉取时第二新消息的消息产生时间,第二拉取标识也可以是目标终端进行第二新消息拉取时携带的已拉取消息的消息产生时间。
步骤S308B,将第二拉取标识与目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为。
具体地,历史拉取标识是前一次消息拉取时对应的拉取标识。例如,当进行第二新消息拉取的时间为2018年4月1日19:00,而2018年4月1日19:00分的前一次拉取的时间为2018年4月1日18:00,则2018年4月1日18:00分进行消息拉取时对应的拉取标识为历史拉取标识。可以理解,当第二拉取标识是进行第二新消息拉取时第二新消息的消息产生时间,则历史拉取标识是第二新消息拉取的前一次消息拉取所拉取消息的消息产生时间。当第二拉取标识是目标终端进行第二新消息拉取时携带的已接收消息的消息产生时间时,则历史拉取标识是前一次消息拉取时携带的已接收消息的消息产生时间。
步骤S308C,当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
具体地,当第二拉取标识与历史拉取标识不一致时,则可以确认此次拉取的消息包括第二新消息,第二新消息接收状态为已接收,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,第二拉取标识以及历史拉取标识为消息产生时间,当第二拉取标识对应的消息产生时间晚于历史拉取标识对应的消息产生时间时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
具体地,当拉取标识为消息产生时间时,当第二拉取标识对应的消息产生时间晚于历史拉取标识对应的消息产生时间,则可以确定此次进行消息拉取的消息相对于上一次拉取的消息为新消息,第二新消息接收状态为已接收。由于将消息产生的时间作为拉取标识,因此在同一时间内产生的新消息有多个的情况下,无需对多个消息标识进行逐一对比才能新消息已被接收,因此,较少了进行比对的负载量。
图7示出了一个实施例中,通知发送模式、内容发送模式以及中间状态之间的转换关系图,如图7所示,当当前发送模式为内容发送模式时,消息下发服务器下发第二新消息,并将当前消息发送模式由内容发送模式更新为中间状态。当接收到目标终端发送的第二新消息对应的消息接收成功响应时,消息下发服务器将当前消息发送模式由中间状态更新为内容发送模式。当超过预设时长未接收到第二新消息对应的消息接收成功响应或者当收到第一新消息时,当前消息发送模式由中间状态更新为通知发送模式。在通知发送模式下,若接收到的第二拉取标识与历史标识不同,则将当前消息发送模式由通知发送模式更新为内容发送模式。
消息发送模式的各个状态转换原理分析如下:当在内容发送模式下发了第二新消息后,消息下发服务器获取到第一新消息更新提醒,此时,若采用内容发送模式直接下发第一新消息,则由于第二新消息有可能会丢失,在第二新消息丢失这种情况下,如果目标终端接收到第一新消息并返回第一新消息已经成功接收的响应到未读消息存储服务器,且目前未读消息存储服务器是基于最新已读消息的最新消息产生时间将最新消息产生时间之前的消息确认为已读并删除的,而第二新消息的消息产生时间早于第一新消息的产生时间,故未读消息存储服务器会删除第一新消息以及第二新消息,从而目标终端不能接收到第二新消息。而如果当在内容发送模式下发了第二新消息后,直接将当前消息发送模式更新为通知发送模式,则在目标终端接收到第二新消息并返回第二新消息已经成功接收的响应时,由于当前发送模式为通知发送模式,则第一新消息还是采用通知下发模式下发,需要根据拉取标识进行对比,确定是不一致时才将当前消息发送模式由通知下发模式更新为内容推送模式,会增加消息拉取服务器的负载。因此,可以增加一个中间状态,当当前发送模式为内容发送模式时并下发第二新消息会后,可以将当前消息发送模式由内容发送模式更新为中间状态。在接收到第二新消息的消息接收成功响应时将消息发送模式更改为内容发送模式。
在一个实施例中,如图8所示,消息发送方法还包括以下步骤:
步骤S802,当第一当前消息发送模式为内容发送模式时,获取与目标用户标识对应的目标联系人标识,目标联系人包括与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前。
具体地,目标联系人标识是指与目标用户标识存在联系的目标联系人的标识,例如可以是近期与目标用户在即时通信应用上进行聊天的好友的标识。目标联系人可以是联系时间与当前时间的间隔小于预设时长的联系人,预设时长可以根据需要进行设置,例如24小时。目标联系人可以是与目标用户的联系时间在预设排序之前的联系人。联系时间在后的排序在前。例如,今天19点晚于今天18点,则今天19点联系过的联系人的联系时间的排序在今天18点联系过的联系人的联系时间之前。预设排序可以根据需要设定,例如可以是8个,即可以获取8个目标联系人标识。
步骤S804,获取目标联系人标识与目标用户标识之间的历史联系消息。
具体地,历史联系信息是当前时间之前的联系消息。例如,消息下发节点可以根据目标联系人标识到已读消息存储服务器中获取目标联系人标识与目标用户标识之间的历史联系消息。
步骤S806,将历史联系消息发送到目标终端中。
具体地,历史联系消息可以是与第一消息数据一同发送到目标终端的,也可以是将第一消息数据发送给目标终端后,再将历史联系消息发送到目标终端中。本发明在此不做限制。
本发明实施例中,将历史联系消息发送到目标终端中,因此目标用户可以查看在其他终端中登录时进行消息发送以及接收的历史联系信息。图9示出了一个实施例中所提供的消息发送方法的时序图,包括以下步骤:
S91:消息中转服务器获取第二新消息。第二新消息可以是其他服务器发送到消息中转服务器的,也可以是由发送第二新消息的发送终端发送到消息中转服务器的。
S92:消息中转服务器向未读消息存储服务器发送第二新消息。可以理解,当消息中转服务器与未读消息存储服务器为同一服务器时,消息中转服务器存储该第二新消息。
S93:消息中转服务器向消息下发服务器发送第二消息更新提醒。可以理解,S92与S93还可以是同时进行的,也可以是先执行S93再执行S92。
S94:消息下发服务器获取第二当前消息发送模式。在本发明实施例中,假设第二当前消息发送模式为内容发送模式。
S95:消息下发服务器将当前消息发送模式更改为中间状态。
S96:消息下发服务器向未读消息存储服务器发送未读消息获取请求。
S97:未读消息存储服务器将第二新消息发送给消息下发服务器。
S98:消息下发服务器向目标终端发送第二新消息。
S99:当接收到第二新消息时,目标终端向响应转发服务器发送第二新消息已接收的响应数据包。可以理解,目标终端也可以直接将第二新消息已接收的响应数据包发送给消息下发服务器。
S910:响应转发服务器将第二新消息已接收的响应数据包转发给消息下发服务器。
S911:消息下发服务器将当前消息发送模式更改为内容发送模式。因此当接收到第一消息更新提醒时,获取到的第一当前消息发送模式为内容发送模式,消息下发服务器将第一新消息发送到目标终端中。
可以理解,当第二新消息是存储在消息下发服务器时,上述的步骤S96和S97可以替换为:从消息下发服务器本地存储空间中获取第二新消息。
图10示出了一些实施例中所提供的消息发送方法的时序图,包括以下步骤:
S101:消息中转服务器获取第二新消息。第二新消息可以是其他服务器发送到消息中转服务器的,也可以是由发送第二新消息的发送终端发送到消息中转服务器的。
S102:消息中转服务器向未读消息存储服务器发送第二新消息。可以理解,当消息中转服务器与未读消息存储服务器为同一服务器时,消息中转服务器存储该第二新消息。
S103:消息中转服务器向消息下发服务器发送第二消息更新提醒。可以理解,S102与S103还可以是同时进行的,也可以是先执行S103再执行S102。
S104:消息下发服务器获取第二当前消息发送模式。在本发明实施例中,假设第二当前消息发送模式为通知发送模式。
S105:消息下发服务器向目标终端发送第二新消息拉取通知。
S106:目标终端向拉取服务器发送拉取请求,拉取请求中携带第二拉取标识。
S107:拉取服务器向消息下发服务器发送第二拉取标识。
S108:消息下发服务器将第二拉取标识与历史标识进行对比。
S109:当对比不一致时,消息下发服务器将当前消息发送模式更改为内容发送模式。因此当接收到第一消息更新提醒时,获取到的第一当前消息发送模式为内容发送模式,消息下发服务器将第一新消息发送到目标终端中。
S1010:拉取服务器转发消息拉取请求到未读消息存储服务器。可以理解,S107与S1010还可以是同时进行的,也可以是先执行S1010再执行S107。
S1011:未读消息存储服务器将第二新消息发送到拉取服务器中。
S1012:拉取服务器将第二新消息发送到目标终端。
以下以一个具体的实施例对本发明实施例提供的消息发送方法进行说明。
1.用户B向用户A发送即时通信消息“abc”。
2、消息中转服务器接收到即时通信消息“abc”,将即时通信消息“abc”存储到未读消息服务器中,并向消息下发服务器发送第二消息更新提醒。
3、消息下发服务器查找目标用户标识A对应的当前消息发送模式,假设为内容发送模式。
4、消息下发服务器将当前消息发送模式的状态更改为中间状态,并向目标用户标识A登录的目标终端发送即时通信消息“abc”。
5、用户C向用户A发送即时通信消息“CDE”。
6、消息中转服务器接收到即时通信消息“CDE”,将即时通信消息“CDE”存储到未读消息服务器中,并向消息下发服务器发送第一消息更新提醒。
7、当接收到第一消息更新提醒时未接收到目标终端发送的即时通信消息“abc”已成功接收的响应时,进入步骤8。当接收到第一消息更新提醒之前接收到目标终端发送的即时通信消息“abc”已成功接收的响应时,进入步骤12。
8、消息下发服务器将当前消息发送模式的状态更改为通知发送模式,并向目标终端发送第一新消息拉取通知。
9、目标终端接收到第一新消息拉取通知后,向拉取服务器发送拉取请求,拉取请求中携带已接收消息的消息产生时间。
10、拉取服务器接收到消息拉取请求时,将已接收消息的消息产生时间发送到消息下发服务器中,并向未读消息存储服务器转发拉取请求。
11、未读消息存储服务器将即时通信消息“CDE”通过拉取服务器发送到目标终端中。
12、消息下发服务器获取即时通信消息“CDE”,并将即时通信消息“CDE”发送到目标终端中。
如图11所示,在一个实施例中,提供了一种消息发送系统,包括消息下发节点1102以及接收状态中转节点1104。
其中,消息下发节点1102,用于接收第一消息更新提醒,第一消息更新提醒携带目标用户标识。根据第一消息更新提醒获取目标用户标识对应的第一当前消息发送模式,第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式。根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息。
接收状态中转节点1104,用于转发目标用户标识对应的上一次发送的消息的接收状态相关联的数据。
具体地,消息下发节点可以是消息下发服务器,接收状态中转节点可以是图1的拉取节点或者响应转发节点,拉取节点可以对应于上述的拉取服务器,响应转发节点可以对应于上述的响应转发服务器。接收状态相关联的数据是指可以得到接收状态的数据。例如上述实施例中的拉取标识,如消息标识或者消息产生时间等,或者,还可以是消息接收成功响应数据包。
例如,在一个实施例中,消息下发节点1102,还用于接收第二消息更新提醒,第二消息更新提醒携带目标用户标识,第二消息更新提醒为上一次发送的消息对应的消息更新提醒。根据第二消息更新提醒获取目标用户标识对应的第二当前消息发送模式。根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据,以使得目标终端根据第二消息数据获取对应的第二新消息,第二新消息为上一次发送的消息。当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式。
在一个实施例中,消息下发节点1102,还用于当第二当前消息发送模式为内容发送模式时,获取第二消息更新提醒对应的第二新消息。向目标终端发送第二新消息。将目标用户标识对应的当前消息发送模式设置为通知发送模式。
接收状态中转节点1104,还用于接收目标终端返回的第二新消息对应的消息接收成功响应,将消息接收成功响应转发给消息下发节点1102。
消息下发节点1102,还用于当接收到接收状态中转节点1104转发的目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
具体地,接收状态中转节点可以是上述的应答转发节点。当目标终端接收到第二新消息时,返回第二新消息对应的消息接收成功响应,消息接收成功响应中携带第二新消息的标识,应答转发节点1104将消息接收成功响应转发给消息下发节点1102,消息下发节点1102提取到第二新消息的标识,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,消息下发节点1102,还用于当未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为中间状态。当接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式。当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,保持当前消息发送模式为通知发送模式。
在一个实施例中,消息下发节点1102,还用于当第二当前消息发送模式为通知发送模式时,向目标终端发送第二消息更新提醒对应的第二新消息拉取通知,其中,第二新消息拉取通知用于触发目标终端拉取第二新消息。
接收状态中转节点1104为拉取节点,拉取节点用于接收目标终端根据第二新消息拉取通知发送的拉取请求,根据拉取请求拉取第二新消息,并向消息下发节点发送进行第二新消息拉取时对应的第二拉取标识。消息下发节点1102还用于:获取拉取节点发送的第二拉取标识。将第二拉取标识与目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为。当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
如图12所示,在一个实施例中,提供了一种消息发送装置,该消息发送装置可以集成于上述的消息下发服务器中,具体可以包括第一提醒接收模块1202、第一当前模式获取模块1204以及第一消息数据发送模块1206。
第一提醒接收模块1202,用于接收第一消息更新提醒,第一消息更新提醒携带目标用户标识。
第一当前模式获取模块1204,用于根据第一消息更新提醒获取目标用户标识对应的第一当前消息发送模式,第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式。
第一消息数据发送模块1206,用于根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息。
在其中一个实施例中,第一消息数据发送模块1206,用于当第一当前消息发送模式为通知发送模式时,向目标终端发送第一消息更新提醒对应的第一新消息拉取通知,其中,第一新消息拉取通知用于触发目标终端拉取第一新消息。
在其中一个实施例中,第一消息数据发送模块1206,用于当第一当前消息发送模式为内容发送模式时,获取第一消息更新提醒对应的第一新消息。向目标终端发送第一新消息。
在其中一个实施例中,如图13所示,消息发送装置还包括:
第二提醒接收模块1302,用于接收第二消息更新提醒,第二消息更新提醒携带目标用户标识,第二消息更新提醒为上一次发送的消息对应的消息更新提醒。
第二当前模式获取模块1304,用于根据第二消息更新提醒获取目标用户标识对应的第二当前消息发送模式。
第二消息数据发送模块1306,用于根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据,以使得目标终端根据第二消息数据获取对应的第二新消息,第二新消息为上一次发送的消息。
第一设置模块1308,用于当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式。
在其中一个实施例中,第二消息数据发送模块1306用于:当第二当前消息发送模式为内容发送模式时,获取第二消息更新提醒对应的第二新消息。向目标终端发送第二新消息。
第一设置模块1308,用于将目标用户标识对应的当前消息发送模式设置为通知发送模式。当接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在其中一个实施例中,消息发送装置还包括第二设置模块,用于当未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为中间状态。
第一设置模块,用于当接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式;当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
消息发送装置还包括保持模块,用于在当前消息发送模式为通知发送模式下接收到目标终端返回的第二新消息对应的消息接收成功响应时,保持当前消息发送模式为通知发送模式。
在其中一个实施例中,第二消息数据发送模块,还用于:当第二当前消息发送模式为通知发送模式时,向目标终端发送第二消息更新提醒对应的第二新消息拉取通知,其中,第二新消息拉取通知用于触发目标终端拉取第二新消息。
如图14所示,第一设置模块1308还包括:
拉取标识获取单元1308A,用于获取目标终端根据第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识。
对比单元1308B,用于将第二拉取标识与目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为。
第一设置单元1308C,用于当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在其中一个实施例中,第二拉取标识以及历史拉取标识为消息产生时间,第一设置单元1308C,还用于当第二拉取标识对应的消息产生时间晚于历史拉取标识对应的消息产生时间时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在其中一个实施例中,消息发送装置还包括:
拉取通知发送模块,用于当第一消息更新提醒为本端接收的目标用户标识对应的第一个消息更新提醒时,向目标终端发送第三新消息拉取通知,其中,第三新消息拉取通知用于触发目标终端拉取第一新消息。
在其中一个实施例中,如图15所示,消息发送装置还包括:
联系人标识获取模块1502,用于当第一当前消息发送模式为内容发送模式时,获取与目标用户标识对应的目标联系人标识,目标联系人包括与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前。
历史联系消息获取模块1504,用于获取目标联系人标识与目标用户标识之间的历史联系消息。
历史联系消息发送模块1506,用于将历史联系消息发送到目标终端中。
图16示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的消息下发服务器。如图16所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口以及输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现消息发送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行消息发送方法。也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的消息发送装置可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该消息发送装置的各个程序模块,比如,图12所示的第一提醒接收模块1202、第一当前模式获取模块1204和第一当前模式获取模块1206。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的消息发送方法中的步骤。
例如,图16所示的计算机设备可以通过如图12所示的消息发送装置中的第一提醒接收模块1202接收第一消息更新提醒,第一消息更新提醒携带目标用户标识。通过第一当前模式获取模块1204根据第一消息更新提醒获取目标用户标识对应的第一当前消息发送模式,第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式。通过第一消息数据发送模块1206根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收第一消息更新提醒,第一消息更新提醒携带目标用户标识;根据第一消息更新提醒获取目标用户标识对应的第一当前消息发送模式,第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式;根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息。
在一个实施例中,处理器执行的根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据包括:当第一当前消息发送模式为通知发送模式时,向目标终端发送第一消息更新提醒对应的第一新消息拉取通知,其中,第一新消息拉取通知用于触发目标终端拉取第一新消息。
在一个实施例中,处理器执行的根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据包括:当第一当前消息发送模式为内容发送模式时,获取第一消息更新提醒对应的第一新消息;向目标终端发送第一新消息。
在一个实施例中,计算机程序还使得处理器执行如下步骤:接收第二消息更新提醒,第二消息更新提醒携带目标用户标识,第二消息更新提醒为上一次发送的消息对应的消息更新提醒;根据第二消息更新提醒获取目标用户标识对应的第二当前消息发送模式;根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据,以使得目标终端根据第二消息数据获取对应的第二新消息,第二新消息为上一次发送的消息;当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式。
在一个实施例中,处理器执行的根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据包括:当第二当前消息发送模式为内容发送模式时,获取第二消息更新提醒对应的第二新消息;向目标终端发送第二新消息;当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式包括:将目标用户标识对应的当前消息发送模式设置为通知发送模式;当接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,处理器执行的当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式之前还包括:当未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为中间状态;处理器执行的当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式包括:当接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式;当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式;计算机程序还使得处理器执行如下步骤:当在当前消息发送模式为通知发送模式下接收到目标终端返回的第二新消息对应的消息接收成功响应时,保持当前消息发送模式为通知发送模式。
在一个实施例中,处理器执行的根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据包括:当第二当前消息发送模式为通知发送模式时,向目标终端发送第二消息更新提醒对应的第二新消息拉取通知,其中,第二新消息拉取通知用于触发目标终端拉取第二新消息;处理器执行的当确定目标终端根据第二消息数据获取到对应的上一次发送的消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式包括:获取目标终端根据第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识;将第二拉取标识与目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为;当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,第二拉取标识以及历史拉取标识为消息产生时间,处理器执行的当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式包括:当第二拉取标识对应的消息产生时间晚于历史拉取标识对应的消息产生时间时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当第一消息更新提醒为本端接收的目标用户标识对应的第一个消息更新提醒时,向目标终端发送第三新消息拉取通知,其中,第三新消息拉取通知用于触发目标终端拉取第一新消息。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当第一当前消息发送模式为内容发送模式时,获取与目标用户标识对应的目标联系人标识,目标联系人包括与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前;获取目标联系人标识与目标用户标识之间的历史联系消息;将历史联系消息发送到目标终端中。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:接收第一消息更新提醒,第一消息更新提醒携带目标用户标识;根据第一消息更新提醒获取目标用户标识对应的第一当前消息发送模式,第一当前消息发送模式根据上一次发送的消息在目标用户标识对应的目标终端的接收状态确定,当接收状态为已接收时,第一当前消息发送模式为内容发送模式,否则,第一当前消息发送模式为通知发送模式;根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据,以使得目标终端根据第一消息数据获取对应的第一新消息。
在一个实施例中,处理器执行的根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据包括:当第一当前消息发送模式为通知发送模式时,向目标终端发送第一消息更新提醒对应的第一新消息拉取通知,其中,第一新消息拉取通知用于触发目标终端拉取第一新消息。
在一个实施例中,处理器执行的根据第一当前消息发送模式向目标终端发送与第一消息更新提醒对应的第一消息数据包括:当第一当前消息发送模式为内容发送模式时,获取第一消息更新提醒对应的第一新消息;向目标终端发送第一新消息。
在一个实施例中,计算机程序还使得处理器执行如下步骤:接收第二消息更新提醒,第二消息更新提醒携带目标用户标识,第二消息更新提醒为上一次发送的消息对应的消息更新提醒;根据第二消息更新提醒获取目标用户标识对应的第二当前消息发送模式;根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据,以使得目标终端根据第二消息数据获取对应的第二新消息,第二新消息为上一次发送的消息;当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式。
在一个实施例中,处理器执行的根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据包括:当第二当前消息发送模式为内容发送模式时,获取第二消息更新提醒对应的第二新消息;向目标终端发送第二新消息;当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式包括:将目标用户标识对应的当前消息发送模式设置为通知发送模式;当接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,处理器执行的当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式之前还包括:当未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为中间状态;处理器执行的当确定目标终端获取到第二新消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,目标用户标识对应的当前消息发送模式为通知发送模式包括:当接收到第一消息更新提醒时未接收到消息接收成功响应和/或当预设时长内未接收到消息接收成功响应时,将目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式;当在中间状态下接收到目标终端返回的第二新消息对应的消息接收成功响应时,将目标用户标识对应的当前消息发送模式设置为内容发送模式;计算机程序还使得处理器执行如下步骤:当在当前消息发送模式为通知发送模式下接收到目标终端返回的第二新消息对应的消息接收成功响应时,保持当前消息发送模式为通知发送模式。
在一个实施例中,处理器执行的根据第二当前消息发送模式向目标终端发送与第二消息更新提醒对应的第二消息数据包括:当第二当前消息发送模式为通知发送模式时,向目标终端发送第二消息更新提醒对应的第二新消息拉取通知,其中,第二新消息拉取通知用于触发目标终端拉取第二新消息;处理器执行的当确定目标终端根据第二消息数据获取到对应的上一次发送的消息时,将目标用户标识对应的当前消息发送模式设置为内容发送模式包括:获取目标终端根据第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识;将第二拉取标识与目标用户标识对应的历史拉取标识进行对比,历史拉取标识为历史拉取行为对应的拉取标识,历史拉取行为是第二拉取标识对应的拉取行为的前一次拉取行为;当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,第二拉取标识以及历史拉取标识为消息产生时间,处理器执行的当对比不一致时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式包括:当第二拉取标识对应的消息产生时间晚于历史拉取标识对应的消息产生时间时,确定目标终端根据第二消息数据获取到对应的第二新消息,将目标用户标识对应的当前消息发送模式设置为内容发送模式。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当第一消息更新提醒为本端接收的目标用户标识对应的第一个消息更新提醒时,向目标终端发送第三新消息拉取通知,其中,第三新消息拉取通知用于触发目标终端拉取第一新消息。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当第一当前消息发送模式为内容发送模式时,获取与目标用户标识对应的目标联系人标识,目标联系人包括与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前;获取目标联系人标识与目标用户标识之间的历史联系消息;将历史联系消息发送到目标终端中。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (25)
1.一种消息发送方法,所述方法包括:
接收第一消息更新提醒,所述第一消息更新提醒携带目标用户标识;
根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式;
根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息,其中,所述通知发送模式为发送拉取新消息的通知的模式,所述内容发送模式为发送新消息的模式。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据包括:
当所述第一当前消息发送模式为通知发送模式时,向所述目标终端发送所述第一消息更新提醒对应的第一新消息拉取通知,其中,所述第一新消息拉取通知用于触发所述目标终端拉取所述第一新消息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据包括:
当所述第一当前消息发送模式为内容发送模式时,获取所述第一消息更新提醒对应的所述第一新消息;
向所述目标终端发送所述第一新消息。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
接收第二消息更新提醒,所述第二消息更新提醒携带所述目标用户标识,所述第二消息更新提醒为所述上一次发送的消息对应的消息更新提醒;
根据所述第二消息更新提醒获取所述目标用户标识对应的第二当前消息发送模式;
根据所述第二当前消息发送模式向所述目标终端发送与所述第二消息更新提醒对应的第二消息数据,以使得所述目标终端根据所述第二消息数据获取对应的第二新消息,所述第二新消息为所述上一次发送的消息;
当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二当前消息发送模式向所述目标终端发送与所述第二消息更新提醒对应的第二消息数据包括:
当所述第二当前消息发送模式为内容发送模式时,获取所述第二消息更新提醒对应的所述第二新消息;
向所述目标终端发送所述第二新消息;
所述当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式包括:
将所述目标用户标识对应的当前消息发送模式设置为通知发送模式;
当接收到所述目标终端返回的所述第二新消息对应的消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
6.根据权利要求5所述的方法,其特征在于,所述当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式之前还包括:
当未接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为中间状态;
所述当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式包括:
当接收到所述第一消息更新提醒时未接收到所述消息接收成功响应和/或当预设时长内未接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式;
当在中间状态下接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式;
所述方法还包括:
当在当前消息发送模式为通知发送模式下接收到所述目标终端返回的所述消息接收成功响应时,保持当前消息发送模式为通知发送模式。
7.根据权利要求4所述的方法,其特征在于,所述根据所述第二当前消息发送模式向所述目标终端发送与所述第二消息更新提醒对应的第二消息数据包括:
当所述第二当前消息发送模式为通知发送模式时,向所述目标终端发送所述第二消息更新提醒对应的第二新消息拉取通知,其中,所述第二新消息拉取通知用于触发所述目标终端拉取所述第二新消息;
所述当确定所述目标终端根据所述第二消息数据获取到对应的所述上一次发送的消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式包括:
获取所述目标终端根据所述第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识;
将所述第二拉取标识与所述目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为;
当对比不一致时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
8.根据权利要求7所述的方法,其特征在于,所述第二拉取标识以及所述历史拉取标识为消息产生时间,所述当对比不一致时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式包括:
当所述第二拉取标识对应的消息产生时间晚于所述历史拉取标识对应的消息产生时间时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一消息更新提醒为本端接收的所述目标用户标识对应的第一个消息更新提醒时,向所述目标终端发送第三新消息拉取通知,其中,所述第三新消息拉取通知用于触发所述目标终端拉取所述第一新消息。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一当前消息发送模式为内容发送模式时,获取与所述目标用户标识对应的目标联系人标识,目标联系人包括:与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前;
获取所述目标联系人标识与所述目标用户标识之间的历史联系消息;
将所述历史联系消息发送到所述目标终端中。
11.一种消息发送系统,所述系统包括消息下发节点,用于:
接收第一消息更新提醒,所述第一消息更新提醒携带目标用户标识;
根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式,其中,所述通知发送模式为发送拉取新消息的通知的模式,所述内容发送模式为发送新消息的模式;
根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息;
所述系统还包括接收状态中转节点,用于转发所述目标用户标识对应的上一次发送的消息的接收状态相关联的数据。
12.根据权利要求11所述的系统,其特征在于,所述消息下发节点还用于:
接收第二消息更新提醒,所述第二消息更新提醒携带所述目标用户标识,所述第二消息更新提醒为所述上一次发送的消息对应的消息更新提醒;
根据所述第二消息更新提醒获取所述目标用户标识对应的第二当前消息发送模式;
根据所述第二当前消息发送模式向所述目标终端发送与所述第二消息更新提醒对应的第二消息数据,以使得所述目标终端根据所述第二消息数据获取对应的第二新消息,所述第二新消息为所述上一次发送的消息;
当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式。
13.根据权利要求12所述的系统,其特征在于,所述消息下发节点用于:
当所述第二当前消息发送模式为通知发送模式时,向所述目标终端发送所述第二消息更新提醒对应的第二新消息拉取通知,其中,所述第二新消息拉取通知用于触发所述目标终端拉取所述第二新消息;
所述接收状态中转节点为拉取节点,所述拉取节点用于接收所述目标终端根据所述第二新消息拉取通知发送的拉取请求,根据所述拉取请求拉取所述第二新消息,并向所述消息下发节点发送进行第二新消息拉取时对应的第二拉取标识;
所述消息下发节点还用于:
获取所述拉取节点发送的所述第二拉取标识;
将所述第二拉取标识与所述目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为;
当对比不一致时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
14.一种消息发送装置,所述装置包括:
第一提醒接收模块,用于接收第一消息更新提醒,所述第一消息更新提醒携带目标用户标识;
第一当前模式获取模块,用于根据所述第一消息更新提醒获取所述目标用户标识对应的第一当前消息发送模式,所述第一当前消息发送模式根据上一次发送的消息在所述目标用户标识对应的目标终端的接收状态确定,当所述接收状态为已接收时,所述第一当前消息发送模式为内容发送模式,否则,所述第一当前消息发送模式为通知发送模式,其中,所述通知发送模式为发送拉取新消息的通知的模式,所述内容发送模式为发送新消息的模式;
第一消息数据发送模块,用于根据所述第一当前消息发送模式向所述目标终端发送与所述第一消息更新提醒对应的第一消息数据,以使得所述目标终端根据所述第一消息数据获取对应的第一新消息。
15.根据权利要求14所述的装置,其特征在于,所述第一消息数据发送模块用于:
当所述第一当前消息发送模式为通知发送模式时,向所述目标终端发送所述第一消息更新提醒对应的第一新消息拉取通知,其中,所述第一新消息拉取通知用于触发所述目标终端拉取所述第一新消息。
16.根据权利要求14所述的装置,其特征在于,所述第一消息数据发送模块用于:
当所述第一当前消息发送模式为内容发送模式时,获取所述第一消息更新提醒对应的所述第一新消息;
向所述目标终端发送所述第一新消息。
17.根据权利要求14~16任一项所述的装置,其特征在于,所述装置还包括:
第二提醒接收模块,用于接收第二消息更新提醒,所述第二消息更新提醒携带所述目标用户标识,所述第二消息更新提醒为所述上一次发送的消息对应的消息更新提醒;
第二当前模式获取模块,用于根据所述第二消息更新提醒获取所述目标用户标识对应的第二当前消息发送模式;
第二消息数据发送模块,用于根据所述第二当前消息发送模式向所述目标终端发送与所述第二消息更新提醒对应的第二消息数据,以使得所述目标终端根据所述第二消息数据获取对应的第二新消息,所述第二新消息为所述上一次发送的消息;
第一设置模块,用于当确定所述目标终端获取到所述第二新消息时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式,否则,所述目标用户标识对应的当前消息发送模式为通知发送模式。
18.根据权利要求17所述的装置,其特征在于,所述第二消息数据发送模块用于:
当所述第二当前消息发送模式为内容发送模式时,获取所述第二消息更新提醒对应的所述第二新消息;
向所述目标终端发送所述第二新消息;
所述第一设置模块用于:
将所述目标用户标识对应的当前消息发送模式设置为通知发送模式;
当接收到所述目标终端返回的所述第二新消息对应的消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括第二设置模块,用于:
当未接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为中间状态;
所述第一设置模块还用于:
当接收到所述第一消息更新提醒时未接收到所述消息接收成功响应和/或当预设时长内未接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式由中间状态更新为通知发送模式;
当在中间状态下接收到所述消息接收成功响应时,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式;
所述装置还包括保持模块,用于:
当在当前消息发送模式为通知发送模式下接收到所述目标终端返回的所述消息接收成功响应时,保持当前消息发送模式为通知发送模式。
20.根据权利要求17所述的装置,其特征在于,所述第二消息数据发送模块还用于:
当所述第二当前消息发送模式为通知发送模式时,向所述目标终端发送所述第二消息更新提醒对应的第二新消息拉取通知,其中,所述第二新消息拉取通知用于触发所述目标终端拉取所述第二新消息;
所述第一设置模块还包括:
拉取标识获取单元,用于获取所述目标终端根据所述第二新消息拉取通知进行第二新消息拉取时对应的第二拉取标识;
对比单元,用于将所述第二拉取标识与所述目标用户标识对应的历史拉取标识进行对比,所述历史拉取标识为历史拉取行为对应的拉取标识,所述历史拉取行为是所述第二拉取标识对应的拉取行为的前一次拉取行为;
第一设置单元,用于当对比不一致时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
21.根据权利要求20所述的装置,其特征在于,所述第二拉取标识以及所述历史拉取标识为消息产生时间,所述第一设置单元用于:
当所述第二拉取标识对应的消息产生时间晚于所述历史拉取标识对应的消息产生时间时,确定所述目标终端根据所述第二消息数据获取到对应的所述第二新消息,将所述目标用户标识对应的当前消息发送模式设置为内容发送模式。
22.根据权利要求14所述的装置,其特征在于,所述装置还包括:
拉取通知发送模块,用于当所述第一消息更新提醒为本端接收的所述目标用户标识对应的第一个消息更新提醒时,向所述目标终端发送第三新消息拉取通知,其中,所述第三新消息拉取通知用于触发所述目标终端拉取所述第一新消息。
23.根据权利要求14所述的装置,其特征在于,所述装置还包括:
联系人标识获取模块,用于当所述第一当前消息发送模式为内容发送模式时,获取与所述目标用户标识对应的目标联系人标识,目标联系人包括:与目标用户的联系时间与当前时间的间隔小于预设时长的联系人或者与目标用户的联系时间在预设排序之前的联系人中的至少一种,其中,联系时间在后的排序在前;
历史联系消息获取模块,用于获取所述目标联系人标识与所述目标用户标识之间的历史联系消息;
历史联系消息发送模块,用于将所述历史联系消息发送到所述目标终端中。
24.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至10中任一项权利要求所述消息发送方法的步骤。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项权利要求所述消息发送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810408521.9A CN110445705B (zh) | 2018-05-02 | 2018-05-02 | 消息发送方法、装置、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810408521.9A CN110445705B (zh) | 2018-05-02 | 2018-05-02 | 消息发送方法、装置、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110445705A CN110445705A (zh) | 2019-11-12 |
CN110445705B true CN110445705B (zh) | 2021-08-03 |
Family
ID=68427268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810408521.9A Active CN110445705B (zh) | 2018-05-02 | 2018-05-02 | 消息发送方法、装置、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110445705B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119167A (en) * | 1997-07-11 | 2000-09-12 | Phone.Com, Inc. | Pushing and pulling data in networks |
CN101192940A (zh) * | 2006-11-28 | 2008-06-04 | 中兴通讯股份有限公司 | 移动游戏服务质量保障方法 |
CN101360073A (zh) * | 2008-09-27 | 2009-02-04 | 腾讯科技(深圳)有限公司 | 一种电子邮件到达的通知方法、系统及装置 |
CN103326929A (zh) * | 2013-06-24 | 2013-09-25 | 北京小米科技有限责任公司 | 一种消息传输方法和装置 |
CN104125141A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 一种通知消息的推送方法、服务器、用户终端及系统 |
CN104967551A (zh) * | 2014-08-06 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 传图交互的方法和相关设备及通信系统 |
CN105100062A (zh) * | 2015-06-25 | 2015-11-25 | 走遍世界(北京)信息技术有限公司 | 信息推送方法、装置及系统 |
CN105553818A (zh) * | 2015-12-10 | 2016-05-04 | 河北远东通信系统工程有限公司 | 一种基于xmpp协议实现电子公告的系统和方法 |
CN105827706A (zh) * | 2016-03-24 | 2016-08-03 | 努比亚技术有限公司 | 消息推送装置及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166832A (zh) * | 2011-12-15 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种发送消息的方法和服务器 |
CN106961487B (zh) * | 2017-04-19 | 2020-10-27 | 南京大学 | 虚拟机热迁移过程中的数据流自适应调整系统及调整方法 |
CN107147562B (zh) * | 2017-04-27 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 消息处理方法和装置 |
-
2018
- 2018-05-02 CN CN201810408521.9A patent/CN110445705B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119167A (en) * | 1997-07-11 | 2000-09-12 | Phone.Com, Inc. | Pushing and pulling data in networks |
CN101192940A (zh) * | 2006-11-28 | 2008-06-04 | 中兴通讯股份有限公司 | 移动游戏服务质量保障方法 |
CN101360073A (zh) * | 2008-09-27 | 2009-02-04 | 腾讯科技(深圳)有限公司 | 一种电子邮件到达的通知方法、系统及装置 |
CN104125141A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 一种通知消息的推送方法、服务器、用户终端及系统 |
CN103326929A (zh) * | 2013-06-24 | 2013-09-25 | 北京小米科技有限责任公司 | 一种消息传输方法和装置 |
CN104967551A (zh) * | 2014-08-06 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 传图交互的方法和相关设备及通信系统 |
CN105100062A (zh) * | 2015-06-25 | 2015-11-25 | 走遍世界(北京)信息技术有限公司 | 信息推送方法、装置及系统 |
CN105553818A (zh) * | 2015-12-10 | 2016-05-04 | 河北远东通信系统工程有限公司 | 一种基于xmpp协议实现电子公告的系统和方法 |
CN105827706A (zh) * | 2016-03-24 | 2016-08-03 | 努比亚技术有限公司 | 消息推送装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110445705A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729005B (zh) | 消息处理方法、装置、计算机设备和存储介质 | |
CN108449405B (zh) | 事件提醒方法、装置、计算机设备和存储介质 | |
CN110719318B (zh) | 消息处理方法和系统 | |
CN109933439B (zh) | 消息传输方法、装置、计算机设备和存储介质 | |
CN109359994B (zh) | 基于区块链的业务处理方法、装置及系统 | |
CN112367149B (zh) | 消息获取方法、装置、设备及存储介质 | |
CA3009851C (en) | Managing multiple profiles for a single account in an asynchronous messaging system | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN111182065A (zh) | 基于mqtt协议的消息处理方法、装置和计算机设备 | |
CN104937906A (zh) | 用于经由虚拟通信空间在具有通信终端的多个用户之间通信的方法 | |
CN111159233A (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN114338063B (zh) | 消息队列系统、业务处理方法及计算机可读存储介质 | |
CN108880972A (zh) | 一种信息处理方法、服务器及终端 | |
US10798047B2 (en) | Systems, devices and methods for text message communication | |
CN111130986A (zh) | 消息发送方法、装置、设备及存储介质 | |
US20160294833A1 (en) | Social communication system and method thereof | |
CN110445705B (zh) | 消息发送方法、装置、系统、计算机设备和存储介质 | |
CN110620672B (zh) | 多人会话数据处理方法、装置、计算机设备和存储介质 | |
US11627463B2 (en) | Authentication via unstructured supplementary service data | |
CN107203915B (zh) | 数据存储方法及装置 | |
CN110944037B (zh) | 客户端缓存更改配置的方法、计算机设备和存储介质 | |
CN114116889A (zh) | 物料数据的同步方法、装置、计算机设备和存储介质 | |
CN114697384B (zh) | 服务车辆消息的推送方法及装置、电子设备、存储介质 | |
JP6159782B2 (ja) | 情報処理装置の制御方法、情報処理装置および制御プログラム並びに端末の制御方法および端末制御プログラム | |
CN113904886A (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 |