The embodiment of the present invention provides a message processing method, device, switch device and storage medium. The method is applied to the first thread running in the VSwitch of a virtual switch. The VSwitch has at least two threads. The at least two threads include the first thread. The method includes: acquiring the target message to be processed; carrying the target message based on the said target message. The data flow identification information determines whether the first thread is the processing thread of the target message, in which the data flow identification information is used to identify the data flow to which the target message belongs in order to distinguish the messages of different data streams; if the first thread is determined to be the processing thread of the target message, the target message is processed. The technical scheme provided by the embodiment of the present invention can ensure that multiple messages of the same data stream are processed by the same thread and improve the data processing efficiency.
【技术实现步骤摘要】
一种报文处理方法、装置、交换机设备及存储介质
本专利技术涉及通信
,特别是涉及一种报文处理方法、装置、交换机设备及存储介质。
技术介绍
VSwitch(VirtualSwitch,虚拟交换机)工作在二层数据网络,通过软件方式实现物理交换机的二层(或部分三层)网络功能。VSwitch运行于宿主机中,用于实现报文的转发处理。具体的,VSwitch接收宿主机的物理网卡或安装在宿主机中的虚拟机转发的报文,并通过其自身中运行的线程对所接收到的报文进行封装处理,并将封装处理后的报文转发至作为接收方的目的虚拟机或者目的物理网卡中,其中,报文头相同的报文属于同一数据流。现有技术中,物理网卡或虚拟机分发报文时,可能将属于同一数据流的多个报文分配至VSwitch中的不同线程。当属于同一数据流的多个报文被分配至不同的线程时,不利于数据转发过程中的数据命中等操作,影响数据处理速率。
技术实现思路
本专利技术实施例的目的在于提供一种报文处理方法、装置、交换机设备及存储介质,有效提高数据处理效率。具体技术方案如下:第一方面,本专利技术实施例提供了一种报文处理方法,应用于虚拟交换机VSwitch中运行的第一线程,所述VSwitch中运行有至少两个线程,所述至少两个线程包括所述第一线程,所述方法包括:获取待处理的目标报文;基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程,其中,所述数据流标识信息用于标识所述目标报文所属的数据流,以区分不同数据流的报文;如果确定所述第一线程为所述目标报文的处理线程,对所述目标报文进行报文处理。可选的,在所述基于所述目标报 ...
【技术保护点】
1.一种报文处理方法,其特征在于,应用于虚拟交换机VSwitch中运行的第一线程,所述VSwitch中运行有至少两个线程,所述至少两个线程包括所述第一线程,所述方法包括:获取待处理的目标报文;基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程,其中,所述数据流标识信息用于标识所述目标报文所属的数据流,以区分不同数据流的报文;如果确定所述第一线程为所述目标报文的处理线程,对所述目标报文进行报文处理。
【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于虚拟交换机VSwitch中运行的第一线程,所述VSwitch中运行有至少两个线程,所述至少两个线程包括所述第一线程,所述方法包括:获取待处理的目标报文;基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程,其中,所述数据流标识信息用于标识所述目标报文所属的数据流,以区分不同数据流的报文;如果确定所述第一线程为所述目标报文的处理线程,对所述目标报文进行报文处理。2.根据权利要求1所述的方法,其特征在于,在所述基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程的步骤之后,所述方法还包括:如果确定所述第一线程不为所述目标报文的处理线程,将所述目标报文存入所述目标报文的处理线程对应的缓存队列,以使得所述目标报文的处理线程对所述目标报文进行报文处理,其中,所述目标报文的处理线程为所述至少两个线程中除所述第一线程以外的线程。3.根据权利要求1所述的方法,其特征在于,不同的线程对应不同的哈希值;所述基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程的步骤,包括:计算所述目标报文携带的数据流标识信息的哈希值;基于预设的线程与哈希值的对应关系,确定所述目标报文携带的数据流标识信息的哈希值是否为所述第一线程对应的哈希值;如果所述目标报文携带的数据流标识信息的哈希值为所述第一线程对应的哈希值,确定所述第一线程为所述目标报文的处理线程。4.根据权利要求1所述的方法,其特征在于,在所述获取待处理的目标报文的步骤之后,在所述基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程的步骤之前,所述方法还包括:确定所述目标报文是否为所述至少两个线程中所述第一线程以外的线程所存入所述第一线程对应的缓存队列中的报文;如果所述目标报文为所述至少两个线程中所述第一线程以外的线程所存入所述第一线程对应的缓存队列中的报文,对所述目标报文进行报文处理;所述基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程的步骤,包括:如果所述目标报文不为所述至少两个线程中所述第一线程以外的线程所存入所述第一线程对应的缓存队列中的报文,基于所述目标报文携带的数据流标识信息,确定所述第一线程是否为所述目标报文的处理线程。5.根据权利要求1至4任一项所述的方法,其特征在于,所述数据流标识信息包括:源IP地址和目的IP地址;或者,所述数据流标识信息包括:源IP地址,源端口,目的IP地址,目的端口,和传输层协议。6.一种报文处理装置,其特征在于,应用于虚拟交换机VSwitch中运行的第一线程,所述VSwitch中运行有至少两个线程,所述至少两个线程包括所述...
【专利技术属性】
技术研发人员:董玢,徐凌云,
申请(专利权)人:北京金山云网络技术有限公司,北京金山云科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。