CN113722084A - 数据处理方法、装置、电子设备和计算机存储介质 - Google Patents
数据处理方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN113722084A CN113722084A CN202010451615.1A CN202010451615A CN113722084A CN 113722084 A CN113722084 A CN 113722084A CN 202010451615 A CN202010451615 A CN 202010451615A CN 113722084 A CN113722084 A CN 113722084A
- Authority
- CN
- China
- Prior art keywords
- data transmission
- transmission process
- processes
- registered
- dfs
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了一种数据处理方法、装置、电子设备和计算机存储介质,该方法包括:在接收FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与分布式文件系统DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与分布式文件系统DFS之间的数据交互。如此,服务器端可以通过多个数据传输进程实现FTP客户端与DFS的数据交互,有利于解决相关技术中单个FTP服务器的资源有限的问题,可以适用于大规模数据传输的场景。
Description
技术领域
本发明涉及数据传输技术,尤其涉及一种数据处理方法、装置、电子设备和计算机存储介质,可以应用于分布式文件系统(Distributed File System,DFS)的数据读写。
背景技术
在相关技术中,随着云计算和大数据技术的不断发展,越来越多的企业需要使用DFS对海量的数据进行存储,并利用一些计算框架(如tez,mapreduce,spark,flink)对这些数据进行分析、处理和加工;例如,DFS可以是Hadoop分布式文件系统(Hadoop DistributedFile System,HDFS)、Ceph分布式文件系统、GFS(Google File System)分布式文件系统或Lustre文件系统;计算框架可以是Tez、Mapreduce、Spark、Flink等计算框架;一些大数据工具(如Flume工具或Kafka工具)可以快速地将采集到的数据上传到DFS中,但是,这些工具的代码复杂,工具的配置、部署、使用和运维都需要专业的大数据工作人员,即,这些工具的部署和使用都相对复杂;使用文件传输协议(File Transfer Protocol,FTP)服务将数据传输到DFS上,是一种简单高效的方法。
例如,图1为相关技术中使用FTP服务将数据传输到DFS的结构示意图,如图1所示,在相关技术中,HDFS-OVER-FTP服务器是一个基于apache ftp开源的工作于HDFS之上的FTP服务器,HDFS-OVER-FTP封装有HDFS客户端,使HDFS-OVER-FTP服务器可以读写HDFS的文件,从而,允许用户或业务使用任意FTP客户端以及FTP命令访问HDFS;同时,HDFS-OVER-FTP服务器还可以基于kerberos协议进行安全访问并支持HDFS所有的权限设置;综上,只需要使用开启HDFS-OVER-FTP服务器即可实现FTP客户端与HDFS之间的数据传输,HDFS-OVER-FTP服务器的使用方式与linux vsftp服务器的使用方式相同,并且具有使用简单方便的特点
然而,当使用FTP服务将数据传输到DFS时,由于FTP服务器的资源有限,往往难以适应大规模数据传输的场景。
发明内容
本发明期望提供数据处理的技术方案,可以解决由于FTP服务器的资源有限导致难以适应大规模数据传输的场景的问题。
本发明提供了一种数据处理方法,所述方法包括:
在接收FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;
控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可选地,所述方法还包括:
存储所述已注册各个数据传输服务进程的连接负载信息;
所述控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互,包括:
根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,根据选取的数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可选地,所述根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,包括:
在所述已注册的各个数据传输进程中,选取连接负载最小的数据传输进程,或者,选取连接负载小于设定阈值的数据传输进程。
可选地,所述方法还包括:
所述已注册的各个数据传输进程中的至少一个数据传输进程的连接负载发生变化时,根据发生变化的数据传输进程的连接负载,更新存储的所述已注册各个数据传输服务进程的连接负载信息。
可选地,所述确定已注册的各个数据传输进程,包括:
根据所述服务器端存储的数据传输进程的注册信息,确定出所述已注册的各个数据传输进程。
可选地,所述方法还包括:
在所述已注册的各个数据传输进程中的至少一个数据传输进程删除时,删除所述服务器端存储的所述至少一个数据传输进程的注册信息。
可选地,所述方法还包括:
在出现新增的数据传输进程时,将所述新增的数据传输进程的注册信息存储至所述服务器端。
本发明还提供了一种数据处理装置,其特征在于,应用于服务器端,所述装置包括:第一处理模块和第二处理模块,其中,
第一处理模块,用于在接收FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;
第二处理模块,用于控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可选地,所述第二处理模块,还用于存储所述已注册各个数据传输服务进程的连接负载信息;
所述第二处理模块,用于控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互,包括:
根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,根据选取的数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可选地,所述第二处理模块,用于根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,包括:
在所述已注册的各个数据传输进程中,选取连接负载最小的数据传输进程,或者,选取连接负载小于设定阈值的数据传输进程。
可选地,所述第二处理模块,还用于所述已注册的各个数据传输进程中的至少一个数据传输进程的连接负载发生变化时,根据发生变化的数据传输进程的连接负载,更新存储的所述已注册各个数据传输服务进程的连接负载信息。
可选地,所述第一处理模块,用于确定已注册的各个数据传输进程,包括:
根据所述服务器端存储的数据传输进程的注册信息,确定出所述已注册的各个数据传输进程。
可选地,所述第一处理模块,还用于在所述已注册的各个数据传输进程中的至少一个数据传输进程删除时,删除所述服务器端存储的所述至少一个数据传输进程的注册信息。
可选地,所述第一处理模块,还用于在出现新增的数据传输进程时,将所述新增的数据传输进程的注册信息存储至所述服务器端。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种数据处理方法。
本发明还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被终端的处理器执行时实现上述任意一种数据处理方法。
本发明提出的虚拟机网络流量确定方法、装置、终端和计算机存储介质中,在接收FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与分布式文件系统DFS之间的数据交互。如此,服务器端可以通过多个数据传输进程实现FTP客户端与DFS的数据交互,有利于解决相关技术中单个FTP服务器的资源有限的问题,可以适用于大规模数据传输的场景。
进一步地,由于可以获取多个数据传输进程的注册信息,便于在服务器端对多个数据传输进程的数据传输过程进行统一控制;由于选取的数据传输进程是根据各个数据传输服务进程的连接负载信息得出的,因而,便于在服务器端实现各个数据传输进程之间的负载均衡。
进一步地,基于本发明实施例的数据处理方法,可以将负责数据传输的控制连接和数据连接分离,允许多个数据传输进程运行在多个不同的FTP服务器上。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本发明的实施例,并与说明书一起用于说明本发明的技术方案。
图1为相关技术中使用FTP服务将数据传输到DFS的结构示意图;
图2为本发明的数据处理方法的流程图;
图3为本发明中实现FTP客户端与DFS的数据交互的一个架构示意图;
图4为本发明的一种数据处理装置的组成结构示意图;
图5为本发明的电子设备的结构示意图。
具体实施方式
在对相关技术的研究中,发明人发现:HDFS-OVER-FTP服务器在实际的数据传输的过程中,当达到稳定传输状态时,单个服务器节点传输速率为300-500MB/s,由于机器磁盘输入输出(IO)以及网络IO的限制,传输速率无法达到更高,使得使用FTP服务将数据传输到DFS的方法,无法应对大规模数据传输的场景;这样,为了应用于大规模数据传输的场景,需要并发多个HDFS-OVER-FTP服务才能达到更高的数据传输速率,而横向扩展多个HDFS-OVER-FTP服务器需要单独为每个服务器设置相同的数据传输配置参数,不便于对HDFS-OVER-FTP服务器的配置管理;在具体的示例中,对于每个HDFS-OVER-FTP服务器,需要在FTP客户端与HDFS-OVER-FTP服务器建立两个传输控制协议(Transmission ControlProtocol,TCP)连接,两个数据连接分别为控制连接和数据连接;其中,控制连接用于FTP客户端与HDFS-OVER-FTP服务器的命令交互,数据连接用于FTP客户端与HDFS-OVER-FTP服务器的数据传输,控制连接和数据连接通过HDFS-OVER-FTP服务器设置的同一个进程实现。
另外,发明人还发现:为了应用于大规模数据传输的场景,需要FTP客户端分散连接到各个HDFS-OVER-FTP服务器上,进而需要FTP客户端实现连接的负载均衡;当增加或减少HDFS-OVER-FTP服务器时需要通知FTP客户端修改相应的寻址范围,需要通过修改FTP客户端代码开发的方式实现数据传输负载均衡,实现较为复杂;综上,在大规模数据传输的场景,上述使用FTP服务将数据传输到DFS的方法,在扩展数据传输能力和实现连接负载均衡方面,并不易于实现。
针对上述技术问题,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
例如,本发明实施例提供的数据处理方法包含了一系列的步骤,但是本发明实施例提供的数据处理方法不限于所记载的步骤,同样地,本发明实施例提供的数据处理确定装置包括了一系列模块,但是本发明实施例提供的数据处理装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
本发明实施例可以基于电子设备实现,这里,电子设备可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等。
电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统可以在分布式云计算环境中实施,在分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
基于上述记载的应用场景,提出以下各实施例。
本发明实施例提出了一种数据处理方法,可以应用于服务器端,这里的服务器端可以包括控制节点,服务器端可以设置至少两个数据传输进程,其中,数据传输进程用于实现FTP客户端与DFS的数据传输;控制节点可以与FTP客户端形成通信连接,并可以控制数据传输进程实现FTP客户端与DFS的数据传输。
图2为本发明的数据处理方法的流程图,如图2所示,该流程可以包括:
步骤201:在接收FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1。
在实际应用中,服务器端的控制节点可以与FTP客户端进行数据交互,并可以接收FTP客户端发送的数据传输指令;作为一种实施方式,FTP客户端可以首先向控制节点发送账户认证信息,在账户认证通过时,可以向控制节点发送数据传输指令。本发明实施例中,数据传输指令可以是被动模式(PASV)控制命令或其它类型的数据传输指令,这里并不进行限定。
本发明实施例中,服务器端可以预先将已经设置的数据传输进程注册,并存储数据传输进程的注册信息;控制节点在接收到上述数据传输指令后,可以根据已经注册的各个数据传输进程实现FTP客户端与DFS之间的数据交互;在实际应用中,服务端设置有第一节点,第一节点可以存储服务器端已经设置的数据传输进程的注册信息。
在一种实施方式中,可以根据服务器端存储的数据传输进程的注册信息,确定出所述已注册的各个数据传输进程。
在一种实施方式中,可以在已注册的各个数据传输进程中的至少一个数据传输进程删除时,删除服务器端存储的所述至少一个数据传输进程的注册信息;在服务器端出现新增的数据传输进程时,可以将上述新增的数据传输进程的注册信息存储至服务器端。可以看出,本发明实施例可以根据服务器端实际存在的数据传输进程,动态更新存储的数据传输进程的注册信息,无需在数据传输进程改变时由FTP客户端修改相应的寻址范围,如此,便于根据实际存在的数据传输进程实现FTP客户端与DFS之间的数据交互。
步骤202:控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
在实际应用中,本步骤可以由上述控制节点实现;在具体的示例中,控制节点可以获取上述至少一个数据传输进程的端口信息,并将上述至少一个数据传输进程的端口信息发送至FTP客户端;FTP客户端可以根据接收到的端口信息,建立与上述至少一个数据传输进程,从而通过上述至少一个数据传输进程,实现与DFS之间的数据交互;可选地,FTP客户端可以对DFS之间的数据进行读操作和/或写操作。
在实际应用中,步骤201至步骤202可以基于服务器端的至少一个处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital SignalProcessing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、CPU、控制器、微控制器、微处理器中的至少一种。
可见,本发明实施例中,服务器端可以通过多个数据传输进程实现FTP客户端与DFS的数据交互,有利于解决相关技术中单个FTP服务器的资源有限的问题,可以适用于大规模数据传输的场景;进一步地,由于可以获取多个数据传输进程的注册信息,便于在服务器端对多个数据传输进程的数据传输过程进行统一控制;基于本发明实施例的数据处理方法,可以将负责数据传输的控制连接和数据连接分离,允许多个数据传输进程运行在多个不同的FTP服务器上。
在一种实施方式中,可以存储已注册的各个数据传输服务进程的连接负载信息;这里,连接负载信息表示数据传输进程当前负责的数据传输的连接负载,这里的连接负载表示数据传输过程消耗的磁盘IO、网络IO等资源。
在实际应用中,可以由第二节点存储已注册的各个数据传输服务进程的连接负载信息;本发明实施例中,第一节点和第二节点可以由不同的电子设备实现,也可以由同一个电子设备实现。
可选地,可以根据已注册的各个数据传输服务进程的连接负载信息,在已注册的各个数据传输进程中选取数据传输进程,根据选取的数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可以看出,由于选取的数据传输进程是根据各个数据传输服务进程的连接负载信息得出的,因而,便于在服务器端实现各个数据传输进程之间的负载均衡。
可选地,可以在已注册的各个数据传输进程中,选取连接负载最小的数据传输进程,或者,选取连接负载小于设定阈值的数据传输进程;如此,可以实现各个数据传输进程之间的负载均衡。
可选地,可以在已注册的各个数据传输进程中的至少一个数据传输进程的连接负载发生变化时,根据发生变化的数据传输进程的连接负载,更新存储的所述已注册各个数据传输服务进程的连接负载信息。如此,便于根据各个数据传输服务进程的准确的连接负载信息,在各个数据传输服务进程之间准确地实现负载均衡。
下面结合附图对本发明的一个具体的应用实施例进行说明;在应用实施例中,服务器端包括分布式FTP服务器和服务注册与状态维护节点。
图3为本发明中实现FTP客户端与DFS的数据交互的一个架构示意图,如图3所示,分布式FTP服务器可以包括上述记载的控制节点,分布式FTP服务器还设置有多个数据传输进程,每个数据传输进程封装有用于实现访问DFS的DFS客户端,每个数据传输进程均可以提供FTP客户端与DFS之间的数据传输服务。服务注册与状态维护节点可以实现上述第一节点和第二节点的功能。
控制节点,可以基于FTP协议并与FTP客户端进行控制命令的交互;控制节点还可以与数据传输进程进行远程通信,访问服务注册与状态维护节点中的信息,优先分配连接负载较小的数据传输进程与FTP客户端建立数据连接;控制节点还可以请求相应的数据传输进程分配数据服务端口,然后将请求的数据服务端口的标识和相应的数据传输进程的地址一并返回给FTP客户端。
数据传输进程,可以接收来自控制节点的请求,并分配相应的数据服务端口以等待FTP客户端的连接,这里,数据传输进程可以将数据服务端口的标识发送至控制节点;
数据传输进程可以接收FTP客户端发送的数据连接请求,根据接收的数据连接请求与FTP客户端建立数据连接,以实现FTP客户端与DFS之间的数据传输,示例性地,当需要从DFS读取数据时,FTP客户端向DFS发送的数据包括待读取的数据的内容和/或在DFS中的地址,DFS向FTP客户端发送的数据可以包括读取的数据;当需要向DFS写入数据时,FTP客户端向DFS发送的数据可以包括待写入的数据,DFS向FTP客户端发送的数据可以包括数据写入完成的响应信息。在FTP客户端与DFS之间的数据传输完成后,数据传输进程可以向控制节点发送通知信息,使控制节点确定相应的数据传输进程的数据传输任务完成。在数据传输进程实现FTP客户端与DFS之间的数据传输的过程汇总,数据传输进程,还可以调用DFS的访问接口,并负责与DFS进行交互,完成DFS的数据读写。
在一个示例中,数据传输进程可以使用代理机制访问分布式文件系统,此时,FTP客户端访问分布式文件系统的权限根据登录FTP客户端的账号信息确定,这里的账户信息可以包括用户名等信息。
数据传输进程还可以在自身启动时向访问服务注册与状态维护节点发送注册信息,使服务注册与状态维护节点接收相应的数据传输进程的注册信息;数据传输进程还可以在启动FTP客户端与DFS之间的数据传输时,更新服务注册与状态维护节点中的连接负载信息,在结束FTP客户端与DFS之间的数据传输时,更新服务注册与状态维护节点中的连接负载信息。
服务注册与状态维护节点,可以实现上述第一节点和第二节点的功能。
DFS可以负责数据的存储。
基于图3所示的架构,本发明实施例的数据处理方法的流程可以包括:
步骤A1:FTP客户端连接控制节点的断开,并可以向控制节点发送账户认证信息,控制节点确定账户认证通过后,可以向FTP客户端发送认证成功的响应信息;这里,账户认证信息可以包括用户名和密码。
步骤A2:当需要进行FTP客户端与DFS的数据传输时,FTP客户端可以向控制节点发送PASV控制命令。
步骤A3:控制节点收到PASV控制命令后,访问服务注册与状态维护节点中的信息,并向连接负载最小的数据传输进程发送开放端口请求。
步骤A4:数据传输进程收到控制节点的开放端口请求后,开放某一个数据服务端口等待FTP客户端的连接,同时,数据传输进程可以向更新服务注册与状态维护节点中本进程的连接负载信息,数据传输进程可以将开放的数据服务端口的标识发送至控制节点。
步骤A5:控制节点收到数据服务端口的标识后,可以将PASV控制命令的应答信息返回给FTP客户端,这里,ASV控制命令的应答信息可以包括开放的数据服务端口的标识和相应的数据传输进程的地址。
步骤A6:FTP客户端在接收到PASV控制命令的应答信息后,可以根据应答信息,向相应的数据传输进程发送数据连接请求,以建立与数据传输进程的数据连接。
步骤A7:在FTP客户端与数据传输进程建立数据连接后,FTP客户端与数据传输进程进行数据传输;在具体实施时,数据传输进程可以实现FTP客户端对DFS的数据读写操作。
步骤A8:在数据传输完成后,FTP客户端与数据传输进程端口数据连接,数据传输进程更新服务注册与状态维护节点中本进程的连接负载信息。
步骤A9:FTP客户端关于与控制节点的连接。
可以看出,本发明实施例可以通过在服务器端部署多个数据传输进程,通过数据传输进程的扩展,有利于解决相关技术中单个FTP服务器进行数据传输时的磁盘IO、网络IO等资源瓶颈问题;通过服务注册与状态维护节点中的信息更新,可以实现数据传输进程的连接负载信息的更新,无需FTP客户单修改寻址范围等配置信息。
另外,在大规模的数据传输场景下,无需开发或部署复杂的Flume,Kafka等大数据服务;无需通过修改FTP客户端代码开发的方式实现数据传输负载均衡;只需要部署图3所示的分布式FTP服务器,便可以实现对DFS的数据访问,并且实现各个数据传输进程之间的负载均衡。
在前述实施例提出的数据处理方法的基础上,本发明实施例还提出了一种数据处理装置,可以应用于服务器端。
图4为本发明的一种数据处理装置的组成结构示意图,如图4所示,该装置可以包括:第一处理模块401和第二处理模块402,其中,
第一处理模块401,用于在接收FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;
第二处理模块402,用于控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可选地,所述第二处理模块402,还用于存储所述已注册各个数据传输服务进程的连接负载信息;
所述第二处理模块402,用于控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互,包括:
根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,根据选取的数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
可选地,所述第二处理模块402,用于根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,包括:
在所述已注册的各个数据传输进程中,选取连接负载最小的数据传输进程,或者,选取连接负载小于设定阈值的数据传输进程。
可选地,所述第二处理模块402,还用于所述已注册的各个数据传输进程中的至少一个数据传输进程的连接负载发生变化时,根据发生变化的数据传输进程的连接负载,更新存储的所述已注册各个数据传输服务进程的连接负载信息。
可选地,所述第一处理模块401,用于确定已注册的各个数据传输进程,包括:
根据所述服务器端存储的数据传输进程的注册信息,确定出所述已注册的各个数据传输进程。
可选地,所述第一处理模块401,还用于在所述已注册的各个数据传输进程中的至少一个数据传输进程删除时,删除所述服务器端存储的所述至少一个数据传输进程的注册信息。
可选地,所述第一处理模块401,还用于在出现新增的数据传输进程时,将所述新增的数据传输进程的注册信息存储至所述服务器端。
上述第一处理模块401和第二处理模块402均可由位于服务器端中的至少一个处理器实现,上述处理器为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种数据处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种数据处理方法对应的计算机程序指令被一终端的处理器读取或被执行时,实现前述实施例的任意一种数据处理方法。
基于前述实施例相同的技术构思,参见图5,其示出了本发明提供的一种电子设备50,可以包括:存储器51、处理器52及存储在存储器51上并可在处理器52上运行的计算机程序;其中,
存储器51,用于存储计算机程序和数据;
处理器52,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种数据处理方法。
在实际应用中,上述存储器51可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器52提供指令和数据。
上述处理器52可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
在一些实施例中,本发明实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于服务器端,所述方法包括:
在接收文件传输协议FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与分布式文件系统DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;
控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
存储所述已注册各个数据传输服务进程的连接负载信息;
所述控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互,包括:
根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,根据选取的数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
3.根据权利要求2所述的方法,其特征在于,所述根据所述已注册各个数据传输服务进程的连接负载信息,在所述已注册的各个数据传输进程中选取数据传输进程,包括:
在所述已注册的各个数据传输进程中,选取连接负载最小的数据传输进程,或者,选取连接负载小于设定阈值的数据传输进程。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述已注册的各个数据传输进程中的至少一个数据传输进程的连接负载发生变化时,根据发生变化的数据传输进程的连接负载,更新存储的所述已注册各个数据传输服务进程的连接负载信息。
5.根据权利要求1所述的方法,其特征在于,所述确定已注册的各个数据传输进程,包括:
根据所述服务器端存储的数据传输进程的注册信息,确定出所述已注册的各个数据传输进程。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述已注册的各个数据传输进程中的至少一个数据传输进程删除时,删除所述服务器端存储的所述至少一个数据传输进程的注册信息。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在出现新增的数据传输进程时,将所述新增的数据传输进程的注册信息存储至所述服务器端。
8.一种数据处理装置,其特征在于,应用于服务器端,所述装置包括:第一处理模块和第二处理模块,其中,
第一处理模块,用于在接收文件传输协议FTP客户端发送的数据传输指令后,确定已注册的各个数据传输进程,每个数据传输进程表示实现所述FTP客户端与分布式文件系统DFS之间的数据交互的进程,所述已注册的数据传输进程的进程数大于1;
第二处理模块,用于控制所述已注册的各个数据传输进程中的至少一个数据传输进程,进行所述FTP客户端与DFS之间的数据交互。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被终端的处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010451615.1A CN113722084A (zh) | 2020-05-25 | 2020-05-25 | 数据处理方法、装置、电子设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010451615.1A CN113722084A (zh) | 2020-05-25 | 2020-05-25 | 数据处理方法、装置、电子设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722084A true CN113722084A (zh) | 2021-11-30 |
Family
ID=78671152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010451615.1A Pending CN113722084A (zh) | 2020-05-25 | 2020-05-25 | 数据处理方法、装置、电子设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722084A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
CN105357280A (zh) * | 2015-10-19 | 2016-02-24 | 福建新大陆软件工程有限公司 | 一种基于hdfs的文件溯源ftp系统 |
CN108023953A (zh) * | 2017-12-04 | 2018-05-11 | 北京小度信息科技有限公司 | Ftp服务的高可用实现方法和装置 |
-
2020
- 2020-05-25 CN CN202010451615.1A patent/CN113722084A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
CN105357280A (zh) * | 2015-10-19 | 2016-02-24 | 福建新大陆软件工程有限公司 | 一种基于hdfs的文件溯源ftp系统 |
CN108023953A (zh) * | 2017-12-04 | 2018-05-11 | 北京小度信息科技有限公司 | Ftp服务的高可用实现方法和装置 |
Non-Patent Citations (1)
Title |
---|
CHAO-TUNG YANG等: "Implementation of a Distributed Data Storage System with Resource Monitoring on Cloud Computing", ADVANCES IN GRID AND PERVASIVE COMPUTING.GPC 2012, pages 67 - 69 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719369B1 (en) | Network interfaces for containers running on a virtual machine instance in a distributed computing environment | |
US11310108B2 (en) | Secure configuration of cloud computing nodes | |
US9854048B2 (en) | Network function virtualization (NFV) hardware trust in data communication systems | |
US20170373931A1 (en) | Method for updating network service descriptor nsd and apparatus | |
CN108028833A (zh) | 一种nas数据访问的方法、系统及相关设备 | |
CN108287894B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN110716787A (zh) | 容器地址设置方法、设备和计算机可读存储介质 | |
CN110855746A (zh) | 中间件管理方法、电子装置及存储介质 | |
CN112214752A (zh) | 应用权限的动态控制方法、装置和设备及存储介质 | |
CN115639954A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN112600931B (zh) | 一种api网关部署方法及装置 | |
WO2022140945A1 (zh) | 容器集群的管理方法和装置 | |
CN111600755B (zh) | 上网行为管理系统和方法 | |
Mangal et al. | Flexible cloud computing by integrating public-private clouds using openstack | |
EP3857826B1 (en) | Flexible unnumbered destination tunnels for virtual networks | |
CN108829340B (zh) | 存储处理方法、装置、存储介质及处理器 | |
JP5993835B2 (ja) | マルチノードを用いるスマート端末ファジング装置およびその方法 | |
CN113722084A (zh) | 数据处理方法、装置、电子设备和计算机存储介质 | |
CN112217693B (zh) | 一种控制器测试方法、装置、电子设备及存储介质 | |
CN111767345B (zh) | 建模数据同步方法、装置、计算机设备及可读存储介质 | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
KR102187301B1 (ko) | 가상 라우터를 이용한 다중 가상 네트워크 통신 시스템 및 방법 | |
CN108733805B (zh) | 文件交互方法、系统、计算机设备和存储介质 | |
CN114745380B (zh) | 基于服务网格的跨私网多集群管理方法及装置 | |
US20230047320A1 (en) | Conditional role decision based on source environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |