CN102662782B - 一种监控系统总线的方法及装置 - Google Patents
一种监控系统总线的方法及装置 Download PDFInfo
- Publication number
- CN102662782B CN102662782B CN201210112839.5A CN201210112839A CN102662782B CN 102662782 B CN102662782 B CN 102662782B CN 201210112839 A CN201210112839 A CN 201210112839A CN 102662782 B CN102662782 B CN 102662782B
- Authority
- CN
- China
- Prior art keywords
- system bus
- command
- abnormal
- order
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供了一种监控系统总线的方法及装置,涉及通信领域,所述方法包括:监测装置对其对应的系统总线进行实时监控,当监控到所述系统总线传输命令时,获取所述命令的命令信息,所述命令信息包括命令标识、命令地址和数据个数;根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常;如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的数据,根据所述数据和所述数据个数确定所述系统总线是否发生命令异常;以及,当监控到所述系统总线传输所述命令对应的响应消息,获取所述命令的命令等待时间,并根据所述命令等待时间确定所述系统总线是否发生超时异常。本发明能够及时发现系统总线发生的异常。
Description
技术领域
本发明涉及计算机领域,特别涉及一种监控系统总线的方法及装置。
背景技术
随着工艺的不断发展,产品应用需要的日新月异,致使通信芯片的集成度越来越大,芯片的功能更加复杂。通信芯片的集成度大以及功能复杂会导致通信芯片更加容易受到环境的影响而发生软失效。
通信芯片中的系统总线发生异常是通信芯片发生的一种较常见软失效。其中,通信芯片可以包括多个处理器和加速器等设备,系统总线是设备之间的通信通道,设备之间通过系统总线来完成相互通信和保证数据一致性,因此系统总线的健壮性是非常重要的。其中,及时发现通信芯片中的系统总线发生的异常是保障系统总线健壮性的重要手段之一,然而目前还未有方法来及时发现通信芯片中的系统总线发生的异常。
发明内容
为了及时发现系统总线发生的异常,本发明实施例提供了一种监控系统总线的方法及装置。所述技术方案如下:
一种监控系统总线的方法,所述方法包括:
监测装置对其对应的系统总线进行实时监控,当监控到所述系统总线传输命令时,获取所述命令的命令信息,所述命令信息包括命令标识、命令地址和数据个数;
根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常;
如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的数据,根据所述数据和所述数据个数确定所述系统总线是否发生命令异常;
以及,当监控到所述系统总线传输所述命令对应的响应消息,获取所述命令的命令等待时间,并根据所述命令等待时间确定所述系统总线是否发生超时异常;
其中,所述根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常,包括:
获取所述系统总线对应的总线协议,判断所述总线协议所定义的合法命令标识范围是否包括所述命令标识,以及所述总线协议所定义合法命令地址范围是否包括所述命令地址;
如果所述总线协议所定义的合法命令标识范围不包括所述命令标识和/或所述总线协议所定义的合法命令地址范围不包括所述命令地址,则确定出所述系统总线发生了命令传输异常,否则,确定出所述系统总线未发生命令传输异常;
其中,所述命令异常包括第一命令异常或第二命令异常;
所述根据所述数据和所述数据个数确定所述系统总线是否发生命令异常,包括:
统计所述数据的个数,比较所述统计的个数与所述数据个数;
如果所述统计的个数小于所述数据个数,则确定出所述系统总线发生第一命令异常;
如果所述统计的个数大于所述数据个数,则确定出所述系统总线发生第二命令异常。
一种监控系统总线的方法,所述方法包括:
当监测装置对其对应的系统总线进行监控并监控出所述系统总线发生异常时,接收所述监测装置发送的所述系统总线发生的异常和所述系统总线的标识;
如果所述系统总线发生的异常为超时异常,则根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
如果所述系统总线发生的异常为非超时异常,则增加所述系统总线发生异常的异常次数;当所述异常次数超过预设阈值,根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
其中,所述根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,包括:
根据所述系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系查找出对应的监测装置的标识;
根据所述监测装置的标识发送切换消息给对应的监测装置,使所述监测装置将所述切换消息转发给所述监测装置对应的设备,其中,所述监测装置对应的设备为连接到所述系统总线的设备。
一种监测装置,所述监测装置包括:
监控模块,用于对所述监测装置对应的系统总线进行实时监控,当监控到所述系统总线传输命令时,获取所述命令的命令信息,所述命令信息包括命令标识、命令地址和数据个数;
第一确定模块,用于根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常;
第二确定模块,用于如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的数据,根据所述数据和所述数据个数确定所述系统总线是否发生命令异常;
第三确定模块,用于如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的响应消息,获取所述命令的命令等待时间,并根据所述命令等待时间确定所述系统总线是否发生超时异常;
其中,所述第一确定模块包括:
第一获取单元,用于获取所述系统总线对应的总线协议,判断所述总线协议所定义的合法命令标识范围是否包括所述命令标识,以及所述总线协议所定义合法命令地址范围是否包括所述命令地址;
第一确定单元,用于如果所述总线协议所定义的合法命令标识范围不包括所述命令标识和/或所述总线协议所定义的合法命令地址范围不包括所述命令地址,则确定出所述系统总线发生了命令传输异常,否则,确定出所述系统总线未发生命令传输异常;
其中,所述命令异常包括第一命令异常或第二命令异常;
所述第二确定模块包括:
比较单元,用于统计所述数据的个数,比较所述统计的个数与所述数据个数;
第二确定单元,用于如果所述统计的个数小于所述数据个数,则确定出所述系统总线发生第一命令异常;
第三确定单元,用于如果所述统计的个数大于所述数据个数,则确定出所述系统总线发生第二命令异常。
一种管理装置,所述管理装置包括:
接收模块,用于当监测装置对其对应的系统总线进行监控并监控出所述系统总线发生异常时,接收所述监测装置发送的所述系统总线发生的异常和所述系统总线的标识;
第一发送模块,用于如果所述系统总线发生的异常为超时异常,则根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
第二发送模块,用于如果所述系统总线发生的异常为非超时异常,则增加所述系统总线发生异常的异常次数;当所述异常次数超过预设阈值,根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
其中,所述第一发送模块包括:
第一查找单元,用于根据所述系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系查找出对应的监测装置的标识;
第一发送单元,用于根据所述监测装置的标识发送切换消息给对应的监测装置,使所述监测装置将所述切换消息转发给所述监测装置对应的设备,其中,所述监测装置对应的设备为连接到所述系统总线的设备。
在本发明实施例,监测装置对其对应的系统总线进行实时监控,当监控出该系统总线传输命令时,获取该命令的命令信息包括命令标识、命令地址和数据个数,根据获取的命令信息和该系统总线上传输该命令对应的数据和响应消息来判断该系统总线是否发异常;如此能够及时发现该系统总线上发生的异常。
附图说明
图1是本发明实施例提供的一种通信芯片结构示意图;
图2是本发明实施例提供的一种监控系统总线的方法流程图;
图3是本发明另一实施例提供的一种监控系统总线的方法流程图;
图4是本发明另一实施例提供的一种监控系统总线的方法流程图;
图5是本发明另一实施例提供的一种监控系统总线的方法流程图;
图6是本发明实施例提供的一种监测装置结构示意图;
图7是本发明实施例提供的一种管理装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,通信芯片中包括处理器、加速器和存储系统等设备,设备之间通过系统总线相连,且每个设备通过其对应的一个总线接口连接到系统总线上,在总线接口处设置监测装置,该监测装置与该总线接口相连的系统总线和该总线接口对应的设备相对应,且在本发明中,设备之间的系统总线为双总线结构,即设备之间的系统总线包括两路系统总线,且设备使用其中一路系统总线来收发命令或数据,并将另一路系统总线作为备份系统总线;命令中包括命令标识、命令传输类型、命令地址和数据个数,且命令分为读命令和写命令,读命令的命令传输类型为读数据类型,写命令的命令传输类型为写数据类型,命令的命令周期包括三个传输阶段,分别为命令阶段、数据阶段和响应阶段。
其中,在本发明实施例中,将发送命令的设备称为主设备,将接收命令的设备称为目的设备;主设备需要从目的设备中读取数据时,主设备在命令阶段通过其对应的总线接口发送读命令到系统总线上,且该读命令中包括命令标识、命令传输类型为读数据类型、命令地址和数据个数为读数据个数,该系统总线传输该读命令;目的设备通过其对应的总线接口从该系统总线上接收该读命令,根据该读命令包括的读数据个数读取数据并在数据阶段通过其对应的总线接口发送该数据和该读命令的命令标识到该系统总线上,该系统总线传输该读命令的命令标识和该数据;主设备通过其对应的总线接口从该系统总线上接收该读命令的命令标识和该数据;然后目的设备在响应阶段通过其对应的总线接口发送响应消息到系统总线,且该响应消息携带响应标识,该系统总线传输该响应消息;然后主设备通过其对应的总线接口从该系统总线上接收该响应消息。
主设备需要写数据到目的设备时,主设备在命令阶段通过其对应的总线接口发送写命令到系统总线上,且写命令中包括命令标识、命令传输类型为写数据类型、命令地址和数据个数为写数据个数,该系统总线传输写命令;目的设备通过其对应的总线接口从该系统总线上接收写命令;主设备在数据阶段通过其对应的总线接口发送需要写的数据和写命令的命令标识到该系统总线上,该系统总线传输写命令的命令标识和该数据;目的设备通过其对应的总线接口从该系统总线上接收写命令的命令标识和该数据;然后目的设备在响应阶段通过其对应的总线接口发送响应消息到系统总线,且该响应消息携带响应标识,该系统总线传输该响应消息;然后主设备通过其对应的总线接口从该系统总线上接收该响应消息。
其中,在本发明中,还包括一个管理装置,该管理装置通过专用总线与每个监测装置相连,每个监测装置可以将其对应的系统总线发生的异常通过专用总线上报给管理装置,管理装置接收该系统总线发生异常,并对该系统总线进行处理。
其中,在本实施例中,主设备对应的监测装置和目的设备对应的监测装置可以对该系统总线上传输的命令和数据等进行实时监测。
如图2所示,本发明实施例提供了一种监控系统总线的方法,包括:
步骤101:监测装置对其对应的系统总线进行实时监控,当监控到该系统总线传输命令时,获取该命令的命令信息,该命令信息包括命令标识、命令地址和数据个数;
步骤102:监测装置根据该命令标识和命令地址确定该系统总线是否发生命令传输异常;
步骤103:如果该系统总线未发生命令传输异常,则监测装置当监控到该系统总线传输该命令对应的数据,根据该数据和该数据个数确定该系统总线是否发生命令异常;
步骤104:当监控到该系统总线传输该命令对应的响应消息,获取该命令的命令等待时间,并根据该命令等待时间确定该系统总线是否发生超时异常。
在本发明实施例,监测装置对其对应的系统总线进行实时监控,当监控出该系统总线传输命令时,获取该命令的命令信息包括命令标识、命令地址和数据个数,根据获取的命令信息和该系统总线上传输该命令对应的数据和响应消息来判断该系统总线是否发异常;如此能够及时发现该系统总线上发生的异常。
本发明实施例提供了一种监控系统总线的方法。其中,在本实施例中,主设备需要从目的设备中读取数据,通过与其相连的系统总线发送读命令给目的设备,目的设备接收该读命令,读取数据并通过该系统总线发送给主设备;其中,主设备对应的监测装置和/或目的设备对应的监测装置可以利用本实施例的方法对该系统总线上传输的命令和数据进行实时监控,参见图3,该方法包括:
步骤201:监测装置对其对应的系统总线进行实时监测,当监测到该系统总线上传输命令时,截获该命令并获取该命令的命令信息包括命令传输类型、命令地址、命令标识和数据个数;
其中,在本实施例中,监测装置可以为主设备对应的监测装置和/或目的设备对应的监测装置;主设备发送的命令为读命令;主设备在命令阶段通过其对应的总线接口发送读命令到与其相连的系统总线上,由该系统总线传输该读命令。
其中,监测装置可以通过其对应的总线接口对其对应的系统总线进行实时监测,当监测到该系统总线上传输命令时,通过该总线接口截获该命令,然后从该命令中提取命令传输类型、命令地址、命令标识和数据个数。
其中,在本步骤中,该系统总线上传输的命令为主设备发送的读命令,所以监测装置从该系统总线上截获的命令为读命令,从该读命令中提取命令传输类型为读数据类型、命令地址、命令标识和数据个数为读数据个数;另外,该读命令中包括的读数据个数为主设备需要从目的设备中读取的数据个数。
步骤202:监测装置根据提取的命令传输类型对该命令进行判断,并判断出该命令为读命令,然后执行步骤203;
具体地,监测装置对提取的命令传输类型进行判断,并判断出提取的命令传输类型为读数据类型,并据此确定出该命令为读命令。
其中,如果该命令的命令传输类型为写数据类型,则确定出该命令为写命令。
步骤203:监测装置根据该读命令的命令标识和命令地址,确定该系统总线是否发生读命令传输异常,如果是,则丢弃该读命令,发送读命令传输异常和该系统总线的标识给管理装置;如果否,则执行步骤204;
其中,监测装置获取该系统总线对应的总线协议,判断该总线协议所定义的合法命令标识范围内是否包括该读命令的命令标识以及该总线协议所定义的合法命令地址范围是否包括该读命令的命令地址,如果该总线协议所定义的合法命令标识范围内包括该读命令的命令标识以及该总线协议所定义的合法命令地址范围包括该读命令的命令地址,则判断出该系统总线没有发生读命令传输异常;如果该总线协议所定义的合法命令标识范围内不包括该读命令的命令标识和/或该总线协议所定义的合法地址范围不包括该读命令的命令地址,则判断出该系统总线发生读命传输令异常。
其中,监测装置中可以事先存储其对应的系统总线对应的总线协议和其对应的系统总线的标识。
步骤204:监测装置发送该读命令给目的设备,同时为该读命令设置计时器,存储该读命令的命令信息,以及存储该读命令的命令标识与该计时器的对应关系,并使该计时器开始计时;
其中,在本步骤中,如果监测装置为主设备对应的监测装置,则监测装置通过该系统总线(与主设备相连的系统总线)发送该读命令给目的设备,目的设备通过其对应的总线接口从该系统总线上接收该读命令;如果监测装置为目的设备对应的监测装置,则监测装置直接通过其对应的总线接口(该总线接口也为目的设备对应的总线接口)发送该读命令给目的设备,目的设备接收该读命令。
其中,目的设备接收该读命令后,并在该读命令的数据阶段根据该读命令中包括的读数据个数读取主设备需要读取的数据,通过其对应的总线接口发送该读命令的命令标识和该数据到该系统总线上,由该系统总线传输该读命令的命令标识和该数据。
步骤205:监测装置当监测到该系统总线传输数据和命令标识时,截获该数据和该命令标识,确定出该命令标识对应的命令为读命令,统计该数据包括的数据个数,获取该读命令的读数据个数;
具体地,监测装置通过其对应的总线接口实时监测该系统总线,当监测到该系统总线传输数据和命令标识时,截获该数据和该命令标识,根据该命令标识从已存储的命令信息中获取包括该命令标识的命令信息,根据该命令信息中包括命令传输类型为读数据类型,确定该命令标识对应的命令为读命令,并从该命令信息中提取该读命令的读数据个数,统计该数据包括的数据个数。
步骤206:监测装置根据统计的数据个数和该读命令的读数据个数对该系统总线进行判断,如果该系统总线发生第一读命令异常,则执行步骤207,如果该系统总线发生第二读命令异常,则执行步骤208,否则,执行步骤209;
具体地,监测装置比较统计的数据个数和该读命令的读数据个数,如果统计的数据个数小于该读命令的读数据个数,则判断出该系统总线发生第一读命令异常,如果统计的数据个数大于该读命令的读数据个数,则判断出该系统总线发生第二读命令异常;如果两者相等,则判断该系统总线没有发生第一和第二读命令异常。
其中,如果该系统总线发生第一读命令异常或第二读命令异常,则当该系统总线传输读命令时,该读命令中包括的读数据个数可能会发生变化,使得目的设备根据该读命令包括的读数据个数读取的数据个数与主设备需要读取的数据个数不一致,或者,当该系统总线传输数据时,该数据包括的数据个数可能会发生变化,使该数据包括的数据个数与主设备需要读取的数据个数不一致。
步骤207:监测装置向该数据补充伪数据,使补充后的数据包括的数据个数与该读命令的读数据个数相等,发送第一读命令异常和该系统总线的标识给管理装置以及将补充后的数据和该命令标识发送给主设备,执行步骤210;
具体地,监测装置根据统计的数据个数和该读命令的读数据个数,计算出需要补充数据的个数,在该数据之后或之前补充计算的个数个伪数据,使得补充后的数据包括的数据个数与该读命令的读数据个数相等,发送第一读命令异常和该系统总线的标识给管理装置,以及,发送补充后的数据和该命令标识给主设备。
其中,伪数据可以为全0数据或全1数据等。在本步骤中,如果监测装置为目的设备对应的监测装置,则监测装置通过该系统总线发送补充后的数据和该命令标识给主设备,主设备通过其对应的总线接口从该系统总线上接收补充后的数据和该命令标识;如果监测装置为主设备对应的监测装置,则监测装置直接通过其对应的总线接口发送补充后的数据和该命令标识给主设备,主设备接收补充后的数据和该命令标识。
步骤208:监测装置从该数据中选择该读命令的读数据个数个数据,发送选择的数据和该命令标识给主设备,发送第二读命令异常和该系统总线的标识给管理装置,执行步骤210;
具体地,监测装置从该数据包括的第一个数据开始向后选择该读命令的读数据个数个数据,或从该数据包括的最后一个数据开始向前选择该读命令的读数据个数个数据,丢弃未选择的数据,发送选择的数据和该命令标识给主设备,以及发送第二读命令异常和该系统总线的标识给管理装置。
其中,在本步骤中,如果监测装置为目的设备对应的监测装置,则监测装置通过该系统总线发送选择的数据和该命令标识给主设备,主设备通过其对应的总线接口从该系统总线上接收选择的数据和该命令标识;如果监测装置为主设备对应的监测装置,则监测装置直接通过其对应的总线接口发送选择的数据和该命令标识给主设备,主设备接收选择的数据和该命令标识。
步骤209:监测装置将该数据和该命令标识发送给主设备;
其中,在本步骤中,如果监测装置为目的设备对应的监测装置,则监测装置通过该系统总线发送该数据和该命令标识给主设备,主设备通过其对应的总线接口从该系统总线上接收该数据和该命令标识;如果监测装置为主设备对应的监测装置,则监测装置直接通过其对应的总线接口发送该数据和该命令标识给主设备,主设备接收该数据和该命令标识。
其中,目的设备发送完该数据和该读命令的命令标识后,在该读命令的响应阶段,通过其对应的总线接口发送响应消息到该系统总线,且该响应消息携带响应标识。
步骤210:监测装置当从该系统总线上监测到响应消息,提取该响应消息携带的响应标识,发送该响应消息给主设备;
其中,在本步骤中,如果监测装置为目的设备对应的监测装置,则监测装置通过该系统总线发送该响应消息给主设备,主设备通过其对应的总线接口从该总线上接收该响应消息;如果监测装置为主设备对应的监测装置,则监测装置直接通过其对应的总线接口发送该响应消息给主设备,主设备接收该响应消息。
步骤211:监测装置根据该响应标识获取对应的命令标识,即该读命令的命令标识,并根据该读命令的命令标识获取该读命令的计时器;
具体地,监测装置根据该响应标识,从已存储的响应标识与命令标识的对应关系中获取对应的命令标识,该命令标识为该读命令的命令标识,根据该读命令的命令标识,从命令标识与计时器的对应关系中获取该读命令的计时器。
步骤212:监测装置读取该计时器计时的时间得到该读命令的命令等待间,根据该读命令等待时间确定该系统总线是否发生超时异常,如果是,发送超时异常和该系统总线的标识给管理装置;
具体地,监测装置读取该计时器计时的时间,读取的时间为该读命令的命令等待时间,判断该读命令的命令等待时间是否超过预设的命令截止时间,如果超过,则判断出该系统总线发生超时异常并发送超时异常和该系统总线的标识给管理装置;如果未超过,则判断出该系统总线没有发生超时异常。
其中,监测装置判断完该系统总线是否发生超时异常之后,监测装置还继续对该系统总线进行实时监控,当监控出该系统总线上传输命令时,则从上述步骤201开始执行。
步骤213:管理装置接收监测装置发送该系统总线的标识和发生的异常,对发生的异常进行判断,如果为超时异常,则执行步骤214,如果为非超时异常,则执行步骤216;
其中,监测装置可以通过其与管理装置之间的专用总线发送系统总线的标识和发生的异常给管理装置。
步骤214:管理装置获取监控该系统总线的监测装置的标识,根据获取的监测装置的标识发送切换消息给对应的监测装置,使监测装置使其对应的设备使用备份系统总线来收发命令或数据;
其中,管理装置事先将监测装置的标识和该监测装置监控的系统总线的标识存储在监测装置的标识与系统总线的标识的对应关系中。相应地,管理装置获取监控该系统总线的监测装置的标识的操作,可以具体为:管理装置根据该系统总线的标识,从已存储的监测装置的标识与系统总线的标识的对应关系中查找出对应的监测装置的标识,且查找的监测装置的标识为监控该系统总线的监测装置的标识。
其中,管理装置可以通过其与监测装置之间的专用总线发送切换消息给监测装置,监测装置接收到切换消息后,转发该切换消息给其对应的设备,然后该设备接收使用备份系统总线来收发命令或数据。
步骤215:管理装置发送携带该系统总线的标识的恢复请求消息给I/O(Input/Output,输入/输出)系统,使I/O系统对该系统总线进行恢复,执行步骤218;
其中,I/O系统接收该恢复请求消息,根据该恢复请求消息携带该系统总线的标识,对该系统总线进行恢复,恢复完成后发送恢复完成消息管理装置,且该恢复完成消息携带该系统总线的标识。
进一步地,管理装置根据该系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数(为该系统总线已发生异常的异常次数),将查找的异常次数清零。
步骤216:管理装置增加该系统总线发生异常的异常次数,判断增加后的异常次数是否超过预设的阈值,如果是,获取监控该系统总线的监测装置的标识,根据获取的监测装置的标识发送切换消息给监测装置,使监测装置使其对应的设备使用备份系统总线来收发数据;
其中,管理装置根据该系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数,则增加查找的异常次数,如此实现增加该系统总线发生异常的异常次数,如果没有查找出对应的异常次数,则设置异常次数的初值,并将该系统总线的标识和设置的初值存储在系统总线的标识与异常次数的对应关系中,如此实现增加该系统总线发生异常的异常次数。
步骤217:管理装置发送携带该系统总线的标识的恢复请求消息给I/O系统,使I/O系统对该系统总线进行恢复;
其中,I/O系统接收该恢复请求消息,根据该恢复请求消息携带该系统总线的标识,对该系统总线进行恢复,恢复完成后发送恢复完成消息给管理装置,且该恢复完成消息携带该系统总线的标识。
步骤218:监测装置接收管理装置发送的切换消息,并转发该切换消息给其对应的设备,使该设备使用备份系统总线来收发数据;
步骤219:管理装置接收I/O系统发送的恢复完成消息,根据该恢复完成消息携带该系统总线的标识,使与该系统总线相连的设备将该系统总线设置为备份系统总线。
具体地,管理装置接收I/O系统发送的恢复完成消息,根据该恢复完成消息携带该系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系中,获取对应的监测装置的标识,根据获取的监测装置的标识通过专用总线发送恢复完成消息给对应的监测装置,监测装置接收该恢复完成消息,发送该恢复完成消息给其对应的设备,设备接收该恢复完成消息并该将该恢复完成消息携带的系统总线的标识对应的系统总线设置为备份系统总线。
在本发明实施例中,监测装置对其对应的系统总线进行监控,并及时发现该系统总线发生的异常,然后将发生的异常和该系统总线的标识报告给管理装置,如果该系统总线发生超时异常或该总线发生异常的次数超过预设阈值时,管理装置发送切换消息给与该系统总线相连的设备,使该设备使用备份系统总线来收发命令或数据,如此消息除因系统总线发生异常对设备正常收发命令或数据的影响,同时管理装置请求I/O系统对该系统总线进行恢复,从而消除了该系统总线发生的异常。
本发明实施例提供了一种监控总线的方法。其中,在本实施例中,主设备需要写数据到目的设备中,通过与其相连的系统总线发送写命令给目的设备,然后再通过该系统总线发送需要写的数据给目的设备;其中,主设备对应的监测装置和/或目的设备对应的监测装置可以利用本实施例的方法对应该系统总线上传输的命令和数据进行实时监制,参见图3该方法,包括:
步骤301:监测装置对其对应的系统总线进行实时监测,当监测到该系统总线上传输命令时,截获该命令并获取该命令的命令信息包括命令传输类型、命令地址、命令标识和数据个数;
其中,在本实施例中,监测装置可以为主设备对应的监测装置和/或目的设备对应的监测装置;主设备发送的命令为写命令;主设备在命令阶段通过其对应的总线接口发送写命令到与其相连的系统总线上,由该系统总线传输该写命令。
其中,监测装置可以通过其对应的总线接口对其对应的系统总线进行实时监测,当监测到该系统总线上传输命令时,通过该总线接口截获该命令,然后从该命令中提取命令传输类型、命令地址、命令标识和数据个数。
其中,在本步骤中,该系统总线上传输的命令为主设备发送的写命令,所以监测装置从该系统总线上截获的命令为写命令,从该写命令中提取命令传输类型为写数据类型、命令地址、命令标识和数据个数为写数据个数;另外,该写命令中包括的写数据个数为主设备需要向目的设备写的数据个数。
步骤302:监测装置根据提取的命令传输类型对该命令进行判断,并判断出该命令为写命令,然后执行步骤303;
具体地,监测装置对提取的命令传输类型进行判断,并判断出提取的命令传输类型为写数据类型,并据此确定出该命令为写命令。
其中,如果该命令的命令传输类型为读数据类型,则确定出该命令为读命令。
步骤303:监测装置根据该写命令的命令标识和命令地址,确定该系统总线是否发生写命令传输异常,如果是,则丢弃该写命令,发送写命令传输异常和该系统总线的标识给管理装置;如果否,则执行步骤304;
其中,监测装置获取该系统总线对应的总线协议,判断该总线协议所定义的合法命令标识范围内是否包括该写命令的命令标识以及该总线协议所定义的合法命令地址范围是否包括该写命令的命令地址,如果该总线协议所定义的合法命令标识范围内包括该写命令的命令标识以及该总线协议所定义的合法命令地址范围包括该写命令的命令地址,则判断出该系统总线没有发生写命令传输异常;如果该总线协议所定义的合法命令标识范围内不包括该写命令的命令标识和/或该总线协议所定义的合法地址范围不包括该写命令的命令地址,则判断出该系统总线发生写命令传输异常。
步骤304:监测装置发送该写命令给目的设备,同时为该写命令设置对应计时器,存储该写命令的命令信息,以及存储该写命令的命令标识与该计时器的对应关系,并使该计时器开始计时;
其中,在本步骤中,如果监测装置为主设备对应的监测装置,则监测装置该系统总线(与主设备相连的系统总线)发送该写命令给目的设备,目的设备通过其对应的总线接口从该总线上接收该写命令;如果监测装置为目的设备对应的监测装置,则监测装置直接通过其对应的总线接口(该总线接口也为目的设备对应的总线接口)发送该写命令给目的设备,目的设备接收该写命令。
其中,主设备发送该写命令后,并在该写命令的数据阶段通过其对应的总线接口发送该写命令的命令标识和需要的数据到该系统总线。
步骤305:监测装置当监测到该系统总线传输数据和命令标识时,截获该数据和该命令标识,确定出该命令标识对应的命令为写命令以及该数据为主设备需要写的数据,统计该数据包括的数据个数,获取该写命令的写数据个数;
具体地,监测装置通过其对应的总线接口实时监测该系统总线,当监测到该系统总线传输数据和命令标识时,截获该数据和该命令标识,根据该命令标识从已存储的命令信息中获取包括该命令标识的命令信息,根据该命令信息中包括命令传输类型为写数据类型,确定该命令标识对应的命令为写命令,并从该命令信息中提取该写命令的写数据个数,统计该数据包括的数据个数。
步骤306:监测装置根据统计的数据个数和该写命令的写数据个数对该系统总线进行判断,如果该系统总线发生第一写命令异常,则执行步骤307,如果该系统总线发生第二写命令异常,则执行步骤308,否则,执行步骤309;
具体地,监测装置比较统计的数据个数和该写命令的写数据个数,如果统计的数据个数小于该写命令的写数据个数,则判断出该系统总线发生第一写命令异常,如果统计的数据个数大于该写命令的写数据个数,则判断出该系统总线命令发生第二写命令异常;如果两者相等,则判断该系统总线没有发生第一和第二写命令异常。
其中,如果该系统总线发生第一写命令异常或第二写命令异常,则当该系统总线传输写命令时,该写命令中包括的写数据个数可能会发生变化,或者,当该系统总线传输数据时,该数据包括的数据个数可能会发生变化,使该数据包括的数据个数与主设备需要写的数据个数不一致。
步骤307:监测装置向该数据补充伪数据,使补充后的数据包括的数据个数与该写命令的读数据个数相等,发送第一写命令异常和该系统总线的标识给管理装置以及将补充后的数据和该命令标识发送给目的设备,执行步骤310;
具体地,监测装置根据统计的数据个数和该写命令的写数据个数,计算出需要补充数据的个数,在该数据之后或之前补充计算的个数个伪数据,使得补充后的数据包括的数据个数与该写命令的写数据个数相等,发送第一写命令异常和该系统总线的标识给管理装置,以及,发送补充后的数据和该命令标识给目的设备。
其中,伪数据可以为全0数据或全1数据等。在本步骤中,如果监测装置为主设备对应的监测装置,则监测装置通过该系统总线发送补充后的数据和该命令标识给目的设备,目的设备通过其对应的总线接口从该系统总线上接收补充后的数据和该命令标识;如果监测装置为目的设备对应的监测装置,则监测装置直接通过其对应的总线接口发送补充后的数据和该命令标识给目的设备,目的设备接收补充后的数据和该命令标识。
步骤308:监测装置从该数据中选择该写命令的写数据个数个数据,发送选择的数据和该命令标识给目的设备,以及发送第二写命令异常和该系统总线的标识给管理装置,执行步骤310;
具体地,监测装置从该数据包括的第一个数据开始向后选择该写命令的写数据个数个数据,或从该数据包括的最后一个数据开始向前选择该写命令的写数据个数个数据,丢弃未选择的数据,发送选择的数据和该命令标识给目的设备,以及发送第二写命令异常和该系统总线的标识给管理装置。
其中,在本步骤中,如果监测装置为主设备对应的监测装置,则监测装置通过该系统总线发送选择的数据和该命令标识给主设备,目的设备通过其对应的总线接口从该总线上接收选择的数据和该命令标识;如果监测装置为目的设备对应的监测装置,则监测装置直接通过其对应的总线接口发送选择的数据和该命令标识给目的设备,目的设备接收选择的数据和该命令标识。
步骤309:监测装置将该数据和该命令标识发送给目的设备;
其中,在本步骤中,如果监测装置为主设备对应的监测装置,则监测装置通过该系统总线发送该数据和该命令标识给目的设备,目的设备通过其对应的总线接口从该总线上接收该数据和该命令标识;如果监测装置为目的设备对应的监测装置,则监测装置直接通过其对应的总线接口发送该数据和该命令标识给目的设备,目的设备接收该数据和该命令标识。
其中,目的设备接收该数据和该命令标识后,在该命令标识对应的写命令的响应阶段,通过其对应的总线接口发送响应消息到该系统总线,且该响应消息携带响应标识。
步骤310:监测装置当从该系统总线上监测到响应消息,提取该响应消息携带的响应标识,发送该响应消息给主设备;
其中,在本步骤中,如果监测装置为目的设备对应的监测装置,则监测装置通过该系统总线发送该响应消息给主设备,主设备通过其对应的总线接口从该总线上接收该响应消息;如果监测装置为主设备对应的监测装置,则监测装置直接通过其对应的总线接口发送该响应消息给主设备,主设备接收该响应消息。
步骤311:监测装置根据该响应标识获取对应的命令标识,即该写命令的命令标识,并根据该写命令的命令标识获取该写命令的计时器;
具体地,监测装置根据该响应标识,从已存储的响应标识与命令标识的对应关系中获取对应的命令标识,该命令标识为该写命令的命令标识,根据该写命令的命令标识,从命令标识与计时器的对应关系中获取该写命令的计时器。
步骤312:监测装置读取该计时器计时的时间得到该写命令的命令等待间,根据该写命令等待时间确定该系统总线是否发生超时异常,如果是,发送超时异常和该系统总线的标识给管理装置;
具体地,监测装置读取该计时器计时的时间,读取的时间为该写命令的命令等待时间,判断该写命令的命令等待时间是否超过预设的命令截止时间,如果超过,则判断出该系统总线发生超时异常并发送超时异常和该系统总线的标识给管理装置;如果未超过,则判断出该系统总线没有发生超时异常。
其中,监测装置判断完该系统总线是否发生超时异常之后,监测装置还继续对该系统总线进行实时监控,当监控出该系统总线上传输命令时,则从上述步骤301开始执行。
步骤313:管理装置接收监测装置发送该系统总线的标识和发生的异常,并对发生的异常进行判断,如果为超时异常,则执行步骤314,如果为非超时异常,则执行步骤316;
其中,监测装置可以通过其与管理装置之间的专用总线发送系统总线的标识和发生的异常给管理装置。
步骤314:管理装置获取监控该系统总线的监测装置的标识,根据获取的监测装置的标识发送切换消息给对应的监测装置,使监测装置使其对应的设备使用备份系统总线来收发数据;
其中,管理装置事先将监测装置的标识和该监测装置监控的系统总线的标识存储在监测装置的标识与系统总线的标识的对应关系中。相应地,管理装置获取监控该系统总线的监测装置的标识的操作,可以具体为:管理装置根据该系统总线的标识,从已存储的监测装置的标识与系统总线的标识的对应关系中查找出对应的监测装置的标识,且查找的监测装置的标识为监控该系统总线的监测装置的标识。
步骤315:管理装置发送携带该系统总线的标识的恢复请求消息给I/O系统,使I/O系统对该系统总线进行恢复,执行步骤218;
其中,I/O系统接收该恢复请求消息,根据该恢复请求消息携带该系统总线的标识,对该系统总线进行恢复,恢复完成后发送恢复完成消息管理装置,且该恢复完成消息携带该系统总线的标识。
进一步地,管理装置根据该系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数(为该系统总线已发生异常的异常次数),将查找的异常次数清零。
步骤316:管理装置增加该系统总线发生异常的异常次数,判断增加后的异常次数是否超过预设的阈值,如果是,获取监控该系统总线的监测装置的标识,根据获取的监测装置的标识发送切换消息给监测装置,使监测装置使其对应的设备使用备份系统总线来收发数据;
其中,管理装置根据该系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数,则增加查找的异常次数,如此实现增加该系统总线发生异常的异常次数,如果没有查找出对应的异常次数,则设置异常次数的初值,并将该系统总线的标识和设置的初值存储在系统总线的标识与异常次数的对应关系中,如此实现增加该系统总线发生异常的异常次数。
步骤317:管理装置发送携带该系统总线的标识的恢复请求消息给I/O系统,使I/O系统对该系统总线进行恢复;
其中,I/O系统接收该恢复请求消息,根据该恢复请求消息携带该系统总线的标识,对该系统总线进行恢复,恢复完成后发送恢复完成消息给管理装置,且该恢复完成消息携带该系统总线的标识。
步骤318:监测装置接收管理装置发送的切换消息,并转发该切换消息给其对应的设备,使该设备使用备份系统总线来收发数据;
步骤319:管理装置接收I/O系统发送的恢复完成消息,根据该恢复完成消息携带该系统总线的标识,使与该系统总线相连的设备将该系统总线设置为备份系统总线。
具体地,管理装置接收I/O系统发送的恢复完成消息,根据该恢复完成消息携带该系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系中,获取对应的监测装置的标识,根据获取的监测装置的标识发送恢复完成消息给对应的监测装置,监测装置接收该恢复完成消息,发送该恢复完成消息给其对应的设备,设备接收该恢复完成消息并该将该恢复完成消息携带的系统总线的标识对应的系统总线设置为备份系统总线。
在本发明实施例中,监测装置对其对应的系统总线进行监控,并及时发现该系统总线发生的异常,然后将发生的异常和该系统总线的标识报告给管理装置,如果该系统总线发生超时异常或该总线发生异常的次数超过预设阈值时,管理装置发送切换消息给与该系统总线相连的设备,使该设备使用备份系统总线来收发命令或数据,如此消息除因系统总线发生异常对设备正常收发命令或数据的影响,同时管理装置请求I/O系统对该系统总线进行恢复,从而消除了该系统总线发生的异常。
如图5所示,本发明实施例提供了一种监控系统总线的方法,包括:
步骤401:当监测装置对其对应的系统总线进行监控并监控出该系统总线发生异常时,接收监测装置发送的该系统总线发生的异常和该系统总线的标识;
步骤402:如果该系统总线发生的异常为超时异常,则根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据;
步骤403:如果该系统总线发生的异常为非超时异常,则增加该系统总线发生异常的异常次数;当该系统总线发生的异常次数超过预设阈值,根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据。
在本发明实施例中,接收监测装置发送的系统总线发生的异常和该系统总线的标识;如果该系统总线发生的异常为超时异常,则根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据;如果该系统总线发生的异常为非超时异常,则增加该系统总线发生异常的异常次数并当该系统总线发生的异常次数超过预设阈值,根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据。如此当系统总线发生异常时,使与该系统总线相连的设备使用备份系统总线来收发数据,以保证设备能正常收发命令或数据。
如图6所示,本发明实施例提供了一种监测装置,包括:
监控模块501,用于对监测装置对应的系统总线进行实时监控,当监控到该系统总线传输命令时,获取该命令的命令信息,该命令信息包括命令标识、命令地址和数据个数;
第一确定模块502,用于根据该命令标识和命令地址确定该系统总线是否发生命令传输异常;
第二确定模块503,用于如果该系统总线未发生命令传输异常,则当监控到该系统总线传输该命令对应的数据,根据该命令对应的数据和该数据个数确定该系统总线是否发生命令异常;
第三确定模块504,用于如果该系统总线未发生命令传输异常,则当监控到该系统总线传输该命令对应的响应消息,获取该命令的命令等待时间,并根据获取的命令等待时间确定该系统总线是否发生超时异常。
其中,第一确定模块502包括:
第一获取单元,用于获取该系统总线对应的总线协议,判断该总线协议所定义的合法命令标识范围是否包括该命令标识,以及该总线协议所定义合法命令地址范围是否包括该命令地址;
第一确定单元,用于如果该总线协议所定义的合法命令标识范围不包括该命令标识和/或该总线协议所定义的合法命令地址范围不包括该命令地址,则确定出该系统总线发生了命令传输异常,否则,确定出该系统总线未发生命令传输异常。
其中,命令异常包括第一命令异常或第二命令异常;
其中,第二确定模块503包括:
比较单元,用于统计获取的数据的个数,比较统计的个数与该数据个数;
第二确定单元,用于如果统计的个数小于该数据个数,则确定出该系统总线发生第一命令异常;
第三确定单元,用于如果统计的个数大于该数据个数,则确定出该系统总线发生第二命令异常。
进一步地,第二确定模块503还包括:
第一发送单元,用于向获取的数据补充伪数据,使补充后的数据包括数据的个数与该数据个数相等,如果该命令为读命令,则发送补充后的数据给主设备,主设备为发送该命令的设备;如果该命令为写命令,则发送补充后的数据给目的设备,目的设备为接收该命令的设备。
进一步地,第二确定模块503还包括:
第二发送单元,用于从获取的数据中选择该数据个数个数据,如果该命令为读命令,则发送选择的数据给主设备,主设备为发送该命令的设备;如果该命令为写命令,则发送选择的数据给目的设备,目的设备为接收该命令的设备。
进一步地,该设备还包括:
设置模块,用于当确定出该系统总线未发生命令传输异常时,为该命令设置对应的计时器,并使该命令对应的计时器开始计时。
其中,第三确定模块504包括:
第二获取单元,用于获取该命令对应的计时器计时的时间,将计时的时间作为该命令的命令等待时间;
判断模块,用于判断该命令的命令等待时间是否超过预设的命令截止时间,如果超过,则判断出该系统总线发生了超时异常,如果未超过,则判断出该系统总线未发生超时异常。
进一步地,该设备还包括:
处理模块,用于当确定出该系统总线发生异常时,发送该系统总线发生的异常和该系统总线的标识给管理装置,使管理装置对该系统总线发生的异常进行处理;
切换模块,用于当管理装置对该系统总线进行处理后发送切换消息时,接收切换消息并转发切换消息给监测装置对应的设备,使设备使用备份系统总线来收发命令或数据。
在本发明实施例,监测装置对其对应的系统总线进行实时监控,当监控出该系统总线传输命令时,获取该命令的命令信息包括命令标识、命令地址和数据个数,根据获取的命令信息和该系统总线上传输该命令对应的数据和响应消息来判断该系统总线是否发异常;如此能够及时发现该系统总线上发生的异常。
如图7所示,本发明实施例提供了一种管理装置,包括:
接收模块601,用于当监测装置对其对应的系统总线进行监控并监控出该系统总线发生异常时,接收监测装置发送的该系统总线发生的异常和该系统总线的标识;
第一发送模块602,用于如果该系统总线发生的异常为超时异常,则根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据;
第二发送模块603,用于如果该系统总线发生的异常为非超时异常,则增加该系统总线发生异常的异常次数;当该系统总线的异常次数超过预设阈值,根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据。
其中,第一发送模块602包括:
第一查找单元,用于根据该系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系查找出对应的监测装置的标识;
第一发送单元,用于根据监测装置的标识发送切换消息给对应的监测装置,使监测装置将切换消息转发给监测装置对应的设备。
其中,第二发送模块603包括:
增加单元,用于根据该系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数,则增加查找的异常次数,如果没有查找出对应的异常次数,则设置异常次数的初值,存储该系统总线的标识与异常次数的初值的对应关系;
切换单元,用于当该异常次数超过预设阈值,根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据。
进一步地,该设备还包括:
恢复模块,用于发送携带该系统总线的标识的恢复请求消息给输入或输出系统,使输入或输出系统对该系统总线进行恢复。
在本发明实施例中,接收监测装置发送的系统总线发生的异常和该系统总线的标识;如果该系统总线发生的异常为超时异常,则根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据;如果该系统总线发生的异常为非超时异常,则增加该系统总线发生异常的异常次数并当该系统总线发生的异常次数超过预设阈值,根据该系统总线的标识发送切换消息给连接到该系统总线的设备,使该设备使用备份系统总线来收发命令或数据。如此当系统总线发生异常时,使与该系统总线相连的设备使用备份系统总线来收发数据,以保证设备能正常收发命令或数据。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种监控系统总线的方法,其特征在于,所述方法包括:
监测装置对其对应的系统总线进行实时监控,当监控到所述系统总线传输命令时,获取所述命令的命令信息,所述命令信息包括命令标识、命令地址和数据个数;
根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常;
如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的数据,根据所述数据和所述数据个数确定所述系统总线是否发生命令异常;
以及,当监控到所述系统总线传输所述命令对应的响应消息,获取所述命令的命令等待时间,并根据所述命令等待时间确定所述系统总线是否发生超时异常;
其中,所述根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常,包括:
获取所述系统总线对应的总线协议,判断所述总线协议所定义的合法命令标识范围是否包括所述命令标识,以及所述总线协议所定义合法命令地址范围是否包括所述命令地址;
如果所述总线协议所定义的合法命令标识范围不包括所述命令标识和/或所述总线协议所定义的合法命令地址范围不包括所述命令地址,则确定出所述系统总线发生了命令传输异常,否则,确定出所述系统总线未发生命令传输异常;
其中,所述命令异常包括第一命令异常或第二命令异常;
所述根据所述数据和所述数据个数确定所述系统总线是否发生命令异常,包括:
统计所述数据的个数,比较所述统计的个数与所述数据个数;
如果所述统计的个数小于所述数据个数,则确定出所述系统总线发生第一命令异常;
如果所述统计的个数大于所述数据个数,则确定出所述系统总线发生第二命令异常。
2.如权利要求1所述的方法,其特征在于,所述确定出所述系统总线发生第一命令异常之后,还包括:
向所述数据补充伪数据,使补充后的数据包括数据的个数与所述数据个数相等,如果所述命令为读命令,则发送所述补充后的数据给主设备,所述主设备为发送所述命令的设备;如果所述命令为写命令,则发送所述补充后的数据给目的设备,所述目的设备为接收所述命令的设备。
3.如权利要求1所述的方法,其特征在于,所述确定出所述系统总线发生第二命令异常之后,还包括:
从所述数据中选择所述数据个数个数据,如果所述命令为读命令,则发送所述选择的数据给主设备,所述主设备为发送所述命令的设备;如果所述命令为写命令,则发送所述选择的数据给目的设备,所述目的设备为接收所述命令的设备。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当确定出所述系统总线未发生命令传输异常时,为所述命令设置对应的计时器,并使所述计时器开始计时。
5.如权利要求4所述的方法,其特征在于,所述获取所述命令的命令等待时间,并根据所述命令等待时间确定所述系统总线是否发生超时异常,包括:
获取所述命令对应的计时器计时的时间,将所述计时的时间作为所述命令的命令等待时间;
判断所述命令的命令等待时间是否超过预设的命令截止时间,如果超过,则判断出所述系统总线发生了超时异常,如果未超过,则判断出所述系统总线未发生超时异常。
6.如权利要求1-5任一项权利要求所述的方法,其特征在于,所述方法还包括:
当确定出所述系统总线发生异常时,发送所述系统总线发生的异常和所述系统总线的标识给管理装置,使管理装置对所述系统总线发生的异常进行处理;
当所述管理装置对所述系统总线进行处理后发送切换消息时,接收所述切换消息并转发所述切换消息给所述监测装置对应的设备,使所述设备使用备份系统总线来收发命令或数据。
7.一种监控系统总线的方法,其特征在于,所述方法包括:
当监测装置对其对应的系统总线进行监控并监控出所述系统总线发生异常时,接收所述监测装置发送的所述系统总线发生的异常和所述系统总线的标识;
如果所述系统总线发生的异常为超时异常,则根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
如果所述系统总线发生的异常为非超时异常,则增加所述系统总线发生异常的异常次数;当所述异常次数超过预设阈值,根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
其中,所述根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,包括:
根据所述系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系查找出对应的监测装置的标识;
根据所述监测装置的标识发送切换消息给对应的监测装置,使所述监测装置将所述切换消息转发给所述监测装置对应的设备,其中,所述监测装置对应的设备为连接到所述系统总线的设备。
8.如权利要求7所述的方法,其特征在于,所述增加所述系统总线发生异常的异常次数,包括:
根据所述系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数,则增加所述查找的异常次数,如果没有查找出对应的异常次数,则设置异常次数的初值,存储所述系统总线的标识与所述异常次数的初值的对应关系。
9.如权利要求7或8任一项权利要求所述的方法,其特征在于,所述根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备之后,还包括:
发送携带所述系统总线的标识的恢复请求消息给输入或输出系统,使所述输入或输出系统对所述系统总线进行恢复。
10.一种监测装置,其特征在于,所述监测装置包括:
监控模块,用于对所述监测装置对应的系统总线进行实时监控,当监控到所述系统总线传输命令时,获取所述命令的命令信息,所述命令信息包括命令标识、命令地址和数据个数;
第一确定模块,用于根据所述命令标识和命令地址确定所述系统总线是否发生命令传输异常;
第二确定模块,用于如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的数据,根据所述数据和所述数据个数确定所述系统总线是否发生命令异常;
第三确定模块,用于如果所述系统总线未发生命令传输异常,则当监控到所述系统总线传输所述命令对应的响应消息,获取所述命令的命令等待时间,并根据所述命令等待时间确定所述系统总线是否发生超时异常;
其中,所述第一确定模块包括:
第一获取单元,用于获取所述系统总线对应的总线协议,判断所述总线协议所定义的合法命令标识范围是否包括所述命令标识,以及所述总线协议所定义合法命令地址范围是否包括所述命令地址;
第一确定单元,用于如果所述总线协议所定义的合法命令标识范围不包括所述命令标识和/或所述总线协议所定义的合法命令地址范围不包括所述命令地址,则确定出所述系统总线发生了命令传输异常,否则,确定出所述系统总线未发生命令传输异常;
其中,所述命令异常包括第一命令异常或第二命令异常;
所述第二确定模块包括:
比较单元,用于统计所述数据的个数,比较所述统计的个数与所述数据个数;
第二确定单元,用于如果所述统计的个数小于所述数据个数,则确定出所述系统总线发生第一命令异常;
第三确定单元,用于如果所述统计的个数大于所述数据个数,则确定出所述系统总线发生第二命令异常。
11.如权利要求10所述的监测装置,其特征在于,所述第二确定模块还包括:
第一发送单元,用于向所述数据补充伪数据,使补充后的数据包括数据的个数与所述数据个数相等,如果所述命令为读命令,则发送所述补充后的数据给主设备,所述主设备为发送所述命令的设备;如果所述命令为写命令,则发送所述补充后的数据给目的设备,所述目的设备为接收所述命令的设备。
12.如权利要求10所述的监测装置,其特征在于,所述第二确定模块还包括:
第二发送单元,用于从所述数据中选择所述数据个数个数据,如果所述命令为读命令,则发送所述选择的数据给主设备,所述主设备为发送所述命令的设备;如果所述命令为写命令,则发送所述选择的数据给目的设备,所述目的设备为接收所述命令的设备。
13.如权利要求10所述的监测装置,其特征在于,所述监测装置还包括:
设置模块,用于当确定出所述系统总线未发生命令传输异常时,为所述命令设置对应的计时器,并使所述计时器开始计时。
14.如权利要求13所述的监测装置,其特征在于,所述第三确定模块包括:
第二获取单元,用于获取所述命令对应的计时器计时的时间,将所述计时的时间作为所述命令的命令等待时间;
判断模块,用于判断所述命令的命令等待时间是否超过预设的命令截止时间,如果超过,则判断出所述系统总线发生了超时异常,如果未超过,则判断出所述系统总线未发生超时异常。
15.如权利要求10-14任一项权利要求所述的监测装置,其特征在于,所述监测装置还包括:
处理模块,用于当确定出所述系统总线发生异常时,发送所述系统总线发生的异常和所述系统总线的标识给管理装置,使管理装置对所述系统总线发生的异常进行处理;
切换模块,用于当所述管理装置对所述系统总线进行处理后发送切换消息时,接收所述切换消息并转发所述切换消息给所述监测装置对应的设备,使所述设备使用备份系统总线来收发命令或数据。
16.一种管理装置,其特征在于,所述管理装置包括:
接收模块,用于当监测装置对其对应的系统总线进行监控并监控出所述系统总线发生异常时,接收所述监测装置发送的所述系统总线发生的异常和所述系统总线的标识;
第一发送模块,用于如果所述系统总线发生的异常为超时异常,则根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
第二发送模块,用于如果所述系统总线发生的异常为非超时异常,则增加所述系统总线发生异常的异常次数;当所述异常次数超过预设阈值,根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据;
其中,所述第一发送模块包括:
第一查找单元,用于根据所述系统总线的标识,从已存储的系统总线的标识与监测装置的标识的对应关系查找出对应的监测装置的标识;
第一发送单元,用于根据所述监测装置的标识发送切换消息给对应的监测装置,使所述监测装置将所述切换消息转发给所述监测装置对应的设备,其中,所述监测装置对应的设备为连接到所述系统总线的设备。
17.如权利要求16所述的管理装置,其特征在于,所述第二发送模块包括:
增加单元,用于根据所述系统总线的标识,查找已存储的系统总线的标识与异常次数的对应关系,如果查找出对应的异常次数,则增加所述查找的异常次数,如果没有查找出对应的异常次数,则设置异常次数的初值,存储所述系统总线的标识与所述异常次数的初值的对应关系;
切换单元,用于当所述异常次数超过预设阈值,根据所述系统总线的标识发送切换消息给连接到所述系统总线的设备,使所述设备使用备份系统总线来收发命令或数据。
18.如权利要求16或17任一项权利要求所述的管理装置,其特征在于,所述管理装置还包括:
恢复模块,用于发送携带所述系统总线的标识的恢复请求消息给输入或输出系统,使所述输入或输出系统对所述系统总线进行恢复。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210112839.5A CN102662782B (zh) | 2012-04-17 | 2012-04-17 | 一种监控系统总线的方法及装置 |
US13/864,471 US9330049B2 (en) | 2012-04-17 | 2013-04-17 | Method and apparatuses for monitoring system bus |
US15/070,775 US20160196226A1 (en) | 2012-04-17 | 2016-03-15 | Method and Apparatuses for Monitoring System Bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210112839.5A CN102662782B (zh) | 2012-04-17 | 2012-04-17 | 一种监控系统总线的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662782A CN102662782A (zh) | 2012-09-12 |
CN102662782B true CN102662782B (zh) | 2014-09-03 |
Family
ID=46772281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210112839.5A Expired - Fee Related CN102662782B (zh) | 2012-04-17 | 2012-04-17 | 一种监控系统总线的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9330049B2 (zh) |
CN (1) | CN102662782B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5390310B2 (ja) * | 2009-09-08 | 2014-01-15 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
JP5346259B2 (ja) | 2009-09-08 | 2013-11-20 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
CN104298629A (zh) * | 2013-07-15 | 2015-01-21 | 华为技术有限公司 | 一种用于pci-e的数据传输方法及系统 |
CN105487953B (zh) * | 2015-11-23 | 2019-02-01 | 福州瑞芯微电子股份有限公司 | 一种总线性能分析方法和装置 |
CN108255623B (zh) * | 2018-01-22 | 2022-03-15 | 深圳市卓讯信息技术有限公司 | 实现线程内外双重对账机制的数据交换监控方法及装置 |
CN109120067B (zh) * | 2018-09-05 | 2020-08-07 | 杭州和利时自动化有限公司 | 一种事件顺序记录上报方法、装置、设备及可读存储介质 |
CN109739673B (zh) * | 2018-12-05 | 2023-05-09 | 新华三技术有限公司合肥分公司 | 一种寄存器写入保护方法、逻辑装置及通信设备 |
CN112749057A (zh) * | 2020-12-30 | 2021-05-04 | 成都忆芯科技有限公司 | 用于读事务的总线监视器 |
CN113778734A (zh) * | 2021-09-02 | 2021-12-10 | 上海砹芯科技有限公司 | 芯片、芯片总线的检测系统、检测方法及存储介质 |
CN114036096B (zh) * | 2021-11-04 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种基于总线接口的读控制器 |
CN114531371A (zh) * | 2022-02-23 | 2022-05-24 | 杭州中天微系统有限公司 | 总线监测网络、片上系统以及总线管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334760A (zh) * | 2007-06-26 | 2008-12-31 | 展讯通信(上海)有限公司 | 监控总线非法操作的方法、装置及包含该装置的系统 |
CN101587460A (zh) * | 2008-05-19 | 2009-11-25 | 株式会社东芝 | 总线信号控制电路和具有该电路的信号处理电路 |
CN101788947A (zh) * | 2010-02-09 | 2010-07-28 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
CN102360329A (zh) * | 2011-09-29 | 2012-02-22 | 西北工业大学 | 总线监控与调试控制装置及进行总线监控与总线调试的方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210862A (en) * | 1989-12-22 | 1993-05-11 | Bull Hn Information Systems Inc. | Bus monitor with selective capture of independently occuring events from multiple sources |
JP3796111B2 (ja) | 2000-11-10 | 2006-07-12 | 株式会社ルネサステクノロジ | データプロセッサ |
US6973602B1 (en) * | 2002-09-05 | 2005-12-06 | Ciena Corporation | Link and path-level error performance monitoring |
US20040103249A1 (en) * | 2002-11-25 | 2004-05-27 | Chang-Ming Lin | Memory access over a shared bus |
US7197680B2 (en) * | 2003-04-17 | 2007-03-27 | Arm Limited | Communication interface for diagnostic circuits of an integrated circuit |
US7149933B2 (en) * | 2003-08-07 | 2006-12-12 | Arm Limited | Data processing system trace bus |
KR100576005B1 (ko) * | 2004-01-05 | 2006-05-02 | 삼성전자주식회사 | 고가용성 라우터 이중화 방법 및 장치 |
US20050226162A1 (en) * | 2004-03-30 | 2005-10-13 | Shrum Edgar V Jr | Methods, systems, and products for maintaining communications service reachability |
US7453797B2 (en) * | 2004-09-29 | 2008-11-18 | Intel Corporation | Method to provide high availability in network elements using distributed architectures |
TWI277877B (en) * | 2005-03-08 | 2007-04-01 | Via Tech Inc | Method and related apparatus for monitoring system bus |
WO2006100761A1 (ja) * | 2005-03-22 | 2006-09-28 | Media Global Links Co., Ltd. | 二重化伝送路切換装置 |
WO2006109728A1 (ja) * | 2005-04-11 | 2006-10-19 | Matsushita Electric Industrial Co., Ltd. | システム性能プロファイリング装置 |
US20070253329A1 (en) * | 2005-10-17 | 2007-11-01 | Mo Rooholamini | Fabric manager failure detection |
US7872992B2 (en) * | 2005-12-09 | 2011-01-18 | Panasonic Corporation | Network system and relay device |
US20080077749A1 (en) * | 2006-09-22 | 2008-03-27 | Daniel Scott Cohen | Access control of memory space in microprocessor systems |
US7917719B2 (en) * | 2006-12-04 | 2011-03-29 | Sandisk Corporation | Portable module interface with timeout prevention by dummy blocks |
JP4941212B2 (ja) * | 2007-10-01 | 2012-05-30 | 日本電気株式会社 | 電子デバイス、データ処理装置、及びバス制御方法 |
JP2009093316A (ja) * | 2007-10-05 | 2009-04-30 | Hitachi Ltd | ストレージシステム及び仮想化方法 |
US7949986B2 (en) * | 2008-06-23 | 2011-05-24 | Lsi Corporation | Method for estimation of trace information bandwidth requirements |
US8537832B2 (en) * | 2010-03-12 | 2013-09-17 | Lsi Corporation | Exception detection and thread rescheduling in a multi-core, multi-thread network processor |
US9195625B2 (en) * | 2009-10-29 | 2015-11-24 | Freescale Semiconductor, Inc. | Interconnect controller for a data processing device with transaction tag locking and method therefor |
CN101989242B (zh) * | 2010-11-12 | 2013-06-12 | 深圳国微技术有限公司 | 一种提高soc系统安全的总线监视器及其实现方法 |
CN102694713B (zh) * | 2011-03-21 | 2015-08-05 | 鸿富锦精密工业(深圳)有限公司 | 网络通信多通路选择方法及系统 |
US8879383B1 (en) * | 2011-09-26 | 2014-11-04 | Tellabs, Inc. | Methods and apparatus for improving reliability of point-of-point network connection |
EP2627058B1 (en) * | 2012-02-08 | 2014-10-15 | Alcatel Lucent | Real-time interaction in a communication network |
WO2014140673A1 (en) * | 2013-03-15 | 2014-09-18 | Emc Corporation | Congestion avoidance and control for udp-based protocols |
-
2012
- 2012-04-17 CN CN201210112839.5A patent/CN102662782B/zh not_active Expired - Fee Related
-
2013
- 2013-04-17 US US13/864,471 patent/US9330049B2/en active Active
-
2016
- 2016-03-15 US US15/070,775 patent/US20160196226A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334760A (zh) * | 2007-06-26 | 2008-12-31 | 展讯通信(上海)有限公司 | 监控总线非法操作的方法、装置及包含该装置的系统 |
CN101587460A (zh) * | 2008-05-19 | 2009-11-25 | 株式会社东芝 | 总线信号控制电路和具有该电路的信号处理电路 |
CN101788947A (zh) * | 2010-02-09 | 2010-07-28 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
CN102360329A (zh) * | 2011-09-29 | 2012-02-22 | 西北工业大学 | 总线监控与调试控制装置及进行总线监控与总线调试的方法 |
Non-Patent Citations (2)
Title |
---|
JP特开2002-149442A 2002.05.24 |
JP特开2009-87149A 2009.04.23 |
Also Published As
Publication number | Publication date |
---|---|
US9330049B2 (en) | 2016-05-03 |
CN102662782A (zh) | 2012-09-12 |
US20130282939A1 (en) | 2013-10-24 |
US20160196226A1 (en) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662782B (zh) | 一种监控系统总线的方法及装置 | |
CN101778307B (zh) | 机顶盒功能测试装置 | |
CN101464819A (zh) | 进入低功率模式前的硬件驱动处理器状态存储 | |
CN102761439B (zh) | Pon接入系统中基于看门狗的异常检测记录装置及方法 | |
US20060212754A1 (en) | Multiprocessor system | |
CN102880527B (zh) | 一种基板管理控制器的数据恢复方法 | |
CN103298013A (zh) | 一种进行业务恢复的方法及装置 | |
CN101295255B (zh) | 固件更新系统及方法 | |
CN201859389U (zh) | 一种复位管理芯片及复位系统 | |
CN105242980A (zh) | 互补式看门狗系统及互补式看门狗的监测方法 | |
CN104734904B (zh) | 旁路设备的自动测试方法及系统 | |
CN102694692A (zh) | 一种分布式设备的故障检测方法和装置 | |
CN105630664B (zh) | 一种反向调试方法、装置及调试器 | |
CN103178977A (zh) | 计算机系统及计算机系统的开机管理方法 | |
CN101221518A (zh) | 一种防止硬件看门狗的定时器溢出的方法、装置与系统 | |
CN101241451A (zh) | 一种嵌入式系统的串口可靠通讯控制方法 | |
CN101458642A (zh) | 计算机监控终端及监控方法 | |
CN102999331A (zh) | 一种星载软件的硬件屏蔽层以及星上数据通信方法 | |
CN101369238A (zh) | Usb设备中异常监控复位处理方法 | |
CN203658991U (zh) | 一种计算机取证系统 | |
CN105700915A (zh) | 一种兼顾看门狗功能和监测软件烧写功能的方法和装置 | |
CN116137603A (zh) | 链路故障的检测方法和装置、存储介质及电子装置 | |
CN108037942B (zh) | 一种嵌入式设备的自适应数据恢复与更新方法及装置 | |
CN112950447B (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN100561953C (zh) | 一种记录诊断数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140903 Termination date: 20190417 |
|
CF01 | Termination of patent right due to non-payment of annual fee |