一种数据传输方法、系统、存储介质及设备

文档序号:36315766发布日期:2023-12-08 02:15阅读:27来源:国知局
一种数据传输方法

本技术涉及网闸,具体而言,涉及一种数据传输方法、系统、存储介质及设备。


背景技术:

1、双向闸部署在不同安全等级的网络之间,通过物理逻辑隔离卡,实现数据跨网、跨安全域传输。双向硬件架构通常采用2+1架构,即由发送端主机、接收端主机和双向隔部件组成,双向隔离部件由两块隔离卡通过光纤连接构成。发送端主机和接收端主机采用代理技术接收和发送设备两边的网络数据,将网络层以下的数据卸载,根据应用协议过滤功能提取应用协议及数据,对数据进行安全检查,安全策数据采用私有协议封装,并通过双主机之间的隔离部件,实现跨网、跨安全域传输。

2、双主机上运行的代理技术程序采用多进程或多线程,进程或线程分成不同角色并负责不同的职责,通常分为协议代理引擎、内容检查引擎、病毒检查引擎。其中,协议代理引擎负责接收、发送协议数据、解析应用协议数据、检查协议、提取数据、封装私有协议、跨网传输、解封私有协议、向目标端发送数据;内容检查引擎负责检查数据格式、检查数据内容;病毒引擎负责检查数据病毒。相关技术中,这三个引擎之间通过网络通信并行处理一条网络连接的应用数据。这一方式虽然提高了传输性能,但是也带来了负面的影响:三个引擎之间采用网络连接传输数据,会造成额外的系统io和内存资源,造成cpu和内存资源的额外损耗。


技术实现思路

1、本技术的目的在于提供一种数据传输方法、系统、存储介质及设备,旨在解决相关技术中存在的双主机上运行的代理技术程序的三个引擎之间采用网络连接传输数据,会造成额外的系统io和内存资源,造成cpu和内存资源的额外损耗的问题。

2、第一方面,本技术提供的一种数据传输方法,应用于双向网闸系统中的主机,包括:协议代理引擎创建共享内存池,使用共享内存块保存数据后,通过网络连接将所述共享内存块的偏移地址发送给内容检查引擎和病毒检查引擎;内容检查引擎和病毒检查引擎根据接收到的偏移地址,以及共享内存初始地址,得到所述共享内存块的实际地址,在对所述实际地址中的数据进行检查后,将检查结果写在所述数据中,并通过无锁循环队列将共享内存块的偏移地址回传给协议代理引擎;协议代理引擎经偏移地址计算后,读取所述共享内存块中的检查结果,并根据所述检查结果对所述数据进行继续处理或阻断传输。

3、在上述实现过程中,协议代理引擎使用共享内存块保存数据,通过网络连接将共享内存块的偏移地址发送给内容检查引擎和病毒检查引擎,而内容检查引擎和病毒检查引擎经偏移地址计算后,获取共享内存块中的数据并对其进行处理,之后将检查结果写在数据中并将偏移地址回传给协议代理引擎,协议代理引擎根据共享内存块中的检查结果对数据进行继续处理或阻断传输。如此,通过共享内存池、无锁循环队列和网络连接传输的结合,解决了多进程间通信性能低的问题,减少了资源的损耗,从而有效提升了网闸数据传输数据的性能、可靠性和稳定性。

4、进一步地,在一些实施例中,所述协议代理引擎包括主代理进程和至少一个从代理进程;所述协议代理引擎创建共享内存池,包括:主代理进程创建共享内存,将所述共享内存分成多个共享内存块,主代理进程和从代理进程获取所述共享内存块,并将所述共享内存块的偏移地址添加到无锁循环队列,形成共享内存池。

5、在上述实现过程中,提供协议代理引擎创建共享内存池的具体方式,其中,协议代理引擎采用至少两个代理进程,提升处理网络连接的并发性能。

6、进一步地,在一些实施例中,所述通过网络连接将所述共享内存块的偏移地址发送给内容检查引擎和病毒检查引擎之前,包括:协议代理引擎与内容检查引擎建立第一网络连接,并为所述第一网络连接建立第一回收队列;所述第一回收队列记录协议代理引擎发送给内容检查引擎的偏移地址;协议代理引擎与病毒检查引擎建立第二网络连接,并为所述第二网络连接建立第二回收队列;所述第二回收队列记录协议代理引擎发送给病毒检查引擎的偏移地址。

7、在上述实现过程中,协议代理引擎与内容检查引擎和病毒检查引擎间建立唯一网络连接后,再为每个连接建立对应的回收队列,用以记录通过相应的网络连接发送的偏移地址,有利于后续查找出丢失的共享内存块偏移地址以及回收共享内存块。

8、进一步地,在一些实施例中,所述协议代理引擎经偏移地址计算后,读取所述共享内存块中的检查结果之前,包括:协议代理引擎根据内容检查引擎回传的偏移地址,在所述第一回收队列中按顺序逐一查找,并根据查找结果确定是否丢失数据;协议代理引擎根据病毒检查引擎回传的偏移地址,在所述第二回收队列中按顺序逐一查找,并根据查找结果确定是否丢失数据;所述读取所述共享内存块中的检查结果的步骤在确定未丢失数据的情况下执行。

9、在上述实现过程中,协议代理引擎将回传的偏移地址和回收队列中的偏移地址进行顺序、逐一对比,以此确定是否存在丢失的偏移地址,如此,实现对丢失的共享内存块偏移地址的有效查找。

10、进一步地,在一些实施例中,所述根据查找结果确定是否丢失数据,包括:若查找结果指示存在不相等的共享内存块,确定丢失数据。

11、在上述实现过程中,协议代理引擎在对比偏移地址时,若发现不相等的情况,即可确定丢失数据,如此,提升对丢失的共享内存块偏移地址的查找效率。

12、进一步地,在一些实施例中,所述方法还包括:当根据在第一回收队列中的查找结果确定丢失数据时,协议代理引擎将第一回收队列中的偏移地址移出并发送给第二回收队列;当根据在第二回收队列中的查找结果确定丢失数据时,协议代理引擎将第二回收队列中的偏移地址对应的共享内存块中的数据通过私有协议发送出去,并将所有偏移地址释放给所述共享内存池。

13、在上述实现过程中,提供一种确定偏移地址丢失时协议代理引擎的处理方式,实现对丢失的共享内存块的回收,从而进一步提升网闸数据传输数据的性能、可靠性和稳定性。

14、进一步地,在一些实施例中,所述根据所述检查结果对所述数据进行继续处理或阻断传输,包括:若所述检查结果是所述内容检查引擎的检查结果,且所述检查结果指示所述数据为合法数据,协议代理引擎将第一回收队列中的偏移地址移出并发送给第二回收队列;若所述检查结果是所述内容检查引擎的检查结果,且所述检查结果指示所述数据为非法数据,协议代理引擎阻断所述数据的传输,并将所有偏移地址释放给所述共享内存池;若所述检查结果是所述病毒检查引擎的检查结果,且所述检查结果指示所述数据为合法数据,协议代理引擎通过私有协议将所述数据发送出去;若所述检查结果是所述病毒检查引擎的检查结果,且所述检查结果指示所述数据为非法数据,协议代理引擎阻断所述数据的传输,并将所有偏移地址释放给所述共享内存池。

15、在上述实现过程中,提供协议代理引擎根据不同检查结果执行的不同操作,保障数据传输的可靠性,有效提升网闸的性能。

16、第二方面,本技术提供的一种数据传输系统,应用于双向网闸系统中的主机,所述系统包括协议代理引擎、内容检查引擎和病毒检查引擎,其中:所述协议代理引擎用于:创建共享内存池,使用共享内存块保存数据后,通过网络连接将所述共享内存块的偏移地址发送给内容检查引擎;所述内容检查引擎用于:根据接收到的偏移地址,以及共享内存初始地址,得到所述共享内存块的实际地址,在对所述实际地址中的数据进行内容检查后,将检查结果写在所述数据中,并通过无锁循环队列将共享内存块的偏移地址回传给协议代理引擎;所述协议代理引擎还用于:当接收到内容检查引擎回传的偏移地址时,经偏移地址计算后,读取所述共享内存块中的检查结果,并根据所述检查结果将所述共享内存块的偏移地址发送给病毒检查引擎或阻断所述数据的传输;所述病毒检查引擎用于:根据接收到的偏移地址,以及共享内存初始地址,得到所述共享内存块的实际地址,在对所述实际地址中的数据进行病毒检查后,将检查结果写在所述数据中,并通过无锁循环队列将共享内存块的偏移地址回传给协议代理引擎;所述协议代理引擎还用于:当接收到病毒检查引擎回传的偏移地址时,经偏移地址计算后,读取所述共享内存块中的检查结果,并根据所述检查结果将所述数据发送出去或阻断所述数据的传输。

17、第三方面,本技术提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。

18、第四方面,本技术提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。

19、第五方面,本技术提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。

20、本技术公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本技术公开的上述技术即可得知。

21、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1