◆杨志博 张彦林
批量文件加密实时传输及存储的方法分析
◆杨志博 张彦林
(甘肃省军区 甘肃 730000)
针对当前复杂的文件加密传输与信息存储,本文在了解传统批量文件加密实时传输方案弊端的基础上,提出了一种新型的文件加密传输与存储方法,希望为进一步增强系统功能奠定基础。
批量文件;实时传输;数据存储;Storm
针对现阶段频繁发生的信息系统安全问题,对批量文件的加密成为避免信息泄漏的关键,在此基础上进行有效的信息数据传递有助于提高信息传递水平,满足社会对各类信息资源的需求。但是就目前而言,批量文件加密实时传输与存储在技术设计以及功能设置上还存在诸多不足,为了能够有效解决此类问题发生,就必须要对其中的关键技术进行完善,这也是本文研究的主要目的。
从技术发展现状来看,关于批量文件加密以及数据实时传输已经被广泛应用在大数据与云计算领域,就目前而言,随着企业生产规模的不断扩大,传统的信息传输模式已经不再适用于企业发展需求,关于批量加密数据的存储与传输成为影响企业可持续发展水平的重要因素。为了能够适应未来生产需求,相关企业必须要在信息技术管理手段上进行创新,在不断拓展信息存储空间的基础上,最大限度上的保证信息系统安全。但是就目前而言,在批量文件的实时传输与数据存储中还存在诸多问题,主要表现为以下几方面:(1)传统模式下的批量文件传出以及存储主要选择主备模式接口机组网,所以为了能够实现数据的同时同步则需要部署充足的SFTP服务,这种模式会显著增加部署的难度,并且一旦系统主机出现故障之后将会直接影响系统运行,备机所存储的数据不能保证信息的一致性,容易引发信息失真问题。接口机在存储信息期间通常会通过内置盘划分raid,这种模式缺乏必要的数据保护功能,导致数据可靠性较低,尤其是在单台服务器运行过程中会受到磁盘IO的限制[1]。(2)在接口机运行中采用了主备模式,导致在系统运行过程中可能会出现大量的闲置备机,不仅造成资源的浪费,而且也无法针对接口机的运行状态做有效的业务分配,不满足未来信息资源管理要求。
针对批量文件加密传输的性能要求,本文在框架设计中结合大数据技术,结合相关单位(或个人)针对需求的分析来完善系统的架构,通过大数据流式框架对批量文件做采集、切分、压缩等一系列操作之后,最终将其存储到系统服务器中。在本次框架设计阶段,需要重点考虑以下几方面问题:(1)为保障有效的信息传递,则需要打造专属服务器以及相对应的传输协议。从现有技术发展情况来看,本文在框架设计中可以采用HTTP/TCP模式传输系统控制信息,使用RTP/UDP模协议传输加密批量文件数据,期间为确保服务器输出的信息能够直接传递到目标地址,则需要通过上述两种协议与服务器之间构建联系。(2)在批量文件传输过程中需要使用压缩技术,在将文件压缩成特定的格式之后再进行信息传输。在这个过程中,由于批量文件传输过程需要耗费大量的时间,在压缩后可以减少批量文件传输过程中所占据的带宽。(3)在框架内传递的数据是结构化的,为强化传输效果,可以在原有结构的基础上增设一个序列化封装结构,能够实现批量文件的数据采集与分组,保证了批量文件可以实现有效的信息传递。
在上述功能设定后,本文设计了该系统的基本框架,框架的结构如图1所示。
根据前文介绍的内容可知,在本文所介绍的系统结构中采用了结构化模式,所以在搭建系统中重点围绕这一数据处理要求来妥善处理各种处理数据,通过在main函数中配置批量文件的地址以及推流地址后,将加密文件传输业务提交到网络集群环境中并进行运行。在这个过程中,网络平台实现批量文件数据接收、分析以及压缩、推流等工作后,实现系统集中处理;在批量文件加密处理后的数据发送至Bolt模块做数据的压缩与加密,这个过程每个系统处理行为均由相应的Bolt负责,因此可以有效改善任务之间的耦合度,保证数据传输效果。
图1 系统结构
与传统技术相比,Storm框架在数据传输中具有可靠性高、低延迟等优点,尤其满足视频、图片等大容批量文件的传输要求,是一种可行技术,所以在本文中介绍将以Storm为基础搭设系统环境,其硬件环境的配置方案为:选择华为弹性云服务器,在该服务器上打造Ubuntu64位系统,该系统为本次批量文件加密传输的存储库;同时针对Storm可视化需求,在主节点上选择双单核处理器。
Storm的软件开发环境为:JDK版本:JDK1.8.0_231;(2)Maven版本:Apache-maven-2.5.5;(3)Python版本:Python2.7.2。
在上述软件开发环境中,Maven作为项目管理工具能够用于系统项目代码管理,管理功能包括:程序“jar”打包、充当bug调试工具等。在Storm的Supervisor节点中需部署Zookeeper分布式应用程序,该程序发挥着服务协调的作用,在整个系统中的功能包括:(1)在Supervisor与Nimbus之间无信息传递,所以当Nimbus接收Storm的任务拓扑后可以直接将任务信息录入Zookeeper中,方便系统快速读取对应节点的状态信息并快速完成资源分配。(2)当Task执行失败时Zookeeper能够获取失败信息,确保Nimbus主节点可以按照运行信息重启Task等。
为满足加密状况下的特殊信息处理需求,本文所介绍的系统在加密中主要是在JDK环境下实现的,方便监控整个Storm的状态信息,并从中提取数据传输与存储过程中的异常信息,判断批量文件是否遭受安全威胁。在Storm框架以及对应的软件环境开发结束后即可选择启动Storm,期间需先运行Zookeeper服务模式,在安装目录下执行操作命令查看系统的运行状态,当Zookeeper运行成功后即可进入Storm的bin目录下,完成系统框架启动[2]。
系统框架启动之后,基于Storm框架的批量文件加密传输执行过程为:用户在客户端建立Topology后,可以直接定义Bolt与Spout的初始并发度(初始Executors数量)并定义组件分流策略;之后将Topology提交到Nimbus中,由Nimbus按照系统设定内容分配批量文件传输任务,下载依赖包源代码数据,分配到对应的Zookeeper上;最后子节点可以通过查询Zookeeper的信息分配详细,执行Tasks。
2.5.1网关关键业务节点以及逻辑流程
在批量文件加密实时传输及存储中,网关的功能也是影响系统性能的关键,本文采用分布式SFTP网关方法,在该网关下的关键业务节点包括:网关模块、验证服务器、云阵对象存储、后端DB2数据库、大数据平台等,网关的逻辑流程为:(1)业务系统通过批量采集数据文件,并通过加密SFTP上传,此时系统开始记录对应的批量文件数量(1~n);(2)业务系统上的批量文件局按照SFTP加密协议上传到对应的网关模块后,由SFTP网关模块按照协议内容向存储模块做转换;(3)批量文件数据在SFTP网关模块上将接收的数据通过透传的方法直接将文件存储值云平台上,该平台上能够完成数据保护;(4)验证服务模块可以直接从SFTP网关中拉取业务数据并下载到本地;(5)通过数据验证的方法提取批量文件传输的日志文件。
2.5.2网关实现策略
在网关实现策略中,主要采用应用组件以及数据组件等,其中应用组件主要被部署在DMZ区,数据组件布置在内网核心区,在上述架构的基础上,SFTP网关模块具有负载低、性能消耗低、易拓展等优势,其实现步骤包括:
(1)SFTP与S3的协议转换。该功能的主要功能就是要将SFTP协议转化为云存储的S3协议,经外委业务系统将需要存储的批量文件加密数据存储在系统后,通过SFTP网关模块实现协议转换后,需要摒弃现行方案的协议模式,先将批量文件数据上传至接口机内置盘,再经接口机客户端软件推送至云计算平台上。在该方案中批量文件在SFTP网关下能够实现透明传输,其中的数据经过协议转换后可直接传输到云平台存储系统中。
(2)SFTP网关的多服务多活。为满足批量文件加密传输需求,SFTP网关需采用多服务多活的模式,在现有的网络架构下,该功能的实现策略为:(1)SFTP网关中的Server根据承载服务器的承载性能比例情况,可以直接在对应的服务商启动SFTP网关服务进程,这个过程中会通过均匀分布的方法来尽可能提升整个系统结构的性能。(2)通过对后端云阵系统存储库做节点标识,可以提供对应的S3协议接口,简化数据传出过程。(3)根据底层服务器的分配方案,能够将SFTP网关服务进程与存储节点一一对应,并采用分散部署的方法,分别对应存储数据库节点与SFTP网关服务。
本文介绍的技术手段能够有效解决批量文件加密实时传输以及存储过程中存在的问题,是一种科学的技术手段,与传统技术相比,本文采用了Storm框架结构,该结构能够提供更稳定的批量文件传输支持策略,满足不同工况下的数据传输需求。同时本文所使用的SFTP网关技术进一步增强了整个系统的功能,具有技术先进性,值得推广。
[1]龙笑.无人机货运大数据实时传输及管理技术研究[D].南京航空航天大学,2019.
[2]闫亚玲,李博,孟祥飞.基于DSP+ARM的音视频同步压缩存储实时传输系统设计[J].实验室研究与探索,2019,38(01):69-72+90.