文件储存系统和文件储存路径记录方法

文档序号:6627543阅读:477来源:国知局
文件储存系统和文件储存路径记录方法
【专利摘要】本发明涉及数据储存领域,具体而言,涉及文件储存系统和文件储存路径记录方法。该文件储存系统至少一个储存体系,储存体系包括多个前继节点和多个终端节点;每个终端节点能与任意的前继节点,和/或任意的储存文件,和/或任意的终端节点进行关联;每个前继节点能与其他的任意的前继节点关联,或与任意的终端节点进行关联;至少一个终端节点和指定的前继节点按照预设的关联关系进行关联,以形成至少一个储存体系,即使储存路径发生了改变,只需要调整前继节点和终端节点之间的映射关系,来形成新的路径,而不需要改变文件储存位置,从而避免了在不同的储存体系中,储存同一文件时,会造成储存系统资源浪费的问题,从而解决了现有技术中的不足。
【专利说明】文件储存系统和文件储存路径记录方法

【技术领域】
[0001] 本发明涉及数据储存领域,具体而言,涉及文件储存系统和文件储存路径记录方 法。

【背景技术】
[0002] 现代化社会中,随着自动化程度的提高,计算机已经成为了生产生活中不可获取 的一个部分。使用计算机的前提便是对计算机进行编程和在计算机内部储存数量足够多的 文件以及应用程序,以使其具有各种各样的功能。
[0003] 对计算机进行编程、储存文件,或者安装应用程序的过程,从本质上来看,都是将 数据内容写入计算机的一个过程。以储存文件为例进行说明,传统的储存方式是将待储存 的文件储存到预设的储存位置(某储存空间中),其中,预设的储存位置是通过多级限定的 方式来指明的,如可以将某文件储存到C盘一A文件夹一B子文件夹中,这样通过多个层级 的重复限定方式,使得某文件最终被储存到B子文件夹中,当然也可以说某文件是储存到A 文件夹,或者C盘中。其中,C盘、A文件夹和B子文件夹可以认为是节点,C盘是祖先节点, A文件夹是父节点,B子文件夹是子节点,祖先节点(C盘)所对应的是一个范围较大的储存 空间,A文件夹和B子文件夹分别是这个范围较大的储存空间的某一个部分,B子文件夹又 是在A文件夹的从属文件夹。
[0004] 随着使用,发现了一个问题,就是在创建文件,或者说明文件位置的时候会产生选 择性的困难。具体而言,如某公司的"财务报表.xls"文件,根据不同使用的需要,需要存 储在不同的位置上,也就是需要"财务报表.xls"有多种存储路径,比如放在:"D :\A公司 \职能\财务文件夹"中,也可能放在"D :\职能\财务\A公司文件夹中"。如餐饮行业中 需要在计算机内部储存文件"肯德基饮食规划",可以存放在"C :餐饮\肯德基\规划文件 夹中",也可以存放在"C:肯德基\餐饮\规划\3-5年规划文件夹"。其中,C:肯德基\餐 饮\规划\3_5年规划文件夹"和"C :餐饮\肯德基\规划文件夹中"是不同的储存体系,也 就是说,根据使用者不同的需求,需要将内容完全相同的文件储存在不同的文件夹中,但现 有的储存系统里面,同一个文件只能直接储存在一个文件夹(储存体系)中,因此,为了解 决这个问题,只能在其他的文件夹(储存体系)中储存相同的文件,因此而造成了同一个文 件被重复储存到了系统的各个角落,造成了大量的内存资源的占用,浪费了系统资源。
[0005] 综上,现有技术中,在不同的储存体系中,储存同一文件时,会造成储存系统资源 的浪费。


【发明内容】

