基于磁盘动态IO技术的单向文件传输方法与流程
本发明涉及数字信息传输及电数字数据处理,具体涉及基于磁盘动态io技术的单向文件传输方法。
背景技术:
1、目前在单向隔离环境下实现文件单向传输,常规方案采用标准网络文件传输协议(如文件传输协议、安全拷贝协议、安全文件传输协议、服务器消息块协议)。具体实现过程为:位于单向隔离设备外端的外端机通过上述标准协议从源文件服务器中抓取文件,将文件数据缓存至外端机本地磁盘。随后,单向隔离设备通过单向传输通道将文件数据从外端机物理单向投递到内端机。内端机接收数据后,在本地磁盘进行文件数据重组,再通过标准文件传输协议将重组后的文件推送到内部网络的接收服务器中,完成整个单向传输过程。
2、基于上述常规方案,文件数据在传输链路中必须经历外端机本地磁盘、内端机本地磁盘以及最终接收服务器磁盘三次磁盘输入输出操作。单向隔离设备作为中间传输通道,受限于硬件结构,通常不具备大容量存储空间和独立磁盘冗余阵列环境。当面对大量小文件或混合文件传输场景时,由于文件数据量小且数量庞大,需要极其频繁地调用磁盘输入输出操作,导致文件传输性能严重受制于中间节点的磁盘输入输出处理能力上限,引发传输性能急剧衰减,磁盘输入输出操作成为制约单向文件传输效率的核心瓶颈。
技术实现思路
1、本发明的目的在于提供基于磁盘动态io技术的单向文件传输方法,可以有效解决上述背景技术中的问题。
2、为实现上述目的,本发明采取的技术方案为:
3、基于磁盘动态io技术的单向文件传输方法,包括:
4、单向外端机采用定制文件传输协议对待传输的文件数据进行协议封装,将封装后的文件协议数据经由单向传输通道发送至单向内端机,且所述单向外端机与所述单向内端机在传输过程中均不触发本地磁盘读写操作;
5、所述单向内端机将接收到的所述文件协议数据通过tcp协议直接推送到内网文件接收服务器;
6、所述内网文件接收服务器接收到所述文件协议数据后,将所述文件协议数据按照预设的磁盘最佳写入性能块大小进行分块,并将分块后的文件协议数据顺序写入预先创建的大缓存文件中;
7、所述内网文件接收服务器实时监测本地磁盘的io负载参数,并根据所述io负载参数动态调整从所述大缓存文件中读取所述文件协议数据块以及解析还原出最终文件的释放速率。
8、优选的,所述采用定制文件传输协议对待传输的文件数据进行协议封装,包括:
9、针对每一个待传输的原始文件,提取文件元数据与文件实体数据,将所述文件元数据构建为定长封装头,将所述文件实体数据划分为若干实体数据切片;
10、按照所述定长封装头与所述实体数据切片在所述原始文件中的时序关系,将连续多个所述原始文件的所述定长封装头与所述实体数据切片进行首尾拼接,生成连续的字节流结构,并在所述字节流结构的尾部追加流结束标识符,形成所述文件协议数据,其中,所述定长封装头中包含对应原始文件的偏移量指示字段与数据长度字段。
11、优选的,所述将分块后的文件协议数据顺序写入预先创建的大缓存文件中,包括:
12、所述内网文件接收服务器在接收到首个所述文件协议数据时,向本地磁盘申请分配固定总容量的所述大缓存文件,并初始化内存中的顺序写入指针;
13、当接收到的所述文件协议数据在内存缓冲区中的累积数据量达到所述磁盘最佳写入性能块大小时,触发一次磁盘写入操作,将所述累积数据量对应的数据块通过所述顺序写入指针追加写入所述大缓存文件的当前文件尾;
14、每次完成所述磁盘写入操作后,将所述顺序写入指针向后移动与所述磁盘最佳写入性能块大小相等的偏移量,并清空所述内存缓冲区以接收下一轮累积数据。
15、优选的,所述实时监测本地磁盘的io负载参数,包括:
16、在所述内网文件接收服务器中构建滑动时间窗口,按照固定采样周期采集所述本地磁盘在所述滑动时间窗口内的磁盘队列深度、每秒读写次数以及平均io等待时间;
17、对所述滑动时间窗口内采集的多个采样点的所述磁盘队列深度、所述每秒读写次数以及所述平均io等待时间分别进行均值计算与方差计算,将计算得到的均值与方差组合生成所述io负载参数,并在每个所述采样周期到达时利用最新的采样点数据替换所述滑动时间窗口中最旧的采样点数据。
18、优选的,所述根据所述io负载参数动态调整从所述大缓存文件中读取所述文件协议数据块以及解析还原出最终文件的释放速率,包括:
19、预设io负载阈值区间集合,所述io负载阈值区间集合包括轻载区间、中载区间与重载区间;
20、将所述io负载参数与所述io负载阈值区间集合进行匹配,当匹配至所述轻载区间时,将所述释放速率提升至第一预设速率;当匹配至所述中载区间时,维持当前所述释放速率不变;当匹配至所述重载区间时,按照预设的衰减因子降低当前所述释放速率至第二预设速率;
21、所述内网文件接收服务器中的缓存解析线程按照调整后的所述释放速率,从所述大缓存文件中读取所述文件协议数据块,并将读取出的所述文件协议数据块还原为独立文件落盘。
22、优选的,所述单向外端机与所述单向内端机在传输过程中均不触发本地磁盘读写操作,包括:
23、所述单向外端机通过内核态的套接字接收所述文件协议数据,利用直接内存访问技术将所述套接字关联的缓冲区映射至所述单向传输通道的发送端物理内存;
24、所述单向内端机通过所述单向传输通道的接收端物理内存直接获取所述文件协议数据,利用所述直接内存访问技术将所述接收端物理内存中的数据映射至用于向所述内网文件接收服务器发送数据的网卡的发送队列缓冲区;
25、在所述文件协议数据从所述单向外端机流转至所述单向内端机的全过程中,数据流转路径完全处于物理内存与网卡缓冲区之间,绕过文件系统层与磁盘驱动层。
26、优选的,在将所述文件实体数据划分为若干实体数据切片之后,还包括:
27、提取所述待传输的文件数据的文件类型特征,根据所述文件类型特征从预设的压缩字典库中匹配对应的目标压缩字典;
28、利用所述目标压缩字典对所述实体数据切片进行无损压缩处理,获取压缩后的切片数据,并在所述定长封装头中增加压缩标识位与压缩前长度字段;
29、将所述压缩后的切片数据替换原有的所述实体数据切片,执行按照时序关系进行首尾拼接的操作,其中,所述压缩字典库中存储有针对文本类文件、图像类文件以及数据库文件的差异化字典树结构。
30、优选的,在向本地磁盘申请分配固定总容量的所述大缓存文件时,还包括:
31、将分配的所述大缓存文件在逻辑上划分为第一缓存分片与第二缓存分片,所述第一缓存分片与所述第二缓存分片的大小均等于所述固定总容量的一半;
32、当所述顺序写入指针指向所述第一缓存分片且所述第一缓存分片写满时,将所述顺序写入指针切换至所述第二缓存分片的起始位置继续执行追加写入操作,同时启动独立线程对已写满的所述第一缓存分片执行读取与解析还原操作;
33、当所述第二缓存分片写满时,将所述顺序写入指针切换回已释放空间的所述第一缓存分片的起始位置,同时启动独立线程对已写满的所述第二缓存分片执行读取与解析还原操作,形成交替写读的乒乓缓存机制。
34、优选的,在将计算得到的均值与方差组合生成所述io负载参数之后,还包括:
35、将当前采样周期及之前多个采样周期的所述io负载参数按照时间序列输入至预先部署的循环神经网络模型中,由所述循环神经网络模型输出下一采样周期的预测io负载参数;
36、将所述预测io负载参数与实际采集的当前io负载参数进行加权融合,利用融合后的参数替代原始的所述io负载参数执行与所述io负载阈值区间集合的匹配操作;
37、在每完成1000次文件还原操作后,提取实际磁盘写入耗时与所述循环神经网络模型的预测耗时,计算预测误差损失函数值,利用反向传播算法更新所述循环神经网络模型中的权重矩阵。
38、优选的,在数据流转路径完全处于物理内存与网卡缓冲区之间时,还包括:
39、在所述单向外端机的所述内核态套接字接收所述文件协议数据之后,调用硬件加密引擎对所述文件协议数据进行对称加密处理,并将加密后的数据存入所述发送端物理内存;
40、在所述单向内端机的所述接收端物理内存获取数据之后,且在将数据映射至所述网卡的发送队列缓冲区之前,调用与所述硬件加密引擎配对的硬件解密引擎对数据进行对称解密处理;
41、在执行所述对称加密处理与所述对称解密处理的过程中,针对每一数据块附加消息认证码,所述单向内端机在解密前对所述消息认证码进行校验,若校验失败则直接丢弃当前数据块并向所述单向外端机反馈丢包序号。
42、与现有技术相比,本发明的有益效果在于:
43、1.本发明摒弃了单向隔离设备内外端机的本地磁盘读写操作,文件数据在内外端机流转时通过直接内存访问技术在物理内存与网卡缓冲区之间映射传输,绕过了文件系统层与磁盘驱动层。文件数据被直接推送至内部网络的接收服务器,接收服务器将接收到的数据按照磁盘最佳写入性能块大小顺序写入预先创建的大缓存文件中。这种处理方式将传输链路中原有的三次磁盘读写操作缩减为仅在最终接收服务器上执行一次磁盘写入,消除了中间节点的磁盘输入输出瓶颈,降低了大量小文件场景下的磁盘读写调用频次。
44、2.接收服务器通过滑动时间窗口提取磁盘输入输出负载参数,并结合循环神经网络模型进行预测与加权融合,依据负载区间动态调整从大缓存文件中读取数据并还原为独立文件的释放速率。该机制使得文件还原过程的磁盘写入操作始终维持在当前硬件所能承受的合理区间内,避免因接收服务器的磁盘写入速率低于单向通道传输速率而引发的数据主动丢弃情况。结合乒乓缓存机制实现写入与读取的并行隔离,并在数据流转于物理内存期间引入基于硬件引擎的加解密处理与消息认证码校验,结合按文件类型匹配压缩字典的无损压缩处理,在保障数据单向传输安全性与完整性的同时,缩减了单向通道中的实际数据传输量。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com