基于iptv的页面缓存方法及系统的制作方法

文档序号:7855319阅读:211来源:国知局
专利名称:基于iptv的页面缓存方法及系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种基于IPTV的页面缓存方法及系统。
背景技术
IPTVC Internet Protocol Television,因特网协议电视)是指基于 IP((InternetProtocol,互联网协议)协议的电视广播业务,该业务将电视机或电脑作为终端,通过宽带网络向用户提供数字广播电视、视频服务、信息服务、互动社区、互动休闲娱乐、电子商务等宽带业务。当使用电视机作为终端时,该电视机上需配置机顶盒作为必要的网络连接设备。但由于机顶盒中的嵌入式浏览器的性能限制以及电视机的显示特性等原因,造成电视机与电脑上的页面处理有很多不同。另外,现有IPTV业务使用(Video Interactive Service,视频互动服务)应用作为用户直接接触的环节,用户在观看和使用IPTV时通过VIS (Video Interactive Service,视频互动服务)可方便的找到自己喜欢看的节目类型(如电视剧,新闻,体育,娱乐节目等),所以VIS的制作水平对用户的使用感受有着直接的影响。VIS应用通常采用的语言是 PHP (Hypertext Preprocessor,超级文本预处理语言),PHP 是一种 HTML (HypertextMarkup Language,超文本标记语言)内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。用户收看IPTV时,可通过EPG(Electronic Program Guide,电子节目指南)选择自己想要观看的VIS应用来进行有针对性的收看。VIS是一种有针对性、推荐性的应用,其中有部分应用页面是通过图片(如电视剧、看大片等)来给用户一种直观的介绍,而且这种模式深受广大用户的欢迎。但是在很多性能较差的机顶盒上由于图片太多了,会出现加载过慢甚至部分图片无法显示的问题。现有IPTV的页面的缓存方式只是对页面代码进行缓存,其主要不足如下
一、图片缓存依靠浏览器,而嵌入式浏览器的性能有限,如果图片过多过大,问题是显而易见。二、页面每次刷新都是进行数据库请求,占用了大量的数据库资源。综上可知,现有IPTV的页面缓存技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容
针对上述的缺陷,本发明的目的在于提供一种基于IPTV的页面缓存方法及系统,其可以大大提高访问页面时的页面加载速度。为了实现上述目的,本发明提供一种基于IPTV的页面缓存方法,包括步骤有 当机顶盒首次请求访问某页面时,获取所述机顶盒的机顶盒信息;
根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件; 获取所述页面文件中的多个图片;
将多个所述图片整合为一合成图片;、将所述页面文件的背景图替换成所述合成图片以生成页面缓存文件,且所述页面缓存文件中包括所述机顶盒信息和页面属性信息;
所述机顶盒后续请求访问所述页面时,根据请求访问的所述页面的页面属性信息和所述机顶盒信息,调用对应的所述页面缓存文件以进行所述页面的访问。根据本发明所述的页面缓存方法,所述机顶盒信息包括所述机顶盒的浏览器信息和机顶盒属性信息。根据本发明所述的页面缓存方法,所述根据机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件的步骤包括
利用Snoopy类来根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的所述页面文件。根据本发明所述的页面缓存方法,所述获取页面文件中的多个图片的步骤包括 通过第一正则表达式,获取所述页面文件中的多个所述图片;
所述将页面文件的背景图替换成所述合成图片以生成页面缓存文件的步骤包括通过第二正则表达式,将所述页面文件的背景图替换成所述合成图片以生成所述页面缓存文件。根据本发明所述的页面缓存方法,所述页面缓存文件的名称中包括页面名称、页面所在页数以及机顶盒类型。根据本发明所述的页面缓存方法,所述页面缓存方法应用于视频互动服务中。根据本发明所述的页面缓存方法,所述获取页面文件中的多个图片的步骤包括 获取所述页面文件中的多个所述图片的图像信息和位置信息;
所述将多个图片整合为一合成图片的步骤包括
根据多个所述图片的所述图像信息和所述位置信息,把多个所述图片按各自位置整合为一所述合成图片。本发明还提供一种基于IPTV的页面缓存系统,包括有
机顶盒信息获取模块,用于当机顶盒首次请求访问某页面时,获取所述机顶盒的机顶
盒信息;
页面文件获取模块,用于根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件;
图片获取模块,用于获取所述页面文件中的多个图片;
图片合成模块,用于将多个所述图片整合为一合成图片;
缓存生成模块,用于将所述页面文件的背景图替换成所述合成图片以生成页面缓存文件,且所述页面缓存文件中包括所述机顶盒信息和页面属性信息;
缓存调用模块,用于在所述机顶盒后续请求访问所述页面时,根据请求访问的所述页面的页面属性信息和所述机顶盒信息,调用对应的所述页面缓存文件以进行所述页面的访问。根据本发明所述的页面缓存系统,所述机顶盒信息包括所述机顶盒的浏览器信息和机顶盒属性信息。根据本发明所述的页面缓存系统,所述页面文件获取模块用于利用Snoopy类来根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的所述页面文件。
根据本发明所述的页面缓存系统,所述图片获取模块还用于通过第一正则表达式,获取所述页面文件中的多个所述图片;
所述缓存生成模块还用于通过第二正则表达式,将所述页面文件的背景图替换成所述合成图片以生成所述页面缓存文件。根据本发明所述的页面缓存系统,所述页面缓存文件的名称中包括页面名称、页面所在页数以及机顶盒类型。根据本发明所述的页面缓存系统,所述页面缓存方法应用于视频互动服务中。根据本发明所述的页面缓存系统,所述图片获取模块还用于获取所述页面文件中 的多个所述图片的图像信息和位置信息;
所述图片合成模块还用于根据多个所述图片的所述图像信息和所述位置信息,把多个所述图片按各自位置整合为一所述合成图片。本发明在用户使用某款机顶盒第一次访问页面时,获取所述机顶盒的机顶盒信息,优选包括所述机顶盒的浏览器信息和机顶盒属性信息,再模拟所述机顶盒访问所述页面和获取所述页面的页面文件,并将所述页面文件中的多个图片整合成一合成图片,然后将页面文件的背景图替换成合成图片以生成页面缓存文件,当用户使用机顶盒再次请求访问所述页面时,即可根据自身的机顶盒信息调用对应的页面缓存文件便可实现对页面的访问。由于本发明在访问页面时,由于加载现成的页面缓存文件,而且只需加载一张合成图片,相比现有技术需加载页面文件中多个图片而言,其大大减少了加载图片的数量和大小,因此大大提高了机顶盒的页面加载速度,进而提升了用户体验。而且机顶盒所调用的页面缓存文件就是请求访问的页面文件,而不再需要对数据库进行访问及缓存处理,从而真正实现了页面的静态化。本发明尤其适用于IPTV领域的视频互动服务,且多用于电视上网浏览。


图I是本发明基于IPTV的页面缓存系统的结构示意 图2是本发明基于IPTV的页面缓存方法的流程图;以及
图3是本发明优选基于IPTV的页面缓存方法的流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图I是本发明基于IPTV的页面缓存系统的结构示意图,并且所述页面缓存系统100包括有机顶盒信息获取模块10、页面文件获取模块20、图片获取模块30、图片合成模块40、缓存生成模块50以及缓存调用模块60,其中
机顶盒信息获取模块10,用于当机顶盒首次请求访问某页面时,获取所述机顶盒的机顶盒信息。所述机顶盒信息优选包括机顶盒的浏览器信息和机顶盒属性信息,所述浏览器信息可以是浏览器的类型和版本等,所述机顶盒属性信息可以是机顶盒类型、硬件参数等。所述页面优选为网页。
页面文件获取模块20,用于根据所述机顶盒信息,模拟机顶盒访问页面并获取该页面的页面文件。优选的是,页面文件获取模块20利用Snoopy类来根据所述机顶盒信息,模拟机顶盒访问页面并获取页面的页面文件,所述页面文件优选为HTML文件。图片获取模块30,用于获取页面文件中的多个图片,优选的是,图片获取模块30用于获取页面文件中的多个图片的图像信息和位置信息。图片合成模块40,用于将图片获取模块30所获取的多个图片整合为一合成图片。优选的是,图片合成模块40用于根据多个图片的图像信息和位置信息,把多个图片按各自位置整合为一合成图片。缓存生成模块50,用于将页面的页面文件的背景图替 换成合成图片,以生成页面缓存文件,且所述页面缓存文件中包括机顶盒信息和页面属性信息。缓存文件分为两部分合并处理后的合成图片和页面文件。优选的是,所述页面缓存文件的名称中包括页面名称、页面所在页数以及机顶盒类型等,,这样当用户在缓存生效时间内再次访问所述页面,就可以根据用户的信息(用户通过机顶盒访问带有机顶盒信息)对号入座的调用各自的缓存文件了。缓存调用模块60,用于在所述机顶盒后续请求访问页面时,根据请求访问的页面的页面属性信息和机顶盒信息,调用对应的页面缓存文件。本发明为一种可用于IPTV的提高页面载入速度的缓存技术,尤其适用于IPTV领域的VIS (视频互动服务)应用,且多用于电视上网浏览。本发明通过某个用户使用某款机顶盒第一次访问页面的同时,获取该机顶盒的嵌入式浏览器的浏览器信息和机顶盒信息,通过Snoopy, class, php这个类模拟该款机顶盒(浏览器信息和机顶盒信息)登录,获得最后生成的页面缓存文件,这样在规定的缓存时间内,用户的再次访问该页面都不再进行缓存处理。优选的是,图片获取模块30还用于通过第一正则表达式,获取页面文件中的多个图片,缓存生成模块50还用于通过第二正则表达式,将页面文件的背景图替换成合成图片以生成页面缓存文件。所述正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符以及所述特定字符的组合,组成一个规则字符串,所述规则字符串用来表达对字符串的一种过滤逻辑。在本发明一具体实施例中,根据页面内引用图片的语法规则,用第一正则表达式获取前面获得的所述页面文件内的多个图片的图像信息和位置信息,所述位置信息即图片所在DIV (division,块级元素)的位置和图片长、宽。并且过滤某些特定位置上的不需要整合的特定图片,因为这些特定位置上的特定图片可能会存在GIF(Graphics InterchangeFormat,图像互换格式)动画类型,在VIS应用里这样的特定位置被定义为“Position”类型。然后利用PHP(Hypertext Preprocessor,超级文本预处理语言)的GD(Graphic Device,图像工具库)库生成一新的合成图片,即把获得的多个图片都按各自位置重新描绘在一张新建的合成图片上并保存下来。这样就实现了把页面所有的图片合并为一张合成图片,然后只要把这张合成图片作为背景图加载即可。接下来,用第二正则表达式将页面文件中的原背景图替换为新的合成图片,然后将那些被合并的图片层DIV置为空,保存为新的页面缓存文件。在本发明又一具体实施例中,被嵌入在VIS应用中,也同样是用PHP语言进行开发的,主要涉及到一个开源的类Snoopy, class, php,该文件可以去官方网址http://sourceforge. net/projects/snoopy/获取。Snoopy类是一个PHP类,用来模仿浏览器的功能,它能完成获取页面内容和发送表单的任务。Snoopy类的特点包括方便抓取页面的内容;方便抓取页面的文本内容(去除HTML标签);方便抓取页面的链接;支持代理主机;支持基本的用户名/密码验证;支持设置user_agent (用户代理),referer (来路),cookies和header content (头文件);支持浏览器转向,并能控制转向深度;能把页面中的链接扩展成高质量的URL (Uniform Resoure Locator :统一资源定位符);方便提交数据并且获取返回值;支持跟踪HTML框架;支持再转向的时候传递cookies等。所述Snoopy类具体可包括
图片获取函数用于获得页面中DIV内的多个图片,包括获取该图片的图像信息以及该图片所在DIV的位置,图片的长和宽。生成缓存函数负责生成页面缓存文件,所述页面缓存文件分为两部分合并处理后的合成图片文件和HTML文件。按所获取的DIV内的图片信息利用PHP的GD库生成的合成图片文件,把获得的所有的图片都按各自位置重新描绘在一张新建的合成图片上并保·存下来。HTML文件则是用正则替换页面的原背景图为合成图片,然后将那些被合并的图片层DIV置为空,保存为新的HTML页面文件,该页面缓存文件的命名规则由页面名称、机顶盒类型、所在页数组成。所述Snoopy类其他相关函数包括1、返回缓存html名;2、返回缓存html全路径;
3、返回缓存图片全路径;4、按照时间策略显示缓存文件,并退出等。图2是本发明基于IPTV的页面缓存方法的流程图,其可以通过如图I所示的基于IPTV的页面缓存系统100实现,所述页面缓存方法优选应用于视频互动服务中,并且所述方法包括步骤有
步骤S201,当机顶盒首次请求访问某页面时,获取机顶盒的机顶盒信息。所述机顶盒信息优选包括机顶盒的浏览器信息和机顶盒属性信息,所述浏览器信息可以是浏览器的类型和版本等,所述机顶盒属性信息可以是机顶盒类型、硬件参数等。步骤S202,根据机顶盒信息,模拟机顶盒访问页面并获取页面的页面文件,所述页面文件优选为HTML页面文件。步骤S203,获取页面文件中的多个图片。优选通过第一正则表达式,获取页面文件中的多个图片。步骤S204,将多个图片整合为一合成图片。步骤S205,将页面文件的背景图替换成合成图片以生成页面缓存文件,且页面缓存文件中包括机顶盒信息和页面属性信息。优选通过第二正则表达式,将页面文件的背景图替换成合成图片以生成页面缓存文件。步骤S206,机顶盒后续请求访问页面时,根据请求访问的页面的页面属性信息和机顶盒信息,调用对应的页面缓存文件以进行所述页面的访问。本发明通过合并页面上多张图片为一张合成图片,可大大减少了图片的数量,而且生成的新的合成图片文件的大小(文件大小是指一个文件占用电脑的磁盘空间的大小)远远小于原来多张图片的总和。因为不同机顶盒生成的页面缓存文件不相同,生成的页面缓存文件里包含了这种类型的机顶盒的默认按键响应、默认展现页面的大小等。所以根据不同机顶盒信息生成缓存并保存了各种机顶盒的特性。由于最后用户成功调用的页面缓存文件就是生成的HTML文本文件,不需要对数据库进行访问,不需要PHP进行编译,真正实现了页面的静态化。本发明缓存方法的效果如下由于加载现成的HTML文本文件,且只要加载很少的图片,大大加快了页面的载入速度,进而给用户良好的观看体验。图3是本发明优选基于IPTV的页面缓存方法的流程图,其可以通过如图I所示的基于IPTV的页面缓存系统100实现,所述页面缓存方法优选应用于视频互动服务中,并且所述方法包括步骤有
步骤S301,当机顶盒首次请求访问某页面时,获取机顶盒的机顶盒信息,所述机顶盒信息包括机顶盒的浏览器信息和机顶盒属性信息等。步骤S302,根据机顶盒信息,利用Snoopy类来模拟机顶盒访问页面并获取页面的页面文件。
步骤S303,通过第一正则表达式,获取页面文件中的多个图片,具体是获取页面文件中的多个图片的图像信息和位置信息。步骤S304,根据多个图片的图像信息和位置信息,把多个图片按各自位置整合为一合成图片。步骤S305,通过第二正则表达式,将页面文件的背景图替换成合成图片以生成页面缓存文件。所述页面缓存文件的名称中包括页面名称、页面所在页数以及机顶盒类型。步骤S306,机顶盒后续请求访问页面时,根据请求访问的页面的页面属性信息和机顶盒信息,调用对应的页面缓存文件以进行所述页面的访问。综上所述,本发明在用户使用某款机顶盒第一次访问页面时,获取所述机顶盒的机顶盒信息,优选包括所述机顶盒的浏览器信息和机顶盒属性信息,再模拟所述机顶盒访问所述页面和获取所述页面的页面文件,并将所述页面文件中的多个图片整合成一合成图片,然后将页面文件的背景图替换成合成图片以生成页面缓存文件,当用户使用机顶盒再次请求访问所述页面时,即可根据自身的机顶盒信息调用对应的页面缓存文件便可实现对页面的访问。由于本发明在访问页面时,由于加载现成的页面缓存文件,而且只需加载一张合成图片,相比现有技术需加载页面文件中多个图片而言,其大大减少了加载图片的数量和大小,因此大大提高了机顶盒的页面加载速度,进而提升了用户体验。而且机顶盒所调用的页面缓存文件就是请求访问的页面文件,而不再需要对数据库进行访问及缓存处理,从而真正实现了页面的静态化。本发明尤其适用于IPTV领域的视频互动服务,且多用于电视上网浏览。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种基于IPTV的页面缓存方法,其特征在于,包括步骤有 当机顶盒首次请求访问某页面时,获取所述机顶盒的机顶盒信息; 根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件; 获取所述页面文件中的多个图片; 将多个所述图片整合为一合成图片; 将所述页面文件的背景图替换成所述合成图片以生成页面缓存文件,且所述页面缓存文件中包括所述机顶盒信息和页面属性信息; 所述机顶盒后续请求访问所述页面时,根据请求访问的所述页面的页面属性信息和所述机顶盒信息,调用对应的所述页面缓存文件以进行所述页面的访问。
2.根据权利要求I所述的页面缓存方法,其特征在于,所述机顶盒信息包括所述机顶盒的浏览器信息和机顶盒属性信息。
3.根据权利要求I所述的页面缓存方法,其特征在于,所述根据机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件的步骤包括 利用Snoopy类来根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的所述页面文件。
4.根据权利要求I所述的页面缓存方法,其特征在于,所述获取页面文件中的多个图片的步骤包括 通过第一正则表达式,获取所述页面文件中的多个所述图片; 所述将页面文件的背景图替换成所述合成图片以生成页面缓存文件的步骤包括通过第二正则表达式,将所述页面文件的背景图替换成所述合成图片以生成所述页面缓存文件。
5.根据权利要求I所述的页面缓存方法,其特征在于,所述页面缓存文件的名称中包括页面名称、页面所在页数以及机顶盒类型。
6.根据权利要求I所述的页面缓存方法,其特征在于,所述页面缓存方法应用于视频互动服务中。
7.根据权利要求Γ6任一项所述的页面缓存方法,其特征在于,所述获取页面文件中的多个图片的步骤包括 获取所述页面文件中的多个所述图片的图像信息和位置信息; 所述将多个图片整合为一合成图片的步骤包括 根据多个所述图片的所述图像信息和所述位置信息,把多个所述图片按各自位置整合为一所述合成图片。
8.一种基于IPTV的页面缓存系统,其特征在于,包括有 机顶盒信息获取模块,用于当机顶盒首次请求访问某页面时,获取所述机顶盒的机顶盒信息; 页面文件获取模块,用于根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件; 图片获取模块,用于获取所述页面文件中的多个图片; 图片合成模块,用于将多个所述图片整合为一合成图片; 缓存生成模块,用于将所述页面文件的背景图替换成所述合成图片以生成页面缓存文件,且所述页面缓存文件中包括所述机顶盒信息和页面属性信息; 缓存调用模块,用于在所述机顶盒后续请求访问所述页面时,根据请求访问的所述页面的页面属性信息和所述机顶盒信息,调用对应的所述页面缓存文件以进行所述页面的访问。
9.根据权利要求8所述的页面缓存系统,其特征在于,所述机顶盒信息包括所述机顶盒的浏览器信息和机顶盒属性信息。
10.根据权利要求8所述的页面缓存系统,其特征在于,所述页面文件获取模块用于利用Snoopy类来根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的所述页面文件。
11.根据权利要求8所述的页面缓存系统,其特征在于,所述图片获取模块还用于通过第一正则表达式,获取所述页面文件中的多个所述图片; 所述缓存生成模块还用于通过第二正则表达式,将所述页面文件的背景图替换成所述合成图片以生成所述页面缓存文件。
12.根据权利要求8所述的页面缓存系统,其特征在于,所述页面缓存文件的名称中包括页面名称、页面所在页数以及机顶盒类型。
13.根据权利要求8所述的页面缓存系统,其特征在于,所述页面缓存方法应用于视频互动服务中。
14.根据权利要求8 13任一项所述的页面缓存系统,其特征在于,所述图片获取模块还用于获取所述页面文件中的多个所述图片的图像信息和位置信息; 所述图片合成模块还用于根据多个所述图片的所述图像信息和所述位置信息,把多个所述图片按各自位置整合为一所述合成图片。
全文摘要
本发明适用于IPTV技术领域,提供了一种基于IPTV的页面缓存方法及系统,所述方法包括步骤有当机顶盒首次请求访问某页面时,获取所述机顶盒的机顶盒信息;根据所述机顶盒信息,模拟所述机顶盒访问所述页面并获取所述页面的页面文件;获取所述页面文件中的多个图片;将多个所述图片整合为一合成图片;将所述页面文件的背景图替换成所述合成图片以生成页面缓存文件,且所述页面缓存文件中包括所述机顶盒信息和页面属性信息;所述机顶盒后续请求访问所述页面时,根据请求访问的所述页面的页面属性信息和所述机顶盒信息,调用对应的所述页面缓存文件以进行所述页面的访问。借此,本发明可以大大提高访问页面时的页面加载速度。
文档编号H04N21/45GK102724586SQ201210231118
公开日2012年10月10日 申请日期2012年7月5日 优先权日2012年7月5日
发明者吴云鹏, 程伟 申请人:百视通网络电视技术发展有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1