基于不同操作系统的网络处理结构设计

2010-03-29 14:53:40 来源: OFweek 电子工程网
评论 投稿 订阅

导读:  随着科学技术的快速发展,大量数据的处理对于计算机的性能要求越来越高,一般的计算机很难满足快速处理数据的要求,同时,计算机病毒的肆虐对数据安全构成严重的威胁。

  随着科学技术的快速发展,大量数据的处理对于计算机的性能要求越来越高,一般的计算机很难满足快速处理数据的要求,同时,计算机病毒的肆虐对数据安全构成严重的威胁。本文设计一种基于不同操作系统的网络化的处理系统用于解决这些问题。

1  系统概述

  该系统是一个包含不同体系结构的计算机和操作系统的异构系统。在系统中数据库服务器、存储服务器和数据处理服务器为运行Linux操作系统的服务器,控制服务器为运行Windows Server 2003的服务器,终端计算机为运行Windows XP操作系统的工作站。从系统工作流程的角度来看,一个工作流程的实现往往需要多个服务器的参与,由此可见,系统本身是一个分布式的系统。系统中的软件和软件之间常常存在相互调用的关系,一部分调用关系通过分系统的任务调度完成,另一部分则通过软件模块与软件模块之间的直接调用完成。服务器端软件和客户端软件通过千兆以太网通信,采用TCP/IP协议,相互之间传递的消息采用XML(扩展标记语言)格式描述。

2  系统设计与工作原理

  在系统的设计中,采用运行控制、数据处理和系统监控彼此相对独立的机制。系统的人机交互采用“分布式部署,集中式操作”的原则进行设计。在处理系统的实际运行中,大部分产品生产流程由在后台运行的服务程序完成。用户通过终端计算机对运行在其他服务器上的服务程序进行监控,在必要的情况下进行人工干预,这一过程通过远程调用实现。一般情况下,用户不需要登录各服务器分别执行监控和管理操作,只通过终端工作站即可完成整个处理系统的监控和管理。系统总体结构设计如图1所示。其设计功能的主要说明见表1。

  PNode(数据处理服务器)通过千兆以太网络与CNode(控制服务器)、DNode(数据库服务器)相连接,并通过光纤网络和SNode(存储服务器)相连接。各种数据处理软件以服务的形式运行在各个处理服务器上,对应于每一种类型的数据处理任务,控制服务器上会有对应的消息队列,而各种数据处理软件时刻监视着对应的消息队列,当有任务来到时,对应的处理软件会将此任务取到本地计算机上进行处理。在处理此任务的过程中,处理软件通过千兆以太网访问DNode来获得元数据信息(如存储地址、处理状态等),通过光纤网络从SNode上来获取原始数据并进行处理。在处理完成后,处理软件将新产生的元数据信息通过千兆以太网存储到DNode上的数据库中,而将产品数据通过光纤网络存储到SNode上的存储系统中。

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处理系统的服务器上发挥作用,保证了数据的安全,所以具有较高的安全性。