一种IPTV系统中流媒体的播放方法、EPG服务器及CDN服务器与流程

文档序号:11693439阅读:762来源:国知局
一种IPTV系统中流媒体的播放方法、EPG服务器及CDN服务器与流程

本发明涉及通信技术领域,尤其涉及一种iptv系统中流媒体的播放方法、epg服务器及cdn服务器。



背景技术:

网路协议电视(英文:internetprotocoltelevision,简称:iptv)系统中,通常是在电子节目指南(英文:electronicprogramguide,简称:epgserver,中文:epg服务器)和内容分发网络(英文:contentdeliverynetwork,简称:cdn)服务器之间共享密钥,使用基于高级加密标准(英文:advancedencryptionstandard,缩写:aes)的算法进行加解密。具体的,epg服务器向终端返回包含加密防盗链的统一资源定位符(英文:uniformresourcelocator,简称:url),终端采用包含加密防盗链的url到cdn服务器中请求内容播放,cdn服务器进行url检查,并对url中的加密防盗链进行解密,保证终端用户访问的合法性。为了保证信息的安全性,epg服务器中所采用的对防盗链的加密密钥以及cdn服务器所采用的对防盗链的解密密钥,需要定期更新。

现有技术中通常是网络管理人员进行人工更改epg服务器以及cdn服务器中的密钥,具体的,通常先进行更改cdn服务器中的解密密钥,然后再去更改epg服务器中的加密密钥,从而实现密钥的更新。但是当在cdn服务器中刚更改完解密密钥时,这时若有终端申请视频播放服务,由于epg服务器中还未更改加密密钥,使得epg服务器在加密防盗链时使用旧的加密密钥,而cdn服务器中采用更改后的解密密钥进行解密,使得解密失败,从而出现业务中断,导致视频无法正常播放的问题。



技术实现要素:

本发明的实施例提供一种iptv系统中流媒体的播放方法、epg服务器及cdn服务器,解决了现有技术中在进行密钥更新的过程中出现业务中断所导致无法正常播放的问题。

为达到上述目的,本发明的实施例采用如下技术方案:

本发明实施例的第一方面,提供一种iptv系统中流媒体的播放方法,所述方法包括:

接收密钥更新指令,所述密钥更新指令中包含第一密钥,并存储所述第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,所述第二密钥为在接收所述第一密钥前接收到的密钥;

接收终端发送的流媒体播放请求消息,所述播放请求消息中包含url,所述url中包括加密防盗链信息和密钥版本号;

读取所述url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与所述url中的密钥版本号对应的密钥;

用查找到的密钥对所述url中的加密防盗链信息进行解密;

根据所述防盗链信息向所述终端发送所述终端请求的流媒体文件。

示例性的,所述密钥版本号与密钥间的映射关系存储于密钥信息表中。

示例性的,所述密钥更新指令中还包括第一密钥版本号;或者,

所述方法还包括:根据预先设定的密钥版本号生成算法,生成所述第一密钥对应的第一密钥版本号。

本发明实施例的第二方面,提供另一种iptv系统中的流媒体的播放方法,所述方法包括:

接收终端发送的流媒体播放请求指令,所述播放指令中包括终端的标识;

根据所述播放请求指令中的终端的标识向终端发送回复消息,所述回复消息中包含url,所述url中包括加密防盗链和密钥版本号;以便于终端向cdn服务器发送包含url的流媒体播放请求消息。

本发明实施例的第三方面,提供一种cdn服务器,包括:

接收模块,用于接收密钥更新指令,所述密钥更新指令中包含第一密钥,并存储所述第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,所述第二密钥为在接收所述第一密钥前接收到的密钥;

所述接收模块,还用于接收终端发送的流媒体播放请求消息,所述播放请求消息中包含url,所述url中包括加密防盗链信息和密钥版本号;

读取模块,用于读取所述url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与所述url中的密钥版本号对应的密钥;

解密模块,用于用查找到的密钥对所述url中的加密防盗链信息进行解密;

发送模块,用于根据所述防盗链信息向所述终端发送所述终端请求的流媒体文件。

示例性的,所述密钥版本号与密钥间的映射关系存储于密钥信息表中。

示例性的,所述密钥更新指令中还包括第一密钥版本号。

可选的,所述cdn服务器还包括:

生成模块,用于根据预先设定的密钥版本号生成算法,生成所述第一密钥对应的第一密钥版本号。

