CN104094249B - 使用xml的文件传输 - Google Patents

使用xml的文件传输 Download PDF

Info

Publication number
CN104094249B
CN104094249B CN201280068614.2A CN201280068614A CN104094249B CN 104094249 B CN104094249 B CN 104094249B CN 201280068614 A CN201280068614 A CN 201280068614A CN 104094249 B CN104094249 B CN 104094249B
Authority
CN
China
Prior art keywords
xml
binary data
multiple part
file
source file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280068614.2A
Other languages
English (en)
Other versions
CN104094249A (zh
Inventor
乔纳森·麦尔文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Enterprise service development company limited liability partnership
Original Assignee
Enterprise Service Development Co LLP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enterprise Service Development Co LLP filed Critical Enterprise Service Development Co LLP
Publication of CN104094249A publication Critical patent/CN104094249A/zh
Application granted granted Critical
Publication of CN104094249B publication Critical patent/CN104094249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种有形机器可读存储介质存储指令,并且在指令被处理器执行时实现一种方法。通过网关引擎接收源文件。该源文件是二进制文件。通过分解引擎将该源文件分成多个部分。根据消息收发协议,使用单个端口通过可靠传输引擎来传输多个部分,以在软件故障、组件故障、系统故障或者网络故障中任一种存在的情况下在节点之间可靠地传输消息。通过重组装引擎将多个部分重组装成源文件的副本。

Description

使用XML的文件传输
背景技术
通过使远程访问和通信可利用文件,文件传输允许分布式计算。XML网页(web)服务标准可以用于内部和外部通信。一些文件传输系统要求用于消息通信的多个端口,并且与现代XML标准和基础结构不兼容。
附图说明
通过参考下面的具体实施方式和附图,本公开的示例的特征和优势将变得显而易见,其中相同的附图标记或字符对应于类似的但可能不相同的组件。为了简洁,具有之前描述的功能的附图标记、字符或特征,可能或可能不关于它们在其中出现的其它附图进行描述。
图1是描绘根据本公开的方法的示例的流程图;
图2是本公开的示例文件传输系统的示意图;
图3是描绘用于为随后的传输编码二进制数据部分的两种方法的示例的流程图;
图4A是描绘用于将源文件准备用于作为多个部分的传输的方法的示例的流程图;
图4B是描绘用于根据所传输的多个部分生成源文件副本的方法的示例的流程图;
图5是根据本公开的文件传输系统的另一示例的示意图;以及
图6是根据本公开的作为本地系统、远程系统和/或云计算系统一部分的用于示例文件传输的计算环境中的文件传输程序示例的半示意图。
具体实施方式
本公开大体上涉及用于传输文件的系统以及管理文件传输的方法。
通过使用文件传输技术,如文件传输协议(FTP)或远程银行同业结算系统交换协议(Protocole d’Echanges pour un Système Interbancaire de Télécompensation,PeSIT),数据传输已被支持。然而,FTP、PeSIT以及其它文件传输技术可以使用多个端口并且需求专门的硬件来管理路由和负载平衡。此外,存在与处于主动和被动模式的FTP有关的在多个端口上需要特别通信的问题。例如,客户端联系服务器来识别用于连接的端口,服务器通过该端口反向通信。此外,建立新的FTP通道可能是复杂和/或昂贵的。另外,一些系统与像身份联合(Identity Federation)这样的安全标准不兼容,并且不支持单点登录(Single Sign-On,SSO)。企业计算系统可能需要包括防火墙在内的安全技术来管理威胁。企业系统可以使用防火墙来阻挡网页通道。
本文公开的是用于传输文件的系统、方法和机器可读介质的示例。根据本公开的示例使用能通过网页型连接上的单个端口进行容错文件传输的标准,来提供文件传输服务。
本公开的示例包括任何类型的文件传输,并且可以在任何类型的环境内使用。在其中可以实施本公开的示例的代表性环境包括从个人到个人、从公司到公司、从公司到政府、从政府到政府等的文件传输。根据本公开的示例提供一种允许在存在软件故障、组件故障、系统故障和/或网络故障的情况下在节点之间可靠地传输文件的文件传输协议。该文件传输协议包括例如网页服务可靠消息收发平台,该网页服务可靠消息收发平台定义简单对象访问协议(SOAP)绑定,以支持可互操作的网页服务。
本公开的示例能够使用基于XML技术进行文件传输。本文中,此文件传输还被称作XFTP。XFTP与安全断言标记语言(SAML)/ws联合相兼容,以支持认证和授权。XFTP还与用于加密和数字签名的安全套接字层(SSL)/传输层安全(TLS)和XML安全标准相兼容。这允许具有不可拒绝性的安全文件传输。这些特征使得XFTP适于面向服务的体系结构(ServiceOriented Architecture,SOA)和基于云的环境,以及适于公司到公司的数据传输情形。
在示例中,XFTP使用当前云基础结构所基于的相同的网页2.0(Web 2.0)标准,这允许对FTP或其它过时标准也许不可能的系统集成。
一些企业可能投资基础结构,如企业服务总线和安全设备。根据本公开的示例允许与包括XML安全网关在内的这种基础结构的可互操作性,这允许重使用现有投资。在示例中,本文公开的XFTP文件传输协议与标准硬件负载平衡器和路由器一起工作。例如,XFTP与像IBM数据力(DataPower)这样的XML安全网关一起工作。XFTP支持SOA的开发并且在单个端口上工作。
现在参考图1,该文件传输方法的示例大体地以附图标记200描绘。该方法包括通过网关引擎接收源文件,如附图标记202所示。该源文件是二进制文件。如附图标记204所示,该方法进一步包括通过分解引擎将源文件分成多个部分。根据消息收发协议,使用单个端口通过可靠传输引擎来传输多个部分,以在软件故障、组件故障、系统故障或者网络故障中任一种存在的情况下在节点之间可靠地传输消息,如附图标记206所示。应当理解,多个部分的传输可以根据特定消息优化协议来进行优化,例如在这种协议被所使用的通信信道支持的情况下。如附图标记208所示,通过重组装引擎将多个部分重组装成源文件的副本。应当理解,图1所示的方法的各示例将进一步参考其它图进行描述。
根据本公开的用于实现XFTP的系统的示例大体地在图2中以10来描绘。应当理解,在图2的整个描述中,可以参考图3、图4A和/或图4B。
现在参考图2、图3和图4A,系统10包括能够接收源文件12(如图4A的附图标记400所示)的网关引擎14。源文件12是二进制文件。网关引擎14包括能够将源文件12分成或解析成多个二进制部分(如图4A的附图标记402所示)的分解引擎16。因此,分解引擎16提供源二进制文件12的拆分。单个二进制部分在图3的附图标记300处示出。多个二进制部分300中的每个包括二进制数据。应当理解,二进制部分300不需要被持久保留/被存储为单独的文件,而是可以按需要简单地存在于存储器中或者直接地从源文件12读取。此外,应当理解,二进制部分300通常可以被称为块(chunk)、段(section)、片(piece)或部分(portion)。
在示例中,源文件12被分解成可以有效地进行传输和随后进行重组装的多个部分300。这使大文件能够以可靠的方式传输。部分300的尺寸可以通过用于传输过程的通信信道27的要求来确定。例如,通信信道27的动态性可能限制任何单个数据传输的最大大小,或者可能存在信道27以峰值效率操作的消息大小。
本文中使用的通信信道27可以指在其上传输数据的端口(其可以是物理连接或虚拟连接)。在示例中,XFTP可以在支持或者能够支持诸如超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、消息队列(MQ)或其它类似示例之类的SOAP的任何信道27上使用。在一些情况下,信道27支持或者能够支持SOAP和MTOM(本文以下进一步介绍)。
系统10进一步包括能够以XML二进制部分300进行编码的XML编码引擎18。XML编码引擎18包括用于为多个部分300中的每个创建XML文档(参见图3中的附图标记302)的封装引擎38。在示例中,封装引擎38是使用XOP标准来对每个二进制部分300进行XML编码的XOP引擎。在使用XOP标准的示例中,封装/XOP引擎38创建XML文档302,XML文档302在其原始形式中包含对二进制数据部分300的XOP引用。在图4A中,以附图标记404示出XML文档302的创建。XML二进制优化封装(XOP)是一种由W3C标准制定组织的贡献者开发的、为包含二进制数据的XML信息集的优化顺序化限定的机制。XML信息集根据W3C被限定为满足特定约束条件的良好形成的文档。消息传输优化机制(MTOM)是W3C消息传输优化机制,其涉及二进制数据向网页服务的有效传输以及二进制数据从网页服务的有效传输。在本文公开的示例中,MTOM使用XOP作为优化和引用机制。
系统10进一步包括源网关24,源网关24能够从XML编码引擎18接收XML文档302和所引用的二进制数据部分300。如图3所示,源网关24通过源网关引擎(未示出)将XML文档302嵌入SOAP消息304内。源网关24的可靠消息收发(RM)源23(本文下面进一步介绍)实现消息收发协议(例如,WS可靠消息收发(WS-ReliableMessaging)协议),并且使用该协议来将所有XML文档302(即,来自原始源文件12)作为完整而有序的消息序列发送。WS可靠消息收发是用于消息传输的由结构化信息标准促进组织(OASIS)开发的协议。WS可靠消息收发可以用于可靠性(与例如经常不可靠的TCP连接不同),并且可以跨任何信道27应用。如图4A所示,在SOAP消息304内嵌入XML文档302和实现消息收发协议可以涉及:首先如附图标记406所示在SOAP封包(envelope)内嵌入XML文档302,然后如附图标记408所示将消息收发协议元数据添加至SOAP封包的头(header)。
如图2所示,源网关24还可以包括其它标准引擎21。其它标准引擎21允许源网关24支持其它XML、WS和/或SOAP标准,以增强通信。其它标准引擎21还可以用来将附加安全协议层添加至SOAP消息304中的每个。例如,WS可靠消息收发在SOAP和网页服务描述语言(WSDL)的模式下提供可扩展性。安全协议层包括XML签名或其它数字签名、XML加密、其它SOAP扩展、传输层安全(TLS)加密、双向认证、联合(Federation)等。XML或其它数字签名用于向接收者验证文件已来自正确的源。SAML和ws-联合可以用于建立发送方和接收方之间的信任,并且SAML还可以用于建立用于发送消息序列的授权。在图4A的附图标记410处,示出向SOAP消息304添加XML加密、数字签名或其它SOAP扩展。
如图2所示,源网关24可以包括两个编码器,其中之一是基64(Base 64)编码器20,其中另一个是MTOM引擎22。如图4A的附图标记412所示,源网关24确定待用于消息传输的通信信道27是否支持MTOM。
当信道27不支持MTOM时,源网关24的MTOM引擎22允许将XML SOAP消息304和经XOP引用的二进制数据部分300作为容器(或在容器中)(如多部分MIME(在图3中以附图标记308示出))以流的方式输送至目的地(例如目的地网关30)。如图4A的附图标记414和426所示,MTOM引擎22可以将MTOM元数据添加至SOAP封包的头,以生成SOAP消息304′(图3),并且MIME308可以用于将SOAP消息304′(包括XML文档302)和二进制数据部分300以流的方式输送至目的地。MTOM的使用可以有利地避免需传输的数据量的增加。
通信信道27能够支持SOAP,但是可能不能支持用于传输原始二进制数据的机制。在这些情况下,至少部分因为信道27不支持MTOM,所以MTOM/XOP不能用于优化该通信。当信道27不支持MTOM时,基64(Base 64)编码器20以二进制数据的基64(Base 64)编码表示代替XML文档302中的XOP引用,如图4A的附图标记418所示。如图3所示,该过程生成经基64(Base64)编码的XML文档302′和没有附件的SOAP消息304″。
如图2所示,应当理解,XFTP网关引擎14、XML编码引擎18和源网关24可以全部是单个组件的一部分,如框26处所示。进一步应当理解,XFTP网关引擎14、XML编码引擎18和源网关24可以是两个或更多个独立组件的任何组合。在示例中,源网关24或其组件可以是支持WS可靠消息收发的IBM数据力(DataPower)XML安全网关,以及其它安全和/或优化标准。
现参考图2和图4A,没有附件的SOAP消息304″或者多部分MIME 308能够跨通信信道27和根据消息收发协议(例如WS可靠消息收发)从源网关24被传输至目的地网关30。传输引擎28(本文中还称为可靠传输引擎)包括源网关24的可靠消息收发(RM)源23和目的地网关30的可靠消息收发(RM)目的地25。应当理解,在此上下文中使用的“可靠”意味着能够克服软件、组件、系统和/或网络的故障。可靠传输可以根据消息收发协议来完成,以在任何这种故障存在的情况下在节点之间可靠地传输单独的消息/分组(例如,SOAP消息304″或者多部分MIME 308)。当使用可靠传输引擎28时,单个端口可以根据消息收发协议提供SOAP消息304″或多部分MIME 308的传输。可靠传输引擎28(包括RM源23和RM目的地25)可以包括具有连通性规则(connectivity rules)、传递确认(delivery confirmation)、次序管理(ordering management)、复制消息收发保护(duplicate messaging protection)或它们的组合的特征。
传输引擎28可以使得单独的消息/分组能够以发送它们的相同顺序被接收。这可以例如使用RM源23和RM目的地25来完成。在该示例中,RM源23能够向序列内的每个消息(例如,向为单个源文件12生成的每个SOAP消息304)分配消息序号。消息序号从1开始,并且消息序号对每个后续消息增加1。以发送消息的相同顺序分配这些消息序号。RM目的地25包括确认范围(AcknowledgementRange)子元素,该确认范围子元素在它们共同的范围内包含由RM目的地25接受的每个消息的消息序号。RM目的地25将在确认范围元素中未接受的任何消息的消息序号排除在外。RM目的地25能够发送被接受的消息序号,以便向RM源23通知消息传递(参见图4A中的附图标记422-426)。如果RM目的地25没有收到消息,则RM目的地25还能够向RM源23返回“非(None)”而不是确认范围。RM源23可以重传未被确认的消息(即,RM目的地25没有确认收到的任何消息)。
在示例中,消息收发协议(例如,WS可靠消息收发)可以被配置为确定关于要回顾消息多远的时间量。WS可靠消息收发可以被配置为适合其操作所跨的信道27的动态性。
如图4A所示,对根据原始源文件12分割的每个二进制数据部分300,重复附图标记404至424的步骤。本方法的该示例然后继续,如图4B所示。现一起参照图2和图4B,为单个源文件12生成的SOAP消息304″或者多部分MIME 308(如参照图2、图3和图4A描述和示出的)全部被传送至目的地网关30,因此收到新消息序列,如图4B的附图标记430所示。目的地网关30可以创建空目的地文件,如图4B的附图标记432所示,该空目的地文件将被用于创建原始源文件12的副本(即,目的地文件56)。
序列内的每个消息被单独地处理,如图4B的附图标记434至450所示。目的地网关30接收单独的SOAP消息304″或者多部分MIME 308,并且使用另一标准引擎36来解密任何附加XML、验证任何数字签名或撤销或删除其它标准引擎21已包括的任何其它SOAP扩展。
然后,目的地网关30确定MTOM是否已经被使用,如图4B的附图标记438所示。换句话说,目的地网关30确定该消息是SOAP消息304″还是多部分MIME308。依据消息的类型,目的地网关30的不同编码器32或34可以用来获取具有对二进制数据的XOP引用的XML文档302。
如图2所示,XFTP系统10的目的地网关30进一步包括两个解码器,即基64(Base64)解码器32和MTOM解码器34。当消息序列包括SOAP消息304″时,基64(Base 64)解码器32将包含经基64编码的二进制的SOAP消息304″的XML文档302′转换为具有对二进制数据的XOP引用的XML文档302。如图4B的附图标记442和446所示,基64(Base 64)解码器32提取具有经基64(Base 64)编码的二进制数据的XML文档304″,然后以对二进制数据的XOP引用代替经基64编码的二进制数据。当消息序列包括多部分MIME 308时,MTOM解码器34能够从SOAP消息304′获取具有对二进制数据的XOP引用的XML文档302。如图4B的附图标记440所示,MTOM解码器34从多部分MIME 308直接提取具有对二进制数据的XOP引用的XML文档302。
XFTP系统10进一步包括XML解码引擎51。XML解码引擎51能够从目的地网关30接收具有对二进制数据的XOP引用的XML文档302和从XML文档302中提取该二进制数据。在示例中,XML解码引擎51能够与读取器40(例如,XOP读取器)一起操作来获取二进制数据部分,以及将该二进制数据传送给XFTP目的地52。
XFTP目的地52能够从XML解码引擎51接收单独的二进制部分300。在示例中,XFTP目的地52能够与重组装引擎50一起操作,来将所有单独的二进制部分300重组装到空目的地文件中(如图4B的附图标记448和450所示),以创建目的地文件56,目的地文件56将成为源文件12的副本。重组装引擎50对这些消息/分组中每个消息/分组的经解码的二进制数据进行重封装/重合成/重构造,并且将它们还原串接在一起,以形成原始源文件12的副本(目的地文件56)。如此,对每个消息执行图4B中的附图标记434至450所示的步骤,以便生成目的地文件56,目的地文件56将具有与原始源文件12相同的格式。
当形成目的地文件56时,XFTP目的地52可以使系统10的用户(如图4B的附图标记452和454所示)可访问目的地文件56。XFTP目的地52可以包括文件系统,从该文件系统中可获取或以其它方式可访问目的地文件56。
在图2中,应当理解,由目的地网关30、XML解码引擎51和XFTP目的地52表示的组件可以在单个组件中实现,如框54所示,或可以是单独组件的任何组合。
现参考图5,描绘了系统10′的另一示例。在此示例中,原始源文件12是二进制文件,如由1和0的序列所描绘的二进制文件。在此示例中,源文件12在XFTP客户端26′处被分割且被编码。此外,在此示例中,在XFTP服务端54′处接收、解码和重组装被编码的部分。
如图5所示,XFTP网关14接收包含二进制数据的源文件12。尽管没有示出,但是XFTP网关14的分解引擎16将文件12分解成部分300A、300B、300C、300D,300A、300B、300C、300D中的每个包含原始源文件12的二进制数据中的一些。每个部分300A、300B、300C、300D的大小被配置为适应对部分300A、300B、300C、300D的传输所使用的通信信道27的动态性、要求等。
然后,部分300A、300B、300C、300D由XML编码引擎18处理,XML编码引擎18针对部分300A、300B、300C、300D中的每个生成XML文档302A、302B、302C、302D。应当理解,每个XML文档302A、302B、302C、302D包括对各自的部分300A、300B、300C、300D的对应二进制数据的XOP引用。
XML文档302A、302B、302C、302D(包括各自的XOP引用)被传送至源网关24去进行附加处理,如上面参考图2、图3和图4A描述的。简而言之,在图5的示例中,包括对原始二进制数据的XOP引用的XML文档302A、302B、302C、302D被嵌入到各自的SOAP消息(304,在图5中未示出)中,并且作为各自的多部分MIME 308A、308B、308C、308D以流的方式输送。在另一示例中,包括对原始二进制数据的XOP引用的XML文档302A、302B、302C、302D可以被嵌入到各自的SOAP消息(例如,304)中,并且对原始二进制数据的引用可以用二进制数据的经基64(Base64)编码的表示来代替,以创建没有附件的SOAP消息(例如,304″)。
如图5所示,各自的多部分MIME 308A、308B、308C、308D穿越通信信道27传送,并且由目的地网关30接收。
由于图5的消息序列包括多部分MIME 308A、308B、308C、308D,因此MTOM解码器34能够从多部分MIME 308A、308B、308C、308D的各自SOAP消息(304′,图5中未示出)中获取具有对二进制数据的XOP引用的XML文档302A、302B、302C、302D。应当理解,当使用基64(Base 64)编码器时,基64(Base 64)解码器32可以用于获取具有对二进制数据的XOP引用的XML文档302A、302B、302C、302D
XML解码引擎51能够从目的地网关30中接收具有对二进制数据的XOP引用的XML文档302A、302B、302C、302D。XML解码引擎51从各自的XML文档302A、302B、302C、302D中提取二进制数据部分300A、300B、300C、300D
如图5所示,重组装引擎50接收单独的二进制部分300A、300B、300C、300D并且重组装所有单独的二进制部分300A、300B、300C、300D,以创建源文件12的副本(即目的地文件56,未示出)。
在前面的介绍中,各个组件已经被描述为可包括硬件、关联的程序设计或者它们的组合的引擎。这些组件可以以各种方式实现。图6图示这些组件的实现方式的示例作为本地系统、远程系统和云计算系统中任一种的一部分。如图6所示,源计算系统92可以可操作地通过链路98连接至本地或者远程目的地计算系统94,或者通过链路98′连接至云计算系统96,或者连接至两个系统94、96。远程目的地计算系统94可以可操作地通过链路98″连接至云计算系统96。应当理解,本地或者远程目的地计算系统94可以包括一个或多个独立的计算系统94和/或目的地计算系统94的网络。链路98、98′可以是通过电信链路、红外链路、射频链路或提供电子通信的任何其它连接器或者系统的电缆连接、无线连接、光纤连接或远程连接中的一种或多种。链路98、98′可以至少部分地包括内联网、互联网或者两者的组合。链路98、98′还可以包括中间代理、路由器、交换机、负载均衡器等。应当理解,链路98、98′能够提供用于XFTP系统10操作的通信信道。
源计算系统92和目的地计算系统94中的每个可以是任何个人计算机、便携式计算机、内容服务器、网络PC、个人数字助理(PDA)、蜂窝电话或能够执行在本公开的示例中描述的功能的任何其它计算设备。
如图6所示,该程序设计可以是存储在非瞬态有形存储介质上的处理器可执行指令,该硬件可以包括用于执行那些指令的处理器。在示例中,有形存储介质100和处理器102可以被实现为云96中物理硬件106的示例。源计算系统92和目的地计算系统94中的每个还可以包括各自的处理器102′、102″和有形存储介质100′和100″。在示例中,存储器100、100′、100″存储程序指令,该程序指令在由处理器102、102′、102″执行时实现程序,以便实现本文公开的XFTP文件传输协议的示例。
应当理解,存储器100、100′、100″可以与处理器102、102′、102″集成在相同的各自设备中,或者其可以与各自的计算系统92、94、96分离,但可由各自的计算系统92、94、96访问。
在示例中,程序指令可以是可由处理器102′、102″执行以实现XFTP文件传输协议示例的安装包的一部分。在这些情况下,存储器100′、100″可以是便携式介质,如光盘(CD)、数字视频光盘(DVD)或闪存驱动器;或者存储器100'、100″可以是由可下载该安装包的服务器保持的并且被安装在各自的计算系统92、94上的存储器。在另一示例中,程序指令可以是已经安装在各自的计算系统92、94上的一个或多个应用程序的一部分。在该其它示例中,存储器100'、100″可以包括集成的存储器,如硬驱。
本文使用的云计算系统96指包括多件硬件的计算系统,多件硬件通过网络可操作地联接以使它们能够执行特定计算任务。云96可以包括物理硬件106、软件108和虚拟硬件110的组合。云计算系统96被配置为(i)从计算系统92、94(或从使用计算系统92、94的用户)接收请求,并且(ii)返回请求响应。作为示例,云计算系统96可以是私有云、公共云或混合云。此外,云96可以是包括私有云(或多个私有云)和公共云(或多个公共云)的组合云计算系统。
除其它以外,物理硬件106可以包括处理器、存储器设备以及联网设备等等。虚拟硬件110是一种由物理硬件106处理的且被设计为模拟特定硬件的软件。作为示例,虚拟硬件110可以包括虚拟机(VM),即像物理机器那样支持应用程序执行的计算机的软件实现。
本文中使用的应用程序指可由计算系统执行以促进执行特定任务的一组特定指令。例如,应用程序可以采取为用户提供特定功能(例如文件传输)的基于网页的工具形式。应当理解,本文使用的应用程序不局限于文件传输应用程序,而是指支持使用计算资源来执行特定任务的应用程序,除其它以外如企业应用程序、会计应用程序、多媒体相关应用程序或数据存储应用程序。软件108是被配置为导致虚拟硬件110来执行应用程序的一组指令和数据。如此,云计算系统96可以使特定应用程序可由与各自的计算系统92、94中任一个关联的用户利用。
在云96中执行应用程序可以涉及:接收多个请求,根据由该应用程序实现的特定功能处理这些请求,以及将请求响应返回给请求计算系统94。为执行该应用程序,可以基于对该应用程序提出的需求对云计算系统96的资源(例如,物理硬件106、虚拟硬件110和软件108)进行调整。例如,云96可以基于请求的数量、与该应用程序交互的用户的数量或者对该应用程序的性能的要求(例如,最大响应时间),来改变向该应用程序分配的资源的大小。尽管没有示出,但是应当理解,云96还可以包括允许计算设备92、94与云96的组件进行通信的接口。
仍然参照图6,云计算系统96的物理软件106可以包括处理器102和存储器100。处理器102可以是能够执行在存储器100中存储的程序指令以实现例如文件传输程序104的任何处理器,以便实现本文公开的XFTP文件传输协议的示例。存储器100可以包括操作系统和应用程序,如XFTP文件传输应用程序。操作系统可以是一组程序,该组程序在由处理器102执行时担当可以运行XFTP文件传输应用程序的平台。操作系统的一些示例包括和微软视窗的各种版本。
在图6的云计算系统96中,文件传输程序104可以具有被实现为处理器102的硬件部分,并且可以具有被实现为操作系统和应用程序的程序设计部分。
本文提出的附图有助于描绘本文公开的示例的各种体系结构、功能和操作。在整个说明书中,组件中的许多至少部分地被定义为程序、程序设计或程序指令。这些组件中每个、其多个部分或其各种组合可以整体地或部分地表示包括用于实现任何特定逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。每个组件或者其各种组合可以表示用于实现特定逻辑功能的电路或多个互连的电路。
本文公开的示例可以在供指令执行系统(例如计算系统92、94、96)使用的或与指令执行系统相关的任何非瞬态有形计算机可读介质中实现,指令执行系统例如是基于计算机/处理器的系统、或ASIC(专用集成电路)或可从计算机可读介质获取或获得逻辑并执行包含在其中的指令的另一系统。非瞬态有形计算机可读介质可以是能够包含、存储或保持供计算系统92、94、96使用或者与计算系统92、94、96关联的程序和数据的任何介质。计算机可读介质可以包括诸如电介质、磁性介质、光学介质、电磁介质或半导体介质之类的多种物理介质中任一种。合适的计算机可读介质的更具体示例包括便携式磁性计算机磁盘,如软盘或硬驱、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或便携式CD、DVD或闪存驱动器。
应当理解,术语“连接/所连接的/相连”和/或类似术语在本文中被广义地限定为包括各种发散的连接布置和组装技术。这些布置和技术包括但不限于:(1)一个组件与另一组件之间在这两个组件之间没有中间组件情况下的直接通信;和(2)一个组件和另一组件在这两个组件之间有一个或多个组件情况下的通信,假定“连接至”另一组件的这一个组件以某种方式与该另一组件可操作地通信(尽管在这两个组件之间存在一个或多个附加组件)。
在对本文公开的示例进行描述和主张权利时,单数形式“一”、“一种”和“该”包括多个所指物,除非上下文另外清楚地指出。
尽管已经详细地描述若干个示例,但是本领域技术人员将清楚可以修改所公开的示例。因此,前面的描述应该被认为是非限制性的。

Claims (15)

1.一种非瞬态有形机器可读存储介质,所述有形机器可读存储介质存储指令,所述指令在由处理器执行时使所述处理器:
接收源文件,所述源文件是二进制文件;
将所述源文件分成多个部分,其中所述多个部分中的每个包括二进制数据;
为所述多个部分中的每个创建包含对所述二进制数据的引用的XML文档;以及
通过单个端口传输所述多个部分到目的地节点;
其中为传输所述多个部分中的每个到所述目的地节点,所述处理器用于:
确定连接到端口的通信信道是否支持消息传输优化机制MTOM;
响应于对所述通信信道支持MTOM的确定,通过所述通信信道传输所述多个部分中的每个以及相应的XML文档到所述目的地节点;
响应于对所述通信信道不支持MTOM的确定,以所述二进制数据的编码表示代替XML文档的每个中的所述二进制数据的引用,并且通过所述通信信道没有附件地传输所述XML文档中的每个到所述目的地节点;
其中所述多个部分在所述目的地节点被重组装成所述源文件的副本。
2.根据权利要求1所述的非瞬态有形机器可读存储介质,其中多个二进制数据部分使用连通性规则、传递确认、次序管理、复制消息收发保护或者它们的组合被传输到所述目的地节点。
3.根据权利要求1所述的非瞬态有形机器可读存储介质,其中所述指令用于使所述处理器通过(i)将所述二进制数据存储在容器中并且以XML引用所述二进制数据或者通过(ii)使用基64编码,以XML编码所述多个部分中的每个的所述二进制数据。
4.根据权利要求1所述的非瞬态有形机器可读存储介质,其中所述指令用于使所述处理器向多个二进制数据部分中的每个添加安全协议层。
5.一种用于使用XML穿越网页服务通道传输二进制文件的方法,所述方法包括:
通过网关引擎接收源文件,所述源文件是二进制文件;
通过分解引擎将所述源文件分成多个部分,其中所述多个部分中的每个包括二进制数据;
为所述多个部分中的每个创建包含对所述二进制数据的引用的XML文档;
根据消息收发协议,使用单个端口通过可靠传输引擎来传输所述多个部分到目的地节点;
其中传输所述多个部分中的每个到目的地节点包括:
确定连接到端口的通信信道是否支持消息传输优化机制MTOM;
响应于对所述通信信道支持MTOM的确定,通过所述通信信道传输所述多个部分中的每个以及相应的XML文档到所述目的地节点;
响应于对所述通信信道不支持MTOM的确定,以所述二进制数据的编码表示代替XML文档的每个中的所述二进制数据的引用,并且通过所述通信信道没有附件地传输所述XML文档中的每个到所述目的地节点;以及
通过重组装引擎将所述多个部分重组装成所述源文件的副本。
6.根据权利要求5所述的方法,其中所述可靠传输引擎包括连通性规则、传递确认、次序管理、复制消息收发保护或者它们的组合。
7.根据权利要求5所述的方法,其中所述方法进一步包括:由编码器通过(i)将所述二进制数据存储在容器中并且以XML引用所述二进制数据或者通过(ii)使用基64编码,以XML编码所述多个部分中的每个的二进制数据。
8.根据权利要求5所述的方法,进一步包括向所述多个部分中的每个添加安全协议层。
9.一种用于使用XML传输文件的系统,包括:
处理器;以及
非瞬态有形存储器设备,所述非瞬态有形存储器设备存储指令,所述指令在由所述在由所述处理器执行时使所述处理器:
接收源文件,所述源文件是二进制文件;
将所述源文件解析在多个部分中,所述多个部分中的每个包括二进制数据;
为所述多个部分中的每个创建包含对所述二进制数据的引用的XML文档;以及
使用单个端口传输所述多个部分到目的地节点;
其中为传输所述多个部分中的每个到所述目的地节点,所述处理器用于:
确定连接到端口的通信信道是否支持消息传输优化机制MTOM;
响应于对所述通信信道支持MTOM的确定,通过所述通信信道传输所述多个部分中的每个以及相应的XML文档到所述目的地节点;
响应于对所述通信信道不支持MTOM的确定,以所述二进制数据的编码表示代替XML文档的每个中的所述二进制数据的引用,并且通过所述通信信道没有附件地传输所述XML文档中的每个到所述目的地节点。
10.根据权利要求9所述的系统,其中所述传输引擎进一步包括:
可靠消息收发(RM)源,用于分配消息序号给所述多个部分中的每个,所述消息序号从1开始且对每个后续部分增加1,所述消息序号以所述多个部分被发送到所述目的地节点的相同顺序分配。
11.根据权利要求10所述的系统,其中所述RM源重传未被RM目的地确认的消息。
12.根据权利要求9所述的系统,其中所述目的地节点包括用于将所述多个部分重构为所述源文件的副本的重组装引擎。
13.根据权利要求9所述的系统,其中所述处理器用于通过(i)将所述二进制数据存储在容器中并且以XML引用所述二进制数据或者通过(ii)使用基64编码,以XML编码所述二进制数据。
14.根据权利要求9所述的系统,其中所述指令用于使所述处理器:
将所述所述XML文档中的每个嵌入在SOAP消息中;以及
将所述SOAP消息和所引用的二进制数据作为多部分MIME以流的方式输送至所述目的地节点。
15.根据权利要求9所述的系统,其中所述处理器用于使用二进制优化封装XOP协议为所述多个部分中的每个创建所述XML文档。
CN201280068614.2A 2012-04-25 2012-04-25 使用xml的文件传输 Active CN104094249B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/034943 WO2013162542A1 (en) 2012-04-25 2012-04-25 File transfer using xml

Publications (2)

Publication Number Publication Date
CN104094249A CN104094249A (zh) 2014-10-08
CN104094249B true CN104094249B (zh) 2018-09-28

Family

ID=49483649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280068614.2A Active CN104094249B (zh) 2012-04-25 2012-04-25 使用xml的文件传输

Country Status (6)

Country Link
US (2) US9614895B2 (zh)
EP (1) EP2842052B1 (zh)
CN (1) CN104094249B (zh)
BR (1) BR112014018627B1 (zh)
IN (1) IN2014DN05882A (zh)
WO (1) WO2013162542A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015041740A1 (en) * 2013-09-20 2015-03-26 Oracle International Corporation Techniques for reliable messaging for an intermediary in a network communication environment
CN103701921A (zh) * 2013-12-31 2014-04-02 曙光云计算技术有限公司 云环境下基于接口调用的业务实现方法和装置
CN104484373B (zh) * 2014-12-05 2019-03-05 中国航空工业集团公司第六三一研究所 一种发动机健康数据存储方法
US10484339B2 (en) 2015-03-24 2019-11-19 Global Data Sentinel, Inc. Pervasive data security
US10657136B2 (en) 2015-12-02 2020-05-19 International Business Machines Corporation Searching data on a synchronization data stream
US10924455B2 (en) * 2017-03-22 2021-02-16 Dell Products L.P. Method and system for implementing a cluster-wide communication over a single port
US11212218B2 (en) * 2018-08-09 2021-12-28 Tata Consultancy Services Limited Method and system for message based communication and failure recovery for FPGA middleware framework
CN111597389B (zh) * 2019-02-21 2024-02-06 上海微电子装备(集团)股份有限公司 一种数据的处理方法、装置,设备及存储介质
GB201906869D0 (en) * 2019-05-15 2019-06-26 Palantir Technologies Inc Data processing system and method
CN115361262B (zh) * 2022-08-22 2023-06-09 武汉烽火技术服务有限公司 一种传输设备性能文件ftp上报的实现方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783882A (zh) * 2004-12-03 2006-06-07 微软公司 灵活地传输类型化的应用程序数据
CN1816052A (zh) * 2005-02-01 2006-08-09 微软公司 用于构建和使用通信绑定对象的系统和方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167045A (en) * 1995-06-19 2000-12-26 International Business Machines Corporation Method and system for receiving data packets in a unidirectional broadcasting system
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP4252229B2 (ja) 2001-03-28 2009-04-08 ユミルリンク株式会社 情報交換システム、情報通信端末、情報交換方法、プログラム、および、記録媒体
JP3905851B2 (ja) 2003-03-24 2007-04-18 株式会社東芝 構造化文書の分割方法及びプログラム
US7657612B2 (en) 2004-01-07 2010-02-02 Microsoft Corporation XML schema for network device configuration
US7546357B2 (en) 2004-01-07 2009-06-09 Microsoft Corporation Configuring network settings using portable storage media
US7853676B1 (en) 2004-06-10 2010-12-14 Cisco Technology, Inc. Protocol for efficient exchange of XML documents with a network device
US20060007957A1 (en) 2004-06-14 2006-01-12 Nokia Corporation Transfer of a multimedia message
US20060056403A1 (en) * 2004-09-13 2006-03-16 Pleasant Daniel L System and method for robust communication via a non-reliable protocol
JPWO2006051964A1 (ja) 2004-11-12 2008-05-29 株式会社ジャストシステム データ処理システム、データ処理方法、及び管理サーバ
WO2006051966A1 (ja) 2004-11-12 2006-05-18 Justsystems Corporation 文書管理装置及び文書管理方法
FR2882164A1 (fr) * 2005-02-11 2006-08-18 Canon Kk Procede et dispositif de transfert de donnees numeriques a format progressif
CN100399747C (zh) 2005-03-17 2008-07-02 联想(北京)有限公司 一种计算机网络策略管理系统及策略管理方法
US20070076228A1 (en) * 2005-10-04 2007-04-05 Jacob Apelbaum System and method for providing data services via a network
US20070115917A1 (en) 2005-10-31 2007-05-24 Microsoft Corporation MTOM data transfer via TCP
JP4677340B2 (ja) * 2005-12-21 2011-04-27 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、及び記憶媒体
FR2908256B1 (fr) 2006-11-03 2009-02-20 Alcatel Sa Procede de communication par codage binaire des fichiers xml
EP2191629A1 (en) * 2007-09-07 2010-06-02 Nec Europe Ltd. Method and system for secure web service data transfer
US8739180B2 (en) * 2008-01-25 2014-05-27 International Business Machines Corporation Processing of MTOM messages
US8145608B2 (en) 2008-04-28 2012-03-27 Infosys Technologies Limited Method and system for rapidly processing and transporting large XML files
US8195830B2 (en) 2009-06-24 2012-06-05 Ricoh Company, Ltd. Efficient file transfer on web service-enabled image forming device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783882A (zh) * 2004-12-03 2006-06-07 微软公司 灵活地传输类型化的应用程序数据
CN1816052A (zh) * 2005-02-01 2006-08-09 微软公司 用于构建和使用通信绑定对象的系统和方法

Also Published As

Publication number Publication date
EP2842052A1 (en) 2015-03-04
EP2842052B1 (en) 2021-06-23
BR112014018627A2 (pt) 2017-06-20
US9860301B2 (en) 2018-01-02
US20150052220A1 (en) 2015-02-19
BR112014018627B1 (pt) 2021-08-24
CN104094249A (zh) 2014-10-08
US20170163719A1 (en) 2017-06-08
IN2014DN05882A (zh) 2015-05-22
EP2842052A4 (en) 2015-12-23
BR112014018627A8 (pt) 2017-07-11
WO2013162542A1 (en) 2013-10-31
US9614895B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
CN104094249B (zh) 使用xml的文件传输
US10148705B2 (en) Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
CN105530254B (zh) 一种内外网之间的数据通信方法
US11153365B2 (en) Transfer of files with arrays of strings in soap messages
RU2406233C2 (ru) Передача большого объема сообщений при использовании одиночного нттр-запроса
US11038851B2 (en) Tokenizing network appliance and method
CN104980482B (zh) 文件发送方法及装置、文件接收方法及装置
CN101043522B (zh) 一种基于Web服务器的通信方法及系统
US9558164B1 (en) Methods and system for converting WSDL documents into XML schema
KR102017742B1 (ko) 단방향 데이터 송신 장치, 단방향 데이터 수신 장치 및 이를 이용한 단방향 데이터 전송 방법
Moore et al. Zest: Rest over zeromq
US20050004975A1 (en) Adaptive connection for data transmission
Estrella et al. A performance evaluation study for web services attachments
Fuller et al. ASE: Authenticated Statement Exchange
Al-Hakeem et al. Development of Fast Reliable Secure File Transfer Protocol (FRS-FTP)
Anisimov et al. High speed asynchronous methods of data exchange for information systems
CN118283110A (zh) 一种网关请求报文转换方法、装置、设备及介质
Adamczyk et al. Network congestion control at the application layer
CN117220881A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
Mhatre et al. Implementation of file transfer using message transmission optimization mechanism (MTOM)
Taylor et al. Web Services Protocols
CN110557249A (zh) 基于Freenet构建防溯源通信系统的方法
Mhatre et al. Analysis based on chunk size and threads for file transfer using Message Transmission Optimization Mechanism (MTOM)
Helenelund et al. SHS Version 1.2 Protocols
CN103188140A (zh) 一种业务请求处理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160919

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170519

Address after: American Texas

Applicant after: Enterprise service development company limited liability partnership

Address before: American Texas

Applicant before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

GR01 Patent grant
GR01 Patent grant