首页> 中国专利> 高速串行总线网络中双主机的控制方法

高速串行总线网络中双主机的控制方法

摘要

本发明公开了一种高速串行总线网络中双主机的控制方法,其包括以下步骤:系统开机后,两个Host通过竞争方式决定主、备地位;主Host对网络进行初始化,备Host则撤销先前的所有操作;在初始化决策步骤完成后,主Host、备Host进行第一次数据同步,备Host从主Host备份网络配置信息;随后系统便进入正常工作状态,而备Host与主Host进行实时数据同步;系统正常工作中,如果主Host发生故障,则备Host通知系统对主Host进行屏蔽操作,然后备Hos将自己的设备ID修改为原主Host的设备ID,获得系统新主Host的地位。本发明解决了已有两个Host网络中资源开销大、操作实时性低的问题。

著录项

  • 公开/公告号CN102843264A

    专利类型发明专利

  • 公开/公告日2012-12-26

    原文格式PDF

  • 申请/专利权人 中国航空无线电电子研究所;

    申请/专利号CN201210357024.3

  • 发明设计人 许生;胡晨浩;

    申请日2012-09-21

  • 分类号H04L12/24(20060101);H04L12/40(20060101);H04L1/22(20060101);

  • 代理机构上海和跃知识产权代理事务所(普通合伙);

  • 代理人杜林雪

  • 地址 200233 上海市徐汇区桂平路432号

  • 入库时间 2023-12-18 07:51:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-04-08

    授权

    授权

  • 2013-02-13

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20120921

    实质审查的生效

  • 2012-12-26

    公开

    公开

说明书

技术领域

本发明涉及一种控制方法,特别是涉及一种高速串行总线(以下简称 SRIO)网络中双主机(以下简称Host)的控制方法。

背景技术

SRIO技术是第一个嵌入式系统互连国际标准,它不仅是芯片间的高速 互联技术,ATCA(高级通信计算架构)、uTCA(微型通信计算架构)、AMC (高级夹层卡)、VXS(基于VME总线的交换串行标准)、VPX(基于VME 总线的高速串行总线标准)等标准规范都已引入SRIO技术作为单板间的标 准互连技术。

SRIO的应用范围越来越广。但是,目前基于SRIO的应用都还局限于 协议规范的确定性部分。随着分布式系统的发展,双Host工作模式的SRIO 网络成为SRIO应用的重点。但在这一领域,人们把研究重心放在两个Host 协同工作方法上,该方法采用“多处理机缓存一致性”和“共享存储器”技 术(参考技术规范《RapidIO Interconnect Specification Part 5:Globally Shared  Memory Logical Specification》),除了SRIO官方提出的一些技术讨论文章, 国外很少出现对该方法进行深入研究的文献,而国内对该方法的研究可谓空 白。就目前已有研究判断,该方法存在以下缺陷:

(1)资源开销大。缓存一致性协议开销较大,占用PE(处理机)的计 算资源多;尤其在多大十数个甚至数十个PE节点的网络中,缓存一致性带 来的PE开销将随着网络节点数的增加呈指数级增长。

(2)操作实时性低。在某个PE对共享缓存写操作前,系统需要等待所 有与共享缓存连接的其他PE的响应,以确定这些PE不会在这段时间对共 享缓存进行写操作,当系统得到全部的响应之后,才会授权该PE对共享缓 存实施写操作。在PE完成写操作后,系统释放该PE的写权限并通知其他 PE之后,一次写操作才真正完成。

(3)容错能力差。共享存储器降低了系统的可靠性,一旦存储器或其 所在模块发生故障,将导致整个网络的基础信息丧失,从而导致网络瘫痪。

发明内容

本发明所要解决的技术问题是提供一种高速串行总线网络中双主机的 控制方法,其解决了已有两个Host网络中资源开销大、操作实时性低和容 错能力差的问题。

本发明是通过下述技术方案来解决上述技术问题的:一种高速串行总线 网络中双主机的控制方法,其特征在于,其包括以下三个步骤:

