3系统之间通信的实现
在不同的操作系统之间的通信是本系统的关键环节,这里采用消息队列的形式通过消息传输中间件来实现。消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合方法。消息队列的API调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读出而提供信息交换。消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。
消息传输中间件消息中间件(MOM)是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络通讯。它在计算机系统中是一个关键软件,能实现应用的互连和互操作性,且保证系统安全、可靠、高效地运行。MOM位于用户应用和操作系统及网络软件之间,它为应用提供了公用的通信手段,并且独立于网络和操作系统。中间件简化了应用之间数据的传输,屏蔽底层异构操作系统和网络平台,为开发者提供一致的通讯标准和应用程序接口,当应用程序中嵌入其函数调用,它便可利用其运行的特定操作系统和网络环境的功能,为应用执行通信功能。消息中间件有很多种,其中IBM消息中间件MQ以其独特的安全机制、可扩展性和跨平台性,以及强大的事务处理能力和消息通讯能力,成为消息中间件产品的佼佼者。
MQ(消息中间件的一种,由IBM公司开发)的基本原理如图2所示。
首先来看本地通讯的情况,应用程序A和应用程序B运行于同一系统A,它们之间可以借助消息队列技术进行彼此的通讯:应用程序A向队列1发送一条信息,而当应用程序B需要时就可以得到该信息。
其次是远程通讯的情况,如果信息传输的目标改为在系统B上的应用程序C,这种变化不会对应用程序A产生影响,应用程序A向队列2发送一条信息,系统A的MQ发现消息队列2所指向的目的队列实际上位于系统B,它将信息放到本地的一个特殊队列——传输队列(Transmission Queue)。建立一条从系统A到系统B的消息通道,消息通道代理将从传输队列中读取消息,并传递这条信息到系统B,然后等待确认。只有MQ接到系统B成功收到信息的确认之后,它才从传输队列中真正将该信息删除。如果通讯线路不通,或系统B不在运行,信息会留在传输队列中,直到被成功地传送到目的地。这是MQ最基本、最重要的技术,能确保信息传输,并且是一次且仅一次(once and only once)的传递。通过消息传输中间件MQ就能实现服务器之间的通信。
4结 语
通过该设计能够确保装有不同操作系统的各种服务器能够在本系统中正常工作,同时使用消息队列实现系统模块之间的通信便于扩展系统的处理能力,能大大提升数据处理速度。最重要的是异构系统的设计使工作站中的基于Windows XP操作系统的各种*很难在Linux处理系统的服务器上发挥作用,保证了数据的安全,所以具有较高的安全性。