CN107666625B - 一种消息处理方法、装置及电子设备 - Google Patents
一种消息处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107666625B CN107666625B CN201710671699.8A CN201710671699A CN107666625B CN 107666625 B CN107666625 B CN 107666625B CN 201710671699 A CN201710671699 A CN 201710671699A CN 107666625 B CN107666625 B CN 107666625B
- Authority
- CN
- China
- Prior art keywords
- message
- database
- transmission
- sender
- receiver
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种消息处理方法、装置及电子设备。本发明实施例方法包括:获取消息发送方中发送数据库中最后一条消息的发送时间信息;获取消息接收方中接收数据库中最后一条消息的接收时间信息;判断发送时间信息与接收时间信息是否相同;若是,则确定消息发送方发送给消息接收方的消息未丢失;若否,则确定消息发送方发送给消息接收方的消息发生丢失,消息接收方读取发送数据库中第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息。本发明实施例中消息处理机制使得在消息发送方缓存发送消息,在消息接收方缓存接收消息,通过对比其差异性从而来达到恢复消息的目的,从而有效解决信息和业务逻辑同步的问题。
Description
技术领域
本发明涉及视频播放技术领域,特别涉及一种消息处理方法、装置及电子设备。
背景技术
在一些视频或直播类应用(Application,APP)的开发过程中我们通常会对某一些事件进行监听,并需要将点击发送按钮的相关信息传递到其他业务逻辑中,在这些应用的一些显示面板中将信息对外暴露的方案通常是使用监听器的方式来进行暴露,也就是说被监听者有相关信号触发的时候会将触发信号发送给监听者,通过这种方式来完成信号的转发。
传统的这种转发方式存在一个非常严重的弊端那就是如果接收方当时并没有处于运行状态可能这些显示面板转发出去的消息接收方就会有遗漏掉,也就是说接收方可能会漏掉某些重要消息的可能性,这些消息内容的遗漏会导致不同面板之间的消息内容不同步的问题,这样就容易导致显示面板的相关逻辑出现错误,从而产生一些概率性的漏洞(bug)出现。
发明内容
本发明实施例提供了一种消息处理方法、装置及电子设备,避免了消息遗漏导致不同消息主体之间的消息内容不同步,从而引发业务逻辑bug产生的问题。
第一方面,本申请提供了一种消息处理方法,该方法包括:
获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息;
获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息;
判断所述发送时间信息与所述接收时间信息是否相同;
若是,则确定消息发送方发送给消息接收方的消息未丢失;
若否,则确定消息发送方发送给消息接收方的消息发生丢失,所述消息接收方读取所述发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息;
其中,所述发送数据库中消息的发送时间信息为所述发送数据库主键,所述接收数据库中消息的接收时间信息为所述接收数据库主键。
进一步的,在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,所述方法还包括:
定义消息通信协议,所述消息通信协议中包括接口函数,所述接口函数中包括用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段。
进一步的,在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,所述方法还包括:
在所述消息发送方建立用于记录发送到所述消息接收方消息的发送数据库;
在所述消息接收方建立用于记录接收到所述消息发送方消息的接收数据库。
进一步的,所述方法还包括:
在所述消息发送方向所述消息接收方每发送一条消息时,在所述发送数据库中记录消息的发送信息;
在所述消息接收方每接收到所述消息发送方发送的一条消息时,在所述接收数据库中记录消息的接收信息。
进一步的,所述方法还包括:
在所述消息发送方向所述消息接收方每发送一条消息之前,按照预设的加密算法对待发送的消息进行加密;
在所述消息接收方每接收到所述消息发送方发送的一条消息之后,按照预设的解密算法对接收的消息进行解密;
其中,所述加密算法与所述解密算法对应。
第二方面,本申请提供一种消息处理装置,该装置包括:
第一获取模块,用于获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息;
第二获取模块,用于获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息;
判断模块,用于判断所述发送时间信息与所述接收时间信息是否相同;
确定模块,用于在所述发送时间信息与所述接收时间信息相同时,确定消息发送方发送给消息接收方的消息未丢失;在所述发送时间信息与所述接收时间信息不相同时,则确定消息发送方发送给消息接收方的消息发生丢失,所述消息接收方读取所述发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息;
其中,所述发送数据库中消息的发送时间信息为所述发送数据库主键,所述接收数据库中消息的接收时间信息为所述接收数据库主键。
进一步的,所述装置还包括:
定义模块,用于在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,定义消息通信协议,所述消息通信协议中包括接口函数,所述接口函数中包括用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段。
进一步的,所述装置还包括:
建立模块,用于在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,在所述消息发送方建立用于记录发送到所述消息接收方消息的发送数据库,在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,在所述消息接收方建立用于记录接收到所述消息发送方消息的接收数据库。
进一步的,所述装置还包括:
记录模块,用于在所述消息发送方向所述消息接收方每发送一条消息时,在所述发送数据库中记录消息的发送信息;在所述消息接收方每接收到所述消息发送方发送的一条消息时,在所述接收数据库中记录消息的接收信息。
进一步的,所述装置还包括:
加密模块,用于在所述消息发送方向所述消息接收方每发送一条消息之前,按照预设的加密算法对待发送的消息进行加密;
解密模块,用于在所述消息接收方每接收到所述消息发送方发送的一条消息之后,按照预设的解密算法对接收的消息进行解密;
其中,所述加密算法与所述解密算法对应。
第三方面,本发明还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
本发明实施例通过获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息;获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息;判断发送时间信息与接收时间信息是否相同;若是,则确定消息发送方发送给消息接收方的消息未丢失;若否,则确定消息发送方发送给消息接收方的消息发生丢失,消息接收方读取发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息。本发明实施例中消息处理机制,使得在消息发送方缓存发送消息,在消息接收方的缓存接收消息,最终通过对比其差异性从而来达到恢复消息的目的,从而有效解决信息和业务逻辑同步的问题,同时时间信息作为发送数据库和接收数据库的主键,使得时间信息唯一,保证了方案的有效性。
附图说明
图1是本发明实施例中消息处理方法的一个实施例示意图;
图2是本发明实施例消息处理方法的另一个实施例示意图;
图3是本发明实施例消息处理方法的另一个实施例示意图;
图4是本发明实施例中消息处理装置的一个实施例示意图;
图5是本发明实施例中消息处理装置的另一个实施例示意图;
图6是本发明实施例中消息处理装置的另一个实施例示意图;
图7是本发明实施例中消息处理装置的另一个实施例示意图
图8是本发明实施例中消息处理装置的另一个实施例示意图;
图9是本发明实施例中电子设备的一个实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中消息处理方法应用于消息处理装置,该装置位于电子设备中,该电子设备可以是手机、平板电脑或者个人电脑等电子设备,也可以是未来出现有显示屏的电子设备等。
请参阅图1,本发明实施例中消息处理方法的一个实施例包括:
S101、获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息;
本发明实施例中消息发送方和下面描述的消息接收方均为消息处理装置中的应用模块,例如一个视图框,如直播应用中的礼物面板,消息发送方和消息接收方不同。
S102、获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息;
S103、判断发送时间信息与接收时间信息是否相同,若是,则执行步骤S104,若否,则执行步骤S105;
S104、确定消息发送方发送给消息接收方的消息未丢失,可以不做其他操作。
S105、确定消息发送方发送给消息接收方的消息发生丢失,消息接收方读取发送数据库中第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息;
其中,该发送数据库中消息的发送时间信息为该发送数据库主键,该接收数据库中消息的接收时间信息为所述接收数据库主键。数据库主键是指数据库表中一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。因此,通过定义发送时间信息为该发送数据库主键,接收时间信息为所述接收数据库主键,可以保证发送数据库中发送时间信息和接收数据库中接收时间信息的唯一性。
本发明实施例通过获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息;获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息;判断发送时间信息与接收时间信息是否相同;若是,则确定消息发送方发送给消息接收方的消息未丢失;若否,则确定消息发送方发送给消息接收方的消息发生丢失,消息接收方读取发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息。本发明实施例中消息处理机制,使得在消息发送方缓存发送消息,在消息接收方的缓存接收消息,最终通过对比其差异性从而来达到恢复消息的目的,从而有效解决信息和业务逻辑同步的问题,同时时间信息作为发送数据库和接收数据库的主键,使得时间信息唯一,保证了方案的有效性。
如图2所示,在步骤S101之前,本发明实施例中方法还可以包括:
S106、定义消息通信协议。
消息通信协议的设计是上述消息通信的一个标准。本消息通信协议的定义的主要目标是能够完整的描述消息内容,方便消息发送方与消息接收方之间进行消息通信,并且方便后期消息内容的恢复。
基于上述分析可以发现,消息通信协议的设计最终目标是完整描述礼物的各种状态信息并方便后期消息的恢复,所以本实施例中将消息通信协议设计层如下几个部分:消息通信协议中包括接口函数,所述接口函数中包括用于标记消息发送时间信息的长整型类型的时间字段time;用于标记消息类型的字符串型命令字段,即消息的命令字command,专门用于表示该消息是一条什么命令的消息,后续方便其他页面与礼物面板之间进行通信。以及用于存储消息内容信息的对象类型的消息内容字段,即消息的内容承载器,主要用于存储消息的内容信息。
此时,所述发送数据库中每条发送消息记录中包括三个字段:用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段;所述发接收数据库中每条发送消息记录中包括三个字段:用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段。
将上述理念转换成软件层面的设计,对应的消息通信协议我们将其设计成一个接口IMessage,之所以设计层接口是为了方便解耦消息之间的连接,方便后续层级之间的扩展性。
接下来给出完整的礼物面板中消息协议的设计如下:
Public interface IMessage{
Public void sendMessage(long time,String command,Object message);
}
详细描述一下该协议的设计含义如下:其中IMessage表示设计的接口协议的名称是IMessage,该接口协议中包含一个接口函数sendMessage,该接口函数中设计了两个参数,第一个是长整型(long)类型的字段time,主要用于标记该消息的发送时间信息的,第二个是字符串类型的command,后续主要用于标记该消息的类型,也就是说消息是什么类型的消息。第三个参数是Object类型的message参数,之所以设计成Object类型是因为Object在Java中是一个最顶层的对象,根据面向对象的特点父类对象可以用于接收子类对象,所以可以用Object对象接收所有类型的消息。
本实施例中主要给出了消息通信过程中的消息协议的设计结构,根据该消息协议的设计能够有效的完整的描述消息的相关信息,方便后续消息发送方法与消息接收方之间的通信以及消息的缓存方案设计等。
如图3所示,在步骤S101之前,本发明实施例中方法还可以包括:
S107、在消息发送方建立用于记录发送到消息接收方消息的发送数据库;
通过上述描述可以知道,每一条消息在发送的过程中都会携带上消息的时间信息,时间有一个最大的特性就是不可重复,也就是说时间是具有唯一性的,本实施例中也是巧妙的将时间的唯一性与消息之间进行结合来设计消息缓存方案的。
为了方便记录消息发送方的消息发送状态,本实施例中在消息发送方中创建了一个历史消息记录的数据库sendMessageDB文件(发送数据库),sendMessageDB该数据库中包含一张记录消息的表message,将message表结构设计如下:
long time | string message | boolean sendStatus |
由于需要后期在消息接收方中对消息信息进行恢复处理,所以需要有一个地方进行一个消息备份,由于消息是由消息发送方进行发出的,所以在消息发送方这个对象中,消息发送方是对消息具有绝对知情权的,也就是说消息发送方是对消息最了解的一个对象,所以本实施例中在消息发送方中设计了一个发送数据库,然后使用该发送数据库专门用于记录消息发送方所发送的消息信息。这样就能够做到消息信息的全量备份了。
其中,发送数据库中消息字段信息设计如上表所示,第一个字段我们设计为主键,该主键是一个长整型(long)的类型,主要是记录消息从消息发送方发送出去的时间信息。第二个字段是一个String类型字段,专门用于记录消息的具体内容,第三个字段sendStatus是一个布尔类型的字段,主要用于表明该条消息是否已经发送,因为可能消息刚刚到达,刚刚准备发送的时候由于一些异常情况的发生,比如说断电关机等,此时消息就没有发送成功,这样就可以利用sendStatus字段知道消息上一次是否已经发送成功了。
本实施例中,将消息的发送时间time设置成组件最主要的一个原因是时间的唯一性。在数据库的设计中主键需要保证唯一,这样才能够方便后期去查询数据,这一特性和我们时间特性刚好达到了吻合,所以本实施例中就使用时间来作为了发送数据库的主键信息。
通过上述的描述信息可以发现,每条消息都会将其记录在消息发送方的发送数据库中,这样对后期消息接收方对消息的恢复奠定了一个基础。
进一步的,在本发明一些实施例中,所述方法还可以包括:在消息发送方向所述消息接收方每发送一条消息之前,按照预设的加密算法对待发送的消息进行加密;在消息接收方每接收到所述消息发送方发送的一条消息之后,按照预设的解密算法对接收的消息进行解密;其中,所述加密算法与所述解密算法对应,例如SHA-1加密算法,SHA-1解密算法等,通过对发送消息进行加密解密,保证了消息通讯安全。进一步的,加密算法与时间进行关联,例如,在有加密密钥,利用当前的时间信息作为加密密钥。
S108、在消息接收方建立用于记录接收到所述消息发送方消息的接收数据库。
本实施例中,在消息接收方也设计了一个数据库receiveMessageDB(接收数据库),在receiveMessageDB数据库中设计了一个receivedMessage的表,其表结构与上述步骤S107中的表结构设计成完全一致的字段信息,设计该表结构的主要目的是为了记录接收方已经处理过的消息信息。
也就是说,消息发送方每次发送一条消息的时候,会首先将该消息缓存到消息发送方所对应的数据库sendMessageDB文件中,如果消息接收方能够正常接收到了该消息,那么消息接收方需要将接收到的信息缓存到消息接收方对应的数据库receiveMessageDB文件中。如果消息接收方由于某些异常情况被系统杀掉了,那么消息接收方就不会将信息缓存到receiveMessageDB文件中,因为消息接收方根本就接收不到消息了。由于消息发送方根本不知道消息接收方是否接收消息,所以消息发送方的主要职责是通过步骤S106中定义的消息通信协议来对消息进行发送。消息接收方主要的工作就是对消息的接收。
进一步的,在本发明实施例中,所述方法还包括:
在所述消息发送方向所述消息接收方每发送一条消息时,在所述发送数据库中记录消息的发送信息;
在所述消息接收方每接收到所述消息发送方发送的一条消息时,在所述接收数据库中记录消息的接收信息。
下面结合一具体场景来描述本发明实施例中。
消息接收方每次启动的时候首先会读取receiveMessageDB(接收数据库)文件中的最后一条信息的时间点time1,然后读取sendMessageDB(发送数据库)文件中的最后一条信息的时间点time2,如果time1等于time2,说明接收方并没有丢失任何消息信息,如果time1小于time2,说明消息接收方存在部分信息的丢失,此时就需要通过读取发送数据库sendMessageDB文件的方式,将发送数据库sendMessageDB文件中的介于时间段time1与time2之间的内容全部读取出来,通过这种消息处理机制接收方就恢复了层级消息发送方发送过但是自己又没有接收到的消息,恢复完这些消息后接收方可以根据自己的业务逻辑再次对相应的消息进行逐条的处理,从而达到了消息接收方和消息发送方业务逻辑统一的目的。
下面介绍本发明实施例中消息处理装置的实施例。
如图4所示,为本发明实施例中消息处理装置的一个实施例示意图,该装置包括:
第一获取模块401,用于获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息;
第二获取模块402,用于获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息;
判断模块403,用于判断所述发送时间信息与所述接收时间信息是否相同;
确定模块404,用于在所述发送时间信息与所述接收时间信息相同时,确定消息发送方发送给消息接收方的消息未丢失;在所述发送时间信息与所述接收时间信息不相同时,则确定消息发送方发送给消息接收方的消息发生丢失,所述消息接收方读取所述发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息;
其中,所述发送数据库中消息的发送时间信息为所述发送数据库主键,所述接收数据库中消息的接收时间信息为所述接收数据库主键。
进一步的,如图5所示,所述装置还包括:
定义模块405,用于在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,定义消息通信协议,所述消息通信协议中包括接口函数,所述接口函数中包括用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段。
进一步的,如图6所示,所述装置还包括:
建立模块406,用于在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,在所述消息发送方建立用于记录发送到所述消息接收方消息的发送数据库,在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,在所述消息接收方建立用于记录接收到所述消息发送方消息的接收数据库。
进一步的,如图7所示,所述装置还包括:
记录模块407,用于在所述消息发送方向所述消息接收方每发送一条消息时,在所述发送数据库中记录消息的发送信息;在所述消息接收方每接收到所述消息发送方发送的一条消息时,在所述接收数据库中记录消息的接收信息。
进一步的,如图8所示,所述装置还包括:
加密模块408,用于在所述消息发送方向所述消息接收方每发送一条消息之前,按照预设的加密算法对待发送的消息进行加密;
解密模块409,用于在所述消息接收方每接收到所述消息发送方发送的一条消息之后,按照预设的解密算法对接收的消息进行解密;
其中,所述加密算法与所述解密算法对应。
本发明实施例中还提供一种电子设备,请参见图9,所述电子设备包括:
存储器901,处理器902及存储在所述存储器上并可在所述处理器上运行的计算机程序903,其中,所述处理器902执行所述计算机程序903时可以实现上述消息处理方法。
需要说明的是,本申请涉及的电子设备包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器901可用于存储计算机程序903,上述计算机程序包括软件程序、模块和数据,处理器902通过运行执行存储在存储器901的计算机程序903,从而执行电子设备的各种功能应用以及数据处理。
在具体的实施过程中,存储器901可用于存储软件程序以及模块,处理器902通过运行存储在存储器901的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据电子设备的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器902是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器901内的软件程序和/或模块,以及调用存储在存储器901内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器902可包括一个或多个处理单元;优选的,处理器902可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的消息处理方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种消息处理方法,其特征在于,应用于视频或直播类的APP中的礼物面板与其他页面之间的通信,所述方法包括:
定义消息通信协议,所述消息通信协议中包括接口函数,所述接口函数中包括用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段;
获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息,作为第一时间;
获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息,作为第二时间;
判断所述发送时间信息与所述接收时间信息是否相同;
若是,则确定消息发送方发送给消息接收方的消息未丢失;
若否,则确定消息发送方发送给消息接收方的消息发生丢失,所述消息接收方读取所述发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息;
其中,所述发送数据库中消息的发送时间信息为所述发送数据库主键,所述接收数据库中消息的接收时间信息为所述接收数据库主键。
2.根据权利要求1所述的方法,其特征在于,在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,所述方法还包括:
在所述消息发送方建立用于记录发送到所述消息接收方消息的发送数据库;
在所述消息接收方建立用于记录接收到所述消息发送方消息的接收数据库。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述消息发送方向所述消息接收方每发送一条消息时,在所述发送数据库中记录消息的发送信息;
在所述消息接收方每接收到所述消息发送方发送的一条消息时,在所述接收数据库中记录消息的接收信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述消息发送方向所述消息接收方每发送一条消息之前,按照预设的加密算法对待发送的消息进行加密;
在所述消息接收方每接收到所述消息发送方发送的一条消息之后,按照预设的解密算法对接收的消息进行解密;
其中,所述加密算法与所述解密算法对应。
5.一种消息处理装置,其特征在于,所述装置包括:
定义模块,用于在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,定义消息通信协议,所述消息通信协议中包括接口函数,所述接口函数中包括用于标记消息发送时间信息的长整型类型的时间字段,用于标记消息类型的字符串型命令字段,以及用于存储消息内容信息的对象类型的消息内容字段;
第一获取模块,用于获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息,作为第一时间;
第二获取模块,用于获取消息接收方中预置的接收数据库中最后一条消息的接收时间信息,作为第二时间;
判断模块,用于判断所述发送时间信息与所述接收时间信息是否相同;
确定模块,用于在所述发送时间信息与所述接收时间信息相同时,确定消息发送方发送给消息接收方的消息未丢失;在所述发送时间信息与所述接收时间信息不相同时,则确定消息发送方发送给消息接收方的消息发生丢失,所述消息接收方读取所述发送数据库中所述第二时间到第一时间之间的所有消息,以恢复消息发送方发送的消息中丢失的消息;
其中,所述发送数据库中消息的发送时间信息为所述发送数据库主键,所述接收数据库中消息的接收时间信息为所述接收数据库主键。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
建立模块,用于在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,在所述消息发送方建立用于记录发送到所述消息接收方消息的发送数据库,在获取消息发送方中预置的发送数据库中最后一条消息的发送时间信息之前,在所述消息接收方建立用于记录接收到所述消息发送方消息的接收数据库。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
记录模块,用于在所述消息发送方向所述消息接收方每发送一条消息时,在所述发送数据库中记录消息的发送信息;在所述消息接收方每接收到所述消息发送方发送的一条消息时,在所述接收数据库中记录消息的接收信息。
8.一种电子设备,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710671699.8A CN107666625B (zh) | 2017-08-08 | 2017-08-08 | 一种消息处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710671699.8A CN107666625B (zh) | 2017-08-08 | 2017-08-08 | 一种消息处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107666625A CN107666625A (zh) | 2018-02-06 |
CN107666625B true CN107666625B (zh) | 2019-12-03 |
Family
ID=61096982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710671699.8A Active CN107666625B (zh) | 2017-08-08 | 2017-08-08 | 一种消息处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107666625B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005448B (zh) * | 2018-06-28 | 2021-06-15 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
CN113489635B (zh) * | 2021-06-18 | 2023-08-18 | 深圳软牛科技有限公司 | 基于微信的消息恢复方法和相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6683850B1 (en) * | 1997-08-29 | 2004-01-27 | Intel Corporation | Method and apparatus for controlling the flow of data between servers |
CN103684707A (zh) * | 2013-12-20 | 2014-03-26 | 广州华多网络科技有限公司 | 服务端、用户端消息传输处理方法、消息传输方法及系统 |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输系统 |
-
2017
- 2017-08-08 CN CN201710671699.8A patent/CN107666625B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6683850B1 (en) * | 1997-08-29 | 2004-01-27 | Intel Corporation | Method and apparatus for controlling the flow of data between servers |
CN103684707A (zh) * | 2013-12-20 | 2014-03-26 | 广州华多网络科技有限公司 | 服务端、用户端消息传输处理方法、消息传输方法及系统 |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107666625A (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106936441B (zh) | 一种数据压缩方法和装置 | |
CN109450777B (zh) | 会话信息提取方法、装置、设备和介质 | |
WO2019134303A1 (zh) | 直播间人气处理方法、装置、服务器及存储介质 | |
EP3272097B1 (en) | Forensic analysis | |
CN112073398A (zh) | 消息队列的处理方法、装置和系统、存储介质和电子装置 | |
CN104199913B (zh) | 终端资源的清理方法、装置及终端 | |
CN112788270B (zh) | 视频回溯方法、装置、计算机设备及存储介质 | |
CN107666625B (zh) | 一种消息处理方法、装置及电子设备 | |
CN103793641A (zh) | 一种信息处理方法、装置及电子设备 | |
CN109521956A (zh) | 一种基于区块链的云存储方法、装置、设备及存储介质 | |
CN106844185A (zh) | 一种日志文件的存储方法及装置 | |
CN105743917A (zh) | 消息传输方法及终端 | |
CN111901147B (zh) | 一种网络访问的控制方法和装置 | |
WO2008151530A1 (fr) | Procédé et appareil pour traiter la classe de données dans un système de messagerie instantanée | |
CN104917994A (zh) | 音视频通话系统及方法 | |
CN114339737A (zh) | 无线通讯指令加密方法及相关设备 | |
CN103530549B (zh) | 移动通讯终端上的文件/应用程序处理方法及装置 | |
CN113507482A (zh) | 数据安全传输方法、安全交易方法、系统、介质和设备 | |
WO2021012741A1 (zh) | 基于经验库的异常前端操作提醒的方法及相关设备 | |
CN101567819A (zh) | 一种消息上报方法与服务器 | |
CN108882004B (zh) | 视频录制方法、装置、设备及存储介质 | |
CN113282268B (zh) | 音效配置方法和装置、存储介质及电子设备 | |
CN107094079A (zh) | 一种开通终端功能的方法、装置和设备 | |
CN110336772A (zh) | 基于加密验证服务器的网页数据自动取证方法以及设备 | |
CN113141336A (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 |