CN115883671B - 大数据传输方法、装置、设备及存储介质 - Google Patents

大数据传输方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115883671B
CN115883671B CN202310215793.8A CN202310215793A CN115883671B CN 115883671 B CN115883671 B CN 115883671B CN 202310215793 A CN202310215793 A CN 202310215793A CN 115883671 B CN115883671 B CN 115883671B
Authority
CN
China
Prior art keywords
big data
data
encrypted
compression
task
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
Application number
CN202310215793.8A
Other languages
English (en)
Other versions
CN115883671A (zh
Inventor
杨坚
程凯
金东�
郑烇
陈双武
杨锋
程博锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Institute of Artificial Intelligence of Hefei Comprehensive National Science Center
Original Assignee
New H3C Technologies Co Ltd
Institute of Artificial Intelligence of Hefei Comprehensive National Science Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd, Institute of Artificial Intelligence of Hefei Comprehensive National Science Center filed Critical New H3C Technologies Co Ltd
Priority to CN202310215793.8A priority Critical patent/CN115883671B/zh
Publication of CN115883671A publication Critical patent/CN115883671A/zh
Application granted granted Critical
Publication of CN115883671B publication Critical patent/CN115883671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种大数据传输方法、装置、设备及存储介质,该方法包括:通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据;基于QUIC协议对压缩大数据进行数据处理,获得待加密大数据;根据待加密大数据的数据量对待加密大数据进行分类加密,获得加密大数据;基于QUIC连接方式将加密大数据传输至接收端,以使接收端根据预设条件对加密大数据进行解密以及解压,获得待传输大数据。本发明通过QAT硬件对大数据进行压缩,并基于QUIC协议对压缩后的大数据进行对称加密硬件卸载后传输至接收端,避免了现有大数据传输方法的传输效率较慢的问题,从而能够高效、稳定地对待传输大数据进行传输。

Description

大数据传输方法、装置、设备及存储介质
技术领域
本发明涉及计算机网络与通信技术领域,尤其涉及一种大数据传输方法、装置、设备及存储介质。
背景技术
大数据是一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。如今,移动互联网、云计算、物联网与人工智能等新技术蓬勃发展,而这些新技术与大数据息息相关。因此,如何对大数据进行传输在行业内有着重要的研究价值。
传统的大数据传输方法大多采用TCP/IP协议作为传输层和网络层协议,TCP协议作为一种面向连接的、可靠的、基于字节流的传输层协议,在一部分场景下,都能提供较为稳定可靠的服务,其也被写进了操作系统内核。可TCP协议的某些弊端(如队头阻塞、僵化和保守的拥塞控制架构等等)在大数据传输中带来的不利影响是愈加明显的。随着技术的不断更新迭代,传统的大数据传输方法已然无法满足大数据传输高效、稳定的业务要求。因此,目前行业内亟需一种能够高效、稳定地对大数据进行传输的方法。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种大数据传输方法、装置、设备及存储介质,旨在解决现有技术无法高效、稳定地对大数据进行传输的技术问题。
为实现上述目的,本发明提供了一种大数据传输方法,所述方法应用于发送端并包括以下步骤:
通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中;
基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
基于QUIC连接方式将所述加密大数据传输至接收端,以使所述接收端根据预设条件对所述加密大数据进行解密以及解压,获得所述待传输大数据,所述预设条件为所述接收端是否包含所述QAT硬件。
可选地,所述对待传输大数据进行数据压缩,获得压缩大数据,包括:
划分预设数量的压缩任务缓冲区,并将待传输大数据依次填充至所述压缩任务缓冲区中;
当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据。
可选地,所述大数据传输方法,还包括:
基于QAT心跳机制对QAT硬件进行状态检测;
当检测到所述QAT硬件的状态为不可用状态时,调用GZIP压缩软件填充当前的待传输大数据,并对所述QAT硬件进行重启唤醒,通过QAT硬件在相关缓冲区继续填充相关数据。
可选地,所述根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据,包括:
根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务;
分别执行所述第一加密任务和所述第二加密任务,获得加密大数据,所述第一加密任务采用基于QAT硬件的对称加密算法进行加密,所述第二加密任务采用AESNI加密算法进行加密。
可选地,所述根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务,包括:
将所述待加密大数据的数据量大小与预设阈值进行比较;
将数据量大于预设阈值的数据量对应的加密任务设为第一加密任务,将数据量小于或等于预设阈值的数据量对应的加密任务设为第二加密任务。
此外,为实现上述目的,本发明还提出一种大数据传输装置,所述大数据传输装置应用于发送端并包括:
数据压缩模块,用于通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中;
数据提取模块,用于基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
数据加密模块,用于根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
数据传输模块,用于基于QUIC连接方式将所述加密大数据传输至接收端,以使所述接收端根据预设条件对所述加密大数据进行解密以及解压,获得所述待传输大数据,所述预设条件为所述接收端是否包含所述QAT硬件。
此外,为实现上述目的,本发明还提供了一种大数据传输方法,所述方法应用于接收端并包括以下步骤:
基于QUIC连接方式接收来自发送端的加密大数据;
当配置有QAT硬件时,调用所述QAT硬件和AESNI指令集对所述加密大数据进行解密,获得解密大数据;
调用QAT硬件解压缩功能或GZIP软件压缩库对所述解密大数据进行解压,获得待传输大数据。
此外,为实现上述目的,本发明还提出一种大数据接收装置,所述大数据接收装置应用于接收端并包括:
数据接收模块,用于基于QUIC连接方式接收来自发送端的加密大数据;
数据解密模块,用于当配置有QAT硬件时,调用所述QAT硬件和AESNI指令集对所述加密大数据进行解密,获得解密大数据;
数据解压模块,用于调用QAT硬件解压缩功能或GZIP软件压缩库对所述解密大数据进行解压,获得待传输大数据。
此外,为实现上述目的,本发明还提出一种大数据传输设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的大数据传输程序,所述大数据传输程序配置为实现如上文所述的大数据传输方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有大数据传输程序,所述大数据传输程序被处理器执行时实现如上文所述的大数据传输方法的步骤。
本发明通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,压缩大数据存储在非易失性存储器中;基于QUIC协议对压缩大数据进行数据处理,获得待加密大数据;根据待加密大数据的数据量对待加密大数据进行分类加密,获得加密大数据;基于QUIC连接方式将加密大数据传输至接收端,以使接收端根据预设条件对加密大数据进行解密以及解压,获得待传输大数据,预设条件为接收端是否包含QAT硬件。相比于现有技术基于TCP/IP协议作为传输层和网络层协议来对大数据进行传输,由于本发明上述方法通过QAT通用硬件加速器而非FPGA定制硬件对待传输大数据进行压缩,并基于QUIC协议对压缩后的大数据进行对称加密硬件卸载后再传输至数据接收端,从而避免了现有技术中由于队头阻塞、僵化和保守的拥塞控制架构等异常导致在大数据传输效率较慢的问题,进而释放了昂贵的CPU通用计算能力,有效利用了硬件资源,能够高效、稳定地对待传输大数据进行传输。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的大数据传输设备的结构示意图;
图2为本发明大数据传输方法第一实施例的流程示意图;
图3为本发明大数据传输方法第二实施例的流程示意图;
图4为本发明大数据传输方法第三实施例的流程示意图;
图5为本发明大数据传输装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的大数据传输设备结构示意图。
如图1所示,该大数据传输设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对大数据传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及大数据传输程序。
在图1所示的大数据传输设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明大数据传输设备中的处理器1001、存储器1005可以设置在大数据传输设备中,所述大数据传输设备通过处理器1001调用存储器1005中存储的大数据传输程序,并执行本发明实施例提供的大数据传输方法。
本发明实施例提供了一种大数据传输方法,参照图2,图2为本发明大数据传输方法第一实施例的流程示意图。
本实施例中,所述大数据传输方法包括以下步骤:
步骤S10:通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中。
需要说明的是,本实施例方法的执行主体可以是具有数据处理、网络通讯以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,还可以是能够实现相同或相似功能的其他电子设备,本实施例对此不加以限制。此处将以大数据传输设备的发送端(以下简称发送端)为例对本发明大数据传输方法的各项实施例进行说明。
可理解的是,上述QAT(Quick Assist Technology)硬件为一种能够提升加解密和压缩/解压缩加速任务性能的硬件加速卡,该硬件加速卡是基于IA架构的多核处理器加速器和与基于IA架构的服务器协同工作的第三方加速器提供支持,在基于IA架构处理器内部开发全新集成的硬件加速卡。
应理解的是,上述非易失性存储器即NVM(Non-Volatile Memory),具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM(Dynamic Random Access Memory,动态随机存取存储器)的特点。非易失性存储器即使在关闭电源的情况下也能够保存已保存数据的存储器且不需要定期刷新其存储器数据。
在具体实现中,由于在大数据传输中,发送端接收数据通常是流式接收,数据源源不断产生,很容易造成积累。因此可以通过QAT硬件中的压缩功能来对待传输大数据进行多并发流水线压缩,也可以通过GZIP(GNU zip,若干种文件压缩程序的简称)软件压缩库来完成对待传输大数据的压缩操作,从而获得压缩大数据,本实施例对数据压缩的方式不加以限制。此外,不管采用何种数据压缩的方式,所得到的压缩大数据都需存储在非易失性存储器中,从而保证能够对待传输大数据进行高速读写,并缓解压缩以及加解密硬件卸载功能之间的异构性,提高大数据传输的效率。
步骤S20:基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据。
需要说明的是,上述QUIC(Quick UDP Internet Connection,快速 UDP 互联网连接)协议为一种基于UDP的低时延的互联网传输层协议,发送端在调用QUIC协议时可以采用OpenSSL做非对称加密握手建立连接、建立连接后采用协商好的参数对需要QUIC传输的数据进行对称加密,加密好后再交给QUIC进行后续的协议处理,这里采用QUIC是由于TCP/IP协议作为底层传输老旧僵化无法适应新形势的大数据传输。
应理解的是,可以通过调用QUIC协议库模块对压缩大数据进行处理,得到待加密数据;对于QUIC建立连接阶段的非对称加密,仍然按照现有的QUIC协议使用的非对称加密算法进行加密;对于建立连接后待加密数据的对称加密,再按照数据量大小进行分类加密。
步骤S30:根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据。
需要说明的是,上述待加密大数据的数据量即待加密大数据对应的字节数。
在具体实现中,当执行加密操作时,对数据量小的数据采用QAT硬件处理反而会导致吞吐量下降,这是由于QAT卸载开销(如数据拷贝、上下文切换)大于卸载收益,因此可以根据待加密大数据的数据量来对待加密大数据对应的加密任务进行分流。具体分流方式可以为:对于待加密量小于阈值的数据(如包含QUIC连接状态信息、更新信息等),划为加密任务an(n=1,2,3…),采用软件加密(即AESNI软件加密);对待加密数据量大于阈值的数据,划为加密任务bn(n=1,2,3…),采用QAT硬件加密。
步骤S40:基于QUIC连接方式将所述加密大数据传输至接收端,以使所述接收端根据预设条件对所述加密大数据进行解密以及解压,获得所述待传输大数据,所述预设条件为所述接收端是否包含所述QAT硬件。
需要说明的是,上述接收端即为待传输大数据的传输目的端。
在具体实现中,当接收端在接收到上述加密大数据时,可以通过QAT硬件对加密大数据进行解密,从而获得压缩大数据,并存放至非易失性存储器中。然后借助QAT硬件的解压缩功能做多并发流水线解压或GZIP压缩软件库完成对压缩大数据的解压缩操作,从而获得待传输大数据。
本实施例通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,压缩大数据存储在非易失性存储器中;基于QUIC协议对压缩大数据进行数据处理,获得待加密大数据;根据待加密大数据的数据量对待加密大数据进行分类加密,获得加密大数据;基于QUIC连接方式将加密大数据传输至接收端,以使接收端根据预设条件对加密大数据进行解密以及解压,获得待传输大数据,预设条件为接收端是否包含QAT硬件。相比于现有技术基于TCP/IP协议作为传输层和网络层协议来对大数据进行传输,由于本实施例上述方法通过QAT通用硬件加速器而非FPGA定制硬件对待传输大数据进行压缩,并基于QUIC协议对压缩后的大数据进行对称加密硬件卸载后再传输至数据接收端,从而避免了现有技术中由于队头阻塞、僵化和保守的拥塞控制架构等异常导致在大数据传输效率较慢的问题,进而释放了昂贵的CPU通用计算能力,有效利用了硬件资源,能够高效、稳定地对待传输大数据进行传输。
参考图3,图3为本发明大数据传输方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,为了节省对上述待传输大数据进行数据压缩的时间,从而提高传输效率,所述步骤S10,可包括:
步骤S101:划分预设数量的压缩任务缓冲区,并将待传输大数据依次填充至所述压缩任务缓冲区中。
需要说明的是,上述压缩任务缓冲区为能够存储一定数据量的待传输大数据的区域。在大数据传输中,发送端接收大数据通常是流式接收,大数据源源不断产生,很容易造成积累,因此采用流水线模式进行多压缩任务的并发卸载,并发压缩请求可以在QAT中使用多个计算引擎进行并行计算,摊平卸载开销。
在具体实现中,可以从CPU上的存储空间中划分预设数量的压缩任务缓冲区,以便于QAT硬件不可用时,引用GZIP压缩软件压缩相关缓冲区中的数据,并将待传输大数据依次填充至上述压缩任务缓冲区中。
步骤S102:当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据。
在具体实现中,可以将采集到的大数据依次填充至n个压缩任务缓冲区(n=1、2、3…),一旦某一压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,即开始执行硬件压缩,多个压缩任务之间可并行执行。此外,每个压缩任务缓冲区可容纳数据大小(也即硬件压缩卸载的触发阈值)以及并发卸载的并发数可以根据实际场景测试和调整。在QAT硬件可用情况下,每个压缩流水线会调用QATzip用户空间库(Intel QAT提供的压缩算法软件库)、QAT用户态驱动(CPU和QAT硬件之间的接口)实现QAT硬件压缩功能。QAT驱动会定时周期性轮询硬件压缩结果。整个过程中虽然每个卸载请求仍然以阻塞的方式执行,但整个阻塞惩罚会在每个并发流水线上平摊,充分利用QAT硬件能力的同时大大降低了阻塞开销,增加了压缩吞吐量。
进一步地,在本实施例中,为了确保QAT硬件的正常运行,本发明大数据传输方法还可包括:
步骤S01:基于QAT心跳机制对QAT硬件进行状态检测。
需要说明的是,上述QAT心跳机制为一种能够检测和重置无响应设备的机制,它可以通知发送端进程重置操作的开始时间和结束时间。上述QAT硬件的状态信息可以包含QAT硬件的数据接收记录、数据发送记录、内存状态等,本实施例对此不加以限制。
步骤S02:当检测到所述QAT硬件的状态为不可用状态时,调用GZIP压缩软件对压缩任务缓冲区中的待传输大数据执行软件压缩,并对所述QAT硬件进行重启唤醒,继续向所述压缩任务缓冲区中填充待传输大数据。
需要说明的是,上述引入GZIP压缩软件为一种对待传输大数据进行软件压缩的方法。
在具体实现中,当检测到QAT硬件资源不可用时,说明此时QAT硬件可能出现问题,需要进行重启来唤醒。而在唤醒过程中,为了防止待传输大数据泄露以及数据压缩的进程被拉长等问题,需要调用GZIP压缩软件填充当前的待传输大数据。此外,由于采用GZIP压缩软件进行数据压缩时无法对数据进行加密,因此对于本实施例来说,这种手段仅能作为一种容灾保护的手段,当QAT硬件重启唤醒后,需要立即切换回QAT硬件来对待传输大数据进行压缩,从而确保数据安全的同时加快数据压缩的进程。由于大数据传输场景下仅需要一次连接建立,不需要维护多条连接,且传输性能的瓶颈主要在于大数据的对称加密操作中。因此对于非对称加密操作并不卸载,仍按原始QUIC执行。仅对连接建立后的对称加密运算进行卸载,即只对上述对称加密大数据加载QAT引擎进行后续的加密操作。
本实施例通过划分预设数量的压缩任务缓冲区,并通过CPU将待传输大数据依次填充至压缩任务缓冲区中;当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据;基于QAT心跳机制对QAT硬件进行状态检测;当检测到QAT硬件的状态为不可用状态时,调用GZIP压缩软件填充当前的待传输大数据,并对QAT硬件进行重启唤醒,通过QAT硬件在相关缓冲区继续填充相关待传输大数据。相较于现有技术中通过软件压缩的方式来对待传输大数据进行压缩,本实施例上述方法通过QAT硬件对待传输大数据进行压缩,并采取了一系列措施(如划分压缩任务缓冲区、调用QAT心跳机制等)来提升硬件资源利用率、降低硬件卸载开销,从而最大化发挥QAT硬件在QUIC数据传输中的积极作用,进而提升待传输大数据在传输过程中的安全性和稳定性。
参考图4,图4为本发明大数据传输方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,为了准确获得加密大数据,所述步骤S30,可包括:
步骤S301:根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务。
在具体实现中,可以通过将上述待加密大数据进行分类的方式来将待加密大数据对应的加密任务分为第一加密任务和第二加密任务。
步骤S302:分别执行所述第一加密任务和所述第二加密任务,获得加密大数据,所述第一加密任务采用基于QAT硬件的对称加密算法进行加密,所述第二加密任务采用AESNI加密算法进行加密。
应理解的是,根据上述基于QAT硬件的对称加密算法,发送端将明文(待加密大数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文(即第一加密大数据)发送出去。接收端在收到上述加密密文后,若想解读待加密大数据,则需要使用上述加密过程中使用过的密钥以及对称加密算法对应的逆算法,来对上述加密密文进行解密,从而使其恢复成可读明文。在基于QAT硬件的对称加密算法中,使用的密钥只有一个,发收数据的双方都需使用这个密钥来对上述第一加密任务对应的大数据进行加密和解密,因此需要接收端事先必须知道加密密钥,即对称加解密的所需参数包括对称加解密密钥是在握手阶段采用非对称加解密操作获得的。
应理解的是,根据上述AESNI加密算法,其秘钥的长度分为128位(比特)、192位和256位,一般记为AES-128、AES-192和AES-256。待加密的大数据以16字节分组进行加密,如果大数据的字节长度不是16的倍数,最后的一组则需要在有效数据后面进行填充,使得数据长度变为16字节。在AESNI加解密算法中,可以通过ECB(Electronic Codebook Book,电码本模式)、CBC(Cipher Block Chaining,密码分组链接模式)、CTR(Counter,计算器模式)、CFB(Cipher FeedBack,密码反馈模式)、OFB(Output FeedBack,输出反馈模式)等模式来对上述第二加密任务对应的大数据进行加密,从而获得第二加密大数据,本实施例对上述AESNI加密算法所采用的模式不加以限制。
在具体实现中,可以根据上述第一加密任务和上述第二加密任务各自的特性来选择加密方法,从而分别对第一加密任务和第二加密任务对应的待加密大数据进行加密后再进行结合,获得加密大数据。
进一步地,在本实施例中,为了合理将待加密大数据对应的加密任务进行区分,所述步骤S301,可包括:
步骤S3011:将所述待加密大数据的数据量大小与预设阈值进行比较。
在具体实现中,可以通过预先设定预设阈值,然后将待加密大数据的数据量大小与预设阈值进行比较的方式来对上述加密任务进行区分。对于阈值的选取可以根据具体场景设置多个不同数据规模的数据加密样例。通过获取AESNI和QAT硬件加速加解密对应的吞吐量大小,并选取两者吞吐量相近时的数据大小作为上述预设阈值。
步骤S3012:将数据量大于预设阈值的数据量对应的加密任务设为第一加密任务,将数据量小于或等于预设阈值的数据量对应的加密任务设为第二加密任务。
本实施例根据待加密大数据的数据量将待加密大数据对应的加密任务分为第一加密任务和第二加密任务;分别执行第一加密任务和第二加密任务,获得加密大数据,第一加密任务采用基于QAT硬件的对称加密算法进行加密,第二加密任务采用AESNI加密算法进行加密。将待加密大数据的数据量大小与预设阈值进行比较;将数据量大于预设阈值的数据量对应的加密任务设为第一加密任务,将数据量小于或等于预设阈值的数据量对应的加密任务设为第二加密任务。相较于现有技术仅采用一种加密方式对所有待加密大数据进行加密操作,本实施例上述方法通过将待加密大数据对应的加密任务进行区分(要做区分是因为对于加密较小的数据块,QAT硬件的对称加密卸载性能低于原始的OpenSSL软件实现,硬件卸载开销如数据拷贝、上下文切换不足以抵消卸载收益;对于较小的待加密数据块,为了进一步提升传输性能,采用AESNI指令集优化的软件加密),从而可以根据不同加密任务的特征采取不同的加密方法,提升了加解密性能,进而提升了数据加密处理过程的效率。
参照图5,图5为本发明大数据传输装置第一实施例的结构框图。
如图5所示,本发明实施例提出的大数据传输装置应用于发送端,并具体包括:
数据压缩模块501,用于通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中;
数据提取模块502,用于基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
数据加密模块503,用于根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
数据传输模块504,用于基于QUIC连接方式将所述加密大数据传输至接收端,以使所述接收端根据预设条件对所述加密大数据进行解密以及解压,获得所述待传输大数据,所述预设条件为所述接收端是否包含所述QAT硬件。
本实施例通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,压缩大数据存储在非易失性存储器中;基于QUIC协议对压缩大数据进行数据处理,获得待加密大数据;根据待加密大数据的数据量对待加密大数据进行分类加密,获得加密大数据;基于QUIC连接方式将加密大数据传输至接收端,以使接收端根据预设条件对加密大数据进行解密以及解压,获得待传输大数据,预设条件为接收端是否包含QAT硬件。相比于现有技术基于TCP/IP协议作为传输层和网络层协议来对大数据进行传输,由于本实施例上述方法通过QAT通用硬件加速器而非FPGA定制硬件对待传输大数据进行压缩,并基于QUIC协议对压缩后的大数据进行对称加密硬件卸载后再传输至数据接收端,从而避免了现有技术中由于队头阻塞、僵化和保守的拥塞控制架构等异常导致在大数据传输效率较慢的问题,进而释放了昂贵的CPU通用计算能力,有效利用了硬件资源,能够高效、稳定地对待传输大数据进行传输。
此外,本发明还提出一种大数据传输方法,所述方法应用于接收端,所述方法可包括:
步骤S10’:基于QUIC连接方式接收来自发送端的加密大数据。
步骤S20’:当配置有QAT硬件时,调用所述QAT硬件和AESNI指令集对所述加密大数据进行解密,获得解密大数据。
应理解的是,当接收端未配置有QAT硬件时,则可以根据其原有的解密方法对上述加密大数据进行解密,获得解密大数据。
步骤S30’:调用QAT硬件解压缩功能或GZIP软件压缩库对所述解密大数据进行解压,获得待传输大数据。
此外,本发明还提出一种大数据传输装置应用于接收端,并具体包括:
数据接收模块,用于基于QUIC连接方式接收来自发送端的加密大数据;
数据解密模块,用于当配置有QAT硬件时,调用所述QAT硬件和AESNI指令集对所述加密大数据进行解密,获得解密大数据;
数据解压模块,用于调用QAT硬件解压缩功能或GZIP软件压缩库对所述解密大数据进行解压,获得待传输大数据。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有大数据传输程序,所述大数据传输程序被处理器执行时实现如上文所述的大数据传输方法的步骤。
本发明大数据传输装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种大数据传输方法,其特征在于,所述方法应用于发送端并包括以下步骤:
通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中,所述数据压缩的方式为多并发流水线压缩,所述多并发流水线压缩的方式通过调用QATzip用户空间库和QAT用户态驱动实现压缩;
基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
基于QUIC连接方式将所述加密大数据传输至接收端,以使所述接收端根据预设条件对所述加密大数据进行解密以及解压,获得所述待传输大数据,所述预设条件为所述接收端是否包含所述QAT硬件;
其中,所述根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据的步骤,包括:
根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务;
分别执行所述第一加密任务和所述第二加密任务,获得加密大数据,所述第一加密任务采用基于QAT硬件的对称加密算法进行加密,所述第二加密任务采用AESNI加密算法进行加密;
所述通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据的步骤包括:
划分预设数量的压缩任务缓冲区,并将待传输大数据依次填充至所述压缩任务缓冲区中;
当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据;
基于QAT心跳机制对QAT硬件进行状态检测;
当检测到所述QAT硬件的状态为不可用状态时,调用GZIP压缩软件对压缩任务缓冲区中的待传输大数据执行软件压缩,并对所述QAT硬件进行重启唤醒,继续向所述压缩任务缓冲区中填充待传输大数据。
2.如权利要求1所述的大数据传输方法,其特征在于,所述根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务,包括:
将所述待加密大数据的数据量大小与预设阈值进行比较;
将数据量大于预设阈值的数据量对应的加密任务设为第一加密任务,将数据量小于或等于预设阈值的数据量对应的加密任务设为第二加密任务。
3.一种大数据传输装置,其特征在于,所述大数据传输装置应用于发送端并包括:
数据压缩模块,用于通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中,所述数据压缩的方式为多并发流水线压缩,所述多并发流水线压缩的方式通过调用QATzip用户空间库和QAT用户态驱动实现压缩;
数据提取模块,用于基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
数据加密模块,用于根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
数据传输模块,用于基于QUIC连接方式将所述加密大数据传输至接收端,以使所述接收端根据预设条件对所述加密大数据进行解密以及解压,获得所述待传输大数据,所述预设条件为所述接收端是否包含所述QAT硬件;
其中,所述数据加密模块,还用于:
根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务;
分别执行所述第一加密任务和所述第二加密任务,获得加密大数据,所述第一加密任务采用基于QAT硬件的对称加密算法进行加密,所述第二加密任务采用AESNI加密算法进行加密;
所述数据压缩模块,还用于:
划分预设数量的压缩任务缓冲区,并将待传输大数据依次填充至所述压缩任务缓冲区中;
当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据;
基于QAT心跳机制对QAT硬件进行状态检测;
当检测到所述QAT硬件的状态为不可用状态时,调用GZIP压缩软件对压缩任务缓冲区中的待传输大数据执行软件压缩,并对所述QAT硬件进行重启唤醒,继续向所述压缩任务缓冲区中填充待传输大数据。
4.一种大数据传输方法,其特征在于,所述方法应用于接收端并包括以下步骤:
基于QUIC连接方式接收来自发送端的加密大数据;
当配置有QAT硬件时,调用所述QAT硬件和AESNI指令集对所述加密大数据进行解密,获得解密大数据;当未配置有QAT硬件时,根据原始解密方法对所述加密大数据进行解密,获得解密大数据;
调用QAT硬件解压缩功能或GZIP软件压缩库对所述解密大数据进行解压,获得待传输大数据;
其中,所述加密大数据由所述发送端生成,所述发送端生成所述加密大数据的步骤,包括:
通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中,所述数据压缩的方式为多并发流水线压缩,所述多并发流水线压缩的方式通过调用QATzip用户空间库和QAT用户态驱动实现压缩;
基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
所述根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据的步骤,包括:
根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务;
分别执行所述第一加密任务和所述第二加密任务,获得加密大数据,所述第一加密任务采用基于QAT硬件的对称加密算法进行加密,所述第二加密任务采用AESNI加密算法进行加密;
所述通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据的步骤包括:
划分预设数量的压缩任务缓冲区,并将待传输大数据依次填充至所述压缩任务缓冲区中;
当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据;
基于QAT心跳机制对QAT硬件进行状态检测;
当检测到所述QAT硬件的状态为不可用状态时,调用GZIP压缩软件对压缩任务缓冲区中的待传输大数据执行软件压缩,并对所述QAT硬件进行重启唤醒,继续向所述压缩任务缓冲区中填充待传输大数据。
5.一种大数据传输装置,其特征在于,所述大数据传输装置应用于接收端并包括:
数据接收模块,用于基于QUIC连接方式接收来自发送端的加密大数据;
数据解密模块,用于当配置有QAT硬件时,调用所述QAT硬件和AESNI指令集对所述加密大数据进行解密,获得解密大数据;当未配置有QAT硬件时,根据原始解密方法对所述加密大数据进行解密,获得解密大数据;
数据解压模块,用于调用QAT硬件解压缩功能或GZIP软件压缩库对所述解密大数据进行解压,获得待传输大数据;
其中,所述加密大数据由所述发送端生成,所述发送端生成所述加密大数据的步骤,包括:
通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据,所述压缩大数据存储在非易失性存储器中,所述数据压缩的方式为多并发流水线压缩,所述多并发流水线压缩的方式通过调用QATzip用户空间库和QAT用户态驱动实现压缩;
基于QUIC协议对所述压缩大数据进行数据处理,获得待加密大数据;
根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据;
所述根据所述待加密大数据的数据量对所述待加密大数据进行分类加密,获得加密大数据的步骤,包括:
根据所述待加密大数据的数据量将所述待加密大数据对应的加密任务分为第一加密任务和第二加密任务;
分别执行所述第一加密任务和所述第二加密任务,获得加密大数据,所述第一加密任务采用基于QAT硬件的对称加密算法进行加密,所述第二加密任务采用AESNI加密算法进行加密;
所述通过QAT硬件对待传输大数据进行数据压缩,获得压缩大数据的步骤包括:
划分预设数量的压缩任务缓冲区,并将待传输大数据依次填充至所述压缩任务缓冲区中;
当所述压缩任务缓冲区中的数据达到可容纳数据的最大阈值时,通过所述QAT硬件对所述压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据,或,当所述待传输大数据对应的最后一个字节填充至当前压缩任务缓冲区时,通过所述QAT硬件对所述当前压缩任务缓冲区中填充的待传输大数据进行数据压缩,获得压缩大数据;
基于QAT心跳机制对QAT硬件进行状态检测;
当检测到所述QAT硬件的状态为不可用状态时,调用GZIP压缩软件对压缩任务缓冲区中的待传输大数据执行软件压缩,并对所述QAT硬件进行重启唤醒,继续向所述压缩任务缓冲区中填充待传输大数据。
6.一种大数据传输设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的大数据传输程序,所述大数据传输程序配置为实现如权利要求1至2或4中任一项所述的大数据传输方法的步骤。
7.一种存储介质,其特征在于,所述存储介质上存储有大数据传输程序,所述大数据传输程序被处理器执行时实现如权利要求1至2或4中任一项所述的大数据传输方法的步骤。
CN202310215793.8A 2023-03-08 2023-03-08 大数据传输方法、装置、设备及存储介质 Active CN115883671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310215793.8A CN115883671B (zh) 2023-03-08 2023-03-08 大数据传输方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310215793.8A CN115883671B (zh) 2023-03-08 2023-03-08 大数据传输方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115883671A CN115883671A (zh) 2023-03-31
CN115883671B true CN115883671B (zh) 2023-06-27

Family

ID=85762045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310215793.8A Active CN115883671B (zh) 2023-03-08 2023-03-08 大数据传输方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115883671B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117633841A (zh) * 2023-12-12 2024-03-01 上海合芯数字科技有限公司 加密模块控制器、加密模块、加密系统和加密处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012016383A1 (en) * 2010-08-05 2012-02-09 Northeastern University Technology Transfer Center Method and device for encryption/decryption and communication system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426771B (zh) * 2015-10-28 2018-06-26 成都比特信安科技有限公司 一种实现大数据安全的方法
CN106506518A (zh) * 2016-11-25 2017-03-15 天津津航计算技术研究所 大数据安全传输的加解密模块
US10785020B2 (en) * 2018-01-19 2020-09-22 Microsoft Technology Licensing, Llc Hardware offload for QUIC connections
US11438010B2 (en) * 2019-10-15 2022-09-06 EMC IP Holding Company LLC System and method for increasing logical space for native backup appliance
CN115292035A (zh) * 2022-07-21 2022-11-04 上海交通大学 一种基于qat硬件加速器的高性能内存压缩系统
CN115714767A (zh) * 2022-11-10 2023-02-24 中网华信科技股份有限公司 基于大数据的文件数据安全传输方法、装置、设备及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012016383A1 (en) * 2010-08-05 2012-02-09 Northeastern University Technology Transfer Center Method and device for encryption/decryption and communication system

Also Published As

Publication number Publication date
CN115883671A (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
WO2018014723A1 (zh) 密钥管理方法、装置、设备及系统
Blaze High-bandwidth encryption with low-bandwidth smartcards
CN111224864A (zh) 消息传输方法、装置、计算机设备和存储介质
US20070110225A1 (en) Method and apparatus for efficient encryption
EP0876026A2 (en) Programmable crypto processing system and method
US20060041938A1 (en) Method of supporting SSL/TLS protocols in a resource-constrained device
CN115883671B (zh) 大数据传输方法、装置、设备及存储介质
CN102576245A (zh) 非易失性设备
CN111756751A (zh) 报文传输方法、装置及电子设备
CN114172892A (zh) 文件上传方法和装置
Abd Elminaam et al. SMCACC: developing an efficient dynamic secure framework for mobile capabilities augmentation using cloud computing
US20070263876A1 (en) In-memory compression and encryption
US9288116B2 (en) System and method for NAS server test load generation
WO2024040846A1 (zh) 数据处理方法、装置、电子设备及存储介质
CN110381067B (zh) Ip包加密方法、解密方法及其装置
US20130339727A1 (en) WAN Optimization Without Required User Configuration for WAN Secured VDI Traffic
CN111191253B (zh) 一种数据加密组合方法
US20230102374A1 (en) Data Encryption Or Decryption Method, Apparatus, And System
CN115102701B (zh) 多芯片数据加密解密处理方法及装置
JP2008242665A (ja) 暗号化処理装置、暗号化処理方法及びファイル分割保存システム
CN114996730A (zh) 一种数据加解密系统、方法、计算机设备及存储介质
CN114629891A (zh) 文件传输方法、装置、电子设备及计算机可读存储介质
JP2003069555A (ja) 暗号装置および暗復号処理方法
Zhong et al. SAED: A self-adaptive encryption and decryption architecture
US20230388791A1 (en) Power saving method for lower power devices, electronic device and computer readable storage medium

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