CN112379846A - 一种用于磁盘文件的快速读取方法和系统 - Google Patents

一种用于磁盘文件的快速读取方法和系统 Download PDF

Info

Publication number
CN112379846A
CN112379846A CN202011387147.2A CN202011387147A CN112379846A CN 112379846 A CN112379846 A CN 112379846A CN 202011387147 A CN202011387147 A CN 202011387147A CN 112379846 A CN112379846 A CN 112379846A
Authority
CN
China
Prior art keywords
file
sector
reading
data
disk
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
Application number
CN202011387147.2A
Other languages
English (en)
Other versions
CN112379846B (zh
Inventor
沈长达
杜新胜
黄志炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN202011387147.2A priority Critical patent/CN112379846B/zh
Publication of CN112379846A publication Critical patent/CN112379846A/zh
Application granted granted Critical
Publication of CN112379846B publication Critical patent/CN112379846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明给出了一种用于磁盘文件的快速读取方法和系统,包括解析磁盘数据获取磁盘的文件扇区地图集合S,并对文件扇区地图集合S内的元素进行排序;响应于排序后的任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并生成一新元素并更新至文件扇区地图集合S;依次读取文件扇区地图集合S中元素的相应扇区数据到缓存中;遍历文件扇区地图集合S中元素所对应的文件信息,返回缓存中对应的文件数据。本发明通过文件扇区地图分布规则对全盘文件进行排序后读取并对小文件进行聚合读取,从而大大提升了全盘文件读取时的总体速度,为电子数据取证分析效率的提升提供了有效的基础支撑。

Description

一种用于磁盘文件的快速读取方法和系统
技术领域
本发明涉及计算机取证安全的技术领域,尤其是一种用于磁盘文件的快速读取方法和系统。
背景技术
电子数据取证过程中,为了进行深入的取证分析,往往需要对整个存储上的文件进行全面的搜索分析。当前,硬盘的读取速度与CPU的计算速度存在着较大的差距,整个搜索任务过程中,文件的读取速度成为了搜索任务快速执行的瓶颈。因此,最大化的提升全盘文件快速读取的速度,对于取证分析效率提升具有重大的意义。现有技术针对全盘文件进行读取时,主要通过遍历的方式逐一对文件进行读取,更多读取操作设计是通过多线程或者异步方式进行数据读取。
现有的全盘文件读取技术,通过多线程或者异步方式进行文件数据读取,可有效使得磁盘处于繁忙程度,但磁盘越繁忙并不代表磁盘读取速度越快。因为,磁盘数据的读取跟磁道寻址、访问频次等有关系,多线程或者异步读取的方式没法有效的降低磁盘寻址以及访问频次带来的额外开销,特别当磁盘中存在大量小文件时,全盘文件读取的效率变得很低。
发明内容
为了解决现有技术中多线程或者异步读取的方式没法有效的降低磁盘寻址以及访问频次带来的额外开销,特别当磁盘中存在大量小文件时,全盘文件读取的效率变得很低的技术问题,本发明提出了一种用于磁盘文件的快速读取方法和系统,大大提升了全盘文件读取时的总体速度。
在一个方面,本发明提出了一种用于磁盘文件的快速读取方法,包括以下步骤:
S1:解析磁盘数据获取磁盘的文件扇区地图集合S,并对文件扇区地图集合S内的元素进行排序;
S2:响应于排序后任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并生成一新元素并更新至文件扇区地图集合S;
S3:依次读取文件扇区地图集合S中元素的相应扇区数据到缓存中;以及
S4:遍历文件扇区地图集合S中元素所对应的文件信息,返回缓存中对应的文件数据。
在一些具体的实施例中,磁盘的文件扇区地图集合S内的元素包括多个文件的文件扇区地图的集合Si,集合Si包括多个扇区块sii,每个扇区块sii包括开始扇区StartSectorsii和结束扇区EndSector sii
在一些具体的实施例中,步骤S1中对文件扇区地图集合S内的元素进行排序采用的方式为使得集合S内的任一元素满足开始扇区小于后一元素的开始扇区。凭借该排序可以确保此磁盘顺序移动的方向。
在一些具体的实施例中,步骤S2中的合并生成一新元素并更新至文件扇区地图集合S具体包括:
响应于任意两相邻元素si和si+1满足EndSector sin+1=StartSector s(i+1)1,生成一新元素(StartSector sin,EndSector s(i+1)1),其中,EndSector sin表示为元素si的结束扇区,StartSector s(i+1)1表示为元素si+1的开始扇区;
将新元素(StartSectorsin,EndSectors(i+1)1)插入两相邻元素si和si+1中间,并将两相邻元素si和si+1删除。凭借该步骤可以实现对小文件的聚合处理。
在一些具体的实施例中,步骤S3具体包括:响应于缓存未填满,继续下一元素的读取;响应于元素的表示范围大于缓存的大小,缓存处理完当前读取后反复读取直至元素的数据读取完成。凭借该步骤可以确保在一定缓存条件下元素中的数据能够充分完全读取,
在一些具体的实施例中,响应于缓存中的数据包括多个文件数据,根据新元素对缓存数据进行分割,并作为多个文件数据分别返回。凭借该步骤可以确保返回的文件数据与原始文件的数据相对应。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上述方法。
根据本发明的第三方面,提出了一种用于磁盘文件的快速读取系统,该系统包括:
解析单元:配置用于解析磁盘数据获取磁盘的文件扇区地图集合S,并对文件扇区地图集合S内的元素进行排序;
合并单元:配置用于响应于任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并并生成一新元素并更新至文件扇区地图集合S;
读取单元:配置用于依次读取文件扇区地图集合S中元素的相应扇区数据到缓存中;
文件获取单元:配置用于遍历文件扇区地图集合S中元素所对应的文件信息,返回缓存中对应的文件数据。
在一些具体的实施例中,磁盘的文件扇区地图集合S内的元素包括多个文件的文件扇区地图的集合Si,集合Si包括多个扇区块sii,扇区块sii包括开始扇区StartSector sii和结束扇区EndSector sii
在一些具体的实施例中,步骤S1中对文件扇区地图集合S内的元素进行排序方式表示为使得集合S内的任一元素满足开始扇区小于后一元素的开始扇区。
在一些具体的实施例中,步骤S2中的合并生成一新元素并更新至文件扇区地图集合S具体包括:
响应于任意两相邻元素si和si+1满足EndSector sin+1=StartSector s(i+1)1,生成一新元素(StartSector sin,EndSector s(i+1)1),其中,EndSector sin表示为元素si的结束扇区,StartSector s(i+1)1表示为元素si+1的开始扇区;
将新元素(StartSectorsin,EndSectors(i+1)1)插入两相邻元素si和si+1中间,并将两相邻元素si和si+1删除。
在一些具体的实施例中,步骤S3具体包括:响应于缓存未填满,继续下一元素的读取;响应于元素的表示范围大于缓存的大小,缓存处理完当前读取后反复读取直至元素的数据读取完成。
在一些具体的实施例中,响应于缓存中的数据包括多个文件数据,根据新元素对缓存数据进行分割,并作为多个文件数据分别返回。
本发明提出了一种用于磁盘文件的快速读取方法和系统,通过文件扇区地图分布规则对全盘文件进行排序后读取,有效的降低全盘文件读取时磁头频繁跳动带来的寻址上的时间消耗,同时对小文件进行聚合读取,有效的降低磁盘访问的次数,达到了全盘文件快速读取的目的,从而大大提升了全盘文件读取时的总体速度,为高效的电子数据取证分析提供有效的技术基础支撑。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例的一种用于磁盘文件的快速读取方法的流程图;
图2是本申请的一个具体的实施例的用于磁盘文件的快速读取方法的流程图;
图3是本申请的一个具体的实施例的一种用于磁盘文件的快速读取系统的框架图;
图4是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请的一个实施例的用于磁盘文件的快速读取方法,图1示出了根据本申请的实施例的一种用于磁盘文件的快速读取方法的流程图。如图1所示,该方法包括以下步骤:
S101:解析磁盘数据获取磁盘的文件扇区地图集合S,并对文件扇区地图集合S内的元素进行排序。
在具体的实施例中,磁盘的文件扇区地图集合S内的元素包括多个文件的文件扇区地图的集合Si,集合Si包括多个扇区块sii,扇区块sii包括开始扇区StartSector sii和结束扇区EndSector sii。假设Si={si1,si2,si3…sin}表示某个文件的文件扇区地图的集合,其中集合中的每个元素称为扇区块,每个扇区块包含块的开始扇区StartSector sii和块的结束扇区EndSector sii两个属性信息;假设S={S1,S2,S3…Sn}表示全盘文件的文件扇区地图集合,展开之后可表示为S={s11,s12…s1n,s21,s22…s2m…}。
在具体的实施例中,对文件扇区地图集合S内的元素进行排序方式表示为使得集合S内的任一元素满足开始扇区小于后一元素的开始扇区。在尽量确保磁盘顺序移动的方向时,使得对于集合中的任何一个元素满足StartSector Si1<StartSector S(i+1)1
S102:响应于任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并并生成一新元素并更新至文件扇区地图集合S。
在具体的实施例中,扇区块合并规则。针对S集合中任意两个相邻的元素,当满足以下条件时:EndSector sin+1=StartSector s(i+1)1。则生成新的元素(StartSector sin,EndSector s(i+1)1)插入到元素sin和s(i+1)1中间,插入完成后将sin和s(i+1)1删除。通过对紧邻着的两元素进行合并,生成新的元素实现了对小文件的聚合处理。
S103:依次读取文件扇区地图集合S中元素的相应扇区数据到缓存中。根据元素大小和缓存容量进行扇区数据到缓存的读取,若缓存未被填满,则继续下一元素的读取;当读取的元素的表示范围大于缓存的大小,缓存处理完当前读取后反复读取直至元素的数据读取完成。
S104:遍历文件扇区地图集合S中元素所对应的文件信息,返回缓存中对应的文件数据。响应于缓存中的数据包括多个文件数据,根据新元素对缓存数据进行分割,并作为多个文件数据分别返回,以此来完成对多个小文件的读取任务。
在具体的实施例中,磁道寻址和读取频次是影响全盘文件读取速度的主要因素,磁盘寻址越久、读取频次越多会导致全盘文件读取时间越长。传统通过遍历的方式,进行全盘文件的读取具有很大的随机性,在切换文件读取时可能会造成磁盘频繁跳动导致寻址时间长,同时针对小文件需要进行频繁的读取,因此,整体速度比较低下。如果能够通过一定的读取顺序来降低磁道寻址之间,同时避免小文件带来的频繁读取的影响,那么就可以有效提升全盘读取速度。上述方法基于文件底层扇区地图的分析制定出文件读取顺序并对小文件进行聚合读取,从而达到了全盘文件快速读取的目的。
继续参考图2,图2示出了根据本发明的一个具体的实施例的用于磁盘文件的快速读取方法的流程图,全盘文件快速读取的主要思路是通过解析磁盘文件系统的结构,获取磁盘中所有文件的扇区地图,并依据扇区地图信息对文件读取的顺序进行排序,同时从扇区地图层面分析相邻的扇区地图,对连续的扇区地图进行合并读取,减少小文件的频繁读取,提升读取效率。如图2所示,该方法包括以下步骤:
S201:全盘文件扇区地图解析,获取S集合。根据文件系统结构对磁盘数据进行解析,获取全盘文件的文件扇区地图集合S。
S202:对S集合中的元素进行排序。使得对于集合中的任何一个元素满足StartSector si1<StartSector s(i+1)1(尽量确保磁盘顺序移动的方向)。
S203:根据扇区块合并规则对S集合中的元素进行合并。对S集合中所有满足扇区块合并规则的元素进行合并处理(该过程实现对小文件的聚合处理)。
S204:假设CACHE是一个缓存。
S205:按顺序从S集合中获取对应元素的扇区数据放入CACHE中。按顺序从S集合中获取一个元素,并根据这个元素读取相应扇区数据到CACHE中,并根据以下规则执行:如果CACHE还未填满则继续下一个元素的读取;如果一个元素的表示范围超过CAHE大小,则CACHE处理完之后进行反复读取,直至元素的数据被读完。
S206:根据集合元素对应的文件信息返回对应的文件数据。如果CACHE中的数据包含多个文件数据(小文件情况),则根据集合元素数据对CACHE数据进行分割,作为多个文件数据进行返回。
S207:判断S集合是否遍历完成,若遍历完成,则结束读取流程,若遍历未完成,则反复执行步骤S204和步骤S205,直至整个S集合中的元素对应的扇区数据都被获取完成。
继续参考图3,图3示出了根据本发明的实施例的一种用于磁盘文件的快速读取系统的框架图。该系统具体包括解析单元301、合并单元302、读取单元303和文件获取单元304。
在具体的实施例中,解析单元301配置用于解析磁盘数据获取磁盘的文件扇区地图集合S,并对文件扇区地图集合S内的元素进行排序;合并单元302配置用于响应于任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并并生成一新元素并更新至文件扇区地图集合S;读取单元303配置用于依次读取文件扇区地图集合S中元素的相应扇区数据到缓存中;文件获取单元304配置用于遍历文件扇区地图集合S中元素所对应的文件信息,返回缓存中对应的文件数据。
下面参考图4,其示出了适于用来实现本申请实施例的电子设备的计算机系统400的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:解析磁盘数据获取磁盘的文件扇区地图集合S,并对文件扇区地图集合S内的元素进行排序;响应于任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并并生成一新元素并更新至文件扇区地图集合S;依次读取文件扇区地图集合S中元素的相应扇区数据到缓存中;遍历文件扇区地图集合S中元素所对应的文件信息,返回缓存中对应的文件数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (13)

1.一种用于磁盘文件的快速读取方法,其特征在于,包括以下步骤:
S1:解析磁盘数据获取磁盘的文件扇区地图集合S,并对所述文件扇区地图集合S内的元素进行排序;
S2:响应于排序后的任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并生成一新元素并更新至所述文件扇区地图集合S;
S3:依次读取所述文件扇区地图集合S中元素的相应扇区数据到缓存中;以及
S4:遍历所述文件扇区地图集合S中元素所对应的文件信息,返回所述缓存中对应的文件数据。
2.根据权利要求1所述的用于磁盘文件的快速读取方法,其特征在于,所述磁盘的文件扇区地图集合S内的元素包括多个文件的文件扇区地图的集合Si,所述集合Si包括多个扇区块sii,每个所述扇区块sii包括开始扇区StartSector sii和结束扇区EndSector sii
3.根据权利要求1所述的用于磁盘文件的快速读取方法,其特征在于,所述步骤S1中对所述文件扇区地图集合S内的元素进行排序采用的方式为使得集合S内的任一元素满足开始扇区小于后一元素的开始扇区。
4.根据权利要求1所述的用于磁盘文件的快速读取方法,其特征在于,所述步骤S2中的合并生成一新元素并更新至所述文件扇区地图集合S具体包括:
响应于任意两相邻元素si和si+1满足EndSector sin+1=StartSector s(i+1)1,生成一新元素(StartSector sin,EndSector s(i+1)1),其中,EndSector sin表示为元素si的结束扇区,StartSector s(i+1)1表示为元素si+1的开始扇区;
将所述新元素(StartSectorsin,EndSectors(i+1)1)插入所述两相邻元素si和si+1中间,并将所述两相邻元素si和si+1删除。
5.根据权利要求1所述的用于磁盘文件的快速读取方法,其特征在于,所述步骤S3具体包括:响应于所述缓存未填满,继续下一元素的读取;响应于所述元素的表示范围大于所述缓存的大小,所述缓存处理完当前读取后反复读取直至所述元素的数据读取完成。
6.根据权利要求1或5所述的用于磁盘文件的快速读取方法,其特征在于,响应于所述缓存中的数据包括多个文件数据,根据所述新元素对缓存数据进行分割,并作为多个文件数据分别返回。
7.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至6中任一项所述的方法。
8.一种用于磁盘文件的快速读取系统,其特征在于,所述系统包括:
解析单元:配置用于解析磁盘数据获取磁盘的文件扇区地图集合S,并对所述文件扇区地图集合S内的元素进行排序;
合并单元:配置用于响应于任意两相邻的元素中前一元素中的结束扇区与后一元素中的开始扇区之间不存在间隔,合并并生成一新元素并更新至所述文件扇区地图集合S;
读取单元:配置用于依次读取所述文件扇区地图集合S中元素的相应扇区数据到缓存中;
文件获取单元:配置用于遍历所述文件扇区地图集合S中元素所对应的文件信息,返回所述缓存中对应的文件数据。
9.根据权利要求8所述的用于磁盘文件的快速读取系统,其特征在于,所述磁盘的文件扇区地图集合S内的元素包括多个文件的文件扇区地图的集合Si,所述集合Si包括多个扇区块sii,所述扇区块sii包括开始扇区StartSector sii和结束扇区EndSector sii
10.根据权利要求8所述的用于磁盘文件的快速读取系统,其特征在于,所述步骤S1中对所述文件扇区地图集合S内的元素进行排序方式表示为使得集合S内的任一元素满足开始扇区小于后一元素的开始扇区。
11.根据权利要求8所述的用于磁盘文件的快速读取系统,其特征在于,所述步骤S2中的合并生成一新元素并更新至所述文件扇区地图集合S具体包括:
响应于任意两相邻元素si和si+1满足EndSector sin+1=StartSector s(i+1)1,生成一新元素(StartSector sin,EndSector s(i+1)1),其中,EndSector sin表示为元素si的结束扇区,StartSector s(i+1)1表示为元素si+1的开始扇区;
将所述新元素(StartSectorsin,EndSectors(i+1)1)插入所述两相邻元素si和si+1中间,并将所述两相邻元素si和si+1删除。
12.根据权利要求8所述的用于磁盘文件的快速读取系统,其特征在于,所述步骤S3具体包括:响应于所述缓存未填满,继续下一元素的读取;响应于所述元素的表示范围大于所述缓存的大小,所述缓存处理完当前读取后反复读取直至所述元素的数据读取完成。
13.根据权利要求8或12所述的用于磁盘文件的快速读取系统,其特征在于,响应于所述缓存中的数据包括多个文件数据,根据所述新元素对缓存数据进行分割,并作为多个文件数据分别返回。
CN202011387147.2A 2020-12-01 2020-12-01 一种用于磁盘文件的快速读取方法和系统 Active CN112379846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011387147.2A CN112379846B (zh) 2020-12-01 2020-12-01 一种用于磁盘文件的快速读取方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011387147.2A CN112379846B (zh) 2020-12-01 2020-12-01 一种用于磁盘文件的快速读取方法和系统

Publications (2)

Publication Number Publication Date
CN112379846A true CN112379846A (zh) 2021-02-19
CN112379846B CN112379846B (zh) 2022-04-29

Family

ID=74589495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011387147.2A Active CN112379846B (zh) 2020-12-01 2020-12-01 一种用于磁盘文件的快速读取方法和系统

Country Status (1)

Country Link
CN (1) CN112379846B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113623A (ja) * 1986-10-30 1988-05-18 Nec Corp セクタバツフア制御方式
EP0767431A1 (en) * 1995-10-04 1997-04-09 Stac, Inc. System for backing up computer disk volumes
CN101477486A (zh) * 2009-01-22 2009-07-08 中国人民解放军国防科学技术大学 一种基于扇区重组的文件备份恢复方法
US20090313426A1 (en) * 2008-06-12 2009-12-17 Seagate Technology, Llc Buffer Management for Increased Write Speed in Large Sector Data Storage Device
CN102375850A (zh) * 2010-08-23 2012-03-14 联想(北京)有限公司 电子设备的文件排布方法、启动方法及电子设备
US20190391748A1 (en) * 2018-06-25 2019-12-26 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved iops and utilization efficiency

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113623A (ja) * 1986-10-30 1988-05-18 Nec Corp セクタバツフア制御方式
EP0767431A1 (en) * 1995-10-04 1997-04-09 Stac, Inc. System for backing up computer disk volumes
US20090313426A1 (en) * 2008-06-12 2009-12-17 Seagate Technology, Llc Buffer Management for Increased Write Speed in Large Sector Data Storage Device
CN101477486A (zh) * 2009-01-22 2009-07-08 中国人民解放军国防科学技术大学 一种基于扇区重组的文件备份恢复方法
CN102375850A (zh) * 2010-08-23 2012-03-14 联想(北京)有限公司 电子设备的文件排布方法、启动方法及电子设备
US20190391748A1 (en) * 2018-06-25 2019-12-26 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved iops and utilization efficiency

Also Published As

Publication number Publication date
CN112379846B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN113015970B (zh) 划分知识图谱的方法、系统和介质
CN108509556B (zh) 数据迁移方法和装置、服务器、存储介质
CN109508326B (zh) 用于处理数据的方法、装置和系统
US10628066B2 (en) Ensuring in-storage data atomicity and consistency at low cost
CN107451062B (zh) 一种用户界面遍历测试方法、装置、服务器、存储介质
CN110781658B (zh) 简历解析方法、装置、电子设备和存储介质
CN109886311B (zh) 增量聚类方法、装置、电子设备和计算机可读介质
KR20200141208A (ko) 그래프 데이터 처리 방법 및 그래프 데이터 처리 장치
CN111274241B (zh) 用于并行处理地图数据的方法和装置
CN115220899A (zh) 模型训练任务的调度方法、装置及电子设备
WO2022110978A1 (en) Method and apparatus for driving data search
CN117369731B (zh) 一种数据的缩减处理方法、装置、设备及介质
CN112379846B (zh) 一种用于磁盘文件的快速读取方法和系统
CN113407343A (zh) 一种基于资源分配的业务处理方法、装置及设备
CN113722518A (zh) 基于遥感影像元数据的存储方法、检索方法、设备及介质
US8781798B2 (en) Systems and methods for exploring and utilizing solutions to cyber-physical issues in a sandbox
US20200133583A1 (en) Method, apparatus and computer program product for storing data
CN116775039A (zh) 一种运算脚本的优化方法、系统及存储介质
CN113297132A (zh) 迁移文件列表的生成方法、装置、电子设备及计算机可读介质
JPWO2019156060A1 (ja) 並列ユニオン制御装置、並列ユニオン制御方法、および並列ユニオン制御用プログラム
KR101744017B1 (ko) 실시간 검색을 위한 데이터 인덱싱 방법 및 장치
CN115167822A (zh) 分支代码合并方法、装置、设备和存储介质
CN114329058A (zh) 图像聚档方法、装置和电子设备
CN109284350B (zh) 检索内容的更新方法、装置、存储介质及电子设备
KR20210100347A (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