CN111198848A - 一种分布式文件访问方法、系统、服务器和存储介质 - Google Patents
一种分布式文件访问方法、系统、服务器和存储介质 Download PDFInfo
- Publication number
- CN111198848A CN111198848A CN202010004464.5A CN202010004464A CN111198848A CN 111198848 A CN111198848 A CN 111198848A CN 202010004464 A CN202010004464 A CN 202010004464A CN 111198848 A CN111198848 A CN 111198848A
- Authority
- CN
- China
- Prior art keywords
- file
- uploaded
- access request
- client
- file access
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
- H04L67/1097—Protocols 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种分布式文件访问方法,包括:获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;对所述文件访问请求进行第一权限识别;若识别通过,则将所述文件访问请求发送至文件存储系统。本发明还公开了一种分布式文件访问系统、服务器和存储介质。本发明通过对文件访问请求执行鉴权,实现了文件存储系统的分类读取,同时保证了信息安全。
Description
技术领域
本发明实施例涉及分布式文件存储技术,尤其涉及一种分布式文件访问方法、系统、服务器和存储介质。
背景技术
目前大部分第三方开源的文件存储系统,只关注资源存储,忽略了对资源的分类、整合、权限限制和信息安全等方面。只适用于冷存储——活动不频繁、长期不被访问的数据。
另外,对于一个分布式系统来说,直接使用传统文件存储系统,跨平台之间的文件缺少资源隔离和越权管理的权限控制。也没有对用户做权限分割,所有文件对所有用户可见,违反信息安全的准则。
发明内容
本发明提供一种分布式文件访问方法、系统、服务器和存储介质,通过对文件访问请求执行鉴权,实现了文件存储系统的分类读取,同时保证了信息安全。
第一方面,本发明实施例提供了一种分布式文件访问方法,包括:
获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;
对所述文件访问请求进行第一权限识别;
若识别通过,则将所述文件访问请求发送至文件存储系统。
第二方面,本发明实施例还提供了一种分布式文件访问系统,包括:
获取模块,用于获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;
鉴权模块,用于对所述文件访问请求进行第一权限识别;
发送模块,用于若识别通过,则将所述文件访问请求发送至文件存储系统。
第三方面,本发明实施例还提供了一种服务器,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的分布式文件访问方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如上述任意一项所述的分布式文件访问方法。
本发明通过对文件访问请求执行鉴权,实现了文件存储系统的分类读取,同时保证了信息安全。
附图说明
图1是本发明实施例一中的一种分布式文件访问方法流程图。
图2是本发明实施例二中的一种分布式文件访问方法流程图。
图3是本发明实施例三中的一种分布式文件访问方法流程图。
图4是本发明实施例四中的一种分布式文件访问方法流程图。
图5是本发明实施例五中的一种分布式文件访问系统模块图。
图6是本发明实施例六中的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一获取模块称为第二获取模块,且类似地,可将第二获取模块称为第一获取模块。第一获取模块和第二获取模块两者都是获取模块,但其不是同一模块。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
下述实施例中的英文缩写及专有名词含义如下:
oss对象存储:ObjectStorageService,阿里云对象存储服务,是一种海量、安全和高可靠的云存储服务,数据文件以对象的形式上传到存储空间中。能够执行创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件、获取已上传文件的地址进行文件的分享和下载、通过修改存储空间或文件的属性或元信息来设置相应的访问权限等操作。
Fastdfs:一个开源的轻量级分布式文件存储系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
NAS:NetworkAttachedStorage,网络附属存储,一种连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,
UUID:UniversallyUniqueIdentifier,通用唯一识别码,让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。UUID经由一定的算法机器生成,为了保证唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的同时,意味着只能由计算机生成。UUID的生成规范定义的算法主要目的就是要保证其唯一性。但这个唯一性是有限的,只在特定的范围内才能得到保证,这和UUID的类型有关(参见UUID的版本)。
Nginx网关:网关就是一个网络连接到另一个网络的关口,Nginx网关的特点为:把多个webserver配置到nginx中,用户访问Nginx时,就会自动被分配到某个webserver。当网站规模变大,通常会进行服务拆分,各个服务独立部署,通过远程调用方式协同工作。为了保证稳定性,每个服务不会只使用一台服务器,也会作为一个集群存在,那么子集群也可以使用Nginx负载均衡。
MD5值:MD5Message-DigestAlgorithm,MD5信息摘要算法,是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。MD5值等同于文件的ID,它的值是唯一的。如果文件已被修改(例如嵌入式病毒,特洛伊木马等),其MD5值将发生变化。因此,一些常规下载URL提供文件MD并且通常提供MD5值。文件的md5值主要用于管理文件存储系统的时候,通过获得文件的md5值,然后和自己的数据库比对,如果已经存在该文件,则不用再上传该文件,只是把相关的文件信息存储到对应的数据库中。
HBASE数据库:一种构建在HDFS之上的分布式、面向列的存储系统。可以提供实时计算,数据被保存在HDFS分布式文件系统上,由HDFS保证期高容错性;HBase上的数据是以StoreFile(HFile)二进制流的形式存储在HDFS上block块中,其存储数据对于HDFS文件系统是透明的。
redis数据库:REmoteDIctionaryServer,一种key-value存储系统,可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API接口。它通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Hash),列表(list),集合(sets)和有序集合(sortedsets)等类型。
雪花算法:即SnowFlake算法,是Twitter开源的分布式id生成算法。其核心思想是使用一个64bit的long型的数字作为全局唯一id,该算法在分布式系统中的应用十分广泛。同时雪花算法在计算ID时引入了时间戳,雪花计算过程中的时间戳在现实层面上能够精确到普朗克时间10-43秒,这样时间戳的长度也得以保证,能够用于构建分布式自增ID。
lua脚本:一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。编译后仅仅一百余K,可以很方便的嵌入别的程序里,同时提供了非常易于使用的扩展接口和机制,该脚本支持面向过程(procedure-oriented)编程和函数式编程(functional programming)。应用于游戏开发、独立应用脚本、Web应用脚本、扩展、数据库插件和/或入侵检测系统。
Token:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
实施例一
图1为本发明实施例一提供的一种分布式文件访问方法流程图,该方法可以由服务器端执行,以下以Nginx网关作为服务器的执行主体进行说明,具体包括如下步骤:
S101、获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签。
该步骤中,可选地,Nginx网关收到的文件访问请求可以包括token,Token是在客户端首次向服务端请求数据时,服务器为防止频繁的去数据库查询用户名和密码并进行对比耗费时间,为客户端分配的一个字符串令牌。当客户端不是首次发起文件访问请求时,请求中即携带token,token使服务器能够确定发起请求的客户端。所述文件访问请求中包括属性、根目录和/或内外部服务标签,还可以包括但不限于用户名和/或可用次数和过期时间。
在替代实施例中,文件访问请求中包括token,服务器创建token后缓存入redis数据库。客户端在请求接入文件存储系统时携带此token经由Nginx网关的lua脚本解析token是否与redis匹配,并解析出属性、根目录、内外部服务标签、用户名和/或可用次数和过期时间等配置信息。可选地,解析出配置信息的方法也可以选用动态验证码或服务名加密的方式。
S102、对所述文件访问请求进行第一权限识别。
S103、若识别通过,则将所述文件访问请求发送至文件存储系统。
本实施例通过对文件访问请求执行鉴权,实现了文件存储系统的分类读取,同时保证了信息安全。
实施例二
如图2所示,本实施例在上述实施例的基础上增加了对第一权限识别的方法,具体包括如下步骤:
S201、获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签。
S2021、判断所述属性、根目录和/或内外部服务标签是否分别满足预设的条件。
该步骤中,预设条件指的是:
A、所述属性为固定时间内可用,则要求过期时间大于0,且可用次数大于0。若属性为一次性token,则在判断完毕后删除token。
B、根目录不为空。
C、内外部服务标签不为空。
其中,根目录是用于指明该业务服务的文件默认存储在的目录地址;可用次数和过期时间是用于对文件访问请求中的token分类,token包括一次性token和固定时间内可用的token,用来规定该token在过期时间内的可用次数。属性用于指明token是一次性token还是固定时间内可用token;内外部服务标签用于区分接入的业务服务属性,限制外部服务访问内部域名。
S2022、若至少有一个不满足,则向所述客户端返回无访问权限信息。
当上述A、B、C条件同时满足时,文件访问请求则通过第一权限识别。
S2023、若都满足,则通过所述第一权限识别。
S203、若识别通过,则将所述文件访问请求发送至文件存储系统。
本实施例通过访问请求中的属性、根目录和/或内外部服务标签等信息判断客户端是否有访问权限,保证了文件存储系统的信息安全。
实施例三
如图3所示,本实施例在上述实施例的基础上增加了客户端向文件存储系统上传文件数据的步骤,为保护文件隐私,本发明提供了公有和私有两种文件上传方式,具体包括如下步骤:
S301、获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签。
S302、对所述文件访问请求进行第一权限识别。
S303、若识别通过,则将所述文件访问请求发送至文件存储系统。
S304、获取所述客户端的上传文件。
S305、对所述上传文件进行信息隐藏。
该步骤中,信息隐藏的过程为:将所述上传文件存入对应的文件存储目录下。将所述上传文件的文件名使用识别码替换,所述识别码通过预设算法计算生成。隐藏所述上传文件的可视化信息。将隐藏可视化信息后的所述上传文件转换为字节流的形式。
具体地,上传的上传文件默认存入token限制的根目录下,将所述上传文件的文件名使用识别码替换是将文件名替换为通过预设计算出的19位UUID,隐藏所有该文件的可视化信息,再以字节流的形式存入上传文件系统。可选的,预设算法可以选用雪花算法或其他类似算法。在该步骤中,存储文件时使用雪花算法生成的19位UUID命名文件,文件的元数据存入一个键值对中,使第三方无法显式的获取文件存储系统存储的文件具体格式及内容,同时也避免了第三方恶意的通过随机遍历的方式获取系统内部文件。
S306、判断所述上传文件的文件类型。
该步骤中,文件类型包括公有文件和私有文件两种,其中公有文件可以提供对外开放的访问地址,不受网域、token、时间限制;私有文件提供访问地址,但为了确保信息安全,预设有访问的时效限制。示例性地,当文件存储系统获取到文件访问请求时并访问私有文件时,1分钟之后则收回权限,若客户端再次发起文件访问请求,则需要重新鉴权。
S3071、若所述上传文件的文件类型为公有文件,则将信息隐藏后的所述公有文件存入公开文件系统。
S3072、若所述上传文件的文件类型为私有文件,则将信息隐藏后的所述私有文件存入私有文件系统。
可选地,上述公开文件系统和私有文件系统都可以包括但不限于:云平台、oss对象存储,fastdfs、NAS等分布式存储系统。
在替代实施例中,由于上传文件时对文件进行了隐藏文件名、隐藏可视化信息等计算,因此为保证上传文件和存储文件的一致性,步骤S3072之后还包括对文件存储前后进行计算和比对,即:分别计算所述文件存储前的MD5值和存储后的MD5值;比较所述文件存储前的MD5值和存储后的MD5值是否一致;若是,则存储所述文件。
在另一替代实施例中,步骤S3072之后还包括将文件的所有相关信息进行持久化存储,具体包括:
S3081、若所述上传文件的文件类型为公有文件,则将所述公有文件的属性信息和访问地址存入预设数据库,所述属性信息包括上传文件的UUID、文件名、文件存储目录、文件的MD5值、文件大小、文件类型和/或上传用户ID。
S3082、若所述上传文件的文件类型为私有文件,则将所述私有文件的属性信息存入所述预设数据库。
当上传文件为公有文件,则相关信息包括文件的属性信息和访问地址,私有文件由于需要对内容进行隐私保护,因此只保存文件属性信息,不包括访问地址。该步骤中,可选地,预设数据库为Hbase数据库。
本实施例在客户端上传文件数据时,对文件类型区分为公有文件和私有文件并存储在文件系统的不同区域,实现了对文件内容的隐私保护。
实施例四
如图4所示,本实施例在上述实施例的基础上增加了客户端从文件存储系统中下载文件的步骤,具体包括:
S401、获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签。
S402、对所述文件访问请求进行第一权限识别。
S403、若识别通过,则将所述文件访问请求发送至文件存储系统。
S404、获取所述客户端的上传文件。
S405、对所述上传文件进行信息隐藏。
S406、判断所述上传文件的文件类型。
S4071、若所述上传文件的文件类型为公有文件,则将信息隐藏后的所述公有文件存入公开文件系统。
S4072、若所述上传文件的文件类型为私有文件,则将信息隐藏后的所述私有文件存入私有文件系统。
S4081、若所述上传文件的文件类型为公有文件,则将所述公有文件的属性信息和访问地址存入预设数据库,所述属性信息包括上传文件的UUID、文件名、文件存储目录、文件的MD5值、文件大小、文件类型和/或上传用户ID。
S4082、若所述上传文件的文件类型为私有文件,则将所述私有文件的属性信息存入所述预设数据库。
S409、获取所述客户端的文件下载请求,所述文件下载请求包括文件存储目录和所述客户端的用户ID。该步骤之后需要基于所述文件下载请求,对所述客户端进行第二权限识别,包括如下步骤:
S4101、从所述预设数据库读取目标文件的所述文件存储目录。
S4102、判断所述文件存储目录与所述文件下载请求中的所述文件存储目录是否匹配。
S4103、若匹配,则从所述预设数据库读取所述上传用户ID。
若不匹配,则返回无权限识别信息。
S4104、判断所述上传用户ID与所述客户端的用户ID是否匹配。
S4105、若匹配,则第二权限识别通过。
若不匹配,则返回无权限识别信息。
S411、若通过,则从所述文件存储系统获取所述目标文件发送至所述客户端。
本实施例的方案通过对文件下载过程增加鉴权步骤,对比文件存储的根目录与客户端请求的根目录是否匹配、发起请求的用户ID与上传者用户ID是否匹配以进行第二权限的鉴权,实现了对文件存储系统的数据保护。
实施例五
如图5所示,本实施例提出了一种分布式文件访问系统5,包括如下模块:
第一获取模块501,用于获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;
第一鉴权模块502用于对所述文件访问请求进行第一权限识别。该模块包括:
第一判断单元,用于判断所述属性、根目录和/或内外部服务标签是否分别满足预设的条件;
第一识别单元,用于若都满足,则通过所述第一权限识别;若至少有一个不满足,则向所述客户端返回无访问权限信息。
访问模块503,用于若识别通过,则将所述文件访问请求发送至文件存储系统。
第二获取模块504,用于获取所述客户端的上传文件。
判断模块505,用于对所述上传文件进行信息隐藏;判断所述上传文件的文件类型。
第一存储模块506用于若所述上传文件的文件类型为公有文件,则将信息隐藏后的所述公有文件存入公开文件系统;若所述上传文件的文件类型为私有文件,则将信息隐藏后的所述私有文件存入私有文件系统。
其中,具体地,判断模块505包括如下单元:
存储单元,用于将所述上传文件存入对应的文件存储目录下;
计算单元,用于将所述上传文件的文件名使用识别码替换,所述识别码通过预设算法计算生成;
判断模块505还用于隐藏所述上传文件的可视化信息,将隐藏可视化信息后的所述上传文件转换为字节流的形式。
分布式文件访问系统5还包括:
第二存储模块507,用于若所述上传文件的文件类型为公有文件,则将所述公有文件的属性信息和访问地址存入预设数据库,所述属性信息包括上传文件的UUID、文件名、文件存储目录、文件的MD5值、文件大小、文件类型和/或上传用户ID;若所述上传文件的文件类型为私有文件,则将所述私有文件的属性信息存入所述预设数据库。
在替代实施例中,分布式文件访问系统5还包括:
第三获取模块508,用于获取所述客户端的文件下载请求,所述文件下载请求包括文件存储目录和所述客户端的用户ID;
第二鉴权模块509用于基于所述文件下载请求对所述客户端进行第二权限识别,该模块包括如下单元:
读取单元,用于从所述预设数据库读取目标文件的所述文件存储目录;
第二判断单元,用于判断所述文件存储目录与所述文件下载请求中的所述文件存储目录是否匹配;
读取单元,用于若匹配,则从所述预设数据库读取所述上传用户ID;
第三判断单元,用于判断所述上传用户ID与所述客户端的用户ID是否匹配;
第二识别单元,用于若匹配,则第二权限识别通过。
下载模块510,用于若通过,则从所述文件存储系统获取所述目标文件发送至所述客户端。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例四提供的一种服务器的结构示意图,如图6所示,该设备包括处理器601、存储器602、输入装置603和输出装置604;设备中处理器601的数量可以是一个或多个,图6以一个处理器601为例;设备中的处理器601、存储器602、输入装置603和输出装置606可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器602作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例一中的一种分布式文件访问方法对应的模块(例如实施例五中第一获取模块501等)。处理器601通过运行存储在存储器602中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的一种分布式文件访问方法。
存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器602可进一步包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例七
实施例七提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种分布式文件访问方法,该方法包括:
获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;
对所述文件访问请求进行第一权限识别;
若识别通过,则将所述文件访问请求发送至文件存储系统。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的分布式文件访问方法的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种分布式文件访问方法,其特征在于,包括:
获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;
对所述文件访问请求进行第一权限识别;
若识别通过,则将所述文件访问请求发送至文件存储系统。
2.根据权利要求1所述的一种分布式文件访问方法,其特征在于,所述对所述文件访问请求进行第一权限识别,包括:
判断所述属性、根目录和/或内外部服务标签是否分别满足预设的条件;
若都满足,则通过所述第一权限识别;
若至少有一个不满足,则向所述客户端返回无访问权限信息。
3.根据权利要求1所述的一种分布式文件访问方法,其特征在于,所述文件存储系统包括公开文件系统和私有文件系统,在所述若识别通过,则将所述文件访问请求发送至文件存储系统之后,还包括:
获取所述客户端的上传文件;
对所述上传文件进行信息隐藏;
判断所述上传文件的文件类型;
若所述上传文件的文件类型为公有文件,则将信息隐藏后的所述公有文件存入公开文件系统;
若所述上传文件的文件类型为私有文件,则将信息隐藏后的所述私有文件存入私有文件系统。
4.根据权利要求3所述的一种分布式文件访问方法,其特征在于,所述对所述上传文件进行信息隐藏,包括:
将所述上传文件存入对应的文件存储目录下;
将所述上传文件的文件名使用识别码替换,所述识别码通过预设算法计算生成;
隐藏所述上传文件的可视化信息;
将隐藏可视化信息后的所述上传文件转换为字节流的形式。
5.根据权利要求3所述的一种分布式文件访问方法,其特征在于,所述若所述上传文件的文件类型为私有文件,则将信息隐藏后的所述私有文件存入私有文件系统之后,还包括:
若所述上传文件的文件类型为公有文件,则将所述公有文件的属性信息和访问地址存入预设数据库,所述属性信息包括上传文件的UUID、文件名、文件存储目录、文件的MD5值、文件大小、文件类型和/或上传用户ID;
若所述上传文件的文件类型为私有文件,则将所述私有文件的属性信息存入所述预设数据库。
6.根据权利要求5所述的一种分布式文件访问方法,其特征在于,所述若所述上传文件的文件类型为私有文件,则将所述私有文件的属性信息存入所述预设数据库之后,还包括:
获取所述客户端的文件下载请求,所述文件下载请求包括文件存储目录和所述客户端的用户ID;
基于所述文件下载请求对所述客户端进行第二权限识别;
若通过,则从所述文件存储系统获取所述目标文件发送至所述客户端。
7.根据权利要求6所述的一种分布式文件访问方法,其特征在于,所述基于所述文件下载请求对所述客户端进行第二权限识别,包括:
从所述预设数据库读取目标文件的所述文件存储目录;
判断所述文件存储目录与所述文件下载请求中的所述文件存储目录是否匹配;
若匹配,则从所述预设数据库读取所述上传用户ID;
判断所述上传用户ID与所述客户端的用户ID是否匹配;
若匹配,则第二权限识别通过。
8.一种分布式文件访问系统,其特征在于,包括:
第一获取模块,用于获取客户端的文件访问请求,所述文件访问请求包括属性、根目录和/或内外部服务标签;
第一鉴权模块,用于对所述文件访问请求进行第一权限识别;
访问模块,用于若识别通过,则将所述文件访问请求发送至文件存储系统。
9.一种服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任意一项所述的分布式文件访问方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如权利要求1-7任意一项所述的分布式文件访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010004464.5A CN111198848B (zh) | 2020-01-03 | 2020-01-03 | 一种分布式文件访问方法、系统、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010004464.5A CN111198848B (zh) | 2020-01-03 | 2020-01-03 | 一种分布式文件访问方法、系统、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111198848A true CN111198848A (zh) | 2020-05-26 |
CN111198848B CN111198848B (zh) | 2022-06-24 |
Family
ID=70744531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010004464.5A Active CN111198848B (zh) | 2020-01-03 | 2020-01-03 | 一种分布式文件访问方法、系统、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198848B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666590A (zh) * | 2020-05-29 | 2020-09-15 | 中国工商银行股份有限公司 | 分布式文件安全传输方法、装置及系统 |
CN111737204A (zh) * | 2020-06-12 | 2020-10-02 | 北京百度网讯科技有限公司 | 文件目录遍历方法、装置、设备和介质 |
CN111782594A (zh) * | 2020-07-02 | 2020-10-16 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种文件存储方法及装置 |
CN112035665A (zh) * | 2020-08-31 | 2020-12-04 | 京东数字科技控股股份有限公司 | 对账文件生成、获取方法、装置、系统及服务器 |
CN112099997A (zh) * | 2020-09-23 | 2020-12-18 | 维沃移动通信有限公司 | 文件存储方法和电子设备 |
CN112437078A (zh) * | 2020-11-20 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 文件存储方法、装置、设备及计算机可读存储介质 |
CN112612770A (zh) * | 2020-12-28 | 2021-04-06 | 深圳市科创思科技有限公司 | 一种分布式文件上传方法及系统 |
CN113282897A (zh) * | 2021-06-11 | 2021-08-20 | 杭州安恒信息安全技术有限公司 | 一种多系统的账号共用方法、装置、设备及介质 |
CN113609165A (zh) * | 2021-08-13 | 2021-11-05 | 广联达科技股份有限公司 | 数据请求方法、数据处理方法和数据管理系统 |
CN113609092A (zh) * | 2021-06-30 | 2021-11-05 | 济南浪潮数据技术有限公司 | 分布式存储对接hdfs客户端的方法、系统、终端及存储介质 |
CN113657118A (zh) * | 2021-08-16 | 2021-11-16 | 北京好欣晴移动医疗科技有限公司 | 基于通话文本的语义分析方法、装置和系统 |
CN113986835A (zh) * | 2021-10-27 | 2022-01-28 | 平安国际智慧城市科技股份有限公司 | FastDFS分布式文件的管理方法、装置、设备及存储介质 |
CN114936255A (zh) * | 2022-05-13 | 2022-08-23 | 透彻影像(北京)科技有限公司 | 一种新型通用的分布式存储系统访问系统 |
CN115499157A (zh) * | 2022-07-29 | 2022-12-20 | 天翼云科技有限公司 | Ceph分布式存储系统访问方法及装置 |
CN115982778A (zh) * | 2023-03-14 | 2023-04-18 | 北京仁科互动网络技术有限公司 | Obs文件访问方法、系统、装置、电子设备及存储介质 |
CN116185965A (zh) * | 2023-05-04 | 2023-05-30 | 联想凌拓科技有限公司 | 用于服务质量控制的方法、装置、设备及介质 |
CN116257171A (zh) * | 2021-12-10 | 2023-06-13 | 北京字跳网络技术有限公司 | 信息写入及读取方法、装置、存储介质和服务器 |
CN117591038A (zh) * | 2024-01-18 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种数据访问方法、装置、分布式存储系统及设备和介质 |
CN117786747A (zh) * | 2023-12-27 | 2024-03-29 | 柏域信息科技(上海)有限公司 | 私有文件的管理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871794A (zh) * | 2015-11-13 | 2016-08-17 | 乐视云计算有限公司 | 分布式文件系统数据存储的方法、客户端、服务器及系统 |
CN106685932A (zh) * | 2016-12-08 | 2017-05-17 | 努比亚技术有限公司 | 一种基于云服务的文件访问系统和方法 |
CN108833369A (zh) * | 2018-05-28 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种访问文件系统的方法、装置及设备 |
CN110046133A (zh) * | 2019-04-12 | 2019-07-23 | 苏州浪潮智能科技有限公司 | 一种存储文件系统的元数据管理方法、装置及系统 |
-
2020
- 2020-01-03 CN CN202010004464.5A patent/CN111198848B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871794A (zh) * | 2015-11-13 | 2016-08-17 | 乐视云计算有限公司 | 分布式文件系统数据存储的方法、客户端、服务器及系统 |
CN106685932A (zh) * | 2016-12-08 | 2017-05-17 | 努比亚技术有限公司 | 一种基于云服务的文件访问系统和方法 |
CN108833369A (zh) * | 2018-05-28 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种访问文件系统的方法、装置及设备 |
CN110046133A (zh) * | 2019-04-12 | 2019-07-23 | 苏州浪潮智能科技有限公司 | 一种存储文件系统的元数据管理方法、装置及系统 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666590A (zh) * | 2020-05-29 | 2020-09-15 | 中国工商银行股份有限公司 | 分布式文件安全传输方法、装置及系统 |
CN111737204B (zh) * | 2020-06-12 | 2024-03-19 | 北京百度网讯科技有限公司 | 文件目录遍历方法、装置、设备和介质 |
CN111737204A (zh) * | 2020-06-12 | 2020-10-02 | 北京百度网讯科技有限公司 | 文件目录遍历方法、装置、设备和介质 |
CN111782594A (zh) * | 2020-07-02 | 2020-10-16 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种文件存储方法及装置 |
CN112035665A (zh) * | 2020-08-31 | 2020-12-04 | 京东数字科技控股股份有限公司 | 对账文件生成、获取方法、装置、系统及服务器 |
CN112099997A (zh) * | 2020-09-23 | 2020-12-18 | 维沃移动通信有限公司 | 文件存储方法和电子设备 |
CN112099997B (zh) * | 2020-09-23 | 2024-06-11 | 维沃移动通信有限公司 | 文件存储方法和电子设备 |
CN112437078A (zh) * | 2020-11-20 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 文件存储方法、装置、设备及计算机可读存储介质 |
CN112612770A (zh) * | 2020-12-28 | 2021-04-06 | 深圳市科创思科技有限公司 | 一种分布式文件上传方法及系统 |
CN112612770B (zh) * | 2020-12-28 | 2024-05-14 | 深圳市科创思科技有限公司 | 一种分布式文件上传方法及系统 |
CN113282897A (zh) * | 2021-06-11 | 2021-08-20 | 杭州安恒信息安全技术有限公司 | 一种多系统的账号共用方法、装置、设备及介质 |
CN113609092B (zh) * | 2021-06-30 | 2024-02-27 | 济南浪潮数据技术有限公司 | 分布式存储对接hdfs客户端的方法、系统、终端及存储介质 |
CN113609092A (zh) * | 2021-06-30 | 2021-11-05 | 济南浪潮数据技术有限公司 | 分布式存储对接hdfs客户端的方法、系统、终端及存储介质 |
CN113609165A (zh) * | 2021-08-13 | 2021-11-05 | 广联达科技股份有限公司 | 数据请求方法、数据处理方法和数据管理系统 |
CN113657118B (zh) * | 2021-08-16 | 2024-05-14 | 好心情健康产业集团有限公司 | 基于通话文本的语义分析方法、装置和系统 |
CN113657118A (zh) * | 2021-08-16 | 2021-11-16 | 北京好欣晴移动医疗科技有限公司 | 基于通话文本的语义分析方法、装置和系统 |
CN113986835B (zh) * | 2021-10-27 | 2024-05-17 | 平安国际智慧城市科技股份有限公司 | FastDFS分布式文件的管理方法、装置、设备及存储介质 |
CN113986835A (zh) * | 2021-10-27 | 2022-01-28 | 平安国际智慧城市科技股份有限公司 | FastDFS分布式文件的管理方法、装置、设备及存储介质 |
CN116257171A (zh) * | 2021-12-10 | 2023-06-13 | 北京字跳网络技术有限公司 | 信息写入及读取方法、装置、存储介质和服务器 |
CN114936255B (zh) * | 2022-05-13 | 2023-05-02 | 北京透彻未来科技有限公司 | 一种通用的分布式存储系统访问系统 |
CN114936255A (zh) * | 2022-05-13 | 2022-08-23 | 透彻影像(北京)科技有限公司 | 一种新型通用的分布式存储系统访问系统 |
CN115499157A (zh) * | 2022-07-29 | 2022-12-20 | 天翼云科技有限公司 | Ceph分布式存储系统访问方法及装置 |
CN115982778A (zh) * | 2023-03-14 | 2023-04-18 | 北京仁科互动网络技术有限公司 | Obs文件访问方法、系统、装置、电子设备及存储介质 |
CN116185965B (zh) * | 2023-05-04 | 2023-08-04 | 联想凌拓科技有限公司 | 用于服务质量控制的方法、装置、设备及介质 |
CN116185965A (zh) * | 2023-05-04 | 2023-05-30 | 联想凌拓科技有限公司 | 用于服务质量控制的方法、装置、设备及介质 |
CN117786747A (zh) * | 2023-12-27 | 2024-03-29 | 柏域信息科技(上海)有限公司 | 私有文件的管理方法、装置、设备及存储介质 |
CN117786747B (zh) * | 2023-12-27 | 2024-08-02 | 柏域信息科技(上海)有限公司 | 私有文件的管理方法、装置、设备及存储介质 |
CN117591038A (zh) * | 2024-01-18 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种数据访问方法、装置、分布式存储系统及设备和介质 |
CN117591038B (zh) * | 2024-01-18 | 2024-06-11 | 济南浪潮数据技术有限公司 | 一种数据访问方法、装置、分布式存储系统及设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111198848B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198848B (zh) | 一种分布式文件访问方法、系统、服务器和存储介质 | |
US11334562B2 (en) | Blockchain based data management system and method thereof | |
US11269839B2 (en) | Authenticated key-value stores supporting partial state | |
US12118122B2 (en) | Masking sensitive information in records of filtered accesses to unstructured data | |
US7584228B1 (en) | System and method for duplication of virtual private server files | |
US8239954B2 (en) | Access control based on program properties | |
CN108289098B (zh) | 分布式文件系统的权限管理方法和装置、服务器、介质 | |
US10650032B1 (en) | Filtering pipeline optimizations for unstructured data | |
CA3068345C (en) | Witness blocks in blockchain applications | |
US20180145983A1 (en) | Distributed data storage system using a common manifest for storing and accessing versions of an object | |
US9043312B2 (en) | Identifying symbolic links | |
CA3088147C (en) | Data isolation in distributed hash chains | |
US9600486B2 (en) | File system directory attribute correction | |
US10664508B1 (en) | Server-side filtering of unstructured data items at object storage services | |
CN108021339B (zh) | 一种磁盘读写的方法、设备以及计算机可读存储介质 | |
CN107844542A (zh) | 一种分布式文件存储方法及装置 | |
CN114021089A (zh) | 一种目录访问控制方法、装置、设备及可读存储介质 | |
Fu et al. | Data correlation‐based analysis methods for automatic memory forensic | |
Joe et al. | Mixed mode analytics architecture for data deduplication in wireless personal cloud computing | |
CN114201370A (zh) | 一种网页文件监控方法及系统 | |
US11762984B1 (en) | Inbound link handling | |
Moreaux et al. | Visual content verification in blockchain environments | |
Cheng et al. | Blockchain-Based Content Sharing and Data Repository System | |
Al Muzaffar et al. | Implementation and Performance Analysis of Non-Blockchain-based and Blockchain-based Business Licensing Systems Using Hyperledger Fabric | |
Choi et al. | A Study on the Digital Forensic Method for Decentralized Web Service |
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 |