【技术实现步骤摘要】
本专利技术涉及网络设备
,具体涉及一种网络设备中的数据处理方法及系统。
技术介绍
网络设备一般根据功能可以划分为控制面以及数据面两部分,其中控制面用于处理网络设备之间的协议包,承担对网络设备配置管理的功能;数据面用于从网络设备的网卡接收发送数据包、解析数据包、根据会话表处理数据包,数据面是网络设备核心的业务逻辑单元。在数据面软件升级时,数据面进程重启会导致网络设备停止从网卡收发数据包,同时会引起数据面进程的内存中保存的会话表等核心数据结构丢失,进而引起网络流量中断。在现有技术中,为了避免数据面升级过程中网络流量中断,通常采取双机热备的方法,即在网络中同时接入两台网络设备,一台网络设备为主设备,承担数据包收发、处理等工作,另一台网络设备为备设备,处于休眠状态。在网络通信过程中主设备把会话表同步给备设备,在主设备升级时,备设备迅速接替主设备完成数据包的转发、处理等工作,但是这种方式需要在网络中同时接入两台网络设备,硬件成本较高。
技术实现思路
有鉴于此,本专利技术提供一种网络设备中的数据处理方法及系统,以解决现有技术中为避免网络流量中断而造成硬件成本较高的技术问题。为解决上述问题,本专利技术提供的技术方案如下:一种网络设备中的数据处理方法,所述方法应用于网络设备的数据面,所述数据面包括数据包收发进程、第一数据包处理进程、第一共享内存区域以及第二共享内存区域,所述第一共享内存区域被映射到所述数据包收发进程的进程空间以及所述第一数据包处理进程的进程空间,所述第二共享内存区域被映射到所述第一数据包处理进程的进程空间;所述方法包括:所述数据包收发进程接收数据包并将 ...
【技术保护点】
一种网络设备中的数据处理方法,其特征在于,所述方法应用于网络设备的数据面,所述数据面包括数据包收发进程、第一数据包处理进程、第一共享内存区域以及第二共享内存区域,所述第一共享内存区域被映射到所述数据包收发进程的进程空间以及所述第一数据包处理进程的进程空间,所述第二共享内存区域被映射到所述第一数据包处理进程的进程空间;所述方法包括:所述数据包收发进程接收数据包并将所述数据包放入所述第一共享内存区域;所述第一数据包处理进程从所述第一共享内存区域获取所述数据包,并根据会话表对所述数据包进行处理,所述会话表以及处理后需要缓存的数据包保存于所述第二共享内存区域;根据网络设备升级程序,第二数据包处理进程启动;所述第二数据包处理进程将所述第一共享内存区域以及所述第二共享内存区域映射到所述第二数据包处理进程的进程空间;所述第二数据包处理进程向所述第一数据包处理进程发送升级通知;所述第一数据包处理进程收到所述升级通知后,停止从所述第一共享内存区域获取所述数据包,在处理完成已经获取的数据包后向所述第二数据包处理进程发送处理完成通知,并退出进程;所述第二数据包处理进程接收到所述处理完成通知后,变更为所述第一 ...
【技术特征摘要】
1.一种网络设备中的数据处理方法,其特征在于,所述方法应用于网络设备的数据面,所述数据面包括数据包收发进程、第一数据包处理进程、第一共享内存区域以及第二共享内存区域,所述第一共享内存区域被映射到所述数据包收发进程的进程空间以及所述第一数据包处理进程的进程空间,所述第二共享内存区域被映射到所述第一数据包处理进程的进程空间;所述方法包括:所述数据包收发进程接收数据包并将所述数据包放入所述第一共享内存区域;所述第一数据包处理进程从所述第一共享内存区域获取所述数据包,并根据会话表对所述数据包进行处理,所述会话表以及处理后需要缓存的数据包保存于所述第二共享内存区域;根据网络设备升级程序,第二数据包处理进程启动;所述第二数据包处理进程将所述第一共享内存区域以及所述第二共享内存区域映射到所述第二数据包处理进程的进程空间;所述第二数据包处理进程向所述第一数据包处理进程发送升级通知;所述第一数据包处理进程收到所述升级通知后,停止从所述第一共享内存区域获取所述数据包,在处理完成已经获取的数据包后向所述第二数据包处理进程发送处理完成通知,并退出进程;所述第二数据包处理进程接收到所述处理完成通知后,变更为所述第一数据包处理进程。2.根据权利要求1所述的方法,其特征在于,所述第一共享内存区域包括正向环形缓存队列、反向环形缓存队列以及数据包内存池;所述数据包收发进程接收数据包并将所述数据包放入所述第一共享内存区域,包括:所述数据包收发进程接收数据包将所述数据包放入所述数据包内存池,并将所述数据包在所述数据包内存池中的索引放入所述正向环形缓存队列。3.根据权利要求2所述的方法,其特征在于,所述第一数据包处理进程从所述第一共享内存区域获取所述数据包,并根据会话表对所述数据包进行处理,包括:所述第一数据包处理进程根据所述正向环形缓存队列中的所述数据包在所述数据包内存池中的索引获取所述数据包;所述根据会话表对所述数据包进行处理,将处理后需要丢弃的数据包丢弃,将处理后需要缓存的数据包放入所述第二共享内存区域,将处理后需要发出的数据包放入所述数据包内存池,并将所述需要发出的数据包在所述数据包内存池中的索引放入所述反向环形缓存队列,以使所述数据包收发进程根据所述反向环形缓存队列中的所述需要发出的数据包在所述数据包内存池中的索引获取所述需要发出的数据包进行发送。4.根据权利要求1或3所述的方法,其特征在于,所述方法还包括:所述第一数据包处理进程每次从所述第一共享内存区域获取一个数据包之后,将正在处理数据包计数器加一,在每次根据会话表对一个数据包进行处理之后,将所述正在处理数据包计数器减一。5.根据权利要求4所述的方法,其特征在于,所述在处理完成已经获取...
【专利技术属性】
技术研发人员:李拓,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。