CN115250269B - 一种文件分配方法及装置、存储介质及电子设备 - Google Patents
一种文件分配方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115250269B CN115250269B CN202210885966.2A CN202210885966A CN115250269B CN 115250269 B CN115250269 B CN 115250269B CN 202210885966 A CN202210885966 A CN 202210885966A CN 115250269 B CN115250269 B CN 115250269B
- Authority
- CN
- China
- Prior art keywords
- ftp client
- file information
- state
- file
- information record
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000008569 process Effects 0.000 claims description 30
- 238000013508 migration Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000004622 sleep time Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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客户端重复下载而产生的问题。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种文件分配方法及装置、存储介质及电子设备。
背景技术
目前,为了提高系统设备间的文件传输效率,系统设备间通常采用文件传输协议(File Transfer Protocol,FTP)进行文件传输。具体是在FTP客户端连接到FTP服务器后,从FTP服务器中获取远程目录的文件列表,并从服务器下载列表中所有文件。
现有技术中,为了提高文件下载效率,通常设置有多个FTP客户端同时从FTP服务器中下载文件,但是在多FTP客户端的情况下,容易出现多个客户端同时下载一个远程文件的情况,会导致文件被多个节点重复处理,从而产生文件被覆盖、或I/O出错等问题。
发明内容
本发明所要解决的技术问题是提供一种文件分配方法,能够避免同一文件同时被多个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客户端的系统时间;根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态;所述节点状态为运行状态和停止状态中的一种;在预设的文件记录表中确定出各个目标文件信息记录;每个所述目标文件信息记录为第一文件信息记录和第二文件信息记录中的一种;所述第一文件信息记录为当前未分配的文件信息记录;所述第二文件信息记录为预先分配到宕机FTP客户端,且未完成文件下载的文件信息记录,所述宕机FTP客户端指的是节点状态为停止状态的FTP客户端;将所述文件记录表中的各个目标文件信息记录,分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端,以使得每个所述目标FTP客户端根据分配到的目标文件信息记录到FTP服务器中下载该目标文件信息对应的文件。应用本发明实施例提供的方法,能够避免同一文件同时被多个FTP客户端重复下载而产生的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种文件分配方法的方法流程图;
图2为本发明提供的一种确定每个FTP客户端的节点状态的过程的流程图;
图3为本发明提供的一种确定出各个目标文件信息记录的过程的流程图;
图4为本发明提供的一种文件分配装置的结构示意图;
图5为本发明提供的一种电子设备的结构示意图;
图6为本发明提供的一种实施场景示例图;
图7为本发明提供的一种文件分配系统的结构示例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
现有技术中,为了提高文件下载效率,通常设置有多个FTP客户端同时从FTP服务器中下载文件,但是在多FTP客户端的情况下,容易出现多个客户端同时下载一个远程文件的情况,会导致文件被多个节点重复处理,从而产生文件被覆盖、或I/O出错等问题。
在一些可行的方式中,避免同一文件同时被多个FTP客户端重复下载而产生的问题,可以将FTP服务器中的各文件的下载任务分配到多个FTP客户端,然而,当部分FTP客户端故障时,已分配到FTP客户端的文件将无法被其他FTP客户端下载,从而无法完成文件下载任务。
基于此,本发明实施例提供了一种文件分配方法,应用于FTP客户端集群中的任意一个FTP客户端,所述方法的方法流程图如图1所示,具体包括:
S101:响应于分配指令,确定预设的节点配置表中当前记录的所述FTP客户端集群中的各个FTP客户端的系统时间。
在本实施例中,节点配置表记录FTP客户端host名称、客户端节点运行状态、最近一次修改时间、下载远程文件到本地客户端的接收目录、FTP服务器IP地址、FTP服务器用户名、FTP服务器密码、FTP服务器下载目录、FTP服务器备份目录等信息,其中,最近一次修改时间可以是系统时间。
可选的,FTP客户端可以根据FTP服务器参数与FTP服务器建立通信连接。
S102:根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态;所述节点状态为运行状态和停止状态中的一种。
在本实施例中,节点配置表中记录的系统时间可以是FTP客户端在其下载线程处于执行状态下根据其系统当前时间更新的。
具体的,可以通过判断节点配置表中记录的各FTP客户端的系统时间是否大于预设的时间阈值,根据判断结果确定FTP客户端的节点状态。
S103:在预设的文件记录表中确定出各个目标文件信息记录;每个所述目标文件信息记录为第一文件信息记录和第二文件信息记录中的一种;所述第一文件信息记录为当前未分配的文件信息记录;所述第二文件信息记录为预先分配到宕机FTP客户端,且未完成文件下载的文件信息记录,所述宕机FTP客户端指的是节点状态为停止状态的FTP客户端。
在本实施例中,文件记录表可以根据FTP服务器的下载目录中各文件的文件信息生成,文件记录表可以记录FTP服务器的下载目录中各文件的文件信息记录和文件状态,文件信息记录可以包括文件名。
S104:将所述文件记录表中的各个目标文件信息记录,分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端,以使得每个所述目标FTP客户端根据分配到的目标文件信息记录到FTP服务器中下载该目标文件信息对应的文件。
在本实施例中,可以将文件记录表中的各个目标文件信息记录依次分配到各个FTP客户端,具体可以将各个处于运行状态的目标FTP客户端的节点信息并保存到运行节点数组RunNodes中,然后根据运行节点数组RunNodes中各目标FTP客户端的节点信息将各目标文件信息记录依次分配给各目标FTP客户端。
应用本发明实施例提供的方法,能够避免同一文件同时被多个FTP客户端重复下载而产生的问题。
在本发明提供的一实施例中,基于上述的实施过程,具体的,所述根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态,如图2所示,包括:
S201:确定所述节点配置表中当前记录的每个所述FTP客户端的系统时间是否大于预设的时间阈值。
在本实施例中,时间阈值可以根据系统休眠时间设定,具体的,时间阈值可以设置为预设倍数的系统休眠时间,该倍数可以根据FTP客户端集群中的FTP客户端的数量确定,数量越多,则倍数越大,例如,时间阈值可以设置为3倍的系统休眠时间。
S202:对于每个所述FTP客户端,在所述节点配置表中当前记录的所述FTP客户端的系统时间大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为运行状态;在所述节点配置表中当前记录的所述FTP客户端的系统时间未大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为停止状态。
应用本发明实施例提供的方法,能够快速的确定出各FTP客户端的节点状态。
在本发明提供的一实施例中,基于上述的实施过程,具体的,所述根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态之前,还包括:
在检测到本FTP客户端的文件下载进程处于执行状态的情况下,在所述节点配置表中更新所述本FTP客户端的系统时间。
在本实施例中,可以利用本FTP客户端的当前系统时间,更新节点配置表中记录的本FTP客户端的系统时间。
本实施例中的本FTP客户端可以是执行所述文件分配方法的FTP客户端。
在本发明提供的一实施例中,基于上述的实施过程,具体的,所述将所述文件记录表中的各个目标文件信息记录,分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端之后,还包括:
若本FTP客户端为目标客户端,则在对分配到本FTP客户端的每个所述目标文件信息记录对应的文件下载完成后,向所述FTP服务端发送迁移指令,以使得所述FTP服务端将该目标文件信息记录对应的文件迁移到预设的备份目录,并在所述文件记录表中更新该目标文件信息记录的状态,该目标文件信息记录更新后的状态表征该目标文件信息记录对应的文件已完成下载。
在本发明提供的一实施例中,基于上述的实施过程,具体的,所述在预设的文件记录表中确定出各个目标文件信息记录,如图3所示,包括:
S301:检测所述文件记录表中的每一文件信息记录的状态。
S302:对于每一所述文件信息记录,在所述文件信息记录的状态为未分配状态的情况下,将所述文件信息记录确定为目标文件信息记录;在所述文件信息记录为正在下载状态的情况下,确定所述文件信息记录所属的FTP客户端的节点状态是否停止状态;若所述文件信息记录所属的FTP客户端的节点状态为停止状态,则将所述FTP客户端确定为目标文件信息记录。
与图1所述的方法相对应,本发明实施例还提供了一种文件分配装置,用于对图1中方法的具体实现,本发明实施例提供的文件分配装置可以应用于电子设备中,其结构示意图如图4所示,具体包括:
第一确定单元401,用于响应文件分配指令,确定预设的节点配置表中当前记录的所述FTP客户端集群中的各个FTP客户端的系统时间;
第二确定单元402,用于根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态;所述节点状态为运行状态和停止状态中的一种;
第三确定单元403,用于在预设的文件记录表中确定出各个目标文件信息记录;每个所述目标文件信息记录为第一文件信息记录和第二文件信息记录中的一种;所述第一文件信息记录为当前未分配的文件信息记录;所述第二文件信息记录为预先分配到宕机FTP客户端,且未完成文件下载的文件信息记录,所述宕机FTP客户端指的是节点状态为停止状态的FTP客户端;
分配单元404,用于将所述文件记录表中的各个目标文件信息记录,分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端,以使得每个所述目标FTP客户端根据分配到的目标文件信息记录到FTP服务器中下载该目标文件信息对应的文件。
在本发明提供的一实施例中,基于上述的方案,具体的,所述第二确定单元402,包括:
第一确定子单元,用于确定所述节点配置表中当前记录的每个所述FTP客户端的系统时间是否大于预设的时间阈值;
第二确定子单元,用于对于每个所述FTP客户端,在所述节点配置表中当前记录的所述FTP客户端的系统时间大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为运行状态;在所述节点配置表中当前记录的所述FTP客户端的系统时间未大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为停止状态。
在本发明提供的一实施例中,基于上述的方案,具体的,还包括:
更新单元,用于在检测到本FTP客户端的文件下载进程处于执行状态的情况下,在所述节点配置表中更新所述本FTP客户端的系统时间。
在本发明提供的一实施例中,基于上述的方案,具体的,所述所述文件分配装置,还包括:
发送单元,用于若本FTP客户端为目标客户端,则在对分配到本FTP客户端的每个所述目标文件信息记录对应的文件下载完成后,向所述FTP服务端发送迁移指令,以使得所述FTP服务端将该目标文件信息记录对应的文件迁移到预设的备份目录,并在所述文件记录表中更新该目标文件信息记录的状态,该目标文件信息记录更新后的状态表征该目标文件信息记录对应的文件已完成下载。
在本发明提供的一实施例中,基于上述的方案,具体的,所述第三确定单元,包括:
检测子单元,用于检测所述文件记录表中的每一文件信息记录的状态;
第三确定子单元,用于对于每一所述文件信息记录,在所述文件信息记录的状态为未分配状态的情况下,将所述文件信息记录确定为目标文件信息记录;在所述文件信息记录为正在下载状态的情况下,确定所述文件信息记录所属的FTP客户端的节点状态是否停止状态;若所述文件信息记录所属的FTP客户端的节点状态为停止状态,则将所述FTP客户端确定为目标文件信息记录。
上述本发明实施例公开的文件分配装置中的各个单元和模块具体的原理和执行过程,与上述本发明实施例公开的文件分配方法相同,可参见上述本发明实施例提供的文件分配方法中相应的部分,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述文件分配方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
响应于分配指令,确定预设的节点配置表中当前记录的所述FTP客户端集群中的各个FTP客户端的系统时间;
根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态;所述节点状态为运行状态和停止状态中的一种;
在预设的文件记录表中确定出各个目标文件信息记录;每个所述目标文件信息记录为第一文件信息记录和第二文件信息记录中的一种;所述第一文件信息记录为当前未分配的文件信息记录;所述第二文件信息记录为预先分配到宕机FTP客户端,且未完成文件下载的文件信息记录,所述宕机FTP客户端指的是节点状态为停止状态的FTP客户端;
将所述文件记录表中的各个目标文件信息记录,分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端,以使得每个所述目标FTP客户端根据分配到的目标文件信息记录到FTP服务器中下载该目标文件信息对应的文件。
参见图6,为本发明实施例提供的一种实施场景示例图,示出了包括多个FTP客户端和FTP服务器的实施场景,其中,多个FTP客户端可以从FTP服务器中下载文件。
具体的,每个FTP服务器部署有文件分配系统,具体如图7所示,包括文件列表保存模块、节点控制模块、下载任务分配模块以及文件下载模块。四个模块均为常驻进程。文件列表保存模块轮询FTP服务器远程目录下所有文件,根据文件名查询是否在文件记录表存在,如不存在,则为新增文件,插入到文件名记录表。节点控制模块查询节点信息配置表,根据表中“最近一次修改时间”判断对应节点是否已经宕机,并将该节点状态更新为“停止”(初始状态为“运行”)。下载任务分配模块将文件记录表中所有记录分配给“运行”状态的节点。文件下载模块负责从FTP服务器下载分配给本节点的文件。
在本实施例中,可以建立FTP客户端节点信息配置表FTPCLIENTHOSTINFO。将所有FTP集群客户端节点插入表,具体如表1所示:
表1
本实施例中的文件记录表FILERECORD,如表2所示:
表2
本实施例中的文件列表保存模块(常驻进程),用于查询节点配置表FTPCLIENTHOSTINFO表获取远程FTP服务器参数,包括IP地址、用户名、密码、远程目录等。FTP客户端通过以上参数连接FTP服务器后,通过LIST指令获取远程目录文件列表,一一查询列表中的文件在文件记录表FILERECORD是否存在,如不存在,则将文件信息插入到数据库文件记录表中,文件状态为“U-未分配”。本模块为常驻进程,处理完文件列表后,连接FTP服务器后重新开始。
节点控制模块(常驻进程),用于启动时获取模块运行节点的主机名(主机名是系统的环境变量,可通过gethostname或其他方法获取)。启动后,查询节点信息配置表FTPCLIENTHOSTINFO,对表中的记录循环处理:如果表中的client_hostname不等于主机名,则该记录不是本节点,对于非本节点,如果系统时间-“client_latest_mod_time”的时间差大于3倍的休眠时间SleepTime,则判定此节点已宕机,该节点状态client_state更新为“停止”;如果“client_latest_mod_time”小于或等于3倍的休眠时间SleepTime,则保持“运行”状态。如果表中的client_hostname等于主机名,则为本节点,对于本节点:查询S3-文件下载模块进程是否还在执行中,如果是则更新“client_latest_mod_time”为系统时间。循环处理结束休眠SleepTime,再重新查询配置表。
在本实施例中,上述的“3倍”的休眠时间,是模块启动参数,可根据节点数调节,如果节点数多,可扩大倍数,因为轮循完一次节点配置表的时间更长。
下载任务分配模块(常驻进程),用于查询节点信息配置表FTPCLIENTHOSTINFO表中所有状态为“R-运行”的节点信息并保存到运行节点数组RunNodes中。查询文件记录表FILERECORD中状态为“U-未分配”以及“I-下载中”(S3模块下载文件过程中节点宕机)的所有记录,并依序分配给“运行”节点(client_hostname=RunNodes[i]),状态更新为“W-待下载”。常驻进程,处理结束后重新查询FTPCLIENTHOSTINFO表。
文件下载模块(常驻进程),用于启动时获取模块运行节点的主机名(主机名是系统的环境变量,可通过gethostname或其他方法获取)。查询FILERECORD文件记录表client_hostname字段等于主机名的“W-待下载”所有记录,这些记录为分配给本节点下载的文件。循环处理:更新文件记录表状态为“I-下载中”,连接远程FTP服务器,根据文件名从远程目录下载文件,下载文件后,远程文件移入备份目录,文件状态更新为“F-下载完成”。常驻进程,下载结束后,重新查询文件记录表中分配给本节点的文件进行处理。
需要说明的是,本发明提供的一种文件分配方法及装置可用于人工智能领域、区块链领域、分布式领域、云计算领域、大数据领域、物联网领域、移动互联领域、网络安全领域、芯片领域、虚拟现实领域、增强现实领域、全息技术领域、量子计算领域、量子通信领域、量子测量领域、数字孪生领域或金融领域。上述仅为示例,并不对本发明提供的一种文件分配方法及装置的应用领域进行限定。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种文件分配方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种文件分配方法,其特征在于,应用于FTP客户端集群中的任意一个FTP客户端,所述方法包括:
响应于分配指令,确定预设的节点配置表中当前记录的所述FTP客户端集群中的各个FTP客户端的系统时间;
根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态;所述节点状态为运行状态和停止状态中的一种;
在预设的文件记录表中确定出各个目标文件信息记录;每个所述目标文件信息记录为第一文件信息记录和第二文件信息记录中的一种;所述第一文件信息记录为当前未分配的文件信息记录;所述第二文件信息记录为预先分配到宕机FTP客户端,且未完成文件下载的文件信息记录,所述宕机FTP客户端指的是节点状态为停止状态的FTP客户端;
将所述文件记录表中的各个目标文件信息记录,依次分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端,以使得每个所述目标FTP客户端根据分配到的目标文件信息记录到FTP服务器中下载该目标文件信息对应的文件;
所述根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态,包括:
确定所述节点配置表中当前记录的每个所述FTP客户端的系统时间是否大于预设的时间阈值;
对于每个所述FTP客户端,在所述节点配置表中当前记录的所述FTP客户端的系统时间大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为运行状态;在所述节点配置表中当前记录的所述FTP客户端的系统时间未大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为停止状态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态之前,还包括:
在检测到本FTP客户端的文件下载进程处于执行状态的情况下,在所述节点配置表中更新所述本FTP客户端的系统时间。
3.根据权利要求1所述的方法,其特征在于,所述将所述文件记录表中的各个目标文件信息记录,分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端之后,还包括:
若本FTP客户端为目标客户端,则在对分配到本FTP客户端的每个所述目标文件信息记录对应的文件下载完成后,向所述FTP服务器发送迁移指令,以使得所述FTP服务器将该目标文件信息记录对应的文件迁移到预设的备份目录,并在所述文件记录表中更新该目标文件信息记录的状态,该目标文件信息记录更新后的状态表征该目标文件信息记录对应的文件已完成下载。
4.根据权利要求1所述的方法,其特征在于,所述在预设的文件记录表中确定出各个目标文件信息记录,包括:
检测所述文件记录表中的每一文件信息记录的状态;
对于每一所述文件信息记录,在所述文件信息记录的状态为未分配状态的情况下,将所述文件信息记录确定为目标文件信息记录;在所述文件信息记录为正在下载状态的情况下,确定所述文件信息记录所属的FTP客户端的节点状态是否停止状态;若所述文件信息记录所属的FTP客户端的节点状态为停止状态,则将所述FTP客户端确定为目标文件信息记录。
5.一种文件分配装置,其特征在于,应用于FTP客户端集群中的任意一个FTP客户端,所述装置包括:
第一确定单元,用于响应文件分配指令,确定预设的节点配置表中当前记录的所述FTP客户端集群中的各个FTP客户端的系统时间;
第二确定单元,用于根据所述节点配置表中当前记录的每个所述FTP客户端的系统时间确定每个所述FTP客户端的节点状态;所述节点状态为运行状态和停止状态中的一种;
第三确定单元,用于在预设的文件记录表中确定出各个目标文件信息记录;每个所述目标文件信息记录为第一文件信息记录和第二文件信息记录中的一种;所述第一文件信息记录为当前未分配的文件信息记录;所述第二文件信息记录为预先分配到宕机FTP客户端,且未完成文件下载的文件信息记录,所述宕机FTP客户端指的是节点状态为停止状态的FTP客户端;
分配单元,用于将所述文件记录表中的各个目标文件信息记录,依次分配到各个所述FTP客户端中的处于运行状态的各个目标FTP客户端,以使得每个所述目标FTP客户端根据分配到的目标文件信息记录到FTP服务器中下载该目标文件信息对应的文件;
所述第二确定单元,包括:
第一确定子单元,用于确定所述节点配置表中当前记录的每个所述FTP客户端的系统时间是否大于预设的时间阈值;
对于每个所述FTP客户端,在所述节点配置表中当前记录的所述FTP客户端的系统时间大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为运行状态;在所述节点配置表中当前记录的所述FTP客户端的系统时间未大于所述时间阈值的情况下,确定所述FTP客户端的节点状态为停止状态。
6.根据权利要求5所述的装置,其特征在于,还包括:
更新单元,用于在检测到本FTP客户端的文件下载进程处于执行状态的情况下,在所述节点配置表中更新所述本FTP客户端的系统时间。
7.一种存储介质,其特征在于,所述存储介质包括存储指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~4任意一项所述的文件分配方法。
8.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~4任意一项所述的文件分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210885966.2A CN115250269B (zh) | 2022-07-26 | 2022-07-26 | 一种文件分配方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210885966.2A CN115250269B (zh) | 2022-07-26 | 2022-07-26 | 一种文件分配方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115250269A CN115250269A (zh) | 2022-10-28 |
CN115250269B true CN115250269B (zh) | 2024-02-02 |
Family
ID=83699989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210885966.2A Active CN115250269B (zh) | 2022-07-26 | 2022-07-26 | 一种文件分配方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115250269B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101622A (zh) * | 2018-08-10 | 2018-12-28 | 北京奇虎科技有限公司 | 数据同步方法、装置、计算设备及计算机存储介质 |
CN109218435A (zh) * | 2018-09-30 | 2019-01-15 | 湖北华联博远科技有限公司 | 一种数据上传方法及系统 |
CN109248440A (zh) * | 2018-07-20 | 2019-01-22 | 苏州玩友时代科技股份有限公司 | 一种实现游戏实时动态加载配置的方法及系统 |
CN109857549A (zh) * | 2019-01-04 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于负载均衡的图像数据处理方法、系统、设备及介质 |
CN111930515A (zh) * | 2020-09-16 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 数据获取及分配方法、装置、服务器、存储介质 |
CN113965560A (zh) * | 2020-07-01 | 2022-01-21 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
-
2022
- 2022-07-26 CN CN202210885966.2A patent/CN115250269B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109248440A (zh) * | 2018-07-20 | 2019-01-22 | 苏州玩友时代科技股份有限公司 | 一种实现游戏实时动态加载配置的方法及系统 |
CN109101622A (zh) * | 2018-08-10 | 2018-12-28 | 北京奇虎科技有限公司 | 数据同步方法、装置、计算设备及计算机存储介质 |
CN109218435A (zh) * | 2018-09-30 | 2019-01-15 | 湖北华联博远科技有限公司 | 一种数据上传方法及系统 |
CN109857549A (zh) * | 2019-01-04 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于负载均衡的图像数据处理方法、系统、设备及介质 |
CN113965560A (zh) * | 2020-07-01 | 2022-01-21 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
CN111930515A (zh) * | 2020-09-16 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 数据获取及分配方法、装置、服务器、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115250269A (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970315A (zh) | 推送消息的方法、装置及系统 | |
CN113746887A (zh) | 一种跨集群数据请求处理方法、设备及存储介质 | |
CN109451088A (zh) | 一种数据访问方法及装置 | |
JP4205323B2 (ja) | 配信システム、配信サーバとその配信方法、配信プログラム | |
CN113127133A (zh) | 跨平台的虚拟机热迁移方法、装置、设备和介质 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN113434283B (zh) | 服务调度方法及装置、服务器、计算机可读存储介质 | |
CN112583760B (zh) | 一种对象存储的访问方法、装置、设备和计算机存储介质 | |
CN110740155A (zh) | 分布式系统中的请求处理方法及装置 | |
CN110008029B (zh) | ceph元数据集群目录分配方法、系统、装置及可读存储介质 | |
CN110737670A (zh) | 一种集群数据一致性的保障方法、装置及系统 | |
CN115250269B (zh) | 一种文件分配方法及装置、存储介质及电子设备 | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN115022307A (zh) | 一种文件下载方法及装置、存储介质及电子设备 | |
CN111404978A (zh) | 一种数据存储方法及云存储系统 | |
CN111107039A (zh) | 一种基于tcp连接的通信方法、装置及系统 | |
CN111083182B (zh) | 分布式物联网设备管理方法及装置 | |
CN114564530A (zh) | 一种数据库访问方法、装置、设备及存储介质 | |
CN110650033B (zh) | 分布式应用配置管理的方法和分布式计算系统 | |
CN111338647B (zh) | 一种大数据集群管理方法和装置 | |
CN114764379A (zh) | 应用软件的访问切换方法、设备和计算机可读存储介质 | |
CN111104376A (zh) | 资源文件查询方法及装置 | |
CN117376194B (zh) | 网络检测方法、系统、电子设备及计算机可读存储介质 | |
CN113873052B (zh) | Kubernetes集群的域名解析方法、装置及设备 | |
CN112631727B (zh) | 一种容器组pod的监控方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |