数据处理方法和第一网络设备与流程

未命名 07-18 阅读:95 评论:0


1.本发明涉及数据读取技术领域,尤其涉及一种数据处理方法和第一网络设备。


背景技术:

2.超融合基础架构(hyper converge infrastructure,hci)是一种集成了虚拟计算资源和存储设备的信息基础架构。hci一般部署在由多个网络设备构成的分布式系统(distribute system)。节点如果在短时间接收到大量的读输入/输出(input/output,i/o)请求和写i/o请求时,节点可能不能及时地处理各个读i/o请求和写i/o请求,会导致部分读i/o请求和写i/o请求超时。


技术实现要素:

3.为了解决上述的问题,本技术的实施例中提供了一种数据处理方法,可以保证网络设备稳定的高iops和低时延。另外,本技术还提供了与该数据处理方法对应的第一网络设备。
4.为此,本技术的实施例中采用如下技术方案:
5.第一方面,本技术实施例提供一种数据处理方法,所述方法由第一网络设备执行,所述方法包括:接收读请求;检测所述第一网络设备运行的资源是否大于第一设定阈值;响应于所述第一网络设备运行的资源大于所述第一设定阈值,检测所述读请求读取的数据是否位于第一类型的卷内;其中,所述第一类型的卷为优先级高的卷,所述卷由多个存储器组成,或者,一个存储器包括多个卷,所述卷为多个卷中的一个;响应于所述读请求读取的数据位于所述第一类型的卷内,基于所述读请求访问所述第一网络设备本地的数据。
6.该实施例中,第一网络设备检测到运行读请求的资源比较大时,读请求的数量比较多。第一网络设备让高优先级的第一类型的卷对应的读i/o优先请求访问本地的存储器的数据,保证第一网络设备稳定的高iops和低时延,以满足用户的诉求。
7.在一种实施方式中,所述检测所述第一网络设备运行的资源是否大于第一设定阈值,具体包括:检测所述第一网络设备的cpu的计算资源的占用比是否大于所述第一设定阈值,所述第一设定阈值为所述cpu的计算资源的占用比。
8.该实施例中,cpu的计算资源的占用比越高,运行读请求的数量越多。第一网络设备可以基于cpu的计算资源的占用比,确定运行读请求的数量,以此让第一网络设备知道运行读请求的最大数量。
9.在一种实施方式中,所述检测所述第一网络设备运行的资源是否大于第一设定阈值,具体包括:检测所述第一网络设备的运行内存的缓存的数据量是否大于所述第一设定阈值,所述第一设定阈值为所述运行内存缓存的数据量。
10.该实施例中,内存的缓存的数据量越多,运行读请求的数量越多。第一网络设备可以基于内存的缓存的数据量,确定运行读请求的数量,以此让第一网络设备知道运行读请求的最大数量。
11.在一种实施方式中,所述检测所述第一网络设备运行的资源是否大于第一设定阈值,具体包括:检测所述第一网络设备的令牌桶的令牌发出值是否大于所述第一设定阈值,所述第一设定阈值为所述令牌发出值。
12.该实施例中,令牌桶的令牌发出值越大,运行读请求的数量越多。第一网络设备可以基于令牌桶的令牌发出值,确定运行读请求的数量,以此让第一网络设备知道运行读请求的最大数量。
13.在一种实施方式中,所述方法还包括:响应于所述第一网络设备运行的资源小于或等于所述第一设定阈值,基于所述读请求访问所述第一网络设备本地的数据。
14.该实施例中,第一网络设备运行所有的读请求的资源小于或等于第一设定阈值时,第一网络设备的资源比较充足,可以运行所有的读请求,以读取本地的存储器存储的数据,以提高第一网络设备稳定的高iops和低时延。
15.在一种实施方式中,所述方法还包括:响应于所述读请求读取的数据不在所述第一类型的卷,基于所述读请求访问其它网络设备的数据。
16.该实施例中,第一网络设备确定读请求读取的数据不位于高优先级的卷时,第一网络设备可以让读请求读取其它网络设备的存储器的数据,避免低优先级的卷和高优先级的卷争抢网络设备的资源,以及避免读请求读取低优先级的卷的数据的时延。
17.在一种实施方式中,所述响应于所述读请求读取的数据不位于所述第一类型的卷内,所述方法还包括:检测所述读请求读取的数据是否位于第二类型的卷内,其中,所述第二类型的卷的优先级低于所述第一类型的卷;响应于所述读请求读取的数据位于所述第二类型的卷内,向第二网络设备发送所述读请求,所述第二网络设备为运行的资源小于第二设定阈值的网络设备;其中,所述第二网络设备与所述第一网络设备通信连接,或者,响应于所述读请求读取的数据不位于所述第二类型的卷内,向第三网络设备发送所述读请求,所述第三网络设备为运行的资源大于或等于第二设定阈值的网络设备,其中,所述第三网络设备与所述第一网络设备通信连接。
18.该实施例中,第二设定阈值大于第一网络设备正常运行读请求的资源的最大值。当第一网络设备的运行读请求的资源大于第一网络设备正常运行读请求的资源的最大值,且小于第二设定阈值时,第一网络设备可以基于访问低优先级的卷的读请求,访问第三网络设备,可以避免低优先级的卷争抢网络设备的资源,以及避免读请求读取低优先级的卷的数据的时延。当第一网络设备的运行读请求的资源大于第二设定阈值,且小于第一设定阈值时,第一网络设备可以基于访问低优先级的卷的读请求,访问第三网络设备,以及基于访问中优先级的卷的读请求,访问第二网络设备,可以避免中低优先级的卷争抢网络设备的资源,以及避免读请求读取中低优先级的卷的数据的时延。
19.第二方面,本技术实施例提供一种第一网络设备,其特征在于,包括:收发器和处理器,所述收发器,用于接收读请求;所述处理器,用于检测所述第一网络设备运行的资源是否大于第一设定阈值;响应于所述第一网络设备运行的资源大于所述第一设定阈值,检测所述读请求读取的数据是否位于第一类型的卷内;其中,所述第一类型的卷为优先级高的卷,所述卷由多个存储器组成,或者,一个存储器包括多个卷,所述卷为多个卷中的一个;响应于所述读请求读取的数据位于所述第一类型的卷内,基于所述读请求访问所述第一网络设备本地的数据。
20.在一种实施方式中,所述处理器,具体用于检测所述第一网络设备的cpu的计算资源的占用比是否大于所述第一设定阈值,所述第一设定阈值为所述cpu的计算资源的占用比;或者检测所述第一网络设备的运行内存的缓存的数据量是否大于所述第一设定阈值,所述第一设定阈值为所述运行内存缓存的数据量;或者检测所述第一网络设备的令牌桶的令牌发出值是否大于所述第一设定阈值,所述第一设定阈值为所述令牌发出值。
21.在一种实施方式中,所述处理器,用于响应于所述第一网络设备运行的资源小于或等于所述第一设定阈值,基于所述读请求访问所述第一网络设备本地的数据。
22.在一种实施方式中,所述处理器,用于响应于所述读请求读取的数据不在所述第一类型的卷,基于所述读请求访问其它网络设备的数据。
23.在一种实施方式中,所述处理器,还用于响应于所述读请求读取的数据不位于所述第一类型的卷内,检测所述读请求读取的数据是否位于第二类型的卷内,其中,所述第二类型的卷的优先级低于所述第一类型的卷;响应于所述读请求读取的数据位于所述第二类型的卷内,向第二网络设备发送所述读请求,所述第二网络设备为运行的资源小于第二设定阈值的网络设备,其中,所述第二网络设备与所述第一网络设备通信连接;或者,响应于所述读请求读取的数据不位于所述第二类型的卷内,向第三网络设备发送所述读请求,所述第三网络设备为运行的资源大于或等于第二设定阈值的网络设备,其中,所述第三网络设备与所述第一网络设备通信连接。
24.第三方面,本技术实施例提供一种超融合基础架构,包括:网络设备,包括多个虚拟机,所述虚拟机执行如第一方面各个可能实现的方法。
25.第四方面,本技术实施例提供一种超融合基础架构,包括:多个网络设备,所述网络设备执行如第一方面各个可能实现的方法。
26.第五方面,本技术实施例提供一种计算设备,包括:至少一个存储器,至少一个处理器,所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得所述处理器执行如第一方面各个可能实现的方法。
27.第六方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面各个可能实现的方法。
28.第七方面,本技术实施例提供一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时,使得所述计算机实施如第一方面各个可能实现的方法。
附图说明
29.下面对实施例或现有技术描述中所需使用的附图作简单地介绍。
30.图1为本技术实施例中提供的一种hci的架构示意图;
31.图2为本技术实施例中提供的另一种hci的架构示意图;
32.图3为本技术实施例中提供的处理器划分的各个单元的架构示意图;
33.图4为本技术实施例中提供的一种数据处理方法的流程示意图;
34.图5为本技术实施例中提供的一种计算设备的结构示意图;
35.图6为本技术实施例中提供的一种数据中心的架构示意图;
36.图7为本技术实施例中提供的另一种数据中心的架构示意图。
具体实施方式
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
38.本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本文中符号“/”表示关联对象是或者的关系,例如a/b表示a或者b。
39.本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一响应消息和第二响应消息等是用于区别不同的响应消息,而不是用于描述响应消息的特定顺序。
40.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
41.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
42.传统的数据中心主要由服务器、网络设备、存储设备以及附属设备构成,而这些设备通常由多家供应商提供。随着业务应用程序及其产生的数据的增长,设备种类和数量也随之增加,从而导致运维的成本和设备部署的周期也迅速增加,同时也增加了资源调度的难度,降低了数据中心的资源利用效率。
43.为了解决现有数据中心的缺陷,由同一厂商或者若干家厂商联合提供的融合系统。融合系统是指将服务器、网络设备、存储设备等设备集成在同一个机柜或者机架上,以实现降低部署难度,提升资源利用效率。但是,融合系统只是将服务器、网络设备、存储设备等设备简单的组装在一起,而服务器、存储设备等设备还是独立管理、独立扩展,仍无法解决数据中心的运维成本高、升级扩容困难等问题。
44.hci是以软件定义存储为核心,使用大量的服务器组成集群,并通过虚拟化计算和虚拟化网络技术,把分布在不同节点上的本地资源融合起来,形成统一的资源池。hci通过统一管理界面的方式向外暴露标准的计算、存储和网络能力,实现模块化的无缝横向扩展。hci的扩展方式变成横向增加节点,使得构建的数据中心非常方便,而且增加了数据中心的灵活性,以及让数据中心的部署和运维更加简单。
45.hci一般部署在分布式系统,分布式系统是由若干个独立节点组成的集合。以hci由多个节点组成为例,主机向hci的目标节点下发写请求时,目标节点不仅将数据写入自身的存储器,还写入其它节点的存储器,避免目标节点损坏造成数据丢失。主机向hci的目标节点下发读请求时,目标节点基于读请求读取自身的存储器的数据,或者,读取其它节点的存储器的数据。
46.其中,节点可以为服务器、计算机等具有存储和计算功能的网络设备,下面以节点为网络设备进行说明。网络设备一般设置有至少一个存储器。至少一个存储器可以基于设定逻辑进行分区,得到多个卷(volume)。一个卷可以由多个存储器组成。或者,一个存储器可以包括多个卷,也就是说,可以对一个存储器进行分区,得到多个卷。管理员可以根据卷的重要性,对每个卷分别设置优先级,分为得到高优先级的卷、中优先级的卷和低优先级的
卷。高优先级的卷优先执行读请求和写请求。中优先级的卷稍后执行读请求和写请求。低优先级的卷最后执行读请求和写请求。本技术实施例中,第一类型的卷是指高优先级的卷,也就是优先级高的卷。第二类型的卷是指中优先级的卷。其它类型的卷是指低优先级的卷。其它实施例中,第一类型的卷、第二类型的卷及其他类型的卷的优先级依次降低。卷的划分级别可以更多,本技术在此仅划分成三级,可以划成两级、四级或更多级,本技术在此不作限定。
47.相关的网络设备中,网络设备突然接收到大量的读请求时,,网络设备会将部分读请求转发到其它网络设备,对其它网络设备的存储器读取数据。但是,网络设备的运行负载超标时,所有的卷会争抢网络设备的资源,无法发挥分布式集群的能力。如果低优先级的卷的读请求压力比较大,争抢更多的资源,导致高优先级的卷的读请求时延增大。如果高优先级的卷的读请求压力比较大,争抢更多的资源,让低优先级的卷的读请求时延进一步增大,导致低优先级的卷的读请求超时而失败。
48.为了解决现有的网络设备存在的缺陷,本技术实施例提供了一种hci、网络设备和数据处理方法。
49.图1为本技术实施例中提供的一种hci的架构示意图。如图1所示,该hci 10包括多个网络设备100。多个网络设备100分别为网络设备100-1、网络设备100-2、
……
、网络设备100-n。一个网络设备100为hci10的一个节点。网络设备100可以为服务器、计算机、等设备。多个网络设备100之间通过网络设备建立通信连接,实现多个节点的无缝横向扩展,形成统一的资源池。
50.每个网络设备100包括收发器110、处理器120和存储器130。网络设备100的收发器110用于让网络设备100与其它网络设备100建立通信连接,实现多个网络设备100之间进行数据传输。收发器110可以是有线接口,如金线、引脚、印刷电路板(printed circuit board,pcb)或其它类型的有线接口。收发器110可以是无线接口,如蓝牙模块、近场通信(near field communication,nfc)模块或其它无线通信模块。
51.处理器120可以是中央处理器(central processing unit,cpu)、微处理器(microprocessor unit,mcu)、云服务器或其它具有处理和控制功能的器件。处理器120用于接收存储器130存储的数据和通过收发器110接收的数据,执行数据处理方法。
52.存储器130可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)等。存储器130也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom)、快闪存储器、硬盘(hard disk drive,hdd)、固态硬盘(solid state drive,ssd)等。存储器130可以为云盘,可以为包括上述各种存储器的组合。本技术实施例中,存储器130可以作为数据库,用于存储有大量的数据。存储器130可以用于存储处理器120运行的应用程序,让处理器120可以执行数据处理方法。存储器130可以作为缓存数据,用于存储读请求、写请求等数据。存储器130还可以具有其它功能,本技术在此不作限定。
53.图2为本技术实施例中提供的另一种hci的架构示意图。如图2所示,hci为一个网络设备200。网络设备200为hci的一个节点。网络设备200包括处理器210和存储器220。处理器210可以为图1中各个网络设备100的处理器110。存储器220可以为图1中各个网络设备100的存储器130。
54.网络设备200可以根据设定的逻辑,虚拟出多个虚拟机(virtual machine,vm)。vm指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。vm包括处理单元和存储单元。处理单元为网络设备200的虚拟处理器,虚拟处理器为处理器210的部分计算功能。存储单元为网络设备200的虚拟存储器,虚拟存储器为存储器220的部分计算存储空间。本技术实施例中,hci为一个网络设备200时,网络设备200的每一个vm可以作为图1中的网络设备100,执行图1中的网络设备100的功能。每个vm的处理单元具有图1中各个网络设备100的处理器110的功能。每个vm的存储单元具有图1中各个网络设备100的存储器130的功能。
55.下面以图1所示的hci 10为例,介绍本技术保护的技术方案实现过程。可以想到的是,本技术保护的技术方案可以通过图2所示的网络设备200实现。
56.如图3所示,处理器120可以根据执行功能划分为负载分析单元121、性能统计单元122和i/o调度单元123。其中,各个单元均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以负载分析单元121为例,介绍负载分析单元121的实现方式。类似的,性能统计单元122和i/o调度单元123的实现方式可以参考负载分析单元121的实现方式。
57.单元作为软件功能单元的一种举例,负载分析单元121可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,负载分析单元121可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,az)中,也可以分布在不同的az中,每个az包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个az。
58.同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,vpc)中,也可以分布在多个vpc中。其中,通常一个vpc设置在一个region内,同一region内两个vpc之间,以及不同region的vpc之间跨区通信需在每个vpc内设置通信网关,经通信网关实现vpc之间的互连。
59.单元作为硬件功能单元的一种举例,负载分析单元121可以包括至少一个计算设备,如服务器等。或者,负载分析单元121也可以是利用专用集成电路(application-specific integrated circuit,asic)实现、或可编程逻辑器件(programmable logic device,pld)实现的设备等。其中,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld)、现场可编程门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合实现。
60.当负载分析单元121包括多个计算设备时,多个计算设备可以分布在相同的region中,也可以分布在不同的region中。多个计算设备可以分布在相同的az中,也可以分布在不同的az中。同样,多个计算设备可以分布在同一个vpc中,也可以分布在多个vpc中。其中,所述多个计算设备可以是服务器、asic、pld、cpld、fpga和gal等计算设备的任意组合。
61.需要说明的是,在其他实施例中,负载分析单元121可以用于执行数据处理方法中的任意步骤,性能统计单元122可以用于执行数据处理方法中的任意步骤,i/o调度单元123
可以用于执行数据处理方法中的任意步骤。负载分析单元121、性能统计单元122和i/o调度单元123负责实现的步骤可根据需要指定,通过负载分析单元121、性能统计单元122和i/o调度单元123分别实现数据处理方法中不同的步骤来实现网络设备100的全部功能。
62.负载分析单元121可以基于网络设备100的cpu、运行内存、令牌桶等器件的状态,检测网络设备100运行已经接收的读请求的资源。读请求的数量越多,网络设备100运行的资源越多,网络设备100趋向于高负载运行。读请求的数量越少,网络设备100运行的资源越少,网络设备100趋向于低负载运行。本技术实施例中,读请求可以是读i/o请求。i/o为输入输出端口。每个设备都会有一个专用的i/o地址,用来处理自身的输入输出信息。读i/o请求是指通过指定的i/o地址的读取数据的请求。资源可以是i/o资源。i/o资源是指i/o地址资源,也就是通过指定的i/o地址进行读取数据、写入数据及对相关请求进行分析等一系列相关的操作需要消耗的资源。
63.在本实施例中,负载分析单元121可以基于cpu的计算资源的占用比,检测网络设备100运行的资源情况。其中,网络设备100为第一网络设备,如果cpu的计算资源的占用比大于第一设定阈值时,网络设备100处于高负载运行,网络设备100很难调用额外的资源执行读请求。如果cpu的计算资源的占用比小于或等于第一设定阈值时,网络设备100处于低负载运行,网络设备100可以调用额外的资源执行读请求。第一设定阈值为cpu的计算资源的占用比。cpu的计算资源的占用比是指i/o地址资源的占用比,i/o地址资源的占用比为i/o地址资源已使用的资源与i/o地址资源所有的资源的比例。
64.在其它实施例中,负载分析单元121可以基于运行内存的缓存的数据大小(数据量),检测网络设备100运行的资源情况。如果运行内存的缓存的数据量大于第一设定阈值时,网络设备100处于高负载运行,网络设备100很难调用额外的资源执行读请求。如果运行内存的缓存的数据量小于或等于第一设定阈值时,网络设备100处于低负载运行,网络设备100可以调用额外的资源执行读请求。第一设定阈值为运行内存缓存的数据量。
65.在另一其它实施例中,负载分析单元121可以基于令牌桶的令牌发出值的多少,检测网络设备100运行的资源情况。如果令牌桶的令牌发出值大于第一设定阈值时,网络设备100处于高负载运行,网络设备100很难调用额外的资源执行读请求。如果令牌桶的令牌发出值小于或等于第一设定阈值时,网络设备100处于低负载运行,网络设备100可以调用额外的资源执行读请求。第一设定阈值为令牌发出值。
66.令牌桶是指基于令牌桶算法的桶。令牌桶算法是网络流量整形(traffic shaping)和速率限制(rate limiting)中最常使用的一种算法。令牌桶算法用于控制发送到网络上的数据的数目,以及允许突发数据的发送。大小固定的令牌桶可以以恒定的速率源源不断地产生令牌。如果令牌桶的令牌不被消耗,或者令牌的消耗速度小于产生的速度,令牌桶内部的令牌会不断地增加,直至增加到桶被填满。令牌桶的令牌填满后,令牌桶产生的令牌会溢出,导致令牌桶的令牌数量不会超过令牌桶的最大容纳数量。令牌桶的令牌发出值是指令牌桶的令牌消耗速度。令牌桶的令牌发出值越大,网络设备100的运行负载越大。令牌桶的令牌发出值越小,网络设备100的运行负载越小。
67.性能统计单元122用于检测各个读请求读取的数据所在的卷,将各个读请求可以按照时间的顺序在对应的卷进行排队。本技术实施例中,性能统计单元122可以接收负载分析单元121的检测结果,并在网络设备100处于高负载运行时,将各个读请求按照时间的顺
序在网络设备100的各个卷进行排队。
68.i/o调度单元123基于负载分析单元121的检测结果和性能统计单元122的排序结果,让高优先级的卷对应的读请求访问本地的存储器的数据,让中优先级的卷对应的读请求访问高性能的其它网络设备的存储器的数据,让低优先级的卷对应的读请求访问低性能的其它网络设备的存储器的数据。网络设备包括多个卷。多个卷分别为高优先级的卷、中优先级的卷和低优先级的卷。在一个实施例中,网络设备包括n个卷。将前i个优先级对应的卷定义为高优先级的卷。第i+1个至第j个优先级对应的卷定义为中优先级的卷。第j+1个至第n个优先级对应的卷定义为低优先级的卷。n为大于3的正整数。i和j均为大于0的正整数。
69.本技术实施例中,hci的网络设备100检测到自身运行读请求的资源比较大时,读请求的数量比较多。hci的网络设备100可以基于多个读请求按照访问的卷和时间,让各个读请求可以按照请求先后的时间顺序在网络设备100的各个卷进行排队。hci的网络设备100让高优先级的卷对应的读请求优先请求访问本地的存储器的数据,保证稳定的高每秒进行读写操作的次数(input/output operation per second,iops)和低时延,满足用户的诉求。hci的网络设备100让中低优先级的卷对应的读请求访问其它网络设备的存储器的数据,可以利用分布式集群的能力得到处理,性能相对稳定。
70.下面介绍本技术保护方案的过程中,hci包括第一网络设备、第二网络设备和第三网络设备。第一网络设备包括多个卷。每个卷根据优先级标识,可以划分为高优先级的卷、中优先级的卷和低优先级的卷。中优先级的卷存储的数据备份在第二网络设备。低优先级的卷存储的数据备份在第三网络设备。需要说明的是,第二网络设备仅是举例,中优先级的卷存储的数据备份的网络设备可以为多个网络设备。第三网络设备也仅是举例,低优先级的卷存储的数据备份的网络设备可以为多个网络设备。
71.图4为本技术实施例中提供的一种数据处理方法的流程示意图。如图4所示,该方法是由第一网络设备100的处理器120执行,具体实现过程为:
72.步骤s401,第一网络设备100接收读请求。
73.第一网络设备100在接收到读请求时,可以一并接收写请求。读请求可以来源于主机、其它网络设备或其它发送端。读请求用于读取第一网络设备100的存储器存储的数据。
74.步骤s402,第一网络设备100检测第一网络设备100运行已经接收的读请求的资源是否大于第一设定阈值。当第一网络设备100运行的资源大于第一设定阈值,执行步骤s403。当第一网络设备100运行的资源小于或等于第一设定阈值,执行步骤s404。
75.第一网络设备100在接收到读请求时,可以检测第一网络设备100运行已经接收到的读请求的资源。第一网络设备100检测资源的方式,可以为检测cpu的计算资源的占用比、检测运行内存的缓存的数据量、检测令牌桶的令牌发出值的多少等方式。
76.在本实施例中,第一网络设备100可以基于cpu的计算资源的占用比,检测第一网络设备100运行的资源情况。如果cpu的计算资源的占用比大于第一设定阈值时,第一网络设备100处于高负载运行,第一网络设备100很难调用额外的资源执行读请求。如果cpu的计算资源的占用比小于或等于第一设定阈值时,第一网络设备100处于低负载运行,第一网络设备100可以调用额外的资源执行读请求。第一设定阈值为cpu的计算资源的占用比。cpu的计算资源的占用比是指i/o地址资源的占用比,i/o地址资源的占用比为i/o地址资源已使用的资源与i/o地址资源所有的资源的比例。
77.在其它实施例中,第一网络设备100可以基于运行内存的缓存的数据量,检测网络设备100运行的资源情况。如果运行内存的缓存的数据量大于第一设定阈值时,第一网络设备100处于高负载运行,第一网络设备100很难调用额外的资源执行读请求。如果运行内存的缓存的数据量小于或等于第一设定阈值时,第一网络设备100处于低负载运行,第一网络设备100可以调用额外的资源执行读请求。第一设定阈值为运行内存缓存的数据量。
78.在另一其它实施例中,第一网络设备100可以令牌桶的令牌发出值的多少,检测网络设备100运行的资源情况。如果令牌桶的令牌发出值大于第一设定阈值时,第一网络设备100处于高负载运行,第一网络设备100很难调用额外的资源执行读请求。如果令牌桶的令牌发出值小于或等于第一设定阈值时,第一网络设备100处于低负载运行,第一网络设备100可以调用额外的资源执行读请求。第一设定阈值为令牌发出值。可选地,令牌发生值可以为令牌的消耗速度最大值的80%。
79.步骤s403,第一网络设备100检测读请求读取的数据是否在高优先级的卷。当读请求读取的数据位于高优先级的卷内,执行步骤s404。当读请求读取的数据不位于高优先级的卷内,执行步骤s405。
80.步骤s404,第一网络设备100基于读请求,访问本地的存储器的数据。
81.第一网络设备100当前处于低负载运行时,第一网络设备100处于非饱满负载运行,可以处理额外的读请求。第一网络设备100可以运行读请求,直接访问本地的存储器的数据。也即,第一网络设备100访问自身的各个存储器的数据。
82.第一网络设备100当前处于高负载运行时,第一网络设备100可能很难调用额外的资源执行读请求。第一网络设备100可以基于读请求访问的数据,检测读请求访问的数据是否在高优先级的卷。第一网络设备100确定读请求访问的数据在高优先级的卷时,第一网络设备100可以运行读请求,直接访问本地的存储器的数据。第一网络设备100可以优先处理高优先级的卷的数据,尽量保证稳定的高iops和低时延,满足用户的诉求。
83.步骤s405,第一网络设备100检测读请求读取的数据是否在中优先级的卷。当读请求读取的数据在中优先级的卷,执行步骤s406。当读请求读取的数据不位于中优先级的卷内,执行步骤s407。
84.步骤s406,第一网络设备100基于读请求,访问第二网络设备的存储器的数据。
85.步骤s407,第一网络设备100基于读请求,访问第三网络设备的存储器的数据。
86.本技术中,第二网络设备为第一网络设备100的中优先级的卷存储的数据备份的其它网络设备。第三网络设备为第一网络设备100的低优先级的卷存储的数据备份的其它网络设备。其中,所述第二网络设备与所述第一网络设备通信连接,所述第三网络设备与所述第一网络设备通信连接。
87.第一网络设备100确定读请求访问的数据不位于高优先级的卷内时,第一网络设备100可以运行读请求,访问其它网络设备的存储器存储的数据。第一网络设备100可以利用分布式集群的能力,让中低优先级的卷对应的读请求访问其它网络设备,让网络设备100的读请求的性能相对稳定。
88.本技术实施例中,网络设备100确定中低优先级的卷对应的读请求访问其它网络设备时,网络设备100可以获取其它网络设备的负载运行状态,并基于其它网络设备的负载运行状态,将其它网络设备划分为高性能的其它网络设备和低性能的其它网络设备。高性
能的其它网络设备可以为处于低负载运行的网络设备。低性能的其它网络设备可以为处于高负载运行的网络设备。
89.网络设备100检测其它网络设备的运行读请求的资源是否小于第二设定阈值。网络设备100检测其它网络设备的运行读请求的资源小于第二设定阈值,该网络设备为第二网络设备。网络设备100检测其它网络设备的运行读请求的资源大于或等于第二设定阈值,该网络设备为第三网络设备。
90.网络设备100确定读请求访问的数据在中优先级的卷时,网络设备100可以运行读请求,访问第二网络设备的存储器的数据。网络设备100确定读请求访问的数据不在中优先级的卷时,网络设备100可以运行读请求,访问第三网络设备的存储器的数据。
91.在其它实施例中,第一网络设备100确定中低优先级的卷对应的读请求访问其它网络设备时,第一网络设备100可以基于读请求访问的卷的优先级,将其它网络设备划分为第二网络设备和第三网络设备。可选地,第二设定阈值小于第一设定阈值,避免其它网络设备只运行高优先级的卷的读请求时,还需要执行第一网络设备的读请求,造成其它网络设备的资源紧张。
92.第一网络设备100检测第一网络设备100的运行读请求的资源是否小于第二设定阈值。第一网络设备100检测第一网络设备100的运行读请求的资源大于第二设定阈值,第一网络设备100向第二网络发送读请求,以读取第二网络设备的中优先级的卷备份的数据。第一网络设备100检测第一网络设备100的运行读请求的资源等于或小于第二设定阈值,第一网络设备100向第三网络发送读请求,以读取第三网络设备的低优先级的卷备份的数据。
93.可以想到的是,第二网络设备可以存储有第一网络设备100的中优先级的卷备份的数据,也可能存储有第一网络设备100的低优先级的卷备份的数据。第一网络设备100基于读请求获取第二网络设备存储的低优先级的卷备份的数据时,第二网络设备可以为第三网络设备。同理,第三网络设备可以为第二网络设备。
94.本技术实施例中,第二设定阈值大于第一网络设备100正常运行读请求的资源的最大值。当第一网络设备100的运行读请求的资源大于第一网络设备100正常运行读请求的资源的最大值,且小于第二设定阈值时,第一网络设备100可以基于访问低优先级的卷的读请求,访问第三网络设备,可以避免低优先级的卷争抢网络设备的资源,以及避免读请求读取低优先级的卷的数据的时延。
95.当第一网络设备100的运行读请求的资源大于第二设定阈值,且小于第一设定阈值时,第一网络设备100可以基于访问低优先级的卷的读请求,访问第三网络设备,以及基于访问中优先级的卷的读请求,访问第二网络设备,可以避免中低优先级的卷争抢网络设备的资源,以及避免读请求读取中低优先级的卷的数据的时延。
96.本技术实施例中,第一网络设备100确定运行的资源比较大时,可以检测读请求读取的数据是否在高优先级的卷。如果读请求读取的数据在高优先级的卷时,读请求在高优先级的卷进行排队,读取本地的存储器的数据,可以保证网络设备100稳定的高iops和低时延。如果读请求读取的数据不位于高优先级的卷内时,读请求可以直接读取其它网络设备的存储器的数据,避免低优先级的卷和高优先级的卷争抢网络设备的资源,以及避免读请求读取低优先级的卷的数据的时延。
97.图5为本技术实施例中提供的一种计算设备的结构示意图。如图5所示,计算设备
500包括:总线510、处理器520、存储器530和通信接口540。处理器520、存储器530和通信接口540之间通过总线510通信。计算设备500可以是服务器或终端设备。应理解,本技术不限定计算设备500中的处理器、存储器的个数。
98.总线510可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线510可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线510可包括在计算设备500各个部件(例如,处理器520、存储器530和通信接口540)之间传送信息的通路。
99.处理器520可以包括cpu、mcu、图形处理器(graphics processing unit,gpu)、微处理器(micro processor,mp)或者数字信号处理器(digital signal processor,dsp)等处理器中的任意一种或多种。
100.存储器530可以包括易失性存储器,例如ram。处理器520还可以包括非易失性存储器,例如rom,快闪存储器,hdd或ssd。
101.存储器530中存储有可执行的程序代码,处理器520执行该可执行的程序代码以分别实现前述负载分析单元121、性能统计单元122和i/o调度单元123的功能,从而实现数据处理方法。也即,存储器530上存有用于执行数据处理方法的指令。
102.或者,存储器530中存储有可执行的代码,处理器520执行该可执行的代码以分别实现前述计算设备的功能,从而实现数据处理方法。也即,存储器530上存有用于执行数据处理方法的指令。
103.通信接口540使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备500与其他设备或通信网络之间的通信。
104.本技术实施例还提供了一种数据中心。该数据中心包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机、交换机等终端设备。
105.如图6所示,所述数据中心包括至少一个计算设备500。数据中心中的一个或多个计算设备500中的存储器530中可以存有相同的用于执行数据处理方法的指令。
106.在一些可能的实现方式中,该数据中心中的一个或多个计算设备500的存储器530中也可以分别存有用于执行数据处理方法的部分指令。换言之,一个或多个计算设备500的组合可以共同执行用于执行数据处理方法的指令。
107.需要说明的是,数据中心中的不同的计算设备500中的存储器530可以存储不同的指令,分别用于执行计算设备的部分功能。也即,不同的计算设备500中的存储器530存储的指令可以实现负载分析单元121、性能统计单元122和i/o调度单元123中的一个或多个模块的功能。
108.在一些可能的实现方式中,数据中心的一个或多个计算设备500可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图7示出了一种可能的实现方式。如图7所示,计算设备500a和计算设备500b之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备500a中的存储器530中存有执行负载分析单元121的功能的指令。同时,计算设备500b中的存储器530中存有执
行性能统计单元122和i/o调度单元123的功能的指令。
109.图7所示的数据中心之间的连接方式可以是考虑到本技术提供的数据处理方法需要的大量地存储数据,因此考虑将负载分析单元121、性能统计单元122和i/o调度单元123实现的功能交由计算设备500b执行。
110.应理解,图7中示出的计算设备500a的功能也可以由多个计算设备500完成。同样,计算设备500b的功能也可以由多个计算设备500完成。
111.本技术实施例还提供了另一种数据中心。该数据中心中各计算设备之间的连接关系可以类似的参考图6和图7所述数据中心的连接方式。不同的是,该数据中心中的一个或多个计算设备500中的存储器530中可以存有相同的用于执行数据处理方法的指令。
112.在一些可能的实现方式中,该数据中心中的一个或多个计算设备500的存储器530中也可以分别存有用于执行数据处理方法的部分指令。换言之,一个或多个计算设备500的组合可以共同执行用于执行数据处理方法的指令。
113.需要说明的是,数据中心中的不同的计算设备500中的存储器530可以存储不同的指令,用于执行数据中心的部分功能。也即,不同的计算设备500中的存储器530存储的指令可以实现计算设备中的一个或多个装置的功能。
114.本技术实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行数据处理方法。
115.本技术实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行数据处理方法。
116.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

