CN101923519B - 机顶盒epg数据快速存储和读取的方法 - Google Patents
机顶盒epg数据快速存储和读取的方法 Download PDFInfo
- Publication number
- CN101923519B CN101923519B CN2010102479309A CN201010247930A CN101923519B CN 101923519 B CN101923519 B CN 101923519B CN 2010102479309 A CN2010102479309 A CN 2010102479309A CN 201010247930 A CN201010247930 A CN 201010247930A CN 101923519 B CN101923519 B CN 101923519B
- Authority
- CN
- China
- Prior art keywords
- epg
- information nodes
- data
- program
- epg data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种机顶盒EPG数据快速存储和读取的方法,在EPG模块内建立复数个用于存放EPG数据的信息结点;建立用于存储信息结点的数组;并针对每个电视频道构建一个由多个节点串接而成的频道结点指针链,每个节点用于挂接一信息结点,且该频道结点指针链中各信息结点是按EPG节目播出时间顺序进行排列;当机顶盒收到新的EPG数据时,将其存入空的信息结点;按照EPG节目的播出时间顺序将存储有新的EPG数据的信息结点插入对应频道结点指针链中;读取时,则按照播出时间顺序,依次取得信息结点,读取信息结点中的EPG数据并显示出来。本发明无需要进行循环查找和排序,大大提高了EPG显示的速度。
Description
【技术领域】
本发明涉及一种机顶盒EPG数据快速存储和读取的方法。
【背景技术】
目前,电子节目指南(EPG)是数字电视机顶盒的一项重要功能,可为用户提供给7天之内的详细的电视节目信息,包括节目播出的时间,节目的详细内容等,使用户能够快速地掌握所需观看的电视节目内容,以便安排收看。
但是EPG的数量都比较巨大,有的时候甚至可以达到几万条之多,因此要求数字电视机顶盒需要大量的存储空间用于存放EPG数据。更重要的是,目前数字电视机顶盒均采用循环查找的方法进行EPG数据的检索,速度慢,效率低,占用空间大。同时随着国家数字电视平移工作的深入展开,大量地区的模拟电视信号被关闭,由于一般用户家庭都是至少2台以上的电视机,而一台电视机就需要一个机顶盒,因此需要大量便宜的机顶盒,而价钱低廉的简易型机顶盒往往配置比较低,内存和flash都比较小,很难满足需求,而能满足需求的机顶盒又存在造价高的问题,不容易被广大用户所接受。
【发明内容】
本发明要解决的技术问题,在于提供一种机顶盒EPG数据快速存储和读取的方法,无需要进行循环查找和排序,大大提高了EPG显示的速度;而且存储和读取与EPG数据的多少无关,在任何情况下,对不同节目的EPG查找是恒速的。
本发明是这样实现的:一种机顶盒EPG数据快速存储和读取的方法,包括下述步骤:
步骤10、在EPG模块内建立复数个信息结点,每个信息结点用于存放一条EPG节目的EPG数据;
步骤20、在对EPG模块进行初始化时,建立至少一个数组,每个数组存储至少一个信息结点;
步骤30、针对每个电视频道构建一个由多个信息结点串接而成的频道结点指针链,且任一频道结点指针链中的各信息结点是按EPG节目播出时间顺序进行排列;
步骤40、当机顶盒收到新的EPG数据时,首先查找数组中是否有空的信息结点,如果有,则将新的EPG数据一一存储空的信息结点,一条EPG节目的EPG数据对应存入一个信息结点内,若没有空的信息结点,则检测并删除过期EPG数据,释放出信息结点用以存储新的EPG数据;
步骤50、然后对新的EPG数据进行分析,判断每条EPG节目属于哪个频道的节目,以找出对应的频道结点指针链,按照EPG节目的播出时间顺序将存储有新的EPG数据的信息结点插入该频道结点指针链中;
步骤60、读取时,则按照播出时间顺序,依次取得信息结点,读取信息结点中的EPG数据并显示出来。
所述步骤10中,每个信息结点至少包括一个用于表述该信息结点是否已被使用的标记,若该信息结点已被使用则该标记的值被被赋为1;
所述步骤30中,每个频道结点指针链对应设置一个结构指针作为频道结点指针链的链头,初始化时,此结构指针为空;
所述步骤40中、在查找数组中是否有空的信息结点时,其判断标准是判断信息结点中标记的值是否被赋为1,如果不是,则使用这个信息结点,同时将这个信息结点的标记值赋为1;
所述步骤50中、在找出对应的频道结点指针链时,同时获得这个频道结点指针链的结构指针并判断该结构指针是否为空,如果该结构指针为空,则把存放了新的EPG数据的信息结点挂接在结构指针之下;如果该结构指针不为空,则从该结构指针开始,将频道结点指针链之下的各信息结点中的EPG数据的EPG节目播出时间逐个与新的EPG数据中的EPG节目播出时间进行比较,当发现EPG节目播出时间大于新的EPG数据中的EPG节目播出时间的信息结点时,断开挂接该信息结点与其前信息结点的链接,把存放有新的EPG数据的信息结点插入断开处重新链接好,从而形成从该结构指针开始并挂接有按照EPG节目播出时间从小到大顺序排列的一系列信息结点的频道结点指针链。
所述步骤10中,每个信息结点的结构至少包括如下标记:
isUsed:表示该信息结点是否被使用;
EPGInfo:用于存储EPG节目的EPG数据的结构;
next:为指向下一个信息结点结构的指针;
而所述EPGInfo由如下部分组成:
eventId:表示EPG事件的id;
strEPGInfo[APP_EPG_NAME_LEN]:用于存储信息结点的EPG数据的数组,数组的大小由APP_EPG_NAME_LEN决定;
week:表示本条EPG节目的播出时间对应的周;
day:表示本条EPG节目播出时间对应的日;
startTime:表示本条EPG节目播出时间对应的开始时间;
endTime:表示本条EPG节目播出时间对应的结束时间;
hasDetail:表示本条EPG节目是否拥有详细信息。
本发明具有如下优点:本发明通过设置信息结点和频道结点指针链的方式在存储EPG数据的同时即按EPG节目的播出时间排好序,无需在每次读取时进行循环查找和排序,大大提高了EPG显示的速度;而且本发明存储和读取的速度与数组中存储的EPG数据的多少无关,因而在任何情况下,对不同节目的EPG查找都是恒速的。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明方法的流程框图。
图2是本发明方法中构建的频道结点指针链的结构示意图。
图3是本发明方法中构建的频道结点指针链初始化状态的结构示意图。
图4是本发明方法中往频道结点指针链插入新的信息结点的状态示意图。
【具体实施方式】
如图1所示,本发明的一种机顶盒EPG数据快速存储和读取的方法,包括下述步骤:
步骤10、在EPG模块内建立复数个信息结点epgInfoNode,每个信息结点epgInfoNode用于存放一条EPG节目的EPG数据;每个信息结点epgInfoNode的结构至少包括如下标记:
isUsed:表示该信息结点是否被使用,若该信息结点已被使用则该标记的值被被赋为1;
EPGInfo:用于存储EPG节目的EPG数据的结构;
next:为指向下一个信息结点结构的指针;
而所述EPGInfo由如下部分组成:
eventId:表示EPG事件的id;
strEPGInfo[APP_EPG_NAME_LEN]:用于存储信息结点的EPG数据的数组,数组的大小由APP_EPG_NAME_LEN决定;
week:表示本条EPG节目的播出时间对应的周;
day:表示本条EPG节目播出时间对应的日;
startTime:表示本条EPG节目播出时间对应的开始时间;
endTime:表示本条EPG节目播出时间对应的结束时间;
hasDetail:表示本条EPG节目是否拥有详细信息。
步骤20、在对EPG模块进行初始化时,建立至少一个数组,每个数组存储至少一个信息结点epgInfoNode;
步骤30、如图2和图3所示,针对每个电视频道构建一个由多个信息结点epgInfoNode串接而成的频道结点指针链,且任一频道结点指针链中各信息结点epgInfoNode是按EPG节目播出时间顺序进行排列(如图2所示的状态),其中EPG节目播出时间可通过信息结点的有关标记来判断;每个频道结点指针链对应设置一个结构指针作为频道结点指针链的链头,初始化时,各信息结点epgInfoNode中没有EPG数据,频道结点指针链只有一链头即结构指针,且此结构指针为空,处于图3所示的状态。
步骤40、当机顶盒收到新的EPG数据时,首先查找数组中是否有空的信息结点epgInfoNode,如果有,则将新的EPG数据一一存储空的信息结点epgInfoNode,一条EPG节目的EPG数据对应存入一个信息结点epgInfoNode内,若没有空的信息结点epgInfoNode,则检测并删除过期EPG数据,释放出信息结点用以存储新的EPG数据;其中,在查找数组中是否有空的信息结点epgInfoNode时,其判断标准是判断信息结点中标记isUsed的值是否被赋为1,如果不是,则使用这个信息结点,即将新的EPG数据存入该信息结点,同时将这个信息结点的标记值赋为1;
步骤50、然后对新的EPG数据进行分析,可以通过新的EPG数据的severID来判断每个信息结点epgInfoNode中的EPG节目属于哪个频道的节目,以找出对应的频道结点指针链,按照EPG节目的播出时间顺序将挂接有用于存储新的EPG数据的信息结点的节点插入该频道结点指针链中;
结合图2至图4所示,在找出对应的频道结点指针链时,同时获得这个频道结点指针链的结构指针并判断该结构指针是否为空,如果该结构指针为空,说明处于初始化状态或是数组中的信息结点中的EPG数据均为过期数据而被删除,此时,频道结点指针链只有一链头即结构指针,则把存放了新的EPG数据的信息结点挂接在结构指针之下;如果该结构指针不为空,说明频道结点指针链中已有信息结点,则从结构指针开始,将频道结点指针链中各信息结点中的EPG数据的EPG节目播出时间逐个与新的EPG数据中的EPG节目播出时间进行比较,当发现EPG节目播出时间大于新的EPG数据中的EPG节目播出时间的信息结点时,断开挂接该信息结点与其前信息结点的链接,把存放有新的EPG数据的信息结点插入断开处重新链接好,从而形成从该结构指针开始并挂接有按照EPG节目播出时间从小到大顺序排列的一系列信息结点的频道结点指针链。
步骤60、读取时,当用户切换电视频道时,首先找出用户即将收看的电视频道,获得这个电视频道的频道结点指针链及其结构指针,判断结构指针是否为空,如果为空,说明各信息结点均无EPG数据,如初始化状态等,则提示用户正在接收EPG数据请稍后,并启动EPG数据收取过程执行步骤40。如果指针不为空,则按照EPG节目的播出时间顺序,依次取得信息结点,读取信息结点中的EPG数据并显示出来。
综上所述,本发明通过设置信息结点和频道结点指针链的方式在存储EPG数据的同时即按EPG节目的播出时间排好序,无需在每次读取时进行循环查找和排序,大大提高了EPG显示的速度;而且本发明存储和读取的速度与数组中存储的EPG数据的多少无关,因而在任何情况下,对不同节目的EPG查找都是恒速的。
Claims (3)
1.一种机顶盒EPG数据快速存储和读取的方法,其特征在于:包括下述步骤:
步骤10、在EPG模块内建立复数个信息结点,每个信息结点用于存放一条EPG节目的EPG数据;
步骤20、在对EPG模块进行初始化时,建立至少一个数组,每个数组存储至少一个信息结点;
步骤30、针对每个电视频道构建一个由多个信息结点串接而成的频道结点指针链,且任一频道结点指针链中的各信息结点是按EPG节目播出时间顺序进行排列;
步骤40、当机顶盒收到新的EPG数据时,首先查找数组中是否有空的信息结点,如果有,则将新的EPG数据一一存储空的信息结点,一条EPG节目的EPG数据对应存入一个信息结点内,若没有空的信息结点,则检测并删除过期EPG数据,释放出信息结点用以存储新的EPG数据;
步骤50、然后对新的EPG数据进行分析,判断每条EPG节目属于哪个频道的节目,以找出对应的频道结点指针链,按照EPG节目的播出时间顺序将存储有新的EPG数据的信息结点插入该频道结点指针链中;
步骤60、读取时,则按照播出时间顺序,依次取得信息结点,读取信息结点中的EPG数据并显示出来。
2.根据权利要求1所述的机顶盒EPG数据快速存储和读取的方法,其特征在于:
所述步骤10中,每个信息结点至少包括一个用于表述该信息结点是否已被使用的标记,若该信息结点已被使用则该标记的值被赋为1;
所述步骤30中,每个频道结点指针链对应设置一个结构指针作为频道结点指针链的链头,初始化时,此结构指针为空;
所述步骤40中、在查找数组中是否有空的信息结点时,其判断标准是判断信息结点中标记的值是否被赋为1,如果不是,则使用这个信息结点, 同时将这个信息结点的标记值赋为1;
所述步骤50中、在找出对应的频道结点指针链时,同时获得这个频道结点指针链的结构指针并判断该结构指针是否为空,如果该结构指针为空,则把存放了新的EPG数据的信息结点挂接在结构指针之下;如果该结构指针不为空,则从该结构指针开始,将频道结点指针链之下的各信息结点中的EPG数据的EPG节目播出时间逐个与新的EPG数据中的EPG节目播出时间进行比较,当发现EPG节目播出时间大于新的EPG数据中的EPG节目播出时间的信息结点时,断开挂接该信息结点与其前信息结点的链接,把存放有新的EPG数据的信息结点插入断开处重新链接好,从而形成从该结构指针开始并挂接有按照EPG节目播出时间从小到大顺序排列的一系列信息结点的频道结点指针链。
3.根据权利要求2所述的机顶盒EPG数据快速存储和读取的方法,其特征在于:所述步骤1中,每个信息结点的结构至少包括如下标记:
isUsed:表示该信息结点是否被使用;
EPGInfo:用于存储EPG节目的EPG数据的结构;
next:为指向下一个信息结点结构的指针;
而所述EPGInfo由如下部分组成:
eventId:表示EPG事件的id;
strEPGInfo[APP_EPG_NAME_LEN]:用于存储信息结点的EPG数据的数组,数组的大小由APP_EPG_NAME_LEN决定;
week:表示本条EPG节目的播出时间对应的周;
day:表示本条EPG节目播出时间对应的日;
startTime:表示本条EPG节目播出时间对应的开始时间;
endTime:表示本条EPG节目播出时间对应的结束时间;
hasDetail:表示本条EPG节目是否拥有详细信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102479309A CN101923519B (zh) | 2010-08-06 | 2010-08-06 | 机顶盒epg数据快速存储和读取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102479309A CN101923519B (zh) | 2010-08-06 | 2010-08-06 | 机顶盒epg数据快速存储和读取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101923519A CN101923519A (zh) | 2010-12-22 |
CN101923519B true CN101923519B (zh) | 2012-01-25 |
Family
ID=43338468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102479309A Expired - Fee Related CN101923519B (zh) | 2010-08-06 | 2010-08-06 | 机顶盒epg数据快速存储和读取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101923519B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262646A (zh) * | 2011-05-26 | 2011-11-30 | 深圳市九洲电器有限公司 | 一种机顶盒的音乐文件分类方法 |
CN113573133A (zh) * | 2021-07-23 | 2021-10-29 | 杭州国芯科技股份有限公司 | 一种用于数字电视机顶盒存储epg的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100505850C (zh) * | 2005-06-03 | 2009-06-24 | 联想(北京)有限公司 | 一种显示电子节目指南中相关栏目的方法 |
KR100830506B1 (ko) * | 2006-07-08 | 2008-05-20 | 엘지전자 주식회사 | 사용자 고유의 전용 채널을 설정할 수 있는 영상기기 및 그제어방법 |
-
2010
- 2010-08-06 CN CN2010102479309A patent/CN101923519B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101923519A (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100428789C (zh) | 一种基于电子节目指南信息实现预约录制的方法及系统 | |
KR100594963B1 (ko) | 사용자 선호 시청 시간대에 선호 프로그램의 제공을 위한개인 채널 서비스 제공 방법 및 그 장치 | |
CN103096172B (zh) | 一种展示推荐节目的方法和装置 | |
CN103237263B (zh) | 一种机顶盒自动屏蔽广告方法及广告自动屏蔽系统 | |
CN101404780A (zh) | 数字电视接收机、电视节目的智能排序方法与装置 | |
CN101808187A (zh) | 一种建立本地视频库的方法和机顶盒 | |
CN107426603A (zh) | 一种视频播放方法及装置 | |
CN100571345C (zh) | 一种基于电子节目指南的节目推荐方法 | |
CN101448113B (zh) | 一种数字电视预定节目处理方法、装置及数字电视接收终端 | |
US20020007368A1 (en) | Apparatus and method for processing description information of multimedia data | |
CN101860701A (zh) | 一种利用机顶盒寻找所需节目的方法 | |
CN101304503A (zh) | 数字电视节目检索方法 | |
CN101923519B (zh) | 机顶盒epg数据快速存储和读取的方法 | |
CN104219576A (zh) | 一种基于智能电视的播放节目推荐方法 | |
CN103491394A (zh) | 一种电视节目的录制方法和装置 | |
CN101772912A (zh) | 用于用户个性化移动视频节目列表填充的方法和装置 | |
CN103546769A (zh) | 电视节目菜单处理方法、设备及系统 | |
CN101502103A (zh) | 显示电子节目指南的方法和使用该方法的设备 | |
CN103491440A (zh) | 一种智能电视开机频道自动选择的方法 | |
CN104780444A (zh) | 一种基于psi/si表实现后台更新机顶盒节目方法及系统 | |
CN104519295A (zh) | 数字电视节目的录像控制方法 | |
CN101753907A (zh) | 一种节目提醒的方法 | |
CN102611929A (zh) | 一种数字电视机顶盒的区域控制方法 | |
CN104811811A (zh) | 基于数字电视的选择常看电视频道的方法 | |
CN105812917A (zh) | 频道搜索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120125 Termination date: 20190806 |