CN110247739A - 一种消息传输方法及装置 - Google Patents

一种消息传输方法及装置 Download PDF

Info

Publication number
CN110247739A
CN110247739A CN201810192318.2A CN201810192318A CN110247739A CN 110247739 A CN110247739 A CN 110247739A CN 201810192318 A CN201810192318 A CN 201810192318A CN 110247739 A CN110247739 A CN 110247739A
Authority
CN
China
Prior art keywords
message
arrival
state
purpose equipment
equipment
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
Application number
CN201810192318.2A
Other languages
English (en)
Other versions
CN110247739B (zh
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.)
Zhuomi Private Ltd
Original Assignee
Hong Kong LiveMe Corp 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 Hong Kong LiveMe Corp ltd filed Critical Hong Kong LiveMe Corp ltd
Priority to CN201810192318.2A priority Critical patent/CN110247739B/zh
Publication of CN110247739A publication Critical patent/CN110247739A/zh
Application granted granted Critical
Publication of CN110247739B publication Critical patent/CN110247739B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

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为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种消息传输方法,能够保证源设备、中间设备和目的设备之间的消息形成一个完整的发送和反馈通路,环环相扣以便使源设备发送的消息一定到达目的设备,从而有效提高了通信的可靠性。
需要说明的是,本发明的实施例提供的消息传输方法,主要基于源设备、中间设备和目的设备以及设置在它们上的各种应用,其中,源设备和目的设备可以是用户终端,中间设备可以是在源设备和目的设备之间的各种服务器或其他设备。可选的,源设备、中间设备以及目的设备的具体数量可以为一个也可以为多个,本发明的实施例对此不做限定。由于中间设备在整个消息传递过程中起着承上启下的作用,本发明的实施例主要以中间设备为基础进行说明,源设备和目的设备的具体操作与中间设备执行的操作相对应即可。
如图1所示,本发明的实施例提供的消息传输方法可以包括:
S11,接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存;
其中,源设备是消息的发出者,目的设备是消息的接收者,中间设备是消息的转发者。一条消息源自哪个源设备以及向发送到哪个目的设备,可以在消息中携带。中间设备接收到源设备发送的消息后,可以在第一时间对该消息的消息实体和该消息相对于目的设备的到达状态进行保存。其中,对消息实体进行保存就是保存消息本身,对消息的到达状态进行保存,就是记录该消息是否已经到达目的设备。
S12,向所述源设备发送第一接收回执并将接收到的所述消息向所述目的设备推送;
本步骤中,保存消息实体和消息相对于目的设备的到达状态之后,就可以对发送消息的源设备进行回复,即向源设备发送第一接收回执,以便让源设备知晓其发送的消息已经到达中间设备,源设备可以不用再次发送该消息。具体实现时,为了避免消息保存与第一接收回执的发送之间出现配合错位,导致消息保存任务失败的情况下仍然发送出了第一接收回执,优选的,在本发明的一个实施例中,保存消息实体和消息到达状态的操作以及向源设备发送第一接收回执的操作由同一个任务执行,即,只有保存成功后才发送第一接收回执。
可选的,如果中间设备没有向源设备发送第一接收回执,或者该第一接收回执虽然发送出去了,但由于种种原因并没有到达源设备,则源设备会认为中间设备没有接收到该消息,经过预设时间之后源设备可以向中间设备重新发送该消息。
保存消息实体和消息相对于目的设备的到达状态之后,还可以将接收并保存好的消息向目的设备推送。可选的,将消息向目的设备推送与将第一接收回执向源设备发送之间可以没有严格的执行顺序限制,既可以先向源设备发送第一接收回执、后向目的设备推送消息,也可以先向目的设备推送消息后再向源设备发送第一接收回执,还可以二者同时进行,本发明的实施例对此不做限定。
S13,当接收到所述目的设备反馈的第二接收回执时,对所述消息的所述到达状态进行更新;
在步骤S12中向目的设备推送了消息后,中间设备就可以等待该目的设备反馈的接收回执,即第二接收回执,当接收到该第二接收回执时,就表示目的设备已经收到了该消息。中间设备为了准确获知和记录目的设备是否接收到了对应的消息,可以在接收到对应的第二接收回执后,在保存的到达状态上进行状态更新。例如,如果原来某消息A的到达状态为未达到,五分钟后接收到消息A对应的第二接收回执,则可以对消息A的到达状态进行更新,将到达状态由未到达修改为已到达。
S14,如果所述到达状态指示所述目的设备在预设时间阈值内没有反馈所述第二接收回执,根据保存的所述消息实体向所述目的设备重新推送所述消息,直至所述到达状态指示所述目的设备反馈所述第二接收回执为止。
本步骤中,如果关于某消息B的到达状态迟迟不见更新,在预设的时间阈值内该到达状态都指示目的设备没有反馈第二接收回执,也就意味着目的设备尚未收到该消息B,则中间设备可以根据之前保存的消息实体将该消息重新向目的设备推送,直至所述到达状态指示所述目的设备接收到所述消息并反馈第二接收回执为止。
本发明的实施例提供的消息传输方法,能够接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存后,向源设备发送第一接收回执以使源设备获知其消息已经被中间设备接收到,并将接收到的消息向目的设备推送,然后根据目的设备反馈的第二接收回执来确认目的设备是否接收到该消息,对源设备和目的设备均以回执状态来确认消息的传递成功与否,如果超过预设时间阈值都没有收到目的设备的第二接收回执,则根据保存的消息实体将该消息重新向目的设备推送,直至目的设备接收到该消息为止。这样,即可保证源设备、中间设备和目的设备之间的消息形成一个完整的发送和反馈通路,通过第一接收回执和第二接收回执确保消息能够从源设备发送到中间设备,再从中间设备发送到目的设备,即使超过预设时间阈值后没有收到第二接收回执,也可以根据中间设备保存的消息实体对目的设备重新发送该消息,环环相扣以便使源设备发送的消息一定到达目的设备,从而有效提高了通信的可靠性。
具体的,在步骤S11中,中间设备保存的消息实体可以包括消息标识以及该消息标识对应的消息内容。其中,消息标识可以是一种能够唯一确定该消息的符号,消息内容可以是消息本身要传达的信息或其对应的二进制序列。例如,在本发明的一个实施例中,保存的消息标识为“MSG101325”,对应的消息内容为“今天下班一起吃饭吗?”。
步骤S11中,中间设备保存的到达状态具体可以包括消息标识和对应的到达标识;其中,当所述到达标识为第一状态时,指示着所述消息标识对应的消息已经到达所述目的设备;当所述到达标识为第二状态时,指示着所述消息标识对应的消息尚未到达所述目的设备。可选的,在本发明的其他实施例中,到达状态也可以仅包括消息标识,即,中间设备仅仅保存尚未返回第二接收回执的消息所对应的消息标识,例如可以保存一个标识列表,当中间设备接收到其中某个消息对应的第二接收回执后,可以在该标识列表中删除对应的消息标识。
可选的,在本发明的一个实施例中,到达状态还可以包括消息到达中间设备的时间,以标识所述消息的先后顺序。例如,可以在消息到达中间设备时,由中间设备对该消息打上时间戳后,将该时间戳也保存在该消息相对于目的设备的到达状态中。
需要说明的是,在本发明的实施例中,消息一般是指基于应用和业务的消息,根据应用和业务的不同,消息种类也相应的不同。可选的,消息可以包括单聊消息、群聊消息或者直播间消息中的一种或多种。
其中,单聊消息即一对一的消息,比如用户A,向用户B发送一条消息,称之为单聊消息,单聊消息的必达,即是指用户A向用户B发送的消息,无论在何种网络环境下,应用服务必须将消息推送或者拉取至用户B方,保证消息的可靠投递。
群聊消息即多对多的群组消息,比如用户A、用户B同属于Group1组,那么这两个用户在此Group1组产生的消息为群组消息。群聊消息的必达,即是指用户A向Group1发送的消息,无论在何种网络环境下,应用服务必须将消息推送或者拉取至Group1下的所有用户端,保证此消息的可靠投递。
直播间消息,即在直播中发送的直播消息。
对于单聊消息,按照前述实施例中的任一种消息传输方法进行消息发送和接收即可。对于群聊消息或直播间消息,则还可以进行进一步处理。
具体而言,在消息的消息类型为群聊消息的情况下,步骤S11中保存的所述消息的到达状态可以为群聊中除源设备外的其他成员设备的群组到达状态。也就是说,虽然群聊成员有多个,除了发送消息的源设备外,存在多个接收消息的目的设备,但如果此时为每个成员设备都保存一份到达状态则会花费大量时间。为了保证时效性,在本发明的一个实施例中,中间设备在接收到源设备发送的消息时,可以对所有成员设备只保存一份群组到达状态,即可向源设备反馈第一接收回执并向目的设备推送该消息。
可选的,将接收到的所述消息向所述目的设备推送可以包括:将接收到的所述消息向群聊中除源设备外的其他成员设备推送并根据所述群组到达状态为每个所述成员设备分别建立单独的到达状态。也就是说,中间设备可以在将消息向每个成员设备推送的同时根据群组到达状态为每个成员设备建立专属于该成员设备的到达状态。例如,一个群聊中包括5个成员,成员C1发出消息“大家对年会有何建议?”则中间设备(例如服务器)接收到该消息后,保存该消息的消息实体以及一份群组到达状态后,对成员C1反馈第一接收回执,表示中间设备已经接收到该消息,然后将该消息分别向成员C2、C3、C4、C5推送。在进行消息推送的同时,可以根据群组到达状态分别为成员C2、C3、C4、C5建立单独的到达状态。
基于此,当接收到目的设备反馈的第二接收回执时,对消息的到达状态进行更新可以包括:每接收到一个所述成员设备反馈的第二接收回执,对该成员设备对应的所述单独的到达状态进行更新。例如,如果已经接收到成员C2、C5反馈的第二接收回执,而尚未收到成员C3、C4反馈的第二接收回执,则可以仅仅对成员C2、C5所对应的到达状态进行更新。如果在预设时间阈值内都没有收到成员C3、C4的第二接收回执,则中间设备可以根据保存的消息实体对成员C3、C4重新推送该消息,直至中间设备接收到来自C3、C4的第二接收回执为止。
可选的,当官中间设备接收到的消息的消息类型为直播间消息时,步骤S11中接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存具体可以包括:
接收源设备发送的消息;
根据所述消息携带的送达要求参数确定所述消息是否要求必达;
在确定所述消息要求必达的情况下,将所述消息进行类型转换,以将所述直播间消息类型转换为单聊消息类型;
将转换为单聊消息类型的所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存。
具体而言,直播间消息具有区别于单聊和群聊的业务需求。单聊、群聊需要在任何情况下,保证消息的不丢失,即消息必须到达或者延迟到达,而直播间消息不同。直播间消息中可以适当通过限流来丢弃一些不重要的消息,来保证服务的可用及体验的流畅。鉴于此,在本发明的一个实施例中,可以在直播间消息中携带送达要求参数,用于指示该消息是否要求必达。当中间设备接收到该消息时,可以根据该送达要求参数确定该消息是一定要送到目的设备,还是可以被丢弃的。对于需要必达的消息,中间设备可以将该消息转化为了单聊消息后按照单聊消息的传输方式进行处理,从而保证消息的必达。对于可以丢弃的消息,则按照直播间消息处理,相应的,该消息可能会被发送到目的设备,也可能被丢弃。
下面通过具体实施例对本发明实施例提供的消息传输方法进行详细说明。
如图2所示,本实施例中传输的消息为在user1和user2之间传输的单聊消息。参见图2,当User1向User2发送消息时,首先由User1发送消息sync至服务器(即中间设备),服务器将消息同步持久化,即同步保存。其中,持久化可以包括消息实体的持久化以及消息相对于目的设备的到达状态的持久化。
在消息实体的持久化中,可以保存消息标识(即消息ID)及消息内容(例如消息的二进制流),整个消息实体持久化操作所需要的操作时间复杂度为O(1)。在到达状态的持久化中,可以保存消息ID及该消息到达服务器的时间,整个到达状态的持久化所需要的操作时间复杂度为O(logn)。在持久化完成后,服务器返回第一接收回执ack1至User1,通知User1消息发送成功。
同时,服务器推送消息至User2,当User2完成消息接收后,返回第二接收回执ack2至服务器,即向服务器上报消息接收成功的状态,服务器根据上报的消息ID,将到达状态中的本条消息的到达状态删除,从而完成单聊消息的推送过程。
如图3所示,本实施例提供一种消息传输方法,其中传输的消息为群聊消息。参见图3,User3、User4同属于群组Group1,当User3向Group1发送消息时,首先由User3发送消息至服务器端,服务端将消息同步持久化。持久化包括,消息实体的持久化以及群聊消息Group1的群组到达状态的持久化。接着服务器一方面返回第一接收回执ack1至User3,通知User3消息发送成功,另一方面根据群组到达状态为群组中的其它成员保存单独的到达状态,每个成员的操作时间复杂度为O(Logn)。同时,服务器推送消息至User4,当User4完成消息接收后,向服务器返回第二接收回执ack2至服务器,以使服务器获知User4接收成功。服务器根据接收到的第二回执中的消息ID,将User4的消息到达状态中的该ID对应的消息标识删除,从而完成Group1中群聊消息的推送。
第二方面,本发明的实施例还提供一种消息传输装置,能够保证源设备、中间设备和目的设备之间的消息形成一个完整的发送和反馈通路,环环相扣以便使源设备发送的消息一定到达目的设备,从而有效提高了通信的可靠性。
如图4所示,本发明的实施例提供的消息传输装置可以包括:
接收单元41,用于接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存;
发送单元42,用于向所述源设备发送第一接收回执并将接收到的所述消息向所述目的设备推送;
更新单元43,用于当接收到所述目的设备反馈的第二接收回执时,对所述消息的所述到达状态进行更新;
发送单元42,还用于如果所述到达状态指示所述目的设备在预设时间阈值内没有反馈所述第二接收回执,根据保存的所述消息实体向所述目的设备重新推送所述消息,直至所述到达状态指示所述目的设备反馈所述第二接收回执为止。
本发明的实施例提供的消息传输装置,能够接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存后,向源设备发送第一接收回执以使源设备获知其消息已经被中间设备接收到,并将接收到的消息向目的设备推送,然后根据目的设备反馈的第二接收回执来确认目的设备是否接收到该消息,对源设备和目的设备均以回执状态来确认消息的传递成功与否,如果超过预设时间阈值都没有收到目的设备的第二接收回执,则根据保存的消息实体将该消息重新向目的设备推送,直至目的设备接收到该消息为止。这样,即可保证源设备、中间设备和目的设备之间的消息形成一个完整的发送和反馈通路,通过第一接收回执和第二接收回执确保消息能够从源设备发送到中间设备,再从中间设备发送到目的设备,即使超过预设时间阈值后没有收到第二接收回执,也可以根据中间设备保存的消息实体对目的设备重新发送该消息,环环相扣以便使源设备发送的消息一定到达目的设备,从而有效提高了通信的可靠性。
可选的,所述消息实体包括消息标识和对应的消息内容。
可选的,所述到达状态包括消息标识和对应的到达标识;当所述到达标识为第一状态时,指示着所述消息标识对应的消息已经到达所述目的设备;当所述到达标识为第二状态时,指示着所述消息标识对应的消息尚未到达所述目的设备。
可选的,所述到达状态还包括消息到达中间设备的时间,以标识所述消息的先后顺序。
可选的,所述消息的消息类型包括单聊消息或群聊消息;在所述消息的消息类型为群聊消息的情况下,保存的所述消息的到达状态为群聊中除源设备外的其他成员设备的群组到达状态;
发送单元42,具体用于将接收到的所述消息向群聊中除源设备外的其他成员设备推送并根据所述群组到达状态为每个所述成员设备分别建立单独的到达状态;
更新单元43,具体用于每接收到一个所述成员设备反馈的第二接收回执,对该成员设备对应的所述单独的到达状态进行更新。
可选的,所述消息的消息类型为直播间消息;接收单元41包括:接收模块,用于接收源设备发送的消息;确定模块,用于根据所述接收模块接收的消息携带的送达要求参数确定所述消息是否要求必达;转换模块,用于在确定所述消息要求必达的情况下,将所述消息进行类型转换,以将所述直播间消息类型转换为单聊消息类型;保存模块,用于将转换为单聊消息类型的所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存。
第三方面,本发明实施例提供一种电子设备,能够保证源设备、中间设备和目的设备之间的消息形成一个完整的发送和反馈通路,环环相扣以便使源设备发送的消息一定到达目的设备,从而有效提高了通信的可靠性。
如图5所示,本发明的实施例提供的电子设备,可以包括:壳体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.根据权利要求1所述的方法,其特征在于,所述到达状态包括消息标识和对应的到达标识;
当所述到达标识为第一状态时,指示着所述消息标识对应的消息已经到达所述目的设备;当所述到达标识为第二状态时,指示着所述消息标识对应的消息尚未到达所述目的设备。
4.根据权利要求3所述的方法,其特征在于,所述到达状态还包括消息到达中间设备的时间,以标识所述消息的先后顺序。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述消息的消息类型包括单聊消息或群聊消息;
在所述消息的消息类型为群聊消息的情况下,保存的所述消息的到达状态为群聊中除源设备外的其他成员设备的群组到达状态;
所述将接收到的所述消息向所述目的设备推送包括:
将接收到的所述消息向群聊中除源设备外的其他成员设备推送并根据所述群组到达状态为每个所述成员设备分别建立单独的到达状态;
所述当接收到所述目的设备反馈的第二接收回执时,对所述消息的所述到达状态进行更新包括:
每接收到一个所述成员设备反馈的第二接收回执,对该成员设备对应的所述单独的到达状态进行更新。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述消息的消息类型为直播间消息;
所述接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存包括:
接收源设备发送的消息;
根据所述消息携带的送达要求参数确定所述消息是否要求必达;
在确定所述消息要求必达的情况下,将所述消息进行类型转换,以将所述直播间消息类型转换为单聊消息类型;
将转换为单聊消息类型的所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存。
7.一种消息传输装置,其特征在于,包括:
接收单元,用于接收源设备发送的消息并对所述消息的消息实体及所述消息相对于目的设备的到达状态进行保存;
发送单元,用于向所述源设备发送第一接收回执并将接收到的所述消息向所述目的设备推送;
更新单元,用于当接收到所述目的设备反馈的第二接收回执时,对所述消息的所述到达状态进行更新;
所述发送单元,还用于如果所述到达状态指示所述目的设备在预设时间阈值内没有反馈所述第二接收回执,根据保存的所述消息实体向所述目的设备重新推送所述消息,直至所述到达状态指示所述目的设备反馈所述第二接收回执为止。
8.根据权利要求7所述的装置,其特征在于,所述消息实体包括消息标识和对应的消息内容。
9.根据权利要求7所述的装置,其特征在于,所述到达状态包括消息标识和对应的到达标识;
当所述到达标识为第一状态时,指示着所述消息标识对应的消息已经到达所述目的设备;当所述到达标识为第二状态时,指示着所述消息标识对应的消息尚未到达所述目的设备。
10.根据权利要求9所述的装置,其特征在于,所述到达状态还包括消息到达中间设备的时间,以标识所述消息的先后顺序。
CN201810192318.2A 2018-03-08 2018-03-08 一种消息传输方法及装置 Active CN110247739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810192318.2A CN110247739B (zh) 2018-03-08 2018-03-08 一种消息传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810192318.2A CN110247739B (zh) 2018-03-08 2018-03-08 一种消息传输方法及装置

