CN104780055B - 一种数据流的处理方法及装置 - Google Patents
一种数据流的处理方法及装置 Download PDFInfo
- Publication number
- CN104780055B CN104780055B CN201410012411.2A CN201410012411A CN104780055B CN 104780055 B CN104780055 B CN 104780055B CN 201410012411 A CN201410012411 A CN 201410012411A CN 104780055 B CN104780055 B CN 104780055B
- Authority
- CN
- China
- Prior art keywords
- business cpu
- business
- cpu
- data flow
- network equipment
- 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.)
- Active
Links
Abstract
本申请适用于通信技术领域,提供了一种数据流的处理方法及装置,所述方法包括:第一业务CPU接收网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;在所述接口板根据调整之后的业务CPU数量分流之前,所述第一业务CPU针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU;若所述第二业务CPU与所述第一业务CPU不是同一业务CPU,则所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU。通过本申请可有效减少业务中断问题出现的几率,提高网络设备工作的稳定性。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种数据流的处理方法及装置。
背景技术
在分布式网关设备中,一般会包含多块接口板与多块业务板,而且每个业务板中中包括一个或多个能处理业务的CPU(简称业务CPU)。接口板负责接收数据流,并根据该数据流的源地址和目的地址,通过预定算法(例如哈希算法)获得处理该数据流的业务CPU,将该数据流分流到所述业务CPU进行处理。而为了使业务正常,接口板必须将同一数据流分流到同一业务CPU中处理。
然而,当网关设备增加或减少业务CPU时,选择出的用于处理同一条数据流的业务CPU会发生变化。由于业务CPU在处理每条数据流时,会保存该条数据流对应的会话表等相关信息,在通信过程中更换处理一条数据流业务CPU时,将会引起该条数据流承载的业务中断。如图1所示,当业务板中含有4个业务CPU时,有一条数据流被接口板分流到1号业务CPU处理。当减少一个业务CPU(如图2所示)后,该数据流被接口板分流到3号业务CPU处理,由于3号业务CPU中不存在该数据流的相关信息,导致业务中断。
发明内容
本发明实施例的目的在于提供一种数据流的处理方法及装置,以减少网关设备在增加或减少业务CPU时,业务中断问题出现的几率。
第一方面,提供了一种数据流的处理方法,应用于包含接口板以及至少一个业务板的网络设备,每个所述业务板包含至少一个业务CPU,所述方法包括:
第一业务CPU接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
在所述接口板根据调整之后的业务CPU数量分流之前,所述第一业务CPU针对当前处理的、且未老化的一条数据流,执行:
根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU;
若所述第二业务CPU与所述第一业务CPU不是同一业务CPU,则所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU。
在第一方面的第一种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
第一业务CPU根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU包括:
第一业务CPU获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
第一业务CPU根据预定的分流算法以及所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
结合第一方面或第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
结合第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,所述第一业务CPU在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
结合第一方面的第一种可能实施方式或第一方面的第二种可能实施方式或第一方面的第三种可能实施方式,在第一方面的第四种可能实施方式中,所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
在第一方面的第五种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
所述第一业务CPU针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU之前,还包括:
第一业务CPU根据所述唯一标识符判断自身是否为待减少的业务CPU;
如果所述第一业务CPU确定自身不是待减少的业务CPU,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU的步骤。
结合第一方面的第五种可能实施方式,在第一方面的第六种可能实施方式中,还包括:
如果所述第一业务CPU确定自身为待减少的业务CPU,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
结合第一方面的第六种可能实施方式,在第一方面的第七种可能实施方式中,在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
结合第一方面的第五种可能实施方式或第一方面的第六种可能实施方式或第一方面的第七种可能实施方式,在第一方面的第八种可能实施方式中,所述方法还包括:
若第一业务CPU根据所述唯一标识符判断自身不是待减少的业务CPU,第一业务CPU在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
第二方面,提供了一种数据流的处理装置,应用于网络设备中的第一业务CPU,所述网络设备包含接口板以及至少一个业务板,所述第一业务CPU位于一个所述业务板上,所述装置包括:
信息接收单元,用于接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
备份单元,用于在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,执行:根据预定的分流算法以及所述信息接收单元接收的所述消息中携带的所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU时,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU。
在第二方面的第一种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
所述备份单元包括:
第一处理模块,用于获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
第二处理模块,用于根据预定的分流算法以及所述第一处理模块获得的所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
结合第二方面或第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述装置还包括:
第一信息反馈单元,用于在所述备份单元将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
结合第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述装置还包括:
第一信息删除单元,用于在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
结合第二方面的第一种可能实施方式或第二方面的第二种可能实施方式或第二方面的第三种可能实施方式,在第二方面的第四种可能实施方式中,所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
在第二方面的第五种可能实施方式中,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
所述备份单元包括:
判断模块,用于根据所述唯一标识符判断自身是否为待减少的业务CPU;
第三处理模块,用于在所述判断模块判断结果为所述第一业务CPU不是待减少的业务CPU时,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU;
第四处理模块,用于在所述判断模块判断结果为所述第一业务CPU为待减少的业务CPU时,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
结合第二方面的第五种可能实施方式,在第二方面的第六种可能实施方式中,所述装置还包括:
第二信息反馈单元,用于在所述备份单元将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
结合第二方面的第五种可能实施方式或第二方面的第六种可能实施方式,在第二方面的第七种可能实施方式中,所述装置还包括:
第二信息删除单元,用于在所述判断模块判断结果为否时,在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例第一业务CPU在接收到网络设备中业务CPU数量调整信息后,可以根据预定的分流算法以及所述CPU数量的变化值,判断业务CPU数量调整之前接口板分流给所述第一业务CPU的数据流是否需要切换到其他业务CPU,若是,将所述第一业务CPU中存储的该数据流的处理信息备份到待切换的业务CPU。通过本发明实施例,当网络设备中业务CPU增加或减少后,在业务板根据调整后的业务CPU分流之前,将要接管原本由其他业务CPU处理的数据流的业务CPU已得到该数据流的处理信息,从而可有效减少业务中断问题出现的几率,提高网络设备工作的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的数据流处理方法的示意图;
图2是现有技术提供的数据流处理方法的另一示意图;
图3是本发明一实施例提供的网络设备的组成结构图;
图4是本发明一实施例提供的数据流处理方法的实现流程图;
图5是本发明一实施例提供的64个节点的哈希表的示意图;
图6是本发明一实施例提供的每个业务CPU的编号分配区域预编排的示意图;
图7是本发明一实施例提供的业务CPU增加后编号分配区域重新编排的示意图;
图8是本发明一实施例提供的业务CPU减少后编号分配区域重新编排的示意图;
图9是本发明一实施例提供的数据流处理装置的组成结构图;
图10是本发明一实施例提供的数据流处理装置的另一组成结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
图3为本发明实施例提供的网络设备的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
如图3所示,所述网络设备包括接口板1以及业务板2,所述接口板1与所述业务板2连接通信。其中,所述业务板2包含至少一个业务CPU(示例性的,图中示出二个业务CPU,分别为第一业务CPU21和第二业务CPU22)。当然网络设备中也可以包含多个业务板,在这里为简明起见,仅以一个业务板为例进行介绍。
需要说明的是,现有技术在业务CPU数量调整之后,接口板1是直接根据调整后的业务CPU数量进行数据流的分流,由于各业务CPU中存储的数据流的相关信息未及时调整,从而容易导致业务中断的问题。本实施例为解决上述问题,业务板2中的第一业务CPU21在接收到所述网络设备中业务CPU数量调整消息之后,且在所述接口板1根据调整之后的业务CPU数量分流之前,所述第一业务CPU21根据预定的分流算法以及所述消息中携带的所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理当前数据流的第二业务CPU22,并在所述第二业务CPU22与所述第一业务CPU21不是同一业务CPU时,将所述第一业务CPU21中保存的所述数据流的处理信息备份到所述第二业务CPU22。其中,所述数据流为所述第一业务CPU21当前处理的、且未老化的一条数据流。
通过本实施例,当网络设备中业务CPU增加或减少后,各业务CPU中存储的数据流的相关信息也会相应的调整,从而可有效减少业务中断问题出现的几率,提高网络设备工作的稳定性。
在本实施例中,所述业务CPU数量调整的消息包括业务CPU数量增加的消息或业务CPU数量减少的消息。
具体的,当所述业务CPU数量调整的消息为业务CPU数量增加的消息时,第一业务CPU21获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述消息中携带的业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;第一业务CPU21根据预定的分流算法以及所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU22。
进一步的,所述第一业务CPU21在将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU21向所述接口板1反馈已备份信息,以使得所述接口板1在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU21和所述第二业务CPU22发送通知信息。
进一步的,为减少数据冗余,节省业务CPU的存储空间,本实施例还包括:
第一业务CPU21在接收到接口板1发送的所述通知信息后,删除已备份到第二业务CPU22的所述数据流的处理信息。
优选的是,所述业务板2还可以包括第三业务CPU23,所述网络设备中业务CPU数量调整消息可以是新增加的第三业务CPU23发送给所述第一业务CPU21的。
另外,当所述业务CPU数量调整的信息为业务CPU数量减少的消息时,所述消息包含至少一个待减少的业务CPU的唯一标识符。
具体的是,在所述第一业务CPU针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU之前,还包括:
第一业务CPU21根据所述唯一标识符判断自身是否为待减少的业务CPU,如果所述第一业务CPU确定自身不是待减少的业务CPU,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU;若为待减少的业务CPU,将所述第一业务CPU21中保存的所有数据流的处理信息备份到待切换的业务CPU,所述待切换的业务CPU为除所述第一业务CPU21之外的一个或多个业务CPU,所述待切换的业务CPU可以包含第二业务CPU22和/或第三业务CPU23,也可以不包含第二业务CPU22和/或第三业务CPU23,所述待切换的业务CPU最终根据预定的分流算法以及所述业务CPU的预期数量确定,例如第一业务CPU21根据预定的分流算法以及所述业务CPU的预期数量确定数量调整之前第一业务CPU21处理的第一数据流需要切换到第二业务CPU22,第一业务CPU21处理的第二数据流需要切换到第三业务CPU23,则将第一业务CPU21中存储的所述第一数据流的处理信息备份到所述第二业务CPU22,将第一业务CPU21中存储的所述第二数据流的处理信息备份到所述第三业务CPU23。
需要说明的是,当第一业务CPU为待减少业务CPU时,需要将其存储的所有数据流的处理信息备份到其他业务CPU,例如第一数据流的处理信息备份到第二业务CPU,第二数据流的处理信息备份到第三业务CPU等。而当第一业务CPU不是待减少业务CPU时,则只需要确定当前处理的数据流是否需要切换,如果是,则将该数据流的处理信息备份到待切换的业务CPU。
进一步的,所述第一业务CPU在将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
进一步的,本实施例还包括:
若第一业务CPU根据所述唯一标识符判断自身不是待减少的业务CPU,第一业务CPU在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
需要说明的是,在减少业务CPU时,除待减少业务CPU将其存储的数据流的相关信息备份到待切换的业务CPU外,网络设备中的其他业务CPU在数量调整之前处理的数据流也可能被切换,因此也需要将这些业务CPU内存储的数据流的相关信息备份到待切换的业务CPU。在本实施例中,当各个业务CPU在备份完待切换数据流的相关信息后,或者所述接口板1在按照切换后的业务CPU进行数据流的分流之前,向所述网络设备反馈调整已完成信息,所述网络设备向用户显示所述调整已完成信息(所述调整已完成信息可进一步包含待减少业务CPU的唯一标识符),以便于用户拔出所述待减少业务CPU。
示例性的,所述网络设备还可进一步包括主控板,所述主控板利用各种接口和线路连接所述网络设备的各个部分,向接口板1和业务板2发送控制指令(例如业务CPU数量调整的信息等),并接收接口板1和业务板2反馈的信息(例如调整已完成信息等)等。可选的,所述主控板可包括一个或多个处理单元。
另外,所述网络设备还可进一步输入单元和显示单元。
所述输入单元可用于接收输入的数字或字符信息,以及产生与网络设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给主控板,并能接收主控板发来的命令并加以执行。除了触控面板,输入单元还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、按钮(比如CPU数量调整按钮、音量控制按钮、开关按钮等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元可用于显示由用户输入的信息或提供给用户的信息以及网络设备的各种菜单。显示单元可包括显示面板,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给主控板以确定触摸事件的类型,随后主控板根据触摸事件的类型在显示面板上提供相应的视觉输出。
其中,所述主控板分别与所述接口板、业务板、输入单元以及显示单元连接。
需要说明的是,本实施例第一业务CPU、第二业务CPU以及第三业务CPU均指某一业务CPU,“第一、第二、第三”在此仅为表述和指代的方便,并不意味着在本发明的具体实现方式中一定会有与之对应的第一业务CPU、第二业务CPU以及第三业务CPU。
本领域技术人员可以理解,图3中示出的组成结构并不构成对所述网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于图3所示网络设备的组成结构,本发明实施例提供了一种数据流的处理方法,如图4所示,本实施例的流程执行主体可以是图3所示网络设备中的第一业务CPU21,该方法过程详述如下:
在步骤S401中,第一业务CPU接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值。
在本实施例中,所述业务CPU数量调整的消息包括业务CPU数量增加的消息或业务CPU数量减少的消息。
在实际应用中,可以预先在网络设备中设置一业务CPU数量调整按钮或者业务CPU数量调整指令,网络设备在接收到用户点击所述按钮或者发出的所述指令后,通过网络设备中的控制主板向各个业务CPU发送网络设备中业务CPU数量调整的信息。
示例性的,本实施例所述业务CPU数量调整指令可以优选为:在监测到用户在网络设备触摸屏上的触摸动作为两点触摸且滑动轨迹为纵向相对滑动后,判断两触摸点纵向相对滑动的位移是否同时大于预设的第一阈值、所述两触摸点最终落点的距离差是否小于预设的第二阈值、且所述两触摸点滑动的速度是否同时大于预设的第三阈值;或者在监测到所述触摸动作为两点触摸且所述滑动轨迹为相反方向滑动后,判断两触摸点相反方向滑动的位移是否同时大于预设的第一阈值、所述两触摸点最终落点的距离差是否大于预设的第四阈值、且所述两触摸点滑动的速度是否同时大于预设的第三阈值,若是(即上述三个条件判断结果都为“是”),则判定为业务CPU数量调整指令;若否(上述三个条件的判断结果至少有一个为“否”),则不执行,结束当前操作。
作为本发明的一个较佳示例,所述网络设备中业务CPU数量调整消息还可以是新增加的业务CPU发送给各个业务CPU的。
在步骤S402中,第一业务CPU在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU时,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU。
在本实施例中,所述业务CPU数量的变化值可以是业务CPU数量变化后的值,也可以是业务CPU数量的增加值或者减少值。例如,网络设备在接收到用户点击所述按钮或者发出的所述指令后,所述指令携带有所述业务CPU数量的增加值或者减少值,通过网络设备中的控制主板将所述业务CPU数量的增加值或者减少值发送给所述第一业务CPU;或者所述控制主板根据所述业务CPU数量的增加值或者减少值以及所述网络设备调整之前业务CPU的数量确定出调整之后所述网络设备中业务CPU的预期数量,并将所述预期数量发送给所述第一业务CPU。
进一步的,当所述网络设备中业务CPU数量调整的消息为所述网络设备中业务CPU数量增加的消息时,所述消息携带有所述业务CPU数量的增加值;
第一业务CPU根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU具体包括:
第一业务CPU获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
第一业务CPU根据预定的分流算法以及所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
进一步的,所述第一业务CPU在将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
进一步的,为减少数据冗余,节省业务CPU的存储空间,本实施例还包括:
第一业务CPU在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
在本实施例中,当所述业务CPU数量调整的信息为业务CPU数量增加的消息时,第一业务CPU获得调整之后所述网络设备中业务CPU的预期数量,并根据预定的分流算法以及所述业务CPU的预期数量,判断调整之前所述接口板分流给所述第一业务CPU的数据流是否需要切换到其他业务CPU,若是,将所述第一业务CPU中存储的该数据流的处理信息备份到待切换的业务CPU(如第二业务CPU),并向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。第一业务CPU在接收到所述接口板的通知信息后,删除已备份到待切换业务CPU的数据流的处理信息。其中,所述其他业务CPU为CPU数量调整之后除所述第一业务CPU之外一个或多个业务CPU。
需要说明的是,在各个业务CPU的数据流的处理信息备份完成之前,接口板接收到数据流后,将按调整前的业务CPU数量进行数据流的分流。
进一步的,当所述业务CPU数量调整的信息为业务CPU数量减少的消息时,所述消息包含至少一个待减少的业务CPU的唯一标识符。
具体的是,在所述第一业务CPU针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU之前,还包括:
第一业务CPU根据所述唯一标识符判断自身是否为待减少的业务CPU,如果所述第一业务CPU确定自身不是待减少的业务CPU,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU;如果所述第一业务CPU确定自身为待减少的业务CPU,将所述第一业务CPU中保存的所有数据流的处理信息备份到待切换的业务CPU,所述待切换的业务CPU为除所述第一业务CPU之外的一个或多个业务CPU,所述待切换的业务CPU可以包含第二业务CPU和/或第三业务CPU,也可以不包含第二业务CPU和/或第三业务CPU,所述待切换的业务CPU最终根据预定的分流算法以及所述业务CPU的预期数量确定,例如第一业务CPU根据预定的分流算法以及所述业务CPU的预期数量确定数量调整之前第一业务CPU处理的第一数据流需要切换到第二业务CPU,第一业务CPU处理的第二数据流需要切换到第三业务CPU,则将第一业务CPU中存储的所述第一数据流的处理信息备份到所述第二业务CPU,将第一业务CPU中存储的所述第二数据流的处理信息备份到所述第三业务CPU。
需要说明的是,当第一业务CPU为待减少业务CPU时,需要将其存储的所有数据流的处理信息备份到其他业务CPU,例如第一数据流的处理信息备份到第二业务CPU,第二数据流的处理信息备份到第三业务CPU等。而当第一业务CPU不是待减少业务CPU时,则只需要确定当前处理的数据流是否需要切换,如果是,则将该数据流的处理信息备份到待切换的业务CPU。
进一步的,所述第一业务CPU在将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
进一步的,本实施例还包括:
若第一业务CPU根据所述唯一标识符判断自身不是待减少的业务CPU,第一业务CPU在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
需要说明的是,在减少业务CPU时,除待减少业务CPU将其存储的数据流的相关信息备份到待切换的业务CPU外,网络设备中的其他业务CPU在数量调整之前处理的数据流也可能被切换,因此也需要将这些业务CPU内存储的数据流的相关信息备份到待切换的业务CPU。在本实施例中,当各个业务CPU在备份完待切换数据流的相关信息后,或者所述接口板1在按照切换后的业务CPU进行数据流的分流之前,向所述网络设备反馈调整已完成信息,所述网络设备向用户显示所述调整已完成信息(所述调整已完成信息可进一步包含待减少业务CPU的唯一标识符),以便于用户拔出所述待减少业务CPU。另外,在网络设备显示所述调整已完成信息到用户拔出所述待减少业务CPU的过程中,若接口板接收到数据流,则按调整后的业务CPU数量进行数据流的分流。
为了更好的理解本发明实施例,下面通过示例进行说明:
接口板和各个业务CPU中都保存一个相同的哈希表,在该哈希表内存放各个业务CPU的编号,该哈希表可以如图5所示,图5为64个节点的哈希表的示例。图5中的0-63个区域中(图5中的数字为此区域的序号),每个区域都可以存放处理数据流的业务CPU编号。接口板在接收到一个数据流后,对该数据流的源地址和目的地址进行哈希,获得0-63之间的一个数,根据获得的数在图5的对应区域获取处理该数据流的业务CPU的编号。
例如,当一台网络设备有一块接口板和三个业务CPU,这三个业务CPU分别在1号、2号、3号槽位。根据业务CPU所在的槽位对三个业务CPU分别编号为1、2、3,并按预定的编排方式为每个业务CPU的编号分配区域,图6给出了一种为每个业务CPU分配区域的方式。如图6所示,当接口板根据接收到的数据流1的源地址和目的地址,通过哈希算法获得数字为8,此时接口板会在8区域中取出存放在8区域中的编号,从图6可以看出,8区域中存放的编号为3,因此接口板将数据流1发送至3号业务CPU。
当增加一个业务CPU时,将按照上述编排方式重新为64个区域分配业务CPU的编号,获得一张新的信息表,如图7所示。从图7可以看出,8区域中存放的编号为1,即接口板会将数据流1切换至1号业务CPU。为避免数据流在通信的过程中更换业务CPU,引起业务中断,本实施例在数据流1引流之前,将3号业务CPU中存储的数据流1的处理信息(包括数据流1的会话表等信息)备份到1号业务CPU。图7中黑色部分(即图6与图7相同区域不同编号部分)为需要备份的业务CPU。
当在图7的基础上减少一个业务CPU时,将按照上述编排方式重新为64个区域分配业务CPU的编号,获得一张新的信息表,如图8所示。从图8可以看出,8区域中存放的编号为1,即接口板会将数据流1切换至3号业务CPU。为避免数据流在通信的过程中更换业务CPU,引起业务中断,本实施例在数据流1引流之前,将1号业务CPU中存储的数据流1的处理信息(包括数据流1的会话表等信息)备份到3号业务CPU。图8中黑色部分(即图7与图8相同区域不同编号部分)为需要备份的业务CPU。
通过本发明实施例,当网络设备中业务CPU增加或减少后,各个业务CPU中存储的数据流的处理信息也会相应的调整,从而可有效减少业务中断问题出现的几率,提高网络设备工作的稳定性。
图9示出了本发明另一实施例提供的数据流处理装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该数据流处理装置9可以应用于图3所示的第一业务CPU21中。
该数据流处理装置9具体包括信息接收单元91以及备份单元92。其中,各单元的具体功能如下:
信息接收单元91,用于接收所述网络设备中业务CPU数量调整的消息,所述消息携带所述业务CPU数量的变化值;
备份单元92,用于在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,执行:根据预定的分流算法以及所述信息接收单元91接收的所述消息中携带的所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU时,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU。
进一步的,所述网络设备中业务CPU数量调整的消息包括:所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
所述备份单元92包括:
第一处理模块921,用于获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
第二处理模块922,用于根据预定的分流算法以及所述第一处理模块921获得的所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
进一步的,所述装置9还包括:
第一信息反馈单元93,用于在所述备份单元92将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
进一步的,所述装置9还包括:
第一信息删除单元94,用于在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
优选的是,所述网络设备中业务CPU数量调整消息可以是新增加的第三业务CPU发送给所述第一业务CPU的。
进一步的,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
所述备份单元92包括:
判断模块923,用于根据所述唯一标识符判断自身是否为待减少的业务CPU;
第三处理模块924,用于在所述判断模块923判断结果为所述第一业务CPU不是待减少的业务CPU时,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU;
第四处理模块925,用于在所述判断模块923判断结果为所述第一业务CPU为待减少的业务CPU时,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
进一步的,所述装置9还包括:
第二信息反馈单元95,用于在所述备份单元92将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
进一步的,所述装置9还包括:
第二信息删除单元96,用于在所述判断模块923判断结果为否时,在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。
图10示出了本发明另一实施例提供的数据流处理装置的组成结构,本发明实施例提供的数据流处理装置可以用于实施图4对应实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的。
该数据流处理装置10应用于图3所示的第一业务CPU21中。
该数据流处理装置10有一个或者一个以上(图中仅示出一个)处理核心的处理器101以及包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器102。
其中,存储器102可用于存储软件程序以及模块,如上述实施例中数据流处理方法对应的程序指令,处理器101通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理、备份等。存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器等。
处理器101是数据流处理装置10的控制中心,利用各种接口和线路连接整个数据流处理装置10中的各个部分,通过运行或执行存储在存储器102内的软件程序和/或模块,以及调用存储在存储器102内的数据,执行数据流处理装置10的各种功能和处理数据。可选的,处理器101可以包括一个或多个处理单元,还可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器101中。
需要说明的是,本领域技术人员可以理解,该数据流处理装置10还可以包括显示器103以及收发器104,所述显示器103可以用于显示数据流处理过程中需要与用户进行交互的界面。所述收发器104用于接收或者发送数据流处理过程中相关的信息或数据。所述处理器101分别与存储器102、显示器103以及收发器104相连接。
具体在本实施例中,所述数据流处理装置10包括:一个或者一个以上的处理器;存储器;以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,执行:根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU时,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
所述网络设备中业务CPU数量调整的消息包括:所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU包括:
获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
根据预定的分流算法以及所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
在第一或第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
在保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
在第二、三或四种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
所述在所述接口板根据调整之后的业务CPU数量分流之前,针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU之前,还包括:
第一业务CPU根据所述唯一标识符判断自身是否为待减少的业务CPU;
如果所述第一业务CPU确定自身不是待减少的业务CPU,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
如果所述第一业务CPU确定自身为待减少的业务CPU,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
在第七种可能的实施方式作为基础而提供的第八种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
在第六、七或八任一种可能的实施方式作为基础而提供的第九种可能的实施方式中,所述数据流处理装置10的存储器中,还包含用于执行以下操作的指令:
在根据所述唯一标识符判断自身不是待减少的业务CPU时,若检测到所述待减少业务CPU被拔出,删除已备份到所述第二业务CPU的数据流的处理信息。
本领域技术人员可以理解,图10中示出的组成结构并不构成对数据流处理装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
综上所述,本发明实施例第一业务CPU在接收到网络设备中业务CPU数量调整信息后,可以根据预定的分流算法以及所述CPU数量的变化值,判断业务CPU数量调整之前接口板分流给所述第一业务CPU的数据流是否需要切换到其他业务CPU,若是,将所述第一业务CPU中存储的该数据流的处理信息备份到待切换的业务CPU。通过本发明实施例,当网络设备中业务CPU增加或减少后,各个业务CPU中存储的数据流的处理信息也会相应的调整,从而可有效减少业务中断问题出现的几率,提高网络设备工作的稳定性。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的网络设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明实施例各个实施例中的各功能单元可以集成在一个控制器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (17)
1.一种数据流的处理方法,应用于包含接口板以及至少一个业务板的网络设备,每个所述业务板包含至少一个业务CPU,其特征在于,所述方法包括:
第一业务CPU接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
在所述接口板根据调整之后的业务CPU数量分流之前,所述第一业务CPU针对当前处理的、且未老化的一条数据流,执行:
根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU;
若所述第二业务CPU与所述第一业务CPU不是同一业务CPU,则所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU。
2.如权利要求1所述的方法,其特征在于,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
第一业务CPU根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU包括:
第一业务CPU获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
第一业务CPU根据预定的分流算法以及所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
3.如权利要求1或2所述的方法,其特征在于,在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一业务CPU在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
5.如权利要求2或4所述的方法,其特征在于,所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
6.如权利要求1所述的方法,其特征在于,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
所述第一业务CPU针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU之前,还包括:
第一业务CPU根据所述唯一标识符判断自身是否为待减少的业务CPU;
如果所述第一业务CPU确定自身不是待减少的业务CPU,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU的步骤。
7.如权利要求6所述的方法,其特征在于,还包括:
如果所述第一业务CPU确定自身为待减少的业务CPU,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
8.如权利要求7所述的方法,其特征在于,在所述第一业务CPU将保存的所述数据流的处理信息备份到所述第二业务CPU之后,还包括:
所述第一业务CPU向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
9.如权利要求6至8任一项所述的方法,其特征在于,所述方法还包括:
若第一业务CPU根据所述唯一标识符判断自身不是待减少的业务CPU;第一业务CPU在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
10.一种数据流的处理装置,其特征在于,应用于网络设备中的第一业务CPU,所述网络设备包含接口板以及至少一个业务板,所述第一业务CPU位于一个所述业务板上,所述装置包括:
信息接收单元,用于接收所述网络设备中业务CPU数量调整消息,所述消息携带所述业务CPU数量的变化值;
备份单元,用于在所述接口板根据调整之后的业务CPU数量分流之前,针对所述第一业务CPU当前处理的、且未老化的一条数据流,执行:根据预定的分流算法以及所述信息接收单元接收的所述消息中携带的所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU时,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU。
11.如权利要求10所述的装置,其特征在于,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量增加的消息,所述消息携带所述业务CPU数量的增加值;
所述备份单元包括:
第一处理模块,用于获得调整之后所述网络设备中业务CPU的预期数量,所述业务CPU的预期数量是根据所述业务CPU数量的增加值以及所述网络设备调整之前业务CPU的数量确定出的;
第二处理模块,用于根据预定的分流算法以及所述第一处理模块获得的所述业务CPU的预期数量,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU。
12.如权利要求10或11所述的装置,其特征在于,所述装置还包括:
第一信息反馈单元,用于在所述备份单元将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流,并在分流前向所述第一业务CPU和所述第二业务CPU发送通知信息。
13.如权利要求12所述的装置,其特征在于,所述装置还包括:
第一信息删除单元,用于在接收到接口板发送的所述通知信息后,删除已备份到第二业务CPU的所述数据流的处理信息。
14.如权利要求11或13所述的装置,其特征在于,所述网络设备中业务CPU数量调整消息是新增加的第三业务CPU发送给所述第一业务CPU的。
15.如权利要求10所述的装置,其特征在于,所述网络设备中业务CPU数量调整的消息包括:
所述网络设备中业务CPU数量减少的消息,所述消息包含至少一个待减少的业务CPU的唯一标识符;
所述备份单元包括:
判断模块,用于根据所述唯一标识符判断自身是否为待减少的业务CPU;
第三处理模块,用于在所述判断模块判断结果为所述第一业务CPU不是待减少的业务CPU时,则执行所述针对当前处理的、且未老化的一条数据流,根据预定的分流算法以及所述业务CPU数量的变化值,确定所述网络设备中的业务CPU数量调整之后处理所述数据流的第二业务CPU,并在所述第二业务CPU与所述第一业务CPU不是同一业务CPU,将所述第一业务CPU保存的所述数据流的处理信息备份到所述第二业务CPU;
第四处理模块,用于在所述判断模块判断结果为所述第一业务CPU为待减少的业务CPU时,将所述第一业务CPU中保存的所有数据流的处理信息备份到除所述第一业务CPU之外的一个或多个业务CPU。
16.如权利要求15所述的装置,其特征在于,所述装置还包括:
第二信息反馈单元,用于在所述备份单元将保存的所述数据流的处理信息备份到所述第二业务CPU之后,向所述接口板反馈已备份信息,以使得所述接口板在接收到所有业务CPU反馈的已备份信息后,按照调整后的业务CPU数量进行数据流的分流。
17.如权利要求15或16述的装置,其特征在于,所述装置还包括:
第二信息删除单元,用于在所述判断模块判断结果为否时,在检测到所述待减少业务CPU被拔出后,删除已备份到所述第二业务CPU的数据流的处理信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410012411.2A CN104780055B (zh) | 2014-01-10 | 2014-01-10 | 一种数据流的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410012411.2A CN104780055B (zh) | 2014-01-10 | 2014-01-10 | 一种数据流的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104780055A CN104780055A (zh) | 2015-07-15 |
CN104780055B true CN104780055B (zh) | 2018-03-06 |
Family
ID=53621314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410012411.2A Active CN104780055B (zh) | 2014-01-10 | 2014-01-10 | 一种数据流的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104780055B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108574587B (zh) * | 2017-03-09 | 2020-07-24 | 华为技术有限公司 | 分布式设备的容量更新方法及装置 |
CN108574626A (zh) * | 2017-03-13 | 2018-09-25 | 中兴通讯股份有限公司 | 一种分布式nat双机热备份流量切换系统和方法 |
CN111526067B (zh) * | 2020-04-26 | 2021-11-12 | 恒安嘉新(北京)科技股份公司 | 一种网络分流器和网络分流器的通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
CN101262506A (zh) * | 2008-04-21 | 2008-09-10 | 杭州华三通信技术有限公司 | 分布式架构下的网络地址转换端口资源分配方法及系统 |
EP1976195A1 (en) * | 2007-03-30 | 2008-10-01 | Lucent Technologies Inc. | Method and apparatus for Mac address learning |
CN102932281A (zh) * | 2012-10-31 | 2013-02-13 | 华为技术有限公司 | 一种资源的动态分配方法及设备 |
-
2014
- 2014-01-10 CN CN201410012411.2A patent/CN104780055B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1976195A1 (en) * | 2007-03-30 | 2008-10-01 | Lucent Technologies Inc. | Method and apparatus for Mac address learning |
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
CN101262506A (zh) * | 2008-04-21 | 2008-09-10 | 杭州华三通信技术有限公司 | 分布式架构下的网络地址转换端口资源分配方法及系统 |
CN102932281A (zh) * | 2012-10-31 | 2013-02-13 | 华为技术有限公司 | 一种资源的动态分配方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104780055A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144063B (zh) | 软件应用的自动保存模式及手动保存模式 | |
US20090282332A1 (en) | Apparatus, method and computer program product for selecting multiple items using multi-touch | |
CN104780055B (zh) | 一种数据流的处理方法及装置 | |
CN104731443B (zh) | 一种批注实现方法及装置 | |
CN105094627B (zh) | 浏览器页面的控制方法及装置 | |
CN103389926B (zh) | 一种用于对虚拟磁盘进行备份的方法和装置 | |
CN107623787A (zh) | 一种角标信息处理方法及终端 | |
CN104360805A (zh) | 应用程序图标管理方法及装置 | |
CN102207823A (zh) | 应用程序的显示方法和装置 | |
CN107203307A (zh) | 一种图标管理方法及移动终端 | |
CN103229487A (zh) | 分布式存储系统中的分区平衡方法、装置及服务器 | |
CN103713828A (zh) | 一种两个桌面图标碰撞删除的方法 | |
CN106648329A (zh) | 一种应用图标的显示方法及移动终端 | |
CN107533694A (zh) | 基于云的文件向通信的智能附加 | |
CN107390991A (zh) | 一种截图的处理方法及移动终端 | |
CN103914227B (zh) | 信息处理方法和电子设备 | |
CN106909488A (zh) | 一种cpu温度控制方法及终端 | |
CN103927084A (zh) | 消息编辑中输入表情的方法 | |
CN102682020B (zh) | 文件管理系统及方法 | |
CN104182533B (zh) | 一种浏览器标签切换方法、装置及终端 | |
CN104750401B (zh) | 一种触控方法、相关装置以及终端设备 | |
CN104881222B (zh) | 一种人机交互方法及装置 | |
CN110018800A (zh) | 分布式存储系统中归置组选主方法、装置、设备和介质 | |
CN103970790B (zh) | 报表组合方法及设备 | |
CN106227451A (zh) | 一种移动终端的操作方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |