首页> 中国专利> 一种避免冗余主站对串行总线链路访问冲突的方法

一种避免冗余主站对串行总线链路访问冲突的方法

摘要

本发明提供了一种避免冗余主站对串行总线链路访问冲突的方法,应用于冗余主站系统,主站双机之间可以相互通信,包括下述步骤:(a)热机进行数据采集处理,组包向设备下发数据请求、采集数据并处理数据,备机处于静默状态;(b)每隔一段时间进行一次备机的状态检测过程,由热机组包向备机发送一个数据请求,备机将该请求下发到从站设备,进行一次数据采集,判断备机的在线离线状态并作出标识,此时热机为静默状态;(c)备机将数据采集结果发送给热机,由热机进行数据处理,备机转为静默状态,热机继续执行步骤(a)。本方法能保证主从应答规约中从站设备为单通道时,冗余主站不会同时对设备执行操作。

著录项

  • 公开/公告号CN1753377A

    专利类型发明专利

  • 公开/公告日2006-03-29

    原文格式PDF

  • 申请/专利权人 北京和利时系统工程股份有限公司;

    申请/专利号CN200510115559.X

  • 发明设计人 贺学文;赵云飞;

    申请日2005-11-04

  • 分类号H04L12/24(20060101);H04B1/74(20060101);

  • 代理机构11262 北京安信方达知识产权代理有限公司;

  • 代理人龙洪;霍育栋

  • 地址 100096 北京市海淀区西三旗建材城中路10号

  • 入库时间 2023-12-17 17:03:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-05-28

    专利权人的姓名或者名称、地址的变更 变更前: 变更后: 申请日:20051104

    专利权人的姓名或者名称、地址的变更

  • 2008-03-12

    授权

    授权

  • 2006-05-24

    实质审查的生效

    实质审查的生效

  • 2006-03-29

    公开

    公开

说明书

技术领域

本发明涉及一种避免冗余主站对串行总线链路访问冲突的方法,特别涉及一种在主从应答规约中避免冗余主站对串行总线链路访问冲突的方法。

背景技术

冗余技术是计算机系统可靠性设计中常用的一种技术,双机冗余热备结构更是被广泛应用于许多过程控制领域的各种监控系统中。这种结构的冗余主站与从站之间具有双通道,图1是这种结构的一个示例,其中作为主站的两个冗余IO站中的主机和从机分别通过一根串行总线或者其它类型的总线与作为从站的设备相连。主机和从机同时采集设备的数据,由主机对设备发出控制指令,此时不会产生对串行总线链路的访问冲突。

然而,目前国内一些设备的通信只支持单通道,冗余主站(如IO站)的主机和从机只通过一根串行总线连接到设备,其结构如图2所示。此时,必须保证主机和从机不会同时向设备发送数据请求、控制指令等,否则将会导致链路数据混乱,通信失败。但是,主机和从机又都需要通过与设备的不断通讯来验证与设备间的通讯是否正常。因此,如果作为从站的设备和作为主站的IO站之间的通信规约采用主从应答方式,就必须对主机和从机对总线链路的访问加以管理。

发明内容

本发明即是针对上述现有技术中存在的缺点而提出的一种避免冗余主站对串行总线链路访问冲突的方法,本方法能够保证冗余主站的双机与设备间采用单通道时,不会同时对设备执行操作。

本发明是通过下述技术方案来实现的:

一种避免冗余主站对串行总线链路访问冲突的方法,应用于冗余主站系统,所述冗余主站中双机通过一根串行总线链路与作为从站的设备连接,双机之间可以相互通信,其特征在于,该方法包括下述步骤:

(a)热机进行数据采集处理,组包向设备下发数据请求、采集数据并处理数据,备机处于静默状态;

(b)每隔一段时间进行一次备机的状态检测过程,由热机组包向备机发送一个数据请求,备机将该请求下发到从站设备,进行一次数据采集,判断备机的在线离线状态并作出标识,此时热机为静默状态;

(c)备机将数据采集结果发送给热机,由热机进行数据处理,备机转为静默状态,热机继续执行步骤(a)。

进一步地,所述冗余主站中的双机分别配置为默认主机和默认从机,所述的步骤(b)中,备机的状态检测过程由默认主机发起,若默认主机为热机,则其定时向默认从机发送一个数据请求;若默认主机为备机,则其定时向默认从机发出启动检测请求,由默认从机回复一个数据请求给默认主机。

进一步地,所述冗余主站中的双机分别配置为默认主机和默认从机,所述的步骤(b)中,备机的状态检测过程由默认从机发起,若默认从机为热机,则其定时向默认主机发送一个数据请求;若默认从机为备机,则其定时向默认主机发出启动检测请求,由默认主机回复一个数据请求给默认从机。

进一步地,所述步骤(b)中,由热机来触发备机的状态检测过程,即确认自己为热机后,每隔一段时间向备机发送一次数据请求。

进一步地,所述的步骤(b)中,所述热机发送数据请求后,等待从机返回数据采集结果的静默时间为一次采集超时时间的1.5~2.5倍。

进一步地,判断热机或备机的在线离线状态是通过下述方法实现的:若热机或备机与设备能够正常通信,则在线,若不能够正常通信,则为离线。

进一步地,所述热机在采集处理过程中还检测与设备间的在线离线状态,当其由在线状态变为离线状态时,双机实现热备转换。

与现有技术相比,本发明主站的冗余双方数据采集时互为热备机,保证只有一方对从站进行操作,保证从站的测试数据在主站能够得到处理,并且能够随时检测热机和备机的在线或离线状态,适于从站设备为单通道设备使用。

附图说明

图1为现有技术中冗余双机热备结构的示意图。

图2为本发明实施例中冗余双机通过单通道与设备连接的示意图。

图3为本发明实施例中系统启动后默认主机的工作流程图。

图4为本发明实施例中系统启动后默认从机的工作流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的介绍,但不作为对本发明的限定。

一个冗余主站的监控系统中,冗余双方分别为IO站A机和IO站B机,设定A机为默认主机,B机默认从机,从站为待监控设备。该系统中,A机和B机通过串行总线链路分别与作为从站的设备连接,同时A机和B机之间设置以太网或者专用串口通道连接,也可以如图2所示在A机和B机之间同时设置以太网或者串行通道,并确定它们的优先级的方式实现连接。

首先说明的是,在下述论述中,IO站A机和IO站B机的在线状态或者离线状态是指其与某个设备的连接状态,认为IO站A机和IO站B机之间的通信状态始终保持正常。

在本实施例中,该监控系统启动后,设定A机为热机,B机为备机,A机不断循环进行数据的采集处理过程,包括组包,向从站设备发送数据请求,接收来自从站设备的数据并进行处理等操作。同时,A机每隔30秒启动一次备机(此时为B机)的状态检测过程,将组包的数据请求发送到B机,由B机向设备下发一次请求,接收数据,以检测B机和设备间的在线/离线状态,并将接收到的数据返回A机,由A机进行处理。如果因A机离线或其它原因需要将B机切换为热机后,则改由B机循环进行数据的采集处理过程,但仍由A机启动备机(此时为A机)的状态检测过程,每隔30秒向B机发送一次启动检测的请求,由B机将此次组包后的数据请求发送到A机,A机再下发到相应设备,进行一次数据采集,并将此次数据采集的结果返回到B机,由B机进行处理。当A机正常后或根据策略需要将A机切换为热机时,B机会自动转换为备机,此时A机恢复为热机。

参考图3所示的A机的工作流程图。A机为默认主机;设定第一定时器的定时时间为30秒,用于设定A机向B机发送请求命令的时间间隔。A机启动后,执行下述步骤:

步骤100:第一定时器清零,重新启动,根据A机的在线离线标识,判断A机是否为热机,如果A机标识为在线,则为热机,执行步骤101,如果A机的标识为离线,则A不是热机,为备机,执行步骤107;

步骤101:A机进行一次采集处理过程,包括:组包、向从站设备发请求,采集数据和处理数据;

步骤102:判断A机是否在线,如果是,执行步骤103,如果否,更新A机的在线离线标识,并通知B机,返回执行步骤100;

若在步骤101中,A机与从站设备通信时,若发现通道不通,则表明A机对应于相应的设备为离线状态,反之,A机在线;

步骤103:判断第一定时器是否计时到30秒,如果是,则执行步骤104,如果否,则返回执行步骤101;

步骤104:A机与B机通信,组包后向B机发送数据请求;

步骤105:A机进入静默状态,等待时间为采集周期超时时间的2倍,以保证B机能有足够的处理时间;

步骤106:A机接收到B机返回的此次数据采集结果,处理数据,返回步骤100。

步骤107:A机等待30秒,向B机发送一个启动检测的请求;

步骤108:A机接收到B机回复的一个数据请求;

步骤109:A机接收到的B机回复的请求后,下发设备,执行一次数据采集过程,同时根据设备的应答情况确定A机在线离线状态;

步骤110:更新A机的在线离线标识;

步骤111:A机将此次数据采集的结果返回给B机,再返回执行步骤100。

以上流程中,热机是在每次采集处理过程后就判断一次在线离线状态,其反应比较灵敏。但在另一实施例中,也可以在进行了多次采集处理过程并根据设备的应答判断其状态不变时,再置在线离线标志识,这样比较稳定。备机的处理也是一样的。

参考图4所示的本系统中,B机的工作流程图。B机为默认从机,执行下述步骤:

步骤200:判断B机是否为备机,如果是,则执行步骤201,如果否,B则为热机,执行步骤205;

在B机工作过程中,可以根据A机的状态变化通知来设置自己是热机或备机的标志,当A机作为热机时,B机为备机,A机从热机切换为备机时,则B机从备机切换为热机。

步骤201:判断是否接收到A机的数据请求,如果是,则执行步骤202,如果否,则继续执行步骤201;

步骤202:B机将接收到的A机的数据请求下发设备,执行一次采集过程,并根据设备应答情况判断B机在线状态;

当B机与从站设备通信时,若发现通道不通,则表明B机对应于相应的设备为离线状态,反之,B机在线;

步骤203:更新B机在线离线标志;

步骤204:B机将此次数据采集的结果返回给A机,再返回执行步骤200。

步骤205:B机进行一次采集处理过程,包括:组包、向从站设备发数据请求,采集数据,处理数据,并根据设备应答情况判断B机的在线离线状态并置B机的在线离线标志,如果在线,执行下一步,否则,作异常处理;

步骤206:判断是否接收到A机发送的启动检测请求,如果是,执行步骤207,如果否,返回执行步骤205;

步骤207:B机组包,向A机回复一个数据请求;

步骤208:B机处于静默状态,等待时间为采集周期超时时间的2倍,以保证A机能有足够的处理时间;

在此步骤208进行过程中,相应的A机执行步骤109和步骤110;

步骤209:B机接收到A机的返回数据,进行数据处理,返回执行步骤200。

上述实施例中,热机在循环采集处理的过程中,每隔一段时间向备机发送一次数据请求,等待备机完成此次数据采集并返回数据。这样,即达到了避免热机和备机发生总线链路访问冲突,同时,也没有扰乱正常的数据采集过程。和通过发送专门的检测包相比,简化了处理流程,并且不会因为等待检测包响应而导致设备上传的重要事件丢失。

需要说明的是,备机的状态检测过程由谁来触发并不局限于实施例中由默认主机触发的方式。在另一实施例中,同样可以由默认从机触发,即默认从机为热机时,每隔一段时间向备机发送数据请求,由备机下发到设备并完成一次数据采集,返回到热机。默认从机为备机时,则每隔一段时间向热机发送一次启动检测请求,由热机返回一个数据请求,再下发到设备。

或者,在另一实施例中,由热机来触发备机的状态检测过程,即确认自己为热机后,每隔一段时间向备机发送一次数据请求,由备机下发到设备并完成一次数据采集,返回到热机。

另外,热机和备机的切换策略也不仅仅局限于实施例中的方式,即默认主机在线时为热机,离线时将默认从机切换为热机。在另一实施例中,可以不设置两台机子为默认主机或默认从机,在双机均在线时,可以根据其各自所带的在线设备的多少来确定是作为热机还是备机。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号