CN108763524B - 电子装置、聊天数据处理方法和计算机可读存储介质 - Google Patents

电子装置、聊天数据处理方法和计算机可读存储介质 Download PDF

Info

Publication number
CN108763524B
CN108763524B CN201810546930.5A CN201810546930A CN108763524B CN 108763524 B CN108763524 B CN 108763524B CN 201810546930 A CN201810546930 A CN 201810546930A CN 108763524 B CN108763524 B CN 108763524B
Authority
CN
China
Prior art keywords
chat
preset
database
ids
data processing
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
Application number
CN201810546930.5A
Other languages
English (en)
Other versions
CN108763524A (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.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen Co 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 Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN201810546930.5A priority Critical patent/CN108763524B/zh
Publication of CN108763524A publication Critical patent/CN108763524A/zh
Application granted granted Critical
Publication of CN108763524B publication Critical patent/CN108763524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开一种电子装置、聊天数据处理方法和计算机可读存储介质,该方法包括:在检测到聊天消息产生时,获取聊天双方的ID;将聊天双方的ID按预设生成规则生成会话ID;根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;将所述聊天消息存储到所述确定的数据库中。本发明技术方案提升了存储系统的聊天消息存储速度,保证即时通讯平台的实时性和低延迟。

Description

电子装置、聊天数据处理方法和计算机可读存储介质
技术领域
本发明涉及通信数据处理领域,特别涉及一种电子装置、聊天数据处理方法和计算机可读存储介质。
背景技术
随着即时通讯平台的用户量增加,聊天消息量越来越大,对存储系统提出了很高的要求,现有存储系统通常不具备文件内容处理能力,对聊天消息统一存储,当聊天消息量大幅增加时,存储系统对聊天消息的存储速度会降低,无法满足即时通讯平台实时性高、低延迟的需求。
发明内容
本发明的主要目的是提供一种电子装置、聊天数据处理方法和计算机可读存储介质,旨在提升存储系统的聊天消息存储速度,保证即时通讯平台的实时性和低延迟。
为实现上述目的,本发明提出的电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的聊天数据处理系统,所述聊天数据处理系统被所述处理器执行时实现如下步骤:
A1、在检测到聊天消息产生时,获取聊天双方的ID;
B1、将聊天双方的ID按预设生成规则生成会话ID;
C1、根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
D1、将所述聊天消息存储到所述确定的数据库中。
优选地,在所述步骤D1之前,所述处理器还用于执行所述聊天数据处理系统,以实现如下步骤:
对所述聊天消息进行预设字段检测;
在从所述聊天消息中检测出预设字段后,根据预先确定的预设字段与标签之间的映射关系,确定各个检测出的预设字段各自对应的标签;
对所述聊天消息标记上所述确定的各个标签。
优选地,在所述步骤D1之前,所述处理器还用于执行所述聊天数据处理系统,以实现如下步骤:
生成所述聊天消息的消息ID,所述消息ID的生成方式为在前一个消息ID的数值基础上增大预设值。
优选地,所述处理器还用于执行所述聊天数据处理系统,以实现如下步骤:
接收用户的查询请求,所述查询请求中包含待查询的聊天双方的ID和查询条件;
根据所述待查询的聊天双方的ID按预设生成规则生成会话ID;
根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
从所述确定的数据库中找出符合所述查询条件的聊天记录。
优选地,所述预设生成规则包括:
若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面;
若聊天双方分别为普通用户和预设特定用户,则将普通用户的ID拼接在预设特定用户的ID后面。
本发明还提出一种聊天数据处理方法,包括步骤:
A2、在检测到聊天消息产生时,获取聊天双方的ID;
B2、将聊天双方的ID按预设生成规则生成会话ID;
C2、根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
D2、将所述聊天消息存储到所述确定的数据库中。
优选地,在所述步骤D2之前,所述聊天数据处理方法还包括:
对所述聊天消息进行预设字段检测;
在从所述聊天消息中检测出预设字段后,根据预先确定的预设字段与标签之间的映射关系,确定各个检测出的预设字段各自对应的标签;
对所述聊天消息标记上所述确定的各个标签。
优选地,所述聊天数据处理方法还包括步骤:
接收用户的查询请求,所述查询请求中包含待查询的聊天双方的ID和查询条件;
根据所述待查询的聊天双方的ID按预设生成规则生成会话ID;
根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
从所述确定的数据库中找出符合所述查询条件的聊天记录。
优选地,所述预设生成规则包括:
若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面;
若聊天双方分别为普通用户和预设特定用户,则将普通用户的ID拼接在预设特定用户的ID后面。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有聊天数据处理系统,所述聊天数据处理系统可被至少一个处理器执行,以使所述至少一个处理器执行如下步骤:
在检测到聊天消息产生时,获取聊天双方的ID;
将聊天双方的ID按预设生成规则生成会话ID;
根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
将所述聊天消息存储到所述确定的数据库中。
本发明技术方案,通过采用分布式数据库集群,一个会员ID的后N位数对应映射分布式数据库集群中的一个数据库,在检测到聊天消息产生后,根据聊天双方的ID按预设生成规则生成会话ID,从而根据会话ID的后N位数快速定位到所对应的数据库,将聊天消息进行存储。相较于现有技术采用将所有数据统一存储到一个数据库中的方式而言,本发明方案通过采用分布式存储聊天数据的处理,在聊天数据量大时,各个数据库分别进行各自对应的聊天数据的存储处理,不会因为聊天数据量过大而造成存储缓慢,提升了存储系统的存储速度,保证了存储系统的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明聊天数据处理方法一实施例的流程示意图;
图2为本发明聊天数据处理方法二实施例的流程示意图;
图3为本发明聊天数据处理方法三实施例的流程示意图;
图4为本发明聊天数据处理系统一实施例的运行环境示意图;
图5为本发明聊天数据处理系统一实施例的程序模块图;
图6为本发明聊天数据处理系统二实施例的程序模块图;
图7为本发明聊天数据处理系统三实施例的程序模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明提出一种聊天数据处理方法,可应用于各种即时通讯平台中。
如图1所示,图1为本发明聊天数据处理方法一实施例的流程示意图。
本实施例中,该聊天数据处理方法包括:
步骤S10,在检测到聊天消息产生时,获取聊天双方的ID;
例如当第一用户给第二用户发送消息,系统检测到有聊天消息产生,则去获取聊天双方的ID(即获取第一用户的ID和第二用户的ID)。
步骤S20,将聊天双方的ID按预设生成规则生成会话ID;
系统中预先设定了会话ID的生成规则,在获取到聊天双方的ID后,根据该预设生成规则将获得的聊天双方的ID生成得到会话ID。本实施例优选的预设生成规则为:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面(例如两普通用户的ID分别为11111111和22222222,则会话ID为2222222211111111);若聊天双方分别为普通用户和预设特定用户(例如,客服、机器人等),则将普通用户的ID拼接在预设特定用户的ID后面(例如普通用户的ID为22222222,预设特定用户的ID为11221111,则对应的会话ID为1122111122222222)。当然,在其它实施例中,会话ID的生成规则也可以为其它方案。
步骤S30,根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
系统采用分布式数据库集群用于存储聊天记录,分布式数据库集群中的每个数据库均预先设置了对应的数字编号。聊天双方的聊天消息的存储数据库通过其会话ID来确定,根据会话ID的后N位数(例如后4位)作为数字编号,从而确定对应的数据库(即用来存储当前聊天消息的数据库)。后N位数相同的所有会话ID都是对应数字编号为该后N位数的数据库。
步骤S40,将所述聊天消息存储到所述确定的数据库中。
本实施例技术方案,通过采用分布式数据库集群,一个会员ID的后N位数对应映射分布式数据库集群中的一个数据库,在检测到聊天消息产生后,根据聊天双方的ID按预设生成规则生成会话ID,从而根据会话ID的后N位数快速定位到所对应的数据库,将聊天消息进行存储。相较于现有技术采用将所有数据统一存储到一个数据库中的方式而言,本方案通过采用分布式存储聊天数据的处理,在聊天数据量大时,各个数据库分别进行各自对应的聊天数据的存储处理,不会因为聊天数据量过大而造成存储缓慢,提升了存储系统的存储速度,保证了存储系统的实时性。
如图2所示,本实施例的聊天数据处理方法,在所述步骤S40之前还包括:
步骤S50,对所述聊天消息进行预设字段检测;
所述预设字段例如为业务名称、订单名称、产品名等预先设置的关键字段。在将聊天消息存储到对应的数据库之前,先检测所述聊天消息中是否包含有这些预设字段。
步骤S60,在从所述聊天消息中检测出预设字段后,根据预先确定的预设字段与标签之间的映射关系,确定各个检测出的预设字段各自对应的标签;
如果在检测该聊天消息中检测出预设字段,则确定检测出的所有预设字段各自对应的标签;系统中具有预设字段与标签之间的映射关系表,通过查找该映射关系表就可以确定检测出的各个预设字段对应的标签。
步骤S70,对所述聊天消息标记上所述确定的各个标签。
给所述聊天消息标记上确定的各个标签,这样给在查询聊天记录时,可以支持更多维度需求的查询,可根据相应的字段对应标签获得精确的查询结果。
当然,如果所述聊天消息中并不包含预设字段,则检测不到预设字段,直接执行步骤S40。
进一步地,在所述步骤S40之前,所述聊天数据处理方法还包括:
生成所述聊天消息的消息ID,所述消息ID的生成方式为在前一个消息ID的数值基础上增大预设值。
针对每一条聊天消息,均为其生成相应的消息ID,消息ID的数值是根据聊天消息的先后顺序逐渐递增的,这样在查询聊天记录时,根据查询到的所有聊天消息的消息ID,就可以知晓聊天消息的先后顺序,不会造成逻辑混乱。
进一步地,本实施例的聊天数据处理方法还包括:缓存处理。该缓存处理包括:定时清空分布式缓存中的存储的数据,并获取最近预设时间范围内(例如最近24小时内)存储的聊天消息,将获取到的聊天消息存储到分布式缓存中。
如图3所示,本实施例的聊天数据处理方法还包括:
步骤S101,接收用户的查询请求,所述查询请求中包含待查询的聊天双方的ID和查询条件;
当用户需要查询聊天记录时,用户输入查询条件和待查询的聊天双方的ID(例如用户要查询用户A和用户B之间的聊天记录,则待查询的聊天双方的ID为用户A的ID和用户B的ID),以形成查询请求。本实施例中,查询条件可以为时间范围、消息标签(例如业务名称对应的标签、订单名称对应的标签等)等条件中的一个或多个。系统接收用户的查询请求,确定查询请求中的待查询的聊天双方的ID和查询条件。
步骤S102,根据所述待查询的聊天双方的ID按预设生成规则生成会话ID;
根据从所述查询请求中确定的待查询的聊天双方的ID,按照预设生成规则将待查询的聊天双方的ID生成得到会话ID。本实施例优选的预设生成规则为:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面(例如两普通用户的ID分别为11111111和22222222,则会话ID为2222222211111111);若聊天双方分别为普通用户和预设特定用户(例如,客服、机器人等),则将普通用户的ID拼接在预设特定用户的ID后面(例如普通用户的ID为22222222,预设特定用户的ID为11221111,则对应的会话ID为1122111122222222)。当然,在其它实施例中,会话ID的生成规则也可以为其它方案。
步骤S103,根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
存储待查询的聊天双方的聊天消息的数据库通过待查询的聊天双方的会话ID来确定,根据该会话ID的后N位数(例如后4位)作为数字编号,从而确定对应的数据库(即存储待查询的聊天双方的聊天消息的数据库)。后N位数相同的所有会话ID都是对应数字编号为该后N位数的数据库。
步骤S104,从所述确定的数据库中找出符合所述查询条件的聊天记录。
在确定具体的数据库后,根据查询请求中的查询条件从该确定的数据库中筛选符合要求的聊天记录。
本实施例技术方案,根据查询请求中的聊天双方的ID按预设生成规则生成会话ID,从而根据会话ID的后N位数快速确定所对应的数据库,进而在该确定的数据库中查询符合查询条件的聊天记录。相较于现有技术采用在统一数据库中查询而言,本技术方案采用根据各个查询请求快速定位到各个查询请求各自对应的数据库,然后在各个查询请求各自对应的数据库中同步进行查询,查询速度更快,保证了查询处理的实时性。
进一步地,本实施例的聊天数据处理方法,在步骤S103之前还包括:
在分布式缓存中查找与所述会话ID对应且符合所述查询条件的聊天记录;
先根据待查询的聊天双方的会话ID和所述查询条件在分布式缓存中进行查找,看所要查询的聊天记录是否为最近发生的聊天记录。
若查找到与所述会话ID对应且符合所述查询条件的聊天记录,则输出查找到的聊天记录;
如果在分布式缓存中查找到与所述会话ID对应且符合所述查询条件的聊天记录,则直接输出查询结果(即查找到的聊天记录),输出方式可以为屏幕上显示,或形成文本格式文件等方式。
如果在分布式缓存中没有查找到与所述会话ID对应且符合所述查询条件的聊天记录,则执行步骤S103,以在数据库查找。
本实施例,在查询聊天记录时,先采用在分布式缓存中进行快速查找,然后在到数据库中查找,若在分布式缓存中直接查找到需要的聊天记录,则查询反馈会非常快,提升了查询反馈速度。
本发明聊天数据处理方法中,所述预设生成规则采用:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面;若聊天双方分别为普通用户和预设特定用户,则将普通用户的ID拼接在预设特定用户的ID后面。如此,会话ID的后N位数(例如后4位),实际为较小ID的后四位,由于用户ID的生成是均匀连续的,因此,会话ID的后N位也是均匀连续的,每个数据库存储均匀的用户量的聊天数据。例如采用会话ID的后4位数为例,则后4位数可能的情况为0000至9999中任意一种,对应的数据库数量则为1万个,1万个数据库的数字编号分别从0000至9999。
此外,本发明还提出一种聊天数据处理系统。
请参阅图4,是本发明聊天数据处理系统10较佳实施例的运行环境示意图。
在本实施例中,聊天数据处理系统10安装并运行于电子装置1中。电子装置1可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图4仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11用于存储安装于电子装置1的应用软件及各类数据,例如聊天数据处理系统10的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行聊天数据处理系统10等。
显示器13在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。电子装置1的部件11-13通过系统总线相互通信。
请参阅图5,是本发明聊天数据处理系统10较佳实施例的程序模块图。在本实施例中,聊天数据处理系统10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。例如,在图5中,聊天数据处理系统10可以被分割成获取模块101、第一生成模块102、第一确定模块103及存储模块104。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述聊天数据处理系统10在电子装置1中的执行过程,其中:
获取模块101,用于在检测到聊天消息产生时,获取聊天双方的ID;
例如当第一用户给第二用户发送消息,电子装置1检测到有聊天消息产生,则去获取聊天双方的ID(即获取第一用户的ID和第二用户的ID)。
第一生成模块102,用于将聊天双方的ID按预设生成规则生成会话ID;
电子装置1中预先设定了会话ID的生成规则,在获取到聊天双方的ID后,根据该预设生成规则将获得的聊天双方的ID生成得到会话ID。本实施例优选的预设生成规则为:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面(例如两普通用户的ID分别为11111111和22222222,则会话ID为2222222211111111);若聊天双方分别为普通用户和预设特定用户(例如,客服、机器人等),则将普通用户的ID拼接在预设特定用户的ID后面(例如普通用户的ID为22222222,预设特定用户的ID为11221111,则对应的会话ID为1122111122222222)。当然,在其它实施例中,会话ID的生成规则也可以为其它方案。
第一确定模块103,用于根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
电子装置1采用分布式数据库集群用于存储聊天记录,分布式数据库集群中的每个数据库均预先设置了对应的数字编号。聊天双方的聊天消息的存储数据库通过其会话ID来确定,根据会话ID的后N位数(例如后4位)作为数字编号,从而确定对应的数据库(即用来存储当前聊天消息的数据库)。后N位数相同的所有会话ID都是对应数字编号为该后N位数的数据库。
存储模块104,用于将所述聊天消息存储到所述确定的数据库中。
本实施例技术方案,通过采用分布式数据库集群,一个会员ID的后N位数对应映射分布式数据库集群中的一个数据库,在检测到聊天消息产生后,根据聊天双方的ID按预设生成规则生成会话ID,从而根据会话ID的后N位数快速定位到所对应的数据库,将聊天消息进行存储。相较于现有技术采用将所有数据统一存储到一个数据库中的方式而言,本方案通过采用分布式存储聊天数据的处理,在聊天数据量大时,各个数据库分别进行各自对应的聊天数据的存储处理,不会因为聊天数据量过大而造成存储缓慢,提升了存储系统的存储速度,保证了存储系统的实时性。
如图6所示,本实施例的聊天数据处理系统,还包括:
检测模块105,用于在将所述聊天消息存储到所述确定的数据库中之前,对所述聊天消息进行预设字段检测;
所述预设字段例如为业务名称、订单名称、产品名等预先设置的关键字段。在将聊天消息存储到对应的数据库之前,先检测所述聊天消息中是否包含有这些预设字段。
第二确定模块106,用于在从所述聊天消息中检测出预设字段后,根据预先确定的预设字段与标签之间的映射关系,确定各个检测出的预设字段各自对应的标签;
如果在检测该聊天消息中检测出预设字段,则确定检测出的所有预设字段各自对应的标签;电子装置1中具有预设字段与标签之间的映射关系表,通过查找该映射关系表就可以确定检测出的各个预设字段对应的标签。
标记模块107,用于对所述聊天消息标记上所述确定的各个标签。
给所述聊天消息标记上确定的各个标签,这样给在查询聊天记录时,可以支持更多维度需求的查询,可根据相应的字段对应标签获得精确的查询结果。
当然,如果所述聊天消息中并不包含预设字段,则检测不到预设字段,直接跳转至存储模块104执行存储操作。
进一步地,本实施例中,所述聊天数据处理系统还包括:
第二生成模块,用于生成所述聊天消息的消息ID,所述消息ID的生成方式为在前一个消息ID的数值基础上增大预设值。
针对每一条聊天消息,均为其生成相应的消息ID,消息ID的数值是根据聊天消息的先后顺序逐渐递增的,这样在查询聊天记录时,根据查询到的所有聊天消息的消息ID,就可以知晓聊天消息的先后顺序,不会造成逻辑混乱。
进一步地,本实施例的聊天数据处理电子装置1还包括缓存处理模块,该缓存处理模块,用于定时清空分布式缓存中的存储的数据,并获取最近预设时间范围内(例如最近24小时内)存储的聊天消息,将获取到的聊天消息存储到分布式缓存中。
如图7所示,本实施例的聊天数据处理系统还包括:
请求接收模块108,用于接收用户的查询请求,所述查询请求中包含待查询的聊天双方的ID和查询条件;
当用户需要查询聊天记录时,用户输入查询条件和待查询的聊天双方的ID(例如用户要查询用户A和用户B之间的聊天记录,则待查询的聊天双方的ID为用户A的ID和用户B的ID),以形成查询请求。本实施例中,查询条件可以为时间范围、消息标签(例如业务名称对应的标签、订单名称对应的标签等)等条件中的一个或多个。电子装置1接收用户的查询请求,确定查询请求中的待查询的聊天双方的ID和查询条件。
第三生成模块109,用于根据所述待查询的聊天双方的ID按预设生成规则生成会话ID;
根据从所述查询请求中确定的待查询的聊天双方的ID,按照预设生成规则将待查询的聊天双方的ID生成得到会话ID。本实施例优选的预设生成规则为:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面(例如两普通用户的ID分别为11111111和22222222,则会话ID为2222222211111111);若聊天双方分别为普通用户和预设特定用户(例如,客服、机器人等),则将普通用户的ID拼接在预设特定用户的ID后面(例如普通用户的ID为22222222,预设特定用户的ID为11221111,则对应的会话ID为1122111122222222)。当然,在其它实施例中,会话ID的生成规则也可以为其它方案。
第三确定模块110,用于根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
存储待查询的聊天双方的聊天消息的数据库通过待查询的聊天双方的会话ID来确定,根据该会话ID的后N位数(例如后4位)作为数字编号,从而确定对应的数据库(即存储待查询的聊天双方的聊天消息的数据库)。后N位数相同的所有会话ID都是对应数字编号为该后N位数的数据库。
查询模块111,用于从所述确定的数据库中找出符合所述查询条件的聊天记录。
在确定具体的数据库后,根据查询请求中的查询条件从该确定的数据库中筛选符合要求的聊天记录。
本实施例技术方案,根据查询请求中的聊天双方的ID按预设生成规则生成会话ID,从而根据会话ID的后N位数快速确定所对应的数据库,进而在该确定的数据库中查询符合查询条件的聊天记录。相较于现有技术采用在统一数据库中查询而言,本技术方案采用根据各个查询请求快速定位到各个查询请求各自对应的数据库,然后在各个查询请求各自对应的数据库中同步进行查询,查询速度更快,保证了查询处理的实时性。
进一步地,本实施例的聊天数据处理系统,所述查询模块111还用于在分布式缓存中查找与所述会话ID对应且符合所述查询条件的聊天记录;以及用于在查找到与所述会话ID对应且符合所述查询条件的聊天记录后,输出查找到的聊天记录。
先根据待查询的聊天双方的会话ID和所述查询条件在分布式缓存中进行查找,看所要查询的聊天记录是否为最近发生的聊天记录。如果在分布式缓存中查找到与所述会话ID对应且符合所述查询条件的聊天记录,则直接输出查询结果(即查找到的聊天记录),输出方式可以为屏幕上显示,或形成文本格式文件等方式。
如果在分布式缓存中没有查找到与所述会话ID对应且符合所述查询条件的聊天记录,则执行第三确定模块110,以在数据库查找。
本实施例,在查询聊天记录时,先采用在分布式缓存中进行快速查找,然后在到数据库中查找,若在分布式缓存中直接查找到需要的聊天记录,则查询反馈会非常快,提升了查询反馈速度。
进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有聊天数据处理系统,所述聊天数据处理系统可被至少一个处理器执行,以使所述至少一个处理器执行上述任一实施例中的聊天数据处理方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (8)

1.一种电子装置,其特征在于,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的聊天数据处理系统,所述聊天数据处理系统被所述处理器执行时实现如下步骤:
A1、在检测到聊天消息产生时,获取聊天双方的ID;
B1、将聊天双方的ID按预设生成规则生成会话ID,所述预设生成规则包括:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面,若聊天双方分别为普通用户和预设特定用户,则将普通用户的ID拼接在预设特定用户的ID后面;
C1、根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
D1、将所述聊天消息存储到所述确定的数据库中。
2.如权利要求1所述的电子装置,其特征在于,在所述步骤D1之前,所述处理器还用于执行所述聊天数据处理系统,以实现如下步骤:
对所述聊天消息进行预设字段检测;
在从所述聊天消息中检测出预设字段后,根据预先确定的预设字段与标签之间的映射关系,确定各个检测出的预设字段各自对应的标签;
对所述聊天消息标记上所述确定的各个标签。
3.如权利要求1所述的电子装置,其特征在于,在所述步骤D1之前,所述处理器还用于执行所述聊天数据处理系统,以实现如下步骤:
生成所述聊天消息的消息ID,所述消息ID的生成方式为在前一个消息ID的数值基础上增大预设值。
4.如权利要求1所述的电子装置,其特征在于,所述处理器还用于执行所述聊天数据处理系统,以实现如下步骤:
接收用户的查询请求,所述查询请求中包含待查询的聊天双方的ID和查询条件;
根据所述待查询的聊天双方的ID按预设生成规则生成会话ID;
根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
从所述确定的数据库中找出符合所述查询条件的聊天记录。
5.一种聊天数据处理方法,其特征在于,包括步骤:
A2、在检测到聊天消息产生时,获取聊天双方的ID;
B2、将聊天双方的ID按预设生成规则生成会话ID,所述预设生成规则包括:若聊天双方均为普通用户,则将聊天双方的ID中较小的ID拼接在较大的ID后面,若聊天双方分别为普通用户和预设特定用户,则将普通用户的ID拼接在预设特定用户的ID后面;
C2、根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
D2、将所述聊天消息存储到所述确定的数据库中。
6.如权利要求5所述的聊天数据处理方法,其特征在于,在所述步骤D2之前,所述聊天数据处理方法还包括:
对所述聊天消息进行预设字段检测;
在从所述聊天消息中检测出预设字段后,根据预先确定的预设字段与标签之间的映射关系,确定各个检测出的预设字段各自对应的标签;
对所述聊天消息标记上所述确定的各个标签。
7.如权利要求5所述的聊天数据处理方法,其特征在于,所述聊天数据处理方法还包括步骤:
接收用户的查询请求,所述查询请求中包含待查询的聊天双方的ID和查询条件;
根据所述待查询的聊天双方的ID按预设生成规则生成会话ID;
根据预先确定的数字编号与数据库之间的映射关系,确定所述会话ID的后N位数对应的数据库;
从所述确定的数据库中找出符合所述查询条件的聊天记录。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有聊天数据处理系统,所述聊天数据处理系统可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求5至7中任意一项所述的聊天数据处理方法。
CN201810546930.5A 2018-05-31 2018-05-31 电子装置、聊天数据处理方法和计算机可读存储介质 Active CN108763524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810546930.5A CN108763524B (zh) 2018-05-31 2018-05-31 电子装置、聊天数据处理方法和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810546930.5A CN108763524B (zh) 2018-05-31 2018-05-31 电子装置、聊天数据处理方法和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108763524A CN108763524A (zh) 2018-11-06
CN108763524B true CN108763524B (zh) 2023-06-06

Family

ID=64001188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810546930.5A Active CN108763524B (zh) 2018-05-31 2018-05-31 电子装置、聊天数据处理方法和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108763524B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446204B (zh) * 2018-11-27 2022-04-15 北京微播视界科技有限公司 一种即时通信的数据存储方法、装置、电子设备和介质
CN109992179B (zh) * 2018-12-25 2022-03-15 创新先进技术有限公司 会话记录查找方法以及装置
CN114629867A (zh) * 2022-03-22 2022-06-14 康键信息技术(深圳)有限公司 在线问诊即时通讯系统和消息处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544292A (zh) * 2013-10-29 2014-01-29 大唐移动通信设备有限公司 基于HASH表的Diameter消息处理方法和装置
CN107508746A (zh) * 2017-08-28 2017-12-22 武汉斗鱼网络科技有限公司 好友添加方法、装置及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655481B (zh) * 2011-03-04 2016-04-13 腾讯科技(深圳)有限公司 一种基于网页的即时通信聊天内容查看方法及系统
US20140122619A1 (en) * 2012-10-26 2014-05-01 Xiaojiang Duan Chatbot system and method with interactive chat log
CN103309998B (zh) * 2013-06-25 2017-09-22 腾讯科技(深圳)有限公司 一种消息查询方法及装置、终端设备
CN104731881B (zh) * 2015-04-24 2018-02-27 重庆工程职业技术学院 一种基于通信应用的聊天记录方法及其移动终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544292A (zh) * 2013-10-29 2014-01-29 大唐移动通信设备有限公司 基于HASH表的Diameter消息处理方法和装置
CN107508746A (zh) * 2017-08-28 2017-12-22 武汉斗鱼网络科技有限公司 好友添加方法、装置及电子设备

Also Published As

Publication number Publication date
CN108763524A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN106933854B (zh) 短链接处理方法、装置及服务器
US9471285B1 (en) Identifying software components in a software codebase
CN108388604B (zh) 用户权限数据管理装置、方法及计算机可读存储介质
US9817858B2 (en) Generating hash values
CN110457363B (zh) 基于分布式数据库的查询方法、装置及存储介质
WO2019085474A1 (zh) 计算引擎实现方法、电子装置及存储介质
CN108763524B (zh) 电子装置、聊天数据处理方法和计算机可读存储介质
US9767465B2 (en) Methods and systems for facilitating caching of advertisements
CN111352902A (zh) 日志处理方法、装置、终端设备及存储介质
US9514184B2 (en) Systems and methods for a high speed query infrastructure
US9734178B2 (en) Searching entity-key associations using in-memory objects
CN111737564B (zh) 一种信息查询方法、装置、设备及介质
CN112506486A (zh) 搜索系统建立方法、装置、电子设备及可读存储介质
CN114547095A (zh) 一种数据快速查询方法、装置、电子设备和存储介质
CN115543198A (zh) 非结构化数据入湖方法、装置、电子设备及存储介质
CN107729341B (zh) 电子装置、信息查询控制方法和计算机可读存储介质
US20200380037A1 (en) Information Retrieval Precision Evaluation Method, System and Device and Computer-Readable Storage Medium
CN112100092A (zh) 一种信息缓存方法、装置、设备及介质
US8805820B1 (en) Systems and methods for facilitating searches involving multiple indexes
CN103530345A (zh) 短文本特征扩展及拟合特征库构建方法、装置
CN110069489B (zh) 一种信息处理方法、装置、设备及计算机可读存储介质
CN114579580A (zh) 存储数据的方法、查询数据的方法和装置
CN111045720B (zh) 代码管理方法、代码管理系统、服务器及介质
CN113342822A (zh) 基于多类型数据库的数据查询方法、装置、电子设备及介质
CN116783588A (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