1.一种交换机MAC地址同步方法,应用于一包括主控CPU以及多个交换芯片的交换机系统中,当其中一个交换芯片的MAC地址表发生变化时,所述交换芯片硬件就会产生一变动消息,并予以发送至所述主控CPU中,其特征在于,所述交换机MAC地址同步方法包括:
1)令所述主控CPU将所发送的变动消息暂存一缓存空间中;
2)令所述主控CPU每隔一预定时间统计暂存于所述缓存空间中的变动消息的数量;
3)令所述主控CPU判断所统计的数量是否不大于一预定数量值,若是,则进至步骤4),若否,则进至步骤5);
4)采用同步方式处理暂存于所述缓存空间中的所有变动消息;以及
5)采用异步方式处理暂存于所述缓存空间中的所有变动消息;
所述主控CPU还预存一包含所有交换芯片的MAC地址的全局软件表;
所述步骤4)进一步包括:
4-1)令所述主控CPU解析暂存于所述缓存空间中的所有变动消息,而得到一对应所述变动消息数量的变更条目,并清除所述缓存空间中已执行解析处理的所有变动消息;
4-2)令所述主控CPU将所得到的所有变更条目同步到所述全局软件表中;以及
4-3)令所述主控CPU根据所得到的所有变更条目,逐个搜寻各个交换芯片中的MAC地址表是否已存储有上述变更条目,若是,则不对存储有上述变更条目的交换芯片进行同步操作,若否,则将上述变更条目更新至未存储有上述变更条目的交换芯片的MAC地址表中;
所述步骤5)进一步包括:
5-1)令所述主控CPU判断当前的负载是否超负荷,若否,则进至步骤5-2),若是,则重复上述的判断步骤;
5-2)令所述主控CPU解析暂存于所述缓存空间中的所有变动消息,而得到一对应所述变动消息数量的变更条目,并清除所述缓存空间中已执行解析处理的所有变动消息;
5-3)令所述主控CPU将所得到的变更条目同步到所述全局软件表中;以及
5-4)令所述主控CPU根据所得到的变更条目,逐个搜寻各个交换芯片中的MAC地址表是否已存储有上述变更条目,若是,则不对存储有上述变更条目的交换芯片进行同步操作,若否,则将上述变更条目更新至未存储有上述变更条目的交换芯片的MAC地址表中。
2.根据权利要求1所述的交换机MAC地址同步方法,其特征在于:所述缓存空间为先入先出消息队列。
3.一种交换机MAC地址同步系统,应用于一包括主控CPU以及多个交换芯片的交换机系统中,当其中一个交换芯片的MAC地址表发生变化时,所述交换芯片硬件就会产生一变动消息,并予以发送至所述主控CPU中,其特征在于,所述交换机MAC地址同步系统包括:存储模块,用以将所述交换芯片所发送的变动消息暂存至一缓存空间中;
统计模块,用以每隔一预定时间统计所述缓存空间中暂存的变动消息的数量;以及处理模块,用以判断所述统计模块所统计的数量是否不大于一预定数量值,若是,则采用同步方式处理暂存于所述缓存空间中的所有变动消息,若否,则采用异步方式处理暂存于所述缓存空间中的所有变动消息;
所述存储模块还预存一包含所有交换芯片的MAC地址的全局软件表;
所述采用同步方式处理暂存于所述缓存空间中的所有变动消息的步骤进一步包括:所述处理模块解析暂存于所述缓存空间中的所有变动消息,而得到一对应所述变动消息数量的变更条目,并清除所述缓存空间中已执行解析处理的所有变动消息,然后,将所得到的所有变更条目同步到所述全局软件表中,再根据所得到的所有变更条目,逐个搜寻各个交换芯片中的MAC地址表是否已存储有上述变更条目,若是,则不对存储有上述变更条目的交换芯片进行同步操作,若否,则将上述变更条目更新至未存储有上述变更条目的交换芯片的MAC地址表中;
所述采用异步方式处理暂存于所述缓存空间中的所有变动消息进一步包括:所述处理模块判断所述主控CPU当前的负载是否超负荷,若是,则重复上述的判断步骤,若否,则解析暂存于所述缓存空间中的所有变动消息,而得到一对应所述变动消息数量的变更条目,并清除所述缓存空间中已执行解析处理的所有变动消息,然后,将所得到的所有变更条目同步到所述全局软件表中,再根据所得到的所有变更条目,逐个搜寻各个交换芯片中的MAC地址表是否已存储有上述变更条目,若是,则不对存储有上述变更条目的交换芯片进行同步操作,若否,则将上述变更条目更新至未存储有上述变更条目的交换芯片的MAC地址表中。
4.根据权利要求3所述的一种交换机MAC地址同步系统,其特征在于:所述缓存空间为先入先出消息队列。
5.根据权利要求3所述的一种交换机MAC地址同步系统,其特征在于:所述存储模块、统计模块以及处理模块均是由主控CPU实现的。