数据分流方法及分流器的制造方法_5

文档序号:8415537阅读:来源:国知局
的数据流的标识信息,所述数据流的标识信息用于区分所述数据包所属的数据流; 所述分流器根据所述传输层通信协议和分流表的对应关系,从所述存储器中获取所述数据包所属的传输层通信协议对应的分流表; 所述分流器根据所述数据包所属的传输层通信协议对应的分流表中的数据流的标识信息和线程的对应关系,确定所述数据包所属的数据流对应的线程; 所述分流器将所述数据包发送至所述数据流对应的线程的缓冲队列,以使所述数据流对应的线程从所述缓冲队列获取数据包。
2.根据权利要求1所述的方法,其特征在于,若所述数据包所属的传输层通信协议为面向无连接的传输层通信协议,则所述数据流的标识信息为所述数据包的二元组,所述二元组包括:所述数据包的目的IP地址和目的端口 ; 所述面向无连接的传输层通信协议对应的分流表包括: 二元组与线程标示符的对应关系,每个线程标示符对应一个线程。
3.根据权利要求2所述的方法,其特征在于,所述分流器根据所述数据包所属的传输层通信协议对应的分流表中的数据流的标识信息和线程的对应关系,确定所述数据包所属的数据流对应的线程包括: 所述分流器在所述数据包所属面向无连接的传输层通信协议对应的分流表中的二元组与线程标示符的对应关系中,查找所述数据包的二元组对应的线程标示符; 所述分流器将所述数据包的二元组对应的线程标示符对应的线程确定为所述数据包所属的数据流对应的线程。
4.根据权利要求1所述的方法,其特征在于,若所述数据包所属的传输层通信协议为面向连接的传输层通信协议,则所述数据流的标识信息为所述数据包的四元组,所述四元组包括:所述数据包的源IP地址,源端口、目的IP地址和目的端口 ; 所述面向连接的传输层通信协议对应的分流表包括:第一分流表和第二分流表; 所述第一分流表包括:四元组与线程标示符的对应关系,每个线程标示符对应一个线程; 所述第二分流表包括:目的IP地址和目的端口与线程标示符的对应关系,每个线程标示符对应一个线程,及每个线程的负载; 其中,目的IP地址和目的端口对应的线程为不同进程中的线程。
5.根据权利要求4所述的方法,其特征在于,所述分流器根据所述数据包所属的传输层通信协议对应的分流表中的数据流的标识信息和线程的对应关系,确定所述数据包所属的数据流对应的线程包括: 所述分流器在所述数据包所属的面向连接的传输层通信协议对应的第一分流表中的四元组与线程标示符的对应关系中,查找所述数据包的四元组对应的线程标示符; 若所述第一分流表中存在所述数据包的四元组对应的线程标识符,则所述分流器将所述数据包的四元组对应的线程标示符对应的线程确定为所述数据包所属的数据流对应的线程; 若所述第一分流表中不存在所述数据包的四元组对应的线程标示符,则所述分流器在所述数据包所属的面向连接的传输层通信协议对应的第二分流表中的目的IP地址和目的端口与线程标示符的对应关系中,查找所述数据包的目的IP地址和目的端口对应的线程标示符; 所述分流器将所述数据包的目的IP地址和目的端口对应的线程标识符对应的线程中负载最小的线程确定为所述数据包所属的数据流对应的线程。
6.根据权利要求2-5任一所述的方法,其特征在于,所述线程标识符为线程对应的缓冲队列地址。
7.根据权利要求1-6任一所述的方法,其特征在于,所述方法还包括: 所述分流器根据线程的状态更新分流表。
8.一种分流器,其特征在于,应用于数据分流系统中,所述数据分流系统中还包括存储器和用于处理数据的多个线程,每个线程对应一个缓冲队列,所述存储器存储有传输层通信协议和分流表的对应关系,每个分流表中设置有数据流的标识信息和线程的对应关系,所述分流器包括: 解析单元,用于对所接收的数据包进行解析确定所述数据包所属的传输层通信协议; 第一获取单元,用于从所述数据包中,获取与确定的所述传输层通信协议对应的所述数据包所属的数据流的标识信息,所述数据流的标识信息用于区分所述数据包所属的数据流; 第二获取单元,用于根据所述传输层通信协议和分流表的对应关系中,从所述存储器中获取所述数据包所属的传输层通信协议对应的分流表; 确定单元,用于根据所述数据包所属的传输层通信协议对应的分流表中的数据流的标识信息和线程的对应关系,确定所述数据包所属的数据流对应的线程; 发送单元,用于将所述数据包发送至所述数据流对应的线程的缓冲队列,以使所述数据流对应的线程从所述缓冲队列获取数据包。
9.根据权利要求8所述的分流器,其特征在于,若所述数据包所属的传输层通信协议为面向无连接的传输层通信协议,则所述数据流的标识信息为所述数据包的二元组,所述二元组包括:所述数据包的目的IP地址和目的端口 ; 所述面向无连接的传输层通信协议对应的分流表包括: 二元组与线程标示符的对应关系,每个线程标示符对应一个线程。
10.根据权利要求9所述的分流器,其特征在于,所述确定单元具体用于: 在所述数据包所属面向无连接的传输层通信协议对应的分流表中的二元组与线程标示符的对应关系中,查找所述数据包的二元组对应的线程标示符; 将所述数据包的二元组对应的线程标示符对应的线程确定为所述数据包所属的数据流对应的线程。
11.根据权利要求8所述的分流器,其特征在于,所述面向连接的传输层通信协议对应的分流表包括:第一分流表和第二分流表; 所述第一分流表包括:四元组与线程标示符的对应关系,每个线程标示符对应一个线程; 所述第二分流表包括:目的IP地址和目的端口与线程标示符的对应关系,每个线程标示符对应一个线程,及每个线程的负载; 其中,目的IP地址和目的端口对应的线程为不同进程中的线程。
12.根据权利要求11所述的分流器,其特征在于,所述确定单元具体用于: 在所述数据包所属的面向连接的传输层通信协议对应的第一分流表中的四元组与线程标示符的对应关系中,查找所述数据包的四元组对应的线程标示符; 若所述第一分流表中存在所述数据包的四元组对应的线程标识符,则将所述数据包的四元组对应的线程标示符对应的线程确定为所述数据包所属的数据流对应的线程; 若所述第一分流表中不存在所述数据包的四元组对应的线程标示符,则在所述数据包所属的面向连接的传输层通信协议对应的第二分流表中的目的IP地址和目的端口与线程标示符的对应关系中,查找所述数据包的目的IP地址和目的端口对应的线程标示符; 将所述数据包的目的IP地址和目的端口对应的线程标识符对应的线程中负载最小的线程确定为所述数据包所属的数据流对应的线程。
13.根据权利要求9-12任一所述的分流器,其特征在于,所述线程标识符为线程对应的缓冲队列地址。
14.根据权利要求8-13任一所述的分流器,其特征在于,所述分流器还包括: 更新单元,用于根据线程的状态更新分流表。
【专利摘要】本发明涉及一种数据分流方法及分流器。该数据分流方法包括:分流器对所接收的数据包进行解析确定所述数据包所属的传输层通信协议;所述分流器从所述数据包中,获取与确定的所述传输层通信协议对应的所述数据包所属的数据流的标识信息;所述分流器根据所述传输层通信协议和分流表的对应关系,从所述存储器中获取所述数据包所属的传输层通信协议对应的分流表;所述分流器根据所述数据包所属的传输层通信协议对应的分流表中的数据流的标识信息和线程的对应关系,确定所述数据包所属的数据流对应的线程;所述分流器将所述数据包发送至所述数据流对应的线程的缓冲队列,以使所述数据流对应的线程从所述缓冲队列获取数据包。
【IPC分类】H04L12-863
【公开号】CN104734993
【申请号】CN201310721545
【发明人】唐继元, 黄彬, 陈克平
【申请人】杭州华为数字技术有限公司
【公开日】2015年6月24日
【申请日】2013年12月24日
【公告号】WO2015096655A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1