首页> 中国专利> 基于FTP协议的数据传输方法、装置及数据传输服务器

基于FTP协议的数据传输方法、装置及数据传输服务器

摘要

本发明涉及一种基于FTP协议的数据传输方法、装置及数据传输服务器,对于提供第一数据的数据提供端而言,当其需要通过其所属的网络向网闸传输第一数据时,可以通过该网络内所部署的数据传输服务器所包括数据接入模块、数据处理模块和FTP协议模块来实现。也就是说,在本申请中,可以通过部署包括数据接入模块、数据处理模块和FTP协议模块的数据传输服务器,将FTP服务器中涉及到FTP协议传输的功能移植到数据传输服务器,进而使得本申请实施例中的数据传输服务器可以具有现有技术中的数据传输服务器以及FTP服务器两者的功能,可以提高网络之间的数据传输性能。

著录项

  • 公开/公告号CN113438282B

    专利类型发明专利

  • 公开/公告日2022.09.27

    原文格式PDF

  • 申请/专利权人 北京旷视科技有限公司;

    申请/专利号CN202110628800.8

  • 发明设计人 张城城;曹素杰;

    申请日2021.06.04

  • 分类号H04L67/06(2022.01);H04L69/18(2022.01);

  • 代理机构北京超凡宏宇专利代理事务所(特殊普通合伙) 11463;

  • 代理人安卫静

  • 地址 100080 北京市海淀区中关村大街1号10层1018室

  • 入库时间 2022-11-28 17:49:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-27

    授权

    发明专利权授予

说明书

技术领域

本申请属于数据传输领域,具体涉及一种基于FTP(File Transfer Protocol,文件传输)协议的数据传输方法、装置及数据传输服务器。

背景技术

出于信息安全的需求,在许多应用场景中均存在内部网络以及外部网络,且在内部网络与外部网络之间设置有网闸来形成物理隔离。

在现有技术中,当使用文件摆渡型网闸进行跨网数据传输时,若要保证内部网络与外部网络之间能够相互进行数据传输,需要在内部网络以及外部网络内中都部署数据传输服务器以及FTP服务器。

当这两个网络之间需要进行数据传输时,其中一个网络(假设为网络A)内作为数据提供端的应用A通过网络A内所部署的数据传输服务器A,将待传输数据通过网络传输到该网络A内所部署的FTP服务器A上进行保存,网闸再把FTP服务器A上保存的待传输数据搬运到另一个网络(假设为网络B)内所部署的FTP服务器B所对应的FTP目录上,网络B内所部署的数据传输服务器B通过网络从FTP服务器B上下载待传输数据,并传输给网络B内作为数据接收端的应用B。

上述机制虽然能够实现存在物理隔离的两个网络内的应用之间进行数据交互,但是网络A中的应用A向网闸传输待传输数据这个过程必须依赖于网络A中所部署的FTP服务器A以及数据传输服务器A;以及网络B中的应用B从网闸获取到待传输数据这个过程必须依赖于网络B中所部署的FTP服务器B以及数据传输服务器B,也就是说,位于网闸两侧的各个网络内均需要部署FTP服务器以及数据传输服务器,这无疑会消耗大量内存资源以及网络传输开销,进而影响数据传输的性能。

发明内容

有鉴于此,本申请的目的在于提供一种基于FTP协议的数据传输方法、装置及数据传输服务器,对于存在物理隔离的网络,可以提高网络之间的数据传输效率,进而提升数据传输性能。

本申请的实施例是这样实现的:

第一方面,本申请实施例提供一种数据传输方法,应用于数据传输服务器,在所述数据传输服务器内部署有数据传输服务,数据传输服务包括数据接入模块、数据处理模块和FTP协议模块,所述方法包括:通过所述数据接入模块获取数据提供端发送的第一数据,所述数据接入模块支持不同于FTP协议的多种传输协议;通过所述数据处理模块对所述第一数据进行处理,并将处理后的第一数据发送至所述FTP协议模块;通过所述FTP协议模块将所述处理后的第一数据存储到所述数据传输服务对应的内存,以使网闸从所述数据传输服务对应的内存中读取所述处理后的第一数据;所述数据接入模块、所述数据处理模块和所述FTP协议模块运行于同一进程。

