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

数据访问方法、装置、电子设备及存储介质与流程

2022-02-19 12:13:16 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种数据访问方法、装置、电子设备及可读存储介质。


背景技术:

2.随着云上业务如openstack、k8s等快速发展,分布式块存储扮演了越来越重要的后端存储任务。块存储中的卷承载了主要的io业务,但是目前在卷的使用方面以单路径为主,每一个卷通常只有一个io路径读写访问,这种模式会限制卷的带宽、iops(input/output operations per second,每秒读写次数)等性能。不可避免的,用户会调用存储性能数据,或者是将存储性能数据可视化展示给用户,这都涉及到存储性能数据的获取。
3.鉴于此,如何在提高数据访问效率的同时,实现存储性能数据的准确获取。


技术实现要素:

4.本技术提供了一种数据访问方法、装置、电子设备及可读存储介质,可以在提高数据访问效率的同时,准确地获取存储性能数据。
5.为解决上述技术问题,本发明实施例提供以下技术方案:
6.本发明实施例一方面提供了一种数据访问方法,应用于分布式对象存储块设备,包括:
7.预先构建多个io路径,并为各io路径设置唯一标识信息;
8.当接收到io请求,利用多个io路径访目标卷,同时采集各io路径的存储性能数据;
9.当检测到满足性能数据落盘条件,将各io路径的标识信息作为存储关键值,对采集的存储性能数据执行落盘操作。
10.可选的,所述对采集的存储性能数据执行落盘操作之后,还包括:
11.当接收到性能数据查询指令,根据所述性能数据查询指令携带的待查询卷信息,确定所述待查询卷的所有io路径的存储性能数据,并以时间为单位汇总各条io路径的存储性能数据,得到存储性能统计数据。
12.可选的,所述以时间为单位汇总各条io路径的存储性能数据之后,还包括:
13.获取当前时刻的日志数据;
14.将所述存储性能统计数据和所述日志数据打包发送至目标路径。
15.可选的,所述当检测到满足性能数据落盘条件,将各io路径的标识信息作为存储关键值,对采集的存储性能数据执行落盘操作,包括:
16.预先创建用于存储性能数据的性能统计对象;所述性能统计对象存放的存储性能数据以每个卷中的io路径作为集合;每个集合中存放相应io路径的所有卷的存储性能数据;
17.当采集的性能统计数据累计到预设数目阈值,将所有存储性能数据按照io路径的标识信息存储至所述性能统计对象中。
18.可选的,所述构建多个io路径,并为各io路径设置唯一标识信息,包括:
19.当检测到目标io路径被创建,展示可视化用户页面;所述可视化用户页面包括启动路径标记功能选项;
20.响应用户的路径标识功能启动指令,自动开启路径标记功能,同时在所述可视化页面上显示标识自定义选项和默认选项;
21.响应用户的自定义标识路径指令,通过解析所述自定义标识路径指令,为所述目标io路径设置唯一标识信息;
22.响应用户的默认设置路径标识指令,获取所述目标io路径对应的客户端地址,并将所述客户端地址设置为io地址,以用于标记所述目标io路径。
23.可选的,所述构建多个io路径,并为各io路径设置唯一标识信息,包括:
24.在目标io路径被创建之后的预设时间段内,判断是否接收到目标快捷键指令;
25.若没有接收到目标快捷键指令,获取所述目标io路径对应的客户端地址,并将所述客户端地址设置为io地址,以用于标记所述目标io路径;
26.若检测到所述目标快捷键指令,基于所述目标快捷指令,为所述目标io路径设置唯一标识信息。
27.本发明实施例另一方面提供了一种数据访问装置,应用于分布式对象存储块设备,包括:
28.多路径构建模块,用于预先构建多个io路径;
29.路径标记模块,用于各io路径设置唯一标识信息;
30.数据访问模块,用于当接收到io请求,利用多个io路径访目标卷;
31.性能采集模块,用于采集各io路径的存储性能数据;
32.数据落盘模块,用于当检测到满足性能数据落盘条件,将各io路径的标识信息作为存储关键值,对采集的存储性能数据执行落盘操作。
33.可选的,还包括:
34.性能数据查询模块,用于当接收到性能数据查询指令,根据所述性能数据查询指令携带的待查询卷信息,确定所述待查询卷的所有io路径的存储性能数据,并以时间为单位汇总各条io路径的存储性能数据。
35.本发明实施例还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述数据访问方法的步骤。
36.本发明实施例最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述数据访问方法的步骤。
37.本技术提供的技术方案的优点在于,使用多路径方式访问卷来提高访问性能,提升数据访问效率。将不同io路径的性能数据以路径的唯一标识信息作为key值实现同一卷下不同路径的存储性能数据的存储,将该卷的所有路径上的io性能数据以路径为集合存储到本地存储系统,不会出现不同路径的互相覆盖导致存储性能数据失效的现象发生,实现多路径访问时的性能统计,有利于存储性能数据的准确获取,既能满足在多路径访问集群场景下的性能统计需求,也能适用作为其特殊场景即只有一条路径的传统集群访问性能统计,实用性更强,用户使用体验也更好。
38.此外,本发明实施例还针对数据访问方法提供了相应的实现装置、电子设备及可
读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
40.为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明实施例提供的一种数据访问方法的流程示意图;
42.图2为本发明实施例提供的一个示例性应用场景的perf对象中不同路径存储内容的示意图;
43.图3为本发明实施例提供的数据访问装置的一种具体实施方式结构图;
44.图4为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
45.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
47.在介绍了本发明实施例的技术方案后,下面详细的说明本技术的各种非限制性实施方式。
48.首先参见图1,图1为本发明实施例提供的一种数据访问方法的流程示意图,应用于分布式对象存储(reliable autonomic distributed object store,rados)块设备(rados block device,rbd),也就是说,本实施例是在rados块设备层面实现的,整个技术方案例如可采用c 语言开发,本发明实施例可包括以下内容:
49.s101:预先构建多个io路径,并为各io路径设置唯一标识信息。
50.在本实施例中,io路径的总数可根据实际应用场景来确定,各路径可同时访问分布式文件系统中的一个卷,为了区分同一个卷的不同的io路径,在创建io路径之后,还可为各io路径设置唯一的表述,可以为io路径设置唯一的路径地址作为标识信息,也可为io路径设置唯一的编号作为标识信息,这均不影响本技术的实现。举例来说,一个io路径对应一个客户端,由于客户端地址是唯一的,所以可采用客户端地址作为io路径的地址,以此来唯一标识io路径。
51.s102:当接收到io请求,利用多个io路径访目标卷,同时采集各io路径的存储性能
数据。
52.rbd层每次收到io请求,io请求携带目标卷信息,利用s101构建的io路径的全部或一部分去访问目标卷,将io请求的完成返回上层时,可收集本路径本次的io性能数据。
53.s103:当检测到满足性能数据落盘条件,将各io路径的标识信息作为存储关键值,对采集的存储性能数据执行落盘操作。
54.可以理解的是,上个步骤采集得到各路径的存储性能数据之后,需要进行存储,原有的单路径场景下,在每次收集好性能统计数据后放入perf_state对象,并以与此卷关联的属性此作为key值落盘存储,这在单路径场景非常有效,但是对于多路径场景,不同路径都以此属性来存储性能数据的话,会互相覆盖数据,不能做到准确有效的数据统计。而本技术以多路径访问卷的场景中,为每个io路径做唯一标记,区分同一个卷的不同io路径,每个io路径中的性能收集与单路径场景一致,可以具有唯一性的io路径的标识信息作为key值来存储,从而避免了原有的单路径方案在多路径中的互相覆盖从而导致统计失效的问题。与此同时本方案也能完美适用传统的单路径访问方式。
55.在本发明实施例提供的技术方案中,使用多路径方式访问卷来提高访问性能,提升数据访问效率。将不同io路径的性能数据以路径的唯一标识信息作为key值实现同一卷下不同路径的存储性能数据的存储,将该卷的所有路径上的io性能数据以路径为集合存储到本地存储系统,不会出现不同路径的互相覆盖导致存储性能数据失效的现象发生,实现多路径访问时的性能统计,有利于存储性能数据的准确获取,既能满足在多路径访问集群场景下的性能统计需求,也能适用作为其特殊场景即只有一条路径的传统集群访问性能统计,实用性更强,用户使用体验也更好。
56.需要说明的是,本技术中各步骤间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
57.不可避免的,既然上述实施例将各io路径的存储性能数据均已落盘存储,则用户必然会查询这些存储性能数据进行存储性能分析,或者是系统会调用这些存储性能数据用于其他任务的分析或执行,基于此,确定待查询卷的所有io路径的存储性能数据之后,还可包括:
58.当接收到性能数据查询指令,根据性能数据查询指令携带的待查询卷信息,确定待查询卷的所有io路径的存储性能数据,并以时间为单位汇总各条io路径的存储性能数据,得到存储性能统计数据。
59.性能查询指令可以是用户通过用户端下发给系统的,也可以是系统自己下发的指令,这均不影响本技术的实现。为了更好地分析系统的存储系统,便于用户查询并定位疑似故障或故障的位置,本实施例还可获取当前时刻的日志数据;将存储性能统计数据和日志数据打包发送至目标路径。当前时刻是指接收到性能数据查询指令的时刻,从而将性能查询指令之前的系统运行数据信息一起发送至所需地址,目标地址可为下发性能数据查询指令的客户端,也可为系统的某个文件目录,这均不影响本技术的实现。存储性能统计数据为按照时间单元汇总各io路径的存储性能数据所得。
60.在上述实施例中,对于如何执行步骤s103并不做限定,本实施例还给出存储性能数据落盘操作的一种可选的实施方式,可包括如下步骤:
61.预先创建用于存储性能数据的性能统计对象也即perf对象,性能统计对象存放的存储性能数据以每个卷中的io路径作为集合;每个集合中存放相应io路径的所有卷的存储性能数据。perf对象中保存的数据组织方式请参与图2所示:perf中存放的io性能数据以每个卷中的io路径作为集合。每个集合中存放该路径的io性能数据。
62.当采集的性能统计数据累计到预设数目阈值,将所有存储性能数据按照io路径的标识信息存储至性能统计对象中。
63.本实施例中的性能数据落盘条件为基于性能统计数据条目和预设数目阈值来决定,当性能统计数据的总条目累计到预设数目阈值,则表明达到了性能数据落盘条件,若性能统计数据的总条目没有累计到预设数目阈值,则表明没有达到性能数据落盘条件。此外,性能数据落盘条件为采集的性能统计数据所占用空间容量值和预设容量阈值来决定,当采集的性能统计数据所占用空间容量值累计到预设容量阈值,则表明达到了性能数据落盘条件,若采集的性能统计数据所占用空间容量值没有累计到预设容量阈值,则表明没有达到性能数据落盘条件。所属领域技术人员可根据实际情况灵活确定预设容量阈值、预设条目阈值和性能数据落盘条件,这均不影响本技术的实现。
64.上述实施例对如何执行步骤s101并不做限定,本实施例还给出为各io路径设置唯一标识信息的多种实施方式,可包括如下步骤:
65.作为一种可选的实施方式,当检测到目标io路径被创建,展示可视化用户页面;可视化用户页面包括启动路径标记功能选项;响应用户的路径标识功能启动指令,自动开启路径标记功能,同时在可视化页面上显示标识自定义选项和默认选项;响应用户的自定义标识路径指令,通过解析自定义标识路径指令,为目标io路径设置唯一标识信息;响应用户的默认设置路径标识指令,获取目标io路径对应的客户端地址,并将客户端地址设置为io地址,以用于标记目标io路径。在本实施例中,用户可通过人机交互模块自主选择路径标识的设置方式和开启方式,同时适用于多路径访问和单路径访问,实用性更强,用户使用体验更好。
66.作为与上述实施例并列的另一种可选的实施方式,在目标io路径被创建之后的预设时间段内,判断是否接收到目标快捷键指令;若没有接收到目标快捷键指令,获取目标io路径对应的客户端地址,并将客户端地址设置为io地址,以用于标记目标io路径;若检测到目标快捷键指令,基于目标快捷指令,为目标io路径设置唯一标识信息。其中,目标快捷键可为预先定义好的,举例来说,如果检测到ctrl shift enter,则证明检测到目标快捷键指令,系统通过检测用户后续输入内容如字符串作为目标io路径的标识。
67.为了使所属领域技术人员更清楚本技术的技术方案,本技术还提供了一个示意性例子,可包括:
68.在创建存储池时,初始化名为perf的对象用于专门存储性能统计数据。在每次io路径建立时以客户端地址设置具有唯一性的io地址来标记该io路径。rbd层每次收到io请求,并将io请求的完成返回上层时,收集好本路径本次的io性能数据。将io性能统计数据累计到一定数目时,一起存储落盘到perf对象中。在io性能数据累计到设定数目落盘时,以该路径io的地址作为存储key值,用以区分其他路径的io性能统计。在需要读取卷历史性能数据的时候,直接根据卷名在perf对象中取得该卷所有路径存储的性能数据,并根据时间,将所有路径性能数据汇总统计得到该卷的性能数据。
69.由上可知,本实施例既可提高数据访问效率,还解决了多路径访问集群场景下原有单路径性能统计方案以为不同路径的互相覆盖从而导致的失效问题,将不同io路径的性能数据以路径作为key值,实现多路径访问时的性能统计及性能数据的查询。
70.本发明实施例还针对数据访问方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的数据访问装置进行介绍,下文描述的数据访问装置与上文描述的数据访问方法可相互对应参照。
71.基于功能模块的角度,参见图3,图3为本发明实施例提供的数据访问装置在一种具体实施方式下的结构图,应用于分布式对象存储块设备,该装置可包括:
72.多路径构建模块301,用于预先构建多个io路径。
73.路径标记模块302,用于各io路径设置唯一标识信息。
74.数据访问模块303,用于当接收到io请求,利用多个io路径访目标卷。
75.性能采集模块304,用于采集各io路径的存储性能数据。
76.数据落盘模块305,用于当检测到满足性能数据落盘条件,将各io路径的标识信息作为存储关键值,对采集的存储性能数据执行落盘操作。
77.可选的,在本实施例的一些实施方式中,上述装置还可包括性能数据查询模块,用于当接收到性能数据查询指令,根据性能数据查询指令携带的待查询卷信息,确定待查询卷的所有io路径的存储性能数据,并以时间为单位汇总各条io路径的存储性能数据,得到存储性能统计数据。
78.作为本实施例的一种可选的实施方式,上述装置例如还可包括数据发送模块,用于将存储性能统计数据和当前时刻的日志数据打包发送至目标路径。
79.作为本实施例的另一种可选的实施方式,上述数据落盘模块305可进一步用于:预先创建用于存储性能数据的性能统计对象;性能统计对象存放的存储性能数据以每个卷中的io路径作为集合;每个集合中存放相应io路径的所有卷的存储性能数据;当采集的性能统计数据累计到预设数目阈值,将所有存储性能数据按照io路径的标识信息存储至性能统计对象中。
80.可选的,在本实施例的另一些实施方式中,上述路径标记模块302可用于:当检测到目标io路径被创建,展示可视化用户页面;可视化用户页面包括启动路径标记功能选项;响应用户的路径标识功能启动指令,自动开启路径标记功能,同时在可视化页面上显示标识自定义选项和默认选项;响应用户的自定义标识路径指令,通过解析自定义标识路径指令,为目标io路径设置唯一标识信息;响应用户的默认设置路径标识指令,获取目标io路径对应的客户端地址,并将客户端地址设置为io地址,以用于标记目标io路径。
81.作为与上述实施例并列的另一种可选的实施方式,上述路径标记模块302还可用于:在目标io路径被创建之后的预设时间段内,判断是否接收到目标快捷键指令;若没有接收到目标快捷键指令,获取目标io路径对应的客户端地址,并将客户端地址设置为io地址,以用于标记目标io路径;若检测到目标快捷键指令,基于目标快捷指令,为目标io路径设置唯一标识信息。
82.本发明实施例数据访问装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
83.由上可知,本发明实施例可以在提高数据访问效率的同时,准确地获取存储性能数据。
84.上文中提到的数据访问装置是从功能模块的角度描述,进一步的,本技术还提供一种电子设备,是从硬件角度描述。图4为本技术实施例提供的电子设备在一种实施方式下的结构示意图。如图4所示,该电子设备包括存储器40,用于存储计算机程序;处理器41,用于执行计算机程序时实现如上述任一实施例提到的数据访问方法的步骤。
85.其中,处理器41可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器41还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器41可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器41也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器41可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器41还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
86.存储器40可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器40还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器40在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器40在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器40还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器40不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行漏洞处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器40至少用于存储以下计算机程序401,其中,该计算机程序被处理器41加载并执行之后,能够实现前述任一实施例公开的数据访问方法的相关步骤。另外,存储器40所存储的资源还可以包括操作系统402和数据403等,存储方式可以是短暂存储或者永久存储。其中,操作系统402可以包括windows、unix、linux等。数据403可以包括但不限于数据访问结果对应的数据等。
87.在一些实施例中,上述电子设备还可包括有显示屏42、输入输出接口43、通信接口44或者称为网络接口、电源45以及通信总线46。其中,显示屏42、输入输出接口43比如键盘(keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口44可选的可以包括有线接口和/或无线接口,如wi

fi接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线46可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总
线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
88.本领域技术人员可以理解,图4中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器47。
89.本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
90.由上可知,本发明实施例可以在提高数据访问效率的同时,准确地获取存储性能数据。
91.可以理解的是,如果上述实施例中的数据访问方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、电可擦除可编程rom、寄存器、硬盘、多媒体卡、卡型存储器(例如sd或dx存储器等)、磁性存储器、可移动磁盘、cd

rom、磁碟或者光盘等各种可以存储程序代码的介质。
92.基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述数据访问方法的步骤。
93.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
94.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
95.以上对本技术所提供的一种数据访问方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
再多了解一些

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

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

相关文献