一种数据流的处理方法及装置的制造方法

文档序号:8459123阅读:319来源:国知局
一种数据流的处理方法及装置的制造方法
【技术领域】
[0001]本发明属于通信技术领域,尤其涉及一种数据流的处理方法及装置。
【背景技术】
[0002]在分布式网关设备中,一般会包含多块接口板与多块业务板,而且每个业务板中中包括一个或多个能处理业务的CPU(简称业务CPU)。接口板负责接收数据流,并根据该数据流的源地址和目的地址,通过预定算法(例如哈希算法)获得处理该数据流的业务CPU,将该数据流分流到所述业务CPU进行处理。而为了使业务正常,接口板必须将同一数据流分流到同一业务CPU中处理。
[0003]然而,当网关设备增加或减少业务CPU时,选择出的用于处理同一条数据流的业务CPU会发生变化。由于业务CPU在处理每条数据流时,会保存该条数据流对应的会话表等相关信息,在通信过程中更换处理一条数据流业务CPU时,将会引起该条数据流承载的业务中断。如图1所示,当业务板中含有4个业务CPU时,有一条数据流被接口板分流到I号业务CPU处理。当减少一个业务CPU (如图2所示)后,该数据流被接口板分流到3号业务CPU处理,由于3号业务CPU中不存在该数据流的相关信息,导致业务中断。

【发明内容】

[0004]本发明实施例的目的在于提供一种数据流的处理方法及装置,以减少网关设备在增加或减少业务CPU时,业务中断问题出现的几率。
[0005]第一方面,提供了一种数据流的处理方法,应用于包含接口板以及至少一个业务板的网络设备,每个所述业务板包含至少一个业务CPU,所述方法包括:
[0006]第一业务CPU接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
[0007]在所述接口板根据调整之后的业务CPU数量分流之前,所述第一业务CPU针对当前处理的、且未老化的一条数据流,执行:
[0008]根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU ;
[0009]若所述第二业务CPU与所述第一业务CPU不是同一业务CPU,则所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU。
[0010]在第一方面的第一种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
[0011]第一业务CPU根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU包括:
[0012]第一业务CPU获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
[0013]第一业务CPU根据预定的分流算法以及所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
[0014]结合第一方面或第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
[0015]所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
[0016]结合第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,所述第一业务CPU在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
[0017]结合第一方面的第一种可能实施方式或第一方面的第二种可能实施方式或第一方面的第三种可能实施方式,在第一方面的第四种可能实施方式中,所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
[0018]在第一方面的第五种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:
[0019]所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
[0020]所述第一业务CPU针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU之前,还包括:
[0021]第一业务CPU根据所述唯一标识符判断自身是否为待减少的业务CPU ;
[0022]如果所述第一业务CPU确定自身不是待减少的业务CPU,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU的步骤。
[0023]结合第一方面的第五种可能实施方式,在第一方面的第六种可能实施方式中,还包括:
[0024]如果所述第一业务CPU确定自身为待减少的业务CPU,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
[0025]结合第一方面的第六种可能实施方式,在第一方面的第七种可能实施方式中,在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
[0026]所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
[0027]结合第一方面的第五种可能实施方式或第一方面的第六种可能实施方式或第一方面的第七种可能实施方式,在第一方面的第八种可能实施方式中,所述方法还包括:
[0028]若第一业务CPU根据所述唯一标识符判断自身不是待减少的业务CPU,第一业务(PU在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
[0029]第二方面,提供了一种数据流的处理装置,应用于网络设备中的第一业务CPU,所述网络设备包含接口板以及至少一个业务板,所述第一业务CPU位于一个所述业务板上,所述装置包括:
[0030]信息接收单元,用于接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
[0031]备份单元,用于在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,执行:根据预定的分流算法以及所述信息接收单元接收的所述消息中携带的所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU时,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU。
[0032]在第二方面的第一种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
[0033]所述备份单元包括:
[0034]第一处理模块,用于获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
[0035]第二处理模块,用于根据预定的分流算法以及所述第一处理模块获得的所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务 CPU。
[0036]结合第二方面或第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述装置还包括:
[0037]第一信息反馈单元,用于在所述备份单元将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
[0038]结合第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述装置还包括:
[0039]第一信息删除单元,用于在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
[0040]结合第二方面的第一种可能实施方式或第二方面的第二种可能实施方式或第二方面的第三种可能实施方式,在第二方面的第四种可能实施方式中,所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
[0041]在第二方面的第五种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:
[0042]所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
[0043]所述备份单元包括:
[0044]判断模块,用于根据所述唯一标识符判断自身是否为待减少的业务CPU ;
[0045]第三处理模块,用于在所述判断模块判断结果为所述第一业务CPU不是待减少的业务CPU时,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU ;
[0046]第四处理模块,用于在所述判断模块判断结果为所述第一业务CPU为待减少的业务CPU时,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
[0047]结合第二方面的第五种可能实施方式,在第二方面的第六种可能实施方式中,所述装置还包括:
[0048]第二信息反馈单元,用于在所述备份单元将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
[0049]结合第二方面的第五种可能实施方式或第二方面的第六种可能实施方式,在第二方面的第七种可能实施方式中,所述装置还包括:
[0050]第二信息删除单元,用于在所述判断模块判断结果为否时,在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
[0051]本发明实施例与现有技术相比存在的有益效果是:本发明实施例第一业务CPU在接收到网络设备中业务CPU数量调整信息后,可以根据预定的分流算法以及所述CPU数量的变化值,判断业务CPU数量调整之前接口板分流给所述第一业务CPU的数据流是否需要切换到其他业务CPU,若是,将所述第一业务CPU中存储的该数据流的处理信息备份到待切换的业务CPU。通过本发明实施例,当网络设备中业务CPU增加或减少后,在业务板根据调整后的业务CPU分流之前,将要接管原本由其他业务CPU处理的数据流的业务CPU已得到该数据流的处理信息,从而可有效减少业务中断问题出现的几率,提高网络设备工作的稳定性。
【附图说明】
[0052]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1