用于电子节目指南系统的用户请求处理系统和处理方法

文档序号:7707405阅读:159来源:国知局
专利名称:用于电子节目指南系统的用户请求处理系统和处理方法
技术领域
本发明涉及数字电视和交互式网络电视系统,尤其涉及一种用于电子节目指南系 统的用户请求处理系统和处理方法。
背景技术
EPG是电子节目指南(Electronic Program Guide)的英文缩写。在现代数字电视 和IPTV的系统中,各种业务的索引及导航都是通过EPG系统来实现的。EPG实际上就是数 字电视或IPTV系统的一个门户子系统,其功能及性能对终端用户的服务体验影响很大。终端用户利用EPG所提供的电子菜单,可以选择自己喜欢的组播频道、点播自己 喜爱的视频节目、查询IPTV或相关系统提供的各种在线信息以及选购各类附加的增值服 务。在现有IPTV系统中,EPG服务器都采用基于Web的架构。用户机顶盒(STB)与EPG 服务器(EPG Server)之间采用HTTP协议进行交互,EPG Server作为服务器端,STB作为客 户端,STB的请求命令以URL请求的方式到达EPG服务器端。EPG服务器根据其内在逻辑和 内部数据库存放的内容信息,将服务响应以HTML页面的形式返馈给STB端。一个EPG服务 器实例的概要框架如图1所示,客户端的请求首先发送到基于Tomcat环境的JSP/Java业 务应用程序,然后根据客户端请求来检索Xbase数据库,获得相关数据后反馈给客户端,而 Xbase数据库则通过业务管理接口模块与后台IPTV业务系统联系,根据从后台IPTV业务系 统获取的信息来定期更新Xbase数据库中的内容记录。现有EPG系统的一个普遍问题是系统运行性能不佳,以上述系统为例,EPG服务器 中基于Tomcat的JSP/Java应用程序(或者说,Web表现层)在处理用户请求时具有性能瓶 颈。有关测试及资料表明,即使没有后端业务逻辑层和数据库层的复杂操作,在2-3秒内, 这种Web表现层最多也只能处理600-800个用户请求,难以满足电信运营商IPTV网络的客 户需求。而且,在现有EPG系统中,查找数据只能对数据库进行全面检索,因此数据库的操 作低效低速,进一步限制了系统的响应速度和容量。综合上述因素,现有EPG系统的整体性 能低下,在2-3秒内只能完成100-200个用户请求。此外,经过前期的发展,现有的EPG系统已经积累了大量的业务逻辑应用程序,如 重新从头开发高性能的系统必然会导致原有系统的业务功能无法使用,从而造成资源的浪 费、整体开发周期以及开发成本的显著增加。因此,有必要设计一种系统和方法,在保留现有系统业务功能的前提下,克服现有 EPG系统性能不佳的缺陷,从整体上提升EPG系统的性能。

发明内容
针对现有技术的缺陷,本发明的目的在于提出一种在无损现有EPG系统现有功能 的情况下、能够大幅度提高EPG系统的用户请求处理能力的系统和方法。
4
为实现上述目的,本发明提供了一种用于电子节目指南系统的用户请求处理系 统,所述电子节目指南系统包括EPG现有业务逻辑模块和数据库,所述用户请求处理系统 包括HTTP请求处理器、HTML页面缓存器和应用接口模块,其中,所述HTTP请求处理器用于 接收来自客户端的HTTP请求,并用于将根据客户请求生成的HTML页面反馈给客户端;所述 HTML页面缓存器用于在页面缓存区中缓存并管理生成的HTML页面,并根据接收到的HTTP 请求在页面缓存区中查找客户请求的页面;所述应用接口模块用于将需要处理的HTTP请 求转发到相关的业务逻辑模块进行处理,并将业务逻辑模块生成的HTML页面写入页面缓 存区。优选地,所述HTML页面缓存器还用于以预定的时间间隔在页面缓存区中反复查 找客户请求的HTML页面,直到找到为止。优选地,当页面缓存区饱和时,所述HTML页面缓存器能够根据被缓存页面的热门 度对页面缓存区进行清理。优选地,所述用户请求处理系统进一步包括HTTP请求集合器,所述HTTP请求集合 器用于,在所述HTML页面缓存器未查找到客户请求的页面时,判断所述请求是否正在被业 务逻辑模块处理,并只将确实需要处理的请求转发到业务逻辑模块。优选地,所述HTTP请求集合器还用于对需要处理的HTTP请求进行分析,将对应于 相同HTML页面的请求合并处理,以确保针对一个HTML页面,有且只有一个请求被转发到业 务逻辑模块。优选地,所述用户请求处理系统进一步包括数据对象缓存器,所述数据对象缓存 器用于在数据对象缓存区中缓存并管理从数据库中查询获得的数据对象,并根据业务逻辑 模块的请求在数据对象缓存区中查找相关的数据对象。优选地,所述数据对象缓存器采用循环方式对数据对象缓存区进行存储,如果数 据对象缓存区存满,则以新数据覆盖旧数据。此外,本发明还提供了一种用于电子节目指南系统的用户请求处理方法,包括以 下步骤接收来自客户端的HTTP请求;根据接收到的HTTP请求在页面缓存区中查找客户请求的页面;如果查找到客户请求的页面,则从页面缓存区中取出页面,并将所述页面反馈给 客户端;如果未查找到客户请求的页面,则将需要处理的HTTP请求转发到相关的业务逻 辑模块进行处理,并将业务逻辑模块生成的HTML页面写入页面缓存区。优选地,如果未查找到客户请求的页面,则以预定的时间间隔在页面缓存区中反 复查找,直到找到为止。优选地,当页面缓存区饱和时,根据被缓存页面的热门度对页面缓存区进行清理。优选地,如果未查找到客户请求的页面,判断所述HTTP请求是否正在被业务逻辑 模块处理,在所述HTTP请求未被处理时,将所述HTTP请求转发到业务逻辑模块。优选地,在将需要处理的HTTP请求转发给业务逻辑模块之前,对所述HTTP请求进 行分析,将对应于相同HTML页面的请求合并处理,以确保针对一个HTML页面,有且只有一 个请求被转发到业务逻辑模块。
优选地,将从数据库中查询获得的数据对象缓存在数据对象缓存区中,并根据业 务逻辑模块的请求在数据对象缓存区中查找相关的数据对象。优选地,采用循环方式对数据对象缓存区进行存储,如果数据对象缓存区存满,则 以新数据覆盖旧数据。在本发明的用户请求处理方法和系统中,通过针对HTML页面和数据内容的缓存 机制,提高了已产生的动、静态HTML页面和已寻获数据的复用效率,避免了不必要的复杂 计算和缓慢的数据库查询,从而使EPG系统的性能整体上获得大幅提升;而且,通过应用接 口模块,实现了与现有系统中业务逻辑应用程序模块的无缝对接,避免了重新开发系统业 务功能导致的人力和资源的浪费。相关的测试表明,本发明的用户请求处理系统和方法可 以使现有EPG系统的性能提高5-10倍。


下面将结合附图对本发明的具体实施例进行详细的说明,其中图1是一个现有EPG服务器实例的结构示意图;图2是本发明优选实施方式的用户请求处理系统的结构示意图;图3是本发明优选实施方式的用户请求处理方法的流程图。
具体实施例方式图2示意性地示出了根据本发明优选实施例的用于电子节目指南(EPG)系统的用 户请求处理系统200的结构图。该用户请求处理系统200包括HTTP请求处理器201、HTTP 请求集合器202、HTML页面缓存器203、数据对象缓存器204以及应用接口模块206。HTTP请求处理器201从服务器网络端口接收和处理来至STB客户端的HTTP请求。 HTTP请求处理器通过异步编程模式和对网络I/O的优化,能够处理一万个以上的并发HTTP 请求。HTTP请求处理器201从客户端发来的HTTP请求中解析出的URL,并将该URL传递给 HTML页面缓存器203,由HTML页面缓存器以URL为关键词在页面缓存区中查找对应的页 面。HTTP请求处理器201还用于将HTML页面缓存器203查找到的页面反馈给提出请求的 STB客户端。HTML页面缓存器203用于存储客户端曾经访问过的页面,也就是EPG服务器响应 最近收到的HTTP请求而产生的作为请求响应的动、静态HTML形式的页面。HTML页面缓存 器203根据接收到的URL在页面缓存区中查找客户请求的页面,并负责缓存以及管理由EPG 服务器产生的HTML页面。优选地,HTML页面缓存器203包括各种可读写的存储器中用作 缓存区的部分或全部存储单元。当在页面缓存区未查找到客户请求的页面时,客户的HTTP请求被传递给HTTP请 求集合器202。HTTP请求集合器202对接收到的请求进行分析、合并以及压缩冗余请求,而 后将需要处理的请求经由应用接口模块206转发到现有EPG系统的业务逻辑模块进行处 理。优选地,HTTP请求集合起202能够智能地分析和处理客户的HTTP请求,例如,根据请 求指向的URL地址,将同一时间/时段内来自不同用户的对同一 URL地址的访问请求合并 为一个请求,忽略同一时段内来自同一用户的重复的访问请求,从而避免了毫无意义的重 复处理和查询,有效地提高了 EPG系统处理客户请求的效率。
应用接口模块206用于实现本发明的用户请求处理系统200与现有EPG系统中现 有业务逻辑模块的无缝对接,它将经过HTTP请求集合器202筛选的HTTP请求直接传递给 现有业务逻辑模块,并将业务逻辑模块产生的HTML响应页面直接导入HTML页面缓存器。在 本发明的优选实施例中,以开源JSP容器——Jetty 2. 0作为基础进行改造,形成可与现有 的基于JSP的EPG业务层对接的JSP Web容器(1)简化了 Jetty原有的HTTP请求接收和 处理流程,由于HTTP请求已经通过前端的HTTP请求处理器201和HTTP请求集合器202接 收和处理,因此改造后的JSP Web容器只需将处理后的HTTP请求直接传递给现有业务逻辑 模块,由此克服了原JSP容器的流程效率不佳的缺陷;(2)简化和重定向了 HTTP的响应输 出,不再将产生的HTML页面直接通过网络I/O返回给客户,而是将HTML页面直接导入HTML 页面缓存器203。数据对象缓存器204设置于现有EPG系统的业务逻辑模块和数据库之间,响应客 户请求从数据库查询而获得的数据对象被存储于数据对象缓存区中,数据对象缓存器204 用于缓存和管理其中数据对象。优选地,所述数据对象缓存区存储了访问、使用频度较高 (例如频度大于设定值)的数据对象,因此,在直接访问数据库之前先在数据对象缓存区中 进行查询,可以获得大量访问频率高的数据对象,从而避免了大量复杂而慢速的数据库直 接查询。优选地,数据对象缓存器204可以包括各种可读写的存储器中用作缓存区的部分 或全部存储单元。由此可见,本发明的用户请求处理系统200是独立于任何EPG现有应用业务的,其 中,应用接口模块206可以与现有EPG业务模块共生于同一 EPG硬件平台上,HTTP请求处 理器201、HTTP请求集合器202、HTML页面缓存器203、数据对象缓存器204则取代现有EPG 系统中低效的通用Web容器,从而实现了本发明的用户请求处理系统200与现有EPG业务 应用模块的无缝结合。这样,可以在完全无损EPG业务功能的情况下大幅度地提高系统运 行性能。图3示出了根据本发明优选实施方式的用于EPG系统的用户请求处理方法的流程 图。在步骤301,接收来自客户端的HTTP请求。所述客户端设置在例如机顶盒的装置 中,并通过各种适合的有线或无线网络将用户的请求发送至HTTP请求处理器。在步骤302,根据接收到的HTTP请求在页面缓存区中查找客户请求的页面。查找 时,优选采用从客户端发来的HTTP请求中解析出的URL作为关键词进行查找。如果查找到客户请求的页面,则在步骤303从页面缓存区取出HTML页面,并将所 述页面快速反馈给客户端。如果未查找到客户请求的页面,则在步骤304判别所述请求的目标URL是否正由 后台业务逻辑模块处理,即,判别该请求是否为新请求。如果该请求未被后台业务逻辑处 理,即,是新请求,则在步骤305将所述请求转发到后续子系统进行处理。在本实施例中,具 体地,通过业务逻辑模块对数据库进行查询。而且,由于设置有数据对象缓存器,当业务逻 辑模块根据用户请求进行查询时,首先由数据对象缓存器在数据对象缓存区中进行查找, 如果寻获欲查询的数据对象,则无需对数据库进行检索。此外,可以针对EPG系统的一些基 本和重复使用量大的数据对象,如电视频道数据、回看频道数据、电视剧及电影点播数据, 在数据对象缓存区中设置基于翻页页面的缓存,即直接按照客户端显示页面的形式存储数
7据对象,从而可以实现快速索引。在步骤306,将通过业务逻辑模块产生的HTML页面直接写入页面缓存区。优选地, 同时通知HTTP请求集合器将已经处理的请求从HTTP请求集合器的任务列表中清除。优选 地,如不能在相关业务逻辑下或预定时间内找到相关的数据对象并生成客户请求的响应页 面,将根据具体情况将错误状态码发送给客户端,错误状态码例如HTTP 4xx或5xx。优选 地,生成包含错误状态码的HTML页面,并将其存入页面缓存区。如果未在页面缓存区中查找到客户请求的页面,则以预定时间间隔反复查询页面 缓存区,即步骤307。一旦经由业务逻辑模块产生的HTML页面被写入页面缓存区,则在步骤 308将找到的页面发往客户端。另外,虽然在图3中未示出,但本发明的优选实施方式中还包括下列步骤当缓存区接近饱和时(例如缓存区存储率大于或等于80%时可认为饱和),HTML 页面缓存器可针对当前被缓存页面的热门度进行清理。热门度高(例如,点击率或被请求 率高)的页面将尽量保存在缓存区中,而较冷门的页面将被优先清除掉。优选地,还可以将 缓存页面最近一次被请求访问的时间作为清理缓存区的依据,与热门度结合使用,从而更 有效地适应客户的访问需求来调节所缓存的HTML页面。当后台数据库或EPG业务逻辑变化,EPG业务逻辑模块将通过相关API向HTML页 面缓存器发送有关通知,从而相关联的页面将会被从缓存区清除。数据对象缓存区被设计成循环式存储,如果全被占满,旧数据将从头开始被新数
据覆盖。当数据库的原始数据发生更新及变动时,数据对象缓存区中相应数据将被清除。在上述的实施例中,本发明的系统并不包括EPG现有业务逻辑模块和相关数据 库,而是通过接口将需要处理的请求交由现有的业务逻辑模块处理。然而,本领域技术人员 可以理解,本发明的系统可以包括自身的业务逻辑模块或内置特定的业务逻辑,用以实现 现有业务模块所不具备的功能。尽管本发明是通过上述的优选实施例进行描述的,但是其实现形式并不局限于上 述的实施方式。应该认识到在不脱离本发明主旨的情况下,本领域技术人员可以对本发明 做出不同的变化和修改。
权利要求
一种用于电子节目指南系统的用户请求处理系统,所述电子节目指南系统包括业务逻辑模块和数据库,其特征在于,所述用户请求处理系统包括HTTP请求处理器、HTML页面缓存器和应用接口模块,其中,所述HTTP请求处理器用于接收来自客户端的HTTP请求,并用于将根据客户请求生成的HTML页面反馈给客户端;所述HTML页面缓存器用于在页面缓存区中缓存并管理生成的HTML页面,并根据接收到的HTTP请求在页面缓存区中查找客户请求的页面;所述应用接口模块用于将需要处理的HTTP请求转发到相关的业务逻辑模块进行处理,并将业务逻辑模块生成的HTML页面写入页面缓存区。
2.根据权利要求1所述的用户请求处理系统,其特征在于,所述HTML页面缓存器还用 于以预定的时间间隔在页面缓存区中反复查找客户请求的HTML页面,直到找到为止。
3.根据权利要求2所述的用户请求处理系统,其特征在于,当页面缓存区饱和时,所述 HTML页面缓存器能够根据被缓存页面的热门度对页面缓存区进行清理。
4.根据权利要求1所述的用户请求处理系统,其特征在于,所述用户请求处理系统进 一步包括HTTP请求集合器,所述HTTP请求集合器用于,在所述HTML页面缓存器未查找到 客户请求的页面时,判断所述请求是否正在被业务逻辑模块处理,并只将确实需要处理的 请求转发到业务逻辑模块。
5.根据权利要求4所述的用户请求处理系统,其特征在于,所述HTTP请求集合器还用 于对需要处理的HTTP请求进行分析,将对应于相同HTML页面的请求合并处理,以确保针对 一个HTML页面,有且只有一个请求被转发到业务逻辑模块。
6.根据权利要求1至5中任意一项所述的用户请求处理系统,其特征在于,所述用户请 求处理系统进一步包括数据对象缓存器,所述数据对象缓存器用于在数据对象缓存区中缓 存并管理从数据库中查询获得的数据对象,并根据业务逻辑模块的请求在数据对象缓存区 中查找相关的数据对象。
7.根据权利要求6所述的用户请求处理系统,其特征在于,所述数据对象缓存器采用 循环方式对数据对象缓存区进行存储,如果数据对象缓存区存满,则以新数据覆盖旧数据。
8.一种用于电子节目指南系统的用户请求处理方法,所述电子节目指南系统包括业务 逻辑模块和数据库,其特征在于,所述方法包括以下步骤接收来自客户端的HTTP请求;根据接收到的HTTP请求在页面缓存区中查找客户请求的页面;如果查找到客户请求的页面,则从页面缓存区中取出页面,并将所述页面反馈给客户端;如果未查找到客户请求的页面,则将需要处理的HTTP请求转发到相关的业务逻辑模 块进行处理,并将业务逻辑模块生成的HTML页面写入页面缓存区。
9.根据权利要求8所述的用户请求处理方法,其特征在于,所述方法进一步包括如果未查找到客户请求的页面,则以预定的时间间隔在页面缓存区中反复查找,直到 找到为止。
10.根据权利要求9所述的用户请求处理方法,其特征在于,所述方法进一步包括当页面缓存区饱和时,根据被缓存页面的热门度对页面缓存区进行清理。
11.根据权利要求8所述的用户请求处理方法,其特征在于,所述方法进一步包括 如果未查找到客户请求的页面,判断所述HTTP请求是否正在被业务逻辑模块处理,在所述HTTP请求未被处理时,将所述HTTP请求转发到业务逻辑模块。
12.根据权利要求11所述的用户请求处理方法,其特征在于,所述方法进一步包括 在将需要处理的HTTP请求转发给业务逻辑模块之前,对所述HTTP请求进行分析,将对应于相同HTML页面的请求合并处理。
13.根据权利要求8至12中任意一项所述的用户请求处理方法,其特征在于,所述方法 进一步包括将从数据库中查询获得的数据对象缓存在数据对象缓存区中,并根据业务逻辑模块的 请求在数据对象缓存区中查找相关的数据对象。
14.根据权利要求13所述的用户请求处理方法,其特征在于,所述方法进一步包括 采用循环方式对数据对象缓存区进行存储,如果数据对象缓存区存满,则以新数据覆盖旧数据。全文摘要
本发明提供了一种用于电子节目指南(EPG)系统的用户请求处理系统和处理方法,该用户请求处理系统包括HTTP请求处理器、HTML页面缓存器和应用接口模块,HTTP请求处理器接收来自客户端的HTTP请求并将根据客户请求生成的HTML页面反馈给客户端;HTML页面缓存器在页面缓存区中缓存并管理生成的HTML页面,并根据接收到的HTTP请求在页面缓存区中查找客户请求的页面;应用接口模块将需要处理的HTTP请求转发到相关的EPG现有业务逻辑模块进行处理,并将业务逻辑模块生成的HTML页面写入页面缓存区。本发明能够与现有EPG系统中业务逻辑应用程序无缝对接,同时充分利用数据和HTML内容缓存机制,增强了已寻获数据或已产生的动、静态HTML页面的复用效率,可以将现有EPG系统的性能提高5-10倍。
文档编号H04L29/08GK101882966SQ20091013642
公开日2010年11月10日 申请日期2009年5月7日 优先权日2009年5月7日
发明者卢晗晓, 王乐挺, 臧群, 赵泛舟 申请人:清流迅(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1