CN109446204A - 一种即时通信的数据存储方法、装置、电子设备和介质 - Google Patents
一种即时通信的数据存储方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN109446204A CN109446204A CN201811427559.7A CN201811427559A CN109446204A CN 109446204 A CN109446204 A CN 109446204A CN 201811427559 A CN201811427559 A CN 201811427559A CN 109446204 A CN109446204 A CN 109446204A
- Authority
- CN
- China
- Prior art keywords
- chat sessions
- delta data
- storage
- generic
- storage table
- 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
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/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/216—Handling conversation history, e.g. grouping of messages in sessions or threads
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例公开了一种即时通信的数据存储方法、装置、电子设备和介质。该方法包括:如果客户端中维护的任一聊天会话的状态发生变化,则获取变化数据;识别变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;根据预先建立的所属类别与存储表之间的对应关系,将变化数据更新至与所属类别相对应的存储表中;其中,所述存储表用于存储各个聊天会话的变化数据。本公开实施例的技术方案解决了现有技术中对每个会话建立对应的存储表,当用户在不同聊天会话中切换时,需要在不同存储表之间进行切换,导致消耗切换资源的问题,实现了将所有会话消息存储到一张存储表中,当用户在不同聊天会话中时,不需要建立新的存储表以及降低了存储表之间的切换频率,节省了资源并且提高了数据库的更新速度,从而能够高效支撑即时通信功能的技术效果。
Description
技术领域
本公开实施例涉及计算机数据存储技术,尤其涉及一种即时通信的数据存储方法、装置、电子设备和介质。
背景技术
现有应用软件中,存在很多需要提供即时通信聊天的功能,可以一对一聊天,也可以是群聊。
为了维护聊天会话,需要为每个聊天会话建立一个对应的存储表,在服务器端或客户端的数据库进行存储。该存储表里面包括该聊天会话所涉及的用户信息、会话内容、以及会话状态等内容。
但是,在进行本公开技术方案的研究过程中,发明人发现:如果按照上述方案进行聊天会话的记录,那么当用户在不同聊天会话中切换时,如该用户跟不同人聊天时,则需要在不同存储表之间进行切换,需要消耗切换资源。
发明内容
本公开实施例提供一种即时通信的数据存储方法、装置、电子设备和介质,以实现优化即时通信的数据存储方案,能够高效支撑即时通信的功能。
第一方面,本公开实施例提供了一种即时通信的数据存储方法,该方法包括:
如果客户端中维护的任一聊天会话的状态发生变化,则获取变化数据;
识别所述变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;
根据预先建立的所述所属类别与存储表之间的对应关系,将所述变化数据更新至与所述所属类别相对应的所述存储表中;
其中,所述存储表用于存储各个聊天会话的变化数据。
第二方面,本公开实施例还提供了一种即时通信的数据存储装置,该装置包括:
获取变化数据模块,用于如果客户端中维护的任一聊天会话的状态发生变化,则获取变化数据;
判断变化数据类别模块,用于识别所述变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;
存储表更新模块,用于根据预先建立的所述所属类别与存储表之间的对应关系,将所述变化数据更新至与所述所属类别相对应的所述存储表中;
其中,所述存储表用于存储各个聊天会话的变化数据。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的即时通信的数据存储方法。
第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例中任一所述的即时通信的数据存储方法。
本公开实施例的技术方案,通过监测客户端中维护的任一聊天会话的状态发生变化,获取变化数据,识别变化数据的所属类别,并根据变化数据,对所属类别对应的存储表进行更新,解决了现有技术中为了维护聊天会话,需要对每个会话建立对应的存储表,当用户在不同聊天会话中切换时,需要在不同存储表之间进行切换,导致存在消耗切换资源的技术问题,实现了将同一类别的数据集中存储到一张存储表中,当用户在不同聊天会话中切换时,那么不需要建立新的存储表,以及降低存储表之间的相互切换频率,此种方式降低了切换存储表时资源的消耗,节省了资源并且提高了数据库的更新速度,从而能够高效支撑即时通信功能的技术效果。
附图说明
为了更加清楚地说明本公开示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本公开所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本公开实施例一所提供的一种即时通信的数据存储方法流程示意图;
图2为本公开实施例二所提供的一种即时通信的数据存储方法流程示意图;
图3为本公开实施例三所提供的一种即时通信的数据存储装置结构示意图;
图4位本公开实施例四所提供的一种电子设备结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
为了清楚地介绍本公开的技术方案,首先解释一下聊天软件。在聊天软件中可以实现一对一聊天、群聊等。若是一对一聊天,可以确定与客户端用户进行聊天的用户的昵称、账号、二维码、以及头像等信息。若是群聊,可以确定群聊的名称、每一个群成员在群里的昵称以及每一个群成员的账号。每个聊天可称为一个会话。
实施例一
图1为本公开实施例一所提供的一种即时通信的数据存储方法流程示意图,本公开实施例可适用于对应用软件中即时通信功能的数据进行存储的情况,该方法可以由即时通信的数据存储装置来执行,该装置可以通过软件和/或硬件的形式实现,并且可以配置于电子设备中,该电子设备典型是终端设备,可选的,是手机、平板或者PC端等。
如图1所述,该方法包括:
S110、若客户端中维护的任一聊天会话的状态发生变化时,获取变化数据。
其中,客户端可以称之为用户端,与服务器相对应,为客户提供本地服务的应用程序,可选的,移动终端或者PC端中下载的应用程序,可以将下载的应用程序称之为客户端。应用程序客户端可以实现即时通信聊天的功能,即提供用户与其他一个或多个用户进行聊天会话的功能。其中,聊天会话的方式也可以不止一种,可选的,群聊,或者一对一聊天等。可以将存在聊天会话痕迹的会话,作为客户端中正在维护的聊天会话,即只要在客户端上进行过会话,就是客户端需要维护的聊天会话。聊天会话的状态可以理解为,是否建立了新的聊天会话、已有的聊天会话是否接收到新的会话消息等,已有的聊天会话是否活跃等等。
变化数据可以是产生会话时所有与会话相对应的数据,可选的,产生聊天会话对象的名称、头像、会话消息内容、发送或者接收会话消息的时间、单聊或者群聊、属于系统会话还是普通会话等等,可以将这些数据均称为变化数据。
需要说明的是,在应用程序中,可选的,聊天软件,可以在聊天软件中编写监测会话状态的程序代码,来监测客户端维护的任一聊天会话的当前状态,或者是,在聊天软件中内置监测装置来检测各个聊天会话的状态,工作人员可以根据实际情况进行设置,其具体的实施方式在此不作限定。
具体的,当监测到客户端维护的聊天会话中,只要存在会话状态的改变,就要获取与会话状态改变相对应的变化数据。
S120、识别变化数据的所属类别。
需要说明的是,可以在研发应用程序时,工作人员对所有可能产生的变化数据进行分类。其中,具体的分类标准可以是,根据变化数据的活跃程度进行划分,可选的,用户的名称、账号、或者头像等信息是不经常发生变化的,可以将此变化数据作为第一类别;聊天过程中发送和接收聊天信息的时间是经常变化的,可以将时间信息作为第二类别;当然,发生会话时会话的内容也是时刻发生变化的,可以将此数据作为第三类别等等。当然,也可以根据对变化数据的存储格式的不同进行分类,工作人员可以根据实际需求以及实际情况设置不同变化数据所属的类别。
示例性的,若是群聊,可以将参与聊天会话的群名称,以及群中每一个成员的头像、昵称以及用户标识等数据作为A类别数据,对于单聊A类别数据也是用户的名称、头像以及昵称等;将会化聊天的基本信息,可选的,将聊天会话的活跃状态,聊天会话是单聊还是群聊等,聊天会话是系统会话,还是普通会话等变化数据作为B类别数据;将具体的会话消息内容作为C类别;将接收和发送不同消息的时间作为D类别。可以根据获取到的变化数据,确定变化数据所属的类别。
需要说明的是,变化数据一般包括接收或者发送消息的时间以及内容,因此变化数据所属的类别包括至少两种。变化数据所属类别最多包括多少种,与工作人员预先设置的种类数量相关,若设置的所属类别为四种,那么变化数据所属的类别最多包括四种。
具体的,根据获取到的变化数据,确定变化数据中哪些数据属于A类别、哪些属于B类别,哪些属于C类别,以及哪些属于D类别。
S130、根据预先建立的所属类别与存储表之间的对应关系,将变化数据更新至与所属类别相对应的存储表中。
其中,所述存储表用于存储各个聊天会话的变化数据。
需要说明的是,可以预先建立所属类别与存储表之间的对应关系,可选的,将所属类别记为A、B、C、D,分别确定与A类别数据、B类别数据、C类别数据以及D类别数据相对应的表。也就是说,存储表的数量包括至少一张。将所属类别分别分为多少种,相应的存储表的数量就有多少张。可选的,将变化数据分为四大类,即所述类别有四种,相应的存储表就有四张,分别将变化数据中不同类别的数据存储到相对应的表中。
具体的,可以根据预先建立的映射关系表,将识别到的不同类别的变化数据分别更新至相对应的存储表中。
其中,存储表可以理解为存储变化数据信息的表,可以将存储表分为两大类,一类是存储聊天会话内容的消息表,另一类是存储与聊天会话消息相关联的关联信息表。
可选的,存储表包括:消息表,用于存储各个聊天会话的会话消息内容;关联信息表,用于存储各个聊天会话对应的关联信息,所述关联信息不包括所述会话消息内容。
其中,消息表可以存储会话消息内容,会话消息内容可以以字符串的形式存储到消息表中。需要说明的是,可以根据会话消息的发送者,将消息表分为至少一个子消息表,子消息表的数量可以是一个或者多个。当然,也可以不区分会话消息是由哪一个发送者发送的,将全部的会话消息存储到一个消息表中。
可选的,当只有一个消息表时,可以将接收到的或者发出的会话消息按时间顺序存储到消息表中。若一个消息表中存在至少一个子消息表时,可以将与每一个用户发生的会话消息内容存储到与用户相对应的子消息表中。
示例性的,目标用户通过客户端分别与甲、乙用户单聊,与丙、丁组成的群进行群聊。若消息表为一个时,一旦客户端监测到存在接收或者发送消息时,不论消息是发给谁的,或者是消息是由谁发送的,都可以根据会话消息的时间顺序存储到消息表中;若消息表内存在至少一张个消息表,分别为:与甲用户相对应的子消息表;与乙用户相对应的消息子表,与丙丁用户组成的群聊,相对应的消息子消息表,当检测到向A用户发送消息或者接收到A用户的消息时,就可以将A用户进行会话的会话消息,存储到与A用户相对应的子消息表中。当监测与其它用户产生会话消息时,可以将会话消息存储到与其它用户相对应的子消息表中。
关联信息表,可以用来存储与聊天会话相对应的关联信息,可选的,各个聊天会话的群组属性、各个聊天会话的基本信息等等。需要说明的是关联表只用来存储与会话消息相关的内容,因此不包括会话消息内容。
可选的,关联信息表包括:群组表,用于存储各个聊天会话的群组属性,其中,群组属性包括聊天会话的会话基础信息,以及聊天参与用户的用户基础信息;会话表,用于存储各个聊天会话的会话基本信息,其中,会话基本信息包括聊天会话的存活状态和会话类型;网络请求时间戳表,用于存储各个聊天会话向网络发起的请求时间,其中,请求时间包括:消息发起时间、各条消息发送时间、起始消息的时间戳、以及最后一条消息的时间戳。
其中,群组表中可以存储参与聊天的用户基础信息,可选的,群的名称、群成员名称,以及聊天用户的标识,在对信息进行存储时,可以根据聊天用户的标识进行存储。会话表中存储的聊天会话状态可以是,判断每一个用户或者群的聊天是处于活跃状态还是空闲状态;会话的类型可以是,群聊、一对一聊天、陌生人会话还是普通的会话等等。网络请求时间戳可以存储每一个会话的起始时间、截止时间以及每条消息发送和接收的时间。
需要说明的是,不同类别的变化数据中可以携带与每一个用户相对应的标识信息,或者建立有相应的索引关系,可以根据任意一个表中的消息,可以确定其他表中的与该用户相对应的信息。
具体的,当确定变化数据所属的类别后,可以根据变化数据所属的类别,将变化数据分别更新至各群组表、会话表、消息表或者时间戳表中的一个或者多个。
本公开实施例的技术方案,通过监测客户端中维护的任一聊天会话的状态发生变化,获取变化数据,识别变化数据的所属类别,并根据变化数据,对所属类别对应的存储表进行更新,解决了现有技术中为了维护聊天会话,需要对每个会话建立对应的存储表,当用户在不同聊天会话中切换时,需要在不同存储表之间进行切换,导致存在消耗切换资源的技术问题,实现了将同一类别的数据集中存储到一张存储表中,当用户在不同聊天会话中切换时,那么不需要建立新的存储表,以及降低存储表之间的相互切换频率,此种方式降低了切换存储表时资源的消耗,节省了资源并且提高了数据库的更新速度,从而能够高效支撑即时通信功能的技术效果。
实施例二
在上述技术方案的基础上可以确定,当监测到客户端维护的任一聊天会话的状态发生变化时,就会获取变化的数据,其中聊天会话状态的改变可以有至少一种,因此S110步骤可以包括步骤S201至S203中的一种或者多种。图2是本公开实施例二所提供的一种即时通信的数据存储方法流程示意图,如图2所示,所述方法包括:
S201、如果监测到客户端中产生新聊天会话的建立请求,则获取新聊天会话的至少一项关联信息,分别作为变化数据。
也就是说,如果监测到有新的会话时,则获取新聊天会话的相关信息,可选的,获取新聊天会话的用户名称、头像、用户标识、发起会话的时间、会话的内容、单聊还是群聊、以及判定是系统会话还是普通回话等数据信,将这些数据信息作为变化数据。
S202、如果监测到客户端维护的任一已有聊天会话中接收或写入新的会话消息内容,则将会话消息内容,作为变化数据。
可以理解为,若是监测到的已有的聊天会话,接收到或者正在会话框中编辑新的会话消息内容,则可以直接获取会话的消息内容,以及接收或者发送会话消息的时间。将会话消息内容以及时间作为变化数据。这是因为,在刚建立聊天会话时,已经获取了聊天用户名称、头像、用户标识等信息,而这些信息一般是不发生变化的。因此,当已有的聊天会话接收或者写入新的会话消息时,可以直接将会话消息内容,以及会话消息产生的时间,作为变化数据。
S203、如果监测到客户端维护的任一已有聊天会话中,用户进入了会话界面,或设定时间未收发会话消息内容,或用户输入草稿而未发送,则记录聊天会话的存活状态,作为变化数据。
可以理解为,若是监测到用户进入了会话界面,则可以获取进入会话界面的时间,以及当前的状态,可以将时间以及当前状态作为变化数据;若是在设定时间内,可选的,一个星期或者一个月,与一个或者多个用户没有进行聊天会话,可以将与该用户的聊天会话状态记录为空闲状态。当然,为了提高数据库的利用率可以将聊天会话状态为空闲状态的数据进行删除。若某一个聊天会话的状态停留在输入草稿而没有发送的状态时,则可以将草稿状态以及用户输入草稿的时间作为变化数据。
需要说明的是,S201至S203的执行没有先后顺序,可以只执行其中的一个,也可以执行其中的多个,其具体的执行顺序以及执行哪一个步骤,可以根据实际情况进行选择。
S204、识别变化数据的所属类别。
示例性的,若是根据S201获取到的变化数据,可选的,新建立的会话为单聊,可以将用户的名称、头像以及用户标识作为A类数据;单聊、普通会话等数据作为B类数据;会话消息内容作为C类数据,发起和/或结束会话的时间,发送和/或接收消息的时间数据,作为D类数据。若是通过S202获取的变化数据,则对变化数据进行类别识别可以是,将会话消息内容作为C类数据,会话消息时间作为D类数据。若是通过S203获取到的变化数据,则对变化数据进行类别识别可以是,将聊天会话的活跃状态作为B类,输入草稿的时间数据作为D类数据。
S205、根据变化数据,对所属类别对应的存储表进行更新。
需要说明的是,存储表包括,群组表、会话表、消息表、以及网络请求时间戳表。可以将A类别的数据存储到群组表中,B类别的数据存储到会话表中,C类别的数据存储到消息表中,D类别的数据存储到网络请求时间表中。可以是,预先建立不同类别的数据与存储表之间的映射关系,当获取到变化数据时,识别变化数据的类别,并根据变化数据的类别与存储表之间的映射关系,将变化数据存储到相对应的表中。
在上述技术方案的基础上,根据变化数据对所属类别对应的存储表进行更新,包括:将变化数据在所属类别对应的存储表中,对应于聊天会话标识进行顺序存储;或根据变化数据所属聊天会话的标识,在所属类别对应的存储表中查找对应的聊天会话,并对该聊天会话的已存储数据进行更改。其中,聊天会话标识中包括参与用户的用户标识。
可以理解为,根据聊天会话的标识,将变化数据顺序存储到存储表中,可选的,时间顺序。或者是根据聊天会话的标识,在与类别相对应的存储表中查找到相对应的聊天会话,可以对聊天会话的存储数据进行修改。需要说明的是,用户的标识是唯一的,同时存储表中存储的信息可以携带用户的标识,因此可以根据用户标识,从存储表中查找到对应的存储数据。
本公开实施例的技术方案,通过监测客户端中维护的任一聊天会话的状态发生变化,获取变化数据,识别变化数据的所属类别,并根据变化数据,对所属类别对应的存储表进行更新,解决了现有技术中为了维护聊天会话,需要对每个会话建立对应的存储表,当用户在不同聊天会话中切换时,需要在不同存储表之间进行切换,导致存在消耗切换资源的技术问题,实现了将所有会话消息存储到一张存储表中,当用户在不同聊天会话中时,不需要建立新的存储表以及存储表之间的相互切换,此种方式不存在切换存储表时资源的消耗,节省了资源并且提高了数据库的更新速度,从而能够高效支撑即时通信功能的技术效果。
实施例三
图3为本公开实施例三提供的一种即时通信的数据存储装置结构示意图,该装置可以配置于终端中,也可以配置于客户端中。其中该装置包括:获取变化数据模块310、判断变化数据类别模块320以及存储表更新模块330。
其中,获取变化数据模块310,用于如果客户端中维护的任一聊天会话的状态发生变化,则获取变化数据;判断变化数据类别模块320,用于识别所述变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;存储表更新模块330,用于根根据预先建立的所属类别与存储表之间的对应关系,将变化数据更新至与所属类别相对应的存储表中;其中,所述存储表用于存储各个聊天会话的变化数据。
在上述技术方案的基础上,所述存储表包括:
消息表,用于存储各个聊天会话的会话消息内容;
关联信息表,用于存储各个聊天会话对应的关联信息,所述关联信息不包括所述会话消息内容
在上述各技术方案的基础上,所述关联信息表包括:
群组表,用于存储各个聊天会话的群组属性,其中,所述群组属性包括聊天会话的会话基础信息,以及聊天参与用户的用户基础信息;会话表,用于存储各个聊天会话的会话基本信息,其中,所述会话基本信息包括聊天会话的存活状态和会话类型;网络请求时间戳表,用于存储各个聊天会话向网络发起的请求时间,其中,所述请求时间包括:消息发起时间、各条消息发送时间、起始消息的时间戳、以及最后一条消息的时间戳。
在上述各技术方案的基础上,所述获取变化数据模块还用于:
如果监测到客户端中产生新聊天会话的建立请求,则获取所述新聊天会话的至少一项关联信息,分别作为变化数据;
如果监测到客户端维护的任一已有聊天会话中接收或写入新的会话消息内容,则将所述会话消息内容,作为变化数据;
如果监测到客户端维护的任一已有聊天会话中,用户进入了会话界面,或设定时间未收发会话消息内容,或用户输入草稿而未发送,则记录聊天会话的存活状态,作为变化数据。
在上述各技术方案的基础上,所述存储表更新模块还用于:
将所述变化数据在所属类别对应的存储表中,对应于聊天会话标识进行顺序存储;或
根据所述变化数据所属聊天会话的标识,在所属类别对应的存储表中查找对应的聊天会话,并对该聊天会话的已存储数据进行更改。
在上述各技术方案的基础上,聊天会话的标识中包括参与用户的用户标识。
本公开实施例的技术方案,通过监测客户端中维护的任一聊天会话的状态发生变化,获取变化数据,识别变化数据的所属类别,并根据变化数据,对所属类别对应的存储表进行更新,解决了现有技术中为了维护聊天会话,需要对每个会话建立对应的存储表,当用户在不同聊天会话中切换时,需要在不同存储表之间进行切换,导致存在消耗切换资源的技术问题,实现了将所有会话消息存储到一张存储表中,当用户在不同聊天会话中时,不需要建立新的存储表以及存储表之间的相互切换,此种方式不存在切换存储表时资源的消耗,节省了资源并且提高了数据库的更新速度,从而能够高效支撑即时通信功能的技术效果。
本公开实施例所提供的即时通信的数据存储装置可执行本公开任意实施例所提供的即时通信的数据存储方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
实施例四
图4为本公开实施例四提供的一种电子设备的结构示意图。图4示出了适于用来实现本公开实施例实施方式的示例性电子设备400的框图。下面参考图4,其示出了适于用来实现本公开实施例的电子设备(例如终端设备)400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM402被安装。在该计算机程序被处理装置401执行时,执行本公开公开实施例的方法中限定的上述功能。
需要说明的是,本公开公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:如果客户端中维护的任一聊天会话的状态发生变化,则获取变化数据;识别所述变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;根据所述变化数据,对所属类别对应的存储表进行更新。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定,例如,获取变化数据模块还可以被描述为“获取数据模块”;判断变化数据类别模块还可以描述为“判断数据类别模块”等。
以上描述仅为本公开公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
Claims (10)
1.一种即时通信的数据存储方法,其特征在于,包括:
若客户端中维护的任一聊天会话的状态发生变化时,获取变化数据;
识别所述变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;
根据预先建立的所述所属类别与存储表之间的对应关系,将所述变化数据更新至与所述所属类别相对应的所述存储表中;
其中,所述存储表用于存储各个聊天会话的变化数据。
2.根据权利要求1所述的方法,其特征在于,所述存储表包括:
消息表,用于存储各个聊天会话的会话消息内容;
关联信息表,用于存储各个聊天会话对应的关联信息,所述关联信息不包括所述会话消息内容。
3.根据权利要求2所述的方法,其特征在于,所述关联信息表包括:
群组表,用于存储各个聊天会话的群组属性,其中,所述群组属性包括聊天会话的会话基础信息,以及聊天参与用户的用户基础信息;
会话表,用于存储各个聊天会话的会话基本信息,其中,所述会话基本信息包括聊天会话的存活状态和会话类型;
网络请求时间戳表,用于存储各个聊天会话向网络发起的请求时间,其中,所述请求时间包括:消息发起时间、各条消息发送时间、起始消息的时间戳、以及最后一条消息的时间戳。
4.根据权利要求3所述的方法,其特征在于,若客户端中维护的任一聊天会话的状态发生变化时,则获取变化数据包括:
如果监测到客户端中产生新聊天会话的建立请求,则获取所述新聊天会话的至少一项关联信息,分别作为变化数据;
如果监测到客户端维护的任一已有聊天会话中接收或写入新的会话消息内容,则将所述会话消息内容,作为变化数据;
如果监测到客户端维护的任一已有聊天会话中,用户进入了会话界面,或设定时间未收发会话消息内容,或用户输入草稿而未发送,则记录聊天会话的存活状态,作为变化数据。
5.根据权利要求1-4任一所述的方法,其特征在于,根据所述变化数据,对所属类别对应的存储表进行更新包括:
将所述变化数据在所属类别对应的存储表中,对应于聊天会话标识进行顺序存储;或
根据所述变化数据所属聊天会话的标识,在所属类别对应的存储表中查找对应的聊天会话,并对该聊天会话的已存储数据进行更改。
6.根据权利要求5所述的方法,其特征在于,聊天会话的标识中包括参与用户的用户标识。
7.一种即时通信的数据存储装置,其特征在于,包括:
获取变化数据模块,用于如果客户端中维护的任一聊天会话的状态发生变化,则获取变化数据;
判断变化数据类别模块,用于识别所述变化数据的所属类别,其中,聊天会话的变化数据所属类别包括至少两个;
存储表更新模块,用于根据预先建立的所述所属类别与存储表之间的对应关系,将所述变化数据更新至与所述所属类别相对应的所述存储表中;
其中,所述存储表用于存储各个聊天会话的变化数据。
8.根据权利要求7所述的装置,其特征在于,所述存储表包括:
消息表,用于存储各个聊天会话的会话消息内容;
关联信息表,用于存储各个聊天会话对应的关联信息,所述关联信息不包括所述会话消息内容。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的即时通信的数据存储方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-6中任一所述的即时通信的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427559.7A CN109446204B (zh) | 2018-11-27 | 2018-11-27 | 一种即时通信的数据存储方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427559.7A CN109446204B (zh) | 2018-11-27 | 2018-11-27 | 一种即时通信的数据存储方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109446204A true CN109446204A (zh) | 2019-03-08 |
CN109446204B CN109446204B (zh) | 2022-04-15 |
Family
ID=65555854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811427559.7A Active CN109446204B (zh) | 2018-11-27 | 2018-11-27 | 一种即时通信的数据存储方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446204B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030918A (zh) * | 2019-11-19 | 2020-04-17 | 维沃移动通信有限公司 | 一种消息处理方法、电子设备及服务器 |
CN111104407A (zh) * | 2019-12-13 | 2020-05-05 | 紫光云(南京)数字技术有限公司 | 一种基于xmpp协议的数据本地存储方法 |
CN111641690A (zh) * | 2020-05-20 | 2020-09-08 | 北京字节跳动网络技术有限公司 | 会话消息处理方法、装置及电子设备 |
CN112583896A (zh) * | 2020-11-30 | 2021-03-30 | 北京达佳互联信息技术有限公司 | 会话管理方法、装置、电子设备、服务器及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621481A (zh) * | 2008-06-30 | 2010-01-06 | 国际商业机器公司 | 保持聊天记录和聊天内容的对应关系的设备和方法 |
CN102915373A (zh) * | 2012-11-06 | 2013-02-06 | 无锡江南计算技术研究所 | 一种数据存储方法和装置 |
US20170083586A1 (en) * | 2015-09-22 | 2017-03-23 | Riffsy, Inc. | Integrated dynamic interface for expression-based retrieval of expressive media content |
CN106656754A (zh) * | 2016-12-08 | 2017-05-10 | 北京奇虎科技有限公司 | 一种基于即时通讯软件的信息提取方法及装置 |
CN107239479A (zh) * | 2017-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据存储以及查询的方法及装置 |
US20170293627A1 (en) * | 2015-01-21 | 2017-10-12 | Maana, Inc. | Dynamic semantic models having multiple indices |
CN107656936A (zh) * | 2016-07-26 | 2018-02-02 | 北京北信源软件股份有限公司 | 一种即时通信领域的终端数据库构建方法 |
CN108289053A (zh) * | 2017-01-10 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 即时通信会话的控制方法、装置和系统 |
CN108287889A (zh) * | 2018-01-17 | 2018-07-17 | 清华大学 | 一种基于弹性表模型的多源异构数据存储方法和系统 |
CN108763524A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 电子装置、聊天数据处理方法和计算机可读存储介质 |
-
2018
- 2018-11-27 CN CN201811427559.7A patent/CN109446204B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621481A (zh) * | 2008-06-30 | 2010-01-06 | 国际商业机器公司 | 保持聊天记录和聊天内容的对应关系的设备和方法 |
CN102915373A (zh) * | 2012-11-06 | 2013-02-06 | 无锡江南计算技术研究所 | 一种数据存储方法和装置 |
US20170293627A1 (en) * | 2015-01-21 | 2017-10-12 | Maana, Inc. | Dynamic semantic models having multiple indices |
US20170083586A1 (en) * | 2015-09-22 | 2017-03-23 | Riffsy, Inc. | Integrated dynamic interface for expression-based retrieval of expressive media content |
CN107656936A (zh) * | 2016-07-26 | 2018-02-02 | 北京北信源软件股份有限公司 | 一种即时通信领域的终端数据库构建方法 |
CN106656754A (zh) * | 2016-12-08 | 2017-05-10 | 北京奇虎科技有限公司 | 一种基于即时通讯软件的信息提取方法及装置 |
CN108289053A (zh) * | 2017-01-10 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 即时通信会话的控制方法、装置和系统 |
CN107239479A (zh) * | 2017-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据存储以及查询的方法及装置 |
CN108287889A (zh) * | 2018-01-17 | 2018-07-17 | 清华大学 | 一种基于弹性表模型的多源异构数据存储方法和系统 |
CN108763524A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 电子装置、聊天数据处理方法和计算机可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030918A (zh) * | 2019-11-19 | 2020-04-17 | 维沃移动通信有限公司 | 一种消息处理方法、电子设备及服务器 |
CN111030918B (zh) * | 2019-11-19 | 2022-03-25 | 维沃移动通信有限公司 | 一种消息处理方法、电子设备及服务器 |
CN111104407A (zh) * | 2019-12-13 | 2020-05-05 | 紫光云(南京)数字技术有限公司 | 一种基于xmpp协议的数据本地存储方法 |
CN111641690A (zh) * | 2020-05-20 | 2020-09-08 | 北京字节跳动网络技术有限公司 | 会话消息处理方法、装置及电子设备 |
CN112583896A (zh) * | 2020-11-30 | 2021-03-30 | 北京达佳互联信息技术有限公司 | 会话管理方法、装置、电子设备、服务器及存储介质 |
CN112583896B (zh) * | 2020-11-30 | 2023-03-21 | 北京达佳互联信息技术有限公司 | 会话管理方法、装置、电子设备、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109446204B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446204A (zh) | 一种即时通信的数据存储方法、装置、电子设备和介质 | |
US7418497B2 (en) | Automatically infering and updating an availability status of a user | |
CN101983501A (zh) | 具有语音消息概要的用户界面 | |
US20080091782A1 (en) | Method and system for delegating and managing tasks over instant messenger | |
US9699130B2 (en) | User interface with recipient status indication | |
WO2020238873A1 (zh) | 一种通信方法、服务器和通信系统 | |
US20060005133A1 (en) | Graphical representation of the availability of an instant messaging user for communication | |
CN109710370B (zh) | 会话列表显示方法、装置和电子设备 | |
CN113591439B (zh) | 一种信息交互方法、装置、电子设备及存储介质 | |
CN103795607A (zh) | 一种消息处理方法、即时通信客户端及即时通信系统 | |
CN109697100A (zh) | 会话消息显示处理方法和装置 | |
US20160112358A1 (en) | Apparatus and method for intelligent suppression of incoming multi-format multi-protocol communications | |
CN109923567A (zh) | 聊天型任务管理系统 | |
CN103152462B (zh) | 一种通信录分享方法及装置 | |
CN103067247A (zh) | 一种消息处理的方法及移动设备 | |
CN114448922B (zh) | 消息分级处理方法、装置、设备及存储介质 | |
WO2021086590A1 (en) | Coordinated unread count for email applications | |
US20230124204A1 (en) | Information display method and device, terminal and storage medium | |
CN109688051A (zh) | 会话列表显示方法、装置和电子设备 | |
CN107635016A (zh) | 一种基于大数据的通话信息管理方法及系统 | |
CN104427285A (zh) | 一种提示信息生成方法及装置 | |
EP3933564A1 (en) | Song list switching method, apparatus and system, terminal, and storage medium | |
US20100226486A1 (en) | Method of informing a teleconference participant that a person-of-interest has become active within the teleconference | |
CN106161188B (zh) | 消息发送方法、消息展示方法及装置 | |
CN101227321A (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 |