系统间数据对接方式

第一种方案:socket方式

Socket方式是最简单的交互方式。是典型才C/S交互模式。一台客户机,一台服务器。
服务器提供服务,通过IP地址和端口进行服务访问。而客户机通过连接服务器指定的端口进行消息交互。
其中传输协议可以是TCP/UDP 协议。而服务器和约定了请求报文格式和响应报文格式。
如图一所示:

目前我们常用的http调用,java远程调用,webservices 都是采用的这种方式,只不过不同的就是传输协议以及报文格式。

这种方式的优点:

  1. 易于编程,目前java提供了多种框架,屏蔽了底层通信细节以及数据传输转换细节。
  2. 容易控制权限。通过传输层协议https,加密传输的数据,使得安全性提高
  3. 通用性比较强,无论客户端是.net架构,java,python 都是可以的。尤其是webservice规范,使得服务变得通用

这种方式的缺点:

  1. 服务器和客户端必须同时工作,当服务器端不可用的时候,整个数据交互是不可进行。
  2. 当传输数据量比较大的时候,严重占用网络带宽,可能导致连接超时。使得在数据量交互的时候,服务变的很不可靠。

第二种方案:ftp/文件共享服务器方式

对于大数据量的交互,采用这种文件的交互方式最适合不过了。系统A和系统B约定文件服务器地址,文件命名规则,文件内容格式等内容,通过上传文件到文件服务器进行数据交互。

最典型的应用场景是批量处理数据:例如系统A把今天12点之前把要处理的数据生成到一个文件,系统B第二天凌晨1点进行处理,处理完成之后,把处理结果生成到一个文件,系统A 12点在进行结果处理。这种状况经常发生在A是事物处理型系统,对响应要求比较高,不适合做数据分析型的工作,而系统B是后台系统,对处理能力要求比较高,适合做批量任务系统。

这种方式的优点:
1 在数据量大的情况下,可以通过文件传输,不会超时,不占用网络带宽。
2 方案简单,避免了网络传输,网络协议相关的概念。
这种方案的缺点:
1 不太适合做实时类的业务 。
2 必须有共同的文件服务器,文件服务器这里面存在风险。因为文件可能被篡改,删除,或者存在泄密等。
3 必须约定文件数据的格式,当改变文件格式的时候,需要各个系统都同步做修改。

第三种方案:数据库共享数据方式

系统A和系统B通过连接同一个数据库服务器的同一张表进行数据交换。当系统A请求系统B
处理数据的时候,系统A Insert一条数据,系统B select 系统A插入的数据进行处理。


这种方式的优点:
1 相比文件方式传输来说,因为使用的同一个数据库,交互更加简单。
2由于数据库提供相当做的操作,比如更新,回滚等。交互方式比较灵活, 而且通过数据库的事务机制,可以做成可靠性的数据交换。
这种方式的缺点:
1 当连接B的系统越来越多的时候,由于数据库的连接池是有限的, 导致每个系统分配到的连接不会很多,当系统越来越多的时候,可能导致无可用的数据库连接 。
2 一般情况,来自两个不同公司的系统,不太会开放自己的数据库给对方连接,因为这样会有安全性影响。

第四种方案:message方式

Java消息服务(Java Message Service)是message数据传输的典型的实现方式。系统A和系统B通过一个消息服务器进行数据交换。系统A发送消息到消息服务器,如果系统B订阅系统A发送过来的消息,消息服务器会消息推送给B。双方约定消息格式即可。目前市场上有很多开源的jms消息中间件,比如 ActiveMQ, OpenJMS 。


这种方式的优点:
1 由于jms定义了规范,有很多的开源的消息中间件可以选择,而且比较通用。接入起来相对也比较简单
2 通过消息方式比较灵活,可以采取同步,异步,可靠性的消息处理,消息中间件也可以独立出来部署。
这种方式的缺点:
1 学习jms相关的基础知识,消息中间件的具体配置,以及实现的细节对于开发人员来说还是有一点学习成本的 。
2 在大数据量的情况下,消息可能会产生积压,导致消息延迟,消息丢失,甚至消息中间件崩溃。

下面具体来分析一个场景,来看看系统之间数据传输的应用 场景 目前业务人员需要导入一个大文件到系统A,系统A保存文件信息,而文件里面的明细信息需要导入到系统B进行分析,当系统B分析完成之后,需要把分析结果通知系统A。


A 系统A先保存文件到文件服务器。
B 系统A 通过webservice 调用系统B提供的服务器,把需要处理的文件名发送到系统B。
由于文件很大,需要处理很长时间,所以B不及时处理文件,而是保存需要处理的文件
名到数据库,通过后台定时调度机制去处理。所以B接收请求成功,立刻返回系统A成功。
C 系统B定时查询数据库记录,通过记录查找文件路径,找到文件进行处理。这个过程很长。
D 系统B处理完成之后发送消息给系统A,告知系统A文件处理完成。
E 系统A 接收到系统B请求来的消息,进行展示任务结果。

转自: blog.csdn.net/yanmh007/

代做工资流水公司苏州银行流水修改报价衡阳代做公司流水南阳房贷银行流水 开具温州查询银行流水修改桂林入职流水查询厦门薪资流水开具揭阳薪资流水单制作邢台办理银行流水漳州工资流水单盐城查询自存银行流水孝感打印车贷工资流水滁州做银行对公流水宿迁代开银行流水PS菏泽入职银行流水代办长春做工资流水app截图开封自存流水公司肇庆打入职工资流水漳州转账银行流水制作金华工作收入证明代做蚌埠个人流水公司包头贷款银行流水价格湘潭查工资银行流水衡阳打印银行流水单银川做企业贷流水扬州签证工资流水打印天津做银行对公流水赣州工资流水app截图代开潮州代做签证流水开封企业对公流水价格台州公司银行流水报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化