谭文贵
(中国移动通信集团重庆有限公司 重庆市 401121)
本文涉及批量文件加密实时传输技术和云计算领域,尤其是随着企业批量文件传输需求大量增加和硬件资源云化比例的不断增大,计算、存储资源的云化广泛运用到企业各业务,而且越来越向核心业务渗透,资源云化的使用越来越广且业务要求也更高。特别是针对批量文件加密实时传输及存储,如何实现批量文件传输和存储云化管理、IO 性能提升、统一空间权限管理、横向扩展、数据安全保障是一个值得研究的课题。现有的技术方案存在一系列的缺陷,主要有:
(1)批量文件传输和存储采用主备模式接口机组网,数据的实时同步需要部署大量的sftp 服务,部署复杂;一旦主机发生故障不能正常启动,备机的数据一致性不能得到保证;接口机的存储采用内置盘划分raid 方式,数据保护机制不够,可靠性不高,单台服务器的磁盘IO 受到限制。
(2)接口机采用主备模式,备机闲置较多,造成资源的浪费。不能根据接口机的忙闲程度,灵活进行业务分配,合理利用资源。
(3)存储空间容量的管理问题。由于内置盘的扩展能力有限,随着大数据业务数据量的大量增加,内置盘的容量不能满足业务需求,横向扩展能力差。存储空间访问权限问题。每个账号读取存储空间的路径不可以统一设置,不能提供统一的空间权限管理。
针对当前批量文件加密实时传输及存储的缺陷,本文提出一种批量文件加密实时传输及存储的方法,该方案对批量文件加密实时传输及存储方法进行了系列优化。
一种批量文件加密实时传输及存储的方法,该方案对批量文件加密实时传输及存储方法进行了优化,采用基于分布式SFTP 网关的接口机云化方法,传输采用前端分布式SFTP 网关部署,存储采用后端云阵对象存储池架构部署。批量文件加密实时传输及存储架构如图1所示。
批量文件加密实时传输及存储主要由五大部分组成。主要由批量文件待传局点1,2,…n、分布式sftp 网关模块、分布式云阵对象存储、验证服务模块、后台数据库系统组成。各业务系统需要加密传输的文件在批量文件局点1,2,…n 待传、分布式sftp 网关模块由sftp 网关服务组成、分布式云存储由云阵对象存储组成、验证服务模块进行业务验证和错误日志回传、后台数据库系统含大数据Hadoop 平台和仓库数据库DB2 平台。该技术方案中主要实现以下三大模块:
模块一:分布式SFTP 网关模块。实现内容如下:
图1:批量文件加密实时传输及存储架构图
图2:业务数据传输逻辑流程图
SFTP 网关模块采用sftp 与s3 协议转换技术,将批量文件传输加密协议sftp 转换为后端对象存储池接口协议s3,SFTP 网关中的服务器仅作透传功能,性能消耗低,IO 吞吐量由后端云阵对象存储池满足,性能较传统方法提升明显。
模块二:接口机后端云阵对象存储模块。后端云阵存储提供s3协议访问接口,与模块一中将sftp 协议转换后的s3 协议匹配,采用纠删码技术进行数据安全保护,横向易于扩展,解决横向扩展问题,满足日益增长的业务数据存储需求和紧急扩容需求。
模块三:验证服务模块进行业务数据的验证,将处理好的数据写入大数据Hadoop 平台和数据库,实现数据验证失败回写日志文件功能。
基于分布式SFTP 网关的业务数据传输流程如图2所示。流程中涉及的环节主要有:批量文件待传局点、sftp 网关模块、云阵对象存储、验证服务器、后端DB2 数据库和大数据hadoop 平台。业务数据传输逻辑流程步骤如下:
(1)业务系统批量数据文件采用加密sftp 进行上传,形成批量文件局点1,2,…n;
(2)业务系统批量文件局点1,2,…n 通过sftp 加密协议上传到sftp 网关模块,sftp 网关模块进行sftp 协议向对象存储s3 协议转换;
(3)批量文件数据通过sftp 网关模块将接收到的采用透传方式,将文件数据存储到后端云阵对象存储系统,云阵对象存储系统采用s3 协议,纠删码技术进行数据保护;
(4)业务系统通知验证服务模块业务数据上传成功;
(5)验证服务模块从sftp 网关拉取业务数据到本地;
(6)验证服务模块验证业务数据并做业务处理后存储到DB2数据库和大数据Hadoop 平台;
(7)数据验证失败回写日志文件。
该方案中分布式sftp 网关主要包含应用组件、数据组件和负载均衡组件几部分组成。该方案中采用应用组件和数据组件按照安全域划分规则分开部署,应用组件部署在DMZ 区,数据组件部署在内网核心区。方案中sftp 网关模块内部服务器的操作系统均为轻量级安装,负载低,性能消耗较少,横向扩展容易,安全性好,易于批量配置管理。分布式sftp 网关的主要实现步骤如下:
该功能的核心就是实现sftp 协议转换成云阵对象存储的s3 协议。当外围业务系统数据需要通过接口机写入后端存储系统的时候,通过sftp 网关模块,将sftp 协议向s3 协议的转换,摒弃目前方案中直接通过sftp 协议将业务数据传到接口机内置盘,再通过接口机客户端软件推送到后端DB2 数据库和hadoop 平台。该方案中的批量文件通过sftp 网关实现透明传输,不在sftp 网关自身服务器内置盘落地,而是将数据通过协议转换直接透明传输到后端云阵对象存储池。
生产环境中sftp 网关必须以多服务多活的方式运行,采用分布式架构实现。主要实现方法如下:步骤1、将sftp 网关中的sftp server 按照承载服务器的性能比例情况,在各服务器上部署并启动sftp 网关服务进程,尽量均匀分布提升整体性能;步骤2、对后端云阵对象存储池进行节点标识,并提供s3 协议接口;步骤3、按照来自不同底层服务器的原则,将两个sftp 网关服务进程与一个后端的对象存储节点一一对应,按照分散部署的原则,实现sftp 网关服务进程与后端对象存储池节点的对应。
该方案实现sftp 网关内部统一访问接口,摒弃目前方案中一对接口服务器一个访问IP 地址,整个分布式sftp 网关统一提供一个访问服务IP。降低业务访问的复杂度,统一管理变得简单。统一访问服务IP 入口,在后端进行资源调配时,用户无感知,灵活调配资源满足业务的需求。
该方法实现sftp 网关内部访问账号权限统一管理,摒弃目前方案中大量接口机复杂的sftp 账号,账号管理难度大,风险高。提供统一的空间权限管理,存储空间的权限与访问账号权限对应,实现对后端存储空间权限的统一管理。sftp 网关用户包含两部分,系统用户和sftp 用户。采用系统用户和sftp 用户分离管理的方法。系统用户用于维护、监管sftp 用户的日常操作;sftp 用户可在系统管理界面统一维护,支持权限设置,可以配置用户根目录到对象存储的bucket,也可以设置用户权限到指定bucket 下的文件夹。采用本方案sftp 用户管理更加规范,账号的权限管理会根据用户的需求进行整体评估使用,并进行相应的安全限制。为提供操作记录回溯,该方案提供操作日志记录功能,操作日志中记录sftp 用户对文件的详细操作,包括文件的上传、下载、删除和移动等操作,便于对用操作的追踪和监管。
针对当前批量文件加密实时传输及存储的缺陷,本文优化了传统方法,技术优点具体包括:
(1)采用前端分布式SFTP 网关,后端分布式云存储架构。提供接口机池化管理,解决内置盘的数据安全性和系统的高可用问题,解决单台服务器的磁盘IO 限制问题。采用sftp 与s3 协议转换技术,SFTP 网关中的服务器仅作透传功能,性能消耗低,IO 吞吐量由后端云阵存储池满足,性能较传统方法提升明显。
(2)通过分布式SFTP网关,SFTP网关内部实现统一访问接口,将请求分发至合适的节点,灵活进行业务分配,合理利用资源。降低业务访问的复杂度,统一管理变得简单。同一个访问服务IP 入口,在后端进行资源调配时,用户无感知,灵活调配资源满足业务的需求。
(3)采用接口机后端云阵存储池化技术,SFTP 网关服务进程和后端云阵存储横向易于扩展,解决横向扩展问题,满足日益增长的业务数据存储需求和紧急扩容需求。
(4)采用接口机池化技术,SFTP 网关内部实现访问账号权限统一管理。解决传统方案中接口机复杂的sftp 账号,账号管理难度大,风险高的问题。存储空间的权限与访问账号权限对应,实现对后端存储空间权限的统一管理。