一种媒体发布系统及方法

文档序号:6631667阅读:172来源:国知局
专利名称:一种媒体发布系统及方法
技术领域
本发明涉及媒体发布平台,尤其涉及一种能够集成企业现有系统和IT基础设施的架构方案。
背景技术
现有媒体发布系统的架构,见图1。许多提供发布的企业中IT被严重拆分。因为这些企业允许每个业务部门选择它自己的IT需求,而不是依赖于集中管理的IT组织。因此,传统的媒体发布系统也被拆分。通常,公司可能有一些内容审批、财务、报表软件,以及类似的支持不同业务方面的系统。这些部门安装“最佳”软件,而不考虑同其它部门或应用程序的集成。后来他们发现,在原有基础架构中加入新的应用时非常困难。图1正是目前一些企业中IT基础架构的例子从图1中可以注意到一个IT难题,那就是大多数应用程序之间直接相互通信。如应用区域A中的应用1与应用2直接通信,应用2与应用3直接通信等等。当应用程序需要修改或淘汰时,这种依赖便成为一个实际问题。任何修改都可能会更新每条唯一的通信线路。因此,这种变更可能代价高昂。这种情况被称为应用程序间的紧耦合,也逐渐成为让一些企业头疼的问题。
JMX介绍JMX即Java管理扩展(Java Management Extensions),是由Sun公司提出的一种管理框架。其目的就是为现有的应用程序、系统植入管理功能的框架。Sun定义的架构分为三层,可以参见图四。
第一层是设备层所有被管理的资源都在这一层,被管理的资源要符合Mbean规范;第二层是代理层位于被管理资源和管理者之间,提供许多基础服务,其中最主要的是Mbean Server服务,它是代理层乃至整个JMX的核心,所有的Mbean都在此注册,管理者也必须通过它才能操纵被管理资源。这一层还提供许多其他基础服务,比如协议适配器、监视服务等。
第三层是分布层对于这一层,sun并没有给出一个明确的规范,只是给出了简要描述,这一层的主要目的就是使管理者可以不受地理限制来管理资源。
SOA架构介绍SOA(面向服务架构)是一种构建分布式系统的设计方法,传统的分布式系统如Web Service,客户端和服务端是紧耦合的,二者必须使用相同的协议、知道对方位置,开发出来的系统很容易成为‘信息孤岛’,因为很难和其他系统无缝连接。
而SOA就是为了解决客户端和服务端的强耦合、位置依赖,并保证用最小代价和其它系统集成,重用企业已经建好的IT基础设施。
SOA通过引入叫做ESB(企业服务总线)的基础设施,隔离客户端和服务端,并可以支持多种协议,任何一方只需要和ESB进行会话,不需要知道另一端的位置、协议、编程语言等细节。所有这些工作全部由ESB代劳。
通过上面的介绍可见,JMX和SOA分别针对不同的问题域,JMX目的是为系统提供管理手段,而SOA目的是为了集成不同系统。本发明把二者集成在一起,提供一个可管理、易集成的系统平台。
可以看出,现有技术的媒体发布系统存在如下问题1.实现方案都基于点对点的调用方式,见图2;传统的分布式系统,大部分是基于Web Service或RMI甚至是DCOM进行调用,这种方式好处就是实现简单。但是限制诸多,如通讯双方都要使用相同的协议;相互连接安全可靠无法保证,如果需要可靠的连接,需要开发者自己编码实现,增加了实现的难度。
对于简单的拓扑结构,这种设计方式简单易于实现。特别是节点数量少时,这种方式工作的很好。当客户、服务节点增多时,需要管理的连接数成指数增多,增加了管理难度。
传统的分布式系统虽然可以实现不同系统间的重用,但是前提条件是作为Service Consumer(消费者)和Service Provider(提供者)的两个系统必须使用相同的通信协议,如都使用RMI、SOAP等等。对于新开发的系统,可以通过强制使用一个协议来满足这个前提,但对于大量已经现存的系统而言,修改是不现实的。见图2,传统的分布式系统示意图。
比如图2中的第一部分单用户模式1,当只有1个客户端和三个服务时,需要提供三个连接;但多用户模式2中,当有三个客户端时,连接就增加到9个。并且每个客户和服务之间都要使用相同的协议绑定在一起。
不同的协议需要使用不同的端口,在网络上暴露更多的端口,增加了安全隐患。这些连接的安全、维护需要技术人员自己实现,降低了系统的可靠性。
2.无法在线调整系统现有系统一旦上线后,其功能就固定下来,很难动态的添加、修改模块,即使个别小模块的升级,也必须把整个系统停下来,重新发布新系统。无法保证7*24小时的模式。
3.差的响应变化能力商务世界充满了变化,任何产品在设计之初都无法预见到所有的问题领域,目前信息产品的普遍做法是,由客户或商务经理描述商务规则,技术经理在确信了解这些规则后,通过某种技术框架最终以代码的形式实现这些规则,因为产品对后续需求的应变能力是企业领先于竞争对手的技术保证。现有的解决方案面对需求改变时,都要对整个产品重新设计、开发、测试,大量的相关代码可能要推倒重写和仔细测试,然后才能发布,这个周期相对于商务变化显得漫长、拖沓。
作为一个企业级的java应用,体系庞大,组成复杂,各个服务模块和数据库接口通常由不同的团队开发,彼此之间一无所知,整个产品的配置、部署对于实施人员可说是一个噩梦。每一个微小组件的升级,都需要重新编译、分发、部署、重启多个步骤,并且需要在多个节点上重复执行,极易出错。如果能够提供一种图形界面、鼠标拖拽的方式就能完成整个平台的升级,将大大减轻管理员的工作强度,减少错误几率。
4.系统安全和保密管理传统的解决方案会把安全、加密、权限控制放在数据库中,通过界面提供配置接口,然后在代码中处理这些数据,对于相同的用户,在不同的系统或不同的服务器上都需要重复这些步骤。并且不能有效利用企业已有的安全基础设施,导致资源浪费,重复开发。
电信信息系统的安全性要求很高,并且在现有的IT安全基础设施中已经进行了巨大的投入,如何善用现有系统,最大程度保证客户利益,避免重复投资,应该作为解决方案设计的指导原则。

发明内容
本发明为了解决上述问题,提出了一种媒体发布方法及系统,并且具有可管理、易扩展、低耦合的特点。可管理性,即本发明可提供全国范围内多点网络接入,中央控制及管理。易扩展性,即本发明可适应移动通讯高速发展的要求,以允许各种类型的已知,甚至未知媒体类型在该平台上进行管理和发布,而且快速适应不断变化的商务需求。低耦合性,即本发明开发的各个模块之间、模块和整体之间的依赖性很低,可以随时用新的技术实现某个模块,替换下原有的模块,对其他模块、系统没有任何影响。
为了实现上述目的,本发明公开了一种媒体发布系统,包括服务提供者模块、服务消费者模块,还包括内核层,采用即插即用组件的管理框架;传输层,采用远程JMX和GSSAPI库,分离网络传输和安全协议,并可以根据需要动态的插入不同的协议实现;服务层,所有的基础模块和功能模块按照SOA规范进行封装,向服务总线ESB进行注册;并且按照JMX的MBean规范设计接口,保证MBean Server可以动态装载、管理这些Service;应用层,所有模块在此暴露其接口,通过用户界面进行调用、管理;服务总线,以软件总线的形式贯穿整个系统,系统内的所有服务组件都在此注册,负责管理不同组件之间的路由、状态管理,隐藏组件的位置、平台、协议、编程语言。
所述内核层包括设备层、代理层、分布服务层,其中设备层,用于驻留被管理资源,每个被管理资源按照MBean的接口规范进行定义和实现;代理层,位于被管理资源和管理者之间,用来管理资源;分布服务层,用于集成了JMX REMOTING技术,分离出传输协议,独立于其他层单独实现,实现随时插入需要的协议,并保证所有的JMX信息无限制的传递。
所述代理层还包括连接器和协议适配器,以实现远程管理,并把MBean信息转换成符合特定信息的视图。
本发明公开了一种媒体发布方法,该方法包括(1)采用即插即用组件的管理框架设置一内核层;(2)采用远程JMX和GSSAPI库,分离网络传输和安全协议,并根据需要动态的插入不同的协议实现;(3)所有的基础模块和功能模块按照SOA规范进行封装,向服务总线ESB进行注册;并且按照JMX的MBean规范设计接口,保证MBean Server可以动态装载、管理这些Service;(4)暴露所有模块的接口,通过用户界面进行调用、管理;(5)以软件总线的形式贯穿整个系统,系统内的所有服务组件都在此注册,负责管理不同组件之间的路由、状态管理,隐藏组件的位置、平台、协议、编程语言。
所述步骤(1)包括(51)设置一设备层,用于驻留被管理资源,每个被管理资源按照MBean的接口规范进行定义和实现;(52)设置一代理层,位于被管理资源和管理者之间,用来管理资源;(53)设置一分布服务层,用于集成了JMX REMOTING技术,分离出传输协议,独立于其他层单独实现,实现随时插入需要的协议,并保证所有的JMX信息无限制的传递。
所述步骤(51)具体包括(61)所有的模块以SOA的Service模式进行设计开发;(62)对每个Service,再按照MBean的规范进行封装,使用统一的方法进行操作或修改。
所述步骤(62)中所述按照MBean的规范进行封装包括所有的属性都通过getAttribute/setAttribute来读取;可执行的操作通过Invoke方法调用;事件传播使用Notification、NotificationListener实现;描述MBean信息的辅助元数据,必须实现MBeanInfo接口。
所述步骤(52)还包括(81)在JMX内植入一个Installer Serivce来实现控件的即插即用管理;
(82)每个需要发布的类有两个部分组成,一个XML格式的文本文件叫做Descriptor,服务的二进制代码如java的jar包。
(83)部署时先把Descriptor发给Installer Service,Service收到这个文本文件后,解析其中内容,获得代码的URL,下载该代码包并实例化该组件,然后再Mbean Server中注册,随后,这个新的组件就可以被调用,同时可以被管理。
所述步骤(53)具体包括(91)在系统控制中心有一个Provisioning Warehouse,所有的组件在这里集中注册、保存副本;(92)控制中心、工作站、组件会在管理员的界面上以节点的形式表示;(93)当要发布新的组件、或升级旧的组件时,在图形界面上以拖拉的方式进行操作;(94)控制中心接到指令后,先把组件的Descriptor文件下发给工作站;(95)工作站接到这个文件后,把它交给Installer Service模块;(96)Installer Service对文件解析,得到地址信息;(97)Installer Service服务模块从控制中心的代码库中下载组件的二进制包;(98)MBean Server对组件进行实例化,并采集信息;(99)采集到的信息通过协议适配器进行格式转换,再由连接器以多播的形式发布给感兴趣的监控台;(910)监控台上立即显示出这些组件的状态,可配制的属性、可执行的操作。
所述步骤(2)还包括所有的安全个体申请证书,个体间通讯之前根据证书进行身份验证,验证通过后,使用对称加密算法对数据进行加密,而加密密钥利用用户的公钥进行保护传递。
本发明还公开了一种利用权利要求1所述媒体发布系统或者权利要求4所述媒体发布方法分离商务规则和技术的方法,包括如下步骤(111)按照SOA的要求进行重构企业的遗留系统,把各专业应用分解成一个或多个服务,以Service Component的形式存在于系统中,并可以利用上一部分的“即插即用”功能,在SOA的ESB上进行注册,动态管理;
(112)使用支持Service的工作流引擎,根据企业的业务流程,对这些Service进行选择、排序,生成流程图;整个流程的推进由工作流引擎驱动,引擎根据流程图调用相应的服务,并根据返回结果判断下一步前进方向;因为采用SOA,各种系统不用考虑彼此间的通讯协议、连接方式、连接状态,只需要把调用请求提交给Service Bus,剩下的工作全由Service Bus代理(113)对于专注于特殊功能的应用,把其中的处理规则从代码中剥离出来,放到规则引擎中,把公司策略从应用中分离出来,并且可被其他应用重用。
本发明公开的媒体发布系统及架构,具有如下优点及技术效果1、基于SOA架构实现异构平台的集成,消除服务提供者和消费者之间的点对点连接方式,解耦二者的依赖关系;2、基于JMX微内核的平台设计和SOA架构,所有提供的功能都以服务模块的形式发布到系统,并且所有这些模块都是“热插拔”的,无论产品的升级、维护都以在线进行,确保7*24服务;3、图形界面方式定义工作流和商务规则,把商务和技术分离开来,客户可以不依赖于技术人员,自助式的定义规则,确保系统最快的市场适应速度;3、松耦合的域结构和对标准安全方案的全面支持,可以最大程度的利用企业现有的安全基础设施,减少客户的重复投资,确保客户利益;


图1为传统媒体发布系统的架构示意图;图2为传统的分布式系统示意图;图3为本发明的SOA与JMX REMOTING架构图;图4为本发明的JMX Kernel和Installer Service;图5为本发明的SOA、工作流、规则引擎;图6为本发明的安全架构;图7为本发明的系统架构示意图;图8为本发明的接口示意图;图9为本发明的即插即用原理图;图10为本发明的即插即用示意图;图11为本发明的域结构示意图;
图12为本发明的安全交互示意图。
具体实施例方式
本发明从以下几个方面集成JMX和SOA框架基于JMX微内核,扩展它的MBean规范,使其支持SOA中定义的SerivceBean;集成JMX和JMX Remoting,利用JMX Remoting技术使得信息传递独立于网络协议,并且可以随时插入不同协议,如HTTPS;所有的服务模块,采用SOA模式进行设计,并结合JMX的动态加载技术,使所有的模块可以即插即用,降低了模块与整体之间的耦合度。
从以下几方面集成SOA框架和工作流引擎,分离商务规则和技术实现,提供快速反应的软件产品。
技术人员考虑最基本的服务单元,按照SOA的规范定义接口并提供实现。这些单元组成企业范围的组件库;工作流引擎提供最基本的流转控制功能;商务人员利用图形界面从组件库中进行选择、排序,完成一个完整的商务流程,并且立刻就可以开始运转。
开发符合JSR-94标准的规则引擎,结合工作流引擎,分离业务规则和技术实现。
集成Kerberos和PKI的安全方案,利用企业现有的基础设施。
1.集成SOA和JMX REMOTING,解耦服务提供者和消费者,解决了点对点连接方式的缺陷;传统的分布式系统虽然可以实现不同系统间的重用,但是前提条件是作为Service Consumer(服务消费者)和Service Provider(服务提供者)的两个系统必须使用相同的通信协议,如都使用RMI、SOAP等等。对于新开发的系统,可以通过强制使用一个协议来满足这个前提,但对于大量已经现存的系统而言,修改是不现实的。见图2,传统的分布式系统示意图。
SOA架构(Service-Oriented Architecture,面向服务架构)在服务提供者和服务消费者之间引入一个叫做服务总线(Enterprise Service Bus,ESB)的基础设施,服务消费者和服务提供者之间不再直接交互,而是由服务总线进行路由。ESB还提供了其他有用的功能。
1、1组成,见图3,SOA与JMX REMOTING架构图。
Service提供者新系统或遗留系统中对外提供的服务,以Service Bean(服务包)的形式存在,在ESB上注册,可以实现一种或几种通讯协议;Service消费者需要调用Service的客户端应用,可以独立于Service提供者而独立实现;ESB服务总线,各种Service Bean在ESB上注册,并提供其他功能。
JMX Remoting(Java Management Extension Remoting,远程Java管理扩展)提供ESB和Service提供者、Service消费者之间的数据传输通道,负责具体的连接工作。
1、2各组成部分的作用和联系无论是新开发的系统或企业遗留系统,把其功能模块封装成Service Bean(代码包)的形式,并按照特定的规范向外暴露其接口;并在ESB中注册,注册内容包括服务位置列表、实现的通讯协议、负载状态;而ESB在Service消费者和Service提供者之间起到连接桥梁的作用,并提供状态维护、负载均衡、故障转移、格式转换等基础功能。
当Service消费者需要调用服务时,把请求发送给ESB,ESB定位Service的位置,并均衡Service的负载,根据Service注册信息,选择相应的通讯协议,向Service发出调用。具体的通讯过程由JMX Remoting负责完成,Service处理结果返回给ESB,再由ESB返给Service消费者。
2、面向服务的即插即用系统基于JMX和SOA架构的面向服务的系统架构,以透明的方式为服务组件的即插既用提供基础设施;可随时添加新的服务组件以增加对新的业务的支持,或替换旧的模块,而不影响原有的功能模块。
2、1组成参见图4以分层的形式进行描述其组成。
JMX KernelJMX即Java管理扩展,是由Sun公司提出的一种管理框架。其目的就是为现有的应用程序、系统植入管理功能的框架。图中Instrument和Agent两层组成了JMX Kernel。
Service Bean按照SOA架构实现的、提供完整功能的代码包,被热插拔的对象。图中Service Bean驻留在Instrument Layer中。
Installer Service自行定义并实现的动态加载服务,嵌入到JMX中,对“即插即用”提供支持的基础设施。图中Installer Service驻留在AgentLayer中。
2、2各组成部分的作用和联系JMX Kernel(JMX内核)所有需要管理的资源称为Service Bean,逻辑上位于图中的Instrument(设备)层,这些资源的接口、属性、方法的定义必须符合JMX规范,按照这种标准定义的对象,部署到符合JMX规范的容器内之后,位于Agent(代理)层的Mbean Server(Mbean服务)就会自动发现这个资源,读取其属性,并形成关于资源属性、状态的视图,通过Adaptor(适配器)格式化后,把视图发送到远端的客户机上进行显示。
Service Bean提供完整功能的代码包,如果完全按照JMX规范去实现管理功能,会发现管理的粒度过于精细,如果在用户屏幕上罗列出一大堆类、对象,用户会掉入信息的海洋而无所适从,并且过细的管理会造成巨大的性能开销。
为了提供一个切实可行的管理方案,把JMX的MBean进行了扩展,扩展成Service MBean。通过定义新的接口,把原来的若干MBean封装成为一个MBean,对原来的Mbean进行了更高一层的抽象,每个Service Bean已经不再是抽象、不好理解的类,而代表一个完整的功能单元,被赋予了新的内涵。
通过这种更高层的抽象设计,最终系统内需要管理的资源数量大大减少了,并且每一个Service Bean都有一个明确的功能描述,用户界面更加友好。
Installer Service(动态加载服务)提供即插即用功能的动态加载服务。
嵌入到Agent Layer的Installer Service相当于JMX Kernel的软总线,它的主要工作是支持热插拔服务组件、对服务组件的生存期进行管理。基于这种设计对于软件部署提供了新的可能。
3.基于SOA的规则引擎和工作流引擎,分离商务规则和技术实现在瞬息变幻的商业环境中,作出反应的速度往往决定着企业的成败。随需应变的能力表现在以下几个方面首先,需要创建一个快速响应的环境,以便对市场上的任何变化作出快速反应,而不管这种变化是内部的还是外部的;其次,企业随机应变的成本应该最小。这就要求企业需要一个有弹性的、健壮的基础设施。本设计中通过结合SOA、工作流引擎、规则引擎实现商务和技术的分离。
3、1组成参见图5企业组件库企业内部各个部门的“专业软件”提供符合规范的接口,集中注册,建立企业的组件库;工作流引擎利用图形化的工作流引擎工具,对组件进行选择、排序、执行;把企业范围内的应用集成起来,并把业务流程从软件中分离出来;规则引擎对于专注于特殊功能的应用,比如用户验证、授权系统,把其中的处理规则从代码中剥离出来,放到规则引擎中,把公司策略从应用中分离出来,并且可被其他应用重用。
3、2各组成部分的作用和联系企业组件库通过对企业的遗留系统按照SOA的要求进行重构,把各专业应用分解成一个或多个服务,以Service Bean的形式存在于系统中,并可以利用上一部分的“即插即用”功能,在SOA的ESB上进行注册,动态管理;工作流引擎使用支持Service的工作流引擎,根据企业的业务流程,对这些Service进行选择、排序,生成流程图;整个流程的推进由工作流引擎驱动,引擎根据流程图调用相应的服务,并根据返回结果判断下一步前进方向;因为采用SOA,各种系统不用考虑彼此间的通讯协议、连接方式、连接状态,只需要把调用请求提交给ESB,剩下的工作全由ESB代理;请求方只需要关心返回结果就可以了;规则引擎对于各个应用内部设计到的业务规则,可以进一步的提取成规则对象,保存到规则库中;应用程序只需要构造数据对象,然后把它丢给规则引擎,规则引擎负责用相应的规则交验这些数据,返回结果。
4.安全架构和LDAP的松散的域控制运行在开放式网络上的分布系统,安全设计四个方面身份验证、授权、机密性、完整性;身份验证是指验证实体身份(是用户、计算机还是程序)的过程。该过程确定实体是它所声称的身份,这是确保数据机密性、完整性的前提。
本系统地将KERBEROS和PKI(公钥架构)结合在一起,集中一点对属于安全域中的实体进行身份验证(实体包括用户、计算机、程序);并可以采用多种加密协议对机密数据进行加密,进一步加强了安全力度。
4、1组成,见图6KDC密钥分发中心(Key Distribute Center),用于局域网内身份验证;CA证书颁发中心,用于颁发企业证书,对广域网的用户进行身份验证;DC域控制器(Domain Controller),用于存放企业范围内的安全策略,对用户进行授权;GSSAPI通用安全服务编程接口(Gerneral Security Service API),各种应用通过GSSAPI调用库函数,完成身份验证、加密等工作。
4、2各部分的作用和联系对于局域网的用户、应用、机器之间的通讯,使用Kerberso协议来满足安全需求,KDC作为密钥分发中心负责安全域内所有安全实体的身份验证;对于广域网内的用户,需要到企业CA申请安全证书,以后访问企业资源时,必须出示证书,验证通过后才能进入;DC作为企业的标识管理中心,存放包括计算机用户帐户、WEB用户帐户、应用程序帐户等标识信息,同时还存储所用用户的权限列表、企业的安全策略。用户身份验证后,从DC上获得其权限列表,并结合资源的访问策略共同决定用户的操作权限。所有这些操作过程都通过GSSAPI调用实现。
下面再具体对本发明作进一步说明。
1.系统架构整个系统从逻辑上可以分作四层见图71)内核层采用基于JMX的微内核技术,已经实现了即插即用组件的管理框架;2)传输层采用JMX Remoting和GSSAPI库,分离网络传输和安全协议,并可以根据需要动态的插入不同的协议实现。
3)服务层所有的基础模块和功能模块按照SOA规范进行封装成ServiceBean,向ESB进行注册;并且按照JMX的MBean规范设计接口,保证MBeanServer可以动态装载、管理这些Service Bean;4)应用层所有模块在此暴露其接口,通过用户界面进行调用、管理。
5)服务总线以软件总线的形式贯穿这个系统,系统内的所有服务组件都在此注册,负责管理不同组件之间的路由、状态管理,隐藏组件的位置、平台、协议、编程语言等细节。
2、基于JMX的即插即用和可视化管理在本发明中对JMX整个架构分三层实现,设备层、代理层、分布服务层见图4设备层这一层是被管理资源驻留的地方,每个被管理资源按照MBean的接口规范进行定义和实现;具体定义方式见图81)所有的模块以SOA的Service模式进行设计开发;2)对每个Service,再按照MBean的规范进行封装,使用统一的方法进行操作或修改;如本系统规定,所有的属性都通过getAttribute/setAttribute来读取;可执行的操作通过Invoke方法调用;事件传播使用Notification、NotificationListener实现;描述MBean信息的辅助元数据,必须实现MBeanInfo接口;3)这些标准的资源就可以被MBean Server自动发现、读取属性、执行操作;4)提供的信息对于用户是好理解的,用户很容易判断管理界面所提供信息的含义。
代理层代理层位于被管理资源和管理者之间,用来管理资源,为了能够实现远程管理,还实现连接器和协议适配器;协议适配器是用来把MBean信息转换成符合特定信息的视图,如HTTP适配器可以使得Mbean信息在Web页面上进行显示。
通过Installer Service(动态加载服务),本系统实现了即插即用的控件管理。详细原理如图9,即插即用。
1)在JMX内植入一个Installer Serivce来实现控件的即插即用管理;2)每个需要发布的类有两个部分组成,一个XML格式的文本文件叫做Descriptor(描述符),服务的二进制代码如java的jar包。
3)部署时先把Descriptor(描述符)发给Installer Service,Service收到这个文本文件后,解析其中内容,获得代码的URL,下载该代码包并实例化该组件,然后再Mbean Server中注册,随后,这个新的组件就可以被调用,同时可以被管理。并且Installer Service实现了多种协议,包括Http、Https以确保代码的安全、可靠。
分布服务层为了保证所有的JMX信息都能不受限制的传递,本系统在这一层中集成了JMX REMOTING技术,把传输协议分离出来,独立于其他层单独实现,这样就可以随时插入需要的协议实现。
具体实现步骤如下,参见图10即插即用示意图1)在系统控制中心有一个Provisioning Warehouse(版本库),所有的组件在这里集中注册、保存各种版本的副本;2)控制中心、工作站、组件会在管理员的界面上以节点的形式表示;3)当要发布新的组件、或升级旧的组件时,管理员在图形界面上以拖拉的方式进行操作;4)控制中心接到指令后,先把组件的Descriptor(描述符)文件下发给工作站;5)工作站接到这个文件后,把它交给Installer Service模块;6)Installer Service对文件解析,得到地址信息;7)Installer Service服务模块从控制中心的代码库中下载组件的二进制包;8)因为这些组件严格按照MBean接口规范定义,MBean Server会立即对组件进行实例化,并采集信息;9)采集到的信息通过协议适配器进行格式转换,再由连接器以多播的形式发布给感兴趣的监控台;10)监控台上立即显示出这些组件的状态,可配制的属性、可执行的操作。
3.利用松散的域模型集中管理用户验证与授权在确保数据安全之后,本系统采用了符合LDAP标准的产品,把所有的用户信息、策略设置集中存放在企业的目录服务数据库中,集中控制用户的授权。
见图11,域结构示意图1)整个系统采用单域模型,整个企业范围定义一个根域,根据地理属性或职能属性划分不同的子域。
2)域控制器作为KDC(密钥分发中心),对局域网内的安全实体进行验证;域控制器作为企业CA(证书颁发中心),对广域网内的安全实体进行验证;3)所有的企业信息,如用户权限、安全策略全部存放在根域控制器中,所有的域控制器之间相互信任;所有配置、修改工作都在根域控制器上进行,然后自动分发到各个站点,在整个企业范围内生效。
4)各种资源包括主机、数据库、应用程序、甚至函数都定义自己的安全需求,根据安全实体的权限来允许或禁止用户的访问;5)利用这种松散的域结构,大大简化了维护企业信息安全、集中管理的技术复杂性。
2.安全控制过程分布式系统需要面对用户认证、数据完整性、数据私有性、用户授权四个方面的挑战,现在流行的解决方案可以分成两大类。一种是基于对称加密算法的Kerberos安全架构,另一种是基于非对称加密算法的PKI架构;这两种方法都提供了完整的认证、完整性、私有性的解决方案,但这两种方法都有不同程度的不足。
Kerberos架构的对称加密算法具有效率高,消耗资源少,可以依赖简单的密码产生密钥等优点,但是通讯中的安全个体都要信任KDC,并且每个个体和KDC之间都有共享一个密钥;这不可避免的引起了密钥分发的问题。
基于非对称算法的PKI架构,完美的解决了公钥分发的问题,但是PKI架构中的密钥一般都是512或者1024位,无论加密还是解密都需要消耗大量的资源、效率差,甚至必须提供专门的硬件才能满足效率需求。
本系统综合了两种流行方案的优点,所有的安全个体都需要从公司的企业CA申请证书,个体间通讯之前根据证书进行身份验证,验证通过后,使用对称加密算法对数据进行加密,而加密密钥利用用户的公钥进行保护传递;采用这种方法,既可以安全的分发密钥,同时保证了加密算法的效率。见图12,安全交互示意图1)用户登录系统,向KDC发送证书和TGT请求,请求用用户的私钥进行数字签名;2)KDC先检查证书来验证用户,然后检查签名确认数据没有被篡改;检查通过后KDC产生会话秘钥、TGT,连同KDC的证书、数字签名发给用户;3)用户验证KDC身份,检查数字签名,检验通过后得到了和KDC的会话秘钥4)当用户需要访问其他服务器或程序时,需要从KDC申请针对该服务的ticket;5)用户向KDC提交TGT,以及ticket申请;6)KDC验证TGT,产生该服务的ticket,返回给用户,并且用服务器的公钥进行加密;7)客户把ticket、证书提交给服务器,服务器验证用户,生成和用户之间的会话秘钥,用服务器的私钥进行签名;用用户的公钥加密;8)用户接到服务器证书,验证服务器身份,验证数据签名,得到会话秘钥;9)用户和服务器之间开始加密通讯,使用对称加密算法。
4.基于SOA的架构集成工作流、规则引擎SOA是针对分布式服务的一种开发模式,并没有明确的规范参考。传统的分布式开发,Service Consumer和Service Provider之间是点对点连接。SOA引入一个叫做ESB(企业服务总线)的基础设施,它支持多种协议,提供独立于实现的接口定义标准。
引入ESB后,Service Provider和Serivce Consumer之间的耦合解除,两个系统可以独立开发,不用考虑对方的平台、编程语言。真正的实现了分布系统集成。总线结构大大减少了需要维护的连接数量。参见图3,SOA架构基于SOA,把异构系统集成到工作流引擎,规则引擎上,提供业务流程管理。工作流引擎在技术世界里已经存在很长时间,但传统的工作流技术只能用在单一的软件产品内。直到Web Service的出现,特别是SOA架构的提出,才使得不同厂家、不同平台的应用集成到一个工作流引擎上成为可能。
具体技术细节,见图5,SOA、BPM(Business Process Management业务流程管理)1)对企业的遗留系统按照SOA的要求进行重构,提取出功能独立的并符合Mbean规范的Service Bean;2)这些Service Bean在SOA的ESB上进行注册;3)使用支持Service的工作流引擎,根据企业的业务流程,对这些Service进行选择、排序,生成流程图;4)整个流程的推进由工作流引擎驱动,引擎根据流程图调用相应的服务,并根据返回结果判断下一步前进方向;
5)遗留系统、新系统不用考虑彼此间的通讯协议、连接方式、连接状态,只需要把调用请求提交给ESB,剩下的工作全由ESB代理;请求方只需要关心返回结果就可以了;6)对于各个应用内部设计到的业务规则,可以进一步的提取成规则对象,保存到规则库中;7)应用程序只需要构造数据对象,然后把它丢给规则引擎,规则引擎负责用相应的规则交验这些数据,返回结果。
权利要求
1.一种媒体发布系统,包括服务提供者模块、服务消费者模块,其特征在于,还包括内核层,采用即插即用组件的管理框架;传输层,采用远程JMX和GSSAPI库,分离网络传输和安全协议,并可以根据需要动态的插入不同的协议实现;服务层,所有的基础模块和功能模块按照SOA规范进行封装,向服务总线ESB进行注册;并且按照JMX的MBean规范设计接口,保证MBean Server可以动态装载、管理这些Service;应用层,所有模块在此暴露其接口,通过用户界面进行调用、管理;服务总线,以软件总线的形式贯穿整个系统,系统内的所有服务组件都在此注册,负责管理不同组件之间的路由、状态管理,隐藏组件的位置、平台、协议、编程语言。
2.如权利要求1所述的媒体发布系统,其特征在于,内核层包括设备层、代理层、分布服务层,其中设备层,用于驻留被管理资源,每个被管理资源按照MBean的接口规范进行定义和实现;代理层,位于被管理资源和管理者之间,用来管理资源;分布服务层,用于集成了JMX REMOTING技术,分离出传输协议,独立于其他层单独实现,实现随时插入需要的协议,并保证所有的JMX信息无限制的传递。
3.如权利要求2所述的媒体发布系统,其特征在于,代理层还包括连接器和协议适配器,以实现远程管理,并把MBean信息转换成符合特定信息的视图。
4.一种媒体发布方法,其特征在于,该方法包括(1)采用即插即用组件的管理框架设置一内核层;(2)采用远程JMX和GSSAPI库,分离网络传输和安全协议,并根据需要动态的插入不同的协议实现;(3)所有的基础模块和功能模块按照SOA规范进行封装,向服务总线ESB进行注册;并且按照JMX的MBean规范设计接口,保证MBean Server可以动态装载、管理这些Service;(4)暴露所有模块的接口,通过用户界面进行调用、管理;(5)以软件总线的形式贯穿整个系统,系统内的所有服务组件都在此注册,负责管理不同组件之间的路由、状态管理,隐藏组件的位置、平台、协议、编程语言。
5.如权利要求4所述的媒体发布方法,其特征在于,所述步骤(1)包括(51)设置一设备层,用于驻留被管理资源,每个被管理资源按照MBean的接口规范进行定义和实现;(52)设置一代理层,位于被管理资源和管理者之间,用来管理资源;(53)设置一分布服务层,用于集成了JMX REMOTING技术,分离出传输协议,独立于其他层单独实现,实现随时插入需要的协议,并保证所有的JMX信息无限制的传递。
6.如权利要求5所述的媒体发布方法,其特征在于,所述步骤(51)具体包括(61)所有的模块以SOA的Service模式进行设计开发;(62)对每个Service,再按照MBean的规范进行封装,使用统一的方法进行操作或修改。
7.如权利要求6所述的媒体发布方法,其特征在于,所述步骤(62)中所述按照MBean的规范进行封装包括所有的属性都通过getAttribute/setAttribute来读取;可执行的操作通过Invoke方法调用;事件传播使用Notificaiton、NotificationListener实现;描述MBean信息的辅助元数据,必须实现MBeanInfo接口。
8.如权利要求5所述的媒体发布方法,其特征在于,所述步骤(52)还包括(81)在JMX内植入一个Installer Serivce来实现控件的即插即用管理;(82)每个需要发布的类有两个部分组成,一个XML格式的文本文件叫做Descriptor,服务的二进制代码如java的jar包。(83)部署时先把Descriptor发给Installer Service,Service收到这个文本文件后,解析其中内容,获得代码的URL,下载该代码包并实例化该组件,然后再Mbean Server中注册,随后,这个新的组件就可以被调用,同时可以被管理。
9.如权利要求5所述的媒体发布方法,其特征在于,所述步骤(53)具体包括(91)在系统控制中心有一个Provisioning Warehouse,所有的组件在这里集中注册、保存副本;(92)控制中心、工作站、组件会在管理员的界面上以节点的形式表示;(93)当要发布新的组件、或升级旧的组件时,在图形界面上以拖拉的方式进行操作;(94)控制中心接到指令后,先把组件的Descriptor文件下发给工作站;(95)工作站接到这个文件后,把它交给Installer Service模块;(96)Installer Service对文件解析,得到地址信息;(97)Installer Service服务模块从控制中心的代码库中下载组件的二进制包;(98)MBean Server对组件进行实例化,并采集信息;(99)采集到的信息通过协议适配器进行格式转换,再由连接器以多播的形式发布给感兴趣的监控台;(910)监控台上立即显示出这些组件的状态,可配制的属性、可执行的操作。
10.如权利要求4所述的媒体发布方法,其特征在于,所述步骤(2)还包括所有的安全个体申请证书,个体间通讯之前根据证书进行身份验证,验证通过后,使用对称加密算法对数据进行加密,而加密密钥利用用户的公钥进行保护传递。
11.一种利用权利要求1所述媒体发布系统或者权利要求4所述媒体发布方法分离商务规则和技术的方法,其特征在于,包括如下步骤(111)按照SOA的要求进行重构企业的遗留系统,把各专业应用分解成一个或多个服务,以Service Component的形式存在于系统中,并可以利用上一部分的“即插即用”功能,在SOA的ESB上进行注册,动态管理;(112)使用支持Service的工作流引擎,根据企业的业务流程,对这些Service进行选择、排序,生成流程图;整个流程的推进由工作流引擎驱动,引擎根据流程图调用相应的服务,并根据返回结果判断下一步前进方向;因为采用SOA,各种系统不用考虑彼此间的通讯协议、连接方式、连接状态,只需要把调用请求提交给Service Bus,剩下的工作全由Service Bus代理(113)对于专注于特殊功能的应用,把其中的处理规则从代码中剥离出来,放到规则引擎中,把公司策略从应用中分离出来,并且可被其他应用重用。
全文摘要
本发明涉及一种全新架构的媒体发布系统,包括服务提供者模块、服务消费者模块,内核层,采用即插即用组件的管理框架;传输层,采用远程JMX和GSSAPI库,分离网络传输和安全协议,并可以根据需要动态的插入不同的协议实现;服务层,所有的基础模块和功能模块按照SOA规范进行封装,向服务总线ESB进行注册;并且按照JMX的MBean规范设计接口,保证MBean Server可以动态装载、管理这些Service;应用层,所有模块在此暴露其接口,通过用户界面进行调用、管理;服务总线,以软件总线的形式贯穿整个系统,系统内的所有服务组件都在此注册,负责管理不同组件之间的路由、状态管理,隐藏组件的位置、平台、协议、编程语言。具有可管理、易扩展、低耦合的特点。
文档编号G06Q10/00GK1741525SQ20051008627
公开日2006年3月1日 申请日期2005年8月23日 优先权日2005年8月23日
发明者林荣, 林镇武 申请人:北京无限新锐网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1