资源调度方法及装置转让专利

申请号 : CN201611192753.2

文献号 : CN108234422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 廖以顺章靠寇远芳

申请人 : 新华三技术有限公司

摘要 :

本申请提供一种资源调度方法及装置,其中,分布式接入网关设备中包括两个以上业务板,该方法应用于任一业务板的数据平面,该方法包括:在第一用户认证通过后,创建与第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;若不存在,则获取存在空闲硬件资源的第一业务板的槽位ID,其中,第一业务板是从资源组中选择出来的,资源组由两个以上业务板组成;根据获取到的槽位ID将第一软件用户表项发送给第一业务板,以使第一业务板创建与第一用户对应的硬件用户表项。

权利要求 :

1.一种资源调度方法,其特征在于,分布式接入网关设备中包括两个以上业务板,所述方法应用于任一业务板的数据平面,所述方法包括:在第一用户认证通过后,创建与所述第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;

若不存在,则获取存在空闲硬件资源的不同于本业务板的第一业务板的槽位标识ID,其中,所述第一业务板是从资源组中选择出来的,所述资源组由两个以上业务板组成;

根据获取到的槽位ID将所述第一软件用户表项发送给所述第一业务板,以使所述第一业务板创建与所述第一用户对应的硬件用户表项;

所述方法还包括:

在确定所述第一业务板成功创建了与所述第一用户对应的硬件用户表项时,在所述第一软件用户表项中记录所述第一业务板的槽位ID;

接收来自用户主机的数据报文,若接收到的数据报文与所述第一软件用户表项匹配,则根据所述第一软件用户表项中记录的所述第一业务板的槽位ID,将所述数据报文转发给所述第一业务板。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

接收不同于本业务板的第二业务板发来的与第二用户对应的软件用户表项,根据接收到的软件用户表项,创建与所述第二用户对应的第二软件用户表项和第二硬件用户表项,并在所述第二软件用户表项中记录所述第二业务板的槽位ID。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

在创建了所述第二软件用户表项和所述第二硬件用户表项之后,创建包含所述第二用户的主机IP地址的路由表项,其中,所述路由表项中的目的设备ID为所述资源组的ID、目的端口ID为本业务板的槽位ID;

将所述路由表项同步给其它业务板。

4.根据权利要求3所述的方法,其特征在于,所述第一软件用户表项中还记录有本业务板上连接所述第一用户的主机的端口ID,所述方法还包括:接收同步过来的路由表项并进行保存;

或者,接收同步过来的路由表项,根据该路由表项中包含的IP地址查找对应的软件用户表项,若没有查找到,则保存接收到的路由表项;若查找到了所述第一软件用户表项,则保存接收到的路由表项,并将保存的路由表项中的目的设备ID修改为本业务板的槽位ID,将目的端口ID修改为所述第一软件用户表项中记录的本业务板上连接所述第一用户的主机的端口ID。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

接收发往用户主机的数据报文,根据接收到的数据报文的目的IP地址查找对应的路由表项,该路由表项中的目的设备ID为所述资源组的ID、目的端口ID为槽位ID;

根据该数据报文的目的IP地址查找对应的软件用户表项和硬件用户表项;

若均没有查找到,则根据该路由表项中作为目的端口ID的槽位ID,将该数据报文转发给对应槽位上的业务板;

若查找到了所述第二软件用户表项和所述第二硬件用户表项,则根据所述第二硬件用户表项进行相应处理,之后根据所述第二软件用户表项中记录的所述第二业务板的槽位ID,将该数据报文转发给所述第二业务板;

若查找到了所述第一软件用户表项、但没有查找到硬件用户表项,则根据所述第一软件用户表项中记录的本业务板上连接所述第一用户的主机的端口ID,将该数据报文转发给所述第一用户的主机。

6.一种资源调度装置,其特征在于,分布式接入网关设备中包括两个以上业务板,所述装置应用于任一业务板的数据平面中,所述装置包括:判断单元,用于在第一用户认证通过后,创建与所述第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;

获取单元,用于若所述判断单元判断出本业务板上不存在空闲硬件资源,则获取存在空闲硬件资源的不同于本业务板的第一业务板的槽位标识ID,其中,所述第一业务板是从资源组中选择出来的,所述资源组由两个以上业务板组成;

发送单元,用于根据所述获取单元获取到的槽位ID将所述第一软件用户表项发送给所述第一业务板,以使所述第一业务板创建与所述第一用户对应的硬件用户表项;

所述装置还包括:更新单元和第一接收单元,其中:

