CN104375781A - 数据存取方法及装置 - Google Patents
数据存取方法及装置 Download PDFInfo
- Publication number
- CN104375781A CN104375781A CN201310359608.9A CN201310359608A CN104375781A CN 104375781 A CN104375781 A CN 104375781A CN 201310359608 A CN201310359608 A CN 201310359608A CN 104375781 A CN104375781 A CN 104375781A
- Authority
- CN
- China
- Prior art keywords
- file
- data access
- physical storage
- storage locations
- identifier
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据存取方法,包括:加载数据访问接口,用于获取至少一个文件在存储器中的物理存储位置信息,调用该数据访问接口,根据文件的标识符获取至少两个文件的物理存储位置信息,根据该物理存储位置信息规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。此外,本发明还提供一种数据存取装置。上述数据存储方法及装置可更加有效提高数据的存取速度,减少磁头驱动机构的磨损。
Description
技术领域
本发明涉及存储技术,尤其涉及一种数据存取方法及装置。
背景技术
在存储技术中,对文件***的访问操作有标准的可移植操作***接口(英文:Portable Operating System Interface,缩写:POSIX),也有标准C语言提供的接口。POSIX接口定义了read和write接口,而标准C语言提供了fread和fwrite接口。这两种方式作为最通用的接口,已经得到广泛应用。
现有技术中,文件***的访问操作基本都基于硬盘,而硬盘作为机械电子设备,磁头移动需要时间,距离短的移动时间短,距离长的移动时间长。而现有接口都没有考虑访问操作在物理空间的相关性,如果连续的两次访问文件物理距离较远,则磁头移动距离长,消耗时间长,访问速度慢,且增加磁头驱动机构的磨损。
发明内容
有鉴于此,本发明提供一种数据存取方法及装置,可有效提高数据的存取速度,并减少磁头驱动机构的磨损。
本发明实施例提供的数据存取方法,包括:
加载数据访问接口,该数据访问接口用于获取至少一个文件在存储器中的物理存储位置信息;
获取至少两个文件的标识符;
调用该数据访问接口,使该数据访问接口根据该标识符获取该至少两个文件的物理存储位置信息;
根据该物理存储位置信息规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。
本发明实施例提供的数据存取装置,包括:
数据访问接口,用于获取至少一个文件在存储器中的物理存储位置信息;
获取单元,用于获取至少两个文件的标识符;
接口调用单元,用于调用该数据访问接口,根据获取的该标识符获取该至少两个文件的物理存储位置信息;
存取单元,用于根据所述获取单元获取的该物理存储位置信息,规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。
本发明实施例提供的数据存取方法及装置,提供数据访问接口,该数据访问接口用于获取至少一个文件的物理存储位置信息,获取至少两个文件的标识符,调用该数据访问接口,根据该标识符获取该一个或多个文件的物理存储位置信息,根据该物理存储位置信息规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作,由于存取文件时,按照文件存储的实际物理位置规划文件访问顺序,可减少存取数据的时间,加快访问速度,同时可减少磁头驱动机构的磨损。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为第一实施例提供的数据存取方法流程图。
图2为第一实施例的数据存取方法示意图。
图3为第一实施例提供的数据存取装置结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
本发明实施例提供一种数据存取方法,尤其适用于基于磁头实现存取的存储器如硬盘或者光盘。其可有效提高磁盘数据的存取速度,并减少磁头驱动机构的磨损
计算机的文件***是一种存储和组织计算机数据的方法,它使得对数据的访问和查找变得容易,文件***使用文件和树形目录的抽象逻辑概念代替了硬盘/光盘等物理设备使用的数据块的概念,用户使用文件***来保存数据时并不知道数据实际保存在硬盘(或者光盘)的地址为多少的数据块上。在写入新数据之前,也不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件***自动完成。
文件***创建(格式化)时,就把存储区域分为不同的存储区域。其中一个区域用来保存文件***对象(文件或者目录)的存储信息,而文件本身是会被存储在其他存储区域内。以类Unix文件***为例,上述的区域是用来存储文件***对象的元信息数据(Metadata);而对于FAT文件***来说,这个区域是用来存储文件分配表(File Allocation Table)。但无论是何种操作***,通过查询上述的元信息数据及文件分配表等均可获知一个文件在存储器内的物理存储位置。
本发明实施例提供一种数据访问接口,其用于获取至少一个文件的物理存储位置信息。可以理解,该数据访问接口的具体实现过程如下:首先,获取要查询的文件的标识符(如文件名);然后查询上述的元信息数据或者文件分配表等获取该文件的存储信息;根据该存储信息即可获取物理存储位置信息。可以理解,由于文件***的限制,一个文件在物理上的存储位置可能是不连续的,因此实质上一个文件的存储位置可能具有多个。但对于上述的数据访问接口而言,其物理存储位置信息可以是仅包括该文件的实际存储开始的位置。
可以理解,上述的数据访问接口可以采用任意适用的编程语言实现。在一个实施例中,上述的数据访问接口是基于标准C语言实现。
在一个实例中,上述的数据访问接口,只支持查询一个文件的物理存储位置信息。
在另一个实例中,上述的数据访问接口,其可接收一个文件列表作为参数,并相应返回文件列表中所有文件的物理存储位置信息。
第一实施例
请参阅图1,第一实施例提供的数据存取方法包括:
步骤101、加载数据访问接口,该数据访问接口用于获取至少一个文件的物理存储位置信息。
步骤102、获取至少两个文件的标识符;
在一个实例中,上述的标识符为文件名。可以理解,上述的文件名中应包括完整的存储路径。此外,上述的标识符并不限于文件名,任意能被文件***所支持,用来查询对应的文件的数据均可作为上述的标识符。例如,在一个实例中,上述的标识符为文件号(索引号)。上述的多个文件例如是在一个程序中后续某段时间内要进行存取操作的文件。
步骤103、调用该数据访问接口,使该数据访问接口根据该标识符获取该多个文件的物理存储位置信息。
若数据访问接口每次只能查询一个文件,则分别多次调用数据访问接口,以分别获取多个文件中每个文件的物理存储位置信息。
若数据访问接口支撑多文件查询,则可生成要查询的文件的列表,按预定的格式提交给该数据访问接口作为参数,从而同时查询该多个文件的物理存储位置信息。
步骤104、根据该物理存储位置信息规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。
步骤104具体可包括:按物理位置信息对该预定要进行的文件存取操作进行排序,以使在按该排序进行所述预定要进行的文件存取操作的过程中,磁头的移动距离最短。
在一个实例中,上述的多个文件包括a.txt、b.txt以及c.txt。其在存储器的存储位置如图2所示。在一个程序中,按照正常的操作顺序,该三个文件的读取顺序为a.txt、b.txt、c.txt。在此过程中,磁头的运行路径如下:首先,磁头从缓冲区移动至a.txt所在位置,完成a.txt读取后,移动至b.txt所在位置,完成b.txt读取后,再移动至c.txt所在位置,如图2中路径201所示。
根据步骤S104,若对涉及的文件按物理存储位置排序,则上述的三个文件排序为:a.txt、c.txt、b.txt。按此顺序进行文件存取操作,则磁头运行路径如下:首先,磁头从缓冲区移动至a.txt所在位置,完成a.txt读取后,移动至c.txt所在位置,完成c.txt读取后,再移动至b.txt所在位置,如图2中路径202所示。
对比路径201及路径202,在后者的存取方式中,磁头移动的距离最小,既可减少存取数据的时间,加快访问速度,同时可减少磁头驱动机构的磨损。
第二实施例
图3为第二实施例提供的数据存取装置的结构框图。如图3所示,该装置包括:数据访问接口21、获取单元22、接口调用单元23、以及存取单元24。
数据访问接口21用于获取至少一个文件在存储器中的物理存储位置信息。数据访问接口21具体可用于:首先,获取要查询的文件的标识符(如文件名);然后查询上述的元信息数据或者文件分配表等获取该文件的存储信息;根据该存储信息即可获取物理存储位置信息。可以理解,上述的数据访问接口可以采用任意适用的编程语言实现。在一个实施例中,上述的数据访问接口是基于标准C语言实现。在一个实例中,上述的数据访问接口,只支持查询一个文件的物理存储位置信息。在另一个实例中,上述的数据访问接口,其可接收一个文件列表作为参数,并相应返回文件列表中所有文件的物理存储位置信息。
获取单元22用于获取多个文件的标识符。在一个实例中,上述的标识符为文件名。可以理解,上述的文件名中应包括完整的存储路径。此外,上述的标识符并不限于文件名,任意能被文件***所支持,用来查询对应的文件的数据均可作为上述的标识符。例如,在一个实例中,上述的标识符为文件号(索引号)。上述的多个文件例如是在一个程序中后续某段时间内要进行存取操作的文件。
接口调用单元23用于调用该数据访问接口,根据获取的该标识符获取该至少两个文件的物理存储位置信息。若数据访问接口21每次只能查询一个文件,则分别多次调用数据访问接口21,以分别获取多个文件中每个文件的物理存储位置信息。若数据访问接口21支撑多文件查询,则可生成要查询的文件的列表,按预定的格式提交给该数据访问接口21作为参数,从而同时查询该多个文件的物理存储位置信息。
存取单元24用于根据所述获取单元获取的该物理存储位置信息,规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。
例如,按物理位置信息对该预定要进行的文件存取操作进行排序,以使在按该排序进行所述预定要进行的文件存取操作的过程中,磁头的移动距离最短。
在一个实例中,上述的多个文件包括a.txt、b.txt以及c.txt。其在存储器的存储位置如图2所示。在一个程序中,按照正常的操作顺序,该三个文件的读取顺序为a.txt、b.txt、c.txt。在此过程中,磁头的运行路径如下:首先,磁头从缓冲区移动至a.txt所在位置,完成a.txt读取后,移动至b.txt所在位置,完成b.txt读取后,再移动至c.txt所在位置,如图2中路径201所示。
由于存取单元24对涉及的文件按物理存储位置排序,则上述的三个文件排序为:a.txt、c.txt、b.txt。按此顺序进行文件存取操作,则磁头运行路径如下:首先,磁头从缓冲区移动至a.txt所在位置,完成a.txt读取后,移动至c.txt所在位置,完成c.txt读取后,再移动至b.txt所在位置,如图2中路径202所示。
对比路径201及路径202,在后者的存取方式中,磁头移动的距离最小,既可减少存取数据的时间,加快访问速度,同时可减少磁头的磨损磁头驱动机构的磨损。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种数据存取方法,其特征在于,包括:
加载数据访问接口,该数据访问接口用于获取至少一个文件在存储器中的物理存储位置信息;
获取至少两个文件的标识符;
调用该数据访问接口,使该数据访问接口根据该标识符获取该至少两个文件的物理存储位置信息;
根据该物理存储位置信息规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。
2.根据权利要求1所述的方法,其特征在于,根据该物理存储位置信息规划预定要进行的文件存取操作以符合预期的存取模式包括:
按物理位置信息对该预定要进行的文件存取操作进行排序,以使在按该排序进行所述预定要进行的文件存取操作的过程中,磁头的移动距离最短。
3.根据权利要求1所述的方法,其特征在于,该标识符为文件名。
4.根据权利要求1所述的方法,其特征在于,该数据访问接口用于根据该标识符获取该多个文件的文件号,进而根据该文件号查询该多个文件的偏移值以得到该物理存储位置信息。
5.根据权利要求1所述的方法,其特征在于,该存储器为基于磁头实现读取的存储器。
6.一种数据存取装置,其特征在于,包括:
数据访问接口,用于获取至少一个文件在存储器中的物理存储位置信息;
获取单元,用于获取至少两个文件的标识符;
接口调用单元,用于调用该数据访问接口,根据获取的该标识符获取该至少两个文件的物理存储位置信息;
存取单元,用于根据所述获取单元获取的该物理存储位置信息,规划预定要进行的文件存取操作以符合预期的存取模式,并相应进行文件存取操作。
7.根据权利要求6所述的装置,其特征在于,该存取单元用于:按物理位置信息对该预定要进行的文件存取操作进行排序,以使在按该排序进行所述预定要进行的文件存取操作的过程中,磁头的移动距离最短。
8.根据权利要求6所述的装置,其特征在于,该标识符为文件路径或者文件号。
9.根据权利要求6所述的装置,其特征在于,该数据访问接口用于根据该标识符获取该多个文件的文件号,进而根据该文件号查询该多个文件的偏移值以得到该物理存储位置信息。
10.根据权利要求6所述的装置,其特征在于,该存储器为基于磁头实现读取的存储器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310359608.9A CN104375781B (zh) | 2013-08-16 | 2013-08-16 | 数据存取方法及装置 |
PCT/CN2014/084187 WO2015021910A1 (en) | 2013-08-16 | 2014-08-12 | Method for accessing data and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310359608.9A CN104375781B (zh) | 2013-08-16 | 2013-08-16 | 数据存取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104375781A true CN104375781A (zh) | 2015-02-25 |
CN104375781B CN104375781B (zh) | 2019-07-23 |
Family
ID=52468057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310359608.9A Active CN104375781B (zh) | 2013-08-16 | 2013-08-16 | 数据存取方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104375781B (zh) |
WO (1) | WO2015021910A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045545A1 (zh) * | 2015-09-14 | 2017-03-23 | 中兴通讯股份有限公司 | 多存储盘负载管理方法、装置、文件***及存储网络*** |
CN107357929A (zh) * | 2017-07-27 | 2017-11-17 | 广东欧珀移动通信有限公司 | 文件读取方法、移动终端及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567247A (zh) * | 2003-07-10 | 2005-01-19 | 上海龙林通信技术有限公司 | 媒体文件存储***及其读取方式 |
CN101048822A (zh) * | 2004-10-26 | 2007-10-03 | 松下电器产业株式会社 | 磁盘再现装置 |
CN101206554A (zh) * | 2006-12-15 | 2008-06-25 | 株式会社东芝 | 硬盘驱动器以及命令执行方法 |
US20130091307A1 (en) * | 2011-10-06 | 2013-04-11 | Marvell World Trade Ltd. | Method and apparatus for effectively increasing a command queue length for accessing storage |
-
2013
- 2013-08-16 CN CN201310359608.9A patent/CN104375781B/zh active Active
-
2014
- 2014-08-12 WO PCT/CN2014/084187 patent/WO2015021910A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567247A (zh) * | 2003-07-10 | 2005-01-19 | 上海龙林通信技术有限公司 | 媒体文件存储***及其读取方式 |
CN101048822A (zh) * | 2004-10-26 | 2007-10-03 | 松下电器产业株式会社 | 磁盘再现装置 |
CN101206554A (zh) * | 2006-12-15 | 2008-06-25 | 株式会社东芝 | 硬盘驱动器以及命令执行方法 |
US20130091307A1 (en) * | 2011-10-06 | 2013-04-11 | Marvell World Trade Ltd. | Method and apparatus for effectively increasing a command queue length for accessing storage |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045545A1 (zh) * | 2015-09-14 | 2017-03-23 | 中兴通讯股份有限公司 | 多存储盘负载管理方法、装置、文件***及存储网络*** |
CN107357929A (zh) * | 2017-07-27 | 2017-11-17 | 广东欧珀移动通信有限公司 | 文件读取方法、移动终端及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015021910A1 (en) | 2015-02-19 |
CN104375781B (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
US11157445B2 (en) | Indexing implementing method and system in file storage | |
CN109033360B (zh) | 一种数据查询方法、装置、服务器及存储介质 | |
CN109101516B (zh) | 一种数据查询方法和服务器 | |
CN102779180A (zh) | 数据存储***的操作处理方法,数据存储*** | |
JP2008242503A (ja) | メモリ管理装置及び方法、並びにプログラム | |
US20120158453A1 (en) | Workflow processing system for supporting multi-tenant, and method thereof | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN103186622B (zh) | 一种全文检索***中索引信息的更新方法以及装置 | |
CN103488687A (zh) | 用于大数据的搜索***和搜索方法 | |
CN103020255A (zh) | 分级存储方法和装置 | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN102129425A (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
CN109213898A (zh) | 视频监控***的录像检索方法及装置 | |
US20160124984A1 (en) | Storage and compression of an aggregation file | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算*** | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN102541952A (zh) | 一种基于数据库获取历史数据的方法及装置 | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
CN104375781A (zh) | 数据存取方法及装置 | |
CN105426131A (zh) | 一种kv存储实现方法和装置 | |
CN108132759A (zh) | 一种文件***中管理数据的方法和装置 | |
CN101833585A (zh) | 数据库服务器操作控制***、方法及设备 | |
CN105279166A (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 |