[0006] 本发明的目的在于提供文件储存系统和文件储存路径记录方法,以解决上述的问 题。
[0007] 在本发明的实施例中提供了文件储存系统,包括:至少一个储存体系,储存体系包 括多个前继节点和多个终端节点;
[0008] 每个终端节点能与任意的前继节点,和/或任意的储存文件,和/或任意的终端节 点进行关联;
[0009] 每个前继节点能与其他的任意的前继节点关联,或与任意的终端节点进行关联;
[0010] 至少一个终端节点和指定的前继节点按照预设的关联关系进行关联,以形成至少 一个储存体系。
[0011] 优选的,每个终端节点均包括储存空间,储存空间内记录有与指定的终端节点相 关联的储存文件。
[0012] 优选的,每个储存空间与其他任意的储存空间均是相互独立的。
[0013] 优选的,每个前继节点均包括储存空间,储存空间内记录有与指定的前继节点相 关联的储存文件。
[0014] 优选的,关联关系包括包含关系和映射关系。
[0015] 本发明实施例还提供了文件储存路径记录方法,基于文件储存系统,包括:
[0016] 获取预设的储存路径,储存路径包括按照预设顺序关联的多个前继节点和多个终 端节点;
[0017] 分别记录每个前继节点与其他前继节点的关联关系和每个终端节点与每个前继 节点的关联关系,以形成节点关联关系;
[0018] 将预先获取的待储存文件储存到指定的位置,以确定储存地址;
[0019] 将储存地址与指定的终端节点进行关联,以生成储存关联关系;
[0020] 记录储存关联关系、节点关联关系和储存地址。
[0021] 优选的,还包括:
[0022] 根据储存路径,确认直接相邻的两个前继节点,或直接相邻的前继节点和终端节 点,以确定多个直接关联组;
[0023] 根据每个前继节点和每个终端节点的节点编号,记录每个直接关联组中的两个节 点编号和关联顺序,以确定节点关联关系。
[0024] 优选的,根据每个前继节点和每个终端节点的节点编号,记录每个直接关联组中 的两个节点编号和关联顺序还包括:
[0025] 根据前继节点的编号和终端节点的编号,生成节点关联表,节点关联表的行表头 列出了前继节点的节点编号和终端节点的节点编号,节点关联表的列表头列出了前继节点 的节点编号和终端节点的节点编号,节点关联表的每个元素中记载了列表头中,或行表头 中与元素相对应的直接关联的前继节点与前继节点的关联关系,或直接关联的前继节点与 终端节点的关联关系。
[0026] 本发明实施例提供的文件储存系统,与现有技术中的一个文件只能直接储存在一 个节点(文件夹)中,导致了当一个文件需要直接储存在不同的文件时,必须在每个文件夹 中均进行储存,造成储存系统资源的浪费相比,其通过使每个终端节点能与任意的前继节 点,和/或任意的储存文件,和/或任意的终端节点进行关联;每个前继节点能与其他的任 意的前继节点关联,或与任意的终端节点进行关联,使文件只需要储存在一个与终端节点 相关联的储存位置,进而通过多级关联的方式,将前继节点与前继节点相关联,前继节点与 终端节点相关联,或者终端节点与终端节点相关,进而使储存体系包括了顺序连接的多个 前继节点,和至少一个终端节点,也就是即使储存路径发生了改变,或者需要使用多个路径 来引用文件,只需要调整前继节点和终端节点之间的映射关系,来形成新的路径,而不需要 改变文件储存位置,从而避免了在不同的储存体系中,储存同一文件时,会造成储存系统资 源浪费的问题,从而解决了现有技术中的不足。

【专利附图】

【附图说明】
[0027] 图la示出了本发明相关技术中的储存路径图;
[0028] 图lb示出了本发明所提供的文件储存系统的一种储存路径图;
[0029] 图2示出了本发明所提供的文件储存系统的另一种储存路径图;
[0030] 图3示出了本发明所提供的文件储存路径记录方法流程图;
[0031] 图4示出了本发明所提供的文件储存路径记录方法的节点关联图;
[0032] 图5示出了本发明所提供的文件储存系统的复合节点关联图。

