一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法及装置与流程

2022-08-17 16:31:44 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,更具体的说是涉及一种数据处理方法及装置。


背景技术:

2.docker容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上,例如,包括任何流行的linux机器或windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,可以很容易地在机器和数据中心运行。
3.存储性能开发套件(storage performance development kit,spkd)的vhost user方案是目前最新的演进方案,通过用户态的轮询模式驱动(polling mode driver)可以实现全用户态、端到端的i/o栈,在虚拟化中虚拟机退出(vm_exit)是比较大的开销,vhost user方案可以消除来访者(guest)i/o提交时的vm_exit开销,并且通过用户态i/o轮询(polling)实现减少中央处理器(central processing unit,cpu)上下文开销。然而,当guest i/o提交时,需要通过内核访问文件系统,任然会存在数据拷贝、上下文切换等开销,并且还会存在路径较长,延迟增加的问题。


技术实现要素:

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.解析单元,用于响应于接收到数据处理请求,对所述数据处理请求进行解析,得到解析结果;
35.发送单元,用于基于所述解析结果,将所述数据处理请求发送至所述虚拟文件系统,以使得所述虚拟文件系统在与容器对应的存储盘中执行与所述数据处理请求相匹配的处理操作。
36.一种数据处理装置,应用于虚拟文件系统,所述虚拟文件系统的接口与容器接口层连接,所述虚拟文件系统能够把处理操作映射到容器对应的存储盘中,所述装置包括:
37.第一确定单元,用于响应于接收到数据处理请求,确定与所述数据处理请求对应的目标操作;
38.第二确定单元,用于基于所述目标操作以及存储盘对应的初始文件索引信息,确
定目标文件索引信息;
39.操作单元,用于基于所述目标文件索引信息,对所述存储盘执行所述目标操作。
40.经由上述的技术方案可知,本技术公开了一种数据处理方法及装置,将虚拟文件系统对接到容器,当容器接口层接收到数据处理器请求,对数据处理请求进行解析后发送至虚拟文件系统,通过虚拟文件系统确定与数据处理请求对应的目标操作以及目标文件索引信息,使得虚拟文件系统基于目标文件索引信息对存储盘执行目标操作,实现了通过虚拟文件系统能够把处理操作映射到容器对应的存储盘中,可以实现全用户态访问,数据处理请求过程无内核开销,降低了资源开销和处理延迟。
附图说明
41.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
42.图1为本技术实施例提供的一种应用于容器接口层的数据处理方法的流程示意图;
43.图2为本技术实施例提供的一种应用于虚拟文件系统的数据处理方法的流程示意图;
44.图3为本技术实施例提供的一种应用场景的示意图;
45.图4为本技术实施例提供的一种应用于容器接口层的数据处理装置的结构示意图;
46.图5为本技术实施例提供的一种应用于虚拟文件系统的数据处理装置的结构示意图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.docker容器是一个开源的应用容器引擎,可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的linux机器、windows机器),也可以实现虚拟化。通过本技术实施例提供的数据处理方法实现用户态的虚拟文件系统,将该虚拟文件系统对接到docker容器中,将容器的文件系统请求转换为用户态的块请求,并通过相关接口将该请求发送到存储服务器,以使得通过存储服务器将请求对应的操作在存储盘上进行执行。
49.为了能够实现容器与虚拟文件系统的对接,本技术实施例中生成了容器接口层,使得通过容器接口层与虚拟文件系统的api(application programming interface,应用程序编程接口)层对接,实现将容器原有针对存储盘的数据处理器请求进行拦截以及后续的发送。
50.参见图1,为本技术实施例提供的一种应用于容器接口层的数据处理方法的流程示意图,该容器接口层直连虚拟文件系统,其中,虚拟文件系统为容器的存储盘对应用户态的文件系统,也可以是对应容器存储服务器的用户态文件系统。具体的,该方法可以包括以下步骤:
51.s101、响应于接收到数据处理请求,对数据处理请求进行解析,得到解析结果。
52.该数据处理请求是针对docker容器访问的文件请求,例如,针对docker容器对应的存储盘的新建文件请求、写入文件请求或者读取文件请求中的一种。
53.在本技术实施例中容器接收到数据处理请求后,并不是通过内核经由操作系统访问内核态文件系统后,再到存储盘。而是通过容器接口层对该数据处理请求进行拦截并解析,若是针对容器对应的存储盘的文件操作请求,则会将该数据处理请求直接透传至虚拟文件系统,而无需经过内核文件系统。
54.其中,对数据处理请求进行解析,主要是针对数据处理请求中的请求字段进行分析,以获得其是否为透传目录还是对操作进程的配置信息的获取,以得到解析结果,便于后续基于解析结果进行数据处理请求的发送操作。
55.s102、基于解析结果,将是数据处理请求发送至虚拟文件系统,以使得虚拟文件系统在与容器对应的存储盘中执行与数据处理请求相匹配的处理操作。
56.基于解析结果,确定数据处理请求是否为针对docker容器访问的文件请求,如果是,则将数据处理请求发送至虚拟文件系统。如果不是,可以按照预先设定的操作进程进行处理。
57.在一种实施方式中,所述基于解析结果,将数据处理请求发送至虚拟文件系统,包括:若解析结果为针对存储盘文件系统的透传目录,将数据处理请求发送至虚拟文件系统;若解析结果为针对容器进程的配置信息获取的解析信息,将数据处理请求发送至操作系统,以使得操作系统执行与数据处理请求相匹配的操作。
58.其中,透传目录是指针对存储盘的文件请求,即需要通过该数据处理请求对应的操作改变存储盘原有对应的文件索引的目录结构。若解析结果为针对容器进程的配置信息获取的解析信息,是指在容器正常运行过程中,或者容器的某些容器进程的执行过程中需要的配置信息,如接口配置信息、操作流程配置信息,通讯配置信息等。
59.具体的,可以通过容器接口层访问文件规则管理器,以通过该文件规则管理器的中的存储规则信息,对数据处理请求进行解析。由于容器接口层拦截的数据处理请求是针对docker容器访问的文件操作请求,文件可能是透传目录,也可以是docker容器运行所需的一些文件信息,为了实现全用户态的文件系统的访问,容器接口层主要是拦截透传的目录,因此文件规则管理器主要是可以基于实际的应用场景配置自定义规则,该自定义规则针对对哪些数据处理请求发送至虚拟文件系统,即可以根据文件规则管理器中的规则信息针对数据处理请求是进行操作转发还是直接按原有的操作流程进行传递,其中,原有的操作流程是指将数据处理请求通过操作系统进行处理,即通过操作系统访问内核态的文件系统,然后由内核态的文件系统对存储盘进行操作。
60.在本技术实施例的一种实现方式中,可以根据容器接口层的特征信息进行数据处理请求的发送,以保证数据处理请求的发送效率和准确性。具体的,将数据处理请求发送至虚拟文件系统,包括:获取容器接口层的配置信息;基于容器接口层的配置信息,将数据处
理请求发送至虚拟文件系统。
61.容器接口层的配置信息包括实现该容器接口层能够对接虚拟文件系统接口层的功能配置信息,如挂载配置信息、接口参数配置信息等。具体的,容器接口层可以通过动态库或者独立进程方式对接虚拟文件系统。例如,可以通过修改接口层的环境变量(如通过ld_perload方式进行环境变量的修改)的方式挂接docker进程,将数据处理请求进行过滤,如果是指定的透传目录,则转发到虚拟文件系统的接口层,否则直接按照原有的配置规则进行操作。还可以获取docker容器进程的文件的内存映像,获取内核态文件系统的导入接口,将该内核态文件系统的导入接口修改为容器接口层的接口信息。还可以通过接口进程对docker容器的文件系统操作接管,以转移到容器接口层。从而使得容器接口层能够基于上述配置信息,将数据处理请求发送至虚拟文件系统。
62.在本技术实施例中能够通过容器接口层对数据处理请求进行拦截和解析,以通过解析结果将数据处理请求发送到用户态的虚拟文件系统,无需经过内核态的文件系统访问对应存储服务器或者存储盘,降低了开销和延迟。
63.为了能够更好地通过虚拟文件系统对接存储服务器或者存储盘,可以配置虚拟文件系统对应的操作,完成虚拟文件系统通过块接口完成对存储盘的操作。
64.具体的,参见图2,为本技术实施例提供的一种应用于虚拟文件系统的数据处理方法的流程示意图,其中,虚拟文件系统的接口与容器接口层连接,虚拟文件系统能够把处理操作映射到容器对应的存储盘中,具体的该方法可以包括以下步骤:
65.s201、响应于接收到数据处理请求,确定与数据处理请求对应的目标操作。
66.可以通过虚拟文件系统的api层对数据处理请求进行解析,以获得该数据处理请求针对文件的处理需求信息,根据该处理需求信息确定目标操作,目标操作可以包括针对磁盘或者存储盘的文件创建操作、打开操作、目录更新操作、文件读取操作或者文件写入操作等。
67.s202、基于目标操作以及存储盘对应的初始文件索引信息,确定目标索引信息。
68.存储盘对应的初始文件索引信息能够表征存储盘中原有文件的结构信息,如原有文件的层级结构、从属结构或者空间的空间信息等。目标操作可以是针对文件的操作,若是文件创建操作,可以确定新建文件所在存储盘中的位置信息,然后根据该位置信息与初始文件索引信息,确定目标文件索引信息。通过该目标文件索引信息能够确定新创建文件的位置,以便于后续对存储盘的操作。
69.s103、基于目标文件索引信息,对存储盘执行目标操作。
70.基于确定的目标文件索引信息,确定出数据处理请求在存储盘中对应的操作区域,在该操作区域进行文件创建或者写入,也可以提取该操作区域的文件进行文件读取。
71.在本技术实施例中通过虚拟文件系统对接容器,将虚拟块设备转换为文件系统接口服务,将上层的文件系统请求转换成对应底层的块接口,实现用户态的访问,降低了开销和延迟。
72.下面以目标操作为不同的操作对本技术实施例中应用于虚拟文件系统的数据处理方法进行说明。
73.在一种实施方式中,目标操作包括创建文件操作,其中,基于目标操作以及存储盘对应的初始文件索引信息,确定目标文件索引信息,包括:
74.基于创建文件操作,确定创建文件的路径信息;
75.基于创建文件的路径信息和存储盘对应的初始文件索引信息,确定目标文件索引信息,其中,目标索引信息包括待创建的文件在存储盘中的存储块信息,以及索引层级节点信息。
76.基于创建文件的路径信息和存储盘对应的初始文件索引信息,可以确定u将新建的文件存储的位置,以及对应修改的初始文件索引信息的父目录或者子目录的相关信息。
77.在另一种实施方式中,目标操作包括写入文件操作,所述基于目标操作以及存储盘对应的初始文件索引信息,确定目标文件索引信息,包括:基于写入文件操作,确定待写入文件对应的写入路径;基于写入路径以及存储盘对应的初始文件索引信息,确定待写入的存储块;若待写入的存储块的存储大小满足所述待写入文件的大小,将所述存储块对应的索引信息确定为目标文件索引信息;若所述待写入的存储块的大小不满足所述待写入文件的大小,将所述存储盘中满足所述待写入文件的目标存储块的索引信息确定为目标文件索引信息。
78.可以通过虚拟文件系统中的处理模块分析待写入文件的大小,以及对应的写入路径,从而进一步确定该写入路径对应的存储块的大小是否满足该待写入文件的大小,如果满足直接写入,如果不满足需要确定对应的存储区域,并更新文件索引信息得到目标文件索引信息。实现了通过虚拟文件系统进行存储空间分配,进一步还可以对文件元数据和数据进行组织管理和回收。
79.在另一种实施方式中,目标操作操作包括读取文件操作,所述基于目标操作以及存储盘对应的初始文件索引信息,确定目标索引信息,包括:基于读取文件操作,确定读取文件的路径信息;基于读取文件的路径信息和存储盘对应的初始文件索引信息,确定目标文件索引信息。其中,目标文件索引信息包括读取文件是否会改变又有的初始文件索引信息,如果是,更新初始文件索引信息得到目标文件索引信息。如果不改变,仅是在初始文件索引信息中的索引信息进行标记,如文件从未读状态改为已读状态等。
80.由于容器对应的存储盘可以是本地存储盘也可以是网络存储盘,因此,虚拟文件系统对应的接口层也可以连接本地存储盘,还可以是网络存储盘。因此,当通过虚拟文件系统对存储盘进行操作时,需要根据其对应的存储盘的特征调用对应的接口,如是本地接口还是网络接口等。具体的,所述基于秒文件索引信息,对存储盘执行目标操作,包括:获取存储盘的属性信息,基于属性信息,确定存储盘与虚拟文件系统的连接配置信息;基于连接配置信息和目标文件索引信息,对存储盘执行目标操作。
81.其中,存储盘的属性信息可以包括存储盘的大小信息、接口配置信息和位置信息。例如,根据接口配置信息可以确定存储盘是为本地存储盘还是网络存储盘。当有不同的属性时,虚拟文件操作系统还可以基于不同的接口或者处理进程执行与之对应的目标操作,如是网络存储盘,虚拟文件系统可以通过网络接口层访问该网络存储盘。
82.为了能够实现容器接口层和虚拟文件系统的处理流程,在本技术实施例中还可以包括连接容器接口层和虚拟文件系统的主体服务模块,该主体服务模块用于支撑各个模块的运行的进程实体,运行于用户态,也可以是一个组件,直接内置与分布式存储、虚拟化存储的软件进程中。
83.对应的,虚拟文件系统中的接口层对应的块存储模块可以是客户端,具体的,块存
储客户端用于连接网络存储的逻辑卷,可以是私有的接口,也可以是一个vhost(虚拟主机)的用户态客户端,该客户端用于根据需要连接本机vhost target(虚拟主机服务端),并在本模块抽象成内存中的块设备,提供块设备相关接口,还可以是一个nvme-of(nvme over fabric,非易失性内存主机控制接口规范的架构之上)的用户态客户端,该客户单用于根据需要连接远程nvme-of target,并在本模块抽象成内存中的块设备,提供块设备相关接口,向上提供块服务接口,包括取容量、读和写等操作。
84.对应的,在虚拟文件系统的执行主体上如服务器上设置通讯模块,通讯模块用于连接虚拟文件系统和容器接口层以及其他各个部分,当它们处在相同进程时可以是函数直接调用,而非相同进程时可以通过共享内存的方式相互交互。
85.在本技术实施例中,虚拟文件系统可以包括虚拟文件系统api层,该层主要是确定数据处理请求对应的目标操作,目标操作包括文件创建、文件打开、文件索引目录更新、读取文件或者写入文件。虚拟文件系统还可以包括文件系统空间分配器,其用于对文件元数据和数据进行组织管理和回收。还可以包括文件系统索引,用于索引文件的结构,可以采用b树、哈希值实现文件的检索、列举、打开等操作以及从所需的文件描述符到文件路径的映射。
86.参见图3,为本技术实施例提供的一种场景应用示意图,在应用场景中包括应用程序(app),该应用程序是容器内的应用程序,在容器内的应用程序操作文件系统时请求转化为用户态的块请求,该块请求是指对存储盘中某个存储块区域的访问请求或者操作请求。可以将该块请求直接通过存储盘的接口对接到存储盘,在该存储盘上进行相关的操作。对应的,要执行该应用程序需要包括容器、虚拟文件系统以及存储盘对应的接口,在图3左侧是存储盘为网络存储盘,如通过网络接口(nic)连接到存储局域网(san),访问在该存储局域网内的存储盘。在图3右侧存储盘是本地存储盘,通过本地存储接口连接本次存储盘(如,nvme,非易失性内存存储盘)。通过容器接口层和虚拟文件系统连接本机的虚拟存储卷或者远程的nvme-of服务器到docker容器,在容器内的应用程序操作文件系统时不必经过宿主机内核,降低开销和延迟。
87.以创建文件的流程为例,当用户在docker容器中创建文件时,docker进程根据用户请求在其原始对应的文件系统api层执行创建操作。在本技术实施例中容器接口层拦截到该docker进程的创建操作,并根据文件规则判断,如果不是透传目录则放行按照原有逻辑进行,否则传递到虚拟文件系统层。容器接口层和虚拟文件系统还可以包括一个进程间通讯模块,该模块用于实现docker进程和对应模块进程之间通讯。虚拟文件系统根据文件路径创建文件索引,创建索引时包括通过空间分配器分配相应的逻辑块,并将索引信息写入到下层块存储逻辑的逻辑块,创建文件系统的索引包括穿件传统的索引信息,也包括是kv(key-value,键-值)系统的kv记录。逻辑块可以是磁盘扇区,通过索引方式创建文件节点,还可能对父目录的目录表进行修改。将所创建的逻辑块的修改以及对应父目录表的修改,通过块存储协议写入到下层块存储设备。下层的块存储设备是个逻辑上的、用户态的块存储,可以是私有的读写接口,也可以是nvme-of等用户态客户端。如果是私有读写接口则直接调用块存储写入接口进行写入;如果是nvme-of等网络的用户态客户端,还包括通过通过远程操作写入数据到远端的nvme-of服务端。同时还可以是本地存储盘,如果是本地存储盘,还包括通过本地存储盘盘的用户态驱动进行本地盘的写入;还可以是vhost客户端,通
过vhost接口写入到vhost服务端。写入完成后,建立内存的文件系统索引来对应文件描述符到文件路径。
88.对应的,写文件流程包括:写入前用户在docker容器中写入文件前需要创建或者打开现有文件,创建过程如上;打开文件时,docker进程将请求发送到本发明的接口层进行判断判断是透传的目录则通过虚拟文件系统执行打开操作,并建立文件索引。用户在容器中对文件进行写入操作,docker容器根据用户的请求通过api层发送到容器接口层,由于读写文件接口本身只有文件描述符,而没有文件名或者路径,因此需要根据上述索引进行查询,得到创建或打开时的文件路径,并用该路径和规则管理器进行判断,判断是否透传至文件系统,若将写请求传递到虚拟文件系统层,如果写入位置超过文件大小,则可能还对应文件扩展操作,通过文件空间分配器对改文件分配逻辑空间。写操作进行时,将写操作的偏移和长度换算成块存储所在的逻辑块地址,将请求的数据缓冲区通过下层块存储的接口写入到转换后的逻辑块地址,后续写入过程同上举例中的文件创建过程。
89.对应的,本技术实施例还可以应用在网络存储的应用场景中,采用vhost接口作为存储卷导出协议,部署采用双节点超融合,即每台服务器既是存储服务器,也是docker容器的计算节点,存储介质采用本地nvme盘。
90.在该应用场景中,存储进程采用软件定义存储的方式将本地节点和远程节点的nvme盘进行逻辑划分,以副本的形式创建逻辑卷,并通过块接口导出,块接口包括基本的块访问命令,读、写和获取容量。虚拟文件系统,如上文所述用于将块存储以文件的方式进行组织,并将文件的操作请求转换为块的操作请求。容器挂接模块,采用动态库的方式(.so),该模块上层用于对接docker容器,下层对接存储进程的逻辑卷接口。启动docker容器时通过修改环境变量方式附加到docker容器,并拦截全部文件系统api,包括打开、创建、写入、读取等,由于docker进程也要访问系统以及自身一些文件,所以需要加入规则,当操作的目录和文件是属于透传的目录,则将文件系统api请求转发到虚拟文件系统,否则就直接按原有执行方式执行。以上三个模块间的通讯可以是api直接调用(同一个进程),也可以是进程间通过共享内存进行交互。
91.当用户使用docker容器访问透传的文件目录时,实际操作的是虚拟文件系统的目录,如创建文件时,即在虚拟文件系统中创建文件索引(如inode),并写入到逻辑卷,当进行写文件时,传统的写入方式是将文件通过api调用到linux系统内核的文件系统(vfs)模块,并进行一系列转换最终通过网络接口将数据写入到本机,在本技术实施例,文件系统的写入操作,直接通过虚拟文件系统操作逻辑卷,从而直接写入到本地的nvme盘,而本地的nvme盘可以通过spdk(storage performance development kit,用于使用nvme ssd作为后端存储的应用软件加速库)的用户态技术,不经过内核写入,极大地降低了开销。
92.参见图4,为本技术实施例提供的一种应用于容器接口层的数据处理装置的结构示意图,该装置包括:
93.解析单元401,用于响应于接收到数据处理请求,对所述数据处理请求进行解析,得到解析结果;
94.发送单元402,用于基于所述解析结果,将所述数据处理请求发送至所述虚拟文件系统,以使得所述虚拟文件系统在与容器对应的存储盘中执行与所述数据处理请求相匹配的处理操作。
95.在一种实施方式中,发送单元包括:
96.第一子发送单元,用于若所述解析结果为针对存储盘文件系统的透传目录,将所述数据处理请求发送至所述虚拟文件系统;
97.第二发送子单元,用于若所述解析结果为针对容器进程的配置信息获取的解析信息,将所述数据处理请求发送至操作系统,以使得所述操作系统执行与所述数据处理请求相匹配的操作。
98.可选地,发送单元具体用于:
99.获取所述容器接口层的配置信息;
100.基于所述容器接口层的配置信息,将所述数据处理请求发送至虚拟文件系统。
101.参见图5,在本技术实施例中还提供了一种应用于虚拟文件系统的数据处理装置,该装置可以包括:
102.第一确定单元501,用于响应于接收到数据处理请求,确定与所述数据处理请求对应的目标操作;
103.第二确定单元502,用于基于所述目标操作以及存储盘对应的初始文件索引信息,确定目标文件索引信息;
104.操作单元503,用于基于所述目标文件索引信息,对所述存储盘执行所述目标操作。
105.在一种实施方式中,当第一确定单元中的所述目标操作包括创建文件操作,其中,第二确定单元具体用于:
106.基于所述创建文件操作,确定创建文件的路径信息;
107.基于所述创建文件的路径信息和存储盘对应的初始文件索引信息,确定目标文件索引信息,所述目标文件索引信息包括待创建的文件在所述存储盘中的存储块信息,以及索引层级节点信息。
108.在一种实施方式中,当第一确定单元中的目标操作包括写入文件操作,其中,第二确定单元具体用于:
109.基于所述写入文件操作,确定待写入文件对应的写入路径;
110.基于所述写入路径以及存储盘对应的初始文件索引信息,确定待写入的存储块;
111.若所述待写入的存储块的存储大小满足所述待写入文件的大小,将所述存储块对应的索引信息确定为目标文件索引信息;
112.若所述待写入的存储块的大小不满足所述待写入文件的大小,将所述存储盘中满足所述待写入文件的目标存储块的索引信息确定为目标文件索引信息。
113.在另一种实施方式中,当第一确定单元中的目标操作包括读取文件操作,其中,第二确定单元具体用于:
114.基于所述读取文件操作,确定读取文件的路径信息;
115.基于所述读取文件的路径信息和存储盘对应的初始文件索引信息,确定目标文件索引信息。
116.在一种实施方式中,操作单元具体用于:
117.获取所述存储盘的属性信息;
118.基于所述属性信息,确定所述存储盘与所述虚拟文件系统的连接配置信息;
119.基于所述连接配置信息和所述目标文件索引信息,对所述存储盘执行所述目标操作。
120.需要说明的是,本实施例中各个单元以及子单元的具体实现可以参考前文中的相应内容,此处不再详述。
121.在本技术的另一实施例中,还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的数据处理方法各个步骤。
122.在本技术的另一实施例中,还提供了一种电子设备,所述电子设备可以包括:
123.存储器,用于存储应用程序和所述应用程序运行所产生的数据;
124.处理器,用于执行所述应用程序,以实现如上述中任一项所述数据处理方法。
125.需要说明的是,本实施例中处理器的具体实现可以参考前文中的相应内容,此处不再详述。
126.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
127.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
128.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
129.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献