CN104170307A - 失效切换方法、装置和系统 - Google Patents

失效切换方法、装置和系统 Download PDF

Info

Publication number
CN104170307A
CN104170307A CN201480000478.2A CN201480000478A CN104170307A CN 104170307 A CN104170307 A CN 104170307A CN 201480000478 A CN201480000478 A CN 201480000478A CN 104170307 A CN104170307 A CN 104170307A
Authority
CN
China
Prior art keywords
equipment
affairs
pcie
process information
transaction
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.)
Granted
Application number
CN201480000478.2A
Other languages
English (en)
Other versions
CN104170307B (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
Publication of CN104170307A publication Critical patent/CN104170307A/zh
Application granted granted Critical
Publication of CN104170307B publication Critical patent/CN104170307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种失效切换方法、装置和系统,其中方法包括:第二设备接收事务处理报文,所述事务处理报文包括:主机访问部件快速互连局部总线PCIe设备的处理信息,所述处理信息是用于描述在所述事务中断时对所述事务进行恢复所需要的信息;所述第二设备还存储所述PCIe设备的拓扑信息,并加载有所述PCIe设备的驱动;所述第二设备在监测到所述第一设备失效时,根据所述拓扑信息、驱动以及所述处理信息,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。本发明实现了主备处理器的快速切换。

Description

失效切换方法、装置和系统
技术领域
本发明涉及通信技术,尤其涉及一种失效切换方法、装置和系统。
背景技术
随着近几年硬件的迅速发展,现有的服务不能充分利用资源,导致资源利用率不高,不能最大化企业的投资回报。为了提高资源利用率,目前业界提出共享输入/输出(Shared Input/Output,Shared IO)技术,即单根输入/输出虚拟化设备(Single-Root I/O Virtualization,SR-IOV)可以在不同的部件快速互连局部总线(Peripheral Component Interconnect Express,PCIe)域间(即不同的物理机上)共享,SR-IOV设备的物理子设备(Physical Function,PF)或者虚拟子设备(Virtual Function,VF)可以绑定到不同的主机(Host)上,和正常使用PCIe设备一样。在Shared IO架构中,全局的PCIe域需要多中央处理器(multiple central processing unit,mCPU)来维护;而且为了提高系统可靠性,mCPU通常设置主mCPU和备mCPU进行主备冗余,当主mCPU宕机后,主mCPU和备mCPU进行失效切换(failover),即备mCPU充当主mCPU,继续处理主机业务。
但是,在备mCPU进行失效切换处理时,通常备mCPU需要重新枚举各PCIe设备,这会导致在失效切换时主机业务的中断;不仅如此,还可能引起更为严重的问题:主mCPU负责根据主机发送的访问PCIe设备的请求去访问PCIe设备,再将访问响应返回主机,如果主mCPU宕机,并且备mCPU不能及时快速的切换,将导致主机的访问请求不能被及时处理,可能会由于访问超时而导致主机宕机,并有可能由于同样的原因导致整个PCIe网络中所有主机的宕机,降低了PCIe网络的可靠性。
发明内容
本发明实施例提供一种失效切换方法、装置和系统,以实现主备处理器的快速切换。
第一方面,提供一种失效切换方法,包括:
第二设备接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;所述第二设备还存储所述PCIe设备的拓扑信息,并加载所述PCIe设备的驱动;
所述第二设备在监测到所述第一设备失效时,根据所述拓扑信息、驱动以及所述处理信息,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
结合第一方面,在第一种可能的实现方式中,第二设备接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,包括:所述第二设备接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述事务状态数据包括:事务处理位置标识;所述继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务,包括:所述第二设备根据所述事务处理位置标识确定事务中断位置;所述第二设备从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述事务状态数据包括:事务完成标识;所述第二设备接收事务处理报文之后,还包括:所述第二设备删除与所述事务完成标识对应的处理信息。
结合第一方面至第一方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务,包括:所述第二设备根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
第二方面,提供一种失效切换装置,包括:
接收单元,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对事务进行恢复所需要的信息;
存储单元,用于存储所述PCIe设备的拓扑信息,以及加载的所述PCIe设备的驱动;
处理单元,用于在监测到所述第一设备失效时,根据所述接收单元接收的所述处理信息、以及所述存储单元存储的所述拓扑信息和驱动,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
结合第二方面,在第一种可能的实现方式中,所述接收单元,具体用于接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元,具体用于根据所述事务状态数据中包括的事务处理位置标识确定事务中断位置;并从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理单元,还用于在所述接收单元接收事务处理报文之后,根据所述事务状态数据中包括的事务完成标识,删除与事务完成标识对应的处理信息。
结合第二方面至第二方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述处理单元,具体用于根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
第三方面,提供一种失效切换系统,包括:第一设备和第二设备;
所述第二设备,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;所述第二设备还存储所述PCIe设备的拓扑信息,并加载有所述PCIe设备的驱动;并在监测到所述第一设备失效时,根据所述拓扑信息、驱动以及所述处理信息,继续处理所述第一设备失效时主机访问PCIe设备的事务。
第四方面,提供一种失效切换装置,包括收发器、存储器和处理器;
所述收发器,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对事务进行恢复所需要的信息;
所述存储器,用于存储所述PCIe设备的拓扑信息,以及加载的所述PCIe设备的驱动;
所述处理器,用于在监测到所述第一设备失效时,根据所述收发器接收的所述处理信息、以及所述存储器存储的所述拓扑信息和驱动,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
结合第四方面,在第一种可能的实现方式中,所述收发器,具体用于接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器,具体用于根据所述事务状态数据中包括的事务处理位置标识确定事务中断位置;并从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
结合第四方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理器,还用于在所述接收单元接收事务处理报文之后,根据所述事务状态数据中包括的事务完成标识,删除与所述事务完成标识对应的处理信息。
结合第四方面至第四方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述处理器,具体用于根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
本发明实施例中的第二设备(可以是备处理器),不仅预先存储了主机所要访问的PCIe设备的设备信息,在第二设备切换时不需要再重新枚举PCIe设备,节省了切换时间;并且,第二设备还接收第一设备(可以是主处理器)所处理的主机访问PCIe设备的处理信息,能够根据该处理信息继续处理事务,从而实现主备处理器的快速切换。
附图说明
图1为本发明实施例的一种失效切换方法所应用的系统架构图;
图2为本发明实施例的一种失效切换方法的流程示意图;
图3为本发明实施例的另一种失效切换方法所应用的物理架构图;
图4为本发明实施例的另一种失效切换方法的流程示意图;
图5为本发明实施例的又一种失效切换方法所应用的系统架构图;
图6为本发明实施例的又一种失效切换方法的流程示意图;
图7为本发明实施例的又一种失效切换方法的流程示意图;
图8为本发明实施例的一种失效切换装置的结构示意图;
图9为本发明实施例的另一种失效切换装置的结构示意图;
图10为本发明实施例的失效切换系统的结构示意图;
图11为本发明实施例的失效切换装置的实体结构示意图。
具体实施方式
本发明实施例提出了一种失效切换(failover)的方法,该方法例如可以应用于Shared IO架构中的主mCPU和备mCPU的切换,但并不局限于SharedIO架构,任何有mCPU的PCIe网络互连系统都可以使用本发明的技术方案。
实施例一
图1为本发明实施例的一种失效切换方法所应用的系统架构图,如图1所示,该系统中包括第一设备11、第二设备12、主机13和PCIe设备14。
其中,第一设备11例如是主mCPU,负责处理主机13对PCIe设备14的访问请求;第二设备12例如是备mCPU,当第一设备11发生失效即宕机时,第二设备12可以代替第一设备11,处理主机13对PCIe设备14的访问请求,此时第二设备12进行的是失效切换,切换后的第二设备12由原来的作为备mCPU变更为现在的作为主mCPU。需要说明的是,本发明实施例中的第一设备和第二设备仅是以mCPU为例进行说明,具体实施中并不局限于此,可以是其他具有处理和管理功能的芯片,例如普通CPU或者高级精简指令处理器(Advanced RISC Machines,简称:ARM)等微处理器。
图2的流程图描述的就是第二设备12进行失效切换的流程方法,图2为本发明实施例的一种失效切换方法的流程示意图,包括:
201、第二设备接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在事务中断时对所述事务进行恢复所需要的信息。
其中,所述的事务可以是一个处理流程,比如,主机13要对PCIe设备中的数据进行处理,假设需要按照A—B—C三个步骤依次执行来完成这个处理该过程,那么可以将该处理流程称为一个事务。事务性概念可以应用到任何驱动程序中。
第二设备接收的事务处理报文,目的是将第一设备所处理的主机访问PCIe设备的事务的相关信息通知给第二设备;该事务处理报文中包括处理信息,该处理信息能够使得第二设备在切换时据以对事务进行恢复,所述处理信息具体可以包括主机访问PCIe设备的事务内容、以及第一设备同步的主机访问PCIe设备的事务状态数据。
举例如下:假设需要按照A—B—C三个步骤依次执行来完成主机13对PCIe设备中的数据的处理,那么每个步骤中(比如A,或者B,或者C)具体处理的是什么数据,处理的数据结果是什么,这些可以称为事务内容,可以在主机或者PCIe设备向第一设备发送时,也多播至第二设备,使得第二设备能够实时了解到事务的处理内容。而第一设备可以将用于表示事务处理进展的事务状态数据同步至第二设备,比如当第一设备处理完A步骤后,可以通知第二设备,例如事务状态数据可以是Aover,第二设备据此可以得知事务的A步骤已经完成。通过上述的事务内容和事务状态数据,第二设备能够对第一设备的事务处理进展实时获知,为后续的快速切换提供基础。
更具体的例子是,假设要处理的事务是,主机要向PCIe设备中写入某些数据,那么主机会向主mCPU发送写请求消息,该写请求消息中可以包括写命令、要写入的数据、要写入的PCIe设备等;主mCPU在接收到该消息后,解析该消息并根据其中包含的上述内容,将数据逐步写入对应的PCIe设备;在接收到PCIe设备返回的写成功响应后,主mCPU得知该事务处理完成。那么,在这个事务中,主机向主mCPU发送写请求消息时,会多播至备mCPU,也就是将写命令、要写入的数据、要写入的PCIe设备等同步至备mCPU,这些称为事务内容,备mCPU可以了解事务具体要做什么。主mCPU接收到PCIe设备返回的写成功响应后,还会同步告知备mCPU该事务已经完成,比如可以通过向备mCPU发送某个包括事务标识以及完成标识的消息来通知,该事务标识以及完成标识可以称为事务状态数据,备mCPU可以据以了解事务的处理进度比如已经完成。
202、第二设备监测到第一设备失效。
具体实施中,第一设备和第二设备之间建立了心跳连接,当第二设备检测到与第一设备之间的心跳连接中断时,据此确定第一设备失效即发生宕机。
203、第二设备根据拓扑信息、驱动以及所述处理信息,继续处理第一设备失效时主机访问PCIe设备的事务。
本实施例中,第二设备上是预先存储了PCIe设备的设备信息,该设备信息包括:PCIe设备的拓扑信息以及PCIe设备的驱动。其中,PCIe设备的拓扑信息可以是,第一设备在进行初始化完成时发送至第二设备的,第二设备据此加载PCIe设备的驱动,但此时的驱动并不执行硬件操作,只是初始化操作系统(Operation system,OS)数据结构。这些获取PCIe设备的拓扑信息以及预先加载设备驱动的处理,都可以使得第二设备在切换时能够节省时间,相比于现有技术中第二设备切换时需要重新枚举PCIe设备,将大大加快第二设备切换的速度。
在201中提到的第二设备预先存储的拓扑信息、预先加载的PCIe设备的驱动、以及接收的处理信息,在第一设备失效时,第二设备会根据这些信息恢复第一设备处理的事务。比如,第二设备可以根据所述拓扑信息查找到主机访问的PCIe设备,利用所述驱动访问所述PCIe设备(只有加载了对应设备的驱动才能访问该设备),并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。例如,假设根据所述处理信息得知某事务在第一设备失效时已经处理完成,那么第二设备将不再处理该事务;如果根据处理信息得知某事务在第一设备失效时已经处理到中间的某个步骤,那么第二设备可以从该步骤处继续处理该事务。
上述的继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务,还可以包括如下的多种处理方式:
例如,201中接收到的事务状态数据中可以包括事务处理位置标识,例如该标识表示事务处理到B步骤;假如第二设备接收到用于表示事务处理到B步骤的标识后,监测到第一设备发生失效,那么第二设备可以根据事务处理位置标识确定事务中断位置是在B步骤后,那么也就是C步骤还未处理完成。第二设备可以从事务中断位置处继续处理中断的事务,比如接着执行C步骤;或者,也可以从事务的开始位置处重新处理事务,比如倒回去从A步骤重新开始执行该流程。
又例如,201中接收到的事务状态数据中可以包括事务完成标识。比如,当第一设备执行完A—B—C三个步骤后,可以通知第二设备该事务已经完成,假设采用的事务完成标识是TO,表明T这个事务已经完成,T这个事务就是包括A—B—C三个步骤的处理流程;那么第二设备可以根据该TO,删除与T事务对应的处理信息,包括事务内容和事务状态数据等。
本发明实施例中的第二设备,不仅预先存储了主机所要访问的PCIe设备的设备信息,在第二设备切换时不需要再重新枚举PCIe设备,节省了切换时间;并且,第二设备还接收第一设备所处理的主机访问PCIe设备的处理信息,能够根据该处理信息继续处理事务,从而实现快速切换。
实施例二
图3为本发明实施例的另一种失效切换方法所应用的物理架构图,如图3所示,C2表示一种支持共享IO的芯片,具有上游口(UP stream,UP)和非透明口(Non-Transparent,NT),主mCPU连接在UP,备mCPU连接在NT;并且PCIe交换芯片(PCIe switch)可以是支持多播的现场可编程门阵列FPGA。该图3所示的系统是一种Shared IO架构。
基于图3所示的架构,提供一种可选的失效切换流程,在该流程中,第一设备是主mCPU,第二设备是备mCPU;图4为本发明实施例的另一种失效切换方法的流程示意图,如图4所示,包括:
401、主mCPU初始化;
其中,主mCPU扫描PCI树(PCI tree),该PCI树包括具有相互连接关系的多个PCIe设备,通过扫描获取PCIe设备的拓扑信息。主mCPU还加载PCIe设备的驱动,包括PF驱动和Shared IO管理驱动;并初始化主mCPU和备mCPU的通信通道,且主mCPU声明自己是主节点。
402、主mCPU将PCIe设备的拓扑信息同步至备mCPU;
其中,主mCPU可以在扫描PCI树完成时,将PCIe设备的拓扑信息同步至备mCPU;备mCPU加载对应的PCI树上的PCIe设备的驱动,但此时PCIe设备的驱动并不操作真正的硬件,只是初始化OS的数据结构,对硬件操作隔离,如分配虚拟子设备(Virtual Function,VF)的bar空间的地址写入硬件寄存器。
这样备mCPU上就预先存储了PCIe设备的设备信息,包括PCIe设备的拓扑信息以及加载的PCIe设备的驱动,由于主mCPU在初始化完成时就把拓扑同步到备mCPU上,当主mCPU宕机时,备mCPU不需要在重新枚举PCI tree,这样大大节省了failover时间。
403、主mCPU和备mCPU建立心跳连接;
404、备mCPU接收事务处理报文,报文包括:主mCPU所处理的主机访问PCIe设备的处理信息;
本实施例中,备mCPU接收的事务处理报文包括主机访问PCIe设备的事务内容,比如,主mCPU访问PCIe设备的响应以及PCIe设备向主mCPU发送的事务处理报文都会多播到备mCPU中。备mCPU接收的事务处理报文还包括主mCPU同步的主机访问PCIe设备的事务状态数据;比如,主mCPU处理完成某个事务后通知备mCPU,可以在事务状态数据中包括事务完成标识,用于通知备mCPU该事务处理完成;或者,事务状态数据还可以包括事务处理位置标识,比如用于表示在主mCPU宕机时事务处理到C步骤。
405、备mCPU监测到主mCPU失效;
具体实现时,如图3所示,主mCPU和备mCPU之间建立了心跳连接,当备mCPU监测到与主mCPU之间的心跳连接中断时,确定主mCPU发生宕机。
406、备mCPU进行切换;
其中,备mCPU可以配置PCIe switch将非透明口和上游口进行互换,这样备mCPU相当于连接PCIe switch的上游口,对PCIe switch下挂载的PCIe设备可见,备mCPU可以声明自身为主mCPU。
407、备mCPU根据处理信息以及预先存储的PCIe设备的设备信息,继续处理主mCPU失效时主机访问PCIe设备的事务。
本实施例中,备mCPU在主mCPU宕机之前仅记录处理信息,在主mCPU宕机之后,备mCPU根据404中的处理信息以及402中预先存储的PCIe设备的设备信息,继续处理事务。
例如,备mCPU根据处理信息中的事务处理位置标识,确定在主mCPU宕机时事务中断位置,比如在C步骤时主mCPU宕机,则备mCPU可以从事务中断位置处继续处理中断的事务,即从C步骤继续执行;或者,备mCPU从事务的开始位置处重新处理事务,即从A步骤开始重新执行A—B—C流程。
又例如,备mCPU还可以根据处理信息中的事务完成标识,删除与所述事务完成标识对应的处理信息。比如,当第一设备执行完A—B—C三个步骤后,可以通知第二设备该事务已经完成,假设采用的事务完成标识是TO,表明T这个事务已经完成,T这个事务就是包括A—B—C三个步骤的处理流程;那么第二设备可以根据该TO,删除与T事务对应的处理信息,包括事务内容和事务状态数据等。
此外驱动操作寄存器可能会有副作用,比如read-clear,write only,写触发中断,因此事务处理需要考虑这些特殊情况,进行特殊标识。
本发明实施例中的备mCPU,不仅预先存储了主机所要访问的PCIe设备的设备信息,在切换时不需要再重新枚举PCIe设备,节省了切换时间;并且,备mCPU还接收主mCPU所处理的主机访问PCIe设备的处理信息,能够根据该处理信息继续处理事务,从而实现快速切换。
实施例三
图5为本发明实施例的又一种失效切换方法所应用的系统架构图,如图5所示,其中的Primary mCPU为主mCPU,Backup mCPU为备用mCPU,RAM为内存,Global EP FIFO为全局CSR请求队列,CSR为寄存器(Controland Status Register),Host为主机,DMA为存储器直接访问(direct memoryaccess),mapping为映射,FIFO为先入先出队列(First Input First Output),current index为当前指数。
基于图5所示的架构,提供一种可选的失效切换流程,在该流程中,第一设备是主mCPU(Primary mCPU),第二设备是备mCPU(Backup mCPU);图6为本发明实施例的又一种失效切换方法的流程示意图,描述的是SharedIO管理驱动中CSR转发事务处理报文的处理方法;如图6所示,包括:
601、Host访问VF配置空间进行读写请求;
602、PCIe switch将访问读写请求封装为厂商自定义消息(Vendor DefineMessage,VDM)进行传输;
603、PCIe switch将VDM以DMA方式写入主mCPU中申请的buffer中,同时多播到备mCPU申请的buffer中;
604、触发主mCPU中的Shared IO管理程序的中断;
605、Shared IO管理程序的中断处理函数解析这些VDM,并读写真实的PCIe物理设备。
其中,主mCPU每处理完成一个VDM传送的读写请求就更新其内存中的FIFO的指数(index),并通过与备mCPU的通信通道将index同步到备mCPU。
606、主mCPU宕机;
607、备mCPU从主mCPU同步过来的index值对应的位置继续执行事务;
其中,如果主mCPU在处理某一个VDM过程中宕机,这时备mCPU可以根据主mCPU同步过来的特殊checkpoint以及必要的数据,从checkpoint处继续执行保证主机业务不间断。
本实施例中的备mCPU,不仅预先存储了主机所要访问的PCIe设备的设备信息,在切换时不需要再重新枚举PCIe设备,节省了切换时间;同时,向主mCPU发送的报文多播到备mCPU,保证不会遗失处理;并且,备mCPU还接收主mCPU所处理的主机访问PCIe设备的处理信息,采用事务性方式使主备mCPU上PCIe驱动状态一致,能够根据该处理信息继续处理事务,从而实现快速切换,解决了PCIe fabric由于mCPU宕机导致的错误扩展,保证了PCIe fabric的可靠性。
本发明实施例的失效切换方法所应用的实际应用场景,例如可以是,当Host访问VF配置空间时,主mCPU宕机,可以进行主mCPU和备mCPU之间切换;或者Host的VF和mCPU上的PF通信,主mCPU宕机,进行主mCPU和备mCPU之间的切换;或者Host的VF驱动正常数据传输,主mCPU宕机,进行主mCPU和备mCPU之间的切换。
此外,为了保证设备的安全,有些寄存器并没有暴露给VF,必须通过PF来进行操作,这时就需要VF和PF间通信即mailbox,具体地,PF和VF之间通信场景包括如下场景:
重配置VF(Resetting the VF);
配置VF的介质访问控制地址(Configuring the VF MAC address);
设置多播地址(Setting Multicast address)
设置虚拟局域网过滤器(Setting Vlan Filter);
设置常报文最大长度(Setting Long Packet Maximum Length);
这些操作当mCPU进行失效切换(failover)时必须考虑,这样才能保证业务的正确性,可以按照图7所示的流程进行处理,图7为本发明实施例的又一种失效切换方法的流程示意图。
上述在PF和VF之间通信时,每一个VF都有一个独立的mailbox可以和PF通信,PF可以访问所有VF的mailbox。mailbox中断处理程序会遍历每个VF的mailbox,可以把处理每个VF mailbox作为一个完整事务,每个事务中有多个checkpoint。当主mCPU宕机时尚未处理的VF mailbox按照正常程序执行,对某一个处于临界的VF mailbox进行恢复处理。
实施例四
图8为本发明实施例的一种失效切换装置的结构示意图,该装置例如是备mCPU,其可以执行本发明实施例的失效切换方法,本实施例仅对该装置的结构做简单说明,其具体的工作原理可以结合参见方法实施例。如图8所示,该失效切换装置可以包括:接收单元81、存储单元82和处理单元83;,
接收单元81,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在事务中断时对所述事务进行恢复所需要的信息;
存储单元82,用于存储所述PCIe设备的拓扑信息,以及加载的所述PCIe设备的驱动;
处理单元83,用于在监测到所述第一设备失效时,根据所述接收单元81接收的所述处理信息、以及所述存储单元82存储的所述拓扑信息和驱动,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
进一步的,接收单元81,具体用于接收主机访问PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
进一步的,处理单元83,具体用于根据所述事务状态数据中包括的事务处理位置标识确定事务中断位置;并从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
进一步的,所述处理单元83,还用于在所述接收单元接收事务处理报文之后,根据所述事务状态数据中包括的事务完成标识,删除与所述事务完成标识对应的处理信息。
进一步的,所述处理单元83,具体用于根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
图9为本发明实施例的另一种失效切换装置的结构示意图,该图9是一种可选的失效切换装置的详细结构实例,如图9所示,其中的通信模块可以相当于上述的接收单元,负责主mCPU和备mCPU之间的相互通信,以及心跳通道的通信,所有的数据传输是同步传送。其中的Failover模块、事务处理模块都属于上述的处理单元,Failover模块负责处理切换的整体流程,比如NT口和UP stream口的互换等对PCIe fabric的操作。事务处理模块负责根据同步的数据进行事务的判断,比如,备mCPU可以根据主mCPU同步的事务状态数据判断是否完成事务,如果是一个完整的事务即事务完成,则事务处理模块可以将该事务相关的信息删除;当主mCPU宕机时,事务处理模块也可以根据主mCPU同步的事务状态数据判断上层驱动程序执行的具体位置即判断事务的中断位置。
实施例五
图10为本发明实施例的失效切换系统的结构示意图,如图10所示,该系统可以包括第一设备1001和第二设备1002;其中,第二设备1002,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;所述第二设备还存储所述PCIe设备的拓扑信息,并加载有所述PCIe设备的驱动;并在监测到所述第一设备1001失效时,根据所述拓扑信息、驱动以及所述处理信息,继续处理所述第一设备1001失效时所述主机访问所述PCIe设备的事务。采用该系统能够实现主mCPU和备mCPU的快速切换,并且保证了PCIe fabric的可靠性。
实施例六
图11为本发明实施例的失效切换装置的实体结构示意图,用于实现如本发明实施例的失效切换方法,其工作原理可以参见前述方法实施例。如图11所示,该失效切换装置可以包括:收发器1101、存储器1102、处理器1103和总线1104。处理器1103和存储器1102和收发器1101之间通过总线1104连接并完成相互间的通信。
其中,所述收发器1101,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;
所述存储器1102,用于存储所述PCIe设备的拓扑信息,以及加载的所述PCIe设备的驱动;
所述处理器1103,用于在监测到所述第一设备失效时,根据所述收发器1101接收的所述处理信息、以及所述存储器1102存储的所述拓扑信息和驱动,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
进一步的,所述收发器1101,具体用于接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
进一步的,所述处理器1103,具体用于根据所述事务状态数据中包括的事务处理位置标识确定事务中断位置;并从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处重新处理中断的事务。
进一步的,所述处理器1103,还用于在所述接收单元接收事务处理报文之后,根据所述事务状态数据中包括的事务完成标识,删除与所述事务完成标识对应的处理信息。
进一步的,所述处理器1103,具体用于根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (16)

1.一种失效切换方法,其特征在于,包括:
第二设备接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;所述第二设备还存储所述PCIe设备的拓扑信息,并加载有所述PCIe设备的驱动;
所述第二设备在监测到所述第一设备失效时,根据所述拓扑信息、驱动以及所述处理信息,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
2.根据权利要求1所述的方法,其特征在于,第二设备接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,包括:
所述第二设备接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
3.根据权利要求2所述的方法,其特征在于,所述事务状态数据包括:事务处理位置标识;所述继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务,包括:
所述第二设备根据所述事务处理位置标识确定事务中断位置;
所述第二设备从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
4.根据权利要求2所述的方法,其特征在于,所述事务状态数据包括:事务完成标识;所述第二设备接收事务处理报文之后,还包括:
所述第二设备删除与所述事务完成标识对应的处理信息。
5.根据权利要求1-4任一所述的方法,其特征在于,所述继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务,包括:
所述第二设备根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
6.一种失效切换装置,其特征在于,包括:
接收单元,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;
存储单元,用于存储所述PCIe设备的拓扑信息,以及加载的所述PCIe设备的驱动;
处理单元,用于在监测到所述第一设备失效时,根据所述接收单元接收的所述处理信息、以及所述存储单元存储的所述拓扑信息和驱动,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
7.根据权利要求6所述的装置,其特征在于,
所述接收单元,具体用于接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
8.根据权利要求7所述的装置,其特征在于,
所述处理单元,具体用于根据所述事务状态数据中包括的事务处理位置标识确定事务中断位置;并从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
9.根据权利要求7所述的装置,其特征在于,
所述处理单元,还用于在所述接收单元接收事务处理报文之后,根据所述事务状态数据中包括的事务完成标识,删除与所述事务完成标识对应的处理信息。
10.根据权利要求6~9任一所述的装置,其特征在于,
所述处理单元,具体用于根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
11.一种失效切换系统,其特征在于,包括:第一设备和第二设备;
所述第二设备,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;所述第二设备还存储所述PCIe设备的拓扑信息,并加载有所述PCIe设备的驱动;并在监测到所述第一设备失效时,根据所述拓扑信息、驱动以及所述处理信息,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
12.一种失效切换装置,其特征在于,包括收发器、存储器和处理器;
所述收发器,用于接收用于通知第一设备所处理的主机访问部件快速互连局部总线PCIe设备的事务的事务处理报文,所述事务处理报文携带处理信息,所述处理信息用于描述在所述事务中断时对所述事务进行恢复所需要的信息;
所述存储器,用于存储所述PCIe设备的拓扑信息,以及加载的所述PCIe设备的驱动;
所述处理器,用于在监测到所述第一设备失效时,根据所述收发器接收的所述处理信息、以及所述存储器存储的所述拓扑信息和驱动,继续处理所述第一设备失效时所述主机访问所述PCIe设备的事务。
13.根据权利要求12所述的装置,其特征在于,
所述收发器,具体用于接收所述主机访问所述PCIe设备的事务内容、以及所述第一设备同步的所述主机访问所述PCIe设备的事务状态数据,所述处理信息包括所述事务内容和所述事务状态数据。
14.根据权利要求13所述的装置,其特征在于,
所述处理器,具体用于根据所述事务状态数据中包括的事务处理位置标识确定事务中断位置;并从所述事务中断位置处,继续处理中断的所述事务;或者,从所述事务的开始位置处,重新处理中断的所述事务。
15.根据权利要求13所述的装置,其特征在于,
所述处理器,还用于在所述接收单元接收事务处理报文之后,根据所述事务状态数据中包括的事务完成标识,删除与所述事务完成标识对应的处理信息。
16.根据权利要求12-15任一所述的装置,其特征在于,
所述处理器,具体用于根据所述拓扑信息查找到所述主机访问的所述PCIe设备,利用所述驱动访问所述PCIe设备,并执行根据所述处理信息得到的在所述第一设备失效时正在处理的事务。
CN201480000478.2A 2014-03-21 2014-03-21 失效切换方法、装置和系统 Active CN104170307B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/073908 WO2015139327A1 (zh) 2014-03-21 2014-03-21 失效切换方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104170307A true CN104170307A (zh) 2014-11-26
CN104170307B CN104170307B (zh) 2017-12-12

Family

ID=51912362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480000478.2A Active CN104170307B (zh) 2014-03-21 2014-03-21 失效切换方法、装置和系统

Country Status (3)

Country Link
US (2) US10095592B2 (zh)
CN (1) CN104170307B (zh)
WO (1) WO2015139327A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017076089A1 (zh) * 2015-11-04 2017-05-11 中兴通讯股份有限公司 一种网口状态检测和同步的方法及装置
CN108133034A (zh) * 2018-01-08 2018-06-08 新华三云计算技术有限公司 共享存储访问方法及相关装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077666A (ja) * 2018-11-05 2020-05-21 株式会社Kokusai Electric 基板処理装置、半導体装置の製造方法、プログラムおよび記録媒体
CN114448780B (zh) * 2022-01-27 2023-06-20 西安微电子技术研究所 一种基于pcie接口的以太网控制器异常处理系统和方法
CN117707709B (zh) * 2024-02-05 2024-05-17 珠海星云智联科技有限公司 Sr-iov配置使能控制方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382907A (zh) * 2008-10-24 2009-03-11 普天信息技术研究院有限公司 一种智能卡操作方法以及一种智能卡
CN101714109A (zh) * 2009-11-24 2010-05-26 杭州华三通信技术有限公司 双cpu系统主板的控制方法及设备
CN103618618A (zh) * 2013-11-13 2014-03-05 福建星网锐捷网络有限公司 基于分布式pcie系统的线卡故障恢复方法及相关设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102177B (zh) * 2007-08-20 2010-11-10 杭州华三通信技术有限公司 一种主备控制器倒换的实现方法及设备
US8055991B2 (en) * 2007-12-12 2011-11-08 International Business Machines Corporation Error detection and recovery using an asynchronous transaction journal
US7752346B2 (en) * 2007-12-21 2010-07-06 Aprius, Inc. Universal routing in PCI-Express fabrics
US20110047413A1 (en) * 2009-08-20 2011-02-24 Mcgill Robert E Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer
US8677180B2 (en) * 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
WO2014032233A1 (zh) * 2012-08-29 2014-03-06 华为技术有限公司 虚拟机热迁移的系统和方法
US9645902B2 (en) * 2014-06-23 2017-05-09 Liqid Inc. Modular switched fabric for data storage systems
TWI597953B (zh) * 2015-11-25 2017-09-01 財團法人工業技術研究院 具故障轉移能力的快速周邊元件互連網路系統與操作方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382907A (zh) * 2008-10-24 2009-03-11 普天信息技术研究院有限公司 一种智能卡操作方法以及一种智能卡
CN101714109A (zh) * 2009-11-24 2010-05-26 杭州华三通信技术有限公司 双cpu系统主板的控制方法及设备
CN103618618A (zh) * 2013-11-13 2014-03-05 福建星网锐捷网络有限公司 基于分布式pcie系统的线卡故障恢复方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017076089A1 (zh) * 2015-11-04 2017-05-11 中兴通讯股份有限公司 一种网口状态检测和同步的方法及装置
CN108133034A (zh) * 2018-01-08 2018-06-08 新华三云计算技术有限公司 共享存储访问方法及相关装置

Also Published As

Publication number Publication date
US20190012245A1 (en) 2019-01-10
WO2015139327A1 (zh) 2015-09-24
US20160292054A1 (en) 2016-10-06
US10795785B2 (en) 2020-10-06
CN104170307B (zh) 2017-12-12
US10095592B2 (en) 2018-10-09

Similar Documents

Publication Publication Date Title
US8788873B2 (en) Server input/output failover device serving highly available virtual devices
US9529683B2 (en) Method, system, and apparatus for cloud application redundancy
WO2015101128A1 (zh) 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
US10671423B2 (en) Hot-plug hardware and software implementation
CN108616382B (zh) 升级网卡固件的方法、装置、网卡和设备
TWI453597B (zh) 經由在一輸入輸出虛擬管理分割中之虛擬仲介以管理輸入輸出虛擬配接器的系統及方法
US9141494B2 (en) Isolating a PCI host bridge in response to an error event
US9916216B2 (en) Selectively coupling a PCI host bridge to multiple PCI communication paths
EP3173937A1 (en) Pcie network system with fail-over capability and operation method thereof
US7870417B2 (en) Apparatus, system, and method for adapter card failover
CN105426275A (zh) 双活集群系统中容灾的方法及装置
US10795785B2 (en) Failover method, apparatus and system
CN106528327A (zh) 一种数据处理方法以及备份服务器
CN108205506A (zh) 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
CN105653345A (zh) 用于支持对数据的非易失性随机访问的方法和设备
JPH086910A (ja) クラスタ型計算機システム
US20080263391A1 (en) Apparatus, System, and Method For Adapter Card Failover
CN115167757A (zh) 加速卡分布式存储访问方法、装置、设备及存储介质
KR101143684B1 (ko) 어댑터 카드 장애극복 장치, 시스템 및 방법
CN104407806A (zh) 独立磁盘冗余阵列组硬盘信息的修改方法和装置
US20200226097A1 (en) Sand timer algorithm for tracking in-flight data storage requests for data replication
JP2012014239A (ja) フォールトトレラントの計算機システム、複数の物理サーバとストレージ装置とに接続されるスイッチ装置、及び、サーバ同期制御方法
CN117687706A (zh) 基于输入输出虚拟化的配置和请求处理方法、装置和设备
CN104636125A (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
GR01 Patent grant
GR01 Patent grant