Rss订阅方法及其客户端的制作方法

文档序号:7756367阅读:145来源:国知局
专利名称:Rss订阅方法及其客户端的制作方法
技术领域
本发明涉及RSS (Really Simple Syndication,真正简单聚合)技术领域,具体而 言,涉及RSS订阅方法及其客户端。
背景技术
RSS是一种在线共享内容的简易方式。它是一种消息来源格式规范,用以发布经常 更新资料的网站,例如部落格文章、新闻、音讯或视讯的网摘。用户通过订阅不同的RSS频 道,可以聚焦关注的各种信息,时效性较强,且无须逐个到互联网上去搜索相关网站,使用 非常方便。频道的订阅有多种方式,包括手工输入频道链接以及名称、用户通过互联网上的 RSS链接直接添加或者通过OPML (Outline Processor Markup Language,大纲处理标记语 言)文件导入等,由于频道来源的多样性,存在重复引用订阅的现状,当前业界的RSS客户 端软件都无法有效地过滤这些重复订阅频道,这就使得本地存储的频道存在冗余,带来资 源消耗和用户体验困扰,也会带来带宽和用户上网费用的额外开销。进一步的,互联网是完全开放的,RSS的主旨又在于更方便快捷地共享各种时效信 息,用户发布RSS资源的自由性,广泛性,使得尽管名称不同的频道,但都可能包含相同的 信息条目,尤其RSS的聚合性又体现在关注同一类型的资讯,而同一类型的主流资讯内容 提供商又往往是同一的,比如新浪博客可以被多个RSS频道引用,这样RSS客户端在不同频 道订阅后,也可能面临冗余存储新闻条目,这在存储资源紧张的手机终端上是非常低效和 浪费的。由于当前的RSS协议采用每个属性值字符串比较的方式,效率和结果均不理想, 因此当前的客户端技术都没有有效的办法解决此问题,随着RSS用户的不断增加,RSS订阅 内容的迅速丰富和发展,这个问题将更加严峻。

发明内容
本发明提出了一种RSS订阅方法及其客户端,以解决上述RSS协议采用每个属性 值字符串比较的方式,效率和结果均不理想的问题。根据本发明的一个方面,提供了一种RSS订阅方法,包括客户端获取RSS对象; 选择RSS对象的属性计算得到ID ;判断ID是否为冗余ID ;如果不是冗余ID,则保存RSS对 象,如果是冗余ID,则忽略RSS对象或者将已有ID对应的RSS对象更新为冗余ID对应的 RSS对象。根据本发明的另一方面,提供了一种用于RSS订阅的客户端,包括获取模块,用 于获取RSS对象;协议模块,用于选择RSS对象的属性计算得到ID ;冗余过滤模块,用于判 断ID是否为冗余ID ;数据存储管理模块,用于如果不是冗余ID,则保存RSS对象,如果是冗 余ID,则忽略RSS对象或者将已有ID对应的RSS对象更新为冗余ID对应的RSS对象。本发明采用ID来识别冗余的RSS对象,解决了现有RSS协议采用每个属性值字符
4串比较的方式,效率和结果均不理想的问题,进而提高了 RSS客户端数据整合能力,减少了 RSS冗余资源。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1示出了根据本发明实施例的RSS订阅方法的流程图;图2示出了根据本发明优选实施例的冗余频道过滤示意图;图3示出了根据本发明优选实施例的减少冗余新闻条目示意图;图4示出了根据本发明优选实施例的减少冗余资源的流程图;图5示出了根据本发明优选实施例的计算频道ID示意图;图6示出了根据本发明实施例的用于RSS订阅的客户端的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。图1示出了根据本发明实施例的RSS订阅方法的流程图,包括步骤S 10,客户端获取RSS对象;步骤S20,选择RSS对象的属性计算得到ID ;步骤S30,判断ID是否为冗余ID ;步骤S40,如果不是冗余ID,则保存RSS对象,如果是冗余ID,则忽略RSS对象或者 将已有ID对应的RSS对象更新为冗余ID对应的RSS对象。现有技术中采用每个属性值字符串比较的方式,效率和结果均不理想,而本实施 例采用ID来识别冗余的RSS对象。每个RSS对象拥有唯一的ID,而属性值却是多个,并且 ID结构简单,字长可以固定,所以采用ID进行判断,解决了现有RSS协议采用每个属性值字 符串比较的方式,效率和结果均不理想的问题,进而提高了 RSS客户端数据整合能力,减少 了 RSS冗余资源。其中,RSS对象指的是RSS客户端中有存储要求的各种对象,可以包括频道、新闻 条目和多媒体对象等。RSS客户端获得对象数据文件的方式可以是多样的,比如用户订阅频 道,则获得频道数据文件的方式可以是手工订阅输入信息、互联网添加频道或者OPML方式 导入等,本发明不限定RSS客户端获得对象数据文件的方式。而新闻条目数据文件获得可 以是RSS客户端发起更新下载,也可以是RSS源推送,本发明不限定新闻条目Feed文件的 获取方式。步骤S20中RSS客户端对数据文件进行解析,并对各种属性值进行提取,以频道 对象和新闻条目对象为例,频道对象包含RSS协议中〈channel〉元素下各子属性值,新闻 条目对象包含RSS协议中<item>元素下各属性值,其中协议可以是RSS 1. 0/RSS2. 0以及 ATOMl. 0,应该理解,这里不构成对RSS其它协议的限制。优选地,RSS对象可以为频道对象、新闻条目对象或多媒体对象。当RSS对象为频 道对象时,步骤S20包括选择频道对象的标题属性和链接属性;将标题属性和链接属性作为入参数,采用安全哈希算法(Secure Hash Algorithm)计算得到ID。该优选实施例解决 了频道对象冗余订阅的问题。图2示出了根据本发明优选实施例的冗余频道过滤示意图,包括S101,订阅模块包含多种频道订阅方式,用户可通过界面输入频道的关键属性信 息;用户也可以在上网浏览过程中,通过添加互联网上的RSS资源的方式订阅频道;进一步 的,还能通过导入频道列表文件的方式,完成订阅。通过此步骤,完成了频道数据的输入。S102,对于有特定格式或者协议要求的频道数据文件,将通过协议模块进行解析 和提取预定义的属性集数值,比如OPML格式的频道列表导入,则需要完成OPML协议解析, 提取出频道的属性值。S103,对于用户直接输入或者从协议模块解析获得的频道属性值,将在冗余过滤 模块通过SHAl转换成唯一的频道ID值,RSS客户端使用此可以唯一标识频道的ID值进行 过滤,保证用户不会重复订阅相同的频道。S104,在完成冗余过滤操作后,数据存储管理模块连同其ID—起,将新增的频道 信息保存。优选地,当RSS对象为新闻条目对象或多媒体对象时,选择所述频道对象或多媒 体对象的标题〈title〉属性、链接<Link>属性和出版日期〈pubDate〉属性;将所述标题属 性、所述链接属性和所述出版日期属性作为入参数,采用安全哈希算法计算得到所述ID。该 优选实施列解决了在RSS频道即使不相同的情况下,也可能存在的RSS新闻条目内容和多 媒体内容相同而导致的RSS内容的冗余,避免了 RSS新闻条目内容和多媒体内容的冗余。应该理解,这里是以这几个属性作为说明,但不限制于使用其它的属性值组合。另 外,这里使用了安全哈希算法以获得定长的唯一的ID值,也可以推广到具有同样能力的其 它算法。在上述优选实施例中,安全哈希算法可以采用SHI、MD5,SHA256、SHA384、SHA512 等算法。图3示出了根据本发明优选实施例的减少冗余新闻条目示意图,包括S201,由于频道新闻条目都保存在RSSFeed文件中,在频道进行更新后,传输模块 将RSSFeed文件下载到本地。S202,协议模块对RSSFeed文件进行协议解析,提取新闻条目(item)的属性集数 值,可以包括 <link>、<title> 和 <pubDate> 等。S203,冗余过滤模块同样组合这些属性值作为SHAl算法(也可以采用其他安全哈 希算法)的入参数,计算出唯一标识此新闻条目的ID值,并使用ID对本地保存的新闻条目 ID进行冗余查找,刷新旧条目内容。S204,如果未能找到冗余项,则数据存储管理模块在此RSSFeed文件中保留此新 闻条目数据。优选地,本RSS订阅方法还包括提供界面,允许用户通过界面选择属性。这可以 满足用户的特定需求。图2的订阅模块即提供了该功能。优选地,ID为固定长度例如20字节。字长固定,更方便ID的比较。优选地,步骤S203包括判断客户端的本地是否已有ID,如果已有,则判断ID为 冗余ID,如果无,则判断ID不是冗余ID,并在本地保存ID。该实施例简单易行。图4示出了根据本发明优选实施例的减少冗余资源的流程图,包括
S301,RSS对象的属性值作为输入条件进入冗余过滤模块,而实际上使用哪些属性 子集可以根据不同的情景进行选择,比如策略可以为频道、新闻条目、媒体对象等,策略不 完全等同于类型,也就是说频道这种类型,可以有多种属性组合方式以达到用户定制保存 特定对象的数据整合要求。S302,经过选择的属性值组合为SHAl算法(也可以采用其他安全哈希算法)的入 参数,将计算出对应的新闻条目ID。S303,然后检查是否已经保存在本地。S304,如果已近保存在本地,则更新此条目。S305,如果未找到匹配的ID,则作为新条目保存。图5示出了根据本发明优选实施例的计算频道ID示意图,频道的<link>和 〈title〉作为SHAl (也可以采用其他安全哈希算法)的入参数,通过SHAl将计算得到定长 20字节的ID值。上述实施例的RSS订阅方法适用于移动终端的RSS客户端软件,但不限于此,对运 行于各类PC上的RSS客户端同样适用。图6示出了根据本发明实施例的用于RSS订阅的客户端的示意图包括获取模块10,用于获取RSS对象,在上述图2和图3的优选实施例中,分别通过订 阅模块和传输模块来实现该获取模块10 ;协议模块20,用于选择RSS对象的属性计算得到ID ;冗余过滤模块30,用于判断ID是否为冗余ID ;数据存储管理模块40,用于如果不是冗余ID,则保存RSS对象,如果是冗余ID,则 忽略RSS对象或者将已有ID对应的RSS对象更新为冗余ID对应的RSS对象。该客户端解决了现有RSS协议采用每个属性值字符串比较的方式,效率和结果均 不理想的问题,进而提高了 RSS客户端数据整合能力,减少了 RSS冗余资源。优选地,RSS对象可以为频道对象、新闻条目对象或多媒体对象。优选地,在上述的客户端中,RSS对象为频道对象,协议模块计算频道对象的ID具 体为选择频道对象的标题属性和链接属性;将标题属性和链接属性作为入参数,采用安 全哈希算法计算得到ID。优选地,在上述的客户端中,RSS对象为新闻条目对象,协议模块计算新闻条 目对象的ID具体为选择频道对象的标题〈title〉属性、链接<Link>属性和出版日期 <pubDate>属性;将标题属性、链接属性和出版日期属性作为入参数,采用安全哈希算法计 算得到ID。优选地,在上述的客户端中,RSS对象为多媒体对象,协议模块计算多媒体对象的 ID具体为选择多媒体对象的标题〈title〉属性、链接<Link>属性和出版日期〈pubDate〉 属性;将标题属性、链接属性和出版日期属性作为入参数,采用安全哈希算法计算得到ID。上述优选实施例分别解决了 RSS订阅内容时,频道冗余、新闻条目冗余和多媒体 冗余的问题。优选地,该客户端还包括界面模块,用于允许用户通过界面模块提供的界面选择 属性。这可以更好地满足用户的特定需求。优选地,冗余过滤模块30判断客户端的本地是否已有ID,如果已有,则判断ID为冗余ID,如果无,则判断ID不是冗余ID,并在本地保存ID。该实施例简单易行。从以上的描述中,可以看出,本发明通过对新闻条目冗余数据的检查过滤,减小了 本地存储资源的损耗,提升了用户体验。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
8
权利要求
一种真正简单聚合RSS订阅方法,其特征在于,包括客户端获取RSS对象;选择所述RSS对象的属性计算得到ID;判断所述ID是否为冗余ID;如果不是冗余ID,则保存所述RSS对象,如果是冗余ID,则忽略所述RSS对象或者将已有ID对应的RSS对象更新为所述冗余ID对应的所述RSS对象。
2.根据权利要求1所述的方法,其特征在于,所述RSS对象为频道对象,选择所述对象 的属性计算得到ID包括选择所述频道对象的标题属性和链接属性;将所述标题属性和所述链接属性作为入参数,采用安全哈希算法计算得到所述ID。
3.根据权利要求1所述的方法,其特征在于,所述RSS对象为新闻条目对象,选择所述 对象的属性计算得到ID包括选择所述频道对象的标题〈title〉属性、链接<Link>属性和出版日期〈pubDate〉属性;将所述标题属性、所述链接属性和所述出版日期属性作为入参数,采用安全哈希算法 计算得到所述ID。
4.根据权利要求1所述的方法,其特征在于,所述RSS对象为多媒体对象,选择所述对 象的属性计算得到ID包括选择所述多媒体对象的标题〈title〉属性、链接<Link>属性和出版日期〈pubDate〉属性;将所述标题属性、所述链接属性和所述出版日期属性作为入参数,采用安全哈希算法 计算得到所述ID。
5.根据权利要求2-4任一项所述的方法,其特征在于,还包括提供界面,允许用户通 过所述界面选择所述属性。
6.根据权利要求2-4任一项所述的方法,其特征在于,所述ID为固定长度。
7.根据权利要求1所述的方法,其特征在于,判断所述ID是否为冗余ID包括 判断所述客户端的本地是否已有所述ID,如果已有,则判断所述ID为冗余ID,如果无,则判断所述ID不是冗余ID,并在本地保存所述ID。
8.一种用于真正简单聚合RSS订阅的客户端,其特征在于,包括 获取模块,用于获取RSS对象;协议模块,用于选择所述对象的属性计算得到ID ; 冗余过滤模块,用于判断所述ID是否为冗余ID ;数据存储管理模块,用于如果不是冗余ID,则保存所述RSS对象,如果是冗余ID,则忽 略所述RSS对象或者将已有ID对应的RSS对象更新为所述冗余ID对应的所述RSS对象。
9.根据权利要求8所述的客户端,其特征在于,所述RSS对象为频道对象,协议模块计 算频道对象的ID具体为选择所述频道对象的标题属性和链接属性;将所述标题属性和所述链接属性作为入参数,采用安全哈希算法计算得到所述ID。
10.根据权利要求8所述的客户端,其特征在于,所述RSS对象为新闻条目对象,协议模块计算新闻条目对象的ID具体为选择所述频道对象的标题〈title〉属性、链接<Link>属性和出版日期〈pubDate〉属性;将所述标题属性、所述链接属性和所述出版日期属性作为入参数,采用安全哈希算法 计算得到所述ID。
11.根据权利要求8所述的客户端,其特征在于,所述RSS对象为多媒体对象,协议模块 计算多媒体对象的ID具体为选择所述多媒体对象的标题〈title〉属性、链接<Link>属性和出版日期〈pubDate〉属性;将所述标题属性、所述链接属性和所述出版日期属性作为入参数,采用安全哈希算法 计算得到所述ID。
12.根据权利要求8所述的客户端,其特征在于,还包括界面模块,用于允许用户通过所述界面模块提供的界面选择所述属性。
13.根据权利要求8所述的客户端,其特征在于,所述冗余过滤模块判断所述客户端的 本地是否已有所述ID,如果已有,则判断所述ID为冗余ID,如果无,则判断所述ID不是冗 余ID,并在本地保存所述ID。全文摘要
本发明公开了一种RSS订阅方法及其客户端,方法包括客户端获取RSS对象;选择RSS对象的属性计算得到ID;判断ID是否为冗余ID;如果不是冗余ID,则保存RSS对象,如果是冗余ID,则忽略RSS对象或者将已有ID对应的RSS对象更新为冗余ID对应的RSS对象。本发明提高了RSS客户端数据整合能力,减少了RSS冗余资源。
文档编号H04L29/06GK101917426SQ201010248468
公开日2010年12月15日 申请日期2010年8月5日 优先权日2010年8月5日
发明者刘星, 沈建, 袁磊 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1