报文处理方法以及报文解析模块技术

技术编号:33795550 阅读:66 留言:0更新日期:2022-06-12 14:58
本说明书实施例提供报文处理方法以及报文解析模块,其中所述报文处理方法应用于报文解析模块,包括:对第一会话的第一报文数据进行解析,获取所述第一报文数据的第一会话标识,并将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域;对第二会话的第二报文数据进行解析,获取所述第二报文数据的第二会话标识;在所述第二会话标识与所述第一会话标识相同的情况下,将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域;或在所述第二会话标识与所述第一会话标识不同的情况下,将所述第二会话的第二报文数据存储至所述第二会话标识对应的状态缓存区域,以实现利用一个报文解析模块就可以对多路会话的报文数据进行处理。会话的报文数据进行处理。会话的报文数据进行处理。

【技术实现步骤摘要】
报文处理方法以及报文解析模块


[0001]本说明书实施例涉及计算机
,特别涉及一种报文处理方法。

技术介绍

[0002]FPGA(Field Programmable GateArray)是一种电路逻辑器件,同时具有静态可重复编程和在线动态重构特性,这种电路功能表现为硬件,但是却可以像软件一样通过编程的方式来修改,大大提高了电子系统的通用性和设计灵活性。随着网络通信流量的迅速增长,在应用层的客户通道数较大时,FPGA芯片可使用堆叠技术实现多路会话报文数据的接收并解析处理,即可以理解为每路会话报文数据可利用专属的报文解析模块进行处理,以支持对多个客户通道的会话数据,但由于FPGA芯片内部的逻辑资源是有限的,这种实现方式不仅不能继续扩展支持更多的客户通道,还导致FPGA芯片内部布线资源的消耗较大。

技术实现思路

[0003]有鉴于此,本说明书实施例提供了一种报文处理方法。本说明书一个或者多个实施例同时涉及一种报文解析模块,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本说明书实施例的第一方面,提供了一种报文处理方法,应用于报文解析模块,包括:对第一会话的第一报文数据进行解析,获取所述第一报文数据的第一会话标识,并将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域;对第二会话的第二报文数据进行解析,获取所述第二报文数据的第二会话标识;在所述第二会话标识与所述第一会话标识相同的情况下,将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域;或在所述第二会话标识与所述第一会话标识不同的情况下,将所述第二会话的第二报文数据存储至所述第二会话标识对应的状态缓存区域。
[0005]根据本说明书实施例的第二方面,提供了一种报文解析模块,包括:报文解析单元,被配置为对第一会话的第一报文数据进行解析,获取所述第一报文数据的第一会话标识,并将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域;报文解析单元,进一步被配置为对第二会话的第二报文数据进行解析,获取所述第二报文数据的第二会话标识;报文存储单元,被配置为在所述第二会话标识与所述第一会话标识相同的情况下,将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域;或在所述第二会话标识与所述第一会话标识不同的情况下,将所述第二会话的第二报文数据存储至所述第二会话标识对应的状态缓存区域。
[0006]根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述报文处理方法的步骤。
[0007]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述报文处理方法的步骤。
[0008]根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述报文处理方法的步骤。
[0009]本说明书一个实施例提供的报文处理方法,应用于报文解析模块,通过对第一会话的第一报文数据进行解析,获取所述第一报文数据的第一会话标识,并将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域;对第二会话的第二报文数据进行解析,获取所述第二报文数据的第二会话标识;在所述第二会话标识与所述第一会话标识相同的情况下,将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域;或在所述第二会话标识与所述第一会话标识不同的情况下,将所述第二会话的第二报文数据存储至所述第二会话标识对应的状态缓存区域。
[0010]具体的,利用报文解析模块,通过根据每一路会话报文数据的会话标识,对报文数据存储至状态缓存区域,且属于同一会话标识的报文数据可以存储在同一个状态缓存区域中,以实现利用一个报文解析模块就可以对多路会话的报文数据进行处理,这样在FPGA芯片中,一个报文解析模块不仅能够支持多路会话的报文数据,以扩展更多的客户通道,在物理层面上还可大大节省FPGA芯片内部布线资源的消耗。
附图说明
[0011]图1是本说明书一个实施例提供的一种报文处理方法中FPGA使用堆叠技术实现多会话报文解析的示意图;图2是本说明书一个实施例提供的一种报文处理方法中FPGA使用单个报文解析模块的多会话报文解析的示意图;图3是本说明书一个实施例提供的一种报文处理方法的流程图;图4是本说明书一个实施例提供的一种报文处理方法的状态缓存管理的示意图;图5是本说明书一个实施例提供的一种报文处理方法对单会话通道接收到的报文数据的处理过程流程图;图6是本说明书一个实施例提供的一种报文处理方法对多会话通道接收的报文数据的处理过程流程图;图7是本说明书一个实施例提供的一种报文解析模块的结构示意图;图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0012]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0013]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,
而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0014]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0015]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0016]FPGA芯片:(Field-Programmable Gate Array),即现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
[0017]粘包:在基于TCP开发应用的语境下,其实有两种“包”,其一是TCP在传输的时候封装的报文,分为包头和负载,其二是应用开发者在应用层封装的报文结构;粘包是指用户数据被TCP发出去的时候,存在多个小尺寸数据被封装在一个TCP报文中发出去的可能性,即先被发送的数据可能需要等待一段时间,才能跟后面被发送的数据一起组成报文发出去。
[0018]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于报文解析模块,所述方法包括:对第一会话的第一报文数据进行解析,获取所述第一报文数据的第一会话标识,并将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域;对第二会话的第二报文数据进行解析,获取所述第二报文数据的第二会话标识;在所述第二会话标识与所述第一会话标识相同的情况下,将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域;或在所述第二会话标识与所述第一会话标识不同的情况下,将所述第二会话的第二报文数据存储至所述第二会话标识对应的状态缓存区域。2.根据权利要求1所述的报文处理方法,其特征在于,所述将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域之后,还包括:从所述第一会话标识对应的状态缓存区域中,获取所述第一报文数据以及所述第二报文数据;将所述第一报文数据以及所述第二报文数据进行拼接处理,获得拼接报文数据;在所述拼接报文数据的报文字节数满足预设字节数阈值的情况下,输出所述拼接报文数据。3.根据权利要求1所述的报文处理方法,其特征在于,所述将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域之前,还包括:对第一会话的第一报文数据进行解析,获取所述第一报文数据的包尾处理信息以及包头处理信息;基于所述包头处理信息确定所述第一报文数据的第一报文字节数,在确定所述第一报文字节数满足预设字节数阈值的情况下,输出所述第一报文数据;或在确定所述第一报文字节数不满足预设字节数阈值的情况下,将所述第一报文数据的包尾处理信息、包头处理信息存储至第一会话标识对应的状态缓存区域。4.根据权利要求3所述的报文处理方法,其特征在于,所述在确定所述第一报文字节数不满足预设字节数阈值的情况下之后,还包括:基于所述第一报文字节数确定所述第一报文数据的残包位置信息,并将所述残包位置信息存储至第一会话标识对应的状态缓存区域。5.根据权利要求4所述的报文处理方法,其特征在于,所述将所述第一报文数据以及所述第二报文数据进行拼接处理,获得拼接报文数据,包括:从所述第一会话标识对应的状态缓存区域中,获取所述第一报文数据的包尾处理信息、包头处理信息以及残包位置信息;基于所述包尾处理信息、所述包头处理信息以及所述残包位置信息,将所述第一报文数据以及所述第二报文数据进行拼接处理,获得拼接报文数据。6.根据权利要求1所述的报文处理方法,其特征在于,所述将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域,包括:在所述第一会话标识对应的状态缓存区域中,为所述第一报文数据分配第一缓存地址,并将所述第一报文数据存储至所述第一缓存地址所指向的状态缓存区域的空间;相应地,所述将所述第一报文数据存储至所述第一会话标识对应的状态缓存区域之后,还包括:
在接收到所述第一报文数据的报错信息的情况下,将所述第一报文数据从所述第一缓存地址中删除。7.根据权利要求1所述的报文处理方法,其特征在于,所述将所述第二会话的第二报文数据存储至所述第一会话标识对应的状态缓存区域,包括:在所述第一会话标识对应的状态缓存区域中,为所述第二报文数据分配第二缓存地址,并将所述第二...

【专利技术属性】
技术研发人员:李瑞琴金幸杰施梦娇蔡鹏陈竞飞
申请(专利权)人:恒生电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1