CN101673234B - 一种异常监控方法及装置 - Google Patents

一种异常监控方法及装置 Download PDF

Info

Publication number
CN101673234B
CN101673234B CN2009101907481A CN200910190748A CN101673234B CN 101673234 B CN101673234 B CN 101673234B CN 2009101907481 A CN2009101907481 A CN 2009101907481A CN 200910190748 A CN200910190748 A CN 200910190748A CN 101673234 B CN101673234 B CN 101673234B
Authority
CN
China
Prior art keywords
packet
read request
pci express
header
current read
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
Application number
CN2009101907481A
Other languages
English (en)
Other versions
CN101673234A (zh
Inventor
王彬
马可
马永亮
罗弘彧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009101907481A priority Critical patent/CN101673234B/zh
Publication of CN101673234A publication Critical patent/CN101673234A/zh
Application granted granted Critical
Publication of CN101673234B publication Critical patent/CN101673234B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种异常监控方法及装置,采用本发明实施例的技术方案,通过监控PCI Express设备的状态是否发生异常,当中央处理器发送读请求数据包给PCI Express设备,且PCI Express设备的状态发生异常时,至少获取当前读请求数据包的包头信息,并根据包头信息生成读完成数据包,该读完成数据包指示完成状态异常,向中央处理器发送该读完成数据包以使中央处理器做异常处理。解决了现有技术中,当中央处理器正在读取PCI Express设备的数据时,如果PCI Express设备出现异常,使得中央处理器无法接收来自PCIExpress设备的读完成数据包,造成中央处理器的处理任务挂起的技术问题。

Description

一种异常监控方法及装置
技术领域
本发明涉及异常监控技术,特别涉及一种异常监控方法及装置。
背景技术
PCI Express(Peripheral Component Interconnect Express,高性能外围设备互连总线)协议规定,PCI Express事务的发起者为请求者,PCI Express事务的接收者为完成者。当请求者发起一个读请求数据包,完成者需要在规定时间内返回一个读完成数据包,作为对该读请求数据包的应答。PCI Express协议还明确定义了请求者必须实现完成超时机制,其目的是检测何时没有返回适当的读完成数据包。PCI Express协议也定义了超时的允许范围,设备必须在50ms以内产生超时。
例如:假设请求者为CPU(Center Process Unit,中央处理器)时,CPU发起一个读数据操作,该读数据操作指示PCI Express控制器发送一个读请求数据包给PCI Express设备(对应完成者),PCI Express设备需要在50ms以内给CPU(请求者)返回一个读完成数据包,PCI Express控制器解析该读完成数据包得到读数据,并将读数据返回到数据总线上,CPU需要等待读数据返回到数据总线上才能结束当前读数据操作,执行下一个指令。
实现本发明的过程中,本发明的发明人发现现有技术至少存在以下问题:
当CPU正在读取PCI Express设备的数据时,如果PCI Express设备出现异常,CPU将无法接收到来自PCI Express设备的读完成数据包,此时会造成CPU的处理任务挂起。例如:PCI Express设备的不正确热拔出或PCIExpress设备的链路复位操作,都将使得CPU无法接收到来自PCI Express设备的读完成数据包,造成CPU的处理任务挂起。
发明内容
本发明实施例的目的是提供一种异常监控方法及装置,实现当中央处理器正在读取PCI Express设备的数据时,如果PCI Express设备出现异常,中央处理器的处理任务仍然能够正常运行的技术效果。
本发明实施例的目的是通过以下技术方案实现的:
一种异常监控的方法,包括:
监控PCI Express设备的状态是否发生异常;
当中央处理器发送读请求数据包给所述PCI Express设备,且所述PCIExpress设备的状态发生异常时,至少获取当前读请求数据包的包头信息;
根据所述包头信息生成读完成数据包,所述读完成数据包指示完成状态异常;
向所述中央处理器发送所述读完成数据包以使所述中央处理器做异常处理。
一种异常监控装置,包括:
监控模块,用于监控PCI Express设备的状态是否发生异常;
数据提取模块,用于当中央处理器发送读请求数据包给所述PCI Express设备,且监控模块监控到所述PCI Express设备的状态发生异常时,至少获取当前读请求数据包的包头信息;
读完成数据包发送模块,用于根据所述数据提取模块获取的所述包头信息生成读完成数据包,所述读完成数据包指示完成状态异常,向所述中央处理器发送所述读完成数据包。
采用本发明实施例的技术方案,通过监控PCI Express设备的状态是否发生异常,当中央处理器发送读请求数据包给PCI Express设备,且PCI Express设备的状态发生异常时,至少获取当前读请求数据包的包头信息,并根据包头信息生成读完成数据包,该读完成数据包指示完成状态异常,向中央处理器发送该读完成数据包以使中央处理器做异常处理,达到了当中央处理器正在读取PCI Express设备的数据时,如果PCI Express设备出现异常,中央处理器的处理任务仍然能够正常运行的技术效果。
附图说明
图1为本发明实施例应用的一种系统示意图;
图2为本发明实施例中提供的一种异常监控的方法流程图;
图3为本发明实施例中提供的一种异常监控装置示意图;
图4为本发明实施例中提供的一种异常监控装置的读完成数据包发送模块330的示意图。
具体实施方式
为了使本发明实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
为便于说明,下面介绍本发明的一个具体实施例。图1为本发明实施例应用的一种系统示意图,中央处理器110通过异常监控装置120与PCI Express设备130进行通信,PCI Express设备130的状态指示信号反馈给异常监控装置120。
下面以异常监控装置120为例,详细介绍本发明实施例的技术方案。
如图2所示,本发明实施例的技术方案的流程如下:
201、监控PCI Express设备的状态是否发生异常;
202、当中央处理器发送读请求数据包给PCI Express设备,且PCIExpress设备的状态发生异常时,至少获取当前读请求数据包的包头信息。
203、根据202中获取到的信息,生成读完成数据包,该读完成数据包指示完成状态异常;
204、向中央处理器发送上述表示完成状态异常的读完成数据包。
可选的,在本发明的实施例中,可以通过PCI Express设备的状态指示信号来监控PCI Express设备的状态是否发生异常,当PCI Express设备的状态指示信号有效时,表明PCI Express设备的状态发生异常。
在本实施例中,上述状态指示信号可以为第一信号,或第二信号,或第一信号与第二信号的组合信号,其中,第一信号指示PCI Express设备130是否在线,第二信号指示PCI Express设备的传输链路状态是否正常。
其中,导致状态指示信号有效的情况包括:第一信号有效,或第二信号有效,或第一信号与所述第二信号的组合信号有效。例如:当PCI Express设备不正常拔出时,导致PCI Express设备不在线,使得第一信号变为有效;当PCI Express设备的数据传输链路出现故障时,使得第二信号变为有效;当PCIExpress设备不正常拔出和/或PCI Express设备的数据传输链路出现故障时,使得第一信号与所述第二信号的组合信号变为有效。
可选的,可以通过上述状态指示信号的电平参数,来监控PCI Express设备的状态是否发生异常。例如:当PCI Express设备的状态指示信号达到有效电平(例如3.3V)时,PCI Express设备的状态指示信号变为有效,表明PCIExpress设备的状态发生异常。
可选的,还可以通过上述状态指示信号的其它参数,来监控PCI Express设备的状态是否发生异常,例如:状态指示信号的电流参数等。
在本实施例中,PCI Express设备的状态发生异常是指PCI Express设备无法正常返回当前读请求数据包对应的读完成数据包。
其中,较为常见的导致PCI Express设备无法正常返回读请求对应的读完成数据包的情况包括:PCI Express设备不正常拔出或PCI Express设备的数据传输链路出现链路复位等。
可选的,在本发明的实施例中,还可以包括:
当检测到中央处理器发送读请求数据包给PCI Express设备时,执行201。
在这种场景中,只有当PCI Express设备接受到来自中央处理器的读请求数据包时,才开始监控PCI Express设备的状态,可以缩短异常监控装置处于监控状态的时间,减少异常监控装置的能耗。
可选的,在本发明的实施例中,还可以包括:
当检测到PCI Express设备的状态发生异常、且检测到中央处理器发送读请求数据包给PCI Express设备时,执行202。
在这种场景中,不管PCI Express设备是否接受到来自中央处理器的读请求数据包,异常监控装置都处于监控状态,这样可以减少异常监控装置进入监控状态的时间,提高监控的精确度。
可选的,在本发明的实施例中,至少获取当前读请求数据包的包头信息,包括:获取当前读请求数据包的包头信息或者获取当前读请求数据包的包头信息以及数据信息。
读请求数据包的包头信息包括:
Type(类型)字段,用于表示数据包类型。
Completion status(完成状态)字段,用于表示读请求操作完成状态。
Tag(标签)字段,用于标识不同的读请求操作,同一个读请求操作的读请求数据包与读完成数据包的Tag字段的数值相同。
以上字段为PCI Express协议规定的读请求数据包的包头格式字段,其它字段在PCI Express协议中有详细规定。
可选的,在本发明的实施例中,当202中获取到的信息为当前读请求数据包的包头信息时,203中将根据当前读请求数据包的包头信息,生成读完成数据包,其中:
该读完成数据包的包头的Type字段可以为指示该数据包为读完成数据包的第一数值,例如,该第一数值可以为二进制数01010;
该读完成数据包的包头的Completion Status字段可以为指示完成状态异常的第二数值,例如,该第二数值可以为二进制数100;
该读完成数据包的包头的Tag标签字段可以与202中获取到的当前读请求数据包的包头的Tag标签字段相同,以指示该读完成数据包对应于当前读请求数据包;
该读完成数据包的包头的其他字段可以与202中获取到的当前读请求数据包的包头的相应字段相同;
该读完成数据包的包头的数据字段可以填充为任意数值。
当然,当202中获取到的信息为当前读请求数据包的包头信息以及数据信息时,203中将根据当前读请求数据包的包头信息以及数据信息,生成读完成数据包。该读完成数据包的包头的各字段,与上述“当202中获取到的信息为当前读请求数据包的包头信息”的情况相类似,此处不再赘述。但是在本场景中,可以保留当前读请求数据包的数据字段,即:该读完成数据包的数据字段与202中获取到的当前读请求数据包的数据字段相同。
在本发明的实施例中,当异常监控装置向中央处理器发送203中生成的读完成数据包后,中央处理器就能够做相应的异常处理,无不会出现现有技术中“CPU无法接收到来自PCI Express设备的读完成数据包,造成CPU的处理任务挂起”的问题。
本发明实施例提供了一种异常监控装置120,如图3所示,包括:
监控模块310,用于监控PCI Express设备的状态是否发生异常;
数据提取模块320,用于当中央处理器发送读请求数据包给PCI Express设备,且监控模块310监控到PCI Express设备的状态发生异常时,至少获取当前读请求数据包的包头信息;
读完成数据包发送模块330,用于根据数据提取模块320获取的包头信息生成读完成数据包,该读完成数据包指示完成状态异常,向中央处理器发送读完成数据包以使中央处理器做异常处理。
其中,读完成数据包发送模块330,如图4所示,包括:
获取单元410,用于从数据提取模块320中至少获取当前读请求数据包的包头信息;
生成单元420,用于根据包头信息,生成读完成数据包,该读完成数据包指示完成状态异常;
发送单元430,用于向中央处理器发送读完成数据包以使中央处理器做异常处理。
其中,异常监控装置120可作为单独的电路器件,也可以嵌入在其它电路器件中,作为该电路器件的一个功能模块,例如:可以嵌入于中央处理器中或PCI Express交换器中,其中,PCI Express交换器为用于实现PCI Express传输交换的器件。
其中,当异常监控装置120作为单独的电路器件时,不限定具体的位置,例如可以位于中央处理器110与其它器件之间或其它器件与PCI Express设备之间。
通过以上的实施方式的描述,本领域的普通技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备、或者服务器、或者其他网络设备执行本发明各个实施例或者实施例的某些部分所述的方法。
以上仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种异常监控的方法,其特征在于,包括:
监控PCI Express设备的状态是否发生异常;
当中央处理器发送读请求数据包给所述PCI Express设备,且所述PCIExpress设备的状态发生异常时,至少获取当前读请求数据包的包头信息;
根据所述包头信息生成读完成数据包,所述读完成数据包指示完成状态异常;
向所述中央处理器发送所述读完成数据包以使所述中央处理器做异常处理。
2.根据权利要求1所述的方法,其特征在于,所述监控PCI Express设备的状态是否发生异常,包括监控所述PCI Express设备的状态指示信号是否有效。
3.根据权利要求2所述的方法,其特征在于,所述状态指示信号包括第一信号,或第二信号,或所述第一信号与所述第二信号的组合信号,
其中,所述第一信号指示所述PCI Express设备是否在线,所述第二信号指示所述PCI Express设备的传输链路状态是否正常。
4.根据权利要求1所述的方法,其特征在于,所述至少获取当前读请求数据包的包头信息,包括获取所述当前读请求数据包的所述包头信息或者所述当前读请求数据包的包头信息以及数据信息。
5.根据权利要求4所述的方法,其特征在于,所述根据所述包头信息生成读完成数据包,包括:
设置所述当前读请求数据包的包头的Type类型字段为指示所述数据包为读完成数据包的第一数值;
设置所述当前读请求数据包的包头的Completion Status完成状态字段为指示完成状态异常的第二数值;
保留所述当前读请求数据包的包头的Tag标签字段,所述Tag标签字段指示所述读完成数据包对应于所述当前读请求数据包;
保留所述当前读请求数据包的包头的其它字段。 
6.根据权利要求5所述的方法,其特征在于,所述根据所述包头信息生成读完成数据包,还包括:
当获取所述当前读请求数据包的所述包头信息时,填充所述当前读请求数据包的数据字段为任意数值;
或者
当获取所述当前读请求数据包的所述包头信息以及所述当前读请求数据包的数据信息时,保留所述当前读请求数据包的数据字段。
7.一种异常监控装置,其特征在于,包括:
监控模块,用于监控PCI Express设备的状态是否发生异常;
数据提取模块,用于当中央处理器发送读请求数据包给所述PCI Express设备,且监控模块监控到所述PCI Express设备的状态发生异常时,至少获取当前读请求数据包的包头信息;
读完成数据包发送模块,用于根据所述数据提取模块获取的所述包头信息生成读完成数据包,所述读完成数据包指示完成状态异常,向所述中央处理器发送所述读完成数据包。
8.根据权利要求7所述的装置,其特征在于,所述读完成数据包发送模块,包括:
获取单元,用于从所述数据提取模块中至少获取所述当前读请求数据包的所述包头信息;
生成单元,用于根据所述包头信息,生成读完成数据包,所述读完成数据包指示完成状态异常;
发送单元,用于向所述中央处理器发送所述读完成数据包。 
CN2009101907481A 2009-09-25 2009-09-25 一种异常监控方法及装置 Expired - Fee Related CN101673234B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101907481A CN101673234B (zh) 2009-09-25 2009-09-25 一种异常监控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101907481A CN101673234B (zh) 2009-09-25 2009-09-25 一种异常监控方法及装置

Publications (2)

Publication Number Publication Date
CN101673234A CN101673234A (zh) 2010-03-17
CN101673234B true CN101673234B (zh) 2011-08-10

Family

ID=42020466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101907481A Expired - Fee Related CN101673234B (zh) 2009-09-25 2009-09-25 一种异常监控方法及装置

Country Status (1)

Country Link
CN (1) CN101673234B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5542787B2 (ja) * 2011-12-08 2014-07-09 シャープ株式会社 画像形成装置
CN104298629A (zh) * 2013-07-15 2015-01-21 华为技术有限公司 一种用于pci-e的数据传输方法及系统
CN112134748B (zh) * 2019-06-25 2022-08-16 西安诺瓦星云科技股份有限公司 设备状态监测方法、装置、系统以及计算机可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851680A (zh) * 2005-04-22 2006-10-25 宇力电子股份有限公司 系统芯片间信息传递方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851680A (zh) * 2005-04-22 2006-10-25 宇力电子股份有限公司 系统芯片间信息传递方法

Also Published As

Publication number Publication date
CN101673234A (zh) 2010-03-17

Similar Documents

Publication Publication Date Title
CN103595570B (zh) 一种多活架构前置系统、服务器与业务处理方法
CN103248514B (zh) 用于车内lan网络管理的故障检测和缓解
CN110581852A (zh) 一种高效型拟态防御系统及方法
CN101379470B (zh) 对冷却模块进行潜在故障检查的方法
CN102624429A (zh) 用于管理信息交换的方法和设备
CN107038137B (zh) 一种热插拔的设备及方法
CN101673234B (zh) 一种异常监控方法及装置
WO2007039577A1 (en) A distributed monitoring method
CN107168853A (zh) 一种服务器性能信息获取方法、系统和基板控制管理器
JP4291384B2 (ja) 数値制御装置に接続されたioユニットの断線と電源断の検出方法
CN102495786B (zh) 服务器系统
CN107729209A (zh) 用于服务器的信息监测方法、装置、设备和存储介质
CN103559124A (zh) 故障快速检测方法及装置
CN112383457A (zh) 一种基于CANopen协议的安全从站系统
CN104954190A (zh) 应用服务器故障检测方法及装置
CN109828945A (zh) 一种业务报文处理方法及系统
CN106385343A (zh) 一种分布式系统下监控客户端的方法及装置、分布式系统
CN108983695A (zh) 一种基于复杂可编程逻辑器件的主从切换方法和装置
CN104468221B (zh) 服务器故障热切换方法、装置和系统
CN109074343A (zh) 通信设备、通信方法、程序、以及通信系统
CN106453012A (zh) 一种串行总线通信方法及装置
CN109582626A (zh) 一种访问总线的方法、装置、设备及可读存储介质
CN103858105B (zh) 连接方法
CN109557453A (zh) 一种多主控芯片识别处理方法及系统
CN103916230A (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: 20110810