也就是说,在本申请中,可以通过部署包括数据接入模块、数据处理模块和FTP协议模块的数据传输服务器,将FTP服务器中涉及到FTP协议传输的功能移植到数据传输服务器,进而使得本申请实施例中的数据传输服务器可以具有现有技术中的数据传输服务器以及FTP服务器两者的功能。那么数据提供端在向网闸传输第一数据时,不必再启动其所属的网络中的FTP服务器,甚至在该网络中不必再额外部署FTP服务器。

由于服务器的启动以及运行需要消耗大量的内存资源,那么在本申请实施例中,数据提供端不再依赖于FTP服务器来向网闸传输第一数据的方式,可以减少内存消耗(用于部署以及启动FTP的内存消耗),进而提升数据传输性能。此外,在现有技术中,数据传输服务器与FTP服务器之间需要通过网络来传输第一数据,存在网络传输开销。而在本申请实施例中,由于数据接入模块、数据处理模块和FTP协议模块运行于数据传输服务器内的同一个进程,那么这三个模块之间可以通过进程内的数据传输通道来传输第一数据,而不必再使用网络传输通道来传输第一数据,相应的,本申请实施例中的方式还可以减少网络传输开销(用于传输第一数据的网络传输开销),还可以减少传输第一数据的时间消耗(进程内传输第一数据的耗时小于通过网络传输第一数据的消耗),提升数据传输性能。

结合第一方面实施例,在一种可能的实施方式中,所述数据接入模块包括多个子模块,所述子模块与所述数据接入模块所支持的传输协议一一对应;所述通过所述数据接入模块获取数据提供端发送的第一数据,包括:通过与所述第一数据所使用的传输协议对应的子模块接入所述数据提供端发送的所述第一数据。

结合第一方面实施例,在一种可能的实施方式中,所述将所述处理后的第一数据存储到所述数据传输服务对应的内存,包括:将所述处理后的第一数据存储到所述数据传输服务所对应的虚拟内存文件系统,以使所述网闸从所述数据传输服务所对应的虚拟内存文件系统中读取所述处理后的第一数据。

结合第一方面实施例,在一种可能的实施方式中,所述对所述第一数据进行处理,包括:将所述第一数据转换为基于所述FTP协议进行传输的数据。

结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:通过所述FTP协议模块获取所述网闸通过所述FTP协议发送的第二数据;通过所述数据处理模块对所述第二数据进行处理,并将处理后的第二数据发送至所述数据接入模块。

结合第一方面实施例,在一种可能的实施方式中,所述对所述第二数据进行处理,包括:将所述第二数据转换为所述第二数据的原始提供端所使用的原始数据传输协议。

结合第一方面实施例,在一种可能的实施方式中,所述数据接入模块包括多个子模块,所述子模块与所述数据接入模块所支持的传输协议一一对应;所述将处理后的第二数据发送至所述数据接入模块,包括:根据所述第二数据的原始提供端所使用的原始数据传输协议,将所述处理后的第二数据发送至所述数据接入模块中与所述第二数据的原始提供端所使用的原始数据传输协议对应的子模块。

结合第一方面实施例,在一种可能的实施方式中,在所述将处理后的第二数据发送至所述数据接入模块之后,所述方法还包括:根据所述第二数据的原始提供端所使用的原始数据传输协议,将所述处理后的第二数据发送给数据接收端中与所述第二数据的原始提供端所使用的原始数据传输协议对应的数据接收端。

第二方面,本申请实施例提供一种数据传输装置,应用于数据传输服务器,在所述数据传输服务器内部署有数据传输服务,数据传输服务包括数据接入模块、数据处理模块和FTP协议模块,所述数据接入模块、所述数据处理模块和所述FTP协议模块运行于同一进程;所述装置包括:获取单元、发送单元以及存储单元。

获取单元,用于通过所述数据接入模块获取数据提供端发送的第一数据,所述数据接入模块支持不同于FTP协议的多种传输协议;

