1.本技术涉及云计算存储技术领域,尤其涉及一种数据获取方法、装置及电子设备。
背景技术:2.随着云计算存储技术的发展,云计算存储技术的运用越来越广泛,用户需要传输的信息越来越多,在数据传输的过程中,数据存储起到了重要作用,通常采用基于架构的非易失性内存(nvme overfabrics,nvme-of)技术对海量的数据信息进行存储,该nvme-of技术基于消息的模型通过网络在客户端和目标存储设备之间发送请求和响应,用于实现客户端与目标存储设备之间的访问,基于nvme-of技术实现客户端对目标存储设备的访问的具体过程如下:
3.具体的,采用nvme-of技术进行云计算存储时,客户端与目标存储设备之间的连接示意图如图1所示,在图1中,客户端与目标存储设备之间的链路为单路径连接,每一个链路上都存在一个服务节点,目标存储设备中的云硬盘管理系统示意图如图2所示,在图2中,云硬盘管理系统包括n个客户端、m个代理端,c个控制节点、一个服务节点,n、m、c都为正整数,代理端用于将客户端的请求转发至控制节点,控制节点用于接收代理端转发的客户端的请求,并基于该请求的选择对应的服务节点执行操作,该服务节点用于与目标存储设备建立连接,并创建云硬盘对应的目的端子系统供客户端进行连接。
4.基于上述的描述,当客户端需要从目标存储设备中读取已存储的数据时,若客户端与目标存储设备之间的链路发生异常,或者客户端与目标存储设备之间的服务节点发生异常,将导致客户端与云硬盘对应的目的端子系统连接中断,进而客户端将无法从目标存储设备中的云硬盘中读取已存储的数据。
技术实现要素:5.本技术提供了一种数据获取方法、装置及电子设备,通过确保客户端与云硬盘的目的端子系统连接不中断,进而确保客户端能够从目标存储设备中的云硬盘中读取已存储的数据。
6.第一方面,本技术提供了一种数据获取方法,所述方法包括:
7.当客户端与目标存储设备之间存在多个服务节点时,确定出所述客户端接收的操作请求,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作;
8.当从所述多个服务节点中确定出异常服务节点时,控制所述客户端从所述异常服节点传输数据切换至正常服务节点传输数据;
9.基于所述操作请求以及所述正常服务节点从所述目标存储设备中提取出所述操作请求对应的请求数据,并将所述请求数据发送至所述客户端。
10.通过上述的方法,在客户端与目标存储设备之间新增多个服务节点,并基于客户端与目标存储设备之间的多条链路对云硬盘进行管理,当客户端与目标存储设备之间的服务节点异常时,能够通过将异常服务节点切换为正常服务节点的方式使得客户端与目标存
储设备中的云硬盘之间的链路正常,进而使得客户端能够从目标存储设备中的云硬盘中读取已存储的数据。
11.在一种可能的设计中,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作,包括:
12.确定出所述操作类型为云硬盘挂载请求时,确定出所述目标存储设备中各个云硬盘的链路信息,其中,所述链路信息包括链路标识与所述链路中服务节点的服务ip的对应关系;
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.在一种可能的设计中,所述确定模块,具体用于确定出所述操作类型为云硬盘挂载请求时,确定出所述目标存储设备中各个云硬盘的链路信息,获得所述云硬盘挂载请求中各个云硬盘的云硬盘标识以及各个云硬盘的链路标识,将各个云硬盘标识以及各个链路标识通过代理节点转发至服务节点,控制所述服务节点基于各个云硬盘标识以及各个链路标识创建目的端子系统,并确定出各个云硬盘所属的链路,并将各个云硬盘的链路各自对应的链路信息存储至预设信息库。
43.在一种可能的设计中,所述确定模块,还用于确定出所述操作类型为云硬盘卸载请求时,确定出所述云硬盘的挂载记录,确定出所述挂载记录中每一条链路记录,并获取每一条链路记录各自对应的服务节点,控制所述服务节点执行云硬盘的卸载。
44.在一种可能的设计中,所述确定模块,还用于确定出所述操作类型为云硬盘扩容请求时,提取出所述云硬盘扩容请求中待扩容的各个云硬盘的云硬盘标识,从所述目标存储设备中遍历各个云硬盘的链路信息,并确定出各个云硬盘标识所属链路分别对应的服务节点,当控制节点向各个服务节点发送云硬盘扩容请求时,控制各个服务节点各自执行扩容操作。
45.在一种可能的设计中,所述确定模块,还用于获取所述服务节点的扩容结果,并控制所述服务节点将所述扩容结果发送至客户端,从所述扩容结果中确定出扩容成功的扩容链路,将所述扩容链路与预设链路进行比较,确定出与预设链路不一致的第一扩容链路,并将所述第一扩容链路作为扩容失败链路,将所述扩容失败链路进行删除。
46.在一种可能的设计中,所述确定模块,还用于确定出所述操作类型为客户端链路
检测类型时,按照预设周期遍历所述目标存储设备中所有挂载的云硬盘,提取出各个云硬盘各自对应的第一链路信息,以及获得客户端创建的至少一条链路对应的第二链路信息,基于各个第一链路信息以及至少一个第二链路信息获得缺失链路信息,基于所述缺失链路信息控制客户端重建所述缺失链路信息对应的缺失链路。
47.在一种可能的设计中,所述确定模块,还用于确定出所述操作类型为重建服务节点类型时,获取服务节点的所有挂载云硬盘,获得各个云硬盘的链路标识以及云硬盘信息,基于所述链路标识以及所述云硬盘信息创建目的端子系统信息,响应于所述目的端子系统信息成功建立,恢复所述异常服务节点对应的链路连接。
48.第三方面,本技术提供了一种电子设备,包括:
49.存储器,用于存放计算机程序;
50.处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的一种数据获取方法步骤。
51.第四方面,一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种数据获取方法步骤。
52.上述第一方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
53.图1为本技术提供的客户端与目标存储设备之间的连接示意图;
54.图2为本技术提供的目标存储设备中的云硬盘管理系统示意图;
55.图3为本技术提供的一种数据获取方法步骤的流程图;
56.图4为本技术提供的客户端与目标存储设备的连接示意图;
57.图5为本技术提供的客户端与目标存储设备之间的管理系统组件示意图;
58.图6为本技术提供的云硬盘的挂载操作的流程示意图;
59.图7为本技术提供的控制节点选择服务节点的流程示意图;
60.图8为本技术提供的服务节点创建目的端子系统的流程示意图;
61.图9为本技术提供的云硬盘的卸载流程示意图;
62.图10为本技术提供的客户端执行云硬盘扩容的流程示意图;
63.图11为本技术提供的控制节点对云硬盘进行扩容的流程示意图;
64.图12为本技术提供的客户端链路检查流程示意图;
65.图13为本技术提供的异常服务节点的恢复流程示意图;
66.图14为本技术提供的一种数据获取装置的结构示意图;
67.图15为本技术提供的一种电子设备的结构示意图。
具体实施方式
68.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的
关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
69.在以往的技术中,客户端与目标存储设备之间只有一条链路,该链路上有一个服务节点,当客户端需要从目标存储设备中的云硬盘上获取已存储的数据时,若该链路发生异常或者该链路中的服务节点发生异常时,将导致客户端与目标存储设备中的云硬盘对应的目的端子系统连接中断,进而导致客户端无法从目标存储设备中获取已存储的数据。
70.为了解决上述描述的问题,本技术实施例提供了一种数据获取方法,用于确保客户端与目标存储设备中的云硬盘对应的目的端子系统连接不中断,进而确保客户端能够获取目标存储设备中已存储的数据。其中,本技术实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
71.参照图3,本技术提供了一种数据获取方法,该方法可以确保客户端与目标存储设备中的云硬盘对应的目的端子系统连接不中断,进而确保客户端能够从目标存储设备中获取已存储的数据,该方法的实现流程如下:
72.步骤s31:当客户端与目标存储设备之间存在多个服务节点时,确定出所述客户端接收的操作请求,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作。
73.本技术实施例是为了确保客户端能够从目标存储设备中获取已存储的数据,客户端与目标存储设备之间通过链路进行连接,该链路上存在服务节点,该服务节点用于与目标存储设备建立连接以及创建云硬盘对应的目的端子系统供客户端进行连接,客户端与目标存储设备的连接示意图如图4所示,在图4中,客户端与目标存储设备之间有n个服务节点,由于每一条链路都有一个服务节点,因此,客户端与目标存储设备之间存在n条链路。
74.需要进行说明的是,客户端与目标存储设备之间的管理系统组件示意图如图5所示,在图5中,客户端与目标存储设备之间存在代理节点和控制节点,以及服务节点,a、b、c、n都为正整数,该客户端用于接收用户发送的云硬盘操作请求,并将操作请求通过代理节点转发至控制节点,该代理节点能够将该操作请求转发至控制节点,当代理节点出现异常之后,其他正常的代理节点自动接管该异常代理节点对应的服务,该控制节点用于接收代理节点发送的操作请求,并从n个服务节点中确定出一个服务节点。
75.上述描述了客户端与目标存储设备之间建立n条链路,每一条链路都对应一个链路标识,每一条链路上的服务节点都对应一个服务ip,该链路标识与服务标识具有唯一性,由于服务节点在链路上,因此,服务ip与链路标识存在对应关系,本技术实施例中将该对应关系作为链路信息,链路信息如表1所示:
76.[0077][0078]
表1
[0079]
上述表1中,记录了3条链路各自对应的链路标识与服务ip,链路标识1与服务ip1对应,链路标识2与服务ip2对应,链路标识3与服务ip3对应,其他链路的链路信息参考上述表1中的举例,这里不做过多说明。
[0080]
另外,上述描述的链路信息存储在目标存储设备中,客户端需要建立目标存储设备中存储的所有链路信息对应的链路。
[0081]
当服务器确定出客户端接收的操作请求时,基于该操作请求中的操作类型确定出该操作请求对应的执行操作,由于该操作请求的操作类型基于不同的实时场景而不同,因此,操作请求基于操作类型的不同对应者不同的执行操作,每一种操作类型各自对应的执行操作具体如下所示:
[0082]
当服务器从操作请求中确定出操作类型为云硬盘挂载请求时,需要执行云硬盘挂载操作,当客户端未与目标存储设备之间建立连接时,云硬盘挂载操作需要确定出目标存储设备中各个云硬盘的链路信息,并获得云硬盘挂载请求中各个云硬盘的云硬盘标识以及各个云硬盘的链路标识,再将云硬盘标识以及链路标识通过代理节点转发至服务节点,服务节点基于各个云硬盘的云硬盘标识以及各个链路标识创建目的端子系统,实现客户端与云硬盘的连接,建立客户端与云硬盘的连接之后,由于云硬盘的数量至少为一个,因此,还需要确定出各个云硬盘所属的链路,并将各个云硬盘的链路各自对应的链路信息存储至目标存储设备中的预设信息库。
[0083]
基于上述的描述,云硬盘的挂载操作的流程示意图如图6所示,在图6中,由于客户端未与目标存储设备之间建立连接,因此,需要初始化链路标识的数量为0,若目标存储设备中的链路信息有q个,q为正整数,客户端需要建立q条链路,客户端建立链路之后,需要确认建立成功的当前链路是否为最后一条链路,若是,则代表目标存储设备中存储的所有链路信息对应的链路建立成功,若否,则代表目标存储设备中还存在未创建链路的链路信息,服务器需要控制代理节点通知控制节点创建目的端子系统,本技术实施例中的目的端子系统为target,后续将以target代替目的端子系统进行描述,每一条链路的目的端子系统与该链路中的服务节点对应,该目的端子系统用于创建与客户端的连接以及与云硬盘的连接,控制节点需要选择出一个服务节点,选择服务节点的具体过程如下:
[0084]
本技术实施例中控制节点选择服务节点的流程示意图如图7所示,在图7中,服务器控制代理节点通知控制节点创建target之后,服务器通过访问目标存储设备中的预设信息库查询确定target是否存在,若需要创建的target不存在,则通知服务节点删除该target;若需要创建的target存在,则获取该target对应的服务节点的服务ip,并再确定该服务ip是否在排除选择列表,当该服务ip在排除选择列表中时,该target为无效target,服务器将通知服务节点删除该target;当该服务ip不在排除选择列表中时,服务器将通知服务节点创建target,当服务节点创建target成功之后,将通知客户端该target创建成功,当服务节点创建失败,需要确定出连接云硬盘数量最少的服务节点,若成功获得该服务节点,
则控制获得的服务节点创建target,若获得服务节点失败,则通知客户端该服务节点获取失败。
[0085]
基于上述的描述,控制节点能够从所有的服务节点中确定出一个服务节点,该服务节点不在排除选择列表中,确保了获得的服务节点成功创建target。
[0086]
进一步,若控制节点确定出一个服务节点,则连接控制节点返回的服务节点target,再判断客户端与控制节点返回的服务节点target对应的服务节点是否连接成功,当连接成功时,将链路标识的数量加1,并判断当前创建成功的链路是否为最后一条链路;当连接失败时,将控制节点返回的服务节点target对应的服务节点置入排除选择列表,则该服务节点不在控制节点可选择的多个服务节点中,服务器继续控制代理节点通知控制节点创建target。
[0087]
基于上述的流程,能够实现云硬盘的挂载,云硬盘挂载成功之后,目标存储设备中存在多个云硬盘以及云硬盘对应的数据。
[0088]
服务器控制代理节点通知控制节点创建target之后,服务节点将与目标存储设备建立连接,并创建云硬盘对应的目的端子系统供客户端进行连接,由于控制节点已经确定出创建目的端子系统的服务节点,因此,该服务节点创建目的端子系统的流程示意图如图8所示,在图8中,服务节点接收到创建target请求之后,判断target记录是否存在,当target记录存在,则判断服务节点的预设容量和目标存储设备的实际存储容量是否相等,当显示容量与实际存储容量相等时,判断该target对应的链路标识的与预设链路标识是否相等,若相等,则从服务节点对应的链路标识表中删除该target对应的云硬盘,若不相等,则删除target记录,以及云硬盘链路标识记录,服务器再控制服务节点对应的链路标识表中删除该云硬盘。
[0089]
当target记录不存在时,需要控制服务节点创建新的target,并在服务节点对应的链路标识表中增加新的挂载云硬盘,以及在预设信息库中增加挂载云硬盘记录,该挂载云硬盘记录为新的target对应的链路标识以及服务节点对应的服务ip,再将target的序列号与服务ip返回至控制节点,该序列号是target的唯一标识。
[0090]
基于上述的描述,控制节点确定出的服务节点能够创建目的端子系统。
[0091]
当服务器从操作请求中确定出操作类型为云硬盘卸载请求时,需要确定出云硬盘的挂载记录,并从挂载记录中读取每一条链路记录,以及每一条链路记录对应的服务节点,服务器再控制该服务节点执行云硬盘的卸载。
[0092]
具体的,云硬盘的卸载流程示意图如图9所示,在图9中,服务节点接收都卸载云硬盘请求时,从云硬盘卸载请求中提取出需要卸载的云硬盘的链路信息,同时,从预设信息库中查询云硬盘挂载记录,判断该云硬盘是否在云硬盘挂载记录中,若该云硬盘不在云硬盘挂载记录中,则将该卸载流程完成的结果返回客户端;若该云硬盘在云硬盘挂载记录中,则遍历每一条链路记录,并确定该云硬盘对应的链路是否为最后一条链路,当该云硬盘对应的链路为最后一条链路时,将该卸载流程完成的结果返回至客户端;当该云硬盘对应的链路不为最后一条链路时,获取卸载的云硬盘的链路对应的服务节点,并通知该服务节点卸载该云硬盘对应的target。
[0093]
当服务器从操作请求中确定出操作类型为云硬盘扩容请求时,服务器需要提取出云硬盘扩容请求中的待扩容的各个云硬盘的云硬盘标识,并遍历目标存储设备中各个云硬
盘的链路信息,确定出各个云硬盘标识所属链路分别对应的服务节点,当控制节点向各个服务节点发送云硬盘扩容请求时,服务器控制各个服务节点各自执行扩容操作。
[0094]
当服务节点进行扩容之后,获取服务节点的扩容结果,服务器控制该服务节点将该扩容结果发送至客户端,从扩容结果中确定出扩容成功的扩容链路,并将扩容成功的链路与目标存储设备中的预设链路进行比较,确定出与预设链路不一致的第一扩容链路,并将与预设链路不一致的第一扩容链路作为扩容失败链路,将扩容失败链路进行删除。
[0095]
具体的,云硬盘的扩容需要客户端执行扩容流程以及需要控制节点执行扩容流程,客户端执行云硬盘扩容的流程示意图如图10所示,在图10中,客户端通知控制节点扩容云硬盘,控制节点对云硬盘进行扩容之后,再获取扩容成功链路,并将扩容成功链路与目标存储设备中的预设链路进行比较,将与预设链路不一致的链路作为扩容失败链路,若扩容成功链路与目标存储设备中的预设链路一致,则确定扩容成功。
[0096]
基于上述的描述,控制节点对云硬盘进行扩容的流程示意图如图11所示,在图11中,控制节点接收到云硬盘扩容请求之后,查询云硬盘的链路信息,遍历每一条链路,并判断该云硬盘对应的链路是否为最后一条链路,若该云硬盘对应的链路为最后一条链路,则检查扩容成功列表是否为空,当扩容成功列表为空,控制节点则停止客户端扩容失败,当扩容成功列表不为空,则控制节点将通知客户端扩容成功并返回扩容成功列表;当该云硬盘对应的链路不为最后一条链路时,则将扩容的服务节点的服务ip以及链路信息记录到扩容成功列表。
[0097]
当服务器确定出操作类型为客户端链路检测类型时,将按照预设周期遍历目标存储设备中所有的挂载云硬盘,提取出各个云硬盘对应的第一链路信息,并获得客户端创建的至少一条链路对应的第二链路信息,再基于第一链路信息以及第二链路信息获得缺失链路信息,服务器再控制客户端基于缺失链路信息创建对应的缺失链路。
[0098]
进一步,客户端链路检查流程示意图如图12所示,在图12中,服务器获取客户端所有挂载云硬盘,当挂载云硬盘是最后一个云硬盘时,退出客户端链路检查流程;当挂载云硬盘不是最后一个云硬盘时,获取云硬盘的链路数量,当云硬盘连接的链路数量不为1时,检查下一条链路;当云硬盘连接的链路数量为1时,服务器通知控制节点获取云硬盘所有的第一链路信息,还需要获取客户端对应的所有第二链路信息,将第一链路信息以及第二链路信息进行对比,确定出不一致的链路信息,并基于该链路信息确定出新建链路标识,并基于新建链路标识以及云硬盘信息执行新建链路连接流程,在检查下一条链路,再判断当前云硬盘是否为最后一个云硬盘。
[0099]
当服务器确定出操作类型为重建服务节点类型是,获取服务节点的所有挂载云硬盘,以及获得各个云硬盘的链路标识以及云硬盘信息,基于链路标识以及云硬盘信息创建目的端子系统信息,当服务节点创建云硬盘对应的目的端子系统信息成功之后,基于nvme-of技术中的链路探测机制恢复异常服务节点对应的链路连接,由于nvme-of技术中的链路探测机制以及nvme-of技术都为本领域技术人员公知的技术,因此,这里不做过多阐述。
[0100]
具体的,异常服务节点的恢复流程示意图如图13所示,在图13中,当服务器检测到存在异常服务节点时,服务节点将进行云硬盘target重建,服务器将查询预设信息库获取服务节点所有的挂载云硬盘信息,当云硬盘为最后一个云硬盘时,创建流程结束;当云硬盘不为最后一个云硬盘时,确定出云硬盘标识以及服务节点的链路标识,在基于链路标识以
及云硬盘标识执行target重建,再获取下一个云硬盘记录,并判断下一个云硬盘是否为最后一个云硬盘。
[0101]
基于上述的描述,在云硬盘的管理架构中添加了多个服务节点,并基于该云硬盘的管理架构实现云硬盘的挂载、卸载、扩容,以及进行客户端链路检测和重建服务节点等,还通过控制节点确定出服务节点,提高了云硬盘的管理系统的可靠性。
[0102]
步骤s32:当从所述多个服务节点中确定出异常服务节点时,控制所述客户端从所述异常服节点传输数据切换至正常服务节点传输数据。
[0103]
当服务器检测客户端连接的多个服务节点中存在异常服务节点,将控制客户端从异常服务节点传输数据切换至正常服务节点传输数据,由于上述已经描述了云硬盘的挂载流程、云硬盘的卸载流程以及服务节点的恢复流程,因此,服务节点的切换过程将参考上述描述,这里不做过多阐述。
[0104]
步骤s33:基于所述操作请求以及所述正常服务节点从所述目标存储设备中提取出所述操作请求对应的请求数据,并将所述请求数据发送至所述客户端。
[0105]
将客户端从异常服务节点切换至正常服务节点之后,由于操作请求中指示了用户需要获得的请求数据,客户端切换至正常服务节点之后,该正常服务节点将基于该操作请求从目标存储设备的云硬盘中获取该请求数据,并将该请求数据返回至客户端,从而客户端从目标存储设备中获取数据。
[0106]
基于上述的描述,在客户端与目标存储设备之间创建多条链路,每一条链路都对应一个服务节点,并且,基于该多条链路的架构能够实现云硬盘的挂载、卸载、扩容,以及链路检测、链路重建、异常节点的恢复等操作,并且,当客户端与目标存储设备之间存在异常服务节点时,能够通过将异常服务节点切换为正常服务节点的方式使得进行数据传输的链路正常,确保了客户端与目标存储设备中的云硬盘对应的目的端子系统连接不中断,进而使得客户端能够从目标存储设备中获取操作请求中请求的数据。
[0107]
基于同一发明构思,本技术实施例中还提供了一种数据获取装置,该线程绑定的装置用于实现了一种数据获取方法的功能,参照图14,所述装置包括:
[0108]
确定模块1401,用于当客户端与目标存储设备之间存在多个服务节点时,确定出所述客户端接收的操作请求,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作;
[0109]
切换模块1402,用于当从所述多个服务节点中确定出异常服务节点时,控制所述客户端从所述异常服节点传输数据切换至正常服务节点传输数据;
[0110]
提取模块1403,用于基于所述操作请求以及所述正常服务节点从所述目标存储设备中提取出所述操作请求对应的请求数据,并将所述请求数据发送至所述客户端。
[0111]
在一种可能的设计中,所述确定模块1401,具体用于确定出所述操作类型为云硬盘挂载请求时,确定出所述目标存储设备中各个云硬盘的链路信息,获得所述云硬盘挂载请求中各个云硬盘的云硬盘标识以及各个云硬盘的链路标识,将各个云硬盘标识以及各个链路标识通过代理节点转发至服务节点,控制所述服务节点基于各个云硬盘标识以及各个链路标识创建目的端子系统,并确定出各个云硬盘所属的链路,并将各个云硬盘的链路各自对应的链路信息存储至预设信息库。
[0112]
在一种可能的设计中,所述确定模块1401,还用于确定出所述操作类型为云硬盘
卸载请求时,确定出所述云硬盘的挂载记录,确定出所述挂载记录中每一条链路记录,并获取每一条链路记录各自对应的服务节点,控制所述服务节点执行云硬盘的卸载。
[0113]
在一种可能的设计中,所述确定模块1401,还用于确定出所述操作类型为云硬盘扩容请求时,提取出所述云硬盘扩容请求中待扩容的各个云硬盘的云硬盘标识,从所述目标存储设备中遍历各个云硬盘的链路信息,并确定出各个云硬盘标识所属链路分别对应的服务节点,当控制节点向各个服务节点发送云硬盘扩容请求时,控制各个服务节点各自执行扩容操作。
[0114]
在一种可能的设计中,所述确定模块1401,还用于获取所述服务节点的扩容结果,并控制所述服务节点将所述扩容结果发送至客户端,从所述扩容结果中确定出扩容成功的扩容链路,将所述扩容链路与预设链路进行比较,确定出与预设链路不一致的第一扩容链路,并将所述第一扩容链路作为扩容失败链路,将所述扩容失败链路进行删除。
[0115]
在一种可能的设计中,所述确定模块1401,还用于确定出所述操作类型为客户端链路检测类型时,按照预设周期遍历所述目标存储设备中所有挂载的云硬盘,提取出各个云硬盘各自对应的第一链路信息,以及获得客户端创建的至少一条链路对应的第二链路信息,基于各个第一链路信息以及至少一个第二链路信息获得缺失链路信息,基于所述缺失链路信息控制客户端重建所述缺失链路信息对应的缺失链路。
[0116]
在一种可能的设计中,所述确定模块1401,还用于确定出所述操作类型为重建服务节点类型时,获取服务节点的所有挂载云硬盘,获得各个云硬盘的链路标识以及云硬盘信息,基于所述链路标识以及所述云硬盘信息创建目的端子系统信息,响应于所述目的端子系统信息成功建立,恢复所述异常服务节点对应的链路连接。
[0117]
基于同一发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述一种数据获取装置的功能,参考图15,所述电子设备包括:
[0118]
至少一个处理器1501,以及与至少一个处理器1501连接的存储器1502,本技术实施例中不限定处理器1501与存储器1502之间的具体连接介质,图15中是以处理器1501和存储器1502之间通过总线1500连接为例。总线1500在图15中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1500可以分为地址总线、数据总线、控制总线等,为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器1501也可以称为控制器,对于名称不做限制。
[0119]
在本技术实施例中,存储器1502存储有可被至少一个处理器1501执行的指令,至少一个处理器1501通过执行存储器1502存储的指令,可以执行前文论述的一种数据获取方法。处理器1501可以实现图14所示的装置中各个模块的功能。
[0120]
其中,处理器1501是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器1502内的指令以及调用存储在存储器1502内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
[0121]
在一种可能的设计中,处理器1501可包括一个或多个处理单元,处理器1501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1501中。在一些实施例中,处理器1501和存储器1502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0122]
处理器1501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的一种数据获取方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0123]
存储器1502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器1502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器1502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0124]
通过对处理器1501进行设计编程,可以将前述实施例中介绍的一种数据获取方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的一种数据获取步骤。如何对处理器1501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0125]
基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种数据获取方法。
[0126]
在一些可能的实施方式中,本技术提供一种数据获取方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的一种数据获取方法中的步骤。
[0127]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0128]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0129]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0130]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0131]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:1.一种数据获取方法,其特征在于,包括:当客户端与目标存储设备之间存在多个服务节点时,确定出所述客户端接收的操作请求,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作;当从所述多个服务节点中确定出异常服务节点时,控制所述客户端从所述异常服节点传输数据切换至正常服务节点传输数据;基于所述操作请求以及所述正常服务节点从所述目标存储设备中提取出所述操作请求对应的请求数据,并将所述请求数据发送至所述客户端。2.如权利要求1所述的方法,其特征在于,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作,包括:确定出所述操作类型为云硬盘挂载请求时,确定出所述目标存储设备中各个云硬盘的链路信息,其中,所述链路信息包括链路标识与所述链路中服务节点的服务ip的对应关系;获得所述云硬盘挂载请求中各个云硬盘的云硬盘标识以及各个云硬盘的链路标识;将各个云硬盘标识以及各个链路标识通过代理节点转发至服务节点;控制所述服务节点基于各个云硬盘标识以及各个链路标识创建目的端子系统,并确定出各个云硬盘所属的链路,并将各个云硬盘的链路各自对应的链路信息存储至预设信息库,其中,所述目的端子系统用于与客户端以及云硬盘创建连接。3.如权利要求1所述的方法,其特征在于,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作,包括:确定出所述操作类型为云硬盘卸载请求时,确定出所述云硬盘的挂载记录;确定出所述挂载记录中每一条链路记录,并获取每一条链路记录各自对应的服务节点;控制所述服务节点执行云硬盘的卸载。4.如权利要求1所述的方法,其特征在于,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作,包括:确定出所述操作类型为云硬盘扩容请求时,提取出所述云硬盘扩容请求中待扩容的各个云硬盘的云硬盘标识;从所述目标存储设备中遍历各个云硬盘的链路信息,并确定出各个云硬盘标识所属链路分别对应的服务节点;当控制节点向各个服务节点发送云硬盘扩容请求时,控制各个服务节点各自执行扩容操作。5.如权利要求4所述的方法,其特征在于,控制服务节点执行扩容操作之后,还包括:获取所述服务节点的扩容结果,并控制所述服务节点将所述扩容结果发送至客户端;从所述扩容结果中确定出扩容成功的扩容链路,将所述扩容链路与预设链路进行比较;确定出与预设链路不一致的第一扩容链路,并将所述第一扩容链路作为扩容失败链路;将所述扩容失败链路进行删除。6.如权利要求1所述的方法,其特征在于,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作,包括:
确定出所述操作类型为客户端链路检测类型时,按照预设周期遍历所述目标存储设备中所有挂载的云硬盘;提取出各个云硬盘各自对应的第一链路信息,以及获得客户端创建的至少一条链路对应的第二链路信息;基于各个第一链路信息以及至少一个第二链路信息获得缺失链路信息;基于所述缺失链路信息控制客户端重建所述缺失链路信息对应的缺失链路。7.如权利要求1所述的方法,其特征在于,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作,包括:确定出所述操作类型为重建服务节点类型时,获取服务节点的所有挂载云硬盘;获得各个云硬盘的链路标识以及云硬盘信息,基于所述链路标识以及所述云硬盘信息创建目的端子系统信息,其中,所述云硬盘信息包括:云硬盘标识和云硬盘所属客户端标识,以及云硬盘的链路标识所在的服务节点;响应于所述目的端子系统信息成功建立,恢复所述异常服务节点对应的链路连接。8.一种数据获取装置,其特征在于,包括:确定模块,用于当客户端与目标存储设备之间存在多个服务节点时,确定出所述客户端接收的操作请求,基于所述操作请求中的操作类型确定出所述操作请求对应的执行操作;切换模块,用于当从所述多个服务节点中确定出异常服务节点时,控制所述客户端从所述异常服节点传输数据切换至正常服务节点传输数据;提取模块,用于基于所述操作请求以及所述正常服务节点从所述目标存储设备中提取出所述操作请求对应的请求数据,并将所述请求数据发送至所述客户端。9.一种电子设备,其特征在于,包括:存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-7任一项所述的方法步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法步骤。
技术总结一种数据获取方法、装置及电子设备,该方法包括:当客户端与目标存储设备之间存在多个服务节点时,确定出客户端接收的操作请求,基于操作请求中的操作类型确定出操作请求对应的执行操作,当从多个服务节点中确定出异常服务节点时,控制客户端从异常服节点传输数据切换至正常服务节点传输数据,基于操作请求以及正常服务节点从目标存储设备中提取出操作请求对应的请求数据,并将请求数据发送至客户端。通过上述的方法,在客户端与目标存储设备之间创建多条链路,用于确保客户端与目标存储设备中的云硬盘对应的目的端子系统连接不中断,从而使得客户端能够从目标存储设备中获取操作请求中请求的数据。操作请求中请求的数据。操作请求中请求的数据。
技术研发人员:李凯 谭龙 张猛 张端 孙政 吴重云
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.25
技术公布日:2022/11/1