-
数据交换
2005-04-12 17:57:00数据交换这个名词,听已经听过很久了,不知道其确切的含义和标准,上网搜来搜去,也没有什么明确的结果,倒是看到一个EDI的名词。EDI是英文Electronic Data Interchange的缩写,中文可译为“电子数据互换”,港、澳...数据交换这个名词,听已经听过很久了,不知道其确切的含义和标准,上网搜来搜去,也没有什么明确的结果,倒是看到一个EDI的名词。
EDI是英文Electronic Data Interchange的缩写,中文可译为“电子数据互换”,港、澳及海外华人地区称作“电子资料联通”。它是一种在公司之间传输订单、发票等作业文件的电子化手段。它通过计算机通信网络将贸易、动输、保险、银行和海关等行业信息,用一种国际公认的标准格式,实现各有关部门或公司与企业之间的数据交换与处理,并完成以贸易为中心的全部过程,它是80年代发展起来的一种新颖的电子化贸易工具,是计算机、通信和现代管理技术相结合的产物。国际标准化组织(ISO)将EDI描述成“将贸易(商业)或行政事务处理按照一个共认的标准变成结构化的事务处理或信息数据格式,从计算机到计算机的电子传输”。而ITU—T(原CCITT)将EDI定义为“从计算机到计算机之间的结构化的事务数据互换”。又由于使用EDI可以减少甚至消除贸易过程中的纸面文件,因此EDI又被人们通俗地称为“无纸贸易”。
从上述EDI定义不难看出,EDI包含了三个方面的内容,即计算机应用、通信、网络和数据标准化。其中计算机应用是EDI的条件,通信环境是EDI应用的基础,标准化是EDI的特征。这三方面相互衔接、相互依存,构成EDI的基础杠架。EDI系统模型如图1.1所示。
看来看去,觉得一个真正的数据交换平台应该一定要支持这样的格式吧。
又google了一下,目前以数据交换平台声称的公司有了一些了,大多一上来,就搬出了xml了,数据交换,望文生义一下,就是可以在异构系统之间进行数据的交互。死编程应该说也是可以的啊,当然平台总是要实现一些自动化的东西了,深圳有家公司的做法是以xmlscheme为交换基础,由客户定制数据交换的源和目标,界面有点象xmlspy的mapping功能,反正我是一过五六条线就彻底晕了,不过不失为一种策略,另外还针对几种数据库做了一种scheme,用来描述数据库数据源。对于文件,相对就简单了直接ftp就完成了。
还有一些公司也在宣传,当然我就没有看到更加详细的说明了。
sybase也有一个叫做dxp,在他的白皮书里倒是老实,直接指明了针对中国的电子政务的东西,没有细看,应该是一个日志相关的,类似于异构数据库之间同步器一样的东西。
可是仍然有问题,现实中的数据交换,可能是很多的东西,可能数据源和数据去向都比较的不确定,这些是不是数据交换平台的职责呢,如果是,开发起来就比较痛苦了。
如果有哪位了解真正的数据交换平台是什么样子,给点资料,多谢先。
-
数据交换格式
2019-02-18 19:56:37json是一种轻量级的数据交换格式,相比与xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所有客户端和服务器的数据交换格式往往通过json来进行交换。 json有两种数据结构 json简答说...1.JSON
json是一种轻量级的数据交换格式,相比与xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所有客户端和服务器的数据交换格式往往通过json来进行交换。
json有两种数据结构
json简答说就是javascriptzhogn中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
对象:对象在js中表示为"{}"括起来的内容,数据结构为{key:value,key:value,......}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象,key获取属性值,这个属性值的类型可以是数字,字符串,数组,对象几种。
数组:数组在js中是中括号“[]”括起来的内容,数据结构为["java","javascript","php",...],取值方法和所以语言中一样,使用索引获取,字段值的类型可以是数字,字符串,数组,对象几种,经过对象,数组2中数据结构就可以组合成复杂的数据结构了。
2.常用的json解析框架
fastjson(阿里),gson(谷歌),jackson(springmvc自带)
使用fastjson api
//解析json String str = "{\"name\":\"wenlong\", \"age\":21,\"car\":[{\"carname\":\"奥迪\",\"color\":\"red\"}]}"; JSONObject jsonObject = new JSONObject(); JSONObject json = JSON.parseObject(str); String name = json.getString("name"); JSONArray jsonArray = json.getJSONArray("car"); for (Object obj : jsonArray) { JSONObject jsonO = (JSONObject) obj; String carname = jsonO.getString("carname"); String color = jsonO.getString("color"); System.out.println(carname); System.out.println(color); } System.out.println(name);
//json转对象 public class Demo { public static void main(String[] args) throws Exception { String str = "{\"name\":\"wenlong\", \"age\":21,\"car\":[{\"carname\":\"奥迪\",\"color\":\"red\"}]}"; User u = new JSONObject().parseObject(str, User.class); System.out.println(u.toString()); } } class User { private String name; private int age; private List<Car> car; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<Car> getCar() { return car; } public void setCar(List<Car> car) { this.car = car; } public String toString() { return "User [name=" + name + ", age=" + age + ", car=" + car + "]"; } } class Car { private String carname; private String color; public String getCarname() { return carname; } public void setCarname(String carname) { this.carname = carname; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public String toString() { return "Car [carname=" + carname + ", color=" + color + "]"; } }
//json api 封装json JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "wenlong"); jsonObject.put("age", 21); JSONArray jsonArray = new JSONArray(); jsonArray.add("宝马"); jsonArray.add("奥迪"); jsonObject.put("car", jsonArray); System.out.println(jsonObject.toString());
//将对象转换为json字符串 public class Demo { public static void main(String[] args) throws Exception { User u = new User(); u.setName("wenlong"); u.setAge("21"); String str = new JSONObject().toJSONString(u); System.out.println(str); } } class User { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
3.xml简单使用
是一种可扩展标记语言,主要用于描述数据和用作配置文件。
主要解析方式:dom4j,sax,pull
dom4j和sax区别
dom4j不合适大文件的解析,因为它是一下子将文件加载到内存中,所有有可能出现内存溢出,sax是基于事件来对xml进行解析的,所以他可以解析大文件的xml,也正是因为如此,所以dom4j可以对xml进行灵活的增删改查和导航,而sax没有那么强的灵活性,所有sax经常用来解析大型xml文件,而要对xml文件进行一些灵活操作就用dom4j。
解析xml代码
<?xml version="1.0" encoding="UTF-8"?> <students> <student1 id="001"> <姓名>文龙</姓名> <学号>001</学号> <地址>广州白云区</地址> <座右铭>有bug的bug</座右铭> </student1> <student2 id="002"> <新浪微博>bug</新浪微博> <学号>002</学号> <地址>广州天河区</地址> <座右铭>加油加油</座右铭> </student2> </students>
public class Demo { public static void main(String[] args) throws Exception { SAXReader saxReader = new SAXReader(); Document doc = saxReader.read(new File("F:\\user.xml")); //获取根节点 Element root = doc.getRootElement(); getNodes(root); } public static void getNodes(Element ele) { List<Attribute> attributes = ele.attributes(); for (Attribute a : attributes) { System.out.println(a.getName() + a.getText()); } if(!ele.getTextTrim().equals("")) { System.out.println(ele.getName() + ele.getText()); } Iterator itemator = ele.elementIterator(); while(itemator.hasNext()) { Element e = (Element) itemator.next(); getNodes(e); } } }
xml与json区别
xml是重量级数据交换格式,占宽带比较大。
json是轻量级交换格式,xml占用宽带小。
-
数据交换平台
2019-05-06 11:36:021.什么是数据交换平台 数据交换平台就是把不同来源、不同特性的数据在逻辑上和物理上有机地集中,从而为企业应用系统提供全面的数据共享。通过数据交换平台解决企业数据一致性和数据可靠传输问题,打破企业信息孤岛...1.什么是数据交换平台
数据交换平台就是把不同来源、不同特性的数据在逻辑上和物理上有机地集中,从而为企业应用系统提供全面的数据共享。通过数据交换平台解决企业数据一致性和数据可靠传输问题,打破企业信息孤岛,建立企业数据中心,最终实现数据的共享发布应用。
数据交换平台的作用
(1)打通信息孤岛,形成全景数据视图
通过数据集成实现信息互联,为数据分析应用提供完整数据。
(2)形成统一数据标准,实现多样数据融合共享
通过数据集成实现异构数据统一,减少冗余数据,方便数据共享应用。
(3)保证信息可靠传输,提升数据质量
通过数据集成提高数据及时性、准确性、完整性,增加数据可信度。
2.DataPipeline数据交换平台产品特性
基于数据库归档/在线日志实时捕获变更数据
异构数据源之间的实时数据同步,支持断点续传
全流程图形化界面支持简单易用,学习成本极低、零开发
灵活同步源端多种变化,自适应表结构变化,可自动同步
监控数据任务同步情况,可视化管理数据交换过程
数据被传送且仅被传送一次、目的地端自动去重,保证数据一致性
3.数据交换平台应用场景
(1)集中模式
(2)水平模式
(3)多级模式
-
图解数据交换技术——电路交换、报文交换、分组交换
2020-03-10 20:50:32一、数据交换技术 是什么 数据交换技术是实现网络边缘的主机在大规模网络核心进行数据交换的基础 网络边缘:连接到网络的所有端设备(包含主机) 网络核心:交换节点(如路由器)及传输介质(通信链路)的集合,也称为...一、数据交换技术
是什么
数据交换技术是实现网络边缘的主机在大规模网络核心进行数据交换的基础- 网络边缘:连接到网络的所有端设备(包含主机)
- 网络核心:交换节点(如路由器)及传输介质(通信链路)的集合,也称为通信子网
网络如图所示:
通俗理解下,数据交换技术是为了让两台主机进行数据传输,消息交换二、数据交换技术三种方式
2.1电路交换
传输数据三个步骤如图
- 建立电路:通过中间交换结点为两台主机之间建立一条专用物理链路
- 传输数据:利用电路通信
- 拆除电路:释放信号经过物理链路各个结点
最大的电路交换就是电话网络,
如图所示
电路交换优缺点
优点- 实时性高:电路建立固定速率传输数据
- 时延较小:中间节点不对数据处理
缺点
- 信道利用率低:建立连接为专用电路,没有数据传输也要占用电路
- 传输速率单一:固定速率传输数据
综上
电路交换是有连接的,适用于语音和视频实时性强的业务2.2报文交换
为什么有?
主机间交换突发性数据,采用电路交换会浪费信道容量,提出报文交换什么是?
报文=数据+发送/接受主机地址及其他控制信息
以报文为单位在各个节点以存储—转发方法传送- 存储——转发:整个报文传送到相邻结点,全部存储后查找转发表,转发下一个结点
在各个节点传输过程如下
报文交换相对于电路交换的优缺点
优点:
信道利用率高:只有报文转发时才占用信道,不存在空闲占用缺点:
时延长:结点缓存报文,报文排队发送
丢包:当结点缓存满时,便丢弃报文2.3分组交换
是什么
- 分组是将报文分割成小数据块,每个块上加上地址等控制信息
- 每个分组独立传输到目的地,在目的地将分组重组,还原成报文
报文与分组的关系
分组交换的传输过程
相对于报文交换的优缺点
优点:
1.交换设备存储容量要求低- 报文交换缓存整个报文
- 分组交换只缓存小分组
2.交换速度快
- 报文比较大时有可能存储到外存,读取速度低
- 分组小存储到内存,读取速度块
3.可靠传输率高
- 报文出错将重传整个报文
- 分组只重传小分组
4.更加公平:
-
报文交换不公平:如果大小报文沿相同路径到相同目的,并且大报文在前,在交换过程中,小报文只有等到大报文传输完,路由器结点接收,才传送。小报文需要更多的时间到达目的地
-
分组交换公平:将大小报文全部拆分为分组,独立传送,总体上小报文比大报文先到达目的地
缺点:
消耗资源:分组在拆分组装时附加更多控制信息三、数据交换技术总结
电路交换- 整个数据(报文)的比特流连续从源点到终点
报文交换
- 整个报文先送到相邻结点,全部存储后查找转发表,转发到下一结点(等传输完,下一个传输)
分组交换
- 单个分组(报文一部分)传送到相邻结点,存储下来后找转发表,转发下一结点(流水线式)
三种方式的优缺点都是相对于前一个来说的,那么分组交换一定优于电路交换吗?
不一定,在要求实时性的通信时,电路交换依旧有它的用武之地 -
Exchanger数据交换
2019-11-14 18:59:56主要作用:两个线程之间进行数据交换。 Exchanger提供了一个同步点,当线程执行到同步点时,会被阻塞,直到双方完成了数据交换,才继续往下执行。 Tom和Jerry例子 启动两个线程,让其完成一次简短的对话。 Tom ... -
数据交换过程详解
2020-06-11 08:31:00转载本文需注明出处:微信公众号EAWorld,违者必究。前言:本文主要介绍数据交换过程中常用的数据交换方法和方式以及数据交换在新技术下所面对的“挑战”,方便大家深入理解数据交换过程。普元... -
【计算机网络】网络层 : 数据交换方式 ( 电路交换 | 报文交换 | 分组交换 )★
2020-08-24 21:33:34一、数据交换方式、 二、电路交换、 三、报文交换、 四、分组交换、 五、分组交换、报文交换 对比、 六、电路交换、报文交换、分组交换 对比、 -
Protobuf数据交换格式
2020-01-08 00:28:30ProtoBuf(Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON, 但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储... -
常用数据交换格式
2020-01-03 21:37:32什么是数据交换格式?、JSON、XML -
数据交换方式
2014-11-21 11:23:532.7 数据交换方式 根据网络拓扑结构,通信子网又可分广播通信网和交换通信网。在广播通信网中,通信 是广播式的,无中间结点进行数据交换,所有网络结点共享传输媒体,如总线网、卫星通信网。图2.31所示的通信... -
常用的数据交换格式
2018-08-06 14:54:13一、什么是数据交换格式 在计算机的不同程序之间,或者不同的编程语言之间进行交换数据,也需要一种大家都能听得懂得‘语言’,这就是数据交换格式,它通过文本以特定的形式来进行描述数据。 二、常用的几种数据... -
数据交换平台-初步设计
2018-11-11 22:27:42数据交换平台-初步设计V0.1-Bate 初步设计架构图 系统主要分为 数据交换服务(DataCenter)和前置交换系统。 数据交换服务:主要以API接口方式对外提供服务 前置交换系统:主要管理API接口以及系统设置,所有数据... -
Java实现 蓝桥杯 算法训练 数据交换
2020-02-07 21:20:07试题 算法训练 数据交换 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。 输入格式:输入只有一... -
数据交换技术
2013-07-16 00:31:31从交换技术的发展历史看,数据交换经历了电路交换、报文交换、分组交换和综合业务数字交换的发展过程。分组交换实质上是在“存储—转发”基础上发展起来的。它兼有电路交换和报文交换的优点。 常说的分组交换也... -
网络数据交换技术
2017-01-22 09:30:35本文主要讲讲网络数据交换技术,从链路资源是否可以共享的角度,主要分别为电路交换和报文交换。1. 电路交换 即通过网络,在两个站点之间建立一条专用的通信线路进行通信的过程。任何两点要进行通信和数据交换之前... -
物联网专用数据交换格式CBOR
2019-07-20 17:32:55本文将介绍物联网领域的JSON格式——CBOR,CBOR是专门为受限制物联网终端设计的数据交换格式,该格式轻量间接,可以简单理解为二进制形式JSON格式。CBOR格式可以与COAP协议组合使用,犹如HTTP+JSON;另外,CBOR也是... -
1.1数据交换——电路、报文、分组交换
2018-10-03 20:54:22本文主要总结一下数据交换涉及的三个主要技术——电路、报文、分组交换。“交换”,从通信资源分配角度来看,就是按照某种方式动态地分配传输线路的资源。 1、电路交换 电路交换是通信网中最早出现的一种交换方式... -
利用数据交换平台打通数据治理脉络
2018-11-17 22:00:3711月1日,Informatica举办了网络会议《Informatica数据交换平台主要特性及案例分享》,本文根据Informatica 资深技术顾问续岩演讲内容整理而来。 续岩 Informatica资深技术顾问 观看完整视频回放请长按识别如下... -
JSON 数据交换格式
2018-01-05 12:02:32json是一种轻量级的数据交换格式,由道格拉斯·克罗克福特发明(创建)。它使得人们方便阅读和编写。 json 基于两种数据结构 名称/值(key / value) 对的集合。不同的编程语言中,它被理解为对象(object)... -
数据交换错误
2013-12-12 15:11:02当登陆阿里旺旺时,突然出现数据交换错误,百思不得其解。直到中午吃饭时才想起来,应该在设置那儿启动代理。 因为我的电脑现在是开启着浏览器代理,所以在使用QQ、迅雷等的时候都需要启动代理。 -
统一数据交换(UDX)
2018-06-09 05:55:251 简介UDX:Unified Data eXchange System统一数据交换系统UDX是一个分布式的数据对象交换系统。存储在不同平台,数据库,应用系统的数据通过UDX能够以数据对象为单位进行交换。一个数据对象是一个有意义的业务实体... -
mongoDB数据交换同步到MySQL数据库
2018-03-04 20:28:101、数据交换的目的 进行信息/数据的传输及共享,提高信息资源的利用率,成为进行信息化建设的基本目标,保证分布异构系统之间互联互通,建立中心数据库,完成数据的抽取、集中、加载、展现,构造统一的数据处理和... -
西门子S71200和三菱FX5U实现数据交换,数据采集网关
2020-06-11 14:08:17S71200通过XCNet-PN和FX5U三菱PLC数据交换 本示例以S7-1200(CPU1212C)与FX5U-32MR/ES为例交换数据,本数据交换采用ModbusTCP协议实现,其他支持ModbusTCP从站协议的PLC(例如施耐德PLC),均可实现该数据交换,步骤... -
Flink中task之间的数据交换机制
2016-04-24 20:31:08Flink中的数据交换构建在如下两条设计原则之上: 数据交换的控制流(例如,为实例化交换而进行的消息传输)是接收端初始化的,这非常像最初的MapReduce。 数据交换的数据流(例如,在网络上最终传输的数据)被抽象成... -
数据交换工具Kettle
2014-12-07 11:19:07网上搜集了一些关于开源数据交换工具Kattle的文章,特收藏如下: 文章一:ETL和Kettle简介 ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程。它是构建数据仓库的重要环节。... -
蓝桥杯算法训练 数据交换(Java解法)
2020-01-11 11:34:24算法训练 数据交换 -
Redis+MySQL冷热数据交换
2017-03-07 13:00:56这个场景可以使用redis+mysql冷热数据交换来解决。何为冷热数据交换?冷数据:之前使用的数据,热数据:当前使用的数据。 交换:将Redis中的数据周期的存储到MySQL中业务流程用户进行投票后,首先将投票数据保存到... -
Flink运行时之统一的数据交换对象
2016-12-20 22:40:06统一的数据交换对象在Flink的执行引擎中,流动的元素主要有两种:缓冲(Buffer)和事件(Event)。Buffer主要针对用户数据交换,而Event则用于一些特殊的控制标识。但在实现时,为了在通信层统一数据交换,Flink提供...
-
在 Linux 上构建企业级 DNS 域名解析服务
-
小粥重学mysql(6)之多表查询----练习
-
堡垒机安装配置
-
MySQL NDB Cluster 负载均衡和高可用集群
-
Android第十章
-
华为1+X认证——网络系统建设与运维(初级)
-
建群网培温馨提醒:中国区PMP考试4月和6月合并为一次啦
-
XdRs_将角色作为敌人.rar
-
物联网基础篇:快速玩转MQTT
-
Machine Learning Guide.pdf
-
基于Qt的LibVLC开发教程
-
C++代码规范和Doxygen根据注释自动生成手册
-
m3u8_Downloader中文版V2.1.rar
-
龙芯生态应用开发基础:C语言精要
-
项目管理工具与方法
-
c语言——选择排序
-
el-dialog避坑
-
SolarSystem.zip
-
PowerBI重要外部工具详解
-
使用卷积神经网络实现猫狗分类(tensorflow2.3.1,附代码)