磁盘管理方法、装置、电子设备及存储介质与流程

文档序号:15888418发布日期:2018-11-09 19:47阅读:162来源:国知局
磁盘管理方法、装置、电子设备及存储介质与流程

本发明实施例涉及存储技术领域,具体而言,涉及一种磁盘管理方法、装置、电子设备及存储介质。

背景技术

随着物理磁盘容量的增加,磁盘分区技术的使用越来越普遍。磁盘分区技术,就是将一块物理磁盘在逻辑上划分为多个物理磁盘分区,这些划分出来的物理磁盘分区是相互独立的,每一个磁盘分区都可以认为是一块独立的物理磁盘且承担不同的功能。通常利用磁盘分区表对磁盘分区进行管理,磁盘分区表中记录了每个磁盘分区的地址,当分区表发生故障或者丢失时,就会导致分区表中存储的磁盘分区信息无法获取,进而导致磁盘分区上存储的用户数据丢失。



技术实现要素:

本发明实施例的目的在于提供一种磁盘管理方法、装置、电子设备及存储介质,用以提高磁盘分区存储用户数据的可靠性。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种磁盘管理方法,所述方法包括:在磁盘空间中划分出第一分区表和第二分区表,其中所述第一分区表和所述第二分区表均存储有磁盘分区信息,且所述第二分区表中存储的磁盘分区信息是所述第一分区表中存储的磁盘分区信息的备份;当检测到对所述第一分区表访问异常时,获取所述第二分区表存储的磁盘分区信息并存入所述第一分区表中,并再次访问所述第一分区表以获取所述磁盘分区信息;当检测到对所述第一分区表访问正常时,获取所述第一分区表存储的磁盘分区信息。

第二方面,本发明实施例还提供了一种磁盘管理装置,所述装置包括磁盘空间划分模块、第一执行模块和第二执行模块。其中,磁盘空间划分模块用于在磁盘空间中划分出第一分区表和第二分区表,其中所述第一分区表和所述第二分区表均存储有磁盘分区信息,且所述第二分区表中存储的磁盘分区信息是所述第一分区表中存储的磁盘分区信息的备份;第一执行模块用于当检测到对所述第一分区表访问异常时,获取所述第二分区表存储的磁盘分区信息并存入所述第一分区表中,并再次访问所述第一分区表以获取所述磁盘分区信息;第二执行模块用于当检测到对所述第一分区表访问正常时,获取所述第一分区表存储的磁盘分区信息。

第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的磁盘管理方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的磁盘管理方法。

相对现有技术,本发明实施例提供的一种磁盘管理方法、装置、电子设备及存储介质,在用户对首次使用的磁盘进行格式化、或者对物理修复后的磁盘进行格式化时,在磁盘空间中划分出第一分区表和第二分区表,通过第一分区表和第二分区表存储两份一致的磁盘分区信息,当第一分区表出现故障时,获取第二分区表中存储的磁盘分区信息并存入第一分区表中,当对第一分区表访问异常时,直接获取第一分区表中存储的磁盘分区信息,从而达到获取磁盘分区信息以找到磁盘分区的目的。与现有技术相比,本发明实施例可以在第一分区表出现故障时,在用户无感知的情况下,使用第二分区表进行修复,提高了磁盘分区表的可靠性,进而保证了磁盘分区上存储的用户数据的可靠性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的电子设备的方框示意图。

图2示出了本发明实施例提供的磁盘管理方法流程图。

图3示出了本发明实施例提供的磁盘空间的方框示意图。

图4示出了本发明实施例提供的磁盘管理装置的方框示意图。

图标:100-电子设备;101-处理器;102-存储器;103-总线;104-传输接口;200-磁盘管理装置;201-磁盘空间划分模块;202-预存区域分配模块;203-第一执行模块;204-第二执行模块;205-第三执行模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1示出了本发明实施例提供的电子设备100的方框示意图。电子设备100可以是,但不限于台式计算机、笔记本电脑、服务器等等。电子设备100包括处理器101、存储器102、总线103和传输接口104,处理器101、存储器102和传输接口104通过总线103连接,并通过至少一个传输接口104实现磁盘与处理器101、存储器102之间的连接。

总线103可以是isa总线、pci总线或eisa总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

处理器101用于执行存储器102中存储的可执行模块,例如电子设备100的本地文件系统。处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,本发明实施例提供的磁盘管理方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。

存储器102可以是随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

存储器102用于存储程序,如图4所示的磁盘管理装置200。该磁盘管理装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器102中或固化在电子设备100的本地文件系统中的软件功能模块。处理器101在接收到执行指令后,执行程序以实现本发明下述实施例揭示的磁盘管理方法,以实现对传输接口104所连接的至少一个磁盘的磁盘管理,本发明下述实施例揭示的磁盘管理方法在电子设备100的本地文件系统中实现,下面进行详细描述。

第一实施例

请参照图2,图2示出了本发明实施例提供的磁盘管理方法流程图。磁盘管理方法包括以下步骤:

步骤s101,在磁盘空间上划分出第一分区表和第二分区表,其中第一分区表和第二分区表均存储有磁盘分区信息,且第二分区表中存储的磁盘分区信息是第一分区表中存储的磁盘分区信息的备份。

在本发明实施例中,当用户对连接至传输接口104的磁盘进行格式化时,在磁盘空间上划分出第一分区表和第二分区表,该磁盘可以是用户首次使用的磁盘或者物理修复后的磁盘,磁盘格式化在电子设备100的本地文件系统中实现。

在本发明实施例中,首先对磁盘的磁盘空间进行分配,在磁盘空间的头部和尾部分别分配预设大小的第一分区表和第二分区表,磁盘格式化过程中产生的磁盘分区信息会被电子设备100的本地文件系统自动写入第一分区表。第一分区表和第二分区表的大小可以由开发人员根据用户的实际需要灵活设置,在本发明实施例中,第一分区表和第二分区表的大小均预设为4m,在此不作限定。

将磁盘的磁盘分区信息写入第一分区表之后,备份第一分区表中存储的磁盘分区信息,并存储至第二分区表中,这样第一分区表和第二分区表中就存储了一致的磁盘分区信息。采用第一分区表和第二分区表存储一致的磁盘分区信息的方式,当其中一个分区表存储的磁盘分区信息故障不可用时,可以从另一个分区表中获取磁盘分区信息,保证磁盘分区中存储的用户数据不会丢失。

在本发明实施例中,按照上述方法进行磁盘格式化后,磁盘空间会被划分为第一分区表、第二分区表和数据存储空间,第一分区表位于磁盘头部,第二分区表位于磁盘尾部,数据存储空间位于第一分区表和第二分区表之间。这样当用户数据出现写越界时,也就是将本应写入数据存储空间的用户数据写入了第一分区表或者第二分区表,将会导致第一分区表或者第二分区表的数据内容被破坏,进而无法获取第一分区表或者第二分区表中存储的磁盘分区信息,导致用户数据丢失。因此,为了解决用户数据写越界导致磁盘分区信息无法获取的问题,本发明实施例还可以包括步骤s102。

步骤s102,在磁盘空间中分配第一预存区域和第二预存区域,其中,第一预存区域与第一分区表连续并位于第一分区表和数据存储空间之间,第二预存区域与第二分区表连续并位于第二分区表和数据存储空间之间。

在本发明实施例中,为了解决用户数据写越界的问题,在磁盘空间中划分出第一分区表和第二分区表之后,在磁盘空间中分配第一预存区域和第二预存区域,请参照图3,第一预存区域与第一分区表连续并位于第一分区表和数据存储空间之间,第二预存区域与第二分区表连续并位于第二分区表和数据存储空间之间。第一预存区域和第二预存区域的大小可以由开发人员根据用户需要灵活设置,二者的大小可以不同,在本发明实施例中,第一预存区域和第二预存区域的大小可以均预设为4m,在此不作限定。

在本发明实施例中,第一预存区域和第二预存区域在磁盘空间中的大小和位置确定之后,在第一预存区域和第二预存区域均写入预设字符串,预设字符串设置为与用户写入的字符串不相同即可,以便与用户写入的用户数据进行区分。一方面,第一预存区域和第二预存区域可以起到数据缓冲区的作用,也就是说,如果用户数据出现写越界,写越界的数据不会直接覆盖到第一分区表、第二分区表上,而是写入到第一预存区域和第二预存区域;另一方面,当用户数据写越界时,第一预存区域和第二预存区域会对写越界的用户数据进行记录并能识别出写越界的内容,从而为定位用户数据写越界提供依据,帮助定位分析写越界的用户数据。

需要指出的是,对磁盘空间进行分配时,也可以在磁盘头部和磁盘尾部分别预留预设大小的空间,例如,在磁盘头部和磁盘尾部分别预留8m的空间;然后,在磁盘头部的预留空间内分配出第一分区表,在磁盘尾部的预留空间内分配出第二分区表,第一分区表和第二分区表的大小一致且比预留空间小,例如4m,本地文件系统会将磁盘格式化过程中的磁盘分区信息自动写入第一分区表;接下来,磁盘格式化完成后,将第一分区表中的磁盘分区信息备份一份存储至第二分区表中,并在磁盘头部的剩余预留空间内、以及磁盘尾部的剩余预留空间内,写入预设字符串,预设字符串的大小为写满剩余预留空间即可,例如,在第一分区表和第二分区表后面,分别写入4m的预设字符串,预设字符串设置为与用户写入的字符串不相同即可。

步骤s103,当检测到对第一分区表访问异常时,获取第二分区表存储的磁盘分区信息并存入第一分区表中,并再次访问第一分区表以获取磁盘分区信息。

在本发明实施例中,按照步骤s101~s102完成磁盘格式化之后,当检测到磁盘头部的第一分区表访问异常时,将第二分区表中存储的磁盘分区信息拷贝到磁盘头部的第一分区表中,然后再次访问第一分区表,从第一分区表中获取磁盘分区信息,提高磁盘分区存储用户数据的可靠性。

步骤s104,当检测到对第一分区表访问正常时,获取第一分区表存储的磁盘分区信息。

在本发明实施例中,按照步骤s101~s102完成磁盘格式化之后,当检测到磁盘头部的第一分区表访问正常时,直接使用磁盘头部的第一分区表即可获取磁盘分区信息。

在本发明实施例中,当检测到磁盘头部的第一分区表访问异常时,将第二分区表中存储的磁盘分区信息拷贝到磁盘头部的第一分区表,并再次访问第一分区表仍然出现异常时,则发出告警信息,提示用户分区表故障,因此,本发明实施例还包括步骤s105。

步骤s105,当再次访问第一分区表以获取磁盘分区信息失败时,则产生告警信息。

在本发明实施例中,告警信息可以用于提示用户分区表出现故障,以使用户依据此告警信息快速修复故障,防止用户数据丢失。分区表出现故障之后,可以通过查看第一分区表、第二分区表、第一预存空间和第二预存空间内存储的数据内容进行错误排查。

与现有技术相比,本发明实施例具有以下有益效果:

首先,在磁盘空间中划分出第一分区表和第二分区表,通过第一分区表和第二分区表存储两份一致的磁盘分区信息,当第一分区表出现故障时,可以在用户无感知的情况下,使用第二分区表进行修复,提高了磁盘分区表的可靠性,进而保证了磁盘分区上存储的用户数据的可靠性。

其次,在第一分区表后分配第一预存区域,并在第二分区表前分配第二预存区域,第一预存区域位于第一分区表和数据存储空间之间,第二预存区域位于第二分区表和数据存储空间之间,一方面,第一预存区域和第二预存区域可以起到数据缓冲区的作用,也就是说,如果用户数据出现写越界,写越界的数据不会直接覆盖到第一分区表、第二分区表上,而是写入到第一预存区域和第二预存区域,从而防止用户数据写越界对第一分区表或第二分区表的破坏;另一方面,当用户数据写越界时,第一预存区域和第二预存区域会对写越界的用户数据进行记录并能识别出写越界的内容,从而为定位用户数据写越界提供依据,帮助定位分析写越界的用户数据。

第三,第一分区表、第二分区表、第一预存区域和第二预存区域的大小可以由开发人员灵活设置,通常在磁盘头部和磁盘尾部各占用8m的存储空间即可,不会对磁盘的容量和性能产生任何影响。

第二实施例

请参照图4,图4示出了本发明实施例提供的磁盘管理装置200的方框示意图。磁盘管理装置200包括磁盘空间划分模块201、预存区域分配模块202、第一执行模块203、第二执行模块204及第三执行模块205。

磁盘空间划分模块201,用于在磁盘空间上划分出第一分区表和第二分区表,其中第一分区表和第二分区表均存储有磁盘分区信息,且第二分区表中存储的磁盘分区信息是第一分区表中存储的磁盘分区信息的备份。

在本发明实施例中,磁盘空间划分模块201具体用于,按照预设大小,在磁盘空间的头部和尾部分别分配第一分区表和第二分区表,其中磁盘分区信息被自动写入第一分区表;备份第一分区表中存储的磁盘分区信息,并存储至第二分区表中。

预存区域分配模块202,用于在磁盘空间中分配第一预存区域和第二预存区域,其中,第一预存区域与第一分区表连续并位于第一分区表和数据存储空间之间,第二预存区域与第二分区表连续并位于第二分区表和数据存储空间之间。

第一执行模块203,用于当检测到对第一分区表访问异常时,获取第二分区表存储的磁盘分区信息并存入第一分区表中,并再次访问第一分区表以获取磁盘分区信息。

第二执行模块204,用于当检测到对第一分区表访问正常时,获取第一分区表存储的磁盘分区信息。

第三执行模块205,用于当再次访问第一分区表以获取磁盘分区信息失败时,则产生告警信息。

本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器101执行时实现本发明第一实施例揭示的磁盘管理方法。

综上所述,本发明实施例提供的一种磁盘管理方法、装置、电子设备及存储介质,所述方法包括:在磁盘空间中划分出第一分区表和第二分区表,其中第一分区表和第二分区表均存储有磁盘分区信息,且第二分区表中存储的磁盘分区信息是第一分区表中存储的磁盘分区信息的备份;当检测到对第一分区表访问异常时,获取第二分区表存储的磁盘分区信息并存入第一分区表中,并再次访问第一分区表以获取磁盘分区信息;当检测到对第一分区表访问正常时,获取第一分区表存储的磁盘分区信息。与现有技术相比,本发明实施例可以在第一分区表出现故障时,在用户无感知的情况下,使用第二分区表进行修复,提高了磁盘分区表的可靠性,进而保证了磁盘分区上存储的用户数据的可靠性。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1