基于SOA的消息驱动监控系统的设计
2023-11-06
来源:榕意旅游网
维普资讯 http://www.cqvip.com 工业技术 基于S O A的消息驱动监控系统的设计① 邓中亮 崔珞 (北京邮电大学 北京 100876) 摘要:提出了以SOA为设计思想完成了下一代监控系统的框架设计,完成了现场终端单元和上层软件平台的消息协议制定和通信机 制设计,综合运用面向对象和设计模式等技术,完成了上层软件平台各子系统之间的消息协议设计和通信机制实现。 关键词:s0A,消息驱动,监控系用 中图法分类号:TP319 文献标识码:A 文章编号:1673—0534(2007)03(c)一0076—02 1引言 随着监控系统在城市建设和在各行各业 中的应用范围和影响力日益扩大,更多的新 统通信机制的关键,是各个子系统数据传 输和数据交互的纽带。根据分析,系统内 主要的通信关系有三对。一为底层监控单元 发送消息设计:定义线程触发信号进行 处理,对于thrdSglSend线程设置evtSglSend 信号进行处理,对于thrdDataSend线程,设 的行业用户希望建设新的专业的监控系统, (RTU)与通信服务器(Communication 置evtDataSend信号进行处理。当其他模块需 同时,传统的监控系统软件开发的遇到了几 Server)之间的通信,二为内容服务器子系 要进行信令或者数据消息发送的时候,将需 个主要问题,监控软件重用性低、监控软件 统(Content Server)与通信服务器子系统 要发送的数据存入一个消息队列中,同时发 的底层通信机制实现难度大、软件系统内部 (Communication Server)的通信l三为内 出触发信号,对应线程接收到触发信号后,判 程序逻辑复杂以及模块间高耦合性,维护困 容服务器(Content Server)与监控客户端 断消息队列是否有消息待发送,如果有,则解 难等问题。实现新的功能、建设新的系统, (Monitoring Client)之间的通信。 除挂起状态,取出消息队列中的消息进行发 满足日益发展的行业应用需求是软件企业面 3.1通信服务器的通信机制进行设计和实 送,如果没有,重新挂起线程等待下一个信号 临的任务。本文提出的新型监控系统是以 现 的到来。 s0A面向服务设计思想为依托,以消息为驱 通讯服务器实现上层监控中心同下 接收消息的设计:采用异步方法B egin 动,充分考虑多种监控系统的需要,最大化 层RTu之间的信息交互和通讯保障,同 Read()进行数据的接收,接收到数据后将由系 系统的重用性,解决底层通信的难题,降低 时通过A Interface和B InterfaCe同 统启动一个线程,将接收到的bytes数组消息 系统内各模块之间的耦合性。 Content Server之间实现信息的交互。 传入新的线程进行处理。线程处理的对应方 Communication Server同Content 法称为回调方法,命名为R eceiveData 2监控系统整体架构设计分析 Server和RTU之间的正常消息交互 CallBack()。消息将在这里进行解析(用到前 以SOA面向服务的设计思想为依托,进 通讯服务器基本设计概念为将网络 面描述的消息解包方法),并传递给其他处理 行监控系统的设计是有重大意义的。通过采 保障工作屏蔽在接口内部,对C Ontent 模块。 用面向服务的设计理念,提取业务层面的分 Server仅开放A和B两个接口,提供数 3.3内容服务器与客户端通信机制 离软件系统的业务逻辑和实现技术部分,使 据和信令交互,后台服务器和用户端程 客户端做为用户界面的实现部分,需 系统中不同的软件模块面向一个服务的应 序无需关心通讯网络情况,只需要遵循 要处理处理来自内容服务器的消息,另 用,这是S0A的重要思想。剥离各个不同 定义的接口格式同通讯服务器进行交互 外,其作为用户接口,需要处理用户发送 的监控系统的业务逻辑,将整个系统实 就可以。 的命令消息。客户端对于消息的处理类似 现模块化,功能拆分和简化,实现系统业务 3.2内容服务器与通信服务器通信机制 于内容服务器,其实现的是一个相对负责 逻辑与实现技术手段相分离,这是我们系统 如图3通信服务器存在四种通信方 的消息分发器的功能。根据来源消息的不 设计的首要任务。 式,它们是信令消息接收、信令消息发 同的消息类别进行消息的处理和分发,消 以上述思想为要求,对于新一代监控系 送、数据消息接收、数据消息发送。因 息的分发和处理机制和流程见下面的顺序图 统来说,其关键的一个功能在于拆分功能模 此设计四个TCP通信线程,分别负责接 所示: 块,实现系统的模块清晰化、高重用性,每 收、发送数据消息,接收、发送信令消 一个部分实现一个服务 因此,监控系统主 息,四者各自完成工作,互不影响。 一 要可以设计分为底层终端单元、通信服务器 各个线程命名如下: l _子系统、内容服务器子系统和监控客户端四 (1)thrdSglRecv:通讯服务器信令接 个部分,系统的物理位置结构图如图1所示。 收线程 下面根据各系统内部的模块化划分原 (2)thrdsglsend:通讯服务器信令发 则,设计系统软件总体结构图如图2所示。 送线程 (3)thrdDataRecv:通讯服务器数据 3子系统间通信机制的分析 接收线程 消息驱动的监控系统的各个子系统内部 (4)thrdDa ̄aSend:通讯服务器数据 都有负责通信实现的模块Communication 发送线程 }■I●■h Layer,在图2中用灰色进行标注,它们是系 图1系统物理位置结构 图2软件的结构 图3通信机制 ①基金项目:北京市高新技术火炬项目 76科技咨询导报Science and Technology Consulting Herald 维普资讯 http://www.cqvip.com : :塑 Science and TechnOlOgy Consulting Herald 工业技术 对于消息处理,涉及到客户端系统的控 工作效率,增强了系统的可维护性。而且, 制主体(MainControler模块)、消息传输模块 设计完成的通信服务器子系统和客户端子系 (M SgT r an sfe r模块)和消息队列模块 统在以后的同类新项目中可以稍做改动就可 (MsgQueue模块)三个模块部分,每个业务 以进行复用,提高了系统的可重用性。 实体和界面实体的控制模块,负责业务对 象和界面对象的创建、销毁等处理工作, 参考文献: 由MainControler统一控制。 【1】马国华.监控组态软件及其应用【M】.北京 客户端接收到的消息有来自内容服务 清华大学出版社,2001. 器的消息、来自用户操作的消 gsn客户端 【2】Andrew S.Tanenbaum.计算机网络【M】 内部消息三种。 北京:清华大学出版社,2004. 来自用户的消息(U serCmd)通过消 【3】Martin Fowler.企业应用架构模式【M】 息传输类(MsgTransfer)进入主控制器 北京:机械工业出版社,2004. (MainC 0nt r01er),然后进入消息队列 【4】李永.SOA在企业MIS开发中的应用【J】 (MsgOueue)进行排队,待出队列的时候 电脑知识与技术期刊,2005. 交付消息对应的控制器进行处理,处理完 毕向内容服务器发送请求消息,等待内容 服务器的响应; .. 图4 消息分发和处理 来自内容服务器的消息为对用户操作 4结语 的响应消息(Response)和内容服务器发 消息驱动和面向服务的设计方式使系 送的数据消息(Execute)两种,对于响应 统的逻辑复杂度大大降低,对应不同的消 (应答)消息,直接发送给对应的控制器进 息可以清晰的了解系统的业务概念和业务 行处理;对于数据消息(执行消息),送入 流程,当系统业务需求变更时,即使是对 消息队列(MsgOueue)进行保存,等待排 系统完全陌生的维护者也可以根据消息协 队后处理; 议了解整个系统的设计架构和业务流程, 来自客户端系统内部的消息(Inne r) 对于业务功能的修改可以按照消息协议进 (非用户消 gsn内容服务器消息),直接交 行准确的定位,实现修改一条消息的处理 付对应的控制器进行处理。消息处理的顺 方法即完成了对于业务逻辑的处理,使代码 序。 的修改的工作量也比原来大大降低,提高了 (上接7 5页) 2.2.1传输通道的选择 在方案设计的过程中,我们首先考虑的 是在传输一套电视(目前省公司有线电视自 办节目只有一套)且保证收看质量前提下应 该采用多大的传输带宽。 迄今甘肃电力传输网已经建成,东至 庆阳西至嘉峪关,已经覆盖甘肃境内的9 个地区局,骨干由微波和九纤组成双备份 路由,其中微波传输容量为1 5 5M,光纤传 一路可以下到接收端,而另外一路可以讲其 输容量为622M。从容量的角度来看,带宽 适配后,将ASI数字节目信号通过SDH传输 送入 鍪适配器一可以将讲 数字 号 是满足的,但是现在的传输业务非常多, 到目的站(一期即武威站) 配到标准G・703信号,送入传输,这样同样 留给有线电视传输的带宽并不是很多。 电视信号传输到武威后,首先由 的信号就中继到下一个节点,从而解决了信 所以我们充分利用了DVB标准的编码 CHINIC 10K404网络适配器将G.703信 号延伸的问题。 技术,将一套模拟电视采用MPEG一2标准 号适配成ASI信号,送入CHINIC 10K201 以上就 通过本人实 蓝本, .压缩至1.5M,这样就可以在很窄的带宽上传 解码器,解码器负责将A 输多套节目。次此项目,申请的带宽是4× 成一路模拟视频信号,一路模拟立体声音 实数字电视的应 不仅 在皂 节旱的 S I数字信号还原 介绍了挚字电 在我公司的字用博况:.其 2M,即总容量8M。 频信号,送入最终接收设备(经过现场测试,一套电视节目在2M的 设备是通过电视调制解调送入有线电视 用途,随着技术 发展和粤用 普及,有 武威的终端 输,还有数专 ,语音 输 誓方面 带宽下,完全能够同步传输,并且达到了 网)。整个工程是一个逆向的,至此全部传 理由相信,数字电视有着广阔的前景。 DVD的广播标准。8M的带宽不仅满足甘 送接受任务完成。 肃电力有线电视网组网的要求,而且使得 2.2.3设计中需要考虑的一个重要问题 以后传输多套节目成为可能。 从以上示意图可以看出,整个电视转播 2.2.2设备运行原理 系统是一个广播系统:由核心站将节目编码, 模拟电视节目进入编码器:C HINI C 通过SDH等传输系统将节目发送到各个端站。 I'0K1 01后,编码器完成两部工作:模拟 每个地区要能够接受到节目,传输系统 视频编码至PS信号,模拟音频编码至Ts 必须支持广播方式;这里需要注意的是,早期 信号;将PS信号和TS信号复合成一路ASI 的很多传输系统并不支持广播传输方式,只 信号,作为输出。 有现在的一些新的设备才支持。 网络适配器:cHINIc 1OK403主要 如果确认现有的传输系统不支持广播, 完成ASI输出流向传输上采用的C.703协议 可以用类似中继的方式解决。 转换,目前网络适配器可以配置N×2M,E3 从以上的原理图可以看出,实现的原理 (34M),D3(45M)等数字接口。经网络适配器 是这样的:解码器一般都有两路AsI信号, 科技咨询导报Science and Technology Consulting Herald 77