发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种订阅消息管理方法和订阅消息系统,将订阅消息系统建立在mapreduce框架之下,并行处理大量的订阅消息,解决了服务器处理性能下降的问题。
为了解决上述技术问题,本申请有如下技术方案:
一种订阅消息管理方法,其特征在于,包括:
针对每个订阅用户账号建立一个映射,所述映射记录相应订阅用户账号的订阅记录;
当订阅用户账号查询订阅消息,则通过订阅用户账号的映射选择一个或多个处理节点;
利用所述处理节点通过所述订阅用户账号的订阅记录,提取所述订阅记录对应的订阅消息;
将所述订阅消息反馈至订阅用户账号。
优选地,其中,所述针对每个订阅用户账号建立一个映射还包括:
所述映射主从复制。
优选地,其中,所述提取所述订阅记录对应的订阅消息具体为:
预设提取时间,在所述提取时间对所述订阅记录对应的订阅消息进行提取。
优选地,其中,所述提取所述订阅记录对应的订阅消息具体为:
提取全部未反馈的订阅消息。
为了解决上述技术问题,本申请还有如下技术方案:
一种订阅消息系统,其特征在于,所述系统中有多个处理节点,所述系统包括:
映射模块,用于针对每个订阅用户账号建立一个映射,所述映射记录相应订阅用户账号的订阅记录;
查询模块,用于在订阅用户账号查询订阅消息时,通过订阅用户账号的映射选择一个或多个处理节点;
所述处理节点用于,利用所述处理节点通过所述订阅用户账号的订阅记录,提取所述订阅记录对应的订阅消息;将所述订阅消息反馈至订阅用户账号。
优选地,其中,所述针对每个订阅用户账号建立一个映射还包括:
所述映射主从复制。
优选地,其中,
提取单元,用于预设时间范围阈值,提取所述时间范围阈值内产生的订阅消息;或者提取全部未反馈的订阅消息;
反馈单元,用于将所述订阅消息反馈至订阅用户账号。
与现有技术相比,本申请所述的方法和系统,达到了如下效果:
(1)将订阅消息机制建立在mapreduce框架之下,实现多个处理节点并行处理订阅消息,提高了订阅消息的处理性能;
(2)通过设置不同的订阅消息提取方式,丰富了用户体验。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
本申请中,将订阅消息系统建立在mapreduce框架之下,并行处理大量的订阅消息,解决了服务器处理性能下降的问题。参见图1所示,本申请中所述订阅消息管理方法具体包括以下步骤:
步骤101、针对每个订阅用户账号建立一个映射,所述映射记录相应订阅用户账号的订阅记录。
所述映射即mapreduce框架中的map部分。在mapreduce框架中的map层,针对每个订阅用户账号建立一个映射,或者说将每个订阅用户账号作为mapreduce中的一个映射。所述订阅用户账号,是网络服务的接受方。
所述映射记录相应订阅用户账号的订阅记录,也就是映射承载着订阅用户账号的订阅内容。例如订阅用户账号001订阅了A、B、C三个板块内容,则以上订阅内容均记录在该订阅用户账号对应的映射中。A、B、C三个板块可以来自于提供网络服务的服务器,也可以来自于一些频道用户账户,即来自一部分用户上传分享的网络服务。
订阅用户账号的订阅记录将通过所述映射而投影到相应的板块中,以便于后续的处理运算。
另外优选的,所述映射主从复制,以保证数据高度的可用性。
步骤102、当订阅用户账号查询订阅消息,则通过订阅用户账号的映射选择一个或者多个处理节点。
归并(reduce)是所述mapreduce框架的另一个部分。mapreduce框架中的reduce层中有大量的处理节点,能够进行并行处理,而所述并行处理,也是在大规模数据处理中提高效率,提升处理性能的关键所在。
mapreduce从原理上是map和reduce两个部分协同执行。map用于把数据打散分布在很多节点,reduce是把数据再聚合起来。订阅用户账号的订阅记录已经通过所述映射而投影到相应的板块中,所以即可利用所述reduce从板块进行归并聚合的运算,以完成订阅消息的处理。
本实施例中,订阅消息系统同样是采用拉取式的机制,也就是需要订阅用户账号主动查询订阅消息。当订阅用户账号主动查询是,便会通过该订阅用户账号的映射,选取一个或多个处理节点,由被选择的处理节点为该订阅用户账号提取订阅消息,并进行反馈。
而在本实施例中,由于存在多个处理节点并行处理,所以在大量用户进行查询时,依然能够保证查询性能。
步骤103、利用所述处理节点通过所述订阅用户账号的订阅记录,提取所述订阅记录对应的订阅消息。
由于所述映射中已经记录了订阅用户账号的订阅消息,所以在mapreduce当中,处理节点即可通过映射得到所述订阅用户账号的订阅记录,进而利用所述订阅记录提取所述订阅记录对应的订阅消息。
优选的,还可以预设提取时间,在所述提取时间对所述订阅记录对应的订阅消息进行提取,以便协调各个处理节点开始运行的时机,使得整体系统能够协同运作。
步骤104、将所述订阅消息反馈至订阅用户账号。
提取订阅消息之后,即反馈至订阅用户账号,供用户进行浏览。
通过以上技术方案可知,本实施例存在的有益效果是:将订阅消息机制建立在mapreduce框架之下,实现多个处理节点并行处理订阅消息,提高了订阅消息的处理性能;通过设置不同的订阅消息提取方式,丰富了用户体验。
参见图2所示,为本申请实施例所述订阅消息系统的具体实施例,本实施例中,所述系统用于实现图1所示实施例中所述方法,二者技术方案本质上一致。所以图1所示实施例中的相应描述,同样适用于本实施例当中,在此不作重复叙述。本实施例中所述系统中有多个处理节点201,所述系统包括:
映射模块202,用于针对每个订阅用户账号建立一个映射,所述映射记录相应订阅用户账号的订阅记录。
本实施例中所述针对每个订阅用户账号建立一个映射还包括,所述映射主从复制。
查询模块203,用于在订阅用户账号查询订阅消息时,通过订阅用户账号的映射选择一个处理节点。
所述处理节点201用于,利用所述处理节点通过所述订阅用户账号的订阅记录,提取所述订阅记录对应的订阅消息;将所述订阅消息反馈至订阅用户账号。
所述处理节点201包括:
提取单元,用于预设时间范围阈值,提取所述时间范围阈值内产生的订阅消息;或者提取全部未反馈的订阅消息。
反馈单元,用于将所述订阅消息反馈至订阅用户账号。
通过以上技术方案可知,本实施例存在的有益效果是:将订阅消息机制建立在mapreduce框架之下,实现多个处理节点并行处理订阅消息,提高了订阅消息的处理性能;通过设置不同的订阅消息提取方式,丰富了用户体验。
通过以上各实施例可知,本申请存在的有益效果是:
(1)将订阅消息机制建立在mapreduce框架之下,实现多个处理节点并行处理订阅消息,提高了订阅消息的处理性能;
(2)通过设置不同的订阅消息提取方式,丰富了用户体验。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。