第一步:系统开机后,两个Host通过竞争方式决定主、备地位,即形 成主Host和备Host;主Host对网络进行初始化,备Host则撤销自己先前 的所有操作;

第二步:在初始化决策步骤完成后,主Host、备Host进行第一次数据 同步,备Host从主Host备份网络配置信息;随后系统便进入正常工作状态, 此过程中,主Host对网络进行日常管理和控制,而备Host与主Host进行实 时配置数据同步;

第三步:系统正常工作中,如果主Host发生故障,则备Host通知系统 对主Host进行屏蔽操作,然后备Hos将自己的设备ID修改为原主Host的 设备ID,获得系统新主Host的地位;在切换完成后,由新主Host重新开 始对网络进行日常管理。

本发明的积极进步效果在于:

一、本发明提出了Data Base Modified Flag CSR(数据库修改标识CSR) 和Data Base Modified Content CSR(数据库修改内容CSR),并设计了其使 用方法,借助SRIO自带的CSR机制实现发明功能。

二、本发明给出的两个Host初始化决策部分,基于两个Host之间的竞 争算法,能够选择出性能较佳、物理连接较好的Host作为主Host,与现有 的其他方法比较,既节省了主备决策的时间,又提高了主Host的质量。

三、本发明提出的两个Host快速同步部分弥补了双Host网络中两个信 息库之间同步的空白。本部分的优点是同步监听实时性高、通信量少、系统 资源占用率低以及算法复杂度低。同时同步过程中由于备Host是直接读取 主Host的Data Base Modified Flag CSR和Data Base Modified Content CSR 这两个寄存器而非整个数据库,故其同步速度较快,同步效率较高。

四、本发明提出的主备Host快速切换部分弥补了双Host网络中两个Host 之间进行快速切换的空白。本方法中,在发生主备切换后,原来的备Host 把自己伪装成原来的主Host,该切换事件无需通知网络中任何普通设备,对 于普通设备而言,切换前和切换后不会发生任何参数值的修改。本部分的优 点在于切换速度快、对系统改动最小、切换可靠性高。

附图说明

图1为本发明Data Base Modified Content CSR(数据库修改内容CSR) 的字段定义的示意图。

图2为本发明Data Base Modified Flag CSR(数据库修改标识CSR)的 字段定义的示意图。

图3为本发明高速串行总线网络中双主机的控制方法的流程图。

图4为本发明上电时两个Host竞争主Host的流程图。

图5为本发明中快速同步步骤的流程图。

图6为本发明中快速切换步骤的流程图。

图7为本发明高速串行总线网络中双主机的控制方法采用硬件的原理框 图。

具体实施方式

先给出如下定义:

定义1:CAR(能力寄存器)寄存器:每个SRIO设备都有CAR寄存器, 用以表征该设备对自身能力的定义和限制,也给出了其他设备对该设备进行 操作的权限,该寄存器是只读类型。

定义2:CSR(命令状态寄存器)寄存器:每个SRIO设备都有CSR寄 存器,通过对设备CSR寄存器中特定的值进行修改,可以对该设备进行配 置,该寄存器大多是读写类型。

定义3:主机(Host):SRIO网络中对网络进行管理的设备。它负责网 络的初始化和正常工作时每个设备的状态管理等。

定义4:PE Features CAR(设备特征CAR)寄存器:表征设备的基本信 息和主要功能。

定义5:Host Base Device ID(主机设备ID)Lock CSR(加锁CSR) 寄存器:SRIO网络中每个设备只能同时被一个Host进行管理,该CSR中 记录的是当前能够对本设备进行管理的Host的设备ID号。

定义6:加锁:Host将自己的设备ID写入到某设备的Host Base Device  ID Lock CSR寄存器中,即完成对该设备的加锁。某设备一旦被Host加锁, 那么它只接受这个Host对它的配置和管理。

本发明自主定义的功能寄存器如下:

定义7:Data Base Modified Content CSR寄存器(数据库修改内容CSR 寄存器),该CSR寄存器有100条,表示为Data Base Modified Content  CSR[0]~Data Base Modified Content CSR[99],如图1所示,每条有“数据库 类型”、“被修改条目索引”和“修改内容”三个字段,每条占用128个字节。 在网络运行过程中,主Host维护的数据库中的条目可能会被修改,“数据库 类型”表示被修改数据库的类型是设备数据库或者路由表,“被修改条目索 引”表示被修改的条目在数据库中的索引,“修改内容”表示被修改条目修 改后的内容。

定义8:Data Base Modified Flag CSR寄存器(数据库修改标识CSR寄 存器):如图2所示,该CSR寄存器有“修改标识”和“起始位置”两个字 段,共占用4个字节。在网络运行过程中,主Host维护的数据库中的条目 可能会被修改,Data Base Modified Flag CSR寄存器中的“修改标识”表示 备Host当前尚未更新的条目数,“起始位置”表示备Host在当前同步周期内 使用Data Base Modified Content CSR寄存器的起始编号。

本发明从系统开机之后,如图3所示,高速串行总线网络中双主机的控 制方法主要包括以下三个步骤:

第一步(初始化决策步骤):系统开机后,启动主备Host决策算法进行 初始化决策,两个Host通过竞争方式决定主、备地位,即形成主Host和备 Host。胜出的主Host对网络进行初始化,而失败的备Host则撤销自己先前 在主备决策中进行的所有操作。两个Host初始化决策步骤具体操作过程如 下:如图4所示,系统上电之初,两个Host首先进行各自的硬件初始化。 每个Host对自己加锁,随后读取自己的CAR寄存器并将CAR寄存器中相 关信息写入到自己维护的设备数据库中。接着每个Host将自己的设备ID写 入到交换机的Host Base Device ID Lock CSR寄存器中。写完后,再各自读 取交换机寄存器的该值,以判断自己是否成功写入。由于Host Base Device ID  Lock CSR寄存器只能进行一次写操作,一旦被成功写入后,直到成功写入 的Host发起清除该写操作前,任何对该CSR寄存器的写操作都将被忽略, 所以只有速度更快、性能更好的Host才能在此竞争模式下取得对交换机加 锁的权限。此初始化决策步骤可以选出性能更为优异的Host。对交换机成功 加锁的Host将获得主Host权限,而加锁失败的Host获得备Host权限。主 Host继续对网络进行初始化配置,备Host则撤销自己之前所有的操作。

第二步(快速同步步骤):在初始化决策步骤完成后,启动主备Host同 步算法。首先主Host、备Host进行第一次数据同步,备Host从主Host备 份网络信息。随后系统便进入正常工作状态,此过程中,主Host对网络进 行日常管理和控制,而备Host与主Host进行实时配置数据同步。两个Host 快速同步步骤具体操作过程如下:如图5所示,主Host完成网络初始化配 置后,也就第一次生成了完整的网络设备信息和路由信息。主Host通知备 Host自己已经完成初始化,备Host收到该通知后,并从主Host那里复制设 备数据库和路由表,完成了第一次配置数据同步。之后备Host每X毫秒读 取主Host的Data Base Modified Flag CSR寄存器,并将该值赋给自己的 Dati Base Modified Flag CSR寄存器。如果其中Data Base Modified Flag  CSR寄存器的修改标识为0,则表示当前没有需要更新的数据条目;如果修 改标识大于0,备Host根据该起始位置字段读取主Host的Data Base  Modified Content CSR寄存器,根据该CSR寄存器的“数据库类型”和“被 修改条目索引”字段找到被修改的数据库条目,随后将CSR寄存器中读取 到的修改内容更新到相应的条目。这里备Host通过“被修改条目索引”字 段,每次仅仅对被修改的一个条目进行更新操作。采用这种方法,而不是每 次都将整个数据库重新更新,是为了防止主Host产生的小修改导致备Host 更新整个数据库的情况,避免不必要的资源消耗,同时提高了系统操作的实 时性。在备Host成功更新数据库条目后,将自己的Data Base Modified Flag  CSR寄存器的修改标识值减1,并将起始位置加1。备Host通知主Host做 上述同样的操作。如此反复直到备Host维护到最新的网络设备信息和路由 表信息。此快速同步步骤算法简单,通信量少,彻底解决了传统方法资源开 销大和操作实时性低的问题。而该方法在两个不同的位置维护着网络的基础 信息,且彼此保持同步,因此还解决了传统方法容错能力差的问题。

第三步(快速切换步骤):系统正常工作中,如果主Host发生故障,则 启动主备Host切换算法,备Host通知系统对主Host进行屏蔽操作,然后备 Hos将自己的设备ID修改为原主Host的设备ID,通过这种不需要修改网 络中其他设备参数的方式,获得系统新主Host的地位。在切换完成后,由 新主Host重新开始对网络进行日常管理。两个Host快速切换步骤具体操作 过程如下:如图6所示,系统运行过程中,如果备Host连续N次未收到来 自主Host的同步响应,且此时系统没有关于备Host的故障类告警,说明主 Host设备发生故障,或者主Host到交换机的物理连接发生故障,触发主备 切换。系统首先判断主Host当前状态,当主Host由于故障异常掉线而触发 主备切换时,系统对其可用资源进行更新维护;当主Host由于物理连接不 稳定而触发主备切换时,系统要求主Host中断当前处理,并丢弃所有接收 到的包。然后备Host将自己的设备ID修改为原主Host的设备ID,成为新 主Host,并更新设备数据库中与自己相关的内容,同时,将路由表中相关的 端口映射进行修改,并将原主Host在交换机上对应的端口置为无效。采用 这种备Host“伪装”成主Host的方法,是为了减小系统由于切换Host所带 来的操作复杂度。采用该“伪装”方法进行Host切换,在切换前后对于系 统中其他设备而言都没有任何影响,不需要进行任何修改。此方法可以大幅 降低由于Host切换所带来的资源消耗,提高Host切换的速度与质量。切换 后,新主Host检查Data Base Modified Flag CSR寄存器,如果修改标识为 0,说明新主Host维护的数据库是当前网络最新的数据库,此时无需重新获 取网络信息;如果修改标识大于0,说明在原主Host故障前,尚有未经同步 的修改条目,此时需重新获取网络信息,新主Host对网络中的设备逐一询 问,重新获取网络信息。最后新主Host清除切换过程中产生的错误提示, 使网络重新恢复到健康的工作状态。该方法切换复杂度低,资源开销小,且 在切换过程中对网络中的普通设备无需提出任何修改要求,避免了因为大规 模修改给网络带来告警和故障的可能,因此,该方法也帮助解决了传统方法 中资源开销大和容错能力差的问题。

下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。

如图7所示,本发明采用交换机、第一主控模块、第二主控模块、FPGA 资源模块、DSP资源模块,将第一主控模块的CPU称作Host 1,将第二主 控模块的CPU称作Host 2,本发明的第一步处理如下(如图4所示):

1.1系统上电之后,Host 1、Host 2分别对各自的硬件作初始化处理,同 时加载SRIO网络管理程序。

1.2Host 1、Host 2分别对自己进行加锁操作。Host 1对自己的Host Base  Device ID Lock CSR寄存器赋值0x00,Host 2对自己的Host Base Device ID  Lock CSR寄存器赋值0x01,然后分别读取该CSR寄存器以确认赋值是否成 功。

1.3Host 1、Host 2分别读取自己的PE Features CAR寄存器,将CAR寄 存器的数据存储到设备数据库中。

1.4Host 1、Host 2尝试对SRIO交换机进行加锁操作。Host 1尝试对SRIO 交换机的Host Base Device ID Lock CSR寄存器赋值0x00,Host 2尝试对 SRIO交换机的Host Base Device ID Lock CSR寄存器赋值0x01。

1.5Host 1、Host 2分别读取SRIO交换机的Host Base Device ID Lock  CSR寄存器的值以确认是否已获得对SRIO交换机的控制权限。假设读取结 果Host Base Device ID Lock CSR寄存器的值为0x00,Host 1获得SRIO交 换机的控制权限,成为系统的主Host,Host 2成为备Host。

1.6Host 1对网络进行初始化和配置,搜索到系统中的FPGA资源模块和 DSP资源模块,分别对这两个模块上的FPGA设备和DSP设备进行配置设 备ID、端口号,并将这些设备的基本信息与路由情况更新到设备数据库和 路由表中;Host 2则撤销之前自己在主备竞争中发生的所有操作。

本发明的第二步处理(如图5所示):

2.1在Host 1完成网络初始化后,Host 1与Host 2握手,通知Host 2从 Host 1处复制设备数据库与路由表信息。

2.2Host 2周期性监听并复制Host 1的Data Base Modified Flag CSR。如 果其中的修改标识字段为0,则重复步骤2.2操作;一旦修改标识字段大于0, Host 2根据该CSR寄存器中的起始位置字段读取Host 1的Data Base  Modified Content CSR寄存器。

2.3Host 2根据Data Base Modified Content CSR寄存器的“数据库类型” 和“被修改条目索引”字段找到被修改的数据库条目,比如某DSP芯片的 信息有1处变化,则会产生1条修改信息,其中数据库类型字段的值为 “0101”,表示需要修改的是设备数据库;如果此处产生的变化涉及到路由 信息,则会产生2条修改信息,1条其中的数据库类型字段的值为“0101”, 另1条其中的数据库类型字段的值为“1010”。而如果仅仅是路由信息发生 变化,则会产生1条修改信息,其中数据库类型字段的值为“1010”。在确 认需要修改的地方后,Host 2根据Host 1的Data Base Modified Content CSR 寄存器中“修改内容”字段将修改内容更新到自己维护的数据库中。

2.4Host 2在成功更新Data Base Modified Content CSR寄存器后,将Data  Base Modified Flag CSR寄存器的“修改标识”字段的值减1,并将“起始位 置”字段的值加1,同时通知Host 1做相同操作,以清除此次修改任务。

步骤2.2~2.4反复进行,直到Host 1出现故障。

本发明的第三步处理(如图6所示):

3.1在Host 1与Host 2进行数据同步过程中,如果Host 2连续N次未收 到Host 1的同步响应,在排除自身故障可能之后,可以判断Host 1发生故障。

3.2系统判断故障发生的原因。如果Host 1由于故障异常掉线,则系统 对其可用资源进行更新维护;如果Host 1由于物理连接不稳定或数据交换压 力过大导致与Host 2同步响应严重延迟,则系统要求第一Host 1中断当前所 有处理,并丢弃所有数据包。

3.3系统通知Host 2进行主备切换。Host 2将自己的设备ID修改为原 Host 1的设备ID 0x00,并更新设备数据库与自己相关的内容,同时将路由 表中相关的端口映射进行修改,并屏蔽Host 1在交换机上对应的端口。

3.4Host 2检查自己的Data Base Modified Flag CSR寄存器的“修改标识” 字段的值是否大于0,如果大于0,则表明Host 1故障发生前,尚有未经同 步的修改条目,而此时Host 1已经发生故障,这些信息需要从网络中重新获 取。

3.5Host 2对网络内各节点逐一询问,重新获取网络信息。

3.6Host 2清除在切换过程中产生的错误提示,使网络重新恢复到健康的 工作状态。

以上是双Host系统运行过程中所经历的一套完整的流程,由于主备Host 都有网络中设备信息与路由表信息的数据备份,系统对Host与数据库信息 产生故障的容错能力大幅增强。系统中一个Host的损坏并没有对系统产生 毁灭性的打击,在经过短暂的主备Host切换后,系统重新回到正常工作状 态,新主Host开始控制与管理网络运行,且在这个短暂的切换过程中,网 络中除了Host之外的各节点之间的信息交互不受影响。

本领域的技术人员可以对本发明进行各种改型和改变。因此,本发明覆 盖了落入所附的权利要求书及其等同物的范围内的各种改型和改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号