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

存储系统精简卷的数据处理方法、装置、设备及存储介质与流程

2023-02-01 23:46:38 来源:中国专利 TAG:


1.本发明实施例涉及存储技术领域,特别是涉及一种存储系统精简卷的数据处理方法、一种存储系统精简卷的数据处理装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.为了适应当前的客户需要,当前很多存储系统都提供了自精简卷。具体地,自动精简配置是一种卷的容量虚拟化技术,其核心思想在于在空间在写时分配,数据都是以追加写的方式进行空间分配。因此引入了元数据的概念,当在精简卷中进行数据插入的时候会有一个元数据,当数据进行读取的时候,需要基于元数据进行读盘得到真正的数据。
3.目前大部分存储系统精简卷的实现方式是基于双控,一个控制器节点作为主控制器节点,即owner端,由该控制器提供数据的读写服务,另一个控制器作为备控制器节点,即backup端,提供数据和元数据的镜像备份功能,在主控制器节点发生故障的时候进行业务接管。其中,元数据为根据精简卷的地址分配和容量统计进行分配,在正常写io(input/output,输入输出)的过程中精简卷的地址分配和容量统计都是在单个控制器节点上,当单个控制器节点,例如主控制器节点发生故障的时候,就存在如何有效进行精简卷的地址分配和容量统计的问题。


技术实现要素:

4.本发明实施例是提供一种存储系统精简卷的数据处理方法、装置、电子设备以及计算机可读存储介质,以解决在如何有效进行精简卷的地址分配和容量统计的问题。
5.本发明实施例公开了一种存储系统精简卷的数据处理方法,所述方法包括:
6.针对存储系统创建双控集群和精简卷;其中,所述精简卷在所述双控集群中分别具有对应的主控制器节点和备控制器节点;
7.当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据;其中,所述元数据用于在所述目标精简卷中存储所述写请求对应的数据;
8.根据所述目标精简卷的所述元数据更新所述目标精简卷对应的所述地址分配数据和所述容量统计数据;
9.将所述目标精简卷更新后的所述地址分配数据和所述容量统计数据同步至所述目标精简卷对应的备控制器节点。
10.在本发明的一种可选实施例中,在所述将所述目标精简卷更新后的所述地址分配数据和所述容量统计数据同步至所述目标精简卷对应的备控制器节点之后,所述方法还包括:
11.当所述目标精简卷对应的主控制器节点发生故障时,将所述目标精简卷对应的备控制器节点作为所述目标精简卷的所述主控制器节点。
12.在本发明的一种可选实施例中,所述当目标精简卷对应的主控制器节点接收到写
请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据,包括:
13.当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据,分配所述目标精简卷的数据地址和元数据地址;其中,所述数据地址为在所述目标精简卷存储所述写请求对应的数据的地址,所述元数据地址用于索引至所述数据地址。
14.在本发明的一种可选实施例中,在所述当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据之前,所述方法还包括:
15.当所述目标精简卷对应的备控制器节点接收到写请求时,所述目标精简卷对应的主控制器节点接收到所述目标精简卷对应的备控制器节点转发的所述写请求。
16.在本发明的一种可选实施例中,在所述当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据之后,所述方法还包括:
17.将所述目标精简卷的所述元数据按照b tree结构进行存储。
18.在本发明的一种可选实施例中,在所述当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据之后,所述方法还包括:
19.将所述目标精简卷的所述元数据同步至所述目标精简卷对应的备控制器节点。
20.在本发明的一种可选实施例中,在所述当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据之后,所述方法还包括:
21.当所述目标精简卷对应的主控制器节点接收到读请求时,从所述读请求中获取目标元数据地址;
22.从所述目标精简卷的元数据中确定所述目标元数据地址对应的目标数据地址;
23.根据所述目标数据地址从所述目标精简卷中读取对应的数据。
24.本发明实施例还公开了一种存储系统精简卷的数据处理装置,所述装置包括:
25.创建模块,用于针对存储系统创建双控集群和精简卷;其中,所述精简卷在所述双控集群中分别具有对应的主控制器节点和备控制器节点;
26.分配模块,用于当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据;其中,所述元数据用于在所述目标精简卷中存储所述写请求对应的数据;
27.更新模块,用于根据所述目标精简卷的所述元数据更新所述目标精简卷对应的所述地址分配数据和所述容量统计数据;
28.同步模块,用于将所述目标精简卷更新后的所述地址分配数据和所述容量统计数据同步至所述目标精简卷对应的备控制器节点。
29.在本发明的一种可选实施例中,所述装置还包括:接管模块,用于:
30.当所述目标精简卷对应的主控制器节点发生故障时,将所述目标精简卷对应的备控制器节点作为所述目标精简卷的所述主控制器节点。
31.在本发明的一种可选实施例中,所述分配模块,用于:
32.当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据,分配所述目标精简卷的数据地址和元数据地址;其中,所述数据地址为在所述目标精简卷存储所述写请求对应的数据的地址,所述元数据地址用于索引至所述数据地址。
33.在本发明的一种可选实施例中,所述装置还包括:转发模块,用于:
34.当所述目标精简卷对应的备控制器节点接收到写请求时,所述目标精简卷对应的主控制器节点接收到所述目标精简卷对应的备控制器节点转发的所述写请求。
35.在本发明的一种可选实施例中,所述装置还包括:存储模块,用于:
36.将所述目标精简卷的所述元数据按照b tree结构进行存储。
37.在本发明的一种可选实施例中,所述装置还包括:一致模块,用于:
38.将所述目标精简卷的所述元数据同步至所述目标精简卷对应的备控制器节点。
39.在本发明的一种可选实施例中,所述装置还包括:读取模块,用于:
40.当所述目标精简卷对应的主控制器节点接收到读请求时,从所述读请求中获取目标元数据地址;
41.从所述目标精简卷的元数据中确定所述目标元数据地址对应的目标数据地址;
42.根据所述目标数据地址从所述目标精简卷中读取对应的数据。
43.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
44.所述存储器,用于存放计算机程序;
45.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
46.本发明实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行以实现如本发明实施例所述的方法。
47.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
48.本发明实施例包括以下优点:
49.在本发明实施例中,针对存储系统创建双控集群和精简卷,其中,精简卷在双控集群中分别具有对应的主控制器节点和备控制器节点,当目标精简卷对应的主控制器节点接收到写请求时,根据目标精简卷对应的地址分配数据和容量统计数据分配目标精简卷的元数据,其中,元数据用于在目标精简卷中存储写请求对应的数据,然后,就可以根据目标精简卷的元数据更新目标精简卷对应的地址分配数据和容量统计数据,并将更新后的地址分配数据和容量统计数据同步至目标精简卷对应的备控制器节点,使得目标精简卷的主控制器节点和备控制器节点都可以得到目标精简卷的地址分配数据和容量统计数据。本发明实施例中目标精简卷的主控制器节点和备控制器节点,可以保持目标精简卷的地址分配数据和容量统计数据的一致性,如此,即使在双控集群中的单个控制器节点出现故障,双控集群中未出现故障的控制器节点可以接管故障的控制器节点,仍然可以基于目标精简卷对应的地址分配数据和容量统计数据来继续有效分配目标精简卷的元数据,提高存储系统精简卷
地址分配和容量统计的精准度。
附图说明
50.图1是本发明实施例中提供的一种应用环境的示意图;
51.图2是本发明实施例中提供的一种存储系统精简卷的数据处理方法的步骤流程图;
52.图3是本发明实施例中提供的另一种存储系统精简卷的数据处理方法的步骤流程图;
53.图4是本发明实施例中提供的一种存储系统精简卷的数据处理装置的结构框图;
54.图5是实现本发明各个实施例的一种电子设备的硬件结构示意图。
具体实施方式
55.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
56.在具体实现中,存储系统精简卷的实现方式是基于双控,即,一个控制器作为主控制器节点,即owner端,由该控制器节点提供数据的读写服务,另一个控制器节点作为非owner端,由该控制器节点提供数据和元数据的镜像备份功能,在发生故障的时候非owner端可以进行业务接管。在正常写io的过程中精简卷的地址分配和容量统计都是在单个控制器节点上,当单个控制器发生故障的时候,就需要考虑如何进行有效地址分配和容量统计的问题。
57.基于以上问题,本发明实施例提出了一种存储系统精简卷的数据处理方法,当控制器接收到写io的时候,第一步会在owner端进行对应元数据的分配,第二步将元数据插入到缓存空间中,第三步将元数据进行双控间镜像,第四步在缓存镜像结束之后将更新的地址分配数据和容量统计数据更新到双控集群,双控集群采用paxos算法等一致性算法来保证双控集群内每一个控制器节点的数据一致性。其中,存储系统中通过保证数据一致性,可以保证在单个控制器节点发生故障的情况下,非owner端的控制器节点可以接管owner端的控制器节点对地址分配和容量统计的职责,保证地址分配和容量统计的一致性,不会丢失数据,提高了存储系统的可靠性。
58.本发明实施例所提供的存储系统精简卷的数据处理方法,可以应用于如图1所示的应用环境中。其中,精简卷在双控集群中分别具有对应的主控制器节点101和备控制器节点102;当目标精简卷对应的主控制器节点101接收到写请求时,根据目标精简卷对应的地址分配数据和容量统计数据分配目标精简卷的元数据;其中,元数据用于在目标精简卷中存储写请求对应的数据;根据目标精简卷的元数据更新目标精简卷对应的地址分配数据和容量统计数据;将目标精简卷更新后的地址分配数据和容量统计数据同步至目标精简卷对应的备控制器节点102。
59.实际应用中,主控制器节点101和备控制器节点102可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、车载终端、便携式可穿戴设备和服务器,其中,服务器可以是独立运行的服务器,或者由多个服务器组成的服务器集群,服务器可以是云端服务器。
60.参照图2,示出了本发明实施例中提供的一种存储系统精简卷的数据处理方法的步骤流程图,具体可以包括如下步骤:
61.步骤201、针对存储系统创建双控集群和精简卷;其中,所述精简卷在所述双控集群中分别具有对应的主控制器节点和备控制器节点。
62.在本发明实施例中,创建存储系统的双控集群和精简卷,其中,双控集群中可以包括多个控制器节点,在这些控制节点中,每个精简卷都分别具有对应的主控制器节点(owner端),以及对应的备控制器节点(backup端)。
63.自精简卷是为了实现更高的双控集群的存储系统的存储容量利用率。具体地,自精简卷是指的一种硬盘上的卷(即硬盘上的存储空间)的容量虚拟化技术,自精简卷的核心是写前精简卷的地址分配。精简卷是硬盘上的一个虚拟的卷,因此在创建精简卷的时候并不会为用户分配所有的容量,仅当用户对精简卷进行写操作的时候才会写前分配,为要写入的地址分配实际的物理空间,如此,通过应用于自精简卷,可以最大限度充分利用存储系统的存储空间。
64.在具体实现中,在存储系统中创建有多个精简卷时,每个精简卷采用的是边使用边分配的方式,也正是如此,每个精简卷的实际存储空间中的分布并不是连续的,因此,精简卷的实现需要引入元数据的概念。lba(logical block address,元数据地址/逻辑地址),是存储系统上用来表示数据所在位置的通用机制,最常见到使用元数据地址的是硬盘,pba(physics block address,数据地址/物理地址),是存储系统中存储空间的实际地址。具体地,当进行数据插入的时候会有一个lba(元数据地址)-》pba(数据地址)的元数据,当数据进行读取的时候,需要先根据元数据地址基于元数据确定到数据地址,才能进一步拿着数据地址进行读盘得到真正的数据。
65.步骤202、当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据;其中,所述元数据用于在所述目标精简卷中存储所述写请求对应的数据。
66.其中,每个精简卷分别具有对应的地址分配数据和容量统计数据,基于地址分配数据和容量统计数据可以为分配该精简卷的元数据,具体地,地址分配数据是指的该精简卷已经分配了哪些元数据地址和数据地址,容量统计数据是指的该精简卷还有多少剩余的容量可以进行分配。
67.在本发明实施例中,当目标精简卷对应的主控制器节点接收到控制器节点发送的写请求时,可以根据该目标精简卷对应的地址分配数据和容量统计数据分配目标精简卷的元数据,从而可以根据该元数据在目标精简卷中存储写请求对应的数据。
68.步骤203、根据所述目标精简卷的所述元数据更新所述目标精简卷对应的所述地址分配数据和所述容量统计数据。
69.在实际应用中,当根据目标精简卷对应的地址分配数据和容量统计数据分配目标精简卷的元数据后,则需要根据元数据对该目标精简卷对应的地址分配数据和容量统计数据进行更新,便于后续可以根据更新后的地址分配数据和容量统计数据为其他写请求分配对应的元数据。
70.步骤204、将所述目标精简卷更新后的所述地址分配数据和所述容量统计数据同步至所述目标精简卷对应的备控制器节点。
71.在本发明实施例中,当目标精简卷对应的主控制器节点更新了地址分配数据和容量统计数据后,可以将更新后的地址分配数据和容量统计数据更新至双控集群中。其中,双控集群集群采用paxos算法来保证双控集群内每一个控制器节点的数据一致性。其中,paxos算法是莱斯利
·
兰伯特、提出的一种基于消息传递的一致性算法,本发明实施例通过应用该算法可以保证双控集群的控制器节点的元数据、地址分配数据和容量统计数据等其他数据的一致性。
72.当然,本发明实施例也可以采用其他方式来保证双控集群中的数据一致性,例如采用raft算法、zab算法和gossip算法等等,使得在双控集群中的某个控制器节点故障后,其他的控制器节点能够基于一致性的数据来正常接管故障的控制器节点的业务即可,本发明实施例对此无需加以限制。
73.在本发明实施例中,针对存储系统创建双控集群和精简卷,其中,精简卷在双控集群中分别具有对应的主控制器节点和备控制器节点,当目标精简卷对应的主控制器节点接收到写请求时,根据目标精简卷对应的地址分配数据和容量统计数据分配目标精简卷的元数据,其中,元数据用于在目标精简卷中存储写请求对应的数据,然后,就可以根据目标精简卷的元数据更新目标精简卷对应的地址分配数据和容量统计数据,并将更新后的地址分配数据和容量统计数据同步至目标精简卷对应的备控制器节点,使得目标精简卷的主控制器节点和备控制器节点都可以得到目标精简卷的地址分配数据和容量统计数据。本发明实施例中目标精简卷的主控制器节点和备控制器节点,可以保持目标精简卷的地址分配数据和容量统计数据的一致性,如此,即使在双控集群中的单个控制器节点出现故障,双控集群中未出现故障的控制器节点可以接管故障的控制器节点,仍然可以基于目标精简卷对应的地址分配数据和容量统计数据来继续有效分配目标精简卷的元数据,提高存储系统精简卷地址分配和容量统计的精准度。
74.参照图3,示出了本发明实施例中提供的另一种存储系统精简卷的数据处理方法的步骤流程图,具体可以包括如下步骤:
75.步骤301、针对存储系统创建双控集群和精简卷;其中,所述精简卷在所述双控集群中分别具有对应的主控制器节点和备控制器节点。
76.步骤302、当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据;其中,所述元数据用于在所述目标精简卷中存储所述写请求对应的数据。
77.在本发明实施例中,当目标精简卷对应的主控制器节点接收到控制器节点发送的写请求时,可以获取该目标精简卷对应的地址分配数据和容量统计数据,从而可以根据该目标精简卷对应的地址分配数据和容量统计数据来准确分配目标精简卷的元数据,进而可以根据该元数据在目标精简卷中存储写请求对应的数据。
78.在本发明的一种可选实施例中,在所述步骤302、当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据之前,所述方法还可以包括:
79.当所述目标精简卷对应的备控制器节点接收到写请求时,所述目标精简卷对应的主控制器节点接收到所述目标精简卷对应的备控制器节点转发的所述写请求。
80.在本发明实施例中,若接收到写请求的是目标精简卷对应的主控制器节点,可以
直接根据目标精简卷对应的地址分配数据和容量统计数据,来分配目标精简卷的元数据,若接收到写请求的是目标精简卷对应的备控制器节点,则目标精简卷对应的备控制器节点可以将该写请求转发至主控制器节点,从而使得主控制器节点可以根据目标精简卷对应的地址分配数据和容量统计数据,来分配目标精简卷的元数据。
81.在本发明的一种可选实施例中,所述步骤302、当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据,可以包括如下步骤:
82.当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据,分配所述目标精简卷的数据地址和元数据地址。
83.其中,元数据可以包括数据地址和元数据地址。具体地,所述数据地址为在所述目标精简卷存储所述写请求对应的数据的地址,所述元数据地址用于索引至所述数据地址
84.在本发明实施例中,当目标精简卷对应的主控制器节点接收到写请求时,可以根据目标精简卷对应的地址分配数据和容量统计数据分配目标精简卷的,分配目标精简卷的数据地址和元数据地址,使得可以将该写请求对应的数据写入数据地址对应的精简卷中,以及,在需要读取数据时,可以根据元数据地址从元数据中查找到对应的数据地址,进而可以根据数据地址从精简卷中获取到对应的数据。
85.在本发明的一种可选实施例中,在所述步骤302、当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据之后,所述方法还可以包括:
86.将所述目标精简卷的所述元数据按照b tree结构进行存储。
87.其中,b tree是b-tree变种,是一种数据存储结构。本发明实施例中,可以通过使用b tree结构来存储目标精简卷的元数据,如此,可以使得元数据的查询效率提高,从而提升双控集群的存储效率或者读取效率。
88.当然,在实际应用中也可以采用除b tree结构之外的其他结构存储元数据,只需要能够保证实现元数据的高效率查询即可,本发明实施例对此无需加以限制。
89.步骤303、将所述目标精简卷的所述元数据同步至所述目标精简卷对应的备控制器节点。
90.在本发明实施例中,当目标精简卷的主控制器节点分配配好数据地址和元数据地址之后,会目标精简卷的主控制器节点插入元数据的写缓存,并且,在目标精简卷的主控制器节点插入完成写缓存之后,写缓存会被镜像到目标精简卷的备控制器节点,以此来防止单个控制器节点故障之后写缓存丢失。
91.步骤304、根据所述目标精简卷的所述元数据更新所述目标精简卷对应的所述地址分配数据和所述容量统计数据。
92.步骤305、将所述目标精简卷更新后的所述地址分配数据和所述容量统计数据同步至所述目标精简卷对应的备控制器节点。
93.步骤306、当所述目标精简卷对应的主控制器节点发生故障时,将所述目标精简卷对应的备控制器节点作为所述目标精简卷的所述主控制器节点。
94.在本发明的一种可选实施例中,在所述步骤302、当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目
标精简卷的元数据之后,所述方法还包括:
95.当所述目标精简卷对应的主控制器节点接收到读请求时,从所述读请求中获取目标元数据地址;
96.从所述目标精简卷的元数据中确定所述目标元数据地址对应的目标数据地址;
97.根据所述目标数据地址从所述目标精简卷中读取对应的数据。
98.在本发明实施例中,当双控集群中的控制器节点想要从目标精简卷中读取数据时,可以向目标精简卷对应的主控制器节点发送读请求,当目标精简卷对应的主控制器节点接收到读请求时,可以从读请求中获取目标元数据地址,然后,从目标精简卷的元数据中确定目标元数据地址对应的目标数据地址,从而可以根据目标数据地址从目标精简卷中读取对应的数据,实现了精简卷的数据的读取。
99.本发明实施例的关键点在于,提出一种存储系统精简卷多控制器容量分配的一致性方法,基于该方法可以有效保证存储系统地址分配和容量在故障场景下的一致性,减少容量浪费丢失,提高存储系统的可靠性。
100.为了使本领域技术人员更好地理解本发明实施例,以下采用一个具体示例进行说明。具体地,本发明实施例提供了一种存储系统精简卷多控制器容量分配的一致性方法,该方法具体实施过程可以按照以下步骤进行:
101.第一步,为存储系统创建一个双控集群,并创建精简卷,创建完成的精简卷在一个控制器节点上是owner端(主控制器节点),在另一个控制器节点上是非owner端(备控制器节点);
102.第二步,处理双控集群的控制器节点的写请求,当写请求来自非owner端的时候,会由非owner端的上层模块进行数据转发,转发到owner端对该写请求进行处理;
103.第三步,来自控制器节点的写请求的数据会在对应精简卷的owner端进行数据地址和元数据地址的分配;
104.第四步,分配好数据地址和元数据地址之后,会在owner端插入元数据的写缓存,其中,元数据的组织格式可以是b tree;
105.第五步,在owner端插入完成写缓存之后,写缓存会被镜像到非owner端,以此来防止单个控制器节点发生故障之后写缓存丢失;
106.第六步,在完成写缓存镜像之后,会owner端会往集群更新地址分配数据和容量统计数据;
107.第七步,当发生单个控制器节点故障,例如主控制器节点故障的时候,被更新到双控集群的地址分配数据和容量统计数据会被反向更新到非owner端上,来保证地址分配和容量统计的一致性。
108.应用本发明实施例,利用双控集群中保证地址分配和容量统计的同步更新,来保证故障发生时候,接管的控制器节点进行地址分配数据和容量统计数据的一致性。
109.在双控集群的精简卷上进行数据写入的时候,会在owner端进行地址分配和容量统计,在完成控制器节点之间的元数据缓存同步之后,将更新该精简卷的地址分配数据和容量统计数据,并将更新的地址分配数据和容量统计数据刷新到双控集群,由双控集群的一致性算法来保证各个控制器节点上都是一致的数据,然后在单个控制器节点发生故障的时候会反向从双控集群更新精简卷的地址分配数据和容量统计数据,从而保证存储系统精
简卷多控制器容量分配的一致性。
110.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
111.参照图4,示出了本发明实施例中提供的一种存储系统精简卷的数据处理装置的结构框图,具体可以包括如下模块:
112.创建模块401,用于针对存储系统创建双控集群和精简卷;其中,所述精简卷在所述双控集群中分别具有对应的主控制器节点和备控制器节点;
113.分配模块402,用于当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据分配所述目标精简卷的元数据;其中,所述元数据用于在所述目标精简卷中存储所述写请求对应的数据;
114.更新模块403,用于根据所述目标精简卷的所述元数据更新所述目标精简卷对应的所述地址分配数据和所述容量统计数据;
115.同步模块404,用于将所述目标精简卷更新后的所述地址分配数据和所述容量统计数据同步至所述目标精简卷对应的备控制器节点。
116.在本发明的一种可选实施例中,所述装置还包括:接管模块,用于:
117.当所述目标精简卷对应的主控制器节点发生故障时,将所述目标精简卷对应的备控制器节点作为所述目标精简卷的所述主控制器节点。
118.在本发明的一种可选实施例中,所述分配模块402,用于:
119.当目标精简卷对应的主控制器节点接收到写请求时,根据所述目标精简卷对应的地址分配数据和容量统计数据,分配所述目标精简卷的数据地址和元数据地址;其中,所述数据地址为在所述目标精简卷存储所述写请求对应的数据的地址,所述元数据地址用于索引至所述数据地址。
120.在本发明的一种可选实施例中,所述装置还包括:转发模块,用于:
121.当所述目标精简卷对应的备控制器节点接收到写请求时,所述目标精简卷对应的主控制器节点接收到所述目标精简卷对应的备控制器节点转发的所述写请求。
122.在本发明的一种可选实施例中,所述装置还包括:存储模块,用于:
123.将所述目标精简卷的所述元数据按照b tree结构进行存储。
124.在本发明的一种可选实施例中,所述装置还包括:一致模块,用于:
125.将所述目标精简卷的所述元数据同步至所述目标精简卷对应的备控制器节点。
126.在本发明的一种可选实施例中,所述装置还包括:读取模块,用于:
127.当所述目标精简卷对应的主控制器节点接收到读请求时,从所述读请求中获取目标元数据地址;
128.从所述目标精简卷的元数据中确定所述目标元数据地址对应的目标数据地址;
129.根据所述目标数据地址从所述目标精简卷中读取对应的数据。
130.本发明实施例中目标精简卷的主控制器节点和备控制器节点,可以保持目标精简卷的地址分配数据和容量统计数据的一致性,如此,即使在双控集群中的单个控制器节点
出现故障,双控集群中未出现故障的控制器节点可以接管故障的控制器节点,仍然可以基于目标精简卷对应的地址分配数据和容量统计数据来继续有效分配目标精简卷的元数据,提高存储系统精简卷地址分配和容量统计的精准度。
131.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
132.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述存储系统精简卷的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
133.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述存储系统精简卷的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
134.本发明实施例还提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述存储系统精简卷的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
135.图5为实现本发明各个实施例的一种电子设备的硬件结构示意图。
136.该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
137.应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
138.电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
139.音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
140.输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(graphics processing unit,gpu)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存
储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
141.电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
142.显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板5061。
143.用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
144.进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
145.接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
146.存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声
音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
147.处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
148.电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
149.另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
150.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
151.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
152.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
153.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
154.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
155.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互
之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
156.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
157.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
158.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
159.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献