PDM中消息通信机制模型

发布时间:18-06-07

PDM中消息通信机制模型

    在PDM系统中,消息通信机制主要需要为用户提供消息传递功能,因此,需要有一个合适的消息通信机制模型作为本文研究的基础,该消息通信机制模型应当提供消息传递功能,并具有通信安全稳定、交互公平等特点。诸多消息通信机制模型己被提出来,如在Comet云环境下的模型、基于有色Petri网理论的模型等等,由于应用环境的不同,这些模型并不完全适用于PDM系统,本章将阐述本文研究所基于的消息通信机制模型。
 
1.1消息通信机制的框架
消息通信相关功能都由消息通信机制的框架支撑,其总体描述可如下图:

3.1.jpg

                        图3. 1消息通信机制框架
    如上图所示,整个消息通信机制框架由关系数据库、通信服务器以及客户端构成,此三者两两互为双向交互关系(1)客户端与关系数据库:客户端向关系数据库提交各类数据操作,关系数据库向客户端提供相应的数据操作反馈;(2)客户端与通信服务器:客户端向通信服务器发送各类请求与消息,通信服务器向客户端发送消息通知或者请求反馈消息;(3)关系数据库与通信服务器:关系数据库向通信服务器提供所需数据,并在需要的时候向通信服务器发送通信请求,通信服务器向关系数据库发送数据请求和通信请求相关的反馈消息。
 
    该消息通信机制框架的特点主要如下:
    (1)采用TIPDM/IP协议进行通信,安全可靠。TIPDM/IP协议为通信服务端和客户端提供了面向连接的通信结构,能保证消息传输的精确性与数据传输的正确性。这使得该框架十分适合PDM系统这种需要精确对数据、人员、过程等进行控制的软件环境。
 
    (2)采用包含关系型数据库、客户端和服务器三部分的三层C/S结构设计,框架层次分明,每层可以同时独立地进行开发、维护和功能扩展,通过将任务合理地分配到客户端和通信服务器,该框架也降低了系统的通讯开销。其中,通信服务器主要提供信息转发、请求响应和并发控制等功能。此特点使得该框架能很好的支持PDM系统的后续完善开发以及系统的更高效工作。
 
    (3)采用Oracle数据库作为关系型数据库。Oracle数据库具有强大的数据管理功能,支持所有主流的平台,非常适合为数据传输量大并且对数据传输实时性要求较高的消息通信机制所用。
 
1.2消息的发送与接收
1.2.1消息的发送与接收模式
    消息的发送与接收模式有多种,如点对点、消息队列、订阅一发布模式等。本文中主要采用两种消息的发送与接收模式:订阅一发布模式和请求一反馈模式。
    一、订阅一发布模式:人员协作在工作开展中无处不在,PDM系统中产生的各类信息常需实时广播给当前正在使用系统的用户,订阅一发布模式能满足广播需要。设在线用户是消息订阅者,发布消息的主体则是消息发布者,当有消息被发布时,消息发布者首先将消息发送给通信服务器,通信服务器再将把消息广播给消息订阅者。订阅一发布模式通常用于满足点对面的通信需求,例如单客户端一多客户端,通信服务器一多客户端的通信需求。

3.2.jpg

    二、请求一反馈模式:当客户端需要通信服务器为之提供服务的时候,将向通信服务器发送请求,该客户端可称为请求者,通信服务器不会去查询每个客户端(即潜在请求者)的通信需要,而仅在收到请求者发送来的请求后对之进行响应,并将响应结果以反馈消息的形式发送给请求者。请求一反馈模式通常用于满足点对点的通信需求,例如单客户端一通信服务端,单客户端一单客户端的通信需求。在请求一反馈模式下,消息的发送与接收流程如图3.3。

3.3.jpg

3.2.2消息的发送与接收过程
    消息传递是消息通信机制所提供的最基本也是最重要的功能,消息的发送者与接收者通过消息传递来进行信息共享、用户协同工作等。
消息发送和接收的过程可描述如图3.4。

3.4.jpg

    如图3.4,消息的发送和接收过程如下:
    ①:消息发送者向通信服务器发送请求/消息,通信服务器接收来自消息发送者的请求/消息;
    ②:通信服务器依据消息发送者所发送的请求/消息类别,对接收到的请求/消息进行响应;
    ③:依据消息发送者所发送的请求/消息类别,通信服务器向消息发送者发送反馈消息,消息发送者接收反馈消息;或者通信服务器向消息接收者转发消息,消息接收者进行消息的接收;
    ④:消息接收者对收到的消息进行响应。
 
3.2.3消息的分类
    在PDM系统中,按照所完成的功能进行分类,需要被发送与接收消息主要可分为如下三类:
(1)请求类消息:指请求服务方(通常是客户端)向提供服务方(通常是服务端)发送的消息,在PDM系统中,请求类消息主要可以体现为客户端向服务端请求登录,客户端向服务端请求转发消息等。

(2)验证类消息:主要包含两类:(1)提供服务方对特定的请求服务方的请求产生的结果回馈信息;(2)提供服务方对特定请求服务方的状态回馈信息。在PDM系统中,这类消息主要可以体现为用户成功登录状态回馈以及用户异常状态(如非正常操作引起的掉线)的回馈。
 
