CN113626504B - 消息的聚合方法及装置 - Google Patents
消息的聚合方法及装置 Download PDFInfo
- Publication number
- CN113626504B CN113626504B CN202110872489.1A CN202110872489A CN113626504B CN 113626504 B CN113626504 B CN 113626504B CN 202110872489 A CN202110872489 A CN 202110872489A CN 113626504 B CN113626504 B CN 113626504B
- Authority
- CN
- China
- Prior art keywords
- message
- messages
- page
- aggregation
- category
- 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
- 230000002776 aggregation Effects 0.000 title claims abstract description 113
- 238000004220 aggregation Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000004931 aggregating effect Effects 0.000 claims abstract description 21
- 230000002452 interceptive effect Effects 0.000 claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 31
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000002829 reductive effect Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- 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]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种消息的聚合方法及装置,包括:获取单条消息,单条消息为针对多媒体内容的互动操作所生成的消息;将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;选取多条单条消息和/或聚合消息建立消息页,并将消息页发送至客户端进行展示。本申请实施例通过将所属于同一类别的多条单条消息被合并为一条聚合消息,使得在未遗失任何重要信息的情况下,让合并后的聚合消息更加贴合对消息的统计需求,节省了用户的观看量,降低了对其他类型消息的展示与曝光的影响。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种消息的聚合方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
即时通信类应用通常带有消息通知功能,如,当用户在短视频平台应用发布作品并受到其他用户的点赞时,短视频平台应用会生成一条点赞消息并通知给作者的客户端。
相关技术中,服务端可以将每一条单条消息都写入消息数据库,并在客户端请求拉取消息页面时,从消息数据库中选取一批单条消息构建消息页面并反馈给客户端进行展示。
但是,目前方案中,当产生同一类型的多条单条消息时,便会导致消息页面中同类型消息的大量堆积,影响其它类型消息的展示与曝光。例如:作者客户端收到大量点赞消息,导致其他类型消息难以被看到。
发明内容
本申请实施例提供一种消息的聚合方法、装置、电子设备、计算机可读存储介质及计算机程序产品,以解决相关技术中当产生同一类型的多条单条消息时,便会导致消息页面中同类型消息的大量堆积,影响其它类型消息的展示与曝光的问题。
第一方面,本申请实施例提供了一种消息的聚合方法,该方法包括:
获取单条消息,所述单条消息为针对多媒体内容的互动操作所生成的消息;
将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;
选取多条所述单条消息和/或所述聚合消息建立消息页,并将所述消息页发送至客户端进行展示。
在一种可选实施方式中,所述选取多条所述单条消息和所述聚合消息建立消息页,包括:
选取多条未读状态的单条消息和未读状态的聚合消息建立所述消息页;
其中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述时间戳对应的时间早于上次访问时间的单条消息和聚合消息,处于所述未读状态;所述上次访问时间为所述客户端上次访问所述消息页的时间。
在一种可选实施方式中,所述选取多条未读状态的单条消息和未读状态的聚合消息建立消息页,包括:
选取多条未读状态的单条消息建立单条消息列表;
确定由所述单条消息列表中时间最晚的时间戳,和所述客户端上次读取的消息页中最后一条已读消息的时间戳构成的时间范围;
选取时间戳处于所述时间范围的多条未读状态的聚合消息,并建立聚合消息列表;
将所述单条消息列表和所述聚合消息列表合并,得到所述消息页。
在一种可选实施方式中,所述方法还包括:
在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,选取至少一条已读状态的单条消息和/或已读状态的聚合消息并添加至所述消息页,使得所述消息页中单条消息与聚合消息的数量之和,等于一页所述消息页显示的最大消息数量;
其中,所述时间戳对应的时间晚于或等于所述上次访问时间的单条消息和聚合消息,处于所述已读状态。
在一种可选实施方式中,在所述上次访问时间处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为所述上次访问时间;
在所述上次访问时间不处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为当前所处月份的首日的零点。
在一种可选实施方式中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述方法还包括:
将所述消息页中的单条消息的时间戳,作为所述单条消息的排序时间戳;
将构成所述聚合消息的多条单条消息中所具有的最晚的时间戳,作为所述聚合消息的排序时间戳;
按照所述排序时间戳由晚到早的顺序,对所述消息页中的单条消息和聚合消息进行排序。
在一种可选实施方式中,所述方法还包括:
在建立所述消息页的过程中,按照预设的第一触发概率值,触发对待添加进所述消息页中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息添加进所述消息页。
在一种可选实施方式中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述方法还包括:
将所述单条消息、所述单条消息的标识、所述单条消息的时间戳之间的第一对应关系写入单条消息数据库;
将所述聚合消息、所述聚合消息的标识、所述聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
在一种可选实施方式中,所述方法还包括:
在建立所述单条消息数据库的过程中,按照预设的第二触发概率值,触发对待写入进所述单条消息数据库中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息写入所述单条消息数据库。
在一种可选实施方式中,所述方法还包括:
每隔预设间隔,确定所述聚合消息数据库中,由同一可聚合类别对应的单条消息所合并得到的多条聚合消息;
将所述多条聚合消息合并为一条聚合消息,并将所述多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳。
在一种可选实施方式中,所述可聚合类别包括:针对所述多媒体内容的点赞消息类别、针对所述多媒体内容的观看量统计消息类别、针对所述多媒体内容的评论量统计消息类别中的一种或多种。
第二方面,本申请实施例还提供了一种消息的聚合装置,所述装置包括:
消息获取模块,被配置为获取单条消息,所述单条消息为针对多媒体内容的互动操作所生成的消息;
聚合模块,被配置为将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;
建立模块,被配置为选取多条所述单条消息和/或所述聚合消息建立消息页,并将所述消息页发送至客户端进行展示。
在一种可选实施方式中,所述建立模块,包括:
未读展示子模块,被配置为选取多条未读状态的单条消息和未读状态的聚合消息建立所述消息页;
其中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述时间戳对应的时间早于上次访问时间的单条消息和聚合消息,处于所述未读状态;所述上次访问时间为所述客户端上次访问所述消息页的时间。
在一种可选实施方式中,所述未读展示子模块,包括:
第一选取单元,被配置为选取多条未读状态的单条消息建立单条消息列表;
确定单元,被配置为确定由所述单条消息列表中时间最晚的时间戳,和所述客户端上次读取的消息页中最后一条已读消息的时间戳构成的时间范围;
第二选取单元,被配置为选取时间戳处于所述时间范围的多条未读状态的聚合消息,并建立聚合消息列表;
组合单元,被配置为将所述单条消息列表和所述聚合消息列表合并,得到所述消息页。
在一种可选实施方式中,所述建立模块还包括:
添加子模块,被配置为在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,选取至少一条已读状态的单条消息和/或已读状态的聚合消息并添加至所述消息页,使得所述消息页中单条消息与聚合消息的数量之和,等于一页所述消息页显示的最大消息数量;
其中,所述时间戳对应的时间晚于或等于所述上次访问时间的单条消息和聚合消息,处于所述已读状态。
在一种可选实施方式中,在所述上次访问时间处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为所述上次访问时间;
在所述上次访问时间不处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为当前所处月份的首日的零点。
在一种可选实施方式中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述建立模块还包括:
第一确定子模块,被配置为将所述消息页中的单条消息的时间戳,作为所述单条消息的排序时间戳;
第二确定子模块,被配置为将构成所述聚合消息的多条单条消息中所具有的最晚的时间戳,作为所述聚合消息的排序时间戳;
排序子模块,被配置为按照所述排序时间戳由晚到早的顺序,对所述消息页中的单条消息和聚合消息进行排序。
在一种可选实施方式中,所述装置还包括:
第一触发模块,被配置为在建立所述消息页的过程中,按照预设的第一触发概率值,触发对待添加进所述消息页中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
第一停止模块,被配置为在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息添加进所述消息页。
在一种可选实施方式中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述装置还包括:
第一写入模块,被配置为将所述单条消息、所述单条消息的标识、所述单条消息的时间戳之间的第一对应关系写入单条消息数据库;
第二写入模块,被配置为将所述聚合消息、所述聚合消息的标识、所述聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
在一种可选实施方式中,所述装置还包括:
第二触发模块,被配置为在建立所述单条消息数据库的过程中,按照预设的第二触发概率值,触发对待写入进所述单条消息数据库中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
第二停止模块,被配置为在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息写入所述单条消息数据库。
在一种可选实施方式中,所述装置还包括:
周期处理模块,被配置为每隔预设间隔,确定所述聚合消息数据库中,由同一可聚合类别对应的单条消息所合并得到的多条聚合消息;
重复合并模块,被配置为将所述多条聚合消息合并为一条聚合消息,并将所述多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳。
在一种可选实施方式中,所述可聚合类别包括:针对所述多媒体内容的点赞消息类别、针对所述多媒体内容的观看量统计消息类别、针对所述多媒体内容的评论量统计消息类别中的一种或多种。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现所述的消息的聚合。
第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的消息的聚合。
第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的消息的聚合。
在本申请实施例中,包括:获取单条消息,单条消息为针对多媒体内容的互动操作所生成的消息;将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;选取多条单条消息和/或聚合消息建立消息页,并将消息页发送至客户端进行展示。本申请实施例通过将所属于同一类别的多条单条消息被合并为一条聚合消息,使得在未遗失任何重要信息的情况下,让合并后的聚合消息更加贴合对消息的统计需求,节省了用户的观看量,降低了对其他类型消息的展示与曝光的影响。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本申请实施例提供的一种消息的聚合方法的步骤流程图;
图2是本申请实施例提供的一种消息的聚合方法的具体步骤流程图;
图3是本申请实施例提供的一种消息写入过程的交互步骤流程图;
图4是本申请实施例提供的一种消息读取过程的交互步骤流程图;
图5是本申请实施例提供的另一种消息读取过程的交互步骤流程图;
图6是本申请实施例提供的一种消息的聚合装置的框图;
图7是本申请一个实施例的电子设备的逻辑框图;
图8是本申请另一个实施例的电子设备的逻辑框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
图1是本申请实施例提供的一种消息的聚合方法的步骤流程图,如图1所示,该方法可以包括:
步骤101,获取单条消息。
其中,单条消息为针对多媒体内容的互动操作所生成的消息,多媒体内容可以包括音频、文本、视频等类型,在本申请实施例中,消息的聚合方法可以应用于服务端,该服务端可以为即时通讯类应用的服务端,也可以为其他具有消息处理功能的服务端。当服务端为用户的客户端提供服务时,基于与客户端的交互,服务端会获得单条消息。
如,客户端与客户端基于服务端提供的聊天平台进行聊天时,服务端会接收到客户端发送的聊天消息,客户端生成并发送的一次聊天消息可以作为一个单条消息;又比如,作者通过客户端在服务端提供的短视频平台发布了短视频作品,其他用户的客户端在短视频平台观看了该短视频作品后,为该短视频作品进行了点赞,每一次点赞会产生一个点赞消息,一个点赞消息也可以被作为一个单条消息,如,总共为该短视频作品点赞了100次,则对应产生了100个单条消息,这些单条消息可以被写入服务端的单条消息数据库,单条消息数据库可以为服务端本地的数据库,也可以为远端数据库。
步骤102、将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息。
在本申请实施例中,单条消息可以具有多种类别,如,聊天消息类别、通知类别、点赞类别、统计类别等等,但是其中有些类别可以作为可聚合类别,使得所属于该可聚合类别的多条单条消息能够被合并为一条聚合消息,可聚合类别的单条消息单独存在时的价值不大,其功能是为了满足对消息进行统计的需求。当对所有单条消息进行合并处理后,可以得到至少一个聚合消息,并将聚合消息写入聚合消息数据库,聚合消息数据库可以为服务端本地的数据库,也可以为远端数据库。
相较于相关技术中将所有单条消息进行展示的方案,本申请实施例通过将所属于同一类别的多条单条消息被合并为一条聚合消息,使得合并后的聚合消息更加贴合对消息的统计需求,节省了用户的观看量,且未遗失任何重要信息。
例如,一种交互操作类别可以为点赞操作类别,作者通过客户端在服务端提供的短视频平台发布了短视频作品,其他用户的客户端在短视频平台观看了该短视频作品后,为该短视频作品进行了点赞,则针对该作者的短视频作品,生成了一个点赞操作类别的单条消息,当对该短视频作品产生了N次点赞后,会得到N个点赞操作类别的单条消息,这N个点赞操作类别的单条消息可以被合并为一个聚合消息:“已对该短视频作品点赞了N次”。另外,还存在一种交互操作类别为观看操作类别,其他用户的客户端在短视频平台观看了该短视频作品后,可以针对该作者的短视频作品,生成一个观看操作类别的单条消息,当对该短视频作品产生了M次观看后,会得到M个观看操作类别的单条消息,这M个观看操作类别的单条消息可以被合并为一个聚合消息:“已对该短视频作品观看了M次”。
需要说明的是,本申请实施例对于单条消息合并为聚合消息的过程,可以具体按照对应的合并维度进行合并,如对于点赞操作类别的单条消息的合并过程,其存在多个合并维度,如一种合并维度可以为用户维度,即对于一个短视频,假设分别有用户A和用户B对其进行了点赞,则在合并得到聚合消息的过程中,可以按照用户维度进行合并,得到用户A维度下的一个聚合消息:“用户A对该作品点赞了XX次”,以及用户B维度下的一个聚合消息:“用户B对该作品点赞了XX次”。又比如另一种合并维度可以为作品维度,即用户对短视频1和短视频2分别进行了点赞,则在合并得到聚合消息的过程中,可以按照作品维度进行合并,得到短视频1度下的一个聚合消息:“短视频1得到了XX次点赞”,以及短视频2维度下的一个聚合消息:“短视频2得到了XX次点赞”。
步骤103、选取多条所述单条消息和/或所述聚合消息建立消息页,并将所述消息页发送至客户端进行展示。
在本申请实施例中,当用户在客户端触发开启消息页的情况下,如,用户打开短视频的详情消息页以查看点赞数量,客户端可以生成对消息页的读取请求并发送至服务端,服务端可以响应于客户端对消息页的读取请求,拉取多条单条消息和/或聚合消息建立消息页,并将该消息页发送给客户端以供用户观看。另外,一页所述消息页显示的最大消息数量,可以大于或等于所选取的单条消息与聚合消息的数量之和,避免因选取的消息总数超过一页消息页的最大上限而导致部分消息无法正常显示。
具体的,一种情况下,服务端可以从单条消息数据库选取多条单条消息,并从聚合消息数据库选取多条聚合消息与选取的单条消息组合,建立消息页。另一种情况下,服务端可以从单条消息数据库选取多条单条消息,或从聚合消息数据库选取多条聚合消息,建立包括单条消息或聚合消息的消息页。本申请实施例对此不作限定。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息,另外,选取的单条消息与聚合消息的数量之和,需小于或等于消息页的消息承载数量上限值,以避免选取的消息数量超过一页消息页的消息承载数量上限值,而导致一些消息无法被展示。另外,本申请实施例可以类别分析单条消息和聚合消息的已读/未读状态,并在消息页为首页消息页的情况下,优先选取未读状态的单条消息和聚合消息建立消息页,以供客户端的用户能优先查看未读消息。
综上所述,本申请实施例提供的一种消息的聚合方法,包括:获取单条消息,单条消息为针对多媒体内容的互动操作所生成的消息;将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;选取多条单条消息和/或聚合消息建立消息页,并将消息页发送至客户端进行展示。本申请实施例通过将所属于同一类别的多条单条消息被合并为一条聚合消息,使得在未遗失任何重要信息的情况下,让合并后的聚合消息更加贴合对消息的统计需求,节省了用户的观看量,降低了对其他类型消息的展示与曝光的影响。
图2是本申请实施例提供的另一种消息的聚合方法的步骤流程图,如图2所示,该方法可以包括:
步骤201、获取单条消息。
其中,所述单条消息为针对多媒体内容的互动操作所生成的消息。该步骤具体可以参照上述步骤101,此处不再赘述。
可选的,所述可聚合类别包括:针对所述多媒体内容的点赞消息类别、针对所述多媒体内容的观看量统计消息类别、针对所述多媒体内容的评论量统计消息类别中的一种或多种。
其中,点赞消息类别可以是对多媒体内容的点赞操作所触发的消息,由于对某个多媒体内容通过具有较多点赞消息,且针对多个点赞消息统计其总数才满足用户需求,因此属于点赞消息类别的单条消息需要被聚合,以达到统计点赞总数的目的。
观看量统计消息类别可以是对多媒体内容的观看操作所触发的消息,由于对某个多媒体内容通过具有较多次观看,且针对多次观看统计其总数才满足用户需求,因此属于观看量统计消息类别的单条消息需要被聚合,以达到统计观看总数的目的。
评论量统计消息类别可以是对多媒体内容的评论操作所触发的消息,由于对某个多媒体内容通过具有较多次评论,且针对多次评论统计其总数才满足用户需求,因此属于评论量统计消息类别的单条消息需要被聚合,以达到统计评论总数的目的。
可选的,所述单条消息和所述聚合消息分别具有对应的时间戳;所述方法还可以包括:
步骤202、将所述单条消息、所述单条消息的标识、所述单条消息的时间戳之间的第一对应关系写入单条消息数据库。
参照图3,其示出了本申请实施例提供的一种消息写入过程的交互步骤流程图,其中,聚合消息数据库、缓存、单条消息数据库可以为服务端的本地存储空间,也可以为远端存储空间,其中,聚合消息数据库用于存储聚合消息,单条消息数据库用于存储单条消息,缓存用于存储缓存数据。
在写入单条消息之前,可以先执行S1、收到单条消息。并在收到每条单条消息后,执行S2、生成全局标识。具体为生成每条单条消息对应的全局标识,使得通过全局标识实现数据库中对消息的管理。
在该步骤中,可以执行S3、写入单条消息,具体为将单条消息、单条消息的标识、单条消息的时间戳之间的第一对应关系写入单条消息数据库,其中,单条消息的时间戳可以为服务端接收到该单条消息的时间,单条消息数据库中可以根据标识、时间戳,实现对单条消息的管理,如排序、过滤等。
如,服务端接收到单条消息1时,生成ID1和时间戳1,并将单条消息1、ID1、时间戳1的第一对应关系写入单条消息数据库;服务端接收到单条消息2时,生成ID2和时间戳2,并将单条消息2、ID2、时间戳2的第一对应关系写入单条消息数据库。
步骤203、将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息。
该步骤具体可以参照上述步骤102,此处不再赘述。
步骤204、将所述聚合消息、所述聚合消息的标识、所述聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
在该步骤中,可以将聚合消息、聚合消息的标识、聚合消息的时间戳之间的第二对应关系写入聚合消息数据库,聚合消息数据库中可以根据标识、时间戳,实现对聚合消息的管理,如排序、过滤等。
步骤205、获取所述客户端上次访问所述消息页的上次访问时间。
在本申请实施例中,客户端每次访问消息页的时候会与服务端产生交互,服务端可以记录每次的访问时间,并将每次的访问时间写入缓存中进行存储,因此,参照图3,服务端可以执行S4,在缓存中获取客户端上次访问消息页的上次访问时间。
具体的,在上次访问时间之前,可以认为用户访问消息页读取了消息,使得时间戳处于上次访问时间之前的消息可以被认为是已读消息,时间戳处于上次访问时间之后的消息可以被认为是未读消息,因此,上次访问时间用于与时间戳比较,来类别分析时间戳对应的消息的已读/未读状态。
可选的,在所述上次访问时间处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为所述上次访问时间;在所述上次访问时间不处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为当前所处月份的首日的零点。
进一步的,针对当前处理消息时的当前时间以及上次访问时间,可以确定用户上次访问消息页到当前时刻之间的时间间隔的长短,即反映了用户有多久没有访问消息页。由于聚合消息是由多个时间戳不同的单条消息构成的,且构成聚合消息的多个单条消息中,首个单条消息的时间戳可能与最后一个单条消息的时间戳相对跨度较大,这就使得聚合消息对应了一个时间范围,在本申请实施例中,聚合消息的时间戳需是一个时刻,参照图3,则本申请实施例可以利用上次访问时间与历史时间范围的关系,执行S5、根据上次访问时间来确定聚合消息的时间戳,之后执行S6,写入聚合消息。即将聚合消息、聚合消息的标识、聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
具体的,历史时间范围可以为以当前时刻为终点,某一历史时刻为起点的时间范围,如,历史时间范围可以为当前时间之前一个月,在上次访问时间处于预设的历史时间范围(如当前时间之前一个月)内的情况下,可以认为用户较为活跃,此时可以将聚合消息的时间戳确定为上次访问时间,即活跃用户对应的聚合消息的生成时间可以被定义为上次访问时间,可以理解为自用户上次访问之后,开始进行由单条消息聚合得到聚合消息的过程。
在上次访问时间不处于预设的历史时间范围(如当前时间之前一个月)内的情况下,可以认为用户不活跃,此时可以将聚合消息的时间戳确定为聚合消息的当前所处月份的首日的零点,如当前时刻为3月10日10时,则聚合消息的时间戳可以为3月1日0时,即不活跃用户对应的聚合消息的生成时间可以被定义为当前所处月份的首日的零点,可以理解为不活跃用户长时间不访问消息页,从当前所处月份的首日的零点开始,进行由单条消息聚合得到聚合消息的过程。通过这种聚合消息的时间戳的设置方式,以保障单条聚合消息的时间跨度不会过长。
步骤206、通过比较所述上次访问时间与所述时间戳对应的时间,确定所述单条消息和所述聚合消息各自的状态,所述状态包括:已读状态、未读状态。
在本申请实施例中,在上次访问时间之前,可以认为用户访问消息页读取了消息,使得时间戳处于上次访问时间之前的消息可以被认为是已读消息,时间戳处于上次访问时间之后的消息可以被认为是未读消息,因此,上次访问时间用于与时间戳比较,来类别分析时间戳对应的消息的已读/未读状态。
可选的,步骤206具体可以包括:
子步骤2061、将所述时间戳对应的时间,早于所述上次访问时间的单条消息和聚合消息的状态,确定为所述已读状态。
子步骤2062、将所述时间戳对应的时间,晚于或等于所述上次访问时间的单条消息和聚合消息的状态,确定为所述未读状态。
在本申请实施例中,消息的时间戳,可以用于反映该消息的生成时间,则基于时间戳对应的时间与上次访问时间的比较,可以用来确定该时间戳对应的单条消息或聚合消息的已读/未读状态,本申请实施例通过确定单条消息、聚合消息的已读/未读状态,来对消息的优先级进行划分,消息的优先级影响其被添加进消息页的优先度,通常来说,消息处于未读状态下,这说明该消息被用户读取的优先级较高,使得该消息的优先级较高,该消息被添加进消息页的优先度也就较高。通过这种优先次序的划分,可以提高用户读取的消息的准确性,使得用户体验度较高。
步骤207、选取多条未读状态的单条消息和未读状态的聚合消息建立消息页,并将所述消息页发送至客户端进行展示。
在本申请实施例中,由于用户打开消息页时,通常优先想看到未读的消息,因此,基于这种用户习惯,一种情况下,服务端可以响应于客户端对消息页的读取请求,选取多条未读状态的单条消息和未读状态的聚合消息建立所述消息页,并将消息页发送至所述客户端进行展示。使得用户读取到的消息页中,都是高价值的未读消息,并且消息页中同时存在单条消息和聚合消息,满足了用户对单条消息和聚合消息同时查收处理的需求。
另外,服务端也可以根据实际需求,仅选取多条未读状态的单条消息,或仅选取多条未读状态的聚合消息建立所述消息页,本申请实施例对此不作限定。
可选的,所述客户端对消息页的读取请求包括:所述客户端上次读取的消息页中最后一条已读消息的时间戳;步骤207具体可以包括:
子步骤2071、选取多条未读状态的单条消息建立单条消息列表。
子步骤2072、确定由所述单条消息列表中时间最晚的时间戳,和所述客户端上次读取的消息页中最后一条已读消息的时间戳构成的时间范围。
子步骤2073、选取时间戳处于所述时间范围的多条未读状态的聚合消息,并建立聚合消息列表。
子步骤2074、将所述单条消息列表和所述聚合消息列表合并,得到所述消息页。
在本申请实施例中,构建消息页的过程中,若当前消息页为非首页,则可以选取时间戳对应的时间晚于或等于上次访问时间的多个未读单条消息建立单条消息列表,这些未读单条消息可以是时间戳离上次访问时间最近的消息,同时,还可以记录这些未读单条消息中最晚的时间戳,并将该最晚的时间戳与最后一条已读消息的时间戳构成的时间范围,确定为选取聚合消息的时间范围,进一步的选取时间戳处于时间范围的多条未读状态的聚合消息,并建立聚合消息列表,聚合消息列表中的聚合消息可以认为未读时间区间(即上述时间范围)中聚合生成的聚合消息。
最后将单条消息列表和聚合消息列表合并,可以得到消息页,使得用户读取到的消息页中,都是高价值的未读消息,并且消息页中同时存在单条消息和聚合消息,满足了用户对单条消息和聚合消息同时查收处理的需求。
另外,若当前消息页为首页,则客户端上次读取的消息页中最后一条已读消息的时间戳为空,则可以直接选取时间戳对应的时间,晚于或等于上次访问时间的未读状态的单条消息和聚合消息组合生成消息页。
可选的,步骤207还可以包括:
子步骤2075、在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,选取至少一条已读状态的单条消息和/或已读状态的聚合消息并添加至所述消息页,使得所述消息页中单条消息与聚合消息的数量之和,等于一页所述消息页显示的最大消息数量。
本申请实施例中,在填充消息页时,在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,认为剩余的未读消息不能填满一整页消息页,也服务端可以进一步获取已读消息直至填满一整页消息页,以满足提供给用户一整页消息页的需求,提高了用户对消息的读取量。
可选的,步骤207还可以包括:
子步骤2076、将所述消息页中的单条消息的时间戳,作为所述单条消息的排序时间戳。
子步骤2077、将构成所述聚合消息的多条单条消息中所具有的最晚的时间戳,作为所述聚合消息的排序时间戳。
子步骤2078、按照所述排序时间戳由晚到早的顺序,对所述消息页中的单条消息和聚合消息进行排序。
在本申请实施例中,还可以对消息页中的消息按照排序时间戳由晚到早进行排序,使得用户在独权消息页时,优先可以读取最新的消息,提高了用户体验。
具体的,单条消息的排序时间戳即为单条消息的时间戳,也即为单条消息的生成时间。聚合消息的排序时间戳则为构成聚合消息的多条单条消息中所具有的最晚的时间戳。
如聚合消息是由单条消息1、单条消息2、单条消息3聚合生成的,且单条消息1、单条消息2、单条消息3各自的时间戳对应的时间由早到晚进行排列,则该聚合消息的排序时间戳为单条消息3对应的时间戳。
进一步的,参照图4,其示出了本申请实施例提供的一种消息读取过程的交互步骤流程图,消息的读取即为客户端执行A1、打开消息页后,触发的消息读取流程,图4示出了读取的消息页为首页的情况,即用户打开的消息页为首页页面,此时,服务端执行A2、获取当前时间,并将缓存中的上次访问时间替换为当前时间,即更新缓存中的上次访问时间为当前时间,之后执行A3和A4,获取多条未读状态的单条消息和聚合消息,执行A5、将获取的单条消息和聚合消息按照时间排序建立消息页,并缓存。
一种情况下,若获取的多条未读状态的单条消息和聚合消息的消息总数已等于消息页的消息承载数量上限值,则提取满一页消息建立消息页,并按照单条消息和聚合消息的排序时间戳,将消息由晚到早进行排序。排序后可以在缓存中对消息页进行缓存。即在首页消息页中优先展示未读消息,且优先展示的是时间距离当前最近的未读消息,满足了用户优先查看未读且最新的消息的需求,提高了用户体验。
另一种情况下,若获取的多条未读状态的单条消息和聚合消息的消息总数已未达到消息页的消息承载数量上限值,则认为目前获取的消息还不能填充满一整页消息页,此时可以提取多条已读状态的单条消息和聚合消息,直至所有提取的消息的总数等于消息页的消息承载数量上限值,以满足尽可能读取一整页消息的需求。
执行A5之后,可以进一步执行A6、生成消息页对应的分页游标,分页游标(pcursor)记录了四个数据:lastAccessTime:上次访问时间;thisAccessTime:当前访问时间;lastNotifyMsgTime:当前消息页中最后一条未读消息的时间戳(若最后一条未读消息为聚合消息,则该时间戳为构成聚合消息的多条单条消息中所具有的最晚的时间戳);lastReadMsgTime:当前消息页中最后一条已读消息的时间戳(若最后一条已读消息为聚合消息,则该时间戳为构成聚合消息的多条单条消息中所具有的最晚的时间戳)。
在本申请实施例中,分页游标可以基于时间数据,实现对消息页的分页区分。客户端在读取首页消息页时,会发送读取请求至服务端,服务端建立首页消息页和分页游标,并在分页游标中填充上述四个数据后,将首页消息页和分页游标发送至客户端,分页游标可以供客户端读取上述四个时间数据,以完成相应的对消息页的处理。客户端读取完首页进一步要读取下一页时,可以返回含有该分页游标的下一页读取请求至服务端,服务端可以建立下一页消息页,并更新分页游标中的四个时间数据,将下一页消息页和更新后分页游标发送至客户端,以供客户端通过更新后的分页游标获取更新后的四个时间数据。客户端再针对后页的读取过程同理。
进一步的,参照图5,其示出了本申请实施例提供的另一种消息读取过程的交互步骤流程图,图5示出了读取的消息页为非首页的情况,消息的读取即为客户端执行B1、打开非首页消息页后,触发的消息读取流程,即用户打开的消息页为非首页页面,此时,客户端会将上一页的分页游标添加至下一页读取请求中发送给服务端,服务端执行B2、解析客户端发送的分页游标,获得上次访问时间;当前消息页中最后一条未读消息的时间戳;当前消息页中最后一条已读消息的时间戳。
一种情况下,当上一页消息页用户还未读取完全部的未读消息,使得当前要读取的消息页还处于未读区间,则在B2后可以执行B3-B4,即通过B2解析得到的当前消息页中最后一条未读消息的时间戳,获取时间戳在当前消息页中最后一条未读消息的时间戳之后的单条消息和聚合消息,建立当前客户端要读取的消息页,并更新分页游标中的四个时间数据,这些消息可以认为是当前未读区间所需的未读消息。
另一种情况下,当上一页消息页用户已读取完全部的未读消息,使得当前要读取的消息页处于已读区间,则在B2后可以执行B6-B8,即通过B2解析得到的当前消息页中最后一条已读消息的时间戳,获取时间戳在当前消息页中最后一条已读消息的时间戳之后的单条消息和聚合消息,建立当前客户端要读取的消息页,并更新分页游标中的四个时间数据,这些消息可以认为是当前已读区间所需的已读消息。
可选的,所述方法还可以包括:
步骤208、在建立所述消息页的过程中,按照预设的第一触发概率值,触发对待添加进所述消息页中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别。
步骤209、在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息添加进所述消息页。
在本申请实施例中,由于属于可聚合类别的单条消息在合并为聚合消息后,这些单条消息就失去了价值,成为了冗余数据,如,10条点赞消息聚合为一条聚合消息“对XX点赞了10次”后,这10条点赞消息就失去了其价值。
因此,基于冗余数据清理的考虑,本申请实施例可以按照几率触发的原则,在读取单条消息建立消息页的过程中,按照预设的第一触发概率值,触发对待添加进消息页中的每个单条消息的类别分析操作,以类别分析单条消息是否属于可聚合类别,第一概率值允许执行对单条消息的类别分析操作的概率。并对于属于可聚合类别的单条消息,停止将其添加进所述消息页,并从单条消息数据库中删除单条消息。从而避免消息页中存在太多的无价值的单条消息,另外还清理了单条消息数据库中的冗余数据。
例如,假设第一触发概率值为20%,则对于待添加进消息页的每个单条消息,都有20%几率触发类别分析其是否为可聚合类别的操作,并根据类别分析结果,执行对其清理或保留的操作。
需要说明的是,第一触发概率值具体可以根据服务端的硬件资源配置情况所确定,在服务端的硬件资源充足的情况下,第一触发概率值的取值可以尽可能的大,在服务端的硬件资源不充足的情况下,第一触发概率值的取值可以尽可能的小,如在服务端的硬件资源极其充足时,第一触发概率值最大可以取100%,即对于待添加进消息页的每个单条消息,都执行上述类别分析操作。
可选的,所述方法还可以包括:
步骤210、在建立所述单条消息数据库的过程中,按照预设的第二触发概率值,触发对待写入进所述单条消息数据库中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别。
步骤211、在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息写入所述单条消息数据库。
在本申请实施例中,由于属于可聚合类别的单条消息在合并为聚合消息后,这些单条消息就失去了价值,成为了冗余数据,而在单条消息的写入过程中,这些冗余数据会占用单条消息数据库的存储空间。
因此,基于冗余数据清理的考虑,本申请实施例可以按照几率触发的原则,在写入单条消息的过程中,按照预设的第二触发概率值,触发对待写入的每个单条消息的类别分析操作,以类别分析单条消息是否属于可聚合类别,第二概率值允许执行对单条消息的类别分析操作的概率。并对于属于可聚合类别的单条消息,停止将其写入单条消息数据库,从而清理了单条消息数据库中的冗余数据。
需要说明的是,第二触发概率值具体可以根据服务端的硬件资源配置情况所确定,在服务端的硬件资源充足的情况下,第二触发概率值的取值可以尽可能的大,在服务端的硬件资源不充足的情况下,第二触发概率值的取值可以尽可能的小,如在服务端的硬件资源极其充足时,第二触发概率值最大可以取100%,即对于待写入的每个单条消息,都执行上述类别分析操作。
可选的,所述方法还可以包括:
步骤212、每隔预设间隔,确定所述聚合消息数据库中,由同一可聚合类别对应的单条消息所合并得到的多条聚合消息。
步骤213、将所述多条聚合消息合并为一条聚合消息,并将所述多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳。
在实际应用中,如果用户较短时间范围内访问多次消息页,由于每次访问都会新生成一个时间戳写入对应的聚合消息,会导致本来可以在聚合消息数据库存一行的聚合消息数据被拆成了很多行,从而产生聚合碎片。
本申请实施例可以通过定时任务轮刷聚合消息数据库,确定聚合消息数据库中,由同一可聚合类别对应的多条聚合消息,并将多条聚合消息合并为一条聚合消息,将多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳,使得可进一步合并的多条聚合消息被合并为同一个聚合周期内的一条聚合消息,以减少聚合碎片,优化了聚合消息数据库中的数据结构。
例如,用户在一天内访问了3次消息页(早、中、晚),消息页中点赞类型的聚合消息会对应产生3次,如用户早上访问时,产生一个“该视频被点赞了100次”的聚合消息;用户中午访问时,产生一个“该视频被点赞了200次”的聚合消息;用户晚上访问时,产生一个“该视频被点赞了300次”的聚合消息,针对这三个聚合消息,可以被进一步聚合为一条聚合消息:“该视频截止到晚上一共被点赞了600次”,同时聚合消息数据库的三行聚合消息数据也被合并为一行,优化了存储结构。
综上所述,本申请实施例提供的一种消息的聚合方法,包括:获取单条消息,单条消息为针对多媒体内容的互动操作所生成的消息;将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;选取多条单条消息和/或聚合消息建立消息页,并将消息页发送至客户端进行展示。本申请实施例通过将所属于同一类别的多条单条消息被合并为一条聚合消息,使得在未遗失任何重要信息的情况下,让合并后的聚合消息更加贴合对消息的统计需求,节省了用户的观看量,降低了对其他类型消息的展示与曝光的影响。
图6是本申请实施例提供的一种消息的聚合装置的框图,如图6所示,包括:消息获取模块301、聚合模块302、建立模块303。
消息获取模块301,被配置为获取单条消息,所述单条消息为针对多媒体内容的互动操作所生成的消息;
聚合模块302,被配置为将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;
建立模块303,被配置为选取多条所述单条消息和/或所述聚合消息建立所述消息页,并将所述消息页发送至所述客户端进行展示;
在一种可选实现方式中,所述建立模块,包括:
未读展示子模块,被配置为选取多条未读状态的单条消息和未读状态的聚合消息建立所述消息页;
其中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述时间戳对应的时间早于上次访问时间的单条消息和聚合消息,处于所述未读状态;所述上次访问时间为所述客户端上次访问所述消息页的时间。
在一种可选实现方式中,所述未读展示子模块,包括:
第一选取单元,被配置为选取多条未读状态的单条消息建立单条消息列表;
确定单元,被配置为确定由所述单条消息列表中时间最晚的时间戳,和所述客户端上次读取的消息页中最后一条已读消息的时间戳构成的时间范围;
第二选取单元,被配置为选取时间戳处于所述时间范围的多条未读状态的聚合消息,并建立聚合消息列表;
组合单元,被配置为将所述单条消息列表和所述聚合消息列表合并,得到所述消息页。
在一种可选实现方式中,所述建立模块还包括:
添加子模块,被配置为在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,选取至少一条已读状态的单条消息和/或已读状态的聚合消息并添加至所述消息页,使得所述消息页中单条消息与聚合消息的数量之和,等于一页所述消息页显示的最大消息数量;
其中,所述时间戳对应的时间晚于或等于所述上次访问时间的单条消息和聚合消息,处于所述已读状态。
在一种可选实现方式中,在所述上次访问时间处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为所述上次访问时间;
在所述上次访问时间不处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为当前所处月份的首日的零点。
在一种可选实现方式中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述建立模块还包括:
第一确定子模块,被配置为将所述消息页中的单条消息的时间戳,作为所述单条消息的排序时间戳;
第二确定子模块,被配置为将构成所述聚合消息的多条单条消息中所具有的最晚的时间戳,作为所述聚合消息的排序时间戳;
排序子模块,被配置为按照所述排序时间戳由晚到早的顺序,对所述消息页中的单条消息和聚合消息进行排序。
在一种可选实现方式中,所述装置还包括:
第一触发模块,被配置为在建立所述消息页的过程中,按照预设的第一触发概率值,触发对待添加进所述消息页中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
第一停止模块,被配置为在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息添加进所述消息页。
在一种可选实现方式中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述装置还包括:
第一写入模块,被配置为将所述单条消息、所述单条消息的标识、所述单条消息的时间戳之间的第一对应关系写入单条消息数据库;
第二写入模块,被配置为将所述聚合消息、所述聚合消息的标识、所述聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
在一种可选实现方式中,所述装置还包括:
第二触发模块,被配置为在建立所述单条消息数据库的过程中,按照预设的第二触发概率值,触发对待写入进所述单条消息数据库中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
第二停止模块,被配置为在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息写入所述单条消息数据库。
在一种可选实现方式中,所述装置还包括:
周期处理模块,被配置为每隔预设间隔,确定所述聚合消息数据库中,由同一可聚合类别对应的单条消息所合并得到的多条聚合消息;
重复合并模块,被配置为将所述多条聚合消息合并为一条聚合消息,并将所述多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳。
在一种可选实现方式中,所述可聚合类别包括:针对所述多媒体内容的点赞消息类别、针对所述多媒体内容的观看量统计消息类别、针对所述多媒体内容的评论量统计消息类别中的一种或多种。
综上所述,本申请实施例提供的一种消息的聚合装置,包括:获取单条消息,单条消息为针对多媒体内容的互动操作所生成的消息;将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;选取多条单条消息和/或聚合消息建立消息页,并将消息页发送至客户端进行展示。本申请实施例通过将所属于同一类别的多条单条消息被合并为一条聚合消息,使得在未遗失任何重要信息的情况下,让合并后的聚合消息更加贴合对消息的统计需求,节省了用户的观看量,降低了对其他类型消息的展示与曝光的影响。
图7是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理***,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本申请实施例提供的一种消息的聚合方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图8,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本申请实施例提供的一种消息的聚合方法。
电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(I/O)接口758。电子设备700可以操作基于存储在存储器732的操作***,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的消息的聚合方法。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (22)
1.一种消息的聚合方法,其特征在于,所述方法包括:
获取单条消息,所述单条消息为针对多媒体内容的互动操作所生成的消息;
将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;
选取多条所述单条消息和/或所述聚合消息建立消息页,并将所述消息页发送至客户端进行展示,其中,选取的所述单条消息与所述聚合消息的数量之和小于或等于所述消息页的消息承载数量上限值;
其中,所述方法还包括:
将所述单条消息、所述单条消息的标识、所述单条消息的时间戳之间的第一对应关系写入单条消息数据库;
在建立单条消息数据库的过程中,触发对待写入进所述单条消息数据库中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息写入所述单条消息数据库。
2.根据权利要求1所述的方法,其特征在于,所述选取多条所述单条消息和所述聚合消息建立消息页,包括:
选取多条未读状态的单条消息和未读状态的聚合消息建立所述消息页;
其中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述时间戳对应的时间早于上次访问时间的单条消息和聚合消息,处于所述未读状态;所述上次访问时间为所述客户端上次访问所述消息页的时间。
3.根据权利要求2所述的方法,其特征在于,所述选取多条未读状态的单条消息和未读状态的聚合消息建立消息页,包括:
选取多条未读状态的单条消息建立单条消息列表;
确定由所述单条消息列表中时间最晚的时间戳,和所述客户端上次读取的消息页中最后一条已读消息的时间戳构成的时间范围;
选取时间戳处于所述时间范围的多条未读状态的聚合消息,并建立聚合消息列表;
将所述单条消息列表和所述聚合消息列表合并,得到所述消息页。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,选取至少一条已读状态的单条消息和/或已读状态的聚合消息并添加至所述消息页,使得所述消息页中单条消息与聚合消息的数量之和,等于一页所述消息页显示的最大消息数量;
其中,所述时间戳对应的时间晚于或等于所述上次访问时间的单条消息和聚合消息,处于所述已读状态。
5.根据权利要求2所述的方法,其特征在于,在所述上次访问时间处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为所述上次访问时间;
在所述上次访问时间不处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为当前所处月份的首日的零点。
6.根据权利要求1所述的方法,其特征在于,所述单条消息和所述聚合消息分别具有对应的时间戳;所述方法还包括:
将所述消息页中的单条消息的时间戳,作为所述单条消息的排序时间戳;
将构成所述聚合消息的多条单条消息中所具有的最晚的时间戳,作为所述聚合消息的排序时间戳;
按照所述排序时间戳由晚到早的顺序,对所述消息页中的单条消息和聚合消息进行排序。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在建立所述消息页的过程中,按照预设的第一触发概率值,触发对待添加进所述消息页中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息添加进所述消息页。
8.根据权利要求1所述的方法,其特征在于,所述单条消息和所述聚合消息分别具有对应的时间戳;所述方法还包括:
将所述聚合消息、所述聚合消息的标识、所述聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
每隔预设间隔,确定所述聚合消息数据库中,由同一可聚合类别对应的单条消息所合并得到的多条聚合消息;
将所述多条聚合消息合并为一条聚合消息,并将所述多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述可聚合类别包括:针对所述多媒体内容的点赞消息类别、针对所述多媒体内容的观看量统计消息类别、针对所述多媒体内容的评论量统计消息类别中的一种或多种。
11.一种消息的聚合装置,其特征在于,所述装置包括:
消息获取模块,被配置为获取单条消息,所述单条消息为针对多媒体内容的互动操作所生成的消息;
聚合模块,被配置为将所有单条消息中属于可聚合类别的多条单条消息进行合并,得到至少一条聚合消息;
建立模块,被配置为选取多条所述单条消息和/或所述聚合消息建立消息页,并将所述消息页发送至客户端进行展示,其中,选取的所述单条消息与所述聚合消息的数量之和小于或等于所述消息页的消息承载数量上限值;
所述装置还包括:
第一写入模块,被配置为将所述单条消息、所述单条消息的标识、所述单条消息的时间戳之间的第一对应关系写入单条消息数据库;
第二触发模块,被配置为在建立所述单条消息数据库的过程中,触发对待写入进所述单条消息数据库中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
第二停止模块,被配置为在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息写入所述单条消息数据库。
12.根据权利要求11所述的装置,其特征在于,所述建立模块,包括:
未读展示子模块,被配置为选取多条未读状态的单条消息和未读状态的聚合消息建立所述消息页;
其中,所述单条消息和所述聚合消息分别具有对应的时间戳;所述时间戳对应的时间早于上次访问时间的单条消息和聚合消息,处于所述未读状态;所述上次访问时间为所述客户端上次访问所述消息页的时间。
13.根据权利要求12所述的装置,其特征在于,所述未读展示子模块,包括:
第一选取单元,被配置为选取多条未读状态的单条消息建立单条消息列表;
确定单元,被配置为确定由所述单条消息列表中时间最晚的时间戳,和所述客户端上次读取的消息页中最后一条已读消息的时间戳构成的时间范围;
第二选取单元,被配置为选取时间戳处于所述时间范围的多条未读状态的聚合消息,并建立聚合消息列表;
组合单元,被配置为将所述单条消息列表和所述聚合消息列表合并,得到所述消息页。
14.根据权利要求12所述的装置,其特征在于,所述建立模块还包括:
添加子模块,被配置为在所有未读状态的单条消息和未读状态的聚合消息的数量之和,小于一页所述消息页显示的最大消息数量的情况下,选取至少一条已读状态的单条消息和/或已读状态的聚合消息并添加至所述消息页,使得所述消息页中单条消息与聚合消息的数量之和,等于一页所述消息页显示的最大消息数量;
其中,所述时间戳对应的时间晚于或等于所述上次访问时间的单条消息和聚合消息,处于所述已读状态。
15.根据权利要求12所述的装置,其特征在于,在所述上次访问时间处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为所述上次访问时间;
在所述上次访问时间不处于预设的历史时间范围内的情况下,所述聚合消息的时间戳为当前所处月份的首日的零点。
16.根据权利要求11所述的装置,其特征在于,所述单条消息和所述聚合消息分别具有对应的时间戳;所述建立模块还包括:
第一确定子模块,被配置为将所述消息页中的单条消息的时间戳,作为所述单条消息的排序时间戳;
第二确定子模块,被配置为将构成所述聚合消息的多条单条消息中所具有的最晚的时间戳,作为所述聚合消息的排序时间戳;
排序子模块,被配置为按照所述排序时间戳由晚到早的顺序,对所述消息页中的单条消息和聚合消息进行排序。
17.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一触发模块,被配置为在建立所述消息页的过程中,按照预设的第一触发概率值,触发对待添加进所述消息页中的每个单条消息的类别分析操作;所述类别分析操作用于确定所述单条消息是否属于所述可聚合类别;
第一停止模块,被配置为在所述单条消息属于所述可聚合类别的情况下,停止将所述单条消息添加进所述消息页。
18.根据权利要求11所述的装置,其特征在于,所述单条消息和所述聚合消息分别具有对应的时间戳;所述装置还包括:
第二写入模块,被配置为将所述聚合消息、所述聚合消息的标识、所述聚合消息的时间戳之间的第二对应关系写入聚合消息数据库。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
周期处理模块,被配置为每隔预设间隔,确定所述聚合消息数据库中,由同一可聚合类别对应的单条消息所合并得到的多条聚合消息;
重复合并模块,被配置为将所述多条聚合消息合并为一条聚合消息,并将所述多条聚合消息中最晚的时间戳,作为合并后的聚合消息的时间戳。
20.根据权利要求11至19任一项所述的装置,其特征在于,所述可聚合类别包括:针对所述多媒体内容的点赞消息类别、针对所述多媒体内容的观看量统计消息类别、针对所述多媒体内容的评论量统计消息类别中的一种或多种。
21.一种电子设备,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至10中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110872489.1A CN113626504B (zh) | 2021-07-30 | 2021-07-30 | 消息的聚合方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110872489.1A CN113626504B (zh) | 2021-07-30 | 2021-07-30 | 消息的聚合方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626504A CN113626504A (zh) | 2021-11-09 |
CN113626504B true CN113626504B (zh) | 2024-02-09 |
Family
ID=78381844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110872489.1A Active CN113626504B (zh) | 2021-07-30 | 2021-07-30 | 消息的聚合方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626504B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213153A (zh) * | 2018-05-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 未读消息的显示方法、获取方法、装置、终端及存储介质 |
CN111506581A (zh) * | 2020-06-17 | 2020-08-07 | 北京北龙超级云计算有限责任公司 | 一种数据聚合方法和服务器 |
CN112311656A (zh) * | 2020-02-14 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 消息聚合、展示方法、装置、电子设备和计算机可读介质 |
CN112613272A (zh) * | 2020-12-15 | 2021-04-06 | 北京达佳互联信息技术有限公司 | 一种信息展示方法及装置 |
CN112733010A (zh) * | 2020-12-16 | 2021-04-30 | 深圳市欢太科技有限公司 | 消息推送方法及装置、电子设备、计算机可读存储介质 |
CN112769679A (zh) * | 2021-01-14 | 2021-05-07 | 钉钉控股(开曼)有限公司 | 消息展示方法及装置 |
CN112764608A (zh) * | 2021-01-08 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、设备及存储介质 |
-
2021
- 2021-07-30 CN CN202110872489.1A patent/CN113626504B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213153A (zh) * | 2018-05-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 未读消息的显示方法、获取方法、装置、终端及存储介质 |
CN112311656A (zh) * | 2020-02-14 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 消息聚合、展示方法、装置、电子设备和计算机可读介质 |
CN111506581A (zh) * | 2020-06-17 | 2020-08-07 | 北京北龙超级云计算有限责任公司 | 一种数据聚合方法和服务器 |
CN112613272A (zh) * | 2020-12-15 | 2021-04-06 | 北京达佳互联信息技术有限公司 | 一种信息展示方法及装置 |
CN112733010A (zh) * | 2020-12-16 | 2021-04-30 | 深圳市欢太科技有限公司 | 消息推送方法及装置、电子设备、计算机可读存储介质 |
CN112764608A (zh) * | 2021-01-08 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、设备及存储介质 |
CN112769679A (zh) * | 2021-01-14 | 2021-05-07 | 钉钉控股(开曼)有限公司 | 消息展示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113626504A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843615B (zh) | 通知消息的处理方法及装置 | |
US20170118298A1 (en) | Method, device, and computer-readable medium for pushing information | |
CN107463643B (zh) | 弹幕数据的显示方法、装置及存储介质 | |
CN110737844B (zh) | 推荐数据的方法、装置、终端设备和存储介质 | |
US20200076754A1 (en) | Methods and apparatus for dynamic location-based media broadcasting | |
CN114915567B (zh) | 状态监控***、状态信息的更新方法及装置 | |
CN112528185A (zh) | 评论信息展示方法、装置、服务器、终端 | |
CN110795314B (zh) | 一种检测慢节点的方法、装置及计算机可读存储介质 | |
CN112486770A (zh) | 客户端打点上报方法、装置、电子设备和存储介质 | |
CN113626504B (zh) | 消息的聚合方法及装置 | |
CN108012258B (zh) | 虚拟sim卡的数据流量管理方法、装置、终端及服务器 | |
CN115509872A (zh) | 一种客户端行为数据采集方法及装置 | |
CN111526084A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN114528511A (zh) | 页面展示方法、装置、电子设备及计算机可读存储介质 | |
CN113709572A (zh) | 内容推广方法、装置、电子设备及存储介质 | |
CN108737523B (zh) | 应用模块与账户的关联方法、关联装置、硬件装置和介质 | |
CN112102009A (zh) | 广告展示方法、装置、设备及存储介质 | |
CN113378022A (zh) | 一种站内搜索平台、搜索方法和相关装置 | |
CN111736890A (zh) | 数据更新方法、装置、电子设备及存储介质 | |
US20190104101A1 (en) | Paired effects in conversations between users | |
CN112507146B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN114125530B (zh) | 一种信息显示方法、装置、电子设备及存储介质 | |
CN105183773B (zh) | 信息显示方法和装置 | |
US11509966B2 (en) | Method and device for information processing | |
CN111723320B (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 |