索引存储方法、文件查找方法、装置、电子设备和介质与流程

文档序号:30579574发布日期:2022-06-29 11:26阅读:134来源:国知局
索引存储方法、文件查找方法、装置、电子设备和介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种索引存储方法、文件查找方法、索引存储装置、文件查找装置、电子设备、计算机可读存储介质以及计算机程序产品。


背景技术:

2.随着互联网的快速发展,各种各样的应用程序也被开发出来。在使用程序时,又是需要缓存一些文件,并将其保存在特定目录中。举例而言,在使用某款即时通信应用程序时,可以接收其他人发送的图片文件或者音频文件,此时,可以将图片文件或者音频文件存储至特定路径中。
3.然而,现有技术中的方案,在需要查找某个已经缓存的文件时,需要逐层对文件目录进行遍历,浪费了用户的时间,降低了用户的使用效率。


技术实现要素:

4.本公开提供一种索引存储方法、文件查找方法、索引存储装置、文件查找装置、电子设备、计算机可读存储介质及计算机程序产品,以至少解决相关技术中查找文件时浪费时间的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种索引存储方法,包括:创建索引文件;其中,索引文件包括至少一个索引目录;获取第一缓存文件的文件类型,根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录;获取第一缓存文件对应的指示标识;其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径;获取第一缓存文件对应的文件名称,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中。
6.可选的,第一缓存文件对应的指示标识为第一缓存文件对应的md5值,获取第一缓存文件对应的指示标识,包括:获取第一缓存文件的缓存路径;根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值。
7.可选的,文件类型包括图像类型、文字类型以及视频类型中的一种或多种。
8.可选的,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中,包括:将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以key-value结构存储于索引目录中。
9.可选的,在将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中之后,方法还包括:获取所要缓存的第二缓存文件对应的文件名称;在第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。
10.根据本公开实施例的第二方面,提供一种文件查找方法,包括:获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录;获取文件对应的文件名称,根据文件名称在索引目录中查找文件
名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识;根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径;根据文件的缓存路径查找文件。
11.可选的,再根据文件的缓存路径查找文件之后,方法还包括:删除文件;在索引目录中删除文件对应的文件名称以及文件对应的指示标识。
12.根据本公开实施例的第三方面,提供一种索引存储装置,包括:索引文件创建单元,被配置为执行创建索引文件;其中,索引文件包括至少一个索引目录;第一文件类型获取单元,被配置为执行获取第一缓存文件的文件类型,根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录;指示标识获取单元,被配置为执行获取第一缓存文件对应的指示标识;其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径;索引存储单元,被配置为执行获取第一缓存文件对应的文件名称,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中。
13.可选的,第一缓存文件对应的指示标识为第一缓存文件对应的md5值,获取第一缓存文件对应的指示标识,索引存储装置还包括:缓存路径获取单元,被配置为执行获取第一缓存文件的缓存路径;md5值生成单元,被配置为执行根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值。
14.可选的,文件类型包括图像类型、文字类型以及视频类型中的一种或多种。
15.可选的,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中,索引存储装置还包括:结构存储单元,被配置为执行将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以key-value结构存储于索引目录中。
16.可选的,在将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中之后,索引存储装置还包括:文件名称获取单元,被配置为执行获取所要缓存的第二缓存文件对应的文件名称;指示标识更新单元,被配置为执行在第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。
17.根据本公开实施例的第四方面,提供一种索引存储装置,包括:第二文件类型获取单元,被配置为执行获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录;键值对获取单元,被配置为执行获取文件对应的文件名称,根据文件名称在索引目录中查找文件名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识;缓存路径确定单元,被配置为执行根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径;文件查找单元,被配置为执行根据文件的缓存路径查找文件。
18.可选的,再根据文件的缓存路径查找文件之后,索引存储装置还包括:文件删除单元,被配置为执行删除文件;指示标识删除单元,被配置为执行在索引目录中删除文件对应的文件名称以及文件对应的指示标识。
19.根据本公开实施例的第五方面,提供一种电子设备,包括:
20.处理器;
21.用于存储处理器可执行指令的存储器;
22.其中,处理器被配置为执行可执行指令,以实现如上述任一项的索引存储方法或文件查找方法。
23.根据本公开实施例的第六方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一项的索引存储方法或文件查找方法。
24.根据本公开实施例的第七方面,提供一种计算机程序产品,计算机程序/指令,其特征在于,计算机程序/指令被处理器执行时实现上述任一项的索引存储方法或文件查找方法。
25.本公开的实施例提供的技术方案至少带来以下有益效果:
26.本公开的一种实施例提供的索引存储方法中,可以创建索引文件,根据缓存文件的文件类型确定缓存文件对应的索引目录,将缓存文件对应的文件名称以及缓存文件对应的指示标识存储于索引目录中。可以在缓存文件的同时将缓存文件的相关信息存储在索引文件中,在查找文件时,可以根据文件的文件名称快速确定该文件的缓存路径,避免逐层对文件目录进行遍历浪费时间的问题,进而提高用户的使用效率。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
28.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
29.图1是根据一示例性实施例示出的一种索引存储方法的流程图;
30.图2是根据一示例性实施例示出的一种根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值的流程图;
31.图3是根据一示例性实施例示出的一种将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识的流程图;
32.图4是根据一示例性实施例示出的一种一种文件查找方法的流程图
33.图5是根据一示例性实施例示出的一种在索引目录中删除文件对应的文件名称以及文件对应的指示标识的流程图;
34.图6是根据一示例性实施例示出的一种索引存储装置的组成示意图;
35.图7是根据一示例性实施例示出的一种文件查找装置的组成示意图;
36.图8是根据一示例性实施例示出了适于用来实现本公开示例性实施例的电子设备的结构示意图。
具体实施方式
37.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
38.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
39.随着互联网的快速发展,各种各样的应用程序也被开发出来。在使用程序时,又是需要缓存一些文件,并将其保存在特定目录中。举例而言,在使用某款即时通信应用程序时,可以接收其他人发送的图片文件或者音频文件,此时,可以将图片文件或者音频文件存储至特定路径中。
40.然而,现有技术中的方案,在需要查找某个已经缓存的文件时,需要逐层对文件目录进行遍历,浪费了用户的时间,降低了用户的使用效率。
41.图1是根据一示例性实施例示出的一种索引存储方法的流程图,如图1所示,索引存储方法,包括以下步骤。
42.在步骤s110中,创建索引文件;其中,索引文件包括至少一个索引目录;
43.在步骤s120中,获取第一缓存文件的文件类型,根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录;
44.在步骤s130中,获取第一缓存文件对应的指示标识;其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径;
45.在步骤s140中,获取第一缓存文件对应的文件名称,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中。
46.本公开的一种实施例提供的索引存储方法中,可以创建索引文件,根据缓存文件的文件类型确定缓存文件对应的索引目录,将缓存文件对应的文件名称以及缓存文件对应的指示标识存储于索引目录中。可以在缓存文件的同时将缓存文件的相关信息存储在索引文件中,在查找文件时,可以根据文件的文件名称快速确定该文件的缓存路径,避免逐层对文件目录进行遍历浪费时间的问题,进而提高用户的使用效率。
47.下面,将结合图1及实施例对本示例性实施例中的索引存储方法的步骤s110~s140进行更详细的说明。
48.步骤s110,创建索引文件;其中,索引文件包括至少一个索引目录;
49.在本公开的一种示例实施例中,可以创建索引文件。其中,索引文件可以用于指示通过应用程序缓存的文件在文件目录中的具体路径,可以通过索引文件快速查找某个文件再文件目录中的具体位置。具体的,可以在使用应用程序并缓存文件时,创建索引文件;或者,也可以在终端设备中安装应用程序时,创建索引文件。需要说明的是,本公开对于创建索引文件的时机并不做特殊限定。
50.在本公开的一种示例实施例中,索引文件中包括至少一个索引目录。具体的,索引目录与第一缓存文件的文件类型相关。
51.步骤s120,获取第一缓存文件的文件类型,根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录;
52.在本公开的一种示例实施例中,可以获取第一缓存文件的文件类型。具体的,第一缓存文件是指用户在使用应用程序时产生的缓存文件。举例而言,在用户使用某即时通讯应用程序时,可以接收到其他用户发送的图片,此时,即时通讯应用程序可以将该图片自动
进行缓存,并存储在特定的文件目录中。
53.在本公开的一种示例实施例中,在获取第一缓存文件的文件类型时,第一缓存文件可以已经存储至文件目录中,或者,第一缓存文件正在存储至文件目录中,或者,第一缓存文件未开始在文件目录中进行存储。需要说明的是,本公开对于获取第一缓存文件的文件类型的时机并不做特殊限定。
54.在本公开的一种示例实施例中,可以获取第一缓存文件的文件类型。具体的,第一缓存文件的文件类型可以用于指示第一缓存文件的文件内容。举例而言,第一缓存文件的文件类型可以包括word文档、位图、图像文件、纯文本、声音文件、影像文件、网页文件等。需要说明的是,本公开对于第一缓存文件的文件类型的具体类型并不做特殊限定。
55.具体而言,在获取第一缓存文件的文件类型时,可以通过第一缓存文件的扩展名确定第一缓存文件的文件类型。举例而言,当第一缓存文件的扩展名为doc时,可以确定第一缓存文件的文件类型为word文档;当第一缓存文件的扩展名为bmp时,可以确定第一缓存文件的文件类型为位图;当第一缓存文件的扩展名为wma、mp3、wav时,可以确定第一缓存文件的文件类型为声音文件;当第一缓存文件的扩展名为avi、mpg、wmv时,可以确定第一缓存文件的文件类型为影像文件。
56.其中,第一缓存文件的扩展名操作系统用来标记文件类型的一种机制。
57.需要说明的是,本公开对于获取第一缓存文件的文件类型的具体方式并不做特殊限定。
58.在本公开的一种示例实施例中,在通过上述步骤确定第一缓存文件的文件类型时,可以根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录。具体的,第一缓存文件对应的索引目录是指第一缓存文件的文件类型对应的索引目录,即在第一缓存文件的文件类型对应的索引目录中,存储该文件类型的第一缓存文件对应你的文件名称与第一缓存文件对应的指示标识。
59.举例而言,索引文件中包括word文档索引目录、位图索引目录、图像文件索引目录、纯文本索引目录,在通过上述步骤确定第一缓存文件的文件类型为位图时,则在索引文件中确定的第一缓存文件对应的索引目录为位图索引目录;或者,在通过上述步骤确定第一缓存文件的文件类型为纯文本时,则在索引文件中确定的第一缓存文件对应的索引目录为纯文本索引目录。
60.需要说明的是,本公开对于根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录的具体方式并不做特殊限定。
61.进一步的,索引文件中的索引目录可以包括一级目录以及多级目录。具体的,一级目录是指打开索引文件之后,按照粗粒度区分的一级索引目录,多级目录是指在某个一级索引目录中,按照细粒度区分的二级或多级索引目录。举例而言,索引文件中可以包括word文档索引目录、位图索引目录、图像文件索引目录、纯文本索引目录、声音文件索引目录、影像文件索引目录、网页文件索引目录,在图像文件索引目录中,还以不同的扩展名区分为多个二级索引目录:jpg二级索引目录、gif二级索引目录,在影像文件索引目录中,还以不同的扩展名区分为多个二级索引目录:avi二级索引目录、mpg二级索引目录。进一步的,在二级索引目录中,还可以区分为三级索引目录,以此类推,索引文件中的索引目录可以包括多级目录。
62.需要说明的是,本公开对于多级目录的数量以及区分方式并不做特殊限定。
63.步骤s130,获取第一缓存文件对应的指示标识;其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径;
64.在本公开的一种实施例中,在通过上述步骤在索引文件中确定第一缓存文件对应的索引目录中之后,可以获取第一缓存文件对应的指示标识。其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径。具体的,第一缓存文件对应的指示标识为通过提取或转换方法将第一缓存文件处理得到的标识,该标识可以用户指示第一缓存文件的唯一性。
65.具体而言,唯一性是指不同的缓存文件具有不同的指示标识,该指示标识还可以用于指示第一缓存文件的缓存路径。此外,通过应用程序在文件目录中存储第一缓存文件时,具有第一缓存文件对应的缓存路径,可以根据第一缓存文件对应的缓存路与第一缓存文件进行处理得到第一缓存文件对应的指示标识。需要说明的是,上述通过应用程序在文件目录中存储第一缓存文件包括第一缓存文件已经存储至文件目录中,或者,第一缓存文件正在存储至文件目录中,或者,第一缓存文件未开始在文件目录中进行存储,即本公开对于获取第一缓存文件对应的指示标识的时机并不做特殊限定。
66.步骤s140,获取第一缓存文件对应的文件名称,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中。
67.在本公开的一种实施例中,可以获取第一缓存文件对应的文件名称。具体的,第一缓存文件对应的文件名称是指系统自动生成的文件名称,或者,第一缓存文件对应的文件名称也可以由用户自行设定。需要说明的是,本公开对于获取第一缓存文件对应的文件名称的具体方式并不做特殊限定。
68.在本公开的一种实施例中,在通过上述步骤获取第一缓存文件对应的索引目录、第一缓存文件对应的文件名称以及第一缓存文件对应的指示标识之后,可以将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中。具体的,键值对是指名值对和属性值对,计算系统和应用程序中的一种数据表示结构,即可以通过键值对中的一个值获取与该值对应的值。需要说明的是,本公开对于键值对的形式并不做特殊限定。
69.举例而言,通过上述步骤确定的歌曲a(第一缓存文件)对应的索引目录为声音文件索引目录,得到的歌曲a对应的指示标识为指示标识a,歌曲a对应的文件名称为名称a,此时可以将《名称a》《指示标识a》以键值对的形式存储在声音文件索引目录中;再如,通过上述步骤确定的视频b(第一缓存文件)对应的索引目录为影像文件索引目录,得到的视频b对应的指示标识为指示标识b,视频b对应的文件名称为名称b,此时可以将《名称b》《指示标识b》以键值对的形式存储在影像文件索引目录中。
70.需要说明的是,本公开对于将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中的具体方式并不做特殊限定。
71.在本公开的一种实施例中,可以将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以key-value结构存储于索引目录中。其中,可以将第一缓存文件对应的文件名称存储为关键字,将第一缓存文件对应的指示标识存储为值。可以通过key-value分布式存储系统处理第一缓存文件对应的文件名称与第一缓存文件对应的指示标识。需要说明
的是,本公开对于将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以key-value结构存储于索引目录中的具体方式并不做特殊限定。
72.在本公开的一种实施例中,可以获取第一缓存文件的缓存路径,根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值。参照图2所示,根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值,可以包括以下步骤s210~s220:
73.步骤s210,获取第一缓存文件的缓存路径;
74.在本公开的一种实施例中,可以获取第一缓存文件的缓存路径。具体的,第一缓存文件的缓存路径是指通过应用程序缓存文件的存储路径,可以根据该存储路径确定第一缓存文件的缓存路径。举例而言,通过应用程序缓存文件的存储路径为文件夹a/文件夹a/文件夹aa,此时,可以将文件夹a/文件夹a/文件夹aa确定为第一缓存文件的缓存路径。需要说明的是,本公开对于获取第一缓存文件的缓存路径的具体方式并不做特殊限定。
75.步骤s220,根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值。
76.在本公开的一种实施例中,在通过上述步骤得到第一缓存文件的缓存路径之后,可以将第一缓存文件以及第一缓存文件的缓存路径合并生成md5值。具体的,md5(message-digest algorithm 5)为一种密码散列函数,可以根据缓存文件产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致,md5值以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。md5值等同于缓存文件的id,该值是唯一的。如果文件被修改,其md5值将发生变化。需要说明的是,本公开对于根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值的具体方式并不做特殊限定。
77.通过上述步骤s210~s220,可以获取第一缓存文件的缓存路径,根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值。
78.在本公开的一种实施例中,可以获取所要缓存的第二缓存文件对应的文件名称,并在第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。参照图3所示,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识,可以包括以下步骤s310~s320:
79.步骤s310,获取所要缓存的第二缓存文件对应的文件名称;
80.在本公开的一种实施例中,可以获取所要缓存的第二缓存文件对应的文件名称。具体的,第二缓存文件对应的文件名称是指系统自动生成的文件名称,或者,第二缓存文件对应的文件名称也可以由用户自行设定。需要说明的是,本公开对于获取第二缓存文件对应的文件名称的具体方式并不做特殊限定。
81.其中,所要缓存的第二缓存文件可以包括第二缓存文件已经存储至文件目录中,或者,第二缓存文件正在存储至文件目录中,或者,第二缓存文件未开始在文件目录中进行存储,即本公开对于获取第一缓存文件对应的指示标识的时机并不做特殊限定。
82.步骤s320,在第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同
时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。
83.在本公开的一种实施例中,在通过上述步骤得到第二缓存文件对应的文件名称之后,可以将第一缓存文件对应的文件名称与第二缓存文件对应的文件名称进行比较,当第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同时,表示有相同的缓存文件已经存储至文件目录中,或者,相同的缓存文件正在存储至文件目录中,或者,相同的缓存文件未开始在文件目录中进行存储。即在文件目录中已经存储了第一缓存文件的基础上,又要存储与第一缓存文件相同的第二缓存文件,此时需要对索引文件进行更新,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识,并根据第一缓存文件对应的指示标识获取第一缓存文件在文件目录中的缓存路径,并根据第一缓存文件在文件目录中的缓存路径将第一缓存文件删除。
84.需要说明的是,本公开对于根据第一缓存文件在文件目录中的缓存路径将第一缓存文件删除的具体方式并不做特殊限定。
85.在本公开的一种实施例中,可以获取第二缓存文件对应的指示标识。具体的,第二缓存文件对应的指示标识用于指示第二缓存文件的唯一性以及第二缓存文件的缓存路径。具体的,第二缓存文件对应的指示标识为通过提取或转换方法将第二缓存文件处理得到的标识,该标识可以用户指示第二缓存文件的唯一性。其中,唯一性是指不同的缓存文件具有不同的指示标识,该指示标识还可以用于指示第一缓存文件的缓存路径。此外,通过应用程序在文件目录中存储第二缓存文件时,具有第二缓存文件对应的缓存路径,可以根据第二缓存文件对应的缓存路与第二缓存文件进行处理得到第二缓存文件对应的指示标识。
86.在本公开的一种实施例中,可以将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。具体的,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识可以包括将索引目录中存储的第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对替换为第一缓存文件对应的文件名称与第二缓存文件对应的指示标识以键值对,即在进行更新时,文件名称不变,仅将文件名称对应的指示标识进行替换。需要说明的是,本公开对于将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识的具体方式并不做特殊限定。
87.举例而言,歌曲(第一缓存文件)对应的指示标识为指示标识a,歌曲a对应的文件名称为名称a,将《名称a》《指示标识a》以键值对的形式存储在声音文件索引目录中,此时,获取所要缓存的歌曲(第二缓存文件)对应的指示标识为指示标识b,歌曲对应的文件名称为名称a,此时,可以将声音文件索引目录中的《名称a》《指示标识a》更新为《名称a》《指示标识b》,并根据指示标识a确定歌曲(第一缓存文件)在文件目录中的缓存路径,并根据歌曲(第一缓存文件)在文件目录中的缓存路径将该歌曲删除。
88.在现有技术中,可能在不同的文件目录中存储相同的缓存文件,在需要查找这些缓存文件时,在逐层遍历文件目录查找到缓存文件时,还需要对剩余的文件目录进行遍历,查找是否还具有相同的缓存文件,会极大的浪费用户时间,降低用户的使用效率,而采用本实施例的方案,可以在存储相同的缓存资源时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识,并将第一缓存文件删除,避免重复存储相同的缓存文件,在需要查找缓存文件时,无需对所有的文件目录进行遍历,避免浪费用户时间的问题,进而提高用户的使用效率。
89.通过上述步骤s310~s320,可以获取所要缓存的第二缓存文件对应的文件名称,并在第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。
90.在本公开的一种实施例中,可以获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录,获取文件对应的文件名称,根据文件名称在索引目录中查找文件名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识,根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径,根据文件的缓存路径查找文件。参照图4所示,根据指示标识确定文件的缓存路径,根据文件的缓存路径查找文,可以包括以下步骤s410~s440:
91.步骤s410,获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录;
92.在本公开的一种实施例中,可以获取所要查找的文件对应的文件类型。具体的,用户使用应用程序时,可以缓存文件,当用户需要查找这些文件时,可以确定所要查找的文件对应的文件类型。
93.在本公开的一种示例实施例中,可以获取所要查找的文件的文件类型。具体的,所要查找的文件的文件类型可以用于指示所要查找的文件内容。举例而言,所要查找的文件的文件类型可以包括word文档、位图、图像文件、纯文本、声音文件、影像文件、网页文件等。需要说明的是,本公开对于所要查找的文件的文件类型的具体类型并不做特殊限定。
94.具体而言,在获取所要查找的文件的文件类型时,可以通过所要查找的文件的扩展名确定所要查找的文件的文件类型。举例而言,当所要查找的文件的扩展名为doc时,可以确定所要查找的文件的文件类型为word文档;当所要查找的文件的扩展名为bmp时,可以确定所要查找的文件的文件类型为位图;当所要查找的文件的扩展名为wma、mp3、wav时,可以确定所要查找的文件的文件类型为声音文件;当所要查找的文件的扩展名为avi、mpg、wmv时,可以确定所要查找的文件的文件类型为影像文件。
95.其中,所要查找的文件的扩展名操作系统用来标记文件类型的一种机制。
96.需要说明的是,本公开对于获取所要查找的文件的文件类型的具体方式并不做特殊限定。
97.在本公开的一种实施例中,在通过上述步骤确定所要查找的文件的文件类型之后,可以根据文件类型在索引文件中确定文件对应的索引目录。具体的,当通过上述步骤生成索引文件之后,可以将该索引文件存储在应用程序对应的根目录下,在需要根据文件类型在索引文件中确定文件对应的索引目录时,可以在应用程序对应的根目录中获取索引文件,并在该索引文件中确定文件对应的索引目录。需要说明的是,本公开对于索引文件的存储位置并不做特殊限定。
98.其中,索引文件可以根据上述实施例得到。
99.在本公开的一种实施例中,可以根据文件类型在索引文件中确定文件对应的索引目录。具体的,索引文件中包括多个索引目录,可以根据文件的文件类型在索引文件中确定该文件对应的索引目录。举例而言,索引文件中包括word文档索引目录、位图索引目录、图像文件索引目录、纯文本索引目录,在通过上述步骤确定所要查找的文件的文件类型为位
图时,则在索引文件中确定的所要查找的文件对应的索引目录为位图索引目录;或者,在通过上述步骤确定要查找的文件的文件类型为纯文本时,则在索引文件中确定的要查找的文件对应的索引目录为纯文本索引目录。
100.需要说明的是,本公开对于根据文件类型在索引文件中确定文件对应的索引目录的具体方式并不做特殊限定。
101.步骤s420,获取文件对应的文件名称,根据文件名称在索引目录中查找文件名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识;
102.在本公开的一种实施例中,可以获取所要查找的文件对应的文件名称,具体的,所要查找的文件对应的文件名称是指系统自动生成的文件名称,或者,所要查找的文件对应的文件名称也可以由用户自行设定。需要说明的是,本公开对于获取所要查找的文件对应的文件名称的具体方式并不做特殊限定。
103.在本公开的一种实施例中,在通过上述步骤得到所要查找的文件对应的文件名称以及该文件对应的索引目录之后,可以根据文件名称在索引目录中查找文件名称对应的键值对。其中,键值对包括文件对应的文件名称以及文件对应的指示标识。具体的,该键值对为上述索引存储方法的实施例中得到的键值对形式的缓存文件对应的文件名称与缓存文件对应的指示标识,在此不做赘述。
104.具体而言,在得到所要查找的文件对应的文件名称以及该文件对应的索引目录之后,可以在该文件对应的索引目录中查找具有相同文件名称的键值对。举例而言,所要查找的文件为歌曲,该文件对应的索引目录为音频索引目录,该文件对应的文件名称为名称a,此时,可以在音频索引目录中查找包含名称a的键值对,例如《名称a》《指示标识a》。
105.需要说明的是,本公开对于根据文件名称在索引目录中查找文件名称对应的键值对的具体方式并不做特殊限定。
106.步骤s430,根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径;
107.在本公开的一种实施例中,在通过上述步骤在索引目录中查找到文件名称对应你的键值对之后,可以根据该键值对确定文件名称对应的指示标识。具体的,键值对中包括文件名称以及该文件名称对应的指示标识,在确定包含所要查找的文件名称对应的键值对之后,可以将该键值对中的指示标识确定为文件名称对应的指示标识。
108.在本公开的一种实施例中,在通过上述步骤根据键值对确定文件名称对应的指示标识之后,可以根据指示标识确定文件的缓存路径。具体的,通过上述步骤得到的指示标识可以用于指示所要查找的文件的缓存路径,可以通过指示标识确定该文件的缓存路径、
109.举例而言,通过上述步骤得到的键值对为《名称a》《指示标识a》,与《名称a》对应的指示标识为《指示标识a》,《指示标识a》所指示的缓存路径为文件夹a/文件夹a/文件夹aa,此时,可以将文件夹a/文件夹a/文件夹aa确定为所要查找的文件的的缓存路径。
110.需要说明的是,本公开对于根据指示标识确定文件的缓存路径的具体方式并不做特殊限定。
111.步骤s440,根据文件的缓存路径查找文件。
112.在本公开的一种实施例中,在通过上述步骤确定所要查找的文件的缓存路径之后,可以根据文件的缓存路径查找文件。具体的,在确定文件的缓存路径之后,可以根据文
件查找方法查找改文件。举例而言,可以将文件的缓存路径输入文件查找组件中,通过文件查找组件查找该文件。需要说明的是,本公开对于根据文件的缓存路径查找文件的具体方式并不做特殊限定。
113.通过上述步骤s410~s440,可以获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录,获取文件对应的文件名称,根据文件名称在索引目录中查找文件名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识,根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径,根据文件的缓存路径查找文件。
114.在本公开的一种实施例中,再根据文件的缓存路径查找文件之后,可以删除文件,在索引目录中删除文件对应的文件名称以及文件对应的指示标识。参照图5所示,在索引目录中删除文件对应的文件名称以及文件对应的指示标识,可以包括以下步骤s510~s520:
115.步骤s510,删除文件;
116.在本公开的一种实施例中,在通过上述步骤查找到文件之后,可以将该文件删除。具体的,可以通过删除方法将查找到的文件进行删除。需要说明的是,本公开对于删除文件的方法并不做特殊限定。
117.步骤s520,在索引目录中删除文件对应的文件名称以及文件对应的指示标识。
118.在本公开的一种实施例中,在通过上述步骤将文件删除之后,可以在索引目录中删除文件对应的文件名称以及文件对应的指示标识。具体的,将文件删除之后,表示文件目录中已经没有该文件,此时,需要对索引目录进行更新,避免下次查找或删除时产生错误,可以在索引目录中删除文件对应的文件名称以及文件对应的指示标识,即在索引目录中删除该键值对。
119.需要说明的是,本公开对于在索引目录中删除文件对应的文件名称以及文件对应的指示标识的具体方式并不做特殊限定、
120.通过上述步骤s510~s520,可以删除文件,在索引目录中删除文件对应的文件名称以及文件对应的指示标识。
121.本公开的一种实施例提供的索引存储方法中,可以创建索引文件,根据缓存文件的文件类型确定缓存文件对应的索引目录,将缓存文件对应的文件名称以及缓存文件对应的指示标识存储于索引目录中。可以在缓存文件的同时将缓存文件的相关信息存储在索引文件中,在查找文件时,可以根据文件的文件名称快速确定该文件的缓存路径,避免逐层对文件目录进行遍历浪费时间的问题,进而提高用户的使用效率。
122.图6是根据一示例性实施例示出的一种索引存储装置框图。参照图6,该索引存储装置600包括索引文件创建单元610、第一文件类型获取单元620、指示标识获取单元630和索引存储单元640。
123.其中,索引文件创建单元,被配置为执行创建索引文件;其中,索引文件包括至少一个索引目录;第一文件类型获取单元,被配置为执行获取第一缓存文件的文件类型,根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录;指示标识获取单元,被配置为执行获取第一缓存文件对应的指示标识;其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径;索引存储单元,被配置为执行获取第一缓存文件对应的文件名称,将第一缓存文件对应的文件名称与第一缓存文
件对应的指示标识以键值对形式存储于索引目录中。
124.在本公开的一种示例性实施例中,基于前述方案,第一缓存文件对应的指示标识为第一缓存文件对应的md5值,获取第一缓存文件对应的指示标识,索引存储装置还包括:缓存路径获取单元,被配置为执行获取第一缓存文件的缓存路径;md5值生成单元,被配置为执行根据第一缓存文件以及第一缓存文件的缓存路径生成第一缓存文件对应的md5值。
125.在本公开的一种示例性实施例中,基于前述方案,文件类型包括图像类型、文字类型以及视频类型中的一种或多种。
126.在本公开的一种示例性实施例中,基于前述方案,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中,索引存储装置还包括:结构存储单元,被配置为执行将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以key-value结构存储于索引目录中。
127.在本公开的一种示例性实施例中,基于前述方案,在将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中之后,索引存储装置还包括:文件名称获取单元,被配置为执行获取所要缓存的第二缓存文件对应的文件名称;指示标识更新单元,被配置为执行在第二缓存文件对应的文件名称与第一缓存文件对应的文件名称相同时,将索引目录中的第一缓存文件对应的指示标识更新为第二缓存文件对应的指示标识。
128.图7是根据一示例性实施例示出的一种文件查找装置框图。参照图7,该文件查找装置700包括第二文件类型获取单元710、键值对获取单元720、缓存路径确定单元730和文件查找单元740。
129.其中,第二文件类型获取单元,被配置为执行获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录;键值对获取单元,被配置为执行获取文件对应的文件名称,根据文件名称在索引目录中查找文件名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识;缓存路径确定单元,被配置为执行根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径;文件查找单元,被配置为执行根据文件的缓存路径查找文件。
130.在本公开的一种示例性实施例中,基于前述方案,再根据文件的缓存路径查找文件之后,索引存储装置还包括:文件删除单元,被配置为执行删除文件;指示标识删除单元,被配置为执行在索引目录中删除文件对应的文件名称以及文件对应的指示标识。
131.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
132.下面参照图8来描述根据本公开的这种实施例的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
133.如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。
134.其中,存储单元存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步
骤。例如,处理单元810可以执行如图1中所示的步骤s110,创建索引文件;其中,索引文件包括至少一个索引目录;步骤s120,获取第一缓存文件的文件类型,根据第一缓存文件的文件类型在索引文件中确定第一缓存文件对应的索引目录;步骤s130,获取第一缓存文件对应的指示标识;其中,第一缓存文件对应的指示标识用于指示第一缓存文件的唯一性以及第一缓存文件的缓存路径;步骤s140,获取第一缓存文件对应的文件名称,将第一缓存文件对应的文件名称与第一缓存文件对应的指示标识以键值对形式存储于索引目录中。
135.再如,处理单元810可以执行如图4中所示的步骤s410,获取所要查找的文件对应的文件类型,根据文件类型在索引文件中确定文件对应的索引目录;其中,索引文件包括至少一个索引目录;步骤s420,获取文件对应的文件名称,根据文件名称在索引目录中查找文件名称对应的键值对;其中,键值对包括文件对应的文件名称以及文件对应的指示标识;步骤s430,根据键值对确定文件名称对应的指示标识,根据指示标识确定文件的缓存路径;步骤s440,根据文件的缓存路径查找文件。
136.存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(rom)823。
137.存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
138.总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
139.电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
140.通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
141.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
142.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述实施例中的索引存储方法或文件查找方法。
143.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
144.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1