总线和总
总线是连接多个部件的信输线,是各个部件共享的介质,而且在某一个时刻,只允许一个部件,想总线发送消息,但是多个部件,可以时从总线上接受相
总线的传输周期:
一次总线操作所的时间,简称线周期,有四个阶段:申请阶段,寻址阶段,输阶段,结
总线宽度:
又称总线位宽。他是总线,同时鞥够传输的数据位数。通常是数据总线的
总线带宽:
单位时间内,可以传数据的位数。通常用每秒传输字节数
总线的特性:
电气特性,机特性,功能特性,时间特
总线标准:
国际公布或者推荐的互联各个部件的标准。各个件组合在一构成计算机系统时所遵循标。总线标准为计算机系统的各个模块提供统一的接口。该界面对他两端的模块都是透明的,即界的何一方,只需根据总线的标准,现自身方的接口功能。而不必考虑对方接口工鞥界
总线的主模块:
总线的主设备
总线的从设备:
总线的从设备是指只能被设备访问的设备。只能响应从指设备来的总线
总线的应用很广泛,按照不同的分类,可以有不同的分类方法,按照部件的连接方式,有 片总线:芯片
系统总线:连接CPU ,I/O,主存各个部件的信息
通信总线:连接计算机信系统之间,或者计算机与其他系统之的信息传
为什么要
单总线结构的计算机将CPU ,主存,各种速度不的外设I/O,挂载同一个跟总线上,种结构简,便于增删设备,但所有的传输,都经过这组共享总线,极易形成计算机系统的颈。随着算机用范围扩大,对数据传输量和传输速度,要求越越高,单总线的结构经不能满足系统工作的需要。为了解决总线瓶颈的问题,可以采用多总线结构,如果将速度不同的外设挂载在不同速度的外设上总线上,如多体卡,高局域网卡,能图像版,等输速很高的设备挂载到PCI 总线上,将低速的FAX ,MOdel ,等挂载到性能较低的ISA,EISA, 总线上,使设的息分流,从而提高整机的
由于总线上,连接多个部件,每个件如何发送消息,如何接受消息,如何防止信息丢失,都由总线控制
总线控制包括个方面:判优控制,通信
总线判优控制:
当多个总线同时总线申请控制的时候,必须由总线判优逻辑其优先进行仲裁,觉定由那部件占用总,判优逻辑有种方,为集式和分布式两种。集中式总线判优逻辑有式查询,定时计数器查询,独立请求方式。在链式查询方式中,离总线控制器最近的设备,先级高。这种方式的特点是:只需很少几根弦,可以实现一定优先顺序的总线控制,并且很容易实现扩充,电路故障比较敏
计数器定时查询:计数器的时查询,计器的初值可以有改变,因此,设备的优先级,可以改变,这种方式对电路的故障没有链式查询敏感,增加总线控制数,控制也
独立请求方式:独立请求方式,每个设备都有线请求信号和总意信号。总线控制电路有一排电路,可以根据有限次序,确定相应那一设备的请求,这种方的特是:响应时间快,优
总线的通信控制:要解决如何获知总传输的开始和结束。以及通信双方如何协调配合,总线通分两种:同步
同步通
上图中,一个总线输周期有四个时周期T1-T4。cpu 在第一个时钟周期的上升到之前发出地
在第二个时钟周期上升沿到达时,送读命令。输入备必须在第三个时期到达之前,把数据送到总线上,而cpu 在第三个时钟周期内,可以把总上的数据送到其内部的存器内。在第四个是时钟周期的上
撤销读命令,入设备撤销数据。可见,通
方在约定的时钟周期内现通信。但由于同步,必须按照最慢的模块设计时钟,当总线上各模块存取时间差异很时,会大大降低总
异步通信没有功能时钟,采用应答方式通信,允模块的速度不一致,总线的传输,周期不固定,异步通信具体分为三种
不互锁的方式点是主模块的请求信号和从模块的答信没有制约关系,主模块发出请求信号后,不必从模块的应答信号,而是经过一段时间,确认从模块已接收到请求信号后,便撤销请求信号,而从模块在接受到请信号,在条件允许时,发出回答信号,经过一段时,确认主模块已经接受到请求信号,动撤销回答信
半互锁方式的特点是主模块和从之间存在简的制约关系,即主发出信号请求后,必须待从模块应答后,才撤销请求信号,从模块发出应信号,也必须带主模块获后,在销其回答信号,双方存
全互锁方式的方式特点是:主模块和模块之间有完全制约关系, 即主发出请求后, 必须等待从模块响应后, 才撤销请求信号, 从模块发出应答号, 也必须等待主模块获后, 撤销其回答信号, 双方
为了减轻总线载, 且避多个部件同时占用总线, 总线上的部件该具有什么
以cpu 片内总线为例,每个往总线传送的数据的寄上接三态门,三态门的控制端决定在某一个时刻,由那个寄存器输出。当控制端是无时,存器和总线之间存在
企业服务总线的基本概念
引言
" 一切都在流动,没有什么是持久的。
大约在2003年中的时候,SOA 的概念逐渐进入人们的视野,一时间众人乐此疲发表各自对SOA 的见解。SOA 已经成IT 业,尤其是软件开发及系统集成领从业者的热门话题。很多的威机构也纷纷预测SOA 美妙前,例,Gartner 预言,到了 2008 年,少 60% 的企业使用 SOA 作为其IT 架构。抛开喧嚣躁动以及随声附和,对于软件开发者而言,经过了一年多的概念灌输,伴随着不断增长的困惑,更多的人希望能静下心来看一看:究竟怎样的系统架构是符合SOA 设计的,而有哪些技术可以用来实现SOA ?特别企业服务总线(Enterprise Service Bus, ESB), 看起来是SOA 中一个玄虚的概念,本系列文章将通过实际的案例分析来详细解
本系列文章将直接面向大的软件开发人员, 先以直观的方式绍什么是ESB , 然后引入个实际案例,以此为基础,详介绍怎样一步一步现ESB 。现在我谈SOA 和ESB 的时候都不再是空中楼阁,IBM 作SOA 的倡导者,已经提供了很好的产品来实现我们的设想。我们会在本系列中的第二、第三部分中分别介绍基于WebSphere 6 和IBM EAI品的两种实现方式, 然在四部分中介绍在复杂的企业应用景中总线(Bus)样互联, 怎样扩展。希望通过本系列文章,能让广大读者朋友速握ESB 的实际开发
回页首
关于SOA
关于SOA 的概念,你以找到很多的文章从不同的度来描述它,不同软件提供商也有不同的方式。BEA 有流体计算,微软有Indigo 和SOA-building , SAPESA 。 每个都可以不同的视角来理解SOA ,从程序员的角度,SOA 是一种全新开发技术,新的组件模型,比如说Web Service;从架构设计师的角度,SOA 就是一种新的设计模式,方法学;从业务分析人员的角度,SOA 就基于标准的业务应用服务。从念的度,IBM 对SOA 的定义是最全面的,既SOA 是一构造分布系统的方法,它将业务应用功能以服务的形式提供给最终用户用其他服务。SOA 包括如
:
?
?
?
?
?
? 一个体系架构,用开放的标准将软件资产(Asset)化为服务 供标准的方法来表示件资及交互 单独的软件资产作为构造单元,被重复使用来开发其他应用 将关注点从细节实现转移到应用(application)组装 整合企业外的应用(B2B )的方式 开发(现在)和合(未来)的
本文针对的读者是软件开发人员,在开发人员角度,往往希望软发能够满足对于开发效率、可靠性、易维护性、易管理等多方面的更高要。让我们通过回顾软件开的演化程来看一看SOA 出
? 面向机器语(Monolithic)的开发模式:需要根据不同平台的器语言来开
? 面向过程(Procedure)的开模式:独立于的程序语言(C, Pascal 等) 使开发过程变得简单了,用过程来代表一个象的码集合,包装重用
? 面向对象(Object)的开发模式:用更接近现的对象来
个相对完整的事物。面向对象言(Smalltalk,Java 等) ,提供了更抽象的封装和重用模式。面向对象的开发强调现实世界问题域到软件程的直接射,更接近人类的自
? 面向组件(Component)的模式:随着软件开发
及分布式、异构等复杂特征的环境中,码级别的重用性,可维护性差,效率的点是不可逾越的,因此人们以架构运行环境(如.Net ,J2ee 等) 来提完的支撑平台,从而把开发者放出来,更专注于业务核心的开发。这些业务
(Business Function) 以组件形式(DCOM, EJB等) 发布运行在架构运行环境中。软件开发的用模也上升到业务组
? 面向服务(SOA)的模式:当软件的使用范围扩展更广阔的
往往会面对更加复杂
(Service)概念出现了,人们应用(Application)以业务服(Business Service)形式公布出来供别使用,完不需去考虑这些业务服务运行在哪一个架构体系上,因所有的服务都讲着同样的语言。SOA 考虑了业务发展的长期性,体现了" 变化就是永恒" 的思想。SOA 的核体现在企业应用或者务能上的" 重用" 和" 操作" ,而不再IT 与业务对立起来,这可以被视为在IT 驱动务方向上迈出的重要一
我们注意到,SOA 同也强调重用(Reuse), 但是相对于传统的代码重用,对象重用,和部件重用,SOA 的重用粒度更粗。SOA 的重用在业务级的应用,即服务的重,这与件的发展律一致的。软件发展的过中,软件用的对象越来越接近我们的现实生活。通过部件的重用,软件的发更具效率,并且开始试图用组件表达业务模式。但是,IT 人员仍很难业务人员解清楚IT 构样映射业务模型上。然而,IT 构与业务模型的合是不可避免的方向。现代企业的务环境所面临的最挑战就是变化,规则变,需求变,而变化做出最快的反,快地适应变化,为企占得先机,成功运作的关键。很多企业的业务环境依赖于他们的IT 架构,因此,IT 部门往直接承载了业务变化带来的压力。一个具体的业务变化,都直接反应到对现有的IT 平台要:要么企业IT 架构本身对变化自适应,要么IT 架能够在短时间内根据新的业务规则做出调整。这就是SOA 架提出的根本原因,我们需一种更加贴近业务的IT 架构,能够直接描绘业务,对那不IT 技术业务领域专家来说,业务服务却是他们最熟悉的,也就是说是SOA 把件重的对象从IT 人员上升到了业人员。因此,我们可说SOA 与其它相比,最大的进步在于与业务的关联性," 服务" 对应到实际业务。IT 通过" 服务" 与业务发生了密切的关系,业务人和IT 人员可以专注于业务逻辑的实现,而共同的语言就是"
但不是什么场合都适用SOA 。通常来讲,SOA 适用于较为复杂的IT 架构,经常需要与外部复杂的IT 环交互,并且需要快速
发生的业务变化。就像你可能在控制洗衣机的芯片使用EJB 开一样,如果你的IT 环规模很小,足以灵活地应对变化,不需要与他的异构IT 环境繁交互,那么SOA 来的处不足以消它你带来的系统复杂性。但是,即令如此,你并没有被完全排除在SOA 的大趋势之外。SOA 是如此地倍受瞩目,我们可以预见到它的迅猛发展,因此即使你的内部IT 架构本身并不是基于SOA 的,也还有机参与到未来的SOA 架构去。如,将你的某个业务以服务的形式布到某个外部SOA 台上供别使用,作为第三方SOA 平台的一个服务提供者(Service Provider)
在选择SOA 的实施方案时,要记住,软件的具体实现技术诸Web 服务与SOA 是两回事,SOA 是一个,方法学, 者用个更时髦的词:一种模型。而Web 服务呢?它是一种具体实现技术,就像EJB 一样。SOA ≠ Web 服务。不公平地讲,Web 服务倒确是目前最适合实现SOA 的技术之一,用Web 服务来封装业务服务是个不错的选择。因为Web 服务是标准的,WS-I 协议保证了来自不同厂商的Web 服务即使运行在不同的平台上,底层的实现机理不同也可以顺利互,这是以的任何一种技术如CORBA ,EJB ,或DCOM 都不能做到的。而且,Web 服务的定义与实现是开描述,即松散耦,因此,可以很方便地替换服务的内在实现而不会对现有的系统造成任何击,这也极大地促进了IT 架构的灵
对于SOA 更进一步的,可以参考IBM developerWorks 上其他SOA 相关的文章(请参见参考资料) ,我的系
此不再此过多地论SOA 了。为使我们下面的论述更顺畅,请先牢记典型的SOA 架有哪些基本
1. SOA 在相对粗的粒度上对应用服务或业务模块行封装与
2. 服务间保持松散耦,基于开放的标准, 服务的接口描与具体实现
3. 灵活架构 -服务实现细节,服务的位置乃至服务请求的底协议都应该
回页首
ESB
让我们暂时回到网络技术不普及的时代,样两台机器之间递文件?我还记得为了给室的每台机器安装Borland C++的环境,猜猜我动用了什么:一根" 串口线" 。过,我仍然觉得庆幸,好在每台机都运行同的操作系统- DOS(很少
中有
Interlnk 这样一个命令吧) , 用通过串口线两台机器间传递流文件。否我将不得不用软盘来拷贝所有的安装文件。我那个时候的梦想就是,哪一天有这么一个叫做" 络" 的东西能够把实验室里所有机都连接起来,而不用我在各机器间跑来跑
让我们回归主题,你现在已经基本白了什么是SOA 。假定你已经照SOA 的思炼出各种业务服务,公布出,同,发现其他很多也做同样的事情。大家都很振奋,开始踊跃尝试,我调用你的一个服务,调我的一个服务。啊哈!大家都SOA 。且,那么这SOA 你们带来了什么好处呢?Ok ,现在我可以在J2EE 境里调用.Net 的组件,但是原来没有SOA 的时候也可以做到的。只要两个点之间互相认可对方的方式,即使不存在公开/统一的服务界面也可以实现点到点的互联。因此我们不得不承认,如果我们只有服务,而服的请求者和服的提供者之间仍然需要这种显式的点到的调用,那么这就不是一个典型的SOA 架构。请图,服务的参与双方都必建立11 的联系。样一个结构与我十几年前的那种互联的方式何其相似!但是,还记得我们上面提到SOA 三个基本要素吗?显然第三点没
因此,在SOA 中,我们还需要这样一个层,能够帮助实现在SOA 架构中不同服务之间的智能化理。容易想到的是
HUB-Spoke 结构,在SOA 架构中的各服务设置个类似于Hub 中间件,由充当整个SOA 架的央理器的作用。请看图三,现在服务的请求者和提供者之间有了一个智能的中转站, 服务的请求者不再需要了解服务提供者的节。错!看上去是一个好的SOA 结构。事实,传统的EAI 就是通过这样一种方式来试图解决企部的应用整合问
EAI 的目标是支对现有IT 系统的利用,通过EAI 技术能够将不同的软件和系统串联起来,长这应用系统的生
传统的
EAI ,往往使用如CORBA 和COM 等的消息中间件进行分布式,跨平台序交互,改企业资源规划以达到新的标,使用中间件、XML 等方法来进数据配。因此,实际传统的EAI 是部件级的重用。很不的是,基于部件架构没有统一的标准,因此,各个厂商都有各自不同的EAI 解决方案,你会看到各种各样的中间件平台。如果EAI 碰到异构的IT 环境,就必须分别考怎在各个不同的中间件之间周旋,实现合理的互联方式,你不得不考虑各种复杂的可能性。因此,你所见过的大多数传EAI 解决方案都比较
再回顾一下我们上面绍过的SOA 的应用景:复杂的企业级架构。如果我择Hub 的模式来构建SOA 基础构,从纯粹逻辑角度,可能会出现些问题呢?首先,整个SOA 架构的性能,如果每个服务请求都经过中央Hub 的中转,那么Hub 的负担会很重,速度会随着参与者的增多而愈来愈慢;其次,这样的系统会很脆弱,一旦Hub 出错,个SOA 架构都会瘫;后,这样的架构会破坏SOA 的开放性原则,参者运行在一个相对封闭的环境中,扩展起来十分麻烦。因此,这不是理想的SOA
好了,现在该ESB 登场了,请看我们的正
它与前面的Hub 结构有什么不同呢?首先,它比单一Hub 形式更放,总线结构有无限扩的可能;其次,真正体现了SOA 的念, 切皆为服务,服务在总线(BUS)中处于平的地位。即使我们需要一些Hub ,那么它们也是以某种服务的形式部署在总线上,相比上面的构要活的多。这就是ESB ,我们需要给它一个明的定义:ESB 是一种在松散耦合的服务和应用之间标准的集成
?
? 面向服务的架构 -分式的应用由重用的服务组 面向消息的架构 - 应用之间通过ESB 发送和接受消息 事件驱动的架 - 应用之间异步地产生
很不幸,上面定义看上去很拗口,我们暂且用一句俗的来描述它:ESB 就是在SOA 架构实现务智能化集成与管理的中介。而它与SOA 的关系要相对好理解一些:ESB 是逻辑上与SOA 所遵循的基本原则持一的服务集成基础架构,它提供了服务管的方法和在布式异构环境中进行服务交互的功能。
是特定
环境下(SOA架构中) 实施EAI 的方式:首先,在ESB 系统中,被集成的对象被明确定义为服务,而不是统EAI 中各种各样的间平台,这就极大简化了在集成异构性上考虑,为不管有样的用底层实,只要是SOA 架构中服务,它就一定是基于标准的。 其次,ESB 明确强调消息(Message)处理在集成过程中的作用,这里的息指的是应用环境中被集对象之间的通。以往传的EAI 实中碰的最的问题就是被成者都有自己的言,即各自的消息格式。作为基础架的EAI 系统,须能够对系统范畴内任何一消息进行析。传统的EAI 系中的消息处理大是被动,消息的处理需要各自中间件的私有方式支持,例如API 的方式。因此管消息处理本身很要,但消息的直接处理不会是传统EAI 系统的核心。ESB 系统由于集成对象统一到服务,息在用服务之间传递时格式是标准的,直接面向消息的处理方式为可能。如果ESB 能够在底层支持现有的各种通讯协议,那对消息的处理就完全不考底层的传输细节,而直接通过消息的标准格式定义来进行。这,ESB 中,对消息的处理就会成为ESB 的核心,因为通过消息处理来集成服务是最单可的方式。这也是ESB 中总线(Bus)功能体现。,总的概念并,传统的EAI 系统,也曾经提出过信息总线的概,通过某种中间件平台,如CORBA 来连接企业信息孤岛,但是,ESB 概念不仅是供消息交互的通道,更重要的是提供服务的智能化集成
最后,事件驱动成为ESB 的重要特征。通常服之间传递的消息有种形式,一种是调(Call), 即请求/回应方式,这是常见同步模式。还有一我们称之为单路消息(One-way),它的目往往是触发异步的事件, 发送者不需要上得到回复。考虑有些应用服务是长时间运行的,因此,这种异步服务之间的消息交互也是ESB 必须支持的。除此之外,ESB 的很多功能都可以利用这机制来实,例如,SOA 中服务性能控等基础架构功能,需要通过ESB 来提供数据,当服务请求通过ESB 中转的时候,ESB 很容易通过事件驱动机制SOA 的基础架构服务传递
回页首
ESB
首先,我们来看一看ESB 有哪些的功能。既然ESB 会以中介的身份,它就必须有两方面的考虑,首先它必须了解被它中介的两个端点:1) 服务的求以及请求者对服务的要求,2) 务的提供者和它所提供服务描述;其
它必须具有
务。我们把这两类虑归纳为ESB 的两个基本功能:面向服务数据(MetaData)管功能 和中介(Mediation)功。 作SOA 的重要构成部分,ESB 承担的重还包括怎样将企业架构中已存在的业务服务连接到总线上来,我们称之为适配器(Adapter)能。管服务本身已经用开的接口来描述,但具体的实还是运行在不同环境中,因此,ESB 还应该提供对服务底层的支持,譬如应用
J2ee ,.Net , 通讯协如Http ,JMS 等等。除此之,还需要对具体应用中涉及到的服务加以管理,如性能,可靠性,安全性等等。 ESB 提供了最基本的功能来保SOA 统的运行,这些功能应该含下列内
? 在总线范内对服务的注
? 面
o
o 提供位置明性的服务路由定位服务 多种消息传递型式(请求/响应,单路求,发布/订
o
? 支持广泛使用的传输
? 对服务管理的支,如服务调用的记录、测量和控数据
很多时候,很难界哪些功能是应该由SOA 的基
(infrastructure)提供的,而哪些应该放ESB 的范畴内来解决。者认为,放或突出ESB 在SOA 架中的地位并不很恰当。比较合理的解释是:ESB 应该构筑在完善的SOA 架构上,做它应该做的事-服务集成。至于怎样集,应根据你的上下文环境,考虑有哪些SOA 基础设施可你使用,然后再基于SOA 的基础架构来你的ESB 设
在更高的层次,ESB 还提供诸务代理,协议换等等功能,我们称ESB 的应用模式(ESB usage pattern)。作为SOA 构服务集成功能提供者,们可以结出的一些比较常用的应
1)协议转换模型,用于当务的请求者与服务提供者基于不同协时的消息转
2)消息广播模式,于事件驱动多个动作或者消息广播
3)服务匹配模式,用于要动态选择服务提供者形,例如可以根据消息的内容,或负载情况,或服务级别约定(SLA),来为务请求者选择合
这里我们只列了3个典型的模式,而这样的例子太多,发挥你的创造,你还会想出来更多的,这也ESB 的魅力所在。但是,在ESB 的设计上,注意不能喧宾夺主,ESB 的功能在于帮助服务的集成,而不是与业逻辑。业务逻辑应该封装在业务服务,或通过务编排服务(Process Service)来组
回页首
实战
关于ESB ,目前还没有被一致接受的。们可以通过选成熟的EAI 中间件现服务的集成与互操作性。这样做的好处是你的开发过程会很顺畅,因为它已经足够稳定且有富的具支持。通常这样的EAI 产品在目
WebSphere MQ5.3,为IBM EAI实现ESB 的消息台,就不是开放的标准。如果一定要选开放标准的ESB 实现式,Web 服务加上WS-* 协议几乎是我们唯一选择,但毕竟SOA 、ESB 仍处于起步的阶段,一方面我们还没有很成熟的产品支持所有的WS-*协,另一方面这些WS-* 协议本身还处在频繁变的阶段。因此当选择ESB 实施方案的时候,最好考虑平衡ESB 实施、开发的工作
这里你可能会有疑问,然SOA 架构追求开性,为什么我们容忍用私有的ESB 产品如IBM WBI/MQ来构建SOA 架构的集成环境?这是一个好问题。SOA 始终我们求的目标,开放是必然的趋势,这是毋庸置的。但是,请注意ESB 的定义,至少到目前为止,还没有明确的要求它的实现一定是开放的,每一个软件供应商对它都可能有不同的理解和实现的略。我们用怀疑ESB 将来的开之,但至少在目前阶段,我们不能下来等待它的到来。 其实,ESB 充当的是SOA 中的中介角色,因此,即使将ESB 变化了,对服务的
和服务的提供者都不会造成很大的冲击,为它本来就是对户透明的。举个例子,J2EE ,它的标准一直在变化中,但是大家通常都能接受它的变化,社会总是要进步的,IT 也一样。你不可能因为J2EE 两以后要出1.6就不再使用现的1.4
IBM 目前可以用ESB 实施的产品也可以分为两大
1. 以目前稳定产品如WS MQ,WBI Message Broker,Tivoli 等代的EAI 解
2. 以WAS6 SIBUS为代表的专用ESB
现有的EAI 解决案,可能涉及如下的IBM 软件
? WebSphere BI Message Broker用于提供ESB 的message 中
?
?
?
? WebSphere MQ / JMS 用于息传服务 WebSphere Process Choreographer 用于实现服务流程 WebSphere Adaptor用于连接遗留系统 Web Service Gateway用于实现Web 服务 Proxy,屏蔽企业内部/外部Web 服务的实现
WAS6 中提供了崭新消息服务平台WPM(WebSphere platform messaging) ,并基于这一平提了ESB 的一个
SIBus(Service Integration Bus) 它可以支持同步和异步的消息通信。总线(Bus)通过互联的消息擎管消息源。同时支持
服务和JMS ,MQ 格式的消息交互。你可以从WAS6身看到IBM 战略变化,SIBus 只是IBM 大对于SOA 支持的一步,你还会很快看到更多的变化,例如独立的ESB 产品,ESB 的开发工具等等。但是,你完全必担,这些变化都会保持兼容性,现在SOA 的投入,论是以哪一种方式,都会在IBM 的SOA 整体考虑之
上述的两种方案并不是对立的,你可以选择于成熟产品实现ESB ,也可以尝试一下IBM 的最新技术。这两种方案甚至可以互联,见图八。我们将在列的四部分讲解这一较为
在本系列文章接下来的三分中,我们将继续详细描述ESB 具体实现
总线基本概念部分
1、现
现场总线——应用于现场仪表与制系统和控制自动化系统之间的全分散、全数字化、双向、互联、多站的信息通信链路,实现相互操作及数据共享。现场总线的要目的用于控制、报警和事件
2、现场总
(1)基地式气动仪表控系统 (2)电动单元组模拟仪表控制系统 (3)集中式数字控制系统 (4)集散控制系统DCS (5)现场总线控制
低速总线产品:应用于行速率较低的领域,对网络的能要求不
高速现场总线:应用于控制的互连,连控制计算机、PLC 等智能程度较高、处理速度快的设备,以及实现低速现场总线网桥间的连接,它是充实现统的全分散控制结
4、现场
(1)系统的开放性
(2)互
(3)现场
(4)系
(5)对
5、现场
优势:(1)节省硬件数量与投资
(2)节省安装费用
(3)节约维护开销
(4)用户
(5)提高
劣势:网络通信中数据包的传输延迟,通信系统的时错和数据包丢失,送与到达次序的不一致,会坏传统控制系统原本具有的确定性,使得控制系统的分析和综合变得更复杂,使控制系统的性能受到负面影响。何使制网络满足控制系统对通信实时性、确定性的要,是现场总线系统在设计和运行中关注的重要问
6、总线操
总线操作:总线数据发送者与接者之间的连接->数据传送->脱开这一操作列称为一次总
总线仲裁:总线裁指对总线冲突处理过程,根据某种裁决规则来确定下一个时刻有总线占有权
7、信
P24 3、现场总线分类P3
–W:信道
8、模
采用模拟信号不同幅度、不频率、不同相位来表达数据的0,1状态的,称为摸拟数
分类:(1)幅键控(ASK Amplitude-Sheft Keying)又称
(2)频移键(FSK Frequency-Sheft Keying)又称键
(3)相移键控(PSK Phase-Sheft Keying)又称键
9、数据传
(1)按数据流组织方式分:并行通信,串行
(2)按信息同时传输方向分:单工通信,半双工通,全双工
(3)按传输信号频率范围分:基带传输,宽带
(4)按通信的步方式分:同步通信,异步
10、传输
检错仅识别错误的现,不判别哪一位或哪些位出现
(1)冗余校验:
a 、奇偶校验
b 、求和校验
c 、纵
d 、循
(2)回送校验
11、前向
–在接收端检
–将一些额外的位照某种方式进行码,加入到通信数据中。根据这些位的状态可检测到一数的错误并进
–增加这些额外的增加了通信开支,也增加了计
–海明(R.W.Hamming )码常用于前向差错
海明码的编码规则
?发送端
–根据要传输的据单元的长度,确定冗余位的
–确定各冗
–计算出
–排列成包含冗校验位的数据序列,按此序
?接收端
–按与发送方同的方法,计出接收数据的冗余校验位,排列成包含冗校验位的数
–将按计算结果排列的数据序列与接收到数据序列比较,判断传输过程是否有错。是哪一位出错,并将错取反,以纠正
?确定纠正
–设纠正单比特错需增加的冗余位数为r ,r 应
2r ≥m + r + 1;m 为数据单元
–如7位的ASCII ,m 为7,取r 为4 满足上式;且r 为4是满足上式的最小取值 –要纠正7位ASCII 码
?冗余位的定位–将4个冗余位分别编号为R1, R2, R3, R4 –按海明码的编码规,这4个冗余位应分别插到数据单元的20, 21, 22, 23位置上,即R1, R2, R3, R4将被分别插入到数据单元的D1,D2,D4,D8的位置上。–各冗余位在11海明码中的
?各冗
–海明码的每个冗位的值都是一组数据的奇偶校
–冗余比特位R1, R2, R3, R4分别是4组不同数位的奇偶校
–采用二进制据来表示海明码11个数据
?有0001;0010;0011;0100;0101;0110;0111;1000;1001;1010,1011这11种情况
–对这11种情况中位数最位为1的位置进行偶校验,对0001;0011;0101;0111;1001,1011这6个数据位偶校,得到的偶校验码
?即R1为对从低位数起第1、3、5、7、9、11这6位作偶校验而得到的校验位。 –对这11种情况中位数的次低位为1、倒第2位为1的位进
?即对0010;0011;0110;0111;01010;1011(第2、6、7、10、11)这6个数据位做偶校,得的偶校验位的值
–依此类推
?对这11种情况中倒数3位为1(0100;0101;0110;0111)的位置,即第4、5、6、7这4位做偶校,得的偶校验位的值
?R4是对倒数第4位1的位置,即第8、9、10、11 (1000;1001;1010;1011)这4位做偶校,得的偶校验位的值
12、控制网
控制网络属于特殊类型的计算机网络,是用于完成自动任务的网络系统。从网络节点的设备类型,传输信息的种类、网络所执行的任务,网络所处的工作环等面,控制网络都有别于由通PCPC 机或其它计算机所构
13、曼切斯
曼彻斯特编码规则
–把时间
–其中每小段
–每个比特时间被分为两半,前段所传信号是该时间段比特值的反码,后半段送的是该比特
–从高电平跳变到低平表示0,从低电平跳变到高电平表
特点:
–其波形中间总有一次信号平的变化,因而具有使网络上各节点保持时同步的内在
–信号本身携带有步信息, 无需另外传送同步
用时钟周期起点电平变化与否代表数据“1”、“0”状态
–时钟周期起点电
–差分码按初始状态高电平或低电平,有相位截然反两种
差分曼彻斯特编码
–时钟周期起点电平变化与否代表数据的“1”、“0”
–既具有差分码特点,又具有曼彻斯特编码的
14、控制
控制网络应该满足对控制的实时求:如准确定刷新变量数据,生艺要求分布节点间的动作应满足一定的时序要求,如由PLC 控制的一生产装置不同部件的动作时与时,而且它们的动作通常需
对执行读写等操作有格实时要求的系统称时系统。实时系统的运行不仅要求系统动作在逻辑上的正确,, 同时要求满足
控制网络一般为分布式时系统。其实时任务是在不同节点上周期性地执行,执行结果应满足定时与时序要求。得络系统的通信
硬实时系统要求实时任必须在规定的时限完成,否则会生严重的
软实时系统中的实时任务超过了截止期后的一定时内,系统仍可以执行处理。 确定性(deterministic )网:按确时间安排实现
非确定性(nondeterministic )网络
15、控制网
网络的拓扑结
环形、星
16、载波监听
网络上的任何节点都有预定的通信时间,随机向网络发起
多个节点同时发起通信,信号在传输线上相互混淆而遭破坏,称为“冲
为避免冲突,每节点在发送信之前,都要侦听传输线上是否有信息在发送,就是“载波
CSMA 的控制案:先听再讲。节发送前先监听总线,如果介质空闲则发送。如果介质忙则等待定时间间隔
CSMA 坚持退避算:不坚持CSMA ;;11持;p
检测到冲突,立即停止发送,并向总线上发一串Jam 信号,通知总上各站冲突已
17、几种
P55
具体对应模
I2C总线基本概念
I2C 总线
必须掌握的I2C
I2C 总线是由菲利司开发的一种总线系统。I2C 总线系统问世后,迅速在彩电等电品中得到广泛的应用,尤是在新型彩电中应用最多。I2C 总线(I2C BUS,Inter Integrated-circuit Bus)常的文译名有集成电路间总线或内部集成电路总。下面简要介绍一下作为彩电维修人员应掌握的一些关于I2C 总线的
一、 I2C 总线的
1 I2C总线是一种
CPU 电上的I2C 总线有两根线组成,根是串行线(SCL ), 一根是串行数据线(SDA )。CPU 用串行时钟线发出时钟信号,利用串行数据线发送或接收
CPU 电路I2C 总线系统的核心,I2C 总线CPU 路出,彩电中很多需要由CPU 控制的集成电路、件电、高频头等可挂接在I2C 总线上,CPU 通过I2C 总线对这些电路进
I2C 总线上挂的被控集成电路功能与通常彩电相同,如存储器集电路、色度/集成电路等,只不过这些被控集成电路需要增加I2C 总线接口路。控集成电路通过I2C 总线接口电路接收由CPU 出的控制指令和数据,实现CPU 对被控集成电路
2 I2C总线
为了通过I2C 总线与CPU 进行通信,在I2C 总线上挂接的每一个被控集成电路中,都有一个I2C 总线口路。在接口电路设有解码器,以便接收由主控CPU 发出的控制指令和数据。由于在彩电中用的集电路多为模电路,因在接电中还设有数/模变换器(D/A变换器)和制开关,CPU 送来的数据经解码和D/A变换后才能对被控成电路执行
3 I2C总线属于
CPU 可以通I2C 总线向被控集成电路发送数据,被控集成路也可通过I2C 总线向CPU 传送数据。但被控集成电路接收还是发送数据则主CPU 控制。于I2C 总线是双向总线系统,因CPU 可以对I2C 总线上挂接的电路进行故
二、 I2C 总线
以CPU 为核心的I2C 总线系统与电视机中的其电路相,可以完成以下四项主要功
1 用户操作功能
用户对电视机的节目预选、音量、亮度、色度等的控均可通CPU 和I2C 总线和受
成电路来完成。这项功能与常规遥控彩电CPU 所具有的功能是相同
2 维修调整功能
对电视机各单元电路进工作方式设定和调整的功能。以往需要利用半可调电位器进行整项目(如:高放AGC 、副亮度、场幅、场中心、白平衡等)和维修开关在I2C 总线彩电中都可以进入维状态通遥控器来成。这项能,省了很多常规彩电中大量使用的半可调电器,提高了产品的可*性。但正是这项功能,给维修人员来了很多
3 故障自检功能
由于I2C 总线具有数据双向传输功能,此CPU 可对I2C 总线被控成电路的工态进行检测,并对维修人员提供故障自检
4 生产自动化
采用I2C 线的电视机省掉了大量的半可调电位,大大简调整工艺且产品一致性好。在电视机生产时,可生产线上的计算与电机的I2C 总线相连,将最佳调整数据传送到电视机的存储
三、 I2C 总线
1 第一核心电
I2C 总系统的第一核心电路是CPU ,又称为“控CPU”。I2C 总线彩电中的CPU 与常规彩中CPU 作用相同,只是增加了I2C 总线的相应
2第二核心电路:存储器
在I2C 总线彩电的存储器中,存储着CPU 对整机所有被控电路的制数据和户据,而普通彩电的存储器只存储用户
在普通遥彩电中,存储器发生故障时,只是户数据消失,整机还能工作。但在I2C 总线中,存储器发生故障,将可能导致整机不能
3第三核心电路:视频/色
在I2C 总线彩电中,CPU 时刻与该路交换信息,当视频/色度/扫描成电路发生时,将可能导致I2C 总线系统的保护
四、 I2C 总线CPU 是怎样对
CPU 对I2C 总线上所有被控电路的控制数都存储在器中,每次开机时,CPU 都要从存储器中出控制数据,然选被控电路,将数据传送到选中的电路中,实现对被控电路的
需要指出是,I2C 总线系统中的被控路没有存储数据的功能,因此,次开机时CPU 都要从存储器中取出数据,送到被控
五、 I2C 总线
在电路图标注I2C 总线端口,常见的有I2C 、I2C 、IIC 、SCL (时钟线)、SDA (数据
此外,在有的机型上,时钟线标注为:CLK ,
常见显示器工厂模式的
大家也许见过或者说过:谁家的电视机坏了--图像的颜色乱了,图像跳,图像变形题,那肯定要请电视机维修人员来修。但是奇怪的是维修人员到了家,既用螺丝刀拆开机,也用电烙铁进行焊接,只是把遥器“乱”按了一通,电视机的就“修好”了。你说奇怪
既然电机“坏了”可以不用拆机就能修好?那我们的电脑显示坏的时不是也可以不用“拆机”就能修
我们先分析一下显示器的工作原理:自显示器采用了总I2C 数控技术以后,显示器的颜色,亮度,对比度,消磁,模式,特殊功能调整,故障检测等是在显示器内部的微处理器(MCU ,也就类似于计算机的CPU )的制完成的。当显示器加电后,示器内部的MCU 先加位,开始初始化,再接着从显示器内的存器(一般为串行存储芯片,型号为24C08,24C16或者93C46,93C56等等,容量为几K 字节)中读取显示器的标准工作状态值和上次工作时的状态数值,并同时检测前各部件的工状态,然后按读取的数值控制相应单元路工作,同时根据行场的极性和频同选相应的显示工作式,完图像和文字的显示。然,如果显示器的MCU 损坏,显示是肯定不能正常作的。显示器采用数控技术后,取消了尾板上的亮平衡和暗平衡调整用的电位器,主板上的行频和中心位置调整电位器,杜绝了因位器氧化生锈而产故障的隐患,提高了显示器长时稳定工作的
既然数控显示器的白衡,暗平衡与几何失真等有关参数都可以通过显示器的OSD 菜单进行调,么换句话说,我们在某些场合下可以不用拆机就能把显示器的一些故障排除。那这必须提起“显示器工式”,这和电视机的工厂模式一样,是一种隐藏的菜单调整功能,用于显示器在出厂前维修时进
现在市面上的显示器多数都是屏显OSD(Operation System Display)控制方(采用指示灯调整的数控显示器也有工厂模式,过要根据指示灯状来判断) ,因为产厂的技术保密的原因,每种显器的工厂模式一般都只生产厂家的技术人员和维修人员知道,并且还人为的设置技术壁垒,同一品牌不同型号的显示器采用不同工厂模式进入法。正因为如此,些本来非常简单障也定回修站或返厂才能决,耽误了许多宝贵的时间。因为维修周期延长和在输过程中多次搬移和包装原因,常常会造成显示器摔坏表面划伤,这也严重影响了消费对经销商的意度和信任度,投诉多数也此
所以在这里把自己平时收集整理的显示器工厂式进入方出来,供大家参考。同时,各生产厂家不断推出新型号的显器,其功能和性能都会有很大的改变,工厂模式的进入方法也
一、进入工厂模式可以解
1. 图像亮度偏暗,即使把用户模式中的亮度比度都调到最大,也无法看清某些屏幕容的细节,别在玩游戏时,如果遇到黑暗处时就什么也看不清
2. 图像的左右两边无法调整为垂直,总有很明显的偏差。
3. 水方向的图像宽度变窄,即使把左右度调为最大,也不能达到满幅。也可是上下之的度不能达到满屏或过大,超出了显示器屏幕
4. 水平有变曲,上边或下
5. 图像在某一色温下颜色明显偏向某一种颜色,改变时有的色温下图像显示正
6. 用户模式中的某一菜单功能不能使用,如消磁,锁定键盘
7. 图像模糊,有时还有字符上
8. 字符或图标在屏幕上的大小不一致,在有方大,而在有的地方
9. 显示器图像显示正常,但是某一区域清晰可见的网纹出
10. 查看显示器的主要性能参
11. 改变显示器的节能工作方式,是否打开老化开,OSD 菜单功能选择
12. 显示器的底明显偏向某种颜色,需要进行暗平衡调整;或者显示器显示的像明显偏色,同显器OSD 菜单不偏色,显卡,信号线,信号线插头都没有问题时,这时需要调亮平。部分显器在用模中以单独调节RGB 三色增益值,但节后只是单次有效,无法关机保存,这时也需要进工厂模式
13. 液晶显示器在使用一段时间后,屏幕亮度会有所下,这时要进入工厂模式调整屏幕背光亮
二、为什么需要进入工
显示器采用总线控制的数控方,显示器内部取消了大部分的可调电位器,显器也就不会在使用过程中出现因电器氧后接触不良造成的故障,同时为 I2C 总线制,PCB 板的布线也方便多了,各集成电路之间的连线比以前的模拟显示器少多了,功能更大,调试简单,可以轻松实现图像的形失,形失真,平等四边形调整,上角垫,下角垫,旋转等特功能的调,并且就边黑平衡和白平衡的调整也不再利用电位器来实现了,只须过OSD 菜
我们大家也都知道,我们在使用打电话时,有时会因为信号太弱或者有强干扰而中通话。同理,在计算机工作过程中,果围环境中存在强的电磁干扰者于信号线过长造成信在传输过程中衰减过大,这时接收端收到的信号就可能发生错误。当错误率很低或只有个别数据位发生误时,系统有检测出来,时就可能被接下来,进存储。这就为什么显示器在使用过程中为什么亮度,对度会突然变暗,颜色突然变乱无法调整的原因。这个时候我们就需要进入工厂模式行调整,使之恢
不过有时,进入工厂模式也无法进行调整,这个时候只能重写显示器中的储器内容,用专用的编程器进行读写,或者更换存
要看什么子的电视的, 有的被锁以后, 要同时按两个键才能打. 童能被打开了,说明书上面就有解锁
电视机童锁解
几种品牌彩电的解
1. 海信东芝TB1238机心万能密码
2. 乐华100Hz 机心
3. 乐华三菱+飞利浦机心万
4. 夏华E 系列三洋单片机万
5. 康佳T5435彩电的解锁方法是:同时按面板“频道+”和“频道-”
6. 长虹A6机心的解锁方法是同时按遥控器上“静音”键和“显示”
7. 虹CN-12机心的解锁方法是同时按遥控器上的“F”键和“
海尔电视解童锁
海尔童锁功能有如下几
1. 用菜单解锁:按“MENU”键(或“FUNC”键),选择显示菜单(系统设定菜单),在子菜单里有童锁一项,P+/-来移动光移到“童锁”字样处,按V+/-键将童锁设置为“关”,即将童锁功
2. 按屏显键锁:此类机器童锁后屏幕上无锁定标志,但按屏显键节目红色:此类机器的解锁方法很简单:按遥控器上的“DISPLAY”键(频道显示),持续3秒钟(或5秒)以上,屏幕显示的节目号由红色变成绿色即
3. 密码解:按“LOCK”键或童锁键然后输4位您设密码按P+/-来移动光标移动到“童锁”字处,按V+/-将
4. 组合锁解锁
同时按下遥器的静音键和屏显键,屏幕显示锁头(电锁功能)就可以解开,当电视的童锁功能开后,电视的键与遥控器单键都被锁定,关机后再次开机仍保持童锁
5.1269万
如:CPU :LC863320A ,小信号LA76810的机型,用户输入密码锁后又把密码忘,或用户先输定关机后再按密码锁,这时就可输入1269万能码即可
不同的电视机型号、不同的电路设
长虹21K32解
同时按遥控器上的“F”
长虹G2136k
先按住F 键不放,再按静
长虹B2116童锁
1 同按下屏幕键和消音键,电视显示童符号,电视进入童锁状态。这时,除 控电开关和面板电源开关外,其余任何键都不起
2 定童锁功能后,若按面板或遥控器开关键关机,再按源开关键,屏幕显示童锁符号并且屏幕
3 若解除童锁状态(开锁),必须在屏幕示童锁符号时,同时按下屏幕显示 和消键可,此时屏幕童锁符号消失,屏幕恢复正常
长虹C2152
1:按住遥控的F 键
2:按住遥控的静音键
用K5系列的遥控板,如K5D ,同时按静音和状键,解除。此法如不行,最笨的
就是开机后换存储器,百
用K5D 摇控器,同时按静
长虹21A21电视
部分用户使用彩电密码锁或童锁功能。若忘记了密码,会出现不动搜台、或屏幕呈现黑屏状态提示输入密码,或不换台等现象。不道密也会使接修彩电的维修员一筹莫展。 乐华N21K8怎么解
打开遥控在最下面有一个空键就是工厂键,按一下既可进入维修状态,找到童锁,也可以按菜单+6483,3次既可
康佳电视T2166A2开机时进入童锁解
按静音键一次,再按数字健9三次,
康佳 如何解童锁
1) E 机童锁:如出现左上角有三个钥匙点,同时按电视机上目控制“+、-”大约几秒钟后就可以自动
2) A 机童锁:如出现两把锁,中间有三个(*、*、*),首先按
3) P 机童锁:先把电视机上的预先开关打开,再将“SPIK”和“AV/TV”键同时按 夏华电视机万能
用0870可解开任何
创维解童锁 的
现在的机器童锁功能有如下
1. 用菜单解锁:按“MENU”键(或“FUNC”键),选择显示菜单(系统设定菜单),在子菜单里有童锁一项,P+/-来移动光移到“童锁”字样处,按V+/-键将童锁设置为“关”,即将童锁功
2. 按屏显键锁:此类机器童锁后屏幕上无锁定标志,但按屏显键节目红色:此类机器的解锁方法很简单:按遥控器上的“DISPLAY”键(频道显示),持续3秒钟(或5秒)以上,屏幕显示的节目号由红色变成绿色即
3. 密码解:按“LOCK”键或童锁键然后输4位您设密码按P+/-来移动光标移动到“童锁”字处,按V+/-将
4. 组合锁解锁
同时按下遥控的静音键和屏显键,屏幕显示的锁头(电视锁功能)就解开,当电视的童锁功能打开后,电视的本机键与遥控单键被锁定,关后再开机仍保持童锁状态。不同的电视机型号、不同的电路设计有不同的
杂牌机使用M37160+M61264童锁解除方法
如果菜单童锁一项为灰色说明无法用遥控器消,我的方法是关机脱开存储器非接地开机再焊上可除请注意在开机状态下焊同时还要查按键是否
注:一般电视机的童锁在该机的说
如果实在不能解开童锁,则换写
MQ的基本概念
MQ 的基本概念:
1) 队列管理器
队列管理器是 MQ 系统中最上层的一个概念,由它为们提于队列的消息服务。 2)
在 MQ 中,们把应用程序交由 MQ 传输的数据定义消息,我们定义消息的内容并 对消息进行广义的理解, 比如:用的种类型的数据件, 某个应用向其它应用发出的处 理请求等都可以作为消息。消息有两部
消息描述符 (Message Discription或 Message Header),描述消息
消息体 (Message Body) ,即用户数据部分。在 MQ 中,消息分为两种类型,非永久性 (non-persistent)消息和永久性 (persistent)息,非永久性消息存储内存中的,它是为了 提高能而设计的, 当系统掉电 MQ 队列管理器重新启动时, 将不可恢复。 当用户对消息 的可靠性要求不高, 而侧重系统的性表现时,可以用该种类型的消息, :当发布股票 息时, 由股信息是不断更新, 我们可能若干秒就会发布一次, 新的息会不断 盖旧的消息。永久性消息是存储在硬盘上,并且纪录数日志的, 它具有高可靠性,在网 和系统发生障等情况下都能确保息不丢、
此外,在 MQ 中, 还有逻辑消息和物理消息的念。利用消息和物理消息, 我们可以将 大消息进行段处理, 也可将
队列是消息的安全存放地,队列存储消息
消息队列以下述
a) 程序 A 形成对消息队列系统的调用,此调用告知息队列
b) 消息队列系统发送此消息到程序 B 驻留处系统,将它放到程序 B 的队列
c) 适当时间后,程序 B 从它的队列中消息,并处理此信
由于采用了先进的程设计思想以及内部工作机制, MQ 能够在各种网络条件保消息的 可靠传, 可以克服网络线路质量差或不稳定的现状, 在传输过程中, 如果通信线路出故 障远端的主发生故, 本的应用程序都不会受到影响, 可以续发送数据, 而无需等 待网络故障恢复或远端主正常后再
在 MQ 中,队列分为很多种类型,其中包括:本地队列、程队列、板队列、动态队列、 别名队列
本地队列又分为普通地队列和传输队列, 普通本地队列是应用程序通过 API 对其进行读 作的队列;传输队列可以理解为存储 -转发队列,比如:我们将某个消交给 MQ 系发 送远主,而此时网络发生故障, MQ 将把消息放在传输队列中暂存,当网络恢复时, 发往远端
远程队列目的队列在本地的定义, 它类一个地址指针, 指向远程主机上某个目的队, 它仅仅是个定义,不真正占用磁盘存储
模板队列和动态队列是 MQ 的一个特色, 它的一个典型用途是用作系统的可扩展性考虑。 们可以创建一个模队,当今后需要新增队列时,每打开一个模板队列, MQ 便会自动 生成一个动态队列, 们还可指定该动态列为临列者永久队列, 若为临时队列 我们可以在闭它的同时将它删除, 相反,若为永久队列,我们可以将它久保留,为
3) 通道
通道是 MQ 系统中队列管理器之间传递息的管道, 它是建立在物理网络连接之一个 逻辑概念,也是 MQ 产品的
在 MQ 中,主要有大类通道类型,即消息通道, MQI 通道和 Cluster 道。消息通道是用 MQ 的服务器和服务器之间传输消息的, 需要强调指出的是, 该通道是单向的, 它又有 发送 (sender),接收 (receive), 请求者 (requestor),服务者 (server)等不同类, 供用户
下使用。 MQI 通道是 MQ Client和 MQ Server通讯和传输消息用的,与消息通道不同, 它的传输是
MQ 的工作原理
如图所示:
首先来看本地讯的情况, 应用程序 A 和应用程序 B 运行于同统 A , 它们之间可以借助 消息队列技术进行此的讯:应用程 A 向队列 1发送一条信息,而当应用程序 B 需要 时就可以得到
其次远程通讯的情况, 如果信息传输的目标改在统 B 上的应用程序 C , 这种变化不会 对应用程序 A 产生影响, 用程序 A 向队列 2发送一条信息, 系统 A 的 MQ 现 Q2所指向 的目的列实上位于系统 B ,它将信放到本地的一个特殊队列-传输队 (Transmission Queue) 。我们立一条从系统 A 到系统 B 的消息通道,消息通道代理将从传输队列中读取 消息,并传递这条信息系统 B ,后等确认。只有 MQ 接到统 B 成功收到信息确认 之, 它从传输队列中正将该息删除。 如果通线路不通, 或系统 B 不在运, 信息 会在输队列中,直到被成功地传送到目的地。这是 MQ 最基本而最要的技术 --确保信 息传输,并且是一且仅一次 (once-and-only-once)
MQ 提供了于应用集成的松耦合的连接方法, 因为享信息的用需要知道彼此物理位 置(网络地址) ;不需要道彼间怎样建立信;不需要同时处于运行状态;不需要在同 样的操作系统或网络环境
MQ 的基本
在上图, 要实现网络上两台主机上的通讯, 若采用点对点的讯方式, 们至少要建立如 下 MQ 的
在发送方 A
1) 建立队列管理器 QMA crtmqm -q QMA
2) 定
3) 创建
4) 定义发
在接收方 B :
1) 建立队列管理器 QMB crtmqm -q QMB
2) 定义本地队列 QLB define qlocal (LQB)
3) 创
经过上述置, 我们就可以实现从主机 A 到 B 的单向通讯, 若要实现者之间的向讯, 可参考此例创建所需要的 MQ
MQ 的通讯模式
1) 点对通讯:点对点方式是最为传统和常见讯方式, 它支持一对一、 一对多、 多对多、 多一等多种配置方式,支持树状、网状等多种拓扑
2) 多点广播:MQ 适用于不同的应用。 其中重要的, 也是正在发展中的是多点广播用, 即能够将消息发送到多个目标站点 (Destination List)。 可使用一条 MQ 指令单一消息发送 到多个标站点,并确保为每一站点可靠地提供信息。 MQ 不仅提供了多点广播的功能,而 且拥有智能消息发功能,在将一条息发送到同一统上的用时, MQ 消息的 一个复制版本和该系统上接收者的名单发到目标 MQ 系统。目标 MQ 系统在本地复这 些消息,并将它们发送到名单上的队,从而尽可能减少络的传
3) 发布订阅 (PublishSubscribe)模式:发布订阅功能使消息的分发可以突目的队列地理指向 的限制, 使消息按照特的主甚至内容进行发, 用户或应用序可根据主题或内容接 收所需要的消息。 发布阅功能使得发送者和接收者之间的耦合关系变得更为松散, 发送 者不必关心接收者的目的地, 而接收者不必关心消息的发地址, 而只是据消息 进行消息的收发。在 MQ 家族产品中, MQ Event Broker 是专门用于使用发布订阅技术进 行数通讯的产品,它支持基于队列和接基于 TCPIP 两种方式发布和
4) 群集 (Cluster):为了简化点对点通讯模式中的系统配置, MQ 提供 Cluster(群集 ) 的 决方案。集类似于一个 (Domain),群内部的队列管理器之间通讯时,不需要两两之间 建立消息通道,而是采用群集 (Cluster)通道与它成员通讯,而大大简化统。 外, 群集中的队列管理器之间能够自动进行负载均, 当某一队列管理器出现故障时, 其它 队列管理器可以接管它的工作,而大大提高系统
MQ Server和 MQ
MQ 产品分为 Server 和 Client 两种版本, 在 MQ 服务器的运行环境下, 有队列管理器、 列、 消息通道等对象,它提供全面的消息服务; MQ Client 为我们供了个 MQ 应程序的 发和运行环境,它是 MQ API的 Client 现。在客户端环境下,没有队列管理器、队列等对 象,它通过 MQI 通道与服务器之间建立通讯,并将消息从客端发往服务器端队列,或 从 Server 端的队列中消息,较适于网络条件较好或时通讯的情况。时要指 出的是:采用 MQ Client并不会导致数据的丢失或不完整性。 MQ Client提供列好处:适合 同步处理的工作模式;减少系统负担;减少系统管理开销;减少盘空间要
MQ 的 API
MQ 支持多种编程语言,其中包括:C 、 C++、 Java 、 VisualBasic 、 COBOL 、 PL1、 RPG 等,同 时也支持多种流行的开发工具,如:WebSphere Studio Application Developer, PowerBuiler、 Microsoft Visual C++、 Visual Basic、 Delphi 等。 并且, MQ 不同平台上供一的编程接口, 仅需重编译就可完成不同台间程序植。 MQ 的 API 接口十分简单易,用户仅需利 用 MQ 的 13个常用而功能强大的函数调用,便可以以最快的速度,写出各种复杂的应用 程序。 用户可以将主要精力集中于应业务逻辑的实, 而不是底层通讯、 例外处理等