发送单元,用于通过所述数据处理模块对所述第一数据进行处理,并将处理后的第一数据发送至所述FTP协议模块;

存储单元,用于通过所述FTP协议模块将所述处理后的第一数据存储到所述数据传输服务对应的内存,以使网闸从所述数据传输服务对应的内存中读取所述处理后的第一数据。

结合第二方面实施例,在一种可能的实施方式中,所述数据接入模块包括多个子模块,所述子模块与所述数据接入模块所支持的传输协议一一对应;所述获取单元,用于通过与所述第一数据所使用的传输协议对应的子模块接入所述数据提供端发送的所述第一数据。

结合第二方面实施例,在一种可能的实施方式中,所述存储单元,用于将所述处理后的第一数据存储到所述数据传输服务所对应的虚拟内存文件系统,以使所述网闸从所述数据传输服务所对应的虚拟内存文件系统中读取所述处理后的第一数据。

结合第二方面实施例,在一种可能的实施方式中,所述发送单元,用于将所述第一数据转换为基于所述FTP协议进行传输的数据。

结合第二方面实施例,在一种可能的实施方式中,所述获取单元,还用于通过所述FTP协议模块获取所述网闸通过所述FTP协议发送的第二数据;

所述发送单元,还用于通过所述数据处理模块对所述第二数据进行处理,并将处理后的第二数据发送至所述数据接入模块。

结合第二方面实施例,在一种可能的实施方式中,所述发送单元,用于将所述第二数据转换为所述第二数据的原始提供端所使用的原始数据传输协议。

结合第二方面实施例,在一种可能的实施方式中,所述数据接入模块包括多个子模块,所述子模块与所述数据接入模块所支持的传输协议一一对应;所述发送单元,用于根据所述第二数据的原始提供端所使用的原始数据传输协议,将所述处理后的第二数据发送至所述数据接入模块中与所述第二数据的原始提供端所使用的原始数据传输协议对应的子模块。

结合第二方面实施例,在一种可能的实施方式中,所述发送单元,还用于根据所述第二数据的原始提供端所使用的原始数据传输协议,将所述处理后的第二数据发送给数据接收端中与所述第二数据的原始提供端所使用的原始数据传输协议对应的数据接收端。

第三方面,本申请实施例还提供一种数据传输服务器包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。

图1示出本申请实施例提供的一种数据传输服务器的结构示意图。

图2示出本申请实施例提供的一种数据传输方法的流程图。

图3示出本申请实施例提供的一种数据传输的网络构架。

图4示出本申请实施例提供的一种数据传输装置的结构框图。

附图标记:100-数据传输服务器;110-处理器;120-存储器;130-数据收发器;400-数据传输装置;410-获取单元;420-发送单元;430-存储单元。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

此外,针对现有技术中存在物理隔离的两个网络进行数据传输时所存在的缺陷(消耗大量内存资源以及网络传输开销,进而影响数据传输的性能)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。

为了解决上述问题,本申请实施例提供一种基于FTP协议的数据传输方法、装置及数据传输服务器,对于存在物理隔离的网络,可以提高网络之间的数据传输效率,进而升级数据传输性能。

该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。

首先,参照图1来描述用于实现本申请实施例的数据传输方法、装置的数据传输服务器100。

其中,数据传输服务器100可以包括:处理器110、存储器120、数据收发器130。

应当注意,图1所示的数据传输服务器100的组件和结构只是示例性的,而非限制性的,根据需要,数据传输服务器100也可以具有其他组件和结构。

处理器110、存储器120、数据收发器130以及其他可能出现于数据传输服务器100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120、数据收发器130以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

数据收发器130用于收发待传输的数据,例如文件、文档、指令等。

存储器120用于存储程序,例如可以用于存储与数据传输服务对应的应用程序。

在本申请实施例中,数据传输服务可以包括数据接入模块、数据处理模块和FTP协议模块。

值得指出的是,此处的数据接入模块、数据处理模块和FTP协议模块应该被理解为软件虚拟模块,其本质还是程序代码,且数据接入模块、数据处理模块和FTP协议模块运行于同一进程中。

