CN104602047A - Epg数据的分享方法、服务器、终端及系统 - Google Patents
Epg数据的分享方法、服务器、终端及系统 Download PDFInfo
- Publication number
- CN104602047A CN104602047A CN201410739771.2A CN201410739771A CN104602047A CN 104602047 A CN104602047 A CN 104602047A CN 201410739771 A CN201410739771 A CN 201410739771A CN 104602047 A CN104602047 A CN 104602047A
- Authority
- CN
- China
- Prior art keywords
- terminal
- epg data
- server
- request
- list
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了EPG数据分享方法、服务器、终端及系统,涉及通信领域,用以在不需要提高服务器性能的基础上,提高EPG数据的分享效率。在本发明实施例中,服务器接收终端发起的用于获取EPG数据的第一请求;服务器根据第一请求所请求的EPG数据,判断是否存在已下载完成EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至终端,否则,将第一请求所请求的EPG数据携带在第一响应消息中发送给终端,并在接收到终端返回的下载完成消息后,将终端添加到对应的终端列表中;从而解决了上述问题。
Description
技术领域
本发明涉及通信领域,尤其涉及EPG数据分享方法、服务器、终端及系统。
背景技术
据统计,EPG(Electronic Program Guide)已逐渐成为数字电视中一个发展迅速的业务。EPG的主要作用就是提供给用户菜单,以便用户从菜单中选择喜欢的频道、点播喜欢的视频节目以及订购喜欢的节目等。
目前,EPG数据下载一般采用单一服务器模式,即:电视终端通过访问统一的服务器获取电视节目菜单EPG信息,而且电视终端对EPG数据的获取具有时间集中的特性,举例来说:由于电视台或者网络电视台会在每周的前期将本周的全部电视节目预告表公开,电视终端在获取到本周的全部电视节目预告表之后,只需要在电视节目预告表发生变化时对该表进行数据量较小的更新即可。由此可以得出,电视终端获取数据量较大的电视节目预告表的时间主要集中每周的前期(例如,每周前1-2天),后续数据更新数据量是很小的,所占用的带宽也不大。
现有技术中,当接入服务器的电视终端数量相当大且这些电视终端在每周的前期集中获取服务器上的资源时,由于服务器的带宽等性能的限制,电视终端可能不能快速地获取到资源,这个时候一般会根据每周的前期的服务器访问量,通过扩展服务器的带宽等手段来提高服务器的性能。
但是,发明人发现,在每周的后期(例如,每周的第3-7天),电视终端对服务器上的资源获取量急剧下降,根据每周的前期的服务器访问量,通过扩展服务器的带宽等手段提高服务器的性能后,在每周的后期不能充分利用服务器的带宽,导致对服务器带宽的使用率不均衡。
发明内容
本发明实施例提供EPG数据分享方法、服务器、终端及系统,用以在不需要提高服务器性能的基础上,提高EPG数据的分享效率。
本发明实施例提供一种电子节目菜单EPG数据分享方法,该方法包括:
服务器接收终端发起的用于获取EPG数据的第一请求;
所述服务器根据所述第一请求所请求的EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,以指示所述终端向所述终端列表中的任意终端请求所述EPG数据,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;否则,将所述第一请求所请求的EPG数据携带在第一响应消息中发送给所述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中。
本发明实施例还提供一种服务器,该服务器用于执行上述电子节目菜单EPG数据分享方法。
本发明实施例还提供一种电子节目菜单EPG数据分享方法,该方法包括:
终端向服务器发送用于获取EPG数据的第一请求;
所述终端接收并解析所述服务器返回的第一响应消息,判断所述第一响应消息中携带的信息类型,若所述第一响应消息中携带的信息为终端列表,则向所述终端列表中的任意终端请求所述EPG数据,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;若所述第一响应消息中携带的信息为EPG数据,则下载所述EPG数据并在下载完成后向所述服务器返回下载完成消息,并在其它终端向自身请求所述EPG数据时将所述EPG数据发送给该终端。
本发明实施例还提供一种终端,该终端用于执行上述电子节目菜单EPG数据分享方法。
本发明实施例还提供一种EPG数据分享系统,该系统包括:
服务器,用于接收终端发起的用于获取EPG数据的第一请求;根据所述第一请求所请求EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;否则,将所述第一请求所请求的EPG数据携带在第一响应消息中发送给所述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中;
所述终端,用于向服务器发送用于获取EPG数据的第一请求;接收并解析所述服务器返回的第一响应消息,判断所述第一响应消息中携带的信息类型,若所述第一响应消息中携带的信息为终端列表,则向所述终端列表中的任意终端请求所述EPG数据;若所述第一响应消息中携带的信息为EPG数据,则下载所述EPG数据并在下载完成后向所述服务器返回下载完成消息,并在其它终端向自身请求所述EPG数据时将所述EPG数据发送给该终端。
从上述技术方案可以看出,本发明实施例提供一种电子节目菜单EPG数据分享方法,对于任一终端向服务器所请求获取的EPG数据,服务器首先判断是否存在已下载完成该EPG数据的终端,当存在有已下载完成该EPG数据的终端时,指示该终端向已下载完成该EPG数据的其他终端发起请求;当不存在已下载完成该EPG数据的其他终端时,由服务器向该终端发送此EPG数据,并由服务器将该终端的地址添加到对应的终端列表中,用以在其他的终端向服务器发起获取该EPG数据请求时,能够指示其他终端通过端对端的方式发起EPG数据分享请求。可见,本发明实施例不仅能够建立终端到服务器的链接,还能建立终端到终端的链接,从而增加了一种EPG数据传输的方式,并通过新增的端对端传输方式,减轻了服务器的负荷,有效降低了服务器带宽压力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的网络架构的结构示意图;
图2为本发明实施例提供的服务器分享EPG数据的流程示意图;
图3为本发明实施例提供的终端分享EPG数据的流程示意图;
图4为本发明实施例提供的EPG数据分享过程的流程示意图;
图5为本发明实施例提供的基于区域的EPG数据分享过程的流程示意图;
图6为本发明实施例提供的服务器的结构示意图;
图7为本发明实施例提供的终端的结构示意图;
图8为本发明实施例提供的EPG数据分享系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以应用于由一个服务器和多个终端组成的网络架构中,图1示出了本发明实施例提供的网络架构的结构示意图,如图1所示,其中,服务器11可以为EPG服务器,终端12可以为电视终端、具有电视播放功能的移动终端等等。
本发明实施例主要用于解决终端数据获取受制于服务器负载的问题,目前的终端(以智能电视终端为主)为了提供更好的用户体验,一般都有第三方提供的数据支撑,特别的,针对于EPG数据的时间集中性和地域集中性,本发明实施例能够提供一种新型的EPG数据分享及传输方案。例如,处于相同区域的终端A和终端B需要从服务器获取的EPG数据是相同的,那么不需要终端A和终端B分别从服务器获取EPG数据,而是由任一终端(以终端A为例)先从服务器获取到EPG数据,并由终端A将该EPG数据通过端对端的方式传输给终端B,从而减轻了服务器的负荷,提高了EPG数据的分享效率。
本发明实施例对于加快EPG数据分享与传输具有重要的意义。EPG数据是由地方广电提供的,用于辅助用户根据自己喜好,合理分配时间,制定合理的电视观看计划的电子节目菜单。EPG在导向用户观看中,起着举足轻重的作用,但是目前,EPG数据获取主要依赖网络和码流,码流具有频率选择性,而网络环境下,又具有服务器依赖性,因此,随着电视端的上线,势必导致服务端负载过大,用户体验随负载增大呈现反比下降的趋势。本发明实施例可以采用P2P(Peer to Peer,对等网络)技术,将每个电视端在作为数据接收端的同时,也可以作为数据发布端,使得电视端互相分享EPG数据,有效降低了服务器带宽压力。
图2示出了本发明实施例提供的服务器分享EPG数据的流程示意图,如图2所示,该方法包括:
步骤21:服务器接收终端发起的用于获取EPG数据的第一请求。
步骤22:服务器根据上述第一请求所请求EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,以指示上述终端向上述终端列表中的任意终端请求上述EPG数据,上述终端列表中包括具备分享上述EPG数据能力的全部或部分终端的地址信息;否则,将上述第一请求所请求的EPG数据携带在第一响应消息中发送给上述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中。
可选的,在上述步骤21中,上述第一请求中还携带有上述终端所属区域的标识;在上述步骤22之前,上述服务器根据上述第一请求中携带的上述终端所属区域的标识,确定与上述终端属于相同区域的全部终端;判断与上述终端属于相同区域的全部终端中,是否存在已下载完成所述EPG数据的终端;将包含已下载完成所述EPG数据、且与上述终端属于相同区域的所有终端的地址信息的终端列表携带在第一响应消息中发送至上述终端。可选的,在上述步骤中,当保存在上述服务器上的EPG数据失效时,删除所述终端列表中已下载完成所述EPG数据的终端的记录。
图3示出了本发明实施例提供的终端分享EPG数据的流程示意图,如图3所示,该方法包括:
步骤31:终端向服务器发送用于获取EPG数据的第一请求。
步骤32:终端接收并解析上述服务器返回的第一响应消息,判断上述第一响应消息中携带的信息类型,若上述第一响应消息中携带的信息为终端列表,则向上述终端列表中的任意终端请求上述EPG数据,上述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;若上述第一响应消息中携带的信息为EPG数据,则保存上述EPG数据并在其它终端向自身请求上述EPG数据时将上述EPG数据发送给该终端。
可选的,在上述步骤32中,上述终端根据上述终端列表中的任意终端的地址信息,向该终端发送P2P链路建立请求,并在接收到该终端返回的确认消息后建立与该终端的P2P链路;上述终端通过已建立的P2P链路发送用于获取上述EPG数据的第二请求,并接收该终端通过已建立的P2P链路返回的携带有上述EPG数据的第二响应消息。
可选的,在上述步骤32中,上述终端还将上述终端所属区域的标识携带在上述第一请求中,以指示上述服务器将包含有已下载完成所述EPG数据、且与上述终端属于相同区域的所有终端的地址信息的终端列表携带在第一响应消息中发送至上述终端。
从上述方案可以看出,在服务器带宽一定的前提下,随着智能电视终端不断投入市场,智能电视上线量不断增加,每一台电视终端都需要一定的网络带宽,当电视终端数目达到临界值之后,电视终端数量继续增加,服务端的网络带宽终将无法满足电视终端需求。在实际环境下,电视台具有地域局部性,即一个广电地区内的电视台是几乎完全一样的,因此,当同一地区内的某一台电视终端完成下载EPG数据后,它可以将自己升级为数据分享者,为同一区域内的其他电视分享EPG数据。当同一地区的多个电视终端都具备分享能力后,即从服务器获取了足够的EPG数据,本地区的剩余电视终端就可以从参与分享的电视终端获取EPG数据,服务器只提供最基本的分享电视端查询即可,因此服务器的压力就会大大减小,且不会随着电视端的增加而增大。
可见,本发明实施例能够结合EPG数据的地域集中性和时间集中性特性,通过P2P技术,将首先获取EPG数据的电视端,同时作为EPG数据的数据分享端,有效降低服务器带宽压力,适应智能电视市场规模不断增长的趋势,在不增加服务端成本的条件下,有效满足大量智能电视终端对于EPG的数据的带宽需求。
下面对本发明实施例进行详细描述。
本发明实施例以服务器为EPG服务器、终端为电视端为例,对EPG数据分享及传输过程进行说明。图4示出了本发明实施例提供的EPG数据分享过程的流程示意图,如图4所示,该过程可以包括:
步骤41:初始化EPG接口,并定义EPG数据的格式。
具体实现时,本发明实施例中的服务器至少提供一个用于提供EPG数据下载的EPG接口,电视端可以通过有线或无线的方式通过服务器的EPG接口与服务器相连。本发明实施例分别将服务器和电视端上的EPG数据的格式定位为以每天每个为单位,生成一个静态数据文件,这样,服务器上保存的EPG数据至少是由若干个EPG数据文件的集合,电视端所请求的EPG数据可以是上述EPG数据文件的集合中的一个或多个。需要说明的是,由服务器获取、更新上述EPG数据文件的集合中的每一个EPG数据;而电视端可以一次性请求多个EPG数据,或只请求一个EPG数据。
步骤42:当电视端需要向服务器请求EPG数据时,由电视端生成用于获取EPG数据的第一请求,并将第一请求发送至服务器。
具体实现时,第一请求中可以携带电视端想要获取的EPG数据的标识信息,也可以携带电视端的标识信息。
步骤43:服务器接收电视端发起的用于获取EPG数据的第一请求,并解析得到第一请求所请求的EPG数据。
步骤44:由服务器判断是否存在已下载完成所述EPG数据的终端,若是,则执行步骤45,否则,执行步骤46。
步骤45:当存在已下载完成所述EPG数据的终端时,服务器将终端列表携带在第一响应消息中发送至上述电视端。
其中,终端列表中可以至少包括:已下载完成所述EPG数据的全部或部分电视端的地址信息。
具体实现时,当服务器确定有一定量的已下载完成所述EPG数据的电视端时,服务端将不直接返回EPG数据,而是返回一组已下载完成所述EPG数据的电视端地址,以使电视端得到分享地址后,要转移到分享地址来下载EPG数据。
举例来说,对于已下载完成所述EPG数据的全部N个电视端,所述服务器按照均衡算法原则优先选取所述全部电视端中的处于空闲状态的I个电视端,并将所述I个电视端的地址信息添加到所述终端列表中;所述I<N,且I和N均为正整数;或者
对于已下载完成所述EPG数据的且处于在线状态的全部n个电视端,所述服务器按照均衡算法原则优先选取所述全部电视端中的处于空闲状态的i个电视端,并将所述i个电视端的地址信息添加到所述终端列表中;所述i<n,且i和n均为正整数;或者
所述服务器将已下载完成所述EPG数据的全部电视端添加到所述终端列表中。
可选的,服务器下发分享终端地址列表可以是根据一套均衡的算法计算得到的终端列表,如对于第一个请求EPG数据的终端,服务器下发全部已下载完成所述EPG数据的终端中的前20个,对于第二个请求EPG数据的终端,服务器下发全部已下载完成所述EPG数据的终端中的另外的20个,避免对终端访问过于集中,下发地址数目是应该通过统计来估算的,原则上保证95%以上概率成功。同时,如果电视端从提供的所有地址下载都不成功,可向服务器上报的P2P连接失败消息,服务器接收到电视端上报的P2P连接失败消息之后,重新生成终端列表,并将重新生成后的终端列表携带在重试消息中发送至电视端,电视端可以向重新生成后的终端列表中的任意终端请求EPG数据。
需要说明的是,执行上述步骤45之后,服务器不再执行步骤46,而是执行步骤47。
步骤46:当存在已下载完成所述EPG数据的时,服务器将上述第一请求所请求的EPG数据携带在第一响应消息中发送给上述电视端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中。
具体实现时,电视端从服务器下载EPG数据,当下载完成后,该电视端向服务器返回下载完成消息,之后服务器将该电视端确定已下载完成所述EPG数据的终端;当下载失败,该电视端可以再次向服务器发起第一请求。
从上述步骤45和上述步骤46可以看出,在本发明实施例中,服务器至少提供了2种EPG数据下载的功能,其中,一种为通过直接返回电视端所请求的EPG数据的方式(如上述步骤46所描述的方案),另一种为通过向电视端返回其他能够分享该EPG数据的电视端地址的方式(如上述步骤45所描述的方案)。特别的,当通过向电视端返回其他已下载完成所述EPG数据的电视端地址的方式时,服务器将自身的分享功能转移到其它电视端上,以使越来越多的电视端完成下载所述EPG数据,当仍有电视端向服务器请求获取该EPG数据时,服务器不必利用自身的带宽资源为该电视端传输EPG数据,而是指示该电视端向其它存在已下载完成所述EPG数据的电视端索取EPG数据,从而减轻了服务器的负荷,有效降低了服务器带宽压力。
需要说明的是,执行上述步骤46之后,继续执行步骤47。
步骤47:电视端接收并解析上述服务器返回的第一响应消息,判断上述第一响应消息中携带的信息类型,若上述第一响应消息中携带的信息为终端列表,则执行步骤48;若上述第一响应消息中携带的信息为EPG数据,则执行步骤49。
具体实现时,在本发明实施例中的电视端在接收到服务器返回的第一响应消息后,需要先对第一响应消息进行解析或过滤,判断第一响应消息中携带的信息类型是服务器返回的终端列表还是服务器返回的EPG数据。
步骤48:若上述第一响应消息中携带的信息为终端列表,电视端向上述终端列表中的任意电视端请求上述EPG数据。
具体实现时,上述电视端根据上述终端列表中的任意电视端的地址信息,向该电视端发送P2P链路建立请求,并在接收到该电视端返回的确认消息后建立与该电视端的P2P链路;上述电视端通过已建立的P2P链路发送用于获取上述EPG数据的第二请求,并接收该电视端通过已建立的P2P链路返回的携带有上述EPG数据的第二响应消息。
步骤49:若上述第一响应消息中携带的信息为EPG数据,则电视端保存上述EPG数据并在其它电视端向自身请求上述EPG数据时将上述EPG数据发送给该电视端。
具体实现时,电视端下载并存储第一响应消息中携带的EPG数据;当完成下载时,电视端向服务器注册,声明为可提供数据分享的电视端;同时,服务器将该电视端确定为已注册且具备分享上述EPG数据的能力的电视端。
具体的,电视端可以主要包括3个接口,第一个接口实现电视端本机向服务器端的注册,将本地网络服务ID,注册到服务器,使得其他电视端可以通过服务器查询到本机的服务地址。第二个接口实现本地分享内容的缩略图发布,即本地分享的Channel集合,其他电视端可通过本接口,获取本地所有的文件列表,即Channel集合。第三个接口实现数据文件的并发下载,对同一个文件可以支持多个客户端同时下载。
从上述步骤48和上述步骤49可以看出,在本发明实施例中,电视端至少提供了2种EPG数据获取的功能,其中,一种为从服务器获取EPG数据的方式(如上述步骤49所描述的方案),另一种为从其它已下载完成所述EPG数据的电视端获取该EPG数据的方式(如上述步骤48所描述的方案)。特别的,当电视端已下载完成所述EPG数据的能力时,此时可以认为该电视端承担了服务器的一部分分享EPG数据的责任,也就是说,该电视端将自身升级未EPG数据的分享者,而不仅仅是下载者或索取者,当越来越多的电视端成为EPG数据的分享者,这些电视端即可为服务器分担下载负荷,从而减轻了服务器的负荷,有效降低了服务器带宽压力。
作为本发明的另一实施例,本发明实施例仍以服务器为EPG服务器、电视端为电视端为例,对EPG数据分享及传输过程进行说明。图5示出了本发明实施例提供的基于区域的EPG数据分享过程的流程示意图,如图5所示,该过程可以包括:
步骤51:本发明实施例中的步骤51与上述步骤41完全一致,这里不再赘述。
步骤52:当电视端需要向服务器请求EPG数据时,由电视端生成用于获取EPG数据的第一请求,并将第一请求发送至服务器。
具体实现时,第一请求中至少携带了电视端所请求的EPG数据的标识信息和电视端所属地域标识。
步骤53:服务器接收电视端发起的用于获取EPG数据的第一请求,并解析得到第一请求所请求的EPG数据,以及上述电视端所属地域。
具体实现时,在实际环境下,电视台具有地域局部性,即一个广电地区内的电视台是几乎完全一样的,因此,当同一地区内的某一台电视端完成下载EPG数据后,它可以将自己升级为数据分享者,为同一区域内的其他电视分享EPG数据。也就是说,在本发明实施例中,服务器可以增加一个以电视端所属地域为搜索条件,从而减少了服务器的搜索范围,进一步的降低了服务器的负荷。
步骤54:由服务器判断在该电视端所属区域中,是否存在已下载完成所述EPG数据的终端,若是,则执行步骤55,否则,执行步骤56。
步骤55:当在该电视端所属区域中,存在已下载完成所述EPG数据的电视端时,服务器将终端列表携带在第一响应消息中发送至上述电视端。
具体的,在本发明实施例中,终端列表中包括在该电视端所属区域范围内,所有存在已下载完成所述EPG数据的电视端的地址信息。
步骤56:当在该电视端所属区域中,存在已下载完成所述EPG数据的终端时,服务器将上述第一请求所请求的EPG数据携带在第一响应消息中发送给上述电视端,并将上述电视端确定为在该电视端所属区域中,将所述终端添加到对应的终端列表中。
步骤57~步骤59与上述步骤47~步骤49完全相同,这里不再赘述。
可见,当同一地区内的某一台电视端完成下载EPG数据后,它可以将自己升级为数据分享者,为同一区域内的其他电视分享EPG数据。当同一地区的多个电视端都已下载完成所述EPG数据后,即从服务器获取了足够的EPG数据,本地区的剩余电视端就可以从参与分享的电视端获取EPG数据,服务器只提供最基本的分享电视端查询即可,因此服务器的压力就会大大减小,且不会随着电视端的增加而增大。
这样,本发明实施例可以通过应用P2P技术实现端到端的EPG数据传输的方式,加快电视客户端EPG数据获取速度,有效降低服务器负载压力,实现电视端数量与服务器带宽的解耦合,极大降低系统成本,满足当前日益增长的智能电视部署需要。
基于相同的技术构思,本发明实施例还提供一种服务器,图6示出了本发明实施例提供的服务器的结构示意图,如图6所示,该服务器可以包括:
请求单元61,用于服务器接收终端发起的用于获取EPG数据的第一请求;
下载单元62,用于根据所述第一请求所请求的EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,以指示所述终端向所述终端列表中的任意终端请求所述EPG数据,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;否则,将所述第一请求所请求的EPG数据携带在第一响应消息中发送给所述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中。
可选的,所述第一请求中还携带有所述终端所属区域的标识;所述下载单元62还用于:根据所述第一请求中携带的所述终端所属区域的标识,确定与所述终端属于相同区域的全部终端;判断与所述终端属于相同区域的全部终端中,是否存在已下载完成所述EPG数据的终端;将包含已下载完成所述EPG数据、且与所述终端属于相同区域的全部或部分终端的地址信息的终端列表携带在第一响应消息中发送至所述终端。
可选的,该服务器还包括:终端列表生成单元,用于对于已下载完成所述EPG数据的全部N个终端,按照均衡算法原则优先选取所述全部终端中的处于空闲状态的I个终端,并将所述I个终端的地址信息添加到所述终端列表中;所述I<N,且I和N均为正整数;或者,对于已下载完成所述EPG数据且处于在线状态的全部n个终端,按照均衡算法原则优先选取所述全部终端中的处于空闲状态的i个终端,并将所述i个终端的地址信息添加到所述终端列表中;所述i<n,且i和n均为正整数;或者,将已下载完成所述EPG数据的全部终端添加到所述终端列表中。
可选的,所述下载单元62还用于:若所述服务器接收到所述终端上报的P2P连接失败消息,则重新生成终端列表,并将携带有重新生成的终端列表的重试消息发送至所述终端。
可选的,所述终端列表生成单元还用于:当保存在所述服务器上的EPG数据失效时,删除所述终端列表中已下载完成所述EPG数据的终端的记录。
基于相同的技术构思,本发明实施例还提供一种终端,图7示出了本发明实施例提供的终端的结构示意图,如图7所示,该终端可以包括:
第一请求发送单元71,用于向服务器发送用于获取EPG数据的第一请求;
数据请求单元72,用于接收并解析所述服务器返回的第一响应消息,判断所述第一响应消息中携带的信息类型,若所述第一响应消息中携带的信息为终端列表,则向所述终端列表中的任意终端请求所述EPG数据,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;若所述第一响应消息中携带的信息为EPG数据,则下载所述EPG数据并在下载完成后向所述服务器返回下载完成消息,并在其它终端向自身请求所述EPG数据时将所述EPG数据发送给该终端。
可选的,所述数据请求单元72具体用于:根据所述终端列表中的任意终端的地址信息,向该终端发送P2P链路建立请求,并在接收到该终端返回的确认消息后建立与该终端的P2P链路;通过已建立的P2P链路发送用于获取所述EPG数据的第二请求,并接收该终端通过已建立的P2P链路返回的携带有所述EPG数据的第二响应消息。
可选的,所述数据请求单元72还用于:若请求所述EPG数据失败,则所述终端向所述服务器上报P2P连接失败消息,以指示所述服务器下发重新生成的终端列表并向所述重新生成的终端列表中的任意终端请求所述EPG数据。
可选的,所述第一请求发送单元71还用于:将所述终端所属区域的标识携带在所述第一请求中,以指示所述服务器将包含已下载完成所述EPG数据、且与所述终端属于相同区域的所有或部分终端的地址信息的终端列表携带在第一响应消息中发送至所述终端。
基于相同的技术构思,本发明实施例还提供一种EPG数据分享系统,图8示出了本发明实施例提供的EPG数据分享系统的结构示意图,如图8所示,该系统可以包括:
服务器81,用于接收终端发起的用于获取EPG数据的第一请求;根据所述第一请求所请求EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;否则,将所述第一请求所请求的EPG数据携带在第一响应消息中发送给所述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中;
所述终端82,用于向服务器发送用于获取EPG数据的第一请求;接收并解析所述服务器返回的第一响应消息,判断所述第一响应消息中携带的信息类型,若所述第一响应消息中携带的信息为终端列表,则向所述终端列表中的任意终端请求所述EPG数据;若所述第一响应消息中携带的信息为EPG数据,则下载所述EPG数据并在下载完成后向所述服务器返回下载完成消息,并在其它终端向自身请求所述EPG数据时将所述EPG数据发送给该终端。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种电子节目菜单EPG数据的分享方法,其特征在于,该方法包括:
服务器接收终端发起的用于获取EPG数据的第一请求;
所述服务器根据所述第一请求所请求的EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,以指示所述终端向所述终端列表中的任意终端请求所述EPG数据,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;否则,将所述第一请求所请求的EPG数据携带在第一响应消息中发送给所述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中。
2.如权利要求1所述的方法,其特征在于,所述第一请求中还携带有所述终端所属区域的标识;在判断是否存在已下载完成所述EPG数据的终端之前,进一步包括:
所述服务器根据所述第一请求中携带的所述终端所属区域的标识,确定与所述终端属于相同区域的全部终端;
所述判断是否存在已下载完成所述EPG数据的终端,具体包括:
判断与所述终端属于相同区域的全部终端中,是否存在已下载完成所述EPG数据的终端;
所述将终端列表携带在第一响应消息中发送至所述终端,具体包括:
将包含已下载完成所述EPG数据、且与所述终端属于相同区域的全部或部分终端的地址信息的终端列表携带在第一响应消息中发送至所述终端。
3.如权利要求1所述的方法,其特征在于,所述服务器通过如下步骤生成终端列表:
对于已下载完成所述EPG数据的全部N个终端,所述服务器按照均衡算法原则优先选取所述全部终端中的处于空闲状态的I个终端,并将所述I个终端的地址信息添加到所述终端列表中;所述I<N,且I和N均为正整数;或者
对于已下载完成所述EPG数据且处于在线状态的全部n个终端,所述服务器按照均衡算法原则优先选取所述全部终端中的处于空闲状态的i个终端,并将所述i个终端的地址信息添加到所述终端列表中;所述i<n,且i和n均为正整数;或者
所述服务器将已下载完成所述EPG数据的全部终端添加到所述终端列表中。
4.如权利要求3所述的方法,其特征在于,在将终端列表携带在第一响应消息中发送至所述终端之后,该方法还包括:
若所述服务器接收到所述终端上报的P2P连接失败消息,则重新生成终端列表,并将携带有重新生成的终端列表的重试消息发送至所述终端。
5.如权利要求1-4中任一所述的方法,其特征在于,该方法还包括:
当保存在所述服务器上的EPG数据失效时,删除所述终端列表中已下载完成所述EPG数据的终端的记录。
6.一种电子节目菜单EPG数据分享方法,其特征在于,该方法包括:
终端向服务器发送用于获取EPG数据的第一请求;
所述终端接收并解析所述服务器返回的第一响应消息,判断所述第一响应消息中携带的信息类型,若所述第一响应消息中携带的信息为终端列表,则向所述终端列表中的任意终端请求所述EPG数据,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;若所述第一响应消息中携带的信息为EPG数据,则下载所述EPG数据并在下载完成后向所述服务器返回下载完成消息,并在其它终端向自身请求所述EPG数据时将所述EPG数据发送给该终端。
7.如权利要求6所述的方法,其特征在于,所述向所述终端列表中的任意终端请求所述EPG数据,具体包括:
所述终端根据所述终端列表中的任意终端的地址信息,向该终端发送P2P链路建立请求,并在接收到该终端返回的确认消息后建立与该终端的P2P链路;
所述终端通过已建立的P2P链路发送用于获取所述EPG数据的第二请求,并接收该终端通过已建立的P2P链路返回的携带有所述EPG数据的第二响应消息。
8.如权利要求7所述的方法,其特征在于,在向所述终端列表中的任意终端请求所述EPG数据之后,该方法还包括:
若请求所述EPG数据失败,则所述终端向所述服务器上报P2P连接失败消息,以指示所述服务器下发重新生成的终端列表并向所述重新生成的终端列表中的任意终端请求所述EPG数据。
9.如权利要求6-8中任一项所述的方法,其特征在于,该方法还包括:
所述终端还将所述终端所属区域的标识携带在所述第一请求中,以指示所述服务器将包含已下载完成所述EPG数据、且与所述终端属于相同区域的所有或部分终端的地址信息的终端列表携带在第一响应消息中发送至所述终端。
10.一种服务器,其特征在于,该服务器用于执行权利要求1-5中任一项所述的方法。
11.一种终端,其特征在于,该终端用于执行权利要求6-9中任一项所述的方法。
12.一种EPG数据分享系统,其特征在于,该系统包括:
服务器,用于接收终端发起的用于获取EPG数据的第一请求;根据所述第一请求所请求EPG数据,判断是否存在已下载完成所述EPG数据的终端,若是,则将携带有终端列表的第一响应消息发送至所述终端,所述终端列表中包括已下载完成所述EPG数据的全部或部分终端的地址信息;否则,将所述第一请求所请求的EPG数据携带在第一响应消息中发送给所述终端,并在接收到所述终端返回的下载完成消息后,将所述终端添加到对应的终端列表中;
所述终端,用于向服务器发送用于获取EPG数据的第一请求;接收并解析所述服务器返回的第一响应消息,判断所述第一响应消息中携带的信息类型,若所述第一响应消息中携带的信息为终端列表,则向所述终端列表中的任意终端请求所述EPG数据;若所述第一响应消息中携带的信息为EPG数据,则下载所述EPG数据并在下载完成后向所述服务器返回下载完成消息,并在其它终端向自身请求所述EPG数据时将所述EPG数据发送给该终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410739771.2A CN104602047B (zh) | 2014-12-05 | 2014-12-05 | Epg数据的分享方法、服务器、终端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410739771.2A CN104602047B (zh) | 2014-12-05 | 2014-12-05 | Epg数据的分享方法、服务器、终端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104602047A true CN104602047A (zh) | 2015-05-06 |
CN104602047B CN104602047B (zh) | 2019-01-15 |
Family
ID=53127482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410739771.2A Active CN104602047B (zh) | 2014-12-05 | 2014-12-05 | Epg数据的分享方法、服务器、终端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104602047B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106973037A (zh) * | 2017-02-16 | 2017-07-21 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
CN108848141A (zh) * | 2018-05-31 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种服务器数据访问的响应方法以及相关方法和相关装置 |
CN113271261A (zh) * | 2021-05-19 | 2021-08-17 | 深圳爱特天翔科技有限公司 | 数据分发方法、终端设备以及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852099A (zh) * | 2005-07-11 | 2006-10-25 | 华为技术有限公司 | 一种终端下载共享数据的方法及系统 |
CN1859105A (zh) * | 2005-10-25 | 2006-11-08 | 华为技术有限公司 | 一种点对点网络中数字内容的共享方法 |
CN101001312A (zh) * | 2006-01-09 | 2007-07-18 | 上海金士林数码科技有限公司 | 一种支持点对点技术的网络电视(iptv)机顶盒 |
CN101094387A (zh) * | 2006-06-19 | 2007-12-26 | 北京北大方正电子有限公司 | 一种网络内容传输控制系统和方法 |
CN101267531A (zh) * | 2008-03-31 | 2008-09-17 | 深圳创维数字技术股份有限公司 | 一种交互式网络电视系统及实现方法 |
US20080287058A1 (en) * | 2007-05-18 | 2008-11-20 | Samsung Electronics Co., Ltd. | System and method for peer-to-peer datacasting in a broadcasting network |
CN102130801A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 数据传输方法及系统 |
CN102594901A (zh) * | 2012-02-29 | 2012-07-18 | 深圳创维-Rgb电子有限公司 | 一种电视机数据下载的方法、系统、电视机及服务器 |
CN104702980A (zh) * | 2015-02-28 | 2015-06-10 | 青岛海信传媒网络技术有限公司 | 一种epg数据处理方法、epg服务器及epg数据处理系统 |
-
2014
- 2014-12-05 CN CN201410739771.2A patent/CN104602047B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852099A (zh) * | 2005-07-11 | 2006-10-25 | 华为技术有限公司 | 一种终端下载共享数据的方法及系统 |
CN1859105A (zh) * | 2005-10-25 | 2006-11-08 | 华为技术有限公司 | 一种点对点网络中数字内容的共享方法 |
CN101001312A (zh) * | 2006-01-09 | 2007-07-18 | 上海金士林数码科技有限公司 | 一种支持点对点技术的网络电视(iptv)机顶盒 |
CN101094387A (zh) * | 2006-06-19 | 2007-12-26 | 北京北大方正电子有限公司 | 一种网络内容传输控制系统和方法 |
US20080287058A1 (en) * | 2007-05-18 | 2008-11-20 | Samsung Electronics Co., Ltd. | System and method for peer-to-peer datacasting in a broadcasting network |
CN101267531A (zh) * | 2008-03-31 | 2008-09-17 | 深圳创维数字技术股份有限公司 | 一种交互式网络电视系统及实现方法 |
CN102130801A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 数据传输方法及系统 |
CN102594901A (zh) * | 2012-02-29 | 2012-07-18 | 深圳创维-Rgb电子有限公司 | 一种电视机数据下载的方法、系统、电视机及服务器 |
CN104702980A (zh) * | 2015-02-28 | 2015-06-10 | 青岛海信传媒网络技术有限公司 | 一种epg数据处理方法、epg服务器及epg数据处理系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106973037A (zh) * | 2017-02-16 | 2017-07-21 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
CN106973037B (zh) * | 2017-02-16 | 2018-09-04 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
CN108848141A (zh) * | 2018-05-31 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种服务器数据访问的响应方法以及相关方法和相关装置 |
CN113271261A (zh) * | 2021-05-19 | 2021-08-17 | 深圳爱特天翔科技有限公司 | 数据分发方法、终端设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104602047B (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6941679B2 (ja) | ネットワークスライス選択方法、ユーザ機器、及びネットワーク装置 | |
CN107566786B (zh) | 一种获取监控视频的方法、装置及终端设备 | |
CN102970362B (zh) | 一种云端数据共享的方法及装置 | |
WO2017028779A1 (zh) | 物联网协议转换功能的配置方法、装置、非易失性计算机存储介质和电子设备 | |
CN103731451A (zh) | 一种文件上传的方法及系统 | |
CN105812435B (zh) | 应用升级数据包处理方法、装置、电子设备及系统 | |
CN102546775B (zh) | 一种cdn中的节点及其自组网方法 | |
CN108737500B (zh) | 目标资源获取、提供方法、装置、存储介质与计算机设备 | |
CN103024081B (zh) | 适用于有时效保证通讯系统的点对点通讯的终端调度方法 | |
CN103731487A (zh) | 一种资源文件的下载方法、装置、系统及路由器 | |
CN109982152B (zh) | P2p cdn业务处理方法、智能网关以及cdn平台 | |
WO2012151993A1 (zh) | 业务推送方法和装置 | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN103685496A (zh) | 一种文件数据的传输方法和设备 | |
US11909840B2 (en) | Resource subscription method, device, and storage medium | |
CN104717527A (zh) | 一种视频传输方法及装置 | |
CN104243266A (zh) | 访问网络的方法及装置 | |
CN112422634B (zh) | 一种基于互联网的跨网段分布式调度方法和系统 | |
CN102594883A (zh) | 业务运行方式的确定方法及系统 | |
CN104602047A (zh) | Epg数据的分享方法、服务器、终端及系统 | |
CN101163230A (zh) | 通过网络摄像机进行现场直播及客户端节点调配方法 | |
CN104702634A (zh) | 数据操作请求处理方法、装置及系统 | |
CN105656978A (zh) | 一种资源共享方法及装置 | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
US8924474B2 (en) | Device and method for controlling dissemination of data by transfer of sets of instructions between peers having wireless communication capacities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |