数据交换过程详解( 四 )


全文比对的过程是先从源和目标中将数据按照排序字段先进行排序然后抽取出来,经过比对组件计算得到变化的状态(insert、update和delete),最后根据得到的变化状态将数据同步到目标表 。如果在这一过程中发生异常,那么这次同步的数据就没有进入目标表,在下一次计划触发执行时由于上一次所执行的作业没有进入目标表,在这次执行作业时又会重新进行比对得到断点位置又会再次进行数据同步 。
CDC数据同步的执行过程是根据日志记录的偏移来从日志中找出需要同步的增量数据,然后到目标表根据操作标识进行数据同步完成后修改日志记录的偏移,那么作业在执行过程中出现异常时,这个日志的偏移量没有改变 。在进行性下一次数据交换时还会从这个偏移量的位置进行,从而实现断点续传 。
非结构化数据交换
以前的非结构化的数据交换,常常使用网盘或者FTP传输文件时,尤其是大文件,容易出现中断,严重影响工作效率和业务 。

数据交换过程详解

文章插图
 
数据交换平台中采用了数字签名、时间戳、报文加密的方式对传输的消息进行完整性验证,防止消息在传输过程中被篡改 。通过数据交换平台可以验证消息确实来自于其真正的发送者而非假冒;确保消息的内容没有被修改;防止以插入、删除、调换或修改等方式篡改消息 。
交换平台中的文件传输具有以下特点:
  • 数据包裹传输方式 防止数据被篡改
采用全新数字包裹数据传输方式,有效防止数据被恶意篡改 。
  • 加密传输和存储 保障数据安全性
提供文件安全交换加密传输和存储 。采用私有文件传输协议和SSL安全协议访问 。提供文件效期控制,支持文件自动清除销毁 。
  • 支持断点续传错误重传 确保数据高效流转
采用超高速传输协议,支持超大文件和海量文件传输 。支持断点续传,错误重传,文件秒传和文件校验 。
下面列举了平台中文件传输中所使用到的技术:
  • 文件校验
平台采用单向散列算法用于文件的完整性验证,在文件传输之前会使用单向散列算法生成文件唯一摘要信息,在文件传输后会将收到的文件再次使用单向散列算法生成摘要信息和之前的摘要信息进行比较 。
  • 断点续传:
断点续传是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部分,而没有必要从头开始上传下载 。用户可以节省时间,提高速度 。
  • 压缩传输:
在文件传输时先将文件进行压缩,然后传送压缩文件到目标,最后进行解压和清除工作,压缩传输能有效减小文件体积节省传输带宽 。
  • 文件切片:
切片传输是将文件进行切片,每一片形成一个传输线程进行传输 。采用并行的数据流传输管道,有效地将传输速率最大化 。
4.3.2 实时数据交换
打破信息壁垒和信息孤岛,实现统一高效、互联互通、安全可靠的数据资源体系,实时数据交换是推动信息跨部门跨层级共享共用数据中心的重要环节 。实时数据交换适用于对于数据时效要求快速、高频度、少量数据传输的场景 。实时数据交换通过将数据中心库中的数据快速的发布出来提供给外部系统共享调用,同时能够监控外部调用数据的情况提升数据的价值 。
数据交换过程详解

文章插图
 
在新的Web服务共享下数据交换平能够自助的、一键式将数据中心库(包括常见的关系型数据库MySQL、oracle、sqlserver等,或Hbase、Hive、MongoDB)中的数据通过标准的Web服务发布出来 。用户只需要配置发布数据中表和表之间的关系以及发布的字段就能够实现单表、多表或数据实体的发布 。发布出的服务带有对输入输出以及调用url的详细描述信息,消费方能够很方便的对这些信息进行查看和订阅 。
服务方能够对订阅的信息进行审批,审批通过后消费方才能根据审批信息,配置服务调用参数调用服务 。服务方通过对订阅信息的管理和监控能更好的掌握和发掘数据的价值 。
4.3.3 数据驱动的交换
变化数据捕获简称CDC,这种方式主要应用于增量数据同步并且实时性要求较高的场景 。这种架构下数据写入主存储后会由主存储再向辅存储进行同步,对应用层是最友好的,只需要与主存储打交道 。主存储到辅存储的数据同步,则可以再利用异步队列复制技术来做 。不过这种方案对主存储的能力有很高的要求,必须要求主存储能支持CDC技术 。而目前每种数据库实现CDC的方式和方法各不相同,于是就需要根据数据库类型定制化的进行CDC的开发 。


推荐阅读