【具体实施方式】
[0033] 下面通过具体的实施例子并结合附图对本发明做进一步的详细描述。
[0034] 本发明实施例1提供了文件储存系统,包括:至少一个储存体系,储存体系包括多 个前继节点和多个终端节点;
[0035] 每个终端节点能与任意的前继节点,和/或任意的储存文件,和/或任意的终端节 点进行关联;
[0036] 每个前继节点能与其他的任意的前继节点关联,或与任意的终端节点进行关联;
[0037] 至少一个终端节点和指定的前继节点按照预设的关联关系进行关联,以形成至少 一个储存体系。
[0038] 如图la所示,提供了相关技术中,所使用的储存体系,2. xls只有一个路径:root : \C\F\2.xls。也就是不管哪个文件都只能存储在同一个节点(文件夹)下,且都是由同一 个祖先节点(根节点,或root)引出的。造成这种情况的原因是每个父节点均包含了指定 的子节点(储存空间上也是包含的关系),并且父节点之间不会相互嵌套(不会产生储存位 置相互交界的情况)。如此,子节点一定是属于父节点的子集,属于父节点的一部分。这样 的系统,如果需要在E或G中储存文件,同样需要将文件多次进行储存,由于存储到了不同 的储存位置,导致了相同的数据资源反复占用了系统的储存空间。
[0039] 图lb中提供了本发明所提供的文件储存系统的基本架构图。图中的root并没有 实际含义,可以由其他的前继节点所替代。前、后继节点与父子节点的差别在于,前继节点 之间并不必然有包含和被包含的关系,各个前继节点和后继节点之间的储存空间可以是相 互独立的。这样,在设置保存路径的时候,可以通过关联,或者通过映射的方式,来设置保存 的路径。比如图lb中的文件2. xls可以具有如下几种储存路径:(1),root :\C\F\2. xls ; (2)root :\D\F\2. xls ; (3)root :\D\G\2. xls〇
[0040] 如此设置,能够使路径保存的更加合理。
[0041] 具体如,C的名字可以是饮食,D可以是餐饮,F是肯德基,文件2. xls是规划表。 肯德基是属于饮食,也是属于餐饮的一部分,而2. xls是肯德基在一定时间内的计划,因而 F可以根据具体的情况不同,分别被C和D进行关联。
[0042] 如在某公司中,不同的部分均需要看到财务报表,财务报表属于财务部的管理下, 也就是图中的F可以是财务部,2. xls是财务报表,C和D可以分别是两个想查询工资的部 分,如C为工程部,D为销售部,这两个部分都想通过财务部来查询工资数量,这样,可以使 用(1),root :\C\F\2. xls ; (2)root :\D\F\2. xls ;方式进行查询,而传统的系统储存方式只 能是,在C和D文件夹下面分别建立F子文件夹,再分别在各自的F子文件夹下放置财务报 表。随着财务报表需要查询数量和需要查询财务报表的部分数量的增加,财务报表需要储 存在无限多个子文件夹中,这必然会大大消耗系统的储存空间,最终可能会拖垮系统。
[0043] 并且,终端节点可以被其他的终端节点,或者其他的前继节点所引用。原因在于, 在某个被引用的文件夹中可能包括有子文件夹,也可能会存在文件,也就是终端节点中所 存储的文件可能是被引用的终点,也可能是被引用的一个"前继节点"具体情况中,终端节 点是作为终点,还是作为前继节点的,需要看终端节点在某一个路径中所起到的作用。任意 一个路径的目的是通过该路径能够反映出一个文件的储存位置和储存方式。不同的使用 者,或者不同的储存方法需要同一个文件以不同的储存路径来体现出来。N和M中分别记录 有需要查看的数据,当路径为A/B/C/D. . . /N/2. xls的时候,N就是作为终端节点,路径的结 尾是引用了 N中的文件;相应的,当路径为A/B/C/D. . . /N/M/3. xls,N的作用与前继节点相 同,是被引用的节点,但这并不影响他在其他的路径中作为终端节点被使用。
[0044] 如此设计前继节点和终端节点,能够使储存在不同位置的文件被任意引用,也就 可以使使用者根据不同的使用需求来设置路径,当然也可以是相互嵌套的关系,也就是类 似于相关技术中父子节点的关系,即可以是C节点的储存空间完全被D节点的储存空间所 包括,当然也可以是C节点的储存空间的一部分被D节点的储存空间所包括,也就是两个节 点的储存空间互有交集的情况。这样,可以优化储存路径和储存方式,也就是既有储存空间 相互交界的节点,也有储存空间互不影响的节点。引用的时候便可以是C/D/C...比如C为 餐饮,D为某餐饮公司,那么餐饮可以是在中国大环境下的餐饮行业,某餐饮公司(D)必然 属于中国餐饮行业内的一部分,同时,某餐饮公司除了在餐饮行业有发展,还在其他的行业 有发展,那么在某餐饮公司中,餐饮就是其一小部分,因为某餐饮公司还有其他的生意。这 样的两个,或者多个节点相互嵌套的形式,是现有的系统中无法具备的。如图2所示,便是 相互嵌套的一种形式,图中节点A和B是作为相互嵌套的对象存在的。
[0045] 同样,还可以是逻辑上的包含与被包含的关系。如C为餐饮,D为肯德基。那么餐 饮通常包含有肯德基0),也就是储存的空间上,肯德基(D)的储存文件必然储存在餐饮的 内部,但逻辑上,仍然可以使肯德基(D)来作为餐饮的关联节点。即C/D/C...。
[0046] 进一步,每个终端节点均包括储存空间,储存空间内记录有与指定的终端节点相 关联的储存文件。
[0047] 与终端节点相关联的储存文件可以是储存在终端节点内部的储存空间中,这样有 利于文件的调用。
[0048]同时,每个储存空间与其他任意的储存空间均是相互独立的。传统文件存储系统 是紧凑的文件顺序存储,比如在空的存储区域中,第一次存储文件1?文件8,传统文件存 储会将8个文件紧密地排列在一起。当其中文件例如文件3膨胀时(文件3中被添加数据), 由于文件3的前后文件已经占用存储空间,于是文件3只能通过链向另一个空白区域去存 储新的内容,于是文件3就形成了碎片存储。而本发明所提供的文件储存系统(MDNFS)是 通过HASH散列式的文件空间存储,各个储存空间是相互独立的,比如在空的存储区域中, 第一次存储文件1?文件8, MDNFS会将这8个文件分散稀松地存储在地磁盘的空间上,这 样当文件3需要膨胀时,可以直接在连续的空间上存储,不会形成碎片存储。传统的存储带 来的碎片存取,随着使用的频繁,文件效率会逐步降低。而MDNFS在碎片存取的机率大大降 低,文件存取效率会优于传统文件系统。
[0049] 如前文中的描述,随着使用状态和使用原因的改变,终端节点可以作为终端节点 (文件储存的终点)存在,也可以作为前继节点(存在),同样,每个前继节点也有属于自己 的储存空间,储存空间内部,同样可以储存有指定的文件。随着使用的需求前继节点同样可 以成为终端节点。每个前继节点均包括储存空间,储存空间内记录有与指定的前继节点相 关联的储存文件。
[0050] 如前文,前继节点与前继节点、前继节点与终端节点、终端节点与终端节点的关系 可以是如父子节点的包含与被包含的关系,也可以是节点之间相互关联的方也就是式,关 联关系包括包含关系和映射关系。这样,在处理复杂的关系时,有利于理清条理和路径,便 于因各种使用环境进行调整。
[0051] 本发明所提供的文件储存系统对于描述复杂的工程体系更加具有针对性。随着工 业水平的提高,工程系统由单一的链式关系(线式关系)转变为了二维的平面连接关系,正 如相关技术中的节点关联图,如图la所示,受严格的父子节点的相对关系所限定。随着工 程复杂度的提高,节点与节点直接的关系不在是简单的包含关系(父子节点的关联关系), 而是变成了映射、包含、映射+包含的复杂关联关系。如图5所示,目录A和目录D分别是 两个节点,其中在这一角度下,目录D是被目录A所包含的,但,如果将这个立体化的节点模 型旋转一定的角度,目录A与目录D就不在是包含关系,而是变成了映射关系,正如进行统 计时,某些情况下,集合A是集合B的子集,但当前提条件改变的情况下,二者的关系就发生 了变化。如果按照传统的节点关联模式,是不可能将一个立体的节点模型描述清楚的,进一 步,当节点关系发生了改变的时候,则需要将节点关系完全重置,再进行关联,这对一个成 型的完整系统的影响无疑是巨大的。反观本发明所提供的文件储存系统,由于采用了映射、 包含、映射+包含的关联方式,使得节点与节点之间的关系更加明朗,而且在需要调整的时 候,只需要改变映射关系,而不需要对储存的文件进行调整,大大降低了修改节点关系时的 系统工作量。
[0052] 本发明实施例提供的文件储存系统,通过使每个终端节点能与任意的前继节点, 和/或任意的储存文件,和/或任意的终端节点进行关联;每个前继节点能与其他的任意的 前继节点关联,或与任意的终端节点进行关联,使文件只需要储存在一个与终端节点相关 联的储存位置,进而通过多级关联的方式,将前继节点与前继节点相关联,前继节点与终端 节点相关联,或者终端节点与终端节点相关,进而使储存体系包括了顺序连接的多个前继 节点,和至少一个终端节点,也就是即使储存路径发生了改变,或者需要使用多个路径来引 用文件,只需要调整前继节点和终端节点之间的映射关系,来形成新的路径,而不需要改变 文件储存位置,并且通过使每个节点(前继节点和终端节点)均有独立的储存空间,使得储 存的数据在修改之后,文件仍然是连续的,从而避免了在不同的储存体系中,储存同一文件 时,会造成储存系统资源浪费的问题,从而解决了现有技术中的不足。
[0053] 本发明实施例2提供了文件储存路径记录方法,基于实施例1的文件储存系统,如 图3所示,包括如下步骤:
[0054] S101,获取预设的储存路径,储存路径包括按照预设顺序关联的多个前继节点和 多个终端节点;
[0055] S102,分别记录每个前继节点与其他前继节点的关联关系和每个终端节点与每个 前继节点的关联关系,以形成节点关联关系;
[0056] S103,将预先获取的待储存文件储存到指定的位置,以确定储存地址;
[0057] S104,将储存地址与指定的终端节点进行关联,以生成储存关联关系;
[0058] S105,记录储存关联关系、节点关联关系和储存地址。
[0059] 步骤S101中,需要使用者根据需要定义储存的路径,也就是节点之间的相互关 系。具体如A/B/C/D ;D/C/B/A等。关联顺序是指A、B、C和D哪个在前,也就是排列、引用 的顺序,这是使用者根据具体需求而定的。
[0060] 步骤S102中,对多个节点进行顺序关联的基础,便是相邻的两个节点进行关联。 也就是需要将直接相互关联的两个节点,记录关联关系。
[0061] 步骤S103中,需要将文件储存到指定位置,才能够确定地址信息。
[0062] 步骤S104中,需要记录储存地址与终端节点的关联关系,也就是通过终端节点, 既能够查询到储存的文件。
[0063] 步骤S105中,对前面几个步骤中确定的储存关联关系、节点关联关系和储存地址 进行记录即可。其中节点关联关系是指节点之间是否关联,和哪个是关联,哪个是被关联 的。储存关联关系是指明了文件的储存位置,也就是储存地址。
[0064] 进一步,该方法还包括:
[0065] 根据储存路径,确认直接相邻的两个前继节点,或直接相邻的前继节点和终端节 点,以确定多个直接关联组;
[0066] 根据每个前继节点和每个终端节点的节点编号,记录每个直接关联组中的两个节 点编号和关联顺序,以确定节点关联关系。
[0067] 一个完整的路径是由多个相互直接关联的节点(前继节点和终端节点)构成的。 也就是分别记录节点两两关联关系,便能够确定出一条完整的路径。关联顺序是指明了两 个直接关联的节点中,哪个是关联,哪个是被关联,如A/B/C...中,B被A关联,C被B关联, A关联B,B关联C。
[0068] 进一步,根据每个前继节点和每个终端节点的节点编号,记录每个直接关联组中 的两个节点编号和关联顺序还包括:
[0069] 根据前继节点的编号和终端节点的编号,生成节点关联表,节点关联表的行表头 列出了前继节点的节点编号和终端节点的节点编号,节点关联表的列表头列出了前继节点 的节点编号和终端节点的节点编号,节点关联表的每个元素中记载了列表头中,或行表头 中与元素相对应的直接关联的前继节点与前继节点的关联关系,或直接关联的前继节点与 终端节点的关联关系。
[0070] 为了便于记录关联关系和关联顺序,可以使用节点关联表进行记录,具体表格如 下表1所示:
[0071]

