基于SOA的设备智能维护系统架构设计及实现

基于SOA的设备智能维护系统架构设计及实现

发表时间:2009-9-19 朱义 陈进 刘雨 肖文斌 来源:万方数据
 
结合面向服务架构(SOA)的技术特点及设备智能维护系统的应用需求,提出基于面向服务的设备智能维护系统的体系结构,该架构与传统软件架构相比具有松耦合、可扩展、服务的柔性组合等诸多优点。在.NET平台用面向服务的分布式编程模型WCF(Windows Communication Foundation)进行系统开发,用实际项目验证了该体系的有效性,指出SOA在开发设备智能维护系统的开发与应用中的重要价值。

    0 引言

    传统的设备维护是一种基于被动的维修模式FAF(Fail andFix),已经不能完全满足保障设备正常、高效和安全运行的需求。智能维护是一种新兴的设备维护概念,是一种基于主动的维护模式PAP(Predict and Prevent)。它通过对设备性能的退化评估和预测,避免了传统维护方法的盲目性。要实现智能维护不仅包括理论算法的研究,也包括合适的系统平台的搭建。针对智能维护系统的研究近年来受到学术界和产业界越来越多的关注。

    由于智能维护系统包括特征提取、监测诊断、评估预测、维护决策等各种功能,每一种功能又有大量的方法可供选择,故分布式、松耦合、可柔性组合等特性对智能维护系统有着重要意义。目前DCOM、CORBA等面向对象的组件技术已广泛地应用于分布式系统的开发中。,然而这些方法存在重用性差、异构平台调用困难、互操作性差、紧耦合等诸多缺陷。

    近年来提出的面向服务架构(SOA)为解决上述问题提供了可行性。本文结合面向服务架构(SOA)及智能维护系统的特点,提出了一种基于SOA的智能维护系统体系结构,并用面向服务的编程模型WCF做了相关的开发,通过实例验证了该体系结构的可行性与有效性,指出了SOA在智能维护系统中的重要应用价值。

    1 面向服务架构(SOA)

    1.1 SOA的基本概念

    SOA是一种架构模型,在1996年由Gartner公司首次提出,它将应用程序不同功能单元(服务)通过定义良好的契约和策略联系起来,具有松耦合性、互操作性、开发迅捷、异构平台资源共享等明显优势。SOA的定义目前尚未完全统一,但其核心思想都是“面向服务”。

    在一个SOA体系有下列三个角色:服务提供者、服务注册中心及服务请求者,分别担任发布、查找和绑定任务。其关系如图1所示。

    图1实现SOA的各个角色的关系

    1.2基于SOA的典型体系结构视图

    典型的SOA体系结构如图2所示,显示了三种体系结构视图:1)应用程序体系结构:这是一种面向业务的解决方案,消费服务来自于一个或多个提供者,并将它们集成到业务处理过程中。2)服务体系结构:这为实现和消费应用程序之间提供了一个桥梁,创建了服务集的一个逻辑视图,我们可以使用这些服务,通过通用的接口和管理体系结构来调用它们。3)组件体系结构:实现了具体的功能、应用程序、业务对象等。

    图2三种体系结构视图

    2 基于SOA的智能维护系统架构

    智能维护系统是一种采用性能衰退分析和预测方法,对设备进行实时的监测诊断和性能的退化评估,并作出相应维护决策的系统。具体来说,智能维护系统集数据采集、状态监测、故障诊断、性能评估及维护决策等于一体,并辅以用户管理、权限验证、文档报表管理等系统管理模块,是一个复杂的应用程序。

    为构建功能可柔性组合的、易于扩展的、互操作性强的企业级应用程序,在图2体系结构的基础上,结合智能维护系统的需要,提出图3所示的基于SOA的智能维护系统架构图。该架构由下而上分别是数据层、基础业务服务层、业务服务总线、业务处理层和表现层,以下是对它们的详细说明。

    图3基于SOA的智能维护系统体系结构视

 

 1)数据层,该层主要包括各类数据库及数据文件。其中数据库分为知识数据库、方法数据库、波形数据库、管理数据库等。知识和方法数据库为企业级设备维护提供规则和经验;波形数据库用于存储实时波形、历史波形及分析结果;管理数据库存储用户信息、配置文件等。

   

2)基础业务服务层,该层中包含诸多细粒度的基础服务,如数据库访问,权限验证,文档管理,特征提取,常用算法等。这些服务可以是包装为服务的组件,也可以是单个服务,并最终全部整合发布到业务服务总线上。

    3)业务服务总线,结合智能维护系统的业务逻辑,整合基础业务服务层上的各细粒度服务,形成了权限管理、数据访问、设备维护、文档报表等四条业务总线。每个业务服务总线都包含了多个面向消费者的、独立于底层组件的粗粒度业务服务。这样有利于实现独立于组件的业务,在需求更改时可以整合和调整服务而不用修改底层组件。

    4)业务处理层,该层根据表示层中客户端的消息请求,通过调用业务服务总线上的不同服务完成特定的业务流程,并最终返回结果给客户端。共包含系统管理服务,企业级设备维护服务及远程维护代理,如图4所示。其中企业级设备维护服务主要通过调用企业局域网内部发布的各类监测、诊断、评估、预测、决策及执行等服务完成相关的设备维护功能;远程维护代理则通过服务注册中心查询广域网中远程维护中心所提供的各类设备维护服务,调用其中合适的完成相关分析,并将分析结构返回给客户端。

    图4业务服务层结构视图

    5)表现层,该层首先通过U1处理模块,该模块主要作用是管理一些固定化的U1逻辑,并根据各种状态选择前端的用户界面视图。当用户登录,U1处理模块将对用户信息进行验证,并加载用户配置文件,通过用户配置文件决定该用户能浏览和使用哪些界面视图。

    3 系统实现

    本文依托“大型变频鼓风机故障预测与维护技术研究”项目(国家863计划),基于.NET Framework3.0平台进行某风机智能维护系统的开发。该系统使用SOA的实现技术之一——WCF编程模型,把各类不同的服务部署在网络上,由客户端按需要调用,完成对风机智能维护。整个系统体现了可柔性组合、易于扩展、松耦合等优点。

    以下介绍WCF技术的基本理念,并以智能维护系统的核心模块——性能退化评估子系统为例,具体阐述WCF服务的实现、发布及消费。

    3.1 WCF技术

    WCF是SOA的实现技术之一,它将现有整套.NET分布式技术(如:.Net Remoting、ASMX、WSE和MSMQ等)整合为一个编程模型,通过稳定的结构、极大改进的功能性和互操作性以及良好的扩展性,全面改善了编程模式。

    本质上,WCF是完全面向服务的,它是真正的面向服务的编程模型。服务可以根据安全性、传输协议等需要发布为多个端点,每个端点由地址、合同和绑定三要素构成。地址指定了发送消息的目标位置,合同描述消息所包含的内容,绑定描述如何发送消息。客户端通过对这三要素的配置即可实现对服务的访问,而不用关心服务内部是如何实现的,如图5(其中A、C、B分别代表Address、Contract和Binding)所示。因此,利用WCF技术可以很方便的满足智能维护系统远程、分布式的需要。

    图5 服务和端点

    3.2性能退化评估子系统

    性能退化评估子系统是智能维护系统的核心模块之一。这里以基于SVDD(支持向量数据描述)坤。方法的性能退化评估服务为例。该方法通过训练正常数据以建立包络面,计算待评估数据与包络面的广义距离并将其归一化作为性能退化评估指标。

    (1)服务的实现与发布

    SVDD算法复杂,这里使用matlab6.5的COM组件技术把SVDD的性能退化评估matlab算法包打包为动态连接库(dll),应用WCF技术在服务器端将打包的dll包装为服务,并用IIS承载的方式把服务端点发布到网上。

    首先在工程中引用System.ServiceModel创建服务接口。该接口定义了退化评估的各个方法,但并不实现。使用[Service.Contract]和[OperationContract]修饰接口和接口中定义的方法,以表明该接口和方法要作为服务的合同发布。如下申明了接口ISvdd及它的两个方法Train和Assess(省略了具体参数)。

    图6发布的WCF服务

(2)服务的消费

    客户端按SVDD服务的发布地址添加对SVDD的服务引用,命名为SVDDProxy,此时在客户端会自动从服务器端获取服务的端点信息,并生成一个app.config配置文件(如图7所示)。

    性能退化评估子系统的主界面如图8所示。其中的性能评估曲线模拟了风机某测点处发生转子不平衡且不平衡量逐渐加大时,风机整体性能也随之下降的情况。

    图8性能退化评估主界面

    4 结束语

    本文提出了一种基于SOA的智能维护系统的体系结构,并在.NET Framework3.0平台基于面向服务的分布式编程模型WCF进行系统开发,对该体系结构进行了初步的验证与实现,将SOA成功地应用到了实际项目中。

    与传统的基于组件的分布式编程技术相比,基于SOA的体系结构有着松耦合性、互操作性、可柔性组合、易于扩展、异构平台资源共享等诸多优势,因此,SOA在智能维护系统的研究中有广阔的应用前景。为了使系统更加完善,今后将重点进行SOA中远程维护中心之间的协作模式等研究。 

http://articles.e-works.net.cn/SOA/Article71462_2.htm

 

 

posted on 2010-10-12 16:28  jdmei520  阅读(561)  评论(0编辑  收藏  举报

导航