一种应用系统间数据传输方式的制作方法

文档序号:14179184阅读:611来源:国知局
一种应用系统间数据传输方式的制作方法

本发明涉及应用系统间数据传输方式在各个领域的应用,具体涉及到服务器领域应用系统间数据,提供一种应用系统间数据传输方法。



背景技术:

随着近年来soa(面向服务技术架构)的兴起,越来越多的应用系统开始进行分布式的设计和部署。系统由原来单一的技术架构变成面向服务的多系统架构。原来在一个系统之间可以完成的业务流程,通过多系统的之间多次交互来实现。因而亟需一种技术来解决应用系统之间如何进行数据的传输。



技术实现要素:

本发明是通过如下技术方案实现的,一种用于应用系统之间数据传输的方法,具体包括以下步骤:1)系统a先保存文件到文件服务器;2)系统a通过webservice调用系统b提供的服务器,把需要处理的文件名发送到系统b;b保存需要处理的文件名到数据库;3)系统b定时查询数据库记录,通过记录查找文件路径,找到文件进行处理;4)系统b处理完成之后发送消息给系统a,告知系统a文件处理完成;5)系统a接收到系统b请求来的消息,进行展示任务结果。

优选的,步骤2)中,系统b接收请求成功,立刻返回系统a成功。

本发明还提供一种用于应用系统之间数据传输的系统,包括系统a和系统b,还包括共享文件服务器、数据库、消息中间件模块。

优选的,系统b包括文件请求处理模块和定时文件处理模块。

本发明提供一种计算机存储介质,其上存有计算机程序,该程序被处理器执行以实现所述的方法。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序以实现所述的方法。

本发明相对于现有技术的有益效果是,能够快速实现应用系统之间数据的传输。

附图说明

图1现有技术中应用系统之间采用socket方式进行数据传输的示意图

图2现有技术中应用系统之间采用ftp/文件共享服务器方式进行数据传输的示意图

图3现有技术中应用系统之间采用数据库共享数据方式进行数据传输的示意图

图4现有技术中应用系统之间采用message方式进行数据传输的示意图

图5本发明一实施例提供的应用系统之间进行数据传输的示意图

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

应用系统之间数据传输有三个要素:传输方式,传输协议,数据格式,现有数据传输方式一般采用以下几种:

一、socket方式

socket方式是最简单的交互方式。是典型才c/s交互模式。一台客户机,一台服务器。服务器提供服务,通过ip地址和端口进行服务访问。而客户机通过连接服务器指定的端口进行消息交互。其中传输协议可以是tcp/udp协议。而服务器和约定了请求报文格式和响应报文格式。如图1所示,目前我们常用的http调用,java远程调用,webserivces都是采用的这种方式,不同的就是传输协议以及报文格式。这种方式的优点是:

1易于编程,目前java提供了多种框架,屏蔽了底层通信细节以及数据传输转换细节。

2容易控制权限,通过传输层协议https,加密传输的数据,使得安全性提高。

3通用性比较强,无论客户端是.net架构,java,python都是可以的。尤其是webservice规范,使得服务变得通用。

而这种方式的缺点是:

1服务器和客户端必须同时工作,当服务器端不可用的时候,整个数据交互是不可进行。

2当传输数据量比较大的时候,严重占用网络带宽,可能导致连接超时。使得在数据量交互的时候,服务变的很不可靠。

二、ftp/文件共享服务器方式

对于大数据量的交互,采用这种文件的交互方式最适合不过了。系统a和系统b约定文件服务器地址,文件命名规则,文件内容格式等内容,通过上传文件到文件服务器进行数据交互。具体流程如图2所示。

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

以上只是说明通过文件方式的数据交互,实际情况b完成任务之后,可能通过socket的方式通知a,不一定是通过文件方式。

这种方式的优点:

1在数据量大的情况下,可以通过文件传输,不会超时,不占用网络带宽。

2方案简单,避免了网络传输,网络协议相关的概念。

这种方式的缺点:

1不太适合做实时类的业务

2必须有共同的文件服务器,文件服务器这里面存在风险。因为文件可能被篡改,删除,或者存在泄密等。

3必须约定文件数据的格式,当改变文件格式的时候,需要各个系统都同步做修改。

三、数据库共享数据方式

如图3所示,系统a和系统b通过连接同一个数据库服务器的同一张表进行数据交换。当系统a请求系统b处理数据的时候,系统ainsert一条数据,系统bselect系统a插入的数据进行处理。

这种方式的优点是

1相比文件方式传输来说,因为使用的同一个数据库,交互更加简单。

2由于数据库提供相当做的操作,比如更新,回滚等。交互方式比较灵活,而且通过数据库的事务机制,可以做成可靠性的数据交换。

这种方式的缺点:

1当连接b的系统越来越多的时候,由于数据库的连接池是有限的,导致每个系统分配到的连接不会很多,当系统越来越多的时候,可能导致无可用的数据库连接

2一般情况,来自两个不同公司的系统,不太会开放自己的数据库给对方连接,因为这样会有安全性影响。

四、message方式

如图4所示,java消息服务(javamessageservice)是message数据传输的典型的实现方式。系统a和系统b通过一个消息服务器进行数据交换。系统a发送消息到消息服务器,如果系统b订阅系统a发送过来的消息,消息服务器会消息推送给b。双方约定消息格式即可。目前市场上有很多开源的jms消息中间件,比如activemq,openjms。

这种方式的优点

1由于jms定义了规范,有很多的开源的消息中间件可以选择,而且比较通用。接入起来相对也比较简单

2通过消息方式比较灵活,可以采取同步,异步,可靠性的消息处理,消息中间件也可以独立出来部署。

这种方式的缺点

1学习jms相关的基础知识,消息中间件的具体配置,以及实现的细节对于开发人员来说存在一定学习成本

2在大数据量的情况下,消息可能会产生积压,导致消息延迟,消息丢失,甚至消息中间件崩溃。

本发明一实施例综合现有技术,提供一种用于应用系统之间数据传输的方法,如图5所示,具体的,业务人员需要导入一个大文件到系统a,系统a保存文件信息,而文件里面的明细信息需要导入到系统b进行分析,当系统b分析完成之后,需要把分析结果通知系统a。该方法包括如下步骤:

a系统a先保存文件到文件服务器。

b系统a通过webservice调用系统b提供的服务器,把需要处理的文件名发送到系统b。由于文件很大,需要处理很长时间,所以b不及时处理文件,而是保存需要处理的文件名到数据库,通过后台定时调度机制去处理。所以b接收请求成功,立刻返回系统a成功。

c系统b定时查询数据库记录,通过记录查找文件路径,找到文件进行处理。这个过程很长。

d系统b处理完成之后发送消息给系统a,告知系统a文件处理完成。

e系统a接收到系统b请求来的消息,进行展示任务结果。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序或者程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1