【权利要求】
1. 文件储存系统,其特征在于,包括:至少一个储存体系,所述储存体系包括多个前继 节点和多个终端节点; 每个终端节点能与任意的前继节点,和/或任意的储存文件,和/或任意的终端节点进 行关联; 每个前继节点能与其他的任意的前继节点关联,或与任意的终端节点进行关联; 至少一个所述终端节点和指定的前继节点按照预设的关联关系进行关联,以形成至少 一个储存体系。
2. 根据权利要求1所述的文件储存系统,其特征在于,每个所述终端节点均包括储存 空间,所述储存空间内记录有与指定的所述终端节点相关联的储存文件。
3. 根据权利要求2所述的文件储存系统,其特征在于,每个所述储存空间与其他任意 的储存空间均是相互独立的。
4. 根据权利要求1所述的文件储存系统,其特征在于,每个所述前继节点均包括储存 空间,所述储存空间内记录有与指定的所述前继节点相关联的储存文件。
5. 根据权利要求1所述的文件储存系统,其特征在于,所述关联关系包括包含关系和 映射关系。
6. 文件储存路径记录方法,基于权利要求1-5所述的文件储存系统,其特征在于,包 括: 获取预设的储存路径,所述储存路径包括按照预设顺序关联的多个前继节点和多个终 端节点; 分别记录每个前继节点与其他前继节点的关联关系和每个终端节点与每个前继节点 的关联关系,以形成节点关联关系; 将预先获取的待储存文件储存到指定的位置,以确定储存地址; 将所述储存地址与指定的所述终端节点进行关联,以生成储存关联关系; 记录所述储存关联关系、所述节点关联关系和储存地址。
7. 根据权利要求6所述的文件储存路径记录方法,其特征在于,还包括: 根据所述储存路径,确认直接相邻的两个前继节点,或直接相邻的前继节点和终端节 点,以确定多个直接关联组; 根据每个前继节点和每个终端节点的节点编号,记录每个直接关联组中的两个节点编 号和关联顺序,以确定节点关联关系。
8. 根据权利要求7所述的文件储存路径记录方法,其特征在于,所述根据每个前继节 点和每个终端节点的节点编号,记录每个直接关联组中的两个节点编号和关联顺序还包 括: 根据所述前继节点的编号和所述终端节点的编号,生成节点关联表,所述节点关联表 的行表头列出了所述前继节点的节点编号和终端节点的节点编号,所述节点关联表的列表 头列出了所述前继节点的节点编号和终端节点的节点编号,所述节点关联表的每个元素中 记载了所述列表头中,或行表头中与所述元素相对应的直接关联的前继节点与前继节点的 关联关系,或直接关联的前继节点与终端节点的关联关系。
【文档编号】G06F17/30GK104239528SQ201410480302
【公开日】2014年12月24日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】盛杰, 聂强 申请人:深圳市心讯网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1