Publications (2)

Publication Number Publication Date
CN110247739A true CN110247739A (zh) 2019-09-17
CN110247739B CN110247739B (zh) 2021-07-02

Family

ID=67882244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810192318.2A Active CN110247739B (zh) 2018-03-08 2018-03-08 一种消息传输方法及装置

Country Status (1)

Country Link
CN (1) CN110247739B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111200653A (zh) * 2019-12-31 2020-05-26 深圳市科漫达智能管理科技有限公司 多平台通讯方法、多平台通讯装置及中间服务器
CN112398726A (zh) * 2020-11-05 2021-02-23 深圳市和讯华谷信息技术有限公司 推送消息的回执信息处理方法、系统及存储介质
CN112584191A (zh) * 2020-12-08 2021-03-30 百果园技术(新加坡)有限公司 一种公屏消息的读取方法、装置、服务器和存储介质
CN112925642A (zh) * 2021-02-25 2021-06-08 百果园技术(新加坡)有限公司 一种延迟消息处理方法、装置、设备及存储介质
CN113965296A (zh) * 2021-10-20 2022-01-21 北京中科江南信息技术股份有限公司 一种基于异构系统间的消息补偿方法及装置
CN114338792A (zh) * 2021-12-29 2022-04-12 掌阅科技股份有限公司 应用消息的推送方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226544A1 (en) * 2011-03-06 2012-09-06 Alvin Merrifield Method and system to create a proprietary social network that allow users to earn free points when they perform certain action on the social network. The method also deducts points when the user fails to perform certain task. The method allows users to accumulate points which convert to credits. The method and system allow users to use credits towards the purchase of special deals offered on the social network.
CN105007527A (zh) * 2015-08-05 2015-10-28 腾讯科技(深圳)有限公司 数据直播方法及装置
CN105119810A (zh) * 2015-08-06 2015-12-02 北京农信互联科技有限公司 一种基于xmpp协议的即时通讯方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226544A1 (en) * 2011-03-06 2012-09-06 Alvin Merrifield Method and system to create a proprietary social network that allow users to earn free points when they perform certain action on the social network. The method also deducts points when the user fails to perform certain task. The method allows users to accumulate points which convert to credits. The method and system allow users to use credits towards the purchase of special deals offered on the social network.
CN105007527A (zh) * 2015-08-05 2015-10-28 腾讯科技(深圳)有限公司 数据直播方法及装置
CN105119810A (zh) * 2015-08-06 2015-12-02 北京农信互联科技有限公司 一种基于xmpp协议的即时通讯方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MINI188: ""XMPP协议之消息回执解决方案"", 《HTTPS://WWW.CNBLOGS.COM/5207/ARCHIVE/2017/05/31/6922992.HTML》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111200653A (zh) * 2019-12-31 2020-05-26 深圳市科漫达智能管理科技有限公司 多平台通讯方法、多平台通讯装置及中间服务器
CN112398726A (zh) * 2020-11-05 2021-02-23 深圳市和讯华谷信息技术有限公司 推送消息的回执信息处理方法、系统及存储介质
CN112584191A (zh) * 2020-12-08 2021-03-30 百果园技术(新加坡)有限公司 一种公屏消息的读取方法、装置、服务器和存储介质
CN112584191B (zh) * 2020-12-08 2023-01-13 百果园技术(新加坡)有限公司 一种公屏消息的读取方法、装置、服务器和存储介质
CN112925642A (zh) * 2021-02-25 2021-06-08 百果园技术(新加坡)有限公司 一种延迟消息处理方法、装置、设备及存储介质
CN113965296A (zh) * 2021-10-20 2022-01-21 北京中科江南信息技术股份有限公司 一种基于异构系统间的消息补偿方法及装置
CN113965296B (zh) * 2021-10-20 2023-11-24 北京中科江南信息技术股份有限公司 一种基于异构系统间的消息补偿方法及装置
CN114338792A (zh) * 2021-12-29 2022-04-12 掌阅科技股份有限公司 应用消息的推送方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN110247739B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
CN110247739A (zh) 一种消息传输方法及装置
US20190327529A1 (en) System and method for distributing promotion messages to a communication terminal
CN104683462B (zh) 用于通信设备中对象共享的对等引擎
CN101257375B (zh) 实现多终端的消息同步的方法及装置
CN101707686B (zh) 一种移动终端之间共享视频的方法及系统
CN100589430C (zh) 一种即时消息的文件传输系统及其方法
CN100505630C (zh) 一种在网络直播环境中轮播缓冲广告的方法及系统
CN105471716A (zh) 实现跨客户端消息同步的方法、用户设备及服务器
CN101267589B (zh) 实现互动业务的系统及方法
EP2528312A3 (en) Unified contact list
CN104253814A (zh) 一种流媒体处理方法、服务器及浏览器
CN103069755A (zh) 使用多个客户端实例的即时消息
CN110012115A (zh) 直播间推送信息的更新方法和系统
KR100901967B1 (ko) 컨텐츠 동기화 시스템 및 방법, 그리고 이에 적용되는 서버
CN103974137A (zh) 一种跨设备推送视频资源的方法及装置
CN102404250A (zh) 向即时消息系统用户传输文件的方法、装置及系统
CN107517399A (zh) 一种媒体信息同步的方法以及服务器
CN101848365A (zh) 传送和接收交互式多媒体的方法
CN101442505B (zh) 一种情景模式共享的实现方法及设备
US9531818B2 (en) Information notification methods, apparatuses and electronic devices
CN103139713B (zh) 一种基于局域广播的无线多媒体漂流瓶系统及方法
CN105323537A (zh) 使用移动平台的视频会议
CN103905483A (zh) 音视频共享方法、设备和系统
CN104283762A (zh) 传输即时通讯会话内容的方法、系统、客户端及服务器
CN103841141A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210603

Address after: 25, 5th floor, shuangjingfang office building, 3 frisha street, 189352, 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.

GR01 Patent grant
GR01 Patent grant