数字电视设备接收大数量电子节目指南信息的实现方法\n技术领域\n[0001] 本发明涉及通讯和存储技术领域,具体涉及一种数字电视接收机接收存储大量节目指南信息的技术。\n背景技术\n[0002] 数字电视接收机在使用中,我们需要从运营商前端获取电子节目指南信息。随着数字电视的发展,运营商在前端投入越来越多的节目,而每个节目又有相应的电子节目指南信息,所以电子节目指南信息数据也越来越大,导致需要越来越大的内存来存储这些信息,会增加成本。而且一旦接收机投放市场,其存储容量就确定了,而前端的数据越来越多,会导致这些接收机在投放后越来越不满足需求。\n发明内容\n[0003] 本发明克服了现有技术的不足,提供一种数字电视设备接收大数量电子节目指南信息的实现方法,用于解决在有限内存上无法收取保存大量指南信息的技术问题。\n[0004] 考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:\n[0005] 一种数字电视设备接收大数量电子节目指南信息的实现方法,它包括:\n[0006] (ⅰ)在数字电视接收机获得数据流的情况下,从数据流中分析出所包含节目的ts id、original network id、service id、event id,根据所分析出的id去查找、及判断指定节目的event信息是否已经存储;如果没有存储,则存储这段数据;如果已经存储,则判断这段数据是否重复,如果没重复则继续存储,如果重复则丢弃该段数据;\n[0007] (ⅱ)以及预先分析一段需要保存的节目指南数据,如果其数据长度小于指定的内存空间大小m,则直接保存;如果其数据长度大于m,则把数据每指定一个长度n进行压缩存放直到这段数据压缩存放完毕;\n[0008] (ⅲ)在对应的电子节目指南信息数据需要更新的情况下,则把已经保存的数据释放,重新压缩保存;\n[0009] (ⅳ)在应用需要调用指定节目的电子节目指南信息来显示的情况下,则根据节目的original network id、service id去查找对应的数据压缩包,解压获得需要显示的数据。\n[0010] 为了更好地实现本发明,进一步的技术方案是:\n[0011] 根据本发明的一个实施方案,所述步骤(ⅰ)中:已经存储的数据会在数据库中以链表的结构存储,要判断是否已经存储,需要把节目的ts id、original network id、service id、event id和数据库中对应的节目的ts id、original network id、service id、event id比较,如果全部相同,就认为已经存储,否则需要继续存储。\n[0012] 根据本发明的另一个实施方案,所述步骤(ⅱ)中:根据不同的数据类型和大小采取不同的压缩比例。\n[0013] 根据本发明的另一个实施方案,在存储数据为字符串数据的情况下,压缩比例在\n1:5至1:10之间。\n[0014] 本发明还可以是:\n[0015] 根据本发明的另一个实施方案,通过内存拷贝的方式把数据放入到该内存空间内,在使用时,如果能从该内存空间中读取到正确的数据,即认为存储的数据是正确的。\n[0016] 与现有技术相比,本发明的有益效果之一是:\n[0017] 本发明的一种数字电视设备接收大数量电子节目指南信息的实现方法,通过采用数据压缩的方式,将电子节目指南信息数据进行分析、压缩后,保存在内存中,需要显示的时候再去解压指定的指南信息来显示的方法,解决在有限内存上无法收取保存大量指南信息的问题;可以在有限内存上存储大量电子节目指南信息,达到小内存保存大数据的效果,节约数字电视接收的生产成本。\n附图说明\n[0018] 为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。\n[0019] 图1示出了根据本发明一个实施例的存储数据的具体流程示意图。\n[0020] 图2示出了根据本发明一个实施例的获取数据并存储的流程示意图。\n[0021] 图3示出了根据本发明一个实施例的数据更新流程示意图。\n[0022] 图4示出了根据本发明一个实施例的应用使用数据流程示意图。\n具体实施方式\n[0023] 下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。\n[0024] 参见图1~图4所示,一种数字电视设备接收大数量电子节目指南信息的实现方法,具体包括如下步骤:\n[0025] 步骤1:当数字电视接收机获得数据流时,从数据流中分析出所包含节目的ts id、original network id、service id、event id,根据这几个id去查找,并判断指定节目的该event信息是否已经存储。如果没有存储,则存储这段数据;如果已经存储,则判断这段数据是否重复,如果没重复则继续存储,如果重复则丢弃该段数据。已经存储的数据会在数据库中以链表的结构存储,要判断是否已经存储,需要把节目的ts id、original network id、service id、event id和数据库中对应的节目的ts id、original network id、service id、event id比较,如果全部相同,就认为已经存储,否则需要继续存储。\n[0026] 步骤2:预先分析一段需要保存的节目指南数据,如果其数据长度小于指定的内存空间大小m,则可以直接保存。如果其数据长度大于m,则把数据每指定一个长度n进行压缩存放直到这段数据压缩存放完毕。所有的数据都可以被压缩,只是压缩比例大小不同;压缩比例和要压缩的数据类型和大小有关,就epg中存储的字符串数据而言,压缩比例在1:5到\n1:10左右;m是内存空间大小,通过内存拷贝的方式把数据放入到该空间内即可,在使用时,如果能从该内存中读取到正确的数据,即认为存储的数据是正确的;n是可配置的。\n[0027] 步骤3:如果对应的电子节目指南信息数据要更新,则把已经保存的数据释放,重新压缩保存。\n[0028] 步骤4:当应用需要调用指定节目的电子节目指南信息来显示,则根据节目的original network id、service id去查找对应的数据压缩包,解压获得需要显示的数据。\n采取这些措施后,一般可以扩大5-10倍的节目信息。\n[0029] 本发明可以在有限内存上存储大量电子节目指南信息,达到小内存保存大数据的效果,节约数字电视接收的生产成本。\n[0030] 一具体实施例,本发明所述的数字电视接收机收取大量节目指南信息的技术中:\n[0031] a.分配4K字节的内存空间,指定长度超过4K字节则需要压缩保存。\n[0032] b.数字电视接收机接收到电子节目指南数据流,分析该数据流中包含的节目参数及对应事件参数ts id、original network id、service id、event id,通过这几个id去内存中查找事件信息是否已经存储,如果已经存储则丢弃,否则就对事件信息数据流进行叠加存储,缓存区域记为TB0,当叠加长度超过4K,则将该内容进行压缩并存储到P0中。每次压缩的时候要检查是否已经存在压缩包P0,如果有则把压缩包P0解压之后加上TB0的数据再重新压缩到P0存放,直到该节目所有事件信息的全部存放完毕,最后形成本节目的压缩数据包P0。\n[0033] c.当需要显示指定节目的指定事件信息时,通过ts id、original network id、service id到内存中查找指定的节目,解压该节目的压缩数据包P0,再根据event id取得对应的数据,即可完成数据的读取。\n[0034] 如图1所示,图1示出了根据本发明一个实施例的存储数据的具体流程示意图,开始得到数据流,分配一个N(可配置)字节的空间A,拷贝数据到空间A中,判断空间A是否存满,在没有存满的情况下,则拷贝数据到空间A中,在已存满的情况下,判断是否有临时空间B,则分配一个临时空间B,并把空间A的数据存储到空间B中,并再判断数据是否存完,如果已经存储则结束,如果没有存储,则返回拷贝到数据A的步骤;在有临时空间B的情况下,则解压空间B,加上空间A中的新内容一起重新压缩形成新的临时空间B,并再次判断数据是否存完,如果已经存储则结束,如果没有存储,则返回拷贝到数据A的步骤。\n[0035] 如图2所示,图2示出了根据本发明一个实施例的获取数据并存储的流程示意图,开始接收机得到数据,再解析数据获得ts id、original network id、service id、event id,根据ts id、original network id、service id、event id判断数据是否已经存储,如果已经存储,则判断数据是否重复,如果数据重复,则丢弃改数据,否则创建链表节点,把数据存储到数据库中;如果判断出ts id、original network id、service id、event id没存储,则创建链表节点,把数据存储到数据库中。\n[0036] 如图3所示,图3示出了根据本发明一个实施例的数据更新流程示意图,开始,接收机得到新数据,解析数据获得ts id、original network id、service id、event id、CRC或者版本号,然后根据ts id、original network id、service id、event id找到指定数据包,再判断CRC或者版本号是否变化,如果没有变化则丢弃数据,如果有变化,则解压指定数据包,然后重新压缩存储数据。\n[0037] 如图4所示,图4示出了根据本发明一个实施例的应用使用数据流程示意图,开始,应用传入ts id、original network id、service id、event,然后根据ts id、original network id、service id、event id判断数据包是否存储,如果没有则结束,如果有,则解压指定数据包,再拷贝解压后的数据到应用使用。\n[0038] 综上所述,本发明1)针对存储容量有限的终端接收机,提出的快速存储大容量节目信息的方法;2)对待存储节目信息进行了预先分析处理,可以避免重复存储和压缩操作,节省操作时间和存储空间。\n[0039] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。\n[0040] 在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。\n[0041] 尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
法律信息
- 2019-03-22
- 2015-12-23
实质审查的生效
IPC(主分类): H04N 21/434
专利申请号: 201510444502.8
申请日: 2015.07.27
- 2015-11-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-11-07
|
2011-05-05
| | |
2
| |
2013-03-06
|
2012-07-18
| | |
3
| |
2011-06-01
|
2009-11-30
| | |
4
| |
2012-12-26
|
2011-06-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |