1、华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 1 页, 共 30 页华为与大洋媒资系统接口说明书(V2)拟制: 华为,中科大洋 日期: 2008-10-14审核: 日期:审核: 日期:批准: 日期:2008 年 11 月华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 2 页, 共 30 页修订记录日期 修订版本CR号 修改章节修改描述 作者2008-10-14 1.0 初稿 初稿完成 朱小荣2008-10-24 1.1 讨论稿 与大洋崔玉祥讨论后, 作如下修改:1. VOD删除的ADI描述中, 如果在段中出现
2、VERB=”DELETE” 标记,也认为是删除操作。2. 修改BMS向媒资系统的通知接口3. 修改搜索字段中的分隔符,有“;”修改为“,”4. 删除BMS下载海报失败,向媒资返回失败的描述,主要原因是影片也属于资产,但注入失败时没有相同的处理,所以海报下载失败不通知,由人工保证。朱小荣2008-10-31 增加约束:1. 由于目前BMS和大洋约定节目只能全部删除,所以Verb=”DELETE”只有出现在package中才认为是删除; 出现在其它的Asset段中认为操作错误.2. 修改大洋中的状态描述”下载成功”改为”注入成功” .3. 删除WebPublish中的notifyTo字段,约定大洋
3、媒资公司的Provider_ID必须为“”,BMS根据此标记配置通知地址,作此变更的原因主要是考虑升级处理,否则现网局点中无法得到Provider_ID,将无法进行升级。4. BMS必须保证媒资提供数据的完整性,因此BMS中不能修改节目的片花、海报、以及注入格式等信息。朱小荣2008-11-7 1. 调整Asset_ID的长度为40位, 且其取值范围修改为“字母、数字和_”。不要求是ADI规范中的前4个字母,后16位数字2. BMS删除动作Verb=”DELETE”的处理忽略大小写要求。朱小荣华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 3 页, 共
4、 30 页日期 修订版本CR号 修改章节修改描述 作者2008-11-25 1. 接受以前所作的修改2. 修改了Creation_Date和ProduceDate的取值格式说明3. 将Provider字段在Title段中依然保留,但是修改了该字段的名称及含义,名称修改为“VODProvider”,第二语种字段为“VODProvider_FG”,表示影片的提供商,对于普通影片和子集而言,该字段可以任意填写,而对于广告而言,字段表示谁是广告主。4. 在Title段中增加“License_Window_Start”和“License_Window_End”两个字段5. 在Title段中增加“Prop
5、agation_Priority”字段,表示VOD的推荐星级,目前不处理6. 全文修改isRecommend的字段命名,首字母用大写表示。7. 修改NewFlag和IsRecommend 两个字段的取值范围,原来使用1和0来表示是和否,修改为用Y 和 N来表示。8. 增加对Content Value的取值约束,限制为字母、数字、半角“-”和半角“.”。朱小荣2009-02-25 修改Title段中“Propagation_Priority”字段的描述信息温健2011-4-27 合入吉林ADI需求修改,增加父集和内容与栏目自动绑定胡子付2011-4-27 Provider_IDAsset_ID增
6、加对“_”的限制增加返回码0x05ff0006胡子付华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 4 页, 共 30 页日期 修订版本CR号 修改章节修改描述 作者2011-05-31 将DirectorName、DirectorName_FG、Actors_Display 、Actors_Display_FG 最大长度修改为128胡子付.华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 5 页, 共 30 页华为与大洋媒资系统接口说明书( V2)关键词:BMS、VOD、EPG摘 要:本文详细描述了华为BMS
7、系统与大洋媒资系统接口,包括对接方式和接口说明。缩略语清单:缩略语 英文全名 中文解释VOD Video On Demand 视频点播BMS Business Management System 业务管理系统EPG Electronic Program Guide 电子节目指南华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 6 页, 共 30 页目录修订记录 21 简介 62 接口说明 .62.1 接口约束 62.1.1 增加 VOD 节目 .102.1.2 修改节目信息 11112.1.3 删除 VOD 节目 .12122.2 数据类型说明 .131
8、32.2.1 ADI 描述文件说明 .13132.2.2 AMS 描述参数说明 .13132.3 接口参数说明 .1920192.3.1 创建节目元数据的取值约束 20202.3.2 删除 VOD 节目元数据的取值约束 .22222.3.3 修改节目信息元数据的取值约束 .22223 附录 23233.1 系统升级兼容性考虑 23233.1.1 现有局点的状况 2324233.1.2 升级处理 .24243.2 BMS 系统返回值说明 .24243.3 接口的 WSDL 定义 .25253.3.1 媒资通知 BMS 的 SOAP 接口 .25251. 接口原型 .25252. SOAP 定义
9、.26263.3.2 BMS 通知媒资系统的 SOAP 接口 .26261. 接口原型 .26261) BMS 通知媒资下载完成 26262) BMS 删除 VOD 后,通知媒资修改节目状态 .27272. SOAP 定义 .27273.3.3 ADI 描述文件样例 .2727华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 7 页, 共 30 页华为 BMS 与大洋媒资系统消息接口1 简介华为 BMS 与大洋媒资系统的接口遵循 ADI 1.1 规范,资产数据(元数据 XML、正片、片花、海报等)采用 FTP 方式传输,系统间消息采用 WebServic
10、e 方式进行通信。2 接口说明2.1 接口约束 本文中如果不作特殊说明,则时间采用 24 小时制。 所有的字符必须是 UTF-8 格式,对于中文,一个汉字以 3 个字节计算,对接时请注意;其他语种也需要字节问题。 本文中如果不作特殊说明,默认规则为:返回消息中,如果操作成功则返回为 0,其它整数表示错误原因,具体可以参考 3.1BMS 系统返回值说明。 为保证消息处理正确,媒资应该将资产文件、描述文件都上载到 FTP 服务器上之后,再向 BMS 系统发送消息。 为描述方便,媒资中节目的状态定义如下: 未发布:媒资中新生成的节目默认都是这个状态,该状态用于提示操作员这是一个全新的节目。 发布成功
11、:VOD 系统已经提交下载请求并且成功将节目元数据写入到 VOD 系统,当节目处于该状态后,媒资修改节目元数据时都必须同步通知 VOD 系统。 注入成功:VOD 系统已经成功注入了节目的元数据和节目资产,当节目处于该状态时,媒资修改节目元数据必须同步通知 VOD 系统 已下架:VOD 系统自行删除了注入成功的节目,该状态与“未发布”类似,主要作用是通知工作人员该节目已经在 VOD 系统注入过了。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 8 页, 共 30 页上上上上上上上上BMS上ADI上上上上BMS上上上上上上上BMS上上上上上上上, 上注:以
12、上四种状态可以通过媒资软件实时修改。 BMS 系统对 ADI 描述文档中的字段作严格校验,如果 BMS 遇到字段校验不通过则立即向媒资系统返回失败,并提供详细的失败原因;媒资操作员在媒资系统中查询时,展示相关失败原因并作适当处理。 ADI 描述文件中,如果是创建节目,则某些标记为 “M”的字段必须提供,具体可以参见后文的描述(2.3.1 创建节目元数据的取值约束);如果是修改节目元数据,则媒资应将需要修改的字段及其取值传入(未传入的字段 BMS 将认为不需要修改;传入了字段名但取值为空时,BMS 认为是清空取值),对于标记为 R的字段 BMS 将忽略其取值。 从媒资系统过来的 ADI 描述文件
13、只包括一个节目的描述信息,BMS 根据 Provider_ID和 package 的 Asset_ID 来检索一个节目,并以此作为外键(下文统一以外键来指代该联合索引);其余 ADI 的 Asset 的外键用 Prover_ID 与各自的 Asset_ID 联合表示并存储在 BMS 系统中,因此媒资必须保证 Provider_ID 与各个 Asset_ID 组成的键值全局唯一。 BMS 系统分析 ADI 文档:如果根据外键不能在 BMS 系统中索引到节目,且 package的 Asset 没有被标记 Verb=”DELETE”(大小写不敏感,后文不再描述),则认为本次是新增节目。 媒资系统通知
14、 VOD 系统创建节目时,描述文件中必须至少包含一个“movie”型的 Asset,否则 BMS 认为创建非法。 BMS 系统分析 ADI 文档:根据外键在 BMS 中能够索引到节目,并且 ADI 描述文件中 package 的 Asset 标记了动作 Verb=”DELETE”,则认为本次操作是删除节目。Comment z1: 需要双方统一口径并引导局方。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 9页, 共 30页 媒资系统通知 VOD系统创建节目时,描述文件中除连续剧父集无需要“Movie”型的 Asset外,其它类型必须至少包含一个“mov
15、ie”型的 Asset,否则 BMS认为创建非法。 创建节目元数据是一个事务,更新子父集绑定关系和更新栏目发布关系这两个处理不在同一个事务中,即使后两步处理失败了,也不影响创建元数据。 修改节目元数据是一个事务,更新子父集绑定关系和更新栏目发布关系这两个处理不在同一个事务中,即使后两步处理失败了,也不影响修改元数据。 只能对 VOD和父集更新栏目发布关系,只能对子集更新子父集关系 创建 VOD或连续剧子集时,设置展示域和分发域为所有运营域,不需要配置项配置,从大洋过来的 VOD会默认给他配置展示域和分发域为所有运营域 创建 VOD或连续剧子集时, BMS通过“维护 VOD默认服务”页面设置所需
16、要添加的服务,如果存在服务,那么展示域对应的服务即为设置的默认服务,如果服务不存在,展示域信息表中不存在数据。 BMS与大洋媒资约定不能进行节目中单个资产的修改,如果在除 package类型外的 Asset中出现了 Verb动作且取值不为空字符串则 BMS认为不支持该操作,向媒资返回失败。 如果 BMS根据外键不能在内部查找到对应节目,即媒资要求 BMS删除一个不存在的节目,BMS 也认为操作成功,但 BMS不会作任何实际操作。 BMS系统根据外键能够查找相应节目,并且 ADI描述文件中 package没有被标记动作 VERB=”DELETE”,则认为本次是修改节目信息的操作。 对于修改操作,
17、无论描述文件中是否描述了 Asset资产,BMS 都只更新元数据,忽略资产的变更,即媒资系统不能通过修改节目信息的接口实现资产变更(包括:海报、片花和正片)的功能。 媒资系统提供的节目元数据(Title 的 Asset段的数据)可以在 BMS中进行任意修改(特定字段除外,由 BMS自行决定);但是如果媒资系统此后再次修改元数据(即通过修改节目的操作),则会覆盖 BMS中已经修改的数据。 媒资提供的节目在 BMS中必须保持节目数据的完整性,即 BMS不能修改 VOD的海报、以及片花。 BMS不能删除媒资提供的各种格式的 VOD资产,但是允许 BMS操作员指定是否需要为 movie或 previe
18、w的资产进行加扰。 媒资系统向 BMS系统发送节目信息修改的前提是:该节目状态为“发布成功”或“注入成功”,即节目已经发布到 BMS系统并且在 BMS系统中未删除时才同步通知VOD系统。 当 BMS删除节目并向媒资系统发送删除通知,但是由于网络原因,媒资系统并没有收到(而操作员也没有立即发现该异常情况),如果媒资中修改节目信息并向 BMS发送修改请求,那么 BMS会认为是创建节目的请求,由此产生的问题媒华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 10 页, 共 30 页资与 BMS 均不能正确处理,考虑到这种情况出现的几率很低,引导局方的媒资操作员
19、及时修改媒资系统中节目的状态,由 BMS 操作员处理该节目的删除消息。 BMS 中删除节目数据时,会向媒资发送相关消息,媒资是否同步删除由媒资决定,如果不同步删除则媒资将节目的状态改为“已下架”;BMS 不关心媒资的处理。 如果 BMS 已经接收过媒资删除消息(即删除操作已经由媒资发起),则 BMS 中删除该节目时,不应向媒资发送删除消息;但是 BMS 删除一个媒资中并不存在的节目的话,媒资系统也应该回复成功消息。 媒资系统中删除节目时,如果该节目状态为“发布成功”或“注入成功”(即 BMS中有该节目)才同步通知 BMS 系统删除操作,其他状态媒资只做内部处理。 FTP 服务器上的中间数据由媒
20、资负责维护。媒资系统将内容资产存放到 FTP 服务器上后,华为 BMS 系统作为客户端登录该服务器获取资产;媒资系统负责删除 FTP 服务器上的内容。因此,BMS 操作员将注入成功的资产取消注入后,如果再次重新注入则系统不能保证成功。双方约定媒资只有在收到“注入成功”的消息后才能动删除 FTP上的文件。 BMS 向媒资发送注入成功的条件:节目下所有资产均处于注入成功状态,包括“片花”的所有格式、正片的所有格式。海报下载成功与否不影响“注入成功”消息的发送。如:某节目有正片两种格式,先注入其中一个格式,成功后再取消注入;然后注入另外一种格式,此时不认为该节目注入成功。只有在所有字资产均注入成功之
21、后,才向媒资系统发送“注入成功”消息。 对一部影片多种媒体格式的处理说明,根据媒资管理系统上的能力分为: (1)如果媒资系统中可以管理一部影片的多种媒体格式之间的关联关系, 媒资系统在新建影片信息时,通过描述多个“movie”型的 ASSET 来表示多格式,媒资系统应该保证每个“movie”的 Asset 都有全局唯一的“Asset_ID”,并且详细给出各个格式的编码格式描述(描述字符串在下文给出)以及封装格式。 媒资系统应该保证同一个节目中,各个“movie”型的 Asset 之间,“CodeFormat”和“HDContent”的组合唯一。同一个节目中的片花也有相同要求。即:一个节目中如果
22、有两个为 MPEG-2 的“movie ”型资产的话,那么 HDContent 一定分别是 “Y”和“N ”,表示高清的 MPEG-2 和标清的MPEG-2 资产;而如果一个节目中同时有两个 HDContent 取值为“Y”的“movie”型资产,那么这两个资产的 CodeFormat 的取值一定不能相同。 (2)如果媒资系统中不管理一部影片的多种媒体格式之间的关联关系,对同一部影片的不同媒体格式都是独立管理的,那么 BMS 中也将把不同媒体格式作为独立影片来管理,但是媒资系统也需要对每种格式的 ASSET 描述其编码格式以及封装格式。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-1
23、1-14 未经许可不得扩散 第 11 页, 共 30 页 如果采用(1)的处理,则用户在 EPG 上使用浏览点播影片列表时,对于两种媒体格式影片都能点播的情况下,只展示一条影片信息;而如果采用(2)的处理,则用户在 EPG 上使用浏览点播影片列表时,对于两种媒体格式影片都能点播的情况下,会展示两条影片信息。 媒资系统在向 BMS 发送消息失败的情况下(仅限于网络不通以及等待回复消息超时两种情况),媒资系统会在 5 秒后重试一次(为媒资必须保证重发的消息与初始消息一样。防止出现这样的情况:BMS 已经收到消息但是回复超时,媒资重发的消息被BMS 理解为新创建节目),如果重试还失败则不再发送,终止
24、发布流程。 BMS 向媒资系统的回复消息(即调用返回消息),不需要提供重发机制。但是 BMS主动向媒资系统发送的通知消息需要有重试机制(也可由操作员手工触发),通知消息目前有两个:BMS 注入节目全部成功,向媒资系统通知注入成功的消息;BMS 删除节目,向媒资系统发送删除消息的通知。2.1.1 增加 VOD 节目:Operator_DaYng :Operator_HW上上 : FTP Servr 上VOD上 :上上上上, 上上上上, 上上.上上上上上上上上上上, 上上VOD上上上上, 上上上“上上“上上上上上, 上上/上/上上上上上上上上上上上上,上上上上上上上上上上上流程说明:华为与大洋媒资
25、系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 12 页, 共 30 页1. BMS 接收到媒资系统发出的消息后(该消息的形式在后文描述),首先从FTP 服务器中获取 ADI 描述文件,并进行解析。2. BMS 分析 ADI 描述文件,判断当前是创建操作。2.1 BMS 分析 ADI 描述文件结构,如果文档结构或语法错误,则直接返回失败,退出创建过程;如果 ADI 描述文件中不含“movie”型的 Asset,则认为该节目无资产,不能创建,向媒资系统返回失败,并提供错误原因,退出创建过程;否则继续创建过程。2.2 BMS 分析 ADI 描述文件中给出的节目元数据字段
26、的取值并校验,如果关键字段缺少或者有字段取值非法,则向媒资系统返回失败,并提供详细的错误原因供媒资操作员人工干预的参考,BMS 退出创建过程;否则继续创建过程进入下一步。3. BMS 将媒资给出的节目元数据转换为内部数据结构入库,并通知媒资将节目状态更改为“发布成功”。4.在 BMS 操作员进行相关查询时,展示该节目的信息,操作员可以对节目进行定价和发布到栏目下,并注入资产,由 VOD 服务器到 FTP 服务器上获取资产。5. 操作员在 BMS 上进行操作,对媒资系统给出的资产进行注入操作。节目下所有资产(同时保证片花也注入成功)全部注入成功后,BMS 向媒资系统发送资产注入成功的消息,媒资系
27、统接收到该消息后,将媒资中该节目的状态更改为“注入成功”。6. BMS 向媒资发送“注入成功”消息时,不校验海报是否已经下载成功。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 13 页, 共 30 页2.1.2 修改节目信息: Operator_DaYang : 上上 : FTP Server : 上VOD上上 : Operator_HW上上上上上上上上上上上上上上FTP Server上上上上上上上上上上上上上上上上上上上上: 上上流程说明:1. BMS 接收到媒资系统发出的消息后,首先从 FTP 服务器中获取 ADI 描述文件,并进行解析。2. B
28、MS 分析 ADI 描述文件,并根据外键在 BMS 中索引到节目已经存在。2.1 BMS 分析 ADI 描述文件结构,如果 ADI 描述文件结构或语法出现错误,则向媒资系统返回失败及原因,退出修改过程;否则继续修改过程进入下一步。2.2 BMS 分析 ADI 描述文件中给出的节目元数据字段的取值并校验,如果必选字段缺少或者有字段取值非法,则向媒资系统返回失败详细的错误原因,退出修改过程;否则继续修改过程进入下一步。3. BMS 将媒资给出的节目元数据直接入库。BMS 中修改操作可以在任何情况下进行。但是标记为”R” 的字段在修改时 BMS 自动忽略(具体参见 2.3.3 修改节目信息元数据的取
29、值约束中的描述),不允许修改。4. BMS 同步修改完成后消息返回,回复大洋媒资系统节目元数据信息已经发布成功。注:BMS 根据 ADI 描述中的 Provider_ID 和 package 的 ID 来索引待修改的节目。描述修改数据的 ADI 描述中提供了 title 的 Asset_ID,BMS 不要求此 ID 与创 建时 ADI 描述中给出的title 的 ID 一致。放松此限制主要也是为了兼容以前的版本。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 14 页, 共 30 页但是建议媒资也保存创建节目时存储的 title 的 Asset_ID,
30、以便将来新增功能时使用。在使用新的媒资接口时,BMS 将这些信息都要予以保存。2.1.3 删除 VOD 节目:Operator_DaYng :上上 :上VOD上 :Operator_HW :FTP Servr上上上上, 上ADI上上上ADI上上上上VOD上上上BMS上XML上, 上上上上上上上上上上上ADI上上上上上上VOD上上. 上2:BMS上上上上1:上上上流程说明:1. BMS 接收到媒资系统发出的消息后,从 FTP 服务器中获取 ADI 描述文件,并进行解析。2. BMS 分析 ADI 描述文件,如果 package 被标记了 Verb=”DELETE”,则认为当前是删除节目属性的操作
31、。2.1 BMS 分析 ADI 描述文件结构,如果 ADI 描述文件结构或语法出现错误,则返回失败,退出删除过程。2.2 当 BMS 判断出当前是删除节目的操作时,不再校验 ADI 描述文件中的字段取值是否合法。2.3 如果删除外键在 BMS 中不存在的节目,BMS 也认为成功。3. BMS 判断出是删除操作后,立即向媒资系统返回成功,但是 BMS 并不立即删除节目数据。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 15 页, 共 30 页4. BMS 中删除节目由操作员进行,当该节目(元数据和资产文件)被删除后(节目与片花之间的关系由 BMS 内部
32、保证),BMS 通知媒资该节目被删除,由媒资系统负责更新状态。4.1 如果媒资系统已经通知 BMS 节目删除,则 BMS 不向媒资系统发送删除通知消息。2.2 数据类型说明2.2.1 ADI 描述文件说明当媒资提供的 ADI 描述文件传入的是父集时, 必须包含 package、title 这两个Asset, poster 和 preview 可选,忽略 movie 所代表的 Asset;当 ADI 描述其它格式(影片、子集、广告)时,必须包含 package、title 和 movie 三个Asset, poster 和 preview 可选。上述各 Asset 中, package、 tit
33、le 和 poster 最多出现一次; preview 和 movie可出现多次,表示使用多格式。各个 Asset 中 Content 的 Value 的取值范围为字母、数字、半角“-”和半角“.”。这样限制主要是防止在跨系统 FTP 获取文件时,由于编码问题导致获取文件失败。2.2.2 AMS 描述参数说明AMS 的属性沿用 ADI 中的字段,BMS 不作扩展。参数名称 类型 长度 描述信息Asset_Name String 、 、“、| 、换行符(rn或n)、TABSummary_Medium_FGString 、“、| 、换行符(rn或n)、TABTitleSearchCode Stri
34、ng 、 、“、+、#、 该字段必须能够标记出临时 FTP Server的路径, 登录用户名和密码, 形式如: ftp:/user:password10.10.10.25/assetTempPath/BMS在处理资产路径时,将直接使用该地址拼接上资产的ContentValue得到资产(片花、海报、影片)路径。adiFile ADI描述文件的名称. 如: hero02341234.xmldetailParams 该字段目前保留, 不使用。返回值描述:public class OperateResultprivate int returnCode;private String message;/
35、get/set 方法略.参数名 参数描述returnCode 返回码。可以参见错误码描述message 错误原因描述。当returnCode取值为0,表示操作成功时,本字段可以为空当returnCode取值不为0,则表示操作失败,本字段必须给出错误描述。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 29 页, 共 30 页2. SOAP 定义WebPublish.wsdl3.3.2 BMS 通知媒资系统的 SOAP 接口1. 接口原型1) BMS 通知媒资下载完成public VODNoticeService.ParaOut downloadFini
36、shNotice(String packageId);参数描述:参数名 参数描述packageID 媒资通知BMS时,ADI中的package段的Asset_ID 。返回值描述:public class ParaOut private String description;private boolean success;参数名 参数描述success 通知消息的结果:true-成功;false- 失败。description 如果操作结果不为true,则媒资需要填充原因后返回。2) BMS 删除 VOD 后,通知媒资修改节目状态public VODNoticeService.ParaOut programDeleteNotice(String packageId);参数描述:参数名 参数描述packageID 媒资通知BMS时,ADI中的package段的Asset_ID 。华为与大洋媒资系统接口说明书(V2) 商业秘密2008-11-14 未经许可不得扩散 第 30 页, 共 30 页返回值描述:同上。2. SOAP 定义VODNoticeService.wsdl3.3.3 ADI 描述文件样例增加 Add_adi.xml Add_adi.xml修改 modify_adi.xml modify_adi.xml删除 delete_adi.xml delete_adi.xml