(3)通知类消息:指的是双方或多方在交互过程中,一方向另一方或者多方发送的通知,主要用于协调多方的工作安排,这类消息主要包含三类:(1)客户端对客户端通知:可以是单客户端对单客户端通知,也可以是单客户端对多客户端通知;(2)客户端对服务端通知;(3)服务端对客户端通知。
 
    在PDM系统中,客户端对客户端的通知可以体现为用户之间的邮件往来或者公告等,客户端对服务端的通知可以体现为客户端通知服务端进行数据更新等,服务端对客户端的通知可以体现为服务端通知客户端下线等。
 
3.2.4消息传输通道
    消息传输通道是一个逻辑意义上的虚拟通道,用以连接消息通信交互双方,为每个用户提供独立的消息流通道。
 
    本文中的消息通信机制采用TIPDM/IP协议,使用套接字作为不同主机间进程进行通信的端点,套接字是支持TIPDM/IP网络通信的基本操作单元,是支持网络协议数据通信的接口,通信过程由套接字中的相关函数来完成。
 
    流套接字(CSOCK_STREAM)被用来为消息传递的双方搭建传输通道,流套接字使用TIPDM协议,其提供面向连接且可靠的数据传输服务,可保证数据能够实现无差错、无重复发送以及数据的按序接收。至少要有一对套接字被用于保证网络通信,其中一个为ClientSocket,运行在客户端,另一个为ServerSocket,运行在服务器端。根据连接启动的方式以及本地要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认,具体过程见图3.5。

    使用套接字进行数据处理有两种基本模式,同步模式和异步模式。本文研究中的消息通信机制及其应用主要采用异步模式来进行数据处理。异步模式在通过Socket进行连接、接收和发送操作时,通过利用CallBack机制进行连接、接收和发送处理,程序可以在调用发送或者接收方法后直接返回,并继续执行下面的程序,客户机和服务器不会处于阻塞状态,而采用同步模式则会导致程序阻塞。
 
3.3消息约束
3.3.1消息结构
    消息是消息通信机制进行事务处理的单位。消息可以有很多类型,客户端和服务端收到消息都需要对消息进行解析并根据消息的类型进行响应,这就需要一个消息结构来规定消息的格式,客户端和服务端可依据该消息结构来解析消息。
 
    在用于数据管理的情况下,消息结构具有重要的地位,这决定了使用该消息结构的各方能否以最低的代价获得最快的消息解析速度以及获取最精确的消息内容。
 
    出于可扩展性考虑,同时也为了兼容不同的消息类型,本文采用变长消息通知协议作为消息结构,该协议分为消息头、源信息、数据信息,其格式如下图:

3.6.jpg

    其中,消息头携带的数据是消息类型,消息的接收者和发送者均用消息头携带的信息来辨别不同的消息类型,并根据消息类型做出不同的响应行为。
 
    源信息部分携带了消息来源,即消息发送方的相关信息,包括发送方使用的IP地址、端口号等,如果客户端是消息发送方,那么本部分还包括了用户角色号,用户ID等信息,这让消息传输的轨道可以被追踪与追溯。
 
    数据信息部分携带了消息相关的传输数据。在本文中,消息可分为不携带数据消息和携带数据消息,其中,携带数据消息主要应用于各类重要的、数据使用频率高、使用用户多的场合,使消息发送者可以直接将最新更新的数据发送给消息接收者,避免了消息接收者要在访问数据库后才能获取最新信息。
 
3.3.2消息安全
    消息的发送与接收是否有足够的保密性,是评价消息通信模型是否可靠的一个重要依据。
PDM系统与企业的生产管理过程相契合,因此对企业内部的消息传递的保护非常重要,如果消息被篡改或窃取,则十分可能导致消息接收者在收到消息后无法正确、正常解析消息,从而做出错误的处理,最后甚至可能引起系统异常,将严重影响用户的正常工作和事务处理,故消息通信的安全非常重要。

    本文中消息通信机制采取了将消息先加密然后再传递的方法来保证消息通信的安全,采用的消息加密算法为DES算法。
 
    消息加密的基本过程就是对原来为明文的消息按照某种算法进行处理,使其成为一段不可读代码,即“密文”,消息的发送者将这段“密文”发送出去,消息接收者使用密钥将这段密文进行解密,之后才能解析收到的消息。

    常用的加密算法有DES、IDEA、RSA、MD5等,其中DES(Data Encryption Standard,数据加密标准)算法属于对称算法,速度较快,适用于加密大量数据的场合,它采用64位密钥技术,其中包含一个56位的有效密钥以及附加8位奇偶校验码,安全性比较高,目前只有穷举法能够破解该算法。因此使用了DES加密算法之后的消息通信机制,保证了消息通信的安全。
 
3.4消息通信机制中主要的类
    为了满足上述消息通信机制的框架和消息收发的需求,一些类被设计出来以支持消息通信机制的建立与运行,其中,主要的类如下表所示:

                    表3.1消息通信机制中主要用到的类

3. 5本章小结
    本章完成工作如下:
    一、给出了本文研究所基于的消息通信机制模型的框架,并分析了该消息通信机制框架的特点以及这些特点为何使之适用于PDM系统。
    二、紧密结合本文第二章的部分功能需求分析,详细阐述了本章所述消息通信机制主要提供的功能,即消息的发送与接收的模式、过程,以及消息的约束,以及其中的类。

本文为御云清软英泰PLM软件原创文章,如想转载,请注明原文网址
http://www.plmsoft.com.cn/news/gsxw/160.html;否则,禁止转载;谢谢配合!