建链处理方法、装置及系统与流程

文档序号:11844956阅读:319来源:国知局
建链处理方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及建链处理方法、装置及系统。



背景技术:

用户在电脑的浏览器上在线观看电视剧、电影、学习视频等,不需要额外安装插件,主要是因为这些浏览器都内置Flash插件,此时,在线流媒体服务就是一个以Flash播放器作为客户端,流媒体服务器作为服务端的一个通讯和交互的过程,这是人们常见的流媒体服务形式之一。随着智能手机、智能电视等智能终端的普及,其他形式的流媒体服务也越来越常见。

对于那些免费的,推崇分享的流媒体服务,防盗链可能不会被提及,而对于收费的、隐私的、受限的流媒体服务,如何保护流媒体服务资源不被非法获取却非常重要。

图1是根据相关技术中建链处理的示意图,如图1所示,以流媒体服务真实的服务地址进行建链,适合于Flash与后台交互的流媒体协议(Real Time Messaging Protocol,简称为RTMP)实时消息传送协议,它是为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议,这种协议不会将视频缓冲到电脑本地,能有效保护资源,但如果不采用有效的防盗链机制,链接可能会被非法获取到,获取得到链接还可能被悄悄传播,或不受任何限制地播放,这样一来,将带来不必要的损失。

现有技术中常见的流媒体防盗链有以下几种方案:

(1)地址混淆:可以采用约定的加解密(码)算法,先对真实地址加密,生成一个别人看不懂的串,传给客户端的播放器,然后再在播放器里解密(码)。

(2)在应用系统上作业务控制,比如:某用户还没有付费就看不了视频的列表,付了费就能看到。但播放页面还是能看到(通过网页源码分析)真实的流媒体服务的地址。

(3)对Web上的在线流媒体服务,对访问来源的域名识别:比如是A网站发布的视频,在B网站引用它,就无法播放,判断的是网站来源。

上述的常见的流媒体防盗链技术,都有明显的缺点,表现在只能作简单的防范,对于稍微懂技术的人很容易破解。如:解码算法容易获取,比如将网页加载Flash播放器的swf文件反编译,就能取得解码的算法。只要获取到流媒体的真实地址(比如网络抓包获取到),就能实现无障碍的随时的播放。播放的网页地址只要有一人通过网络散布出来,别人就可以脱离原网页系统,不需要登录,只需要将原网页系统保存为个静态的 网页进行传播观看。对网站域名的访问来源的识别也很容易破解,比如在本地host文件中设置相同的域名,却指向其他网站IP,即能实现观看。

针对相关技术中流媒体服务器与播放器之间的建链方式不能保证用户只能访问有权限的流媒体资源的问题,还未提出有效的解决方案。



技术实现要素:

本发明提供了建链处理方法、装置及系统,以至少解决相关技术中流媒体服务器与播放器之间的建链方式不能保证用户只能访问有权限的流媒体资源的问题。

根据本发明的一个方面,提供了一种建链处理方法,包括:流媒体服务器接收播放器发送的用于请求进行建链的建链请求消息,其中,所述建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;所述流媒体服务器判断所述一次性标识是否合法;在判断结果为是的情况下,所述流媒体服务器根据所述建链请求消息与所述播放器进行建链处理。

进一步地,在所述流媒体服务器接收播放器发送的用于请求进行建链的所述建链请求消息之前,包括:所述流媒体服务器接收网络服务器发送的标识请求消息,其中,所述标识请求消息是所述网络服务器在判断有权限使用所述流媒体资源之后发送的;所述流媒体服务器根据所述标识请求消息生成所述一次性标识。

进一步地,在所述流媒体服务器根据所述标识请求消息生成所述一次性标识之后,所述方法还包括:所述流媒体服务器清理在预定时间之后不使用的一次性标识;或者,所述流媒体服务器销毁使用之后的一次性标识。

进一步地,在所述流媒体服务器根据所述建链请求消息与所述播放器进行建链处理之后,所述方法还包括:所述流媒体服务器向所述播放器提供所述流媒体资源。

根据本发明的另一方面,提供了一种建链处理方法,包括:播放器向流媒体服务器发送用于请求进行建链的建链请求消息,其中,所述建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;在所述流媒体服务器判断所述一次性标识为合法的情况下,所述播放器根据所述建链请求消息与所述流媒体服务器进行建链处理。

进一步地,在所述播放器向发送用于请求进行建链的所述建链请求消息之前,所述方法还包括:所述播放器向网络服务器发送携带有流媒体资源ID的请求消息,其中,所述请求消息用于请求获取所述流媒体资源的播放地址;在所述网络服务器根据所述流媒体资源ID判断有权限使用所述流媒体资源的情况下,所述播放器接收所述网络服务器发送的一次性标识,其中,所述一次性标识是在所述流媒体服务器接收到所述网络服务器发送的标识请求消息之后生成的。

进一步地,所述播放器接收所述流媒体服务器发送的所述一次性标识包括:所述播 放器通过所述网络服务器将所述一次性标识在流媒体资源地址中作为参数的方式接收所述一次性标识。

根据本发明的另一方面,还提供了一种建链处理装置,应用于流媒体服务器,包括:接收模块,用于接收播放器发送的用于请求进行建链的建链请求消息,其中,所述建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;判断模块,用于判断所述一次性标识是否合法;第一建链处理模块,用于在判断结果为是的情况下,根据所述建链请求消息与所述播放器进行建链处理。

根据本发明的另一方面,还提供了一种建链处理装置,应用于播放器,包括:发送模块,用于向流媒体服务器发送用于请求进行建链的建链请求消息,其中,所述建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;第二建链处理模块,用于在所述流媒体服务器判断所述一次性标识为合法的情况下,根据所述建链请求消息与所述流媒体服务器进行建链处理。

根据本发明的再一方面,还提供了一种建链处理系统,包括:播放器,用于向流媒体服务器发送用于请求进行建链的建链请求消息,其中,所述建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;流媒体服务器,用于接收所述播放器发送的用于请求进行建链的建链请求消息;判断所述一次性标识是否合法;在判断结果为是的情况下,根据所述建链请求消息与所述播放器进行建链处理。

进一步地,所述系统还包括:网络服务器,用于接收所述播放器发送的携带有流媒体资源ID的请求消息,其中,所述请求消息用于请求获取所述流媒体资源的播放地址;根据所述流媒体资源ID判断是否有权限使用所述流媒体资源,在判断结果为是的情况下,向所述流媒体服务器发送用于请求生成一次性标识的标识请求消息;接收所述流媒体服务器在接收到所述标识请求消息之后生成的所述一次性标识;将所述一次性标识在流媒体资源地址中作为参数的方式发送给所述播放器。

通过本发明,采用流媒体服务器接收播放器发送的用于请求进行建链的建链请求消息,其中,所述建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;所述流媒体服务器判断所述一次性标识是否合法;在判断结果为是的情况下,所述流媒体服务器根据所述建链请求消息与所述播放器进行建链处理,通过上述方式进行建链,解决了相关技术中流媒体服务器与播放器之间的建链方式不能保证用户只能访问有权限的流媒体资源的问题,使得用户只能访问有权限的流媒体资源。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术中建链处理的示意图;

图2是根据本发明实施例的建链处理方法的流程图一;

图3是根据本发明实施例的建链处理方法的流程图二;

图4是根据本发明实施例的建链处理装置的结构框图一;

图5是根据本发明实施例的建链处理装置的结构框图二;

图6是根据本发明优选实施例的建链处理方法的流程图;

图7是根据本发明优选实施例的验证用户是否有权限的流程图;

图8是根据本发明优选实施例的延时清理过期不使用的票据的流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本实施例中提供了一种建链处理方法,图2是根据本发明实施例的建链处理方法的流程图一,如图2所示,该流程包括如下步骤:

步骤S202,流媒体服务器接收播放器发送的用于请求进行建链的建链请求消息,其中,该建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;

步骤S204,该流媒体服务器判断该一次性标识是否合法;

步骤S206,在判断结果为是的情况下,该流媒体服务器根据该建链请求消息与该播放器进行建链处理。

通过上述步骤,流媒体服务器通过携带有用于在预定时间内获取流媒体资源的一次性标识的建链请求消息与该播放器建链,解决了相关技术中流媒体服务器与播放器之间的建链方式不能保证用户只能访问有权限的流媒体资源的问题,使得用户只能访问有权限的流媒体资源。

媒体服务器通过下述的方式生成该一次性标识,该流媒体服务器接收网络服务器发送的标识请求消息,其中,该标识请求消息是该网络服务器在判断有权限使用该流媒体资源之后发送的;该流媒体服务器根据该标识请求消息生成该一次性标识,需要说明的是,上述的一次性标识的形式可以由多种,例如,可以为“票据(Ticket)”,可以通俗理解为日常生活中的电影票,只能在有效期内能使用,用完后作废,过期无效。

为了保证上述的一次性标识的时效性,在该流媒体服务器根据该标识请求消息生成该一次性标识之后,该流媒体服务器清理在预定时间之后不使用的一次性标识;或者,该流媒体服务器销毁使用之后的一次性标识。例如,流媒体服务器可以“定期清理”已生成的却超期不使用的票据,清理的周期要短,因为正常情况下生成后马上会被使用。 可以是增加定时器,批量清理,比如每隔1分钟清理一次。

进一步地,在该流媒体服务器根据该建链请求消息与该播放器进行建链处理之后,根据完成的建链,该流媒体服务器向该播放器提供该流媒体资源。

本发明实施例还提供了一种建链处理方法,图3是根据本发明实施例的建链处理方法的流程图二,如图3所示,该流程包括如下步骤:

步骤S302,播放器向流媒体服务器发送用于请求进行建链的建链请求消息,其中,该建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;

步骤S304,在该流媒体服务器判断该一次性标识为合法的情况下,该播放器根据该建链请求消息与该流媒体服务器进行建链处理。

播放器可以通过以下的方式获取该一次性标识,在该播放器向发送用于请求进行建链的该建链请求消息之前,该播放器向网络服务器发送携带有流媒体资源ID的请求消息,其中,该请求消息用于请求获取该流媒体资源的播放地址;在该网络服务器根据该流媒体资源ID判断有权限使用该流媒体资源的情况下,该播放器接收该网络服务器发送的一次性标识,其中,该一次性标识是在该流媒体服务器接收到该网络服务器发送的标识请求消息之后生成的。播放器可以接收传入的“后台web服务的地址”参数,并请求这个地址,以获取流媒体服务的真实地址。

在一个可选是实施例中,播放器可以通过该网络服务器将该一次性标识在流媒体资源地址中作为参数的方式接收该一次性标识。

本发明实施例还提供了一种建链处理装置,应用于流媒体服务器,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的建链处理装置的结构框图一,如图4所示,该装置包括:

接收模块42,用于接收播放器发送的用于请求进行建链的建链请求消息,其中,该建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;

判断模块44,用于判断该一次性标识是否合法;

第一建链处理模块46,用于在判断结果为是的情况下,根据该建链请求消息与该播放器进行建链处理。

本发明实施例还提供了一种建链处理装置,应用于播放器,图5是根据本发明实施例的建链处理装置的结构框图二,如图5所示,该装置包括:

发送模块52,用于向流媒体服务器发送用于请求进行建链的建链请求消息,其中, 该建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;

第二建链处理模块54,用于在该流媒体服务器判断该一次性标识为合法的情况下,根据该建链请求消息与该流媒体服务器进行建链处理。

本发明实施例还提供了一种建链处理系统,包括:播放器,用于向流媒体服务器发送用于请求进行建链的建链请求消息,其中,该建链请求消息中携带有用于在预定时间内获取流媒体资源的一次性标识;流媒体服务器,用于接收该播放器发送的用于请求进行建链的建链请求消息;判断该一次性标识是否合法;在判断结果为是的情况下,根据该建链请求消息与该播放器进行建链处理。

在一个可选的实施例中,上述的系统还包括:网络服务器,用于接收该播放器发送的携带有流媒体资源ID的请求消息,其中,该请求消息用于请求获取该流媒体资源的播放地址;根据该流媒体资源ID判断是否有权限使用该流媒体资源,在判断结果为是的情况下,向该流媒体服务器发送用于请求生成一次性标识的标识请求消息;接收该流媒体服务器在接收到该标识请求消息之后生成的该一次性标识;将该一次性标识在流媒体资源地址中作为参数的方式发送给该播放器。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对相关技术中存在的上述问题,下面以一次性标识为“票据”为例,结合具体的可选实施例进行进一步说明,下述可选实施例结合了上述可选实施例及其可选实施方式。

图6是根据本发明优选实施例的建链处理方法的流程图,如图6所示,包括以下步骤:

步骤S602,参数传入载体(如浏览器)向播放器传入“后台web服务的地址”参数,地址中带了流媒体资源ID,如:srcFrom:http://xx.xx.xx.xx/v?id=1234。需要说明的是,常见的传入播放地址是流媒体服务器的真实播放地址,本可选实施例传入的是Web服务地址。

步骤S604,播放器向Web服务器请求http://xx.xx.xx.xx/v?id=1234,获取流媒体真实地址。

步骤S606,Web服务判断用户是否有权限访问此资源。因为流媒体服务器主要的职责还是流媒体点播、直播等,用户的权限主要还是业务的Web系统负责,鉴权交给业务的Web系统来完成。

步骤S607,如果无权限,返回“失败,没有权限”。

步骤S608,如果有权限,继续向流媒体服务器请求票据(Ticket)。因为流媒体最后要验证票据(Ticket),票据(Ticket)生成和验证都交给流媒体服务器,这样更合理和安全。

步骤S610,流媒体服务生成票据(Ticket),并将票据(Ticket)存到流媒体服务器。

步骤S612,流媒体服务器将生成的票据(Ticket)返回给Web服务器。

步骤S614,Web服务器向播放器返回的真实的流媒体服务地址中带ticket参数。比如:rtmp协议的流媒体服务地址为rtmp://a.b.c.d/vod/mp4:sample.mp4?ticket=zzzzz。具体通过资源ID,查到流媒体的存放路径;拼接协议、流媒体服务器IP、端口、存放路径等,并连同参数“票据(Ticket)”一起返回。

步骤S616,播放器和流媒体服务器建链,请求中带票据(Ticket)。

步骤S618,流媒体服务器验证票据(Ticket)是否合法,比如时间是否在有效的范围内。

步骤S619,如果票据(Ticket)非法,拒绝建链。

步骤S620,如果合法,则销毁票据(Ticket),并按正常流程继续交互。票据(Ticket)只能用一次,确保安全。

图7是根据本发明优选实施例的验证用户是否有权限的流程图,如图7所示,是业务Web系统实现的,包括以下步骤:

步骤S702,判断传过来的参数“流媒体资源ID”是否合法,在判断结果为是的情况下,执行步骤S704;

步骤S704,判断参数是否合法,在判断结果为是的情况下,执行步骤S706;在判断结果为否的情况下,执行上述的步骤S607;

步骤S706,从用户会话中获取用户登录ID;

步骤S708,判断当前用户是否有权限访问此流媒体资源,在判断结果为是的情况下,执行步骤S710;需要说明的是,判断当前用户是否有权限访问此流媒体资源,是业务的逻辑,业务根据内部实现自行完成。

步骤S710,判断用户是否有权限访问,在判断结果为是的情况下,执行上述的步骤S608;在判断结果为否的情况下,执行上述的步骤S607。

有一种异常的情况可能会出现,即流媒体服务器创建了票据(Ticket),但超过期限而没有被使用。这种票据(Ticket)要销毁掉。实现方法是:对每次生成的单个票据(Ticket)增加延时监听,比如延时1分钟后,票据(Ticket)还在则立即将其清理。图8是根据本发明优选实施例的延时清理过期不使用的票据的流程图,图8所示,包括以下步骤:

步骤S802,生成票据(Ticket);需要说明的是,流媒体服务器要增加“票据(Ticket)生成”服务,票据(Ticket)生成功能须能通过http的方式请求获得,返回的结果可以是字符串。生成的票据(Ticket)可以保存到内存中。并且,只能供内部系统调用,绝对不能对外提供。为了增强安全,避免被非法调用,可以采用一些措施,比如:将某些Web服务的IP地址列入白名单,判断调用者是否在白名单之列。

步骤S804,创建延时销毁监听器;

步骤S806,启动延时销毁监听器,启动子线程;

步骤S808,休眠,等待设定的时间;

步骤S810,判断票据是否还在,在判断结果为是的情况下,执行步骤S812;

步骤S812,销毁票据(Ticket)。

通过本可选实施例,保证了用户只能访问其有权限的资源。对于商业运营的在线流媒体服务尤为重要。因为发布的流媒体(如视频直播、点播)是常常是受控的,即不是人人都能看的,甚至是需要用户付费后才能观看。有效的防盗链规避风险,带来价值。

对流媒体资源的访问权限交给业务的Web系统去实现,至少有两方面的优势:一、业务系统和流媒体服务器各施其职,既给予业务系统的充分灵活性和可操作性,又能避免流媒体服务业务臃肿;二、安全性进一步增强:流媒体服务常常既没有对用户数据的存储,又没法对用户会话(Session)进行识别与控制,无法判断当前访问流媒体服务的用户是否合法,是否已登录,在线还是已退出,而目前的方案是播放前要请求Web服务获取真实流媒体服务地址,如果此时Web服务识别到用户的登录会话已过期,则返回失败,已最大程度避免Web系统会话已过期,却还能继续访问流媒体服务资源的情况。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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