开云体育入口

ESB+EMB架构在全台互联互通中的作用

2019-01-29 17:50:41 76
ESB+EMB架构在全台互联互通中的作用

ESB+EMB架构在全台互联互通中的作用


来源:  作者:   发布日期:2016/1/31 21:48:00图片关键词
 

ESB+EMB架构在全台互联互通中的作用

 

关键词  全台网 互联互通 SOA ESB EMB 流程  

互联互通的重要意义

随着电视台数字化网络化的建设,目前各个大中型电视台基本完成了主要节目的数字化制作、播出和存储,但在系统的建设过程中,大多都是相对独立而分散的,这就形成了一个比较奇怪的现状:节目的制作、播出、存储各个环节都是数字化处理的,但节目在从一个阶段到另一个阶段却用传统的方式在串接,降低了电视台整体生产效率,也加大了成本,从电视台数字化网络化的建设发展趋势看,全程文件化,全程数字化必定会取代这种分散独立的数字岛屿的模式。

多系统互联互通是全台业务整合与实现全程文件化的基础,只有做到File Base(基于文件化)的节目制播全流程交互,才能够充分发挥数字化节目制播的效率优势,提高电视台的节目制作水平。系统互联互通技术在全台网的建设中具有非常重要的地位和作用。

互联互通的技术基础

在传统的IT系统互联整合中,实际上要解决的就是系统之间的信息通讯与数据交互,而对于广电行业来说,由于庞大的媒体资源对象其特殊性,因此无论在各个系统的设计中,媒体资源的传输、处理、交换、访问都是独立的通道架构,因此在广电行业互联互通的技术架构中也需要针对大对象进行专项考虑。

对于电视台业务系统互联互通的这两个技术基础,每个又可以分为两个技术要点:

一、有关系统之间信息交互与通讯的实现

1系统间的通讯技术的实现;

2系统间信息交互的协议;

二、有关系统间资源交互的实现

1系统间资源传输交互技术的实现;

2系统间资源格式的定义;

解决了上面的这两个方面,四个技术基础,基础的系统互联交互从技术上便不存在障碍了。如图所示:

图片关键词

1

SOA体系结构

面向服务的体系结构(Service-Oriented ArchitectureSOA)是一种目前比较先进的IT体系结构,核心是将业务转换为一组相互连接的服务,可通过网络访问这些服务。这个网络可能包含在公司内,也可能分散于各地且采用不同的技术。需要时,可以将这些服务组装为应用程序,即相互连接的服务提供者和使用者,彼此结合以完成特定业务,使业务能够适应不断变化的情况和需求。

SOA架构有以下特点:

ü  更高的业务一致性(因为是统一定义的);

ü  松散耦合的系统 (各个系统都是服务提供者,是被动的被外界调用)

ü  基于网络的基础设施,允许分散于各地且采用不同技术的系统协同工作;

