文件存储方法及装置制造方法

文档序号:6486874阅读:186来源:国知局
文件存储方法及装置制造方法
【专利摘要】本发明公开一种文件存储方法及装置,其方法包括:记录父文件夹的元信息,保存在主key中;当父文件夹下包括至少一子文件夹列表和/或文件列表时,将父文件夹下的至少一子文件夹列表和/或文件列表的内容保存至基于主key的副key中。本发明实现了数据的无限扩展,且在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。相比现有技术,本发明将大数据分拆成多个key来保存,使得数据均匀,提高了系统数据库的数据存储稳定性,更利于数据的扩容以及系统业务运营。
【专利说明】文件存储方法及装置
【技术领域】
[0001]本发明涉及计算机数据存储【技术领域】,尤其涉及一种文件存储方法及装置。
【背景技术】
[0002]传统的PC系统通常采用目录树文件夹+文件的存储模式来对文件进行存储,其数据存储结构如图1所示。其中,最顶层的文件夹称为根目录,根目录下的文件夹列表称为子目录。每个文件夹都可以保存子文件夹和文件列表,各文件夹、子文件夹和文件列表构成一种递归的数据结构。
[0003]在上述树形结构存储模式中,采用key-value数据库来保存数据,即,每个文件夹作为一个key保存,value则作为当前文件夹的子目录列表和文件名。其存储记录关系如图2所示。在图2中,椭圆圈内表示以其左边的folderkey保存一条记录的value。
[0004]现有的这种树形结构中,在每次读取目录树时,需要逐层拉取数据。即首先必须拉取根目录,然后再拉取下一层的目录,不能越级拉取目录信息。而且,对于一般的key-value数据库来说,每层文件夹和文件列表的数据不能太大,数据过大则会影响系统性能。
[0005]因此,当某个用户的文件夹或者文件增多时,则可能遇到来自底层的数据访问性能瓶颈,尤其是在现有的网络文件系统中,比如QQ相册、网盘,云存储等应用,采用现有的数据存储结构,则会遭遇存储与访问上的性能瓶颈,因为大数据将导致存储和访问上的困难,当数据大到系统支撑的阀值时,则需要采用更为复杂的系统来解决大数据问题;此外,现有的数据存储结构中,数据的分布无法控制,对于key-value数据库,则是依据key来路由,因此,不同的Fo I derkey需要写到不同的网络存储块,而网络存储块采用固定的规则分配,无法考虑到数据存储的扩容以及特定的需求等问题。

【发明内容】

[0006]本发明的主要目的在于提供一种文件存储方法及装置,旨在提高数据存储稳定性及可扩展性,达到无限制文件夹系统目录树的存储目的。
[0007]为了达到上述目的,本发明提出一种文件存储方法,包括以下步骤:
[0008]记录父文件夹的元信息,保存在主key中;
[0009]当所述父文件夹下包括至少一子文件夹列表和/或文件列表时,将所述父文件夹下的所述至少一子文件夹列表和/或文件列表的内容保存至基于所述主key的副key中。
[0010]优选地,所述副key为多个,每个所述副key分别独立保存相应的子文件夹列表和/或文件列表的内容。
[0011 ] 优选地,该方法还包括:
[0012]在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表。
[0013]优选地,所述在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表的步骤之后还包括:[0014]更新所述主key中的元信息。
[0015]优选地,所述记录父目录下文件夹的元信息,保存在主key中的步骤之前还包括:
[0016]基于所述主key生成所述副key。
[0017]优选地,所述主key保存的元信息至少包括:当前最大文件标识、当前数据所在set、文件删除信息和/或文件夹及文件的写入时间。
[0018]本发明还提出一种文件存储装置,包括:
[0019]主存储模块,用于记录父文件夹的元信息,保存在主key中;
[0020]副存储模块,用于当所述父文件夹下包括至少一子文件夹列表和/或文件列表时,将所述父文件夹下的所述至少一子文件夹列表和/或文件列表的内容保存至基于所述主key的副key中。
[0021]优选地,所述副key为多个,每个所述副key分别独立保存相应的子文件夹列表和/或文件列表的内容。
[0022]优选地,该装置还包括:
[0023]处理模块,用于在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表;
[0024]更新模块,用于更新所述主key中的元信息。
[0025]优选地,该装置还包括:
[0026]生成模块,用于基于所述主key生成所述副key。
[0027]本发明提出的一种文件存储方法及装置,改变现有的目录树数据的存储模式,采用父文件夹以主key写一条元信息,其文件夹列表和文件列表以多个副key的方式写入数据,从而实现了数据的无限扩展,且在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。相比现有技术,本发明将大数据分拆成多个key来保存,使得数据均匀,提高了系统数据库的数据存储稳定性,更利于数据的扩容以及系统业务运营。
【专利附图】

【附图说明】
[0028]图1是现有技术中目录树式的数据存储结构示意图;
[0029]图2是图1所示的数据存储结构中的存储记录关系示意图;
[0030]图3是本发明文件存储方法第一实施例的流程示意图;
[0031]图4是本发明中父文件夹的主key保存的元信息结构示意图;
[0032]图5是本发明中以主key以及其副key构成的数据存储结构示意图;
[0033]图6是本发明文件存储方法第二实施例的流程示意图;
[0034]图7是本发明文件存储方法第三实施例的流程示意图;
[0035]图8是本发明文件存储装置第一实施例的结构示意图;
[0036]图9是本发明文件存储装置第二实施例的结构示意图;
[0037]图10是本发明文件存储装置第三实施例的结构示意图。
[0038]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
【具体实施方式】[0039]本发明实施例解决方案主要是:不使用唯一的一个key保存某个文件夹的文件夹列表和文件列表,而是采用以主key保存父文件夹的元信息,以多个副key的形式保存父文件夹下的多个子文件夹列表和文件列表,以实现数据的无限扩展,避免数据累积变大时遭遇来自底层存储的瓶颈。
[0040]如图3所示,本发明第一实施例提出一种文件存储方法,包括:
[0041]步骤S101,记录父文件夹的元信息,保存在主key中;
[0042]步骤S102,当所述父文件夹下包括至少一子文件夹列表和/或文件列表时,将所述父文件夹下的所述至少一子文件夹列表和/或文件列表的内容保存至基于所述主key的副key中。
[0043]本实施例针对现有的目录树数据存储结构,将原来的某个父目录的数据(包括文件夹列表和文件列表)采用一个parentkey保存一条数据的方式,改变为以父目录的parentkey作为主key写入一条元信息,该父目录的文件夹列表和文件夹列表则采用多个副key的方式,写入多条数据,达到无限制文件夹系统目录树存储的目的。
[0044]上述父目录可以为目录树结构中的根目录。
[0045]本实施例设定父目录所在文件夹为父文件夹,父目录下的各文件夹列表和文件列表为子文件夹列表和文件列表,其中,每个父文件夹作为一条主数据,具有独立性,每个父文件夹有一个主key对应,其子文件夹和文件列表保存在基于上述主key的副key中。
[0046]所述父文件夹下可以有数据,也可以没有数据,即父文件夹下可以包括至少一子文件夹列表和/或文件列表;也可以为空文件夹,没有文件夹列表和文件列表。当父文件夹为空文件夹时,则仅将父文件夹的元信息写入主key中。
[0047]如图4所示,图4为本实施例中父文件夹的主key保存的元信息结构示意图,该兀信息包括:Key> Parentkey> FolderNum、MaxFieID> SeticU Delinfo、TimeStampl 以及TimeStamp2,其中:
[0048]Key即为父文件夹的主key,该主key为整个文件系统的核心数据结构,用于标识父文件夹的关键字;在整个系统中,主key是唯一的,其所有的副key均与主key关联,而各副key之间又相互独立,因此,整个系统的主key和副key不会重复。
[0049]Parentkey为当前父文件夹的上一级的父文件夹的主key ;FolderNum表示目前总的子文件夹的数量,用于记录每个父文件夹的子文件夹的个数,这样当子文件夹数量增多时,用于处理子文件夹列表存储的逻辑,如果子文件夹列表多到无法在一档数据中存储时,则可以根据次FolderNum计算其所在副key,即对文件夹列表数据也进行分档,达到无限制存储子文件夹内容的目的。
[0050]当增加子文件夹时,FolderNum+1,当删除子文件夹时,FolderNum的值不改变,其作用是根据一定的逻辑,计算子文件夹数据由哪些副key来存储,由此,再根据这些副key拉取子文件夹列表。
[0051]MaxFileID用于标识当前的最大的文件id (标识);
[0052]Setid表示当前数据所在的set。根据Setid将子文件夹列表和文件的数据写在不同的set。在网络文件系统中,通常由很多机器组成一个集群,这样的一个集群可以称为一个set。在大型的存储架构中,一个set通常是一个管理单元,包括扩容、迁移、上架以及下架等。简单的说,一个set是一组机器(通常为10-30台,或者更多),在这组机器上部署了一个存储系统完成工作所必须的模块,比如,接入模块、逻辑处理模块、数据库模块等。因此,一个set可以独立运营,是一个逻辑完备的存储系统。
[0053]DelInfo用于保存删除的文件信息,文件夹删除则不需要记录删除信息;
[0054]TimeStampl, TimeStamp2表示最近所写子文件夹和文件的时间。
[0055]上述副key可以设置为多个,每个所述副key分别独立保存相应的子文件夹列表和/或文件列表的内容。该副key基于主key而生成,比如可以采用主key+数字的方式生成副key,当然也可以采用其他方式生成副key。
[0056]本实施例以主key以及其副key构成的数据存储结构如图5所示。
[0057]其中,主key记录并保存父文件夹的元信息,主key下包含多个副key,用于分别记录父文件夹下各个子文件夹列表和文件列表;每个副key可以保存多个子文件夹列表和/或文件列表。
[0058]多个副key可以按照0_N档的顺序依次编号,若文件夹列表太大,则可以从-1档开始存储,此时元信息中所述的Foldernum在拉取文件夹列表时则起着很重要的作用。如前所述,FolderNum表示目前总的子文件夹的数量,当子文件夹数量增多时,用于处理子文件夹列表存储的逻辑,如果子文件夹列表多到无法在一档数据中存储时,则可以根据次FolderNum计算其所在副key ;当增加子文件夹时,FoIderNum+1,当删除子文件夹时,FolderNum的值不改变,其作用是根据一定的逻辑,计算子文件夹数据由哪些副key来存储,由此,再根据这些副key拉取子文件夹列表。其中,每个档的数据条数一定,在系统初始化时配置,后续不再改变。
[0059]由上述数据存储结构可以看出,由于每个父文件夹具有一个主key对应,其子文件夹列表和文件列表通过副key保存,每个文件夹和文件数据存储相对独立,由此,使得文件夹具有递归性,数据存储可以无限扩展,且在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。尤其是针对网络文件系统中,比如若将上述数据存储方案应用到QQ空间相册的图片存储,用户创建了很多相册,相册中有很多相片。这里相册对应文件夹,相片则对应文件。采用上述无限制的文件目录存储方案,则可以使存储用户存储上万张图片和多个相册的需求得到了满足。因为相对于用户的数据增长来说,不会遇到数据存储和访问上的瓶颈。此外,本实施例方案还可以应用其他方面,比如网盘,云存储等。
[0060]此外,本实施例改进了数据的扩展属性,能够平衡数据的大小,将大数据分拆成多个key来保存,使得数据分布均匀,数据库保存数据的性能更好,进而提高了系统数据服务的稳定性;由于数据存储结构得到扩充,同时引进了 setid概念,从而改进了数据的扩容性,更利于系统长期稳定运营。当然,本实施例上述数据存储结构,为数据的读写操作提供了更大的方便。
[0061]需要说明的是,作为本实施例的扩展,对于每一个子文件夹之下还可以设置多个子文件夹列表和/或文件列表,并对应设置相应的副key来进行数据保存。
[0062]如图6所示,本发明第二实施例提出一种文件存储方法,在上述第一实施例的基础上,在上述步骤S102之后还包括:
[0063]步骤S103,在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表。[0064]步骤S104,更新所述主key中的元信息。
[0065]本实施例与上述第一实施例的区别在于,本实施例还包括对后续文件夹内容的添加、删除或重命名等操作。
[0066]具体地,在后续文件处理过程中,若有需要添加、删除或重命名文件夹或文件,则采用以下操作方式:
[0067]对于文件夹的处理
[0068]若需要新建一子文件夹,则在父文件夹中相应的副key中保存该子文件夹的内容,同时更新父文件夹主key的元信息;或者根据实际需要,在父文件夹中添加一副key,在该副key中保存该子文件夹的内容,同时更新父文件夹主key的元信息。
[0069]若需要删除某一子文件夹keyfolder,则修改父文件夹的相关信息,删除该子文件夹的所有信息,同时更新父文件夹主key的元信息。
[0070]若需要重命名某子文件夹,则将原来的子文件夹的所有内容读出,被采用新的子文件夹来写一份数据,以新的子文件夹的副key写入数据,并把原来的子文件夹的副key中保存的数据删除。
[0071]对于文件的处理:
[0072]若需要添加一个文件,则修改其父文件夹的属性,并且在父文件夹parentkey的副key中写一条数据,并保存文件名;同时更新父文件夹主key的元信息。
[0073]若需要删除文件,则直接删除其父文件夹parentkey的副key中的某个数据,并且修改该父文件夹的元信息。
[0074]若需要重命名文件,直接修改其父文件夹parentkey的副key中的某个数据,并且修改该父文件夹的元信息。
[0075]本实施例不仅实现了数据的无限扩展,在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。而且将大数据分拆成多个key来保存,使得数据均匀,对数据的读写操作更加方便,提高了系统数据库的数据存储稳定性,更利于数据的扩容以及系统业务运营。
[0076]图7所示,本发明第三实施例提出一种文件存储方法,在上述第一实施例的基础上,在上述步骤SlOl记录父目录下文件夹的元信息,保存在主key中的步骤之前还包括:
[0077]步骤S100,基于所述主key生成所述副key。
[0078]本实施例与上述第一实施例的区别在于,本实施例还包括生成副key的过程。具体地,该副key采用主key+数字的方式生成,由此,使得副key与主key相关联,达到无限制文件夹系统目录树存储的目的,提高数据存储的可扩展性。
[0079]需要说明的是,上述第二实施例与第三实施例还可以组合实施。
[0080]如图8所示,本发明第一实施例提出一种文件存储装置,包括:主存储模块801以及副存储模块802,其中:
[0081]主存储模块801,用于记录父文件夹的元信息,保存在主key中;
[0082]副存储模块802,用于当所述父文件夹下包括至少一子文件夹列表和/或文件列表时,将所述父文件夹下的所述至少一子文件夹列表和/或文件列表的内容保存至基于所述主key的副key中。
[0083]本实施例针对现有的目录树数据存储结构,将原来的某个父目录的数据(包括文件夹列表和文件列表)采用一个parentkey保存一条数据的方式,改变为以父目录的parentkey作为主key写入一条元信息,该父目录的文件夹列表和文件夹列表则采用多个副key的方式,写入多条数据,达到无限制文件夹系统目录树存储的目的。
[0084]上述父目录可以为目录树结构中的根目录。
[0085]具体地,通过主存储模块801记录父文件夹的元信息并保存在主key中;通过副存储模块802将父文件夹下的子文件夹列表和文件列表的内容保存至基于主key的副key中。
[0086]本实施例设定父目录所在文件夹为父文件夹,父目录下的各文件夹列表和文件列表为子文件夹列表和文件列表,其中,每个父文件夹作为一条主数据,具有独立性,每个父文件夹有一个主key对应,其子文件夹和文件列表保存在基于上述主key的副key中。
[0087]所述父文件夹下可以有数据,也可以没有数据,即父文件夹下可以包括至少一子文件夹列表和/或文件列表;也可以为空文件夹,没有文件夹列表和文件列表。当父文件夹为空文件夹时,则仅将父文件夹的元信息写入主key中。
[0088]如图4所示,图4为本实施例中父文件夹的主key保存的元信息结构示意图,该兀信息包括:Key> Parentkey> FolderNum、MaxFieID> Setid、Delinfo、TimeStampl 以及TimeStamp2,其中:
[0089]Key即为父文件夹的主key,该主key为整个文件系统的核心数据结构,用于标识父文件夹的关键字;在整个系统中,主key是唯一的,其所有的副key均与主key关联,而各副key之间又相互独立,因此,整个系统的主key和副key不会重复。
[0090]Parentkey为当前父文件夹的上一级的父文件夹的主key ;FolderNum表示目前总的子文件夹的数量,用于记录每个父文件夹的子文件夹的个数,这样当子文件夹数量增多时,用于处理子文件夹列表存储的逻辑,如果子文件夹列表多到无法在一档数据中存储时,则可以根据次FolderNum计算其所在副key,即对文件夹列表数据也进行分档,达到无限制存储子文件夹内容的目的。
[0091]当增加子文件夹时,FolderNum+Ι,当删除子文件夹时,FolderNum的值不改变,其作用是根据一定的逻辑,计算子文件夹数据由哪些副key来存储,由此,再根据这些副key拉取子文件夹列表。
[0092]MaxFileID标识当前的最大的文件id (标识);
[0093]Setid表示当前数据所在的set。根据Setid将子文件夹列表和文件的数据写在不同的set。在网络文件系统中,通常由很多机器组成一个集群,这样的一个集群可以称为一个set。在大型的存储架构中,一个set通常是一个管理单元,包括扩容、迁移、上架以及下架等。简单的说,一个set是一组机器(通常为10-30台,或者更多),在这组机器上部署了一个存储系统完成工作所必须的模块,比如,接入模块、逻辑处理模块、数据库模块等。因此,一个set可以独立运营,是一个逻辑完备的存储系统。
[0094]DelInfo用于保存删除的文件信息,文件夹删除则不需要记录删除信息;
[0095]TimeStampl, TimeStamp2表示最近所写子文件夹和文件的时间。
[0096]上述副key可以设置为多个,每个所述副key分别独立保存相应的子文件夹列表和/或文件列表的内容。该副key基于主key而生成,比如可以采用主key+数字的方式生成副key,当然也可以采用其他方式生成副key。[0097]本实施例以主key以及其副key构成的数据存储结构如图5所示。
[0098]其中,主key记录并保存父文件夹的元信息,主key下包含多个副key,用于分别记录父文件夹下各个子文件夹列表和文件列表;每个副key可以保存多个子文件夹列表和/或文件列表。
[0099]多个副key可以按照0_N档的顺序依次编号,若文件夹列表太大,则可以从-1档开始存储。此时元信息中所述的Foldernum在拉取文件夹列表时则起着很重要的作用。如前所述,FolderNum表示目前总的子文件夹的数量,当子文件夹数量增多时,用于处理子文件夹列表存储的逻辑,如果子文件夹列表多到无法在一档数据中存储时,则可以根据次FolderNum计算其所在副key ;当增加子文件夹时,FoIderNum+1,当删除子文件夹时,FolderNum的值不改变,其作用是根据一定的逻辑,计算子文件夹数据由哪些副key来存储,由此,再根据这些副key拉取子文件夹列表。其中,每个档的数据条数一定,在系统初始化时配置,后续不再改变。
[0100]由上述数据存储结构可以看出,由于每个父文件夹具有一个主key对应,其子文件夹列表和文件列表通过副key保存,每个文件夹和文件数据存储相对独立,由此,使得文件夹具有递归性,数据存储可以无限扩展,且在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。尤其是针对网络文件系统中,比如若将上述数据存储方案应用到QQ空间相册的图片存储,用户创建了很多相册,相册中有很多相片。这里相册对应文件夹,相片则对应文件。采用上述无限制的文件目录存储方案,则可以使存储用户存储上万张图片和多个相册的需求得到了满足。因为相对于用户的数据增长来说,不会遇到数据存储和访问上的瓶颈。此外,本实施例方案还可以应用其他方面,比如网盘,云存储等。
[0101]此外,本实施例改进了数据的扩展属性,能够平衡数据的大小,将大数据分拆成多个key来保存,使得数据分布均匀,数据库保存数据的性能更好,进而提高了系统数据服务的稳定性;由于数据存储结构得到扩充,同时引进了 setid概念,从而改进了数据的扩容性,更利于系统长期稳定运营。当然,本实施例上述数据存储结构,为数据的读写操作提供了更大的方便。
[0102]如图9所示,本发明第二实施例提出一种文件存储装置,在上述第一实施例的基础上,还包括:
[0103]处理模块803,用于在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表;
[0104]更新模块804,用于更新所述主key中的元信息。
[0105]本实施例与上述第一实施例的区别在于,本实施例还包括对后续文件夹内容的添加、删除或重命名等操作。
[0106]具体地,在后续文件处理过程中,若有需要添加、删除或重命名文件夹或文件,则采用以下操作方式:
[0107]对于文件夹的处理
[0108]若需要新建一子文件夹,处理模块803则在父文件夹中相应的副key中保存该子文件夹的内容,同时更新父文件夹主key的元信息;或者根据实际需要,在父文件夹中添加一副key,在该副key中保存该子文件夹的内容,同时通过更新模块804更新父文件夹主key的元信息。
[0109]若需要删除某一子文件夹keyfolder,处理模块803则修改父文件夹的相关信息,删除该子文件夹的所有信息,同时通过更新模块804更新父文件夹主key的元信息。
[0110]若需要重命名某子文件夹,处理模块803则将原来的子文件夹的所有内容读出,被采用新的子文件夹来写一份数据,以新的子文件夹的副key写入数据,并把原来的子文件夹的副key中保存的数据删除。同时通过更新模块804更新父文件夹主key的元信息。
[0111]对于文件的处理:
[0112]若需要添加一个文件,处理模块803则修改其父文件夹的属性,并且在父文件夹parentkey的副key中写一条数据,并保存文件名;同时通过更新模块804更新父文件夹主key的元信息。
[0113]若需要删除文件,处理模块803则直接删除其父文件夹parentkey的副key中的某个数据,并通过更新模块804修改该父文件夹的元信息。
[0114]若需要重命名文件,则处理模块803直接修改其父文件夹parentkey的副key中的某个数据,并通过更新模块804修改该父文件夹的元信息。
[0115]本实施例不仅实现了数据的无限扩展,在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。而且将大数据分拆成多个key来保存,使得数据均匀,对数据的读写操作更加方便,提高了系统数据库的数据存储稳定性,更利于数据的扩容以及系统业务运营。
[0116]如图10所示,本发明第三实施例提出一种文件存储装置,在上述第一实施例的基础上,还包括:
[0117]生成模块800,用于基于所述主key生成所述副key。
[0118]本实施例与上述第一实施例的区别在于,本实施例还包括生成副key的过程。具体地,生成模块800采用主key+数字的方式生成该副key,由此,使得副key与主key相关联,达到无限制文件夹系统目录树存储的目的,提高数据存储的可扩展性。
[0119]需要说明的是,上述第二实施例与第三实施例还可以组合实施。
[0120]本实施例文件存储方法及装置,改变现有的目录树数据的存储模式,采用父文件夹以主key写一条元信息,其文件夹列表和文件列表以多个副key的方式写入数据,从而实现了数据的无限扩展,且在数据累积变大的情况下,可避免来自底层数据存储的瓶颈,达到无限制文件夹系统目录树存储的目的。相比现有技术,本发明将大数据分拆成多个key来保存,使得数据均匀,提高了系统数据库的数据存储稳定性,更利于数据的扩容以及系统业务运营。
[0121]以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种文件存储方法,其特征在于,包括以下步骤: 记录父文件夹的元信息,保存在主key中; 当所述父文件夹下包括至少一子文件夹列表和/或文件列表时,将所述父文件夹下的所述至少一子文件夹列表和/或文件列表的内容保存至基于所述主key的副key中。
2.根据权利要求1所述的方法,其特征在于,所述副key为多个,每个所述副key分别独立保存相应的子文件夹列表和/或文件列表的内容。
3.根据权利要求1所述的方法,其特征在于,还包括: 在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表。
4.根据权利要求3所述的方法,其特征在于,所述在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表的步骤之后还包括: 更新所述主key中的元信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述记录父目录下文件夹的元信息,保存在主key中的步骤之前还包括: 基于所述主key生成所述副key。
6.根据权利要求5所述的方法,其特征在于,所述主key保存的元信息至少包括:当前最大文件标识、当前数据所在set、文件删除信息和/或文件夹及文件的写入时间。
7.一种文件存储装置,其特征在于,包括: 主存储模块,用于记录父文件夹的元信息,保存在主key中; 副存储模块,用于当所述父文件夹下包括至少一子文件夹列表和/或文件列表时,将所述父文件夹下的所述至少一子文件夹列表和/或文件列表的内容保存至基于所述主key的副key中。
8.根据权利要求7所述的装置,其特征在于,所述副key为多个,每个所述副key分别独立保存相应的子文件夹列表和/或文件列表的内容。
9.根据权利要求7所述的装置,其特征在于,还包括: 处理模块,用于在相应的副key中添加、删除或重命名所述父文件夹下的子文件夹列表和/或文件列表; 更新模块,用于更新所述主key中的元信息。
10.根据权利要求7、8或9所述的装置,其特征在于,还包括: 生成模块,用于基于所述主key生成所述副key。
【文档编号】G06F17/30GK103544156SQ201210238427
【公开日】2014年1月29日 申请日期:2012年7月10日 优先权日:2012年7月10日
【发明者】唐孟松 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1