此外,存储器120还可以存储有后文出现的数据传输方法对应的程序或者后文出现的数据传输装置。可选的,当存储器120内存储有数据传输装置时,数据传输装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能单元。

可选的,数据传输装置所包括软件功能单元也可以固化在数据传输服务器100的操作系统(operating system,OS)中。

处理器110用于执行存储器120中存储的可执行模块以及可执行单元,例如数据传输装置包括的软件功能单元或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:通过所述数据接入模块获取数据提供端发送的第一数据,所述数据接入模块支持不同于FTP协议的多种传输协议;通过所述数据处理模块对所述第一数据进行处理,并将处理后的第一数据发送至所述FTP协议模块;通过所述FTP协议模块将所述处理后的第一数据存储到所述数据传输服务对应的内存,以使网闸从所述数据传输服务对应的内存中读取所述处理后的第一数据;所述数据接入模块、所述数据处理模块和所述FTP协议模块运行于同一进程。

当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。

下面将结合图2对本申请所提供的数据传输方法进行介绍。

本申请实施例提供一种应用于上述数据传输服务器的数据传输方法,该数据传输服务器所属的网络位于网闸的一侧,该方法可以包括以下步骤:

步骤S110:通过所述数据接入模块获取数据提供端发送的第一数据,所述数据接入模块支持不同于FTP协议的多种传输协议。

数据提供端常用不同于FTP的协议发送数据,且不同数据提供端发送数据所使用的协议不同。因此,可使数据传输服务的数据接入模块支持多种传输协议,以接入不同数据提供端提供的数据。

步骤S120:通过所述数据处理模块对所述第一数据进行处理,并将处理后的第一数据发送至所述FTP协议模块。

数据处理模块可将不同于FTP协议的数据转换为符合FTP协议的数据。

步骤S130:通过所述FTP协议模块将所述处理后的第一数据存储到所述数据传输服务对应的内存,以使网闸从所述数据传输服务对应的内存中读取出所述处理后的第一数据。

其中,FTP协议模块可以将符合FTP协议的数据存储到数据传输服务对应的内存,等待网闸通过网闸摆渡程序从数据传输服务对应的内存中读取出处理后的数据。

其中,数据接入模块、数据处理模块和FTP协议模块运行于数据传输服务器内的同一个进程(可以看成是同一个数据传输服务所对应的进程)。

在现有技术中,对于提供第一数据的数据提供端而言,当其需要通过其所属的网络向网闸传输第一数据时,需要通过现有技术中的数据传输服务器以及FTP服务器来实现。

现有技术中,网闸对FTP服务器的需求只是网闸需要通过FTP协议来与应用程序交互,并不需要使用FTP服务器的其余功能,如数据存储功能等。相比之下,本方案在数据传输服务器中实现FTP协议,能够满足网闸与数据传输服务器通过FTP协议进行数据交互的需求,因此无需要额外部署FTP服务器。

在本申请实施例中,对于提供第一数据的数据提供端而言,当其需要通过其所属的网络向网闸传输第一数据时,可以通过该网络内所部署的数据传输服务器所包括数据接入模块、数据处理模块和FTP协议模块按照上述步骤S110-步骤S140所述的过程来实现。

也就是说,在本申请中,可以通过部署包括数据接入模块、数据处理模块和FTP协议模块的数据传输服务器,将FTP服务器中涉及到FTP协议传输的功能移植到数据传输服务器、在数据传输服务器中实现FTP协议,进而使得本申请实施例中的数据传输服务器可以具有现有技术中的数据传输服务器以及FTP服务器两者的功能。那么数据提供端在向网闸传输第一数据时,不必再启动其所属的网络中的FTP服务器,甚至在该网络中不必再额外部署FTP服务器。

可以理解,服务器的启动以及运行需要消耗大量的内存资源,那么在本申请实施例中,数据提供端不再依赖于FTP服务器来向网闸传输第一数据的方式,可以减少内存消耗(用于部署以及启动FTP的内存消耗),进而提升数据传输性能。

此外,在现有技术中,数据传输服务器与FTP服务器之间需要通过网络来传输第一数据,存在网络传输开销。而在本申请实施例中,由于数据接入模块、数据处理模块和FTP协议模块运行于数据传输服务器内的同一个进程,那么这三个模块之间可以通过进程内的数据传输通道来传输第一数据,而不必再使用网络传输通道来传输第一数据,相应的,本申请实施例中的方式还可以减少网络传输开销(用于传输第一数据的网络传输开销),还可以减少传输第一数据的时间消耗(进程内传输第一数据的耗时小于通过网络传输第一数据的消耗),提升数据传输性能。

为了便于更加清楚地描述本实施例,请参照图3,假设存在一种网络构架,包括网络A、网络B以及网闸。其中,网闸设置在网络A与网络B之间,使得网络A与网络B之间存在物理隔离。

其中,在网络A中存在至少一个应用以及预先部署有数据传输服务器A,在网络B中存在至少一个应用以及预先部署有数据传输服务器B。

针对上述步骤S110-步骤S140所描述的情况,可以看成是网络A中的应用A需要向网络B中的应用B传输第一数据,基于此,作为数据提供端的应用A需要先将第一数据发送给数据传输服务器A,以便数据传输服务器A可以基于步骤S110-步骤S140,将第一数据传输给网闸;后续,网闸将第一数据摆渡到网络B,再由网络B的数据传输服务发送给应用B(即图3中的实线箭头所对应的过程)。

此外,上述步骤S110-步骤S140所描述的情况,也可以看成是网络B中的应用B需要向网络A中的应用A传输第一数据,基于此,作为数据提供端的应用B需要先将第一数据发送给数据传输服务器B,以便数据传输服务器B可以基于步骤S110-步骤S140,将第一数据传输给网闸;后续,网闸将第一数据摆渡到网络A,再由网络B的数据传输服务发送给应用A(即图3中的虚线箭头所对应的过程)。

下面以网络A中的应用A作为数据提供端,经由网闸向网络B中的应用B传输第一数据为例,对上述各个步骤进行详细介绍。

步骤S110:通过所述数据接入模块获取数据提供端发送的第一数据,所述数据接入模块支持不同于FTP协议的多种传输协议。

在本申请实施例中,数据接入模块主要用于获取数据提供端,即图3中的应用A所提供的第一数据。

其中,网络A中可能存在多种不同的应用,且网络A中的任何应用均可以作为提供第一数据的应用A。

值得指出的是,不同的应用在传输数据时所使用的传输协议也可能存在差异,例如可能使用TCP协议、HTTP协议、Kafka协议。

为了保证数据接入模块能够成功获取到基于各种传输协议传输的第一数据,在一些实施方式中,数据传输服务器的数据接入模块可以尽可能多地支持各种传输协议,以便可以接入使用各种传输协议进行传输的第一数据。

具体的,数据接入模块可以包括多个子模块,且子模块与数据接入模块所支持的传输协议一一对应,例如数据接入模块可以包括支持TCP协议的子模块、支持HTTP协议的子模块、支持Kafka协议的子模块等。

相应的,当数据提供端提供第一数据后,数据接入模块可以通过与当前的第一数据所使用的传输协议对应的子模块接入该数据提供端所发送的第一数据。之后,数据接入模块将第一数据发送至数据处理模块。

步骤S120:通过所述数据处理模块对所述第一数据进行处理,并将处理后的第一数据发送至所述FTP协议模块。

由于网闸只能基于FTP协议进行数据传输,且数据接入模块所接入的第一数据所使用的传输协议不是FTP协议,因此,当数据接入模块接入第一数据后,数据传输服务器需要通过数据处理模块对第一数据进行协议转换,以便将第一数据转换为基于FTP协议进行传输的数据,以便网闸在后续能够基于FTP协议模块成功获取到该第一数据。

当然,数据处理模块还可以具有其他功能,例如数据压缩、数据解压等,此处不做过多限定。

步骤S130:通过所述FTP协议模块将所述处理后的第一数据存储到所述数据传输服务对应的内存,以使网闸从所述数据传输服务对应的内存中读取所述处理后的第一数据。

