物理隔离下的数据交换平台难点解析与实践(一)

目录

  • 第零章、前言:为什么?做什么?怎么做?
  • 第一章、数据交换平台的一些基本概念

目录

第零章、前言:为什么?做什么?怎么做?

最近带队做了公司的一个项目,叫数据交换平台,旨在物理隔离的情况下对多端业务系统进行数据的加密、传输、监控。

正好这个项目的架构师也在公司做了一次架构层面的技术分享,我便把此次分享和我在项目实践中遇到的一些坑一起整理出来,形成本系列文章。

本系列文章介绍在物理隔离的网络条件下进行数据交换的难点,以及如何保证文件交换的可靠性和安全性,如何与业务系统做到低耦合。

本文的目的在于跟读者一起经历整个项目,看看项目之初我们为什么去启动这个项目,项目的边界在哪里?

项目启动后我们为什么去这样架构和设计?为什么做这样的选型?

再看看项目之中我们怎样去解决断点续传、文件加解密、文件传输监控、文件存储策略、多节点集群等方面的问题?

最后再看看项目结束之后我们又收获了什么?是否真正地解决了问题?还有没有可改进的地方?

第一章、数据交换平台的一些基本概念

1.1 数据交换与交换平台

数据交换在一般意义上实际上是指物理硬件上的电路交换,而我们本次探讨的内容则是软件系统间的数据交换实现。

那么软件系统中的数据交换都有哪些类型呢?

  • API接口

这应该是我们最常用的一种数据交换方式了。可是,API接口也算是数据交换吗?

事实上,我们所有的ESB、webService、API网关、RPC、MQ等等,都是在做系统间通信的工作。

我们想一想,不同的系统间通信什么内容呢?不就是灵与灵的交流、心与心的沟通,嗯,数据跟数据的交换吗?

  • 共库

这应该是最简单的一种交换方式了,我把数据放到这个库,然后给你开个只读用户,或者对你开放同义词、视图权限,我写你读,你写我读。

  • ETL

ETL是英文Extract-Transform-Load的缩写,指将数据从源端抽取取、转换、加载到目标端的一个过程。

ETL常常用在数据仓库,但其实并不限于数据仓库。

  • 数据交换平台

在我的理解中,数据交换平台其实就是ETL的一个扩展集,它可以对多个应用子系统进行信息/数据的传输及共享,对各种分布异构系统进行互联互通,建立中心数据库,完成数据的抽取、集中、加载、展现,有着统一的数据处理和交换方法。

1.2 什么是物理隔离?

那我们本次要说的数据交换平台跟上面定义中的交换平台有什么区别呢?

为什么我们的文章标题中要加一个物理隔离呢?

实际上在我们软件系统数据传输中,大部分都是通过TCP协议来通信的,而在物理隔离的情况下,这一法则将不再适用。

什么是物理隔离?

这个嘛,说起来也是颇具中国特色。在政务内网中,有个名词频频被提及,就是网闸。
这个吊吊的设备提供了我们政务内网与互联网之间的网络安全性。

什么是网闸?来看看百度词条上的一段话:

网闸是使用带有多种控制功能的固态开关读写介质连接两个独立主机系统的信息安全设备。

网闸是怎么保证内外网的安全性的?

由于物理隔离网闸所连接的两个独立主机系统之间,不存在通信的物理连接、逻辑连接、信息传输命令、信息传输协议,不存在依据协议的信息包转发,只有数据文件的无协议"摆渡",且对固态存储介质只有"读"和"写"两个命令。

一句话,就是文件摆渡。另外提一嘴,这个协议隔断可是从链路层搞起的哦。

当前面临的情况就是,一个网闸连接两台主机,只监控这两台主机上指定的文件夹目录,摆渡目录中的文件,从A1到B1,从B2到A2,如此这般。

这两台连接网闸的主机,我们一般叫做前置机。

那么,这两台前置机之间通信只能依赖文件跟文件的交换了。哦,NO。管你什么基于TCP、UDP的HTTP、FTP、TFTP、socket都完蛋。

好吧,看来,网闸真的神一样的存在啊。而网络直连的API接口访问、共库、ETL好像都成了镜花水月一样的东西,看得见,摸不着。只能走自建数据交换平台,使用文件交换这条路了。

紧接着,我们因为这个网闸产生的一系列问题即将接踵而来。

怎么把数据变成文件上传到前置机上去交换?怎么在目标端下载下来?

怎么保证大文件的传输完整呢?中途失败了怎么办?

怎么知道对面的主机收到了我发送的文件呢?网闸可不提供TCP的ACK功能。

怎么保证数据的安全性呢?中途被篡改了怎么办?

怎么保证数据的时序性呢?网闸可不按照时间顺序给你传递文件。

怎么监控数据流转的情况呢?丢包了怎么办?有没有办法可以知道?

嗯,如果想了解以上问题,请看第二章:交换平台的项目边界与架构设计。

第二章在哪里看?额,还没写,等两天吧。

原文地址:https://www.cnblogs.com/yaoshen/p/11037399.html

时间: 2024-08-29 18:56:02

物理隔离下的数据交换平台难点解析与实践(一)的相关文章

数据交换平台的双内存设计

一.数据交换平台 数据交换平台的项目目的,就是为了解决异构数据库之间的数据交换问题. 这个平台的设计,参考了淘宝开源的DataX.大众点评的Wormhole,等,受到的启发很大. 项目由小到大,逐步形成平台化发展,几乎汇总了公司后台db之间的所有数据同步,任务个数有近500个,每天数据量达3亿. 目前,平台运行稳定,推广部署到其他分公司.趁这个机会,整理了一些文档,拿出来分享,也算是回馈感恩吧. 上一篇文档,说了一些需求和初步设计. 这一篇重点说下,两块共享内存的设计细节,直接上图. 二.任务实

数据交换平台的架构设计

序言 说到架构设计,不敢妄自牛逼.只能默默地向Linux致敬,没有强大的linux系统,我们做的架构设计,做的程序一天说不定挂几次.(windows系统就不说了,呵呵) 数据交换平台的架构发展 架构不是一蹴而就的,是随着团队技术能力的积累,随着公司数据平台的逐步完善,随着相关开源产品的深入学习,逐步形成和进化的. 不同阶段,需要不同的架构.因此,不能单纯地说,哪个架构就好,哪个架构就不好.只要适合当时的环境,就是最好的.对公司业务的发展,对其他模块的项目支撑,没有起到约束和限制的作用,就OK.如

看看美团如何进行数据治理平台的建设与实践?

背景 作为一家高度数字化和技术驱动的公司,美团非常重视数据价值的挖掘.在公司日常运行中,通过各种数据分析挖掘手段,为公司发展决策和业务开展提供数据支持.经过多年的发展,美团酒旅内部形成了一套完整的解决方案,核心由数据仓库+各种数据平台的方式实现.其中数据仓库整合各业务线的数据,消灭数据孤岛:各种数据平台拥有不同的特色和定位,例如:自助报表平台.专业数据分析平台.CRM数据平台.各业务方向绩效考核平台等,满足各类数据分析挖掘需求.早期数据仓库与各种数据平台的体系架构如图1所示: 图1 酒旅早期各数

DataPipeline丨新型企业数据融合平台的探索与实践

一.关于数据融合和企业数据融合平台 数据融合是把不同来源.格式.特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享. 企业数据融合平台,通常的表现形态为运行着大量数据同步和转换任务的分布式系统.其源端一般为各类偏实时的业务数据存储系统,目的端为各类数据仓库/对象存储. 二.企业数据融合平台的典型架构 下图为数据融合平台的典型架构,源端是不同的数据存储系统,另一端是各种类型的数据仓库,关系型数据库或者文件存储等.中间为数据融合平台的简单架构,组件Source connector

物理隔离与数据交换-网闸的设计原理

一.什么是网闸 网闸技术的需求来自内网与外网数据互通的要求,比如政府的电子政务是对公众服务,与互联网连通,而内网的政府办公网络,由于保密的要求,内网若与网连通,则面临来自公网的各种威胁.安全专家给出的建议是:由于目前的安全技术,无论防火墙.UTM等防护系统都不能保证攻击的一定阻断,入侵检测等监控系统也不能保证入侵行为完全捕获,所以最安全的方式就是物理的分开,所以在公安部的技术要求中,要求电子政务的内.外网络之间"物理隔离".没有连接,来自外网对内网的攻击就无从谈起. 但是,网络的物理隔

混合开发模式下主流移动开发平台分析

关键字:AppCan 移动开发平台 移动应用 Hybrid App在过去的两年中已经成为移动界的核心话题,但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java.Object-C.C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下Hybrid App作为一个折中的解决方案诞生了.那么究竟什么才是Hybrid App呢?HybridApp概念Hybrid App:Hybrid App is a mobile appl

钱趣多风控新举措:源头选择与物理隔离

在过去几年的发展过程中,互联网金融产业先后经历了负面纷争和战乱阶段,终于迎来了行业洗礼后的良性市场局面.目前,诸多P2P平台开始利用大数据和云计算为自身产品引入全新的信用征信体系,力求在提升P2P风控标准的同时降低用户的风险率,提升用户信赖感:而在资金安全方面,也通过制定更加严格和详细的借贷条件,最大程度上保障投资者的资金安全. 除此之外,互联网金融产业也在引入全新的风控管理方法,在确保借贷者需求的同时维护投资者的利益,进而促进行业的整体发展.从目前的情况来看,参与其中的玩家既有实力丰厚的金融公

Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案

本文翻译自LMAX关于Disruptor的论文,同时加上一些自己的理解和标注.Disruptor是一个高效的线程间交换数据的基础组件,它使用栅栏(barrier)+序号(Sequencing)机制协调生产者与消费者,从而避免使用锁和CAS,同时还组合使用预分配内存机制.缓存行机制(cache line).批处理效应(batch effect)来达到高吞吐量和低时延的目标.目前Disruptor版本已经迭代至3.0,本论文是基于Disruptor1.0写就,在新版本中,相对与1.0版本,其核心设计

配置VirtualBox虚拟机实现Ubuntu与Windows系统间数据交换即Putty的访问

一.直接修改Ubuntu IP系统配置文件 Ubuntu IP的网络配置文件是:/etc/network/interfaces打开后里面可设置DHCP或手动设置静态Static IP.前面auto eth0,让网卡开机自动挂载,以下操作针对有线网络在Ubuntu中实现两个网卡.               1.以DHCP方式配置网卡(推荐) (1)打开要编辑的文件interfaces 它的的目录是/etc/network/interfaces