CN115734030B - 一种加速移动端获取直播频道节目列表的方法 - Google Patents
一种加速移动端获取直播频道节目列表的方法 Download PDFInfo
- Publication number
- CN115734030B CN115734030B CN202211598356.0A CN202211598356A CN115734030B CN 115734030 B CN115734030 B CN 115734030B CN 202211598356 A CN202211598356 A CN 202211598356A CN 115734030 B CN115734030 B CN 115734030B
- Authority
- CN
- China
- Prior art keywords
- program
- live
- channel
- program list
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 7
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000366 juvenile effect Effects 0.000 description 1
Abstract
本发明属于网络电视视频通信技术领域,具体涉及一种加速移动端获取直播频道节目列表的方法,包括:抓取当天网络直播频道的节目数据,存储到本地数据库中,定时加工所有直播频道的节目数据,同时,加工各个频道的节目数据,实时获取所有直播频道正在播放的需缓存节目列表,并放入缓存中,生成所有直播频道正在播放的缓存节目列表;本申请能够把直播频道的直播流数据和节目列表同步问题控制在毫秒级,基本满足网络条件较差环境下的直播同步需求,通过对节目数据进行异步拉取、核对校验、实时同步处理,达到直播频道的节目和节目列表单精准同步的目的。
Description
技术领域
本发明涉及网络电视视频通信领域,具体涉及一种加速移动端获取直播频道节目列表的方法。
背景技术
手机台、平板电脑等是新时代下基于IPTV业务的移动端产品,能够满足大小屏互动,可以向家庭用户提供电影、电视剧、综艺节目、少儿节目、直播节目等多种内容服务的崭新产品,并且能够根据用户的观看习惯,精准推荐相关的影视视频,方便用户进行投屏观看。
与传统有线电视和数字电视不同,在移动手机台中,直播频道的直播流数据和节目列表分别从不同的资源库获取资源,当前直播频道节目列表需要实时同步得从数据库查询,当观看直播频道在线人数超过一定数量时,或者移动终端网络速度不理想时,容易造成直播频道的直播流数据和直播频道节目列表不匹配,给用户观看造成困扰。
目前,获取移动端直播频道节目列表时,没有异步相关机制处理,导致直播频道的节目列表获取完全依赖网络环境,由于移动网络可能存在延迟、抖动、拥塞、丢包等诸多问题,尤其是移动端网络不可控因素较多,已成为影响移动端直播频道的节目准确性的决定性因素。
发明内容
本发明的目的在于提供一种加速移动端获取直播节目列表的方法,最大程度减轻网络环境对直播同步问题的影响,将直播频道的直播流数据和节目列表匹配延迟的问题控制在一定范围。
本发明解决其技术问题所采用的技术方案是:一种加速移动端获取直播频道节目列表的方法,其核心设计是建立异步缓存中的直播频道节目单数据与直播频道流数据之间的时映射关系,根据映射关系获取当前时间段节目信息,然后根据定时任务同步策略进行同步、推流实现,包括:
步骤S1、抓取当天网络直播频道的节目数据,存储到本地数据库中;
步骤S2、设定定时任务,定时加工所有直播频道的节目数据,将当天所有直播频道的节目数据,按照每个节目的节目结束时间由大到小进行倒序排列,组成数组P,同时,加工各个频道的节目数据,将当天的n个直播频道的节目数据,按照频道号,分别组成n个第一节目队列,按照每个节目的节目开始时间由小到大进行正序排列,组成第二节目队列;
步骤S3、实时获取所有直播频道正在播放的需缓存节目列表,并放入缓存中,生成所有直播频道正在播放的缓存节目列表;
步骤S4、移动端用户输入指令,从缓存节目列表中获取目标直播频道的节目列表。
具体地,所述当天是指0时到24时之间的时间段。
具体地,所述节目数据包括频道号、节目名称、节目开始时间、节目结束时间。
本发明具有以下有益效果:本申请能够把直播频道的直播流数据和节目列表同步问题控制在毫秒级,基本满足网络条件较差环境下的直播同步需求,依托5G网络高速数据传输、移动终端推流、消息队列、异步拉取节目数据等技术,技术稳定、可靠,通过对节目数据进行异步拉取、核对校验、实时同步处理,达到直播频道的节目和节目列表单精准同步的目的。
附图说明
图1为本申请的流程图。
图2为本申请的节目数据流向示意图。
图3为本申请的抓取当天网络直播频道的节目数据的流程图。
图4为本申请的加工所有直播频道的节目数据的流程图。
图5为本申请的加工各个频道的节目数据的流程图。
图6为本申请的实时获取所有直播频道正在播放的节目数据的流程图。
图7为本申请的获取目标直播频道的节目列表的流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
根据图1至图7所示的一种加速移动端获取直播频道节目列表的方法,包括:
步骤S1、抓取当天网络直播频道的节目数据,存储到本地数据库中,即每天定时,一般根据实际情况,设在每天的0时,通过python脚本程序,从公共网络资源中抓取当天的所有网络直播频道的节目数据,当天是指0时到24时之间的时间段,并将抓取到节目数据插入到本地数据库中,节目数据包括频道号、节目名称、节目开始时间、节目结束时间;
步骤S2、设定定时任务,加工所有直播频道的节目数据,将当天所有直播频道的节目数据,按照每个节目的节目结束时间由大到小进行倒序排列,组成数组P,同时,加工各个频道的节目数据,将当天的n个直播频道的节目数据,按照频道号,分别组成n个第一节目队列,按照每个节目的节目开始时间由小到大进行正序排列,组成第二节目队列;
步骤S3、实时获取所有直播频道正在播放的需缓存节目列表,并放入缓存中,生成所有直播频道正在播放的缓存节目列表;
步骤S4、移动端用户输入指令,从缓存节目列表中获取目标直播频道的节目列表,经过步骤S1至步骤S3,能够实时更新缓存中的所有直播频道正在播放的节目的节目列表,这样当移动端的用户输入指令后,比如更换了新的频道,或者启动了正在播放的直播频道中的节目列表按钮,能够从缓存中的节目数据中,获取相应直播频道的节目队列的第一条数据,即为相应直播频道的节目列表,使得直播频道的直播流数据和节目列表匹配。
具体地,所述步骤S1中,抓取当天网络直播频道的节目数据,网络直播频道为公共网络资源,其中节目数据包括频道号、节目名称、节目开始时间、节目结束时间,其实现步骤为:
步骤S101,部署python脚本;
步骤S102,将抓取到的频道节目数据,按照频道号/节目单名称/开始时间/结束时间的格式规则进行清洗整理;
步骤S103,将清洗后的所有直播频道的节目数据发送到消息队列中;
步骤S104,kafka中间件消费者从消息队列中kafka消费者消费队列数据,并将清洗后的数据插入到本地数据库中。
具体地,所述步骤S2中,加工所有直播频道的节目数据,其实现步骤包括:
步骤S211,每天定时,从本地数据库中查询出当天所有直播频道的节目数据,比如,在每天的凌晨1点执行;
步骤S212,将所有直播频道的节目数据,按节目结束时间倒序组成数组P,数组P格式如下:
[{频道1,节目1,节目结束时间1},{频道2,节目2,节目结束时间2},...{频道n,节目n,节目结束时间n}],例如:[{001,CCTV-1,20221205175122},...];
步骤S213,将所得数组P的数据存储到缓冲中,存储的数据格式如下:
[{频道号1,节目1,节目结束时间1},{频道号2,节目2,节目结束时间2},...{频道号n,节目n,节目结束时间n}]。
具体地,所述步骤S2中,加工各个直播频道的节目数据,其步骤包括:
步骤S221,从本地数据库中,将n个直播频道当天未开始播放的节目的节目数据组成n个第一节目队列;
步骤S222、将每个第一节目队列中的节目数据,按节目开始时间正序排列,生成第二节目队列,命名为第二节目队列CP1、CP2、CP3....CPn,节目队列CPn格式如下:
[{频道号1,节目1,节目开始时间1},{频道号1,节目2,节目开始时间2}] ;
步骤S223,将所得第二节目队列的节目数据存储到缓存中,存储的数据格式如下:
[{频道号1,节目1,节目开始时间1},{频道号1,节目2,节目开始时间2}] ;
具体地,所述步骤3中,实时获取所有直播频道正在播放的需缓存节目列表,并放入缓存中,其实现步骤为:
步骤S301、获得当前系统时间,精确到秒,记为S1,同时获取系统上一秒的时间,精确到秒,记为S2,S2 = S1 - 1秒;
步骤S302、从数组P中获得S1与S2之间时间段内,所有直播频道中已结束的节目数据,组成数组Ps,数组Ps格式如下:[{频道1,节目1,结束时间1},{频道2,,节目2,结束时间2}.......];
步骤S303、遍历数组Ps,获取数组Ps中的频道号,命名为结束频道号;
步骤S304、根据所得的结束频道号,找到对应的第二节目队列;
步骤S305、从对应的第二节目队列中取出第一个节目,第一个节目为结束频道号对应的直播频道,在当前系统时间正在播放的节目,获取该节目数据,生成需缓存节目列表,缓存节目列表的格式如下:[{频道号1,节目名称1}];
步骤S306、将步骤S305中获取的需缓存节目列表放入缓存中;
步骤S307、启动一个新的线程每秒执行一次步骤301至步骤306,实时获取所有直播频道正在播放的需缓存节目列表,并将其放入缓存中。
具体地,所述步骤S4中,获取目标直播频道的节目列表,其实现步骤包括:
步骤S401,获取移动端用户操作的指令;
步骤S402,翻译指令,并解析出当前操作指令的目标直播频道的目标频道号;
步骤S403,根据目标频道号从所有直播频道的缓存节目列表中,获取目标频道号的当前正在播放的节目名称进行显示。
本发明不局限于所述实施方式,任何人应得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
本发明未详细描述的技术、形状、构造部分均为公知技术。
Claims (5)
1.一种加速移动端获取直播频道节目列表的方法,其特征在于:包括:
步骤S1、抓取当天网络直播频道的节目数据,存储到本地数据库中;
步骤S2、定时加工所有直播频道的节目数据,将当天所有直播频道的节目数据,按照每个节目的节目结束时间由大到小进行倒序排列,组成数组P,同时,加工各个频道的节目数据,将当天的n个直播频道的节目数据,按照频道号,分别组成n个第一节目队列,按照每个节目的节目开始时间由小到大进行正序排列,组成第二节目队列;
步骤S3、实时获取所有直播频道正在播放的需缓存节目列表,并放入缓存中,生成所有直播频道正在播放的缓存节目列表,其具体步骤包括,
步骤S301、获得当前系统时间,精确到秒,记为S1,同时获取系统上一秒的时间,记为S2;
步骤S302、从数组P中获得S1与S2之间时间段内,所有直播频道中已结束的节目数据,组成数组Ps;
步骤S303、遍历数组Ps,获取数组Ps中的频道号,为结束频道号;
步骤S304、根据所得的结束频道号,找到对应的第二节目队列;
步骤S305、从对应的第二节目队列中取出第一个节目,第一个节目为结束频道号对应的直播频道,在当前系统时间正在播放的节目,获取该节目数据,生成需缓存节目列表,缓存节目列表的格式如下:[{频道号1,节目名称1}];
步骤S306、将步骤S305中获取的需缓存节目列表放入缓存中;
步骤S307、启动一个新的线程每秒执行一次步骤301至步骤305;
步骤S4、移动端用户输入指令,从缓存节目列表中获取目标直播频道的节目列表。
2.根据权利要求1所述的一种加速移动端获取直播频道节目列表的方法,其特征在于:所述当天是指0时到24时之间的时间段。
3.根据权利要求1所述的一种加速移动端获取直播频道节目列表的方法,其特征在于:所述节目数据包括频道号、节目名称、节目开始时间、节目结束时间。
4.根据权利要求1所述的一种加速移动端获取直播频道节目列表的方法,其特征在于:所述步骤S1中抓取当天网络直播频道的节目数据,其实现步骤为:
步骤S101,部署python脚本;
步骤S102,将抓取到的频道节目数据,按照频道号/节目单名称/开始时间/结束时间的格式规则进行清洗整理;
步骤S103,将清洗后的所有直播频道的节目数据发送到消息队列中;
步骤S104,kafka中间件消费者从消息队列中kafka消费者消费队列数据,并将清洗后的数据插入到本地数据库中。
5.根据权利要求1所述的一种加速移动端获取直播频道节目列表的方法,其特征在于:获取目标直播频道的节目列表,其实现步骤包括:
步骤S401,获取移动端用户操作的指令;
步骤S402,翻译指令,并解析出当前操作指令的目标直播频道的目标频道号;
步骤S403,根据目标频道号从所有直播频道的缓存节目列表中,获取目标频道号的当前正在播放的节目名称进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598356.0A CN115734030B (zh) | 2022-12-14 | 2022-12-14 | 一种加速移动端获取直播频道节目列表的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598356.0A CN115734030B (zh) | 2022-12-14 | 2022-12-14 | 一种加速移动端获取直播频道节目列表的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115734030A CN115734030A (zh) | 2023-03-03 |
CN115734030B true CN115734030B (zh) | 2024-01-26 |
Family
ID=85301292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211598356.0A Active CN115734030B (zh) | 2022-12-14 | 2022-12-14 | 一种加速移动端获取直播频道节目列表的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115734030B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104053067A (zh) * | 2014-06-20 | 2014-09-17 | 海视云(北京)科技有限公司 | 一种直播节目的播放方法、终端及服务器 |
CN104080011A (zh) * | 2014-07-08 | 2014-10-01 | 浪潮软件集团有限公司 | 一种基于hls协议实现时移系统的方法 |
CN104185066A (zh) * | 2014-03-04 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种自动校验电子节目菜单的方法及装置 |
CN104219562A (zh) * | 2014-09-05 | 2014-12-17 | 四川长虹电器股份有限公司 | 基于epg的节目缓存方法和节目缓存装置 |
CN104618809A (zh) * | 2014-07-17 | 2015-05-13 | 腾讯科技(北京)有限公司 | 节目信息显示方法、装置和系统 |
WO2015070808A1 (zh) * | 2013-11-15 | 2015-05-21 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的节目预告方法及装置 |
CN109803169A (zh) * | 2019-01-25 | 2019-05-24 | 烽火通信科技股份有限公司 | 基于网络带宽实现多路组播的方法及系统 |
CN111294608A (zh) * | 2020-02-21 | 2020-06-16 | 广州欢网科技有限责任公司 | 电视节目单处理方法、装置及可读存储介质 |
CN111339357A (zh) * | 2020-02-21 | 2020-06-26 | 广州欢网科技有限责任公司 | 基于直播用户行为的推荐方法及装置 |
CN113014933A (zh) * | 2021-01-27 | 2021-06-22 | 北京歌华有线电视网络股份有限公司 | 一种直播电视节目分区自动更新的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657560A (zh) * | 2015-11-27 | 2016-06-08 | 乐视网信息技术(北京)股份有限公司 | 节目信息的展示方法、装置和终端设备 |
-
2022
- 2022-12-14 CN CN202211598356.0A patent/CN115734030B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015070808A1 (zh) * | 2013-11-15 | 2015-05-21 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的节目预告方法及装置 |
CN104185066A (zh) * | 2014-03-04 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种自动校验电子节目菜单的方法及装置 |
CN104053067A (zh) * | 2014-06-20 | 2014-09-17 | 海视云(北京)科技有限公司 | 一种直播节目的播放方法、终端及服务器 |
CN104080011A (zh) * | 2014-07-08 | 2014-10-01 | 浪潮软件集团有限公司 | 一种基于hls协议实现时移系统的方法 |
CN104618809A (zh) * | 2014-07-17 | 2015-05-13 | 腾讯科技(北京)有限公司 | 节目信息显示方法、装置和系统 |
CN104219562A (zh) * | 2014-09-05 | 2014-12-17 | 四川长虹电器股份有限公司 | 基于epg的节目缓存方法和节目缓存装置 |
CN109803169A (zh) * | 2019-01-25 | 2019-05-24 | 烽火通信科技股份有限公司 | 基于网络带宽实现多路组播的方法及系统 |
CN111294608A (zh) * | 2020-02-21 | 2020-06-16 | 广州欢网科技有限责任公司 | 电视节目单处理方法、装置及可读存储介质 |
CN111339357A (zh) * | 2020-02-21 | 2020-06-26 | 广州欢网科技有限责任公司 | 基于直播用户行为的推荐方法及装置 |
CN113014933A (zh) * | 2021-01-27 | 2021-06-22 | 北京歌华有线电视网络股份有限公司 | 一种直播电视节目分区自动更新的方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于EPG信息实现广播电视直播节目搜索方案的分析;李婷婷;欧阳峰;朱里越;;广播与电视技术(01);55-58 * |
Also Published As
Publication number | Publication date |
---|---|
CN115734030A (zh) | 2023-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220303599A1 (en) | Synchronizing Program Presentation | |
EP3680896B1 (en) | Method for controlling terminal by voice, terminal, server and storage medium | |
CN103686199A (zh) | 网络电视多窗口节目预览的方法及系统及终端 | |
CN112616062B (zh) | 一种字幕显示方法、装置、电子设备及存储介质 | |
CN107241640A (zh) | 一种移动设备和电视设备同步播放的方法 | |
CN108900855B (zh) | 直播内容录制方法、装置、计算机可读存储介质及服务器 | |
CN110933450B (zh) | 多路直播同步方法、系统、边缘设备、终端及存储介质 | |
CN102232300A (zh) | 基于对等通信发送和接收个人广播数据的方法和设备 | |
CN114363715A (zh) | 视频播放方法及相关设备 | |
CN111818383B (zh) | 视频数据的生成方法、系统、装置、电子设备及存储介质 | |
WO2021206815A1 (en) | Content-modification system with feature for detecting and responding to content modifications by tuner devices | |
CN115734030B (zh) | 一种加速移动端获取直播频道节目列表的方法 | |
US20190320230A1 (en) | Method, apparatus, and device for obtaining play data, and storage medium | |
TWI788722B (zh) | 用於與內容呈現設備結合使用的方法、非暫時性電腦可讀儲存介質及計算系統 | |
TW202106035A (zh) | 具有內容呈現設備分組特徵的內容修改系統 | |
CN107465952B (zh) | 一种广播内容与补充信息同步播放的方法和系统 | |
JP7094462B1 (ja) | 地理的領域ベースの機能を備えたコンテンツ修正システム | |
JP7094461B2 (ja) | 送信遅延ベースの機能を備えたコンテンツ修正システム | |
Moriyasu et al. | Group synchronization method with fast response time for VoD services | |
CN102685553B (zh) | 基于数字机顶盒实现子画面显示的系统及方法 | |
CN101951399B (zh) | 交互式网络电视数据量增量同步方法及装置 | |
CN113940086A (zh) | 具有广播调度利用特征的内容修改系统 | |
CN112351201A (zh) | 多媒体数据处理方法、系统、装置、电子设备和存储介质 | |
CN112910745A (zh) | 一种智能家居设备的控制方法及设备 | |
JP2017509200A (ja) | テレビ番組画像フレームキャプチャ装置、テレビ番組画像フレーム取得装置、システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |