CN115208941B - 一种基于会话连接的数据处理方法及系统 - Google Patents
一种基于会话连接的数据处理方法及系统 Download PDFInfo
- Publication number
- CN115208941B CN115208941B CN202210828244.3A CN202210828244A CN115208941B CN 115208941 B CN115208941 B CN 115208941B CN 202210828244 A CN202210828244 A CN 202210828244A CN 115208941 B CN115208941 B CN 115208941B
- Authority
- CN
- China
- Prior art keywords
- session
- information
- security service
- connection
- private data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 181
- 230000008569 process Effects 0.000 claims abstract description 142
- 238000012545 processing Methods 0.000 claims description 32
- 238000013523 data management Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000007726 management method Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种基于会话连接的数据处理方法及系统,涉及网络通信技术领域。该基于会话连接的数据处理方法包括:在基础转发进程中根据预设会话规格预申请会话内存池;基于所述会话内存池进行成员初始化操作,建立与所述基础转发进程对应的报文转发通道,所述基础转发进程对应多个安全业务引擎,每个所述安全业务引擎独立运行不同的安全业务进程;基于所述基础转发进程接收用户端发送的报文请求数据;根据所述报文请求数据建立连接会话,生成会话信息;将所述会话信息转发至对应的安全业务进程,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理。该方法可以实现提高多类型安全业务引擎协同运行稳定性的技术效果。
Description
技术领域
本申请涉及网络通信技术领域,具体而言,涉及一种基于会话连接的数据处理方法、系统、电子设备及计算机可读存储介质。
背景技术
目前,随着网络技术的快速发展,网络通信传输流量日益增大,在网络通信串行流量安全监测过程中利用会话维护连接状态并将安全业务引擎处理的私有数据信息存储到会话上是一种实现高性能网络通信的基本方法。会话维护client和server之间的通信关系与详细信息,根据源目的地址端口、协议和虚系统六个元素进行创建、查询会话表项并记录安全业务引擎私有数据地址。
现有技术中,随着安全业务引擎的种类越来越多,会话维护不同种类安全业务引擎私有数据的压力会越来越大。在串行流量处理过程中,一个安全业务引擎操作私有数据异常都可能会影响其他安全业务引擎功能甚至是整个进程,很难保证多个安全业务引擎运行的稳定性。
发明内容
本申请实施例的目的在于提供一种基于会话连接的数据处理方法、系统、电子设备及计算机可读存储介质,可以实现提高多类型安全业务引擎协同运行稳定性的技术效果。
第一方面,本申请实施例提供了一种基于会话连接的数据处理方法,包括:
在基础转发进程中根据预设会话规格预申请会话内存池;
基于所述会话内存池进行成员初始化操作,建立与所述基础转发进程对应的报文转发通道,所述基础转发进程对应多个安全业务引擎,每个所述安全业务引擎独立运行不同的安全业务进程;
基于所述基础转发进程接收用户端发送的报文请求数据;
根据所述报文请求数据建立连接会话,生成会话信息;
将所述会话信息转发至对应的安全业务进程,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理。
在上述实现过程中,该基于会话连接的数据处理方法通过将基础转发进程的连接会话与安全业务引擎的私有数据分离,每个安全业务进程通过会话信息建立与连接会话之间的映射关系,每个安全业务进程独立维护私有数据信息;从而,每个安全业务引擎只读会话信息、可独立维护对应的私有数据,可以满足不同安全业务引擎之间会话数据之间的隔离,可以有效保证基础转发进程、不同安全业务引擎之间运行稳定性;此外,在多核场景下,尤其是在安全业务引擎种类比较多的情况下,该方法可以有效降低会话维护不同私有数据信息的压力,提高安全业务引擎处理会话私有数据性能;从而,该方法可以实现提高多类型安全业务引擎协同运行稳定性的技术效果。
进一步地,在所述根据所述报文请求数据建立连接会话,生成会话信息的步骤之前,包括:
解析所述报文请求数据。
在上述实现过程中,对客户端发送的报文请求数据进行解析,获得相应的解析结果,从而根据解析结果建立连接会话。
进一步地,所述将所述会话信息转发至对应的安全业务进程的步骤之后,所述方法还包括:
将所述会话信息记录至报文载体。
进一步地,各个所述安全业务引擎以独立进程、绑定独立CPU的方式运行,通过dpdk无锁队列建立所述报文转发通道、通过共享内存只读映射所述会话信息,根据所述预设会话规格预申请私有数据管理头的内存池并完成成员初始化。
在上述实现过程中,底层通过dpdk无锁队列实现基础转发进程与安全业务进程间的报文转发。
进一步地,所述安全业务进程从所述dpdk无锁队列接收报文并获取所述会话信息,所述会话信息包括会话详细信息、会话标识信息、会话年龄信息,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理的步骤,包括:
通过所述会话标识信息计算偏移量信息;
根据所述偏移量信息索引到所述会话内存池中对应的私有数据管理头并记录私有数据的内存地址信息;
同步所述会话年龄信息。
在上述实现过程中,通过会话标识信息,私有数据与连接会话建立一一映射关系,根据会话标识信息计算内存池地址偏移,可以快速索引对应的私有数据管理头从而操作对应的安全业务引擎的私有数据;通过会话年龄信息保证连接会话的私有数据有效性。
进一步地,所述方法还包括:
在所述连接会话建立后的后续报文根据预设调度单元策略依次转发到不同的安全业务进程进行业务处理,通过所述会话标识信息快速索引私有数据管理头并获取私有数据信息。
进一步地,所述方法还包括:
所述连接会话的连接流量传输结束或所述连接会话超时删除时,将所述会话标识信息封装到队列消息;
将所述队列消息发送至各个所述安全业务进程并释放私有数据内存。
第二方面,本申请实施例提供了一种基于会话连接的数据处理系统,包括:
预申请模块,用于在基础转发进程中根据预设会话规格预申请会话内存池;
初始化模块,用于基于所述会话内存池进行成员初始化操作,建立与所述基础转发进程对应的报文转发通道,所述基础转发进程对应多个安全业务引擎,每个所述安全业务引擎独立运行不同的安全业务进程;
报文请求模块,用于基于所述基础转发进程接收用户端发送的报文请求数据;
会话建立模块,用于根据所述报文请求数据建立连接会话,生成会话信息;
转发管理模块,用于将所述会话信息转发至对应的安全业务进程,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理。
进一步地,会话建立模块还用于:解析所述报文请求数据。
进一步地,所述基于会话连接的数据处理系统还包括:
报文记录模块,用于将所述会话信息记录至报文载体。
进一步地,所述安全业务进程从所述dpdk无锁队列接收报文并获取所述会话信息,所述会话信息包括会话详细信息、会话标识信息、会话年龄信息,所述转发管理模块具体用于:
通过所述会话标识信息计算偏移量信息;
根据所述偏移量信息索引到所述会话内存池中对应的私有数据管理头并记录私有数据的内存地址信息;
同步所述会话年龄信息。
进一步地,所述基于会话连接的数据处理系统还包括:
后续报文处理模块,用于在所述连接会话建立后的后续报文根据预设调度单元策略依次转发到不同的安全业务进程进行业务处理,通过所述会话标识信息快速索引私有数据管理头并获取私有数据信息。
进一步地,所述基于会话连接的数据处理系统还包括:
会话结束模块,用于所述连接会话的连接流量传输结束或所述连接会话超时删除时,将所述会话标识信息封装到队列消息;将所述队列消息发送至各个所述安全业务进程并释放私有数据内存。
第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的客户端和服务器之间连接会话的结构框图;
图2为本申请实施例提供的一种基于会话连接的数据处理方法的流程示意图;
图3为本申请实施例提供的另一种基于会话连接的数据处理方法的流程示意图;
图4为本申请实施例提供的会话池的结构框图;
图5为本申请实施例提供的私有数据管理头内存池的结构框图;
图6为本申请实施例提供的连接会话创建私有数据的流程示意图;
图7为本申请实施例提供的后续报文处理的流程示意图;
图8为本申请实施例提供的删除私有数据的流程示意图;
图9为本申请实施例提供的基于会话连接的数据处理系统的结构框图;
图10为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例提供了一种基于会话连接的数据处理方法、系统、电子设备及计算机可读存储介质,可以应用于自定义网关及相应产品中;该基于会话连接的数据处理方法通过将基础转发进程的连接会话与安全业务引擎的私有数据分离,每个安全业务进程通过会话信息建立与连接会话之间的映射关系,每个安全业务进程独立维护私有数据信息;从而,每个安全业务引擎只读会话信息、可独立维护对应的私有数据,可以满足不同安全业务引擎之间会话数据之间的隔离,可以有效保证基础转发进程、不同安全业务引擎之间运行稳定性;此外,在多核场景下,尤其是在安全业务引擎种类比较多的情况下,该方法可以有效降低会话维护不同私有数据信息的压力,提高安全业务引擎处理会话私有数据性能;从而,该方法可以实现提高多类型安全业务引擎协同运行稳定性的技术效果。
请参见图1,图1文本申请实施例提供的客户端和服务器之间连接会话的结构框图。
示例性地,如图1所示,连接会话与私有数据实现分离,在基础转发进程上维护客户端与服务器之间的连接会话,不同的安全业务引擎独立运行在不同的进程,每个安全业务进程只读会话信息,独立维护当前进程会话私有数据信息。
请参见图2,图2为本申请实施例提供的一种基于会话连接的数据处理方法的流程示意图,该基于会话连接的数据处理方法包括如下步骤:
S100:在基础转发进程中根据预设会话规格预申请会话内存池。
示例性地,在系统启动前,基础转发进程根据系统会话规格(预设会话规格)预申请会话内存池,根据会话内存池实现连接会话和对应的私有数据分离,以及对私有数据的管理。
S200:基于会话内存池进行成员初始化操作,建立与基础转发进程对应的报文转发通道,基础转发进程对应多个安全业务引擎,每个安全业务引擎独立运行不同的安全业务进程。
示例性地,在接收客户端发送的报文请求数据前,基于会话内存池进行成员初始化操作,每个安全业务引擎进程独立维护连接会话的私有数据信息,初始化预申请一块内存池。
S300:基于基础转发进程接收用户端发送的报文请求数据。
S400:根据报文请求数据建立连接会话,生成会话信息。
示例性地,接收到用户端发送的报文请求数据后,对报文请求数据进行解析,从而建立客户端和服务器之间的连接会话,并生成对应的会话信息,对连接会话进行记录和管理。
S500:将会话信息转发至对应的安全业务进程,安全业务进程根据会话信息对连接会话的私有数据进行管理。
示例性地,连接会话在基础转发进程中管理,对应的私有数据在安全业务进程中管理,实现连接会话和私有数据的分离;不同的安全业务进程/引擎的私有数据与连接会话建立逻辑映射。从而,任何一个安全业务进程/引擎存在私有数据操作异常都不会影响基础转发以及其他安全业务进程。
在一些实施方式中,该基于会话连接的数据处理方法通过将基础转发进程的连接会话与安全业务引擎的私有数据分离,每个安全业务进程通过会话信息建立与连接会话之间的映射关系,每个安全业务进程独立维护私有数据信息;从而,每个安全业务引擎只读会话信息、可独立维护对应的私有数据,可以满足不同安全业务引擎之间会话数据之间的隔离,可以有效保证基础转发进程、不同安全业务引擎之间运行稳定性;此外,在多核场景下,尤其是在安全业务引擎种类比较多的情况下,该方法可以有效降低会话维护不同私有数据信息的压力,提高安全业务引擎处理会话私有数据性能;从而,该方法可以实现提高多类型安全业务引擎协同运行稳定性的技术效果。
请参见图3,图3为本申请实施例提供的另一种基于会话连接的数据处理方法的流程示意图。
示例性地,S400:根据报文请求数据建立连接会话,生成会话信息的步骤之前,包括:
S310:解析报文请求数据。
示例性地,对客户端发送的报文请求数据进行解析,获得相应的解析结果,从而根据解析结果建立连接会话。
在一些实施方式中,解析报文请求数据的为客户端首次发送的报文请求数据,即首包数据。
示例性地,S500:将会话信息转发至对应的安全业务进程的步骤之后,方法还包括:
将会话信息记录至报文载体。
示例性地,各个安全业务引擎以独立进程、绑定独立CPU的方式运行,通过dpdk无锁队列建立报文转发通道、通过共享内存只读映射会话信息,根据预设会话规格预申请私有数据管理头的内存池并完成成员初始化。
示例性地,底层通过dpdk无锁队列实现基础转发进程与安全业务进程间的报文转发。
示例性地,中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
示例性地,安全业务进程从dpdk无锁队列接收报文并获取会话信息,会话信息包括会话详细信息、会话标识信息、会话年龄信息,S500:安全业务进程根据会话信息对连接会话的私有数据进行管理的步骤,包括:
S501:通过会话标识信息计算偏移量信息;
S502:根据偏移量信息索引到会话内存池中对应的私有数据管理头并记录私有数据的内存地址信息;
S503:同步会话年龄信息。
示例性地,通过会话标识信息,私有数据与连接会话建立一一映射关系,根据会话标识信息计算内存池地址偏移,可以快速索引对应的私有数据管理头从而操作对应的安全业务引擎的私有数据。
示例性地,通过会话年龄信息保证连接会话的私有数据有效性;可选地,不同安全业务引擎私有数据与会话建立逻辑映射,任何一个安全业务引擎存在私有数据操作异常都不会影响基础转发以及其他安全业务进程。
示例性地,会话标识信息即会话的身份识别(ID,Identity Document)信息。
请参见图4,图4为本申请实施例提供的会话池的结构框图。
示例性地,连接会话与私有数据之间的分离,依赖于会话标识信息、会话年龄信息、系统会话总数(即预设会话规格)三个基本属性,系统初始化过程中会预申请一块内存池,如下图所示,内存池中会话成员数量是系统会话总数n,成员大小就是会话结构体大小,基础转发进程在创建会话时会从会话池中获取一个空闲的会话并初始化结构体成员,会话标识信息是通过每个会话成员的首地址距离内存池首地址除以会话结构体大小得到的一个偏移值;会话年龄信息在会话创建、删除过程中不断累加更新用于保证连接的有效性;除了这些会话还会保存一个连接的详细信息(即会话详细信息),如五元组、邻居等。
请参见图5,图5为本申请实施例提供的私有数据管理头内存池的结构框图。
示例性地,将同一进程串行执行的安全业务引擎分离到不同的独立进程并绑定CPU,每个安全业务引擎进程独立维护会话私有数据信息,初始化预申请一块内存池;结合图5,内存池成员大小为私有数据管理头大小,成员数量为系统会话总数n,每一个私有数据管理头成员通过内存池起始地址偏移会话标识信息乘以管理头大小索引得到,私有数据管理头中的Age同步更新会话年龄、priva_data保存私有数据的内存地址信息。
请参见图6,图6为本申请实施例提供的连接会话创建私有数据的流程示意图。
示例性地,如图6所示,在创建连接会话对应的私有数据时,串行流量在基础转发进程上新建连接会话并通过调度器依次跨核转发到每个独立安全业务引擎进程,每个安全业务引擎进程获取报文请求数据上保存的会话信息,获取会话标识信息,然后根据会话标识信息计算偏移得到对应的私有数据管理头,记录安全业务引擎私有数据的内存地址信息、会话年龄信息。
在一些实施方式中,基于会话连接的数据处理方法还包括:
在连接会话建立后的后续报文根据预设调度单元策略依次转发到不同的安全业务进程进行业务处理,通过会话标识信息快速索引私有数据管理头并获取私有数据信息。
请参见图7,图7为本申请实施例提供的后续报文处理的流程示意图。
示例性地,在获取、更新会话私有数据时,串行流量在基础转发进程上查询会话并根据会话信息及调度器规则转发到对应的安全业务进程,同样根据会话标识信息获取到对应的私有数据管理头,检查会话年龄信息,保证会话私有数据的有效性。
示例性地,基于会话连接的数据处理方法还包括:
连接会话的连接流量传输结束或连接会话超时删除时,将会话标识信息封装到队列消息;
将队列消息发送至各个安全业务进程并释放私有数据内存。
请参见图8,图8为本申请实施例提供的删除私有数据的流程示意图。
示例性地,在删除连接会话对应的私有数据时,基础转发进程上的会话老化或者正常删除都会通过队列消息将会话标识信息通知对应的安全业务进程,安全业务进程根据会话标识信息,索引到对应的私有数据并进行释放。
在一些实施场景中,本申请实施例提供的基于会话连接的数据处理方法,可应用于多核架构下的安全设备如防火墙、VPN的安全引擎私的会话私有数据设计与实现。
示例性地,本申请实施例基于全自主定义安全防护网关产品,阐述使用本发明提出的一种会话与私有安全引擎私有数据分离的方法,在全自主定义安全防护网关产品中通过将安全业务引擎与基础转发进程分离,每个安全业务引擎独立进程运行并维护会话私有数据,从而提升多引擎协同运行的稳定性;按照本申请详细描述中的方法,具体的流程示例如下:
1)系统启动,基础转发进程根据系统会话规格预申请会话内存池。
2)安全网关产品各个安全业务引擎以独立进程、绑定独立cpu的方式运行,通过dpdk无锁队列建立报文转发通道、通过共享内存只读映射会话信息,根据系统会话规格预申请私有数据管理头内存池并完成成员初始化。
3)基础转发进程接收报文,解析首包并创建连接会话、记录会话详细、会话标识信息、会话年龄信息等。通过全自主流量调度单元选路转发到对应的安全业务进程,并将会话记录到报文载体上。
4)安全业务进程从dpdk无锁队列接收报文并获取会话信息,通过会话标识信息计算偏移量快速索引到内存池中对应的私有数据管理头并记录私有数据内存地址、同步会话年龄。
5)连接会话建立之后的后续报文根据调度单元策略依次转发到不同的安全业务进程进行业务处理,通过会话标识信息快速索引私有数据管理头并获取私有数据信息。
6)一条接连流量传输结束,会话超时删除,将会话标识信息封装到队列消息通知各个安全业务进程释放私有数据内存。
示例性地,根据本申请实施例提供的基于会话连接的数据处理方法,将保存在会话上的安全业务引擎私有数据信息分离到不同的安全业务进程,每个安全业务进程预分配一块用于私有数据管理内存池,通过会话标识信息与会话建立映射关系,根据会话标识信息计算内存池地址偏移可以快速索引对应的私有数据管理头从而操作对应的安全业务引擎私有数据;底层通过dpdk无锁队列实现基础转发进程与安全业务进程间的报文转发,通过会话年龄保证会话私有数据的有效性。不同安全业务引擎私有数据与会话建立逻辑映射,任何一个安全业务引擎存在私有数据操作异常都不会影响基础转发以及其他安全业务进程。
示例性地,本申请实施例提供的基于会话连接的数据处理方法具备如下优点:每个安全业务引擎只读会话信息、独立维护私有数据,可以满足不同安全业务引擎之间会话数据隔离;可以有效保证基础转发进程、不同安全业务引擎之间运行稳定性;在多核场景下,尤其是在安全业务引擎种类比较多的情况下,可以有效降低会话维护不同私有数据信息的压力,提高安全业务引擎处理会话私有数据性能。
请参见图9,图9为本申请实施例提供的基于会话连接的数据处理系统的结构框图,基于会话连接的数据处理系统包括:
预申请模块100,用于在基础转发进程中根据预设会话规格预申请会话内存池;
初始化模块200,用于基于会话内存池进行成员初始化操作,建立与基础转发进程对应的报文转发通道,基础转发进程对应多个安全业务引擎,每个安全业务引擎独立运行不同的安全业务进程;
报文请求模块300,用于基于基础转发进程接收用户端发送的报文请求数据;
会话建立模块400,用于根据报文请求数据建立连接会话,生成会话信息;
转发管理模块500,用于将会话信息转发至对应的安全业务进程,安全业务进程根据会话信息对连接会话的私有数据进行管理。
示例性地,会话建立模块400还用于:解析报文请求数据。
示例性地,基于会话连接的数据处理系统还包括:报文记录模块,用于将会话信息记录至报文载体。
示例性地,安全业务进程从dpdk无锁队列接收报文并获取会话信息,会话信息包括会话详细信息、会话标识信息、会话年龄信息,转发管理模块具体用于:
通过会话标识信息计算偏移量信息;
根据偏移量信息索引到会话内存池中对应的私有数据管理头并记录私有数据的内存地址信息;
同步会话年龄信息。
示例性地,基于会话连接的数据处理系统还包括:后续报文处理模块,用于在连接会话建立后的后续报文根据预设调度单元策略依次转发到不同的安全业务进程进行业务处理,通过会话标识信息快速索引私有数据管理头并获取私有数据信息。
示例性地,基于会话连接的数据处理系统还包括:会话结束模块,用于连接会话的连接流量传输结束或连接会话超时删除时,将会话标识信息封装到队列消息;将队列消息发送至各个安全业务进程并释放私有数据内存。
需要注意的是,图9所示的基于会话连接的数据处理系统与图1至图8所示的方法实施例相对应,为避免重复,此处不再赘述。
本申请还提供一种电子设备,请参见图10,图10为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器510可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
存储器530可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,电子设备可以执行上述图1至图8方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
所述存储器530、存储控制器、处理器510、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图10所示的结构仅为示意,所述电子设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种基于会话连接的数据处理方法,其特征在于,包括:
在基础转发进程中根据预设会话规格预申请会话内存池;
基于所述会话内存池进行成员初始化操作,建立与所述基础转发进程对应的报文转发通道,所述基础转发进程对应多个安全业务引擎,每个所述安全业务引擎独立运行不同的安全业务进程;
基于所述基础转发进程接收用户端发送的报文请求数据;
根据所述报文请求数据建立连接会话,生成会话信息;
将所述会话信息转发至对应的安全业务进程,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理;
其中,各个所述安全业务引擎以独立进程、绑定独立CPU的方式运行,通过dpdk无锁队列建立所述报文转发通道、通过共享内存只读映射所述会话信息,根据所述预设会话规格预申请私有数据管理头的内存池并完成成员初始化;
所述安全业务进程从所述dpdk无锁队列接收报文并获取所述会话信息,所述会话信息包括会话详细信息、会话标识信息、会话年龄信息,所述会话详细信息包括五元组,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理的步骤,包括:
通过所述会话标识信息计算偏移量信息;
根据所述偏移量信息索引到所述会话内存池中对应的私有数据管理头并记录私有数据的内存地址信息;
同步所述会话年龄信息。
2.根据权利要求1所述的基于会话连接的数据处理方法,其特征在于,在所述根据所述报文请求数据建立连接会话,生成会话信息的步骤之前,包括:
解析所述报文请求数据。
3.根据权利要求2所述的基于会话连接的数据处理方法,其特征在于,所述将所述会话信息转发至对应的安全业务进程的步骤之后,所述方法还包括:
将所述会话信息记录至报文载体。
4.根据权利要求1所述的基于会话连接的数据处理方法,其特征在于,所述方法还包括:
在所述连接会话建立后的后续报文根据预设调度单元策略依次转发到不同的安全业务进程进行业务处理,通过所述会话标识信息快速索引私有数据管理头并获取私有数据信息。
5.根据权利要求1所述的基于会话连接的数据处理方法,其特征在于,所述方法还包括:
所述连接会话的连接流量传输结束或所述连接会话超时删除时,将所述会话标识信息封装到队列消息;
将所述队列消息发送至各个所述安全业务进程并释放私有数据内存。
6.一种基于会话连接的数据处理系统,其特征在于,包括:
预申请模块,用于在基础转发进程中根据预设会话规格预申请会话内存池;
初始化模块,用于基于所述会话内存池进行成员初始化操作,建立与所述基础转发进程对应的报文转发通道,所述基础转发进程对应多个安全业务引擎,每个所述安全业务引擎独立运行不同的安全业务进程;
报文请求模块,用于基于所述基础转发进程接收用户端发送的报文请求数据;
会话建立模块,用于根据所述报文请求数据建立连接会话,生成会话信息;
转发管理模块,用于将所述会话信息转发至对应的安全业务进程,所述安全业务进程根据所述会话信息对所述连接会话的私有数据进行管理;
其中,各个所述安全业务引擎以独立进程、绑定独立CPU的方式运行,通过dpdk无锁队列建立所述报文转发通道、通过共享内存只读映射所述会话信息,根据所述预设会话规格预申请私有数据管理头的内存池并完成成员初始化;
所述安全业务进程从所述dpdk无锁队列接收报文并获取所述会话信息,所述会话信息包括会话详细信息、会话标识信息、会话年龄信息,所述会话详细信息包括五元组,所述转发管理模块具体用于:
通过所述会话标识信息计算偏移量信息;
根据所述偏移量信息索引到所述会话内存池中对应的私有数据管理头并记录私有数据的内存地址信息;
同步所述会话年龄信息。
7.一种电子设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于会话连接的数据处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至5任一项所述的基于会话连接的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210828244.3A CN115208941B (zh) | 2022-07-13 | 2022-07-13 | 一种基于会话连接的数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210828244.3A CN115208941B (zh) | 2022-07-13 | 2022-07-13 | 一种基于会话连接的数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115208941A CN115208941A (zh) | 2022-10-18 |
CN115208941B true CN115208941B (zh) | 2024-04-23 |
Family
ID=83582482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210828244.3A Active CN115208941B (zh) | 2022-07-13 | 2022-07-13 | 一种基于会话连接的数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208941B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302630A (zh) * | 2015-06-26 | 2017-01-04 | 思科技术公司 | 传送私有数据和数据对象 |
CN107800626A (zh) * | 2016-08-31 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 数据报文的处理方法、装置及设备 |
CN113672410A (zh) * | 2021-08-25 | 2021-11-19 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及电子装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842065B2 (en) * | 2015-06-15 | 2017-12-12 | Intel Corporation | Virtualization-based platform protection technology |
US10469460B2 (en) * | 2017-04-17 | 2019-11-05 | Cisco Technology, Inc. | Data sharing in a blockchain-enabled trust domain |
-
2022
- 2022-07-13 CN CN202210828244.3A patent/CN115208941B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302630A (zh) * | 2015-06-26 | 2017-01-04 | 思科技术公司 | 传送私有数据和数据对象 |
CN107800626A (zh) * | 2016-08-31 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 数据报文的处理方法、装置及设备 |
CN113672410A (zh) * | 2021-08-25 | 2021-11-19 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115208941A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037500B (zh) | 网络设备和用于网络通信的方法 | |
CN112751826B (zh) | 算力应用流量转发方法及装置 | |
US9258243B2 (en) | Symmetric service chain binding | |
US10148565B2 (en) | OPENFLOW communication method and system, controller, and service gateway | |
EP2667553A1 (en) | Packet processing method, device and system | |
JP2006031063A (ja) | 優先制御装置 | |
EP3790239A1 (en) | Network access method and device for edge router | |
EP3737039B1 (en) | Method for transmitting request message and apparatus | |
CN111935017B (zh) | 跨网络的应用调用方法、装置及路由设备 | |
CN111488515A (zh) | 信息查询方法、装置、设备及存储介质 | |
CN106209680B (zh) | 信息处理装置以及信息处理方法 | |
CN114422160B (zh) | 一种虚拟防火墙的设置方法、装置、电子设备和存储介质 | |
CN115208941B (zh) | 一种基于会话连接的数据处理方法及系统 | |
CN112019604B (zh) | 边缘数据传输方法和系统 | |
WO2013097234A1 (zh) | 处理业务的方法和系统 | |
EP3503484A1 (en) | Message transmission method, device and network system | |
CN111614726A (zh) | 一种数据转发方法、集群系统及存储介质 | |
US20110282926A1 (en) | Relay apparatus, recording medium storing a relay program, and a relay method | |
CN111294221B (zh) | 一种基于haproxy的网络隔离配置方法及其装置 | |
CN110891014A (zh) | 基于硬件的mqtt发布订阅方法及系统 | |
CN115348208B (zh) | 一种流量控制方法、装置、电子设备和存储介质 | |
WO2022237879A1 (zh) | 一种路由获取方法、装置、存储介质及电子装置 | |
WO2024055682A1 (zh) | 一种报文处理方法及装置 | |
CN116155977A (zh) | 一种会话保活方法、网络安全系统、电子设备和存储介质 | |
CN117675800A (zh) | 一种跨安全区域高效文件同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |