APP下载

一种高速跨网文件安全传输架构设计*

2021-08-06张咏秋

通信技术 2021年7期
关键词:任务调度多任务框架

张 亮,胡 芡,张咏秋

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引 言

针对文件在不同网系间跨网传输的业务需求,跨网安全性成为文件跨网传输中的核心问题[1-2]。除了病毒查杀、恶意代码扫描、深度检测等传统的安全防范手段,跨网文件传输的信道协议也成为网络安全防范的重要关注点。近些年,跨网文件传输的单向光传输、光盘摆渡、内存摆渡[3-4]等文件传输系统的应用,从一定程度上解决了跨网系统文件传输信道协议方面的安全问题,降低了安全风险。但是随着应用业务系统的不断拓展,对文件传输的性能要求也越来越高,传统的光摆、内存摆等系统的传输带宽和时延等性能指标难以满足业务系统的需求。目前业界广泛使用的类似于文件传输协议(File Transfer Protocol,FTP)、简单文件传输协议(Trivial File Transfer Protocol,TFTP)等基于标准网络的文件传输协议与摆渡系统相比,在传输带宽和时延等性能指标方面具有明显的优势。但是通用的开源文件传输协议在网络安全性方面大打折扣,被攻击和隐秘窃取的风险极高[5],所以这类文件传输协议也不能满足现代跨网文件传输的需求。因此,急需一套适用于现代跨网交换系统的,且具有传输高效、协议私有、部署灵活等特征的文件传输系统。本文基于某跨网传输系统上的研究成果和已有的跨网传输系统平台,设计并实现一种基于私有传输协议的高速高效文件传输架构。该架构具有单文件并发、多文件并传等特征,以解决当代跨网文件传输的痛点。

1 一种分层的私有文件传输协议

从文件传输的安全性、可靠性、高效性出发,同时考虑文件传输的高并发、高带宽、灵活适配部署能力,提出了一套基于分层模型的私有文件传输协议。该文件传输协议区别于现有FTP等开源协议,从传输协议层面降低了被网络攻击和感染的风险,满足跨网文件传输的高安全需求。分层文件传输的模型架构既保证了文件传输的可靠性,又满足了适配部署的灵活性需求,可适用于跨网传输等特定场景。同时,该文件传输协议模型可以无缝适配文件并发传输的调度和管理,保证了文件传输的性能要求。此外,在该分层文件传输协议模型中的不同传输层面,可以友好的集成和扩展第三方功能模块,部署应用到现代跨网交换系统中。文件安全传输分层协议模型如图1所示。

在该文件传输协议模型中,文件帧作为最小的传输单元,一个文件可被拆分成若干个文件帧。文件帧的长度可以根据实际系统和网络环境作相应的调整,每个文件帧传输相互独立,彼此互不影响互不依赖,且每个帧在传输过程中没有先后顺序要求。因此使得文件帧高速并发传输乱序成为了可能,同时也可适用于不同时延不同带宽不同路径的复杂网络环境。

1.1 帧传输层

帧传输层主要负责文件帧的收发,可根据不同的跨网应用环境定制私有的帧协议、选择校验和应答机制、增减帧头特定信息、选择性适配不同跨网传输信道。

1.2 文件传输层

文件传输层主要完成单个文件的收发、单文件的帧拆分、单文件的帧还原、文件帧传输的并发任务分配和单文件的完整性校验,在文件传输层可以集成文件本身安全性相关的病毒查杀、恶意代码扫描、内容深度查等功能模块。

1.3 传输控制层

传输控制层主要负责文件传输管理、文件收发管理以及多文件任务时文件发送队列任务的调度和维护,在这一层可根据需求增加文件自动同步、文件标签机制等文件业务逻辑功能,拓展应用场景。

2 异步事件并发模型

在该文件传输架构中,为了满足高性能指标要求、实现单文件高速并发、多文件多路并传,在此提出了两套任务并发管理框架:一种为基于任务与任务处理器相统一的多任务并发管理框架,另一种为基于任务与任务处理器相分离的多任务并发管理框架。多任务管理框架可以完成多任务的队列等待、任务自动分配、任务自动加载、不同任务间自动调度、多任务并发执行等功能。结合提出的分层文件传输协议模型,采用基于任务与任务处理器相统一的多任务并发框架来实现多文件多路并传,采用基于任务与任务处理器相分离的多任务并发框架实现单文件多帧并发传输。

2.1 基于任务与任务处理器相统一的多任务并发管理框架

此种多任务并发框架主要包含任务等待队列、当前任务执行集合、任务调度几个关键模块。任务对象中既包含任务的必要参数信息,也包含任务执行流程。当任务调度激活后,自动开始异步执行任务流程,任务流程执行完成后通知任务调度器释放已执行完任务流程的任务对象,并从等待任务队列中调度新的任务对象并执行。该框架模型示意图如图2所示。

采用此种框架实现多文件并发传输的控制,在该框架模型中,每个任务对象即为一个单一文件传输任务,任务会负责将一个确定文件传输到接收端,文件传输完成后任务即执行完成,释放相关联的对象资源。

2.2 基于任务与任务处理器相分离的多任务并发管理框架

此种多任务并发框架主要包含任务等待队列、任务处理器集合、任务调度几个关键模块。任务实体中不包含任务执行流程,只包含任务的必要参数信息,任务的执行流程由任务处理器集合中的任务处理器完成。当任务调度激活后,任务信息会分配加载到任务处理器中;任务处理器通过任务的参数信息开始异步执行任务流;任务流程执行完成后通知任务调度器标记任务已完成的任务处理器,并从等待任务队列中调度新的任务对象加载到空闲的任务处理器上执行。框架模型示意图如图3所示。

采用此种框架实现多文件帧并发传输的控制,在该框架模型中,每个任务为一个文件帧,每一个任务处理器为文件帧传输通道。任务处理器在得到新任务对象后会负责将对象的文件帧内容传输到接收端,一个文件帧处理完成后不会立即释放传输通道资源,而是等待被加载下一个文件帧任务对象并传输新的任务对象文件帧。

3 异步I/O事件处理机制

在该文件传输架构中,选用基于poll/epoll实现I/O(Input/Ouput)多路复用的libevent模型,以实现异步I/O处理。该事件处理机制具有事件驱动、高性能、轻量级、专注于网络、跨平台支持性强等特点。使用该模型框架实现文件传输底层的数据收发处理,基于事件驱动模型实现全异步化的数据接收和应答处理,基于非阻塞的I/O复用实现高效高速数据收发处理,以此来保证件传输架构的传输处理性能。与此同时,在设备文件帧传输模块中,将I/O接口逻辑与文件帧数据收发重组相分离,使文件传输架构中文件传输协议接口和通信方式的多元化适配和拓展成为可能,可以适配不同跨网传输信道。

4 文件无锁并发读写机制

采用mmap文件映射内存的方式来实现文件的读取和写入操作。采用mmap方式对要操作的文件进行分段映射,使得每个文件映射块的操作相互独立。文件块操作方式具备异步、同一文件不同块操作对块顺序不敏感、同一文件可被多文件块无锁同步操作的特点。这种文件操作方式实现了单文件的同步并发读写,大大提高了文件读写的性能和磁盘操作效率,解决了文件传输中文件磁盘读写I/O性能瓶颈,保证了文件传输的高速高效。文件无锁并发读写的示意图如图4所示。

5 实验及性能

按照所设计的文件传输框架,编码实现文件传输服务程序,在不同CPU系统平台下分别测试文件传输的性能和效果,实验拓扑图如图5所示。实验选取了10 MB、50 MB、100 MB、200 MB、500 MB、1 GB、2 GB、4 GB几种常见的不同大小测试文件进行测试,测试文件列表如图6所示。设定单文件最大并发数为10,重点测试了在x86处理器和申威sw1621处理器两种平台下的文件传输情况,测试效果及性能统计如图7~图10所示。

实验结果表明,在两种处理器平台下,在x86平台下传输速率均可达800 Mb/s;在申威sw1621平台下传输速率平均为750 Mb/s左右。在申威sw1621平台上的性能只是略低于x86 CPU平台,因此该文件传输系统在国产化平台上也有不错的表现,在当前大力推广国产化平台的趋势下,可应用于某些国产化需求强烈的特定场景。

6 结 语

本文基于分层的私有文件传输协议、两种异步事件并发框架模型、异步I/O事件处理机制和文件无锁并发读写机制设计实现了一种高速文件传输架构。此外,详细介绍了分层私有文件传输协议的核心思想,以及文件分层传输的实现方法;阐述了两种异步事件并发模型框架的详细设计方案,以及在该文件传输架构中的详细处理流程;还介绍了所采用的异步I/O事件处理机制和文件无锁并发读写机制;实现了一种符合现代跨网文件传输系统需求的具有单文件并发、多文件并传特性的高速文件传输方式,在文件传输的安全性、传输效率、灵活应用部署等方面具有较强优势。作为一种文件传输解决方案,后期可根据不同的跨网传输需求,修改文件帧协议信息、增加集成第三方安全检查机制、适配不同跨网设备接口、集成标签管理机制等,应用到更多的跨网系文件传输系统中。

猜你喜欢

任务调度多任务框架
数字时代的注意困境:媒体多任务的视角*
基于生产函数的云计算QoS任务调度算法
基于动态能量感知的云计算任务调度模型
有机框架材料的后合成交换
结合自监督学习的多任务文本语义匹配方法
框架
面向多任务的无人系统通信及控制系统设计与实现
基于Reworks操作系统的信息交互软件设计
关于原点对称的不规则Gabor框架的构造
我国在WYO框架下面对的贸易保护现状及应对