CN106294352A - 一种文件处理方法、装置和文件系统 - Google Patents
一种文件处理方法、装置和文件系统 Download PDFInfo
- Publication number
- CN106294352A CN106294352A CN201510243762.9A CN201510243762A CN106294352A CN 106294352 A CN106294352 A CN 106294352A CN 201510243762 A CN201510243762 A CN 201510243762A CN 106294352 A CN106294352 A CN 106294352A
- Authority
- CN
- China
- Prior art keywords
- file
- index
- mark
- information storage
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
Abstract
本发明提供了一种文件处理方法、装置和文件系统,该方法根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识进行计算,得到文件标识所在的索引分组的标识,然后对文件标识、索引分组的标识和单位索引文件存储的文件信息数量进行计算,得到文件标识所在索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址,通过对用户输入的文件标识进行简单的计算,就可以对用户上传的图片或者视频进行处理,缩短网盘的服务器的文件处理时间,提高了用户使用网盘的体验。
Description
技术领域
本发明涉及计算处理领域,具体而言,涉及一种文件处理方法、装置和文件系统。
背景技术
目前,在用户上传图片或视频文件时或将任意文件更新存储至网盘中时,后台服务器需要根据该文件名写入新的文件或对已经存在的文件进行更新。比如:在网盘中上传一个新的文件,或对已经存在的文件进行读取或者修改或者删除等。
当用户上传图片或视频文件时,服务器根据该文件名将文件内容写入存储服务器;或者根据用户上传时间等生成具有时间戳的文件名,并将文件内容写入存储服务器。
当用户读取或者更新已经存储至网盘的文件时,服务器通过用户输入的文件名在后台的文件目录中进行搜索来找到目标文件并进行处理。当文件数量越来越多时,服务器的搜索时间会越来越长,从而整个文件处理的时间也会变长,当许多用户同时进行处理时,这种弊端会愈发明显,延长了每个用户的处理时间,这严重影响了用户的体验。
发明内容
本发明的目的在于提供一种文件处理方法、装置和文件系统,使网盘的服务器在监测到用户上传图片或视频文件时时,快速的对用户的上传的图片或视频文件进行处理,缩短网盘的服务器处理文件的时间。
使用文件搜索引擎搜索待访问文件时,文件搜索引擎可以很快的向用户反馈文件的搜索结果。
第一方面,本发明实施例提供了一种文件处理方法,所述方法包括:
获取用户输入的文件标识;
根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识,计算所述文件标识所在的索引分组的标识;所述索引分组包括多个索引文件,每个所述索引文件用于存储预设数量的所述文件信息的存储地址;
根据单位索引文件存储的文件信息存储地址数量,计算所述文件标识所在索引文件的标识;
根据得到所述索引文件的标识,在所述索引文件的标识对应的索引文件中获取所述文件标识对应的所述文件信息存储地址;
根据获取到的所述文件信息存储地址,读取存储的文件信息,并对读取的所述文件信息进行处理。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识,计算所述文件标识所在的索引分组的标识包括:
通过获取到的所述文件标识减去所述索引分组的起始文件标识,得到索引分组标识中间计算结果;
判断所述索引分组标识中间计算结果和所述索引分组中存储的文件信息存储地址数量的大小;
若确定所述索引分组标识中间计算结果小于所述索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为所述文件标识所在的索引分组的标识。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述根据单位索引文件存储的文件信息存储地址数量,计算所述文件标识所在索引文件的标识包括:
通过所述索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
对得到的所述索引文件标识中间计算结果向下取整,得到所述文件标识所在索引文件的标识。
结合第一方面以及上述第一方面的第一种和第二种可能的实现方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据得到所述索引文件的标识,在所述索引文件的标识对应的索引文件中获取所述文件标识对应的所述文件信息存储地址包括:
通过所述索引分组标识中间计算结果减去所述索引文件标识和所述单位索引文件存储文件信息数量的乘积,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
通过所述文件标识减去所述索引文件的起始文件标识,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
通过所述文件标识,查询所述索引文件中所述文件标识对应的文件信息存储地址;
获取查询到所述文件标识对应的文件信息存储地址。
第二方面,本发明实施例提供了一种文件处理装置,所述装置包括:
文件标识获取模块,用于获取用户输入的文件标识;
第一计算模块,用于根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识,计算所述文件标识所在的索引分组的标识;所述索引分组包括多个索引文件,每个所述索引文件用于存储预设数量的所述文件信息的存储地址;
第二计算模块,用于根据单位索引文件存储的文件信息存储地址数量,计算所述文件标识所在索引文件的标识;
文件信息存储地址获取模块,用于根据得到所述索引文件的标识,在所述索引文件的标识对应的索引文件中获取所述文件标识对应的所述文件信息存储地址;
处理模块,用于根据获取到的所述文件信息存储地址,读取存储的文件信息,并对读取的所述文件信息进行处理。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述第一计算模块包括:
第一计算单元,用于通过获取到的所述文件标识减去所述索引分组的起始文件标识,得到索引分组标识中间计算结果;
第二计算单元,用于判断所述索引分组标识中间计算结果和所述索引分组中存储的文件信息存储地址数量的大小;
索引分组标识确定单元,用于若确定所述索引分组标识中间计算结果小于所述索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为所述文件标识所在的索引分组的标识。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述第二计算模块包括:
第三计算单元,用于
通过所述索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
第四计算单元,用于对得到的所述索引文件标识中间计算结果向下取整,得到所述文件标识所在索引文件的标识。
结合第二方面以及上述第二方面的第一种和第二种可能的实现方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述文件信息存储地址获取模块包括:
第五计算单元,用于通过所述索引分组标识中间计算结果减去所述索引文件标识和所述单位索引文件存储文件信息数量的乘积,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
第一获取单元,用于根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
第六计算单元,用于通过所述文件标识减去所述索引文件的起始文件标识,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
第二获取单元,用于根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
查询单元,用于通过所述文件标识,查询所述索引文件中所述文件标识对应的文件信息存储地址;
第三获取单元,用于获取查询到所述文件标识对应的文件信息存储地址。
第三方面,本发明实施例提供了一种文件处理装置,所述装置包括:
处理器、存储器和总线,所述处理器、和存储器通过所述总线连接;
所述存储器用于存储可执行程序;
所述处理器,用于通过所述总线调用存储在所述存储器中的可执行程序,执行上述第一方面提出的文件处理方法。
第四方面,本发明实施例提供了一种文件系统,包括第三方面提出的文件处理装置。
本发明实施例提供的一种文件处理方法、装置和文件系统,通过对获取到的文件标识和各索引分组中存储的文件信息数量和索引分组的起始文件标识进行计算,得到文件标识所在的索引分组的标识,然后对文件标识、索引分组的标识和单位索引文件存储的文件信息数量进行计算,得到文件标识所在索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址,通过对用户输入的文件标识进行简单的计算,就可以找到用户文件信息的存储地址,从而只需要很短的时间,就可以对用户上传的图片或者视频进行处理,缩短网盘的服务器的文件处理时间,提高了用户使用网盘的体验。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的文件处理方法所涉及的一种实施环境的结构示意图;
图2示出了本发明实施例1所提供的一种文件处理方法流程图;
图3示出了本发明实施例2所提供的一种文件处理方法流程图;
图4示出了本发明实施例3所提供的一种文件处理装置的结构示意图;
图5示出了本发明实施例3所提供的另一种文件处理装置的结构示意图;
图6示出了本发明实施例4所提供的一种文件处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中,在现有的服务器处理文件的过程中,当用户读取或者更新已经存储至网盘的文件时,服务器通过用户输入的文件名在后台的文件目录中进行搜索来找到目标文件并进行处理。当文件数量越来越多时,服务器的搜索时间会越来越长,从而整个文件处理的时间也会变长,当许多用户同时进行处理时,这种弊端会愈发明显,延长了每个用户的处理时间,这严重影响了用户的体验。基于此,本发明实施例提供了一种文件处理方法、装置和文件系统。下面通过实施例进行描述。
参见图1,其示出了本发明实施例提供的文件处理方法所涉及的一种实施系统的结构示意图,该系统包括:服务器10,服务器10包括:处理单元100和文件系统101。
其中,处理单元100,用于获取用户输入的文件标识,然后根据文件标识、单位索引分组中存储的文件信息数量和单位索引文件存储的文件信息数量,计算文件标识所在索引文件的标识,然后在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址;并根据得到的文件信息存储地址,向文件系统101发送文件信息读取指令,将文件信息读取到处理单元100所在的服务器的缓存或者内存中,然后对读取的文件信息进行处理。
文件系统101,用于存储文件信息,每个文件信息都有一个对应的文件标识,在获取到处理单元100发送的文件信息读取指令时,允许处理单元100对与文件标识对应的文件信息进行读取。
其中,处理单元100和文件系统101可以位于一个服务器中,也可以位于不同的服务器中。其中,处理单元100可以是CPU、NP(Network Processor,网络处理器)等任意可以进行计算处理的装置,这里不再一一赘述。
实施例1
参见图2,本实施例提供了一种文件处理方法,该方法用于服务器所包含的处理单元,包括以下步骤:
步骤200、获取用户输入的文件标识。
其中,用户输入的文件标识,是用户在更新存储于云服务中的文件时,使用的服务器预先为用户分配的文件标识。
其中,用户在上传图片、视频等文件到云服务时,服务器向用户分配文件标识,使得用户可以通过所分配的文件标识来对已经存储的文件进行处理。
步骤201、根据文件标识、各索引分组中存储的文件信息存储地址数量和索引分组的起始文件标识,计算文件标识所在的索引分组的标识;索引分组包括多个索引文件,每个索引文件用于存储预设数量的文件信息的存储地址。
其中,每个索引分组中存储的文件信息存储地址数量,表示的是每个索引分组所能存储的文件信息存储地址的最大数目,每个索引分组中存储的文件信息存储地址数量都记录在服务器预先存储的文件系统信息中。
步骤202、根据单位索引文件存储的文件信息存储地址数量,计算文件标识所在索引文件的标识。
其中,单位索引文件存储的文件信息存储地址数量,表示的是每个索引文件所能存储的文件信息存储地址的最大数目,记录在服务器预先存储的文件系统信息中。
步骤203、根据得到索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址。
其中,文件信息存储地址,包括文件信息在存储器中的起始存储位置和终止存储位置。
步骤204、根据获取到的文件信息存储地址,读取存储的文件信息,并对读取的文件信息进行处理。
其中,根据得到的文件信息存储地址,计算单元向文件系统发送文件信息读取指令,将文件信息读取到处理单元所在的服务器的缓存或者内存中,然后对读取的文件信息进行处理。
基于以上描述,本实施例提供的一种文件处理方法,通过对获取到的文件标识和各索引分组中存储的文件信息数量和索引分组的起始文件标识进行计算,得到文件标识所在的索引分组的标识,然后对文件标识、索引分组的标识和单位索引文件存储的文件信息数量进行计算,得到文件标识所在索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址,通过对用户输入的文件标识进行简单的计算,就可以找到用户文件信息的存储地址,从而只需要很短的时间,就可以对用户上传的图片或者视频进行处理,缩短网盘的服务器的文件处理时间,提高了用户使用网盘的体验。
其中,根据文件标识和单位索引分组中存储的文件信息存储地址数量,计算文件标识所在的索引分组的标识包括:
通过获取到的文件标识减去索引分组的起始文件标识,得到索引分组标识中间计算结果;
判断索引分组标识中间计算结果和索引分组中存储的文件信息存储地址数量的大小;
若确定索引分组标识中间计算结果小于索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为文件标识所在的索引分组的标识。
比如,设文件系统中存在3个索引分组,标识为0的索引分组的起始文件标识为0并且可以存储2000个文件信息存储地址,标识为1的索引分组的起始文件标识为2000并且可以存储3000个文件信息存储地址,标识为2的索引分组的起始文件标识为5000并且可以存储4000个文件信息存储地址。设计算单元获取到的文件标识是2201,计算单元将文件标识2201减去标识为0的索引分组的起始文件标识0,得到中间计算结果是2201,然后判断2201大于该索引分组的可以存储的文件信息存储地址的数量2000,所以标识为0的索引分组中不包含文件标识为2201的文件信息存储地址;然后计算单元将文件标识2201减去标识为1的索引分组的起始文件标识2000,得到索引分组标识中间计算结果201,然后判断索引分组标识中间计算结果201小于该索引分组可以存储的文件信息存储地址的数量3000后,确定文件标识为2201对应的文件信息存储地址在标识为1的索引分组内。
其中,根据单位索引文件存储的文件信息存储地址数量,计算文件标识所在索引文件的标识包括:
通过索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
对得到的索引文件标识中间计算结果向下取整,得到文件标识所在索引文件的标识。
其中,索引分组标识中间计算结果,用于指示文件标识对应的文件信息存储地址所在的索引分组。通过得到的索引分组标识中间计算结果,处理单元可以进一步的计算,得到文件标识所在索引文件的标识。
其中,索引文件包括预设数量的文件标识和对应文件信息存储地址的对应关系。
其中,当服务器获得用户上传的文件后,就会在索引文件中分配文件信息的存储地址,并根据该文件信息的存储地址将文件存储在服务器的存储器中。其中,索引文件标识中间计算结果一般是一个包含整数部分和小数部分的数字,比如:2.2、0.4等,通过这个数字是不能确定文件标识所在的索引文件标识的,所以在得到索引文件标识中间计算结果后,需要对索引文件标识中间计算结果进行向下取整计算,从而得到文件标识所在的索引文件的标识。
其中,向下取整计算,就是去掉数字中的小数部分,保留数字中的整数部分作为计算结果。
比如:数字2.2向下取整后,得到的向下取整的结果是数字2,而得到的数字2就是文件标识所在的索引文件的标识。
其中,根据得到索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址包括:
通过索引分组标识中间计算结果减去索引文件标识和单位索引文件存储文件信息数量的乘积,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;
根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址;
或者,
通过文件标识减去索引文件的起始文件标识,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;
根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址;
或者,
通过文件标识,查询索引文件中文件标识对应的文件信息存储地址;
获取查询到文件标识对应的文件信息存储地址。
在得到文件标识所在的索引文件的标识后,由于索引文件中存储的文件信息存储地址的数量是有限的,通常也就是几百个,因此不论处理单元是通过计算的方式,还是查询的方式,都可以很快速的找到文件标识对应的文件信息存储地址,达到快速处理文件信息的目的。
实施例2
参见图3,本发明实施例提供了一种文件处理方法,该方法用于服务器所包含的处理单元,包括以下步骤:
步骤300、获取用户输入的文件标识。
其中,用户输入的文件标识,是用户在更新存储于云服务中的文件时,使用的服务器预先为用户分配的文件标识。
其中,用户在上传图片、视频等文件到云服务时,服务器向用户分配文件标识,使得用户可以通过所分配的文件标识来对已经存储的文件进行处理。
比如,预设某个用户上传视频文件到云服务中,服务器为该视频文件分配的文件标识是2201,当用户通过文件标识2201观看视频时,服务器就会获取到用户输入的文件标识。
其中,服务器生成文件标识的过程如下:
当服务器获得用户新建文件的请求时,将文件信息写入服务器的存储器中,并获得文件信息的存储地址,将文件信息的存储地址写入索引文件中,根据索引文件中已经记录的文件信息存储地址的个数,加上索引文件的标识和索引文件可以存储的文件信息存储地址的预设数量的乘积,得到索引分组内的文件标识,然后将索引分组内的文件标识加上索引分组的起始文件标识,就会获得到返回给用户的文件标识。
步骤301、通过获取到的文件标识减去索引分组的起始文件标识,得到索引分组标识中间计算结果。
其中,索引分组的起始文件标识是索引分组中存储的第一个文件信息存储地址对应的文件标识。
比如:设文件系统中存在3个索引分组,标识为0的索引分组的起始文件标识为0并且可以存储2000个文件信息存储地址,标识为1的索引分组的起始文件标识为2000并且可以存储3000个文件信息存储地址,标识为2的索引分组的起始文件标识为5000并且可以存储4000个文件信息存储地址。
其中,设获取到的文件标识是2201,计算单元将文件标识2201减去标识为0的索引分组的起始文件标识0,得到中间计算结果是2201。
步骤302、判断索引分组标识中间计算结果和索引分组中存储的文件信息存储地址数量的大小。
其中,每个索引分组中存储的文件信息存储地址数量,表示的是每个索引分组所能存储的文件信息存储地址的最大数目,每个索引分组中存储的文件信息存储地址数量都记录在服务器预先存储的文件系统信息中,当处理单元需要计算文件标识对应的文件信息在索引文件中的存储位置时,从文件系统信息中读取单位索引分组中存储的文件信息存储地址数量。
其中,索引分组包括多个索引文件,每个索引文件均包括预设数量的文件标识和文件信息存储地址的对应关系。
可选地,在索引文件中,文件标识和对应的文件信息存储地址也可以采用任意其他的存储形式,这里不再一一赘述。
其中,在理论上,一个索引分组可以存储232个文件信息,但是在实际的文件系统的使用过程中,为了使计算简单,会设定一个索引分组存储几千至几万个文件信息。
其中,在文件系统中,索引分组的索引分组标识、索引文件标识和文件标识均属于包含0和正整数的整数集合。
其中,服务器生成文件标识和文件信息存储地址的对应关系的具体过程如下:
当服务器获得用户上传的文件后,就会在索引文件中分配文件信息的存储地址,并根据该文件信息的存储地址将文件存储在服务器的存储器中。
比如,在得到索引分组标识中间计算结果后,判断得到的索引分组标识中间计算结果2201是否小于该索引分组的可以存储的文件信息存储地址的数量2000。
步骤303、若确定索引分组标识中间计算结果小于索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为文件标识所在的索引分组的标识。
可选地,当确定索引分组标识中间计算结果大于或等于索引分组中存储的文件信息存储地址数量时,则计算单元返回步骤301,获取与该索引分组相邻的下一个索引分组中存储的文件信息存储地址数量和起始文件标识,直到确定文件标识所在的索引分组的标识。
当然,计算单元可以通过文件标识、各索引分组中存储的文件信息存储地址数量和索引分组的起始文件标识,通过其他现有的计算方法得到文件标识所在的索引分组的标识,这里不再一一赘述。
比如,判断2201大于该索引分组的可以存储的文件信息存储地址的数量2000,所以标识为0的索引分组中不包含文件标识为2201的文件信息存储地址;然后计算单元将文件标识2201减去标识为1的索引分组的起始文件标识2000,得到索引分组标识中间计算结果201,然后判断索引分组标识中间计算结果201小于该索引分组可以存储的文件信息存储地址的数量3000后,确定文件标识为2201对应的文件信息存储地址在标识为1的索引分组内。
其中,计算单元对得到的索引分组标识中间计算结果进行缓存。
其中,索引分组标识中间计算结果,用于指示文件标识对应的文件信息存储地址所在的索引分组。通过得到的索引分组标识中间计算结果,处理单元可以进一步的计算,得到文件标识所在索引文件的标识。
比如:计算单元获取到的文件标识是2201、单位索引分组中存储的文件信息存储地址数量是2000、通过计算得到文件标识所在的索引分组的标识是1,那么经过计算:索引分组标识中间计算结果=2201-2000×1=201。
步骤304、通过索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果。
其中,单位索引文件存储的文件信息存储地址数量,表示的是每个索引文件所能存储的文件信息存储地址的最大数目,记录在服务器预先存储的文件系统信息中,当处理单元需要计算文件标识对应的文件信息在索引文件中的存储位置时,从文件系统信息中读取单位索引文件存储的文件信息数量。
比如,在本实施例中,设单位索引文件存储的文件信息单位索引分组数量是100,而通过计算得到的索引分组标识中间计算结果是201,那么,索引文件标识中间计算结果=201÷100=2.01。
其中,通过索引文件标识中间计算结果是不能确定文件标识所在的索引文件的标识的,所以在得到索引文件标识中间计算结果后,需要对索引文件标识中间计算结果进行向下取整计算,从而得到文件标识所在的索引文件的标识。
步骤305、对得到的索引文件标识中间计算结果向下取整,得到文件标识所在索引文件的标识。
其中,向下取整计算,就是去掉数字中的小数部分,保留数字中的整数部分作为计算结果。
其中,对作为索引文件标识中间计算结果的数字2.01进行向下取整,得到作为文件标识所在索引文件的标识的数字2,说明文件标识在标识是2的索引文件中。
步骤306、根据得到索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址。
其中,文件信息存储地址,包括文件信息在存储器中的起始存储位置和终止存储位置。
其中,文件信息在存储器中的起始存储位置包括起始数据块标识和起始数据块偏移地址,文件信息在存储器中的终止存储位置包括结束数据块标识和结束数据块偏移地址。
具体地,本实施例通过以下多种方式获取文件标识对应的文件信息存储地址。
方式一:
通过索引分组标识中间计算结果减去索引文件标识和单位索引文件存储文件信息数量的乘积,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址。
比如:根据以上的举例可知,计算单元所缓存的索引分组标识中间计算结果是201,索引文件标识是2,单位索引文件存储文件信息数量是100,那么,经过201-100×2=1,说明文件标识2201对应的文件信息存储地址存储在标识是1的索引分组中标识是2的索引文件的第二个存储位置上,在这个存储位置上,存储的内容是:2201文件信息存储地址的对应关系。
方式二:
通过文件标识减去索引文件的起始文件标识,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址。
比如,根据上述的实施例可知,文件标识是2201,标识是2的索引文件的起始文件标识是2200,那么通过文件标识减去索引文件的起始文件标识2200,得到的结果是0,那么说明文件标识2201对应的文件信息索引标识就存储在标识是2的索引文件中的第二个存储位置上,在这个存储位置上,存储的内容是:2201文件信息存储地址的对应关系。
方式三:
通过文件标识,查询索引文件中文件标识对应的文件信息存储地址;获取查询到文件标识对应的文件信息存储地址。
具体地,通过文件标识,在得到的索引文件标识对应的索引文件中,通过遍历的方式,查询该索引文件中存储多条文件标识和文件信息存储地址的对应关系,找到与文件标识相对应的文件信息存储地址,在找到与文件标识相对应的文件信息存储地址后,获取该文件标识对应的文件信息存储地址。
比如,根据上述的实施例可知,文件标识是2201,索引文件标识是2,那么计算单元会通过文件标识2201在索引文件标识是2的索引文件中的多条文件标识和文件信息存储地址的对应关系中,找到与文件标识2201相对应的文件信息存储地址。
其中,在得到文件标识所在的索引文件的标识后,由于索引文件中存储的文件信息存储地址的数量是有限的,通常也就是几百个(在本实施例中是100个),因此不论处理单元是通过计算的方式,还是查询的方式,都可以很快速的找到文件标识对应的文件信息存储地址,达到快速处理文件信息的目的。
步骤307、根据获取到的文件信息存储地址,读取存储的文件信息,并对读取的文件信息进行处理。
具体地,根据得到的文件信息存储地址,处理单元向文件系统发送文件信息读取指令,将文件信息读取到处理单元所在的服务器的缓存或者内存中,然后对读取的文件信息进行处理。
其中,对读取的文件信息的处理包括:对该用户的文件信息中记录的相关文件信息进行更新。
基于以上描述,本实施例提供的一种文件处理方法,通过对获取到的文件标识和各索引分组中存储的文件信息数量和索引分组的起始文件标识进行计算,得到文件标识所在的索引分组的标识,然后对文件标识、索引分组的标识和单位索引文件存储的文件信息数量进行计算,得到文件标识所在索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址,通过对用户输入的文件标识进行简单的计算,就可以找到用户文件信息的存储地址,从而只需要很短的时间,就可以对用户上传的图片或者视频进行处理,缩短网盘的服务器的文件处理时间,提高了用户使用网盘的体验。
实施例3
参见图4,本实施例提供一种文件处理装置,该装置包括:
文件标识获取模块400、第一计算模块401、第二计算模块402、文件信息存储地址获取模块403和处理模块404。
其中,文件标识获取模块400,用于获取用户输入的文件标识;
第一计算模块401,与文件标识获取模块400连接,用于根据文件标识、各索引分组中存储的文件信息存储地址数量和索引分组的起始文件标识,计算文件标识所在的索引分组的标识;索引分组包括多个索引文件,每个索引文件用于存储预设数量的文件信息的存储地址;
第二计算模块402,与第一计算模块401连接,用于根据单位索引文件存储的文件信息存储地址数量,计算文件标识所在索引文件的标识;
文件信息存储地址获取模块403,与第二计算模块402连接,用于根据得到索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址;
处理模块404,与文件信息存储地址获取模块403连接,用于根据获取到的文件信息存储地址,读取存储的文件信息,并对读取的文件信息进行处理。
其中,第一计算模块401包括:
第一计算单元4011,用于通过获取到的文件标识减去索引分组的起始文件标识,得到索引分组标识中间计算结果;
第二计算单元4012,用于判断索引分组标识中间计算结果和索引分组中存储的文件信息存储地址数量的大小;
索引分组标识确定单元4013,用于若确定索引分组标识中间计算结果小于索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为文件标识所在的索引分组的标识。
其中,第二计算模块402包括:
第三计算单元4021,用于
通过索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
第四计算单元4022,用于对得到的索引文件标识中间计算结果向下取整,得到文件标识所在索引文件的标识。
其中,文件信息存储地址获取模块403包括:
第五计算单元,用于通过索引分组标识中间计算结果减去索引文件标识和单位索引文件存储文件信息数量的乘积,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;
第一获取单元,用于根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址;
或者,
第六计算单元,用于通过文件标识减去索引文件的起始文件标识,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;
第二获取单元,用于根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址;
或者,
查询单元,用于通过文件标识,查询索引文件中文件标识对应的文件信息存储地址;
第三获取单元,用于获取查询到文件标识对应的文件信息存储地址。
本实施例还提供一种文件系统,包括上述的文件处理装置。
参见图5,本实施例提供了另一种文件系统,该文件系统通过将所存储数据进行分块存储,并通过设置的索引分组进行数据的管理,来提供一种自动增长的文件标识,借助于索引分组可以实现无限数量的文件信息的存储;在只有一个索引分组的情况下,文件标识的数量在232个以内。借助有组织的文件标识,在没有元数据的情况下通过计算文件标识依然可以实现对文件标识对应的文件进行访问,同时释放了元数据的存储空间。由于没有元数据,因而所有的文件定位都是通过计算直接得来的,从而降低了服务器处理文件的系统开销。通过统一的文件标识来对存储的文件进行管理,放弃文件夹和文件名,可以获得更多的存储空间和减少网络通信的数据量。通过自动增长的文件标识,可以实现服务器对存储的文件信息具有类似数据库访问的方式,可以更好更简便的进行遍历访问和更清晰的对外开放的接口,还可以组织成数据库的存储引擎。
该文件系统通过将所存储数据进行分块,并通过设置的索引分组进行数据的管理,还可以降低访问热点的概率,实现服务器对众多文件信息的更新请求的快速响应,提高了文件系统同时更新多个文件信息时的并行处理速度。通过将数据进行分块,可以将大文件分成多块来存储,在对每一个块进行追加写操作时不会影响其他的数据块的操作,同时也不影响对本数据块已经写入的数据的访问或修改,从而提高数据的并行处理速度。再者,通过将众多小文件写入一个数据块内,来减少碎片的生成,同时提供更多的文件数量的支持。
文件标识表示的是文件系统中用于表征所存储的文件信息的标识,每次新写入一个文件信息时,服务器都会对文件标识进行自动增加,从而保证分组内文件标识的唯一性。
对于任何一个文件标识,都会被存储到任一索引文件中。每个文件标识对应的文件信息会存储到索引文件中的固定位置上,而且每个文件标识在索引文件中占用固定字节,所以在服务器根据文件标识可以计算出该文件标识对应的文件信息存储地址在索引文件中的存储位置后,获取文件标识对应的文件信息存储地址,从而打开文件标识对应的文件信息,进行文件信息中数据的读写。
一个索引分组内预存储有多个索引文件,用来根据文件标识的计算来获取文件标识对应的文件信息存储地址。文件信息存储地址一般包括:文件信息存储的起始数据块标识和结束数据块标识、以及分别在起始数据块和结束数据块偏移地址。此文件信息占用固定大小的字节,所以每个索引文件可以包含预设数量的文件信息,使用多个索引文件来存储232个文件信息,同时也可以实现索引文件的并发。由于每个文件信息存储地址中的起始数据块标识都会指向一个数据块,所以在服务器同时处理多个文件信息的情况下,不会存在同时向同一个数据块进行读写数据的情况,并发时每个文件信息存储地址会分配不同的数据块来进行读写。数据块的容量只会在写入数据的情况下进行增长,不会由于文件的删除而释放存储空间,因而每个数据块中已经写入的数据大小是不会变的,所以在对某一个数据块写入数据的同时,可以对已经写入此数据块的文件信息进行读取或修改。
当存在一个数据块存储不了的大文件时,文件系统就会将该大文件存储到多个数据块中,则在存储该大文件后,该大文件的文件信息中会存储该大文件的起始数据块标识和结束数据块标识,以及该大文件分别在起始数据块和结束数据块中的偏移地址;其中,起始数据块中的偏移地址是该大文件的起始存储位置,而结束数据块中的偏移地址是该大文件的终止存储位置。
创建文件时,文件系统通过文件池判断是否可以写入,文件总数量小于232个或每类数据块数量小于232个或等于232个但存在没有写满的数据块的时候,此时可以写入文件。在确定可以写入文件后,文件系统先分配一个索引文件中空闲的文件信息,通过索引文件的文件大小和索引文件的文件标识来生成232进制内的文件标识,此文件标识即为该创建文件的文件标识。然后分配一个存储具体内容的数据块,并将此数据块的标识和将要写入的文件的存储地址等写入文件信息中,用来构建指向该被创建文件的索引,同时将需要写入的内容写入相应的数据块中,同时将此索引的反向日志写入此数据块的临时反向日志文件中。并在文件池中记录新的文件数量。
如果此数据块可以完全写入将要写入的文件内容,则使用前面所述的方法。如果文件系统确定新创建的文件需要多个数据块存储时,则会继续分配多个数据块来写入该文件未写入文本信息的部分,直到将该文件完全写入文件系统,并在该被创建文件的文件信息中,记录存储该大文件的起始数据块标识和结束数据块标识,以及该大文件分别在起始数据块和结束数据块中的偏移地址。
如果文件写入前可以确定此文件会被频繁修改,则可以通过标识将每个数据块的偏移位置的头部预留出后续数据块的文件信息,最后一个数据块的头部文件信息是空的,以便在进行文件写入的时候不会产生更多的数据迁移。如果没有标识则存储数据的最后一个数据块内的数据会将会产生数据迁移。
在向新创建的文件分配新的数据块的时候,会将该数据块的容量信息等写入容量数据块中。容量数据块也由文件池文件进行分配。每次写入新文件的时候都会将数据块的容量信息写入对应的容量数据块中,同时将对应此数据块的索引的反向日志写入该数据块的临时反向日志文件中。当该数据块写满时,会将该数据块的临时反向日志文件记录到分块的反向日志数据块中,并将反向日志数据块的标识和偏移等索引信息记录到容量数据块中的对应该数据块的索引上。然后释放临时的反向日志文件来提供给其他的新的数据块。
文件池中的每类数据块的分配都是通过自动增长的文件标识进行分配的,每类数据块的数量在232个以内。当需要创建新的文件时,文件系统先考虑分配某类数据块的时候先取出该类数据块中空闲的数据块进行分配,如果没有,则再分配该类数据块中已写有数据但并未写满的数据块。
文件系统通过设置索引分组可以提供无限数量的文件的支持。此时会创建一个分组文件,每个索引分组内通过多个索引文件对文件标识进行管理,其中,文件标识的个数在232个以内。
文件定位的方法分为两种。在只有一个索引分组时,因为单个索引分组内文件数量在232个以内,每个索引文件会记录相同个数的文件索引信息,因为每个索引文件的大小相同并且记录的每个索引信息的大小也相同,所以每个索引文件可以记录固定数量的文件信息。每个索引文件都会存储相同数量的文件信息,同一索引分组中各索引文件中存储的文件标识是按照自然数从小到大的顺序设置的,且各索引文件都预先存储有预设数量的文件信息。假设一个索引文件中存储有100个文件信息存储地址,那么,第一个索引文件存储文件标识1至100的文件信息存储地址,第二个索引文件存储文件标识101至200的文件信息存储地址……。因为组内的索引文件个数存在上限(所有索引文件中的索引信息个数在232个以内),所以将用户输入的文件标识除以单个索引文件中的索引信息的数量上限并向下取整(如:201/100=2),从而得到存储此文件标识对应的文件信息存储地址的索引文件标识,因而可以确定文件信息存储在相应序号的索引文件中。然后将文件标识减去此索引文件起始文件标识(如:201-200=1),即得到基于此索引文件的标识,因为每个索引信息占用固定大小,所以将此标识乘以每个索引信息的固定大小,从而可以偏移到此标识对应的索引信息位置。取出文件信息,其中包含了存放文件信息存储地址的数据块的标识,和在该数据块中的偏移地址。然后根据数据块的标识打开该数据块中存储的文件,并根据偏移地址,读取文件信息,即实现了对文件信息的定位。
在存在多个索引分组的情况下,首先通过文件标识在多个索引分组文件中进行查找,找到目标索引分组。每个索引分组中每个分组都有相同或不同的文件信息个数(可以手动设置每个索引分组内文件数量上限,且每个索引分组内文件信息的数量在232个以内,如:0-999,1000-1999,2000–4999等,根据文件标识查找到目标索引分组,然后减去目标索引分组的基数(如:2201-2000=201),从而得到该文件标识在索引分组内的哪一个索引文件中,然后采用前面所述的方法在索引分组内对文件标识对应的文件信息进行定位。
修改文件时,根据文件标识获取文件信息存储地址,定位到目标数据块的目标偏移地址处,然后根据修改的偏移起始位置和修改的数据大小进行覆盖写入或追加写入,并在记载文件信息的第一个数据块中记录修改后的文件的总大小。对于追加写入分为两种情况:1、如果最后一个数据块中没有空余的文件信息则将该数据块中的数据读取出来,然后判断空间是否可以写入后续数据块的文件信息,如果空间不足,则将此块记录标记为删除,同时在容量属性数据块中释放该数据块的容量,然后分配新的数据块来写入读取出的信息和将要追加的信息,同时将新的数据块的标识和偏移地址的索引写入上一个数据块的索引中。2、如果存储文件的最后一个数据块中存在空余的索引信息,则分配新的数据块,并将新的数据块的文件标识和偏移信息的索引写入空余的索引中,然后在新的数据块中写入将要追加的内容。此步骤可能重复多次。对于覆盖写入,会将文件偏移到指定偏移处,然后覆盖写入指定大小的内容。
读取文件时,根据文件标识获取文件信息,判断此文件是否已经删除,如果没有删除则根据指定的偏移和大小打开一个或多个指向的数据块来读取处数据,如果指定的读取大小大于实际存储的大小则读取实际大小的内容。
删除文件时,根据文件标识获取索引信息,判断此文件是否已经删除,如果没有删除则将此文件标记为删除,并将指向的所有数据块的内容的容量释放到对应的容量数据块中,同时将文件池文件的有效文件数进行减操作,已经删除的文件数量进行加操作。删除文件时并不立刻真正删除内容。可以在碎片整理的时候进行真正删除。
通过以上的描述,本实施例提供的文件系统,通过文件标识的计算快速定位内容,还可以提供更高的并发性能,对大小文件都友好,实现对文件的常态访问。
基于以上描述,本实施例提供的一种文件处理装置和文件系统,通过对获取到的文件标识和各索引分组中存储的文件信息数量和索引分组的起始文件标识进行计算,得到文件标识所在的索引分组的标识,然后对文件标识、索引分组的标识和单位索引文件存储的文件信息数量进行计算,得到文件标识所在索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址,通过对用户输入的文件标识进行简单的计算,就可以找到用户文件信息的存储地址,从而只需要很短的时间,就可以对用户上传的图片或者视频进行处理,缩短网盘的服务器的文件处理时间,提高了用户使用网盘的体验。
实施例4
参见图6,本实施例提供一种文件处理装置,该装置包括:
处理器500、存储器501和总线;处理器500和存储器501通过总线连接;
存储器501用于存储可执行程序;
处理器500,用于通过总线调用存储在存储器501中的可执行程序,执行上述文件处理方法:获取用户输入的文件标识;
根据文件标识、各索引分组中存储的文件信息存储地址数量和索引分组的起始文件标识,计算文件标识所在的索引分组的标识;索引分组包括多个索引文件,每个索引文件用于存储预设数量的文件信息的存储地址;
根据单位索引文件存储的文件信息存储地址数量,计算文件标识所在索引文件的标识;
根据得到索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址;
根据获取到的文件信息存储地址,读取存储的文件信息,并对读取的文件信息进行处理。
其中,根据文件标识、各索引分组中存储的文件信息存储地址数量和索引分组的起始文件标识,计算文件标识所在的索引分组的标识包括:
通过获取到的文件标识减去索引分组的起始文件标识,得到索引分组标识中间计算结果;
判断索引分组标识中间计算结果和索引分组中存储的文件信息存储地址数量的大小;
若确定索引分组标识中间计算结果小于索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为文件标识所在的索引分组的标识。
其中,根据单位索引文件存储的文件信息存储地址数量,计算文件标识所在索引文件的标识包括:
通过索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
对得到的索引文件标识中间计算结果向下取整,得到文件标识所在索引文件的标识。
其中,根据得到索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址包括:
通过索引分组标识中间计算结果减去索引文件标识和单位索引文件存储文件信息数量的乘积,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;
根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址;
或者,
通过文件标识减去索引文件的起始文件标识,确定文件标识对应的文件信息存储地址在索引文件中的存储位置;
根据确定的文件信息存储地址在索引文件中的存储位置,获取文件标识对应的文件信息存储地址;
或者,
通过文件标识,查询索引文件中文件标识对应的文件信息存储地址;
获取查询到文件标识对应的文件信息存储地址。
基于以上描述,本实施例提供的一种文件处理装置,通过对获取到的文件标识和各索引分组中存储的文件信息数量和索引分组的起始文件标识进行计算,得到文件标识所在的索引分组的标识,然后对文件标识、索引分组的标识和单位索引文件存储的文件信息数量进行计算,得到文件标识所在索引文件的标识,在索引文件的标识对应的索引文件中获取文件标识对应的文件信息存储地址,通过对用户输入的文件标识进行简单的计算,就可以找到用户文件信息的存储地址,从而只需要很短的时间,就可以对用户上传的图片或者视频进行处理,缩短网盘的服务器的文件处理时间,提高了用户使用网盘的体验。
本发明各实施例所提供的文件处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种文件处理方法,其特征在于,所述方法包括:
获取用户输入的文件标识;
根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识,计算所述文件标识所在的索引分组的标识;所述索引分组包括多个索引文件,每个所述索引文件用于存储预设数量的所述文件信息的存储地址;
根据单位索引文件存储的文件信息存储地址数量,计算所述文件标识所在索引文件的标识;
根据得到所述索引文件的标识,在所述索引文件的标识对应的索引文件中获取所述文件标识对应的所述文件信息存储地址;
根据获取到的所述文件信息存储地址,读取存储的文件信息,并对读取的所述文件信息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识,计算所述文件标识所在的索引分组的标识包括:
通过获取到的所述文件标识减去所述索引分组的起始文件标识,得到索引分组标识中间计算结果;
判断所述索引分组标识中间计算结果和所述索引分组中存储的文件信息存储地址数量的大小;
若确定所述索引分组标识中间计算结果小于所述索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为所述文件标识所在的索引分组的标识。
3.根据权利要求1所述的方法,其特征在于,所述根据单位索引文件存储的文件信息存储地址数量,计算所述文件标识所在索引文件的标识包括:
通过所述索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
对得到的所述索引文件标识中间计算结果向下取整,得到所述文件标识所在索引文件的标识。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据得到所述索引文件的标识,在所述索引文件的标识对应的索引文件中获取所述文件标识对应的所述文件信息存储地址包括:
通过所述索引分组标识中间计算结果减去所述索引文件标识和所述单位索引文件存储文件信息数量的乘积,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
通过所述文件标识减去所述索引文件的起始文件标识,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
通过所述文件标识,查询所述索引文件中所述文件标识对应的文件信息存储地址;
获取查询到所述文件标识对应的文件信息存储地址。
5.一种文件处理装置,其特征在于,所述装置包括:
文件标识获取模块,用于获取用户输入的文件标识;
第一计算模块,用于根据所述文件标识、各索引分组中存储的文件信息存储地址数量和所述索引分组的起始文件标识,计算所述文件标识所在的索引分组的标识;所述索引分组包括多个索引文件,每个所述索引文件用于存储预设数量的所述文件信息的存储地址;
第二计算模块,用于根据单位索引文件存储的文件信息存储地址数量,计算所述文件标识所在索引文件的标识;
文件信息存储地址获取模块,用于根据得到所述索引文件的标识,在所述索引文件的标识对应的索引文件中获取所述文件标识对应的所述文件信息存储地址;
处理模块,用于根据获取到的所述文件信息存储地址,读取存储的文件信息,并对读取的所述文件信息进行处理。
6.根据权利要求5所述的装置,其特征在于,所述第一计算模块包括:
第一计算单元,用于通过获取到的所述文件标识减去所述索引分组的起始文件标识,得到索引分组标识中间计算结果;
第二计算单元,用于判断所述索引分组标识中间计算结果和所述索引分组中存储的文件信息存储地址数量的大小;
索引分组标识确定单元,用于若确定所述索引分组标识中间计算结果小于所述索引分组中存储的文件信息存储地址数量,则获取相应索引分组的标识,将获取到的索引分组的标识作为所述文件标识所在的索引分组的标识。
7.根据权利要求5所述的装置,其特征在于,所述第二计算模块包括:
第三计算单元,用于通过所述索引分组标识中间计算结果除以单位索引文件存储文件信息存储地址数量,得到索引文件标识中间计算结果;
第四计算单元,用于对得到的所述索引文件标识中间计算结果向下取整,得到所述文件标识所在索引文件的标识。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述文件信息存储地址获取模块包括:
第五计算单元,用于通过所述索引分组标识中间计算结果减去所述索引文件标识和所述单位索引文件存储文件信息数量的乘积,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
第一获取单元,用于根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
第六计算单元,用于通过所述文件标识减去所述索引文件的起始文件标识,确定所述文件标识对应的文件信息存储地址在所述索引文件中的存储位置;
第二获取单元,用于根据确定的文件信息存储地址在所述索引文件中的存储位置,获取所述文件标识对应的所述文件信息存储地址;
或者,
查询单元,用于通过所述文件标识,查询所述索引文件中所述文件标识对应的文件信息存储地址;
第三获取单元,用于获取查询到所述文件标识对应的文件信息存储地址。
9.一种文件处理装置,其特征在于,所述装置包括:处理器、存储器和总线,所述处理器、和存储器通过所述总线连接;
所述存储器用于存储可执行程序;
所述处理器,用于通过所述总线调用存储在所述存储器中的可执行程序,执行所述权利要求1-4任一所述的文件处理方法。
10.一种文件系统,包括权利要求5-8任一项所述的文件处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510243762.9A CN106294352B (zh) | 2015-05-13 | 2015-05-13 | 一种文件处理方法、装置和文件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510243762.9A CN106294352B (zh) | 2015-05-13 | 2015-05-13 | 一种文件处理方法、装置和文件系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294352A true CN106294352A (zh) | 2017-01-04 |
CN106294352B CN106294352B (zh) | 2019-10-25 |
Family
ID=57632215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510243762.9A Expired - Fee Related CN106294352B (zh) | 2015-05-13 | 2015-05-13 | 一种文件处理方法、装置和文件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294352B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980680A (zh) * | 2017-03-30 | 2017-07-25 | 联想(北京)有限公司 | 数据存储方法及存储设备 |
CN107544873A (zh) * | 2017-08-28 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种存放备份数据的备份系统和方法 |
CN107707600A (zh) * | 2017-05-26 | 2018-02-16 | 贵州白山云科技有限公司 | 一种数据存储方法及装置 |
CN109688459A (zh) * | 2018-12-13 | 2019-04-26 | 福建天晴数码有限公司 | 一种视频文件清理方法及终端 |
CN109743636A (zh) * | 2018-12-25 | 2019-05-10 | 视联动力信息技术股份有限公司 | 一种分享视联网盘数据的方法和装置 |
CN110188140A (zh) * | 2019-05-09 | 2019-08-30 | 广州视源电子科技股份有限公司 | 数据拉取方法、装置、存储介质和计算机设备 |
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
CN112565870A (zh) * | 2019-09-26 | 2021-03-26 | 北京字节跳动网络技术有限公司 | 内容的缓存和读取方法、客户端及存储介质 |
CN112800047A (zh) * | 2021-03-03 | 2021-05-14 | 百果园技术(新加坡)有限公司 | 用户关联数据处理方法、装置、设备和存储介质 |
CN113093661A (zh) * | 2021-04-08 | 2021-07-09 | 四川轻化工大学 | 一种嵌入式机床报警文本处理装置及其控制方法 |
CN113239046A (zh) * | 2021-05-20 | 2021-08-10 | 平安科技(深圳)有限公司 | 数据查询方法、系统、计算机设备及存储介质 |
WO2023197904A1 (zh) * | 2022-04-13 | 2023-10-19 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060267818A1 (en) * | 2005-05-16 | 2006-11-30 | Manisha Agarwala | Saving Resources by Deducing the Total Prediction Events |
CN101673289A (zh) * | 2009-10-10 | 2010-03-17 | 成都市华为赛门铁克科技有限公司 | 分布式文件存储构架的构建方法和装置 |
CN102193917A (zh) * | 2010-03-01 | 2011-09-21 | 中国移动通信集团公司 | 一种数据处理和查询方法和装置 |
CN102193995A (zh) * | 2011-04-26 | 2011-09-21 | 深圳市迅雷网络技术有限公司 | 一种建立多媒体数据索引、检索的方法及装置 |
CN102880677A (zh) * | 2012-09-11 | 2013-01-16 | 珠海金山网络游戏科技有限公司 | 一种基于哈希的文件打包和读取方法 |
CN102906716A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 依据适配器的多个地址空间 |
CN102906721A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 与访问地址空间并行地对地址空间调整大小 |
TWI385541B (zh) * | 2009-01-19 | 2013-02-11 | ||
CN104424132A (zh) * | 2013-08-23 | 2015-03-18 | 上海芯豪微电子有限公司 | 高性能指令缓存系统和方法 |
-
2015
- 2015-05-13 CN CN201510243762.9A patent/CN106294352B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060267818A1 (en) * | 2005-05-16 | 2006-11-30 | Manisha Agarwala | Saving Resources by Deducing the Total Prediction Events |
TWI385541B (zh) * | 2009-01-19 | 2013-02-11 | ||
CN101673289A (zh) * | 2009-10-10 | 2010-03-17 | 成都市华为赛门铁克科技有限公司 | 分布式文件存储构架的构建方法和装置 |
CN102193917A (zh) * | 2010-03-01 | 2011-09-21 | 中国移动通信集团公司 | 一种数据处理和查询方法和装置 |
CN102906716A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 依据适配器的多个地址空间 |
CN102906721A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 与访问地址空间并行地对地址空间调整大小 |
CN102193995A (zh) * | 2011-04-26 | 2011-09-21 | 深圳市迅雷网络技术有限公司 | 一种建立多媒体数据索引、检索的方法及装置 |
CN102880677A (zh) * | 2012-09-11 | 2013-01-16 | 珠海金山网络游戏科技有限公司 | 一种基于哈希的文件打包和读取方法 |
CN104424132A (zh) * | 2013-08-23 | 2015-03-18 | 上海芯豪微电子有限公司 | 高性能指令缓存系统和方法 |
Non-Patent Citations (1)
Title |
---|
柯敏毅: "《计算机操作系统教程》", 31 August 2007 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980680A (zh) * | 2017-03-30 | 2017-07-25 | 联想(北京)有限公司 | 数据存储方法及存储设备 |
CN106980680B (zh) * | 2017-03-30 | 2020-11-20 | 联想(北京)有限公司 | 数据存储方法及存储设备 |
CN107707600A (zh) * | 2017-05-26 | 2018-02-16 | 贵州白山云科技有限公司 | 一种数据存储方法及装置 |
CN107707600B (zh) * | 2017-05-26 | 2018-09-18 | 贵州白山云科技有限公司 | 一种数据存储方法及装置 |
WO2018214905A1 (zh) * | 2017-05-26 | 2018-11-29 | 贵州白山云科技有限公司 | 一种数据存储的方法、装置、介质及设备 |
CN107544873A (zh) * | 2017-08-28 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种存放备份数据的备份系统和方法 |
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
CN109688459A (zh) * | 2018-12-13 | 2019-04-26 | 福建天晴数码有限公司 | 一种视频文件清理方法及终端 |
CN109688459B (zh) * | 2018-12-13 | 2020-12-22 | 福建天晴数码有限公司 | 一种视频文件清理方法及终端 |
CN109743636A (zh) * | 2018-12-25 | 2019-05-10 | 视联动力信息技术股份有限公司 | 一种分享视联网盘数据的方法和装置 |
CN109743636B (zh) * | 2018-12-25 | 2022-02-18 | 视联动力信息技术股份有限公司 | 一种分享视联网盘数据的方法和装置 |
CN110188140A (zh) * | 2019-05-09 | 2019-08-30 | 广州视源电子科技股份有限公司 | 数据拉取方法、装置、存储介质和计算机设备 |
CN112565870A (zh) * | 2019-09-26 | 2021-03-26 | 北京字节跳动网络技术有限公司 | 内容的缓存和读取方法、客户端及存储介质 |
US11907121B2 (en) | 2019-09-26 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd. | Methods for caching and reading content, client, and storage medium |
CN112800047A (zh) * | 2021-03-03 | 2021-05-14 | 百果园技术(新加坡)有限公司 | 用户关联数据处理方法、装置、设备和存储介质 |
CN112800047B (zh) * | 2021-03-03 | 2024-04-05 | 百果园技术(新加坡)有限公司 | 用户关联数据处理方法、装置、设备和存储介质 |
CN113093661A (zh) * | 2021-04-08 | 2021-07-09 | 四川轻化工大学 | 一种嵌入式机床报警文本处理装置及其控制方法 |
CN113239046A (zh) * | 2021-05-20 | 2021-08-10 | 平安科技(深圳)有限公司 | 数据查询方法、系统、计算机设备及存储介质 |
WO2023197904A1 (zh) * | 2022-04-13 | 2023-10-19 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106294352B (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294352A (zh) | 一种文件处理方法、装置和文件系统 | |
US11314613B2 (en) | Graphical user interface for visual correlation of virtual machine information and storage volume information | |
CN102419770B (zh) | 文件共享系统及实现文件共享的方法、文件索引服务设备 | |
CN102932415B (zh) | 一种镜像文件存储方法及装置 | |
CN109739815B (zh) | 文件处理方法、系统、装置、设备及存储介质 | |
CN105701156B (zh) | 一种分布式文件系统管理方法及装置 | |
CN103338242B (zh) | 一种基于多级缓存的混合云存储系统和方法 | |
CN103475682B (zh) | 文件迁移方法及设备 | |
CN109391664A (zh) | 用于多集群容器部署的系统和方法 | |
EP3236365A1 (en) | Data query method and device | |
CN104618482A (zh) | 访问云数据的方法、服务器、传统存储设备、架构 | |
CN103455631A (zh) | 一种数据处理方法、装置及系统 | |
CN103067433A (zh) | 一种分布式存储系统的数据迁移方法、设备和系统 | |
US20050234966A1 (en) | System and method for managing supply of digital content | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN108268216B (zh) | 数据处理方法、装置及服务器 | |
CN103078965A (zh) | 虚拟机的ip地址管理方法 | |
US11308066B1 (en) | Optimized database partitioning | |
CN108282522A (zh) | 基于动态路由的数据存储访问方法及系统 | |
CN109460345B (zh) | 实时数据的计算方法及系统 | |
CN105868234A (zh) | 缓存数据的更新方法及装置 | |
CN106021466A (zh) | 一种存储数据的方法及装置 | |
CN109597903A (zh) | 图像文件处理装置和方法、文件存储系统及存储介质 | |
JP2016177688A (ja) | データ処理装置、データ処理方法およびコンピュータプログラム | |
CN108563697A (zh) | 一种数据处理方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191025 Termination date: 20210513 |