文件处理方法、电子设备和计算机存储介质与流程
未命名
09-16
阅读:58
评论:0

1.本发明涉及计算机存储技术领域,具体涉及一种文件处理方法、一种电子设备和一种计算机存储介质。
背景技术:
2.文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,在计算机磁盘设备上部署多个文件系统,具有高性能、敏感数据可控、无需对整个磁盘进行备份只需对文件系统备份等优点。目前,在计算机磁盘设备上部署多个文件系统的方法主要有磁盘分区、建立lvm(logical volume manager,逻辑卷管理)设备层、将磁盘文件与伪设备绑定等方法,但这些方法均各自存在一些问题,例如不够灵活、效率低、操作流程较为繁琐等等。
技术实现要素:
3.本公开针对现有技术中存在的上述不足,提供一种文件处理方法、一种电子设备和一种计算机存储介质。
4.第一方面,本公开实施例提供一种文件处理方法,其中,所述方法包括:
5.根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令,其中,所述第一文件操作指令包括虚拟块设备的位置信息,所述第二文件操作指令包括磁盘块设备的位置信息;
6.将所述第二文件操作指令下发至所述磁盘块设备,以供所述磁盘块设备根据所述第二文件操作指令对与所述磁盘块设备的位置信息对应的待处理文件进行操作。
7.在一些实施例中,所述预设的映射关系包括文件标识、虚拟块设备标识以及磁盘块设备扇区位置标识之间的映射关系。
8.在一些实施例中,在所述根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令之前,所述方法还包括:
9.根据所述待处理文件创建所述虚拟块设备。
10.在一些实施例中,所述根据所述待处理文件创建所述虚拟块设备包括:
11.将所述待处理文件的文件路径传入预先配置的文件接口,所述文件接口和所述文件路径用于查看所述待处理文件、将所述待处理文件设置为可创建虚拟块设备的文件以及删除所述虚拟块设备;
12.锁定所述待处理文件,以使得所述待处理文件处于不可修改状态;
13.确定所述待处理文件对应的虚拟块设备信息,所述虚拟块设备信息至少包括虚拟块设备标识;
14.根据所述虚拟块设备信息更新设备树,以完成所述虚拟块设备的预创建;
15.根据存储所述待处理文件的磁盘块设备扇区位置的标识、所述待处理文件的文件标识和所述虚拟块设备的虚拟块设备标识,建立所述预设的映射关系,以完成所述虚拟块设备的创建。
16.在一些实施例中,所述锁定所述待处理文件,以使得所述待处理文件处于不可修改状态包括:
17.解析所述待处理文件的文件路径,获取所述待处理文件的识别号;
18.获取所述待处理文件的访问锁;
19.根据所述识别号和所述访问锁设置所述待处理文件的文件属性,以使得所述待处理文件处于不可修改状态。
20.在一些实施例中,所述根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令包括:
21.确定所述虚拟块设备的虚拟块设备标识;
22.根据所述预设的映射关系和所述虚拟块设备的虚拟块设备标识确定对应的磁盘块设备扇区位置标识;
23.根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令。
24.在一些实施例中,所述第一文件操作指令和所述第二文件操作指令均为文件刷新操作指令,所述虚拟块设备的位置信息包括所述虚拟块设备标识,所述磁盘块设备的位置信息包括磁盘块设备标识,所述根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令包括:
25.将所述第一文件操作指令中的所述虚拟块设备标识替换为与所述确定出的磁盘块设备扇区位置标识对应的所述磁盘块设备标识。
26.在一些实施例中,所述第一文件操作指令和所述第二文件操作指令均为文件读写操作指令,所述虚拟块设备的位置信息包括虚拟块设备扇区位置标识,所述磁盘块设备的位置信息包括磁盘块设备扇区位置标识,所述根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令包括:
27.将所述第一文件操作指令中的所述虚拟块设备扇区位置标识替换为所述确定出的磁盘块设备扇区位置标识。
28.第二方面,本公开实施例提供一种电子设备,包括:
29.一个或多个处理器;
30.存储装置,其上存储有一个或多个程序;
31.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前所述的文件处理方法。
32.第三方面,本公开实施例提供一种计算机存储介质,其上存储有计算机程序,其中,所述程序被执行时实现如前所述的文件处理方法。
33.通过预设关于虚拟块设备和磁盘块设备的映射关系,根据预设的映射关系将接收到的、携带有虚拟块设备的位置信息的第一文件操作指令,转换为携带有磁盘块设备的位置信息的第二文件操作指令,将第二文件操作指令下发至磁盘块设备,磁盘块设备即可直接根据第二文件操作指令对与位置信息对应的待处理文件进行操作。将磁盘块设备上的文件虚拟成虚拟块设备并部署文件系统,将针对虚拟块设备的文件操作转换为针对实际的磁盘块设备的文件操作,实现文件操作透传,访问效率高,性能影响小,速度接近于直接访问实际的磁盘块设备,并且无需改变原本的磁盘分区和文件系统,有利于在操作系统版本升
级和回退中无缝切换,还可以适用于一些原本需要块设备但伪设备又无法使用的场景。
附图说明
34.图1是本公开实施例提供的文件处理方法的流程示意图一;
35.图2是本公开实施例提供的文件处理方法的流程示意图二;
36.图3是本公开实施例提供的文件处理方法的流程示意图三;
37.图4是本公开实施例提供的文件处理方法的流程示意图四;
38.图5是本公开实施例提供的计算机系统的示意图;
39.图6是本公开实施例提供的文件处理方法的流程示意图五;
40.图7是本公开实施例提供的文件处理装置的模块示意图。
41.附图标记:
42.1、文件接口
ꢀꢀꢀꢀꢀꢀꢀ
2、结构体
ꢀꢀꢀꢀꢀꢀ
3、虚拟块设备
43.4、磁盘块设备
ꢀꢀꢀꢀꢀ
5、待处理文件
ꢀꢀ
6、计算机系统
具体实施方式
44.在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
45.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
46.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
47.本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
48.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
49.目前,在计算机磁盘设备上部署多个文件系统的方法主要有磁盘分区、建立lvm设备层、将磁盘文件与伪设备绑定等方法,但这些方法均存在一些问题。
50.磁盘分区方法即将整个硬盘分割为多块硬盘区域。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区能够安装操作系统以及进行计算机启动。这样的分区可以直接格式化,然后安装系统,直接存放文件。将磁盘分区之后,就可以在不同的分区部署文件系统。那么一旦需要重新布局,就需要重新进行磁盘分区和格式化,不够灵活。建立lvm设备层的操作流程则较为繁琐且需要部署对应工具。将磁盘文件与伪设备绑
定,即将磁盘上的文件和计算机系统的伪设备(如linux系统的loop设备)绑定,这样一来,可以通过伪设备进行挂载,进而部署多个文件系统,但是读写数据需要通过两层文件系统,导致效率低,并且还存在着在一些场景下伪设备无法使用的问题。
51.有鉴于此,本公开提出,若将磁盘上的大文件虚拟成块设备并部署文件系统,则轻量级且灵活性高,而将文件虚拟成块设备,关键在于提供文件虚拟成的虚拟块设备与实际存储文件的磁盘块设备之间的映射关系,以便当需要对文件进行操作时,依据该映射关系可以在实际的磁盘块设备上找到文件。
52.如图1所示,本公开实施例提供一种文件处理方法,所述方法可以包括如下步骤:
53.在步骤s11中,根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令,其中,第一文件操作指令包括虚拟块设备的位置信息,第二文件操作指令包括磁盘块设备的位置信息。
54.在步骤s12中,将第二文件操作指令下发至磁盘块设备,以供磁盘块设备根据第二文件操作指令对与磁盘块设备的位置信息对应的待处理文件进行操作。
55.其中,该虚拟块设备即待处理文件虚拟而成的虚拟块设备,该磁盘块设备即实际存储待处理文件的磁盘块设备,该映射关系是在预先将待处理文件虚拟成虚拟块设备之后进一步设定的关于待处理文件、虚拟块设备以及磁盘块设备的映射关系。文件操作指令需要携带文件的位置信息,第一文件操作指令可以是直接针对虚拟块设备下发的,因此携带有虚拟块设备的位置信息,基于预设的映射关系可以将第一文件操作指令转换为携带有磁盘块设备的位置信息的第二文件操作指令,转换过后,磁盘块设备即可根据第二文件操作指令对与该磁盘块设备的位置信息对应的待处理文件进行操作。
56.需要注意的是,文件操作指令通常还需要携带具体的操作内容,在根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令之后,第二文件操作指令相较于第一文件操作指令而言,其所携带的操作内容并未发生变化。
57.从上述步骤s11-s12可以看出,采用本公开实施例提供的文件处理方法,通过预设关于虚拟块设备和磁盘块设备的映射关系,根据预设的映射关系将接收到的携带有虚拟块设备的位置信息的第一文件操作指令,转换为携带有磁盘块设备的位置信息的第二文件操作指令,将第二文件操作指令下发至磁盘块设备,磁盘块设备即可直接根据第二文件操作指令对与位置信息对应的待处理文件进行操作。将磁盘块设备上的文件虚拟成虚拟块设备并部署文件系统,将针对虚拟块设备的文件操作转换为针对实际的磁盘块设备的文件操作,实现文件操作透传,访问效率高,性能影响小,速度接近于直接访问实际的磁盘块设备,并且无需改变原本的磁盘分区和文件系统,有利于在操作系统版本升级和回退中无缝切换,还可以适用于一些原本需要块设备但伪设备又无法使用的场景。
58.在预先将待处理文件虚拟成虚拟块设备之后,可以进一步设定关于待处理文件、虚拟块设备以及磁盘块设备的映射关系,具体的,在一些实施例中,所述预设的映射关系可以包括文件标识、虚拟块设备标识以及磁盘块设备扇区位置标识之间的映射关系。
59.其中,虚拟块设备标识可以包括虚拟块设备的次设备号,磁盘块设备扇区位置标识为可以表征某磁盘块设备上的某扇区的标识。
60.在根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令之前,还可以包括将待处理文件虚拟成虚拟块设备以及建立映射关系的步骤,相应的,在一
些实施例中,在所述根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令(即步骤s11)之前,如图2所示,所述方法还可以包括如下步骤:
61.在步骤s21中,根据待处理文件创建虚拟块设备。
62.具体的,在一些实施例中,如图3所示,所述根据待处理文件创建虚拟块设备(即步骤s21)可以包括如下步骤:
63.在步骤s211中,将待处理文件的文件路径传入预先配置的文件接口,文件接口和文件路径用于查看待处理文件、将待处理文件设置为可创建虚拟块设备的文件以及删除虚拟块设备。
64.在步骤s212中,锁定待处理文件,以使得待处理文件处于不可修改状态。
65.在步骤s213中,确定待处理文件对应的虚拟块设备信息,虚拟块设备信息至少包括虚拟块设备标识。
66.在步骤s214中,根据虚拟块设备信息更新设备树,以完成虚拟块设备的创建。
67.在步骤s215中,根据存储待处理文件的磁盘块设备扇区位置的标识、待处理文件的文件标识和虚拟块设备的虚拟块设备标识,建立预设的映射关系,以完成虚拟块设备的创建。
68.其中,存储待处理文件的磁盘块设备扇区位置的标识即磁盘块设备扇区位置标识。
69.可以预先配置文件接口,用户通过该文件接口可以将文件设置为可创建虚拟块设备的文件、查看虚拟成虚拟块设备的文件以及删除虚拟块设备,配置文件接口的具体实施方式属于现有技术,此处不做赘述。将待处理文件的文件路程传入预先配置的文件接口后,用户即可以通过该文件接口以及待处理文件的文件路径,查看待处理文件、将待处理文件设置为可创建虚拟块设备的文件、删除待处理文件虚拟成的虚拟块设备。
70.应当理解,在步骤s214完成虚拟块设备的创建,则删除待处理文件虚拟成的虚拟块设备这一动作只能在步骤s214之后执行。若在创建虚拟块设备的过程中,识别出文件路径错误,或者待处理文件并未实际存储在磁盘块设备上,则均无法创建成功。
71.其中,待处理文件处于不可修改状态指的是待处理文件不可被计算机的碎片整理功能所误修改。采用本公开实施例提供的文件处理方法,由于将文件虚拟成虚拟块设备,可以将多个文件虚拟成不同的虚拟块设备,也可以将多个文件虚拟成一个虚拟块设备(当然,也可以将一个大文件虚拟成多个虚拟块设备,只需正确区分不同的虚拟块设备即可),当将多个文件虚拟成一个虚拟块设备时,待处理文件可以包括多个子文件,此时各子文件可以在磁盘块设备时分散存储。无论待处理文件为一个文件,还是包括多个子文件,锁定待处理文件,以使得待处理文件处于不可修改状态,避免待处理文件被计算机的碎片整理功能所误修改,均可以起到保护待处理文件的作用。计算机系统可以在初始化之时即为虚拟块设备申请主设备号,所有的虚拟块设备可以共用一个主设备号,在锁定待处理文件以使得待处理文件处于不可修改状态之后,只需为待处理文件申请相应的虚拟块设备标识即次设备号,每个虚拟块设备具有唯一的次设备号,以正确区分不同的虚拟块设备。
72.在一些实施例中,所述虚拟块设备信息可以包括:虚拟块设备标识、待处理文件的结构信息、虚拟块设备的大小、操作函数集和需求队列等等。相应的,所述确定待处理文件对应的虚拟块设备信息(即步骤213)可以包括如下步骤:为待处理文件申请虚拟块设备标
识;确定待处理文件的结构信息;根据待处理文件的大小确定虚拟块设备的大小;初始化虚拟块设备的操作函数集和需求队列。
73.根据待处理文件的大小确定虚拟块设备的大小,当需要更改虚拟块设备的大小时,只需更改待处理文件的大小即可,操作更为灵活。需要注意的是,在为待处理文件申请虚拟块设备标识之后,虚拟块设备标识已经可以用于表征虚拟块设备,因此可以根据待处理文件的大小确定虚拟块设备的大小、初始化虚拟块设备的操作函数集和需求队列。
74.设备树用于保存计算机系统中的设备信息,当机器引导时,os(operating system,操作系统)通过使用驱动程序和其他组件获得的信息建立此树,并且当添加或删除设备时更新此树。设备树通常为结构体,每一个节点表征一个设备节点,根据虚拟块设备信息更新设备树,即将虚拟块设备信息加入此树作为一个新的节点。
75.在根据虚拟块设备信息更新设备树之后,完成虚拟块设备的预创建,根据待处理文件的文件标识、虚拟块设备的虚拟块设备标识以及存储待处理文件的磁盘块设备扇区位置的磁盘块设备扇区位置标识建立预设的映射关系之后,正式完成虚拟块设备的创建。
76.在根据待处理文件创建虚拟块设备之后,即可获得虚拟块设备的虚拟块设备标识,待处理文件的文件标识以及存储待处理文件的磁盘块设备扇区位置的磁盘块设备扇区位置标识是已知的,因此可以直接建立待处理文件的文件标识、(待处理文件虚拟而成的)虚拟块设备标识以及存储待处理文件的磁盘块设备扇区位置的磁盘块设备扇区位置标识之间的映射关系,具体的,可以将文件标识、虚拟块设备标识以及磁盘块设备扇区位置标识封装到结构体中,以建立映射关系。在建立映射关系时,也可以一并记录虚拟块设备的主设备号、操作函数集、需求队列以及大小等虚拟块设备信息。
77.当需要删除虚拟块设备时,可以通过文件接口输入需要退出的虚拟块设备,通过文件接口将虚拟块设备从系统设备树中删除、注销虚拟块设备对应的结构体(即映射关系)、操作函数集和需求队列、删除文件的文件属性等,无需部署特定工具,操作简单便捷。
78.在一些实施例中,如图4所示,所述锁定待处理文件,以使得待处理文件处于不可修改状态(即步骤s212)可以包括如下步骤:
79.在步骤s2121中,解析待处理文件的文件路径,获取待处理文件的识别号。
80.在步骤s2122中,获取待处理文件的访问锁。
81.在步骤s2123中,根据识别号和访问锁设置待处理文件的文件属性,以使得待处理文件处于不可修改状态。
82.其中,所述识别号用于在磁盘块设备的扇区找到该待处理文件,访问锁用于获得设置待处理文件的文件属性的修改权限。
83.需要注意的是,在步骤s2122之后,所述方法还可以包括如下步骤:判断待处理文件是否属于延迟分配实际存储空间,若是,则为待处理文件强制分配实际存储空间。
84.以下结合图5来对本公开实施例提供的文件处理方法进行简要描述。如图5所示,为本公开实施例提供的计算机系统示意图,首先配置待处理文件5对应的文件接口1,将待处理文件5的文件路径传入文件接口1,判断文件路径是否正确且待处理文件5是否存储在实际的磁盘块设备4上,否则创建失败,是则解析待处理文件5的文件路径,获取待处理文件5的识别号,根据识别号在磁盘块设备4上找到待处理文件5,获取待处理文件5的访问锁,判断待处理文件是否属于延迟分配实际存储空间,是则为待处理文件5强制分配实际存储空
间,否则根据访问锁设置待处理文件5的文件属性,以使得待处理文件5处于不可修改状态,为待处理文件5申请相应的虚拟块设备标识,缓存待处理文件5的主要结构,初始化虚拟块设备3的操作函数集和需求队列等等,以及根据待处理文件5的大小确定虚拟块设备3的大小,将虚拟块设备3加入系统设备树中。将虚拟块设备3的虚拟块设备标识、待处理文件5的文件标识以及磁盘块设备4的磁盘块设备扇区位置标识封装到结构体中,以建立映射关系。当计算机系统6接收到第一文件操作指令时,根据映射关系将第一文件操作指令转换为第二文件操作指令,将第二文件操作指令下发至磁盘块设备4,以供磁盘块设备4根据第二文件操作指令对待处理文件进行操作。
85.在一些实施例中,如图6所示,所述根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令(即步骤s11)可以包括如下步骤:
86.在步骤s111中,确定虚拟块设备的虚拟块设备标识。
87.在步骤s112中,根据预设的映射关系和虚拟块设备的虚拟块设备标识确定对应的磁盘块设备扇区位置标识。
88.在步骤s113中,根据确定出的磁盘块设备扇区位置标识将第一文件操作指令转换为第二文件操作指令。
89.当接收到第一文件操作指令时,由于第一文件操作指令携带有虚拟块设备的位置信息,可以基于此确定虚拟块设备的虚拟块设备标识,预设的映射关系包括文件标识、虚拟块设备标识以及磁盘块设备扇区位置标识之间的映射关系,基于虚拟块设备的虚拟块设备标识以及映射关系可以确定对应的磁盘块设备扇区位置标识。根据确定出的磁盘块设备扇区位置标识可以将第一文件操作指令转换为携带有磁盘块设备的位置信息的第二文件操作指令。
90.在本公开实施例中,文件操作指令的类型可以为input/output(i/o,输入/输出)操作指令,具体的,可以包括文件刷新(例如flush)操作指令和文件读写操作指令。
91.当需要在实际的磁盘块设备上进行文件刷新操作时,现有技术通常生成i/o操作指令,i/o操作指令中携带实际的磁盘块设备标识,将i/o操作指令下发到实际的磁盘块设备。而在本公开实施例中,由于将待处理文件虚拟成虚拟块设备,i/o操作指令中携带的是虚拟块设备标识,若直接将i/o操作指令下发至实际的磁盘块设备,则实际的磁盘块设备无法识别虚拟块设备标识,也就无法对待处理文件进行相应的刷新操作,因此需要将第一文件操作指令中的虚拟块设备标识替换为磁盘块设备标识。
92.相应的,在一些实施例中,所述第一文件操作指令和所述第二文件操作指令均为文件刷新操作指令,所述虚拟块设备的位置信息包括虚拟块设备标识,所述磁盘块设备的位置信息包括磁盘块设备标识,所述根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令(即步骤s113)可以包括如下步骤:将第一文件操作指令中的虚拟块设备标识替换为与确定出的磁盘块设备扇区位置标识对应的磁盘块设备标识。
93.flush等文件刷新操作指令并不涉及到具体的扇区位置,因此第二文件操作指令只需携带磁盘块设备标识,磁盘块设备扇区位置标识为可以表征某磁盘块设备上的某扇区的标识,基于磁盘块设备扇区位置标识可以确定磁盘块设备标识,直接将第一文件操作指令中的虚拟块设备标识替换为确定出的磁盘块设备标识即可。
94.当需要在实际的磁盘块设备上进行文件读写操作时,现有技术通常生成i/o操作指令,i/o操作指令中携带实际的磁盘块设备扇区位置以及具体的读写操作内容,将i/o操作指令下发到实际的磁盘块设备。而在本公开实施例中,由于将待处理文件虚拟成虚拟块设备,i/o操作指令中携带的是虚拟块设备扇区位置以及具体的读写操作内容,若直接将i/o操作指令下发至实际的磁盘块设备,则实际的磁盘块设备无法识别虚拟块设备扇区位置,也就无法对待处理文件进行相应的读写操作,因此需要将第一文件操作指令中的虚拟块设备扇区位置标识替换为磁盘块设备扇区位置标识。
95.相应的,在一些实施例中,所述第一文件操作指令和所述第二文件操作指令均为文件读写操作指令,所述虚拟块设备的位置信息包括虚拟块设备扇区位置标识,所述磁盘块设备的位置信息包括磁盘块设备扇区位置标识,所述根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令(即步骤s113)可以包括如下步骤:将第一文件操作指令中的虚拟块设备的位置信息替换为确定出的磁盘块设备扇区位置标识。
96.基于相同的技术构思,如图7所示,本公开实施例还提供一种文件处理装置,可以包括:
97.处理模块101,用于根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令,其中,第一文件操作指令包括虚拟块设备的位置信息,第二文件操作指令包括磁盘块设备的位置信息。
98.下发模块102,用于将第二文件操作指令下发至所述磁盘块设备,以供磁盘块设备根据第二文件操作指令对与磁盘块设备的位置信息对应的待处理文件进行操作。
99.在一些实施例中,所述预设的映射关系包括文件标识、虚拟块设备标识以及磁盘块设备扇区位置标识之间的映射关系。
100.在一些实施例中,所述处理模块101还用于:
101.根据待处理文件创建所述虚拟块设备。
102.在一些实施例中,所述处理模块101用于:
103.将待处理文件的文件路径传入预先配置的文件接口,文件接口和文件路径用于查看待处理文件、将待处理文件设置为可创建虚拟块设备的文件以及删除虚拟块设备;
104.锁定待处理文件,以使得待处理文件处于不可修改状态;
105.确定待处理文件对应的虚拟块设备信息,虚拟块设备信息至少包括虚拟块设备标识;
106.根据虚拟块设备信息更新设备树,以完成虚拟块设备的预创建;
107.根据存储待处理文件的磁盘块设备扇区位置的标识、待处理文件的文件标识和虚拟块设备的虚拟块设备标识,建立预设的映射关系,以完成虚拟块设备的创建。
108.在一些实施例中,所述处理模块101用于:
109.解析待处理文件的文件路径,获取待处理文件的识别号;
110.获取待处理文件的访问锁;
111.根据识别号和访问锁设置待处理文件的文件属性,以使得待处理文件处于不可修改状态。
112.在一些实施例中,所述处理模块101用于:
113.确定虚拟块设备的虚拟块设备标识;
114.根据预设的映射关系和虚拟块设备的虚拟块设备标识确定对应的磁盘块设备扇区位置标识;
115.根据确定出的磁盘块设备扇区位置标识将第一文件操作指令转换为第二文件操作指令。
116.在一些实施例中,所述第一文件操作指令和所述第二文件操作指令均为文件刷新操作指令,所述虚拟块设备的位置信息包括所述虚拟块设备标识,所述磁盘块设备的位置信息包括磁盘块设备标识,所述处理模块101用于:
117.将第一文件操作指令中的虚拟块设备标识替换为与确定出的磁盘块设备扇区位置标识对应的磁盘块设备标识。
118.在一些实施例中,所述第一文件操作指令和所述第二文件操作指令均为文件读写操作指令,所述虚拟块设备的位置信息包括虚拟块设备扇区位置标识,所述磁盘块设备的位置信息包括磁盘块设备扇区位置标识,所述处理模块101用于:
119.将第一文件操作指令中的虚拟块设备扇区位置标识替换为确定出的磁盘块设备扇区位置标识。
120.本公开实施例还提供一种电子设备,包括:
121.一个或多个处理器;
122.存储装置,其上存储有一个或多个程序;
123.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前各实施例所述的文件处理方法。
124.本公开实施例还提供一种计算机存储介质,其上存储有计算机程序,其中,所述程序被执行时实现如前各实施例所述的文件处理方法。
125.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
126.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而
易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
技术特征:
1.一种文件处理方法,其中,所述方法包括:根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令,其中,所述第一文件操作指令包括虚拟块设备的位置信息,所述第二文件操作指令包括磁盘块设备的位置信息;将所述第二文件操作指令下发至所述磁盘块设备,以供所述磁盘块设备根据所述第二文件操作指令对与所述磁盘块设备的位置信息对应的待处理文件进行操作。2.根据权利要求1所述的方法,其中,所述预设的映射关系包括文件标识、虚拟块设备标识以及磁盘块设备扇区位置标识之间的映射关系。3.根据权利要求2所述的方法,其中,在所述根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令之前,所述方法还包括:根据所述待处理文件创建所述虚拟块设备。4.根据权利要求3所述的方法,其中,所述根据所述待处理文件创建所述虚拟块设备包括:将所述待处理文件的文件路径传入预先配置的文件接口,所述文件接口和所述文件路径用于查看所述待处理文件、将所述待处理文件设置为可创建虚拟块设备的文件以及删除所述虚拟块设备;锁定所述待处理文件,以使得所述待处理文件处于不可修改状态;确定所述待处理文件对应的虚拟块设备信息,所述虚拟块设备信息至少包括虚拟块设备标识;根据所述虚拟块设备信息更新设备树,以完成所述虚拟块设备的预创建;根据存储所述待处理文件的磁盘块设备扇区位置的标识、所述待处理文件的文件标识和所述虚拟块设备的虚拟块设备标识,建立所述预设的映射关系,以完成所述虚拟块设备的创建。5.根据权利要求4所述的方法,其中,所述锁定所述待处理文件,以使得所述待处理文件处于不可修改状态包括:解析所述待处理文件的文件路径,获取所述待处理文件的识别号;获取所述待处理文件的访问锁;根据所述识别号和所述访问锁设置所述待处理文件的文件属性,以使得所述待处理文件处于不可修改状态。6.根据权利要求1-5任一项所述的方法,其中,所述根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令包括:确定所述虚拟块设备的虚拟块设备标识;根据所述预设的映射关系和所述虚拟块设备的虚拟块设备标识确定对应的磁盘块设备扇区位置标识;根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令。7.根据权利要求6所述的方法,其中,所述第一文件操作指令和所述第二文件操作指令均为文件刷新操作指令,所述虚拟块设备的位置信息包括所述虚拟块设备标识,所述磁盘块设备的位置信息包括磁盘块设备标识,所述根据确定出的磁盘块设备扇区位置标识将所
述第一文件操作指令转换为所述第二文件操作指令包括:将所述第一文件操作指令中的所述虚拟块设备标识替换为与所述确定出的磁盘块设备扇区位置标识对应的所述磁盘块设备标识。8.根据权利要求6所述的方法,其中,所述第一文件操作指令和所述第二文件操作指令均为文件读写操作指令,所述虚拟块设备的位置信息包括虚拟块设备扇区位置标识,所述磁盘块设备的位置信息包括磁盘块设备扇区位置标识,所述根据确定出的磁盘块设备扇区位置标识将所述第一文件操作指令转换为所述第二文件操作指令包括:将所述第一文件操作指令中的所述虚拟块设备扇区位置标识替换为所述确定出的磁盘块设备扇区位置标识。9.一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8任一项所述的文件处理方法。10.一种计算机存储介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-8任一项所述的文件处理方法。
技术总结
本公开提供一种文件处理方法,包括:根据预设的映射关系将接收到的第一文件操作指令转换为第二文件操作指令,其中,第一文件操作指令包括虚拟块设备的位置信息,第二文件操作指令包括磁盘块设备的位置信息;将第二文件操作指令下发至磁盘块设备,以供磁盘块设备根据第二文件操作指令对与磁盘块设备的位置信息对应的待处理文件进行操作。将磁盘块设备上的文件虚拟成虚拟块设备,将针对虚拟块设备的文件操作转换为针对实际的磁盘块设备的文件操作,实现文件操作透传,访问效率高,性能影响小,速度接近于直接访问磁盘块设备,无需改变原本的磁盘分区和文件系统。本公开还提供一种文件处理装置、电子设备和计算机存储介质。电子设备和计算机存储介质。电子设备和计算机存储介质。
技术研发人员:杨涛 蒋学鑫 卢中军 刘嵩
受保护的技术使用者:中兴通讯股份有限公司
技术研发日:2022.03.03
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/