一种电子节目单数据的发布方法、系统及Websocket服务器的制造方法

文档序号:8000137阅读:215来源:国知局
一种电子节目单数据的发布方法、系统及Websocket服务器的制造方法
【专利摘要】本发明适用于通信【技术领域】,提供了一种电子节目单数据的发布方法:Websocket服务器接收Portal服务器发送的EPG数据更新通知消息,消息携带有新的EPG数据;Websocket服务器接收到消息后,缓存新的EPG数据;Websocket服务器根据预先缓存的EPG数据标识,计算连接总数;Websocket服务器将连接分组,并创建分组线程;Websocket服务器通过分组线程并行向机顶盒浏览器下发新的EPG数据。本发明提高了系统性能,减少了用户等待时间。另外,当EPG数据有更新时,服务器才主动下发数据,减少了服务器的负担。
【专利说明】—种电子节目单数据的发布方法、系统及Websocket服务器
【技术领域】
[0001]本发明属于通信【技术领域】,尤其涉及一种电子节目单数据的发布方法、系统及Websocket 服务器。
【背景技术】
[0002]IPTV运营商为了方便用户观看节目,会通过IP网络提供详尽的电子节目单(Electronic Program Guide, EPG)数据,这样用户便可以快速的知道喜欢观看的节目播放时间。目前IPTV系统的电子节目单数据是通过HTTP协议进行传输,目前一般采用基于HTTP协议有两种技术进行通信,如:轮询技术(Polling)或服务器推送技术(Comet)等,其中,Polling技术只能支持半双工通信,而Comet采用分别用于上行数据流和下行数据流的两个连接来模拟双工通信,需要耗费双倍的Web应用服务器资源,效率低下。简而言之,基于HTTP协议的技术并非为了实现实时全双工通信而设计。
[0003]在现有技术中,为了能获取IPTV服务器的EPG更新信息,STB (Set Top Box,机顶盒)浏览器需要定时发出EPG数据更新请求,服务器需要对每一次的请求做出组织EPG数据的响应,然后将组织好的EPG数据发送给STB浏览器。然而,该方案存在如下缺点:1、STB不能及时获取EPG数据,2、当没有更新EPG数据时,STB浏览器也会向服务器发送获取EPG数据的请求,因此,增加了服务器的负担,导致性能下降,另外,还导致用户需要更多等待Portal响应时间,降低了用户的满意度。

【发明内容】

[0004]本发明的目的在于提供一种电子节目单数据的发布方法、系统及Websocket服务器,旨在解决现有技术中存在的STB不能及时获取EPG数据,再者,当没有更新EPG数据时,STB浏览器也会向服务器发送获取EPG数据的请求,因此,增加了服务器的负担,导致性能下降,另外,还导致用户需要更多等待Portal响应时间,降低了用户的满意度的问题。
[0005]本发明是这样实现的,一种电子节目单数据的发布方法,所述方法包括以下步骤:
[0006]Websocket服务器接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据;
[0007]Websocket服务器接收到所述消息后,缓存所述新的EPG数据;
[0008]Websocket服务器根据预先缓存的EPG数据标识,计算连接总数;
[0009]Websocket服务器将所述连接分组,并创建分组线程;
[0010]Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据。
[0011]本发明的另一目的在于提供一种电子节目单数据的发布系统,所述系统包括:机顶盒浏览器、Portal服务器、以及Websocket服务器;
[0012]当用户进入电子节目菜单时,机顶盒浏览器向Portal服务器发送下载初始EPG数据请求;P0rtal服务器接收到请求后,组织EPG数据和UI,将初始EPG数据和Π下发给机顶盒浏览器,机顶盒浏览器将接收到的EPG数据和Π呈现;机顶盒浏览器与Websocket服务器建立连接,当Portal服务器上的EPG数据改变之后,Portal服务器向Websocket服务器发起EPG数据更新通知,并携带有新的EPG数据jebsocket服务器接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据jebsocket服务器接收到所述消息后,缓存所述新的EPG数据jebsocket服务器根据预先缓存的EPG数据标识,计算连接总数;Websocket服务器将所述连接分组,并创建分组线程;Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据,机顶盒浏览器接收完成EPG数据后,将数据更新,展示到界面上。
[0013]本发明的另一目的在于提供一种Websocket服务器,所述服务器包括:
[0014]接收模块,用于接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据;
[0015]缓存模块,用于接收到所述消息后,缓存所述新的EPG数据;
[0016]计算模块,用于根据预先缓存的EPG数据标识,计算连接总数;
[0017]创建模块,用于将所述连接分组,并创建分组线程;
[0018]下发模块,用于通过该分组线程并行向机顶盒浏览器下发新的EPG数据。
[0019]在本发明中,通过当电子节目信息改变时,由服务器主动推送EPG数据给机顶盒,机顶盒能够实时获取EPG数据。机顶盒不再需要定时循环去Portal服务器中取EPG数据,而是当Portal服务器上EPG数据发生改变时,由Websocket服务器主动推送EPG数据到机顶盒浏览器。从而提高了系统性能,减少了用户等待时间。另外,当EPG数据有更新时,月艮务器才主动下发数据,减少了服务器的负担。
【专利附图】

