一种文件系统超长路径智能存储方法及装置与流程

文档序号:25361177发布日期:2021-06-08 15:38阅读:210来源:国知局
一种文件系统超长路径智能存储方法及装置与流程

1.本发明涉及文件管理技术领域,具体涉及一种文件系统超长路径智能存储方法及装置。


背景技术:

2.随着信息化技术的发展,政府越来越多的把政务服务转到互联网上处理。为了方便群众查阅,在进行信息化平台搭建时候,需要将相关文件分门别类以目录树的形式进行展示。通常情况下,需要按照地区、部门、年份、月份、文件主题、文件内容提要等依次建立目录树。而且,为了方便文件的检索,文件或者文件夹的名字是以摘要命名的,对于内容比较复杂的文档,其对应的摘要会比较长,有的摘要可能有数百字,比较长。在实际日志系统中,不同用户在不同时间段访问地区、部门、年份、月份、文件主题、文件内容产生的日志如果按照不同的文件夹存储的话,产生的目录树的深度可能会更深。
3.为了存储上述文件,操作系统在启用win32长路径后,列入清单的win32应用程序和windows应用商店应用程序即可在支持每节点260个字符标准限制的文件系统上访问超出该限制的路径,启用此设置将导致在进程中可以访问长路径。但是,即使启动长路径路的windowsntfs也仅能支持路径总长度长达32768个字符的路径名。如果路径长度超过了32768的限制之后,系统仍然无法实现存储。也就是说,现有技术中仍然存在超长路径无法存储的技术问题。


技术实现要素:

4.本发明所要解决的技术问题在于如何存储超长路径。
5.本发明通过以下技术手段实现解决上述技术问题的:
6.本发明提供了一种文件系统超长路径智能存储方法,所述方法包括:
7.获取待处理路径的长度,并判断所述待处理路径的长度是否大于第一预设阈值;
8.若是,根据路径分节符将待处理路径分为若干个路径段,获取所述路径段的标记,使用所述标记替换对应路径段,得到目标路径并存储;
9.将对应的路径段存储在文档中,并为标记与该路径段建立映射表。
10.可选的,所述获取所述路径段的标记,包括:
11.针对路径段,利用关键字提取算法提取出路径段的关键字,将所述关键字作为标记。
12.可选的,所述获取所述路径段的标记,包括:
13.判断路径段对应的字符长度是否超过第二预设阈值;
14.若是,利用关键字提取算法提取出该路径段的关键字,将所述关键字作为标记。
15.可选的,所述获取所述路径段的标记,包括:
16.利用关键词提取算法提取出当前路径段中的关键词,或者利用关键词提取算法提取出当前路径段对应的该层级的目录树中各个文件夹和/或文件名称中的关键词,或者利
用关键词提取算法提取出当前路径段对应的该层级的目录树中所有文件的关键词;
17.根据关键词的词频进行排序,得到第一词频序列,从第一词频序列中选择出设定数量个顺序次序对应的关键词作为标记;
18.可选的,所述从第一词频序列中选择出设定数量个顺序次序对应的关键词作为标记,包括:
19.在获取当前路径段对应的第一词频序列时,将已经在当前路径段之前的路径段中出现的关键词剔除出第一词频序列,得到第二词频序列;
20.从第二词频序列中选择出设定数量个顺序次序对应的关键词作为标记。
21.可选的,所述方法还包括:
22.获取向用户展示的文件夹对应的当前路径,判断当前路径中的末尾路径段是否为标记;
23.若是,根据所述标记与预先建立的映射表查询出对应的目标内容,并将所述目标内容替换所述末尾路径段显示。
24.可选的,在将所述目标内容替换所述末尾路径段显示之后,所述方法还包括:
25.当用户打开目标内容所在路径的下级文件夹之后,使用末尾路径段替换目标内容显示。
26.本发明还提供了一种文件系统超长路径智能存储装置,所述装置包括:
27.判断模块,用于获取待处理路径的长度,并判断所述待处理路径的长度是否大于第一预设阈值;
28.获取模块,用于在所述判断模块的判断结果为是的情况下,根据路径分节符将待处理路径分为若干个路径段,获取所述路径段的标记,使用所述标记替换对应路径段,得到目标路径并存储;
29.建立模块,用于将对应的路径段存储在文档中,并为标记与该路径段建立映射表。
30.可选的,获取模块,用于:
31.针对路径段,利用关键字提取算法提取出路径段的关键字,将所述关键字作为标记。
32.可选的,获取模块,用于:
33.判断路径段对应的字符长度是否超过第二预设阈值;
34.若是,利用关键字提取算法提取出该路径段的关键字,将所述关键字作为标记。
35.可选的,所述装置还包括:第一替换模块,用于:
36.获取向用户展示的文件夹对应的当前路径,判断当前路径中的末尾路径段是否为标记;
37.若是,根据所述标记与预先建立的映射表查询出对应的目标内容,并将所述目标内容替换所述末尾路径段显示。
38.可选的,第二替换模块,用于:
39.当用户打开目标内容所在路径的下级文件夹之后,使用末尾路径段替换目标内容显示。
40.本发明的优点在于:
41.应用本发明实施例,通过将超长的待处理路径的路径段进行压缩得到压缩后的标
记,将路径段存储在文件中,而且建立了标记与路径段之间的映射关系,由于文件中存储的字符数远远大于32768,且没有字符数的限制,因此,可以存储超长的路径。
附图说明
42.图1为本发明实施例提供的一种文件系统超长路径智能存储方法的流程示意图;
43.图2为本发明实施例提供的一种文件系统超长路径智能存储装置的结构示意图。
具体实施方式
44.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.实施例1
46.图1为本发明实施例提供的一种文件系统超长路径智能存储方法的流程示意图,如图1所示,本发明实施例提供了一种文件系统超长路径智能存储方法,所述方法包括:
47.s101:获取待处理路径的长度,并判断所述待处理路径的长度是否大于第一预设阈值,若是,执行s102;若否,结束循环。
48.示例性的:
49.下面本发明实施例以超长的待处理路径为例进行说明:
50.获取的待处理路径的为:
51.c:\路径段

1\路径段

2\路径段

3\路径段

4\路径段

5\路径段

6。
52.由于路径过长,为方便描述,为每一个路径段进行编号,由于待处理路径的总长度已经超过了第一预设阈值,如26000个字符;执行s102步骤。进一步的,还可以将第一预设阈值设为32768;然后在使用软件或者人工生成待处理路径时,当生成的路径的总字符数量达到了32678时,可以按照本发明实施例处理用户在当前时刻输入的路径段;对于已经输入的路径段也可以按照本发明实施例处理。
53.需要强调的是,本发明实施例中第一预设阈值的取值一般为32768的80%;目的是为在该待处理路径之后新增新的路径段留下一定的空间,提高系统的可扩展性。
54.需要强调的是,用户在打开目标文件所在的文件夹时,系统向用户显示的文件存储路径仅到存储该文件的文件夹。但是,对于该文件夹中的每一个文件来说,其对应的待处理路径还应当包括该文件的文件名。也就是说,本发明实施例所述的待处理路径的末尾路径段,即路径段

6为文件的名称。
55.s102:根据路径分节符将待处理路径分为若干个路径段,获取所述路径段的标记,使用所述标记替换对应路径段,得到目标路径并存储。
56.在本发明实施例的第一种具体实施方式中,以路径段

2为例进行说明。
57.在实际应用中,用户通常会逐层翻找文件夹查找对应的文件,在查找到疑似文件夹之后,然后一一点击打开文件夹中的文件查找。如果文件夹中图片较多,或者图片数据量较大,或者文件页数较多的情况下,用户打开文件查看该文件是否是自己想找的目标文件时打开速度会比较慢;进一步的,如果文件中包含的内容较多时,用户浏览起来比较费劲,
因此现有的这种文件查找方式比较耗费时间。为了避免用户频繁打开文件导致的时间浪费,方便用户查看以及检索各个文件夹;在本发明实施例中,针对每一个文件以摘要的方式,或者以重点内容摘抄的方式放在文件名称中,即形成了路径段

2的内容;同时,按照文件夹中包含的文件和/或包含的下级文件夹的摘要或者关键内容命名该文件夹,进而形成层级达到数十甚至上百级的庞大的文件存储树,多个类似路径段

2的内容按照目录层级进行拼接,进而得到了待处理路径。这样可能会导致文件名称加上文件存储路径的总字符数超出系统设置的上限。
58.为了解决上述问题,本发明实施例中为每一个路径段预设第二预设阈值个字符长度,例如可以500个字符,在路径段

2的字符数超出了500个字符数时,利用关键字提取算法提取出路径段

2的关键字,关键字可以为文档中出现频率较高的词语,这些关键词可以对应文件的摘要,文件中终点内容的摘抄。将这些关键字作为标记,然后将路径段

2的内容存储在txt文档中,并执行s103步骤以建立txt文档中的路径段

2的内容与标记的映射表。
59.在本发明实施例的第二种具体实施方式中,为了节约目标路径的长度,在提取关键词的过程中,按照从前往后的顺序针对每一个当前路径段进行如下处理:
60.利用关键词提取算法提取出当前路径段中的关键词,或者利用关键词提取算法提取出当前路径段对应的该层级的目录树中各个文件夹和/或文件名称中的关键词,或者利用关键词提取算法提取出当前路径段对应的该层级的目录树中所有文件的关键词。根据关键词的词频进行排序,得到第一词频序列,从第一词频序列中选择出设定数量个顺序次序对应的关键词作为标记;然后按照上述方法处理每一个路径段,得到各个路径段对应的标记。
61.例如,在生成针对路径段

2的关键词时,得到的关键词分别为a、b、c、d、然后对各个关键词按照词频大小排序,例如,排序结果为bdca;在设定数量的值为2的情况下,将关键词b和d作为路径段

2的标记。
62.更进一步的,在获取当前路径段对应的第一词频序列时,将已经在当前路径段之前的路径段中出现的关键词剔除出第一词频序列,得到第二词频序列,然后从第二词频序列中选择出设定数量个顺序次序对应的关键词作为标记。
63.例如,在生成针对路径段

2的下一个路径段,如路径段

3的关键词时,路径段

2作为路径段

3的上一个路径段。生成的针对路径段

3的第一词频序列为adesg;由于关键词d已经在路径段

2对应的第一词频序列中出现了,因此,将关键词d从路径段

3对应的第一词频序列中提出,得到的第二词频序列为aesg。然后将第二词频序列中的前连个关键词a和e作为路径段

3的标记。在实际应用中,统计路径段

2的词频时,应当统计路径段

2目录下所有文件夹以及文件中包含的词频,而不是仅仅考虑其中一个下级路径段,即路径段

3中包含的文件或者文件夹中包含的关键词的词频数据。
64.应用本发明实施例,在提取待处理路径的关键词时,某一关键词已经在该条路径的上一层级的路径段中出现,避免各个路径段中的首部均出现相同的关键词,更加方便用户查看以及提高了用户体验。
65.更进一步的,为了在避免关键词重复的同时,有重点的凸出下一个路径段中的关键内容,在获取当前路径段对应的第一词频序列时,将已经在当前路径段之前的路径段中出现的,且词频值低于第三预设阈值的关键词剔除出第一词频序列,得到第二词频序列,然
后从第二词频序列中选择出设定数量个顺序次序对应的关键词作为标记。
66.例如,在生成的针对路径段

3的第一词频序列为adebsg,由于关键词d和b已经出现在路径段

2的标记中,在将db从路径段

3的第一词频序列中剔除值钱,针对关键词d和b中的每一个关键词,判断该关键词的词频值是否大于第三预设阈值,如15。如果关键词d的词频值大于或者等于15,且关键词b的词频值低于15,则将关键词d在路径段

3的第一词频序列中保留;将关键词b从路径段

3的第一词频序列中删除。进而,得到的路径段

3对应的第二词频序列为adesg,然后,按照上述方法从第二词频序列中筛选出设定数量个顺序次序对应的关键词作为路径段

3的标记。
67.更进一步的,为了动态调节设定数量个关键词对应的总字符数量,即第二预设阈值的大小,可以利用公式,计算设定数量个关键词对应的总字符数量,其中,
68.k为设定数量的值;m为在当前路径段之前的路径段中的字符数之和;m为待处理路径中的词频值大于第四预设阈值的关键词的数量;l1为当前路径段的路径深度;l2为当前路径段所在的待处理路径的最大深度;a为预先设定的调节系数,其具体取值可以为大于等于20,且小于1000的正整数,其取值原则一般来说,是当前路径段之间的所有路径段中重复出现的关键词越多,取值越大。
69.在本发明实施例的第三种具体实施方式中,为了进一步压缩待处理路径的长度,可以使用哈希算法或者md5算法等对路径段

