CN103279575A - 文件信息处理方法及装置 - Google Patents
文件信息处理方法及装置 Download PDFInfo
- Publication number
- CN103279575A CN103279575A CN2013102476588A CN201310247658A CN103279575A CN 103279575 A CN103279575 A CN 103279575A CN 2013102476588 A CN2013102476588 A CN 2013102476588A CN 201310247658 A CN201310247658 A CN 201310247658A CN 103279575 A CN103279575 A CN 103279575A
- Authority
- CN
- China
- Prior art keywords
- directory information
- database
- memory cache
- file
- information
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件信息处理方法及装置,该方法包括:在内存缓存中创建或者更新一个或多个文件目录的目录信息;接收对一个或多个文件目录进行操作或者访问的请求;响应于请求,提供目录信息。解决了相关技术中对文件系统进行操作时耗时较长的问题,减少了耗时。
Description
技术领域
本发明涉及文件处理领域,具体而言,涉及文件信息处理方法及装置。
背景技术
计算机存储文件是以文件系统为基础存取方法,以磁盘为物理介质,来实现永久性保存数据。文件系统枚举文件目录下的文件信息需要不断的在磁盘中读取分散的文件信息。并且,对文件系统的每次操作,都需要进行这样的操作,当文件较多时,会耗时较长。
针对相关技术中对文件系统进行操作时耗时较长的问题,目前尚未提出很好的解决方案。
发明内容
本发明提供了一种文件信息处理方法及装置,以至少解决相关技术中对文件系统进行操作时耗时较长的问题。
根据本发明的一个方面,提供了一种文件信息处理方法,包括:在内存缓存中创建或者更新一个或多个文件目录的目录信息,其中,所述目录信息包括:所述一个或多个文件目录中的文件信息列表;接收对所述一个或多个文件目录进行操作或者访问的请求;响应于所述请求,提供所述目录信息。
优选地,在所述内存缓存中创建所述目录信息包括:在确定所述内存缓存中没有所述目录信息的情况下,从数据库中根据预定的检索条件进行检索得到所述目录信息,并将所述目录信息保存在所述内存缓存中。
优选地,在所述内存缓存中更新所述目录信息包括:在确定所述内存缓存中有所述目录信息的情况下,判断数据库中保存的目录信息的修改日期是否比所述内存缓存中保存的目录信息的修改日期更新;在判断结果为是的情况下,将所述数据库中保存的目录信息更新到所述内存缓存中。
优选地,在所述内存缓存中创建或者更新所述目录信息之前,所述方法还包括:根据从文件系统中读取的目录信息,在所述数据库中创建目录信息或者更新所述数据库中已经保存的目录信息。
优选地,根据从所述文件系统中读取的目录信息,在所述数据库中更新所述数据库中已将保存的目录信息包括:在进入预定文件目录时,从所述文件系统中读取所述预定文件目录的第一目录信息,比较所述第一目录信息和所述数据库中保存的所述预定文件目录的第二目录信息;在确定所述第一目录信息的修改日期比所述第二目录信息更新的情况下,将所述第一目录信息更新到所述数据库中。
根据本发明的另一个方面,还提供了一种文件信息处理装置,包括:处理模块,用于在内存缓存中创建或者更新一个或多个文件目录的目录信息,其中,所述目录信息包括:所述一个或多个文件目录中的文件信息列表;接收模块,用于接收对所述一个或多个文件目录进行操作或者访问的请求;提供模块,用于响应于所述请求,提供所述目录信息。
优选地,所述处理模块,用于在确定所述内存缓存中没有所述目录信息的情况下,从数据库中根据预定的检索条件进行检索得到所述目录信息,并将所述目录信息保存在所述内存缓存中。
优选地,所述处理模块,用于在确定所述内存缓存中有所述目录信息的情况下,判断数据库中保存的目录信息的修改日期是否比所述内存缓存中保存的目录信息的修改日期更新;在判断结果为是的情况下,将所述数据库中保存的目录信息更新到所述内存缓存中。
优选地,所述装置还包括:第二处理模块,用于根据从文件系统中读取的目录信息,在所述数据库中创建目录信息或者更新所述数据库中已经保存的目录信息。
优选地,所述第二处理模块,用于在进入预定文件目录时,从所述文件系统中读取所述预定文件目录的第一目录信息,比较所述第一目录信息和所述数据库中保存的所述预定文件目录的第二目录信息;在确定所述第一目录信息的修改日期比所述第二目录信息更新的情况下,将所述第一目录信息更新到所述数据库中。
通过本发明,采用在内存缓存中创建或者更新一个或多个文件目录的目录信息;接收对一个或多个文件目录进行操作或者访问的请求;响应于请求,提供目录信息。解决了相关技术中对文件系统进行操作时耗时较长的问题,减少了耗时。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的文件信息处理方法的流程图;
图2是根据本发明实施例的文件信息处理装置的结构框图;
图3是根据本发明优选实施例的处理流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
在以下实施例中,可以应用到任何文件系统中,例如,可以应用到拥有文件的系统的终端中,该终端可以是移动终端(例如,手机、平板电脑等),也可以是其他类型的终端(例如,个人电脑等)。该终端上运行的文件系统也可以是各种类型的系统,例如,目前被广泛使用的安卓系统,或者是Windows操作系统、或者iOS系统、或者Linux系统、Unix系统等,但是并不限于此。
在本实施例中,提供了一种文件信息处理方法,图1是根据本发明实施例的文件信息处理方法的流程图,如图1所示,该流程包括以下步骤:
步骤S102,在内存缓存中创建或者更新一个或多个文件目录的目录信息,其中,该目录信息包括:该一个或多个文件目录中的文件信息列表;
步骤S104,接收对该一个或多个文件目录进行操作或者访问的请求;
步骤S106,响应于该请求,提供该目录信息。
通过上述步骤,将文件目录的目录信息放置在内存缓存中,这样就不需要每次都通过文件系统来读取目录信息,从而减少了读取时间。需要说明的是,虽然上述对各个步骤进行了编号,但是,这并不表示对这些步骤的限定。例如,步骤S102也可以在步骤S104之后进行等。
优选地,在本实施例中可以通过使用数据库和缓存来实现对文件系统的优化,避免不必要的重复大量磁盘访问,高效率的进行文件枚举和检索。
例如,在内存缓存中创建的目录信息可以来源自数据库。可以在确定该内存缓存中没有需要的目录信息的情况下,从数据库中根据预定的检索条件进行检索得到该目录信息,并将该目录信息保存在该内存缓存中。
又例如,可以通过数据库在该内存缓存中更新该目录信息。可以在确定该内存缓存中有该目录信息的情况下,判断数据库中保存的目录信息的修改日期是否比该内存缓存中保存的目录信息的修改日期更加新;在判断结果为是的情况下,将该数据库中保存的目录信息更新到该内存缓存中。
在一个优选的实施例中,数据库中的该目录信息可以从文件系统中获取,即可以根据从文件系统中读取的目录信息,在该数据库中创建目录信息或者更新该数据库中已经保存的目录信息。这种更新操作或者创建操作可以在任何时候进行,例如,其可以在预定周期进行,也可以在进行某种操作时进行。例如,可以在进入预定文件目录时,从该文件系统中读取该预定文件目录的第一目录信息,比较该第一目录信息和该数据库中保存的该预定文件目录的第二目录信息;在确定该第一目录信息的修改日期比该第二目录信息更新的情况下,将该第一目录信息更新到该数据库中。
对于上述同步的方式,可以实现缓存、数据库和底层文件系统的同步,避免不必要的重复大量磁盘访问。
在本实施例中还提供了一种文件信息处理装置,该装置用于实现上述实施例中的方法,在上述已经进行过的描述,在此不再赘述。图2是根据本发明实施例的文件信息处理装置的结构框图,如图2所示,该结构包括:处理模块22、接收模块24和提供模块26。下面对该结构说明。
处理模块22,用于在内存缓存中创建或者更新一个或多个文件目录的目录信息,其中,该目录信息包括:该一个或多个文件目录中的文件信息列表;
接收模块24,用于接收对该一个或多个文件目录进行操作或者访问的请求;
提供模块26,用于响应于该请求,提供该目录信息。
优选地,处理模块22,用于在确定该内存缓存中没有该目录信息的情况下,从数据库中根据预定的检索条件进行检索得到该目录信息,并将该目录信息保存在该内存缓存中。
优选地,处理模块22,用于在确定该内存缓存中有该目录信息的情况下,判断数据库中保存的目录信息的修改日期是否比该内存缓存中保存的目录信息的修改日期更新;在判断结果为是的情况下,将该数据库中保存的目录信息更新到该内存缓存中。
在一个优选实施方式中,该装置还可以包括:第二处理模块,该第二处理模块用于根据从文件系统中读取的目录信息,在该数据库中创建目录信息或者更新该数据库中已经保存的目录信息。
优选地,第二处理模块,用于在进入预定文件目录时,从该文件系统中读取该预定文件目录的第一目录信息,比较该第一目录信息和该数据库中保存的该预定文件目录的第二目录信息;在确定该第一目录信息的修改日期比该第二目录信息更新的情况下,将该第一目录信息更新到该数据库中。
上述的各个模块,可以在中央处理器中实现,例如,处理模块22也可以写成,一种处理器,用于在内存缓存中创建或者更新一个或多个文件目录的目录信息。上述各个模块的名字并不应当理解为对该模块的限定,例如,处理模块也可以写成用于在内存缓存中创建或者更新一个或多个文件目录的目录信息的模块。另外,上述实施例中涉及到的步骤也可以使用模块的方式来实现。
下面结合一个优选实施例进行说明,在本优选实施例中,考虑到大部分情况下,目录下面的文件信息变动并不频繁,不需要每次都从磁盘文件系统中读取;并且一般来说文件系统是不支持排序、按指定类型或大小以及通配符等条件的特殊检索,使用起来很不方便,效率较低,对于内存缓存中的目录信息可以支持各种检索条件的检索,为检索提供了便利。并且,也可以采用各种方式进行排序等操作,相对于对文件系统而言,其实现更加简便。
在本优选实施例中提供了如下几个模块:
文件信息数据库模块,用于存储文件和文件目录信息。
缓存模块,用于在内存中当前目录的文件信息结构列表,作为一个优选的方式,还可以保存前N次的列表记录,其中,N可根据内存大小来设定合适值。
文件管理模块,用于负责底层文件操作层、数据库和缓存的同步算法和文件存取。
单向同步算法,用于以底层磁盘文件系统为根本数据来源,在数据库和缓存中实现简单易操作文件信息同步。单向同步算法可以根据需要来选择不同的算法实现,在此不再赘述。
图3是根据本发明优选实施例的处理流程图,如图3所示,该流程如下:当进入目录A时,当前目录切换为A,文件管理模块会从文件系统、数据库中分别读取当前目录的信息,比较修改日期,如果在文件系统中的目录比数据库中的信息更新,则在文件系统和数据库之间进行一次当前目录的同步,将文件系统中当前目录下的所有文件信息更新到数据库中。
如果内存缓存中没有A目录的记录,就直接从数据库中根据特定的检索条件将数据库中当前目录的符合条件的文件信息列表同步到内存的缓存中,读取的文件信息列表会存储在内存中的缓存模块中。如果内存缓存中有A目录的记录,则将数据库和缓存的目录信息比较,如果数据库中的目录修改日期比缓存中的更新,则在数据库和缓存之间进行一次同步,根据特定的检索条件将数据库中当前目录的符合条件的文件信息列表同步到内存的缓存中。
内存中的缓存可以供应用程序比如文件管理器使用,来实时显示文件列表等。
上述使用同步算法可以是从文件系统到数据库再到缓存的单向同步算法,可以减少复杂度,同时实现以实际磁盘信息为根本依据的文件信息检索。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文件信息处理方法,其特征在于包括:
在内存缓存中创建或者更新一个或多个文件目录的目录信息,其中,所述目录信息包括:所述一个或多个文件目录中的文件信息列表;
接收对所述一个或多个文件目录进行操作或者访问的请求;
响应于所述请求,提供所述目录信息。
2.根据权利要求1所述的方法,其特征在于,在所述内存缓存中创建所述目录信息包括:
在确定所述内存缓存中没有所述目录信息的情况下,从数据库中根据预定的检索条件进行检索得到所述目录信息,并将所述目录信息保存在所述内存缓存中。
3.根据权利要求1所述的方法,其特征在于,在所述内存缓存中更新所述目录信息包括:
在确定所述内存缓存中有所述目录信息的情况下,判断数据库中保存的目录信息的修改日期是否比所述内存缓存中保存的目录信息的修改日期更新;
在判断结果为是的情况下,将所述数据库中保存的目录信息更新到所述内存缓存中。
4.根据权利要求2或3所述的方法,其特征在于,在所述内存缓存中创建或者更新所述目录信息之前,所述方法还包括:
根据从文件系统中读取的目录信息,在所述数据库中创建目录信息或者更新所述数据库中已经保存的目录信息。
5.根据权利要求4所述的方法,其特征在于,根据从所述文件系统中读取的目录信息,在所述数据库中更新所述数据库中已将保存的目录信息包括:
在进入预定文件目录时,从所述文件系统中读取所述预定文件目录的第一目录信息,比较所述第一目录信息和所述数据库中保存的所述预定文件目录的第二目录信息;
在确定所述第一目录信息的修改日期比所述第二目录信息更新的情况下,将所述第一目录信息更新到所述数据库中。
6.一种文件信息处理装置,其特征在于包括:
处理模块,用于在内存缓存中创建或者更新一个或多个文件目录的目录信息,其中,所述目录信息包括:所述一个或多个文件目录中的文件信息列表;
接收模块,用于接收对所述一个或多个文件目录进行操作或者访问的请求;
提供模块,用于响应于所述请求,提供所述目录信息。
7.根据权利要求6所述的装置,其特征在于,所述处理模块,用于在确定所述内存缓存中没有所述目录信息的情况下,从数据库中根据预定的检索条件进行检索得到所述目录信息,并将所述目录信息保存在所述内存缓存中。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,用于在确定所述内存缓存中有所述目录信息的情况下,判断数据库中保存的目录信息的修改日期是否比所述内存缓存中保存的目录信息的修改日期更新;在判断结果为是的情况下,将所述数据库中保存的目录信息更新到所述内存缓存中。
9.根据权利要求7或8所述的装置,其特征在于,还包括:
第二处理模块,用于根据从文件系统中读取的目录信息,在所述数据库中创建目录信息或者更新所述数据库中已经保存的目录信息。
10.根据权利要求9所述的装置,其特征在于,所述第二处理模块,用于在进入预定文件目录时,从所述文件系统中读取所述预定文件目录的第一目录信息,比较所述第一目录信息和所述数据库中保存的所述预定文件目录的第二目录信息;在确定所述第一目录信息的修改日期比所述第二目录信息更新的情况下,将所述第一目录信息更新到所述数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102476588A CN103279575A (zh) | 2013-06-20 | 2013-06-20 | 文件信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102476588A CN103279575A (zh) | 2013-06-20 | 2013-06-20 | 文件信息处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103279575A true CN103279575A (zh) | 2013-09-04 |
Family
ID=49062093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102476588A Pending CN103279575A (zh) | 2013-06-20 | 2013-06-20 | 文件信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103279575A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404623A (zh) * | 2014-08-26 | 2016-03-16 | 苏州普源精电科技有限公司 | 具有文件读取功能的测量设备及文件读取装置 |
CN108459925A (zh) * | 2018-02-10 | 2018-08-28 | 深圳市先河系统技术有限公司 | 私有云设备及其数据库的修复方法、具有存储功能的装置 |
CN114327292A (zh) * | 2021-12-31 | 2022-04-12 | 上海移为通信技术股份有限公司 | 文件管理方法、系统、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546674A (zh) * | 2010-12-07 | 2012-07-04 | 盛乐信息技术(上海)有限公司 | 一种基于网络存储装置的目录树缓存系统及方法 |
CN102819572A (zh) * | 2012-07-20 | 2012-12-12 | 迈普通信技术股份有限公司 | 文档管理系统中目录数据的显示方法及系统 |
CN102955787A (zh) * | 2011-08-22 | 2013-03-06 | 陈思达 | 一种文件目录表的使用方法、文件写入方法及应用的主电路板、cpu和外部存储器 |
CN103049392A (zh) * | 2012-10-17 | 2013-04-17 | 华为技术有限公司 | 缓存目录的实现方法及装置 |
-
2013
- 2013-06-20 CN CN2013102476588A patent/CN103279575A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546674A (zh) * | 2010-12-07 | 2012-07-04 | 盛乐信息技术(上海)有限公司 | 一种基于网络存储装置的目录树缓存系统及方法 |
CN102955787A (zh) * | 2011-08-22 | 2013-03-06 | 陈思达 | 一种文件目录表的使用方法、文件写入方法及应用的主电路板、cpu和外部存储器 |
CN102819572A (zh) * | 2012-07-20 | 2012-12-12 | 迈普通信技术股份有限公司 | 文档管理系统中目录数据的显示方法及系统 |
CN103049392A (zh) * | 2012-10-17 | 2013-04-17 | 华为技术有限公司 | 缓存目录的实现方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404623A (zh) * | 2014-08-26 | 2016-03-16 | 苏州普源精电科技有限公司 | 具有文件读取功能的测量设备及文件读取装置 |
CN108459925A (zh) * | 2018-02-10 | 2018-08-28 | 深圳市先河系统技术有限公司 | 私有云设备及其数据库的修复方法、具有存储功能的装置 |
CN114327292A (zh) * | 2021-12-31 | 2022-04-12 | 上海移为通信技术股份有限公司 | 文件管理方法、系统、电子设备和存储介质 |
CN114327292B (zh) * | 2021-12-31 | 2024-02-02 | 上海移为通信技术股份有限公司 | 文件管理方法、系统、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558615B2 (en) | Atomic incremental load for map-reduce systems on append-only file systems | |
JP6419319B2 (ja) | 共有フォルダ及び共有ファイルの同期 | |
CN109947668B (zh) | 存储数据的方法和装置 | |
US8762456B1 (en) | Generating prefetching profiles for prefetching data in a cloud based file system | |
US8555018B1 (en) | Techniques for storing data | |
CN103049515A (zh) | 一种应用程序分类的方法、装置和设备 | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN103186622B (zh) | 一种全文检索系统中索引信息的更新方法以及装置 | |
CN112506870B (zh) | 数据仓库增量更新方法、装置及计算机设备 | |
CN109271435A (zh) | 一种支持断点续传的数据抽取方法及系统 | |
US20130325932A1 (en) | Electronic device and method for storing distributed documents | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理系统 | |
WO2012021319A1 (en) | Sharing data on mobile devices | |
CN109597707A (zh) | 克隆卷数据拷贝方法、装置及计算机可读存储介质 | |
CN103279575A (zh) | 文件信息处理方法及装置 | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
CN103841168A (zh) | 数据副本更新方法及元数据服务器 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN116150236A (zh) | 数据同步方法及装置、电子设备、计算机可读存储介质 | |
US11580128B2 (en) | Preventing DBMS deadlock by eliminating shared locking | |
CN112235332B (zh) | 一种集群的读写切换方法和装置 | |
CN104346101A (zh) | 存储空间动态分配系统及方法 | |
CN112600918B (zh) | 一种基于bs架构的工控边缘大数据高效处理方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130904 |
|
RJ01 | Rejection of invention patent application after publication |