【附图说明】
[0020]图1是本发明实施例提供的电子节目单数据的发布方法的实现流程示意图。
[0021]图2是本发明实施例提供的电子节目单数据的发布系统的结构示意图。
[0022]图3是本发明实施例提供的Websocket服务器的结构示意图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]在本发明实施例中,通过当电子节目信息改变时,由服务器主动推送EPG数据给机顶盒,机顶盒能够实时获取EPG数据。从而解决了现有技术中存在的STB不能及时获取EPG数据,再者,当没有更新EPG数据时,STB浏览器也会向服务器发送获取EPG数据的请求,因此,增加了服务器的负担,导致性能下降,另外,还导致用户需要更多等待Portal响应时间,降低了用户的满意度的问题。
[0025]请参阅图1,为本发明实施例提供的电子节目单数据的发布方法的实现流程,其包括以下步骤:
[0026]在步骤SlOl中,Websocket服务器接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据;
[0027]在步骤S102中,Websocket服务器接收到所述消息后,缓存所述新的EPG数据;
[0028]在步骤S103中,Websocket服务器根据预先缓存的EPG数据标识,计算连接总数;
[0029]在步骤S104中,Websocket服务器将所述连接分组,并创建分组线程;
[0030]在步骤S105中,Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据。
[0031]作为本发明一优选实施例,在步骤SlOl之前,还包括以下步骤:
[0032]Websocket服务器接收机顶盒浏览器使用Websocket协议发起的建立Websocket握手请求消息,所述消息携带有机顶盒ID数据和EPG数据标识;其中,机顶盒ID数据可以是MAC地址,其用于标识该机顶盒,EPG数据标识则用于标识机顶盒需要EPG数据;
[0033]Websocket服务器判断所述Websocket握手请求是否符合协议,如果符合协议,则建立连接通道;如果不符合协议,则关闭该连接;
[0034]Websocket服务器将与机顶盒成功建立的连接、机顶盒ID数据、以及EPG数据标识建立 对应关系,并缓存。
[0035]作为本发明另一优选实施例,在步骤S105之后,还包括以下步骤:
[0036]Websocket服务器下发完成EPG数据后,退出下发数据线程。
[0037]作为本发明另一优选实施例,所述方法还包括:
[0038]Websocket服务器监听Websocket连接是否关闭,当关闭时,则将连接从Websocket连接缓存中清除。
[0039]请参阅图2,为本发明实施例提供的电子节目单数据的发布系统的结构。为了便于说明,仅不出了与本发明实施例相关的部分。
[0040]所述电子节目单数据的发布系统包括:机顶盒浏览器100、Portal服务器200、以及 Websocket 服务器 300。
[0041]所述电子节目单数据的发布系统的工作原理如下:
[0042]当用户进入电子节目菜单时,机顶盒浏览器使用HTTP协议向Portal服务器发送下载初始EPG数据请求;Portal服务器接收到请求后,组织EPG数据和UI,通过HTTP协议将初始EPG数据和UI下发给机顶盒浏览器,机顶盒浏览器将接收到的EPG数据和UI呈现;机顶盒浏览器与Websocket服务器建立连接,当Portal服务器上的EPG数据改变之后,Portal服务器向Websocket服务器发起EPG数据更新通知,并携带有新的EPG数据;Websocket服务器接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据Iebsocket服务器接收到所述消息后,缓存所述新的EPG数据jebsocket服务器根据预先缓存的EPG数据标识,计算连接总数Iebsocket服务器将所述连接分组,并创建分组线程;Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据,机顶盒浏览器接收完成EPG数据后,将数据更新,展示到界面上。
[0043]在本发明实施例中,
[0044]所述Websocket服务器还用于接收机顶盒浏览器使用Websocket协议发起的建立Websocket握手请求消息,所述消息携带有机顶盒ID数据和EPG数据标识;其中,机顶盒ID数据可以是MAC地址,其用于标识该机顶盒,EPG数据标识则用于标识机顶盒需要EPG数据;Websocket服务器判断所述Websocket握手请求是否符合协议,如果符合协议,则建立连接通道;如果不符合协议,则关闭该连接jebsocket服务器将与机顶盒成功建立的连接、机顶盒ID数据、以及EPG数据标识建立一一对应关系,并缓存。
[0045]作为本发明另一优选实施例,Websocket服务器下发完成EPG数据后,退出下发数据线程。
[0046]作为本发明另一优选实施例,Websocket服务器监听Websocket连接是否关闭,当关闭时,则将连接从Websocket连接缓存中清除。
[0047]然而,可以理解的是,在IPTV电视系统中,对于实时数据,也可以采用本发明实施例提供的技术方案,如发起电视节目投票,收视率调查,股票信息,灾害告警信息等数据,都可以采取本发明实施例提供的技术方案。
[0048]请参阅图3,为本发明实施例提供的Websocket服务器的结构。为了便于说明,仅不出了与本发明实施例相关的部分。
[0049]所述Websocket服务器包括:接收模块10、缓存模块20、计算模块30、创建模块40、以及下发模块50。
[0050]接收模块10,用于接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据;
[0051]缓存模块20,用于接收到所述消息后,缓存所述新的EPG数据;
[0052]计算模块30,用于根据预先缓存的EPG数据标识,计算连接总数;
[0053]创建模块40,用于将所述连接分组,并创建分组线程;
[0054]下发模块50,用于通过该分组线程并行向机顶盒浏览器下发新的EPG数据。
[0055]作为本发明一优选实施例,所述Websocket服务器还包括:消息接收模块、判断模块、连接建立模块、关闭模块、关系建立模块。
[0056]消息接收模块,用于接收机顶盒浏览器使用Websocket协议发起的建立Websocket握手请求消息,所述消息携带有机顶盒ID数据和EPG数据标识;其中,机顶盒ID数据可以是MAC地址,其用于标识该机顶盒,EPG数据标识则用于标识机顶盒需要EPG数据;
[0057]判断模块,用于判断所述Websocket握手请求是否符合协议;
[0058]连接建立模块,用于如果符合协议,则建立连接通道;
[0059]关闭模块,用于如果不符合协议,则关闭该连接;
[0060]关系建立模块,用于将与机顶盒成功建立的连接、机顶盒ID数据、以及EPG数据标识建立 对应关系,并缓存。
[0061]作为本发明另一优选实施例,所述Websocket服务器还包括:退出模块。
[0062]退出模块,用于下发完成EPG数据后,退出下发数据线程。
[0063]作为本发明另一优选实施例,所述Websocket服务器还包括:监听模块、清除模块。
[0064]监听模块,用于监听Websocket连接是否关闭;
[0065]清除模块,用于当监听到Websocket连接关闭时,则将连接从Websocket连接缓存中清除。
[0066]综上所述,本发明实施例通过当电子节目信息改变时,由服务器主动推送EPG数据给机顶盒,机顶盒能够实时获取EPG数据。机顶盒不再需要定时循环去Portal服务器中取EPG数据,而是当Portal服务器上EPG数据发生改变时,由Websocket服务器主动推送EPG数据到机顶盒浏览器。从而提高了系统性能,减少了用户等待时间。另外,当EPG数据有更新时,服务器才主动下发数据,减少了服务器的负担。
[0067]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0068]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种电子节目单数据的发布方法,其特征在于,所述方法包括以下步骤: Websocket服务器接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据; Websocket服务器接收到所述消息后,缓存所述新的EPG数据; Websocket服务器根据预先缓存的EPG数据标识,计算连接总数; Websocket服务器将所述连接分组,并创建分组线程; Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据。
2.如权利要求1所述的方法,其特征在于,在所述Websocket服务器接收Portal服务器发送的EPG数据更新通知消息的步骤之前,还包括以下步骤: Websocket服务器接收机顶盒浏览器发起的建立Websocket握手请求消息,所述消息携带有机顶盒ID数据和EPG数据标识; Websocket服务器判断所述Websocket握手请求是否符合协议,如果符合协议,则建立连接通道;如果不符合协议,则关闭该连接; Websocket服务器将与机顶盒成功建立的连接、机顶盒ID数据、以及EPG数据标识建立 对应关系,并缓存。
3.如权利要求1所述的方法,其特征在于,在所述Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据的步骤之后,还包括以下步骤: Websocket服务器下发完成EPG数据后,退出下发数据线程。
4.如权利要求3所述的方法,其特征在于,所述方法还包括: Websocket服务器监听Websocket连接是否关闭,当关闭时,则将连接从Websocket连接缓存中清除。
5.一种电子节目单数据的发布系统,其特征在于,所述系统包括:机顶盒浏览器、Portal服务器、以及Websocket服务器; 当用户进入电子节目菜单时,机顶盒浏览器向Portal服务器发送下载初始EPG数据请求;P0rtal服务器接收到请求后,组织EPG数据和UI,将初始EPG数据和UI下发给机顶盒浏览器,机顶盒浏览器将接收到的EPG数据和UI呈现;机顶盒浏览器与Websocket服务器建立连接,当Portal服务器上的EPG数据改变之后,Portal服务器向Websocket服务器发起EPG数据更新通知,并携带有新的EPG数据;Websocket服务器接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据jebsocket服务器接收到所述消息后,缓存所述新的EPG数据jebsocket服务器根据预先缓存的EPG数据标识,计算连接总数;Websocket服务器将所述连接分组,并创建分组线程;Websocket服务器通过该分组线程并行向机顶盒浏览器下发新的EPG数据,机顶盒浏览器接收完成EPG数据后,将数据更新,展示到界面上。
6.如权利要求5所述的系统,其特征在于, 所述Websocket服务器还用于接收机顶盒浏览器发起的建立Websocket握手请求消息,所述消息携带有机顶盒ID数据和EPG数据标识;Websocket服务器判断所述Websocket握手请求是否符合协议,如果符合协议,则建立连接通道;如果不符合协议,则关闭该连接;Websocket服务器将与机顶盒成功建立的连接、机顶盒ID数据、以及EPG数据标识建立一一对应关系,并缓存。
7.—种Websocket服务器,其特征在于,所述服务器包括: 接收模块,用于接收Portal服务器发送的EPG数据更新通知消息,所述消息携带有新的EPG数据; 缓存模块,用于接收到所述消息后,缓存所述新的EPG数据; 计算模块,用于根据预先缓存的EPG数据标识,计算连接总数; 创建模块,用于将所述连接分组,并创建分组线程; 下发模块,用于通过该分组线程并行向机顶盒浏览器下发新的EPG数据。
8.如权利要求7所述的服务器,其特征在于,所述Websocket服务器还包括: 消息接收模块,用于接收机顶盒浏览器发起的建立Websocket握手请求消息,所述消息携带有机顶盒ID数据和EPG数据标识; 判断模块,用于判断所述Websocket握手请求是否符合协议; 连接建立模块,用于如果符合协议,则建立连接通道; 关闭模块,用于如果不符合协议,则关闭该连接; 关系建立模块,用于将与机顶盒成功建立的连接、机顶盒ID数据、以及EPG数据标识建立对应关系,并缓存。
9.如权利要求7所述的服务器,其特征在于,所述Websocket服务器还包括: 退出模块,用于下发完成EPG数据后,退出下发数据线程。
10.如权利要求9所述的服务器,其特征在于,所述Websocket服务器还包括: 监听模块,用于监听Websocket连接是否关闭; 清除模块,用于当监听到Websocket连接关闭时,则将连接从Websocket连接缓存中清除。
【文档编号】H04N21/235GK103475904SQ201310207428
【公开日】2013年12月25日 申请日期:2013年5月29日 优先权日:2013年5月29日
【发明者】王齐平 申请人:深圳市九洲电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1