本发明实施例的第四方面,提供一种epg服务器,包括:

接收模块,用于接收终端发送的流媒体播放请求指令;

发送模块,用于根据所述播放请求指令向终端发送回复消息,所述回复消息中包含url,所述url中包括加密防盗链和密钥版本号;以便于终端向cdn服务器发送包含url的流媒体播放请求消息。

本发明实施例的第五方面,提供一种iptv系统,包括第三方面所述的cdn服务器和/或第四方面所述的epg服务器。

本发明实施例提供一种iptv系统中的流媒体的播放方法、epg服务器及cdn服务器,首先,cdn服务器接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,第二密钥为在接收所述第一密钥前接收到的密钥;其次,接收终端发送的流媒体播放请求消息,该播放请求消息中包含url,该url中包括加密防盗链信息和密钥版本号;然后,读取url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥;用查找到的密钥对url中的加密防盗链信息进行解密;最后,向终端发送所述终端请求的流媒体文件。

相比于现有技术中,本方案中的cdn服务器通过先接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,该第二密钥为在接收第一密钥前接收到的密钥,这样使得cdn服务器能够根据密钥版本号与密钥间的映射关系查找与终端发送的流媒体播放请求消息中携带的url中的密钥版本号对应的密钥,从而能够去准确解密url中的加密防盗链,使得流媒体文件能够正常播放,保证业务正常进行。从而有效避免了现有技术中在进行密钥更新的过程中出现业务中断所导致无法正常播放的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种iptv系统中流媒体的播放方法的方法流程图;

图2为本发明实施例提供的一种cdn服务器的结构示意图;

图3为本发明实施例提供的一种epg服务器示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。

本发明实施例提供一种iptv系统中流媒体的播放方法,如图1所示,该方法包括:

101、cdn服务器接收密钥更新指令,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,第二密钥为在接收第一密钥前接收到的密钥。

其中,上述的密钥更新指令中包含第一密钥。

示例性的,上述的更新指令是除了终端以及epg服务器的其他任何设备发送的,例如,可以是网络管理系统中的网络管理服务器发送的。

示例性的,上述的第二密钥为在接收第一密钥前接收到的密钥,可以理解为,第二密钥为旧密钥,而第一密钥为新密钥。上述cdn服务器存储第一密钥与第一密钥版本号间的映射关系时,并不将第二密钥与第二密钥版本号间的映射关系删除或用第一密钥与第一密钥版本号间的映射关系替换掉第二密钥与第二密钥版本号间的映射关系,即在cdn服务器中同时存在第一密钥与第一密钥版本号间的映射关系以及第二密钥与第二密钥版本号间的映射关系。

可选的,为了最终得第一密钥与第一密钥版本号间的映射关系,在上述的步骤101之前,该方法还包括以下内容:

101a、根据预先设定的密钥版本号生成算法,生成第一密钥对应的第一密钥版本号。

可选的,上述的密钥更新指令中还包括第一密钥版本号。cdn服务器在接收到的更新指令中,直接获取第一密钥以及与该第一密钥对应的版本号,并无需进行任何算法或其他方式,直接存储第一密钥与第一密钥版本号间的映射关系。

102、终端向epg服务器发送流媒体播放请求指令。

示例性的,上述的播放请求指令中包括:用户登录业务帐号以及终端的标识。上述的流媒体包括但不限于:音频、视频或多媒体文件。

103、epg服务器向终端返回包含加密防盗链和密钥版本号的url。

示例性的,上述的加密防盗链是epg采用加密算法以及加密密钥对防盗链进行加密得到的。这里的加密算法包括但不限于:数据加密标准des(英文:dataencryptionstandard,简称:des)算法、基于des的对称算法(英文:tripledes,简称:3des)以及国际数据加密算法(英文:internationaldataencryptionalgorithm,简称:idea)。

示例性的,以点播业务为例,而点播业务的url以rtsp协议为例,现有技术中的iptv系统中的url的格式如下:

rtsp://host/cmsid/physicalcontentid?authinfo=authinfovalue&domain=domainvalue&parameter1=value1&parameter2=value2…

为了解决背景技术中所提出的技术问题,本申请中的url格式参照以下内容:

rtsp://host/cmsid/physicalcontentid?authinfo=authinfovalue&domain=domainvalue&keyverison=value1&parameter2=value2…

其中,authinfo=authinfovalue为防盗链信息,keyversion为密钥版本号。这里的防盗链信息中包括:用户的id、终端的ip地址、内容唯一标识、时间戳以及校验级别等。其中,对于用户的id当需要对用户进行身份认证,则在用户登录后,获取其用户的id字符串;如系统不要求用户进行身份认证,则用户的id为默认固定值0xfffff0;终端的ip地址为用户访问系统源ip地址,格式为ipv4地址的32位二进制值,或ipv6地址的128位二进制值;而内容唯一标识用于防止用户对实际点播内容进行篡改;为系统向用户授权播放时的时间戳,为从1970年1月1日0时开始的秒数的十六进制字符串格式;校验级别为0时,表示需要进行时间戳校验,“1”表示不需要对时间戳进行校验,用于iptv直播、时移播放中无法动态请求url获取时间戳的情形。

104、终端向cdn服务器发送流媒体播放请求消息。

其中,上述的播放请求消息中包含url,该url中包括加密防盗链信息和密钥版本号。

105、cdn服务器读取url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥。

更新后时,终端发送的消息中的url中的keyversion=2,cdn服务器进行url检查时,读取密钥版本号2,根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥,例如查找后的密钥为2。

可选的,上述的密钥版本号与密钥间的映射关系存储于密钥信息表中。示例性的,在该密钥信息表中可以按照密钥版本号的顺序依次进行存储密钥版本号与密钥间的映射关系。

示例性的,以上述的url格式为例,其中:url中的keyversion为密钥版本号,这里进行举例说明选取密钥的过程。

更新前,终端发送的消息中的url中的keyversion=1,cdn服务器进行url检查时,读取密钥版本号1,根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥,例如查找后的密钥为1。

更新后,终端发送的消息中的url中的keyversion=2,cdn服务器进行url检查时,读取密钥版本号2,根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥,例如查找后的密钥为2。或者,

更新后,终端发送的消息中的url中的keyversion=3,cdn服务器进行url检查时,读取密钥版本号3,根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥,例如查找后的密钥为3。

需要说明的是,这里仅仅列举了三个例子,可能在后续的更新过程中还会出现更多的版本号,这里仅以示例进行说明,并不进行限定。

106、cdn服务器用查找到的密钥对url中的加密防盗链信息进行解密。

示例性的,这里的解密过程为:cdn服务器基于与上述的加密过程中的相同的加密算法以及查找到的密钥(例如,上文举例得到的密钥1或2或3)对加密防盗链进行解密。

107、cdn服务器根据防盗链信息向终端发送终端请求的流媒体文件。

示例性的,在解密过程结束后,cdn服务器根据解密后的防盗链信息中的终端的ip地址,向该ip地址的终端发送终端请求的流媒体文件。若上述终端发送的流媒体播放请求是视频的播放请求,则这里cdn服务器回复的是视频文件;若上述终端发送的流媒体播放请求是音频的播放请求,则这里cdn服务器回复的是音频文件。

本发明实施例提供一种iptv系统中的流媒体的播放方法,首先,cdn服务器接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,第二密钥为在接收所述第一密钥前接收到的密钥;其次,接收终端发送的流媒体播放请求消息,该播放请求消息中包含url,该url中包括加密防盗链信息和密钥版本号;然后,读取url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥;用查找到的密钥对url中的加密防盗链信息进行解密;最后,向终端发送所述终端请求的流媒体文件。

相比于现有技术中,本方案中的cdn服务器通过先接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,该第二密钥为在接收第一密钥前接收到的密钥,这样使得cdn服务器能够根据密钥版本号与密钥间的映射关系查找与终端发送的流媒体播放请求消息中携带的url中的密钥版本号对应的密钥,从而能够去准确解密url中的加密防盗链,使得流媒体文件能够正常播放,保证业务正常进行。从而有效避免了现有技术中在进行密钥更新的过程中出现业务中断所导致无法正常播放的问题。

下面将基于图1对应的iptv系统中流媒体的播放方法的实施例中的相关描述对本发明实施例提供的一种cdn服务器进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例,这里不再赘述。

本发明实施例提供一种cdn服务器,如图2所示,该cdn服务器2包括:接收模块21、读取模块22、解密模块23以及发送模块24,其中:

接收模块21,用于接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,该第二密钥为在接收所述第一密钥前接收到的密钥。

上述的接收模块21,还用于接收终端发送的流媒体播放请求消息,该播放请求消息中包含url,该url中包括加密防盗链信息和密钥版本号。

读取模块22,用于读取url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥。

解密模块23,用于用查找到的密钥对url中的加密防盗链信息进行解密。

发送模块24,用于向终端发送终端请求的流媒体文件。

示例性的,上述的防盗链信息中包括:用户的id、终端的ip地址、内容唯一标识、时间戳以及校验级别等。其中,对于用户的id当需要对用户进行身份认证,则在用户登录后,获取其用户的id字符串;如系统不要求用户进行身份认证,则用户的id为默认固定值0xfffff0;终端的ip地址为用户访问系统源ip地址,格式为ipv4地址的32位二进制值,或ipv6地址的128位二进制值;而内容唯一标识用于防止用户对实际点播内容进行篡改;为系统向用户授权播放时的时间戳,为从1970年1月1日0时开始的秒数的十六进制字符串格式;校验级别为0时,表示需要进行时间戳校验,“1”表示不需要对时间戳进行校验,用于iptv直播、时移播放中无法动态请求url获取时间戳的情形。

示例性的,上述的密钥版本号与密钥间的映射关系存储于密钥信息表中。

示例性的,上述的密钥更新指令中还包括第一密钥版本号。

可选的,如图2所示,上述的cdn服务器还包括:

生成模块,用于根据预先设定的密钥版本号生成算法,生成第一密钥对应的第一密钥版本号。

本发明实施例提供一种cdn服务器,首先,cdn服务器接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,第二密钥为在接收所述第一密钥前接收到的密钥;其次,接收终端发送的流媒体播放请求消息,该播放请求消息中包含url,该url中包括加密防盗链信息和密钥版本号;然后,读取url中的密钥版本号,并根据存储的密钥版本号与密钥间的映射关系查找与url中的密钥版本号对应的密钥;用查找到的密钥对url中的加密防盗链信息进行解密;最后,向终端发送所述终端请求的流媒体文件。

相比于现有技术中,本方案中的cdn服务器通过先接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,该第二密钥为在接收第一密钥前接收到的密钥,这样使得cdn服务器能够根据密钥版本号与密钥间的映射关系查找与终端发送的流媒体播放请求消息中携带的url中的密钥版本号对应的密钥,从而能够去准确解密url中的加密防盗链,使得流媒体文件能够正常播放,保证业务正常进行。从而有效避免了现有技术中在进行密钥更新的过程中出现业务中断所导致无法正常播放的问题。

下面将基于图1对应的iptv系统中流媒体的播放方法的实施例中的相关描述对本发明实施例提供的一种epg服务器进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例,这里不再赘述。

本发明实施例提供一种epg服务器,如图3所示,该epg服务器3包括:接收模块31以及发送模块32,其中:

接收模块31,用于接收终端发送的流媒体播放请求指令。

发送模块32,用于根据播放请求指令向终端发送回复消息,该回复消息中包含url,该url中包括加密防盗链和密钥版本号;以便于终端向cdn服务器发送包含url的流媒体播放请求消息。

本发明实施例提供一种iptv系统,包括上文所述的cdn服务器和/或上文所述的epg服务器。

示例性的,上述的iptv系统包括三种情况,其一为:该iptv系统包括上文所述的cdn服务器;其二为:该iptv系统包括上文所述的epg服务器;其三为:该iptv系统包括上文所述的cdn服务器和上文所述的epg服务器。

相比于现有技术中,本方案中的cdn服务器通过先接收密钥更新指令,该密钥更新指令中包含第一密钥,并存储第一密钥与第一密钥版本号间的映射关系,且保留第二密钥与第二密钥版本号间的映射关系,该第二密钥为在接收第一密钥前接收到的密钥,这样使得cdn服务器能够根据密钥版本号与密钥间的映射关系查找与终端发送的流媒体播放请求消息中携带的url中的密钥版本号对应的密钥,从而能够去准确解密url中的加密防盗链,使得流媒体文件能够正常播放,保证业务正常进行。从而有效避免了现有技术中在进行密钥更新的过程中出现业务中断所导致无法正常播放的问题。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的epg服务器以及cdn服务器,可以通过其它的方式实现。例如,以上所描述的cdn服务器的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1