技术特征:
1.一种数据处理方法,其特征在于,所述方法由第一网络设备执行,所述方法包括:接收读请求;检测所述第一网络设备运行的资源是否大于第一设定阈值;响应于所述第一网络设备运行的资源大于所述第一设定阈值,检测所述读请求读取的数据是否位于第一类型的卷内;其中,所述第一类型的卷为优先级高的卷,所述卷由多个存储器组成,或者,一个存储器包括多个卷,所述卷为多个卷中的一个;响应于所述读请求读取的数据位于所述第一类型的卷内,基于所述读请求访问所述第一网络设备本地的数据。2.根据权利要求1所述的方法,其特征在于,所述检测所述第一网络设备运行的资源是否大于第一设定阈值,具体包括:检测所述第一网络设备的cpu的计算资源的占用比是否大于所述第一设定阈值,所述第一设定阈值为所述cpu的计算资源的占用比。3.根据权利要求1所述的方法,其特征在于,所述检测所述第一网络设备运行的资源是否大于第一设定阈值,具体包括:检测所述第一网络设备的运行内存的缓存的数据量是否大于所述第一设定阈值,所述第一设定阈值为所述运行内存缓存的数据量。4.根据权利要求1所述的方法,其特征在于,所述检测所述第一网络设备运行的资源是否大于第一设定阈值,具体包括:检测所述第一网络设备的令牌桶的令牌发出值是否大于所述第一设定阈值,所述第一设定阈值为所述令牌发出值。5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:响应于所述第一网络设备运行的资源小于或等于所述第一设定阈值,基于所述读请求访问所述第一网络设备本地的数据。6.根据权利要求1-5任意一项所述的方法,其特征在于,所述响应于所述读请求读取的数据不位于所述第一类型的卷内,所述方法还包括:检测所述读请求读取的数据是否位于第二类型的卷内,其中,所述第二类型的卷的优先级低于所述第一类型的卷;响应于所述读请求读取的数据位于所述第二类型的卷内,向第二网络设备发送所述读请求,所述第二网络设备为运行的资源小于第二设定阈值的网络设备;其中,所述第二网络设备与所述第一网络设备通信连接,或者,响应于所述读请求读取的数据不位于所述第二类型的卷内,向第三网络设备发送所述读请求,所述第三网络设备为运行的资源大于或等于第二设定阈值的网络设备,其中,所述第三网络设备与所述第一网络设备通信连接。7.一种第一网络设备,其特征在于,包括:收发器和处理器,所述收发器,用于接收读请求;所述处理器,用于检测所述第一网络设备运行的资源是否大于第一设定阈值;响应于所述第一网络设备运行的资源大于所述第一设定阈值,检测所述读请求读取的数据是否位于第一类型的卷内;其中,所述第一类型的卷为优先级高的卷,所述卷由多个存储器组成,或者,一个存储器包括多个卷,所述卷为多个卷中的一个;
响应于所述读请求读取的数据位于所述第一类型的卷内,基于所述读请求访问所述第一网络设备本地的数据。8.根据权利要求7所述的第一网络设备,其特征在于,所述处理器,具体用于检测所述第一网络设备的cpu的计算资源的占用比是否大于所述第一设定阈值,所述第一设定阈值为所述cpu的计算资源的占用比;或者检测所述第一网络设备的运行内存的缓存的数据量是否大于所述第一设定阈值,所述第一设定阈值为所述运行内存缓存的数据量;或者检测所述第一网络设备的令牌桶的令牌发出值是否大于所述第一设定阈值,所述第一设定阈值为所述令牌发出值。9.根据权利要求7或8所述的网络设备,其特征在于,所述处理器,用于响应于所述第一网络设备运行的资源小于或等于所述第一设定阈值,基于所述读请求访问所述第一网络设备本地的数据。10.根据权利要求7-9任意一项所述的网络设备,其特征在于,所述处理器,还用于响应于所述读请求读取的数据不位于所述第一类型的卷内,检测所述读请求读取的数据是否位于第二类型的卷内,其中,所述第二类型的卷的优先级低于所述第一类型的卷;响应于所述读请求读取的数据位于所述第二类型的卷内,向第二网络设备发送所述读请求,所述第二网络设备为运行的资源小于第二设定阈值的网络设备,其中,所述第二网络设备与所述第一网络设备通信连接;或者,响应于所述读请求读取的数据不位于所述第二类型的卷内,向第三网络设备发送所述读请求,所述第三网络设备为运行的资源大于或等于第二设定阈值的网络设备,其中,所述第三网络设备与所述第一网络设备通信连接。

技术总结
一种数据处理方法,该方法由构成超融合基础架构的网络设备执行。网络设备确定运行的资源比较大时,可以检测读请求读取的数据是否在高性能优先级的卷。如果读请求读取的数据在高性能优先级的卷时,读请求在高性能优先级的卷进行排队,读取本地的存储器的数据,可以保证网络设备稳定的高IOPS和低时延。如果读请求读取的数据不位于高性能优先级的卷时,读请求可以直接读取其它网络设备的存储器的数据,避免低性能优先级的卷和高性能优先级的卷争抢网络设备的资源,以及避免读请求读取低性能优先级的卷的数据的时延。级的卷的数据的时延。级的卷的数据的时延。


技术研发人员:刘国霞 杨朔 梁永贵
受保护的技术使用者:超聚变数字技术有限公司
技术研发日:2023.03.23
技术公布日:2023/7/17
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