2进行处理,将处理得到的字符作为标记,并建立对应的映射表。
70.更进一步的,为了更进一步的压缩待处理路径的长度,可以按照上述方法对所有的路径段进行处理。
71.s103:将对应的路径段存储在文档中,并为标记与该路径段建立映射表。
72.示例性的,建立当前路径段与对应标记的映射关系,进而根据若干个路径段的映射关系建立映射表。
73.应用本发明实施例,用户或者系统在生成待处理路径的过程中,仅考虑自己需要将哪些段落或者内容放在待处理路径中,而不用考虑待处理路径的总字符数是否超过了第一预设阈值,系统自动对待处理路径的总字符数进行调节,提高了用户体验。
74.实施例2
75.在本发明实施例1的基础上,本发明实施例2还增加了以下步骤:
76.s104(图中未示出):获取向用户展示的文件夹对应的当前路径,判断当前路径中的末尾路径段是否为标记,若是,执行s105。
77.例如,用户打开的文件夹对应的路径为:
78.c:\标记

1\标记

2\标记

3\标记

4。则,当前路径中的末尾路径段即为,标记

4。
79.在用户打开该文件夹时,系统默认隐藏“c:\标记

1\标记

2\标记

3\”这些内容,仅向用户展示“标记

4”所在位置;判断“标记

4”的内容是否为标记,若是,执行s105。
80.s105(图中未示出):根据所述标记与预先建立的映射表查询出对应的目标内容,并将所述目标内容替换所述末尾路径段显示。
81.在“标记

4”为标记的情况下,从映射表中查询出对应的目标内容,将目标内容的
内容在“标记

4”的位置展示。
82.进一步的,在向用户展示了目标内容的内容之后,如果目标内容的内容较多,在地址栏一行不能显示完全,为了提高用户体验当用户将鼠标移动至地址栏时,地址栏下拉形成多行,进而分行显示目标内容。
83.或者,还可以在用户将鼠标移动至对应文件或者文件夹的标记处时,系统弹出窗口,并在该窗口中显示与该标记对应的标记

4的目标内容。
84.应用本发明上述实施例,可以从标记恢复出对应的提取关键字前的原始内容,即目标内容。
85.进一步的,当用户打开目标内容所在路径的下级文件夹之后,使用末尾标记替换目标内容显示,并进行隐藏处理,以为标记

4的下一个路径段标记

5腾出显示空间。
86.实施例3
87.与本发明实施例1相对应,实施例2还提供了一种文件系统超长路径智能存储装置。
88.图2为本发明实施例提供的一种文件系统超长路径智能存储装置的结构示意图,如图2所示,所述装置包括:
89.判断模块201,用于获取待处理路径的长度,并判断所述待处理路径的长度是否大于第一预设阈值;
90.获取模块202,用于在所述判断模块的判断结果为是的情况下,根据路径分节符将待处理路径分为若干个路径段,获取所述路径段的标记,使用所述标记替换对应路径段,得到目标路径并存储;
91.建立模块203,用于将对应的路径段存储在文档中,并为标记与该路径段建立映射表。
92.在本发明实施例的一种具体实施方式中,获取模块202,用于:
93.针对路径段,利用关键字提取算法提取出路径段的关键字,将所述关键字作为标记。
94.在本发明实施例的一种具体实施方式中,获取模块202,用于:
95.判断路径段对应的字符长度是否超过第二预设阈值;
96.若是,利用关键字提取算法提取出该路径段的关键字,将所述关键字作为标记。
97.在本发明实施例的一种具体实施方式中,第一替换模块204(图中未示出),用于:
98.获取向用户展示的文件夹对应的当前路径,判断当前路径中的末尾路径段是否为标记;
99.若是,根据所述标记与预先建立的映射表查询出对应的目标内容,并将所述目标内容替换所述末尾路径段显示。
100.在本发明实施例的一种具体实施方式中,第一替换模块205(图中未示出),用于:当用户打开目标内容所在路径的下级文件夹之后,使用末尾路径段替换目标内容显示。
101.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1