一种异构环境的分布式系统及基于该系统的通信方法

文档序号:7595734阅读:129来源:国知局
专利名称:一种异构环境的分布式系统及基于该系统的通信方法
技术领域
本发明涉及通讯领域的网管分布式系统,尤其涉及一种异构环境的分布式系统及基于该系统的通信方法。
背景技术
计算机技术迅速发展,应用程序的规模不断扩大,集中式的计算系统将不能满足日益增长的计算需求。另外许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的分布计算提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统应用,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的分布应用是一个非常现实而且也很困难的事情。
为解决分布异构问题,人们提出了中间件(middle-ware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
对于分布系统,中间件远比操作系统和网络服务更为重要,中间件提供的接口定义了一个相对稳定的高层分布应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,分布应用几乎不需任何修改,从而保护了企业在分布应用开发和维护中的重大投资。
所以,大规模计算需要分布式技术,而中间件是一个较好的选择。
分布计算需要中间件,由此许多中间件应运而生,其中最有名的当属CORBA(CommonObject Request Broker Architecture,公用对象请求代理(调度)程序体系结构),应用较为广泛。中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序提供了一个相对稳定的高层应用环境。然而,中间件服务也并非“万能药”,中间件的使用还存在一些问题,中间件所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得应用只能建立于单一厂家的产品,来自不同厂家的产品很难实现互操作。有些中间件服务只提供一些平台的实现,从而限制了在异构系统之间的移植。所以应用开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。所以,简单、有效、易维护的分布式中间件更符合应用的需求。
另外现有的分布式系统要求所有的分布节点使用相同的底层协议,对使用不同底层协议的分布系统不能实现整合。
在通讯网管应用中,随着网络规模的不断扩张,网管的管理能力受到了前所未有的挑战,集中网络管理的需求越来越紧迫,网管的管理容量和效率均已成为用户关心的焦点。基于集中式计算的网管应用由于硬件资源的限制,其管理规模和管理效率均存在一定的问题,已不能满足大规模网络的管理需求,随着近几年的发展,将分布式计算系统应用于通讯网络管理中已成为趋势。通讯网络管理系统以网元主控系统,网络管理系统构成,网元主控系统位于通讯设备内,由于各制造商的技术实现不同,通讯协议多种多样,网络管理系统需要和这些多种多样的网元主控系统进行互连。网络管理系统本身也是一个分布计算环境,系统的实现不同导致协议也有差异,但系统间也需要进行互连。现有的实现方式通常是在各互连接口处理进行协议转换,有多少个互连接口就要做多少个互连协议转换工作,导致现有通讯网络管理系统异常复杂。基于以上背景,在通讯网管中需要一种简单、易于维护而且高效的异构环境的分布式系统。

发明内容
本发明的目的是为了克服现有技术中集中式计算的网管系统的容量及效率问题以及分布式系统所使用的各种各样的协议不能互连互通的缺点,而提供一种简单、易于维护、可扩展且高效的分布式系统能够实现异构环境分布计算的互连接。
为了达到上述所说的目的,本发明所述的异构环境的分布式系统由多个分布节点和消息交换机组成。各分布节点包括消息交换协议单元;消息交换机由多协议通讯单元、消息交换协议单元和消息交换单元组成。其中多协议通讯单元是用于实现消息交换机按各分布节点的通讯层协议与各分布节点进行互连的适配单元;消息交换协议单元实现消息交换协议的封装,用来与各分布节点进行协议互连;消息交换单元根据消息交换协议内容进行分析,分发指定的通信链路。
分布节点启动时,该分布节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯层协议与消息交换机建立通信连接,消息交换机根据分布节点的名字及通信链路地址对该分布节点建立名字地址表。
为了达到所述发明目的,本发明提出的一种基于该分布式系统的通信方法如下(1)源分布节点启动,该分布节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯层协议与消息交换机建立通信连接;(2)消息交换机根据源分布节点的名字和通信连接的地址,对源分布节点建立名字地址表;(3)源分布节点中的消息交换协议单元按照源分布节点的通讯层协议对数据进行协议封装,并将封装好的数据按照源分布节点通讯层协议发送到消息交换机;(4)消息交换机收到数据后,多协议通讯单元中的通讯层按照源分布节点的通讯层协议解析数据。
将剥离通讯层协议后的数据交给消息交换机中的消息交换协议单元,消息交换协议单元按消息交换协议解析数据,将剥离消息交换协议后的数据交给消息交换单元;(5)消息交换单元收到数据后,根据目标分布节点的名字,在名字地址表中查找目标分布节点的地址,把数据发给消息交换机中的消息交换协议单元;(6)消息交换机中的消息交换协议单元按照消息交换单元要求将数据按照目标分布节点的通讯层协议将数据封装发送到目标分布节点;(7)目标分布节点收到协议报文后,通讯层解析数据,将剥离通讯层协议后的数据交给分布节点中的消息交换协议单元,消息交换协议单元解析协议报文后,将数据交给其应用层。
采用本发明所述的方法建立的分布式计算系统,与现有技术相比,只需要一个消息交换机,就可以以最少的通讯链路实现分布式计算环境,所以简单有效,容易构建;另外,本发明支持多种通讯层协议互连,新增通讯层协议只需要增加相应的通讯模块而不影响原有系统,支持动态分布节点配置,增删分布节点也不影响原有系统,因而扩展性强。


图1异构环境的分布式系统架构示意图;图2以总线的方式观点看异构环境的分布式系统架构示意图;图3四种通讯层协议构建的异构环境分布计算系统;图4分布计算流程图。
具体实施例方式
以下结合附图对本发明所述的方法作进一步的详细说明。
如图1所示,分布节点包括各分布计算系统增加的消息交换协议单元,其中至少有两个分布节点的通讯层协议不相同,所增加的消息交换协议单元实现消息交换协议的封装,用来与消息交换机进行协议互连。
消息交换机由多协议通讯单元,消息交换协议单元和消息交换单元组成。多协议通讯单元由多种通讯层模块组成,实现消息交换机按照各分布节点的通讯层协议与各分布节点进行互连的适配单元,通过该单元,分布式系统对于使用不同通讯层协议的分布节点实现了协议的转换和互连;消息交换协议单元实现消息交换协议的封装,用来与各分布节点进行协议互连;消息交换单元根据消息交换协议内容进行分析,分发指定链路。分布节点启动时,该分布节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯层协议与消息交换机建立通信连接,消息交换机根据分布节点的名字及通信链路地址对该分布节点建立名字地址表。
一个分布节点向另一个分布节点发送数据或者向所有分布节点广播数据时,先在该分布节点内将数据由数据交换协议单元封装,再按照该分布节点的通讯层协议封装,发送到消息交换机,消息交换机收到数据后,剥离通讯层协议,分析消息交换协议,由消息交换单元进行数据交换,分发到指定的通讯链路。这样通过该系统,实现了分布计算及通讯层协议转换。
在一个分布环境中,可以同时存在多种通讯层协议,但在一个通讯链路两端的通讯层协议要求相同;消息交换协议单元实现消息交换协议的封装,每个消息交换协议单元都有一个名字和地址,名字和地址在整个分布环境中是唯一的,名字由分布节点确定,地址由消息交换机分配,分布节点通过名字与其它分布节点交互;消息交换机是分布式环境的核心,主要实现与各个分布节点连接,以各种机制来维护连接,将各个分布节点的消息按名字查找对应的地址进行交换发送。通过消息交换机的连接,将各个分布应用连接在一起构成了如图2所示的虚拟总线结构,但其中的通讯链路较少,减少了面向连接通讯的维护工作。
在一个异构的平台环境下,可以由多种硬件系统,多种操作平台,多种通讯层协议通过消息交换机这个中间件构建一个分布式的计算环境,参见图3,如其中的实施例所示,该分布式计算系统由一个消息交换机和四个分布节点组成。消息交换机由消息交换单元、消息协议单元和多协议通讯单元组成,本实施例采用了CMIP(Common Management InformationProtocol,通用管理信息协议)、RMI(Remote Method Invocation,远程方法调用)、IIOP(InternetInter-ORB Protocol,网际网络ORB间协议)、串口通讯这四种通讯层协议模块构成的多协议通讯单元。分布节点为A、B、C、D分布节点A由消息协议单元、应用层及CMIP通讯层组成;分布节点B由消息协议单元、应用层及RMI通讯层组成;分布节点C由消息协议单元、应用层及IIOP通讯层组成;分布节点D由消息协议单元、应用层及串口通讯层组成。分布节点A、B、C、D分别与消息交换机建立通讯链路。下面按照前面技术方案中所述来建立分布计算系统。对于通讯层,可以使用不同的通讯层协议,在消息交换机中集成不同的通讯层协议,就可以把不同通讯层协议的分布节点连接在一起构成分布计算系统。
定义消息交换协议格式如下所示


定义消息交换机中的地址表如下所示

其中的名字是各个分布节点的名字,通信链路地址为对应的消息交换协议单元的地址,当前通讯状态有正常和异常两种状态,通讯异常时间为通讯异常状态持续的时间。当通讯异常时,将尝试进行通讯恢复,如果恢复成功则通讯异常时间清零,如果没有恢复,则通讯异常时间记录从异常发生后到当前的时间。通讯异常时间达到一定的阈值后,消息交换机将删除该分布节点的地址。
先进行系统初始化,包括硬件系统启动,基层通讯分布节点初始化。
启动消息交换机,消息交换机启动后建立各种通讯层协议的侦听端口,等待分布节点的连接。
每个分布节点设定一个名字,按照分布节点实现的功能定义名字,在本实施例中定义为A、B、C、D。在分布节点的应用运行时,由应用将分布节点的名字设置到消息交换协议单元中。
分布节点要与消息交换机进行通讯,需要知道消息交换机的地址,在分布节点运行时,由应用层将消息交换机的地址设置到消息交换协议单元中,根据通讯层协议的不同,地址格式不同,因为一个分布节点与消息交换机的通讯层协议只有一种,所以只需要设置一种地址即可。
地址设置完成后,分布节点的消息交换协议单元启动通讯层与消息交换机进行连接,消息交换机在收到连接请求时,在消息交换机的地址表中增加新接入的分布节点名字和对应分配的地址。
当各个分布节点都完成与消息交换机的连接后,分布环境搭建完毕,在消息交换机中形成了一个动态的地址表。分布节点可以动态加入,不限于在启动时加入,这与应用相关,在此不详述。
分布环境建立后,当一个分布节点要与另一分布节点进行消息交互时,需要先知道目标分布节点的名字,这可以通过命名服务等方式来管理,这不是本发明的范畴,在此不详述。
参见图4,A分布节点要与C分布节点进行通讯需要通过以下步骤(1)分布节点A启动,该分布节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯层协议与消息交换机建立通信连接;(2)A分布节点将需要通信的数据和目标分布节点C的名字交给A分布节点的消息交换协议单元;(3)A分布节点的消息交换协议单元按照A分布节点的通讯层协议对数据进行协议封装,并将封装好的数据按A节点的通讯层协议即CMIP发送到消息交换机;(4)消息交换机收到数据后,多协议通讯单元中的通讯层按照CMIP解析数据,将剥离通讯层协议后的数据交给消息交换机中的消息交换协议单元,该消息交换协议单元解析数据中的消息交换协议后交数据给消息交换单元;(5)消息交换单元收到数据后,根据目标名字C,在地址表中查找目标分布节点C的地址,把数据发给消息交换协议单元;(6)消息交换协议单元按照消息交换单元要求将数据按照目标分布节点C的通讯层协议IIOP将数据封装发送到目标分布节点C;(7)目标分布节点C收到协议报文,通讯层按照通讯层协议IIOP解析数据,将剥离通讯层协议后的数据交给其消息交换协议单元,消息交换协议单元解析协议报文,并将数据交给其应用层。完成数据的传送过程。
当目标分布节点C需要进行应答时,可按照该分布节点接收到A分布节点发送数据的步骤进行应答。
在以上过程中,任意一步失败,均需要通知发送方失败信息这里要说明的是,协议封装后的报文还需要根据所使用的具体通讯层协议再次按通讯层协议封装。这不是本发明的范畴,在此不详述。
权利要求
1.一种异构环境的分布式系统,其特征在于多个分布节点,包括消息交换协议单元;消息交换机,包括多协议通讯单元,消息交换协议单元和消息交换单元;其中多协议通讯单元用于实现消息交换机按各分布节点的通讯协议与各分布节点进行互连的适配单元;消息交换协议单元实现消息交换协议的封装,用来与各分布节点进行协议互连;消息交换单元根据消息交换协议内容进行分析,分发指定的通信链路。每个分布节点启动时,该节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯协议与消息交换机建立通信连接,消息交换机根据分布节点的名字及通信链路地址对该节点建立名字地址表。
2.根据权利要求1所述的系统,其特征在于消息交换机中的地址表包括名字、通信链路地址、当前通讯状态、通讯异常时间4个参数。其中的名字是各个分布节点的名字,通信链路地址为对应的消息交换协议单元的地址,当前通讯状态有正常和异常两种状态,通讯异常时间为通讯异常状态持续的时间,当通讯异常时,将尝试进行通讯恢复,如果恢复成功则通讯异常时间清零,如果没有恢复,则通讯异常时间记录从异常发生后到当前的时间。
3.根据权利要求2所述的系统,其特征在于当通讯异常时间达到一定的阈值后,消息交换机将删除该分布节点的地址。
4.根据权利要求1、2或3所述的系统,其特征在于当有新分布节点运行时,将消息交换机的地址设置到该分布节点的消息交换协议单元中,分布节点的消息交换协议单元启动通讯层与消息交换机进行连接,消息交换机在收到连接请求时,在消息交换机的地址表中增加新接入的分布节点名字和对应分配的地址。
5.一种异构环境分布式系统中的通信方法,其特征在于,包括以下步骤(1)源分布节点启动,该分布节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯层协议与消息交换机建立通信连接;(2)消息交换机根据源分布节点的名字和通信连接的地址,对源分布节点建立名字地址表;(3)源分布节点中的消息交换协议单元按照源分布节点的通讯层协议对数据进行协议封装,并将封装好的数据按照源分布节点通讯层协议发送到消息交换机;(4)消息交换机收到数据后,多协议通讯单元中的通讯层按照源分布节点的通讯层通讯协议解析数据,将剥离通讯层协议后的数据交给消息交换机中的消息交换协议单元,消息交换协议单元按照消息交换协议解析数据,将剥离消息交换协议后的数据交给消息交换单元;(5)消息交换单元收到数据后,根据目标分布节点的名字,在名字地址表中查找目标分布节点的地址,把数据发给消息交换机中的消息交换协议单元;(6)消息交换机中的消息交换协议单元按照消息交换单元要求将数据按照目标分布节点的通讯层协议将数据封装发送到目标分布节点;(7)目标分布节点收到协议报文后,通讯层解析数据,将剥离通讯层协议后的数据交给分布节点中的消息交换协议单元,消息交换协议单元解析协议报文后,将数据交给其应用层。
6.根据权利要求5所述的方法,其特征在于任意一步失败,均需要通知发送方失败信息。
7.根据权利要求5所述的方法,其特征在于当目标节点需要进行应答时,可按照接收到源节点发送数据的步骤进行应答。
全文摘要
本发明涉及通讯领域的网管分布式系统,提出了一种异构环境的分布式系统及基于该系统的通信方法,所述的分布式系统包括具有消息交换协议单元的多个分布节点;具有多协议通讯单元,消息交换协议单元和消息交换单元的消息交换机。分布节点启动时,该分布节点的消息交换协议单元向消息交换机注册,按照该分布节点的通讯层协议与消息交换机建立通信连接,消息交换机根据分布节点的名字及通信链路地址对分布节点建立名字地址表。本发明所述的通信方法是基于本发明所述的分布式系统,只需知道目标节点的名字源节点就可以与目标节点通信。采用本发明所述的方法建立的分布式计算系统,可以以最少的通讯链路实现分布式计算环境,所以简单有效,容易构建。
文档编号H04L29/06GK1798050SQ20041006593
公开日2006年7月5日 申请日期2004年12月24日 优先权日2004年12月24日
发明者薄开涛 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1