CN103294709B - 一种消息排序方法和系统、sns中消息显示的方法 - Google Patents
一种消息排序方法和系统、sns中消息显示的方法 Download PDFInfo
- Publication number
- CN103294709B CN103294709B CN201210048740.3A CN201210048740A CN103294709B CN 103294709 B CN103294709 B CN 103294709B CN 201210048740 A CN201210048740 A CN 201210048740A CN 103294709 B CN103294709 B CN 103294709B
- Authority
- CN
- China
- Prior art keywords
- message
- timeline
- root
- comment
- message queue
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种消息排序方法和系统、社会性网络服务(SNS)中消息显示的方法,排序方法包括:从用户转播和/或点评的消息中提取其根消息标识(ID)、以及转播和/或点评的时间线;判断消息队列中是否存在相同的根消息ID,如果存在,则用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将该消息按照替换后的时间线倒序插入消息队列中;如果不存在,则将消息按照提取的时间线倒序插入消息队列中。通过本发明,能够节省存储空间,降低计算量,有利于系统性能的提高。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种消息排序方法和系统、社会性网络服务(SNS)中消息显示的方法。
背景技术
在现有的互联网应用中,所采用的消息热度的统计方法,通常是统计消息被转播、点评的次数,以统计的消息被转播、点评的次数来衡量消息的热度;也就是说,消息热度的排名是以消息被转播、点评的次数维度来进行排名的。以微群为例,现有技术是统计微群中的消息被转播、点评的次数,并按照统计的次数多少,对消息进行排序;以消息的统计次数来衡量该消息的热度,将热度高的消息在微群中靠前排列。
然而,由于微群内消息量巨大、消息滚动快,因此统计微群内的消息被转播、点评的次数,需要大量的存储空间,而且计算量大,从而不利于系统性能的提高。
发明内容
有鉴于此,本发明的主要目的在于提供一种消息排序方法和系统、SNS中消息显示的方法,特别地是一种消息热度的统计维护方法和系统,以解决现有技术中以次数维度来进行消息热度统计和排序的方法所存在的占用存储空间大,计算量大的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种消息排序方法,该方法包括:
从用户转播和/或点评的消息中提取其根消息标识(ID)、以及转播和/或点评的时间线;
判断消息队列中是否存在相同的根消息ID,如果存在,则用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将所述消息按照替换后的时间线倒序插入所述消息队列中;如果不存在,则将所述消息按照提取的时间线倒序插入所述消息队列中。
该方法进一步包括:在所述消息队列满时,按照时间线淘汰旧的消息。
所述在消息队列满时,按照时间线淘汰旧的消息,具体为:
在所述消息队列中的消息数达到预设的最大限度时,将按照时间线排列在所述消息队列最尾部的至少一条消息从所述消息队列中删除。
在从用户转播和/或点评的消息中提取其根消息ID、以及转播和/或点评的时间线之前,该方法还包括:
对用户转播和/或点评的消息进行旁路;
相应的,所述根消息ID和时间线是从旁路后的消息中提取。
本发明还提供了一种社会性网络服务(SNS)中消息显示的方法,根据前述的排序方法进行排序显示。
所述SNS包括微博、微群、博客、社区或网页评论。
本发明还提供了一种消息排序系统,该系统包括:
排序模块,用于从用户转播和/或点评的消息中提取其根消息标识ID、以及转播和/或点评的时间线,判断消息队列中是否存在相同的根消息ID,如果存在,则用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将所述消息按照替换后的时间线倒序插入所述消息队列中;如果不存在,则将所述消息按照提取的时间线倒序插入所述消息队列中。
所述排序模块进一步用于,在所述消息队列满时,按照时间线淘汰旧的消息。
所述在消息队列满时,按照时间线淘汰旧的消息,具体为:
在所述消息队列中的消息数达到预设的最大限度时,将按照时间线排列在所述消息队列最尾部的至少一条消息从所述消息队列中删除。
该系统还包括:中转模块,用于对消息进行旁路,并将旁路后的消息传送给排序模块;
相应的,所述排序模块从旁路后的消息中提取根消息ID和时间线。
本发明所提供的一种消息排序方法和系统、SNS中消息显示的方法,特别地是一种消息热度的统计维护方法和系统,能够节省存储空间,降低计算量,有利于系统性能的提高。
附图说明
图1为本发明实施例的一种消息排序系统的结构示意图;
图2为本发明实施例的一种消息排序方法的流程图;
图3为本发明实施例的另一种消息排序方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明实施例所提供的一种消息排序系统,如图1所示,主要包括:排序模块,用于从用户转播和/或点评的消息中提取其根消息标识(ID)、以及转播和/或点评的时间线,判断消息队列中是否存在相同的根消息ID,如果存在,则用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将该消息按照替换后的时间线倒序插入消息队列中;如果不存在,则将该消息按照提取的时间线倒序插入消息队列中。
较佳的,该系统还包括:中转模块,用于对消息进行旁路,并将旁路后的消息传送给排序模块;所谓旁路是指,从消息总线上旁路(即备份)一份用户转播、点评的消息;
那么相应的,排序模块是从旁路后的消息中提取根消息ID和时间线。
较佳的,排序模块还用于,在消息队列满时,按照时间线淘汰旧的消息,具体包括:在消息队列中的消息数达到预设的最大限度时,将按照时间线排列在消息队列最尾部的至少一条消息从消息队列中删除。淘汰时删除的消息数量可以预先设置好。
下面结合图1所示消息排序系统,详细说明本发明实施例的消息排序方法。
本发明实施例的一种消息排序方法,如图2所示,主要包括:
步骤201,从用户转播和/或点评的消息中提取其根消息ID、以及转播和/或点评的时间线。
较佳的,在步骤201之前,可以对用户转播和/或点评的消息进行旁路,那么相应的,所述根消息ID和时间线是从旁路后的消息中提取的。即中转模块外接消息的发表、转播、点评平台,并从消息总线上旁路一份用户转播、点评的消息;中转模块将旁路的消息提供给排序模块。
由于对一条消息进行转播、点评时都会带上根消息ID(rootID)和时间线,因此,排序模块可以从转播、点评的消息中提取rootID和时间线。
例如:定义一条消息结构为ID(rootID,timeline),当该消息为原创时(即根消息),其rootID(根消息ID)=0,timeline为消息发表的时间,此时该消息的结构为ID0(0,1);随后当该消息被第一次转播时,该消息的结构变为ID1(ID0,2),即此时刷新消息ID0的时间线为2。因此,排序模块从转播、点评的消息中提取的时间线为消息的最新时间线。
步骤202,判断消息队列中是否存在相同的根消息ID,如果存在,执行步骤203;否则,执行步骤204。
步骤203,用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将该消息按照替换后的时间线倒序插入消息队列中。
步骤204,将该消息按照提取的时间线倒序插入消息队列中。
用根消息被转播、点评的最新时间线来排名消息的热度,由于一条消息进行转播、点评时都会带上rootID,因此可以用转播、点评的时间线来刷新根消息的时间线,并通过配置消息队列的最大限度,以时间线为淘汰机制,这样可以让被转播、点评热度高的根消息始终排列在消息队列中最靠前的位置。
本发明实施例的另一种消息排序方法,如图3所示,主要包括:
步骤301,对用户转播、点评的消息进行旁路。
步骤302,提取消息的rootID和时间线。
步骤303,判断消息队列中是否存在与步骤302中相同的rootID,如果存在,执行步骤304;否则,执行步骤305。
步骤304,用提取的rootID和时间线替换消息队列中旧的rootID和时间线。
例如:提取的消息的rootID为0、时间线为2,在消息队列中存在rootID为0、时间线为1的消息,则用提取的消息替换消息队列中rootID为0、时间线为1的旧消息。
步骤305,将该消息按照提取的时间线倒序插入消息队列中。
步骤306,判断消息队列是否已满,如果是,执行步骤307;否则,结束流程。
判断消息队列中的消息数是否达到预设的最大限度,如果达到,则判断消息队列已满;如果未达到,则判断消息队列未满。
步骤307,按照时间线淘汰消息队列中旧的消息。执行完后,结束流程。
将按照时间线排列在消息队列最尾部的至少一条消息从消息队列中删除。淘汰时删除的消息数量可以预先设置好,也可以根据系统状况(页面显示量等)进行动态设置。
另外,本发明实施例还提供了一种社会性网络服务(SNS)中消息显示的方法,根据本发明实施例所述的排序方法进行排序显示。所述SNS包括微博、微群、博客、社区或网页评论等等。
下面再以本发明实施例的方法和系统应用于微群的情况为例,进一步详细阐述。
中转模块连接微群的消息发表、转播、点评平台,并从微群的消息总线上旁路一份用户转播、点评的消息;中转模块将旁路的消息提供给排序模块。排序模块从旁路的消息中提取rootID和转播、点评的时间线,并判断消息队列中是否存在与旁路的消息存在相同rootID的消息,如果存在,则用提取的rootID和时间线替换旧的rootID和时间线,并将提取的消息按照替换后的时间线倒序插入消息队列中;如果不存在,则将提取的消息按照提取的时间线倒序插入消息队列中。判断消息队列是否已满,如果已满,则按照时间线淘汰消息队列中旧的消息。
在微群应用中,用根消息被转播、点评的最新时间线来排名消息的热度,由于一条消息进行转播、点评时都会带上rootID,因此可以用转播、点评的时间线来刷新根消息的时间线,并通过配置消息队列的最大限度,以时间线为淘汰机制,这样可以让被转播、点评热度高的根消息始终排列在微群的消息队列中最靠前的位置。
综上所述,本发明以消息的时间线为维度来统计消息的热度,相比现有技术中的次数维度,本发明无需大量的存储空间,也省去了大的计算量,不会对系统的性能造成不利影响;另外,本发明的中转模块和排序模块可以为消息平台的外设,具备独立的统计维护功能,其更不会占用消息平台的存储空间,不会影响消息平台的系统性能。
本发明的方法和系统不仅适用于微博、博客、微群的应用,凡是有消息发表、转播、点评的应用(如社区、网页评论等等)应当都适用本发明的方法和系统,都应当落入本发明的保护范围。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种消息排序方法,其特征在于,该方法包括:
从用户转播和/或点评的消息中提取其根消息标识ID、以及转播和/或点评的时间线;
判断消息队列中是否存在相同的根消息ID,如果存在,则用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将所述消息按照替换后的时间线倒序插入所述消息队列中;如果不存在,则将所述消息按照提取的时间线倒序插入所述消息队列中。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:在所述消息队列满时,按照时间线淘汰旧的消息。
3.根据权利要求2所述的方法,其特征在于,所述在消息队列满时,按照时间线淘汰旧的消息,具体为:
在所述消息队列中的消息数达到预设的最大限度时,将按照时间线排列在所述消息队列最尾部的至少一条消息从所述消息队列中删除。
4.根据权利要求1、2或3所述的方法,其特征在于,在从用户转播和/或点评的消息中提取其根消息ID、以及转播和/或点评的时间线之前,该方法还包括:
对用户转播和/或点评的消息进行旁路;
相应的,所述根消息ID和时间线是从旁路后的消息中提取。
5.一种社会性网络服务SNS中消息显示的方法,其特征在于,根据权利要求1至4任一项所述的排序方法进行排序显示。
6.根据权利要求5所述的方法,其特征在于,所述SNS包括微博、微群、博客、社区或网页评论。
7.一种消息排序系统,其特征在于,该系统包括:
排序模块,用于从用户转播和/或点评的消息中提取其根消息标识ID、以及转播和/或点评的时间线,判断消息队列中是否存在相同的根消息ID,如果存在,则用提取的根消息ID和时间线替换旧的根消息ID和时间线,并将所述消息按照替换后的时间线倒序插入所述消息队列中;如果不存在,则将所述消息按照提取的时间线倒序插入所述消息队列中。
8.根据权利要求7所述的系统,其特征在于,所述排序模块进一步用于,在所述消息队列满时,按照时间线淘汰旧的消息。
9.根据权利要求8所述的系统,其特征在于,所述在消息队列满时,按照时间线淘汰旧的消息,具体为:
在所述消息队列中的消息数达到预设的最大限度时,将按照时间线排列在所述消息队列最尾部的至少一条消息从所述消息队列中删除。
10.根据权利要求7、8或9所述的系统,其特征在于,该系统还包括:中转模块,用于对消息进行旁路,并将旁路后的消息传送给排序模块;
相应的,所述排序模块从旁路后的消息中提取根消息ID和时间线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210048740.3A CN103294709B (zh) | 2012-02-28 | 2012-02-28 | 一种消息排序方法和系统、sns中消息显示的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210048740.3A CN103294709B (zh) | 2012-02-28 | 2012-02-28 | 一种消息排序方法和系统、sns中消息显示的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103294709A CN103294709A (zh) | 2013-09-11 |
CN103294709B true CN103294709B (zh) | 2016-08-03 |
Family
ID=49095599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210048740.3A Active CN103294709B (zh) | 2012-02-28 | 2012-02-28 | 一种消息排序方法和系统、sns中消息显示的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294709B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618625B (zh) * | 2013-11-28 | 2019-03-01 | 深圳云之家网络有限公司 | 一种微博中网络资源的控制方法、装置和系统 |
CN107087236B (zh) * | 2017-03-22 | 2020-02-07 | 北京潘达互娱科技有限公司 | 一种直播信息展示方法及装置 |
CN111683140B (zh) * | 2020-06-05 | 2024-03-19 | 北京百度网讯科技有限公司 | 用于分发消息的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243627A (zh) * | 2010-05-10 | 2011-11-16 | 核工业西南物理研究院 | 基于虚拟时间值的信息记录排序方法 |
CN102253969A (zh) * | 2011-06-08 | 2011-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息处理方法、装置及服务器 |
-
2012
- 2012-02-28 CN CN201210048740.3A patent/CN103294709B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243627A (zh) * | 2010-05-10 | 2011-11-16 | 核工业西南物理研究院 | 基于虚拟时间值的信息记录排序方法 |
CN102253969A (zh) * | 2011-06-08 | 2011-11-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息处理方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103294709A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110727B2 (en) | Systems and methods for event stream management | |
CN103379129B (zh) | 一种数据同步方法、服务器及分布式系统 | |
CN102789317B (zh) | 一种加快文本输入的方法和装置 | |
CN103294709B (zh) | 一种消息排序方法和系统、sns中消息显示的方法 | |
Tian et al. | The blue stragglers formed via mass transfer in old open clusters | |
CN103034722B (zh) | 一种网络视频评论聚合装置及方法 | |
CN102622382A (zh) | 一种网页重排版的方法 | |
CN103823796A (zh) | 一种翻译系统及翻译方法 | |
GB201216103D0 (en) | Optimizating clustered network attached storage (nas) usage | |
CN102255966A (zh) | 一种消息推送方法及即时通信服务器 | |
CN104601626A (zh) | 基于移动终端的客户拜访方法 | |
CN101620717A (zh) | 一种用户需求的分析方法及系统 | |
Petersen | Abortion laws and medical developments: a medico-legal anomaly in Queensland. | |
CN106294435A (zh) | 一种基于PaaS云平台的云内容管理系统 | |
CN104954227A (zh) | 一种抢占式跨平台消息推送方法和服务器 | |
CN106791855A (zh) | 一种降低坐席管理系统成本的方法及系统 | |
BR112014004451A2 (pt) | método e sistema para proporcionar um anúncio personalizado para um usuário | |
CN103514203A (zh) | 以阅读模式浏览网页的方法及系统 | |
Cohen | When stars Twitter, a ghost may be lurking | |
CN102567366A (zh) | 实现对网页重新排版的方法 | |
CN105137839B (zh) | 一种基于内存数据库的云台控制方法及其系统 | |
CN105407076A (zh) | 一种媒体桥实现方法及系统 | |
CN106294701A (zh) | 网站前端的数据缓存系统及方法 | |
Li et al. | Research on the development and preliminary application of 12396 new rural sci-tech service hotline we chat public platform | |
CN209640851U (zh) | 节点服务器和多节点服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |