首页> 中国专利> 面向服务的体系结构环境下服务之间数据传输的动态优化方法

面向服务的体系结构环境下服务之间数据传输的动态优化方法

摘要

本发明属于面向服务的体系结构环境下服务之间数据传输技术领域,其特征在于,在提供服务的服务器上增加一个数据传输优化适配器,对本地的一个服务传来的包括数据和目的服务的地址在内的数据传输请求,通过包括发来的数据传输量大小在内的相关条件在进行估算后向目的服务所在的提供服务的服务器或者相应协议所在网络的数据服务器发送测试包,进行测试,再从应答中得到的带宽、延迟信息来具体选择相应的传输协议。本方法能够支持包括简单对象访问协议、文件传输协议、网格文件传输协议在内的能够在异构平台见传输数据的协议,克服了单一传输协议的不灵活、在某些条件下性能低的缺点。

著录项

  • 公开/公告号CN1968276A

    专利类型发明专利

  • 公开/公告日2007-05-23

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN200610144014.6

  • 发明设计人 都志辉;程志力;王曼;朱穗晖;

    申请日2006-11-24

  • 分类号H04L29/06;H04L29/08;

  • 代理机构

  • 代理人

  • 地址 100084 北京市100084-82信箱

  • 入库时间 2023-12-17 18:42:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-01-23

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20100407 终止日期:20111124 申请日:20061124

    专利权的终止

  • 2010-04-07

    授权

    授权

  • 2007-07-18

    实质审查的生效

    实质审查的生效

  • 2007-05-23

    公开

    公开

说明书

技术领域

本发明是一种面向服务的体系结构环境下的服务之间数据传输方法,特别是一种针对Web服务,网格服务等服务之间的动态自适应优化数据传输方法。

背景技术

面向服务的体系结构(SOA)是一种粗粒度、松耦合的软件体系结构。在面向服务的体系结构之下,环境中所有元素都抽象为服务,而服务再通过基于标准定义的接口进行通信。而单独一个服务并不能完成复杂的任务,所以我们需要多个服务协同执行一个任务,在这一过程中,如何处理好服务间的通信与数据传输,就成为一个关键的问题。

目前,在面向服务的体系结构环境下,服务之间的数据传输方法,通常只支持单一的协议,比如简单对象访问协议(SOAP)、文件传输协议(FTP)或者网格文件传输协议(GridFTP)其中之一。这些协议各自特点如下:

●简单对象访问协议是一个基于可扩展标记语言(XML)的轻量级协议,一个异构软件对象在因特网上进行沟通的协议。它的引入,使得Web服务满足互操作性、普遍适用性以及较低进入障碍的要求。从技术层面上讲,简单对象访问协议就是基于可扩展标记语言远程方法调用(RPC)协议。

●文件传输协议是一个被广泛应用的协议,它使得我们能够在网络上方便地传输文件,提供登录、目录查询、文件操作及其他会话控制功能。

●网格文件传输协议完全兼容文件传输协议,同时在文件传输协议的基础上为网格数据传输提供了如下特征:

◆网格安全性基础设施GSI(Grid Security Infrastructure)和Kerberos认证支持。提供完整的加密机制,保障安全。

◆第三方控制的数据传输(Third party Control of Data Transfer)支持为大型分布社区去管理大型数据集。它使第三方能够对存储服务器之间的传送进行控制。

◆并行数据传输(Parallel Data Transfer)。使用多个TCP流比使用单个TCP流要提高带宽,并行数据传输由FTP命令扩展和数据通道扩展提供支持。

◆分块数据传输。能够将数据分割放置在多个服务器上,从而提高聚集带宽。GridFTP是通过定义在网格论坛草案中的扩展来支持分块数据传输的。

◆部分文件传输(Partial File Transfer)。与标准FTP要求应用程序传送整个文件不同,GridFTP命令支持传送文件的某些区域。

◆可靠数据传输(Reliable Data Transfer)和可重启的数据传输(Restartable DataTransfer)。故障恢复方法可以处理瞬态网络故障和服务器故障,同时可以重新启动失败的传送。

◆自动协商TCP缓冲区/窗口尺寸。支持获取最大TCP/IP带宽。

这些协议有各自的优缺点。从优点上来讲:简单对象访问协议通过网络实现内存到内存,不需要外存的存储;文件传输协议实现简单,技术成熟,适应性广;网格文件传输协议具有高可靠性,高安全性,第三方传输等特点。

从缺点上来讲:简单对象访问协议基于XML,消息的生成和解析需要大量时间,特别是对大量的数据而言,用简单对象访问协议传输数据不可行,另外该协议对于复杂数据类型和对象的传输支持不好;使用文件传输协议需要先将数据保存成文件再进行传输,对于小数据来说,费时费力;网格文件传输协议也需要将数据转移到外存再传输,另外该协议比较复杂,安全和认证开销较大,且对于用户使用也不太方便。

只有发挥各种协议的优点,克服它们各自的缺点,才能更好的完成面向服务的体系结构系统中。

发明内容

本发明的目的是提出一种针对分布在包括局域网、广域网、因特网在内的服务,基于包括简单对象访问协议SOAP、文件传输协议FTP、网格文件传输协议GridFTP在内的能够针对异构平台之间进行数据传输的协议,通过网络进行数据传输时动态优化的方法。

本发明的特征是

基于以下面向服务的体系结构SOA依次进行以下步骤:

步骤1.初始化

在提供服务的服务器上运行着操作系统、面向服务的体系结构SOA基础设施软件、运行在该基础设施上的至少一个服务以及数据传输动态优化适配器;在提供服务的服务器之间由网络进行互连;

在数据服务器上设有:服务器支持软件,该数据服务器的作用在于,除了在所述提供服务的服务器之间传递数据外,在数据传输过程中,用到包括文件传输协议FTP、网格文件传输协议GridFTP在内的需要通过外存进行数据中转的协议时,进行服务间的数据中转,在数据服务器之间,在所述数据服务器和提供服务的服务器之间,是通过网络连接的;

所述数据传输优化适配器根据本地的一个服务传来的包括数据以及目的服务的地址在内的数据传输请求,进行估算和试探后,决定具体传输协议和方式,按所给的目的服务的地址来传输数据;

步骤2.本地的提供服务的服务器上一个服务发起一次数据传输,把数据和目的服务的地址发送给本地数据传输优化适配器;

步骤3.步骤2中所述的数据传输优化适配器分析目的服务的地址,在缓存中查找近期是否向目的服务所在的提供服务的服务器传送过数据;若是,则获取已经缓存的优化数据传输表,选择缓存上的传输协议,按照步骤5进行操作;若不是,则进行步骤4;

步骤4.依据步骤3的判断,若不是,步骤2中所述的数据传输优化适配器便依据包括要传送的数据的大小、性能要求、安全要求在内的相关条件估算出一个测试包,向目的服务所在的提供服务的服务器上的数据传输优化适配器发送以进行试探,再通过应答判断得到的数据与目的服务所在的提供服务的服务器或与数据服务器之间的网络带宽、延迟在内的信息,选择一种协议进行下一个步骤;

步骤5.所述本地的数据传输优化适配器根据不同的协议进行以下不同的操作:

若选择所述SOAP协议,便把数据进行SOAP编码之后通过网络直接送到目的服务所在的提供服务的服务器中的数据传输优化适配器,目的服务所在的提供服务的服务器中的数据传输优化适配器再转给目的服务器;

若选择所述FTP协议,便把数据通过网络上传到FTP数据服务器,同时又通过网络通知目的服务所在的提供服务的服务器中的数据传输优化适配器,由该数据传输优化适配器通过网络从该FTP数据服务器上取得数据,送给目的服务;

若选择所述GridFTP协议,便把数据通过网络上传到GridFTP数据服务器,同时又通过网络通知目的服务所在的提供服务的服务器中的数据传输优化适配器,由该数据传输优化适配器通过网络从该GridFTP数据服务器上取得数据,送给目的服务。

本发明提出一种SOA环境下服务间进行数据传输的动态优化方法,目的是使得数据在服务间能够高效可靠的进行传输。该动态优化方法提供对多种数据传输协议的支持,包括简单对象访问协议、文件传输协议、网格文件传输协议等,同时该方法也提供对将来可能出现的数据传输协议进行支持的能力。正是由于该数据传输动态优化方法支持多种数据传输协议,并能够根据实际情况,智能的选择优化的传输策略,所以该方法集合了多种协议的优点,如简单对象访问协议实现的从内存到内存,不需要外部存储的优点;文件传输协议的实现简单,技术成熟,适应性广的优点;网格文件传输协议的高可靠性,高安全性,支持第三方传输等优点。同时又避免了采用单一传输协议可能带来的不灵活、某些情况下性能低等缺点。由于本发明所支持的传输协议都是标准传输协议,具有与运行平台无关的特点,故本传输方法适用于异构平台上的服务间的数据传输过程,这符合SOA的思想。

本发明既能利用相关数据传输协议特性进而提供服务间可靠高效数据传输方法,又能动态的根据不同的网络条件、不同的数据量大小,选择合适的数据传输协议与方式进行数据传输。当数据量小的时候,本发明可以选择简单对象访问协议进行从内存到内存的传输,避免了外存访问的开销;当数据量大的时候,本发明可以选择文件传输协议或者网格文件传输协议进行数据传输,避免了使用简单对象访问协议时对基于可扩展标记语言的包的生成和解析所耗费的大量时间;当安全要求很高的时候,本发明可以选择网格文件传输协议,利用其所支持的安全性认证证书机制满足要求;当数据传递速度要求很高时,本发明可以选择使用文件传输协议或者网格文件传输协议中支持的分块并行传输机制。总之本发明能够根据服务的需要,动态的选择适合的协议和方法,将数据按要求传递到其它服务中去。

附图说明

图1 本发明实施的方法硬件结构图。

图2 本发明实施的方法中提供服务的服务器上的软件组成结构图。

图3a 本发明实施过程中数据优化传输适配器采用简单对象访问协议直接进行数据传输示意图,

图3b 本发明实施过程中数据优化传输适配器采用文件传输协议或网格文件传输协议进行数据传输示意图。

图4 本发明实施方法流程图。

图5 数据传输优化适配器执行流程图。

具体实施方式

本发明通过以下的技术方法来实现:

本发明所描述的数据传输的方法中包括硬件和软件两个方面。硬件包括:提供服务的服务器,数据服务器和网络,软件包括:运行于提供服务的服务器上的操作系统,SOA系统底层软件基础设施,运行在基础设施上的服务,数据传输优化适配器;运行于数据服务器上的服务器端支持软件。

提供服务的服务器之间由网络进行连接。在数据传输过程中如果用到文件传输协议或者网格文件传输协议这一类的需要通过外存进行数据中转的协议,就需要引入数据服务器。数据服务器的作用是在服务间进行数据中转。提供服务的服务器与数据服务器之间也通过网络进行连接。数据服务器之间有时也需要互传数据,所以数据服务器之间也是通过网络互连起来的。这里的网络,涵盖了绝大多数网络的形式,它可以是局域网、广域网、无线网、因特网等各种形式,也可以是它们任意的组合。

提供服务的服务器上运行的软件包括操作系统,SOA系统底层软件基础设施,运行在基础设施上的服务,数据传输优化适配器。请注意,一台提供服务的服务器上的SOA基础设施支持软件上可同时运行多个服务。当系统中某一个服务因得到用户指令或计算完成等原因,需要将数据传输给另一个服务时,它只要将数据以及目的服务的地址传递给数据优化传输适配器,由优化传输适配器来决定具体传输的协议与方式。这种决定具体传输协议与方式是通过优化传输适配器根据相关条件进行估算(如已知的数据传输量大小、性能要求、安全要求等)和试探(比如通过发包确定与目的服务所在服务器或者数据服务器之间的网络带宽、网络延迟等信息等)来决定的。当然,应该提出的是,数据传输优化适配器并不需要在每一次服务之间要数据传输之前都进行估算、试探操作,因为这样做需要耗费比较多的资源,且效率不高,所以在启动一次陌生的服务间数据传输过程之前进行这种开销较大的操作,或者定时进行该操作,这样做,对性能的提高有很大好处。决定具体传输协议和方式之后,若选择的是简单对象访问协议这一类不需外存中转的协议进行传输,则本地的优化传输适配器将数据发送到目的服务所在的提供服务的服务器上的优化传输适配器上,目的服务所在的提供服务的服务器上的优化传输适配器再将数据转发给目的服务;若选择的是文件传输协议或者网格文件传输协议这一类需要外存中转的协议,则本地优化适配器先将数据通过所选协议传输到系统中的某个数据服务器上,再通知目的服务所在的提供服务的服务器上的优化传输适配器数据所在位置(也就是数据在数据服务器的具体地址),之后目的服务所在的提供服务的服务器上的优化传输适配器从数据服务器上下载数据,并转发给目的服务。

对于数据优化传输适配器运行机制的具体描述,如下:数据优化传输适配器接到本机的一个服务传来的数据传输请求,然后数据优化传输适配器分析目的服务的地址,在缓存中检查近期是否曾向目的服务所在地服务提供服务器传送过数据,如果是,则获取已经缓存的优化数据传输表,选择合适的数据传输方法进行数据在服务间的传输。如果不是,则使用不同的数据传输方式用不同数据量的测试数据(默认情况下为10KB、100KB、1MB、10MB)向目的地的数据优化传输适配器发送,发送完毕之后等待目的地数据优化传输适配器的接收确认,计算其各自的时间间隔,得到一个优化数据传输表。然后本地的数据优化传输适配器通过判断本地服务要送出数据量的大小和测试数据传输时间,选择一种最适合本次数据传输的传输方法,并进行数据传输。

图1所示为服务之间数据传输动态优化方法。其中的服务提供服务器(1)作为SOA系统的硬件基本组成部分,其上运行着操作系统、SOA基础设施软件以及SOA系统的基本组成元素——服务。服务提供服务器(1)由网络(3)进行互连。数据服务器(2)也是SOA系统的硬件组成部分,它们也由网络(3)进行互连。数据服务器(2)的作用,是提供SOA系统的数据存储和数据中转。在一次服务间的数据传输过程中,根据实际情况,提供服务的服务器动态的选择一种数据传输到其它服务所在服务器的协议和方式,可能的方式为:提供服务的服务器(1)通过网络(3),使用简单对象访问协议直接将数据发送到其它服务所在地提供服务的服务器(1);提供服务的服务器(1)通过网络(3),使用文件传输协议或者网格文件传输协议将数据传送到一台或者几台数据服务器(2)上,再通过简单对象访问协议通知另外的提供服务的服务器(1)如何取得数据(包括数据地址,登陆所需用户名、密码等信息,甚至是访问所需证书),目的提供服务的服务器(1)得到相关信息以后,再通过网络(3),使用文件传输协议或者网格文件传输协议从相应的数据服务器(2)上获取数据。

图2所示为图1中提供服务的服务器(1)上运行的软件的组成结构图,提供服务的服务器(1)上运行的软件包括操作系统、SOA底层支持软件、多个服务(4)和一个数据优化传输适配器(5)。服务(4)是SOA系统软件的基本组成元素,它的发布、包装、调用、通信等过程都遵守一系列的标准协议规范。数据优化传输适配器(5)是本发明中比较重要的部分,正是它的引入使得服务之间动态高效的数据传输变得透明。也就是说,对于需要进行数据传输服务和接收数据的服务来讲,不需要关心数据具体传输用到的协议与使用的方式。为了实现上述功能,数据优化传输适配器(5)需要支持数据传输所用到的标准协议,比如简单对象访问协议、文件传输协议、网格文件传输协议以及未来可能产生的数据传输协议。数据优化传输适配器(5)所支持的协议是可扩充的,正由于此,对于未来可能出现的新的通用数据传输协议,只要在优化传输适配器上增加对该协议的支持,就可以在SOA环境下的服务之间数据传输过程中使用新的协议,非常方便。具体来讲,数据优化传输适配器(5)的工作原理和所遵守的选择数据传输协议的规则是可变的,也就是说用户可以自行设定该规则,以下仅举一例,即设置以下规则作为数据传输适配器的执行规则,而实际上,根据实际情况的需要,我们可以为数据传输适配器制定不同的规则和策略:数据优化传输适配器(5)接到本机的一个服务(4)传来的数据传输请求,数据优化传输适配器(5)分析目的服务(4)的地址,在缓存中检查近期是否曾向目的服务(4)所在地服务提供服务器(1)传送过数据,如果是,则获取已经缓存的优化数据传输表,选择合适的数据传输方法进行数据在服务间的传输。如果不是,则使用不同的数据传输方式用不同数据量的测试数据(默认情况下为10KB、100KB、1MB、10MB)向目的地的数据优化传输适配器(5)发送,发送完毕之后等待目的地数据优化传输适配器(5)的接收确认,计算其各自的时间间隔,得到一个优化数据传输表。然后本地的数据优化传输适配器(5)通过判断本地服务(4)要送出数据量的大小和测试数据传输时间,选择一种最适合本次数据传输的传输方法,并进行数据传输。

图3a所示为提供服务的服务器(1)中的数据优化传输适配器(5)采用简单对象访问协议直接进行数据传输示意图。这种情况通常是,数据优化传输适配器(5)收到服务(1)发来的数据,且所要发送的数据具有数据量小,无需备份等特点,适宜采用从内存到内存的简单对象访问协议进行直接传输。于是数据优化传输适配器(5)通过网络(3)连接到目的提供服务的服务器(1),将数据通过简单对象访问协议传输的其上的另一个数据优化传输适配器(5)上,再有该数据优化传输适配器(5)解析后传递给目标服务(1)。

图3b所示为提供服务的服务器(1)中的数据优化传输适配器(5)采用文件传输协议或网格文件传输协议进行数据传输示意图。这种情况与图3a所示的不同为:数据优化传输适配器(5)收到服务(1)发来的数据,该数据特点为数据量大,或直接发送有其它困难。这时候数据优化传输适配器(5)通过网络(3),使用文件传输协议或者网格文件传输协议连接到一台或多台数据服务器(2)并上传数据文件。传输完毕之后,给目的提供服务的服务器(1)发送一条消息,则目的提供服务的服务器(1)中的数据优化传输适配器(5)将通用通过文件传输协议或者网格文件传输协议连接到相应的一台或多台数据服务器(2)并下载数据文件。完成之后再将数据传递给目标服务(1)。

以上所述为本发明技术构思下的基本说明,凡依据本发明的技术方法进行的任何等效变换,特别是在数据传输适配器部分进行策略的改变,均应属于本发明保护范围。

以下为一个实事例:提供服务的服务器a上的服务a1要向提供服务器b上的服务b1传输数据,数据量为20M字节。但此前a和b之间没有进行过通信,故a上的数据传输优化适配器接到a1的请求,发现没有特殊要求,于是采用FTP和SOAP两种数据传输协议,在a和b之间传输测试数据,数据大小分别为10KB、100KB、1MB、10MB,得到结果为:(单位:毫秒)

  10KB  100KB  1MB  10MB  FTP  46  85  324  3257  SOAP  13  68  1620  54810

注意到,使用SOAP协议,传输和解析时间并非按照数据量的增加而线性增加,这是由于SOAP基于XML的消息编码机制,具体问题我们不在此详细描述。

于是数据传输优化适配器得到信息:在a和b之间进行数据传输,当数据量小于100KB时,应该选择SOAP进行数据传输,当数据量大于100KB时,则应该选择FTP进行数据传输,该信息存入缓冲表中。a1和b1之间需要传输数据量为20MB,故数据传输优化适配器选择FTP方式进行数据传输。它将数据上传到系统中一个数据服务器,然后通知目标服务器b上的数据传输优化适配器,目标服务器b上的数据传输优化适配器收到消息之后,从数据服务器取回数据,传递给b1,操作结束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号