CN107547378A - 一种vpn路由学习方法和装置 - Google Patents
一种vpn路由学习方法和装置 Download PDFInfo
- Publication number
- CN107547378A CN107547378A CN201710897346.XA CN201710897346A CN107547378A CN 107547378 A CN107547378 A CN 107547378A CN 201710897346 A CN201710897346 A CN 201710897346A CN 107547378 A CN107547378 A CN 107547378A
- Authority
- CN
- China
- Prior art keywords
- mark
- vpn
- bit
- bitmap
- vpn instance
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种VPN路由学习方法和装置,该方法包括:接收待学习的VPN路由,并从所述VPN路由中获取到RT集合,所述RT集合包括至少一个RT属性;通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例;在所述映射结构中,针对RT属性维护VPN实例集合,所述VPN实例集合包括至少一个VPN实例;将所述VPN路由学习到得到的每个VPN实例的路由表中。通过本申请的技术方案,可以提升VPN路由的学习性能。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种VPN路由学习方法和装置。
背景技术
MPLS(Multi Protocol Label Switching,多协议标签交换)L3VPN(Layer3Virtual Private Network,虚拟专用网络)是一种三层VPN技术,PE(Provider Edge,服务提供商网络边缘)设备之间可以利用MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)消息来传递VPN路由,并通过RT(Route Target,路由目标)属性控制VPN路由的发布和接收。其中,RT属性可以包括ERT(Export Route Target,出口路由目标)和IRT(Import Route Target,入口路由目标)。
每个PE设备均配置VPN实例与ERT、IRT的对应关系,本端PE设备发布VPN路由时,将VPN实例的ERT添加到VPN路由。对端PE设备在接收到VPN路由后,将VPN路由携带的ERT与本地的每个VPN实例的IRT进行比较,并根据比较结果确定是否将该VPN路由学习到该VPN实例的路由表中。
在运营商或者大型数据中心,VPN路由的发布数量达到百万级别,VPN实例数量达到8K(1K=1024)甚至更多。对端PE设备每接收到一个VPN路由,就将VPN路由的每个ERT与8K个VPN实例的每个IRT进行比较,比较过程非常耗时,导致VPN路由的学习性能很差,导致PE设备的性能急剧下降。
例如,若VPN路由存在M个ERT,VPN实例对应N个IRT,则比较过程如下:将VPN路由的第1个ERT与VPN实例1的第1个IRT进行比较,如果相同,则结束比较,如果不同,则继续将VPN路由的第1个ERT与VPN实例1的第2个IRT进行比较,以此类推,将VPN路由的第1个ERT与VPN实例1的第N个IRT进行比较,如果还不同,就将VPN路由的第2个ERT与VPN实例1的第1个IRT进行比较,以此类推,一直到将VPN路由的第M个ERT与VPN实例1的第N个IRT进行比较,即针对一个VPN实例,最多进行M*N次比较。针对8K个VPN实例,就需要进行8K*M*N次比较。也就是说,针对一个VPN路由,最多进行8K*M*N次比较,当VPN路由的发布数量达到百万级别时,这个比较过程会导致PE设备的性能急剧下降,影响用户体验。
发明内容
本申请提供一种VPN路由学习方法,应用于网络设备,所述方法包括:
接收待学习的VPN路由,并从所述VPN路由中获取到RT集合,所述RT集合包括至少一个RT属性;
通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例;在所述映射结构中,针对RT属性维护VPN实例集合,所述VPN实例集合包括至少一个VPN实例;
将所述VPN路由学习到得到的每个VPN实例的路由表中。
本申请提供一种VPN路由学习装置,应用于网络设备,所述装置包括:
接收模块,用于接收待学习的VPN路由,并从所述VPN路由中获取到RT集合,所述RT集合包括至少一个RT属性;
获得模块,用于通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例;在所述映射结构中,针对RT属性维护VPN实例集合,所述VPN实例集合包括至少一个VPN实例;
学习模块,用于将所述VPN路由学习到得到的每个VPN实例的路由表中。
基于上述技术方案,本申请实施例中,不用将VPN路由的每个RT属性与VPN实例的RT属性进行比较,避免比较过程非常耗时、VPN路由的学习性能很差、设备性能下降、用户体验变差等问题,提升VPN路由的学习性能。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1A是本申请一种实施方式中的应用场景示意图;
图1B-图1E是本申请一种实施方式中的链表结构的示意图;
图2是本申请一种实施方式中的VPN路由学习方法的流程图;
图3是本申请一种实施方式中的VPN路由学习装置的结构图;
图4是本申请一种实施方式中的网络设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种VPN路由学习方法,该方法可以应用于网络设备,如路由器、交换机等,对此网络设备的类型不做限制,只要网络设备具有VPN路由学习功能即可。如图1A所示,为本申请实施例的应用场景示意图,以MPLS L3VPN为例进行说明,在MPLS L3VPN中,上述网络设备可以是PE设备。
在一个例子中,可以通过RT属性控制VPN路由的发布和接收。例如,PE设备101在发布VPN路由时,将VPN实例的RT属性添加到VPN路由。PE设备102接收到VPN路由后,若VPN路由携带的RT属性与某VPN实例(如VPN实例1)的RT属性存在相同的值,将VPN路由学习到VPN实例1的路由表中。
为了实现“通过RT属性控制VPN路由的发布和接收”,则每个PE设备均可以为本地的VPN实例配置RT属性,该RT属性可以包括ERT和IRT。
例如,假设PE设备101包括VPN实例1、VPN实例2和VPN实例3,PE设备102包括VPN实例1、VPN实例2和VPN实例3,当然,这里只是以3个VPN实例为例进行说明,在实际应用中,VPN实例数量可以达到8K个或者16K个VPN实例(1K=1024),甚至更多,对此VPN实例的数量不做限制。
PE设备101可以为VPN实例1配置IRT和ERT,如IRT为100:1,ERT为100:1、200:1;为VPN实例2配置IRT和ERT,如IRT为300:1,ERT为300:1;为VPN实例3配置IRT和ERT,如IRT为400:1、500:1,ERT为500:1。同理,PE设备102可以分别为VPN实例1、VPN实例2、VPN实例3配置IRT和ERT。
PE设备101可以向PE设备102发布VPN路由,假设VPN路由是针对VPN实例1的路由,则该VPN路由携带VPN实例1的RT属性,该RT属性可以是ERT,在后续过程中,VPN路由携带的RT属性均可以指ERT。
当然,VPN路由还可以携带RD(Route Distinguisher,路由区分符)、MPLS标签等其它信息,对此不做限制。PE设备102在接收到VPN路由后,基于本地VPN实例的RT属性(该RT属性可以是IRT,在后续过程中,本地VPN实例的RT属性均指IRT)、以及VPN路由携带的RT属性,可以将该VPN路由学习到对应的路由表中,后续过程会介绍VPN路由的学习过程。
当然,PE设备102也可以向PE设备101发布VPN路由,其实现流程类似,对此不再赘述,以PE设备101向PE设备102发布VPN路由为例进行说明。
综上可以看出,网络设备可以为VPN实例配置RT属性(这个RT属性可以指IRT),在网络设备为VPN实例配置RT属性时,则网络设备可以建立映射结构,在该映射结构中,针对该RT属性维护VPN实例集合,该VPN实例集合可以包括至少一个VPN实例。其中,该映射结构可以包括但不限于:链表结构、数组结构、bitmap(位图)结构;对此映射结构的类型不做限制。
当映射结构为链表结构时,则建立映射结构的过程可以包括但不限于:在为VPN实例配置RT属性时,判断是否存在与该RT属性对应的链表结构;如果是,在与该RT属性对应的链表结构中记录该VPN实例的标识;如果否,为该RT属性创建一个链表结构,并在创建的链表结构中记录该VPN实例的标识。
当该映射结构为bitmap结构时,则建立映射结构的过程可以包括但不限于:在为VPN实例配置RT属性时,判断是否存在与该RT属性对应的bitmap结构;如果是,则在与该RT属性对应的bitmap结构中,将与该VPN实例对应的比特位设置为第一标识(如数值1);如果否,则为该RT属性生成一个bitmap结构,并在生成的该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识。其中,bitmap结构中的每个比特位分别对应一个VPN实例,且bitmap结构中各比特位的初始值为第二标识(如数值0)。第一标识可以表示RT属性与VPN实例具有对应关系,第二标识可以表示RT属性与VPN实例不具有对应关系。
当映射结构为数组结构或者其它结构时,建立映射结构的过程与上述方式类似,对此不做限制,只要映射结构中,针对RT属性维护VPN实例集合即可。
以网络设备是PE设备102为例,假设PE设备102包括VPN实例1、VPN实例2和VPN实例3,为VPN实例1配置的RT属性是1:1、1:2,为VPN实例2配置的RT属性是1:2,为VPN实例3配置的RT属性是1:1、1:2、1:3。
若映射结构为链表结构,在为VPN实例1配置RT属性1:1时,由于不存在RT属性1:1对应的链表结构,因此为RT属性1:1创建链表结构1,并在链表结构1记录VPN实例1的标识,如VPN实例1,参见图1B所示。在为VPN实例1配置RT属性1:2时,为RT属性1:2创建链表结构2,在链表结构2记录VPN实例1的标识,参见图1C所示。在为VPN实例2配置RT属性1:2时,由于已经存在RT属性1:2对应的链表结构2,因此在链表结构2记录VPN实例2的标识,如VPN实例2,参见图1D所示。以此类推,PE设备102为RT属性1:1创建链表结构1,为RT属性1:2创建链表结构2,为RT属性1:3创建链表结构3,链表结构1记录VPN实例1和VPN实例3,链表结构2记录VPN实例1、VPN实例2和VPN实例3,链表结构3记录VPN实例3,如图1E所示。
若上述映射结构为bitmap结构,则可以根据VPN实例数量(如PE设备102支持的最大VPN实例数量)为bitmap结构申请内存,由于每个字节为8比特,可以表示8个VPN实例,因此,每个bitmap结构的内存大小是对(M+7)/8向下取整。例如,当PE设备102支持的最大VPN实例数量为100,则bitmap结构的内存大小是13个字节。因此,bitmap结构的13个字节,共占用104个比特,每个比特是一个比特位,在初始状态下,这104个比特位均为第二标识(如0),且每个比特位对应一个VPN实例,如第1个比特位对应VPN实例1,第2个比特位对应VPN实例2,以此类推。当第1个比特位为第二标识时,表示RT属性与VPN实例1不具有对应关系,当第1个比特位被修改为第一标识(如1)时,表示RT属性与VPN实例1具有对应关系,以此类推。
综上所述,在为VPN实例1配置RT属性1:1时,由于不存在RT属性1:1对应的bitmap结构,因此,可以为RT属性1:1生成bitmap结构1(共占用104个比特位,每个比特位的初始值均为第二标识0),在bitmap结构1中,将与VPN实例1对应的比特位(即第1个比特位)设置为第一标识1。在为VPN实例1配置RT属性1:2时,由于不存在RT属性1:2对应的bitmap结构,因此,为RT属性1:2生成bitmap结构2,在bitmap结构2中,将与VPN实例1对应的比特位设置为第一标识1。在为VPN实例2配置RT属性1:2时,由于已经存在RT属性1:2对应的bitmap结构2,因此,在bitmap结构2中,直接将与VPN实例2对应的比特位(即第2个比特位)设置为第一标识1。
以此类推,最终,PE设备102为RT属性1:1生成bitmap结构1,并为RT属性1:2生成bitmap结构2,并为RT属性1:3生成bitmap结构3。
其中,RT属性1:1对应的bitmap结构1,可以如表1所示,即第1个比特位和第3个比特位均为第一标识1,因此,RT属性1:1可以与VPN实例1、VPN实例3具有对应关系。此外,RT属性1:2对应的bitmap结构2,可以如表2所示,即第1个比特位、第2个比特位、第3个比特位均为第一标识1,因此,RT属性1:2可以与VPN实例1、VPN实例2、VPN实例3具有对应关系。此外,RT属性1:3对应的bitmap结构3,可以如表3所示,即第3个比特位为第一标识1,因此,RT属性1:3可以与VPN实例3具有对应关系。
表1
1 | 0 | 1 | 0 | 0 | 0 | 0 | … | 0 |
表2
1 | 1 | 1 | 0 | 0 | 0 | 0 | … | 0 |
表3
0 | 0 | 1 | 0 | 0 | 0 | 0 | … | 0 |
在一个例子中,当删除为VPN实例配置的RT属性时,还可以从该RT属性对应的链表结构中,删除该VPN实例;或者,在该RT属性对应的bitmap结构中,将该VPN实例对应的比特位设置为第二标识0。
例如,当删除为VPN实例1配置的RT属性1:1时,则从RT属性1:1对应的链表结构1中删除VPN实例1;或者,在RT属性1:1对应的bitmap结构1中,将VPN实例1对应的第1个比特位设置为第二标识0。
在上述应用场景下,参见图2所示,为本申请实施例中提出的VPN路由学习方法的流程图,该方法可以应用于网络设备,该方法可以包括以下步骤:
步骤201,接收待学习的VPN路由,并从该VPN路由中获取到RT集合,该RT集合可以包括至少一个RT属性。
在一个例子中,网络设备之间可以利用MP-BGP消息来传递VPN路由,因此,网络设备可以接收到MP-BGP消息,并从该MP-BGP消息中解析出VPN路由。其中,该VPN路由可以是VPNv4路由或者VPNv6路由。
在一个例子中,该VPN路由可以携带至少一个RT属性,可以将该VPN路由携带的RT属性确定为RT集合,即该RT集合可以包括该VPN路由携带的至少一个RT属性。例如,当VPN路由携带有RT属性1:1和RT属性1:5时,则从该VPN路由中获取到的RT集合,可以是(RT属性1:1和RT属性1:5)。
步骤202,通过该RT集合中的每个RT属性(即VPN路由携带的RT属性)查询映射结构,得到该RT集合对应的VPN实例。在该映射结构中,针对RT属性维护VPN实例集合,且该VPN实例集合可以包括至少一个VPN实例。
其中,由于RT集合可以包括至少一个RT属性,且在映射结构中,针对RT属性维护有VPN实例集合(即至少一个VPN实例),因此,通过RT集合中的每个RT属性查询上述映射结构,就可以得到该RT集合对应的VPN实例。
在一个例子中,针对通过该RT集合中的每个RT属性查询上述映射结构,得到该RT集合对应的VPN实例的过程,可以包括但不限于如下方式:
方式一、以映射结构是链表结构为例,当RT集合为(1:1,1:5)时,通过RT属性1:1查询到链表结构1,链表结构1记录VPN实例1和VPN实例3,由于没有RT属性1:5对应的链表结构,因此RT属性1:5对应的VPN实例为空,RT集合对应的VPN实例是VPN实例1和VPN实例3。当RT集合为(1:1,1:2)时,通过RT属性1:1查询到链表结构1,链表结构1记录VPN实例1和VPN实例3,通过RT属性1:2查询到链表结构2,链表结构2记录VPN实例1、VPN实例2和VPN实例3,RT集合对应的VPN实例是VPN实例1、VPN实例2和VPN实例3。当RT集合为(1:1,1:3,1:4)时,通过RT属性1:1查询到链表结构1,链表结构1记录VPN实例1和VPN实例3,通过RT属性1:3查询到链表结构3,链表结构3记录VPN实例3,由于没有RT属性1:4对应的链表结构,RT属性1:4对应的VPN实例为空,RT集合对应的VPN实例是VPN实例1和VPN实例3。
方式二、以映射结构是bitmap结构为例,当RT集合为(1:1,1:5)时,通过RT属性1:1查询到bitmap结构1,从bitmap结构1中获取到第一标识1所在的比特位(第1个比特位和第3个比特位),因此,确定RT属性1:1对应VPN实例1和VPN实例3,由于没有RT属性1:5对应的bitmap结构,因此RT属性1:5对应的VPN实例为空,RT集合对应的VPN实例是VPN实例1和VPN实例3。以此类推,针对其它RT集合(如(1:1,1:2)、(1:1,1:3,1:4)等)对应的VPN实例,在此不再赘述。
方式三、以映射结构是bitmap结构为例,获取该RT集合中的每个RT属性对应的bitmap结构;其中,该bitmap结构中的每个比特位对应一个VPN实例,且每个比特位为第一标识或者第二标识。然后,将每个RT属性对应的bitmap结构合并为一个遍历bitmap,在合并过程中,第一标识与第一标识的合并结果为第一标识,而第一标识与第二标识的合并结果为第一标识,第二标识与第二标识的合并结果为第二标识;从该遍历bitmap中获取第一标识所在的比特位,并将获取的比特位对应的VPN实例确定为该RT集合对应的VPN实例。
例如,当RT集合为(1:1,1:5)时,则获取RT属性1:1对应的bitmap结构1,并获取RT属性1:5对应的bitmap结构0。其中,由于不存在RT属性1:5对应的bitmap结构,因此,可以为RT属性1:5选取默认的bitmap结构0,bitmap结构0中的每个比特位均为第二标识0。然后,可以将bitmap结构1(表1所示)和bitmap结构0(全0)合并为一个遍历bitmap,在合并过程中,可以采用“按位与”方式进行合并,即1与1的合并结果为1,1与0的合并结果为1,0与0的合并结果为0,如表4所示,为合并后的遍历bitmap的一个示例。从表4所示的遍历bitmap中,获取第一标识1所在的比特位(即第1个比特位和第3个比特位),并将获取的比特位对应的VPN实例(即第1个比特位对应的VPN实例1、第3个比特位对应的VPN实例3)确定为该RT集合对应的VPN实例。
表4
1 | 0 | 1 | 0 | 0 | 0 | 0 | … | 0 |
当RT集合为(1:1,1:2)时,则获取RT属性1:1对应的bitmap结构1,获取RT属性1:2对应的bitmap结构2。然后,将bitmap结构1(表1所示)和bitmap结构2(表2所示)合并为一个遍历bitmap,如表5所示。从表5所示的遍历bitmap中,获取第一标识1所在的比特位,将获取的比特位对应的VPN实例(即VPN实例1、VPN实例2和VPN实例3)确定为该RT集合对应的VPN实例。
表5
1 | 1 | 1 | 0 | 0 | 0 | 0 | … | 0 |
当RT集合为(1:1,1:3,1:4)时,则获取RT属性1:1对应的bitmap结构1、RT属性1:3对应的bitmap结构3、RT属性1:4对应的bitmap结构0。然后,可以将bitmap结构1(表1所示)、bitmap结构3(表3所示)和bitmap结构0(即全0)合并为遍历bitmap,如表6所示。从表6所示的遍历bitmap中,获取第一标识1所在比特位,并可以将获取的比特位对应VPN实例(VPN实例1和VPN实例3)确定为该RT集合对应的VPN实例。
表6
1 | 0 | 1 | 0 | 0 | 0 | 0 | … | 0 |
由于可以快速将多个bitmap结构合并为一个遍历bitmap(按位与操作,一次运算可以快速完成32位或者64位的与操作),从而可以快速得到遍历bitmap,继而确定出RT集合对应的VPN实例,便于后续快速的进行VPN路由的学习。
在一个例子中,针对上述方式三的处理过程,在“从该遍历bitmap中获取第一标识所在的比特位”的过程中,还可以包括但不限于如下实现方式:
方式A、每次从遍历bitmap中读取M个比特位的数值,M为大于1的正整数,如M为8、16、24、32等;若读取的数值为第二标识0,则进行下一次读取;若读取的数值不是第二标识0,针对当前读取的M个比特位,依次读取每个比特位,将取值为第一标识1的比特位记录到缓存中,并进行下一次读取;在读取过程结束后,从所述缓存读取为第一标识的比特位。
在一次性读取M个比特位时,读取结果是这M个比特位对应的十进制数值,例如,若M个比特位为10000000,则读取结果是128,若M个比特位为00000001,则读取结果是1,以此类推。在此基础上,以M为8为例进行说明,从遍历bitmap中读取第1个字节(即第1-8比特位)的数值,若读取结果是0,则表示这8个比特位均为第二标识0,然后从遍历bitmap中读取第2个字节的所有数值,若读取结果是0,则从遍历bitmap中读取第3个字节的所有数值,以此类推,一直到从遍历bitmap中读取最后1个字节的所有数值,结束读取过程。
其中,在读取某个字节(如第1个字节)时,若读取结果不是第二标识0,则说明在这个字节中,某个或者某些比特位是1,但是,并不知道第几个比特位是1,因此,针对第1个字节的第1-8个比特位,先读取第1个比特位,若第1个比特位的取值为0,则直接读取第2个比特位,若第1个比特位的取值为1,则将第1个比特位的信息记录到缓存中,然后读取第2个比特位,以此类推,在这8个比特位均读取完成后,则从遍历bitmap中读取第2个字节的所有数值。
综上所述,在读取过程结束后,就可以从缓存中读取为第一标识1的比特位,如第1个比特位、第2个比特位、第3个比特位等。
如果RT集合对应的VPN实例数量比较少,则遍历bitmap中,为第一标识1的比特位较少,如RT集合对应的VPN实例数量为3时,为第一标识1的比特位是3个,这样,最多有3次读取结果不是第二标识,而其它读取结果均是第二标识。因此,通过一次遍历多个比特位(如8、16、24、32)等,如果这些比特位均为第二标识0,就可以快速进行下一次遍历,减少遍历次数,不用针对每个比特位依次进行遍历,从而可以快速获取到第一标识所在的比特位。
方式B、将遍历bitmap转换为行程长度编码(如Run-Length Encoding)结构;在该行程长度编码结构中,奇数位的取值表示遍历bitmap中连续为第一标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第二标识的比特位数量,或者,奇数位的取值表示遍历bitmap中连续为第二标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第一标识的比特位数量;然后,从该行程长度编码结构中获取第一标识所在的比特位。
例如,假设在遍历bitmap中,第1个比特位-第3个比特位为1,第4个比特位-第50个比特位为0,第51个比特位为1,第52个比特位-第100个比特位为0,则当奇数位的取值表示遍历bitmap中连续为第一标识1的比特位数量,偶数位的取值表示遍历bitmap中连续为第二标识0的比特位数量时,则行程长度编码结构可以为3、47、1、49,这个行程长度编码结构表示连续3个1,连续47个0,连续1个1,连续49个0,这样,可以从行程长度编码结构中获取到第一标识1所在的比特位,即第1个比特位、第2个比特位、第3个比特位、第51个比特位。又例如,当奇数位的取值表示遍历bitmap中连续为第二标识0的比特位数量,偶数位的取值表示遍历bitmap中连续为第一标识1的比特位数量时,则行程长度编码结构可以为0、3、47、1、49,这个行程长度编码结构表示连续0个0,连续3个1,连续47个0,连续1个1,连续49个0,这样,可以从行程长度编码结构中获取到第一标识1所在的比特位,即第1个比特位、第2个比特位、第3个比特位、第51个比特位。
如果RT集合对应的VPN实例数量比较少,则在上述行程长度编码结构“3、47、1、49”中,可以通过数字47表示连续47个0,并通过数字49表示连续49个0,从而可以快速获取到第一标识所在的比特位。
步骤203,将VPN路由学习到得到的每个VPN实例的路由表中。
在一个例子中,网络设备还可以为RT集合创建存储结构,并将该RT集合对应的所有VPN路由均存储到该RT集合对应的存储结构。基于此,针对“将VPN路由学习到得到的每个VPN实例的路由表中”的过程,可以包括但不限于:在得到RT集合对应的VPN实例(一个或者多个)后,将RT集合对应的存储结构中的所有VPN路由,学习到RT集合对应的每个VPN实例的路由表。
在一个例子中,网络设备在接收到待学习的VPN路由,并从该VPN路由中获取到RT集合后,可以直接将该VPN路由学习到路由表中,也可以不是直接将该VPN路由学习到路由表中,而是将该VPN路由存储到RT集合对应的存储结构。具体的,网络设备查询是否存在与该RT集合对应的存储结构;如果不存在,则为该RT集合创建存储结构,并将该VPN路由存储到创建的存储结构。如果存在,则可以直接将该VPN路由存储到该RT集合对应的存储结构。
其中,上述存储结构是一种能够存储VPN路由的结构,该存储结构可以是顺序存储结构或者链式存储结构,对此存储结构的类型不做限制。
其中,网络设备在将VPN路由存储到RT集合对应的存储结构时,还可以判断该存储结构是否已经存在该VPN路由。如果是,则查询当前接收到的VPN路由是否是一个撤销路由,如果是撤销路由,则可以将存储结构中已经存在的该VPN路由删除,如果不是撤销路由,则使用当前接收到的VPN路由替换存储结构中已经存在的该VPN路由,从而可以避免存储结构中存在重复的路由。如果否,则将该VPN路由存储到该存储结构。
以网络设备是PE设备102为例进行说明,PE设备102可以为RT集合(1:1,1:5)建立存储结构1,存储结构1存储一万条VPN路由,这些VPN路由携带的RT属性均是1:1,1:5。PE设备102可以为RT集合(1:1,1:2)建立存储结构2,存储结构2存储一万条VPN路由,这些VPN路由携带的RT属性均是1:1,1:2。PE设备102可以为RT集合(1:1,1:3,1:4)建立存储结构3,存储结构3存储一万条VPN路由,这些VPN路由携带的RT属性均是1:1,1:3,1:4。
在上述过程的基础上,可以定期触发VPN路由学习过程或者通过特定事件触发VPN路由学习过程,定期触发是指:每隔一段时间(如30秒)执行一次VPN路由学习过程,对此触发周期不做限制;通过特定事件触发是指:当发生特定事件时,执行一次VPN路由学习过程,如网络设备空闲事件等。
进一步的,在VPN路由学习过程,则执行上述步骤202和步骤203。在步骤202,RT集合是指当前维护的所有RT集合;在步骤203,是将RT集合对应的存储结构中的所有VPN路由,学习到RT集合对应的VPN实例的路由表。在将VPN路由学习到路由表后,还可以从存储结构中删除已经学习的VPN路由。
由于RT集合对应的存储结构中的所有VPN路由,均携带了相同的RT属性,因此,这些VPN路由需要学习到相同VPN实例(一个或者多个VPN实例)的路由表。也就是说,通过将这些VPN路由存储到同一个存储结构,这样,只需要获得RT集合对应的VPN实例,就可以将该RT集合对应的存储结构中的所有VPN路由,均学习到该VPN实例的路由表中,从而避免复杂的比较过程。
在VPN路由的学习过程中,可以将RT集合对应的VPN实例存储到cache(缓存)中,这样,针对该RT集合对应的存储结构中的每个VPN路由,在学习该VPN路由时,可以直接从cache中读取VPN实例,并将该VPN路由学习到该VPN实例的路由表中,从而提高了VPN路由的学习性能和学习速度。
基于上述技术方案,本申请实施例中,不用将VPN路由的每个RT属性与VPN实例的RT属性进行比较,避免比较过程非常耗时、VPN路由的学习性能很差、设备性能下降、用户体验变差等问题,提升VPN路由的学习性能。
基于上述技术方案,本申请实施例还提出一种VPN路由学习装置,应用于网络设备,如图3所示,为所述VPN路由学习装置的结构图,所述装置包括:
接收模块301,用于接收待学习的VPN路由,并从所述VPN路由中获取到RT集合,所述RT集合包括至少一个RT属性;
获得模块302,用于通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例;在所述映射结构中,针对RT属性维护VPN实例集合,所述VPN实例集合包括至少一个VPN实例;
学习模块303,用于将所述VPN路由学习到得到的每个VPN实例的路由表。
所述映射结构包括链表结构、数组结构、bitmap结构;若所述映射结构为bitmap结构,所述获得模块302,具体用于在通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例的过程,获取所述RT集合中的每个RT属性对应的bitmap结构;所述bitmap结构中的每个比特位对应一个VPN实例,且每个比特位为第一标识或者第二标识;将每个RT属性对应的bitmap结构合并为一个遍历bitmap;在合并过程中,第一标识与第一标识的合并结果为第一标识,第一标识与第二标识的合并结果为第一标识,第二标识与第二标识的合并结果为第二标识;从所述遍历bitmap中获取第一标识所在的比特位;将获取的比特位对应的VPN实例确定为所述RT集合对应的VPN实例。
在一个例子中,所述VPN路由学习装置还包括(在图中未视出):
生成模块,用于在为VPN实例配置RT属性时,判断是否存在与该RT属性对应的bitmap结构;如果是,在该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识;如果否,为该RT属性生成一个bitmap结构,并在生成的该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识;bitmap结构中的各比特位的初始值为第二标识;所述第一标识表示RT属性与VPN实例具有对应关系;所述第二标识表示RT属性与VPN实例不具有对应关系。
在从所述遍历bitmap中获取第一标识所在的比特位的过程,所述获得模块302,具体用于:每次从所述遍历bitmap中读取M个比特位的数值,M为大于1的正整数;若读取的数值为第二标识,则进行下一次读取;若读取的数值不是第二标识,针对当前读取的M个比特位,依次读取每个比特位,将取值为第一标识的比特位记录到缓存中,并进行下一次读取;在读取过程结束后,从所述缓存读取为第一标识的比特位。
在从所述遍历bitmap中获取第一标识所在的比特位的过程,所述获得模块302,具体用于:将所述遍历bitmap转换为行程长度编码结构;在所述行程长度编码结构中,奇数位的取值表示遍历bitmap中连续为第一标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第二标识的比特位数量,或者,奇数位的取值表示遍历bitmap中连续为第二标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第一标识的比特位数量;
从所述行程长度编码结构中获取第一标识所在的比特位。
所述接收模块301,还用于在接收待学习的VPN路由,并从所述VPN路由中获取到RT集合之后,查询是否存在与所述RT集合对应的存储结构;
如果是,将所述VPN路由存储到所述RT集合对应的存储结构;如果否,为所述RT集合创建存储结构,并将所述VPN路由存储到创建的存储结构;
所述学习模块303,具体用于在将所述VPN路由学习到得到的每个VPN实例的路由表中的过程中,在得到所述RT集合对应的VPN实例后,将所述RT集合对应的存储结构中的所有VPN路由,学习到所述RT集合对应的每个VPN实例的路由表。
本申请实施例中提供的网络设备(如PE设备),从硬件层面而言,其硬件架构示意图具体可以参见图4。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的VPN路由学习操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种VPN路由学习方法,其特征在于,应用于网络设备,包括:
接收待学习的VPN路由,并从所述VPN路由中获取到RT集合,所述RT集合包括至少一个RT属性;
通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例;在所述映射结构中,针对RT属性维护VPN实例集合,所述VPN实例集合包括至少一个VPN实例;
将所述VPN路由学习到得到的每个VPN实例的路由表中。
2.根据权利要求1所述的方法,其特征在于,
所述映射结构包括链表结构、数组结构、bitmap结构。
3.根据权利要求2所述的方法,其特征在于,
若所述映射结构为bitmap结构,所述通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例的过程,具体包括:
获取所述RT集合中的每个RT属性对应的bitmap结构;所述bitmap结构中的每个比特位对应一个VPN实例,且每个比特位为第一标识或者第二标识;
将每个RT属性对应的bitmap结构合并为一个遍历bitmap;在合并过程中,第一标识与第一标识的合并结果为第一标识,第一标识与第二标识的合并结果为第一标识,第二标识与第二标识的合并结果为第二标识;
从所述遍历bitmap中获取第一标识所在的比特位;
将获取的比特位对应的VPN实例确定为所述RT集合对应的VPN实例。
4.根据权利要求3所述的方法,其特征在于,所述获取所述RT集合中的每个RT属性对应的bitmap结构之前,所述方法还包括:
在为VPN实例配置RT属性时,判断是否存在与该RT属性对应的bitmap结构;如果是,在该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识;如果否,则为该RT属性生成一个bitmap结构,并在生成的该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识;其中,bitmap结构中的各比特位的初始值为第二标识,所述第一标识表示RT属性与VPN实例具有对应关系,所述第二标识表示RT属性与VPN实例不具有对应关系。
5.根据权利要求3所述的方法,其特征在于,
所述从所述遍历bitmap中获取第一标识所在的比特位的过程,具体包括:
每次从所述遍历bitmap中读取M个比特位的数值,M为大于1的正整数;
若读取的数值为第二标识,则进行下一次读取;
若读取的数值不是第二标识,针对当前读取的M个比特位,依次读取每个比特位,将取值为第一标识的比特位记录到缓存中,并进行下一次读取;
在读取过程结束后,从所述缓存读取为第一标识的比特位。
6.根据权利要求3所述的方法,其特征在于,
所述从所述遍历bitmap中获取第一标识所在的比特位的过程,具体包括:
将所述遍历bitmap转换为行程长度编码结构;在所述行程长度编码结构中,奇数位的取值表示遍历bitmap中连续为第一标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第二标识的比特位数量,或者,奇数位的取值表示遍历bitmap中连续为第二标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第一标识的比特位数量;
从所述行程长度编码结构中获取第一标识所在的比特位。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述接收待学习的VPN路由,并从所述VPN路由中获取到RT集合之后,所述方法还包括:
查询是否存在与所述RT集合对应的存储结构;
如果是,将所述VPN路由存储到所述RT集合对应的存储结构;如果否,为所述RT集合创建存储结构,并将所述VPN路由存储到创建的存储结构;
所述将所述VPN路由学习到得到的每个VPN实例的路由表中的过程,具体包括:在得到所述RT集合对应的VPN实例后,将所述RT集合对应的存储结构中的所有VPN路由,学习到所述RT集合对应的每个VPN实例的路由表。
8.一种VPN路由学习装置,其特征在于,应用于网络设备,包括:
接收模块,用于接收待学习的VPN路由,并从所述VPN路由中获取到RT集合,所述RT集合包括至少一个RT属性;
获得模块,用于通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例;在所述映射结构中,针对RT属性维护VPN实例集合,所述VPN实例集合包括至少一个VPN实例;
学习模块,用于将所述VPN路由学习到得到的每个VPN实例的路由表中。
9.根据权利要求8所述的装置,其特征在于,所述映射结构包括链表结构、数组结构、bitmap结构;若所述映射结构为bitmap结构,则:
所述获得模块,具体用于在通过所述RT集合中的每个RT属性查询映射结构,得到所述RT集合对应的VPN实例的过程中,获取所述RT集合中的每个RT属性对应的bitmap结构;所述bitmap结构中的每个比特位对应一个VPN实例,且每个比特位为第一标识或者第二标识;
将每个RT属性对应的bitmap结构合并为一个遍历bitmap;在合并过程中,第一标识与第一标识的合并结果为第一标识,第一标识与第二标识的合并结果为第一标识,第二标识与第二标识的合并结果为第二标识;
从所述遍历bitmap中获取第一标识所在的比特位;
将获取的比特位对应的VPN实例确定为所述RT集合对应的VPN实例。
10.根据权利要求9所述的装置,其特征在于,还包括:
生成模块,用于在为VPN实例配置RT属性时,判断是否存在与该RT属性对应的bitmap结构;如果是,则在该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识;如果否,则为该RT属性生成一个bitmap结构,并在生成的该bitmap结构中,将与该VPN实例对应的比特位设置为第一标识;
其中,bitmap结构中的各比特位的初始值为第二标识;
所述第一标识表示RT属性与VPN实例具有对应关系;
所述第二标识表示RT属性与VPN实例不具有对应关系。
11.根据权利要求9所述的装置,其特征在于,在从所述遍历bitmap中获取第一标识所在的比特位的过程,所述获得模块,具体用于:
每次从所述遍历bitmap中读取M个比特位的数值,M为大于1的正整数;
若读取的数值为第二标识,则进行下一次读取;
若读取的数值不是第二标识,针对当前读取的M个比特位,依次读取每个比特位,将取值为第一标识的比特位记录到缓存中,并进行下一次读取;
在读取过程结束后,从所述缓存读取为第一标识的比特位。
12.根据权利要求9所述的装置,其特征在于,在从所述遍历bitmap中获取第一标识所在的比特位的过程,所述获得模块,具体用于:
将所述遍历bitmap转换为行程长度编码结构;在所述行程长度编码结构中,奇数位的取值表示遍历bitmap中连续为第一标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第二标识的比特位数量,或者,奇数位的取值表示遍历bitmap中连续为第二标识的比特位数量,偶数位的取值表示遍历bitmap中连续为第一标识的比特位数量;
从所述行程长度编码结构中获取第一标识所在的比特位。
13.根据权利要求8-12任一项所述的装置,其特征在于,
所述接收模块,还用于在接收待学习的VPN路由,并从所述VPN路由中获取到RT集合之后,查询是否存在与所述RT集合对应的存储结构;
如果是,将所述VPN路由存储到所述RT集合对应的存储结构;如果否,为所述RT集合创建存储结构,并将所述VPN路由存储到创建的存储结构;
所述学习模块,具体用于在将所述VPN路由学习到得到的每个VPN实例的路由表中的过程中,在得到所述RT集合对应的VPN实例后,将所述RT集合对应的存储结构中的所有VPN路由,学习到所述RT集合对应的每个VPN实例的路由表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710897346.XA CN107547378B (zh) | 2017-09-28 | 2017-09-28 | 一种vpn路由学习方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710897346.XA CN107547378B (zh) | 2017-09-28 | 2017-09-28 | 一种vpn路由学习方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547378A true CN107547378A (zh) | 2018-01-05 |
CN107547378B CN107547378B (zh) | 2020-04-03 |
Family
ID=60964639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710897346.XA Active CN107547378B (zh) | 2017-09-28 | 2017-09-28 | 一种vpn路由学习方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547378B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740893A (zh) * | 2020-06-30 | 2020-10-02 | 成都卫士通信息产业股份有限公司 | 软件定义vpn的实现方法、装置、系统、介质和设备 |
CN112350881A (zh) * | 2019-08-09 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 测试交换机性能的方法和装置 |
CN115277535A (zh) * | 2022-09-30 | 2022-11-01 | 紫光恒越技术有限公司 | Vpn路由的处理方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581828A (zh) * | 2003-08-12 | 2005-02-16 | 华为技术有限公司 | 客户边界设备双归属的实现方法 |
CN102075419A (zh) * | 2010-12-27 | 2011-05-25 | 杭州华三通信技术有限公司 | 三层虚拟专用网等价路由的生成及转发方法和边缘路由器 |
CN102724118A (zh) * | 2012-06-06 | 2012-10-10 | 华为技术有限公司 | 标签分发方法及设备 |
CN106059882A (zh) * | 2016-05-05 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种路由插入的方法及装置 |
-
2017
- 2017-09-28 CN CN201710897346.XA patent/CN107547378B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581828A (zh) * | 2003-08-12 | 2005-02-16 | 华为技术有限公司 | 客户边界设备双归属的实现方法 |
CN102075419A (zh) * | 2010-12-27 | 2011-05-25 | 杭州华三通信技术有限公司 | 三层虚拟专用网等价路由的生成及转发方法和边缘路由器 |
CN102724118A (zh) * | 2012-06-06 | 2012-10-10 | 华为技术有限公司 | 标签分发方法及设备 |
US20150092780A1 (en) * | 2012-06-06 | 2015-04-02 | Huawei Technologies Co., Ltd. | Label Distribution Method and Device |
CN106059882A (zh) * | 2016-05-05 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种路由插入的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112350881A (zh) * | 2019-08-09 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 测试交换机性能的方法和装置 |
CN112350881B (zh) * | 2019-08-09 | 2023-04-07 | 北京京东尚科信息技术有限公司 | 测试交换机性能的方法和装置 |
CN111740893A (zh) * | 2020-06-30 | 2020-10-02 | 成都卫士通信息产业股份有限公司 | 软件定义vpn的实现方法、装置、系统、介质和设备 |
CN111740893B (zh) * | 2020-06-30 | 2022-02-11 | 成都卫士通信息产业股份有限公司 | 软件定义vpn的实现方法、装置、系统、介质和设备 |
CN115277535A (zh) * | 2022-09-30 | 2022-11-01 | 紫光恒越技术有限公司 | Vpn路由的处理方法、装置、电子设备及可读存储介质 |
CN115277535B (zh) * | 2022-09-30 | 2022-12-16 | 紫光恒越技术有限公司 | Vpn路由的处理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107547378B (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108293020A (zh) | 基础设施独有的服务转发 | |
CN106068627B (zh) | 用于在vpn网关处识别数据会话的方法和系统 | |
CN106254256B (zh) | 基于三层vxlan网关的数据报文转发方法和设备 | |
CN103812777B (zh) | 覆盖虚拟化网络中的高效数据传输方法和系统 | |
CN109635989A (zh) | 一种基于多源异构数据融合的社交网络链路预测方法 | |
CN108416436A (zh) | 使用多核心处理模块进行神经网络划分的方法及其系统 | |
CN107547378A (zh) | 一种vpn路由学习方法和装置 | |
CN103631878B (zh) | 一种大规模图结构数据处理方法、装置和系统 | |
CN104937544A (zh) | 计算回归模型 | |
CN106209638B (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
CN104539502B (zh) | 一种自定义添加modbus设备的方法 | |
CN108089814A (zh) | 一种数据存储方法及装置 | |
CN106557531A (zh) | 将复杂结构对象转换成平面化数据 | |
CN104809161B (zh) | 一种对稀疏矩阵进行压缩和查询的方法及系统 | |
JP2021507345A (ja) | 畳み込みニューラル・ネットワークの完全なカーネルを近似するためのスパース・カーネルの融合 | |
CN109039959A (zh) | 一种sdn网络规则的一致性判断方法及相关装置 | |
CN108432189A (zh) | 多个隧道端点上的负载平衡 | |
CN108200032A (zh) | 一种数据检测方法、装置及电子设备 | |
CN104461929B (zh) | 基于拦截器的分布式数据缓存方法 | |
CN104601645B (zh) | 一种数据包处理方法及装置 | |
CN108874314A (zh) | 一种独立冗余磁盘阵列的重构方法及装置 | |
CN105227498B (zh) | 叠加网络交换机及其使用的方法 | |
JP2014502756A (ja) | ツリー構造に基づくマスデータストレージの装置および方法 | |
CN103761298A (zh) | 一种基于分布式架构的实体匹配方法 | |
CA3187715A1 (en) | Quantum controller fast path interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |