CN103902632A - 键值存储***中构建文件***的方法、装置及电子设备 - Google Patents

键值存储***中构建文件***的方法、装置及电子设备 Download PDF

Info

Publication number
CN103902632A
CN103902632A CN201210590105.8A CN201210590105A CN103902632A CN 103902632 A CN103902632 A CN 103902632A CN 201210590105 A CN201210590105 A CN 201210590105A CN 103902632 A CN103902632 A CN 103902632A
Authority
CN
China
Prior art keywords
file
catalogue
key word
directory
metadata
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
Application number
CN201210590105.8A
Other languages
English (en)
Other versions
CN103902632B (zh
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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201210590105.8A priority Critical patent/CN103902632B/zh
Priority to PCT/CN2013/087316 priority patent/WO2014101583A1/zh
Priority to EP13867294.4A priority patent/EP2924567A4/en
Publication of CN103902632A publication Critical patent/CN103902632A/zh
Priority to US14/754,019 priority patent/US20150302111A1/en
Application granted granted Critical
Publication of CN103902632B publication Critical patent/CN103902632B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • 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/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/13File access structures, e.g. distributed indices
    • 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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据存储领域,特别是涉及一种键值存储***中构建文件***的方法、装置及电子设备。在本发明所公开的键值存储***中构建文件***的方法,首先获取各级目录的目录路径对应的目录编号,再根据所述目录编号以及各级目录下所存储的文件,构建目录和文件相应的关键字Key,这种情况下,由于所述关键字Key中的目录编号所占的空间较小,且各个目录编号为唯一的,不存在重复的现象,有效节省了存储空间;另外,根据所述目录编号构建了与所述目录相对应的目录关键字Key,在需要对目录进行操作时,可直接根据目录的关键字Key获取待操作的目录,操作过程得到简化。

Description

键值存储***中构建文件***的方法、装置及电子设备
技术领域
本发明涉及数据存储领域,特别是涉及一种键值存储***中构建文件***的方法、装置及电子设备。
背景技术
KV(Key-Value,键值)存储***为非关系型数据库的代表,放弃了关系型数据库中,数据表严格的字段结构和表格之间的关系限制,以键值对应存储的数据,采用简化的数据模型,使得KV键值存储***具有以下优势:第一、高可扩展性,由于没有数据表严格的字段结构和表格之间的关系限制,KV键值存储***可以很容易的在多台服务器上部署分布式应用,从而提升整个***的伸缩性,更加方便灵活;第二、适应云计算需求的海量存储和高吞吐能力。KV键值存储***可以很好的满足云计算环境下用户对可伸缩性的灵活需求,因此,KV键值存储***日益成为主流的存储平台。
与传统基于磁盘或磁盘阵列逻辑地址空间构建文件***不同的是,在KV键值存储***中构建文件***时,文件***元数据和数据均必须以Key-Value的方式存取,其中,Key为预设的关键字,Value为数据库中存储的,与关键字对应的数据,因此Key的构成方式是基于KV键值存储***构建文件***设计的关键。
在现有技术中,构建Key的方式主要有两种,一种是以文件内容的哈希值作为Key,另一种主要是以文件全路径作为Key。但是,发明人在本申请的研究过程中发现,这两种构建Key的方式存在一定的问题,例如,在以文件内容的哈希值作为Key时,只适用于只读文件的情况下,否则当文件内容发生更改时,将导致其哈希值的改变进而导致Key的改变,影响对文件的查找,因此多采用以文件全路径作为Key的方式;但当以文件全路径作为Key时,由于文件全路径存在相同的前缀目录,而重复的前缀目录会占用大量的存储空间,并且,在对目录进行操作,如列出某个目录下的文件或对目录进行重命名时,需要首先以同一目录路径为前缀的文件全路径作为Key,获取该目录下的所有文件,再对该所有文件进行操作,已完成对目录的相应操作,操作过程复杂。
发明内容
有鉴于此,本发明的目的在于提供一种键值存储***中构建文件***的方法,具体实施方案如下:
所述键值存储***中构建文件***的方法的第一方面包括:
获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号;
根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字;
构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系。
结合第一方面,在第一方面的第一种可能的实现方式中,所述构建关键字的过程包括:
所构建的关键字为目录关键字时,以所述目录对应的目录编号作为所述目录的关键字;
所构建的关键字为完整的文件的关键字时,获取所述文件的前缀目录对应的目录编号,构建包括所述目录编号和所述文件名称的信息,作为所述文件的关键字;
所构建的关键字为分片的文件的关键字时,获取所述分片文件的前缀目录对应的目录编号以及各个文件片的编号,构建包括所述目录编号、文件名称和文件片编号的信息,作为所述各个文件片的关键字。
相应的,本发明还公开了一种键值存储***中构建文件***的装置,所述键值存储***中构建文件***的装置的第一方面包括:
目录编号获取模块,用于获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号;
关键字构建模块,用于根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字;
映射关系构建模块,用于构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系。
结合第一方面,在第一方面的第一种可能的实现方式中,所述映射关系构建模块包括:
第一构建单元,用于所构建的关键字为目录关键字时,以所述目录对应的目录编号作为所述目录的关键字;
第二构建单元,用于所构建的关键字为完整的文件的关键字时,获取所述文件的前缀目录对应的目录编号,构建包括所述目录编号和所述文件名称的信息,作为所述文件的关键字;
第三构建单元,用于所构建的关键字为分片的文件的关键字时,获取所述分片文件的前缀目录对应的目录编号以及各个文件片的编号,构建包括所述目录编号、文件名称和文件片编号的信息,作为所述各个文件片的关键字。
相应的,本发明还公开了一种电子设备,所述电子设备包括上述键值存储***中构建文件***的装置。
另外,本发明还公开了一种电子设备,所述电子设备包括处理器和与所述处理器相连接的存储器,其中,
所述处理器,用于获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号,根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字,并构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系;
所述存储器,用于存储包含有所述处理器运行的程序的信息。
在本发明所公开的键值存储***中构建文件***的方法,首先获取各级目录的目录路径对应的目录编号,再根据所述目录编号以及各级目录下所存储的文件,构建目录和文件相应的关键字Key,这种情况下,由于所述关键字Key中的目录编号所占的空间较小,且各个目录编号为唯一的,不存在重复的现象,有效节省了存储空间;另外,根据所述目录编号构建了与所述目录相对应的目录关键字Key,在需要对目录进行操作时,可直接根据目录的关键字Key获取待操作的目录,操作过程得到简化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为键值存储***中,Key-Value存储形态的示意图;
图2为本发明实施例公开的一种键值存储***中构建文件***的方法的工作流程示意图;
图3为本发明实施例公开的一种键值存储***中构建文件***的方法中,获取待读取文件的工作流程示意图;
图4为本发明实施例公开的一种键值存储***中构建文件***的方法中,获取待写入文件的工作流程示意图;
图5为本发明实施例公开的一种键值存储***中构建文件***的方法中,列出同一目录下的文件的工作流程示意图;
图6为本发明实施例公开的一种键值存储***中构建文件***的方法中,对目录进行重命名操作的工作流程示意图;
图7为本发明实施例公开的一种键值存储***中构建文件***的方法中,修改目录的路径访问权限的工作流程示意图;
图8为本发明实施例公开的一种键值存储***中构建文件***的方法中,修改文件的路径访问权限的工作流程示意图;
图9为本发明实施例公开的一种键值存储***中构建文件***的装置的结构示意图;
图10为本发明实施例公开的一种键值存储***中构建文件***的装置中,映射关系构建模块的结构示意图;
图11为本发明实施例公开的一种键值存储***中构建文件***的装置中,读取模块的结构示意图;
图12为本发明实施例公开的一种键值存储***中构建文件***的装置中,写入模块的结构示意图;
图13为本发明实施例公开的一种键值存储***中构建文件***的装置中,列出模块的结构示意图;
图14为本发明实施例公开的一种键值存储***中构建文件***的装置中,重命名模块的结构示意图;
图15为本发明实施例公开的一种键值存储***中构建文件***的装置中,目录路径权限更改模块的结构示意图;
图16为本发明实施例公开的一种键值存储***中构建文件***的装置中,文件路径权限更改模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示的KV键值存储***的结构示意图,在KV键值存储***中,预先创建关键字,即Key,并创建存储***中存储的数据,即Value,同时创建Key与Value之间的映射关系,称为Key-Value形态<Key,value>,从而能够根据关键字Key,获取KV键值存储***中存储的数据Value。
为了解决现有技术在KV键值存储***中,根据关键字Key构建文件***时存在的占用的存储空间大,在根据关键字获取存储***中存储的数据时,过程复杂繁琐的问题,本发明提出了一种键值存储***中构建文件***的方法。参见图2所示的工作流程示意图,所述键值存储***中构建文件***的方法包括以下步骤:
步骤S1、获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号dirid。
其中,每个目录对应的所述目录编号dirid为唯一的,可为“1、2、3”等数字编号。例如,在文件***中,某一目录的目录路径为“/home/patent/2011dir/”,则可为该目录路径创建一个目录编号dirid为1。相应的,而上一级目录的目录路径“/home/patent/”,也称为该目录的前缀目录,可创建另一目录编号dirid为2,当然,也可以以其他形式创建dirid,本发明不做限定。
步骤S2、根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字Key。
步骤S3、构建并存储目录、文件、目录元数据inode和文件元数据inode与所述关键字Key的映射关系。
其中所述目录元数据inode和文件元数据inode中预先存储有该目录和文件,在存储***中的索引、所属用户和访问权限等。
在根据目录编号和目录下所存储的文件构建目录和文件的关键字Key后,构建并存储目录元数据inode、文件元数据inode和所述关键字的映射关系后,能够根据所述关键字获取元数据,以得知是否具有对其进行操作的权限;当具有对其进行操作的权限后,根据关键字能够获取相应的目录和文件,以对其进行操作。
将所述关键字Key和目录与文件之间的对应关系存储,以便能够根据所述关键字获取与其相对应的目录或文件。
在本发明所公开的键值存储***中构建文件***的方法,首先获取各级目录的目录路径对应的目录编号,再根据所述目录编号以及各级目录下所存储的文件,构建目录和文件相应的关键字Key,这种情况下,由于所述关键字Key中的目录编号所占的空间较小,且各个目录编号为唯一的,不存在重复的现象,有效节省了存储空间;另外,根据所述目录编号构建了与所述目录相对应的目录关键字Key,在需要对目录进行操作时,可直接根据目录的关键字Key获取待操作的目录,操作过程得到简化。
进一步的,在步骤S2中所述的构建关键字Key的过程包括:
当所构建的关键字为目录关键字时,以所述目录对应的目录编号作为所述目录的关键字;
当所构建的关键字为完整的文件的关键字时,获取所述文件的前缀目录对应的目录编号,构建包括所述目录编号和所述文件名称的信息,作为所述文件的关键字;
所构建的关键字为分片的文件的关键字时,获取所述分片文件的前缀目录对应的目录编号以及各个文件片的编号,构建包括所述目录编号、文件名称和文件片编号的信息,作为所述各个文件片的关键字。
当构建的关键字为目录关键字时,将所述目录的目录路径对应的目录编号作为所述目录关键字即可,则目录的Key-Value形态为<dirid,value>,条目数为各级目录的总数。例如,设定目录路径“/home/patent/2011dir/”的目录编号为1时,则该目录的关键字即为1,通过该关键字及目录间的映射关系,则可获取该目录。
当所构建的关键字为完整的文件的关键字时,则所述文件的关键字包括目录编号和所述文件名称。例如,在文件***中,存储有名为“pat1”的文件,该文件的文件路径为:“/home/patent/2011dir/pat1”,那么“/home/patent/2011dir”则为该文件的前缀目录。这一前缀目录的目录编号dirid为1时,文件“pat1”的关键字可为“1/pat1”,当然,也可以采用其他形式表示。这种情况下,文件Key-Value形态为<dirid/filename,value>,其条目数为文件总数。
在KV键值存储***中,当存储的数据为文件时,可以以一个完整的文件,即一个Value的形式存储,也可以对文件切片后,以多个文件片,即多个Value的形式进行存储。当对文件切片后,为分片的文件构建关键字时,构建各个文件片的关键字时,使所述关键字包括目录编号、文件名称和文件片编号的信息。例如,将文件“pat1”分为多个文件片,各个文件片的编号为1、2、3等,则第一个文件片的关键字包括前缀目录的目录编号、文件名称和文件片的编号“1”,可以“1/pat1/1”的形式表示,当然,也可以采用其他形式表示。
在根据步骤S1至步骤S3所述的方法实现关键字的构建时,在实际应用中还需对文件***进行其他操作,例如,读取文件内容、向文件中写入数据等。
另外,文件***对外提供可移植性操作***接口(Portable OperatingSystem Interface,POSIX),而KV键值存储***对外提供的是PUT放置、GET获取、DELETE删除等简单的I/O输入/输出接口。基于键值存储***构建的文件***中,可通过调用KV键值存储***提供的各个接口与外部,如上层的应用***连接。
参见图3所示的工作流程示意图,在构建所述关键字后,当需要读取文件内容,即对KV键值存储***执行Read操作时,包括以下步骤:
步骤S11、当需要读取文件内容时,获取与待读取文件相对应的关键字;在获取所述关键字时,根据所述待读取文件的前缀目录及其文件名称,即可获取所述文件的关键字,若所述文件为分片文件时,则可根据其前缀目录、文件名称及各个文件片的编号,获取所述关键字;
步骤S12、根据所述关键字,获取所述待读取文件的元数据inode,根据所述元数据判断是否具备读访问权限,在具备时,执行步骤S13的操作,当不具备时,执行步骤S14的操作;
步骤S13、在具备读访问权限时,根据所述关键字,获取所述待读取文件,以执行读取操作;
步骤S14、结束本次操作。
上述方法中,在执行读取操作时,上层应用程序可通过GET接口从KV键值存储***中获取所述待读取文件。
在上层应用程序获取所述待读取文件后,上层应用程序会根据待读取内容的起始地址和待读取内容的大小,截取KV数据库中[offset,offset+size)的内容,并将该内容进行显示。其中,offset代表I/O操作的起始地址,size指的是某次I/O的大小,在该方法中,offset则代表本次待读取内容的起始地址,而size代表本次数据输出的大小,通过截取[offset,offset+size)的内容返回给上层应用显示,可使工作人员获得文件内的待读取内容。若所述文件为分片的文件时,则在截取[offset,offset+size)对应的多个文件片内容后,还需按照文件片编号对文件内容进行拼接后,由上层应用显示。
参见图4所示的工作流程示意图,在构建所述关键字后,当需要向文件中写入数据,即执行Write操作时,包括以下步骤:
步骤S21、当需要向文件中写入数据时,获取与待写入文件相对应的关键字;在获取所述关键字时,根据所述待读取文件的前缀目录及其文件名称,即可获取所述文件的关键字,若所述文件为分片文件时,则可根据其前缀目录、文件名称及各个文件片的编号,获取所述关键字;
步骤S22、根据所述关键字,获取所述待写入文件的元数据inode,根据所述元数据inode判断是否具备写访问权限,在具备写访问权限时,执行步骤S23的操作,当不具备写访问权限时,执行步骤S24的操作;
步骤S23、根据所述关键字,获取所述待写入文件,以执行写入操作;
步骤S24、结束本次操作。
与读取文件内容时的操作类似,在执行写入操作时,上层应用程序通过GET接口,从KV键值存储***中获取所述待写入文件,再对文件数据中的[offset,offset+size)部分的数据进行更新,将更新后的数据通过PUT接口放入KV键值存储***中。这种情况下,offset指的是待写入数据在文件中的起始地址,size指的是本次数据输入的大小。在完成写入后,通过PUT接口将所述写入后的文件存储如KV键值存储***中。
另外,在对文件数据中的[offset,offset+size)部分的数据进行更新,并将更新后的数据存入KV键值存储***中时,若待写入文件为多个文件片,则分别为各个文件片更新,再根据文件片的编号,对更新后的文件内容进行拼接后再写入所述KV键值存储***中。
参见图5所示的工作流程示意图,在构建所述关键字后,当需要列出同一目录下的文件,即对KV键值存储***执行Readdir操作时,包括以下步骤:
步骤S31、当需要列出同一目录下的文件时,获取与所述目录相对应的关键字;在获取所述关键字时,根据所述目录的目录路径,获取其对应的目录编号,即所述目录相应的关键字;
步骤S32、根据所述关键字,获取所述目录的元数据inode,根据所述元数据判断是否具备列出所述目录下所述文件的权限,当具备时,则执行步骤S33的操作,当不具备时,则执行步骤S34的操作;
步骤S33、在具备列出所述目录下所述文件的权限时,根据所述关键字,列出前缀目录的路径对应的目录编号,与所述目录的关键字相同的文件;
步骤S34、结束本次操作。
例如,当名为“pat1”的文件,其文件路径为:“/home/patent/2011dir/pat1”时,该文件的前缀目录则为“/home/patent/2011dir/”。该路径对应的目录编号与需执行操作目录的关键字相同时,则说明该文件为该目录下存储的文件,当列出前缀目录的路径对应的目录编号与所述目录的关键字相同的文件时,则实现列出了某一目录下所有的文件。
参见图6所示的工作流程示意图,在构建所述关键字后,当需对目录进行重命名,即执行rename操作时,包括以下步骤:
步骤S41、当需要对目录进行重命名时,获取与待重命名目录相对应的关键字;
步骤S42、根据所述关键字,获取所述待重命名目录的元数据inode,根据所述元数据inode判断是否具备对所述目录进行重命名的权限,当具备时,执行步骤S43的操作,当不具备时,执行步骤S46的操作;
步骤S43、在具备对所述目录进行重命名的权限时,对所述待重命名目录执行重命名操作后,构建并存储原目录对应的目录编号与所述重命名后目录的对应关系,所述原目录为未进行重命名操作的目录;
在构建原目录对应的目录编号与重命名后目录的对应关系后,则可根据原目录编号获取重命名后的目录,而不需要再构建新的目录编号。
步骤S44、构建并存储重命名后目录的子目录和嵌套子目录的目录路径,与所述子目录和嵌套子目录的目录编号间的映射关系;
在对目录进行重命名操作后,所述目录下的子目录和嵌套子目录的目录路径会发生相应的改变,因此,需要重新构建所述子目录和嵌套子目录的目录路径与目录和目录编号的映射关系,以便在根据目录编号作为关键字时,能够准确获取相应的目录。
步骤S45、删除键值存储***中,所述原目录与所述目录编号间的映射关系;
步骤S46、结束本次操作。
在步骤S44中,删除原目录与目录编号间的对应关系时,可调用DELETE接口实现。
参见图7所示的工作流程示意图,在构建所述关键字后,当需对目录的路径进行更改权限,即执行chmod操作时,包括以下步骤:
步骤S51、当需要更改目录的权限时,获取与所述目录相对应的关键字;
步骤S52、根据所述关键字,获取与其相对应的目录元数据inode,根据所述元数据判断是否具备对所述目录进行权限更改的权限,当具备时,执行步骤S53的操作,当不具备时,执行步骤S57的操作;
步骤S53、获取所述目录的父目录对应的关键字;在获取所述父目录对应的关键字时,可根据所述目录的前缀目录,得到所述父目录的目录路径,再获取与所述父目录的目录路径对应的目录编号,即能获取其对应的关键字;
步骤S54、根据所述父目录对应的关键字,获取所述父目录对应的元数据inode,根据所述元数据inode获取所述父目录路径的访问权限信息;
步骤S55、根据所述父目录路径的访问权限信息,和更新的目录访问权限信息,生成更新后的所述目录的路径访问权限,根据更新后的所述目录的路径访问权限,更新所述目录对应的目录元数据inode中的目录路径权限信息;
每个目录或文件均有两个权限,即路径访问权限和目录或文件访问权限。所述路径访问权限和目录或文件访问权限存储在各自对应的目录元数据inode或文件元数据inode中,其中,目录或文件访问权限由上层应用程序设定,在更新时,上层应用程序将更新后的目录或文件访问权限通过PUT接口,放置入所述KV键值存储***中,路径访问权限则在获取到更新后的目录或文件访问权限后,利用路径的访问权限生成规则生成。其中目录路径的访问权限生成规则为:目录路径访问权限=父目录路径访问权限&目录访问权限。
步骤S56、根据更新后的所述目录的路径访问信息,更新所述目录下的子目录及其嵌套子目录的路径访问权限信息;
步骤S57、结束本次操作。
步骤S56中,在更新所述目录下的子目录的路径访问权限信息时,将所述更新路径权限后的目录作为所述子目录的父目录,根据上层应用程序传输至KV键值存储***的所述子目录的目录访问权限信息,以及目录路径的访问权限生成规则,生成所述子目录的路径访问权限;
在更新所述嵌套子目录的路径访问权限时,将所述子目录作为所述嵌套子目录的父目录,按照上述方式,更新所述嵌套子目录的路径访问权限。
按照上述方案公开的更新路径的访问权限的信息,在某一目录的路径访问权限更改时,则更新所述目录下各级子目录、嵌套子目录的路径访问权限,并将更新后的路径访问权限信息存储至其对应的元数据inode中。
参见图8所示的工作流程示意图,在构建所述关键字后,当需对文件进行更改路径访问权限,即执行chmod操作时,包括以下步骤:
步骤S61、当需要更改文件的权限时,获取与所述文件相对应的关键字;
步骤S62、根据所述关键字,获取与其相对应的文件元数据,根据所述元数据判断是否具备对所述文件进行权限更改的权限,当具备时,执行步骤S63的操作,当不具备时,执行步骤S65的操作;
步骤S63、获取所述文件的前缀目录的路径访问权限信息;
具体在获取所述前缀目录的路径访问权限时,首先获取所述前缀目录对应的关键字,再根据所述关键字,获取所述前缀目录对应的前缀目录元数据inode,进而获取所述前缀目录的路径访问权限信息。
步骤S64、根据所述前缀目录的路径访问权限信息,和更新的文件访问权限信息,生成更新后的所述文件的路径访问权限,并更新所述文件对应的文件元数据中的文件路径权限信息;
其中,文件的路径访问权限生成规则为:文件路径访问权限=前缀目录路径访问权限&文件访问权限。
步骤S65、结束本次操作。
在本发明所公开的键值存储***中构建文件***的方法,首先获取各级目录的目录路径对应的目录编号,再根据所述目录编号以及各级目录下所存储的文件,构建目录和文件相应的关键字Key,这种情况下,由于所述关键字Key中的目录编号所占的空间较小,且各个目录编号为唯一的,不存在重复的现象,有效节省了存储空间;另外,根据所述目录编号构建了与所述目录相对应的目录关键字Key,在需要对目录进行操作时,可直接根据目录的关键字Key获取待操作的目录,操作过程得到简化。
具体来说,在现有技术中,以文件全路径作为Key,那么每个文件在键值存储***中都对应一条记录。某个目录对应的记录个数N等于其包含的所有文件个数N1及其子目录嵌套包含的所有文件个数N2的总个数,即N=N1+N2。对某个目录进行重命名操作时,需要从键值存储***中取出所有N条包含该目录的记录,将Key更新之后,再将N条记录写入键值存储***,即需要执行N次操作。
而本申请所公开的方法中,每个目录对应一个目录编号,某个目录对应的记录个数等于其包含的子目录的总个数M。此个数M远远小于现有以文件全路径作为关键字Key的技术方案二中某个目录对应的记录个数N。如对某个目录进行重命名操作时,需要从键值存储***中取出所有M条包含该目录的记录,将Key更新之后,再将M条记录写入键值存储***,即需执行M次操作。
相比较而言,现有技术中对目录进行操作时的次数N远远大于本方案公开的方法中次数M。另外,现有技术中,在执行每次操作时,Key-Value对为<文件全路径,文件内容>,而本方案公开的方法中,Key-Value对为<目录编号,目录内容>或<目录编号/文件名称,文件内容>或<目录编号/文件名称/文件片编号,文件片内容>,而目录编号、目录编号/文件名称和目录编号/文件名称/文件片编号,相较于文件全路径来说,所占的存储空间更小。
相应的,本发明还公开了一种键值存储***中构建文件***的装置,参见图9所示的结构示意图,所述装置包括:目录编号获取模块1、关键字构建模块2和映射关系构建模块3,其中,
所述目录编号获取模块1,用于获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号;
所述关键字构建模块2,用于根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字;
所述映射关系构建模块3,用于构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系。
其中,参见图10所示的结构示意图,所述映射关系构建模块3包括:第一构建单元31、第二构建单元32和第三构建单元33,其中,
所述第一构建单元31,用于所构建的关键字为目录关键字时,以所述目录对应的目录编号作为所述目录的关键字;
所述第二构建单元32,用于所构建的关键字为完整的文件的关键字时,获取所述文件的前缀目录对应的目录编号,构建包括所述目录编号和所述文件名称的信息,作为所述文件的关键字;
所述第三构建单元33,用于所构建的关键字为分片的文件的关键字时,获取所述分片文件的前缀目录对应的目录编号以及各个文件片的编号,构建包括所述目录编号、文件名称和文件片编号的信息,作为所述各个文件片的关键字。
进一步的,参见图11所示的结构示意图,所述键值存储***中构建文件***的装置还包括读取模块4,所述读取模块4包括:第一关键字获取单元41、第一判断单元42和待读取文件获取单元43,其中,
第一关键字获取单元41,用于当需要读取文件内容时,获取与待读取文件相对应的关键字;
所述第一判断单元42,用于根据所述关键字,获取所述待读取文件的元数据,根据所述元数据判断是否具备读访问权限;
待读取文件获取单元43,用于在具备读访问权限时,根据所述关键字,获取所述待读取文件,以执行读取操作。
进一步的,参见图12所示的结构示意图,所述键值存储***中构建文件***的装置还包括写入模块5,所述写入模块5包括:第二关键字获取单元51、第二判断单元52和待写入文件获取单元53,其中,
所述第二关键字获取单元51,用于当需要向文件中写入数据时,获取与待写入文件相对应的关键字;
所述第二判断单元52,用于根据所述关键字,获取所述待写入文件的元数据,根据所述元数据判断是否具备写访问权限;
所述待写入文件获取单元53,用于在具备写访问权限时,根据所述关键字,获取所述待写入文件,以执行写入操作。
进一步的,参见图13所示的结构示意图,所述键值存储***中构建文件***的装置还包括列出模块6,所述列出模块6包括:第三关键字获取单元61、第三判断单元62和列出单元63,其中,
所述第三关键字获取单元61,用于当需要列出同一目录下的文件时,获取与所述目录相对应的关键字;
所述第三判断单元62,用于根据所述关键字,获取所述目录的元数据,根据所述元数据判断是否具备列出所述目录下所述文件的权限;
所述列出单元63,用于在具备列出所述目录下所述文件的权限时,根据所述关键字,列出前缀目录的路径对应的目录编号与所述目录的关键字相同的文件。
进一步的,参见图14所示的结构示意图,所述键值存储***中构建文件***的装置还包括重命名模块7,所述重命名模块7包括:第四关键字获取单元71、第四判断单元72、重命名单元73、重命名构建单元74和删除单元75,其中,
所述第四关键字获取单元71,用于当需要对目录进行重命名时,获取与待重命名目录相对应的关键字;
所述第四判断单元72,用于根据所述关键字,获取所述待重命名目录的元数据,根据所述元数据判断是否具备对所述目录进行重命名的权限;
所述重命名单元73,用于在具备对所述目录进行重命名的权限时,对所述待重命名目录执行重命名操作后,构建并存储原目录对应的目录编号与所述重命名后目录的对应关系,所述原目录为未进行重命名操作的目录;
所述重命名构建单元74,用于构建并存储重命名后目录的子目录和嵌套子目录对应的目录路径与所述子目录和嵌套子目录的目录编号间的映射关系;
所述删除单元75,用于删除文件存储***中,所述原目录与所述目录编号间的对应关系。
进一步的,参见图15所示的结构示意图,所述键值存储***中构建文件***的装置还包括:目录路径权限更改模块8,所述目录路径权限更改模块8包括:第五关键字获取单元81、第五判断单元82、父目录路径权限获取单元83、目录路径访问权限更新单元84和子目录路径访问权限更新单元85,其中,
所述第五关键字获取单元81,用于当需要更改目录路径的访问权限时,获取与所述目录相对应的关键字;
所述第五判断单元82,用于根据所述关键字,获取相应的目录的元数据,根据所述元数据判断是否具备对所述目录进行权限更改的权限;
所述父目录路径权限获取单元83,用于在具备对所述目录进行权限更改的权限时,获取所述目录的父目录对应的关键字,并根据所述关键字获取所述父目录的路径访问权限信息;
所述目录路径访问权限更新单元84,用于根据所述父目录路径的访问权限信息,和更新的目录访问权限信息,生成更新后的所述目录的路径访问权限,并更新所述目录对应的目录元数据中的目录路径权限信息;
所述子目录路径访问权限更新单元85,用于根据更新后的所述目录的路径访问信息,更新所述目录下的子目录及其嵌套子目录对应的目录元数据中的路径访问权限信息。
进一步的,参见图16所示的结构示意图,所述键值存储***中构建文件***的装置还包括文件路径权限更改模块9,所述文件路径权限更改模块9包括:第六关键字获取单元91、第六判断单元92、前缀目录路径访问权限获取单元93和文件路径访问权限更新单元94,其中,
所述第六关键字获取单元91,用于当需要更改文件的权限时,获取与所述文件相对应的关键字;
所述第六判断单元92,用于根据所述关键字,获取与其相对应的文件元数据,根据所述元数据判断是否具备对所述文件进行权限更改的权限;
所述前缀目录路径访问权限获取单元93,用于在具备对所述文件进行权限更改的权限时,获取所述文件的前缀目录对应的关键字,并根据所述关键字获取所述前缀目录的路径访问权限信息;
所述文件路径访问权限更新单元94,用于根据所述前缀目录的路径访问权限信息,和更新的文件访问权限信息,生成更新后的所述文件的路径访问权限,并更新所述文件对应的文件元数据中的文件路径访问权限信息。
本发明所公开的键值存储***中构建文件***的装置,首先通过目录编号获取模块获取各级目录的目录路径对应的目录编号,再通过关键字构建模块根据所述目录编号以及各级目录下所存储的文件,构建目录和文件相应的关键字Key,再通过映射关系构建模块构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系。这种情况下,由于所述关键字Key中的目录编号所占的空间较小,且各个目录编号为唯一的,不存在重复的现象,有效节省了存储空间;另外,根据所述目录编号构建了与所述目录相对应的目录关键字Key,在需要对目录进行操作时,可直接根据目录的关键字Key获取待操作的目录,操作过程得到简化。
相应的,本发明还公开了一种电子设备,所述电子设备包括上述的键值存储***中构建文件***的装置,所述键值存储***中构建文件***的装置包括:目录编号获取模块、关键字构建模块和映射关系构建模块,另外,还可以包括读取模块、写入模块、列出模块、重命名模块、目录路径权限更改模块和文件权限更改模块。
相应的,本发明还公开了一种电子设备,所述电子设备包括处理器和与所述处理器相连接的存储器,其中,
所述处理器,用于获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号,根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字,并构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系;
所述存储器,用于存储包含有所述处理器运行的程序的信息。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (18)

1.一种键值存储***中构建文件***的方法,其特征在于,包括:
获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号;
根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字;
构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述构建关键字的过程包括:
所构建的关键字为目录关键字时,以所述目录对应的目录编号作为所述目录的关键字;
所构建的关键字为完整的文件的关键字时,获取所述文件的前缀目录对应的目录编号,构建包括所述目录编号和所述文件名称的信息,作为所述文件的关键字;
所构建的关键字为分片的文件的关键字时,获取所述分片文件的前缀目录对应的目录编号以及各个文件片的编号,构建包括所述目录编号、文件名称和文件片编号的信息,作为所述各个文件片的关键字。
3.根据权利要求1所述的方法,其特征在于,在构建所述关键字后,还包括:
当需要读取文件内容时,获取与待读取文件相对应的关键字;
根据所述关键字,获取所述待读取文件的元数据,根据所述元数据判断是否具备读访问权限;
在具备读访问权限时,根据所述关键字,获取所述待读取文件,以执行读取操作。
4.根据权利要求1所述的方法,其特征在于,在构建所述关键字后,还包括:
当需要向文件中写入数据时,获取与待写入文件相对应的关键字;
根据所述关键字,获取所述待写入文件的元数据,根据所述元数据判断是否具备写访问权限;
在具备写访问权限时,根据所述关键字,获取所述待写入文件,以执行写入操作。
5.根据权利要求1所述的方法,其特征在于,在构建所述关键字后,还包括:
当需要列出同一目录下的文件时,获取与所述目录相对应的关键字;
根据所述关键字,获取所述目录的元数据,根据所述元数据判断是否具备列出所述目录下所述文件的权限;
在具备列出所述目录下所述文件的权限时,根据所述关键字,列出前缀目录的路径对应的目录编号,与所述目录的关键字相同的文件。
6.根据权利要求1所述的方法,其特征在于,在构建所述关键字后,还包括:
当需要对目录进行重命名时,获取与待重命名目录相对应的关键字;
根据所述关键字,获取所述待重命名目录的元数据,根据所述元数据判断是否具备对所述目录进行重命名的权限;
在具备对所述目录进行重命名的权限时,对所述待重命名目录执行重命名操作后,构建并存储原目录对应的目录编号与所述重命名后目录的对应关系,所述原目录为未进行重命名操作的目录;
构建并存储重命名后目录的子目录和嵌套子目录对应的目录路径,与所述子目录和嵌套子目录的目录编号间的映射关系;
删除文件存储***中,所述原目录与所述目录编号间的映射关系。
7.根据权利要求1所述的方法,其特征在于,在构建所述关键字后,还包括:
当需要更改目录路径的访问权限时,获取与所述目录相对应的关键字;
根据所述关键字,获取相应的目录的元数据,根据所述元数据判断是否具备对所述目录进行权限更改的权限;
在具备对所述目录进行权限更改的权限时,获取所述目录的父目录对应的关键字,并根据所述关键字获取所述父目录的路径访问权限信息;
根据所述父目录路径的访问权限信息,和更新的目录访问权限信息,生成更新后的所述目录的路径访问权限,并更新所述目录对应的目录元数据中的目录路径权限信息;
根据更新后的所述目录的路径访问信息,更新所述目录下的子目录及其嵌套子目录对应的目录元数据中的路径访问权限信息。
8.根据权利要求1所述的方法,其特征在于,在构建所述关键字后,还包括:
当需要更改文件的权限时,获取与所述文件相对应的关键字;
根据所述关键字,获取与其相对应的文件元数据,根据所述元数据判断是否具备对所述文件进行权限更改的权限;
在具备对所述文件进行权限更改的权限时,获取所述文件的前缀目录对应的关键字,并根据所述关键字获取所述前缀目录的路径访问权限信息;
根据所述前缀目录的路径访问权限信息,和更新的文件访问权限信息,生成更新后的所述文件的路径访问权限,并更新所述文件对应的文件元数据中的文件路径访问权限信息。
9.一种键值存储***中构建文件***的装置,其特征在于,包括:
目录编号获取模块,用于获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号;
关键字构建模块,用于根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字;
映射关系构建模块,用于构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系。
10.根据权利要求9所述的装置,其特征在于,所述映射关系构建模块包括:
第一构建单元,用于所构建的关键字为目录关键字时,以所述目录对应的目录编号作为所述目录的关键字;
第二构建单元,用于所构建的关键字为完整的文件的关键字时,获取所述文件的前缀目录对应的目录编号,构建包括所述目录编号和所述文件名称的信息,作为所述文件的关键字;
第三构建单元,用于所构建的关键字为分片的文件的关键字时,获取所述分片文件的前缀目录对应的目录编号以及各个文件片的编号,构建包括所述目录编号、文件名称和文件片编号的信息,作为所述各个文件片的关键字。
11.根据权利要求9所述的装置,其特征在于,所述键值存储***中构建文件***的装置还包括读取模块,所述读取模块包括:
第一关键字获取单元,用于当需要读取文件内容时,获取与待读取文件相对应的关键字;
第一判断单元,用于根据所述关键字,获取所述待读取文件的元数据,根据所述元数据判断是否具备读访问权限;
待读取文件获取单元,用于在具备读访问权限时,根据所述关键字,获取所述待读取文件,以执行读取操作。
12.根据权利要求9所述的装置,其特征在于,所述键值存储***中构建文件***的装置还包括写入模块,所述写入模块包括:
第二关键字获取单元,用于当需要向文件中写入数据时,获取与待写入文件相对应的关键字;
第二判断单元,用于根据所述关键字,获取所述待写入文件的元数据,根据所述元数据判断是否具备写访问权限;
待写入文件获取单元,用于在具备写访问权限时,根据所述关键字,获取所述待写入文件,以执行写入操作。
13.根据权利要求9所述的装置,其特征在于,所述键值存储***中构建文件***的装置还包括列出模块,所述列出模块包括:
第三关键字获取单元,用于当需要列出同一目录下的文件时,获取与所述目录相对应的关键字;
第三判断单元,用于根据所述关键字,获取所述目录的元数据,根据所述元数据判断是否具备列出所述目录下所述文件的权限;
列出单元,用于在具备列出所述目录下所述文件的权限时,根据所述关键字,列出前缀目录的路径对应的目录编号与所述目录的关键字相同的文件。
14.根据权利要求9所述的装置,其特征在于,所述键值存储***中构建文件***的装置还包括重命名模块,所述重命名模块包括:
第四关键字获取单元,用于当需要对目录进行重命名时,获取与待重命名目录相对应的关键字;
第四判断单元,用于根据所述关键字,获取所述待重命名目录的元数据,根据所述元数据判断是否具备对所述目录进行重命名的权限;
重命名单元,用于在具备对所述目录进行重命名的权限时,对所述待重命名目录执行重命名操作后,构建并存储原目录对应的目录编号与所述重命名后目录的对应关系,所述原目录为未进行重命名操作的目录;
重命名构建单元,用于构建并存储重命名后目录的子目录和嵌套子目录对应的目录路径与所述子目录和嵌套子目录的目录编号间的映射关系;
删除单元,用于删除文件存储***中,所述原目录与所述目录编号间的映射关系。
15.根据权利要求9所述的装置,其特征在于,所述键值存储***中构建文件***的装置还包括目录路径权限更改模块,所述目录路径权限更改模块包括:
第五关键字获取单元,用于当需要更改目录路径的访问权限时,获取与所述目录相对应的关键字;
第五判断单元,用于根据所述关键字,获取相应的目录的元数据,根据所述元数据判断是否具备对所述目录进行权限更改的权限;
父目录路径权限获取单元,用于在具备对所述目录进行权限更改的权限时,获取所述目录的父目录对应的关键字,并根据所述关键字获取所述父目录的路径访问权限信息;
目录路径访问权限更新单元,用于根据所述父目录路径的访问权限信息,和更新的目录访问权限信息,生成更新后的所述目录的路径访问权限,并更新所述目录对应的目录元数据中的目录路径权限信息;
子目录路径访问权限更新单元,用于根据更新后的所述目录的路径访问信息,更新所述目录下的子目录及其嵌套子目录对应的目录元数据中的路径访问权限信息。
16.根据权利要求9所述的装置,其特征在于,所述键值存储***中构建文件***的装置还包括文件路径权限更改模块,所述文件路径权限更改模块包括:
第六关键字获取单元,用于当需要更改文件的权限时,获取与所述文件相对应的关键字;
第六判断单元,用于根据所述关键字,获取与其相对应的文件元数据,根据所述元数据判断是否具备对所述文件进行权限更改的权限;
前缀目录路径访问权限获取单元,用于在具备对所述文件进行权限更改的权限时,获取所述文件的前缀目录对应的关键字,并根据所述关键字获取所述前缀目录的路径访问权限信息;
文件路径访问权限更新单元,用于根据所述前缀目录的路径访问权限信息,和更新的文件访问权限信息,生成更新后的所述文件的路径访问权限,并更新所述文件对应的文件元数据中的文件路径访问权限信息。
17.一种电子设备,其特征在于,包括:
权利要求9至16任一项所述的键值存储***中构建文件***的装置。
18.一种电子设备,其特征在于,所述电子设备包括处理器和与所述处理器相连接的存储器,其中,
所述处理器,用于获取文件存储***中的各级目录,并获取与所述各级目录的目录路径相对应的目录编号,根据所述目录编号,以及各级目录下所存储的文件,构建目录和文件的关键字,并构建并存储目录元数据、文件元数据、目录和文件与所述关键字的映射关系;
所述存储器,用于存储包含有所述处理器运行的程序的信息。
CN201210590105.8A 2012-12-31 2012-12-31 键值存储***中构建文件***的方法、装置及电子设备 Expired - Fee Related CN103902632B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210590105.8A CN103902632B (zh) 2012-12-31 2012-12-31 键值存储***中构建文件***的方法、装置及电子设备
PCT/CN2013/087316 WO2014101583A1 (zh) 2012-12-31 2013-11-18 键值存储***中构建文件***的方法、装置及电子设备
EP13867294.4A EP2924567A4 (en) 2012-12-31 2013-11-18 METHOD, MACHINE AND ELECTRONIC DEVICE FOR CONSTRUCTING A FILE SYSTEM IN A KEY VALUE STORAGE SYSTEM
US14/754,019 US20150302111A1 (en) 2012-12-31 2015-06-29 Method and Apparatus for Constructing File System in Key-Value Storage System, and Electronic Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210590105.8A CN103902632B (zh) 2012-12-31 2012-12-31 键值存储***中构建文件***的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN103902632A true CN103902632A (zh) 2014-07-02
CN103902632B CN103902632B (zh) 2018-01-02

Family

ID=50993959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210590105.8A Expired - Fee Related CN103902632B (zh) 2012-12-31 2012-12-31 键值存储***中构建文件***的方法、装置及电子设备

Country Status (4)

Country Link
US (1) US20150302111A1 (zh)
EP (1) EP2924567A4 (zh)
CN (1) CN103902632B (zh)
WO (1) WO2014101583A1 (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202367A (zh) * 2016-07-07 2016-12-07 腾讯科技(深圳)有限公司 一种对象信息的处理方法及装置
CN106484820A (zh) * 2016-09-26 2017-03-08 华为技术有限公司 一种重命名方法、访问方法及装置
CN107870940A (zh) * 2016-09-28 2018-04-03 杭州海康威视数字技术股份有限公司 一种文件存储方法及装置
CN109101640A (zh) * 2018-08-21 2018-12-28 赛凡信息科技(厦门)有限公司 一种对象数据在文件***中的分布方案
CN109165525A (zh) * 2018-08-10 2019-01-08 深圳市智微智能科技开发有限公司 一种嵌入式安全存储数据的方法及相关产品
CN109344650A (zh) * 2018-09-25 2019-02-15 郑州云海信息技术有限公司 一种文件***的文件权限管理方法、***及相关装置
CN109463002A (zh) * 2015-11-27 2019-03-12 华为技术有限公司 向队列存储数据的方法、装置及设备
WO2019128166A1 (zh) * 2017-12-29 2019-07-04 北京忆恒创源科技有限公司 Kv存储设备以及使用kv存储设备提供文件***
CN110019016A (zh) * 2017-12-29 2019-07-16 北京忆恒创源科技有限公司 提供逻辑键的kv存储设备及其方法
CN110109866A (zh) * 2017-12-28 2019-08-09 中移(杭州)信息技术有限公司 一种文件***目录的管理方法及设备
CN110324380A (zh) * 2018-03-30 2019-10-11 北京忆芯科技有限公司 利用kv存储设备的云计算与雾计算***
CN110795442A (zh) * 2019-09-27 2020-02-14 北京浪潮数据技术有限公司 一种键值更新方法、装置、设备及可读存储介质
CN111008185A (zh) * 2019-10-29 2020-04-14 厦门网宿有限公司 一种数据共享方法、***及设备
CN111078653A (zh) * 2019-10-29 2020-04-28 厦门网宿有限公司 一种数据存储方法、***及设备
CN111108493A (zh) * 2017-09-21 2020-05-05 阿里巴巴集团控股有限公司 使用键值存储***简化文件***操作的***、方法和设备
CN111209252A (zh) * 2018-11-22 2020-05-29 杭州海康威视***技术有限公司 一种文件元数据存储方法、装置及电子设备
CN111552666A (zh) * 2020-03-23 2020-08-18 苏州沁游网络科技有限公司 一种资源获取方法、装置、设备及存储介质
CN111639151A (zh) * 2020-06-01 2020-09-08 山东汇贸电子口岸有限公司 一种全文检索的高效保存倒排索引方法
CN112015710A (zh) * 2020-08-27 2020-12-01 北京达佳互联信息技术有限公司 一种确定目录分片关系的方法及装置
CN112925755A (zh) * 2021-02-18 2021-06-08 安徽中科美络信息技术有限公司 一种文件***超长路径智能存储方法及装置
CN113190870A (zh) * 2021-05-27 2021-07-30 新华三技术有限公司 一种Redis数据库访问权限控制方法及装置
CN113590543A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 信息处理的方法、设备和计算机程序产品
CN113779235A (zh) * 2021-09-13 2021-12-10 北京市律典通科技有限公司 一种Word文档大纲识别处理方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198185B2 (en) * 2014-12-31 2019-02-05 Samsung Electronics Co., Ltd. Computing system with processing and method of operation thereof
US10346048B2 (en) 2015-04-10 2019-07-09 Samsung Electronics Co., Ltd. Electronic system with storage management mechanism and method of operation thereof
US11301422B2 (en) * 2016-02-23 2022-04-12 Samsung Electronics Co., Ltd. System and methods for providing fast cacheable access to a key-value device through a filesystem interface
US10235198B2 (en) 2016-02-24 2019-03-19 Samsung Electronics Co., Ltd. VM-aware FTL design for SR-IOV NVME SSD
US10425483B2 (en) 2016-05-16 2019-09-24 International Business Machines Corporation Distributed client based cache for keys using demand fault invalidation
US10552062B2 (en) 2017-03-20 2020-02-04 Samsung Electronics Co., Ltd. System and method for storing very large key value objects
US10795760B2 (en) 2017-03-20 2020-10-06 Samsung Electronics Co., Ltd. Key value SSD
US11275762B2 (en) 2017-03-20 2022-03-15 Samsung Electronics Co., Ltd. System and method for hybrid data reliability for object storage devices
US11030155B2 (en) 2017-04-26 2021-06-08 Samsung Electronics Co., Ltd. Key value file system
US20180364937A1 (en) 2017-06-20 2018-12-20 Samsung Electronics Co., Ltd. System and method for managing memory device
US10691340B2 (en) 2017-06-20 2020-06-23 Samsung Electronics Co., Ltd. Deduplication of objects by fundamental data identification
US10715177B2 (en) 2017-06-20 2020-07-14 Samsung Electronics Co., Ltd. Lossy compression drive
US11182694B2 (en) 2018-02-02 2021-11-23 Samsung Electronics Co., Ltd. Data path for GPU machine learning training with key value SSD
US11392544B2 (en) 2018-02-06 2022-07-19 Samsung Electronics Co., Ltd. System and method for leveraging key-value storage to efficiently store data and metadata in a distributed file system
CN112988749A (zh) * 2018-03-14 2021-06-18 北京忆芯科技有限公司 通过kv存储设备响应检索请求的方法及装置
US11023419B2 (en) * 2018-08-13 2021-06-01 Sap Se Folder key management
US11099790B2 (en) 2019-01-10 2021-08-24 Samsung Electronics Co., Ltd. Parallel key value based multithread machine learning leveraging KV-SSDS
CN110659257B (zh) * 2019-09-05 2022-04-22 北京浪潮数据技术有限公司 一种元数据对象修复方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716179B1 (en) * 2009-10-29 2010-05-11 Wowd, Inc. DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users
CN101719141A (zh) * 2009-12-24 2010-06-02 成都市华为赛门铁克科技有限公司 基于目录对象的文件处理方法和***
CN101957861A (zh) * 2010-10-18 2011-01-26 江苏大学 新型元数据服务器集群和基于调整表的元数据管理方法
CN102314480A (zh) * 2011-07-05 2012-01-11 万达信息股份有限公司 一种针对海量数据的分布式数据存储方法
CN102819599A (zh) * 2012-08-15 2012-12-12 华数传媒网络有限公司 在一致性哈希数据分布基础上构建层次目录的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857204A (en) * 1996-07-02 1999-01-05 Ab Initio Software Corporation Restoring the state of a set of files
JP4085255B2 (ja) * 2002-09-26 2008-05-14 富士フイルム株式会社 デジタルカメラ及び画像通信方法
US20050086192A1 (en) * 2003-10-16 2005-04-21 Hitach, Ltd. Method and apparatus for improving the integration between a search engine and one or more file servers
US8086896B2 (en) * 2009-12-28 2011-12-27 International Business Machines Corporation Dynamically tracking virtual logical storage units
US8600998B1 (en) * 2010-02-17 2013-12-03 Netapp, Inc. Method and system for managing metadata in a cluster based storage environment
WO2011127440A2 (en) * 2010-04-08 2011-10-13 University Of Washington Through Its Center For Commercialization Systems and methods for file access auditing
US8689298B2 (en) * 2011-05-31 2014-04-01 Red Hat, Inc. Resource-centric authorization schemes
JP5782364B2 (ja) * 2011-11-08 2015-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のファイルを列挙した情報を生成する装置及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716179B1 (en) * 2009-10-29 2010-05-11 Wowd, Inc. DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users
CN101719141A (zh) * 2009-12-24 2010-06-02 成都市华为赛门铁克科技有限公司 基于目录对象的文件处理方法和***
CN101957861A (zh) * 2010-10-18 2011-01-26 江苏大学 新型元数据服务器集群和基于调整表的元数据管理方法
CN102314480A (zh) * 2011-07-05 2012-01-11 万达信息股份有限公司 一种针对海量数据的分布式数据存储方法
CN102819599A (zh) * 2012-08-15 2012-12-12 华数传媒网络有限公司 在一致性哈希数据分布基础上构建层次目录的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEXANDER AMES 等: "Richer File System Metadata Using Links and Attributes", 《22ND IEEE/13TH NASA GODDARD CONFERENCE ON MASS STORAGE SYSTEMS AND TECHNOLOGIES》 *
Richer File System Metadata Using Links and Attributes;Alexander Ames 等;《22nd IEEE/13th NASA Goddard Conference on Mass Storage Systems and Technologies》;20050414;第52页第1栏第4-5段,第56页第1栏最后一段,图2 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109463002B (zh) * 2015-11-27 2023-09-22 华为技术有限公司 向队列存储数据的方法、装置及设备
CN109463002A (zh) * 2015-11-27 2019-03-12 华为技术有限公司 向队列存储数据的方法、装置及设备
WO2018006682A1 (zh) * 2016-07-07 2018-01-11 腾讯科技(深圳)有限公司 对象信息的处理方法、装置及存储介质
US11281632B2 (en) 2016-07-07 2022-03-22 Tencent Technology (Shenzhen) Company Limited Object information processing method and apparatus, and storage medium
CN106202367A (zh) * 2016-07-07 2016-12-07 腾讯科技(深圳)有限公司 一种对象信息的处理方法及装置
CN106484820B (zh) * 2016-09-26 2020-01-17 华为技术有限公司 一种重命名方法、访问方法及装置
CN106484820A (zh) * 2016-09-26 2017-03-08 华为技术有限公司 一种重命名方法、访问方法及装置
CN107870940A (zh) * 2016-09-28 2018-04-03 杭州海康威视数字技术股份有限公司 一种文件存储方法及装置
CN107870940B (zh) * 2016-09-28 2021-06-18 杭州海康威视数字技术股份有限公司 一种文件存储方法及装置
CN111108493B (zh) * 2017-09-21 2023-06-20 阿里巴巴集团控股有限公司 使用键值存储***简化文件***操作的***、方法和设备
CN111108493A (zh) * 2017-09-21 2020-05-05 阿里巴巴集团控股有限公司 使用键值存储***简化文件***操作的***、方法和设备
CN110109866A (zh) * 2017-12-28 2019-08-09 中移(杭州)信息技术有限公司 一种文件***目录的管理方法及设备
WO2019128166A1 (zh) * 2017-12-29 2019-07-04 北京忆恒创源科技有限公司 Kv存储设备以及使用kv存储设备提供文件***
CN110019016A (zh) * 2017-12-29 2019-07-16 北京忆恒创源科技有限公司 提供逻辑键的kv存储设备及其方法
CN110324380A (zh) * 2018-03-30 2019-10-11 北京忆芯科技有限公司 利用kv存储设备的云计算与雾计算***
CN109165525A (zh) * 2018-08-10 2019-01-08 深圳市智微智能科技开发有限公司 一种嵌入式安全存储数据的方法及相关产品
CN109101640A (zh) * 2018-08-21 2018-12-28 赛凡信息科技(厦门)有限公司 一种对象数据在文件***中的分布方案
CN109344650A (zh) * 2018-09-25 2019-02-15 郑州云海信息技术有限公司 一种文件***的文件权限管理方法、***及相关装置
CN111209252A (zh) * 2018-11-22 2020-05-29 杭州海康威视***技术有限公司 一种文件元数据存储方法、装置及电子设备
CN110795442A (zh) * 2019-09-27 2020-02-14 北京浪潮数据技术有限公司 一种键值更新方法、装置、设备及可读存储介质
CN110795442B (zh) * 2019-09-27 2022-04-22 北京浪潮数据技术有限公司 一种键值更新方法、装置、设备及可读存储介质
CN111008185A (zh) * 2019-10-29 2020-04-14 厦门网宿有限公司 一种数据共享方法、***及设备
CN111078653A (zh) * 2019-10-29 2020-04-28 厦门网宿有限公司 一种数据存储方法、***及设备
CN111008185B (zh) * 2019-10-29 2023-08-18 厦门网宿有限公司 一种数据共享方法、***及设备
CN111078653B (zh) * 2019-10-29 2023-03-24 厦门网宿有限公司 一种数据存储方法、***及设备
CN111552666A (zh) * 2020-03-23 2020-08-18 苏州沁游网络科技有限公司 一种资源获取方法、装置、设备及存储介质
CN113590543A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 信息处理的方法、设备和计算机程序产品
CN111639151A (zh) * 2020-06-01 2020-09-08 山东汇贸电子口岸有限公司 一种全文检索的高效保存倒排索引方法
CN112015710A (zh) * 2020-08-27 2020-12-01 北京达佳互联信息技术有限公司 一种确定目录分片关系的方法及装置
CN112015710B (zh) * 2020-08-27 2023-11-21 北京达佳互联信息技术有限公司 一种确定目录分片关系的方法及装置
CN112925755A (zh) * 2021-02-18 2021-06-08 安徽中科美络信息技术有限公司 一种文件***超长路径智能存储方法及装置
CN113190870A (zh) * 2021-05-27 2021-07-30 新华三技术有限公司 一种Redis数据库访问权限控制方法及装置
CN113779235A (zh) * 2021-09-13 2021-12-10 北京市律典通科技有限公司 一种Word文档大纲识别处理方法及装置
CN113779235B (zh) * 2021-09-13 2024-02-02 北京市律典通科技有限公司 一种Word文档大纲识别处理方法及装置

Also Published As

Publication number Publication date
WO2014101583A1 (zh) 2014-07-03
US20150302111A1 (en) 2015-10-22
CN103902632B (zh) 2018-01-02
EP2924567A4 (en) 2016-04-06
EP2924567A1 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
CN103902632A (zh) 键值存储***中构建文件***的方法、装置及电子设备
US10452484B2 (en) Systems and methods for time-based folder restore
US10430398B2 (en) Data storage system having mutable objects incorporating time
CN103064639B (zh) 数据存储方法及装置
EP3103025B1 (en) Content based organization of file systems
JP2012531675A5 (zh)
US20080282355A1 (en) Document container data structure and methods thereof
CN103902623A (zh) 用于在存储***上存取文件的方法和***
CN103384256A (zh) 一种云存储方法及装置
CN102402602A (zh) 一种实时数据库的b+树索引方法及装置
CN102930035A (zh) 从多个不同的内容源导出内容项
JP2005302038A (ja) Bツリー中の連続キーの名前を変更する方法およびシステム
WO2014008856A1 (en) Method and apparatus for file storage
CN104778192A (zh) 表示可内容寻址存储***的目录结构
US10838944B2 (en) System and method for maintaining a multi-level data structure
KR20100046160A (ko) 제1 백업 프로그램을 이용하여 생성된 객체의 백업 사본을 제2 백업 프로그램을 이용하여 생성된 백업 사본으로 변환하기 위한 방법 및 시스템
CN109491962A (zh) 一种文件目录树管理方法及相关装置
CN111857557B (zh) Raid类型转换的方法、设备和计算机程序产品
KR101364356B1 (ko) 대용량 데이터 저장을 위한 심볼릭 링크를 이용한 확장 가능한 저장 방법 및 장치
EP2339445A2 (en) File management information storage apparatus and method and program for controlling the same
CN103078845A (zh) 访问控制列表的校验方法和共享存储***
CN104903871A (zh) 虚拟磁带库***
CN109558082B (zh) 分布式文件***
WO2023249753A1 (en) File system metadata layout for append-only storage
CN106227830A (zh) 存储和读取文件的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180102

Termination date: 20201231

CF01 Termination of patent right due to non-payment of annual fee