CN112286467A - 磁盘数据读取方法、装置、计算机设备及存储介质 - Google Patents

磁盘数据读取方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112286467A
CN112286467A CN202011321548.8A CN202011321548A CN112286467A CN 112286467 A CN112286467 A CN 112286467A CN 202011321548 A CN202011321548 A CN 202011321548A CN 112286467 A CN112286467 A CN 112286467A
Authority
CN
China
Prior art keywords
disk
preset
reading
instruction
data
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
Application number
CN202011321548.8A
Other languages
English (en)
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.)
Shenzhen Xingzhijia Technology Co ltd
Original Assignee
Shenzhen Xingzhijia Technology 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 Shenzhen Xingzhijia Technology Co ltd filed Critical Shenzhen Xingzhijia Technology Co ltd
Priority to CN202011321548.8A priority Critical patent/CN112286467A/zh
Publication of CN112286467A publication Critical patent/CN112286467A/zh
Pending legal-status Critical Current

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/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种磁盘数据读取方法、装置、计算机设备及存储介质。本申请计算机应用的技术领域,其包括:接收到读取磁盘数据的读取指令,根据读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;接收到的预设指令为预设打开指令,根据预设打开指令调用第一预设函数打开目标磁盘;接收到的预设指令为预设读盘指令,根据预设读盘指令调用第二预设函数读取目标磁盘;若读取目标磁盘的返回结果为预设故障类型,则记录目标磁盘对应的扇区为故障扇区以便下次读取目标磁盘数据时跳过故障扇区继续读取目标磁盘的磁盘数据。本申请实施例中磁盘数据读取时可跳过磁盘故障扇区,解决了读取磁盘卡死问题,提高了数据恢复率。

Description

磁盘数据读取方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种磁盘数据读取方法、装置、计算机设备及存储介质。
背景技术
数据恢复一个关键的环节就是以扇区为单位从磁盘上读取数据,供上层业务逻辑进行数据恢复分析,但由于磁盘扇区健康状态的不确定性,经常会碰到读盘卡死、读盘断开、读盘失败等问题,而常规数据恢复软件的做法是调用操作系统提供的API进行读取磁盘操作,一旦出现以上问题,会导致读取磁盘卡死而无法继续扫描磁盘的问题。
发明内容
本发明实施例提供了一种磁盘数据读取方法、装置、计算机设备及存储介质,旨在解决现有磁盘数据读取资源浪费的问题。
第一方面,本发明实施例提供了一种磁盘数据读取方法,其包括:
若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;
若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;
若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;
若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据。
第二方面,本发明实施例还提供了一种磁盘数据读取装置,其包括:
接收启动单元,用于若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;
打开单元,用于若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;
读取单元,用于若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;
故障单元,用于若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种磁盘数据读取方法、装置、计算机设备及存储介质。其中,所述方法包括:若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据。本发明实施例的技术方案,先根据打开指令打开磁盘,再根据读盘指令读取目标磁盘中的磁盘数据,最后通过预设故障类型的判断,记录故障扇区以便下次读取时跳过目标磁盘对应的故障扇区继续读取磁盘数据,解决了读取磁盘卡死问题,提高了数据恢复率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种磁盘数据读取方法的流程示意图;
图2为本发明实施例提供的一种磁盘数据读取方法的子流程示意图;
图3为本发明实施例提供的一种磁盘数据读取方法的子流程示意图;
图4为本发明另一实施例提供的一种磁盘数据读取方法的流程示意图;
图5为本发明实施例提供的一种磁盘数据读取装置的示意性框图;
图6为本发明实施例提供的磁盘数据读取装置的接收启动单元的示意性框图;
图7为本发明实施例提供的磁盘数据读取装置的打开单元的示意性框图;
图8为本发明实施例提供的磁盘数据读取装置的读取单元的示意性框图;
图9为本发明另一实施例提供的一种磁盘数据读取装置的示意性框图;以及
图10为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的磁盘数据读取方法的流程示意图。本发明实施例的磁盘数据读取方法可应用于终端上,例如手提电脑、平板电脑等智能终端设备,通过安装于所述终端上的软件例如命名为IO服务软件的应用程序来实现所述磁盘数据读取方法,从而减少读取磁盘卡死问题,提高数据恢复率。下面对所述磁盘数据读取方法进行详细说明。如图1所示,该方法包括以下步骤S100-S160。
S100、若接收到读取磁盘数据的读取指令,则根据读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令。
在本发明实施例中,若用户操作安装在终端上的数据恢复软件时,则会触发数据恢复软件向安装在终端上的IO服务软件发送读取磁盘数据的读取指令,IO服务软件接收到读取磁盘数据的读取指令之后,会根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令。其中,预设指令包括预设打开指令、预设读盘指令以及预设关闭指令。预设方式为内存共享方式,内存共享是指允许两个不相关的进程访问同一逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。
需要说明的是,IO服务软件接收到读取磁盘数据的读取指令之后,除了会根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令之外,还会启动一条监控数据恢复软件连接状态的监控线程,以实时监测数据恢复软件与IO服务软件的连接状态。
S110、若接收到的所述预设指令为预设打开指令,则根据预设打开指令调用第一预设函数以打开目标磁盘。
在本发明实施例中,若IO服务软件监测的预设指令为预设打开指令,则会根据所述预设打开指令打开目标磁盘。具体地,是通过解析所述预设打开指令以得到第一磁盘参数,根据第一磁盘参数调用第一预设函数打开目标磁盘。
需要说明的是,第一预设函数为操作系统提供的API(ApplicationProgramInterface,应用程序接口)函数,在本发明实施例中为open函数。
请参阅图2,在一实施例中,例如,在本发明实施例中,所述步骤S110包括如下步骤S111-S112。
S111、解析所述预设打开指令以得到第一磁盘参数,其中,第一磁盘参数包括磁盘名称和起始扇区编号;
S112、根据磁盘名称和所述起始扇区编号调用open函数以打开目标磁盘。
在本发明实施例中,IO服务软件接收到数据恢复软件发送的预设打开指令之后,会先对预设打开指令进行解析以得到第一磁盘参数,其中,第一磁盘参数包括磁盘名称和起始扇区编号,然后根据磁盘名称和所述起始扇区编号调用open函数以打开目标磁盘。
需要说明的是,第一磁盘参数还包括分区序号、磁盘序号、磁盘扇区字节数、磁盘块字节数、总字节数、总扇区数、是否外接磁盘等参数,以方便准确快速读取磁盘扇区中数据。
S120、若接收到的所述预设指令为预设读盘指令,则根据预设读盘指令调用第二预设函数以读取目标磁盘。
在本发明实施例中,若IO服务软件监测的预设指令为预设读盘指令,则会根据预设读盘指令读取目标磁盘中的磁盘数据。具体地,是通过解析预设读盘指令以得到第二磁盘参数,根据第二磁盘参数调用第二预设函数打开目标磁盘。其中,第二预设函数为操作系统提供的API函数中read函数。
请参阅图3,在一实施例中,例如,在本发明实施例中,所述步骤S120包括如下步骤S121-S122。
S121、解析预设读盘指令以得到第二磁盘参数,其中,第二磁盘参数包括磁盘偏移字节数、读取数据字节数以及数据存放缓冲区;
S122、根据磁盘偏移字节数、读取数据字节数以及所述数据存放缓冲区调用read函数以读取所述目标磁盘。
在本发明实施例中,IO服务软件接收到数据恢复软件发送的预设读盘指令之后,会先对预设读盘指令进行解析以得到第二磁盘参数,其中,所述第二磁盘参数包括磁盘偏移字节数、读取数据字节数以及数据存放缓冲区,然后根据所述磁盘偏移字节数、所述读取数据字节数以及所述数据存放缓冲区调用read函数以读取所述目标磁盘。
需要说明的是,在本发明实施例中,数据恢复软件通过不断的向IO服务软件发送预设读盘指令,并设置第二磁盘参数中的磁盘偏移字节数不断递增,直至目标磁盘结尾,从而完成目标磁盘的数据读取。
S130、判断目标磁盘的返回结果是否为预设故障类型,若读取目标磁盘的返回结果为预设故障类型,则执行步骤S140,反之则执行步骤S160;
S140、记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过故障扇区而继续读取目标磁盘的磁盘数据;
S150、将预设故障类型对应的预设错误码发送至数据恢复软件;
S160、将读取的目标磁盘中的磁盘数据发送至数据恢复软件。
在本发明实施例中,根据预设读盘指令调用read函数读取所述目标磁盘之后,会先判断所述目标磁盘的返回结果是否为预设故障类型,若读取所述目标磁盘的返回结果为预设故障类型,则表明读取目标磁盘数据存在问题,则记录目标磁盘对应的扇区为故障扇区以便下次读取目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据;若目标磁盘的返回结果为非预设故障类型,表明读取的目标磁盘数据正确,则将读取的所述目标磁盘中的磁盘数据发送至所述数据恢复软件。
需要说明的是,预设故障类型包括磁盘卡住、磁盘扇区损坏、磁盘断开这三种类型。其中,磁盘卡住为read函数在预设时间内无返回值。在本发明实施例中,当读取所述目标磁盘的返回结果为预设故障类型时,表明读取磁盘卡住,则记录该磁盘扇区为故障扇区,并将预设故障类型对应的预设错误码发送至数据恢复软件供用户进行分析。
图4为本发明另一实施例提供的磁盘数据读取方法的流程示意图,如图4所示,在本发明实施例中,本实施例的磁盘数据读取方法包括步骤S200-S270。其中步骤S200-S260与上述实施例中的步骤S100-S160类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S270。
S270、若接收到的预设指令为预设关闭指令,则根据预设关闭指令调用close函数以关闭已打开的所述目标磁盘。
在本发明实施例中,若目标磁盘读取完毕,则数据恢复软件会向IO服务软件发送预设关闭指令,IO服务软件根据接收到的预设关闭指令调用操作系统API函数中close函数关闭打开的目标磁盘,自此目标磁盘数据读取完毕。
图5是本发明实施例提供的一种磁盘数据读取装置200的示意性框图。如图5所示,对应于以上磁盘数据读取方法,本发明还提供一种磁盘数据读取装置200。该磁盘数据读取装置200包括用于执行上述磁盘数据读取方法的单元,该装置可以被配置于终端中。具体地,请参阅图5,该磁盘数据读取装置200接收启动单元201、打开单元202、读取单元203、判断单元204、故障单元205、第一发送单元206以及第二发送单元207。
其中,接收启动单元201用于若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;打开单元202用于若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;读取单元203用于若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;判断单元204用于判断所述目标磁盘的返回结果是否为预设故障类型;故障单元205用于若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据;第一发送单元206用于将所述预设故障类型对应的预设错误码发送至所述数据恢复软件;第二发送单元207用于若所述目标磁盘的返回结果为非预设故障类型,则将读取的所述目标磁盘中的磁盘数据发送至所述数据恢复软件。
在某些实施例,例如本实施例中,如图6所示,所述接收启动单元201包括接收启动子单元2011。
其中,接收启动子单元2011用于根据所述读取指令启动监控线程以监测数据恢复软件通过共享内存发送的预设指令。
在某些实施例,例如本实施例中,如图7所示,所述打开单元202包括第一解析单元2021及打开子单元2022。
其中,第一解析单元2021用于解析所述预设打开指令以得到第一磁盘参数,其中,所述第一磁盘参数包括磁盘名称和起始扇区编号;打开子单元2022用于根据所述磁盘名称和所述起始扇区编号调用open函数以打开目标磁盘。
在某些实施例,例如本实施例中,如图8所示,所述读取单元203包括第二解析单元2031及读取子单元2032。
其中,第二解析单元2031用于解析所述预设读盘指令以得到第二磁盘参数,其中,所述第二磁盘参数包括磁盘偏移字节数、读取数据字节数以及数据存放缓冲区;读取子单元2032用于根据所述磁盘偏移字节数、所述读取数据字节数以及所述数据存放缓冲区调用read函数以读取所述目标磁盘。
图9是本发明另一实施例提供的一种磁盘数据读取装置200的示意性框图。如图9所示,本实施例的磁盘数据读取装置200是在上述实施例的基础上增加了关闭单元208。
其中,关闭单元208用于若接收到的所述预设指令为预设关闭指令,则根据所述预设关闭指令调用close函数以关闭已打开的所述目标磁盘。
上述磁盘数据读取装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300为终端,终端可以是台式电脑、手提电脑、平板电脑等具有通信功能的电子设备。
参阅图10,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括非易失性存储介质503和内存储器304。
该非易失性存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种磁盘数据读取方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种磁盘数据读取方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;判断所述目标磁盘的返回结果是否为预设故障类型;若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据;若所述目标磁盘的返回结果为非预设故障类型,则将读取的所述目标磁盘中的磁盘数据发送至所述数据恢复软件。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述预设打开指令调用第一预设函数以打开目标磁盘步骤时,具体实现如下步骤:根据所述读取指令启动监控线程以监测数据恢复软件通过共享内存发送的预设指令。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述预设打开指令调用第一预设函数以打开目标磁盘步骤时,具体实现如下步骤:解析所述预设打开指令以得到第一磁盘参数,其中,所述第一磁盘参数包括磁盘名称和起始扇区编号;根据所述磁盘名称和所述起始扇区编号调用open函数以打开目标磁盘。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘步骤时,具体实现如下步骤:解析所述预设读盘指令以得到第二磁盘参数,其中,所述第二磁盘参数包括磁盘偏移字节数、读取数据字节数以及数据存放缓冲区;根据所述磁盘偏移字节数、所述读取数据字节数以及所述数据存放缓冲区调用read函数以读取所述目标磁盘。
在某些实施例,例如本实施例中,处理器302在实现所述若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据步骤之后,具体实现还包括如下步骤:若接收到的所述预设指令为预设关闭指令,则根据所述预设关闭指令调用close函数以关闭已打开的所述目标磁盘。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessingUnit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;判断所述目标磁盘的返回结果是否为预设故障类型;若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据;若所述目标磁盘的返回结果为非预设故障类型,则将读取的所述目标磁盘中的磁盘数据发送至所述数据恢复软件。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述根据所述预设打开指令调用第一预设函数以打开目标磁盘步骤时,具体实现如下步骤:根据所述读取指令启动监控线程以监测数据恢复软件通过共享内存发送的预设指令。
在某些实施例,例如本实施例中,所述处理器在执行所述根据所述预设打开指令调用第一预设函数以打开目标磁盘步骤时,具体实现如下步骤:解析所述预设打开指令以得到第一磁盘参数,其中,所述第一磁盘参数包括磁盘名称和起始扇区编号;根据所述磁盘名称和所述起始扇区编号调用open函数以打开目标磁盘。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘步骤时,具体实现如下步骤:解析所述预设读盘指令以得到第二磁盘参数,其中,所述第二磁盘参数包括磁盘偏移字节数、读取数据字节数以及数据存放缓冲区;根据所述磁盘偏移字节数、所述读取数据字节数以及所述数据存放缓冲区调用read函数以读取所述目标磁盘。
在某些实施例,例如本实施例中,所述处理器在执行所述计算机程序而实现所述若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据步骤之后,具体实现还包括如下步骤:若接收到的所述预设指令为预设关闭指令,则根据所述预设关闭指令调用close函数以关闭已打开的所述目标磁盘。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种磁盘数据读取方法,其特征在于,包括:
若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;
若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;
若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;
若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令,包括:
根据所述读取指令启动监控线程以监测数据恢复软件通过共享内存发送的预设指令。
3.根据权利要求1所述的方法,其特征在于,所述根据所述预设打开指令调用第一预设函数以打开目标磁盘,包括:
解析所述预设打开指令以得到第一磁盘参数,其中,所述第一磁盘参数包括磁盘名称和起始扇区编号;
根据所述磁盘名称和所述起始扇区编号调用open函数以打开目标磁盘。
4.根据权利要求1所述的方法,其特征在于,所述根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘,包括:
解析所述预设读盘指令以得到第二磁盘参数,其中,所述第二磁盘参数包括磁盘偏移字节数、读取数据字节数以及数据存放缓冲区;
根据所述磁盘偏移字节数、所述读取数据字节数以及所述数据存放缓冲区调用read函数以读取所述目标磁盘。
5.根据权利要求1所述的方法,其特征在于,所述若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据之后,还包括:
将所述预设故障类型对应的预设错误码发送至所述数据恢复软件。
6.根据权利要求1所述的方法,其特征在于,所述若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘之后,还包括:
若所述目标磁盘的返回结果为非预设故障类型,则将读取的所述目标磁盘中的磁盘数据发送至所述数据恢复软件。
7.根据权利要求1所述的方法,其特征在于,所述若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据之后,还包括:
若接收到的所述预设指令为预设关闭指令,则根据所述预设关闭指令调用close函数以关闭已打开的所述目标磁盘。
8.一种磁盘数据读取装置,其特征在于,包括:
接收启动单元,用于若接收到读取磁盘数据的读取指令,则根据所述读取指令启动监控线程以监测数据恢复软件通过预设方式发送的预设指令;
打开单元,用于若接收到的所述预设指令为预设打开指令,则根据所述预设打开指令调用第一预设函数以打开目标磁盘;
读取单元,用于若接收到的所述预设指令为预设读盘指令,则根据所述预设读盘指令调用第二预设函数以读取所述目标磁盘;
故障单元,用于若读取所述目标磁盘的返回结果为预设故障类型,则记录所述目标磁盘对应的扇区为故障扇区以便下次读取所述目标磁盘数据时跳过所述故障扇区而继续读取所述目标磁盘的磁盘数据。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
CN202011321548.8A 2020-11-23 2020-11-23 磁盘数据读取方法、装置、计算机设备及存储介质 Pending CN112286467A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011321548.8A CN112286467A (zh) 2020-11-23 2020-11-23 磁盘数据读取方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011321548.8A CN112286467A (zh) 2020-11-23 2020-11-23 磁盘数据读取方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112286467A true CN112286467A (zh) 2021-01-29

Family

ID=74425475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011321548.8A Pending CN112286467A (zh) 2020-11-23 2020-11-23 磁盘数据读取方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112286467A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080130156A1 (en) * 2006-09-13 2008-06-05 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
CN105892932A (zh) * 2014-10-20 2016-08-24 伊姆西公司 用于磁盘数据管理的方法和装置
CN106909441A (zh) * 2017-02-28 2017-06-30 焦点科技股份有限公司 一种基于jvm的磁盘直接i/o访问的方法
CN109634768A (zh) * 2018-12-10 2019-04-16 浪潮(北京)电子信息产业有限公司 一种磁盘故障处理方法、系统及电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080130156A1 (en) * 2006-09-13 2008-06-05 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
CN105892932A (zh) * 2014-10-20 2016-08-24 伊姆西公司 用于磁盘数据管理的方法和装置
CN106909441A (zh) * 2017-02-28 2017-06-30 焦点科技股份有限公司 一种基于jvm的磁盘直接i/o访问的方法
CN109634768A (zh) * 2018-12-10 2019-04-16 浪潮(北京)电子信息产业有限公司 一种磁盘故障处理方法、系统及电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN109743358B (zh) 异步消息接口熔断控制方法、装置、计算机设备及存储介质
CN111078453B (zh) 微服务自动熔断和恢复方法、装置、计算机设备及存储介质
CN111045921A (zh) 自动化接口测试方法、装置、计算机设备及存储介质
KR100733387B1 (ko) 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법
US8086910B1 (en) Monitoring software thread execution
US7818625B2 (en) Techniques for performing memory diagnostics
US7716527B2 (en) Repair system
WO2021174837A1 (zh) 基于整体业务链路断点监控方法、装置、终端及存储介质
US20080282124A1 (en) Predictive run testing
CN113468009B (zh) 一种压力测试方法、装置、电子设备及存储介质
CN110808877A (zh) 基于接口响应时长的统计分析方法、装置及计算机设备
CN114328110A (zh) 物联网网关的监控方法、系统及存储介质
CN108400885A (zh) 一种服务可用性检测方法、装置及电子设备
CN112286467A (zh) 磁盘数据读取方法、装置、计算机设备及存储介质
US7092850B2 (en) Sensor signal debouncing
JP5768503B2 (ja) 情報処理装置、ログ記憶制御プログラムおよびログ記憶制御方法
JPH11232145A (ja) ログ情報記録装置
CN115374430A (zh) 信息泄露检测方法及装置、存储介质和电子设备
CN115935341A (zh) 一种漏洞防御方法、系统、服务器及存储介质
JP2007068090A (ja) ネットワーク装置監視システムおよび監視方法、ならびにそのプログラム
US6957174B2 (en) Sensor signal debouncing
JP3060951B2 (ja) 通信ソフトウェア設計検証方式
CN113630282B (zh) 检测服务器状态的方法和装置
CN116541313B (zh) 一种人脸核身方法、装置及终端设备
CN115333970B (zh) 设备连接稳定性评价方法、装置和计算机设备和存储介质

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