在一些实施方式中,数据传输服务器在获取到处理后的第一数据后,可以将第一数据保存到与数据传输服务器对应的磁盘中,以便后续网闸可以通过读取数据传输服务器的磁盘来获取到该第一数据。

由于对内存进行读写操作时,其速度远大于对磁盘进行读写时的速度,因此,在一些实施方式中,为了提高数据传输效率,数据传输服务器在获取到处理后的第一数据后,可以将第一数据保存到与数据传输服务器对应的内存中,以便后续网闸可以通过读取数据传输服务器的内存来获取到该第一数据。

一实施例中,上述内存可以是数据传输服务所对应的虚拟内存文件系统。

值得指出的是,以上是以网闸从数据传输服务器获取第一数据的角度进行介绍。

从图3可以看出,在一些实施方式中,网闸还可以将获取到的第二数据摆渡(保存)到数据传输服务器A的内存,以便数据传输服务器A可以获取到该第二数据,此时应用A则作为数据接收端。

至于该第二数据,则是由作为数据提供端的应用B所提供,且由网闸从数据传输服务器B获取。这个过程与上文所描述的,网闸从数据传输服务器获取第一数据的过程类似,此处不再赘述。

下面将针对数据传输服务器A获取网闸所传输的第二数据的过程进行介绍。该过程可以包括以下步骤:

步骤S150:通过所述FTP协议模块获取所述网闸通过所述FTP协议发送的第二数据。

可选的,该第二数据可以由网闸通过FTP协议发送到数据传输服务器A中的数据传输服务对应的内存中,以便数据传输服务器A中的FTP协议模块从该内存中获取到第二数据。

步骤S160:通过所述数据处理模块对所述第二数据进行处理,并将处理后的第二数据发送至所述数据接入模块。

上文提及,网闸只能基于FTP协议进行数据传输。因此,此处数据传输服务器A所获取到的第二数据是基于FTP协议进行传输的数据,但是该第二数据的所使用的原始数据传输协议不一定是FTP协议,即第二数据有可能被数据传输服务器B中的数据处理模块进行过协议转换。

为了保证应用A所获取到的第二数据是应用B所传输的原始数据,数据传输服务器A中的数据处理模块还可以针对FTP协议模块所接收的第二数据进行处理,例如协议转换,以便将当前的第二数据转换为第二数据的原始提供端应用B所使用的原始数据传输协议。

在一例中,使用不同原始数据传输协议的第二数据可经过相同的转换方式转换为其原始数据传输协议;另一例中,使用不同原始数据传输协议的第二数据可带有其原始数据传输协议标签,数据处理模块根据该标签可确定与标签对应的转换方式,以将使用不同原始数据传输协议的第二数据转换为其原始数据传输协议。

当然,若数据传输服务器B中的数据处理模块针对第二数据还进行过其他处理,例如数据压缩、数据解压等操作,相应的,传输服务器A中的数据处理模块还可以针对第二数据进行相应的逆处理,以将第二数据还原成最原始的第二数据。

在得到第二数据的原始提供端所使用的原始数据传输协议后,数据传输服务器A中的数据处理模块可以将处理后的第二数据发送至数据传输服务器A中的数据接入模块,以便数据接入模块将处理后的第二数据发送给网络A中的数据接收端。

其中,在一些实施方式中,数据传输服务器A中的数据处理模块将处理后的第二数据发送至数据传输服务器A中与第二数据的原始提供端所使用的原始数据传输协议对应的子模块,以便通过第二数据的原始提供端所使用的原始数据传输协议,将处理后的第二数据发送给网络A中的数据接收端中与第二数据的原始提供端所使用的原始数据传输协议对应的数据接收端,即应用A。

如图4所示,本申请实施例还提供一种数据传输装置400,应用于数据传输服务器,在所述数据传输服务器内部署有数据传输服务,数据传输服务包括数据接入模块、数据处理模块和FTP协议模块,所述数据接入模块、所述数据处理模块和所述FTP协议模块运行于同一进程。

