编者荐语:
为有效降低企业运营成本、促进绿色发展,“东数西算”工程已全面启动。在此背景下,构建大带宽、低时延、智能化、安全高效的传输网络,成为实现大数据场景下计算、存储向西部高效转移的关键技术。本文分析了跨域数据分布式传输的研究现状及技术演进,深入浅出地介绍了传输优化、传输保障、安全加密三大关键技术,并对跨域数据分布式传输的未来进行展望,旨在深入探讨如何增强跨域数据交换能力,以提供稳定高性能的文件传输保障。
跨域数据分布式传输关键技术研究
亚信科技(中国)有限公司
摘要:跨域数据分布式传输是大数据分布式协同计算研究的核心内容之一,而低成本、高性能的跨域数据交换是解决跨域数据分布式传输的关键所在。本文分析了跨域数据分布式传输的研究现状及技术演进,并结合亚信科技的研发成果重点介绍了如何通过文件拆分合并、并发传输、引擎匹配、带宽调度等技术策略来提升跨域传输效率、更均衡地利用带宽资源、降低传输故障率、提升异常传输任务的恢复效率,从而实现高效稳定跨域文件传输。此外,对跨域数据分布式传输演进方向进行展望。
一 跨域数据分布式传输概述
(一)跨域数据分布式传输的定义
2022年,国家为推进数字经济发展,正式全面启动“东数西算”工程,从而有效降低企业运营成本并促进绿色发展。伴随着数字经济时代数据要素流通的大趋势,以及算力网络等全国范围内广域基础设施的完善,数据管理正在从面向和限定于单域的孤立服务发展到跨域的共享与协同服务的阶段,即跨域数据管理。跨域主要包含通讯、建模以及安全这三个层面,分别面临跨空间域、跨管辖域以及跨信任域的挑战。
图1:跨域数据管理面临挑战
本研究聚焦于跨空间域,因此这里的跨域数据分布式传输,特指跨空间域之间数据中心间的远距离数据传输。它可以基于跨域传输引擎,构建高可靠、高可用、分布式、低延迟的海量数据采集、聚合、传输中心,以便具备离线数据存储至低成本数据中心、实时数据贴源存储计算的能力,以满足多场景的数据时效需求。
(二)跨域数据分布式传输研究现状
通信运营商、能源等行业存在大量的云边跨域远距离文件传输场景,受网络带宽波动、主机资源限制等复杂环境因素影响,在文件传输过程中存在文件的传输效率不够高,传输异常后大文件传输任务的恢复效率偏低等突出问题。为解决海量数据跨域传输效率不高的问题,当前业界的解决方案主要有三种:方案一是使用传统数据传输工具进行跨域传输, 如华为UCX;方案二是借助磁盘等大存储设备或通过架设物理专线来加快数据在不同地域数据中心之间的传输速度;方案三是通过云环境进行传输节点的快速大量扩容进行并发传输, 如DTExpress。但不同方案在数据量、实时性、成本、环境依赖等维度下各有优劣, 无法满足低成本高实时要求。
(三)跨域数据分布式传输技术演进
在阐述关键技术之前,首先来看一下跨域数据分布式传输的发展历程。如图1所示,本技术的发展主要体现在传输平台架构的演进,而传输架构的演变与业务系统从单域架构向分布式跨域架构的演进过程基本一致。目前,推动框架发展演进的主要因素包括业务复杂性、场景多样性、分布式架构、海量数据并发、传输时效性等。
图2:跨域数据传输架构演进
批量计算、业务解耦等多场景离不开更丰富的任务执行策略、动态分片计算能力的支持,海量数据并发需要任务并行及异步处理、节点资源弹性管控等能力,服务时效的差异性需要传输框架具备灵活处理离线低成本存储、实时边缘端快速数据处理能力。因此,跨域传输平台的整体架构会深度融合区域枢纽节点,转向分布式架构并逐步走向去中心化,从单域的孤立服务迈向跨域的共享与协同服务新阶段。
接下来,本文重点围绕跨域数据分布式传输的关键技术,从传输效能、传输质量、传输安全三个方面介绍亚信科技的研究探索。
二 跨域数据分布式传输优化技术
海量数据跨域传输典型场景如云边协同,各节点之间的数据传输交互具备很大的规模,整个系统对数据传输链路的要求必然会很高,因此需要设计新的技术手段来拓展各节点间数据传输的能力。当前Hadoop拥有自带的分布式拷贝工具DistCp,常用的传输协议有TCP、UDP等,亚信科技结合实际项目需求,会采纳相对成熟的技术并自研创新,从传输协议、引擎匹配、数据压缩、通道调度等方面来提升跨域数据分布式传输的整体效能。
(一)网络增强技术
通过比较TCP、UDP的各自优劣势,亚信科技自研了基于UDT的传输协议增强技术,从通道的双启用、丢包判断恢复的方法进行深入研究,同时设计基于带宽的容量调度,在兼顾传输性能和可靠性前提下,最大化传输效能。
1.基于UDT的传输协议增强
数据传输中,高性能和高可靠性是一对相互制约的指标,往往需要牺牲一项来提升另一项。因此研发同时满足高性能和高可靠要求的颠覆性数据传输技术成为构建大数据分布式基础架构的关键所在。传统大数据相关技术的传输方式,随着网络带宽时延积的增加,通常的TCP协议开始变得低效。TCP在传输距离增加的情况下受制于协议丢包算法的影响,标准TCP协议栈主要依据ACK重复确认包和超时来判断丢包,当有较多丢包时,往往要靠ACK超时来判断超时并引发重传。现代网络的丢包经常是阵发,一个连接上有多个数据包同时丢失是常有的事。因此标准TCP经常要靠超时来重传补洞,往往导致出现几秒甚至上十秒的等待状态,让传输长时间停滞甚至中断。这是影响标准TCP效率主要问题之一。
相对而言,UDP传输速率很高,但是UDP本身无法保证数据传输的可靠性。UDT(UDP based data transfer,简称UDT)协议是兼顾TCP协议的可靠性和UDP协议的高效性的一种传输协议。为此,亚信科技自研基于UDT的文件传输协议,用于增强跨域数据交换能力,提供稳定高性能的文件传输保障。UDT建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制,它是面向连接的双向的应用层协议,同时支持可靠的数据流传输和部分可靠的数据报传输。本文中,主要改进点包括构建TCP与UDP双通道实现高效传输,其中使用 TCP来传输控制信息,使用UDP来传输文件数据。协议将文件切割多个数据块进行传输,并在对端完成数据包的组合并生成文件,传输协议交互流程如图3所示。
图3:传输协议交互流程图
另外,在丢包判断恢复方面,基于UDT定制的文件传输协议,放弃TCP协议把传输报文序列既用来作为传输的字节计数又作为可靠传输的确认标识的做法,设计了全新的ACK数据算法。传输发送方根据传输接收方返回的ACK信息,传输发送方可以第一时间精确判断出丢包情况并进行数据重发,而不用依赖多个ACK的累计确认或ACK超时定时器来触发数据重发,极大地提升了传输速度和传输实时性。从而保障UDT稳定速率的数据传输。
2.基于带宽的容量调度
借鉴YARN资源容量调度机制,亚信科技设计基于带宽的容量调度,如图3所示,通过调整并发数,配置任务的最低运行带宽与最大带宽,结合实际带宽利用率进行动态调整,实现任务带宽资源隔离,保障任务并发执行效率及最大化带宽资源利用率,提高输出效率。主要能力包括:
•动态计算租户文件传输带宽利用率;
•满足最小带宽分配原则;
•分配直至满足最大带宽停止分配;
•按照一定的优先级和规则进行文件并发的分配;
•内存中预先存放文件任务清单,全负荷运行。
图4:基于带宽的容量调度
(二)引擎匹配策略
上一小节,介绍了亚信科技自研基于UDT的传输协议,本节会从综合利用“TCP实时传输引擎”以及“UDT传输引擎”,设计传输引擎匹配策略来实现传输引擎自动适配。该策略会按照传输前、传输中、传输后进行区隔:
•传输前,基于历史传输轨迹、文件量、历史文件大小、网络探测等,设计匹配算法;
•传输中,实时收集传输速率,对于超出超时阈值的自动切换引擎;
•传输后,记录传输切换轨迹,以便后续迭代优化。
图5:传输引擎匹配
(三)单通道与多通道调度
除传输协议本身优化外,亚信科技通过单通道流量限速与多通道并行设计,实现数据传输限流及传输性能的提升。
1.单通道限速
基于令牌桶算法,实现数据传输限流能力,对数据传输过程实现平滑限流,防止非预期的流量激增,导致对下游系统或跨域网络带宽压力过大而引起系统故障。
图6:令牌桶算法示意图
•以恒定频率往桶里加入Token,如果桶已经满了就不再增加。当新请求来临时,会各自拿走一个Token,如果没有Token可拿,就阻塞或者拒绝服务。
•基于令牌桶算法实现的限流组件,通过配置每秒流速和限流策略(阻塞、丢弃),提供平滑突发限流(SmoothBursty)和平滑预热限流(SmoothWarmingUp)实现。
•支持对指定的通道进行速率的限制。
•支持对不同的通道给定不同的速度限制。
2.多通道传输
提供指令、数据多通道并行的数据传输方式,以多通道传输来提升数据传输能力,确保数据传输的效率,为大数据云边协同系统海量数据传输提供保障。
•对数据量大的传输过程,支持采用指令和数据多通道并行传输;
•数据量小时可以不采用多通道的方式传输,系统可以进行设定和自适应。
(四)数据灵活压缩
传输效能的提升离不开数据压缩。在数据传输时,如图6所示,亚信科技可以支持多种数据压缩方式和主流压缩技术,通过提供灵活的数据压缩能力,减少网络传输压力:
•在传输协议层面对传输数据包的压缩传输;
•对待传输文件进行压缩后再进行数据传输;
•支持snappy、zlib、bzip等多种主流文件压缩算法。
图7:数据压缩算法
三 跨域数据分布式传输质量保障技术
以远距离云边传输为需求场景,除探索基于传输本身的网络增强、引擎匹配等技术以提升跨域数据分布式传输总体效能外,还需要研究如何保证重要任务的传输优先级及传输过程数据本身一致性等质量保障技术。
(一)资源隔离机制
为避免不同边缘池、不同业务、不同租户之间跨域传输任务相互影响,保障重要传输任务高效稳定传输,如图7所示,可通过“3+2+3”综合资源隔离策略,实现资源的精细化分配。
图8:资源隔离
3种隔离维度:提供传输路径、业务域以及租户3个维度的隔离,多维度精细化控制传输资源。
2种隔离类型:物理上,按物理主机节点粒度;逻辑上,物理主机节点按线程进行逻辑拆分为更细粒度slot后形成统一资源池,供统一调度。
3种分配方式:按比例:自定义分配比例;均分:均匀分配资源;固定节点:指定物理节点(仅限物理隔离类型)。
(二)批处理传输保障
批处理传输技术下由于数据形态存在边界性,保障机制主要围绕文件校验展开,图9所示的是一个常见数据交换的完整过程如何进行异常保障。
图9:批处理传输技术示意图
• 先基于切分策略(主要网络、大小、负载等因素考虑)将数据从数据源导出。
• 生成导出数据文件的校验文件(如文件名、文件大小、md5验证码、文件生成时间、文件个数等)。
• 将生成的数据文件和校验文件发送给接口端。
• 接收端接收文件后对每个文件进行校验,如果不成功重新获取数据文件。
• 待所有文件验证通过后进行全量文件个数的验证,如发现漏传的文件可重新获取数据文件,再重复4、5步骤直至全部完成。
(三)实时处理传输保障
由于实时数据在生成形态上为无边界数据( Unbounded Data),数据的处理过程是连续的,为保障一致性校验,业界的主流做法是将无边界数据进行细粒度的切分(如30s~5min)。
实时交换能力通过Flink进行封装构建(如图10所示),依托Flink内部依托检查点机制和轻量级分布式快照算法ABS保证Exactly Once,在保证自身事务一致性的基础上,通过实现Flink提供的外部事务接口(两段式提交接口)用于实现外部事务一致性控制,当前实时交换实现了主流大数据组件的事务一致性接口能力,如 Kafka、Hdfs、FTP、SFTP、RDBMS等。
图10:检查点机制示意图
各个组件对两段式提交接口的实现方式如下:
Kafka:通过Kafka的事务接口支持,Flink预先提交数据到Kafka,检查点成功时,再提交Kafka事务(需要Kafka 0.11及其以上版本)。
Hdfs/FTP/SFTP:通过引入中间状态(In-progress及Pending)和最终可用状态(Finished)来实现,预提交时写入中间状态文件,正式提交时变更为最终可用状态。当故障发生时,对处于中间状态的数据进行回滚或者提交,以保证数据的有效性。(HDFS方面需要Hadoop2.7及其以上版本)。
关系数据库:事务控制与关系型数据库事务对等,通过数据库事务控制Begin Commit实现。
四 跨域数据分布式传输安全加密技术
数据传输过程的安全加密,也是跨域数据分布式传输的关键技术之一。为了能够快速、高效地保证计算机网络通信的安全性,在数据传输中给数据进行加密是非常重要的保密手段,数据加密技术的使用不仅可以较好地保障数据在传输过程中的安全性,还能较好地保障数据的完整性、保密性以及有效性,不必再为数据可能被泄露、篡改等而担忧。
(一)通道加密
数据通道的加密措施包括数据加密、数据加签、时间戳机制等,可以选择某一种或多种组合来实现数据通道的安全保障。
•数据加密:数据在传输过程中很容易被抓包,因此使用Https/SFTP等类似的加密传输协议,在数据协议和TCP/UDP之间添加一层加密层,这一层负责数据的加密和解密。
•数据加签:数据加签就是由发送者和接收方互相约定好,生成一段无法伪造的签名串,通过接收方对签名串的验证,从而验证数据在传输过程中是否被篡改。
•时间戳机制:使用时间戳机制,在每次请求中加入当前的时间,服务器端会拿到当前时间和消息中的时间相减,看看是否在一个固定的时间范围内比如5分钟内以便判断是否是非法请求。
(二)文件加密
文件加密,即文件传输过程中不能被别人查看或篡改。当前主流实现包括对称加密和非对称加密,可结合实际场景来确认实现机制。
图11:对称加密&非对称加密
对称加密:发送端通过对文件进行加密,文件传递过去后接收端通过解密获取文件内容,加解密方使用相同的密钥,对应算法如AES、DES等都是对称算法,该算法加解密效率较高,但密钥传输的安全性需要其他方式保障。
非对称加密:非对称算法,具有两个密钥,一个是公钥一个是私钥。用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。
(三)字段加密
字段加密是基于性能和安全考虑的一个折中方案,在传输前或传输中对指定字段(如手机号、姓名)进行加密,既保障了关键数据的脱敏,又提高了数据传输性能。具体字段的加密实现可以参考文件加密的算法,原理基本一致,仅对加密范围进行了缩小。
图12:字段加密
五 总结与展望
亚信科技将跨域数据分布式传输关键技术研究成果融入研发产品设计,通过应用策略的创新来综合利用各类传输协议或工具的优势,提升跨域数据传输整体效率,为用户提供更高效、稳定、易用的跨域数据传输解决方案,进而提升企业数据中台产品的领先优势。
参考资料
[1] 柴云鹏,李彤,范举等.跨域数据管理的内涵与挑战[J].中国计算机学会通讯,2022.11.
[2] UDT协议深入解析.https://developer.aliyun.com/article/412299
[3] GU Yun-hong,GROSSMAN R L. UDT:UDP based data transfer for high-speed wide area networks [J].Computer Networks, 2007,51:1777-1799.
[4] 张春武.数据加密技术在网络通信安全中的应用研究. 江苏通信, 2021,37(06).
------------------------------------------
关注博主公众号,获取最新技术博文:
谢谢您的关注