CN103327127A - 分布式系统中驱动操作方法和装置 - Google Patents
分布式系统中驱动操作方法和装置 Download PDFInfo
- Publication number
- CN103327127A CN103327127A CN201310299371XA CN201310299371A CN103327127A CN 103327127 A CN103327127 A CN 103327127A CN 201310299371X A CN201310299371X A CN 201310299371XA CN 201310299371 A CN201310299371 A CN 201310299371A CN 103327127 A CN103327127 A CN 103327127A
- Authority
- CN
- China
- Prior art keywords
- module
- driving
- driver
- ply
- driver framework
- 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
Links
Images
Abstract
本发明公开了一种分布式系统中驱动操作方法和装置,涉及通信技术领域,采用上述方案后,在分布式系统中,驱动程序模块可以灵活的被设置在不同板卡中。本发明的方法具体可以包括:在主控卡上部署第一驱动框架模块;在线卡上部署第二驱动框架模块;系统启动时,位于主控卡的各驱动相关应用程序模块向第一驱动框架模块注册并建立连接;位于线卡的各驱动相关应用程序模块向所在线卡的第二驱动框架模块注册并建立连接;位于线卡的各业务接口对应的驱动程序模块向所在线卡的第二驱动框架模块注册并建立连接;第二驱动框架模块记录驱动程序模块的驱动类型;第二驱动框架模块与第一驱动框架模块建立通信通道。可应用于驱动操作中。
Description
技术领域
本发明涉及网络技术领域,尤其涉及分布式系统中驱动操作的方法和装置。
背景技术
随着互联网技术的发展,新业务和新功能越来越多,要求网络设备(如,路由器或交换机)对网络数据报文的处理性能效率越来越高。传统的集中式设备中的单个CPU(Central Processing Unit,中央处理器)既负责路由计算和操作逻辑处理,又负责数据报文转发,很难满足当今网络设备的转发性能要求。
目前,可以在分布式的系统中设置网络设备,网络设备中可以包括主控卡节点(后面简称主控卡)和多个线卡节点(后面简称线卡),每个节点上都运行着单独的片上操作系统。主控卡上的CPU可以用来进行路由协议和操作逻辑的处理,线卡上的CPU可以负责数据报文的转发,从而保证线卡可以高速地处理报文,满足网络设备的性能要求。
但是,在现有技术中,如,在Linux原生系统中,系统只能管理本节点内的驱动程序模块,在分布式系统中无法实现对其他节点内的驱动程序模块进行管理,进而降低了驱动程序模块分布的灵活性。
发明内容
本发明的实施例提供一种分布式系统中驱动操作的方法和装置,采用上述方案后,在分布式系统中,驱动程序模块可以灵活的被设置在不同板卡中。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种分布式系统中驱动操作方法,包括:
在主控卡上部署第一驱动框架模块;在每一个线卡上部署第二驱动框架模块;
系统启动时,位于主控卡的各驱动相关应用程序模块向所述第一驱动框架模块注册并建立连接;位于线卡的各驱动相关应用程序模块向所在线卡的所述第二驱动框架模块注册并建立连接;位于线卡的各业务接口对应的驱动程序模块向所在线卡的所述第二驱动框架模块注册并建立连接;所述第二驱动框架模块记录所述驱动程序模块的驱动类型;所述第二驱动框架模块与第一驱动框架模块建立通信通道。
第二方面,提供一种分布式系统中驱动操作装置,包括:
主控卡和至少一个线卡,所述主控卡包括至少一个驱动相关应用程序模块,所述线卡包括至少一个业务接口对应的驱动程序模块和/或至少一个驱动相关应用程序模块,
所述主控卡还包括第一驱动框架模块;所述第一驱动框架模块用于系统启动时,接收各位于主控卡的驱动相关应用程序模块的注册请求并建立连接;
所述线卡还包括第二驱动框架模块,所述第二驱动框架模块用于系统启动时,接收各位于线卡的驱动相关应用程序模块的注册请求并建立连接;所述第二驱动框架模块,还用于记录所述对应的驱动程序模块的驱动类型,还用于与第一驱动框架模块建立通信通道。
本发明实施例提供的分布式系统中驱动操作的方法和装置,采用上述方案后,在分布式系统中,驱动相关应用程序模块可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为分布式设备中设置的各板卡的接口示意图;
图2为本实施例提供的一种分布式系统中驱动操作的方法流程图;
图3为实施例1提供的另一种分布式系统中驱动操作的方法流程图;
图4为实施例1的分布式系统中驱动操作的方法的数据交互图;
图5为实施例2提供的再一种分布式系统中驱动操作的方法流程图;
图6为实施例2所示的分布式系统中驱动操作的方法的数据交互图;
图7为实施例3提供的再一种分布式系统中驱动操作的方法流程图;
图8为实施例3所示的分布式系统中驱动操作的方法的数据交互图;
图9为实施例4提供的再一种分布式系统中驱动操作的方法流程图;
图10为实施例4所示的分布式系统中驱动操作的方法的数据交互图;
图11为本实施例提供的一种分布式系统中驱动操作的装置的结构示意图;
图12为本实施例提供的另一种分布式系统中驱动操作的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了可以更好的对下面提供的实施例进行理解,首先对实施例所应用的系统架构进行简单描述。
如图1所示,在一个分布式设备中,可以包括多个板卡,其中,在多个板卡中包含一个主控卡其余的均可以是线卡,主控卡可以主要用于对线卡进行操作。本发明还适用于有两个主控卡的分布式设备,两个主控卡用于主从备份,与线卡的通信主要由主用主控卡进行,通信原理相同,本发明不再赘述。
每个板卡中可以包括:用户空间和内核空间,在用户空间接收到驱动操作指令后,将发送至内核空间,该操作指令可以用于指示内核空间根据驱动操作指令执行相应的操作。
用户空间可以包括:驱动相关应用程序模块、驱动框架模块等,内核空间可以包括:与业务接口对应的驱动程序模块、虚拟驱动模块等。其中,虚拟驱动模块设置于主控卡中,驱动相关应用程序模块、驱动框架模块以及与业务接口对应的驱动程序模块可以设置于任意板卡(可以包括主控卡和线卡)中。每个板卡可以设置有至少一类业务接口,每一类业务接口与一个驱动程序模块相对应。
驱动框架模块可以与多个驱动程序模块连接,每个驱动程序模块可以对应一种驱动类型,当需要对驱动程序模块进行操作时,驱动框架模块可以通过驱动操作指令中指定的驱动类型确定被操作的驱动程序模块。为了便于区分,本发明将位于主控卡的驱动框架模块称为第一驱动框架模块,将位于线卡的驱动框架模块成为第二驱动框架模块。
本实施例提供一种分布式系统中驱动操作方法,如图2所示,可以包括:
在主控卡上部署第一驱动框架模块;在每一个线卡上部署第二驱动框架模块;
201、系统启动时,位于主控卡的各驱动相关应用程序模块向第一驱动框架模块注册并建立连接。
202、位于线卡的各驱动相关应用程序模块向所在线卡的第二驱动框架模块注册并建立连接。
203、位于线卡的各业务接口对应的驱动程序模块向所在线卡的第二驱动框架模块注册并建立连接。
204、第二驱动框架模块记录驱动程序模块的驱动类型。
205、第二驱动框架模块与第一驱动框架模块建立通信通道。
其中,本实施例中的各模块之间的位置关系可参见图1。
值得说明的是,本实施例对步骤201至步骤205的执行顺序不作限定,可以不限于上述顺序,可以根据实际需要进行设定,在此不再赘述。
本实施例对步骤201至步骤205中进行注册与建立连接的步骤不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,注册步骤赘述。
采用上述方案后,在分布式系统中,驱动相关应用程序模块可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中。
下面提供四个实施例,是对图2所示的方法的进一步扩展,且分别针对不同场景进行描述。
实施例1
本实施例提供另一种分布式系统中驱动操作的方法,该方法是对图2所示的方法的进一步扩展,且是执行与初始化建立连接步骤之后,即可以是执行于步骤205之后的(本实施例对初始化建立连接的步骤不作赘述,可参见步骤201至步骤205),该方法应用的场景包括:位于线卡的驱动相关应用程序模块操作本板卡的业务接口,在该线卡上部署有第二驱动框架模块;在主控卡上部署有第一驱动框架模块和虚拟驱动模块。作为本实施例的一种实施方式,本实施例中的第二驱动框架模块与目标业务接口对应的驱动程序模块位于同一线卡上。如图3为本实施例的流程图,图4为本实施例的数据交互图。本实施例提供的分布式系统中驱动操作的方法可以包括:
301、位于线卡的驱动相关应用程序模块通过所在线卡的第二驱动框架模块发送驱动操作指令。
在本实施例中,由于,驱动相关应用程序模块是将驱动操作指令发送所在板卡上的相应的驱动程序模块的,因此,当操作某一驱动程序模块执行相应的驱动操作时,驱动相关应用程序模块将驱动操作指令发送至第二驱动框架模块中,第二驱动框架模块可以将接收到的驱动操作指令直接发送至所在板卡的相应的驱动程序模块。
具体的,位于线卡的驱动相关应用程序模块通过所在线卡的第二驱动框架模块发送驱动操作指令可以包括:
位于线卡的驱动相关应用程序模块向第二驱动框架模块发送驱动操作指令;第二驱动框架模块发送驱动操作指令到目标业务接口对应的驱动程序模块,对应的驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
302、驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
在业务接口执行相应驱动操作后,相应的驱动程序模块的驱动状态发生了相应的变化,因此,需要将变化后的驱动状态同步至主控卡中,以便后续步骤的使用。如果不实现线卡重启恢复功能,可以不需要步骤303-305的步骤。
303、驱动程序模块执行相应驱动操作完成后,将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块。
作为本实施例的一种实施方式,驱动程序模块可以通过所在板卡上的驱动框架模块将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块。
304、第一驱动框架模块将驱动操作指令执行后的驱动状态发送到虚拟驱动模块。
主控卡设置有虚拟驱动模块,虚拟驱动模块可以包括系统中所有驱动程序模块实时的驱动状态,该所有驱动程序模块可以包括主控卡操作的所有线卡上的驱动程序模块。
作为本实施例的一种实施方式,虚拟驱动模块可以包括:虚拟结构,每个虚拟结构均可以对应与一个驱动程序模块,并存储有相应的驱动程序模块实时的驱动状态,以便在线卡重启后,从虚拟驱动模块中获取重启前线卡接口上设置的所有驱动程序模块的驱动状态,并可以根据获取到的驱动状态执行加载,使得驱动程序模块的驱动状态恢复到重启前的状态。
例如,虚拟结构可以但不限于包括:相应的驱动程序模块与该驱动程序模块的驱动状态的对应关系。
305、虚拟驱动模块进行相应的处理。
作为本实施例的一种实施方式,第一驱动框架模块根据驱动操作指令将驱动程序模块执行完驱动操作后的驱动状态更新至虚拟驱动中。
本实施例中,当驱动操作指令为驱动加载消息时,主控卡的第一驱动框架模块将驱动加载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块创建对应业务接口的虚拟驱动结构,在虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型;当驱动操作指令为驱动卸载消息时,主控卡的第一驱动框架模块将驱动卸载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块删除对应业务接口的虚拟驱动结构;当驱动操作指令为驱动设置消息时,主控卡的第一驱动框架模块将驱动设置消息通知虚拟驱动模块,虚拟驱动模块根据驱动设置消息查询对应业务接口的虚拟驱动结构,根据驱动设置消息中的设置内容修改目标虚拟驱动结构。
采用上述方案后,在分布式系统中,驱动相关应用程序模块通过板卡之间的连接建立可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中,另外,驱动程序模块驱动框架模块还将驱动操作指令上报给主控卡,便更新虚拟驱动模块中存储的驱动程序模块的驱动状态,以便可以板卡重启后可以获取到重启前的驱动状态。
实施例2
本实施例提供另一种分布式系统中驱动操作方法,该方法是对图2所示的方法的进一步扩展,且是执行与初始化建立连接步骤之后,即可以是执行于步骤205之后的(本实施例对初始化建立连接的步骤不作赘述,可参见步骤201至步骤205),该方法应用的场景包括:位于主控卡的驱动相关应用程序模块操作线卡的业务接口;在主控卡上部署第一驱动框架模块和虚拟驱动模块;在该线卡上部署第二驱动框架模块。
其中,如图5为本实施例的流程图,图6为本实施例的数据交互图。
本实施例提供的分布式系统中驱动操作的方法可以包括:
501、位于主控卡的驱动相关应用程序模块通过所在主控卡的第一驱动框架模块发送驱动操作指令。
具体的,位于主控卡的驱动相关应用程序模块通过所在主控卡的第一驱动框架模块发送驱动操作指令可以包括:
位于主控卡的驱动相关应用程序模块将驱动操作指令发送至第一驱动框架;第一驱动框架模块发送驱动操作指令到目标业务接口所在线卡的第二驱动框架模块;第二驱动框架模块根据驱动操作指令查询对应的驱动程序模块;第二驱动框架模块发送驱动操作指令到目标业务接口对应的驱动程序模块;对应的驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
其中,驱动操作指令可以包括:目标业务接口对应的驱动程序模块的标识。
本实施例对驱动程序模块的标识不作限定,已在步骤301中进行了描述,在此不再赘述。
502、驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
在业务接口执行相应驱动操作后,相应的驱动程序模块的驱动状态发生了相应的变化,因此,需要将变化后的驱动状态同步至主控卡中,以便后续步骤的使用。如果不实现线卡重启恢复功能,可以不需要步骤503-505的步骤。
503、驱动程序模块执行相应驱动操作完成后,将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块。
作为本实施例的一种实施方式,驱动程序模块可以通过所在板卡上的驱动框架模块将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块。
504、第一驱动框架模块将驱动操作指令执行后的驱动状态发送到虚拟驱动模块。
505、虚拟驱动模块进行相应的处理。
本实施例中,当驱动操作指令为驱动加载消息时,主控卡的第一驱动框架模块将驱动加载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块创建对应业务接口的虚拟驱动结构,在虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型;当驱动操作指令为驱动卸载消息时,主控卡的第一驱动框架模块将驱动卸载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块删除对应业务接口的虚拟驱动结构;当驱动操作指令为驱动设置消息时,主控卡的第一驱动框架模块将驱动设置消息通知虚拟驱动模块,虚拟驱动模块根据驱动设置消息查询对应业务接口的虚拟驱动结构,根据驱动设置消息中的设置内容修改目标虚拟驱动结构。
采用上述方案后,在分布式系统中,驱动相关应用程序模块通过板卡之间的连接建立可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中,另外,驱动程序模块驱动框架模块还将驱动操作指令上报给主控卡,更新虚拟驱动模块中存储的驱动程序模块的驱动状态,以便可以板卡重启后可以获取到重启前的驱动状态。
实施例3
本实施例提供另一种分布式系统中驱动操作的方法,该方法是对图2所示的方法的进一步扩展,且是执行与初始化建立连接步骤之后,即可以是执行于步骤205之后的(本实施例对初始化建立连接的步骤不作赘述,可参见步骤201至步骤205),该方法应用的场景包括:位于线卡的驱动相关应用程序模块操作其他线卡的业务接口;在主控卡上部署第一驱动框架模块和虚拟驱动模块;在每一个线卡上部署第二驱动框架模块。
其中,如图7为本实施例的流程图,图8为本实施例的数据交互图。
本实施例具体可以包括:
701、位于线卡的驱动相关应用程序模块通过所在线卡的第二驱动框架模块发送驱动操作指令到主控卡的第一驱动框架模块。
具体的,可以包括:位于线卡的驱动相关应用程序模块将驱动操作指令发送至主控卡的第一驱动模块。
702、第一驱动框架模块发送驱动操作指令到目标业务接口所在线卡的第二驱动框架模块。
703、目标业务接口所在线卡的第二驱动框架模块根据驱动操作指令查询对应的驱动程序模块,对应的驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
其中,驱动操作指令可以包括:目标业务接口对应的驱动程序模块的标识。
本实施例对驱动程序模块的标识不作限定,已在步骤301中进行了描述,在此不再赘述。
704、驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
作为本实施例的一种实施方式,驱动程序模块可以通过所在板卡上的驱动框架模块将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块。
在业务接口执行相应驱动操作后,相应的驱动程序模块的驱动状态发生了相应的变化,因此,需要将变化后的驱动状态同步至主控卡中,以便后续步骤的使用。如果不实现线卡重启恢复功能,可以不需要步骤705-707的步骤。
705、驱动程序模块执行相应驱动操作完成后,将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块。
706、第一驱动框架模块将驱动操作指令执行后的驱动状态发送到虚拟驱动模块。
707、虚拟驱动模块进行相应的处理。
本实施例中,当驱动操作指令为驱动加载消息时,主控卡的第一驱动框架模块将驱动加载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块创建对应业务接口的虚拟驱动结构,在虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型。当驱动操作指令为驱动卸载消息时,主控卡的第一驱动框架模块将驱动卸载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块删除对应业务接口的虚拟驱动结构。当驱动操作指令为驱动设置消息时,主控卡的第一驱动框架模块将驱动设置消息通知虚拟驱动模块,虚拟驱动模块根据驱动设置消息查询对应业务接口的虚拟驱动结构,根据驱动设置消息中的设置内容修改目标虚拟驱动结构。
采用上述方案后,在分布式系统中,驱动相关应用程序模块通过板卡之间的连接建立可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中,另外,驱动程序模块驱动框架模块还将驱动操作指令上报给主控卡,更新虚拟驱动模块中存储的驱动程序模块的驱动状态,以便可以板卡重启后可以获取到重启前的驱动状态。
实施例4
本实施例提供另一种分布式系统中驱动操作的方法,该方法是对图2所示的方法的进一步扩展,且是执行与初始化建立连接步骤之后,即可以是执行于步骤205之后的(本实施例对初始化建立连接的步骤不作赘述,可参见步骤201至步骤205),该方法应用的场景包括:位于主控卡的驱动相关应用程序模块操作主控卡的业务接口;在主控卡上部署第一驱动框架模块和虚拟驱动模块;在每一个线卡上部署第二驱动框架模块。
其中,如图9为本实施例的流程图,图10为本实施例的数据交互图。
本实施例具体可以包括:
901、第一驱动框架模块根据驱动相关应用程序模块的驱动操作指令查询目标业务接口对应的驱动程序模块。
其中,驱动操作指令可以包括:目标业务接口对应的驱动程序模块的标识。
本实施例对驱动程序模块的标识不作限定,已在步骤301中进行了描述,在此不再赘述。
902、对应的驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
903、驱动程序模块根据驱动操作指令对目标业务接口执行相应驱动操作。
在业务接口执行相应驱动操作后,相应的驱动程序模块的驱动状态发生了相应的变化,因此,需要将变化后的驱动状态同步至主控卡中,以便后续步骤的使用。如果不实现线卡重启恢复功能,可以不需要步骤904-906的步骤。
904、驱动程序模块执行相应驱动操作完成后,获取驱动操作指令执行后的驱动状态。
905、第一驱动框架模块将驱动操作指令执行后的驱动状态发送到虚拟驱动模块。
906、虚拟驱动模块进行相应的处理。
本实施例中,当驱动操作指令为驱动加载消息时,主控卡的第一驱动框架模块将驱动加载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块创建对应业务接口的虚拟驱动结构,在虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型。当驱动操作指令为驱动卸载消息时,主控卡的第一驱动框架模块将驱动卸载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块删除对应业务接口的虚拟驱动结构。当驱动操作指令为驱动设置消息时,主控卡的第一驱动框架模块将驱动设置消息通知虚拟驱动模块,虚拟驱动模块根据驱动设置消息查询对应业务接口的虚拟驱动结构,根据驱动设置消息中的设置内容修改目标虚拟驱动结构。
在本发明方案中,当有线卡的业务接口的物理状态发生变化时,例如物理连接线缆被拔掉或者物理接口故障,则对应的驱动程序模块通过所在线卡的第二驱动框架模块向主控卡的第一驱动框架模块发送驱动状态变化消息;
第一驱动框架模块发送驱动状态变化消息到虚拟驱动模块,虚拟驱动模块根据驱动状态变化消息查询对应业务接口的虚拟驱动结构,并将驱动状态变化内容记录到对应业务接口的虚拟驱动结构中;
第一驱动框架模块发送驱动状态变化消息到主控卡上对应的驱动相关应用程序模块,对应的驱动相关应用程序模块进行相应的应用逻辑处理。
基于实施例1-实施例4,由于驱动程序模块执行相应驱动操作完成后,将驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块;所以本发明实施例还提供了一种线卡重启后,线卡上的驱动子系统可以自我恢复程重启前状态的方法,具体步骤为:当有线卡重启后,线卡的第二驱动框架模块向主控卡的第一驱动框架模块发送请求恢复消息,第一驱动框架模块向虚拟驱动模块查询线卡相关的虚拟驱动结构,虚拟驱动模块返回线卡相关的所有虚拟驱动结构,第一驱动框架模块将线卡相关的所有虚拟驱动结构发送到线卡的第二驱动框架模块,第二驱动框架模块遍历获取的虚拟驱动结构,并依次对各业务接口对应的驱动程序模块进行加载,并由驱动程序模块对业务接口设定相应的驱动状态。
采用上述方案后,在分布式系统中,驱动相关应用程序模块通过板卡之间的连接建立可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中,另外,驱动程序模块驱动框架模块还将驱动操作指令上报给主控卡,更新虚拟驱动模块中存储的驱动程序模块的驱动状态以便可以板卡重启后可以获取到重启前的驱动状态。
下面提供一些装置实施例,该装置实施例分别与上述提供的相应的方法实施例相对应。
本实施例提供一种分布式系统中驱动操作的装置,如图11所示,可以包括:
主控卡111和至少一个线卡112,主控卡111包括至少一个驱动相关应用程序模块1111,线卡112包括至少一个业务接口对应的驱动程序模块1121和/或至少一个驱动相关应用程序模块1122;
主控卡111还包括第一驱动框架模块1112;第一驱动框架模块1112用于系统启动时,接收各位于主控卡111的驱动相关应用程序模块1111的注册请求并建立连接;
线卡112还包括第二驱动框架模块1123,第二驱动框架模块1123用于系统启动时,接收各位于线卡112的驱动相关应用程序模块1122的注册请求并建立连接;第二驱动框架模块1123,还用于记录对应的驱动程序模块1121的驱动类型,还用于与第一驱动框架模块1112建立通信通道。
采用上述方案后,在分布式系统中,驱动相关应用程序模块通过板卡之间的连接建立可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中
本实施例提供另一种分布式系统中驱动操作的装置,该装置是对图11所示的装置的进一步扩展,如图12所示,可以包括:
主控卡121和至少一个线卡122,主控卡121包括至少一个驱动相关应用程序模块1211,线卡122包括至少一个业务接口对应的驱动程序模块1221和/或至少一个驱动相关应用程序模块1222;
主控卡121还包括第一驱动框架模块1212;第一驱动框架模块1212用于系统启动时,接收各位于主控卡121的驱动相关应用程序模块1211的注册请求并建立连接;
线卡122还包括第二驱动框架模块1223,第二驱动框架模块1223用于系统启动时,接收各位于线卡122的驱动相关应用程序模块1222的注册请求并建立连接;第二驱动框架模块1223,还用于记录对应的驱动程序模块1221的驱动类型,还用于与第一驱动框架模块1212建立通信通道。
进一步的,位于线卡122的驱动相关应用程序模块1222,用于在操作本板卡的业务接口时,通过所在线卡122的第二驱动框架模块1223发送驱动操作指令,并发送驱动操作指令到目标业务接口对应的驱动程序模块1221;
位于线卡上的对应的驱动程序模块1221,用于根据驱动操作指令对目标业务接口执行相应驱动操作。
进一步的,位于主控卡121的驱动相关应用程序模块1211,还用于在操作线卡122的业务接口时,通过所在主控卡121的第一驱动框架模块1212发送驱动操作指令,并发送驱动操作指令到目标业务接口所在线卡122的第二驱动框架模块1223;
第二驱动框架模块1223,用于根据驱动操作指令查询对应的驱动程序模块;
对应的驱动程序模块,用于根据驱动操作指令对目标业务接口执行相应驱动操作。
进一步的,位于线卡122的驱动相关应用程序模块1222,还用于操作其他线卡122的业务接口时,通过所在线卡122的第二驱动框架模块1223发送驱动操作指令到主控卡121的第一驱动框架模块1212,并发送驱动操作指令到目标业务接口所在线卡122的第二驱动框架模块1223;
目标业务接口所在线卡122的第二驱动框架模块1223,用于根据驱动操作指令查询对应的驱动程序模块;
位于线卡122上的对应的驱动程序模块1221,用于根据驱动操作指令对目标业务接口执行相应驱动操作。
进一步的,主控卡121还包括至少一个业务接口对应的驱动程序模块1213。
第一驱动框架模块1212,还用于位于主控卡121的驱动相关应用程序模块1211操作主控卡121的业务接口时,根据驱动相关应用程序模块1211的驱动操作指令查询目标业务接口对应的驱动程序模块;
位于主控卡121上的对应的驱动程序模块1213,用于根据驱动操作指令对目标业务接口执行相应驱动操作。
进一步的,主控卡121还可以包括虚拟驱动模块1214。
位于线卡122上的对应的驱动程序模块1221,用于根据驱动操作指令对目标业务接口执行相应驱动操作完成后,将驱动操作指令执行后的驱动状态发送到主控卡121的第一驱动框架模块1212;
第一驱动框架模块1212,用于将驱动操作指令执行后的驱动状态发送到虚拟驱动模块1214,虚拟驱动模块1214进行相应的处理。
进一步的,主控卡121的第一驱动框架模块1212,用于驱动操作指令为驱动加载消息时,将驱动加载消息执行后的驱动状态通知虚拟驱动模块1214,虚拟驱动模块1214创建对应业务接口的虚拟驱动结构,在虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型;或者
主控卡121的第一驱动框架模块1212,用于驱动操作指令为驱动卸载消息时,将驱动卸载消息执行后的驱动状态通知虚拟驱动模块1214,虚拟驱动模块1214删除对应业务接口的虚拟驱动结构;或者
主控卡121的第一驱动框架模块1212,用于将驱动设置消息通知虚拟驱动模块1214;
虚拟驱动模块1214,用于驱动操作指令为驱动设置消息时,根据驱动设置消息查询对应业务接口的虚拟驱动结构,根据驱动设置消息中的设置内容修改目标虚拟驱动结构。
进一步的,对应的驱动程序模块,用于当有线卡122的业务接口的物理状态发生变化时,通过所在线卡122的第二驱动框架模块1223向主控卡121的第一驱动框架模块1212发送驱动状态变化消息;
第一驱动框架模块1212,还用于发送驱动状态变化消息到虚拟驱动模块1214,虚拟驱动模块1214根据驱动状态变化消息查询对应业务接口的虚拟驱动结构,并将驱动状态变化内容记录到对应业务接口的虚拟驱动结构中;发送驱动状态变化消息到主控卡121上对应的驱动相关应用程序模块1211,对应的驱动相关应用程序模块1211进行相应的应用逻辑处理。
进一步的,线卡122的第二驱动框架模块1223,还用于当有线卡122重启后,向主控卡121的第一驱动框架模块1212发送请求恢复消息;
第一驱动框架模块1212,还用于向虚拟驱动模块1214查询线卡122相关的虚拟驱动结构;
虚拟驱动模块1214,用于返回线卡122相关的所有虚拟驱动结构;
第一驱动框架模块1212,还用于将线卡122相关的所有虚拟驱动结构发送到线卡122的第二驱动框架模块1223;
第二驱动框架模块1223,具体用于遍历获取的虚拟驱动结构,并依次对各业务接口对应的驱动程序模1223块进行加载,并由驱动程序模块对业务接口设定相应的驱动状态。
值得说明的是,在主控卡上,第一驱动框架模块1212、驱动相关应用程序模块1211可以是设置于用户空间的,虚拟驱动模块1214、业务接口对应的驱动程序模块1213可以是设置于内核空间的;在线卡上,第二驱动框架模块1223、驱动相关应用程序模块1222可以是设置于用户空间的,业务接口对应的驱动程序模块1221可以是设置于内核空间的。
采用上述方案后,在分布式系统中,驱动相关应用程序模块通过板卡之间的连接建立可以操作各板卡进行相应的操作,使得业务接口对应的驱动程序模块可以灵活的被设置在不同板卡中,另外,驱动程序模块驱动框架模块还将驱动操作指令上报给主控卡,更新虚拟驱动模块中存储的驱动程序模块的驱动状态,以便可以板卡重启后可以获取到重启前的驱动状态。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (18)
1.一种分布式系统中驱动操作方法,其特征在于,包括:
在主控卡上部署第一驱动框架模块;在每一个线卡上部署第二驱动框架模块;
系统启动时,位于主控卡的各驱动相关应用程序模块向所述第一驱动框架模块注册并建立连接;位于线卡的各驱动相关应用程序模块向所在线卡的所述第二驱动框架模块注册并建立连接;位于线卡的各业务接口对应的驱动程序模块向所在线卡的所述第二驱动框架模块注册并建立连接;所述第二驱动框架模块记录所述驱动程序模块的驱动类型;所述第二驱动框架模块与第一驱动框架模块建立通信通道。
2.根据权利要求1所述的方法,其特征在于,位于线卡的驱动相关应用程序模块操作本板卡的业务接口时,首先通过所在线卡的第二驱动框架模块发送驱动操作指令,所述第二驱动框架模块发送所述驱动操作指令到目标业务接口对应的驱动程序模块,所述对应的驱动程序模块根据所述驱动操作指令对目标业务接口执行相应驱动操作。
3.根据权利要求1所述的方法,其特征在于,位于主控卡的驱动相关应用程序模块操作线卡的业务接口时,首先通过所在主控卡的第一驱动框架模块发送驱动操作指令,所述第一驱动框架模块发送所述驱动操作指令到目标业务接口所在线卡的第二驱动框架模块;所述第二驱动框架模块根据所述驱动操作指令查询对应的驱动程序模块,所述对应的驱动程序模块根据所述驱动操作指令对目标业务接口执行相应驱动操作。
4.根据权利要求1所述的方法,其特征在于,位于线卡的驱动相关应用程序模块操作其他线卡的业务接口时,首先通过所在线卡的第二驱动框架模块发送驱动操作指令到主控卡的第一驱动框架模块,所述第一驱动框架模块发送所述驱动操作指令到目标业务接口所在线卡的第二驱动框架模块;所述目标业务接口所在线卡的第二驱动框架模块根据所述驱动操作指令查询对应的驱动程序模块,所述对应的驱动程序模块根据所述驱动操作指令对目标业务接口执行相应驱动操作。
5.根据权利要求1所述的方法,其特征在于,位于主控卡的驱动相关应用程序模块操作主控卡的业务接口时,所述第一驱动框架模块根据所述驱动相关应用程序模块的驱动操作指令查询目标业务接口对应的驱动程序模块,所述对应的驱动程序模块根据所述驱动操作指令对目标业务接口执行相应驱动操作。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述主控卡上部署有虚拟驱动模块;
所述驱动程序模块根据所述驱动操作指令对目标业务接口执行相应驱动操作完成后,将所述驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块;所述第一驱动框架模块将所述驱动操作指令执行后的驱动状态发送到虚拟驱动模块,虚拟驱动模块进行相应的处理。
7.根据权利要求6所述的方法,其特征在于,所述驱动操作指令为驱动加载消息时,主控卡的第一驱动框架模块将所述驱动加载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块创建对应业务接口的虚拟驱动结构,在所述虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型;或者
所述驱动操作指令为驱动卸载消息时,主控卡的第一驱动框架模块将所述驱动卸载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块删除对应业务接口的虚拟驱动结构;或者
所述驱动操作指令为驱动设置消息时,主控卡的第一驱动框架模块将所述驱动设置消息通知虚拟驱动模块,虚拟驱动模块根据所述驱动设置消息查询对应业务接口的虚拟驱动结构,根据所述驱动设置消息中的设置内容修改所述目标虚拟驱动结构。
8.根据权利要求6所述的方法,其特征在于,当有线卡的业务接口的物理状态发生变化时,对应的驱动程序模块通过所在线卡的第二驱动框架模块向主控卡的第一驱动框架模块发送驱动状态变化消息;
所述第一驱动框架模块发送所述驱动状态变化消息到虚拟驱动模块,虚拟驱动模块根据所述驱动状态变化消息查询对应业务接口的虚拟驱动结构,并将驱动状态变化内容记录到所述对应业务接口的虚拟驱动结构中;
所述第一驱动框架模块发送所述驱动状态变化消息到主控卡上对应的驱动相关应用程序模块,所述对应的驱动相关应用程序模块进行相应的应用逻辑处理。
9.根据权利要求6所述的方法,其特征在于,当有线卡重启后,所述线卡的第二驱动框架模块向主控卡的第一驱动框架模块发送请求恢复消息,所述第一驱动框架模块向虚拟驱动模块查询所述线卡相关的虚拟驱动结构,虚拟驱动模块返回所述线卡相关的所有虚拟驱动结构,所述第一驱动框架模块将所述线卡相关的所有虚拟驱动结构发送到所述线卡的第二驱动框架模块,所述第二驱动框架模块遍历获取的虚拟驱动结构,并依次对各业务接口对应的驱动程序模块进行加载,并由驱动程序模块对业务接口设定相应的驱动状态。
10.一种分布式系统中驱动操作装置,包括主控卡和至少一个线卡,所述主控卡包括至少一个驱动相关应用程序模块,所述线卡包括至少一个业务接口对应的驱动程序模块和/或至少一个驱动相关应用程序模块,其特征在于,
所述主控卡还包括第一驱动框架模块;所述第一驱动框架模块用于系统启动时,接收各位于主控卡的驱动相关应用程序模块的注册请求并建立连接;
所述线卡还包括第二驱动框架模块,所述第二驱动框架模块用于系统启动时,接收各位于线卡的驱动相关应用程序模块的注册请求并建立连接;所述第二驱动框架模块,还用于记录所述对应的驱动程序模块的驱动类型,还用于与第一驱动框架模块建立通信通道。
11.根据权利要求10所述的装置,其特征在于,位于线卡的驱动相关应用程序模块,用于在操作本板卡的业务接口时,通过所在线卡的第二驱动框架模块发送驱动操作指令,并发送所述驱动操作指令到目标业务接口对应的驱动程序模块;
位于线卡上的对应的驱动程序模块,用于根据所述驱动操作指令对目标业务接口执行相应驱动操作。
12.根据权利要求10所述的装置,其特征在于,位于主控卡的驱动相关应用程序模块,还用于在操作线卡的业务接口时,通过所在主控卡的第一驱动框架模块发送驱动操作指令,并发送所述驱动操作指令到目标业务接口所在线卡的第二驱动框架模块;
所述第二驱动框架模块,用于根据所述驱动操作指令查询对应的驱动程序模块;
所述对应的驱动程序模块,用于根据所述驱动操作指令对目标业务接口执行相应驱动操作。
13.根据权利要求10所述的装置,其特征在于,所述位于线卡的驱动相关应用程序模块,还用于操作其他线卡的业务接口时,通过所在线卡的第二驱动框架模块发送驱动操作指令到主控卡的第一驱动框架模块,并发送所述驱动操作指令到目标业务接口所在线卡的第二驱动框架模块;
所述目标业务接口所在线卡的第二驱动框架模块,用于根据所述驱动操作指令查询对应的驱动程序模块;
位于线卡上的对应的驱动程序模块,用于根据所述驱动操作指令对目标业务接口执行相应驱动操作。
14.根据权利要求10所述的装置,其特征在于,所述主控卡还包括至少一个业务接口对应的驱动程序模块,所述第一驱动框架模块,还用于所述位于主控卡的驱动相关应用程序模块操作主控卡的业务接口时,根据所述驱动相关应用程序模块的驱动操作指令查询目标业务接口对应的驱动程序模块;
位于所述主控卡上的对应的驱动程序模块,用于根据所述驱动操作指令对目标业务接口执行相应驱动操作。
15.根据权利要求11-14任一项所述的装置,其特征在于,所述主控卡还包括虚拟驱动模块,位于所述线卡上的对应的驱动程序模块,用于根据所述驱动操作指令对目标业务接口执行相应驱动操作完成后,将所述驱动操作指令执行后的驱动状态发送到主控卡的第一驱动框架模块;
所述第一驱动框架模块,用于将所述驱动操作指令执行后的驱动状态发送到虚拟驱动模块,虚拟驱动模块进行相应的处理。
16.根据权利要求15所述的装置,其特征在于,所述主控卡的第一驱动框架模块,用于所述驱动操作指令为驱动加载消息时,将所述驱动加载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块创建对应业务接口的虚拟驱动结构,在所述虚拟驱动结构中记录业务接口的驱动状态、驱动的加载位置和驱动类型;或者
所述主控卡的第一驱动框架模块,用于所述驱动操作指令为驱动卸载消息时,将所述驱动卸载消息执行后的驱动状态通知虚拟驱动模块,虚拟驱动模块删除对应业务接口的虚拟驱动结构;或者
所述主控卡的第一驱动框架模块,用于将所述驱动设置消息通知虚拟驱动模块;
所述虚拟驱动模块,用于所述驱动操作指令为驱动设置消息时,根据所述驱动设置消息查询对应业务接口的虚拟驱动结构,根据所述驱动设置消息中的设置内容修改所述目标虚拟驱动结构。
17.根据权利要求15所述的装置,其特征在于,所述对应的驱动程序模块,用于当有线卡的业务接口的物理状态发生变化时,通过所在线卡的第二驱动框架模块向主控卡的第一驱动框架模块发送驱动状态变化消息;
所述第一驱动框架模块,还用于发送所述驱动状态变化消息到虚拟驱动模块,虚拟驱动模块根据所述驱动状态变化消息查询对应业务接口的虚拟驱动结构,并将驱动状态变化内容记录到所述对应业务接口的虚拟驱动结构中;发送所述驱动状态变化消息到主控卡上对应的驱动相关应用程序模块,所述对应的驱动相关应用程序模块进行相应的应用逻辑处理。
18.根据权利要求15所述的装置,其特征在于,所述线卡的第二驱动框架模块,还用于当有线卡重启后,向主控卡的第一驱动框架模块发送请求恢复消息;
所述第一驱动框架模块,还用于向虚拟驱动模块查询所述线卡相关的虚拟驱动结构;
所述虚拟驱动模块,用于返回所述线卡相关的所有虚拟驱动结构;
所述第一驱动框架模块,还用于将所述线卡相关的所有虚拟驱动结构发送到所述线卡的第二驱动框架模块;
所述第二驱动框架模块,具体用于遍历获取的虚拟驱动结构,并依次对各业务接口对应的驱动程序模块进行加载,并由驱动程序模块对业务接口设定相应的驱动状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310299371.XA CN103327127B (zh) | 2013-07-16 | 2013-07-16 | 分布式系统中驱动操作方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310299371.XA CN103327127B (zh) | 2013-07-16 | 2013-07-16 | 分布式系统中驱动操作方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103327127A true CN103327127A (zh) | 2013-09-25 |
CN103327127B CN103327127B (zh) | 2016-06-08 |
Family
ID=49195648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310299371.XA Active CN103327127B (zh) | 2013-07-16 | 2013-07-16 | 分布式系统中驱动操作方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103327127B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939259A (zh) * | 2016-07-01 | 2016-09-14 | 锐捷网络股份有限公司 | 路由器的控制方法、装置及路由器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065756A1 (en) * | 2001-10-03 | 2003-04-03 | Alcatel | Method for providing services in a communication network corresponding service customer host |
CN101753738A (zh) * | 2008-12-17 | 2010-06-23 | 纬创资通股份有限公司 | 连接一通信应用服务的通信方法及其相关网关器 |
CN102075580A (zh) * | 2011-01-20 | 2011-05-25 | 迈普通信技术股份有限公司 | 分布式网络设备中同步数据的存储方法及系统 |
CN102231699A (zh) * | 2011-06-13 | 2011-11-02 | 迈普通信技术股份有限公司 | 分布式系统中路由处理方法和分布式系统 |
-
2013
- 2013-07-16 CN CN201310299371.XA patent/CN103327127B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065756A1 (en) * | 2001-10-03 | 2003-04-03 | Alcatel | Method for providing services in a communication network corresponding service customer host |
CN101753738A (zh) * | 2008-12-17 | 2010-06-23 | 纬创资通股份有限公司 | 连接一通信应用服务的通信方法及其相关网关器 |
CN102075580A (zh) * | 2011-01-20 | 2011-05-25 | 迈普通信技术股份有限公司 | 分布式网络设备中同步数据的存储方法及系统 |
CN102231699A (zh) * | 2011-06-13 | 2011-11-02 | 迈普通信技术股份有限公司 | 分布式系统中路由处理方法和分布式系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939259A (zh) * | 2016-07-01 | 2016-09-14 | 锐捷网络股份有限公司 | 路由器的控制方法、装置及路由器 |
CN105939259B (zh) * | 2016-07-01 | 2019-08-20 | 锐捷网络股份有限公司 | 路由器的控制方法、装置及路由器 |
Also Published As
Publication number | Publication date |
---|---|
CN103327127B (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2736191B1 (en) | Virtual router system and virtual router implementation method | |
CN103414626A (zh) | 基于网络虚拟化的报文处理方法及装置 | |
CN103401786A (zh) | 网络拓扑建立、路径控制、报文传输方法及装置、系统 | |
CN114172802A (zh) | 容器网络配置方法、装置、计算节点、主节点及存储介质 | |
JP2011160171A (ja) | インタフェース制御方式、インタフェース制御方法、及びインタフェース制御用プログラム | |
CN104919762B (zh) | 软件定义网络中的控制方法,控制设备和处理器 | |
CN101808010B (zh) | 一种设备管理方法、装置和主控板 | |
CN114003349A (zh) | 一种虚拟机迁移方法及设备 | |
CN110224917B (zh) | 数据传输方法、装置及系统、服务器 | |
CN105812221A (zh) | 虚拟可扩展本地区域网络中数据传输的设备和方法 | |
CN107659516B (zh) | 一种宽带远程接入服务器bras的功能控制方法和装置 | |
CN110708193B (zh) | 一种以太网业务板卡启动方法及系统 | |
CN113630275A (zh) | 虚拟机管理器集群的网络互通方法、计算设备和存储介质 | |
CN103327127A (zh) | 分布式系统中驱动操作方法和装置 | |
CN103004157B (zh) | 网络设备加入集群系统的接口注册方法和设备 | |
CN114615109A (zh) | 容器网络创建方法、装置、电子设备及存储介质 | |
CN111131048A (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
JP4624746B2 (ja) | 複合型計算機装置およびその管理方法 | |
CN111600833A (zh) | 网络操作系统及报文转发方法 | |
CN113660123B (zh) | 虚拟交换机升级方法、装置、电子设备以及存储介质 | |
CN104461779A (zh) | 一种分布式数据的存储方法、装置及系统 | |
CN101547209A (zh) | 一种信息表项的更新方法和设备 | |
JP2003204327A (ja) | コンピュータシステムの管理方法、管理プログラム、記憶装置および表示装置 | |
CN105656744A (zh) | 服务链路径的标识方法、设备和服务链 | |
CN107733695A (zh) | 一种issu过程中的vxlan隧道优化方法及装置 |
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 |