所述更新单元,用于在确定所述第一业务板成功创建了与所述第一用户对应的硬件用户表项时,在所述第一软件用户表项中记录所述第一业务板的槽位ID;

所述第一接收单元,用于接收来自用户主机的数据报文;

所述发送单元,还用于在所述第一接收单元接收到来自用户主机的数据报文后,若所述数据报文与所述第一软件用户表项匹配,则根据所述第一软件用户表项中记录的所述第一业务板的槽位ID,将所述数据报文转发给所述第一业务板。

7.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二接收单元和创建单元,其中:所述第二接收单元,用于接收不同于本业务板的第二业务板发来的与第二用户对应的软件用户表项;

所述创建单元,用于在所述第二接收单元接收到所述第二业务板发来的与第二用户对应的软件用户表项后,根据接收到的软件用户表项,创建与所述第二用户对应的第二软件用户表项和第二硬件用户表项,并在所述第二软件用户表项中记录所述第二业务板的槽位ID。

8.根据权利要求7所述的装置,其特征在于,

所述创建单元,还用于在创建了所述第二软件用户表项和所述第二硬件用户表项之后,创建包含所述第二用户的主机IP地址的路由表项,其中,所述路由表项中的目的设备ID为所述资源组的ID、目的端口ID为本业务板的槽位ID;

所述发送单元,还用于将所述创建单元创建的包含所述第二用户的主机IP地址的路由表项,同步给其它业务板。

9.根据权利要求8所述的装置,其特征在于,所述第一软件用户表项中还记录有本业务板上连接所述第一用户的主机的端口ID,所述装置还包括:保存单元,其中:所述第二接收单元,还用于接收同步过来的路由表项;

所述保存单元,用于对所述第二接收单元接收到的路由表项进行保存;或者,还用于根据所述第二接收单元接收到的路由表项中包含的IP地址,查找对应的软件用户表项,若没有查找到,则保存接收到的路由表项;若查找到了所述第一软件用户表项,则保存接收到的路由表项,并将保存的路由表项中的目的设备ID修改为本业务板的槽位ID,将目的端口ID修改为所述第一软件用户表项中记录的本业务板上连接所述第一用户的主机的端口ID。

10.根据权利要求9所述的装置,其特征在于,所述装置还包括:查找单元,其中:所述第二接收单元,还用于接收发往用户主机的数据报文;

所述查找单元,用于在所述第二接收单元接收到发往用户主机的数据报文后,根据接收到的数据报文的目的IP地址查找对应的路由表项,该路由表项中的目的设备ID为所述资源组的ID、目的端口ID为槽位ID;根据该数据报文的目的IP地址查找对应的软件用户表项和硬件用户表项;

所述发送单元,还用于若所述查找单元没有查找到对应的软件用户表项和硬件用户表项,则根据所述查找单元查找到的路由表项中作为目的端口ID的槽位ID,将该数据报文转发给对应槽位上的业务板;还用于若所述查找单元查找到了所述第二软件用户表项和所述第二硬件用户表项,则根据所述第二硬件用户表项进行相应处理,之后根据所述第二软件用户表项中记录的所述第二业务板的槽位ID,将该数据报文转发给所述第二业务板;还用于若所述查找单元查找到了所述第一软件用户表项、但没有查找到硬件用户表项,则根据所述第一软件用户表项中记录的本业务板上连接所述第一用户的主机的端口ID,将该数据报文转发给所述第一用户的主机。

说明书 :

资源调度方法及装置

技术领域

[0001] 本申请涉及网络通信技术领域,特别涉及一种资源调度方法及装置。

背景技术

[0002] BRAS(Broadband Remote Access Server,宽带远程接入服务器)业务系统主要由用户主机、BRAS设备、以及AAA(Authentication Authorization and Accounting,认证授权计费)服务器组成。BRAS设备将用户主机发来的用户信息发送给AAA服务器,从而完成对用户的认证、授权和计费。在用户认证通过后,用户主机即可通过BRAS设备访问外部网络,例如互联网。

发明内容

[0003] 有鉴于此,本申请提供一种资源调度方法及装置。
[0004] 具体地,本申请是通过如下技术方案实现的:
[0005] 一方面,提供了一种资源调度方法,分布式接入网关设备中包括两个以上业务板,该方法应用于任一业务板的数据平面,该方法包括:
[0006] 在第一用户认证通过后,创建与第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;
[0007] 若不存在,则获取存在空闲硬件资源的第一业务板的槽位ID,其中,第一业务板是从资源组中选择出来的,资源组由两个以上业务板组成;
[0008] 根据获取到的槽位ID将第一软件用户表项发送给第一业务板,以使第一业务板创建与第一用户对应的硬件用户表项。
[0009] 另一方面,还提供了一种资源调度装置,分布式接入网关设备中包括两个以上业务板,该装置应用于任一业务板的数据平面中,该装置包括:
[0010] 判断单元,用于在第一用户认证通过后,创建与第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;
[0011] 获取单元,用于若判断单元判断出本业务板上不存在空闲硬件资源,则获取存在空闲硬件资源的第一业务板的槽位ID,其中,第一业务板是从资源组中选择出来的,资源组由两个以上业务板组成;
[0012] 发送单元,用于根据获取单元获取到的槽位ID将第一软件用户表项发送给第一业务板,以使第一业务板创建与第一用户对应的硬件用户表项。
[0013] 通过本申请的以上技术方案,在任一业务板上,当数据平面创建了与某一用户对应的软件用户表项,需要创建与该用户对应的硬件用户表项时,如果判断出本业务板上已经没有空闲的硬件资源,则获取资源组中存在空闲的硬件资源的其它业务板的槽位ID,根据获取到的槽位ID将创建的软件用户表项发送给该其它业务板,由该其它业务板创建与该用户对应的硬件用户表项。从而,在任一业务板上的硬件资源不足时,可以将新增用户的硬件用户表项配置到其它业务板上,由该其它业务板共享硬件资源给该硬件资源不足的业务板,从而确保该新增用户可以上线,实现了分布式网关设备的硬件资源的合理利用和调度。

附图说明

[0014] 图1是本申请一示例性实施例示出的分布式接入网关设备的架构示意图;
[0015] 图2是图1中的业务板1_1执行的资源调度方法的流程图;
[0016] 图3是图1中的业务板1_1对发往用户主机的数据报文进行转发处理的一种流程图;
[0017] 图4是图1中的业务板1_1对发往用户主机的数据报文进行转发处理的另一种流程图;
[0018] 图5是本申请一示例性实施例示出的资源调度装置所在业务板的硬件结构示意图;
[0019] 图6是本申请一示例性实施例示出的资源调度装置的一种结构示意图;
[0020] 图7是本申请一示例性实施例示出的资源调度装置的另一种结构示意图;
[0021] 图8是本申请一示例性实施例示出的资源调度装置的又一种结构示意图;
[0022] 图9是本申请一示例性实施例示出的资源调度装置的又一种结构示意图。

具体实施方式

[0023] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0024] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0025] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0026] 如图1所示,采用分布式硬件架构的BRAS设备中包括:主控板和多个业务板,主控板负责控制和管理所有业务板,以及全局信息的同步;业务板负责接入认证和报文转发处理。其中,业务板进行接入认证和报文转发处理的过程如下:
[0027] 数据平面接收用户主机发出的接入认证请求报文,识别出该报文为协议报文,则将该报文上送给控制平面进行处理;
[0028] 控制平面接收到该接入认证请求报文后,通过与AAA服务器交互完成对用户的认证,用户认证通过后,控制平面建立该用户对应的软件用户表项,该表项通常记录在内存中;控制平面通知数据平面创建用户表项;
[0029] 数据平面接收到该通知后,创建该用户对应的软件用户表项和硬件用户表项,该硬件用户表项通常是记录在TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)等器件上;
[0030] 数据平面接收用户主机在认证通过后发出的数据报文,识别出该报文为非协议报文,则查找对应的硬件用户表项,在查找到了硬件用户表项后,根据该硬件用户表项进行相应处理,例如,统计流量和时长、进行用户策略控制等,然后,通过路由转发该数据报文。
[0031] 其中,上述控制平面具体可以是CPU(Central Processing Unit,中央处理单元),上述数据平面具体可以是驱动。
[0032] 在实际应用中,每个业务板的硬件资源规格是固定的,例如,可支持16K个用户接入,则此时可配置的硬件用户表项总数就是16K,如果某一业务板上的硬件资源已经全部被占用,那么新增用户的硬件用户表项就会因为硬件资源不足而无法下发,从而导致该新增用户无法上线。
[0033] 为了解决上述问题,本申请以下实施例中提供了一种资源调度方法,以及一种可以应用该方法的资源调度装置。该方法可以由如图1所示的分布式接入网关设备中的任一业务板上的数据平面来执行,该方法包括:在第一用户认证通过后,创建与第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;若不存在,则获取存在空闲硬件资源的第一业务板的槽位ID(Identity,标识),其中,第一业务板是从资源组中选择出来的,该资源组由两个以上业务板组成;根据获取到的槽位ID将第一软件用户表项发送给第一业务板,以使第一业务板创建与第一用户对应的硬件用户表项。
[0034] 上述方法中,在任一业务板上,当数据平面创建了与某一用户对应的软件用户表项,需要创建与该用户对应的硬件用户表项时,如果判断出本业务板上已经没有空闲的硬件资源,则获取资源组中存在空闲的硬件资源的其它业务板的槽位ID,根据获取到的槽位ID将创建的软件用户表项发送给该其它业务板,由该其它业务板创建与该用户对应的硬件用户表项。从而,在任一业务板上的硬件资源不足时,可以将新增用户的硬件用户表项配置到其它业务板上,由该其它业务板共享硬件资源给该硬件资源不足的业务板,从而确保该新增用户可以上线,实现了分布式网关设备的硬件资源的合理利用和调度。
[0035] 以如图1所示的分布式BRAS设备为例进行说明,该分布式BRAS设备中包括:主控板和多个业务板。在实际应用中,分布式BRAS设备中存在支持BRAS功能的业务板,也存在不支持BRAS功能的业务板,本申请实施例仅考虑支持BRAS功能的业务板,即,下文中所说的业务板均为支持BRAS功能的业务板。
[0036] 主控板上维护一个资源组,该资源组由分布式BRAS设备中的两个以上支持BRAS功能的业务板组成。具体的,主控板记录资源组信息,包括:该资源组中每一个业务板的槽位ID、硬件资源规格和硬件资源使用情况。其中,硬件资源使用情况可以通过空闲硬件资源的数量来表示。
[0037] 假设,该资源组中包括图1中的5个业务板:槽位ID为Slot2_1的业务板1_1、槽位ID为Slot2_2的业务板1_2、槽位ID为Slot2_3的业务板1_3、槽位ID为Slot2_4的业务板1_4、以及槽位ID为Slot2_5的业务板1_5。则,主控板上记录的资源组信息如表1所示:
[0038] 表1
[0039]槽位ID 硬件资源规格(K) 空闲硬件资源(K)
Slot2_1 32 20
Slot2_2 16 0.1
Slot2_3 16 15
Slot2_4 32 10
Slot2_5 16 7
[0040] 资源组中的每一个业务板会在本业务板的硬件资源使用情况发生变化时通知主控板,以使主控板实时更新表1中该业务板的空闲硬件资源。
[0041] 主控板会在表1发生更新时,例如,新增或减少了业务板,某一业务板的空闲硬件资源的数量发生变化,将更新后的信息同步给资源组中的每一个业务板,以确保业务板和主控板上的资源组信息的一致性。此时,资源组中各个业务板的控制平面上也维护了如表1所示的资源组信息。任一业务板的控制平面在接收到数据平面发来的用于指示硬件资源不足的通知消息后,根据该资源信息,从资源组中选择一个存在空闲硬件资源的其它业务板,将该其它业务板的槽位ID发送给数据平面。
[0042] 或者,任一业务板的控制平面在接收到数据平面发来的用于指示硬件资源不足的通知消息后,向主控板获取资源组信息,根据获取到的资源组信息,从资源组中选择一个存在空闲硬件资源的其它业务板,将该其它业务板的槽位ID发送给数据平面。
[0043] 或者,任一业务板的控制平面在接收到数据平面发来的用于指示硬件资源不足的通知消息后,通知主控板根据资源组信息从资源组中选择一个存在空闲硬件资源的其它业务板,并回复该其它业务板的槽位ID,控制平面获取到该其它业务板的槽位ID后,将该槽位ID发送给数据平面。
[0044] 其中,可以采用手动静态配置的方式将业务板加入到资源组中。采用手动静态配置的方式时,可以由管理人员有选择性的将业务板加入到资源组中,例如,某业务板虽然支持BRAS功能,但是该业务板的硬件资源规格很低,而且该业务板主要应用于实现其他功能,则可以不将该业务板加入到资源组中。
[0045] 另外,也可以采用动态方式,将业务板加入到资源组中。具体的,当新插入的业务板启动完成后,主控板识别该业务板的类型,在确定出该业务板支持BRAS功能时,将该业务板加入到资源组中,在表1中添加该业务板的槽位ID、硬件资源规格和空闲硬件资源。采用此种方式,无需管理人员手动配置,可以由主控板自动将业务板加入资源组。
[0046] 基于此,本申请实施例的资源调度方法包括以下内容:
[0047] 业务板1_1的数据平面接收到用户主机发出的接入认证请求报文之后,识别出该报文为协议报文,则将该报文上送给控制平面进行处理;控制平面接收到该接入认证请求报文后,通过与AAA服务器交互完成对用户的认证,用户认证通过后,控制平面建立与该用户对应的软件用户表项,并通知数据平面创建用户表项。
[0048] 业务板1_1的数据平面接收到控制平面发来的创建用户表项通知后,会执行如图2所示的步骤:
[0049] 步骤S201,创建与该用户对应的软件用户表项,为了描述方便,将该表项记为entry3_1;
[0050] entry3_1可以存放在数据平面的内存中,如表2-1所示,entry3_1中可以包括:用户名、用户主机的MAC地址和IP地址、限速信息、用户主机接入的原始业务板的槽位ID、该业务板上连接该用户主机的端口(即原始端口)ID等。
[0051] 表2-1
[0052] 用户名 MAC地址 IP地址 限速信息 原始业务板 原始端口 …User PC-MAC PC-IP XXX Slot2_1 PortA …
[0053] 步骤S202,判断本业务板上是否存在空闲硬件资源,若是,则执行步骤S203,否则,执行步骤S204;
[0054] 步骤S203,创建与该用户对应的硬件用户表项,之后退出本流程;
[0055] 步骤S204,向控制平面发送用于指示硬件资源不足的通知消息;
[0056] 在判断出本业务板1_1上不存在空闲硬件资源时,还可以在如表2-1所示的软件用户表项entry3_1中添加一个标记,用于指示本业务板上不存在空闲硬件资源、需要重定向到其它业务板,例如,该标记以NoResRedi表示。此时,如表2-1所示的entry3_1更新为如表2-2所示:
[0057] 表2-2
[0058]
[0059] 在本地保存有如表1所示的资源组信息时,业务板1的控制平面接收到该通知消息后,根据该资源组信息从资源组中选择一个存在空闲硬件资源的业务板,例如,选择硬件资源空闲率最高的槽位ID为Slot2_3的业务板1_3,然后,将Slot2_3发送给数据平面。
[0060] 或者,在本地未保存资源组信息时,业务板1的控制平面接收到该通知消息后,向主控板获取资源组信息,根据获取到的如表1所示的资源组信息,从资源组中选择一个存在空闲硬件资源的业务板,例如,选择硬件资源空闲率最高的槽位ID为Slot2_3的业务板1_3,然后,将Slot2_3发送给数据平面。
[0061] 或者,在本地未保存资源组信息时,业务板1的控制平面接收到该通知消息后,通知主控板根据如表1所示的资源组信息,从资源组中选择一个存在空闲硬件资源的业务板,例如,选择硬件资源空闲率最高的槽位ID为Slot2_3的业务板1_3,并将Slot2_3回复给业务板1的控制平面,业务板1的控制平面接收到Slot2_3后,将Slot2_3发送给数据平面。
[0062] 步骤S205,接收控制平面发来的Slot2_3,将创建的软件用户表项entry3_1发送给业务板1_3;
[0063] 具体的,业务板1_1的数据平面可以通过板间通信消息将entry3_1的内容发送给业务板1_3,其中,该板间通信消息例如可以是IPC(Inter-ProcessCommunication,进程间通信)消息。
[0064] 业务板1_3的数据平面接收到该板间通信消息后,根据该消息中携带的软件用户表项entry3_1的内容,创建与该用户对应的软件用户表项entry3_2和硬件用户表项entry3_3,并在entry3_2中记录业务板1_1的槽位ID Slot2_1,用于表示该用户接入的原始业务板为业务板1_1。entry3_2和entry3_3的内容分别如表3和表4所示:
[0065] 表3
[0066]
[0067] 表4
[0068]用户名 MAC地址 IP地址 限速信息 …
User PC-MAC PC-IP XXX …
[0069] 其中,如表3所示的软件用户表项entry3_2通常存放在数据平面的内存中,entry3_2中主要包括:用户名、用户主机MAC地址和IP地址、限速信息、对应的硬件用户表项entry3_3的索引、以及用户接入的原始业务板的槽位ID等;如表4所示的硬件用户表项entry3_3通常存放在TCAM等器件中,entry3_3中主要包括:用户名、用户主机MAC地址和IP地址、限速信息、用户所属分组ID和所属域名、对应的用户策略ID等。
[0070] 业务板1_3的数据平面在创建了entry3_2和entry3_3之后,可以向业务板1_1回复一个用于指示硬件用户表项创建成功的板间通信消息。
[0071] 步骤S206,在接收到业务板1_3发来的用于指示硬件用户表项创建成功的板间通信消息之后,在如表2-2所示的软件用户表项entry3_1中记录业务板1_3的槽位ID Slot2_3,用于表示该用户被重定向到了业务板1_3。此时,entry3_1更新为如表2-3所示:
[0072] 表2-3
[0073]
[0074] 至此,在业务板1_1上不存在空闲硬件资源时,接入业务板1_1的用户被重定向到了业务板1_3上,由业务板1_3创建与该用户对应的硬件用户表项,保证了该用户的上线,实现了资源组中各个业务板的硬件资源的整合、共享和调度。
[0075] 另外,业务板1_3的数据平面在创建了软件用户表项entry3_2和硬件用户表项entry3_3之后,还会创建包含用户主机IP地址的路由表项,该路由表项可以参见表5所示:
[0076] 表5
[0077] IP地址 DDev(目的设备) DPort(目的端口)PC-IP RG Slot2_3
[0078] 由表5可以看出,该路由表项中的目的设备ID为资源组的ID,记为RG,目的端口ID为业务板1_3的槽位ID Slot2_3。业务板1_3还会将如表5所示的路由表项通过主控板同步给其它业务板,包括业务板1_1、业务板1_2、业务板1_4、业务板1_5。
[0079] 业务板1_1、业务板1_2、业务板1_4、业务板1_5中的每一个业务板在接收到业务板1_3同步来的如表5所示的路由表项后,会按照以下两种方式中的任一种下发路由表项:
[0080] 方式一:直接在数据平面上保存该路由表项。
[0081] 如果采用方式一,则业务板1_1、业务板1_2、业务板1_4、业务板1_5的数据平面上的包含PC-IP的路由表项均如表5所示。
[0082] 方式二:
[0083] 根据该路由表项中包含的IP地址PC-IP查找对应的软件用户表项;
[0084] 若没有查找到,说明IP地址为PC-IP的用户主机不是接入本业务板的用户主机,则直接在数据平面上保存该路由表项;
[0085] 若查找到了,说明IP地址为PC-IP的用户主机是接入本业务板的用户主机,则保存该路由表项,并将保存的路由表项的DDev修改为本业务板的槽位ID,将DPort修改为查找到的软件用户表项中记录的原始端口ID。
[0086] 采用方式二时,业务板1_1由于查找到了如表2-3所示的软件用户表项,因此,业务板1_1的数据平面上包含PC-IP的路由表项如表6所示;而业务板1_2、业务板1_4、业务板1_5由于没有查找到对应的软件用户表项,因此,这些业务板的数据平面上包含PC-IP的路由表项均如表5所示。
[0087] 表6
[0088]IP地址 DDev DPort
PC-IP Slot2_1 PortA
[0089] 由此可见,无论采用方式一还是方式二,业务板1_2、业务板1_4、业务板1_5的数据平面上的包含PC-IP的路由表项均如表5所示。然而,对于业务板1_1来说,采用方式一时,数据平面上包含PC-IP的路由表项如表5所示,而采用方式二时,数据平面上包含PC-IP的路由表项如表6所示,即,采用不同方式时的路由表项不同,这样,对于发往用户主机的数据报文的转发处理也不同,其中,当采用方式一时的转发处理可以参见后文中如图3所示的方法,当采用方式二时的转发处理可以参见后文中如图4所示的方法。
[0090] 后续,用户主机→互联网方向的数据报文转发过程如下:
[0091] 在认证通过后,用户主机会发出源IP地址为PC-IP的数据报文以访问互联网,业务板1_1的数据平面接收到该数据报文后,识别出该报文为非协议报文,则先根据该数据报文的目的IP地址,查找对应的路由表项,然后,根据该数据报文的源IP地址PC-IP查找对应的软件用户表项和硬件用户表项,结果查找到了如表2-3所示的软件用户表项entry3_1,但是没有查找到对应的硬件用户表项。此时,由于entry3_1中标记了NoResRedi,因此,可以确定该用户被重定向到了其它业务板,根据entry3_1中记录的Slot2_3,将该数据报文通过交换网发送给业务板1_3。
[0092] 业务板1_3的数据平面接收到该数据报文后,先根据该数据报文的目的IP地址,查找对应的路由表项,然后,根据该数据报文的源IP地址PC-IP查找对应的软件用户表项和硬件用户表项,结果查找到了如表3所示的软件用户表项entry3_2和如表4所示的硬件用户表项entry3_3。根据硬件用户表项entry3_3进行相应操作,例如,统计流量和时长、进行用户策略控制等,然后,根据查找到的路由表项将该数据报文转发出去,从而最终到达互联网,例如,将该数据报文转发给出口业务板1_4,由出口业务板1_4转发到互联网。
[0093] 互联网→用户主机方向的数据报文的数据报文转发过程如下:
[0094] 业务板1_4接收发往用户主机的数据报文,先根据该数据报文的目的IP地址PC-IP查找对应的路由表项,结果查找到如表5所示的路由表项,该路由表项中的DDev为RG,即资源组,该路由表项中的DPort为Slot2_3;然后,根据该数据报文的目的IP地址PC-IP,查找对应的软件用户表项和硬件用户表项,结果均没有查找到,则根据查找到的路由表项中作为DPort的Slot2_3,将该数据报文通过交换网转发给业务板1_3。
[0095] 业务板1_3接收到该数据报文后,先根据该数据报文的目的IP地址PC-IP查找对应的路由表项,结果查找到如表5所示的路由表项,该路由表项中的DDev为RG,即资源组,该路由表项中的DPort为Slot2_3;然后,根据该数据报文的目的IP地址PC-IP,查找对应的软件用户表项和硬件用户表项,结果查找到软件用户表项entry3_2和硬件用户表项entry3_3,则根据硬件用户表项entry3_3进行相应处理,例如,统计流量和时长、进行用户策略控制等,之后根据软件用户表项entry3_2中记录的Slot2_1,将该数据报文通过交换网转发给业务板1_1。
[0096] 业务板1_1接收到该数据报文后,可以按照如图3所示的方法对该数据报文进行转发,也可以按照如图4所示的方法对该数据报文进行转发,从而最终将该数据报文转发给用户主机。
[0097] 一种情况下,由于在采用方式一下发路由表项时,业务板1_1的数据平面上包含PC-IP的路由表项如表5所示,因此,业务板1_1在接收到发往用户主机的数据报文后,需要执行如图3所示的步骤:
[0098] 步骤S301,根据该数据报文的目的IP地址PC-IP查找对应的路由表项,结果查找到如表5所示的路由表项,该路由表项中的DDev为RG,即资源组,该路由表项中的DPort为Slot2_3;
[0099] 步骤S302,根据该数据报文的目的IP地址PC-IP,查找对应的软件用户表项和硬件用户表项,结果查找到如表2-3所示的软件用户表项entry3_1,但是没有查找到对应的硬件用户表项;
[0100] 步骤S303,根据软件用户表项entry3_1中记录的原始端口ID PortA,将该数据报文转发给用户主机。
[0101] 另一种情况下,由于在采用方式二下发路由表项时,业务板1_1的数据平面上包含PC-IP的路由表项如表6所示,因此,业务板1_1在接收到发往用户主机的数据报文后,需要执行如图4所示的步骤:
[0102] 步骤S401,根据该数据报文的目的IP地址PC-IP查找对应的路由表项,结果查找到如表6所示的路由表项,该路由表项中的DDev为本业务板的槽位IDSlot2_1,该路由表项中的DPort为PortA;
[0103] 步骤S402,根据该数据报文的目的IP地址PC-IP,查找对应的软件用户表项和硬件用户表项,结果查找到如表2-3所示的软件用户表项entry3_1,但是没有查找到对应的硬件用户表项;
[0104] 步骤S403,根据查找到的路由表项中作为DPort的PortA,将该数据报文转发给用户主机。
[0105] 由于接入业务板1_1的用户对应的硬件用户表项在业务板1_3上,因此,为了能够根据该硬件用户表项对发往用户主机的数据报文进行流量统计等处理,业务板1_3在下发用户主机IP路由表项时,将目的设备ID设置为资源组的ID、将目的端口ID设置为本业务板的槽位ID,并将该路由表项同步给其它业务板,以使其它业务板下发该路由表项。这样,最先接收到互联网发往用户主机的数据报文的业务板,可以通过查找路由将该数据报文转发给业务板1_3,由业务板1_3根据硬件用户表项对发往用户主机的数据报文进行流量统计等处理后,转发给业务板1_1,最终由业务板1_1转发给用户主机。
[0106] 与前述资源调度方法的实施例相对应,本申请还提供了资源调度装置的实施例。
[0107] 本申请资源调度装置60的实施例可以应用在分布式接入网关设备的业务板上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在业务板的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。从硬件层面而言,如图5所示,为本申请资源调度装置60所在业务板的一种硬件结构图,除了图5所示的处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50之外,实施例中装置所在的业务板通常根据该业务板的实际功能,还可以包括其他硬件,对此不再赘述。
[0108] 请参考图6,本申请实施例的资源调度装置60中包括以下单元:判断单元601、获取单元602和发送单元603,其中:
[0109] 判断单元601,用于在第一用户认证通过后,创建与第一用户对应的第一软件用户表项,判断本业务板上是否存在空闲硬件资源;
[0110] 获取单元602,用于若判断单元601判断出本业务板上不存在空闲硬件资源,则获取存在空闲硬件资源的第一业务板的槽位ID,其中,第一业务板是从资源组中选择出来的,资源组由两个以上业务板组成;
[0111] 发送单元603,用于根据获取单元602获取到的槽位ID将第一软件用户表项发送给第一业务板,以使第一业务板创建与第一用户对应的硬件用户表项。
[0112] 如图7所示,资源调度装置60中还可以包括:更新单元604和第一接收单元605,其中:
[0113] 更新单元604,用于在确定第一业务板成功创建了与第一用户对应的硬件用户表项时,在第一软件用户表项中记录第一业务板的槽位ID;
[0114] 第一接收单元605,用于接收来自用户主机的数据报文;
[0115] 发送单元603,还用于在第一接收单元605接收到来自用户主机的数据报文后,若该数据报文与第一软件用户表项匹配,则根据第一软件用户表项中记录的第一业务板的槽位ID,将该数据报文转发给第一业务板。
[0116] 如图8所示,资源调度装置60中还可以包括:第二接收单元606和创建单元607,其中:
[0117] 第二接收单元606,用于接收第二业务板发来的与第二用户对应的软件用户表项;
[0118] 创建单元607,用于在第二接收单元606接收到第二业务板发来的与第二用户对应的软件用户表项后,根据接收到的软件用户表项,创建与第二用户对应的第二软件用户表项和第二硬件用户表项,并在第二软件用户表项中记录第二业务板的槽位ID。
[0119] 其中,创建单元607,还用于在创建了第二软件用户表项和第二硬件用户表项之后,创建包含第二用户的主机IP地址的路由表项,其中,该路由表项中的目的设备ID为资源组的ID、目的端口ID为本业务板的槽位ID;
[0120] 发送单元603,还用于将创建单元607创建的包含第二用户的主机IP地址的路由表项,同步给其它业务板。
[0121] 其中,第一软件用户表项中还记录有本业务板上连接第一用户的主机的端口ID,则,如图9所示,资源调度装置60中还可以包括:保存单元608,其中:
[0122] 第二接收单元606,还用于接收同步过来的路由表项;
[0123] 保存单元608,用于对第二接收单元606接收到的路由表项进行保存;或者,还用于根据第二接收单元606接收到的路由表项中包含的IP地址,查找对应的软件用户表项,若没有查找到,则保存接收到的路由表项;若查找到了第一软件用户表项,则保存接收到的路由表项,并将保存的路由表项中的目的设备ID修改为本业务板的槽位ID,将目的端口ID修改为第一软件用户表项中记录的本业务板上连接第一用户的主机的端口ID。
[0124] 如图9所示,资源调度装置60中还可以包括:查找单元609,其中:
[0125] 第二接收单元606,还用于接收发往用户主机的数据报文;
[0126] 查找单元609,用于在第二接收单元606接收到发往用户主机的数据报文后,根据接收到的数据报文的目的IP地址查找对应的路由表项,该路由表项中的目的设备ID为资源组的ID、目的端口ID为槽位ID;根据该数据报文的目的IP地址查找对应的软件用户表项和硬件用户表项;
[0127] 发送单元603,还用于若查找单元609没有查找到对应的软件用户表项和硬件用户表项,则根据查找单元609查找到的路由表项中作为目的端口ID的槽位ID,将该数据报文转发给对应槽位上的业务板;还用于若查找单元609查找到了第二软件用户表项和第二硬件用户表项,则根据第二硬件用户表项进行相应处理,之后根据第二软件用户表项中记录的第二业务板的槽位ID,将该数据报文转发给第二业务板;还用于若查找单元609查找到了第一软件用户表项、但没有查找到硬件用户表项,则根据第一软件用户表项中记录的本业务板上连接第一用户的主机的端口ID,将该数据报文转发给第一用户的主机。
[0128] 在上述装置实施例中,第一接收单元605和第二接收单元606可以是两个独立的单元,也可以集成于一个单元来实现,本申请实施例对此不做限定。
[0129] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0130] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0131] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。