首页 / 专利库 / 电脑零配件 / 系统总线 / 数据总线 / PCI总线 / 一种实现主/备PCI设备切换的装置和方法

一种实现主/备PCI设备切换的装置和方法

阅读:6发布:2021-06-09

专利汇可以提供一种实现主/备PCI设备切换的装置和方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种实现主/备PCI设备切换的装置和方法,所述方法包括,步骤1,采用系统控 制模 块 对当前正在运行的主/备 数据处理 模块的状态信息进行检测;步骤2,根据所述检测的状态信息,判断所述主/备数据处理模块的运行状态是否发生改变,如果发生改变,则转入步骤3,否则,转入步骤1;步骤3,通道切换模块接收到系统 控制模块 发出的通道切换信息后,将该通道切换模块接收到的数据报文发送给与当前的备用数据处理模块连接的系统 接口 模块中,以完成当前的主/备数据处理模块的切换。本发明实现主/备数据处理模块的迅速切换,实现了用户业务不中断,提高了系统可靠性,且网络恢复快,无需采用专 门 网络来实现切换,减轻了系统的成本。,下面是一种实现主/备PCI设备切换的装置和方法专利的具体信息内容。

1.一种实现主/备PCI设备切换的装置,其特征在于,包括:
主用数据处理(101)、备用数据处理模块(102)、与主用数据处理模块(101)连接的系统接口模块(305)、与备用数据处理模块(102)连接的系统接口模块(310)、系统控制模块(311)和通道切换模块(312);
所述主用数据处理模块(101),用于接收、处理和转发从与主用数据处理模块(101)连接的系统接口模块(305)收到的数据报文,向系统控制模块(311)提供运行状态信息;
通过CPU总线与主用数据处理模块(101)连接的备用数据处理模块(102),用于接收、处理和转发从与备用数据处理模块(102)连接的系统接口模块(310)收到的数据报文,向系统控制模块(311)提供运行状态信息;
所述与主用数据处理模块(101)连接的系统接口模块(305),用于完成PCI总线与用户自定义总线之间的总线转换以及主用数据处理模块(101)与通道切换模块(312)之间的数据转发;
所述与备用数据处理模块(102)连接的系统接口模块(310),用于完成PCI总线与用户自定义总线之间的总线转换以及备用数据处理模块(102)与通道切换模块(312)之间的数据转发;
通过CPU总线与主用数据处理模块(101)连接的系统控制模块(311),根据检测到的所述主用数据处理模块(101)和所述备用数据处理模块(102)发送的运行状态信息,控制通道切换模块(312)进行正确的数据通道选择;
所述通道切换模块(312),根据系统控制模块(311)发送的通道选择信息,将接收到的数据报文发送给与当前的备用数据处理模块(102)连接的系统接口模块(310)实现数据传输的转发。
2.如权利要求1所述的实现主/备PCI设备切换的装置,其特征在于,还包括:
数据存储模块(316)、系统配置模块(317)和网络接口模块(320);
所述数据存储模块(316),用于完成数据报文的缓存与转发;
其中系统配置模块(317)是通过CPU总线与主用数据处理模块(101)连接;所述主用数据处理模块(101),还用于通过CPU总线识别外部网络系统上线路接口卡的类别,并通过系统配置模块(317)对外部网络系统的线路接口卡进行初始化,
所述与外部网络系统、数据存储模块(316)和系统配置模块(317)连接的网络接口模块(320),实现PCI总线和用户自定义总线之间的总线转换功能,以及分别与数据存储模块(316)和系统配置模块(317)之间的数据转发。
3.如权利要求2所述的实现主/备PCI设备切换的装置,其特征在于,
所述系统接口模块(305、310)包括,PCI接口模块、存储器管理模块、接收数据存储模块和发送数据存储模块,所述PCI接口模块通过其拥有的自定义总线,分别与接收数据存储模块和发送数据存储模块连接;
所述PCI接口模块,完成标准PCI总线与用户自定义总线之间的转换,其PCI总线与数据处理模块的PCI设备互连;
所述存储器管理模块,管理系统接口模块的存储空间,根据存储空间的状态,实现与数据处理模块、通道切换模块之间的数据的传输;
所述接收数据存储模块和发送数据存储模块分别是一个FIFO模块。
4.如权利要求3所述的实现主/备PCI设备切换的装置,其特征在于,
所述通道切换模块(312),将接收到的所述数据存储模块(316)或者备用数据处理模块(102)发送过来的读取数据报文请求,写入与主用数据处理模块(101)相连接的系统接口模块(305)的接收数据存储模块;
所述通道切换模块(312),接收到与主用数据处理模块(101)相连接的系统接口模块(305)发送的数据报文的请求,写入数据存储模块(316)或者与备用数据处理模块(102)连接的系统接口模块的接收数据处理模块中。
5.如权利要求2或4所述的实现主/备PCI设备切换的装置,其特征在于,
所述数据存储模块(316)包括,存储器管理模块(313)、接收数据存储模块(314)和发送数据存储模块(315),
所述存储器管理模块(313)管理接收数据存储模块(314)和发送数据存储模块(315)的存储空间状态,并向通道切换模块(312)或者网络接口模块(320)发出数据报文传输申请
所述接收数据存储模块(314)是一存储器,所有从外部网络系统过来的数据报文都存入该模块中,等待通道切换模块(312)读取;
所述发送数据存储模块(315)是一存储器,通过高位地址和低位地址的划分将内存分割成多个存储空间,通过网络接口模块实现对各存储空间的访问
6.如权利要求2所述的实现主/备PCI设备切换的装置,其特征在于,
所述系统配置模块(317)包括,线路接口卡状态标志寄存器和PCI设备配置数据寄存器组;
所述线路接口卡状态标志寄存器包括,线路接口卡初始化状态位和线路接口卡插入状态位;
所述线路接口卡状态标志寄存器,用于指示线路接口卡初始化状态和线路接口卡插入状态,采用主用数据处理模块(101)进行更新和维护;
所述PCI设备配置数据寄存器组,用于实现主用数据处理模块(101)对外部网络系统中的线路接口卡的初始化和维护;
所述PCI设备配置数据寄存器组包括,读/写命令寄存器、端口寄存器、写命令数据寄存器和读命令数据寄存器。
7.如权利要求2所述的实现主/备PCI设备切换的装置,其特征在于,
所述网络接口模块(320)包括,PCI接口模块(318)和接口管理模块(319),
所述PCI接口模块(318)用于完成标准PCI总线与用户自定义总线之间的转换功能,该模块的配置空间可以通过CPU总线直接访问;
所述接口管理模块(319)处理系统配置模块(317)发出的PCI设备配置空间访问申请和数据存储模块(316)的发送数据报文申请,对数据存储模块(316)的存储空间的读/写操作。
8.一种实现主/备PCI设备切换的方法,其特征在于,包括如下步骤:
步骤1,采用系统控制模块(311)对当前正在运行的主/备数据处理模块(101/102)的状态信息进行检测;
步骤2,根据所述检测的状态信息,判断所述主/备数据处理模块(101/102)的运行状态是否发生改变,如果发生改变,则转入步骤3,否则,转入步骤1;
步骤3,通道切换模块(312)接收到系统控制模块(311)发出的通道切换信息后,将该通道切换模块(312)接收到的数据报文发送给与当前的备用数据处理模块(102)连接的系统接口模块(310)中;
步骤4、所述备用数据处理模块(102)通过CPU总线从系统配置模块(317)中的线路接口卡状态标志寄存器中读取初始化状态位,比较读取的初始化状态位和线路接口卡插入状态位,检测是否所有的线路接口卡已被初始化,若是,当前的主/备数据处理模块的切换完成,否则,对未被初始化的线路接口卡进行初始化,并更新系统配置模块(317)中的线路接口卡状态标志寄存器,对已经初始化好的线路接口卡进行标志,重复该步骤。
9.如权利要求8所述的实现主/备PCI设备切换的方法,其特征在于,所述步骤2中,主/备数据处理模块(101/102)的运行状态发生改变,是指:
所述主用数据处理模块(101)接收用户发出的主备切换指令放弃主用状态或者备用数据处理模块(102)检测到主用数据处理模块(101)的工作状态发生变化,使备用数据处理模块(102)工作于主用状态。
10.如权利要求8或9所述的实现主/备PCI设备切换的方法,其特征在于,
所述主用数据处理模块(101),重新启动和初始化,成为备用数据处理模块,改变输出给系统控制模块(311)的状态信息,等待下一次的主备切换。
11.如权利要求8所述的实现主/备PCI设备切换的方法,其特征在于,所述步骤3,所述通道切换模块(312)将接收到的数据报文在进行发送前,作如下处理,
判断该通道切换模块(312)是否正在传输一个数据报文,如果是,则继续传输,直到将当前数据数据报文传输处理完毕,再发送所述接收到的数据报文,否则,直接发送所述接收到的数据报文。

说明书全文

技术领域

发明涉及数据传输技术,具体涉及一种实现主/备PCI设备切换的装置和方法

背景技术

随着网络通讯技术的日益广泛应用,对数据传输性能的需求也多种多样,这样在很多场合下,对数据传输的可靠性提出了很高的要求,需要网络设备系统能够长期不间断运行,为了满足上述对数据传输系统的要求,对数据传输系统中的主要模设计成热备份,以此来保证数据可靠的传输。
PCI(Peripheral Component Interconnect,周边元件扩展接口)总线作为一种共享总线,由于其支持突发传输、多设备等特点,故广泛应用于网络设备系统上,但是也正由于PCI总线是一种共享总线,多个网络设备同时连接在一个总线上,决定了这种总线在网络设备系统中不能直接支持主/备数据处理模块的切换。
为了使PCI总线支持网络设备系统实现主/备数据处理模块的切换,需要增加外围设备。目前传统的做法是将主/备数据处理模块上的PCI设备和其他所有PCI设备连接在同一个总线上,利用外部PCI总线仲裁器处理PCI总线上所有设备的总线交易请求
正常情况下,主用数据处理模块完成对PCI总线上所有设备的初始化和维护,备用数据处理模块将网络设备系统内的PCI设备与PCI总线上的其他PCI设备隔离开来,不参与总线的任何交易,主用数据处理模块的包括配置信息在内的信息通过专用的网络与备用数据处理模块进行同步。
上述处理方式,对于用户主动发起且能接收并处理的主备切换能够迅速反应并做出相应的处理,将主用数据处理模块的现场信息同步到备用数据处理模块,退出对PCI总线的控制,备用数据处理模块接管对整个PCI总线的控制,处理PCI总线上所有PCI设备的总线交易,因此能较快完成主/备数据处理模块间的切换。
但对于因主用数据处理模块异常导致网络设备中主/备数据处理模块切换发生的情况,上述处理方式的反应速度比较缓慢,不能将主用数据处理模块运行的现场信息可靠的传输给备用数据处理模块,也无法实现对切换过程的控制;需要等到在对硬件进行检查时,才发现主用数据处理模块已经异常并唤醒备用数据处理模块,备用数据处理模块唤醒后才能接管整个PCI总线控制,并扫描PCI总线的当前所有设备是否与同步过来的信息相符,如果不相符就需要对整个PCI总线上所有的设备重新初始化,建立正确的系统运行环境。
现有技术中公开的处理方式对于因主用数据处理模块出现异常而进行主备切换的处理的时间太长,很容易导致网络长时间瘫痪,致使用户业务中断,对用户造成不可估量的损失,同时要求系统切换过程使用的控制算法有很强的异常处理能,而且算法复杂,导致网络设备系统的可靠性大大降低,而且所述处理方式也没有利用备用数据处理模块的PCI总线接口,而是采用专用网络进行主备信息同步,造成系统成本增加。

发明内容

本发明的目的是为了提出一种实现主/备PCI设备切换的装置和方法,用于解决目前现有技术中存在的网络设备系统中主/备数据处理模块切换过程复杂,切换处理不及时导致网络长时间瘫痪的问题。
为了实现上述发明目的,本发明具体是这样实现的:
一种实现主/备PCI设备切换的装置包括:
主用数据处理模块、备用数据处理模块、与主用数据处理模块连接的系统接口模块、与备用数据处理模块连接的系统接口模块、系统控制模块和通道切换模块;
所述主用数据处理模块,用于接收、处理和转发从与主用数据处理模块连接的系统接口模块收到的数据报文,向系统控制模块提供运行状态信息;
通过CPU总线与主用数据处理模块连接的备用数据处理模块,用于接收、处理和转发从与备用数据处理模块连接的系统接口模块收到的数据报文,向系统控制模块提供运行状态信息;
所述与主用数据处理模块连接的系统接口模块,用于完成PCI总线与用户自定义总线之间的总线转换以及主用数据处理模块与通道切换模块之间的数据转发;
所述与备用数据处理模块连接的系统接口模块,用于完成PCI总线与用户自定义总线之间的总线转换以及备用数据处理模块与通道切换模块之间的数据转发;
通过CPU总线与主用数据处理模块连接的系统控制模块,根据检测到的所述主用数据处理模块和所述备用数据处理模块发送的运行状态信息,控制通道切换模块进行正确的数据通道选择;
所述通道切换模块,根据系统控制模块发送的通道选择信息,将接收到的数据报文发送给与当前的备用数据处理模块连接的系统接口模块实现数据传输的转发。
本发明所述实现主/备PCI设备切换的装置,进一步还包括:
数据存储模块、系统配置模块和网络接口模块;
所述数据存储模块,用于完成数据报文的缓存与转发;
其中系统配置模块是通过CPU总线与主用数据处理模块连接;所述主用数据处理模块,还用于通过CPU总线识别外部网络系统上线路接口卡的类别,并通过系统配置模块对外部网络系统的线路接口卡进行初始化,
所述与外部网络系统、数据存储模块和系统配置模块连接的网络接口模块,实现PCI总线和用户自定义总线之间的总线转换功能,以及分别与数据存储模块和系统配置模块之间的数据转发。
在所述的实现主/备PCI设备切换的装置中,所述系统接口模块包括,PCI接口模块、存储器管理模块、接收数据存储模块和发送数据存储模块,所述PCI接口模块通过其拥有的自定义总线,分别与接收数据存储模块和发送数据存储模块连接;
所述PCI接口模块,完成标准PCI总线与用户自定义总线之间的转换,其PCI总线与数据处理模块的PCI设备互连;
所述存储器管理模块,管理系统接口模块的存储空间,根据存储空间的状态,实现与数据处理模块、通道切换模块之间的数据的传输;
所述接收数据存储模块和发送数据存储模块分别是一个FIFO模块。
在所述的实现主/备PCI设备切换的装置中,所述通道切换模块,将接收到的所述数据存储模块或者备用数据处理模块发送过来的读取数据报文请求,写入与主用数据处理模块相连接的系统接口模块的接收数据存储模块;
所述通道切换模块,接收到与主用数据处理模块相连接的系统接口模块发送的数据报文的请求,写入数据存储模块或者与备用数据处理模块连接的系统接口模块的接收数据处理模块中。
在所述的实现主/备PCI设备切换的装置中,所述数据存储模块包括,存储器管理模块、接收数据存储模块和发送数据存储模块,
所述存储器管理模块管理接收数据存储模块和发送数据存储模块的存储空间状态,并向通道切换模块或者网络接口模块发出数据报文传输申请
所述接收数据存储模块是一存储器,所有从外部网络系统过来的数据报文都存入该模块中,等待通道切换模块读取;
所述发送数据存储模块是一存储器,通过高位地址和低位地址的划分将内存分割成多个存储空间,通过网络接口模块实现对各存储空间的访问
在所述的实现主/备PCI设备切换的装置中,所述系统配置模块包括,线路接口卡状态标志寄存器和PCI设备配置数据寄存器组;
所述线路接口卡状态标志寄存器包括,线路接口卡初始化状态位和线路接口卡插入状态位;
所述线路接口卡状态标志寄存器,用于指示线路接口卡初始化状态和线路接口卡插入状态,采用主用数据处理模块进行更新和维护;
所述PCI设备配置数据寄存器组,用于实现主用数据处理模块对外部网络系统中的线路接口卡的初始化和维护;
所述PCI设备配置数据寄存器组包括,读/写命令寄存器、端口寄存器、写命令数据寄存器和读命令数据寄存器。
在所述的实现主/备PCI设备切换的装置中,所述网络接口模块包括,PCI接口模块和接口管理模块,
所述PCI接口模块用于完成标准PCI总线与用户自定义总线之间的转换功能,该模块的配置空间可以通过CPU总线直接访问;
所述接口管理模块处理系统配置模块发出的PCI设备配置空间访问申请和数据存储模块的发送数据报文申请,对数据存储模块的存储空间的读/写操作。
本发明还提出一种实现主/备PCI设备切换的方法,包括如下步骤:
步骤1,采用系统控制模块对当前正在运行的主/备数据处理模块的状态信息进行检测;
步骤2,根据所述检测的状态信息,判断所述主/备数据处理模块的运行状态是否发生改变,如果发生改变,则转入步骤3,否则,转入步骤1;
步骤3,通道切换模块接收到系统控制模块发出的通道切换信息后,将该通道切换模块接收到的数据报文发送给与当前的备用数据处理模块连接的系统接口模块中;
步骤4、所述备用数据处理模块通过CPU总线从系统配置模块中的线路接口卡状态标志寄存器中读取初始化状态位,比较读取的初始化状态位和线路接口卡插入状态位,检测是否所有的线路接口卡已被初始化,若是,当前的主/备数据处理模块的切换完成,否则,对未被初始化的线路接口卡进行初始化,并更新系统配置模块中的线路接口卡状态标志寄存器,对已经初始化好的线路接口卡进行标志,重复该步骤。
在所述的实现主/备PCI设备切换的方法,所述步骤2中,主/备数据处理模块的运行状态发生改变,是指:
所述主用数据处理模块接收用户发出的主备切换指令放弃主用状态或者备用数据处理模块检测到主用数据处理模块的工作状态发生变化,使备用数据处理模块工作于主用状态。
在所述的实现主/备PCI设备切换的方法中,所述主用数据处理模块,重新启动和初始化,成为备用数据处理模块,改变输出给系统控制模块的状态信息,等待下一次的主备切换。
在所述的实现主/备PCI设备切换的方法中,所述步骤3,所述通道切换模块将接收到的数据报文在进行发送前,作如下处理,
判断该通道切换模块是否正在传输一个数据报文,如果是,则继续传输,直到将当前数据数据报文传输处理完毕,再发送所述接收到的数据报文,否则,直接发送所述接收到的数据报文。
与现有技术相比,本发明设计简单,而且采用本发明,网络设备系统中主/备数据处理模块的切换迅速,网络恢复快,实现了用户业务不中断,提高了系统可靠性,由于本发明在具体实现的过程中充分利用备用数据处理模块的PCI总线接口,无需采用专网络来实现切换,减轻了系统的成本。
附图说明
图1是实现主/备PCI设备切换的装置示意图;
图2是在网络设备系统中进行传输的数据报文的封装示意图;
图3是主/备PCI设备切换的装置的初始化流程示意图;
图4是实现主/备PCI设备切换的主要流程示意图;
图5是实现数据报文发送的主要流程示意图;
图6是实现数据报文接收的主要流程示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的详细描述。
为了叙述方便,在本发明中,定义数据处理模块101工作在主用状态,数据处理模块102工作在备用状态,发生切换后,则数据处理模块102工作在主用状态,而数据处理模块101工作在备用状态。
如图1所示为本发明所述的实现主/备PCI设备切换的装置示意图:
数据处理模块101,由网络处理器及其外围设备组成,是网络设备系统中一个集数据处理和系统管理的核心模块。
通过PCI总线与系统接口模块305连接,实现对系统接口模块305中的PCI接口模块301的初始化,保持与系统接口模块305的始终连接,接收、处理和转发从系统接口模块305收到的数据报文,维护本模块的主备状态和监控本模块核心器件的运行并通过状态信号的状态值向系统控制模块311和数据处理模块102提供本数据处理模块的运行状态,标志运行在主用还是备用状态。
当数据处理模块101为主用状态的时候获得CPU总线控制权,维护和管理整个网络设备系统的资源;通过CPU总线识别网络系统104上线路接口卡的类别,查询系统配置模块317的线路接口卡状态标志寄存器,获得没有初始化的线路接口卡信息,以间接读/写操作的形式将配置数据通过系统配置模块317写入网络系统104中的线路接口中,并更新系统配置模块317的线路接口卡状态标志寄存器。
当数据处理模块101工作在备用状态时,对CPU总线不拥有控制权,只维护本系统运行;同时监控数据处理模块102输出的状态信号的状态值,当检测到数据处理模块102失去主用状态后,获得系统控制权,修改本模块输出的状态信号值,维护和管理整个网络设备系统。
数据处理模块102,通过PCI总线与系统接口模块310连接,与数据处理模块101是结构完全相同的系统,实现相同功能,互为备份,保证网络设备长期可靠运行。
数据处理模块102通过PCI总线与系统接口模块310连接,实现对系统接口模块310中的PCI接口模块306的初始化,保持与系统接口模块310的始终连接,接收、处理和转发从系统接口模块310收到的数据报文。维护本模块的主备状态和监控本模块核心器件的运行并通过状态信号的状态值向系统控制模块311和数据处理模块101提供本数据处理模块运行状态,标志运行在主用还是备用状态。
系统接口模块305,由PCI接口模块301、存储器管理模块302、接收数据存储模块303和发送数据存储模块304组成,完成PCI总线到用户自定义总线之间的转换以及数据报文缓存等功能。
PCI接口模块301完成标准PCI总线与本发明使用的自定义总线之间的转换,其PCI总线与数据处理模块101的PCI设备互连;每个PCI接口模块301拥有两套自定义总线,分别与接收数据存储模块303和发送数据存储模块304连接;通过PCI接口模块301,数据处理模块101可以直接读/写系统接口模块305的存储空间(接收数据存储模块303和发送数据存储模块304),实现数据报文的传输。
存储器管理模块302管理系统接口模块305的存储空间(接收数据存储模块303和发送数据存储模块304),根据存储空间的状态,确定是否允许数据处理模块101向发送数据存储模块304写入数据报文或者请求数据处理模块101从接收数据存储模块303读取数据报文。
如果接收数据存储模块303有完整的数据报文,存储器管理模块302通知PCI接口模块301向数据处理模块101发出申请,数据处理模块101收到申请后,从接收数据存储模块303一次性读出完整数据报文。
PCI接口模块301收到数据处理模块101启动的一次性写操作后,查询存储器管理模块302,确定发送数据存储模块304是否允许写入一个完整数据报文,若允许,PCI接口模块301响应数据处理模块101的写操作,否则,不响应,同时存储器管理模块302查询到发送数据存储模块304有完整的数据需要发送到下一级模块,则向通道切换模块312发出申请,同时将本次需要传送的数据报文的端口号和数据长度发送给通道切换模块312,通知通道切换模块312从发送数据存储模块304读取数据。
接收数据存储模块303和发送数据存储模块304分别是一个FIFO(First-InFirst-Out)模块,可以存储多个数据报文,其模块的存储状态由存储器管理模块302管理。
系统接口模块310,由PCI接口模块306、存储器管理模块307、接收数据存储模块308和发送数据存储模块309组成。组成结构和实现功能与系统接口模块305一样,操作方式也和系统接口模块305一样;不同之处在于系统接口模块310连接数据处理模块102和通道切换模块312,接收和转发来自数据处理模块102和通道切换模块312的数据,与系统接口模块305组成一个PCI总线主/备设备。
系统控制模块311,完成数据处理模块101和数据处理模块102的主备识别和运行状态监控,系统控制模块311实时检测数据处理模块101和数据处理模块102发送的状态信息,确定各数据处理模块的工作状态,并判断是数据处理模块101还是数据处理模块102工作在主用状态,从而控制通道切换模块312进行正确的数据通道选择。
通道切换模块312,对所有经过其传输的数据报文选择正确的传输方向,通道切换模块312受系统控制模块311控制,保证从数据存储模块316读取到的数据报文发送给处于主用状态的数据处理模块101。
在接收方向,通道切换模块312接收数据存储模块316和处于备用状态的数据处理模块102发送过来的读取数据报文请求,当通道切换模块312接收到请求后,查询存储器管理模块302,获得接收数据存储模块303是否能接收一个完整的数据报文,如果能接收一个完整的数据报文,则从接收数据存储模块316或者发送数据存储模块309读取数据报文并写入接收数据存储模块303中;如果不能接收一个完整的数据报文,则继续查询存储器管理模块302,直到接收数据存储模块303能接收这次数据报文传输请求。
在发送方向,当通道切换模块312接收到存储器管理模块302发送的请求和数据报文端口号后,根据端口号查询数据存储模块316或者接收存储模块308是否允许写入一个完整的数据报文,如果能写入一个完整的数据报文,则从发送数据存储模块304读出完整的数据报文写入数据存储模块316或者接收存储模块308;如果不能写入一个完整的数据报文,则不响应存储器管理模块302发送的请求。
数据存储模块316,由存储器管理模块313、接收数据存储模块314和发送数据存储模块315组成,完成数据报文的缓存和转发。
存储器管理模块313管理接收数据存储模块314和发送数据存储模块315的存储空间状态,并向通道切换模块312或者网络接口模块320发出数据报文传输申请。
接收数据存储模块314是一个存储器,所有从网络系统104过来的数据报文都存入这个存储器中,等待通道切换模块312读取。
发送数据存储模块315是一个存储器,通过高位地址和低位地址的划分将内存分割成多个存储空间,其中高位地址与网络系统104中的各个线路接口卡对应,端口号与高位地址直接对应,实现通过端口号就可直接访问对应的存储空间;低位地址由接口管理模块319和通道切换模块312控制,实现对各存储空间的访问。
每个存储空间相对于其他存储空间都是相对独立的,存储器管理模块313采用轮询的方式管理这些存储空间,当存储器管理模块313查询到某个存储空间有一个完整的数据报文后,向网络接口模块320发出数据报文读取申请,并将端口号和数据报文长度发送给网络接口模块320,存储器管理模块313发出申请后没有得到响应,则继续查询发送数据存储模块315中的下一个存储空间,确定是否向网络接口模块320发出数据报文读取申请。
系统配置模块317,由线路接口卡状态标志寄存器和PCI设备配置数据寄存器组组成。
线路接口卡状态标志寄存器,用于指示线路接口卡初始化状态和线路接口卡插入状态,包括线路接口卡初始化状态位和线路接口卡插入状态位;线路接口卡状态标志寄存器由主用数据处理模块101更新和维护。
PCI设备配置数据寄存器组包括,读/写命令寄存器、端口寄存器、写命令数据寄存器和读命令数据寄存器等寄存器;主用数据处理模块101通过这些寄存器实现对网络系统104中的线路接口卡的初始化和维护功能。
读/写命令寄存器用于主用数据处理模块101发起读/写命令,并返回读/写是否成功标志,端口寄存器用于指示本次读/写操作是对网络系统104中的哪个线路接口卡进行的,写命令数据寄存器是用于存储当前需要写入线路接口卡的数据;读命令数据寄存器是用于存放当前读操作发生后从线路接口卡返回来的数据。
当数据处理模块101发出读/写命令后,系统配置模块317向网络接口模块320发出对网络系统104中线路接口卡读/写操作申请;得到网络接口模块320响应后,如果是写操作,则将写命令数据寄存器发送给网络接口模块320,如果是读操作则将从网络接口模块320返回来的数据存入读命令数据寄存器中,同时更新读/写命令寄存器的读/写成功标志;如果没有得到网络接口模块320的响应,则重新发出申请直到成功或者中断本次操作。
网络接口模块320,由PCI接口模块318和接口管理模块319组成,完成数据报文的转发和封装,以及PCI设备配置空间的访问等功能。
PCI接口模块318完成标准PCI总线与本发明使用的自定义总线之间的转换功能,PCI接口318的配置空间可以通过CPU总线直接访问。
接口管理模块319处理系统配置模块317发出的PCI设备配置空间访问申请和数据存储模块316的发送数据申请,对数据存储模块316的存储空间的读/写操作,以及完成对接收到的数据报文进行头信息封装等工作。
网络系统104,与因特网相连,由多种线路接口卡组成,支持多种物理接口,每个线路接口卡在系统中都分配一个端口号,且端口号与其PCI设备基地址高位相同。
如图3所示,对于本发明的PCI设备主备切换装置的初始化步骤如下:
步骤I,系统启动,数据处理模块101、数据处理模块102、PCI设备主备切换装置103和网络系统104上电启动。
步骤II,系统进行主备竞争。数据处理模块101和数据处理模块102在上电后,进行主备竞争,获得主用状态的数据处理模块负责整个系统的运行和维护。在本发明中数据处理模块101通过竞争获得主用状态,执行步骤III,而数据处理模块102获得备用状态,执行步骤IX。
步骤III,初始化与系统接口模块305的PCI接口模块301,使数据处理模块101工作在主设备状态,PCI接口模块301工作在目标设备状态。
步骤IV,查询线路接口卡初始化状态,数据处理模块101获得主用状态后,控制系统CPU总线,查询系统配置模块317中的线路接口卡状态标志寄存器。
步骤V,比较从步骤IV返回的线路接口卡状态标志寄存器的线路接口卡初始化状态和线路接口卡插入状态位,确定是否所有的线路接口卡已经被初始化,如果所有的线路接口卡初始化完成,则初始化结束,执行步骤VIII,否则执行步骤VI。
步骤VI,初始化步骤V获得的没有被初始化的线路接口卡,然后执行步骤VII。
步骤VII,更新系统配置模块317中的线路接口卡状态标志寄存器,对已经初始化好的线路接口卡进行标志,以备后续查询。继续查询系统配置模块317中的线路接口卡状态标志寄存器是否还有线路接口卡没有被初始化,执行步骤IV。
步骤VIII,初始化网络接口模块320。初始化PCI接口模块318,使其工作在主设备模式,管理整个与网络系统104连接的PCI总线资源。
步骤IX,数据处理模块102在步骤II的主备竞争中获得备用状态,不参与整个系统的初始化工作,只需完成与之连接的系统接口模块310中PCI接口模块306的初始化工作,使数据处理模块102工作在备用状态,PCI接口模块306工作在目标设备状态,保持两者之间的连接,用于主备同步信息通讯或者在发生主备切换的时候能迅速处理任何数据报文。
步骤X,系统初始化结束,数据处理模块101进入正常的系统维护和数据处理状态;数据处理模块102准备接收和处理数据处理模块101发送过来的系统同步信息,以及监控数据处理模块101的运行状态,准备随时接管系统控制权。
如图4所示,对于本发明所述的实现主/备PCI设备切换方法的主要处理步骤如下:
步骤a,工作在主用状态的数据处理模块101和工作在备用状态的数据处理模块102正常工作。
步骤b,工作在主用状态的数据处理模块101接受用户发出的主备切换命令后,修改数据处理模块101输出状态信号的状态值向系统控制模块311和数据处理模块102表明数据处理模块101放弃主用状态;或者数据处理模块101上的监控模块检测到数据处理模块101出现核心器件异常导致不能正常处理系统业务,监控模块自动修改状态信号的状态值,向系统控制模块311和数据处理模块102表明数据处理模块101丢失主用状态。处于备用状态的数据处理模块102通过检测数据处理模块101输出的状态信号的状态值检测到数据处理模块101工作状态发生变化后,自动接管整个系统。
步骤c,数据处理模块102接管整个系统后,通过改变自身的运行状态,通知系统控制模块311向其转发从网络系统104过来的数据报文。
步骤d,数据处理模块102工作在主用状态,需要查询整个网络系统104中的线路接口卡是否都已经被初始化,防止因数据处理模块101异常导致线路接口卡没有被初始化,线路接口卡不能正常工作,数据处理模块102通过CPU总线,从系统配置模块317中的线路接口卡状态标志寄存器中读取初始化状态位。
步骤e,比较从步骤d返回的线路接口卡状态标志寄存器的线路接口卡初始化状态位和线路接口卡插入状态位,确定是否所有的线路接口卡已经被初始化,如果所有的线路接口卡都已经被初始化,检测结束,执行步骤h,否则,执行步骤f。
步骤f,初始化步骤e获得的没有被初始化的线路接口卡,然后执行步骤g。
步骤g,更新系统配置模块317中的线路接口卡状态标志寄存器,对已经初始化好的线路接口卡进行标志,以备后续查询,执行步骤d,继续检测,是否还有线路接口卡没有被初始化。
步骤h,数据处理模块102结束本次主备切换工作,进入系统维护和数据处理状态。
步骤i,原先运行在主用状态的数据处理模块101重新启动和初始化,成为备用系统,等待下一次主备切换,改变输出给系统控制模块311的状态信息,标志其工作在备用状态。
步骤j,系统控制模块311在上电后,监控数据处理模块101和数据处理模块102的运行状态,不断检测二者传输过来的状态信息。
步骤k,根据步骤j获得的状态信息,判断数据处理模块101和数据处理模块102的运行状态系统是否发生改变,如果发生改变,则明确是数据处理模块101工作在主用状态还是数据处理模块102工作在主用状态,并执行步骤1,否则,没有发生改变,继续检测,执行步骤j。
步骤1,系统控制模块311向通道切换模块312发出通道切换信息,要求通道切换模块312将从数据存储模块316读取到的数据报文发送给系统接口模块310。
步骤m,通道切换模块312收到系统控制模块311的通道切换信息后,不能立即进行切换,需要判断是否正在传输一个数据报文,如果正在传输一个数据报文,执行步骤n,否则执行步骤o。
步骤n,通道切换模块312继续执行当前操作直到当前数据报文传输处理完毕,然后执行步骤o。
步骤o,通道切换模块312执行系统控制模块311的通道切换信息,将数据通道切换到系统接口模块310,从数据存储模块316读取的数据都写入到接收数据存储模块308中。系统控制模块311在通道切换模块312完成通道切换信息后,继续监控数据处理模块101和数据处理模块102的运行状态,完成本次主备切换。
如图5所示,对于本发明所述的实现主/备PCI设备切换装置的数据报文发送处理步骤如下:
步骤A,数据处理模块101准备好一个数据报文等待发送,该数据报文包括增加的头部信息(如图2所示)。数据处理模块101的PCI设备获得该数据报文的存储起始地址和长度后,启动一次数据报文传输,执行步骤B。
步骤B,数据处理模块101的PCI设备申请使用PCI总线,得到PCI总线控制权后,开始启动一次PCI总线写交易。
步骤C,系统接口模块305检测到一次PCI总线写操作,而且其目标地址就是本模块后,存储器管理模块302检测发送数据存储模块304是否能接收一个完整的数据报文,如果能接收一个完整的数据报文,则通过PCI接口模块301响应这次PCI总线写交易,执行步骤D,否则,不响应,数据处理模块101继续启动PCI总线写交易,执行步骤B。
步骤D,系统接口模块101发起的总线写交易得到响应后,将整个数据报文从其内存空间读出并通过PCI总线接口模块301写入发送数据存储模块304中。
步骤E,存储器管理模块302检测到数据处理模块101已经向发送数据存储模块304写入了一个完整的数据报文,则提取该数据报文的头信息,获得端口号和数据长度,向通道切换模块312申请从发送数据存储模块304读取数据报文。
步骤F,通道切换模块312在收到存储器管理模块302发送过来的申请后,分析端口号,确定该数据报文是发给网络系统104还是备用数据处理模块102的,如果是发给网络系统104的,执行步骤G,否则执行步骤P。
步骤G,通道切换模块312查询数据存储模块316中的存储器管理模块313,返回发送数据存储模块315中与端口号对应的存储空间的状态信息。
步骤H,通道切换模块312通过分析步骤G返回的状态信息,确定发送数据存储模块315中与端口号对应的存储空间是否能写入一个完整的数据报文,如果能,则执行步骤I,否则执行步骤M。
步骤I,通道切换模块312根据步骤E获得的数据报文长度信息从发送数据存储模块304读取完整的数据报文写入发送数据存储模块315中与端口号对应的存储空间中。
步骤J,存储器管理模块313不断检测发送数据存储模块315中各存储空间的状态,当检测到某个存储空间有数据报文等待发送的时候,向网络接口模块320发出数据报文读取申请,同时将数据报文长度传送给接口管理模块319。
步骤K,网络接口模块320中的接口管理模块319在接收到存储器管理模块313发出的申请后,通过PCI接口模块318启动一次与端口号相对应的内存空间PCI总线写交易操作,如果网络系统104中的线路接口卡响应本次写交易操作,则执行步骤L,否则存储器管理模块313继续查询下一个存储空间,执行步骤J。
步骤L,接口管理模块319根据端口号和数据报文长度从发送数据存储模块315中读取完整的数据报文通过PCI接口模块318写入网络系统104中的线路接口卡,完成一次报文传输,执行步骤U。
步骤M,通道切换模块312在查询数据存储模块316前需要判断该次数据报文处理是否已经超时,如果超时,需要丢弃该数据报文,保证通道畅通,防止通道间影响,执行步骤T;否则继续查询,执行步骤G。
步骤N,通道切换模块312在查询存储器管理模块307前需要判断该次数据报文处理是否已经超时,如果超时,需要丢弃该数据报文,保证通道畅通,防止通道间影响,执行步骤T;否则继续查询,执行步骤P。
步骤P,通道切换模块312查询系统接口模块310中的存储器管理模块307,返回接收数据存储模块308存储空间的状态信息。
步骤Q,通道切换模块312通过分析步骤P返回的状态信息,确定接收数据存储模块308是否能写入一个完整的数据报文,如果能,则执行步骤R,否则执行步骤N。
步骤R,通道切换模块312根据步骤E获得的数据报文长度信息从发送数据存储模块304读取完整的数据报文写入接收数据存储模块308中。存储器管理模块307在检测到接收数据存储模块308有一个完整的数据报文等待读取后,通过PCI接口模块306向数据处理模块102申请读取数据报文。
步骤S,数据处理模块102在收到PCI接口模块306的请求后,通过PCI总线将接收数据存储模块308中的数据报文读回,从而完成一次主备同步信息的传递,执行步骤U。
步骤T,通道切换模块312根据步骤E获得的数据报文长度信息从发送数据存储模块304读取完整的数据报文,但并不写入任何存储空间,将整个数据报文读出并丢弃。
步骤U,完成一次数据报文发送处理,准备下一次数据报文处理。
如图6所示,对于本发明所述的实现主/备PCI设备切换装置的数据报文接收处理步骤如下:
步骤1,网络系统104中,一线路接口卡接收到数据报文,需要传送给主用数据处理模块101。
步骤2,网络系统104中线路接口卡向网络接口模块320中的PCI接口模块318申请PCI总线读交易操作。
步骤3,PCI接口模块318接收到网络系统104中线路接口卡发送的PCI总线操作请求后,通过接口管理模块319查询数据存储模块316中的存储器管理模块313,确定接收数据存储模块314是否能接收一个完整的数据报文,如果能,执行步骤4,否则执行步骤2。
步骤4,PCI接口模块318从网络系统104中线路接口卡的存储空间读回整个数据报文,通过接口管理模块319存入接收数据存储模块314中,接口管理模块319在接收数据报文的同时,计算整个数据报文的长度,并从PCI接口模块318获得当前进行PCI总线读交易操作的线路接口卡的端口号,并将这个端口号和报文长度在数据报文传输结束后根据报文头信息格式添加到数据报文头中。存储器管理模块313不断检测接收数据存储模块314的存储空间,当检测到存储空间有一个完整的数据报文等待发送的时候,向通道切换模块312发出数据报文读取申请,同时将数据报文长度传送给通道切换模块312,执行步骤9。
步骤5,数据处理模块102准备好一个数据报文等待发送给数据处理模块101,该数据报文包括增加的头部信息(如图2所示),数据处理模块102的PCI设备获得该数据报文的存储起始地址和长度后,启动一次数据报文传输,执行步骤6。
步骤6,数据处理模块102的PCI设备申请使用PCI总线,得到PCI总线控制权后,开始启动一次PCI总线写交易。
步骤7,系统接口模块310检测到一次PCI总线写启动,而且其目标地址就是本模块后,存储器管理模块307检测发送数据存储模块309是否能接收一个完整的数据报文,如果能接收一个完整的数据报文,则通过PCI接口模块306响应这次PCI总线写交易,执行步骤8,否则不响应,数据处理模块102继续启动PCI总线写交易,执行步骤6。
步骤8,系统接口模块102发起的总线写交易得到响应后,将整个数据报文从其内存空间读出并通过PCI总线接口306写入发送数据存储模块309中。存储器管理模块307检测到数据处理模块102已经向发送数据存储模块309写入了一个完整的数据报文,则提取该数据报文的头信息,获得端口号和数据长度,向通道切换模块312发出申请,请求从发送数据存储模块309读取数据报文。执行步骤9。
步骤9,通道切换模块312在接收到数据存储模块316或者系统接口模块310发送过来的数据报文读取申请后,查询系统接口模块305中的存储器管理模块302,获得接收数据存储模块303的存储空间状态信息。
步骤10,通道切换模块312根据步骤9返回来的接收数据存储模块303存储空间状态信息,确定接收数据存储模块303是否允许写入一个完整的数据报文,如果能,执行步骤11,否则,执行步骤9。
步骤11,根据步骤9获得的申请源信息,确定是从数据存储模块316的接收数据存储模块314还是从系统接口模块310的发送数据存储模块309读取完整的数据报文并写入系统接口模块305中的接收数据存储模块303中。
步骤12,系统接口模块305中的存储器管理模块302在检测到接收数据存储模块303有一个完整的数据报文等待读取后,通过PCI接口模块301向数据处理模块101申请读取数据报文。
步骤13,数据处理模块101在收到PCI接口模块301的请求后,通过PCI总线将接收数据存储模块303中的数据报文读回。
步骤14,数据处理模块101完成一次数据报文接收。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