CN110191193A - 一种终端消息同步方法、装置和移动终端 - Google Patents
一种终端消息同步方法、装置和移动终端 Download PDFInfo
- Publication number
- CN110191193A CN110191193A CN201910507230.XA CN201910507230A CN110191193A CN 110191193 A CN110191193 A CN 110191193A CN 201910507230 A CN201910507230 A CN 201910507230A CN 110191193 A CN110191193 A CN 110191193A
- Authority
- CN
- China
- Prior art keywords
- message
- queue
- terminal
- memory
- server
- 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
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/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- 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
Abstract
本发明实施例提供了一种终端消息同步方法,该方法应用于消息存储系统,该系统包括消息终端、服务端、消息存储器,消息存储器中存储有消息队列,该方法包括:服务器响应于消息终端发起的消息同步请求,获取消息同步请求中的待同步对话的属性信息;服务器将待同步对话的属性信息发送至消息存储器;消息存储器提取对应待同步对话的属性信息的消息队列;消息存储器在消息队列中提取预设时间段内的消息内容,按照消息内容的队列序号,经服务端返回至消息终端;消息终端将消息内容按照队列序号展示在待同步对话的会话界面中。实现了降低终端消息同步运维成本及提高海量消息同步效率和稳定性的目的。
Description
技术领域
本发明涉及终端消息同步的技术领域,特别是涉及一种终端消息同步方法、装置和移动终端。
背景技术
随着互联网行业的兴起,即时通讯成为通信行业的潮流,其中即时通信技术是社交类产品的核心技术,例如微信、QQ、陌陌等。当即时通讯产品中的用户量越来越大时,产生的聊天消息数量会变得越来越多,如果采用写扩散方案(例如,在一个一百人的群里,一个群成员发一条聊天消息,在服务器中按每个群成员的维度存储消息时,会变成一百条消息),则消息的数量会成倍数增长。如何保证同一个用户在使用多种不同的终端设备登陆时(例如,用户A可以在安卓手机或苹果手机或电脑上登陆),依然保持所有的终端消息同步是正确的,并且在服务器存储上能做到尽量的节省存储资源等。因而,保证服务器在存储了海量消息后,依然保持读写的高性能是所有即时通讯类产品都要面临的问题。
现有技术中,针对上述问题,一部分即时通讯产品采用自研中间件实现,但这些中间件并不开源。而另一部分产品简单采用mysql、kafka等组件组合实现,这种方案对于消息量不大,活跃用户不多的情况下,是可以采用的,但是当聊天消息量达十亿甚至百亿级别或活跃用户量达百万、千万甚至上亿级别时,这些组件并不是最优的解决方案。其中,例如mysql需要不断地分库分表,以保持单表的记录数量不超过千万级,以保持单表的读写性能和稳定性。kafka单实例的topic数量达到上千时,吞吐量会明显下降,稳定性也会变差,要保持业务稳定,就需要不断地增加新的实例。所以使用mysql和kafka存储聊天消息时,运维成本会越来越高。
发明内容
本发明公开了一种终端消息同步方法、装置和移动终端,以达到降低运维成本而提高终端消息同步效率的目的。
第一个方面,本发明提供了一种终端消息同步方法,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,所述的方法包括:
所述服务器响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;
所述服务器将所述待同步对话的属性信息发送至所述消息存储器;
所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列;
所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;
所述消息终端将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。
优选地,所述消息终端包括消息发送端和消息接收端;所述待同步对话的属性信息包括所述待同步对话的消息发送端身份标识和消息接收端身份标识。
优选地,所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列,包括:
在所述消息存储器中提取对应所述消息发送端身份标识的发送端消息队列;
在所述消息存储器中提取对应所述消息接收端身份标识的接收端消息队列。
优选地,所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端,包括:
在所述消息存储器中提取所述发送端消息队列中预设时间段内的发送消息内容,按照所述发送端消息队列的序列号,经所述服务端返回至所述消息终端;
在所述消息存储器中提取所述接收端消息队列中预设时间段内的接收消息内容,按照所述接收端消息队列的序列号,经所述服务端返回至所述消息终端。
优选地,所述的方法还包括:
所述服务器响应于所述消息发送端发起的消息发送请求,获取消息发送端身份标识和发送消息内容;
所述服务器为所述发送消息内容生成发送消息队列序号;
所述服务器将所述发送消息内容按照所述发送消息队列序号的顺序,生成发送端消息队列;
所述服务器将所述发送端消息队列,以及所述发送端身份标识发送至所述消息存储器中;
所述消息存储器根据所述发送端身份标识存储所述发送端消息队列。
优选地,所述方法还包括:
所述服务器响应于所述消息接收端发起的消息接收请求,获取消息接收端身份标识和接收消息内容;
所述服务器为所述接收消息内容生成接收消息队列序号;
所述服务器将所述接收消息内容按照所述接收消息队列序号的顺序,生成接收端消息队列;
所述服务器将所述接收端消息队列,以及所述接收端身份标识发送至所述消息存储器中;
所述消息存储器根据所述接收端身份标识存储所述接收端消息队列。
优选地,所述消息存储器使用hbase存储所述消息队列。
第二个方面,本发明提供了一种终端消息同步装置,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,所述的装置包括:
位于所述服务器的消息同步请求响应模块,用于响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;
位于所述服务器的同步请求发送模块,用于将所述待同步对话的属性信息发送至所述消息存储器;
位于所述消息存储器的消息队列提取模块,用于提取对应所述待同步对话的属性信息的所述消息队列;
位于所述消息存储器的消息返回模块,用于在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;
位于所述消息终端的消息展示模块,用于将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。
优选地,所述消息终端包括消息发送端和消息接收端;所述待同步对话的属性信息包括所述待同步对话的消息发送端身份标识和消息接收端身份标识。
优选地,所述消息队列提取模块,包括:
发送端消息队列提取子模块,用于在所述消息存储器中提取对应所述消息发送端身份标识的发送端消息队列;
接收端消息队列提取子模块,用于在所述消息存储器中提取对应所述消息接收端身份标识的接收端消息队列。
优选地,所述消息返回模块,包括:
发送消息返回子模块,用于在所述消息存储器中提取所述发送端消息队列中预设时间段内的发送消息内容,按照所述发送端消息队列的序列号,经所述服务端返回至所述消息终端;
接收消息返回子模块,用于在所述消息存储器中提取所述接收端消息队列中预设时间段内的接收消息内容,按照所述接收端消息队列的序列号,经所述服务端返回至所述消息终端。
优选地,所述的装置还包括:
位于所述服务器的发送端属性获取模块,用于响应于所述消息发送端发起的消息发送请求,获取消息发送端身份标识和发送消息内容;
位于所述服务器的发送消息队列序号生成模块,用于为所述发送消息内容生成发送消息队列序号;
位于所述服务器的发送端消息队列生成模块,用于将所述发送消息内容按照所述发送消息队列序号的顺序,生成发送端消息队列;
位于所述服务器的发送端消息队列发送模块,用于将所述发送端消息队列,以及所述发送端身份标识发送至所述消息存储器中;
位于所述消息存储器的发送端消息队列存储模块,用于根据所述发送端身份标识存储所述发送端消息队列。
优选地,所述的装置还包括:
位于所述服务器的接收端属性获取模块,用于响应于所述消息接收端发起的消息接收请求,获取消息接收端身份标识和接收消息内容;
位于所述服务器的接收消息队列序号生成模块,用于为所述接收消息内容生成接收消息队列序号;
位于所述服务器的接收端消息队列生成模块,用于将所述接收消息内容按照所述接收消息队列序号的顺序,生成接收端消息队列;
位于所述服务器的接收端消息队列发送模块,用于将所述接收端消息队列,以及所述接收端身份标识发送至所述消息存储器中;
位于所述消息存储器的接收端消息队列存储模块,用于根据所述接收端身份标识存储所述接收端消息队列。
优选地,所述消息存储器使用hbase存储所述消息队列。
第三方面,本发明提供一种移动终端,所述移动终端包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述终端消息同步方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现所述的终端消息同步方法的步骤。
相对于现有技术,本发明实施例包括以下优点:
在本发明实施例中,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,该方法包括:所述服务器响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;所述服务器将所述待同步对话的属性信息发送至所述消息存储器;所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列;所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;所述消息终端将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。可以实现在降低终端消息同步运维成本的前提下,提高海量消息同步的效率和稳定性的目的。
附图说明
图1是本发明的一种终端消息同步方法的步骤流程图;
图1A是本发明实施例的一种终端消息同步架构整体框架示意图;
图1B是本发明实施例的一种终端消息同步架构整体框架示意图;
图2是本发明的一种终端消息同步装置的结构框图;
图3为实现本发明各个实施例的一种移动终端的硬件结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
名词解释:
即时通讯:简称为IM(Instant messaging)。
终端:是指某个用户A,可以使用安卓手机,也可以苹果手机,还可以使用电脑等登陆即时通讯产品,那么安卓手机、苹果手机以及电脑,都属于用户A的终端设备。
终端消息同步:是指用户A在安卓手机、苹果手机以及电脑,所看到的所有聊天消息都是完全相同的。
Hbase:是一个分布式的、面向列的开源数据库。hbase集群能支撑上百亿的数据存储,上百万的高并发访问。在数据存储上,能实现自动负载均衡,充分利用资源,并且支持灵活扩容。
RowKey:Hbase表记录中的行键,即记录的唯一标识。根据RowKey可以快速查询到记录的列族(即数据内容部分),列族中包含多个列(Column,相当于mysql的表字段),列可以根据业务增加,列用于存储具体的业务数据,例如聊天消息。(RowKey与列族的关系,可以理解为一张映射表中的key和value)
Column:hbase表中的列。
Long.MAX_VALUE:是指Java软件开发语言中的64位的长整数的数字,他的值为9223372036854775807。在本方案中,仅用于表示一个很大的数字,该数字可以根据业务情况自行设定。
参照图1,示出了本发明的一种终端消息同步方法的步骤流程图,所述方法应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,具体可以包括如下步骤:
步骤101,所述服务器响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;
本发明实施例中,当同一用户的不同终端登陆同一账号的即时通讯软件时,需要向服务端发起消息同步请求,消息同步请求中通常包括待同步对话的属性信息,如发起和接收会话的用户ID,谁是接收方,谁是发送方,即接收方和发送方的标记,以便准确获取通信信息内容。
步骤102,所述服务器将所述待同步对话的属性信息发送至所述消息存储器;
本发明实施例中,将上述获得的属性信息发送至消息存储器,以便在消息存储器中存储的消息队列中查找到对应待同步会话的历史消息。
优选地,所述消息终端的包括消息发送端和消息接收端;所述待同步对话的属性信息包括所述待同步对话的消息发送端身份标识和消息接收端身份标识。
步骤103,所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列;
本发明实施例中,消息存储器中使用hbase存储历史消息,其中,hbase可通过简便的方式(增加机器或磁盘即可有效提升存储量和性能)扩容和保持消息读写的高性能,即使是廉价的机器也适用于hbase集群,所以使用hbase可以有效降低运维成本和机器成本。用户可以通过历史消息库查看某个会话的历史聊天记录。
除此之外,使用hbase实现消息队列模型(也称为timeline模型或时间轴或时间线),满足海量终端的消息同步场景。因为是按用户维度存储的,所以不管用户有多少个终端设备,在服务器只会存储该用户的一条消息队列,用户的多个终端设备从该用户的消息队列同步消息即可,有效减少存储成本。另外,hbase会把数据持久化到磁盘,所以无需担心数据丢失。
进一步地,消息存储器提根据上述获取的待同步对话的属性信息,在hbase集群存储的消息队列中查询到符合上述属性信息的属性信息。
优选地,在本发明的另一实施例中,步骤103可以进一步包括:
子步骤1031,在所述消息存储器中提取对应所述消息发送端身份标识的发送端消息队列;
其中,根据待同步对话的属性信息中的消息发送端身份标识,获取根据该消息发送端身份标识存储的发送端消息队列。
子步骤1032,在所述消息存储器中提取对应所述消息接收端身份标识的接收端消息队列。
其中,根据待同步对话的属性信息中的消息接收端身份标识,获取根据该消息接收端身份标识存储的接收端消息队列。
举例说明:
如图1B所示,用户B分别在不同的终端上请求同步消息时,根据客户端本地消息序号及查询数量请求消息存储器(业务系统)中消息队列中存储的历史消息。
图示场景:用户B离线一段时间后上线。
离线消息拉取过程描述:
用户B上线后,客户端(即,用户的某个终端,例如安卓手机)根据本地的最新序号及查询数量,到服务器查询离线期间没接收到的消息。
服务端根据客户端的序号和查询数量计算出查询的起始RowKey和截止RowKey,再在消息队列中作范围查询,即可拿到离线期间的消息。
假设用户B的ID=100,Long.MAX_VALUE=9223372036854775807,
根据哈希算法计算出用户B的哈希前缀的数值=123456,
用户B的消息队列存储的记录如下:
RowKey=1234561009223372036854775804,Column={msg=“明天我们去逛街吧!”,sender=A}
(Column中是二进制格式,此时seq=3)
RowKey=1234561009223372036854775805,Column={msg=“你吃饭了吗?”,sender=A}(Column中是二进制格式,此时seq=2)
RowKey=1234561009223372036854775806,Column={msg=“你好”,sender=A}
(Column中是二进制格式,此时seq=1)
用户B用一台手机登陆,则该手机的本地最新序号为seq=1,查询数量为10。
则得到:
起始seq’=9223372036854775807-1=9223372036854775806,
截止seq’=9223372036854775807-10=9223372036854775797
所以:
查询RowKey的起始值为RowKey=1234561009223372036854775806,
查询RowKey的截止值为RowKey=1234561009223372036854775797,
因为在hbase中,根据RowKey可以快速定位到记录,所以根据上述起始RowKey和截止RowKey在用户B的消息队列中作范围查询,即可查询出离线期间的记录。
由于同一个用户的RowKey的前半部分内容相同,所以该用户的数据都会存储在同一个region,在查询时,不需要从多个region中查询数据再汇集,所以查询效率会更高。
该消息队列是按用户为维度进行设计的,所以不管用户有多少个不同的终端(例如有多台手机),在服务器只需要存储该用户的一条消息队列,即可满足用户有多个不同终端时,需要进行消息同步的场景。
步骤104,所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;
本发明实施例中,消息队列是按照用户维度进行存储的,即上述描述的发送端或接收端身份标识的维度进行存储的。
其中,一个用户一条队列,可以对消息队列内的消息设置有效期,例如7天,表示多终端最多只能同步最近7天的消息,或者也可以是预设数量的消息内容,如100条历史消息记录,按照系统为每条消息分配的唯一消息队列序号,发送给所述服务端,由服务端返回给消息终端。
可以理解地,针对提取消息设置有效期或设置有效期长短,或者提取的历史消息数量,由业务情况决定,本发明实施例对此不加以限制。
优选地,在本发明的另一实施例中,步骤104可以进一步包括:
子步骤1041,在所述消息存储器中提取所述发送端消息队列中预设时间段内的发送消息内容,按照所述发送端消息队列的序列号,经所述服务端返回至所述消息终端;
子步骤1042,在所述消息存储器中提取所述接收端消息队列中预设时间段内的接收消息内容,按照所述接收端消息队列的序列号,经所述服务端返回至所述消息终端。
其中,在消息存储器中的消息存储格式为RowKey=哈希前缀+用户Id+会话Id+seq',Column=聊天信息(即RowKey是由哈希前缀、用户Id、会话Id、seq'拼接组成,Column用于存储聊天的信息。)
进一步地,“哈希前缀”是经过哈希算法计算后(哈希算法根据业务自行设计),得到的一个数值。是为了使不同用户的数据在使用hbase存储时,能更加分散,避免出现数据倾斜的问题(也称热点region问题),从而影响读写性能。数据存储越分散,读写压力就越分散,性能和稳定性就越好。
其中,seq’的值为Long.MAX_VALUE-seq。因为在插入记录时,记录的rowKey会按字节进行排序再存储,为了使得最新的记录排在最前面,所以RowKey的最后组成内容seq’需要使用一个大数字减去真实的消息序号(即由序号生成服务生成的消息序号)来得到。
如图1B所示,若用户A向用户B发了一条聊天消息“你好”。
则在A的历史消息的关键信息如下:
seq=7,聊天消息=“你好”,receiver=B
则seq’=9223372036854775807-7=9223372036854775800
所以A的rowKey及消息存储为:
RowKey=1234561002009223372036854775800,Column={msg=“你好”,receiver=B}
(说明:数据存储在Column中是二进制的格式)
在B的历史消息的关键信息如下:
seq=1,聊天消息=“你好”,sender=A
则seq’=9223372036854775807-1=9223372036854775806
所以B的rowKey及消息存储为:
RowKey=1234561002009223372036854775806,Column={msg=“你好”,sender=A}
(说明:数据存储在Column中是二进制的格式)
如果此时,用户B向用户A回复了一条聊天消息“你好呀A,很高兴认识你”。
则在A的历史消息的关键信息如下:
seq=8,聊天消息=“你好呀A,很高兴认识你”,sender=B
则seq’=9223372036854775807-8=9223372036854775799
所以A的rowKey及消息存储为:
RowKey=1234561002009223372036854775799,Column={msg=“你好呀A,很高兴认识你”,sender=B}
(说明:数据存储在Column中是二进制的格式)
在B的历史消息的关键信息如下:
seq=2,聊天消息=“你好呀A,很高兴认识你”,receiver=A
则seq’=9223372036854775807-2=9223372036854775805
所以B的rowKey及消息存储为:
RowKey=1234561002009223372036854775805,Column={msg=“你好呀A,很高兴认识你”,receiver=A}
(说明:数据存储在Column中是二进制的格式)
其中,根据上述消息队列内部消息内容存储方式的描述,每一个消息根据用户的终端身份标识,以seq的顺序存储为一个消息队列模型,针对用户提取或者写入提供消息内容获取依据,并且在消息终端展示消息的顺序也是根据发送和接收端存储seq的顺序进行展示。
步骤105,所述消息终端将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。
本发明实施例中,当服务端将消息存储器中提取的消息内容返回给消息端后,在消息端按照消息内容按照队列序号进行展示。
优选地,在本发明的另一实施例中,还可以包括:
步骤A1,所述服务器响应于所述消息发送端发起的消息发送请求,获取消息发送端身份标识和发送消息内容;
具体地,在实时消息通讯时,针对消息发送端的消息发送请求,服务端获取发送端身份标识,如身份ID,以及发送消息内容,文字或图片。
步骤A2,所述服务器为所述发送消息内容生成发送消息队列序号;
具体地,如上描述,根据每个消息内容生成唯一标识的消息队列序号。
步骤A3,所述服务器将所述发送消息内容按照所述发送消息队列序号的顺序,生成发送端消息队列;
具体地,根据上述消息队列序号,将所有发送端消息存储为消息端发送队列并发送到消息存储器中。
步骤A4,所述服务器将所述发送端消息队列,以及所述发送端身份标识发送至所述消息存储器中;
步骤A5,所述消息存储器根据所述发送端身份标识存储所述发送端消息队列。
本发明实施例中,RowKey=哈希前缀+用户Id+seq',Value=聊天信息
(即RowKey由哈希前缀、用户Id、seq'拼接组成的消息队列用于存储聊天的信息。)
举例说明:
假设用户B的ID=100,Long.MAX_VALUE=9223372036854775807,
根据哈希算法计算出用户B的哈希前缀的数值=123456,
场景:用户A向该用户B发了以下几句话:(假设用户B当前的seq为0)
seq=1,聊天消息=“你好”
seq=2,聊天消息=“你吃饭了吗?”
seq=3,聊天消息=“明天我们去逛街吧!”
(注意,上面的seq都是按用户B维度生成的)
所以,在消息存储器中,以ID和哈希前缀为用户标识,存储已经分配了seq编号的消息内容。
优选地,在本发明的另一实施例中,还可以包括:
步骤B1,所述服务器响应于所述消息接收端发起的消息接收请求,获取消息接收端身份标识和接收消息内容;
步骤B2,所述服务器为所述接收消息内容生成接收消息队列序号;
步骤B3,所述服务器将所述接收消息内容按照所述接收消息队列序号的顺序,生成接收端消息队列;
步骤B4,所述服务器将所述接收端消息队列,以及所述接收端身份标识发送至所述消息存储器中;
步骤B5,所述消息存储器根据所述接收端身份标识存储所述接收端消息队列。
优选地,所述消息存储器使用hbase存储所述消息队列。
同样地,对于消息接收端发起的消息接收请求,作为消息接收方B,用户B的消息队列存储的记录如下:
RowKey=1234561009223372036854775804,Column={msg=“明天我们去逛街吧!”,sender=A}(二进制格式,此时seq=3)
RowKey=1234561009223372036854775805,Column={msg=“你吃饭了吗?”,sender=A}(二进制格式,此时seq=2)
RowKey=1234561009223372036854775806,Column={msg=“你好”,sender=A}(二进制格式,此时seq=1)
相应地,用户A的消息队列存储的记录如下(假设用户A当前的seq为6):
RowKey=1234561009223372036854775798,Column={msg=“明天我们去逛街吧!”,receiver=B}
(Column中是二进制格式,此时seq=9)
RowKey=1234561009223372036854775799,Column={msg=“你吃饭了吗?”,receiver=B}(Column中是二进制格式,此时seq=8)
RowKey=1234561009223372036854775800,Column={msg=“你好”,receiver=B}
(Column中是二进制格式,此时seq=7)
从上述例子可以看到,某用户的聊天消息存储是按序号排列的,这就是使用hbase实现了一个消息队列的模型。
在本发明实施例中,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,该方法包括:所述服务器响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;将所述待同步对话的属性信息发送至所述消息存储器;所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列;所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;所述消息终端将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。可以实现在降低终端消息同步运维成本的前提下,提高海量消息同步的效率和稳定性的目的。
参照图2,示出了本发明的一种终端消息同步装置的结构框图,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,所述的装置具体可以包括如下模块:
位于所述服务器200A的消息同步请求响应模块201,用于响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;
位于所述服务器200A的同步请求发送模块202,用于将所述待同步对话的属性信息发送至所述消息存储器;
优选地,所述消息终端包括消息发送端和消息接收端;所述待同步对话的属性信息包括所述待同步对话的消息发送端身份标识和消息接收端身份标识。
位于所述消息存储器200B的消息队列提取模块203,用于提取对应所述待同步对话的属性信息的所述消息队列;
优选地,在本发明的另一实施例中,所述消息队列提取模块203可以进一步包括:
发送端消息队列提取子模块,用于在所述消息存储器中提取对应所述消息发送端身份标识的发送端消息队列;
接收端消息队列提取子模块,用于在所述消息存储器中提取对应所述消息接收端身份标识的接收端消息队列。
位于所述消息存储器200B的消息返回模块204,用于在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;
优选地,在本发明的另一实施例中,所述消息返回模块204可以进一步包括:
发送消息返回子模块,用于在所述消息存储器中提取所述发送端消息队列中预设时间段内的发送消息内容,按照所述发送端消息队列的序列号,经所述服务端返回至所述消息终端;
接收消息返回子模块,用于在所述消息存储器中提取所述接收端消息队列中预设时间段内的接收消息内容,按照所述接收端消息队列的序列号,经所述服务端返回至所述消息终端。
位于所述消息终端200C的消息展示模块205,用于将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。
优选地,在本发明的另一实施例中,所述的装置还可以包括:
位于所述服务器的发送端属性获取模块,用于响应于所述消息发送端发起的消息发送请求,获取消息发送端身份标识和发送消息内容;
位于所述服务器的发送消息队列序号生成模块,用于为所述发送消息内容生成发送消息队列序号;
位于所述服务器的发送端消息队列生成模块,用于将所述发送消息内容按照所述发送消息队列序号的顺序,生成发送端消息队列;
位于所述服务器的发送端消息队列发送模块,用于将所述发送端消息队列,以及所述发送端身份标识发送至所述消息存储器中;
位于所述消息存储器的发送端消息队列存储模块,用于根据所述发送端身份标识存储所述发送端消息队列。
优选地,在本发明的另一实施例中,所述的装置还可以包括:
位于所述服务器的接收端属性获取模块,用于响应于所述消息接收端发起的消息接收请求,获取消息接收端身份标识和接收消息内容;
位于所述服务器的接收消息队列序号生成模块,用于为所述接收消息内容生成接收消息队列序号;
位于所述服务器的接收端消息队列生成模块,用于将所述接收消息内容按照所述接收消息队列序号的顺序,生成接收端消息队列;
位于所述服务器的接收端消息队列发送模块,用于将所述接收端消息队列,以及所述接收端身份标识发送至所述消息存储器中;
位于所述消息存储器的接收端消息队列存储模块,用于根据所述接收端身份标识存储所述接收端消息队列。
优选地,所述消息存储器使用hbase存储所述消息队列。
本发明实施例提供的装置能够实现图1的方法实施例中的各个过程,为避免重复,这里不再赘述。
在本发明实施例中的一种终端消息同步装置,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,该装置包括:位于所述服务器的位于所述服务器的消息同步请求响应模块,用于响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;位于所述服务器的同步请求发送模块,用于将所述待同步对话的属性信息发送至所述消息存储器;位于所述消息存储器的消息队列提取模块,用于提取对应所述待同步对话的属性信息的所述消息队列;位于所述消息存储器的消息返回模块,用于在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;位于所述消息终端的消息展示模块,用于将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。可以实现在降低终端消息同步运维成本的前提下,提高海量消息同步的效率和稳定性的目的。
图3为实现本发明各个实施例的一种移动终端的硬件结构示意图。
该移动终端300包括但不限于:射频单元301、网络模块302、音频输出单元303、输入单元304、传感器305、显示单元306、用户输入单元307、接口单元308、存储器309、处理器310、以及电源311等部件。本领域技术人员可以理解,图3中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器310,用于在终端消息同步系统中控制所述系统,所述系统包括的业务模块、推送服务模块、配置模块、网关模块及客户端实现终端消息同步业务,其中,所述配置模块存储网关接入配置信息;所述推送服务模块接收到所述业务模块发送的推送消息;所述推送服务模块根据所述推送消息,提取所述配置模块中存储的对应所述推送消息的网关接入配置信息;推送服务模块根据所述网关接入配置信息,连接所述网关模块;推送服务模块通过所述网关模块将所述推送消息发送至所述客户端。
应理解的是,本发明实施例中,射频单元301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器310处理;另外,将上行的数据发送给基站。通常,射频单元301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元301还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元303可以将射频单元301或网络模块302接收的或者在存储器309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元303还可以提供与移动终端300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元303包括扬声器、蜂鸣器以及受话器等。
输入单元304用于接收音频或视频信号。输入单元304可以包括图形处理器(Graphics Processing Unit,GPU)3041和麦克风3042,图形处理器3041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元306上。经图形处理器3041处理后的图像帧可以存储在存储器309(或其它存储介质)中或者经由射频单元301或网络模块302进行发送。麦克风3042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元301发送到移动通信基站的格式输出。
移动终端300还包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板3061的亮度,接近传感器可在移动终端300移动到耳边时,关闭显示面板3061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板3061。
用户输入单元307可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元307包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板3071上或在触控面板3071附近的操作)。触控面板3071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器310,接收处理器310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板3071。除了触控面板3071,用户输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板3071可覆盖在显示面板3061上,当触控面板3071检测到在其上或附近的触摸操作后,传送给处理器310以确定触摸事件的类型,随后处理器310根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图3中,触控面板3071与显示面板3061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元308为外部装置与移动终端300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端300内的一个或多个元件或者可以用于在移动终端300和外部装置之间传输数据。
存储器309可用于存储软件程序以及各种数据。存储器309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器310是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器309内的软件程序和/或模块,以及调用存储在存储器309内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器310可包括一个或多个处理单元;优选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
移动终端300还可以包括给各个部件供电的电源311(比如电池),优选的,电源311可以通过电源管理系统与处理器310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端300包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种移动终端,包括处理器310,存储器309,存储在存储器309上并可在所述处理器310上运行的计算机程序,该计算机程序被处理器310执行时实现上述终端消息同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述终端消息同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种终端消息同步方法,其特征在于,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,所述的方法包括:
所述服务器响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;
所述服务器将所述待同步对话的属性信息发送至所述消息存储器;
所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列;
所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;
所述消息终端将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。
2.根据权利要求1所述的方法,其特征在于,所述消息终端包括消息发送端和消息接收端;所述待同步对话的属性信息包括所述待同步对话的消息发送端身份标识和消息接收端身份标识。
3.根据权利要求2所述的方法,其特征在于,所述消息存储器提取对应所述待同步对话的属性信息的所述消息队列,包括:
在所述消息存储器中提取对应所述消息发送端身份标识的发送端消息队列;
在所述消息存储器中提取对应所述消息接收端身份标识的接收端消息队列。
4.根据权利要求3所述的方法,其特征在于,所述消息存储器在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端,包括:
在所述消息存储器中提取所述发送端消息队列中预设时间段内的发送消息内容,按照所述发送端消息队列的序列号,经所述服务端返回至所述消息终端;
在所述消息存储器中提取所述接收端消息队列中预设时间段内的接收消息内容,按照所述接收端消息队列的序列号,经所述服务端返回至所述消息终端。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述服务器响应于所述消息发送端发起的消息发送请求,获取消息发送端身份标识和发送消息内容;
所述服务器为所述发送消息内容生成发送消息队列序号;
所述服务器将所述发送消息内容按照所述发送消息队列序号的顺序,生成发送端消息队列;
所述服务器将所述发送端消息队列,以及所述发送端身份标识发送至所述消息存储器中;
所述消息存储器根据所述发送端身份标识存储所述发送端消息队列。
6.根据权利要求1所述的方法,其特征在于,还包括:
所述服务器响应于所述消息接收端发起的消息接收请求,获取消息接收端身份标识和接收消息内容;
所述服务器为所述接收消息内容生成接收消息队列序号;
所述服务器将所述接收消息内容按照所述接收消息队列序号的顺序,生成接收端消息队列;
所述服务器将所述接收端消息队列,以及所述接收端身份标识发送至所述消息存储器中;
所述消息存储器根据所述接收端身份标识存储所述接收端消息队列。
7.根据权利要求1-6其中之一所述的方法,其特征在于,所述消息存储器使用hbase存储所述消息队列。
8.一种终端消息同步装置,其特征在于,应用于消息存储系统,所述系统包括消息终端、服务端、消息存储器,所述消息存储器中存储有消息队列,所述消息终端分别与所述服务端以及所述消息存储器连接,所述的装置包括:
位于所述服务器的消息同步请求响应模块,用于响应于所述消息终端发起的消息同步请求,获取所述消息同步请求中的待同步对话的属性信息;
位于所述服务器的同步请求发送模块,用于将所述待同步对话的属性信息发送至所述消息存储器;
位于所述消息存储器的消息队列提取模块,用于提取对应所述待同步对话的属性信息的所述消息队列;
位于所述消息存储器的消息返回模块,用于在所述消息队列中提取预设时间段内的消息内容,按照所述消息内容的队列序号,经所述服务端返回至所述消息终端;
位于所述消息终端的消息展示模块,用于将所述消息内容按照队列序号展示在所述待同步对话的会话界面中。
9.一种移动终端,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的终端消息同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的终端消息同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910507230.XA CN110191193A (zh) | 2019-06-12 | 2019-06-12 | 一种终端消息同步方法、装置和移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910507230.XA CN110191193A (zh) | 2019-06-12 | 2019-06-12 | 一种终端消息同步方法、装置和移动终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110191193A true CN110191193A (zh) | 2019-08-30 |
Family
ID=67721623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910507230.XA Pending CN110191193A (zh) | 2019-06-12 | 2019-06-12 | 一种终端消息同步方法、装置和移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110191193A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209071A (zh) * | 2020-01-06 | 2020-05-29 | 广州虎牙科技有限公司 | 信息配置方法、装置、服务器及存储介质 |
CN112118171A (zh) * | 2020-09-04 | 2020-12-22 | 完美世界控股集团有限公司 | 消息互通系统、方法、装置、计算机设备及可读存储介质 |
CN112260935A (zh) * | 2020-10-19 | 2021-01-22 | 维沃移动通信有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN112737921A (zh) * | 2020-12-23 | 2021-04-30 | 北京百分点科技集团股份有限公司 | 消息交互方法、客户端及通信系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685018A (zh) * | 2011-03-07 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种网络即时通信信息处理的方法、系统及即时通信设备 |
CN104144116A (zh) * | 2014-07-16 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 即时通讯方法及即时通讯系统 |
US20150200879A1 (en) * | 2013-12-11 | 2015-07-16 | Cisco Technology, Inc. | Topic Categorized Instant Message Communication |
CN104883292A (zh) * | 2015-04-16 | 2015-09-02 | 江苏中威科技软件系统有限公司 | 实现消息在不同终端漫游的方法及系统 |
CN106230703A (zh) * | 2016-08-30 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 聊天记录的处理和获取方法以及装置 |
-
2019
- 2019-06-12 CN CN201910507230.XA patent/CN110191193A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685018A (zh) * | 2011-03-07 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种网络即时通信信息处理的方法、系统及即时通信设备 |
US20150200879A1 (en) * | 2013-12-11 | 2015-07-16 | Cisco Technology, Inc. | Topic Categorized Instant Message Communication |
CN104144116A (zh) * | 2014-07-16 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 即时通讯方法及即时通讯系统 |
CN104883292A (zh) * | 2015-04-16 | 2015-09-02 | 江苏中威科技软件系统有限公司 | 实现消息在不同终端漫游的方法及系统 |
CN106230703A (zh) * | 2016-08-30 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 聊天记录的处理和获取方法以及装置 |
Non-Patent Citations (2)
Title |
---|
JACKJIANG: "现代IM系统中聊天消息的同步和存储方案探讨", 《即时通讯网》 * |
封宇: "HBase存储IM消息,RowKey该怎么设计?", 《微信公众号:普通程序员》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209071A (zh) * | 2020-01-06 | 2020-05-29 | 广州虎牙科技有限公司 | 信息配置方法、装置、服务器及存储介质 |
CN112118171A (zh) * | 2020-09-04 | 2020-12-22 | 完美世界控股集团有限公司 | 消息互通系统、方法、装置、计算机设备及可读存储介质 |
CN112260935A (zh) * | 2020-10-19 | 2021-01-22 | 维沃移动通信有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN112260935B (zh) * | 2020-10-19 | 2022-04-15 | 维沃移动通信有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN112737921A (zh) * | 2020-12-23 | 2021-04-30 | 北京百分点科技集团股份有限公司 | 消息交互方法、客户端及通信系统 |
CN112737921B (zh) * | 2020-12-23 | 2022-07-29 | 北京百分点科技集团股份有限公司 | 消息交互方法、客户端及通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343081B (zh) | 信息显示方法及电子设备 | |
CN110191193A (zh) | 一种终端消息同步方法、装置和移动终端 | |
US10956280B2 (en) | Data backup method, electronic device, and storage medium | |
CN108924037A (zh) | 一种富媒体通信rcs消息的显示方法及移动终端 | |
CN108206742B (zh) | 一种消息发送方法、装置、服务器以及系统 | |
US20220278950A1 (en) | Information display method, information sending method, and electronic device | |
CN105630846B (zh) | 头像更新方法及装置 | |
WO2019201146A1 (zh) | 表情图像的显示方法及终端设备 | |
CN106775262A (zh) | 一种未读图标显示管理的方法和系统 | |
CN109561014A (zh) | 一种web即时通讯方法及系统 | |
CN109388456A (zh) | 一种头像选择方法及移动终端 | |
CN110069675A (zh) | 一种检索方法及移动终端 | |
CN108769202A (zh) | 一种消息推送方法及其服务器和终端设备 | |
CN108664288A (zh) | 一种图像截取方法及移动终端 | |
CN108521365A (zh) | 一种添加好友的方法及移动终端 | |
CN106375182B (zh) | 基于即时通信应用的语音通信方法及装置 | |
CN104731806B (zh) | 一种在社交网络中快速查找用户信息的方法及终端 | |
CN107992378B (zh) | 一种文件处理方法及移动终端 | |
CN108039998B (zh) | 邮件处理方法及收件侧终端、发件侧终端和邮件系统 | |
CN109063076A (zh) | 一种图片生成方法及移动终端 | |
CN109889613A (zh) | 一种消息推送方法、装置和移动终端 | |
CN109728918B (zh) | 虚拟物品发送方法、虚拟物品接收方法、装置及存储介质 | |
CN116418771A (zh) | 消息显示方法、消息处理方法、装置及电子设备 | |
CN109117281A (zh) | 便签生成方法和终端 | |
CN106850413B (zh) | 一种即时通讯信息的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510000 self-compiled 3-10B-2B at No. 309 Huangpu Avenue, Tianhe District, Guangzhou City, Guangdong Province Applicant after: Guangzhou Huanlao Network Technology Co., Ltd. Address before: 510000 self-compiled 3-10B-2B at No. 309 Huangpu Avenue, Tianhe District, Guangzhou City, Guangdong Province Applicant before: Guangzhou Biaoya Network Technology Co., Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190830 |