CN116627340A - 分区访问方式的确定方法及装置、存储介质及电子装置 - Google Patents
分区访问方式的确定方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116627340A CN116627340A CN202310637884.0A CN202310637884A CN116627340A CN 116627340 A CN116627340 A CN 116627340A CN 202310637884 A CN202310637884 A CN 202310637884A CN 116627340 A CN116627340 A CN 116627340A
- Authority
- CN
- China
- Prior art keywords
- partition
- file system
- target
- determining
- storage medium
- 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
Links
- 238000005192 partition Methods 0.000 title claims abstract description 416
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000000638 solvent extraction Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013515 script Methods 0.000 claims description 12
- 230000001066 destructive effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
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
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种分区访问方式的确定方法及装置、存储介质及电子装置,其中,上述方法包括:在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对所述目标存储介质进行分区的参数;根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。采用上述技术方案,解决了系统内核在存储介质上针对不同文件系统类型的坏块处理不通用的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种分区访问方式的确定方法及装置、存储介质及电子装置。
背景技术
对于嵌入式系统来说,文件系统主要是用来管理和存储数据和程序。目前,嵌入式Linux操作系统支持很多种文件系统,常用的基于nand flash的文件系统类型包括:Squashfs、cramfs、ubifs、jiffs2、yaffs等。具体使用哪种文件系统,需要根据存储介质、访问速度、存储容量等来选择。
目前,基于nand flash可使用的文件类型是多样的,而由于nand flash存在坏块的物理特性,每种文件系统类型对于坏块的处理是不一样的,比如说squashfs文件系统和cramfs文件系统自身是不带坏块处理,而ubi文件系统和yaffs文件系统自身带坏块处理。而linux内核针对不同的文件系统坏块处理并没有统一的方案。目前主要有两种方案:一种是通过读取flash文件系统所在分区超级块数据来判定文件系统类型,进而确定是否需要做坏块处理。另外一种是通过分区名来直接判定是否需要做坏块处理(因为通常情况下,分区划分好了,分区对应的文件系统类型就基本可以确定了)。但上述两种方案都存在一定的缺点:第一种方案并不能识别所有分区的文件系统类型,比如有些ubi分区一开始并没有文件系统镜像,文件系统挂载的时候才会将其格式化成ubi文件系统,有些分区基于安全需求对数据做了加密处理,无法通过直接读数据识别文件系统类型。第二种基于分区名来区分文件系统类型的方案,其最大问题在于一旦分区文件系统类型发生改变,坏块处理不当很容易引入问题。
针对相关技术,系统内核在存储介质上针对不同文件系统类型的坏块处理不通用的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本发明实施例提供了一种分区访问方式的确定方法及装置、存储介质及电子装置,以至少解决系统内核在存储介质上针对不同文件系统类型的坏块处理不通用的问题。
根据本发明实施例的一方面,提供一种分区访问方式的确定方法,包括:在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对所述目标存储介质进行分区的参数;根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
在一个示例性的实施例中,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式,包括:在第一分区对应的第一文件系统具备目标能力的情况下,将所述第一文件系统的分区访问方式确定为所述第一分区的分区访问方式;在第二分区对应的第二文件系统不具备目标能力的情况下,构建所述第二分区的目标表,并根据所述目标表确定所述第二分区的分区访问方式,其中,所述目标表中记载了所述第二分区中目标存储块,所述目标存储块为无损坏的存储块。
在一个示例性的实施例中,构建所述第二分区的目标表,包括:确定所述第二分区中每个目标存储块以及所述每个目标存储块在所述第二分区中的物理地址;为所述每个目标存储块分配逻辑地址,并通过所述第二分区中每个目标存储块的逻辑地址和物理地址构建所述第二分区的目标表的对应关系,其中,所述目标表中还记载了所述每个目标存储块的逻辑地址与物理地址的对应关系。
在一个示例性的实施例中,根据所述目标表确定所述第二分区的分区访问方式,包括:将所述第二文件系统根据所述目标表访问所述第二分区的方式确定为所述第二分区的分区访问方式;其中,所述第二文件系统根据所述目标表访问所述第二分区包括:所述第二文件系统仅访问所述目标表中记录的所述目标存储块。
在一个示例性的实施例中,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型之后,所述方法还包括:将所述每个分区对应的文件系统类型写入分区信息文件中,其中,所述分区信息文件用于存储所述目标存储介质的分区信息。
在一个示例性的实施例中,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式之后,所述方法还包括:通过系统分区挂载脚本解析所述分区信息文件,确定所述每个分区对应的文件系统类型以及对应的分区设备;根据所述每个分区对应的文件系统类型将所述每个分区设备按照对应的文件系统类型进行挂载。
在一个示例性的实施例中,根据所述每个分区对应的文件系统类型将所述每个分区设备按照对应的文件系统类型进行挂载,包括:根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统的挂载参数;根据所述每个分区对应的文件系统的挂载参数对所述每个分区对应的分区设备进行文件系统挂载。
在一个示例性的实施例中,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型之前,所述方法还包括:在系统内核引导阶段,通过系统内核引导程序配置所述分区参数,其中,所述分区参数至少包括:所述每个分区对应的文件系统类型。
根据本发明实施例的另一方面,还提供了一种分区访问方式的确定装置,包括:获取模块,用于在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对目标存储介质进行分区的参数;第一确定模块,用于根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;第二确定模块,用于根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述分区访问方式的确定方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述分区访问方式的确定方法。
通过本发明,在系统内核初始化阶段,可以通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,进而根据每个分区的文件系统类型确定每个分区对应的文件系统是否具备目标能力(目标能力包括处理损坏的存储块的能力),进而根据每个分区对应的文件系统是否具备目标能力来确定每个分区的分区访问方式,以通过确定的分区访问方式完成不同文件系统针对坏块的差异化处理,使得系统内核在目标存储介质上使用不同文件系统对坏块的处理的通用性更强,解决了系统内核在存储介质上针对不同文件系统类型的坏块处理不通用的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的分区访问方式的确定方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的分区访问方式的确定方法的流程图(一);
图3是根据本发明实施例的分区访问方式的确定方法的流程图(二);
图4是根据本发明实施例的分区访问方式的确定装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的分区访问方式的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的分区访问方式的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
具体的,在本实施例中提供了一种分区访问方式的确定方法,包括但不限于应用在上述计算机终端的linux系统中,图2是根据本发明实施例的分区访问方式的确定方法的流程图(一),该流程包括如下步骤:
步骤S202,在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对所述目标存储介质进行分区的参数;
作为一种可选的示例,系统分区初始化程序为linux分区初始化程序,目标存储介质为nand flash。每个分区对应的文件系统类型是每个分区对应的文件系统的类型。
在一个示例性的实施例中,在执行上述步骤S202之前,还包括:在系统内核引导阶段,通过系统内核引导程序配置分区参数,其中,所述分区参数至少包括:所述每个分区对应的文件系统类型。
作为一种可选的示例,系统内核引导程序为linux内核引导程序,系统内核为linux内核。分区参数还可以包括:每个分区的分区名称,当前存储介质的类型(是nandflash,还是其他flash),每个分区的存储大小等等。
步骤S204,根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;
需要说明的是,squashfs文件系统和cramfs文件系统不具备处理损坏的存储块的能力,ubi文件系统和yaffs文件系统具备处理损坏的存储块的能力。
步骤S206,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
通过上述步骤,在系统内核初始化阶段,可以通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,进而根据每个分区的文件系统类型确定每个分区对应的文件系统是否具备目标能力(目标能力包括处理损坏的存储块的能力),进而根据每个分区对应的文件系统是否具备目标能力来确定每个分区的分区访问方式,以通过确定的分区访问方式完成不同文件系统针对坏块的差异化处理,使得系统内核在目标存储介质上使用不同文件系统对坏块的处理的通用性更强,解决了系统内核在存储介质上针对不同文件系统类型的坏块处理不通用的问题。
在一个示例性的实施例中,上述步骤S206可以通过以下步骤S11-S12实现:
步骤S11:在第一分区对应的第一文件系统具备目标能力的情况下,将所述第一文件系统的分区访问方式确定为所述第一分区的分区访问方式;
需要说明的是,对于本身具备坏块(坏块即上述损坏的存储块)处理功能的第一文件系统,直接使用linux内核原始的分区访问方法即可,通常是不做额外的坏块处理。因为坏块处理逻辑的在文件系统层已经实现,如果在分区访问时再处理一次,一旦存在坏块就极有可能导致文件系统层数据访问出现异常。
步骤S12:在第二分区对应的第二文件系统不具备目标能力的情况下,构建所述第二分区的目标表,并根据所述目标表确定所述第二分区的分区访问方式,其中,所述目标表中记载了所述第二分区中目标存储块,所述目标存储块为无损坏的存储块。
需要说明的是,本申请实施例中的第一文件系统用于指代具备处理损坏的存储块的能力的文件系统,第二文件系统用于指代不具备处理损坏的存储块的能力的文件系统。可以根据分区对应的文件系统是否具备目标能力将目标存储介质中的分区划分为两类分区,即上述第一分区和第二分区。
需要说明的是,对于不带坏块处理逻辑的第二文件系统,需要先对该分区创建好块表(好块表即上述目标表),并且基于好块表构建文件系统层对该分区的访问方法。
在一个示例性的实施例中,上述构建所述第二分区的目标表,可以通过以下步骤S21-S22实现:
步骤S21:确定所述第二分区中每个目标存储块以及所述每个目标存储块在所述第二分区中的物理地址;
步骤S22:为所述每个目标存储块分配逻辑地址,并通过所述第二分区中每个目标存储块的逻辑地址和物理地址构建所述第二分区的目标表,其中,所述目标表中还记载了所述每个目标存储块的逻辑地址与物理地址的对应关系。
在本实施例中,通过上述步骤S21-S22构建的目标表中具有目标存储块的逻辑地址和物理地址,使得可以更好的根据目标表确定第二分区的分区访问方式。
在一个示例性的实施例中,上述根据所述目标表确定所述第二分区的分区访问方式,包括:将所述第二文件系统根据所述目标表访问所述第二分区的方式确定为所述第二分区的分区访问方式;其中,所述第二文件系统根据所述目标表访问所述第二分区包括:所述第二文件系统仅访问所述目标表中记录的所述目标存储块。
需要说明的是,由于目标表中记录的均为无损坏的目标存储块,进而在第二文件系统仅访问目标表中记录的目标存储块的情况下,即使nand flash存在坏块,那么第二文件系统也能根据目标表访问到正常的文件系统数据。
在一个示例性的实施例中,通过系统分区初始化程序从分区参数中获取目标存储介质中每个分区对应的文件系统类型之后,还包括步骤S31:将所述每个分区对应的文件系统类型写入分区信息文件中,其中,所述分区信息文件用于存储所述目标存储介质的分区信息。
在一个示例性的实施例中,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式之后,还包括步骤S32-S33:
步骤S32:通过系统分区挂载脚本解析所述分区信息文件,确定所述每个分区对应的文件系统类型以及对应的挂载设备;
步骤S33:根据所述每个分区对应的文件系统类型将所述每个分区设备按照对应的文件系统类型进行挂载。
在本实施例中,由于步骤S31已经将分区以及分区对应的文件系统类型记录到分区信息文件当中,因此linux分区挂载脚本解析该分区信息文件,就能找到该分区使用的文件系统类型,进而可以根据不同的文件系统类型完成不同文件系统的差异化挂载。避免了现有技术在分区文件系统切换时需要预先根据要切换的文件系统类型修改linux内核分区挂载脚本,降低了出错率。
在一个示例性的实施例中,上述步骤S33可以根据以下方式实现:根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统的挂载参数;根据所述每个分区对应的文件系统的挂载参数将所述每个分区按照对应的文件系统挂载。
需要说明的是,不同文件系统类型的文件设备在进行挂载的时候,所需要的挂载参数是不同的,进而需要根据分区对应的文件系统类型确定分区对应的文件系统的挂载参数,再根据分区对应的文件系统的挂载参数将分区按照对应的文件系统类型进行挂载。其中,挂载设备为一种存储设备。
需要说明的是,在linux系统中,将一个文件系统与一个存储设备关联起来的过程称为挂载。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述分区访问方式的确定方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
图3是根据本发明实施例的分区访问方式的确定方法的流程图(二),如图3所示,具体具有以下步骤:
步骤102:linux引导程序配置分区以及分区对应的文件系统类型;
需要说明的是,由于通常linux分区的划分都是在linux内核引导程序中配置实现的,而分区和分区所使用的文件系统类型是紧密相关的,因此可以在linux引导程序中配置分区参数的同时需要添加对应的分区文件系统类型字段。
步骤103:linux初始化时解析分区以及分区对应的文件系统类型并写入分区信息文件;
需要说明的是,linux内核初始化的较早阶段会去解析linux引导程序传给内核的配置参数(比如说分区参数)。进而本申请实施例可以通过解析分区参数来实现分区文件系统类型的解析,并且将解析确定的文件系统类型写入到linux内核分区信息文件中。分区信息文件主要是用于分区文件系统挂载时匹配分区对应的文件系统。
步骤104:linux分区初始化程序对分区对应的文件系统类型进行判断,确实是否为squashfs或者cramfs文件系统,在是的情况下,执行步骤106,否则执行步骤105;
需要说明的是,linux内核分区初始化时需要新增对文件系统类型的判断,其目的主要是为了实现坏块处理。由于每种文件系统类型对于坏块的处理是不一样的,有些文件系统本身不具备坏块处理功能(比如说squashfs文件系统、cramfs文件系统),而另外一些文件系统本身实现了坏块处理机制(比如说ubi文件系统,yaffs文件系统等)。因此针对不具备坏块处理功能的文件系统,内核需要进入步骤106做坏块处理。对于本身具备坏块处理功能的文件,系统执行步骤105。
步骤105:构建原始的linux内核分区访问方法;
需要说明的是,对于本身具备坏块处理功能的文件系统,直接使用linux内核原始的分区访问方法即可,通常不做额外的坏块处理。因为坏块处理逻辑在文件系统层已经实现,如果在分区访问时再处理一次,一旦存在坏块就极有可能导致文件系统层数据访问出现异常。
步骤106:对该分区创建好块表(相当于上述实施例中的目标表),构建基于好块表的分区访问方法;
需要说明的是,对于squashfs和cramfs这类不带坏块处理逻辑的文件系统,需要先对该分区创建好块表,并且基于好块表构建文件系统层对该分区的访问方法,这样如果nand flash存在坏块,那么squashf和cramfs这类文件系统也能通过该访问方法访问到正常的文件系统数据。
步骤107:linux分区挂载脚本自动解析分区信息文件,完成各分区文件系统挂载;
需要说明的是,由于步骤103已经将分区以及分区对应文件系统记录到分区信息文件当中,因此linux分区挂载脚本解析该分区信息文件,就能找到该分区使用的文件系统类型,进而能根据不同的文件系统类型完成不同文件系统的差异化挂载。
需要说明的是,本申请的技术方案相比于现有技术而言,使nand flash使用不同文件系统类型时,通过在引导程序中配置分区对应的文件系统类型,在内核中根据解析引导程序配置获取分区对应文件系统,来完成不同文件系统针对坏块的差异化处理,使nandflash使用不同文件系统对于坏块的处理通用性更强。解决了现有技术使用nand flash挂载不同类型文件系统,对于坏块处理方案通用性不强的问题。
此外,现有技术做分区挂载时需要在分区挂载脚本中固定分区挂载命令,也就意味着如果分区切换文件系统,就需要修改分区挂载脚本。而本申请脚本会自动解析分区初始化时获取生成的分区信息获取分区使用的文件系统类型,进而完成对各个分区文件系统的正常挂载。本提案解决了现有技术方案分区文件系统调整时需要同步修改分区挂载脚本的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种分区访问方式的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的分区访问方式的确定装置的结构框图,该装置包括:
获取模块42,用于在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对目标存储介质进行分区的参数;
第一确定模块44,用于根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;
第二确定模块46,用于根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
通过上述装置,在系统内核初始化阶段,可以通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,进而根据每个分区的文件系统类型确定每个分区对应的文件系统是否具备目标能力(目标能力包括处理损坏的存储块的能力),进而根据每个分区对应的文件系统是否具备目标能力来确定每个分区的分区访问方式,以通过确定的分区访问方式完成不同文件系统针对坏块的差异化处理,使得系统内核在目标存储介质上使用不同文件系统对坏块的处理的通用性更强,解决了系统内核在存储介质上针对不同文件系统类型的坏块处理不通用的问题。
在一个示例性的实施例中,第二确定模块46,还用于在第一分区对应的第一文件系统具备目标能力的情况下,将所述第一文件系统的分区访问方式确定为所述第一分区的分区访问方式;在第二分区对应的第二文件系统不具备目标能力的情况下,构建所述第二分区的目标表,并根据所述目标表确定所述第二分区的分区访问方式,其中,所述目标表中记载了所述第二分区中目标存储块,所述目标存储块为无损坏的存储块。
在一个示例性的实施例中,上述第二确定模块46包括:构建单元,用于确定所述第二分区中每个目标存储块以及所述每个目标存储块在所述第二分区中的物理地址;为所述每个目标存储块分配逻辑地址,并通过所述第二分区中每个目标存储块的逻辑地址和物理地址构建所述第二分区的目标表,其中,所述目标表中还记载了所述每个目标存储块的逻辑地址与物理地址的对应关系。
在一个示例性的实施例中,上述第二确定模块46包括:确定单元,用于将所述第二文件系统根据所述目标表访问所述第二分区的方式确定为所述第二分区的分区访问方式;其中,所述第二文件系统根据所述目标表访问所述第二分区包括:所述第二文件系统仅访问所述目标表中记录的所述目标存储块。
在一个示例性的实施例中,上述装置还包括写入模块,用于通过系统分区初始化程序从分区参数中获取目标存储介质中每个分区对应的文件系统类型之后,将所述每个分区对应的文件系统类型写入分区信息文件中,其中,所述分区信息文件用于存储所述目标存储介质的分区信息。
在一个示例性的实施例中,上述装置还包括:挂载模块,用于根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式之后,通过系统分区挂载脚本解析所述分区信息文件,确定所述每个分区对应的文件系统类型以及对应的分区设备;根据所述每个分区对应的文件系统类型对所述每个分区对应的分区设备进行文件系统挂载。
在一个示例性的实施例中,上述挂载模块,还用于根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统的挂载参数;根据所述每个分区对应的文件系统的挂载参数对所述每个分区对应的分区设备进行文件系统挂载。
在一个示例性的实施例中,上述装置还包括,配置模块,用于通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型之前,在系统内核引导阶段,通过系统内核引导程序配置所述分区参数,其中,所述分区参数至少包括:所述每个分区对应的文件系统类型。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对所述目标存储介质进行分区的参数;
S2,根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;
S3,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对所述目标存储介质进行分区的参数;
S2,根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;
S3,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分区访问方式的确定方法,其特征在于,包括:
在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对所述目标存储介质进行分区的参数;
根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;
根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
2.根据权利要求1所述的方法,其特征在于,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式,包括:
在第一分区对应的第一文件系统具备所述目标能力的情况下,将所述第一文件系统的分区访问方式确定为所述第一分区的分区访问方式;
在第二分区对应的第二文件系统不具备所述目标能力的情况下,构建所述第二分区的目标表,并根据所述目标表确定所述第二分区的分区访问方式,其中,所述目标表中记载了所述第二分区中目标存储块,所述目标存储块为无损坏的存储块。
3.根据权利要求2所述的方法,其特征在于,构建所述第二分区的目标表,包括:
确定所述第二分区中每个目标存储块以及所述每个目标存储块在所述第二分区中的物理地址;
为所述每个目标存储块分配逻辑地址,通过所述第二分区中每个目标存储块的逻辑地址和物理地址构建所述第二分区的目标表,其中,所述目标表中还记载了所述每个目标存储块的逻辑地址与物理地址的对应关系。
4.根据权利要求2所述的方法,其特征在于,根据所述目标表确定所述第二分区的分区访问方式,包括:
将所述第二文件系统根据所述目标表访问所述第二分区的方式确定为所述第二分区的分区访问方式;
其中,所述第二文件系统根据所述目标表访问所述第二分区包括:所述第二文件系统仅访问所述目标表中记录的所述目标存储块。
5.根据权利要求1所述的方法,其特征在于,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型之后,所述方法还包括:
将所述每个分区对应的文件系统类型写入分区信息文件中,其中,所述分区信息文件用于存储所述目标存储介质的分区信息。
6.根据权利要求5所述的方法,其特征在于,根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式之后,所述方法还包括:通过系统分区挂载脚本解析所述分区信息文件,确定所述每个分区对应的文件系统类型以及对应的分区设备;
根据所述每个分区对应的文件系统类型将所述每个分区设备按照对应的文件系统类型进行挂载。
7.根据权利要求1所述的方法,其特征在于,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型之前,所述方法还包括:
在系统内核引导阶段,通过系统内核引导程序配置所述分区参数,其中,所述分区参数至少包括:所述每个分区对应的文件系统类型。
8.一种分区访问方式的确定装置,其特征在于,包括:
获取模块,用于在系统内核初始化阶段,通过系统分区初始化程序从分区参数中获取目标存储介质中的每个分区对应的文件系统类型,其中,所述分区参数是用于对目标存储介质进行分区的参数;
第一确定模块,用于根据所述每个分区对应的文件系统类型确定所述每个分区对应的文件系统是否具备目标能力,其中,所述目标能力包括处理损坏的存储块的能力;
第二确定模块,用于根据所述每个分区对应的文件系统是否具备目标能力确定所述每个分区的分区访问方式。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310637884.0A CN116627340A (zh) | 2023-05-31 | 2023-05-31 | 分区访问方式的确定方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310637884.0A CN116627340A (zh) | 2023-05-31 | 2023-05-31 | 分区访问方式的确定方法及装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627340A true CN116627340A (zh) | 2023-08-22 |
Family
ID=87616811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310637884.0A Pending CN116627340A (zh) | 2023-05-31 | 2023-05-31 | 分区访问方式的确定方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627340A (zh) |
-
2023
- 2023-05-31 CN CN202310637884.0A patent/CN116627340A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101278787B1 (ko) | Sas 제어기 장치, phy 구성 방법 및 phy 재구성 방법 | |
US9720678B2 (en) | Network switching method, version upgrade method, and terminal device | |
CN112131099B (zh) | 一种版本升级测试方法及装置 | |
CN107678836B (zh) | 集群的测试数据获取方法及装置 | |
CN111782339B (zh) | 一种容器创建方法、装置、电子设备及存储介质 | |
US11528186B2 (en) | Automated initialization of bare metal servers | |
CN109144532B (zh) | 升级方法及装置 | |
CN113312064B (zh) | 物理机的安装配置方法、装置以及计算机可读介质 | |
CN110556155B (zh) | 无盘启动的ssd产品测试方法、装置及计算机设备 | |
CN112015408A (zh) | 组件渲染方法、装置、存储介质及电子装置 | |
CN110569053A (zh) | 电子设备中应用芯片的升级方法及电子设备 | |
CN110286932A (zh) | 一种程序下载方法及装置 | |
CN112596768A (zh) | 设备的更新方法和装置、存储介质、电子装置 | |
US11321109B2 (en) | Container engine for selecting driver based on container metadata | |
CN111372027A (zh) | 视频文件的存储方法及装置、存储介质、电子装置 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN113885971A (zh) | 一种基于自适应平台系统的状态管理方法及装置 | |
CN113452556A (zh) | 产品技能的配置方法、装置、存储介质及电子装置 | |
CN116627340A (zh) | 分区访问方式的确定方法及装置、存储介质及电子装置 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN114675926A (zh) | 虚拟机属性变更方法和装置、存储介质和电子装置 | |
CN111427603B (zh) | 应用程序的升级方法及装置 | |
CN113472611A (zh) | 获取WiFi信号强度的方法、装置及可读存储介质 | |
CN113918423A (zh) | 云平台监控方法、装置及其应用 | |
CN107608809B (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 |