一种iptv数据处理的方法及系统的制作方法

文档序号:8343177阅读:590来源:国知局
一种iptv数据处理的方法及系统的制作方法
【技术领域】
[0001]本发明涉及交互式网络电视IPTV技术领域,特别是涉及一种IPTV数据处理的方法及系统。
【背景技术】
[0002]随着IPTV (Internet Protocol Televis1n,交互式网络电视)业务的逐渐普及,用户数量发展迅速,这对EPG (Electronic Programmer Guide,电子节目指南)即直接展示给用户操作使用的电子节目单系统提出了很高的性能要求,传统的EPG系统在数据展示查询时一般直接查自带的XBASE数据库,现场大规模使用时经常出现系统重启或崩溃的现象。

【发明内容】

[0003]本发明要解决的技术问题是提供一种IPTV数据处理的方法及系统,以提高用户操作响应。
[0004]为了解决上述技术问题,本发明提供了一种IPTV数据处理的方法,包括:
[0005]接受访问请求后,从指定存储模块中读取对应的数据;
[0006]如从所述指定存储模块中未读取到对应的数据,则从本地数据库中读取。
[0007]进一步地,上述方法还具有下面特点:所述将从本地数据库中读取的数据缓存到所述指定存储模块中,包括:
[0008]将从本地数据库中读取的业务数据源缓存到第一存储单元;
[0009]将所述访问请求的查询条件信息和读取到的业务数据缓存到第二存储单元。
[0010]进一步地,上述方法还具有下面特点:所述从指定存储模块中读取对应的数据,包括:
[0011]根据所述查询条件从所述第二存储单元中读取对应的业务数据,如未读取到对应的业务数据,则从所述第一存储单元中读取。
[0012]进一步地,上述方法还具有下面特点:所述将从本地数据库中读取的数据缓存到所述指定存储I旲块中之后,还包括:
[0013]当发生指定事件时,删除所述指定存储模块中缓存的数据。
[0014]进一步地,上述方法还具有下面特点:所述从指定存储模块中读取对应的数据包括:
[0015]从指定存储模块中读取用户信息数据。
[0016]为了解决上述问题,本发明还提供了一种IPTV数据处理的系统,其中,包括:
[0017]存储模块,用于缓存已被访问过的数据;
[0018]数据库,用于存储所有支持的IPTV数据;
[0019]读取模块,用于接受访问请求后,从所述存储模块中读取对应的数据;如从所述指定存储模块中未读取到对应的数据,则从本地数据库中读取。
[0020]进一步地,上述系统还具有下面特点:
[0021]所述存储模块,具体用于缓存所述读取模块从所述数据库中读取的数据。
[0022]进一步地,上述系统还具有下面特点:所述存储模块包括:
[0023]第一存储单元,用于缓存所述读取模块从所述数据库中读取的业务数据源;
[0024]第二存储单元,用于缓存所述访问请求的查询条件信息和所述读取模块读取到的业务数据。
[0025]进一步地,上述系统还具有下面特点:
[0026]所述读取模块,从指定存储模块中读取对应的数据包括:根据所述查询条件从所述第二存储单元中读取对应的业务数据,如未读取到对应的业务数据,则从所述第一存储单元中读取。
[0027]进一步地,上述系统还具有下面特点:所述系统还包括:
[0028]删除模块,用于当发生指定事件时,删除所述存储模块中缓存的数据。
[0029]进一步地,上述系统还具有下面特点:
[0030]所述读取模块,从指定存储模块中读取对应的数据包括:从指定存储模块中读取用户信息数据。
[0031]综上,本发明提供一种IPTV数据处理的方法及系统,通过该方法能合理使用EPG系统中JAVA内存和硬盘缓存,达到提高EPG性能以及提高用户操作响应的要求。
【附图说明】
[0032]图1为本发明实施例的一种IPTV数据处理的方法的流程图;
[0033]图2为本发明实施例的一种IPTV数据处理的系统的示意图;
[0034]图3为本发明一应用不例的EPG系统的不意图;
[0035]图4为本发明应用示例的IPTV数据处理的方法的流程图。
【具体实施方式】
[0036]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0037]图1为本发明实施例的一种IPTV数据处理的方法的流程图,如图1所示,本实施例的方法包括以下步骤:
[0038]SI 1、EPG接受访问请求后,从指定存储模块中读取对应的数据;
[0039]S12、如从所述指定存储模块中未读取到对应的数据,则从本地数据库中读取。
[0040]这样,EPG接受访问,就可以从缓存的数据中读取,而不用每次都从本地数据库中读取数据,以避免现场大规模使用时出现系统崩溃的现象。
[0041]进一步地,还可以包括:
[0042]S13、将从本地数据库中读取的数据缓存到所述指定存储模块中。
[0043]这样,将常用的数据进行缓存,在用户下次读取时,可以直接显现缓存的数据,而不用再花时间到本发数据库中查找,明显缩短节目显现时间,用户体验度明显提高。
[0044]对于业务数据,本实施例中,可以将从本地数据库中读取的业务数据源缓存到第一存储单元;将所述访问请求的查询条件信息和读取到的业务数据缓存到第二存储单元。
[0045]访问业务数据时,可以根据所述查询条件从所述第二存储单元中读取对应的业务数据,如未读取到对应的业务数据,则从所述第一存储单元中读取。
[0046]本实施例中,还包括:当发生指定事件时,删除所述指定存储模块中缓存的数据。该指定事件可以是时间过时了,发生重启事件等,删除存储模块中缓存的数据后,再缓存新访问的数据,这样可以保证数据的更新。
[0047]图2为本发明实施例的一种IPTV数据处理的系统的示意图,如图2所示,本实施例的系统指EPG系统,包括:
[0048]存储模块,用于缓存已被访问过的数据;
[0049]数据库,用于存储所有支持的IPTV数据;
[0050]读取模块,用于接受访问请求后,从所述存储模块中读取对应的数据;如从所述指定存储模块中未读取到对应的数据,则从本地数据库中读取。
[0051]其中,所述存储模块,具体可以用于缓存所述读取模块从所述数据库中读取的数据。
[0052]在一优选实施例中,所述存储模块可以包括:
[0053]第一存储单元,用于缓存所述读取模块从所述数据库中读取的业务数据源;
[0054]第二存储单元,用于缓存所述访问请求的查询条件信息和所述读取模块读取到的业务数据。
[0055]所述读取模块,从指定存储模块中读取对应的数据包括:根据所述查询条件从所述第二存储单元中读取对应的业务数据,如未读取到对应的业务数据,则从所述第一存储单元中读取。
[0056]在一优选实施例中,所述系统还可以包括:
[0057]删除模块,用于当发生指定事件时,删除所述存储模块中缓存的数据。
[0058]图3为本发明一应用示例的EPG系统的示意图,如图3所示,本示例中,EPG的内存占用情况主要分为三大部分:sess1n (连接)占用,ehcache占用,模板等临时数据占用。
[0059]sess1n主要用于保存用户的登录信息,每一个用户登录就会产生一个sess1n信息(大概为1k),机顶盒通过发送心跳消息让用户的sess1n信息不失效。
[0060]Ehcache是一个纯Java的进程内缓存框架,具有快速、精干等特点,Ehcache中存放的数据分为两部分,一部分是用户缓存信息,与用户相关的书签收藏直播提醒等信息也存放其中;另一部分是数据缓存信息,包括表缓存、视图缓存、SQL (Structured QueryLanguage,结构化查询语言)语句缓存。本示例中,EPG里是根据IPTV业务实际使用情况把对应的视图缓存和SQL语句缓存存放在一级缓存(相当于上述的第二存储单元)中,如点播查询SQL语句缓存等;表缓存存放于二级缓存(相当于上述的第一存储单元)中,如数据量较大的点播节目表、电子节目单表等。
[0061]H2内存数据库是一个开源免费的Java SQL数据库,占用缓存,本实施例中,在EPG中也是针对IPTV业务实际使用情况将常用的用户个人信息,如书签收藏直播提醒等做缓存。
[0062]本示例,利用Ehcache的硬盘模式,把缓存对象序列化到硬盘上,可以较少的占用jvm内存,同时把内存中的索引也序列化到硬盘上,在系统重启的时候可以把索引恢复到内存中,缓存可以得到重新利用,以用户缓存为例,用户缓存信息主要存放在ehcache中,每次用户登录成功后都会向内存中添加一条用户信息数据,该用户数据中包含用户收藏、收藏夹、书签、童锁、直播提醒、自动换台数据等。这些数据实际上是从H2内存数据库中读取的,之所以将这部分数据存放在H2内存数据库中,主要因为在用户直接访问内存获取书签收藏等列表信息时需要使用类似select语句将需要的信息从缓存中查找出来,这种需要尤其在主子账号共享的时候表现的更为突出,而ehcache中的数据是不能直接通过select查询的,H2内存数据库的功能刚好能满足用于书签收藏信息的存取。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1