CN112653757A - 文件管理***、方法及设备 - Google Patents

文件管理***、方法及设备 Download PDF

Info

Publication number
CN112653757A
CN112653757A CN202011515429.6A CN202011515429A CN112653757A CN 112653757 A CN112653757 A CN 112653757A CN 202011515429 A CN202011515429 A CN 202011515429A CN 112653757 A CN112653757 A CN 112653757A
Authority
CN
China
Prior art keywords
file
metadata
uploaded
sftp
downloaded
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
Application number
CN202011515429.6A
Other languages
English (en)
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.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202011515429.6A priority Critical patent/CN112653757A/zh
Publication of CN112653757A publication Critical patent/CN112653757A/zh
Pending legal-status Critical Current

Links

Images

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/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及金融科技技术领域,公开了一种文件管理***、方法及设备,包括:FDSS,用于记录并存储文件的元数据;FPS,用于存储文件的文件资源,和/或基于文件的元数据确定目标资源;SFTP文件***,用于用于在接收到文件上传请求时将待上传文件的元数据保存至FDSS并将文件资源保存至所述FPS;和/或用于在接收到文件下载请求时从FDSS中确定待下载文件的元数据,并基于待下载文件的元数据从FPS中下载待下载文件。通过将元数据、文件资源分布存储于FDSS、FPS,并且通过SFTP执行文件管理操作,实现了元数据与文件资源的融合管理,提高了文件服务的高可用性和文件存储的安全性。

Description

文件管理***、方法及设备
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种文件管理***、方法及设备。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
当前的SFTP(Secure File Transfer Protocol,安全文件传输协议)服务方案主要有单机方案和集群方案,这两种方案都是将文件存储在本地文件***中,对于单机方案若服务器发生故障可能会导致文件丢失,集群方案中需要部署多个SFTP服务器,但是无法保证后端远程服务器不会发生故障,因此集群方案的可用性不够高。
发明内容
本发明提供一种文件管理***、方法及设备,旨在提高文件服务的可用性和文件存储的安全性。
为实现上述目的,本发明提供一种文件管理***,所述文件管理***包括:
文件目录存储***FDSS,用于记录并存储文件的元数据;
文件处理***FPS,用于存储文件的文件资源,和/或基于文件的元数据确定目标文件资源;
安全文件传输协议SFTP文件***,用于在接收到文件上传请求时将待上传文件的元数据保存至所述FDSS并将文件资源保存至所述FPS;和/或用于在接收到文件下载请求时从所述FDSS中确定待下载文件的元数据,并基于所述待下载文件的元数据从所述FPS中下载待下载文件。
可选地,所述SFTP文件***,包括:
第一接收单元,用于接收文件上传请求,获取对应的待上传文件,将所述待上传文件存储至所述FPS,以供所述FPS获取待上传文件的待上传元数据;
第二接收单元,用于接收所述FPS返回的所述待上传元数据;
发送单元,用于将所述待上传元数据通过消息总线发送至所述FDSS,以供所述FDSS存储所述待上传元数据,并在保存成功后发出保存成功的提示信息;
反馈单元,用于接收到所述保存成功的提示信息后,删除保存在本地存储单元中的待上传文件,并向对应的客户端反馈上传成功的消息。
可选地,所述SFTP文件***,包括:
第三接收模块,用于接收文件下载请求,基于所述文件下载请求确定待下载文件的待下载元数据;
查询模块,用于基于所述待下载元数据,从所述FDSS中查询对应的待下载文件的文件索引信息;
申请模块,用于基于所述文件索引信息从所述FPS中申请下载所述待下载文件,将所述待下载文件保存至本地存储单元;
下载模块,用于从所述本地存储单元中获取所述待下载文件,并将所述待下载文件传输至对应的客户端,并在传输完成后删除保存在本地存储单元中的所述待下载文件。
可选地,所述文件管理***还包括:
鉴权服务***ASS,用于对客户端发送的登录请求的合法性进行验证,验证成功后接入对应的客户端。
可选地,所述鉴权服务***包括:
登录模块,用于接收所述SFTP文件***基于客户端发送的登录请求获取到的所述客户端的用户名、SFTP公钥以及会话信息;
验证模块,用于将所述用户名、SFTP公钥以及会话信息构建公钥认证器,基于所述公钥认证器进行合法性验证,并在验证成功后通过所述SFTP文件***接入所述客户端。
可选地,所述SFTP文件***与所述FPS通过网关连接;所述SFTP文件***与所述FDSS通过消息总线实现通讯。
可选地,所述FDSS还用于创建文件夹、编辑文件。
可选地,所述FPS文件***包括:
分布式协调服务Zookeeper单元,用于接收到SFTP发送的待下载元数据或者待上传文件时,基于抢锁机制确定对应的执行进程;
海杜普分布式文件***HDFS单元,用于将所述待上传文件保存到EPS后,记录所述待上传文件的文件实际存放位置;
分布式数据库Hbase单元,用于保存所述待上传文件的副本信息,以保证待上传文件不丢失。
此外,为实现上述目的,本发明还提供一种文件管理方法,所述文件管理方法包括:
搭建文件管理***后,接收客户端发送的文件管理请求,所述文件管理请求包括文件上传请求、文件下载请求,其中所述文件管理***包括文件目录存储***、文件处理***、安全文件传输协议文件***;
按预设流程对所述文件管理请求中的待管理文件进行管理。
此外,为实现上述目的,本发明还提供一种文件管理设备,所述文件管理设备包括处理器,存储器以及存储在所述存储器中的文件管理程序,所述文件管理程序被所述处理器运行时,实现所述的文件管理方法的步骤。
相比现有技术,本发明提供一种文件管理***、方法及设备,包括:文件目录存储***FDSS,用于记录并存储文件的元数据;文件处理***FPS,用于存储文件的文件资源,和/或基于文件的元数据确定目标文件资源;安全文件传输协议SFTP文件***,用于在接收到文件上传请求时将待上传文件的元数据保存至所述FDSS并将文件资源保存至所述FPS;和/或用于在接收到文件下载请求时从所述FDSS中确定待下载文件的元数据,并基于所述待下载文件的元数据从所述FPS中下载待下载文件。通过将元数据、文件资源分布存储于FDSS、FPS,并且通过SFTP执行文件管理操作,实现了元数据与文件资源的融合管理,提高了文件服务的高可用性和文件存储的安全性。
附图说明
图1是本发明各实施例涉及的文件管理设备的硬件结构示意图;
图2是本发明第一实施例涉及的文件管理***的组成示意图;
图3是本发明第一实施例涉及的文件管理系通的运转场景示意图;
图4是本发明第二实施例涉及的文件管理方法的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1是本发明各实施例涉及的文件管理设备的硬件结构示意图。本发明实施例中,文件管理设备可以包括处理器1001(例如中央处理器Central ProcessingUnit、CPU),通信总线1002,输入端口1003,输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出,存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例提供了一种文件管理***。
参照图2,图2是本发明第一实施例涉及的文件管理***的组成示意图,如图2所示,所述文件管理***包括:
文件目录存储***FDSS,用于记录并存储文件的元数据;
文件目录存储***(file directory storage system,FDSS)主要职责是记录并存储文件的元数据,所述元数据包括文件属性(fs_file_attr),所述文件属性包括文件的id、文件的类型(例如,文件夹、普通文件、软链接、其他)、文件的权限、文件大小、文件索引信息、创建时间和修改时间。可以理解地,不同文件的文件属性各不相同,如此根据所述文件属性即可根据所述文件属性标记各个文件,并基于文件属性确定对应的文件。
此外,所述元数据还包括文件树(fs_file_tree)。一般来说,一个文件夹中可多个子文件,在子文件夹中又包括孙子文件,如果把父文件、子文件、孙子文件用图一层一层表示,反过来便像一棵树。也即文件树记录了文件之间的层级关系,包括文件id(identification,标识)、父文件id、文件的名称(name)、文件的绝对路径(absolute_path)、文件的创建时间和修改时间。
本实施例通过所述FDSS创建文件树,也即所述FDSS还用于根据子文件与父文件之间的层级关系组织成文件树。所述文件树记录了的各个节点上的文件的文件信息以及层级关系。在记录层级关系的过程中,FDSS先判断父文件和待上传文件是否存在,再将新接收到的待上传文件的文件信息***到文件属性fs_file_attr中,根据返回的唯一的所述待上传文件的文件id,往已构建的文件树fs_file_tree中记录文件间的层级关系。当所述FDSS记录所述文件树后,根据所述文件树上的文件id就可以确定新接收到的待上传文件与文件夹中其他文件的层级关系,所述层级关系有利于文件分析可以快速确定相关联的文件。
进一步地,所述FDSS还用于创建文件夹、编辑文件。其中编辑文件又包括创建文件、删除文件、查询文件、更新文件、移动文件等。在创建文件时,FDSS会收到SFTP传输来的文件名称、文件索引信息、文件路径、文件属性信息、文件大小等文件信息。
当FDSS接收到创建文件夹的指令后,则创建空的新文件夹,并根据用户指定的文件夹名称或默认文件夹名称对文件夹进行命名,同时标记新文件夹的文件。当FDSS接收到编辑文件的指令后,获取具体的编辑操作和目标待编辑文件,并基于该编辑操作对目标待编辑文件进行编辑,并在编辑完成后先SFTP发送通知信息,以供SFTP通知FDSS将编辑目标待编辑文件的元数据同步更新。
所述FDSS的部署架构是分布式,同时文件信息映射成数据库里的记录,数据库之间通过主备同步的机制保证了数据库的高可用,而分布式架构又保证了FDSS的高可用,从而保证了整个存储服务的高可用性。本实施例中,通过将保存在数据主库中的文件同步保存至数据备库的方式实现主备同步。
进一步地,所述FDSS与所述SFTP文件***通过消息总线实现通讯。消息总线(Message Queue,MQ),是一种跨进程的通信机制,用于在上下游之间传递消息。MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。本实施例通过所述消息总线实现所述FDSS与所述SFTP文件***的通讯。
文件处理***FPS,用于存储文件的文件资源,并基于文件的元数据确定目标资源;
具体地,FPS(file process system)是基于大数据平台建设的,借助所述FPS可以实现文件存储、传输、下载、检索、权限控制、以及内容管理等功能的基础技术平台。
本实施例中,所述FPS文件***包括:
分布式协调服务Zookeeper单元,用于接收到SFTP发送的待下载元数据或者待上传文件时,基于抢锁机制确定对应的执行进程;
海杜普分布式文件***HDFS单元,用于将所述待上传文件保存到EPS后,记录所述待上传文件的文件实际存放位置;
分布式数据库Hbase单元,用于保存所述待上传文件的副本信息,以保证待上传文件不丢失。
HBase是一个分布式的、面向列的开源数据库分布式数据库。HBase具有以下特点:强读写一致,但是不是“最终一致性”的数据存储,这使得它非常适合高速的计算聚合;自动分片,通过Region分散在集群中,当行数增长的时候,Region也会自动的切分和再分配;自动的故障转移;Hadoop/HDFS集成,和HDFS开箱即用,衔接简单方便。
海杜普分布式文件***(Hadoop Distributed File System,HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件***(Distributed FileSystem)。HDFS和现有的分布式文件***有很多共同点。但同时,它和其他的分布式文件***的区别也是很明显的。HDFS是一个高度容错性的***,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
所述FPS文件***基于HDFS+Zookeeper+Hbase实现。其中HBASE保存所有文件的索引信息,包括file_id对应的文件名,压缩后的文件大小,文件保存的HDFS路径,文件保存时间等。HDFS是实际保存文件的位置,上传的文件放在临时文件(tmp)目录后,合并进程会将tmp的文件合并到HDFS目录的一个大文件下。HDFS目录下保存的文件副本数为大于1,例如可以是3,当副本数为3时,理论上HDFS挂掉两台机器都可以保证数据不丢失。Zookeeper负责锁的协调,一般地执行一个编辑文件的操作只能由一个进程执行,各进程通过抢锁的方式来协调。
所述FPS通过HDFS保存文件,且保存至少2个副本,使得文件资源不会丢失,进而保证了文件资源的可靠存储,提高了文件处理***FPS的高可用。并且本实施例采用HBASE和HDFS来支持海量文件存储,也提高了文件的承载容量。
由此,将元数据存储于所述FDSS,将文件资源存储在所述FPS,减轻了SFTP服务器的负载,降低了对SFTP服务器的依赖,同时也降低了对SFTP服务器的性能要求,使得SFTP服务器变成了只有协议转换和简单文件交互的前置机。
SFTP文件***,用于在接收到文件上传请求时将待上传文件的元数据保存至所述FDSS并将文件资源保存至所述FPS;和/或用于在接收到文件下载请求时从所述FDSS中确定待下载文件的元数据,并基于所述待下载文件的元数据从所述FPS中下载待下载文件。
也即所述SFTP用于对所述文件执行文件管理操作。
所述SFTP文件***是基于SFTP服务器的文件***。SFTP(Secure File TransferProtocol,安全文件传输协议)是一种基于可靠数据流(data stream),提供文件存取和管理的网络传输协议,与FTP协议相比,SFTP在客户端与服务器间提供了一种更为安全的文件传输方式。
SFTP文件***基于SFTP服务器对文件执行管理操作,并且可以部署多台SFTP服务器。所述SFTP文件***是基于可依赖消息总线(reliable message bus,Rmb)进行通信的Rmb文件***Rmbfilesystem。RmbFileSystem融合分布式文件存储和数据库技术,将文件资源与元数据分布式存储,将文件管理操作映射成FDSS的数据库操作,将SFTP的文件脱离linux磁盘存储介质,实现文件的分布式存储,由此保证了SFTP整体服务的高可用。
进一步地,所述文件管理***还包括:
鉴权服务***ASS(authenticate service system),用于对客户端发送的登录请求的合法性进行验证,验证成功后接入对应的客户端。
具体地,所述鉴权服务***包括:
登录模块,用于接收所述SFTP文件***基于客户端发送的登录请求获取到的所述客户端的用户名(username)、SFTP公钥以及会话信息;客户端需要在发送文件管理请求之前,要先向SFTP服务器发送登录请求,以登录SFTP服务器,所述SFTP服务器接收到登录请求后,基于所述登录请求获取所述客户端的用户名(username)、SFTP公钥以及会话信息。
验证模块,用于将所述用户名、SFTP公钥以及会话信息构建公钥认证器(Publickey Authenticator),基于所述公钥认证器进行合法性验证,并在验证成功后通过所述SFTP文件***接入所述客户端。本实施例中,若所述公钥认证器中的SFTP公钥与已保存的所述用户名的预设公钥一致,则判定所述公钥认证器合法;反之,若所述公钥认证器中的SFTP公钥与已保存的所述用户名的预设公钥不一致,则判定所述公钥认证器不合法。若不合法,则不接入对应的客户端,以保证文件管理***的安全性。
本实施例将SFTP服务器原有的鉴权功能改造成为分布式微服务架构下的鉴权服务,并且各用户的sftp公钥存储在后端的数据库里,这样保证了公钥信息的安全性,同时微服务架构增强了鉴权服务的高可用,不会因为单点故障影响用户的登录和使用。
所述文件管理操作包括上传、下载、删除、更改等。在实际操作中,所述SFTP文件***与所述FDSS、FPS、ASS相互配合,实现管理操作。其中,所述SFTP文件***与所述FPS通过网关连接,例如Tencent get way(腾讯网关,TGW);所述SFTP文件***与所述FDSS通过消息总线实现通讯;所述SFTP文件***与所述ASS通过消息总线实现通讯,使得所述SFTP文件***通过HTTP协议实现与所述FPS、所述ASS实现通讯。
参照图3,图3是本发明第一实施例涉及的文件管理***的运转场景示意图。
具体地,所述SFTP文件***,包括:
第一接收单元,用于接收文件上传请求,获取对应的待上传文件,将所述待上传文件存储至所述FPS,以供所述FPS获取待上传文件的待上传元数据。
具体地,将所述待上传文件写入本地存储单元后将所述待上传文件存储至所述FPS,以供所述FPS获取文件索引信息;
当客户端发出文件上传请求后,前置的NGINX(代理服务器)将所述文件上传请求转发至一台SFTP服务器,以通过接收到所述文件上传请求的SFTP服务器对该文件上传请求进行解析,确定待上传文件。将所述待上传文件写入本地存储单元后将所述待上传文件存储至所述FPS,以供所述FPS获取元数据中的文件索引信息,其中,所述文件索引信息包括(文件File Id和文件hash value)。
第二接收单元,用于接收所述FPS返回的所述待上传元数据;
发送单元,用于将所述待上传元数据通过消息总线发送至所述FDSS,以供所述FDSS存储所述待上传元数据,并在保存成功后发出保存成功的提示信息;
具体地,将所述待上传元数据中的所述文件索引信息和所述待上传文件的文件目录、文件名通过消息总线发送至所述FDSS,以供所述FDSS存储所述文件索引信息、所述文件目录、所述文件名,并在保存成功后发出保存成功的提示信息;
反馈单元,用于接收到所述保存成功的提示信息后,删除保存在本地存储单元中的待上传文件,并向对应的客户端反馈文件上传成功的消息。
此外,还可以通过所述FPS获取该文件的父文件、子文件信息,若所述FPS中存储有对应的父文件和/或子文件,则根据父文件和/或子文件的文件信息完善对应的文件树。
进一步地,为实现下载操作,所述SFTP文件***,包括:
第三接收模块,用于接收文件下载请求,基于所述文件下载请求确定待下载文件的待下载元数据,所述待下载元数据包括文件名和文件目录;当客户端发出文件下载请求后,前置的NGINX将所述文件下载请求转发至一台SFTP服务器,以通过接收到所述文件下载请求的SFTP服务器对该文件下载请求进行解析,确定待下载文件。
查询模块,用于基于所述待下载文件的文件名和文件目录,从所述文件目录存储***中查询对应的待下载文件的文件索引信息,其中所述文件索引信息包括文件File Id和文件hash value;
申请模块,用于基于所述文件索引信息从所述FPS中申请下载所述待下载文件,将所述待下载文件保存至本地存储单元;
下载模块,用于从所述本地存储单元中获取所述待下载文件,并将所述待下载文件传输至对应的客户端,并在传输完成后删除保存在本地存储单元中的所述待下载文件。
进一步地,本实施例通过FileChannel文件管道来实现对本地文件***里文件的操作,FileChannel提供了文件打开、上传和下载等操作。本实施例在RmbFileSystem文件***创建并使用RmbFileChannel,RmbFileChannel文件管道在打开文件时会判断打开的路径path是否存在,即根据文件的路径和文件的名称从FDSS中查询是否存在对应的文件信息,如存在对应的文件信息则获取文件的索引信息(文件File Id和文件hash value)并基于FPS及时将对应的文件下载到tem目录下,将RmbFileChannel指向获得的待下载文件,如此实现了待下载文件的准确、快速读取。
进一步地,SFTP文件***在创建一个文件时,RmbFileChannel会先将待创建文件先写入到本地文件***,随后FPS及时将文件上传,并将元数据保存至FDSS中。
进一步地,所述文件管理***还包括日志管理模块。所述日志管理模块用于生成并保存日志,以供基于日志进行监控管理,使得在发生异常情况后可以基于日志进行异常分析,保证文件管理***的正常运行。
本实施例通过上述方案提供一种文件管理***,包括:文件目录存储***FDSS,用于记录并存储文件的元数据;文件处理***FPS,用于存储文件的文件资源,和/或基于文件的元数据确定目标文件资源;安全文件传输协议SFTP文件***,用于在接收到文件上传请求时将待上传文件的元数据保存至所述FDSS并将文件资源保存至所述FPS;和/或用于在接收到文件下载请求时从所述FDSS中确定待下载文件的元数据,并基于所述待下载文件的元数据从所述FPS中下载待下载文件。通过将元数据、文件资源分布存储于FDSS、FPS,并且通过SFTP执行文件管理操作,实现了元数据与文件资源的融合管理,提高了文件服务的高可用性和文件存储的安全性。
基于图1所述的文件管理***,本发明第二实施例提供一种文件管理方法,参照图4,图4是本发明第二实施例涉及的文件管理方法的流程示意图,如图4所示,所述文件管理方法包括:
步骤S101:搭建文件管理***后,接收客户端发送的文件管理请求,所述文件管理请求包括文件上传请求、文件下载请求,其中所述文件管理***包括文件目录存储***、文件处理***、安全文件传输协议文件***;
步骤S102:按预设流程对所述文件管理请求中的待管理文件进行管理。
本实施例中,预先搭建文件管理***,所述文件管理***包括目录存储***FDSS、文件处理***FPS、安全文件传输协议SFTP文件***以及鉴权服务***。
文件管理***搭建好之后,通过所述鉴权服务***对接收到的文件管理请求进行验证,验证通过后,接入该文件管理请求,并按预设流程对所述文件管理请求中的待管理文件进行管理。所述文件管理请求包括文件上传请求、文件下载请求、文件删除请求、文件更改请求。
若所述文件管理请求是文件上传请求,则接收文件上传请求,获取对应的待上传文件,将所述待上传文件写入本地存储单元后将所述待上传文件存储至所述FPS,以供所述FPS获取文件索引信息;
当客户端发出文件上传请求后,前置的NGINX(代理服务器)将所述文件上传请求转发至一台SFTP服务器,以通过接收到所述文件上传请求的SFTP服务器对该文件上传请求进行解析,确定待上传文件。将所述待上传文件写入本地存储单元后将所述待上传文件存储至所述FPS,以供所述FPS获取文件索引信息,其中,所述文件索引信息包括(文件File Id和文件hash value)。
接收所述FPS返回的所述文件索引信息;
将所述文件索引信息和所述待上传文件的文件目录、文件名通过消息总线发送至所述FDSS,以供所述FDSS存储所述文件索引信息、所述文件目录、所述文件名,并在保存成功后发出保存成功的提示信息;
接收到所述保存成功的提示信息后,删除保存在本地存储单元中的待上传文件,并向对应的客户端反馈文件上传成功的消息。
进一步地,还可以通过所述FPS获取该文件的父文件、子文件信息,若所述FPS中存储有对应的父文件和/或子文件,则根据父文件和/或子文件的文件信息完善对应的文件树。
进一步地,若所述文件管理请求是文件下载请求,基于所述文件下载请求确定待下载文件的文件名和文件目录;当客户端发出文件下载请求后,前置的NGINX将所述文件下载请求转发至一台SFTP服务器,以通过接收到所述文件下载请求的SFTP服务器对该文件下载请求进行解析,确定待下载文件。
基于所述待下载文件的文件名和文件目录,从所述文件目录存储***中查询对应的待下载文件的文件索引信息,其中所述文件索引信息包括文件File Id和文件hashvalue;
基于所述文件索引信息从所述FPS中申请下载所述待下载文件,将所述待下载文件保存至本地存储单元;
从所述本地存储单元中获取所述待下载文件,并将所述待下载文件传输至对应的客户端,并在传输完成后删除保存在本地存储单元中的所述待下载文件。
本实施例通过上述方案,搭建文件管理***后,接收客户端发送的文件管理请求,所述文件管理请求包括文件上传请求、文件下载请求,其中所述文件管理***包括文件目录存储***、文件处理***、安全文件传输协议文件***;按预设流程对所述文件管理请求中的待管理文件进行管理。由此基于所述文件管理***进行文件管理,可以实现元数据与文件资源的融合管理,提高了文件服务的高可用性和文件存储的安全性。
相比现有技术,本发明公开了一种文件管理***、方法及设备,包括:文件目录存储***FDSS,用于记录并存储文件的元数据,所述元数据包括文件属性和文件树;文件处理***FPS,用于存储文件的文件资源,并基于文件的元数据确定目标资源;安全文件传输协议SFTP文件***,用于对所述文件执行文件管理操作。通过将元数据、文件资源分布存储于FDSS、FPS,并且通过SFTP执行文件管理操作,实现了元数据与文件资源的融合管理,提高了文件服务的高可用性和文件存储的安全性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种文件管理***,其特征在于,所述文件管理***包括:
文件目录存储***FDSS,用于记录并存储文件的元数据;
文件处理***FPS,用于存储文件的文件资源,和/或基于文件的元数据确定目标文件资源;
安全文件传输协议SFTP文件***,用于在接收到文件上传请求时将待上传文件的元数据保存至所述FDSS并将文件资源保存至所述FPS;和/或用于在接收到文件下载请求时从所述FDSS中确定待下载文件的元数据,并基于所述待下载文件的元数据从所述FPS中下载待下载文件。
2.根据权利要求1所述的文件管理***,其特征在于,所述SFTP文件***,包括:
第一接收单元,用于接收文件上传请求,获取对应的待上传文件,将所述待上传文件存储至所述FPS,以供所述FPS获取待上传文件的待上传元数据;
第二接收单元,用于接收所述FPS返回的所述待上传元数据;
发送单元,用于将所述待上传元数据通过消息总线发送至所述FDSS,以供所述FDSS存储所述待上传元数据,并在保存成功后发出保存成功的提示信息;
反馈单元,用于接收到所述保存成功的提示信息后,删除保存在本地存储单元中的待上传文件,并向对应的客户端反馈上传成功的消息。
3.根据权利要求1所述的文件管理***,其特征在于,所述SFTP文件***,包括:
第三接收模块,用于接收文件下载请求,基于所述文件下载请求确定待下载文件的待下载元数据;
查询模块,用于基于所述待下载元数据,从所述FDSS中查询对应的待下载文件的文件索引信息;
申请模块,用于基于所述文件索引信息从所述FPS中申请下载所述待下载文件,将所述待下载文件保存至本地存储单元;
下载模块,用于从所述本地存储单元中获取所述待下载文件,并将所述待下载文件传输至对应的客户端,并在传输完成后删除保存在本地存储单元中的所述待下载文件。
4.根据权利要求1所述的文件管理***,其特征在于,所述文件管理***还包括:
鉴权服务***ASS,用于对客户端发送的登录请求的合法性进行验证,验证成功后接入对应的客户端。
5.根据权利要求4所述的文件管理***,其特征在于,所述鉴权服务***包括:
登录模块,用于接收所述SFTP文件***基于客户端发送的登录请求获取到的所述客户端的用户名、SFTP公钥以及会话信息;
验证模块,用于将所述用户名、SFTP公钥以及会话信息构建公钥认证器,基于所述公钥认证器进行合法性验证,并在验证成功后通过所述SFTP文件***接入所述客户端。
6.根据权利要求1所述的文件管理***,其特征在于,所述SFTP文件***与所述FPS通过网关连接;所述SFTP文件***与所述FDSS通过消息总线实现通讯。
7.根据权利要求1所述的文件管理***,其特征在于,所述FDSS还用于创建文件夹、编辑文件。
8.根据权利要求1所述的文件管理***,其特征在于,所述FPS文件***包括:
分布式协调服务Zookeeper单元,用于接收到SFTP发送的待下载元数据或者待上传文件时,基于抢锁机制确定对应的执行进程;
海杜普分布式文件***HDFS单元,用于将所述待上传文件保存到EPS后,记录所述待上传文件的文件实际存放位置;
分布式数据库Hbase单元,用于保存所述待上传文件的副本信息,以保证待上传文件不丢失。
9.一种文件管理方法,其特征在于,所述文件管理方法包括:
搭建文件管理***后,接收客户端发送的文件管理请求,所述文件管理请求包括文件上传请求、文件下载请求,其中所述文件管理***包括文件目录存储***、文件处理***、安全文件传输协议文件***;
按预设流程对所述文件管理请求中的待管理文件进行管理。
10.一种文件管理设备,其特征在于,所述文件管理设备包括处理器,存储器以及存储在所述存储器中的文件管理程序,所述文件管理程序被所述处理器运行时,实现如权利要求9所述的文件管理方法的步骤。
CN202011515429.6A 2020-12-21 2020-12-21 文件管理***、方法及设备 Pending CN112653757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011515429.6A CN112653757A (zh) 2020-12-21 2020-12-21 文件管理***、方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011515429.6A CN112653757A (zh) 2020-12-21 2020-12-21 文件管理***、方法及设备

Publications (1)

Publication Number Publication Date
CN112653757A true CN112653757A (zh) 2021-04-13

Family

ID=75358585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011515429.6A Pending CN112653757A (zh) 2020-12-21 2020-12-21 文件管理***、方法及设备

Country Status (1)

Country Link
CN (1) CN112653757A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364887A (zh) * 2021-06-30 2021-09-07 北京天空卫士网络安全技术有限公司 一种基于ftp的文件下载方法、代理服务器和***
CN114173170A (zh) * 2021-12-06 2022-03-11 Oppo广东移动通信有限公司 一种多设备视频共享方法、装置、***、设备及存储介质
CN114238241A (zh) * 2022-02-26 2022-03-25 杭州字节方舟科技有限公司 财务数据的元数据处理方法和计算机***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070038665A (ko) * 2005-10-06 2007-04-11 주식회사 솔루션박스 분산 파일 시스템 및 그 운용 방법
CN104050248A (zh) * 2014-06-05 2014-09-17 北京捷成世纪科技股份有限公司 一种文件存储***及存储方法
CN104731516A (zh) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储***
CN110177154A (zh) * 2019-06-17 2019-08-27 深圳前海微众银行股份有限公司 一种文件交互处理方法、装置及***
CN110213352A (zh) * 2019-05-17 2019-09-06 北京航空航天大学 名字空间统一的分散自治存储资源聚合方法
CN110209731A (zh) * 2019-04-25 2019-09-06 深圳壹账通智能科技有限公司 数据同步方法、装置、及存储介质、电子装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070038665A (ko) * 2005-10-06 2007-04-11 주식회사 솔루션박스 분산 파일 시스템 및 그 운용 방법
CN104731516A (zh) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储***
CN104050248A (zh) * 2014-06-05 2014-09-17 北京捷成世纪科技股份有限公司 一种文件存储***及存储方法
CN110209731A (zh) * 2019-04-25 2019-09-06 深圳壹账通智能科技有限公司 数据同步方法、装置、及存储介质、电子装置
CN110213352A (zh) * 2019-05-17 2019-09-06 北京航空航天大学 名字空间统一的分散自治存储资源聚合方法
CN110177154A (zh) * 2019-06-17 2019-08-27 深圳前海微众银行股份有限公司 一种文件交互处理方法、装置及***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364887A (zh) * 2021-06-30 2021-09-07 北京天空卫士网络安全技术有限公司 一种基于ftp的文件下载方法、代理服务器和***
CN113364887B (zh) * 2021-06-30 2022-11-15 北京天空卫士网络安全技术有限公司 一种基于ftp的文件下载方法、代理服务器和***
CN114173170A (zh) * 2021-12-06 2022-03-11 Oppo广东移动通信有限公司 一种多设备视频共享方法、装置、***、设备及存储介质
CN114238241A (zh) * 2022-02-26 2022-03-25 杭州字节方舟科技有限公司 财务数据的元数据处理方法和计算机***
CN114238241B (zh) * 2022-02-26 2022-05-27 杭州字节方舟科技有限公司 财务数据的元数据处理方法和计算机***

Similar Documents

Publication Publication Date Title
KR102450281B1 (ko) 콘텐츠 아이템의 동기화를 위한 고유 식별자의 할당 및 재할당
US7487551B2 (en) Access to content addressable data over a network
AU757667B2 (en) Access to content addressable data over a network
CN112653757A (zh) 文件管理***、方法及设备
CN115731069A (zh) 应用于核电厂信息***电子文件归档四性检测方法及***
CN113810468B (zh) K8s架构下网关分发请求的方法、***、设备和存储介质
CN117376364A (zh) 一种数据处理方法及相关设备
CN118154188A (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