CN116774909A - 写入数据分区的方法和电子设备 - Google Patents
写入数据分区的方法和电子设备 Download PDFInfo
- Publication number
- CN116774909A CN116774909A CN202210238852.9A CN202210238852A CN116774909A CN 116774909 A CN116774909 A CN 116774909A CN 202210238852 A CN202210238852 A CN 202210238852A CN 116774909 A CN116774909 A CN 116774909A
- Authority
- CN
- China
- Prior art keywords
- target
- file
- block
- target file
- 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
Links
- 238000005192 partition Methods 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000015654 memory Effects 0.000 claims abstract description 91
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 abstract description 85
- 230000006870 function Effects 0.000 abstract description 16
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种写入数据分区的方法和电子设备,该方法包括:在第一模式下,创建第一目标文件;获取第一目标文件对应的块的第一信息;在第二模式下,在内存文件系统中申请与第一目标文件相同大小的内存空间,并将第二目标文件保存在内存空间中;根据第一信息在第一目标文件对应的第一个块中写入标识信息,并将第二目标文件依次写入第一目标文件对应的块中;在第一模式下,确定第一目标文件对应的第一个块中是否存在标识信息;在确定第一目标文件对应的第一个块中存在标识信息时,获取第二目标文件;将第二目标文件保存在数据分区中。该技术方案可以实现在恢复模式下写入文件,以供正常模式读取,从而可以实现系统升级或提供测试功能等。
Description
技术领域
本申请实施例涉及电子技术领域,并且更具体地,涉及一种写入数据分区的方法和电子设备。
背景技术
在电子设备的数据(data)分区中的数据安全保护中,可以使用基于文件加密(file based encryption,FBE)的方式,在FBE的加密方式下,可以选择对文件或文件夹进行加密,但不会对文件的元数据部分进行加密。
在FBE加密的基础上,为了进一步保护数据安全,可以采用基于元数据加密(metadata encryption,ME)的方式,在ME的加密方式下,会对FBE加密方式下未加密的文件的块(block)进行一次加密,此时,存储在data分区中的数据都是加密的。
在ME的加密方式下,data分区中的所有block均为密文,这在一定程度上保护了用户的数据安全。然而,该ME的加密方式带来的一个问题是,电子设备在恢复(recovery)模式下,recovery服务无法获取data分区中原先未加密但此时已加密的block的密钥,导致recovery模式下,无法读取该部分block,也即无法读取原先的非加密文件,从而会影响用户在recovery模式中获取信息的能力。
发明内容
本申请实施例提供了一种写入数据分区的方法和电子设备,该技术方案以期实现在另一模式下写入文件,以供正常模式读取。
第一方面,提供了一种写入数据分区的方法,所述方法应用于电子设备,所述方法包括:所述电子设备在第一模式下,创建第一目标文件,所述第一目标文件对应的块中的数据为零;所述电子设备获取所述第一目标文件对应的块的第一信息;所述电子设备在第二模式下,在内存文件系统中申请与所述第一目标文件相同大小的内存空间,并将第二目标文件保存在所述内存空间中;所述电子设备根据所述第一信息在所述第一目标文件对应的第一个块中写入标识信息,并将所述第二目标文件依次写入所述第一目标文件对应的块中;所述电子设备在第一模式下,确定所述第一目标文件对应的第一个块中是否存在所述标识信息;在确定所述第一目标文件对应的第一个块中存在所述标识信息时,所述电子设备获取所述第二目标文件;所述电子设备将所述第二目标文件保存在数据分区中。
该第一目标文件可以为预设大小数据为全零的文件,可以和用户希望写入的文件大小相关,例如,大于或等于用户希望写入的文件大小,该第二目标文件为用户希望写入的文件。
该第一信息可以是该第一目标文件对应的块(block)的分布的信息,如map信息,还可以是对应的块的地址信息等等。
应理解,该第一模式可以是正常模式,该第二模式可以是recovery模式,响应于用户的操作,电子设备可以在第一模式和第二模式之间进行切换,并写入文件以实现某些功能,如系统升级、提供测试功能等等。
在本申请实施例中,电子设备在第一模式下可以创建第一目标文件,并记录下该第一目标文件对应的块的第一信息,电子设备在第二模式下在内存文件系统中申请与该第一目标文件相同大小的内存空间,将希望写入的第二目标文件存入该内存空间中,之后根据该第一信息将内存空间中的第二目标文件写入第一目标文件对应的块中,电子设备在第一模式下读取该第一目标文件对应的块以获取第二目标文件,并将该第二目标文件保存至数据分区中。该技术方案可以实现在recovery模式下写入新的文件,以供正常模式进行读取,从而可以实现系统升级或提供测试功能等。
结合第一方面,在第一方面的一种实现方式中,所述电子设备将所述第二目标文件保存在数据分区中,包括:将所述第二目标文件写入内存文件系统中;将内存文件系统中的第二目标文件保存在数据分区中。
在本申请实施例中,电子设备将该第二目标文件写入内存文件系统中,然后将内存文件系统中的第二目标文件保存在数据分区中,从而使得数据分区的文件既可以包括文件数据部分又可以包括创建时间、修改时间等元数据部分,从而用户可以全面的了解该文件的信息。
结合第一方面,在第一方面的一种实现方式中,所述内存文件系统中的第二目标文件包括所述第二目标文件的文件数据部分和元数据部分。
示例性地,该元数据部分可以包括文件的创建时间、修改时间、文件大小等等信息。
在本申请实施例中,该第二目标文件既包括文件数据部分又包括元数据部分,从而用户可以全面的了解该文件的信息。
结合第一方面,在第一方面的一种实现方式中,所述在确定所述第一目标文件对应的第一个块中存在所述标识信息时,所述电子设备获取所述第二目标文件,包括:所述电子设备依次读取所述第一目标文件对应的块,以获取所述第二目标文件。
结合第一方面,在第一方面的一种实现方式中,所述方法还包括:所述电子设备将所述第一目标文件对应的块中的数据清零。
示例性地,该电子设备可以将第一目标文件对应的块的数据全部填零或者全OXFF,从而实现数据清零。
在本申请实施例中,通过将第一目标文件对应的块中的数据清零,可以节省电子设备的磁盘空间。
结合第一方面,在第一方面的一种实现方式中,所述第一信息存储在缓存分区中。
在本申请实施例中,通过将电子设备在第一模式下将该第一信息存储在缓存分区(cache)中,从而有利于电子设备在第二模式下从该缓存分区中获取该第一信息,进而根据该第一信息在块中写入文件。
第二方面,提供了一种写入数据分区的方法,所述方法应用于电子设备,所述方法包括:所述电子设备在第一次进入第一模式时,创建第三目标文件,所述第三目标文件对应的第一目标块包括标识信息;所述电子设备在第二模式下,在确定所述第一目标块中存在所述标识信息时,获取第二目标块的地址,其中,所述第二目标块为数据为零的块,所述第二目标块用于保存第四目标文件;所述电子设备根据所述第四目标文件的大小确定所述第二目标块的地址是否能够全部存储在所述第一目标块中;在所述电子设备确定所述第二目标块的地址能够全部存储在所述第一目标块中时,将所述第二目标块的地址写入所述第一目标块中;所述电子设备将内存文件系统中的所述第四目标文件写入所述第二目标块中;所述电子设备在第一模式下,读取所述第一目标块,获取所述第二目标块的地址;所述电子设备根据所述第二目标块的地址读取所述第二目标块,获取所述第四目标文件;所述电子设备将所述第四目标文件保存在数据分区中。
该第三目标文件为预设大小的文件,例如,大小为4KB,即占用一个块。该第四目标文件为用户希望写入的文件。
该标识信息可以是任何起到标识作用的信息,例如,可以是一组字符串。
在本申请实施例中,电子设备在第一次进入第一模式时,创建一个预设大小的第三目标文件,该文件对应的第一目标块中可以包括标识信息,该电子设备在第二模式下,在确定第一目标块中存在标识信息时,获取数据为零的第二目标块的地址,该电子设备根据需要写入的第四目标文件的大小确定第二目标块的地址是否能够全部存储在所述第一目标块中,在确定第二目标块的地址能够全部存储在第一目标块中时,将第二目标块的地址写入第一目标块中,之后将第四目标文件写入第二目标块中,该电子设备在第一模式下获取该第二目标块的地址,进一步访问该第二目标块的地址获取第四目标文件,并将该第四目标文件保存在数据分区中。该技术方案中,电子设备只需在第一次进入正常模式时创建一个预设大小的文件,就可以直接在recovery模式下获取到可用的块,以写入文件,供正常模式读取,避免了电子设备每次希望在recovery模式下写入文件时,都需要预先从正常模式下创建文件;进一步地,电子设备在正常模式下读取的文件,既包括文件数据部分,又包括该文件的元数据部分,从而有利于用户具体全面的了解recovery模式下写入的文件。
结合第二方面,在第二方面的一种实现方式中,所述方法还包括:
在所述电子设备确定所述第二目标块的地址不能够全部存储在所述第一目标块中时,将所述第二目标块中用于存储地址的地址块的地址写入所述第一目标块中,其中,所述地址块用于存储所述第二目标块中存储所述第四目标文件的块的地址;所述电子设备将内存文件系统中的所述第四目标文件写入所述第二目标块中用于存储数据的数据块中;所述电子设备在第一模式下,读取所述第一目标块,获取所述地址块的地址;所述电子设备根据所述地址块的地址读取所述地址块,获取所述数据块的地址;所述电子设备根据所述数据块的地址读取所述数据块,获取所述第四目标文件;所述电子设备将所述第四目标文件保存在数据分区中。
在本申请实施例中,当recovery模式下写入的文件较大时,可以通过多个未使用的block存储其他block的地址,使得recovery模式下写入的文件对应的block的地址可以完全存储,可以保证用户在recovery模式下写入的文件可以在正常模式下顺利读取。
结合第二方面,在第二方面的一种实现方式中,所述电子设备将所述第四目标文件保存在数据分区中,包括:将所述第四目标文件写入内存文件系统中;将内存文件系统中的第四目标文件保存在数据分区中。
在本申请实施例中,电子设备将该第四目标文件写入内存文件系统中,然后将内存文件系统中的第四目标文件保存在数据分区中,从而使得数据分区的文件既可以包括文件数据部分又可以包括创建时间、修改时间等元数据部分,从而用户可以全面的了解该文件的信息。
结合第二方面,在第二方面的一种实现方式中,所述内存文件系统中的第四目标文件包括所述第四目标文件的文件数据部分和元数据部分。
示例性地,该元数据部分可以包括文件的创建时间、修改时间、文件大小等等信息。
在本申请实施例中,该第四目标文件既包括文件数据部分又包括元数据部分,从而用户可以全面的了解该文件的信息。
结合第二方面,在第二方面的一种实现方式中,所述方法还包括:所述电子设备将所述第一目标块和所述第二目标块中的数据清零。
在本申请实施例中,通过将第一目标块和第二目标块中的数据清零,可以释放第一目标块和第二目标块的空间,从而可以节省电子设备的磁盘空间。
第三方面,提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被一个或多个处理器执行时,使得如第一方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第四方面,提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被一个或多个处理器执行时,使得如第二方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第五方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如第一方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第六方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如第二方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得如第一方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得如第二方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第九方面,提供了一种计算机程序产品,包括计算机指令,当所述计算机指令在计算机上运行时,使得如第一方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
第十方面,提供了一种计算机程序产品,包括计算机指令,当所述计算机指令在计算机上运行时,使得如第二方面及其任一种可能的实现方式中所述的写入数据分区的方法被执行。
附图说明
图1是本申请实施例提供的一种基于文件加密的示意图。
图2是本申请实施例提供的一种基于元数据加密的示意图。
图3是本申请实施例提供的一种访问文件方法的示意性流程图。
图4是本申请实施例提供的一种写入数据分区的方法的示意性流程图。
图5是本申请实施例提供的另一种写入数据分区的方法的示意性流程图。
图6是本申请实施例提供的一种block中存储其他的block的地址的示意图。
图7是本申请实施例提供的一种写入数据分区的方法的示意性流程图。
图8是本申请实施例提供的另一种写入数据分区的方法的示意性流程图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的写入数据分区的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、电视、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
在介绍本申请实施例的技术方案之前,首先对本申请涉及的一些专业术语做简单的介绍。
正常模式:可以正常使用的模式。例如,在电子设备正常开机后,在该模式下,用户可以正常使用电子设备上网、打电话等等。
恢复(recovery)模式:电子设备提供的一种可以对电子设备内部的数据或系统进行修改的模式,也称为工程模式。例如,在recovery模式下,可以访问指定文件,或者,可以写文件以供正常模式读取。
数据分区:用于存放用户使用设备过程中,新生成的数据,例如应用APP运行过程产生的文件,用户从网络新下载的文件等等,data分区具有读写属性,可以被修改。
缓存(cache)分区:系统缓存区,可以用于保存系统最常访问的数据和应用程序。例如,可以用于存放文件的block信息。
块:是文件系统的基本操作单位,也可以称为数据块,一个block的大小一般为4千字节(kilobyte,KB)。例如,该block中可以用于存储数据。
元数据:用于表征文件数据的数据,例如,可以是目录布局、文件大小、权限和创建/修改时间等。
明文:指的是没有经过加密的信息或数据。
密文:指的是经过加密的信息或数据。
虚拟内存盘(ramdisk):是通过软件将一部分内存(ram)模拟为硬盘来使用的一种技术。相对于直接的硬盘文件访问来说,这种技术可以极大的提高在其上进行的文件访问的速度。
文件系统:是一种存储和组织数据的方法,它使得对其存取和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需知道这个文件的所属目录和文件名即可。
下面结合图1-图2介绍两种数据加密的方式。
图1是本申请实施例提供的一种基于文件加密的示意图。如图1所示,在安卓(Android)的一些版本中,对于data分区的数据安全保护机制是FBE的方式,在这种加密方式下,可以选择对文件或文件夹进行加密。
参见图1,上层应用/服务110可以通过文件系统120的应用程序接口(API)访问文件系统120,从而可以对文件系统120中的文件或文件夹执行加密操作。
文件系统120中显示的文件对应的数据实际存储的位置在data分区130中,示例性地,文件1对应的数据存储在data分区130中的block1和block2中,文件2对应的数据存储在block3和block4中,文件3对应的数据存储在block5和block6中。
当对文件1执行加密操作时,文件系统通过输入/输出(input/output,I/O)接口对文件1对应的数据实际存储的block1和block2执行加密,相应的,该block1和block2变为密文。当未对文件2执行加密操作时,则该文件2对应的数据实际存储的block3和block4为明文。当文件3为一个文件的文件大小、权限、创建/修改时间等元数据时,在FBE的加密方式下,该元数据的文件或文件夹不会被加密,相应的,其对应的block5和block6不会被加密,即该block5和block6为明文。
可以理解的是,该文件系统120中还可以包括更多文件或文件夹,本申请实施例不予限定。
应理解,该block1和block2在data分区中的位置可以是连续的,也可以是不连续的;block3和block4在data分区中的位置可以是连续的,也可以是不连续的;block5和block6在data分区中的位置可以是连续的,也可以是不连续的,本申请实施例对此不予限定。
应理解,该data分区可以承载于存储芯片、磁盘中等,该存储芯片可以是固态硬盘、电子设备内存、U盘等,该磁盘可以是电脑硬盘、移动硬盘等。
可知,在FBE的加密方式下,元数据部分在data分区130是以明文方式保存的,在这种情况下,该元数据存在被篡改的风险,对于用户的信息安全带来一定的安全隐患。因此,为了降低元数据被篡改的风险,引入了基于ME的加密方式。
图2是本申请实施例提供的一种基于元数据加密的示意图。如图2所示,在ME的加密方式下,可以对FBE加密方式下未加密的文件和元数据部分进行加密,在这种情况下,保存在data分区中的数据均为密文。
示例性地,文件系统220中的文件1对应的数据存储在data分区230中的block1和block2中,文件2对应的数据存储在block3和block4中,文件3对应的数据(元数据)存储在block5和block6中。
在一些实施例中,上层应用/服务210仍可以选择对指定文件或文件夹进行加密,例如,使用密钥A对文件1进行加密,则该文件1对应的数据实际存储的block1和block2为密文。此时,尽管未对文件2和文件3进行加密操作,但在ME的加密方式下,会对data分区230中FBE未加密的文件对应的block和元数据对应的block进行一次加密,对于已经加密的block1和block2不进行二次加密。例如,使用密钥B对文件2和文件3对应的block3、block4、block5、block6执行加密,则block3、block4、block5、block6均为密文。
可知,在ME的加密方式下,data分区230中的所有block均为密文,这在一定程度上保护了用户的数据安全。然而,该ME的加密方式带来的一个问题是,在recovery模式下,recovery服务无法获取data分区中原先未加密但此时已加密的block的密钥(如上述密钥B),导致recovery模式下,无法读取该部分block,也即无法读取原先的非加密文件,从而会影响用户在recovery模式中获取信息的能力,例如recovery模式下,进行空间下载技术(over the air technology,OTA)升级,需要将升级包下载下来完成软件版本更新,在ME的加密方式下,recovery无法获取该升级包,无法完成OTA升级。
为了解决在recovery模式下无法读取文件的问题,图3提供了一种访问文件的方法,可以让recovery模式以只读方式访问data分区中的指定文件对应的block。
图3是本申请实施例提供的一种访问文件方法的示意性流程图。如图3所示,该方法可以包括步骤310至步骤305。
301,在正常模式下,上层应用/服务指定recovery模式能够访问的目标文件。
示例性地,在正常模式下,上层应用/服务可以指定文件A能够让recovery模式访问,该文件A为可以为明文,也可以为密文。
302,上层应用/服务通过API接口从文件系统中获取目标文件明文。
应理解,在正常模式下,无论目标文件是明文还是密文,上层应用/服务均可以获取到该目标文件明文。
303,上层应用/服务从存储芯片中获取目标文件对应的block的信息。
示例性地,该block的信息可以是目标文件存放的block的地址、block的数量等等。
304,上层应用/服务将目标文件明文写入原block,并记录block的信息,将所有的块的信息存入缓存分区。
例如,上层应用/服务调用存储芯片的I/O接口,直接将目标文件明文写入原block,当目标文件较大时,可能会占用多个block,当具有多个block时,可以将该多个block的信息存储缓存分区中,例如,该多个block的地址可以组成一个block的信息表,可以将该block的信息表存入缓存分区中。
此时,将目标文件明文写入原block后,block会从密文变成明文。
应理解,该步骤301至步骤304均属于在正常模式下的执行步骤。
305,在recovery模式下,recovery服务从缓存分区中获取目标文件对应的所有的block的信息,并根据该目标文件对应的所有的block的信息读取block,以获取目标文件明文。
应理解,电子设备可以在正常模式和recovery模式之间进行切换,例如,电子设备正常开机时,可以理解为该电子设备处于正常模式。
从正常模式切换为recovery模式可以包容如下几种方式:
方式一、将电子设备关机后,同时按住音量加键(或减键)和开机键,持续几秒钟的时间(如5-9秒),即可进行recovery模式。
方式二:将电子设备关机后,同时按住音量加键(或减键)、开机键和home键,持续几秒钟的时间(如5-9秒),即可进行recovery模式。
方式三:将电子设备关机后,同时按住音量加键(或减键)和开机键直至进入recovery模式。
方式四:将电子设备关机后,同时按住音量加键(或减键)、开机键和home键直至进入recovery模式。
相应的,在方式一至方式四中,从recovery模式中可以选择重启系统以进入正常模式。
方式五:电子设备内部设置有recovery模式的功能按钮,当在正常模式下,点击该recovery模式的功能按钮后,可以进行recovery模式。
相应的,在方式五中,可以选择退出按钮,以进入正常模式,或者选择重启系统以进入正常模式。
应理解,该正常模式与recovery模式之间的切换方式还可以有其他方式,本申请实施例不予限定。
该方法中,recovery模式以只读方式访问data分区中的指定文件对应的block,但是该技术方案中只能在正常模式下写入指定文件,recovery模式读取,无法做到在recovery模式下写入指定文件,供正常模式读取。
有鉴于此,本申请实施例提供一种写入数据分区的方法和电子设备,该技术方案能够实现在recovery模式下写入指定文件,以供正常模式读取。
本申请实施例中,以第一模式是电子设备的正常模式,第二模式是电子设备的recovery模式为例进行说明。
图4是本申请实施例提供的一种写入数据分区的方法的示意性流程图。如图4所示,该方法400可以包括步骤401至步骤407。
401,在第一模式下,在文件系统中创建一个预设大小的第一目标文件,该第一目标文件对应的block中的数据为0。
示例性地,电子设备处于第一模式下,在用户的操作下,应用/服务在文件系统中创建一个大小为40KB的文件A,当一个block的大小为4KB时,则对该文件A对应的10个block中的数据全部填0。
在一些实施例中,一个block的大小也可以为其他值,例如,为8KB,本申请实施例对该一个block的大小不予限定。
402,获取第一目标文件对应block的第一信息,并将该第一信息写入缓存分区中。
其中,该第一信息可以是该block的分布的信息,例如,可以是map信息,通过该map信息可以获取第一目标文件对应的block的分布,如每个block在数据分区中存储的地址,或者,当第一目标文件对应的block连续分布时,该map信息也可以是第一个block的地址和最后一个block的地址,或者还包括block的数量。
可以理解的是,该步骤402中,电子设备仍处于第一模式下。
403,在第二模式下,在内存文件系统(ramdisk)中申请和第一目标文件相同大小的内存空间,将第二目标文件预存在该内存空间中。
例如,电子设备在recovery模式下,响应于用户的操作,recovery服务在ramdisk中申请和第一目标文件大小相同的内存空间,并将该第二目标文件预存在该内存空间中,此时,该内存空间中不仅存储有第二目标文件实际包含的文件数据,也存储有第二目标文件的元数据,如该第二目标文件的目录、数据大小、创建时间等。
其中,该第二目标文件为用户希望在recovery模式下写入的文件,该第二目标文件的大小可以和第一目标文件的大小相同,或者,该第二目标文件的大小小于第一目标文件的大小。
应理解,在步骤403之前,电子设备可以从第一模式切换为第二模式,或者,在该步骤403中,电子设备可以从第一模式切换为第二模式,其切换方式可以参见前文中的相关描述。
404,从缓存分区中获取第一信息,根据第一信息在第一个block写入标识信息,并将内存空间中的第二目标文件依次写入block中。
其中,该标识信息可以任何用于起到标识作用的信息,例如,该标识信息可以是一组字符串,如0XABCDABCD,或者该标识信息为一种指示信息,该指示信息用于指示用户在recovery模式下在该block中写入了内容。
示例性地,响应于用户的操作,recovery服务从缓存分区中获取第一信息,从而可以根据该第一信息获取到第一目标文件对应的所有block,然后在第一个block中写入标识信息,如0XABCDABCD,并将第二目标文件依次写入获取的block中。具体地,该第一目标文件对应的block的数量为10个,分别为block1、block2、……、block10,recovery服务可以在block1中写入标识信息,并将第二目标文件依次写入block1的剩余空间以及block 2至block10中。
可以理解的是,该步骤404中,电子设备仍处于第二模式下。
405,在第一模式下,读取第一目标文件对应的第一个block,确定是否存在标识信息。
在一种可能的实现方式中,响应于用户的操作,电子设备读取第一目标文件对应的第一个block,确定该第一个block中存在标识信息时,则表示用户在recovery模式下在第一目标文件对应的block中写入了文件,则电子设备可以继续执行步骤406。
在另一种可能的实现方式中,响应于用户的操作,电子设备读取第一目标文件对应的第一个block,确定该第一个block中不存在标识信息时,则表示用户在recovery模式下未写入文件。
可以理解的是,在步骤405之前,电子设备可以从第二模式切换为第一模式,或者,在该步骤405中,电子设备可以从第二模式切换为第一模式,其切换方式可以参见前文中的相关描述。
406,在确定存在标识信息时,依次读取第一目标文件对应的block,以获取第二目标文件,并将第二目标文件写入内存文件系统中。
示例性地,该第一目标文件对应的block的数量为10个,分别为block1、block2、……、block10,recovery服务在第一目标文件对应的第一个block(即block1)中写入标识信息,并将第二目标文件依次写入block1至block10中(block1中既包括标识信息还包括第二目标文件的部分数据),则电子设备在确定第一目标文件对应的第一个block中存在标识信息时,依次读取block1至block10,从而可以获取到该第二目标文件,并将该第二目标文件写入内存文件系统中(即将第二目标文件对应的内存以ramdisk方式进挂载)。
其中,电子设备将第二目标文件写入内存文件系统中的方式可以是:申请内存文件系统中的内存,将从block1至block10中读取的第二目标文件写入内存。
407,将内存文件系统中的第二目标文件保存至数据分区。
其中,该第二目标文件既包括第二目标文件本身的数据信息也包括该第二目标文件的创建时间、修改时间等元数据信息,从而有利于用户更具体全面的了解该第二目标文件。应理解,该第二目标文件可以是包括多层文件夹的文件,也可以是单个文件。
可选地,该方法400还可以包括步骤408,将第一目标文件对应的block的数据清零。
其中,将block中的数据清零的方法可以是将block中的数据清理为全零或者全0XFF。
该步骤408中,将第一目标文件对应的block的数据清零,从而可以降低数据分区中的数据存储,增加数据分区的存储空间。
可以理解的是,该步骤406至步骤408中,电子设备仍处于第一模式下。
基于本申请实施例,可以实现电子设备在正常模式下创建指定文件后,在recovery模式下,电子设备可以在该指定文件对应的block中写入文件,以供电子设备在正常模式下读取,例如,可以使得电子设备进行OTA升级;进一步地,电子设备在正常模式下读取的文件,既包括文件的数据部分,又包括该文件的元数据部分,从而有利于用户具体全面的了解recovery模式下写入的文件,例如,可以为电子设备提供一些测试能力。
然而,该技术方案中,电子设备需预先在正常模式下创建指定文件,recovery服务才可以写入文件,在一些情况下,用户希望电子设备能够直接在recovery模式下写入文件,供正常模式读取。下文将结合图5介绍电子设备可以直接在recovery模式下写入文件,供正常模式读取的技术方案。
图5是本申请实施例提供的另一种写入数据分区的方法的示意性流程图。如图5所示,该方法500可以包括步骤501至步骤508。
501,在第一次进入第一模式时,创建一个预设大小的目标文件,该目标文件对应的第一目标block包括标识信息。
其中,电子设备在第一次进入第一模式,可以理解为电子设备在第一次正常开机,进入正常模式。
该目标文件的大小可以是一个block的大小,如4KB。
该目标文件对应的第一目标block包括标识信息,可以理解为电子设备在创建目标文件后,将标识信息明文写入该第一目标block中,例如,该标识信息为0XABCDABCD,该目标文件对应的第一目标block为block1,则电子设备在创建目标文件后,将该标识信息0XABCDABCD直接写入目标文件对应的block1中。
可以理解的是,该目标文件可以尽量在电子设备第一次进入第一模式的较早的时间点进行创建,例如,在用户长按电源键开机时,创建该目标文件,从而该目标文件对应的第一block在数据分区中的位置比较靠前,从而可以缩短电子设备recovery模式下寻找该第一目标block的时间。
应理解,在其他的实施例中,电子设备也可以在第一模式下创建该目标文件,而无需考虑是在第几次进入该第一模式。
在一些实施例中,电子设备在第一次进入第一模式时,也可以创建预设大小的多个目标文件,该多个目标文件对应的第一目标block均包括标识信息,从而当recovery模式下需要接入的文件较大时,该多个目标文件对应的block能够存储更多的地址信息。
502,在第二模式下,获取第一目标block的地址和第二目标block的地址。
其中,该第二目标block为数据为全零或全0XFF的block,在这种情况下,代表该block没有在使用,该第二目标block可以包括一个block,也可以包括多个block。
例如,该第二目标block的数量可以和电子设备在recovery模式下需要写入的文件大小相关,当recovery模式下需要写入的文件较大时,该第二目标block的数量可以为多个。
可以理解的是,电子设备可以通过扫描数据分区,从而可以获取该第一目标block在数据分区中的地址和第二目标block在数据分区中的地址。
可以理解的是,在步骤502之前,电子设备可以从第一模式切换为第二模式,或者,在该步骤502中,电子设备可以从第一模式切换为第二模式,其切换方式可以参见前文中的相关描述。
503,将第二目标block的地址写入第一目标block中。
该步骤503中,电子设备将数据为全0或全0XFF的block的地址写入第一目标block中,即该第一目标block中用于存储数据为全0或全0XFF的block的地址信息,从而当电子设备读取该第一目标block时,可以获取到第二目标block的地址,进一步地,可以根据第二目标block的地址读取该第二目标block。
在另一些实施例中,当第二目标block中包括的block的数量较多,其地址在该第一目标block中不能完全存储时,可以用第二目标block中的部分block存储其他block的地址,而该存储其他block的地址的块的地址存储在第一目标block中,例如,使用第二目标block中的block 1和block 2存储其他block的地址。从而电子设备读取第一目标block可以获取到block 1和block 2的地址,并可以进一步读取block 1和block 2的内容,从而可以获取其他block的地址,并进一步获取其中的数据。
下文将结合具体实施例介绍第一目标block中存储block的地址的技术方案,此处暂不详述。
在另一些实施例中,当第二目标block中包括的block的数量较多,其地址在该第一目标block中不能完全存储时,可以将第一目标block存储不下的block的地址依次存储在第二目标block包括的block中。
例如,该第二目标block包括n个block,分别为block1、block2、……、blockn,电子设备依次获取该block1、block2、……、blockn的地址,并将该地址存储至第一目标block中,然而,该第一目标block仅能够存储block 1至block m的地址,则电子设备可以将blockm+1至block n的地址存储在block 1中,如果block 1中也不能够完全存储下,则将余下的block的地址依次存储在block2、block3、……中,直至将n个block的地址完全存储。
504,将第三目标文件明文保存在内存文件系统中,将内存文件系统中的第三目标文件写入第二目标block中。
其中,该第三目标文件为recovery模式下需要写入的文件,电子设备可以在内存文件系统中申请内存空间,并将该第三目标文件保存在内存文件系统中,此时,该内存文件系统中可以既包括第三目标文件的数据部分,又可以包括该第三目标文件的元数据部分。
在另一些实施例中,如前所述,当第三目标文件的大小较大时,第二目标block中的部分block可能用于存储其他block的地址,此时,用于存储地址的block中不存储第三目标文件。
应理解,该步骤503至步骤504中,电子设备仍处于第二模式下。
505,在第一模式下,读取第一目标block,获取第二目标block的地址。
示例性地,电子设备从第二模式切换为第一模式,并访问目标文件对应的第一目标block的地址,进而读取该第一目标block,此时,可以获取到标识信息和第二目标block的地址。
可以理解的是,在步骤505之前,电子设备可以从第二模式切换为第一模式,或者,在该步骤505中,电子设备可以从第二模式切换为第一模式,其切换方式可以参见前文中的相关描述。
可选地,在其他的实施例中,当第三目标文件的大小较大时,第二目标block中的部分block可能用于存储其他block的地址,则在该步骤505中,电子设备可以读取该第一目标block,获取到第二目标block的地址,当进一步读取第二目标block时,可以获取其他block的地址。
506,根据第二目标block的地址读取第二目标block,以获取第三目标文件,将第三目标文件写入内存文件系统中。
具体地,电子设备可以根据从第一目标block中获取的第二目标block的地址,依次读取第二目标block,从而可以获取到第三目标文件,并将该第三目标文件写入内存文件系统中(即将第三目标文件对应的内存以ramdisk方式进挂载)。
507,将内存文件系统中的第三目标文件保存至数据分区。
其中,该第三目标文件中既包括第三目标文件的内容,又可以包括该第三目标文件的元数据部分,从而该数据分区中保存的recovery模式下写入的第三目标文件包括数据和元数据,有利于用户更全面具体的了解该第三目标文件。
可选地,该方法500还可以包括步骤508,将第一目标block和第二目标block中的数据清零。
该步骤508中,可以通过将第一目标block和第二目标block中的数据清理为全零或者全0XFF,从而可以将第一目标block和第二目标block中的数据清零,以降低数据分区中的数据存储,增加数据分区的存储空间。
基于本申请实施例,电子设备只需在第一次进入正常模式之后,就可以直接在recovery模式下获取到可用的block,以写入文件,供正常模式读取,避免了电子设备每次希望在recovery模式下写入文件时,都需要预先从正常模式下创建文件;进一步地,电子设备在正常模式下读取的文件,既包括文件数据部分,又包括该文件的元数据部分,从而有利于用户具体全面的了解recovery模式下写入的文件。
当recovery模式下需要写入的文件占用空间较大时,第一目标block中可以存储有第二目标block中的多个存储地址的block的地址。
图6是本申请实施例提供的一种block中存储其他的block的地址的示意图。如图6所示,该第一目标block包括标识信息和地址信息,地址信息用于指示第二目标block中用于存储地址的block的地址。
例如,该地址信息包括第二目标block中用于存储地址的block 1的地址、block 2的地址等等,而block 1中存储有用于存储数据的block K、block K+1、block K+2…的地址,block 2中同样存储有其他用于存储数据的block的地址。
这样,当电子设备访问该第一目标block时,可以获取到标识信息和地址信息,根据该标识信息可以确定recovery模式下写入了文件,根据地址信息可以获取到存储地址的block 1和block 2的地址,进而访问该block 1和block 2的地址并读取block 1和block 2的内容,获取到存储数据的block K、block K+1、block K+2…的地址,进一步访问block K、block K+1、block K+2…的地址,可以读取其中的数据,从而可以获取recovery模式下写入的文件。
该技术方案中,当recovery模式下写入的文件较大时,可以通过多个未使用的block存储其他block的地址,使得recovery模式下写入的文件对应的block的地址可以完全存储。
图7是本申请实施例提供的一种写入数据分区的方法的示意性流程图。该方法700可以应用于电子设备中,如图7所示,该方法700可以包括步骤710至步骤770。本申请实施例中,以第一模式为正常模式,第二模式为recovery模式为例进行说明。
710,所述电子设备在第一模式下,创建第一目标文件,所述第一目标文件对应的块中的数据为零。
其中,该第一目标文件可以为预设大小数据为全零的文件,该第一可以和用户希望写入的文件大小相关,例如,大于或等于用户希望写入的文件大小。
720,所述电子设备获取所述第一目标文件对应的块的第一信息。
其中,该第一信息可以是该第一目标文件对应的块(block)的分布的信息,如map信息,通过该map信息可以获取第一目标文件对应的block的分布,如每个block在数据分区中存储的地址。或者,当第一目标文件对应的block连续分布时,该map信息也可以是第一个block的地址和最后一个block的地址,或者还可以包括block的数量。
应理解,该步骤720中,电子设备仍处理第一模式下。
730,所述电子设备在第二模式下,在内存文件系统中申请与所述第一目标文件相同大小的内存空间,并将第二目标文件保存在所述内存空间中。
其中,该第二目标文件既包括第二目标文件本身的数据信息也包括该第二目标文件的创建时间、修改时间等元数据信息,从而有利于用户更具体全面的了解该第二目标文件。应理解,该第二目标文件可以是包括多层文件夹的文件,也可以是单个文件。
应理解,该步骤730可以参见步骤403的相关描述。
应理解,在步骤730之前,电子设备可以从第一模式切换为第二模式,或者,在该步骤730中,电子设备可以从第一模式切换为第二模式,其切换方式可以参见前文中的相关描述,为了简洁,不再赘述。
740,所述电子设备根据所述第一信息在所述第一目标文件对应的第一个块中写入标识信息,并将所述第二目标文件依次写入所述第一目标文件对应的块中。
其中,该标识信息可以任何用于起到标识作用的信息,例如,该标识信息可以是一组字符串,如0XABCDABCD,或者该标识信息为一种指示信息,该指示信息用于指示用户在recovery模式下在该block中写入了内容。
可选地,电子设备将第一信息存储在缓存分区(cache)中。则在该步骤740之前,电子设备可以从该缓存分区中获取该第一信息。在本申请实施例中,通过将电子设备在第一模式下将该第一信息存储在缓存分区中,从而有利于电子设备在第二模式下从该缓存分区中获取该第一信息,进而根据该第一信息在块中写入文件。
可以理解的是,该步骤740中,电子设备仍处于第二模式下。
750,所述电子设备在第一模式下,确定所述第一目标文件对应的第一个块中是否存在所述标识信息。
在一种可能的实现方式中,响应于用户的操作,电子设备读取第一目标文件对应的第一个block,确定该第一个block中存在标识信息时,则表示用户在recovery模式下在第一目标文件对应的block中写入了文件。
在另一种可能的实现方式中,响应于用户的操作,电子设备读取第一目标文件对应的第一个block,确定该第一个block中不存在标识信息时。
可以理解的是,在步骤750之前,电子设备可以从第二模式切换为第一模式,或者,在该步骤750中,电子设备可以从第二模式切换为第一模式,其切换方式可以参见前文中的相关描述。
760,在确定所述第一目标文件对应的第一个块中存在所述标识信息时,所述电子设备获取所述第二目标文件。
可选地,所述在确定所述第一目标文件对应的第一个块中存在所述标识信息时,所述电子设备获取所述第二目标文件,包括:
所述电子设备依次读取所述第一目标文件对应的块,以获取所述第二目标文件。
示例性地,该第一目标文件对应的block的数量为10个,分别为block 1、block2、……、block 10,recovery服务在第一目标文件对应的第一个block(即block 1)中写入标识信息,并将第二目标文件依次写入block 1至block 10中(block1中既包括标识信息还包括第二目标文件的部分数据),则电子设备在确定第一目标文件对应的第一个block中存在标识信息时,依次读取block 1至block 10,从而可以获取到该第二目标文件。
770,所述电子设备将所述第二目标文件保存在数据分区中。
应理解,在步骤760-770中,电子设备仍处于第一模式下。
在本申请的一个实施例中,电子设备在第一模式下可以创建第一目标文件,并记录下该第一目标文件对应的块的第一信息,电子设备在第二模式下在内存文件系统中申请与该第一目标文件相同大小的内存空间,将希望写入的第二目标文件存入该内存空间中,之后根据该第一信息将内存空间中的第二目标文件写入第一目标文件对应的块中,电子设备在第一模式下读取该第一目标文件对应的块以获取第二目标文件,并将该第二目标文件保存至数据分区中。该技术方案可以实现在recovery模式下写入新的文件,以供正常模式进行读取,从而可以实现系统升级或提供测试功能等。
可选地,电子设备将所述第二目标文件保存在数据分区中,包括:
将所述第二目标文件写入内存文件系统中;
将内存文件系统中的第二目标文件保存在数据分区中。
在本申请实施例中,电子设备将该第二目标文件写入内存文件系统中,然后将内存文件系统中的第二目标文件保存在数据分区中,从而使得数据分区的文件既可以包括文件数据部分又可以包括创建时间、修改时间等元数据部分,从而用户可以全面的了解该文件的信息。
可选地,该方法700还可以包括步骤780。
780,所述电子设备将所述第一目标文件对应的块中的数据清零。
示例性地,该电子设备可以将第一目标文件对应的块的数据全部填零或者全OXFF,从而实现数据清零。
在本申请实施例中,通过将第一目标文件对应的块中的数据清零,可以释放第一目标文件的空间,从而可以节省电子设备的磁盘空间。
图8是本申请实施例提供的另一种写入数据分区的方法的示意性流程图。该方法800可以应用于电子设备中,如图8所示,该方法800可以包括步骤810至步骤880。本申请实施例中,以第一模式为正常模式,第二模式为recovery模式为例进行说明。
810,所述电子设备在第一次进入第一模式时,创建第三目标文件,所述第三目标文件对应的第一目标块包括标识信息。
其中,电子设备在第一次进入第一模式,可以理解为电子设备在第一次正常开机,进入正常模式。
该第三目标文件对应的第一目标块包括标识信息,可以理解为电子设备在该第一目标块中写入了该标识信息,该标识信息也可以是预设的,该标识信息的具体描述可以参见前文中的描述。该第一目标块可以是一个block的大小,如4KB。
可以理解的是,该第三目标文件可以尽量在电子设备第一次进入第一模式的较早的时间点进行创建,例如,在用户长按电源键开机时,创建该第三目标文件,从而该第三目标文件对应的第一block在数据分区中的位置比较靠前,从而可以缩短电子设备recovery模式下寻找该第一目标block的时间。
应理解,在其他的实施例中,电子设备也可以在第一模式下创建该第三目标文件,而无需考虑是在第几次进入该第一模式。
在一些实施例中,电子设备在第一次进入第一模式时,也可以创建预设大小的多个目标文件,该多个目标文件对应的第一目标block均包括标识信息,从而当recovery模式下需要接入的文件较大时,该多个目标文件对应的block能够存储更多的地址信息。
820,所述电子设备在第二模式下,在确定所述第一目标块中存在所述标识信息时,获取第二目标块的地址,其中,所述第二目标块为数据为零的块,所述第二目标块用于保存第四目标文件。
其中,该第四目标文件为用户希望在recovery模式下写入的文件。
具体地,电子设备可以在recovery模式下,扫描数据分区,获取该第一目标块,当确定该第一目标块中存在标识信息时,继续扫描数据分区,获取数据为零的块,以用户保存该第四目标文件。
可以理解的是,在步骤820之前,电子设备可以从第一模式切换为第二模式,或者,在该步骤820中,电子设备可以从第一模式切换为第二模式,其切换方式可以参见前文中的相关描述。
830,所述电子设备根据所述第四目标文件的大小确定所述第二目标块的地址是否能够全部存储在所述第一目标块中。
由于第一目标块中能够存储的数据量是有限的,当第四目标文件的大小较大时,存储该第四目标文件的块的数量较多,其地址信息可能不能完全存储在第一目标块中,因此电子设备需要根据第四目标文件的大小确定第二目标块的地址是否能够全部存储在第一目标块中。
其中,该第二目标块可以包括多个块。
840,在所述电子设备确定所述第二目标块的地址能够全部存储在所述第一目标块中时,将所述第二目标块的地址写入所述第一目标块中。
当电子设备确定该第二目标块的地址能够完全存储在第一目标块中时,将第二目标块的地址写入该第一目标块中,从而电子设备通过访问该第一目标块可以获取该第二目标块的地址。
850,所述电子设备将内存文件系统中的所述第四目标文件写入所述第二目标块中。
应理解,在该步骤850之前,电子设备可以先将该第四目标文件暂存在内存文件系统中。
860,所述电子设备在第一模式下,读取所述第一目标块,以获取所述第二目标块的地址。
示例性地,电子设备在第一模式下访问第一目标block的地址,进而读取该第一目标block,此时,可以获取到标识信息和第二目标block的地址。
可以理解的是,在步骤860之前,电子设备可以从第二模式切换为第一模式,或者,在该步骤860中,电子设备可以从第二模式切换为第一模式,其切换方式可以参见前文中的相关描述。
870,所述电子设备根据所述第二目标块的地址读取所述第二目标块,以获取所述第四目标文件。
其中,电子设备根据该第二目标块的地址可以读取该第二目标块,从而可以得到第四目标文件。
880,所述电子设备将所述第四目标文件保存在数据分区中。
在本申请的一个实施例中,电子设备在第一次进入第一模式时,创建一个预设大小的第三目标文件,该文件对应的第一目标块中可以包括标识信息,该电子设备在第二模式下,在确定第一目标块中存在标识信息时,获取数据为零的第二目标块的地址,该电子设备根据需要写入的第四目标文件的大小确定第二目标块的地址是否能够全部存储在所述第一目标块中,在确定第二目标块的地址能够全部存储在第一目标块中时,将第二目标块的地址写入第一目标块中,之后将第四目标文件写入第二目标块中,该电子设备在第一模式下获取该第二目标块的地址,进一步访问该第二目标块的地址获取第四目标文件,并将该第四目标文件保存在数据分区中。该技术方案中,电子设备只需在第一次进入正常模式时创建一个预设大小的文件,就可以直接在recovery模式下获取到可用的块,以写入文件,供正常模式读取,避免了电子设备每次希望在recovery模式下写入文件时,都需要预先从正常模式下创建文件;进一步地,电子设备在正常模式下读取的文件,既包括文件数据部分,又包括该文件的元数据部分,从而有利于用户具体全面的了解recovery模式下写入的文件。
可选地,所述电子设备将所述第四目标文件保存在数据分区中,包括:
将所述第四目标文件写入内存文件系统中;
将内存文件系统中的第四目标文件保存在数据分区中。
在本申请实施例中,电子设备将该第四目标文件写入内存文件系统中,然后将内存文件系统中的第四目标文件保存在数据分区中,从而使得数据分区的文件既可以包括文件数据部分又可以包括创建时间、修改时间等元数据部分,从而用户可以全面的了解该文件的信息。
可选地,所述内存文件系统中的第四目标文件包括所述第四目标文件的文件数据部分和元数据部分。
示例性地,该元数据部分可以包括文件的创建时间、修改时间、文件大小等等信息。
在本申请实施例中,该第四目标文件既包括文件数据部分又包括元数据部分,从而用户可以全面的了解该文件的信息。
可选地,该方法800还可以包括:
在所述电子设备确定所述第二目标块的地址不能够全部存储在所述第一目标块中时,将所述第二目标块中用于存储地址的地址块的地址写入所述第一目标块中,其中,所述地址块用于存储所述第二目标块中存储所述第四目标文件的块的地址;
所述电子设备将内存文件系统中的所述第四目标文件写入所述第二目标块中用于存储数据的数据块中;
所述电子设备在第一模式下,读取所述第一目标块,获取所述地址块的地址;
所述电子设备根据所述地址块的地址读取所述地址块,获取所述数据块的地址;
所述电子设备根据所述数据块的地址读取所述数据块,获取所述第四目标文件;
所述电子设备将所述第四目标文件保存在数据分区中。
示例性地,参见图6,当第四目标文件的大小较大时,保存数据需要用的block较多,会导致第二目标块的地址不能够全部存储在第一目标块中,可以利用第二目标块中的部分块存储地址信息,此时,该第一目标块中可以存储第二目标块中用于存储地址的地址块的地址,然后电子设备将第四目标文件写入第二目标块中用于存储数据的数据块中。
在本申请实施例中,当recovery模式下写入的文件较大时,可以通过多个未使用的block存储其他block的地址,使得recovery模式下写入的文件对应的block的地址可以完全存储,可以保证用户在recovery模式下写入的文件可以在正常模式下顺利读取。
可选地,该方法800还可以包括:
所述电子设备将所述第一目标块和所述第二目标块中的数据清零。
示例性地,电子设备将第一目标块和第二目标块中的数据全部填零或者全OXFF,从而实现数据清零。
在本申请实施例中,通过将第一目标块和第二目标块中的数据清零,可以释放第一目标块和第二目标块的空间,从而可以节省电子设备的磁盘空间。
本申请实施例还提供一种电子设备,包括一个或多个处理器;一个或多个存储器;该一个或多个存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被一个或多个处理器执行时,使得如前文中任一种可能的实现方式中所述的写入数据分区的方法被执行。
本申请实施例还提供一种装置,包括用于实现上述功能的各个模块或单元。
本申请实施例还提供一种芯片,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如前文中任一种可能的实现方式中所述的写入数据分区的方法被执行。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得上述实施例中的写入数据分区的方法被执行。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的写入数据分区的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的写入数据分区的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种写入数据分区的方法,其特征在于,所述方法应用于电子设备,所述方法包括:
所述电子设备在第一模式下,创建第一目标文件,所述第一目标文件对应的块中的数据为零;
所述电子设备获取所述第一目标文件对应的块的第一信息;
所述电子设备在第二模式下,在内存文件系统中申请与所述第一目标文件相同大小的内存空间,并将第二目标文件保存在所述内存空间中;
所述电子设备根据所述第一信息在所述第一目标文件对应的第一个块中写入标识信息,并将所述第二目标文件依次写入所述第一目标文件对应的块中;
所述电子设备在第一模式下,确定所述第一目标文件对应的第一个块中是否存在所述标识信息;
在确定所述第一目标文件对应的第一个块中存在所述标识信息时,所述电子设备获取所述第二目标文件;
所述电子设备将所述第二目标文件保存在数据分区中。
2.根据权利要求1所述的方法,其特征在于,所述电子设备将所述第二目标文件保存在数据分区中,包括:
将所述第二目标文件写入内存文件系统中;
将内存文件系统中的第二目标文件保存在数据分区中。
3.根据权利要求2所述的方法,其特征在于,所述内存文件系统中的第二目标文件包括所述第二目标文件的文件数据部分和元数据部分。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述在确定所述第一目标文件对应的第一个块中存在所述标识信息时,所述电子设备获取所述第二目标文件,包括:
所述电子设备依次读取所述第一目标文件对应的块,以获取所述第二目标文件。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
所述电子设备将所述第一目标文件对应的块中的数据清零。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一信息存储在缓存分区中。
7.一种写入数据分区的方法,其特征在于,所述方法应用于电子设备,所述方法包括:
所述电子设备在第一次进入第一模式时,创建第三目标文件,所述第三目标文件对应的第一目标块包括标识信息;
所述电子设备在第二模式下,在确定所述第一目标块中存在所述标识信息时,获取第二目标块的地址,其中,所述第二目标块为数据为零的块,所述第二目标块用于保存第四目标文件;
所述电子设备根据所述第四目标文件的大小确定所述第二目标块的地址是否能够全部存储在所述第一目标块中;
在所述电子设备确定所述第二目标块地址能够全部存储在所述第一目标块中时,将所述第二目标块的地址写入所述第一目标块中;
所述电子设备将内存文件系统中的所述第四目标文件写入所述第二目标块中;
所述电子设备在第一模式下,读取所述第一目标块,以获取所述第二目标块的地址;
所述电子设备根据所述第二目标块的地址读取所述第二目标块,以获取所述第四目标文件;
所述电子设备将所述第四目标文件保存在数据分区中。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述电子设备确定所述第二目标块的地址不能够全部存储在所述第一目标块中时,将所述第二目标块中用于存储地址的地址块的地址写入所述第一目标块中,其中,所述地址块用于存储所述第二目标块中存储所述第四目标文件的块的地址;
所述电子设备将内存文件系统中的所述第四目标文件写入所述第二目标块中用于存储数据的数据块中;
所述电子设备在第一模式下,读取所述第一目标块,获取所述地址块的地址;
所述电子设备根据所述地址块的地址读取所述地址块,获取所述数据块的地址;
所述电子设备根据所述数据块的地址读取所述数据块,获取所述第四目标文件;
所述电子设备将所述第四目标文件保存在数据分区中。
9.根据权利要求7或8所述的方法,其特征在于,所述电子设备将所述第四目标文件保存在数据分区中,包括:
将所述第四目标文件写入内存文件系统中;
将内存文件系统中的第四目标文件保存在数据分区中。
10.根据权利要求9所述的方法,其特征在于,所述内存文件系统中的第四目标文件包括所述第四目标文件的文件数据部分和元数据部分。
11.根据权利要求7-10中任一项所述的方法,其特征在于,所述方法还包括:
所述电子设备将所述第一目标块和所述第二目标块中的数据清零。
12.一种电子设备,其特征在于,所述包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被一个或多个处理器执行时,使得如权利要求1-6、或7-11中任一项所述的写入数据分区的方法被执行。
13.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如权利要求1-6、或7-11中任一项所述的写入数据分区的方法被执行。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得如权利要求1-6、或7-11中任一项所述的写入数据分区的方法被执行。
15.一种计算机程序产品,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得如权利要求1-6、或7-11中任一项所述的写入数据分区的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210238852.9A CN116774909A (zh) | 2022-03-11 | 2022-03-11 | 写入数据分区的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210238852.9A CN116774909A (zh) | 2022-03-11 | 2022-03-11 | 写入数据分区的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116774909A true CN116774909A (zh) | 2023-09-19 |
Family
ID=87986583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210238852.9A Pending CN116774909A (zh) | 2022-03-11 | 2022-03-11 | 写入数据分区的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116774909A (zh) |
-
2022
- 2022-03-11 CN CN202210238852.9A patent/CN116774909A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467431B2 (en) | Apparatuses, systems, methods, and computer readable media for providing secure file-deletion functionality | |
US9582513B2 (en) | Accessing data in a compressed container through dynamic redirection | |
US10204235B2 (en) | Content item encryption on mobile devices | |
CN107633088B (zh) | 一种文件管理方法及装置 | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
US7783854B2 (en) | System and method for expandable non-volatile storage devices | |
US20100070544A1 (en) | Virtual block-level storage over a file system | |
CN108108633B (zh) | 一种数据文件及其访问方法、装置及设备 | |
CN107526608B (zh) | 一种ota升级包升级方法及设备 | |
US20130333049A1 (en) | Data protection method for portable electronic device and computer program product for the same | |
JP2010237480A (ja) | コンテンツ保護装置およびコンテンツ保護方法 | |
US20220075523A1 (en) | Flash memory local purge | |
JP2014178784A (ja) | 情報処理装置、情報処理システム及び情報処理プログラム | |
EP1744249A1 (en) | Method and apparatus for managing DRM rights object in low-performance storage device | |
EP2849111A1 (en) | OTP generation on portable medium | |
CN114491607A (zh) | 云平台数据处理方法、装置、计算机设备及存储介质 | |
CN105302501A (zh) | 一种磁盘扇区的控制方法和装置 | |
CN116774909A (zh) | 写入数据分区的方法和电子设备 | |
CN112231761B (zh) | 一种设备挂载方法、计算设备及可读存储介质 | |
KR20110050631A (ko) | 암호화 파일 시스템에서 입력/출력의 제어 및 효율성을 향상시키기 위한 방법 및 시스템 | |
KR102491776B1 (ko) | 데이터 삭제 방법 및 장치 | |
Woods et al. | Functional Access to Forensic Disk Images in a Web Service. | |
CN105528307A (zh) | 一种信息处理的方法及电子设备 | |
JP2006344104A (ja) | ファイル管理プログラム、及びファイル管理装置 | |
CN115952136A (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 |