CN116208600A - 文件传输协议请求处理方法、装置、设备及存储介质 - Google Patents
文件传输协议请求处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116208600A CN116208600A CN202310055100.3A CN202310055100A CN116208600A CN 116208600 A CN116208600 A CN 116208600A CN 202310055100 A CN202310055100 A CN 202310055100A CN 116208600 A CN116208600 A CN 116208600A
- Authority
- CN
- China
- Prior art keywords
- ftp
- service instance
- client
- request
- ftp service
- 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
-
- 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]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种文件传输协议请求处理方法、装置、设备及存储介质,其中,该方法包括:由部署装置在集群节点上部署文件传输协议FTP服务实例,由负载装置接收客户端发送的FTP请求,FTP请求中包括客户端的标识,由负载装置根据客户端的标识以及负载装置上记录的可用FTP服务实例信息,确定处理FTP请求的目标FTP服务实例,并将FTP请求转发给目标FTP服务实例,由目标FTP服务实例处理FTP请求,其中,可用FTP服务实例信息用于指示可以处理FTP请求的FTP服务实例。本申请可以避免k8s原生负载中存在的FTP使用复杂性的问题,也提高了对高效文件传输服务场景的适用性。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种文件传输协议请求处理方法、装置、设备及存储介质。
背景技术
在应用软件产品中,k8s(kubernetes)集群已经是很流行的解决方案,用于对量级提升的业务请求做均衡负载、对产生的业务数据做分布存储,从而打造高并发、高可靠的集群业务系统。
目前在k8s集群中使用FTP(File Transfer Protocol,文件传输协议)服务主要包括两种方式,第一种是采用SFTP(SSHFile Transfer Protocol,SSH文件传输协议)协议进行数据传输,第二种是指定部分端口,作为FTP被动模式下数据传输使用,针对这一部分端口做好端口映射、安全适配等处理,以确保FTP正常使用。
但是,第一种方式对于只支持FTP、需要高效文件传输服务的场景不适用;第二种方式缺陷在于限制了FTP被动模式下传输效率,且部分系统对数据端口存在安全访问限制,安全适配本身是复杂的技术,采用这种方式使用复杂。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种文件传输协议请求处理方法、装置、设备及存储介质,以解决现有技术中FTP服务在k8s集群中使用效率低下的问题。
为实现上述目的,本申请采用的技术方案如下:
第一方面,本申请提供了一种文件传输协议请求处理方法,应用于kubernetes集群,所述kubernetes集群包括:负载装置和部署装置,所述方法包括:
由所述部署装置在集群节点上部署文件传输协议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服务实例之前,还包括:
获取所述负载装置中的所有当前可用的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服务实例。
可选的,所述部署模块具体用于:
由所述部署装置将FTP服务实例部署在集群节点上,并将所述FTP服务实例和所述集群节点部署在相同的命名空间中。
第三方面,本申请提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述文件传输协议请求处理方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述文件传输协议请求处理方法的步骤。
本申请的有益效果是:通过部署装置将FTP服务实例部署在集群节点上,可以使FTP服务实例使用不受k8s网络环境影响,并且可以通过k8s集群框架管理FTP服务实例的生命周期,方便对FTP服务实例进行状态监控、扩缩容等。通过负载装置根据服务连接列表和服务实例列表进行FTP请求的负载,可以将FTP请求负载到更合适的FTP服务实例上,提高了FTP请求处理的效率,避免了k8s原生负载中存在的FTP使用复杂性的问题,也提高了对高效文件传输服务场景的适用性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种k8s集群中部署并使用FTP服务的示意图;
图2示出了本申请实施例提供的一种文件传输协议请求处理方法的流程图;
图3示出了本申请实施例提供的一种确定目标FTP服务实例的流程图;
图4示出了本申请实施例提供的一种更新服务实例列表的流程图;
图5示出了本申请实施例提供的一种文件传输协议请求处理装置的结构示意图;
图6示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
目前在k8s集群中使用FTP服务的两种方式中,第一种是采用SFTP协议进行文件传输。SFTP基于SSH协议,数据传输默认使用22端口,由于链路是加密的,效率比FTP低,但它不存开启新的数据传输端口,所以不受网络安全策略的影响,极其适合这种沙箱环境的数据传输。
但是集群本身从单机过渡而来,对很多设备而言FTP不可或缺,部分设备只支持FTP;直接使用SFTP替代FTP牺牲了FTP的传输高效性,此种方式对于只支持FTP、需要高效文件传输服务的场景不适用。
第二种方式是指定部分端口作为数据传输端口,针对数据传输端口做POD到节点的映射。
但是这种方式限制了FTP被动模式下传输效率,且部分系统对数据端口存在安全访问限制,安全适配本身是复杂的技术,采用这种方式使用复杂。
因此,如何在k8s集群中使用FTP服务就成为了亟待解决的问题。
针对上述问题,本申请提出一种文件传输协议请求的处理方法,可以应用于k8s集群中,如图1所示,是本申请给出的一种在k8s集群中部署并使用FTP服务的示意图,参照图1,k8s集群中包括:负载装置和部署装置。
其中,部署装置可以用于部署FTP服务实例,并通过k8s管理FTP实例的生命周期,即服务实例的创建、销毁、扩缩容、状态监控、异常处理等;负载装置可以将客户端发送的FTP请求路由到对应的FTP服务实例上,使得FTP服务实例能够及时处理并响应客户端的FTP请求。
接下来结合图2,对本申请的文件传输协议请求处理方法作进一步说明,该方法可以应用于图1所示的k8s集群中,如图2所示,该方法包括:
S201:由部署装置在集群节点上部署文件传输协议FTP服务实例。
可选的,每个FTP服务实例可以部署在一个集群节点上,每个集群节点中可以包括多个POD。
值得注意的是,每个服务实例可以在其所部署的集群节点上暴露一个真实的服务端口,此端口真实存在,可以通过集群节点的IP(Internet Protocol Address,互联网协议地址)直接访问此端口。由部署装置部署的FTP服务实例不存在k8s集群本身的网络复杂性问题,也不通过k8s集群服务负载机制对外提供服务;但FTP服务实例本身通过k8s管理,以POD方式呈现,通过k8s集群可以管理服务实例的生命周期,维护服务健壮性。
S202:由负载装置接收客户端发送的FTP请求,FTP请求中包括客户端的标识。
可选的,参照图1,负载装置可以接收多个客户端发送的FTP请求,并将FTP请求转发给对应的FTP服务实例。
可选的,客户端的标识例如可以是客户端的IP地址。负载装置接收到客户端发送的FTP请求后,可以解析FTP请求得到客户端的IP地址。
S203:由负载装置根据客户端的标识以及负载装置上记录的可用FTP服务实例信息,确定处理FTP请求的目标FTP服务实例,并将FTP请求转发给目标FTP服务实例,由目标FTP服务实例处理FTP请求。
可选的,部署装置对FTP服务进行部署后,k8s集群中可以存在多个FTP服务实例,可用FTP服务实例信息可以是k8s集群的所有FTP服务实例中当前可用的FTP服务实例。
可选的,FTP服务实例信息可以指示FTP服务实例的编号、FTP服务实例所在的集群节点的服务端口、FTP服务实例的负载优先级以及与该FTP服务实例连接过的客户端等。
作为一种可能的实施方式,目标FTP服务实例可以是可用FTP服务实例中与客户端连接过的FTP服务实例。
作为另一种可能的实施方式,目标FTP服务实例可以是可用FTP服务实例中负载优先级最高的FTP服务实例。示例性的,可以将当前可用的FTP服务实例中负载最低的FTP服务实例作为目标FTP服务实例。
可选的,负载装置可以对外提供统一的管理IP,并通过该管理IP对外提供集群FTP服务。
示例性的,假设负载装置对外的IP为MIP,其默认的端口为21端口时,负载设备对外的端口就可以表示为MIP:21,假设目标FTP服务实例所在的POD节点为node01,客户端通过MIP:21使用FTP服务,负载装置对客户端发送的FTP请求进行负载,将该FTP请求发送给目标FTP服务实例对应的端口node01IP:21。本质上客户端是经过负载装置路由到集群节点node01,客户端与node01集群节点而非容器进行交互,此过程不经过NAT和k8s负载,数据端口未发生变化可正常建立数据连接进行数据交互。
在本申请实施例中,通过部署装置将FTP服务实例部署在集群节点上,可以使FTP服务实例使用不受k8s网络环境影响,并且可以通过k8s集群框架管理FTP服务实例的生命周期,方便对FTP服务实例进行状态监控、扩缩容等。通过负载装置根据服务连接列表和服务实例列表进行FTP请求的负载,可以将FTP请求负载到更合适的FTP服务实例上,提高了FTP请求处理的效率,并且避免了k8s原生负载中存在的FTP使用复杂性的问题,也提高了对高效文件传输服务场景的适用性。
接下来对上述负载装置根据客户端的标识以及负载装置上记录的可用FTP服务实例信息,确定处理FTP请求的目标FTP服务实例的步骤进行说明,上述S203步骤包括:
由负载装置根据客户端的标识,从负载装置的服务连接列表和/或服务实例列表中确定目标FTP服务实例。
其中,服务连接列表用于记录客户端与FTP服务实例的映射关系,服务实例列表用于记录当前可用的FTP服务实例的标识。
可选的,在客户端和FTP服务实例进行交互的过程中,负载装置可以将客户端与FTP服务实例的映射关系记录在服务连接列表中。示例性的,可以将这种映射关系以键值对的形式记录下来,其中键值对的键为客户端IP,键值对的值可以是FTP服务实例的编号。
可选的,负载装置可以为每个FTP服务实例设置编号以及各FTP服务实例的优先级。其中FTP服务实例的优先级可以根据各FTP服务实例的可用性、服务实例负载数等参数动态确定。
可选的,客户端的标识可以是客户端的IP地址。
可选的,目标FTP服务实例可以是对客户端的FTP请求进行处理和响应的FTP服务实例。
作为一种可能的实施方式,负载装置可以根据服务连接列表确定与客户端建立过连接的FTP服务实例,并将该FTP服务实例作为FTP请求对应的FTP服务实例。
作为另一种可能的实施方式,负载装置也可以首先根据服务连接列表确定该FTP请求对应的客户端是否有已建立过连接的FTP服务实例,若没有,则可以根据服务实例列表确定FTP请求对应的FTP服务实例。
接下来对上述负载装置根据客户端的标识,从负载装置的服务连接列表和服务实例列表中确定目标FTP服务实例的步骤进行说明,如图3所示,该步骤包括:
S301:由负载装置在服务连接列表中查找客户端的标识。
可选的,服务连接列表中可以记录客户端标识与其对应的FTP服务实例的映射关系,其中对应的FTP服务实例可以是与客户端建立过连接的FTP服务实例。示例性的,同一FTP请求的命令连接、数据连接可以由同一FTP服务实例处理。
S302:若服务连接列表中存在客户端的标识,则将与客户端的标识具有映射关系的FTP服务实例作为目标FTP服务实例。
可选的,若负载装置在服务连接列表中查找到了客户端的标识,说明该客户端与FTP服务实例建立过连接关系,那么负载装置就可以将与该客户端具有映射关系的FTP服务实例作为目标FTP服务实例,并将FTP请求负载到该目标FTP服务实例上进行处理。
S303:若服务连接列表中不存在客户端的标识,则根据服务实例列表确定目标FTP服务实例。
可选的,若服务连接列表中没有客户端的标识,说明该客户端之前并未与FTP服务实例建立连接关系,或者与其建立过连接关系的FTP服务实例当前不可用,那么负载装置就可以根据服务实例列表确定目标FTP服务实例。
在本申请实施例中,通过服务连接列表可确保同一客户端的FTP请求命令连接、数据连接在同一节点上建立,即同一FTP请求的命令连接、数据连接由同一FTP服务实例处理;通过首先查找服务连接列表,在没有查找到映射关系的时候在根据服务实例列表确定目标FTP服务实例,可以确保FTP请求优先负载到与现有对应服务连接所示的FTP服务实例处理,其次负载到服务实例列表中优先级最高的实例,提高了FTP请求处理的效率和可靠性。
接下来对上述由负载装置在服务连接列表中查找客户端的标识之前的步骤进行说明,上述S301步骤之前还包括:
由负载装置记录每次FTP通信中客户端和FTP服务实例的服务连接信息,并根据服务连接信息在服务连接列表中更新客户端与FTP服务实例的映射关系。
可选的,负载装置可以记录每次FTP通信中客户端和FTP服务实例的服务连接信息,其中服务连接信息可以包括客户端的IP和FTP服务实例的编号。
作为一种可能的实施方式,负载装置可以在每次记录服务连接信息时对服务连接列表进行更新,包括向服务连接列表中增加新的服务连接信息,以及从服务连接列表中删除无效的服务连接信息。
作为另一种可能的实施方式,负载装置可以按照预设的周期对服务连接列表进行更新,包括按照预设的周期向服务连接列表中增加新的服务连接信息,以及从服务连接列表中删除无效的服务连接信息。
其中,当FTP服务实例不可用时,就可以确定该FTP服务实例相关的服务连接信息不可用。
接下来对上述根据服务实例列表确定目标FTP服务实例的步骤进行说明,上述S303步骤包括:
确定服务实例列表中优先级最高的FTP服务实例,并将优先级最高的FTP服务实例作为目标FTP服务实例。
可选的,FTP服务实例的优先级可以由负载装置根据FTP服务实例可用性、服务实例负载数等参数动态确定。FTP服务实例的可用性越高、负载数越低,可以认为该FTP服务实例就具有更高的优先级。
本申请实施例中,负载装置定时检测各FTP服务实例,通过FTP服务实例可用性、服务实例负载数等参数动态维护服务实例列表中各服务实例优先级,可以实现低负载的服务实例优先承接新的FTP请求,从而提高对FTP请求的处理效率。
接下来对上述确定负载装置的服务实例列表中优先级最高的FTP服务实例之前的步骤进行说明,如图4所示,该步骤还包括:
S401:获取负载装置中的所有当前可用的FTP服务实例信息。
可选的,FTP服务实例信息可以包括FTP服务实例编号、FTP服务端口以及FTP服务实例名称等。
示例性的,FTP服务实例信息可以如下所示。
kubectl-n bdwan get endpoints ftp–owide
NAME ENDPOINTS
FTP 11.0.124.2:21,11.0.124.70:21,11.0.124.91:21
S402:对各FTP服务实例信息编号,得到各FTP服务实例信息的FTP服务实例编号,并根据各FTP服务实例信息和FTP服务实例编号更新服务实例列表。
可选的,负载装置可以对当前所有可用的FTP服务实例信息进行编号,从而根据各FTP服务实例信息和FTP服务实例编号更新服务实例列表。
以下是对上述由部署装置将在集群节点上部署文件传输协议FTP服务实例的步骤说明,上述S201步骤包括:
由部署装置将FTP服务实例部署在集群节点上,并将FTP服务实例和集群节点部署在相同的命名空间中。
可选的,将FTP服务实例部署在集群节点上,并将FTP服务实例和集群节点部署在相同的命名空间中,可以实现通过节点网络使用FTP服务。
示例性的,以下是本申请实施例给出的一种在电子设备上进行部署的具体执行步骤:
第一步:设置deployment.spec.template.spec.hostNetwork属性值为true;
第二步:设置deployment.spec.template.spec.dnsPolicy属性值为ClusterFirstWithHostNet;
在第一步中,hostNetwork属性值为true时,将FTP服务实例POD部署在与POD所在节点相同的命名空间,即此时FTP服务实例与所在节点共享网络资源,此时可以直接通过节点网络使用FTP服务,而无需通过k8s集群网络;
在第二步中,相应的,此时可以设置POD网络DNS策略deployment.spec.template.spec.dnsPolicy为ClusterFirstWithHostNet,使用主机网络。
在本申请实施例中,将FTP服务部署在容器内,但容器使用所在节点的网络,使用本申请的负载装置进行FTP流量负载;脱离了k8s本身负载、容器网络的复杂性,也解决了传统部署方式下FTP不可用的问题。
基于同一发明构思,本申请实施例中还提供了与文件传输协议请求处理方法对应的文件传输协议请求处理装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述文件传输协议请求处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图5所示,为本申请实施例提供的一种文件传输协议请求处理装置的示意图,所述装置包括:部署模块501、接收模块502、确定模块503。
部署模块501,用于在集群节点上部署文件传输协议FTP服务实例;
接收模块502,用于接收客户端发送的FTP请求,FTP请求中包括客户端的标识;
确定模块503,还用于根据客户端的标识以及负载装置上记录的可用FTP服务实例信息,确定处理FTP请求的目标FTP服务实例,并将FTP请求转发给目标FTP服务实例,由目标FTP服务实例处理FTP请求。
可选的,确定模块503具体用于:
根据客户端的标识,从负载装置的服务连接列表和/或服务实例列表中确定目标FTP服务实例;
其中,服务连接列表用于记录客户端与FTP服务实例的映射关系,服务实例列表用于记录当前可用的FTP服务实例的标识。
可选的,确定模块503具体用于:
在服务连接列表中查找客户端的标识;
若服务连接列表中存在客户端的标识,则将与客户端的标识具有映射关系的FTP服务实例作为目标FTP服务实例;
若服务连接列表中不存在客户端的标识,则根据服务实例列表确定目标FTP服务实例。
可选的,确定模块503还具体用于:
确定服务实例列表中优先级最高的FTP服务实例,并将优先级最高的FTP服务实例作为目标FTP服务实例。
可选的,部署模块501具体用于:
由部署装置将FTP服务实例部署在集群节点上,并将FTP服务实例和集群节点部署在相同的命名空间中。
可选的,本申请的文件传输协议请求处理装置还包括更新模块,用于:
由负载装置记录每次FTP通信中客户端和FTP服务实例的服务连接信息,并根据服务连接信息在服务连接列表中更新客户端与FTP服务实例的映射关系。
可选的,更新模块还具体用于:
获取负载装置中的所有当前可用的FTP服务实例信息;
对各FTP服务实例信息编号,得到各FTP服务实例信息的FTP服务实例编号,并根据各FTP服务实例信息和FTP服务实例编号更新服务实例列表。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本申请实施例通过部署装置将FTP服务实例部署在集群节点上,可以使FTP服务实例使用不受k8s网络环境影响,并且可以通过k8s集群框架管理FTP服务实例的生命周期,方便对FTP服务实例进行状态监控、扩缩容等。通过负载装置根据服务连接列表和服务实例列表进行FTP请求的负载,可以将FTP请求负载到更合适的FTP服务实例上,提高了FTP请求处理的效率,并且避免了k8s原生负载中存在的FTP使用复杂性的问题,也提高了对高效文件传输服务场景的适用性。
本申请实施例还提供了一种电子设备,如图6所示,为本申请实施例提供的电子设备结构示意图,包括:处理器601、存储器602和总线。所述存储器602存储有所述处理器601可执行的机器可读指令(比如,图5中的装置中部署模块501、接收模块502、确定模块503对应的执行指令等),当计算机设备运行时,所述处理器601与所述存储器602之间通过总线通信,所述机器可读指令被所述处理器601执行时执行上述文件传输协议请求处理方法的处理。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述文件传输协议请求处理方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种文件传输协议请求处理方法,其特征在于,应用于kubernetes集群,所述kubernetes集群包括:负载装置和部署装置,所述方法包括:
由所述部署装置在集群节点上部署文件传输协议FTP服务实例;
由所述负载装置接收客户端发送的FTP请求,所述FTP请求中包括所述客户端的标识;
由所述负载装置根据所述客户端的标识以及所述负载装置上记录的可用FTP服务实例信息,确定处理所述FTP请求的目标FTP服务实例,并将所述FTP请求转发给所述目标FTP服务实例,由所述目标FTP服务实例处理所述FTP请求。
2.根据权利要求1所述的方法,其特征在于,所述由所述负载装置根据所述客户端的标识以及所述负载装置上记录的可用FTP服务实例信息,确定处理所述FTP请求的目标FTP服务实例,包括:
由所述负载装置根据所述客户端的标识,从所述负载装置的服务连接列表和/或服务实例列表中确定所述目标FTP服务实例;
其中,所述服务连接列表用于记录客户端与FTP服务实例的映射关系,所述服务实例列表用于记录当前可用的FTP服务实例的标识。
3.根据权利要求2所述的方法,其特征在于,所述由所述负载装置根据所述客户端的标识,从所述负载装置的服务连接列表和/或服务实例列表中确定所述目标FTP服务实例,包括:
由所述负载装置在所述服务连接列表中查找所述客户端的标识;
若所述服务连接列表中存在所述客户端的标识,则将与所述客户端的标识具有映射关系的FTP服务实例作为所述目标FTP服务实例;
若所述服务连接列表中不存在所述客户端的标识,则根据所述服务实例列表确定所述目标FTP服务实例。
4.根据权利要求3所述的方法,其特征在于,所述由所述负载装置在所述服务连接列表中查找所述客户端的标识之前,还包括:
由所述负载装置记录每次FTP通信中客户端和所述FTP服务实例的服务连接信息,并根据所述服务连接信息在所述服务连接列表中更新客户端与FTP服务实例的映射关系。
5.根据权利要求3所述的方法,其特征在于,所述根据所述服务实例列表确定所述目标FTP服务实例,包括:
确定所述服务实例列表中优先级最高的FTP服务实例,并将所述优先级最高的FTP服务实例作为所述目标FTP服务实例。
6.根据权利要求5所述的方法,其特征在于,所述确定所述负载装置的服务实例列表中优先级最高的FTP服务实例之前,还包括:
获取所述负载装置中的所有当前可用的FTP服务实例信息;
对各所述FTP服务实例信息编号,得到各所述FTP服务实例信息的FTP服务实例编号,并根据各所述FTP服务实例信息和所述FTP服务实例编号更新所述服务实例列表。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述由所述部署装置将在集群节点上部署文件传输协议FTP服务实例,包括:
由所述部署装置将FTP服务实例部署在集群节点上,并将所述FTP服务实例和所述集群节点部署在相同的命名空间中。
8.一种文件传输协议请求处理装置,其特征在于,包括:
部署模块,用于在集群节点上部署文件传输协议FTP服务实例;
接收模块,用于接收客户端发送的FTP请求,所述FTP请求中包括所述客户端的标识;
确定模块,还用于根据所述客户端的标识以及负载装置上记录的可用FTP服务实例信息,确定处理所述FTP请求的目标FTP服务实例,并将所述FTP请求转发给所述目标FTP服务实例,由所述目标FTP服务实例处理所述FTP请求。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至7任一项所述的文件传输协议请求处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的文件传输协议请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310055100.3A CN116208600A (zh) | 2023-02-03 | 2023-02-03 | 文件传输协议请求处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310055100.3A CN116208600A (zh) | 2023-02-03 | 2023-02-03 | 文件传输协议请求处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116208600A true CN116208600A (zh) | 2023-06-02 |
Family
ID=86515447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310055100.3A Pending CN116208600A (zh) | 2023-02-03 | 2023-02-03 | 文件传输协议请求处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116208600A (zh) |
-
2023
- 2023-02-03 CN CN202310055100.3A patent/CN116208600A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10091274B2 (en) | Method, device, and system for controlling network device auto-provisioning | |
WO2018028606A1 (zh) | 转发策略配置 | |
EP3353952B1 (en) | Managing groups of servers | |
US7512139B2 (en) | Methods and systems for enabling remote booting of remote boot clients in a switched network defining a plurality of virtual local area networks (VLANS) | |
WO2019237588A1 (zh) | Linux虚拟服务器的创建方法、装置、计算机设备及存储介质 | |
US20030177218A1 (en) | Distributed computer system enhancing a protocol service to a highly available service | |
CN102355369B (zh) | 虚拟化集群系统及其处理方法和设备 | |
WO2021088254A1 (zh) | 一种用户态网络文件系统双栈访问方法、装置及设备 | |
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
CN113596159B (zh) | 基于k8s云容器平台的集群通信方法及装置 | |
EP2922246A1 (en) | Method, device and data center network for cross-service zone communication | |
CN111327668B (zh) | 网络管理方法、装置、设备和存储介质 | |
CN112333017B (zh) | 一种服务配置方法、装置、设备及存储介质 | |
WO2017114363A1 (zh) | 报文处理方法、bng及bng集群系统 | |
CN113568711B (zh) | 一种K8S中使用的基于eBPF架构的负载均衡方法及装置 | |
CN110855488B (zh) | 一种虚拟机接入方法及装置 | |
CN101827138A (zh) | 一种优化的ipv6过滤规则处理方法和设备 | |
CN113839862B (zh) | Mclag邻居之间同步arp信息的方法、系统、终端及存储介质 | |
CN113364741A (zh) | 一种应用访问方法及代理服务器 | |
US20200351158A1 (en) | Systems and methods for network discovery for zero configuration based-clustered systems | |
EP2629492A1 (en) | Method, switch, and system for processing a message | |
CN109561004B (zh) | 报文转发方法、装置及交换机 | |
RU2693903C1 (ru) | Способ, устройство и система обработки для расширенного порта | |
CN114172853B (zh) | 流量转发及裸机服务器的配置方法、装置 | |
CN116208600A (zh) | 文件传输协议请求处理方法、装置、设备及存储介质 |
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 |