微博中的消息推送方法及装置、系统与流程

文档序号:12039281阅读:400来源:国知局
微博中的消息推送方法及装置、系统与流程
本发明涉及网络通信技术,尤其涉及一种微博中的消息推送方法及装置、系统。

背景技术:
随着互联网应用的不断发展,微博作为一种扩展即时通讯(IM,InstantMessenger)消息传播机制的新产品得到了广泛快速的应用。在微博应用中,客户端发出的微博消息被转播或评论后,微博服务器会将该微博消息的转播消息或评论消息推送给客户端进行显示,以提示用户,达到即时通讯的目的。但现有的推送方式是微博服务器将转播消息或评论消息按照时间顺序进行推送,客户端按照时间顺序进行显示,使得针对不同微博消息的转播消息或评论消息混杂在一起,用户需要逐条阅读并筛选,才能找到自己感兴趣的消息,不仅费时费力,而且效率很低。特别是在转播消息或评论消息的数量很多(例如,有成百上千条)时,更是如此。

技术实现要素:
有鉴于此,本发明的主要目的在于提供一种微博中的消息推送方法及装置、系统,能够有针对性的推送转播消息和/或评论消息,提高转播消息和/或评论消息的阅读效率。为达到上述目的,本发明的技术方案是这样实现的:本发明提供了一种微博中的消息推送方法,所述方法包括:接收转播消息和/或评论消息;提取关联同一微博消息的转播消息和/或评论消息,生成和/或更新对应所述同一微博消息的消息组;将所述消息组的相关信息推送给客户端。在上述方案中,所述生成对应所述同一微博消息的消息组,包括:生成包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,生成至少一个包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。在上述方案中,所述更新对应所述同一微博消息的消息组,包括:将关联所述同一微博消息的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,将关联所述同一微博消息且具有相应标志位属性的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。在上述方案中,所述将所述消息组的相关信息推送给客户端之前,所述方法还包括:对各消息组中的消息进行计数;所述消息组的相关信息包括所述消息组的ID和所述消息组中的消息数目。在上述方案中,所述方法还包括:客户端接收所述消息组的相关信息并在微博页面上显示。在上述方案中,所述客户端在微博页面上显示所述消息组的ID和所述消息组中的消息数目。在上述方案中,所述将所述消息组的相关信息推送给客户端之后,所述方法还包括:接收客户端发送的用于获取消息组内容的请求,查询相应的消息组并将相应消息组中的转播消息和/或评论消息推送给所述客户端;客户端接收相应消息组中的转播消息和/或评论消息并在微博页面上显示。在上述方案中,所述将相应消息组中的转播消息和/或评论消息推送给所述客户端之前,所述方法还包括:根据预设的推送条件对相应消息组中的转播消息和/或评论消息进行筛选。本发明还提供了一种用于微博中消息推送的微博服务器,所述微博服务器包括:接收模块、消息组模块和推送模块;其中,接收模块,用于接收转播消息和/或评论消息;消息组模块,用于从所述接收模块接收到的转播消息和/或评论消息中提取关联同一微博消息的转播消息和/或评论消息,生成和/或更新对应所述同一微博消息的消息组;推送模块,用于将所述消息组模块所生成和/或更新的消息组的相关信息推送给客户端。在上述方案中,所述消息组模块,具体用于生成包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,生成至少一个包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。在上述方案中,所述消息组模块,具体用于将关联所述同一微博消息的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,将关联所述同一微博消息且具有相应标志位属性的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。在上述方案中,所述消息组模块,还用于对各消息组中的消息进行计数;所述消息组的相关信息包括所述消息组的ID和所述消息组中的消息数目。在上述方案中,所述接收模块,还用于接收客户端发送的用于获取消息组内容的请求,并发送给所述推送模块;所述推送模块,还用于查询所述请求相应的消息组并将所述消息组中的转播消息和/或评论消息推送给所述客户端。在上述方案中,所述推送模块,还用于根据预设的推送条件对所述消息组中的转播消息和/或评论消息进行筛选后推送给所述客户端。本发明还提供了一种用于微博中消息推送的系统,所述系统包括微博服务器和客户端;其中,微博服务器包括:接收模块、消息组模块和推送模块;其中,接收模块,用于接收转播消息和/或评论消息;消息组模块,用于从所述接收模块接收到的转播消息和/或评论消息中提取关联同一微博消息的转播消息和/或评论消息,生成和/或更新对应所述同一微博消息的消息组;推送模块,用于将所述消息组模块所生成和/或更新的消息组的相关信息推送给客户端;客户端,用于接收所述消息组的相关信息并在微博页面上显示。在上述方案中,所述客户端,用于在微博页面上显示所述消息组的ID和所述消息组中的消息数目。在上述方案中,所述接收模块,还用于接收客户端发送的用于获取消息组内容的请求,并发送给所述推送模块;所述推送模块,还用于查询所述请求相应的消息组并将所述消息组中的转播消息和/或评论消息推送给所述客户端;所述客户端,还用于接收相应消息组中的转播消息和/或评论消息并在微博页面上显示。本发明微博中的消息推送方法及装置,通过将关联同一微博消息的转播消息和/或评论消息聚合成消息组,推送所述消息组的相关信息给用户,从而有针对性的进行转播消息和/或评论消息的推送,不再是简单地将转播消息和/或评论消息按照时间顺序进行推送,提高了消息推送的准确性,有效避免消息泛滥,节省了用户查看转播消息和/或评论消息所耗费的人力和时间,提高了微博消息推送的效率。附图说明图1为本发明微博中的消息推送方法的实现流程图;图2为本发明用于微博中消息推送的微博服务器的组成结构示意图;图3为本发明实施例中消息推送的流程示意图。具体实施方式本发明中,将关联同一条微博消息的转播消息和/或评论消息进行聚合处理后推送给客户端进行显示,方便用户基于自身需求查阅感兴趣的转播消息和/或评论消息。如图1所示,本发明微博中的消息推送方法主要可以包括如下步骤:步骤101:接收转播消息和/或评论消息;步骤102:提取关联同一微博消息的转播消息和/或评论消息,生成和/或更新对应所述同一微博消息的消息组;这里,所述消息组包含相应微博消息所关联的全部或部分的转播消息和/或评论消息。对于同一微博消息,可以生成至少一个消息组。具体地,微博服务器生成包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,生成至少一个包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。微博服务器将关联所述同一微博消息的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,将关联所述同一微博消息且具有相应标志位属性的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。这里,所述标志位属性可以是发送所述转播消息或评论消息的客户端的属性,也可以是所述转播消息或评论消息本身的属性。如,是否来自已认证的客户端,是否来自发布所述同一微博消息的客户端的关联客户端,是否来自预设的VIP客户端,是否满足预设的内容条件等。步骤103:将所述消息组的相关信息推送给客户端。其中,消息组的相关信息可以包括所述消息组的ID、消息数目等。所述将所述消息组的相关信息推送给客户端之前,微博服务器还实时对各消息组中的消息进行计数,以便将计数的结果即各消息组中消息的数目推送给客户端。其中,步骤103之后,还包括:客户端接收所述消息组的相关信息并在微博页面上显示。具体地,所述客户端在微博页面上显示所述消息组的ID和所述消息组中的消息数目。在步骤103之后,所述方法还包括:接收客户端发送的用于获取消息组内容的请求,查询相应的消息组并将相应消息组中的转播消息和/或评论消息推送给所述客户端;客户端接收相应消息组中的转播消息和/或评论消息并在微博页面上显示。这里,微博服务器还可以根据预设的推送条件对相应消息组中的转播消息和/或评论消息进行筛选后再进行推送。其中,所述推送条件可以由用户自定义,例如,可以是“屏蔽所有不包含实质内容的转播消息”等。相应的,本发明还提供了一种用于微博中消息推送的微博服务器,如图2所示,所述微博服务器可以包括:接收模块、消息组模块和推送模块;其中,接收模块,用于接收转播消息和/或评论消息;消息组模块,用于从所述接收模块接收到的转播消息和/或评论消息中提取关联同一微博消息的转播消息和/或评论消息,生成和/或更新对应所述同一微博消息的消息组;推送模块,用于将所述消息组模块所生成和/或更新的消息组的相关信息推送给客户端。具体地,所述消息组模块,可以生成包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,生成至少一个包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。所述消息组模块,还可以将关联所述同一微博消息的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的全部转播消息和/或评论消息的消息组;和/或,将关联所述同一微博消息且具有相应标志位属性的转播消息和/或评论消息,添加到包含有关联所述同一微博消息的、具有同一标志位属性的转播消息和/或评论消息的消息组。其中,所述消息组模块,还可以用于对各消息组中的消息进行计数;所述消息组的相关信息可以包括所述消息组的ID、消息数目等。其中,所述接收模块,还可以用于接收客户端发送的用于获取消息组内容的请求,并发送给所述推送模块;所述推送模块,还可以用于查询所述请求相应的消息组并将所述消息组中的转播消息和/或评论消息推送给所述客户端。这里,所述推送模块,还可以用于根据预设的推送条件对所述消息组中的转播消息和/或评论消息进行筛选后推送给所述客户端。相应的,本发明还提供了一种用于微博中消息推送的系统,所述系统包括上述的微博服务器和客户端;其中,客户端,用于接收所述消息组的相关信息并在微博页面上显示。具体地,所述客户端,用于在微博页面上显示所述消息组的ID和所述消息组中的消息数目。这里,所述接收模块,还用于接收客户端发送的用于获取消息组内容的请求,并发送给所述推送模块;所述推送模块,还用于查询所述请求相应的消息组并将所述消息组中的转播消息和/或评论消息推送给所述客户端;所述客户端,还用于接收相应消息组中的转播消息和/或评论消息并在微博页面上显示。具体地,如图3所示,微博中转播消息和/或评论消息的推送流程可以包括如下步骤:步骤301:当前客户端A发布微博消息a;步骤302:微博服务器接收微博消息a关联的转播消息和/或评论消息;具体地,其他微博用户在自己的微博页面上对当前客户端A发布的微博消息a进行转播或评论,其客户端将相应的转播消息和/或评论消息发送给微博服务器,微博服务器接收所述转播消息和/或评论消息;这里,客户端在向微博服务器发送转播消息和/或评论消息时,还可以携带微博消息a和/或客户端A的相关信息(如用户ID、统一资源定位符(URL,UniformResourceLocator)等信息)。步骤303:微博服务器提取关联微博消息a的转播消息和/或评论消息,生成和/或更新对应微博消息a的消息组;其中,微博服务器从接收到的消息中提取与微博消息a相关联的转播消息和/或评论消息,生成或更新对应微博消息a的消息组;和/或,微博服务器提取与微博消息a相关联的转播消息和/或评论消息,并基于所述各转播消息和/或评论消息的标志位属性,对所述转播消息和/或评论消息进行分类筛选,生成和/或更新对应微博消息a的不同消息组。这里,对应微博消息a的消息组中可以包含客户端A所发布微博消息a的全部或部分的转播消息和/或评论消息。这里,标志位可以是发送该转播消息或评论消息的客户端的特征或者该转播消息或评论消息的内容特征,可以预先设置。如,是否来自当前客户端的关联客户端、是否来自已认证的客户端、是否来自预设的VIP客户端、是否满足预设的内容条件等都可以作为转播消息或评论消息的标志位,相应的,标志位属性可以是来自当前客户端的关联客户端或非来自当前客户端的关联客户端、来自已认证的客户端或非来自已认证的客户端、来自VIP客户端或非来自VIP客户端、满足预设的内容条件或不满足预设的内容条件。例如,微博服务器可以为微博消息a生成三个消息组:第一消息组、第二消息组和第三消息组,其中,第一消息组为包含客户端A所发布微博消息a相关联的全部转播消息和/或评论消息,该消息组的ID可以设为“全部”;第二消息组为包含客户端A所发布微博消息a相关联的、来自客户端A的关联客户端的转播消息和/或评论消息,该第二消息组的ID可以设为“收听的人”;第三消息组为包含客户端A所发布微博消息a相关联的、来自已认证客户端的转播消息和/或评论消息,该第三消息组的ID可以设为“认证用户”。再例如,微博服务器可以为微博消息a生成四个消息组,包括上述的第一消息组、第二消息组和第三消息组,还包括第四消息组,第四消息组包含微博消息a相关联的、内容满足预设的内容条件(例如,字符数目超过预设的字符阈值等)的转播消息和/或评论消息,该消息组的ID可以设为“精华”。步骤304:微博服务器将对应微博消息a的各消息组的相关信息推送给客户端A以及客户端A的关联客户端;这里,消息组的相关信息中可以包含消息组的ID和所包含消息的数目等信息。实际应用中,微博服务器每次接收到针对客户端A所发布微博消息a的转播消息和/或评论消息时,都实时更新相应消息组的内容和相关信息,并将相应消息组的相关信息实时推送给客户端A。具体地,微博服务器将所接收到的转播消息和/或评论消息添加到相应的消息组,并对相应消息组中的消息重新进行计数,将计数结果实时推送给客户端A。例如,微博服务器接收到针对客户端A所发布微博消息a的一则转播消息,基于该转播消息的发布信息(包括发布该转播消息的客户端信息等),判断该转播消息来自客户端A的关联客户端,则微博服务器将该则转播消息分别添加到针对客户端A所发布微博消息a的“全部”消息组和“收听的人”消息组,同时分别对“全部”消息组和“收听的人”消息组中的消息数目重新进行计数,更新“全部”消息组和“收听的人”消息组的消息数目,并将更新后的消息组信息实时推送给客户端A。步骤305:客户端A或客户端A的关联客户端在上线后,接收并在微博页面上显示微博消息a的消息组信息;步骤306:用户在自己的微博页面上点击客户端A所发布微博消息a的消息组信息(例如,消息组ID),该用户的客户端B生成用于获取相应消息组内容的请求并发送给微博服务器;这里,用于获取消息组内容的请求可以包含所述消息组的ID等信息。例如,用户在自己的微博页面上点击客户端A所发布微博消息a的“认证用户”消息组,则该用户的客户端B生成用于获取针对客户端A所发布微博消息a“认证用户”消息组内容的请求并发送给微博服务器。这里,所述请求中可以包含微博消息a的发布信息(如发布微博消息a的客户端A的相关信息、微博消息a的相关信息等)、以及“认证用户”消息组的ID等信息。其中,所述用户可以是客户端A的用户,也可以是客户端A的关联客户端的用户。客户端B可以是客户端A或客户端A的关联客户端。步骤307:微博服务器接收客户端B发送的所述请求,将相应消息组中包含的转播消息和/或评论消息推送给客户端B;例如,微博服务器接收客户端B发送的、用于获取针对客户端A所发布微博消息a“认证用户”消息组内容的请求,则从本地查询针对客户端A所发布微博消息a的“认证用户”消息组,读取该消息组中包含的转播消息和/或评论消息并发送给客户端B。实际应用中,微博服务器可以将读取的转播消息和/或评论消息分批发送给客户端B,也可以一次性发送给客户端B,或逐条发送给客户端B。步骤308:客户端B接收并在微博页面上显示相应消息组中包含的转播消息和/或评论消息。例如,客户端B接收微博服务器发送转播消息和/或评论消息并显示在微博页面上,展示给用户。实际应用中,客户端B可以分批显示所述转播消息和/或评论消息(例如,一次显示5条转播消息和/或评论消息,其中显示的消息数目可以预先设置或由用户自定义),也可以逐条显示或一次性显示所有的转播消息和/或评论消息。在上述推送过程中,用户还可以根据需要设置转播消息和/或评论消息的推送条件。如果用户设置了推送条件,则在步骤307推送转播消息和/或评论消息的过程中,微博服务器还会根据用户设置的推送条件对相应消息组中的转播消息和/或评论消息进行筛选后再发送给客户端B。例如,用户预先设置了“屏蔽所有不包含实质内容的转播消息”,则在步骤307中,微博服务器读取相应消息组的转播消息和/或评论消息,删除其中“不包含实质内容的转播消息”后将剩余的转播消息和/或评论消息发送给客户端B。在上述推送过程中,微博服务器采取以下的方式对各消息组中的转播消息和/或评论消息进行存储:微博服务器通过2个Key-List数据链(第一Key-List数据链和第二Key-List数据链)存储转播消息和/或评论消息,其中,第一Key-List数据链为微博消息及其客户端的相关信息、与相应消息组的相关信息之间的映射关系,对应存储微博消息及其客户端的相关信息与相应消息组的相关信息,可以设置第一Key-List数据链的长度阈值,例如,可以为1500,如此,微博服务器会定时对第一Key-List数据链中的数据进行淘汰处理,保持第一Key-List数据链的长度不超过预设的长度阈值,从而保证存储压力不会过大;第二Key-List数据链为消息组相关信息与各转播消息和/或评论消息之间的映射关系,对应存储消息组的相关信息与所述消息组中包含的转播消息和/或评论消息,也可以设置第二Key-List数据链的长度阈值,例如,可以为1000,如此,微博服务器会定时对第二Key-List数据链中的数据进行淘汰处理,保持第二Key-List数据链的长度不超过预设的长度阈值,从而保证存储压力不会过大,且保证所保存的消息为最新的,实现高效的数据读写,并且节省存储空间。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1