CN108197321B - 文件存储方法及系统 - Google Patents
文件存储方法及系统 Download PDFInfo
- Publication number
- CN108197321B CN108197321B CN201810108421.4A CN201810108421A CN108197321B CN 108197321 B CN108197321 B CN 108197321B CN 201810108421 A CN201810108421 A CN 201810108421A CN 108197321 B CN108197321 B CN 108197321B
- Authority
- CN
- China
- Prior art keywords
- file
- specified
- dimension
- sequence
- identification
- 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.)
- Active
Links
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)
- Library & Information Science (AREA)
Abstract
本发明提供一种文件存储方法及系统,其中方法包括:接收用于存储文件的请求信息,所述请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为所述文件在不同维度下的值,不同的维度之间相互独立;建立所述文件的文件标识,所述文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;将所述文件与所述文件的文件标识一并存储,以使得用户通过所述文件标识查询到所述文件。本发明支持以近乎相同的效率从各个维度上遍历文件、寻找前序和后序文件,从而高效地对文件进行多维度的管理,同时减少了在传统文件管理方法中大量的人工工作。
Description
技术领域
本发明涉及计算机存储技术领域,更具体地,涉及文件存储方法及系统。
背景技术
在计算机中,传统的文件管理方法通常是基于文件路径对文件进行组织管理,例如当按照不同用户、不同日期来管理文件时,可以采用“/username/date/file”这样的文件路径设计。但是这种传统的管理方法只能对文件进行较为固定和单一的分类管理,且需要大量的人工管理工作,效率较为低下。
如今,在一些领域应用中已经对文件管理提出了更丰富的需求,例如在遥感应用领域中,对于文件的分类管理就同时存在按遥感卫星(satellite)管理、按空间分辨率(resolution)管理、按时间(time)管理等不同需求。如果将遥感卫星、图像分辨率、时间等这些将文件分类的依据分别视作一个维度,那么所有的文件的这些维度取值就形成了一个多维空间,称之为多维文件空间。每个文件就是在这个多维空间中的一个点。这类应用的管理需求可以被描述为如何优化数据在每一个维度上的存取,以满足从各个维度上遍历文件、寻找后序和后序文件的效率都尽可能高效。此时若按照传统的文件管理方法,通常是无法平等地兼顾每一个维度,需要将不同维度作为文件路径中不同的层级来进行管理,例如“/satellite/resolution/time/file”这样的路径结构设计就表示先按照遥感卫星(satellite)进行分类,再按照空间分辨率(resolution)进行分类,最后再按照时间(time)进行分类,并在将文件存储在时间层级路径下相应的文件夹中,这样的文件路径设计会导致在不同层级对应的维度上对于文件访问的效率有明显的差异;另一种可行的传统的文件管理方法实现则是针对每一个维度,分别将所有文件重复存储一次来进行分类管理,但是显然这会引入过多的冗余存储开销。
由此可见,传统的文件管理方法并不能很好地满足新型的文件管理需求,且需要大量的人工操作进行维护管理。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的文件存储方法及系统。
根据本发明的一个方面,提供一种文件存储方法,包括:
接收用于存储文件的请求信息,所述请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为所述文件在不同维度下的值,不同的维度之间相互独立;
建立所述文件的文件标识,所述文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;
将所述文件与所述文件的文件标识一并存储,以使得用户通过所述文件标识查询到所述文件。
优选地,所述建立所述文件的文件标识的步骤具体包括:
按预设规则对所有维度进行排序,获得维度的序列;
根据所述维度的序列,对各维度下的分类标识进行排序,将排序后的分类标识作为所述文件的文件标识。
优选地,所述文件存储方法,还包括:
接收第一读取请求,所述第一读取请求中携带目标文件标识,所述目标文件标识中含有目标文件的根据所述预设规则排序的所有分类标识;
查询与所述目标文件标识完全一致的文件标识,将该文件标识对应的文件作为目标文件。
优选地,所述文件存储方法还包括:
接收第二读取请求,所述第二读取请求中携带前序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件根据所述预设规则排序的所有分类标识,所述前序读取指令用于表示查询指定文件在所述指定的维度上的前序文件;
查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
获取所述指定文件在所述指定的维度下的排序的前序文件。
优选地,所述文件存储方法还包括:
接收第三读取请求,所述第三读取请求中携带后序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件根据所述预设规则排序的所有分类标识,所述后序读取指令用于表示查询指定文件在所述指定的维度上的后序文件;
查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
获取所述指定文件在所述指定的维度下的排序的后序文件。
优选地,所述文件存储方法还包括:
设置维度优先级,以使得用户查询指定文件在指定的维度上的前序文件或后序文件时,具有不同的响应延迟。
根据本发明的另一个方面,还提供一种文件存储系统,包括:
存储信息接收模块,接收用于存储文件的请求信息,所述请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为所述文件在不同维度下的值,不同的维度之间相互独立;
标识模块,用于建立所述文件的文件标识,所述文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;
存储模块,用于将所述文件与所述文件的文件标识一并存储,以使得用户通过所述文件标识查询到所述文件。
优选地,所述文件存储系统还包括:
第一请求接收模块,用于接收第一读取请求,所述第一读取请求中携带目标文件标识,所述目标文件标识中含有目标文件的根据所述预设规则排序的所有分类标识;
第一读取模块,用于查询与所述目标文件标识完全一致的文件标识,将该文件标识对应的文件作为目标文件。
优选地,所述文件存储系统还包括:
第二请求接收模块,用于接收第二读取请求,所述第二读取请求中携带前序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件根据所述预设规则排序的所有分类标识,所述前序读取指令用于表示查询指定文件在所述指定的维度上的前序文件;
第二读取模块,用于查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
第一排序模块,用于按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
前序文件获取模块,用于获取所述指定文件在所述指定的维度下的排序的前序文件。
优选地,所述文件存储系统还包括:
第三请求接收模块,用于接收第三读取请求,所述第三读取请求中携带后序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件根据所述预设规则排序的所有分类标识,所述后序读取指令用于表示查询指定文件在所述指定的维度上的后序文件;
第三读取模块,用于查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
第二排序模块,用于按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
后续文件获取模块,用于获取所述指定文件在所述指定的维度下的排序的后序文件。
本发明提出的文件存储方法及系统,其中方法包括:接收用于存储文件的请求信息,所述请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为所述文件在不同维度下的值,不同的维度之间相互独立;建立所述文件的文件标识,所述文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;将所述文件与所述文件的文件标识一并存储,以使得用户通过所述文件标识查询到所述文件。本发明支持以近乎相同的效率从各个维度上遍历文件、寻找前序和后序文件,从而高效地对文件进行多维度的管理,同时减少了在传统文件管理方法中大量的人工工作。
附图说明
图1为根据本发明实施例的文件存储方法的流程示意图;
图2为根据本发明实施例的树状文件目录结构示意图;
图3为根据本发明实施例的文件存储系统的功能框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了克服现有技术的上述问题,本发明实施例提供一种文件存储方法,本发明个实施例中的文件存储系统可以是独立的功能模块,也可以为内置于计算机中的功能模块。该文件存储系统对应的文件存储方法,可以应用与浏览器、客户端以及操作系统等多种需要存储文件的应用场景中。
图1为本发明实施例提供的文件存储方法的流程示意图,如图1所示,该方法包括:
101、接收用于存储文件的请求信息,请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为文件在不同维度下的值,不同的维度之间相互独立。
具体地,用户或其他设备需要存储文件时,向文件存储系统发送请求信息,文件的分类标识可以是文件在原树状文件目录中的层级的值,例如“/satellite/resolution/time/file”这样的路径结构设计就表示先按照遥感卫星(satellite)进行分类,再按照空间分辨率(resolution)进行分类,最后再按照时间(time)进行分类,表1示出了本发明实施例的具有3个分类标识的3个文件:
如表1所述,文件1可以理解为是遥感卫星Landsat8于2017年1月1日拍摄的空间分辨率为30m的文件,文件2可以理解为是遥感卫星Landsat8于2017年1月2日拍摄的空间分辨率为15m的文件,文件3可以理解为遥感卫星GF1于2017年1月3日拍摄的空间分辨率为16m的文件。图2示出了3个文件构成的树状文件目录结构,由图2可知3个文件在树状文件目录结构中具有3层结构,第一层级为遥感卫星,第二层级为空间分辨率,第三层级为时间。
本发明实施例将不同的分类标识作为不同的维度上的值。可选地,维度可以通过维度编号和维度名称进行标注,维度编号是唯一标识一个维度的标识信息,维度名称是便于用户识别的维度的标识信息。以表1示出的文件为例,可以将遥感卫星作为维度1的维度名称,空间分辨率作为维度2的维度名称,时间作为维度3的维度名称。
上述3个文件:content1、conten2和content3即可映射到3维空间中,对用于存储文件content1的请求信息来说,该请求信息的形式可以是(landsat8,30,2017.01.01,content1)。需要注意的是,上述形式仅仅是一个示例,也可以用(landsat8/30/2017.01.01/content1)或者(landsat8\30\2017.01.01\content1)等等来标识,无论是“,”、“/”还是“\”都仅仅代表分隔符,本发明实施例并不限定具体的分隔符格式。
102、建立文件的文件标识,文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关。
需要说明的是,文件标识在文件标识中的排序与分类标识所在的维度相关,例如,预先规定遥感卫星、分辨率以及时间三个维度的排序为:遥感卫星排第一位,分辨率排第二位,时间排第三位,那么以文件content1为例,该文件的文件标识为(landsat8,30,2017.01.01)。需要说明的是,在存储文件时,所有文件的文件标识中分类标识的排序依据应该是一致的,例如,对于文件content2来说,该文件的文件标识为(landsat8,15,2017.01.02),可以看出,该文件标识中分类标识的排序也是以遥感卫星—分辨率—时间进行的排序。
103、将文件与文件的文件标识一并存储,以使得用户通过文件标识查询到文件。
需要说明的是,本发明实施例在文件存储时,将不同的分类标识作分别视为不同的维度,将文件映射到多维空间中,与传统文件存储方法相比,在不引入冗余存储开销的情况下,使得各个维度具有了相同的优先级。
在上述实施例的基础上,建立文件的文件标识的步骤具体包括:
按预设规则对所有维度进行排序,获得维度的序列;
需要说明的是,本发明实施例并不限制对维度进行排序的规则,例如以维度名称的首字母进行排序,以用户对每个维度的关注度进行排序等等。
根据维度的序列,对各维度下的分类标识进行排序,将排序后的分类标识作为文件的文件标识。
在上述各实施例的基础上,本发明实施例的文件存储方法还包括:
接收第一读取请求,第一读取请求中携带目标文件标识,目标文件标识中含有目标文件的根据预设规则排序的所有分类标识;
查询与目标文件标识完全一致的文件标识,将该文件标识对应的文件作为目标文件。
具体地读取操作可以为:read(d1,d2,d3…,dn):读取一个文件,其中d1,d2,...,dn分别指定了该文件在n个维度上的取值,该操作会返回满足D1=d1&D2=d2&...&Dn=dn的文件的内容content。例如,第一读取请求中携带的目标文件标识为:(landsat8,15,2017.01.02),在该目标文件标识中已经指定了目标文件在第一维度、第二维度和第三维度的取值,那么通过遍历文件存储系统,查询第一维度为landsat8,第二维度为15,第三维度为2017.01.02的文件,作为目标文件。
在上述各实施例的基础上,本发明实施例还提供了读取文件在某个维度上的前序文件的方法,由上述实施例可知,文件在每个维度上均具有一个分类标识,以时间维度为例,可以将文件的创建时间先后进行排序,比如2017年2月1号的文件就是2017年2月2号的文件的前序文件。在某些维度中可能排序并没有在时间维度的排序清晰,本发明实施例支持用户根据预设的规则对文件在不同维度下进行排序。
具体地,该方法包括:
接收第二读取请求,第二读取请求中携带前序读取指令、指定文件标识以及指定的维度,指定文件标识中含有指定文件根据预设规则排序的所有分类标识,前序读取指令用于表示查询指定文件在指定的维度上的前序文件;
需要说明的是,为了区分读取请求,在读取前序文件的请求中添加了前序读取指令,本发明实施例并不限制前序读取指令的形式,可以是符号,例如@、&等等,也可以是一个可识别的语句。
查询与指定文件标识完全一致的文件标识,将该文件标识对应的文件作为指定文件;
需要说明的是,在查询指定文件的前序文件时,首先需要从文件存储系统中查找出该指定文件,由于第二读取请求中含有该指定文件的文件标识,通过上述实施例的方法,即可查询到该指定文件。
按照预设规则对各文件在指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在指定的维度下的排序;
获取指定文件在指定的维度下的排序的前序文件。
例如,假设3个文件content1、content2和content3均已写入数据库,那么操作forward(“Landsat8”,“15m”,“2017.01.02”,3)表示读取编号为2的文件(即content2)在第3个维度,即时间维度上的前序文件,由于content1在时间维度上的分类标识为2017.01.01,因此content2文件在时间维度上的前序文件是content1。
与上述实施例类似的是,本发明实施例还提供了读取文件在某个维度上的后序文件的方法,由上述实施例可知,文件在每个维度上均具有一个分类标识,以时间维度为例,可以将文件的创建时间先后进行排序,比如2017年2月3号的文件就是2017年2月2号的文件的后序文件。在某些维度中可能排序并没有在时间维度的排序清晰,本发明实施例支持用户根据预设的规则对文件在不同维度下进行排序。
具体地,该方法包括:
接收第三读取请求,第三读取请求中携带后序读取指令、指定文件标识以及指定的维度,指定文件标识中含有指定文件根据预设规则排序的所有分类标识,后序读取指令用于表示查询指定文件在指定的维度上的后序文件;
需要说明的是,为了区分读取请求,在读取前序文件的请求中添加了后序读取指令,本发明实施例并不限制前序读取指令的形式,可以是符号,例如*、¥等等,也可以是一个可识别的语句。
查询与指定文件标识完全一致的文件标识,将该文件标识对应的文件作为指定文件;
需要说明的是,在查询指定文件的后序文件时,首先需要从文件存储系统中查找出该指定文件,由于第二读取请求中含有该指定文件的文件标识,通过上述实施例的方法,即可查询到该指定文件。
按照预设规则对各文件在指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在指定的维度下的排序;
获取指定文件在指定的维度下的排序的后序文件。
例如,假设3个文件content1、content2和content3均已写入数据库,那么操作backward(“Landsat8”,“15m”,“2017.01.02”,3)表示读取编号为2的文件(即content2)在第3个维度,即时间维度上的后序文件,由于content1在时间维度上的分类标识为2017.01.01,因此content2文件在时间维度上的后序文件是content3。
在上述各实施例的基础上,本发明实施例的文件存储方法还包括:
设置维度优先级,以使得用户查询指定文件在指定的维度上的前序文件或后序文件时,具有不同的响应延迟。
需要说明的是,如果每个维度的优先级是一样的,那么所有维度的查询响应延迟(假设是t)是一样的,如果认为指定了维度D1的优先级高于其他维度,那么在维度D1上的查询响应延迟会小于t。也就是说,如果用户有特殊需求,在某个维度上要求响应延迟小,可以将该维度的优先级提高,这样可以认为在该维度上的查询响应延迟要比其他维度上要小。
根据本发明的另一个方面,还提供一种文件存储系统,参见图3,包括:
存储信息接收模块301,接收用于存储文件的请求信息,请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为文件在不同维度下的值,不同的维度之间相互独立;
具体地,用户或其他设备需要存储文件时,向文件存储系统发送请求信息,文件的分类标识可以是文件在原树状文件目录中的层级的值。本发明实施例将不同的分类标识作为不同的维度上的值。可选地,维度可以通过维度编号和维度名称进行标注,维度编号是唯一标识一个维度的标识信息,维度名称是便于用户识别的维度的标识信息。以表1示出的文件为例,可以将遥感卫星作为维度1的维度名称,空间分辨率作为维度2的维度名称,时间作为维度3的维度名称。
上述3个文件:content1、conten2和content3即可映射到3维空间中,对用于存储文件content1的请求信息来说,该请求信息的形式可以是(landsat8,30,2017.01.01,content1)。需要注意的是,上述形式仅仅是一个示例,也可以用(landsat8/30/2017.01.01/content1)或者(landsat8\30\2017.01.01\content1)等等来标识,无论是“,”、“/”还是“\”都仅仅代表分隔符,本发明实施例并不限定具体的分隔符格式。
标识模块302,用于建立文件的文件标识,文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;
需要说明的是,文件标识在文件标识中的排序与分类标识所在的维度相关,例如,预先规定遥感卫星、分辨率以及时间三个维度的排序为:遥感卫星排第一位,分辨率排第二位,时间排第三位,那么以文件content1为例,该文件的文件标识为(landsat8,30,2017.01.01)。需要说明的是,在存储文件时,所有文件的文件标识中分类标识的排序依据应该是一致的,例如,对于文件content2来说,该文件的文件标识为(landsat8,15,2017.01.02),可以看出,该文件标识中分类标识的排序也是以遥感卫星—分辨率—时间进行的排序。
存储模块303,用于将文件与文件的文件标识一并存储,以使得用户通过文件标识查询到文件。
需要说明的是,本发明实施例在文件存储时,将不同的分类标识作分别视为不同的维度,将文件映射到多维空间中,与传统文件存储方法相比,在不引入冗余存储开销的情况下,使得各个维度具有了相同的优先级。
在上述实施例的基础上,标识模块302建立文件标识的步骤具体包括:
按预设规则对所有维度进行排序,获得维度的序列;
需要说明的是,本发明实施例并不限制对维度进行排序的规则,例如以维度名称的首字母进行排序,以用户对每个维度的关注度进行排序等等。
根据维度的序列,对各维度下的分类标识进行排序,将排序后的分类标识作为文件的文件标识。
在上述实施例的基础上,文件存储系统还包括:
第一请求接收模块,用于接收第一读取请求,第一读取请求中携带目标文件标识,目标文件标识中含有目标文件的根据预设规则排序的所有分类标识;
第一读取模块,用于查询与目标文件标识完全一致的文件标识,将该文件标识对应的文件作为目标文件。
具体地读取操作可以为:read(d1,d2,d3…,dn):读取一个文件,其中d1,d2,...,dn分别指定了该文件在n个维度上的取值,该操作会返回满足D1=d1&D2=d2&...&Dn=dn的文件的内容content。例如,第一读取请求中携带的目标文件标识为:(landsat8,15,2017.01.02),在该目标文件标识中已经指定了目标文件在第一维度、第二维度和第三维度的取值,那么通过遍历文件存储系统,查询第一维度为landsat8,第二维度为15,第三维度为2017.01.02的文件,作为目标文件。
在上述实施例的基础上,文件存储系统还提供了读取文件在某个维度上的前序文件的功能,由上述实施例可知,文件在每个维度上均具有一个分类标识,以时间维度为例,可以将文件的创建时间先后进行排序,比如2017年2月1号的文件就是2017年2月2号的文件的前序文件。在某些维度中可能排序并没有在时间维度的排序清晰,本发明实施例支持用户根据预设的规则对文件在不同维度下进行排序。
具体地,文件存储系统还包括:
第二请求接收模块,用于接收第二读取请求,第二读取请求中携带前序读取指令、指定文件标识以及指定的维度,指定文件标识中含有指定文件根据预设规则排序的所有分类标识,前序读取指令用于表示查询指定文件在指定的维度上的前序文件;
需要说明的是,为了区分读取请求,在读取前序文件的请求中添加了前序读取指令,本发明实施例并不限制前序读取指令的形式,可以是符号,例如@、&等等,也可以是一个可识别的语句。
第二读取模块,用于查询与指定文件标识完全一致的文件标识,将该文件标识对应的文件作为指定文件;
需要说明的是,在查询指定文件的前序文件时,首先需要从文件存储系统中查找出该指定文件,由于第二读取请求中含有该指定文件的文件标识,通过上述实施例的方法,即可查询到该指定文件。可选地,第二读取模块可以与第一读取模块为同一个模块。
第一排序模块,用于按照预设规则对各文件在指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在指定的维度下的排序;
前序文件获取模块,用于获取指定文件在指定的维度下的排序的前序文件。
例如,假设3个文件content1、content2和content3均已写入数据库,那么操作forward(“Landsat8”,“15m”,“2017.01.02”,3)表示读取编号为2的文件(即content2)在第3个维度,即时间维度上的前序文件,由于content1在时间维度上的分类标识为2017.01.01,因此content2文件在时间维度上的前序文件是content1。
与上述实施例类似的是,本发明实施例的文件存储系统还提供了读取文件在某个维度上的后序文件的功能,由上述实施例可知,文件在每个维度上均具有一个分类标识,以时间维度为例,可以将文件的创建时间先后进行排序,比如2017年2月3号的文件就是2017年2月2号的文件的后序文件。在某些维度中可能排序并没有在时间维度的排序清晰,本发明实施例支持用户根据预设的规则对文件在不同维度下进行排序。
具体地,文件存储系统还包括:
第三请求接收模块,用于接收第三读取请求,第三读取请求中携带后序读取指令、指定文件标识以及指定的维度,指定文件标识中含有指定文件根据预设规则排序的所有分类标识,后序读取指令用于表示查询指定文件在指定的维度上的后序文件;
需要说明的是,为了区分读取请求,在读取前序文件的请求中添加了后序读取指令,本发明实施例并不限制前序读取指令的形式,可以是符号,例如*、¥等等,也可以是一个可识别的语句。
第三读取模块,用于查询与指定文件标识完全一致的文件标识,将该文件标识对应的文件作为指定文件;
需要说明的是,在查询指定文件的后序文件时,首先需要从文件存储系统中查找出该指定文件,由于第二读取请求中含有该指定文件的文件标识,通过上述实施例的方法,即可查询到该指定文件。可选地,第一读取模块、第二读取模块和第三读取模块可以为同一个模块。
第二排序模块,用于按照预设规则对各文件在指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在指定的维度下的排序。可选地,第二排序模块可以与第一排序模块为同一个模块。
后续文件获取模块,用于获取指定文件在指定的维度下的排序的后序文件。
例如,假设3个文件content1、content2和content3均已写入数据库,那么操作backward(“Landsat8”,“15m”,“2017.01.02”,3)表示读取编号为2的文件(即content2)在第3个维度,即时间维度上的后序文件,由于content1在时间维度上的分类标识为2017.01.01,因此content2文件在时间维度上的后序文件是content3。
在上述实施例的基础上,本发明实施例的文件存储系统还包括:
优先级设置模块,设置维度优先级,以使得用户查询指定文件在指定的维度上的前序文件或后序文件时,具有不同的响应延迟。
需要说明的是,如果每个维度的优先级是一样的,那么所有维度的查询响应延迟(假设是t)是一样的,如果认为指定了维度D1的优先级高于其他维度,那么在维度D1上的查询响应延迟会小于t。也就是说,如果用户有特殊需求,在某个维度上要求响应延迟小,可以将该维度的优先级提高,这样可以认为在该维度上的查询响应延迟要比其他维度上要小。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种文件存储方法,其特征在于,包括:
接收用于存储文件的请求信息,所述请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为所述文件在不同维度下的值,不同的维度之间相互独立;
建立所述文件的文件标识,所述文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;
将所述文件与所述文件的文件标识一并存储,以使得用户通过所述文件标识查询到所述文件;
其中,所述建立所述文件的文件标识的步骤具体包括:
按预设规则对所有维度进行排序,获得维度的序列;
根据所述维度的序列,对各维度下的分类标识进行排序,将排序后的分类标识作为所述文件的文件标识;
所述文件存储方法还包括:
接收第二读取请求,所述第二读取请求中携带前序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件的根据所述预设规则排序的所有分类标识,所述前序读取指令用于表示查询指定文件在所述指定的维度上的前序文件;
查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
获取所述指定文件在所述指定的维度下的排序的前序文件。
2.如权利要求1所述的文件存储方法,其特征在于,还包括:
接收第一读取请求,所述第一读取请求中携带目标文件标识,所述目标文件标识中含有目标文件的根据所述预设规则排序的所有分类标识;
查询与所述目标文件标识完全一致的文件标识,将该文件标识对应的文件作为目标文件。
3.如权利要求1所述的文件存储方法,其特征在于,还包括:
接收第三读取请求,所述第三读取请求中携带后序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件的根据所述预设规则排序的所有分类标识,所述后序读取指令用于表示查询指定文件在所述指定的维度上的后序文件;
查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
获取所述指定文件在所述指定的维度下的排序的后序文件。
4.如权利要求1或3所述的文件存储方法,其特征在于,还包括:
设置维度优先级,以使得用户查询指定文件在指定的维度上的前序文件或后序文件时,具有不同的响应延迟。
5.一种文件存储系统,其特征在于,包括:
存储信息接收模块,接收用于存储文件的请求信息,所述请求信息中携带文件以及该文件的所有分类标识,各分类标识分别为所述文件在不同维度下的值,不同的维度之间相互独立;
标识模块,用于建立所述文件的文件标识,所述文件标识为该文件的所有分类标识,且每个分类标识在文件标识中的排序与该分类标识所在的维度相关;
存储模块,用于将所述文件与所述文件的文件标识一并存储,以使得用户通过所述文件标识查询到所述文件;
其中,所述标识模块建立所述文件的文件标识的步骤具体为:
按预设规则对所有维度进行排序,获得维度的序列;
根据所述维度的序列,对各维度下的分类标识进行排序,将排序后的分类标识作为所述文件的文件标识;
所述文件存储系统还包括:
第二请求接收模块,用于接收第二读取请求,所述第二读取请求中携带前序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件的根据所述预设规则排序的所有分类标识,所述前序读取指令用于表示查询指定文件在所述指定的维度上的前序文件;
第二读取模块,用于查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
第一排序模块,用于按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
前序文件获取模块,用于获取所述指定文件在所述指定的维度下的排序的前序文件。
6.如权利要求5所述的文件存储系统,其特征在于,还包括:
第一请求接收模块,用于接收第一读取请求,所述第一读取请求中携带目标文件标识,所述目标文件标识中含有目标文件的根据所述预设规则排序的所有分类标识;
第一读取模块,用于查询与所述目标文件标识完全一致的文件标识,将该文件标识对应的文件作为目标文件。
7.如权利要求6所述的文件存储系统,其特征在于,还包括:
第三请求接收模块,用于接收第三读取请求,所述第三读取请求中携带后序读取指令、指定文件标识以及指定的维度,所述指定文件标识中含有指定文件的根据所述预设规则排序的所有分类标识,所述后序读取指令用于表示查询指定文件在所述指定的维度上的后序文件;
第三读取模块,用于查询与所述指定文件标识完全一致的文件标识,将该文件标识对应的文件作为所述指定文件;
第二排序模块,用于按照预设规则对各文件在所述指定的维度下的分类标识进行排序,按照分类标识的排序对各文件进行排序,获得各文件在所述指定的维度下的排序;
后续文件获取模块,用于获取所述指定文件在所述指定的维度下的排序的后序文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810108421.4A CN108197321B (zh) | 2018-02-02 | 2018-02-02 | 文件存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810108421.4A CN108197321B (zh) | 2018-02-02 | 2018-02-02 | 文件存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108197321A CN108197321A (zh) | 2018-06-22 |
CN108197321B true CN108197321B (zh) | 2018-12-28 |
Family
ID=62592339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810108421.4A Active CN108197321B (zh) | 2018-02-02 | 2018-02-02 | 文件存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108197321B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392070B (zh) * | 2021-07-07 | 2024-05-14 | 百果园技术(新加坡)有限公司 | 在线文档管理方法、装置、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646052A (zh) * | 2013-11-28 | 2014-03-19 | 小米科技有限责任公司 | 一种图片信息的处理方法及装置 |
CN103077214B (zh) * | 2012-12-28 | 2016-08-24 | 华为技术有限公司 | 文件存储方法及装置 |
CN106844374A (zh) * | 2015-12-04 | 2017-06-13 | 北京四维图新科技股份有限公司 | 一种存储、检索照片的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014154891A (ja) * | 2013-02-04 | 2014-08-25 | Canon Inc | 情報処理装置およびその制御方法、プログラム、並びに記憶媒体 |
JP6102448B2 (ja) * | 2013-04-10 | 2017-03-29 | 富士通株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
-
2018
- 2018-02-02 CN CN201810108421.4A patent/CN108197321B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077214B (zh) * | 2012-12-28 | 2016-08-24 | 华为技术有限公司 | 文件存储方法及装置 |
CN103646052A (zh) * | 2013-11-28 | 2014-03-19 | 小米科技有限责任公司 | 一种图片信息的处理方法及装置 |
CN106844374A (zh) * | 2015-12-04 | 2017-06-13 | 北京四维图新科技股份有限公司 | 一种存储、检索照片的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108197321A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100468402C (zh) | 一种数据存储及查询方法 | |
US8938459B2 (en) | System and method for distributed index searching of electronic content | |
EP2122490B1 (en) | A method and system for integrating a social network and data repository to enable map creation | |
CN104820717B (zh) | 一种海量小文件存储及管理方法和系统 | |
US10789231B2 (en) | Spatial indexing for distributed storage using local indexes | |
AU2017310296B2 (en) | Systems, methods, and data structures for high-speed searching or filtering of large datasets | |
US7970769B2 (en) | Apparatus and method for optimized index search | |
CN106326429A (zh) | 一种基于solr的Hbase秒级查询方案 | |
US20080155171A1 (en) | File system, and method for storing and searching for file by the same | |
CN109284273B (zh) | 一种采用后缀数组索引的海量小文件查询方法及系统 | |
CN107491487A (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
CN101796795A (zh) | 分布式系统 | |
CN105117502A (zh) | 一种基于大数据的检索方法 | |
CN104750776A (zh) | 使用元数据访问数据库平台中的信息内容 | |
CN110546633A (zh) | 文档的基于命名实体的类别标签添加 | |
CN111813849A (zh) | 数据抽取方法、装置及设备、存储介质 | |
CN109299152A (zh) | 一种实时数据流的后缀数组索引方法及装置 | |
CN104462349A (zh) | 一种文件处理方法及装置 | |
CN107423321A (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN109947759A (zh) | 一种数据索引建立方法、索引检索方法及装置 | |
CN108197321B (zh) | 文件存储方法及系统 | |
US8904272B2 (en) | Method of multi-document aggregation and presentation | |
CN111858355B (zh) | 测试案例处理方法及装置、计算机设备及可读存储介质 | |
CN110969000A (zh) | 数据合并的处理方法及装置 | |
KR20090037704A (ko) | 직관적 이미지 검색을 위한 이미지의 메타 데이터 생성방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |