CN112882659B - 一种信息获得方法、装置、电子设备及存储介质 - Google Patents
一种信息获得方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112882659B CN112882659B CN202110220826.9A CN202110220826A CN112882659B CN 112882659 B CN112882659 B CN 112882659B CN 202110220826 A CN202110220826 A CN 202110220826A CN 112882659 B CN112882659 B CN 112882659B
- Authority
- CN
- China
- Prior art keywords
- information
- disk
- storage area
- target storage
- offset 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请实施例提供了一种信息获得方法、装置、电子设备及存储介质,涉及计算机技术领域,包括:获得目标存储区域的写指针的偏移信息,其中,所述目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,所述参考偏移信息为:所述磁盘的固件信息中记录的、所述目标存储区域的写指针的偏移信息,所述偏移信息表征:所述目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息。由此可见,应用本申请实施例提供的信息获得方案,可以减小磁盘额外的存储开销。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种信息获得方法、装置、电子设备及存储介质。
背景技术
随着信息增长,为实现对信息的存储,磁盘的应用也越来越广泛。在使用磁盘时,通常需要获得磁盘的磁盘占用空间、剩余存储空间、数据是否同步等磁盘信息。
相关技术中,为了获得磁盘信息,通常需要记录存入和取出磁盘的数据的信息,根据上述数据的信息确定磁盘信息。以剩余存储空间为例,通常需要在磁盘中记录存入和取出磁盘的数据的大小信息,在需要获得剩余存储空间时,根据磁盘中记录的上述大小信息和磁盘总的存储空间,计算磁盘的剩余存储空间。
应用现有技术虽然可以获得磁盘信息,但是由于需要在磁盘中额外记录存入和取出磁盘的数据的信息,从而导致增加磁盘额外的存储开销。
发明内容
本申请实施例的目的在于提供一种信息获得方法、装置、电子设备及存储介质,以减小磁盘额外的存储开销。具体技术方案如下:
第一方面,本申请实施例提供了一种信息获得方法,所述方法包括:
获得目标存储区域的写指针的偏移信息,其中,所述目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,所述参考偏移信息为:所述磁盘的固件信息中记录的、所述目标存储区域的写指针的偏移信息,所述偏移信息表征:所述目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;
根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息。
本申请的一个实施例中,所述获得目标存储区域的写指针的偏移信息,包括:
获得内存中缓存的目标存储区域的写指针的偏移信息,其中,所述内存中缓存的偏移信息随着所述磁盘内数据的更新而更新,所述内存中缓存的偏移信息的初始信息为:在所述磁盘内数据更新之前,从所述磁盘的固件信息中读取的偏移信息;
或
获得所述固件信息中记录的目标存储区域的写指针的偏移信息。
本申请的一个实施例中,所述根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息,包括:
根据所获得的写指针的偏移信息及目标存储区域的空间大小,确定所述磁盘的目标存储区域的剩余存储空间。
本申请的一个实施例中,在所述磁盘为磁盘阵列中的磁盘的情况下,所述根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息,包括:
针对所述磁盘阵列的各个磁盘中属于同一条带的目标存储区域,判断各个目标存储区域内写指针的偏移信息是否一致,若为是,则确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态。
本申请的一个实施例中,所述方法还包括:
获得磁盘中发生数据更新的目标存储区域的写指针的偏移信息变化量;
基于所获得的偏移信息变化量,对所述目标存储区域的磁盘信息进行更新。
第二方面,本申请实施例提供了一种信息获得装置,所述装置包括:
偏移信息获得模块,用于获得目标存储区域的写指针的偏移信息,其中,所述目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,所述参考偏移信息为:所述磁盘的固件信息中记录的、所述目标存储区域的写指针的偏移信息,所述偏移信息表征:所述目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;
磁盘信息获得模块,用于根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息。
本申请的一个实施例中,所述偏移信息获得模块,具体用于:
获得内存中缓存的目标存储区域的写指针的偏移信息,其中,所述内存中缓存的偏移信息随着所述磁盘内数据的更新而更新,所述内存中缓存的偏移信息的初始信息为:在所述磁盘内数据更新之前,从所述磁盘的固件信息中读取的偏移信息;
或
获得所述固件信息中记录的目标存储区域的写指针的偏移信息。
本申请的一个实施例中,所述磁盘信息获得模块,具体用于:
根据所获得的写指针的偏移信息及目标存储区域的空间大小,确定所述磁盘的目标存储区域的剩余存储空间。
本申请的一个实施例中,所述磁盘信息获得模块,具体用于:
在所述磁盘为磁盘阵列中的磁盘的情况下,针对所述磁盘阵列的各个磁盘中属于同一条带的目标存储区域,判断各个目标存储区域内写指针的偏移信息是否一致,若为是,则确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态。
本申请的一个实施例中,所述装置还包括磁盘信息更新模块,用于:
获得磁盘中发生数据更新的目标存储区域的写指针的偏移信息变化量;
基于所获得的偏移信息变化量,对所述目标存储区域的磁盘信息进行更新。
第三方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的信息获得方法。
本申请实施例有益效果:
应用本申请实施例提供的方案获得磁盘信息时,首先获得目标存储区域的写指针的偏移信息,其中,目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,参考偏移信息为:磁盘的固件信息中记录的、目标存储区域的写指针的偏移信息,偏移信息表征:目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;根据所获得的写指针的偏移信息,获得磁盘中目标存储区域的磁盘信息。由于目标存储区域支持顺序写入数据,而目标存储区域的写指针的偏移信息可以表征用于写入待写入数据的位置的偏移,也就是,上述偏移信息可以表征目标存储区域已存入数据的大小,进而根据上述已存入数据的大小可以获得磁盘中目标存储区域的磁盘信息。由于这样可以根据写指针的偏移信息获得目标存储区域的磁盘信息,而磁盘的固件信息中本身会记录目标存储区域的写指针的偏移信息,这样无需在磁盘中占用额外的存储开销来记录写指针的偏移信息。由此可见,应用本申请实施例提供的信息获得方案,可以减小磁盘额外的存储开销。
除此之外,由于不需要在磁盘中额外记录存入和取出磁盘的数据的大小信息,因此可以节省由于记录上述信息带来的对磁盘的读写操作,可以节省额外的计算资源的开销,并且减小读写操作对磁盘寿命的影响。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的一种信息获得方法的流程示意图;
图2为本申请实施例提供的一种存储区域的示意图;
图3为本申请实施例提供的一种磁盘阵列的示意图;
图4为本申请实施例提供的一种信息获得装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为减小磁盘额外的存储开销,本申请实施例提供了一种信息获得方法、装置、电子设备及存储介质,下面分别进行详细介绍。
参见图1,图1为本申请实施例提供的一种信息获得方法的流程示意图,该方法可以应用于电子计算机、文件存储服务器、NVR(Network Video Recorder,网络视频录像机)录像机、DVR(Digital Video Recorder,数字视频录像机)录像机等电子设备。信息获得方法可以包括如下步骤101与步骤102。
步骤101,获得目标存储区域的写指针的偏移信息。
其中,目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域。
所获得的偏移信息与参考偏移信息一致,上述参考偏移信息为:磁盘的固件信息中记录的、目标存储区域的写指针的偏移信息。具体的,磁盘的固件信息中可以记录有磁盘内该目标存储区域的写指针的偏移信息,步骤101中所获得的偏移信息与上述固件信息中记录的、该目标存储区域的写指针的偏移信息一致。
偏移信息表征:目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移。
本申请的一个实施例中,磁盘中可以包括目标存储区域和非目标存储区域,目标存储区域可以用于按照数据存储顺序连续存储数据,而上述非目标存储区域可以随机存储数据。
除此之外,磁盘中也可以只包括目标存储区域。
上述磁盘可以是HM-SMR(Host Managed Shingled Magnetic Recording,主机管理的叠瓦式磁记录)磁盘,上述HM-SMR磁盘中包含CMR(传统磁记录)区和SMR(ShingledMagnetic Recording,叠瓦式磁记录)区。
其中,CMR区可以包含至少一个存储区域,每一存储区域支持随机写入数据。
SMR区中也包含至少一个存储区域,每一存储区域支持顺序写入数据,且每一存储区域中具有写指针,写指针可以指示:存储区域中用于写入待写入数据的位置、相对该存储区域的初始写入位置的偏移。
并且,HM-SMR磁盘中SMR区的存储区域的信息和写指针的信息可以对外暴露,即电子设备可以调取上述信息。为便于表述,将上述存储区域称为目标存储区域,即目标存储区域为:磁盘中基于写指针按照数据存储顺序连续写入数据的区域。其中,磁盘中可以包含一个目标存储区域,也可以包括多个目标存储区域。若磁盘中包含多个目标存储区域,则不同目标存储区域的空间大小可以相同,也可以不同。
参见图2,图2为本申请实施例提供的一种存储区域的示意图,如图2所示,写指针所指示的位置为将要写入数据的位置,由于该存储区域支持按顺序写入数据,即从左到右写入数据,随着向存储区域写入数据,写指针所指示的位置也会逐渐向右偏移。目标存储区域中写指针指示的位置左侧的空间为已写入数据的空间,右侧为未写入数据的空间。由于写指针所指示位置相对初始写入位置的偏移与存储区域存入数据的大小相关,因此上述偏移信息可以表征存储区域内所存入数据的大小。
具体的,磁盘的固件信息中记录有目标存储区域的写指针的偏移信息,可以通过多种方式获得目标存储区域的写指针的偏移信息,以使得所获得的偏移信息与磁盘固件信息中记录的偏移信息一致。
例如,可以直接读取固件信息中记录的、目标存储区域的写指针的偏移信息;也可以将上述所读取的信息存入电子设备的内存,从内存中获得上述写指针的偏移信息等。后续进行详细介绍。
本申请的一个实施例中,在首次使用磁盘时,可以首先对磁盘中目标存储区域的写指针的偏移信息初始化,以使得写指针所指示的用于写入待写入数据的位置处于该目标存储区域的初始写入位置。
步骤102,根据所获得的写指针的偏移信息,获得磁盘中目标存储区域的磁盘信息。
其中,上述磁盘信息可以是已被占用存储空间、剩余存储空间、数据状态信息等的一种或多种的组合。
上述数据状态信息用于反映:目标存储区域中的数据处于同步状态或非同步状态。在磁盘中包括多个目标存储区域的情况下,上述同步状态表征:磁盘中各个目标存储区域的写指针的偏移信息相同,即各个目标存储区域中已被占用的存储空间相等;非同步状态表征:各个磁盘中目标存储区域的写指针的偏移信息不完全相同,即各个目标存储区域中已被占用的存储空间不完全相等。
具体的,如前所述,写指针的偏移信息可以表征目标存储区域内所存入数据的大小,因此,根据上述偏移信息,可以获得磁盘的目标存储区域的磁盘信息,如已被占用存储空间、剩余存储空间等。
应用上述实施例提供的方案获得磁盘信息时,由于目标存储区域支持顺序写入数据,而目标存储区域的写指针的偏移信息可以表征用于写入待写入数据的位置的偏移,也就是,上述偏移信息可以表征目标存储区域已存入数据的大小,进而根据上述已存入数据的大小可以获得磁盘中目标存储区域的磁盘信息。由于这样可以根据写指针的偏移信息获得目标存储区域的磁盘信息,而磁盘的固件信息中本身会记录目标存储区域的写指针的偏移信息,这样无需在磁盘中占用额外的存储开销来记录写指针的偏移信息。由此可见,应用本申请实施例提供的信息获得方案,可以减小磁盘额外的存储开销。
除此之外,由于不需要在磁盘中额外记录存入和取出磁盘的数据的大小信息,因此可以节省由于记录上述信息带来的对磁盘的读写操作,可以节省额外的计算资源的开销,并且减小读写操作对磁盘寿命的影响。
本申请的一个实施例中,对于上述步骤101,在获得目标存储区域的写指针的偏移信息时,可以包括以下多种实施方式,下面分别进行介绍:
一种实施方式中,可以获得内存中缓存的目标存储区域的写指针的偏移信息。
其中,内存中缓存的偏移信息随着磁盘内数据的更新而更新,内存中缓存的偏移信息的初始信息为:在磁盘内数据更新之前,从磁盘的固件信息中读取的偏移信息。
具体的,磁盘的固件信息中记录有目标存储区域的写指针的偏移信息,当电子设备的内存中不存在写指针的偏移信息时,可以在磁盘内数据更新之前读取磁盘的固件信息中记录的目标存储区域的写指针的偏移信息,并缓存至内存中,作为初始的写指针的偏移信息。这样当需要利用上述写指针的偏移信息获得目标存储区域的磁盘信息时,可以直接从内存中读取上述偏移信息,避免频繁地读取磁盘固件信息中记录的信息。
当磁盘中发生数据更新时,说明磁盘的目标存储区域的写指针的偏移信息发生了改变,并且,磁盘的固件信息中记录的写指针的偏移信息也会随之发生改变。这种情况下,可以根据磁盘中所更新的数据的大小,直接对内存中记录的偏移信息进行更新,从而可以保持与磁盘的固件信息中记录的偏移信息一致。
这样将磁盘固件信息中记录的写指针的偏移信息缓存至内存中,对内存中记录的偏移信息进行读取和更新,在保证所获得写指针的偏移信息与固件信息中记录的写指针的偏移信息一致的情况下,一方面可以提高读取数据的效率,另一方面也可以减少对磁盘的读取操作,进而减少对磁盘的使用寿命的影响。
本申请的一个实施例中,当用于获得磁盘信息的电子设备或软件程序关闭、重启,或电子设备断电等情况下,内存中缓存的写指针的偏移信息丢失,这种情况下,可以重新读取磁盘的固件信息获得写指针的偏移信息。
另一种实施方式中,也可以直接获得固件信息中记录的目标存储区域的写指针的偏移信息。
具体的,当需要利用写指针的偏移信息获得目标存储区域的磁盘信息时,可以直接从磁盘的固件信息中记录的写指针的偏移信息中读取信息。由于当磁盘中发生数据更新时,磁盘的目标存储区域的写指针的偏移信息会发生改变,进而,磁盘的固件信息中记录的写指针的偏移信息也会随之发生改变,这样从磁盘的固件信息中读取目标存储区域的写指针的偏移信息,所获得的信息的准确度更高,并且无需在内存中缓存上述写指针的偏移信息,可以减小对内存的占用。
本申请的一个实施例中,对于上述步骤102,在获得磁盘信息时,可以获得目标存储区域的已被占用存储空间、剩余存储空间、数据状态信息等,下面分别进行介绍。
本申请的一个实施例中,在获得已被占用存储空间时,由于写指针的偏移信息可以表征目标存储区域内所存入数据的大小,因此可以直接将目标存储区域的写指针的偏移信息,作为该目标存储区域的已被占用存储空间。
若磁盘中包含多个目标存储区域,在需要获得所有目标存储区域的总的已被占用存储空间的情况下,可以对各个目标存储区域的写指针的偏移信息相加,作为总的已被占用存储空间。
本申请的一个实施例中,在获得剩余存储空间时,可以根据所获得的写指针的偏移信息及目标存储区域的空间大小,确定磁盘中目标存储区域的剩余存储空间。
具体的,针对目标存储区域,可以计算该目标存储区域的空间大小与写指针的偏移信息之间的差值,从而得到该目标存储区域的剩余存储空间。
若磁盘中包含多个目标存储区域,在需要获得所有目标存储区域的总的剩余存储空间的情况下,可以对各个目标存储区域的剩余存储空间相加,从而得到上述总的剩余存储空间;
例如,在各个目标存储区域的空间大小相同的情况下,将每一目标存储区域的空间大小记作Z,将各个目标存储区域的写指针的偏移信息记作WP1、WP2……WPn,在计算每一目标存储区域的剩余存储空间SYn时,可以按照以下公式进行计算:
SYn=Z-WPn
在计算目标存储区域总的剩余存储空间SYz时,可以按照以下公式进行计算:
SYz=SY1+SY2+……SYn
除此之外,在获得目标存储区域总的剩余存储空间时,还可以根据预先计算得到的目标存储区域总的存储空间Cz减去总的已被占用存储空间,得到总的剩余存储空间,即还可以按照以下公式进行计算:
SYz=Cz-(WP1+WP2……+WPn)
本申请的一个实施例中,在磁盘为磁盘阵列中的磁盘的情况下,还可以获得磁盘阵列的数据状态信息。
其中,上述磁盘阵列为:由多个磁盘组成的阵列,各个磁盘中处于相同次序的目标存储区域组成一条带。在向磁盘阵列存储数据时,可以将数据平均分成x份,将上述x份数据分别存入同一条带的各个磁盘中,每一磁盘用于存储一份数据,上述x的取值可以等于组成磁盘阵列的磁盘数量。
参见图3,图3为本申请实施例提供的一种磁盘阵列的示意图。假设该磁盘阵列由磁盘a、磁盘b、磁盘c、磁盘d四块磁盘组成,按照次序,每一磁盘分别包含N个目标存储区域,分别为Zone1、Zone2……ZoneN,各个磁盘中的目标存储区域Zone1组成条带Chunk1、各个磁盘中的目标存储区域Zone2组成条带Chunk2……各个磁盘中的目标存储区域ZoneN组成条带ChunkN。在向该磁盘阵列存入数据时,可以将数据平均分成4份,将上述数据分别存入属于同一条带的四个磁盘中。
针对磁盘阵列的各个磁盘中属于同一条带的目标存储区域,判断各个目标存储区域内写指针的偏移信息是否一致,若为是,则确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态。
具体的,由于在存入数据时对数据进行了等分,各个磁盘中所存储的数据的大小相等,因此,各个磁盘中属于同一条带的目标存储区域的写指针的偏移信息应该保持一致。在确定上述各个偏移信息一致的情况下,可以确定该条带的数据状态信息为同步状态。在上述各个偏移信息不一致的情况下,则说明在存入数据时,由于磁盘异常断电等原因,导致数据未完全写入到磁盘中,从而导致各个磁盘中所存储的数据的大小不相等,因此可以确定属于该条带的目标存储区域的数据状态信息为非同步状态,进而可以发起对该条带的数据进行同步。
本申请的一个实施例中,可以在接入磁盘时,或者用于获得磁盘信息的电子设备或软件程序关闭、重启时,检测磁盘阵列的数据状态信息。
本申请的一个实施例中,在磁盘阵列由HM-SMR磁盘组成的情况下,可以按照以下步骤获得磁盘阵列的数据状态信息:
步骤1,获得磁盘阵列中各个磁盘的目标存储区域的写指针的偏移信息;
具体的,可以获得内存中缓存的目标存储区域的写指针的偏移信息。其中,内存中缓存的偏移信息随着磁盘内数据的更新而更新,内存中缓存的偏移信息的初始信息为固件信息中记录的偏移信息。
步骤2,选择磁盘阵列中未确定数据状态信息的一个条带,判断属于该条带的各个存储区域是否处于SMR区,若为是,执行步骤3,否则,执行步骤4,直至遍历磁盘阵列中的各个条带;
步骤3,根据各个磁盘中属于该条带的目标存储区域的写指针的偏移信息,确定该条带的数据状态信息,并返回步骤2;
其中,针对每一条带,在属于该条带的各个目标存储区域的写指针的偏移信息WPa=WPb=WPc……的情况下,确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态;
步骤4,读取属于该条带的各个存储区域中所存储的数据,根据所读取的数据计算校验值,并判断上述校验值是否与预设的校验值一致,若为是,确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态,并返回步骤2。
本申请的一个实施例中,还可以获得磁盘中发生数据更新的目标存储区域的写指针的偏移信息变化量,基于所获得的偏移信息变化量,对目标存储区域的磁盘信息进行更新。
具体的,在磁盘中发生数据更新时,可以确定发生数据更新的目标存储区域,以及上述目标存储区域的写指针的偏移信息的变化量,基于上述指针信息变化量对磁盘信息进行更新。
例如,假设磁盘的剩余存储空间为100M,其中一目标存储区域内新存入了10M数据,则可以确定该目标存储区域的写指针的偏移信息的变化量为增加10M,进而可以确定磁盘的剩余存储空间减少10M,为90M。
这样在磁盘中发生数据更新时,无需对磁盘中所有的目标存储区域进行统计,而只需要基于发生数据更新的目标存储区域对磁盘信息进行更新,可以提高获得磁盘信息的效率。
参见图4,图4为本申请实施例提供的一种信息获得装置的结构示意图,所述装置包括:
偏移信息获得模块401,用于获得目标存储区域的写指针的偏移信息,其中,所述目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,所述参考偏移信息为:所述磁盘的固件信息中记录的、所述目标存储区域的写指针的偏移信息,所述偏移信息表征:所述目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;
磁盘信息获得模块402,用于根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息。
本申请的一个实施例中,所述偏移信息获得模块401,具体用于:
获得内存中缓存的目标存储区域的写指针的偏移信息,其中,所述内存中缓存的偏移信息随着所述磁盘内数据的更新而更新,所述内存中缓存的偏移信息的初始信息为:在所述磁盘内数据更新之前,从所述磁盘的固件信息中读取的偏移信息;
或
获得所述固件信息中记录的目标存储区域的写指针的偏移信息。
本申请的一个实施例中,所述磁盘信息获得模块402,具体用于:
根据所获得的写指针的偏移信息及目标存储区域的空间大小,确定所述磁盘的目标存储区域的剩余存储空间。
本申请的一个实施例中,所述磁盘信息获得模块402,具体用于:
在所述磁盘为磁盘阵列中的磁盘的情况下,针对所述磁盘阵列的各个磁盘中属于同一条带的目标存储区域,判断各个目标存储区域内写指针的偏移信息是否一致,若为是,则确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态。
本申请的一个实施例中,所述装置还包括磁盘信息更新模块,用于:
获得磁盘中发生数据更新的目标存储区域的写指针的偏移信息变化量;
基于所获得的偏移信息变化量,对所述目标存储区域的磁盘信息进行更新。
应用上述实施例提供的方案获得磁盘信息时,首先获得目标存储区域的写指针的偏移信息,其中,目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,参考偏移信息为:磁盘的固件信息中记录的、目标存储区域的写指针的偏移信息,偏移信息表征:目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;根据所获得的写指针的偏移信息,获得磁盘中目标存储区域的磁盘信息。由于目标存储区域支持顺序写入数据,而目标存储区域的写指针的偏移信息可以表征用于写入待写入数据的位置的偏移,也就是,上述偏移信息可以表征目标存储区域已存入数据的大小,进而根据上述已存入数据的大小可以获得磁盘中目标存储区域的磁盘信息。由于这样可以根据写指针的偏移信息获得目标存储区域的磁盘信息,而磁盘的固件信息中本身会记录目标存储区域的写指针的偏移信息,这样无需在磁盘中占用额外的存储开销来记录写指针的偏移信息。由此可见,应用上述实施例提供的信息获得方案,可以减小磁盘额外的存储开销。
除此之外,由于不需要在磁盘中额外记录存入和取出磁盘的数据的大小信息,因此可以节省由于记录上述信息带来的对磁盘的读写操作,可以节省额外的计算资源的开销,并且减小读写操作对磁盘寿命的影响。
本申请实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述信息获得方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一信息获得方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一信息获得方法。
应用上述实施例提供的方案获得磁盘信息时,首先获得目标存储区域的写指针的偏移信息,其中,目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,参考偏移信息为:磁盘的固件信息中记录的、目标存储区域的写指针的偏移信息,偏移信息表征:目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;根据所获得的写指针的偏移信息,获得磁盘中目标存储区域的磁盘信息。由于目标存储区域支持顺序写入数据,而目标存储区域的写指针的偏移信息可以表征用于写入待写入数据的位置的偏移,也就是,上述偏移信息可以表征目标存储区域已存入数据的大小,进而根据上述已存入数据的大小可以获得磁盘中目标存储区域的磁盘信息。由于这样可以根据写指针的偏移信息获得目标存储区域的磁盘信息,而磁盘的固件信息中本身会记录目标存储区域的写指针的偏移信息,这样无需在磁盘中占用额外的存储开销来记录写指针的偏移信息。由此可见,应用上述实施例提供的信息获得方案,可以减小磁盘额外的存储开销。
除此之外,由于不需要在磁盘中额外记录存入和取出磁盘的数据的大小信息,因此可以节省由于记录上述信息带来的对磁盘的读写操作,可以节省额外的计算资源的开销,并且减小读写操作对磁盘寿命的影响。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种信息获得方法,其特征在于,所述方法包括:
获得目标存储区域的写指针的偏移信息,其中,所述目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,所述参考偏移信息为:所述磁盘的固件信息中记录的、所述目标存储区域的写指针的偏移信息,所述偏移信息表征:所述目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;
根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息,所述磁盘信息包括:已被占用存储空间、剩余存储空间、数据状态信息。
2.根据权利要求1所述的方法,其特征在于,所述获得目标存储区域的写指针的偏移信息,包括:
获得内存中缓存的目标存储区域的写指针的偏移信息,其中,所述内存中缓存的偏移信息随着所述磁盘内数据的更新而更新,所述内存中缓存的偏移信息的初始信息为:在所述磁盘内数据更新之前,从所述磁盘的固件信息中读取的偏移信息;
或
获得所述固件信息中记录的目标存储区域的写指针的偏移信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息,包括:
根据所获得的写指针的偏移信息及目标存储区域的空间大小,确定所述磁盘的目标存储区域的剩余存储空间。
4.根据权利要求1所述的方法,其特征在于,在所述磁盘为磁盘阵列中的磁盘的情况下,所述根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息,包括:
针对所述磁盘阵列的各个磁盘中属于同一条带的目标存储区域,判断各个目标存储区域内写指针的偏移信息是否一致,若为是,则确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
获得磁盘中发生数据更新的目标存储区域的写指针的偏移信息变化量;
基于所获得的偏移信息变化量,对所述目标存储区域的磁盘信息进行更新。
6.一种信息获得装置,其特征在于,所述装置包括:
偏移信息获得模块,用于获得目标存储区域的写指针的偏移信息,其中,所述目标存储区域为:磁盘中用于按照数据存储顺序连续存储数据的区域,所获得的偏移信息与参考偏移信息一致,所述参考偏移信息为:所述磁盘的固件信息中记录的、所述目标存储区域的写指针的偏移信息,所述偏移信息表征:所述目标存储区域的写指针所指示的用于写入待写入数据的位置、相对该目标存储区域的初始写入位置的偏移;
磁盘信息获得模块,用于根据所获得的写指针的偏移信息,获得所述磁盘中目标存储区域的磁盘信息,所述磁盘信息包括:已被占用存储空间、剩余存储空间、数据状态信息。
7.根据权利要求6所述的装置,其特征在于,所述偏移信息获得模块,具体用于:
获得内存中缓存的目标存储区域的写指针的偏移信息,其中,所述内存中缓存的偏移信息随着所述磁盘内数据的更新而更新,所述内存中缓存的偏移信息的初始信息为:在所述磁盘内数据更新之前,从所述磁盘的固件信息中读取的偏移信息;
或
获得所述固件信息中记录的目标存储区域的写指针的偏移信息。
8.根据权利要求6或7所述的装置,其特征在于,所述磁盘信息获得模块,具体用于:
根据所获得的写指针的偏移信息及目标存储区域的空间大小,确定所述磁盘的目标存储区域的剩余存储空间;
所述磁盘信息获得模块,具体用于:
在所述磁盘为磁盘阵列中的磁盘的情况下,针对所述磁盘阵列的各个磁盘中属于同一条带的目标存储区域,判断各个目标存储区域内写指针的偏移信息是否一致,若为是,则确定属于该条带的目标存储区域的数据状态信息为同步状态,否则,确定属于该条带的目标存储区域的数据状态信息为非同步状态;
所述装置还包括磁盘信息更新模块,用于:
获得磁盘中发生数据更新的目标存储区域的写指针的偏移信息变化量;
基于所获得的偏移信息变化量,对所述目标存储区域的磁盘信息进行更新。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110220826.9A CN112882659B (zh) | 2021-02-26 | 2021-02-26 | 一种信息获得方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110220826.9A CN112882659B (zh) | 2021-02-26 | 2021-02-26 | 一种信息获得方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882659A CN112882659A (zh) | 2021-06-01 |
CN112882659B true CN112882659B (zh) | 2023-05-02 |
Family
ID=76054880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110220826.9A Active CN112882659B (zh) | 2021-02-26 | 2021-02-26 | 一种信息获得方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882659B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080950B (zh) * | 2022-07-20 | 2022-11-15 | 深圳竹云科技股份有限公司 | 身份信息的处理方法、装置、计算机设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627429A (zh) * | 2003-11-28 | 2005-06-15 | 株式会社东芝 | 用于磁记录的装置和用于测量偏移量的方法 |
US10720177B1 (en) * | 2019-04-08 | 2020-07-21 | Seagate Technology Llc | Mode hop mitigation solutions in a heat-assisted magnetic recording head |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4377297B2 (ja) * | 2004-07-30 | 2009-12-02 | 富士通株式会社 | 記憶装置 |
US8566505B2 (en) * | 2008-04-15 | 2013-10-22 | SMART Storage Systems, Inc. | Flash management using sequential techniques |
JP4838878B2 (ja) * | 2009-12-04 | 2011-12-14 | 富士通株式会社 | データ管理プログラム、データ管理装置、およびデータ管理方法 |
CN103136215A (zh) * | 2011-11-24 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 存储系统的数据读写方法和装置 |
JP6155754B2 (ja) * | 2013-03-28 | 2017-07-05 | 富士通株式会社 | ストレージシステム、分配装置、分配装置の制御プログラム、およびストレージシステムの制御方法 |
JP5982708B2 (ja) * | 2013-08-09 | 2016-08-31 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | ファイル処理方法およびストレージデバイス |
JP2019204566A (ja) * | 2018-05-22 | 2019-11-28 | 株式会社東芝 | 磁気ディスク装置及びリード/ライト処理方法 |
-
2021
- 2021-02-26 CN CN202110220826.9A patent/CN112882659B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627429A (zh) * | 2003-11-28 | 2005-06-15 | 株式会社东芝 | 用于磁记录的装置和用于测量偏移量的方法 |
US10720177B1 (en) * | 2019-04-08 | 2020-07-21 | Seagate Technology Llc | Mode hop mitigation solutions in a heat-assisted magnetic recording head |
Also Published As
Publication number | Publication date |
---|---|
CN112882659A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN106649145B (zh) | 一种自适应更新缓存策略的方法及系统 | |
US20150121024A1 (en) | Operating A Memory Management Controller | |
CN113220239A (zh) | 一种flash存储的擦写方法、装置、设备及可读存储介质 | |
CN110765076B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
US20110119662A1 (en) | Method for updating firmware of embedded system | |
US20100211835A1 (en) | Method for testing a memory device | |
CN108932286B (zh) | 一种数据查询方法及装置 | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
CN111868705A (zh) | 记录装置、读取装置、记录方法、记录程序、读取方法、读取程序及磁带 | |
US8131990B2 (en) | Data processing apparatus and method of mounting logical drive | |
US20140351628A1 (en) | Information processing device, control circuit, computer-readable recording medium for control program, and control method | |
CN112882659B (zh) | 一种信息获得方法、装置、电子设备及存储介质 | |
CN111459948B (zh) | 一种基于中心化块链式账本的交易完整性验证方法 | |
EP3822763B1 (en) | Data reading method, device, system, and distributed system | |
CN112182010A (zh) | 脏页刷新方法和装置、存储介质和电子设备 | |
CN115934420A (zh) | 一种基于分布式存储的数据恢复方法、系统、设备和介质 | |
CN105808451B (zh) | 一种数据缓存方法以及相关装置 | |
US20150067192A1 (en) | System and method for adjusting sas addresses of sas expanders | |
CN111522598A (zh) | 嵌入式设备的重启信息记录方法及装置 | |
US10949359B2 (en) | Optimizing cache performance with probabilistic model | |
CN116737084A (zh) | 一种队列统计方法、装置、电子设备及存储介质 | |
CN117539403A (zh) | 逻辑块读干扰监管方法、装置、计算机设备及存储介质 | |
CN107154960B (zh) | 用于确定分布式存储系统的服务可用性信息的方法与设备 | |
CN111880735B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |