一种流媒体投放系统及方法与流程

文档序号:11996268阅读:187来源:国知局
一种流媒体投放系统及方法与流程
本发明属于流媒体领域,尤其是涉及一种流媒体投放系统及方法。

背景技术:
当前的流媒体领域,流媒体投放系统是由播放器与远程网络服务器交互实现的。即通过网页浏览器(主要)内嵌的播放器,或电脑操作系统下其它客户端(如itudou/爱奇艺)内嵌播放器,或移动通讯设备终端(如ipad、iphone、htc)内嵌的播放器,发起http请求,该请求携带流媒体信息(包含流媒体ID、流媒体时长、流媒体类型)、cookie、用户信息(包含用户ID、用户IP、用户当天访问时长),通过网络传到远程网络服务器,使用该请求信息构造参数处理器,服务器通过不同的请求,返回不同的流媒体。每种流媒体类型的请求,服务器端都有唯一对应的响应器(例如前贴响应器、中插响应器、暂停响应器、角标响应器、页面响应器),处理相应的请求。因此响应器一般有五到八个(见附图1)。但是,这些响应器集合,是与唯一播放器内核对应的,而随着网络的快速发展,以及移动客户端近年飞速普及,出现了各种流媒体播放环境,导致流媒体投放环境也多种多样,单一的播放器内核,以及对应的响应器集合,已无法满足各种客户端的流媒体播放、流媒体投放需求。按照现有的技术实现方式,不同的播放器内核,需要不同的响应器集合。即出现一种新播放器内核,需要重新开发一套流媒体投放响应器,成本消耗巨大,很可能因为播放器版本的切换或下线,导致产出价值大大降低。因此该实现方式的投入、产出比,是非常低的。随着各种客户端、播放器的差异化趋势呈上升趋势,响应器的开发人员将非常被动,开发任务越来越繁重。因此一种灵活的服务器响应策略,用较低的开发成本,即可适应、兼容各种播放器、流媒体投放环境的不同需求,是非常必要的。流媒体系统适配器,正是为解决这个问题,设计出的一种方案,它以同一套响应器为基础,通过适配器的开发,实现多个播放器、流媒体投放环境的不同需求,适配器的开发成本相对一套新的响应器集合,是非常低的。且灵活性非常强,每出现一种新的播放器内核,或流媒体投放环境,修改适配器即可实现兼容。见(附图2)。

技术实现要素:
本发明提供了一种流媒体投放系统,该系统包括用于发起流媒体请求的播放器、用于存储请求信息的参数处理器,对流媒体请求进行响应的前贴响应器、中插响应器、暂停响应器、角标响应器、页面响应器,其特征在于该系统为新的播放器配置对应的适配器,所述适配器包括:适配器响应器,用于根据转换后的请求参数获取流媒体素材并对流媒体素材信息进行拼装整合,播放器接口协议的XML转换;适配器转换器,用于获取播放器请求信息并使用参数处理器RequestParams进行存储,并用于将参数处理器RequestParams中存储的信息转换为原系统请求参数并存储在上述参数处理器中;参数处理器RequestParams,用于存储播放器请求携带的信息。进一步,适配器转换器的转换包括:根据参数间的映射关系,将含义相同的值对应起来,新参数的值通过修改参数处理器RequestParams进行存储。进一步,适配器响应器包括获取素材模块以及协议拼装模块,获取素材模块用于将转换后的请求数据传给投放引擎,根据不同素材类型,传给投放引擎的不同模块以进行素材的调取;返回给适配器响应器的为素材列表,该素材列表包含新的播放器所需的全部类型素材,所述协议拼装模块用于拼装整合流媒体素材信息。进一步,适配器响应器在返回流媒体素材信息给播放器后,将释放资源。本发明还提供了一种流媒体投放方法,其特征在于:步骤(1)播放器发起流媒体请求;步骤(2)适配器转换器获取播放器请求信息并使用参数处理器RequestParams进行存储,并用于将参数处理器RequestParams中存储的信息转换为原系统请求参数并存储在参数处理器中;步骤(3)适配器响应器根据转换后的请求参数获取流媒体素材并对流媒体素材信息进行拼装整合;步骤(4)适配器与播放器接口协议之间进行XML转换以便将流媒体素材信息传送给播放器。进一步,步骤(2)中所述适配器转换器的转换包括:根据参数间的映射关系,将含义相同的值对应起来,新参数的值通过修改参数处理器RequestParams进行存储。进一步,步骤(3)中所述适配器响应器的获取进一步包括其中的获取素材模块用于将转换后的请求数据传给投放引擎,根据不同素材类型,传给投放引擎的不同模块以进行素材的调取;所述拼装整合包括返回给适配器响应器的为素材列表,该素材列表包含新的播放器所需的全部类型素材,其中的协议拼装模块用于拼装整合流媒体素材信息。进一步,该方法包括:适配器响应器在返回流媒体素材信息给播放器后,将释放资源。附图说明图1为现有的流媒体投放系统的结构图。图2为根据本发明的流媒体投放系统的结构图。图3是根据本发明方法的流程图。图4是根据本发明的基础数据示意图。图5是根据本发明的适配器的结构图。图6是根据本发明的适配器响应器的结构图。具体实施方式以下结合附图和具体实施例对本发明作进一步说明。本发明为一种流媒体投放系统及方法,通过该发明增加流媒体系统的兼容性,降低播放器与投放引擎间的重耦合,使播放器与投放引擎间的通信更灵活。系统的概要流程如图3所示,播放器发起流媒体请求,携带流媒体信息、cookie、用户信息,如:流媒体ID——itemID、用户ID——userID。适配器响应器Servlet收到请求后,传给适配器转换器Parser。适配器转换器Parser解析请求参数,用所有请求信息构造参数处理器RequestParams(存储了流媒体ID、用户ID等播放器请求中有价值信息,并且该参数处理器RequestParams非真正的物理器件,该处理器为内存中一个对象,对象有自己的数据结构,有自己的属性,属性个数不限。请求信息分别存入RequestParams的属性里。)。适配器转换器Parser拿到构造好的参数处理器RequestParams,原系统请求参数如:流媒体ID——sid、用户ID——uid,适配器Parser实现参数的转换,itemID转为sid,userID转为uid(转换是为了构造现有的参数处理器,这样投放引擎不需更改接口,即可识别。),构造现有的参数处理器,返回给适配器Servlet。适配器响应器Servlet向投放引擎获取流媒体素材。拿到素材后,适配器响应器Servlet将整理素材信息。因为返回给播放器的协议与现有的协议不同,适配器响应器Servlet按照协议,将播放器所需数据通过字符串进行拼装,将素材信息拼装成新协议的格式,返回给播放器。每种适配器只是实现一对一协议的拼装。适配器结构如图5所示,包括了适配器响应器Servlet、适配器转换器Parser,参数处理器RequestParams。适配器响应器(Servlet)内部还包括两个模块,如图6所示,包括了获取素材模块和协议拼装模块。适配器中的各部件描述如下:1)参数处理器RequestParams:功能:存储播放器请求携带的全部信息,含用户信息、页面信息、流媒体信息等。属性:与播放器请求协议中参数对应。参数处理器RequestParams仅有存储功能,构造值从无到有的过程。初始状态是空的,没有存储任何信息,构造即存储的过程。2)适配器转换器Parser:功能:转换参数处理器RequestParams存储的信息,向投放引擎核心参数列表转化,屏蔽不同播放器请求带来的信息差异性,为核心对象。属性:request:请求信息;response:适配器返回信息。方法:get*()对播放器请求信息,进行筛选。*是使用了正则表达式的概念,get*()是多个方法的统称,如getUnionId——获取联盟id方法,实现了联盟id的Base64解密;getIP——获取用户IP方法,实现了从多次路由转发中获取源IP功能。通过这些方法适配器转换器Parser能够获取播放器请求信息。perform()实现请求信息转换功能。perform()从参数处理器RequestParams拿到存储的数据,按照值的含义,转换数据格式,存入现有的参数处理器。如果不转换,投放引擎则无法识别,需再做一个差异化的投放引擎,开发成本巨大。参考图3,不同播放器请求,所谓不同即协议不同,具体有两种情况:一是参数名称不同,二是参数列表不同(如新参数,或缺失某些参数),适配器转换器Parser根据参数间的映射关系,将含义相同的值对应起来,新参数的值通过修改参数处理器RequestParams,进行存储。屏蔽不同播放器请求带来的信息差异化就是这样实现的。例如:现有播放器参数ABC,新播放器参数ABD,对于新参数D,可映射至参数C,存入C的空间。如果新播放器参数为ABCD,则需要修改现有的参数处理器RequestParams,增加参数D。3)适配器响应器Servlet:功能:实现了适配器的主要功能,并扮演总体调度、把控的角色。使用process()实现了参数处理器RequestParams的调用,流媒体素材的获取,流媒体素材信息的拼装整合,播放器接口协议的XML转换。如图2,现有的流媒体投放系统,是不同响应器返回不同素材,而在本发明中则返回给适配器为素材列表(是素材信息列表,每个素材信息包含一个素材地址)!该素材列表包含新的播放器所需的全部类型素材,如播放器甲仅投放前贴、暂停、角标,适配器响应器Servlet中的协议拼装模块将一次返回3种流媒体素材进行拼装整合。获取素材模块用于获取流媒体素材,数据集合包括:1)prerollIdeas:前贴流媒体素材集合。2)postrollIdeas:后贴流媒体素材集合。3)cornerIdeas:角标流媒体素材集合。4)pauseIdeas:暂停流媒体素材集合。5)minibannerIdeas:minibanner微流媒体栏素材集合。存储在适配器响应器Servlet内,返回流媒体素材信息给播放器后,将释放资源。集合中基础数据的各个字段如图4所示,其中,adIdea:流媒体素材对象。存储流媒体素材全部信息。cp:投放N+统计信息。showTimes:用户已观看次数。iesParam:第三方检测参数。pl:前贴中表示前贴位置,其它类型中无意义,构造时默认为0,只能在后来设置,口播时固定为1,口播为一种流媒体形式,贴片流媒体的一种。但最后播放。adPos:流媒体位置(即流媒体在流媒体播放过程中,展现的顺序位置),用于数据团队统计。首先,适配器响应器中获取素材模块将转换后的协议数据传给投放引擎,根据不同素材类型,传给投放引擎的不同模块以进行素材的调取。投放引擎中有多个模块对应多种流媒体类型,每种流媒体类型有一个素材列表获取模块。流媒体类型包括前贴、暂停、角标等等。例如,某播放器仅请求前贴流媒体,那么适配器在构造现有参数处理器RequestParams后,将其传给投放引擎的前贴素材列表获取模块,即返回对应的素材列表。将返回的流媒体素材信息存储在各个Ideas里。以土豆站内播放器为例,获取前贴、后贴、角标、暂停、minibanner素材集合,由于土豆站内播放器不支持中插,因此适配器中的获取素材模块,略过中插素材。土豆站内播放器的minbanner,需要与前贴剥离开来,因此适配器对前贴素材prerollIdeas进行特殊处理。遍历prerollIdeas,获取绑定minibanner的素材A。将素材A转换成minibanner类型,加入到minibanner素材集合。以土豆播放器为例进行对接口协议的XML转换的流程简介如下:适配器响应器拿到的素材数据格式,播放器是不能直接识别的,如前贴素材,需要按照协议转换为ads节点(XML文本中的一种节点类型),素材ID为97256需转为节点属性id,流媒体时长30秒需转为节点属性dt,最终转换为播放器能够识别的XML文本。根据本发明的技术方案获得的技术效果如下:本发明技术方案以极大的灵活性,极低的开发成本、维护成本,满足日益增多的播放器内核、流媒体投放环境需求。每增加一种播放器内核,或增加一种流媒体投放环境,仅需修改流媒体系统适配器,增加1~2个类文件,即可实现相应的流媒体投放功能。降低了开发成本。以上所述仅为本发明的较佳实施例,并不用于限制本发明创造,凡在本发明创造精神和原则之内所做的任何修改、等同替换和改进等,均包含于本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1