ü  按需动态构建,随需应变的应用程序(流程可以定义

ü  更好的代码重用性 (服务可以重用)

ü  更好地标准化整个企业内的流程;

ü  更易于统一监控,集中管理。

它非常适合适合在有复杂的业务流程,各个系统应用异构的情况下使用。

ESB+EMB双总线架构

SOA是一种设计思想,而ESB+EMB则是这种设计思想的实现方式。

从上面的分析可以看出,电视台业务系统互联交互时除了解决信息通讯外,还需要解决媒体数据的交互与传输,因此提出了双总线的系统互联架构,如图所示:

图片关键词

2

在上图中总线一负责完成系统之间的元数据等控制信息的通讯和交互,总线二则负责完成系统之间的大数据对象传输和交互。这两条构成全台互联架构核心的总线我们称为ESB+EMB

企业服务总线(Enterprise Service Bus, ESB)是IT领域通用的一个术语,是指的支持SOA实现的基础架构软件。它主要提供如下功能来保障互联互通:对服务的注册命名及寻址管理功能,面向服务的中介功能,对多种消息传递方式的支持(请求/响应,单路请求,发布/订阅等等,支持广泛使用的传输协议(HttpJMSMQ,对服务管理的支持,支持各个服务接口参数的格式转换,内嵌的BPEL工作流引擎等。

企业媒体总线(Enterprise Media Bus, EMB)是广电领域专用的一个术语,是指的用来支持SOA体系架构的一个中间件系统。它提供了广电行业媒体数据交换的系统级基础功能。EMB类似于一个媒体处理中心,本身也对外提供了一组服务。EMB的主要功能和特点是:实现各业务系统的媒体资源交换和共享,丰富的视音频格式转换,MD5文件校验;支持多种网络接入方式和文件传输协议;支持对所有交换任务的集中监控、管理、调度;支持开放的体系架构,提供标准服务接口;具有良好的稳定性和可扩展性。

下面是ESB+EMB双总线结构的一个示意图:

图片关键词

3

一个的互联互通的例子

下面我们来举一个例子来说明如果使用ESB+EMB的体系结构,实现一个业务流程将会是怎么样的。我们用“素材从制作到媒资入库流程”为例,应用的场景是制作系统要将素材入库到媒资系统进行保存,这个交互的发起者是制作系统。如图所示:

图片关键词

                                                        4

这个业务的流程的描述是:

1.    ;     制作调用平台的入库服务,流程启动

图片关键词

2.         平台调用媒资导入允许服务(可选)

3.         平台调用媒资获取目标信息服务(可选,如果没有的话目标信息在平台配置)

4.         ;平台调用EMB添加转码任务服务

5.         流程等待,转码完成,EMB调用平台回调服务,流程继续

6.         ;平台调用EMB MD5验证服务 (可选)

7.         流程等待,MD5验证完成,EMB调用平台回调服务,流程继续(可选)

8.         平台调用媒资入库服务

9.         平台调用制作的回调服务,通知制作入库结果

10.     流程结束

 

ESB的主要优点

下面我们结合上面的这个系统互联的例子,来谈谈ESBEMB在系统互联中的作用和优点。

实现各系统交互逻辑剥离,松散耦合,通过服务编排满足随需应变的业务需求,符合SOA思想

这个是使用ESB的最大优点,业务流程的定义是在ESB中,可以动态的修改。

制作域素材入库媒资业务场景为例,假设业务发生了变化了,比如以前没有MD5校验,现在想加入这个步骤。那么只需要EMB提供MD5校验的服务接口,然后修改流程模板,加入MD5校验节点,并在这个节点调用EMB的服务。制作和媒资都不需要做修改,这些变化对它们是透明的,即使是EMB,也不知道流程模板修改了,它也不关心,它只是提供了一个MD5校验功能,所以说系统是松散耦合的。

而且制作只需要调用ESB上提供的一个服务,叫“素材提交入库”服务,就可以实现素材入库到媒资,制作根本就不知道媒资有些什么服务,甚至不知道媒资系统到底存在与否,也不知道这个业务场景中还有EMB的参与。就算日后媒资换了另外一个厂商的,制作板块还是不做任何修改。所以说制作和媒资之间是松散耦合的。

将流程发布为一个粗粒度的服务,符合SOA思想

ESB一般内嵌BPEL工作流引擎,BPEL工作流引擎可以动态的将一个流程模板动态的部署为一个web service

用制作域素材入库媒资业务为例,通过ESB的系统配置模块,定义了一个流程模板,叫“制作域素材入库媒资”,这个流程模板对应一个web service,叫提交入库服务,这个web service也有定义好的wsdl,这个wsdl是可以任意定义的,并不是某种特定的由ESB规定的格式。当制作调用这个服务后,对应执行的并不是一个普通的web service(比如导入运行服务,内容导入服务都是普通的web service),它执行的是BPEL流程引擎的逻辑,是按照流程模板的定义次序调用入库许可服务,调用EMB的迁移服务,调用制作的入库服务等等,直到流程结束。这样就做到了将业务流程对外暴露成了一个粗粒度的服务,也就是这个“提交入库服务”。

实现服务代理不需要调用方做修改

ESB可以为服务提供中介功能,而且这种中介对调用方是透明的。

比如以前是A系统调用B系统提供的查询web service,现在想通过ESB做代理来调用,那么A系统不需要修改代码,只需要修改调用的URL地址。这样充分的考虑了A系统的变更成本,能实现外系统最低成本的接入。

对外系统的服务接口参数没有限制

ESB是一个服务的组织者,不是服务接口的制定者。ESB可以动态的调用各种接口的web service,而不是一个规定的格式,这样的好处是, 可以直接使用其他系统已有的web service服务,而不是要求其它系统按照规定的接口参数格式重新开发一个,ESB想调用某厂商制作系统的入库服务,只要制作系统提供该服务的接口定义就可以了,大大降低了系统互联的接入成本。

服务的可重用性

因为ESB支持动态调用,各个系统提供的服务,并不是为系统互联定制开发的,所以是可以重用的。比如上面说到EMB提供的“添加文件拷贝、转码任务”这个接口,点对点互联的时候,并不涉及到任何流程,也可以被第三方系统直接使用。

业务流程可以重用性

在各个系统的接口统一的情况下,连业务流程都是可以重用的。比如有个业务流程是“素材从制作系统进入媒资系统”,以后要加一个“素材从制作系统进入演播室系统”业务,那么在ESB中定义新的流程的时候,可以使用拷贝的方式新建,使得流程的定义更加简单,也不容易出错。

EMB的主要优点

实现了全台媒体资源的整合

       它提供了广电行业媒体数据交换的系统级基础功能。EMB类似于一个媒体处理中心,本身也对外提供了一组服务,既通过ESB的调度来完成媒体资源在各系统之间的交互和传输,也可以单独使用。EMB以全台的视野来统一规划全台的存储区和媒体资源,方便了集中管理和集中监控。

EMB提供丰富的传输,转码,校验等功能

EMB支持多种文件协议,包括UNC路径,FTP,文件流等,EMB对数据传输功能做了内部的优化工作,包括迁移任务的负载均衡,错误处理机制等。

EMB支持流方式的文件传输。典型例子是:收录上载,同时以流方式传送给其他系统,接收系统在文件没有接收完成就能实时使用,比如可以播出或者编辑,并且同时支持多个目标系统。

转码功能完成跨板块之间不同媒体格式的转码,支持主流的MPEG2 IMPEG2 IBPDVCPROMPEG4MPEG1MPEG2 HD等等,并支持新媒体业务的格式转换,如H.264MPEG4等。

MD5校验支持各种应用场景,如果源文件没有MD5,可以先为源文件生成MD5,然后再校验。

ManagerEMB

EMB系统的结构由ManagerActor组成。

ManagerEMB的中枢,可以实现系统资源的调度、任务的调度,实现消息的传输,实现负载均衡;

Manager的控制下,Actor执行拷贝,转码,MD5校验等操作。Actor是可以扩展的,可以进行集群以提供强大的处理能力。

EMB的安全性

Manager支持Active/stand-by方式的高可用。当ActiveManager出现故障,stand-bymanager能自动切换为Active的,接管工作。

Actor支持集群,一个Actor出现故障,Manager会分配其它的Actor接管任务;Actor支持多路径访问同一资源,路径可动态切换,当一种访问方式数据链路不通的时候,Manager会控制Actor使用其他的访问方式。

EMB提供模板功能

EMB中可以定义任务模板和视音频格式模板,ESB在给EMB添加任务的时候,可以指定模板,使得调用方传递的参数更加简单。

ESBEMB是松散耦合的关系

ESBEMB是一个松散耦合的关系,他们的这种松散耦合的关系是从如下几个方面体现出来的:

EMB的工作模式

EMB的工作模式决定了EMBESB没有特别的要求。EMB本身是一个提供了各种媒体总线功能的系统,外系统要使用这些功能,唯一的途径是通过调用EMB提供的接口,这些接口包括添加任务(包括迁移,转码,MD5校验等任务),任务进度查询,删除任务等等。EMB一旦定义好了这些接口,就是被动的供别人调用,不会要求使用这些接口的必须是某个厂商的ESB

ESB的工作模式

ESB的工作模式决定了ESBEMB没有特别的要求。ESB的使用方式有两种,一种是作服务调用代理,一种是组织流程,无论是那种方式,都需要将EMB提供的服务在ESB上进行注册。如果有两个不同厂家的EMB系统,接口不一样,某ESB产品开始支持了EMB A的接口,后来要换到EMB B了,那么要做的是ESB上的注册服务的配置修改,不是代码级的修改。ESB应该是一个通用的产品。

接口,只有接口

从上面的分析可以看出,ESBEMB的交互只通过服务接口来进行,而EMB的接口是通用的,不是为ESB开发的;ESB也不会只支持某种特定参数格式的接口,所以ESBEMB的松散耦合的,ESBEMB产品应该是可以替换的。

小结

       ESB+EMB基于SOA的设计思想,是全台网实现系统互联互通的一个比较先进的解决方案。能够有效的帮助电视台优化流程,整合资源,提高效率,增强核心竞争力。