其在,数据传输装置400可以包括:获取单元410、发送单元420以及存储单元430。

获取单元410,用于通过所述数据接入模块获取数据提供端发送的第一数据,所述数据接入模块支持不同于FTP协议的多种传输协议;

发送单元420,用于通过所述数据处理模块对所述第一数据进行处理,并将处理后的第一数据发送至所述FTP协议模块;

存储单元430,用于通过所述FTP协议模块将所述处理后的第一数据存储到所述数据传输服务对应的内存,以使网闸从所述数据传输服务对应的内存中读取所述处理后的第一数据。

在一种可能的实施方式中,所述数据接入模块包括多个子模块,所述子模块与所述数据接入模块所支持的传输协议一一对应;所述获取单元410,用于通过与所述第一数据所使用的传输协议对应的子模块接入所述数据提供端发送的所述第一数据。

在一种可能的实施方式中,所述存储单元430,用于将所述处理后的第一数据存储到所述数据传输服务所对应的虚拟内存文件系统,以使所述网闸从所述数据传输服务所对应的虚拟内存文件系统中读取所述处理后的第一数据。

在一种可能的实施方式中,所述发送单元420,用于将所述第一数据转换为基于所述FTP协议进行传输的数据。

在一种可能的实施方式中,所述获取单元410,还用于通过所述FTP协议模块获取所述网闸通过所述FTP协议发送的第二数据;

所述发送单元420,还用于通过所述数据处理模块对所述第二数据进行处理,并将处理后的第二数据发送至所述数据接入模块。

在一种可能的实施方式中,所述发送单元420,用于将所述第二数据转换为所述第二数据的原始提供端所使用的原始数据传输协议。

在一种可能的实施方式中,所述数据接入模块包括多个子模块,所述子模块与所述数据接入模块所支持的传输协议一一对应;所述发送单元420,用于根据所述第二数据的原始提供端所使用的原始数据传输协议,将所述处理后的第二数据发送至所述数据接入模块中与所述第二数据的原始提供端所使用的原始数据传输协议对应的子模块。

在一种可能的实施方式中,所述发送单元,还用于根据所述第二数据的原始提供端所使用的原始数据传输协议,将所述处理后的第二数据发送给数据接收端中与所述第二数据的原始提供端所使用的原始数据传输协议对应的数据接收端。

本申请实施例所提供的数据传输装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的数据传输方法所包含的步骤。

综上所述,本发明实施例提出的基于FTP协议的数据传输方法、装置及数据传输服务器,对于提供第一数据的数据提供端而言,当其需要通过其所属的网络向网闸传输第一数据时,可以通过该网络内所部署的数据传输服务器所包括数据接入模块、数据处理模块和FTP协议模块来实现。也就是说,在本申请中,可以通过部署包括数据接入模块、数据处理模块和FTP协议模块的数据传输服务器,将FTP服务器中涉及到FTP协议传输的功能移植到数据传输服务器,进而使得本申请实施例中的数据传输服务器可以具有现有技术中的数据传输服务器以及FTP服务器两者的功能。那么数据提供端在向网闸传输第一数据时,不必再启动其所属的网络中的FTP服务器,甚至在该网络中不必再额外部署FTP服务器。

由于服务器的启动以及运行需要消耗大量的内存资源,那么在本申请实施例中,数据提供端不再依赖于FTP服务器来向网闸传输第一数据的方式,可以减少内存消耗(用于部署以及启动FTP的内存消耗),进而提升数据传输性能。

此外,在现有技术中,数据传输服务器与FTP服务器之间需要通过网络来传输第一数据,存在网络传输开销。而在本申请实施例中,由于数据接入模块、数据处理模块和FTP协议模块运行于数据传输服务器内的同一个进程,那么这三个模块之间可以通过进程内的数据传输通道来传输第一数据,而不必再使用网络传输通道来传输第一数据,相应的,本申请实施例中的方式还可以减少网络传输开销(用于传输第一数据的网络传输开销),还可以减少传输第一数据的时间消耗(进程内传输第一数据的耗时小于通过网络传输第一数据的消耗),提升数据传输性能。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号