数据请求处理方法、装置、计算机设备和存储介质与流程
未命名
09-13
阅读:97
评论:0

1.本技术涉及计算机技术领域,特别是涉及一种数据请求处理方法、装置、计算机设备和存储介质。
背景技术:
2.为了实现对客户端的异地容量扩容以及异地备份等需求,引入了分布式服务器集群,通过分布式服务器集群对客户端的io请求进行处理。
3.传统技术中,是通过在客户端对io请求进行拆分处理,将拆分后的io请求发送到服务器集群的不同节点对客户端的io请求进行处理。
4.然而,传统技术中,存在客户端的管理复杂度较高的问题。
技术实现要素:
5.基于此,有必要针对上述技术问题,提供一种能够降低客户端的管理复杂度的数据请求处理方法、装置、计算机设备和存储介质。
6.第一方面,本技术提供了一种数据请求处理方法,所述方法应用于服务器集群中的主服务器,所述方法包括:
7.接收io请求;
8.从对所述服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;
9.将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。
10.在其中一个实施例中,所述将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求,包括:
11.根据所述io请求的长度信息和所述聚合卷的条带划分单元,对所述io请求进行拆分,以将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求。
12.在其中一个实施例中,所述从对所述服务器集群的磁盘预先划分得到的多个子卷中确定所述io请求对应的多个目标子卷,包括:
13.根据所述io请求的映射偏移地址,从所述多个子卷中确定所述io请求对应的所述多个目标子卷。
14.在其中一个实施例中,所述io请求包括多个io请求;所述接收io请求,包括:
15.通过多个路径接收所述多个io请求。
16.在其中一个实施例中,所述方法还包括:
17.将所述服务器集群的磁盘划分为多个标准卷;
18.将所述多个标准卷进行条带化,得到所述聚合卷。
19.在其中一个实施例中,所述将所述多个标准卷进行条带化,得到所述聚合卷,包括:
20.按照所述服务器集群的磁盘的排列顺序和预设的条带划分单元,将所述多个标准卷进行条带化,得到所述聚合卷。
21.第二方面,本技术还提供了一种数据请求处理装置。所述装置包括:
22.接收模块,用于接收io请求;
23.计算模块,用于从对服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;
24.处理模块,用于将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。
25.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
26.接收io请求;
27.从对所述服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;
28.将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。
29.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
30.接收io请求;
31.从对所述服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;
32.将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。
33.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
34.接收io请求;
35.从对所述服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;
36.将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。
37.上述数据请求的数据请求处理方法、装置、计算机设备和存储介质,服务器集群中的主服务器接收到一个或多个io请求的情况下,从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,并将io请求拆分为与目标子卷一一对应的多个io子请求,并将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,使得接收到各io子请求的服务器能够分别对接收到的各io子请求进行处理,在该过程中,对io请求的拆分是在服务器集群的主服务器中进行的,相比于在客户端中对io请求进行拆分,降低了客户端的计算量和复杂管理度,另外,将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,由服务器集群中的多个服务器分别对接收到的各io子请求进行处理,提高了服务器集群对io请求的处理效率。
附图说明
38.图1为一个实施例中数据请求处理方法的应用环境图;
39.图2为一个实施例中数据请求处理方法的流程示意图;
40.图3为一个实施例中服务器集群中聚合卷的示意图;
41.图4为一个实施例中服务器集群提供的路径的示意图;
42.图5为一个实施例中服务器集群提供的路径的示意图;
43.图6为另一个实施例中数据请求处理方法的流程示意图;
44.图7为一个实施例中数据请求处理装置的结构框图;
45.图8为另一个实施例中数据请求处理装置的结构框图;
46.图9为另一个实施例中数据请求处理装置的结构框图;
47.图10为另一个实施例中数据请求处理装置的结构框图;
48.图11为另一个实施例中数据请求处理装置的结构框图;
49.图12为另一个实施例中数据请求处理装置的结构框图;
50.图13为一个实施例中计算机设备的内部结构图。
具体实施方式
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
52.本技术实施例提供的数据请求处理方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与服务器集群104中的各服务器1041进行通信,服务器集群104中的各服务器1041接收客户端102发送的io请求,进一步地,服务器集群104中的服务器1041接收到io请求后,可以对接收到的io请求进行拆分,将拆分后的io子请求分别发送给服务器集群中的其他服务器进行处理。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
53.另外,需要说明的是,服务器集群中的每个服务器都安装有分布式存储服务的软件,每个服务器上都一样,通常,这些软件分为计算服务软件和存储服务软件两大类,本技术主要是对与计算类服务软件相关的流程加以说明的。其中,服务器集群中的每一个服务器运行的存储服务软件可以将每个服务器上的磁盘信息汇总,存储服务软件可以提供用户界面,用户可以通过用户界面把整个集群中所有磁盘容量划分成一组一组的卷(lun),即本技术中所描述的标准卷,可以将该操作理解为将分布在不同服务器上的磁盘重新组织成一组一组的磁盘组这个磁盘盘将以一个新的虚拟的名称“卷(lun)”被管理起来,而这个“卷”实际上就是一个虚拟的名称,它实际上是由分散在不同服务器上的多个磁盘组成,然后集群会将这个“卷”分配到不同的服务器的计算服务,由这些计算服务来管理这些卷,简单的说就是服务器集群中的各服务器的计算服务能够知道这个“卷”拥有那些磁盘。
54.在一个实施例中,如图2所示,提供了一种数据请求处理方法,以该方法应用于图1中的主服务器为例进行说明,包括以下步骤:
55.s201,接收io请求。
56.其中,服务器集群中的各服务器均可以接收输入/输出(input/output,io)请求,并根据接收到的io请求执行读写操作。本技术实施例中将以服务器集群中的主服务器接收到io请求为例进行说明。
57.在本实施例中,作为一种可选的实施方式,io请求可以为客户端发送给服务器集群中的主服务器的,可选的,服务器集群的主服务器可以通过小型计算机系统接口(internet small computer system interface,iscsi)协议接收客户端发送的一个或多个io请求,进一步地,当主服务器接收到的io请求为多个io请求时,主服务器可以通过一个io接口依次接收多个io请求,或者,可以通过多个io接口同时接收多个io请求。进一步地,io请求中可以包括需要进行的io操作以及该io请求的信息,可选的,io请求的信息可以为该io请求的长度信息、映射偏移地址等。
58.可选的,在本实施例中,服务器集群中的主服务器可以通过与客户端之间预先规划好的路径接收客户端发送的io请求。
59.s202,从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,将io请求拆分为与多个目标子卷一一对应的多个io子请求。
60.在本实施例中,聚合卷为预先对服务器集群的磁盘进行划分得到的,聚合卷中可以包含服务器集群的磁盘,聚合卷可以由多个子聚合卷组成,服务器集群接收到io请求后,可以根据io请求的信息中的映射偏移地址,将io请求映射到上述聚合卷中,并在多个子聚合卷中确定该io请求消息对应的多个目标子卷,并根据多个目标子卷对io请求进行拆分,将io请求拆分为与多个目标子卷数量相同的多个io子请求。示例性地,如图3所示,将服务器2作为服务器集群中的主服务器,聚合卷可以由15个子聚合卷组成,图3中一个小方格代表一个子聚合卷,服务器2接收到io请求后,可以根据io请求的映射偏移地址,将该io请求映射到聚合卷中,进一步地,在该聚合卷的15个子聚合卷中可以将子聚合卷14、子聚合卷24和子聚合卷34确定为目标子卷,根据目标子卷将io请求拆分为io子请求1、io子请求2和io子请求3。
61.可选的,可以根据各目标子卷的数量对io请求进行拆分,得到与多个目标子卷一一对应的多个io子请求;或者,可以预设各目标子卷的长度,进一步地根据各目标子卷的长度对io请求进行拆分,得到与多个目标子卷一一对应的多个io子请求。
62.s203,将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各io子请求的服务器对各io子请求进行处理。
63.需要说明的是,服务器集群中的各服务器包含多个磁盘,不同的磁盘位于服务器集群中的不同服务器上,即各目标子卷对应的服务器不一定相同。在本实施例中,服务器集群中的主服务器可以根据各目标子卷包含的磁盘,确定各目标子卷包含的磁盘所在的服务器,进一步地,将与各目标子卷对应的io子请求发送给各目标子卷对应的磁盘所在的服务器,由接收到各io子请求的服务器对io子请求进行处理,并将处理各io子请求过程中的信息存储至自身的磁盘中。例如,如图3所示,服务器集群中包含服务器1、服务器2和服务器3,目标子卷包括子聚合卷14、子聚合卷24和子聚合卷34,其中,子聚合卷14对应的服务器为服务器1,子聚合卷24对应的服务器为服务器2,子聚合卷34对应的服务器为服务器3,则主服务器可以将io子请求1发送给服务器1,将io子请求2发送给服务器2,将io子请求3发送给服
务器3。
64.上述数据请求处理方法中,服务器集群中的主服务器接收到客户端发送的一个或多个io请求的情况下,从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,并将io请求拆分为与目标子卷一一对应的多个io子请求,并将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,使得接收到各io子请求的服务器能够分别对接收到的各io子请求进行处理,在该过程中,对io请求的拆分是在服务器集群的主服务器中进行的,相比于在客户端中对io请求进行拆分,降低了客户端的计算量和复杂管理度,另外,将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,由服务器集群中的多个服务器分别对接收到的各io子请求进行处理,提高了服务器集群对io请求的处理效率。
65.在上述将io请求拆分为与多个目标子卷一一对应的多个io子请求时,主服务器可以根据io请求的长度信息和和聚合卷的条带划分单元,对io请求进行拆分。在一个实施例中,上述s202中的“将io请求拆分为与多个目标子卷一一对应的多个io子请求”,包括:根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行拆分,以将io请求拆分为与多个目标子卷一一对应的多个io子请求。
66.其中,条带划分单元为对聚合卷进行划分的最小单位,在划分聚合卷时可以将服务器集群的磁盘划分为标准卷,然后再按照该条带划分单元对标准卷进行条带化得到聚合卷。
67.在本实施例中,服务器集群的主服务器将io请求拆分为多个io子请求,且io子请求的数量与io请求对应的目标子卷的数量相同,每个io子请求对应一个目标子卷,示例性地,若io子请求的数量的数量为2,则该io请求对应的目标子卷数量也为2,且第一io子请求对应第一目标子卷,第二io子请求对应第二目标子卷。
68.可选的,主服务器可以根据聚合卷的条带划分单元,将io请求拆分为多个大小与聚合卷的条带划分单元相同的io子请求,示例性地,若io请求的大小为32k,聚合卷的条带划分单元为8k,则主服务器可以根据io请求的长度信息,从io请求的起始位置按照8k的划分单位依次对io请求进行划分,直到io请求的终止位置,最终将io请求依次划分为4个长度为8k的io子请求。
69.本实施例中,由于是根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行的拆分,对io请求的拆分更加平均合理,使得得到的多个io子请求彼此之间的差异较小,另外,由于是在服务器集群的主服务器中进行的io请求的拆分,降低了客户端的管理复杂度。
70.在上述从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷的场景中,可以根据io请求的映射偏移地址从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷。在一个实施例中,上述s202中的“从对服务器集群的磁盘预先划分得到的多个子卷中确定io请求对应的多个目标子卷”,包括:根据io请求的映射偏移地址,从多个子卷中确定io请求对应的多个目标子卷。
71.其中,io请求的映射偏移地址为将io请求映射到聚合卷后,io请求在聚合卷的首尾地址相对于原io请求的首尾地址的偏移量。
72.在本实施例中,根据io请求的映射偏移地址,确定该io请求在聚合卷上的起始位
置,从该io请求对应的起始位置开始,依次确定io请求的多个目标子卷。
73.可选的,在本实施例中,可以根据目标子卷的预设数量,从映射偏移地址对应的起始位置开始,将预设数量的子聚合卷确定为目标子卷;或者,可以根据io请求的映射偏移地址和io请求的长度信息,确定io请求对应的结束位置,将起始位置和结束位置之间的子聚合卷确定为该io请求对应的目标子卷。
74.本实施例中,根据io请求的映射偏移地址,从聚合卷中确定io请求对应的多个目标子卷,服务器的计算量较小,使得服务器集群的主服务器能够快速地确定出io请求对应的多个目标子卷,从而提高了对io请求的拆分效率。
75.在上述主服务器接收io请求的场景中,接收到的io请求可能为客户端发送的多个io请求,作为一种可选的实施方式,服务器集群中的主服务器可以首先根据客户端的业务处理量确定发送io请求的路径数,并将该路径数发送给客户端,以使客户端通过该路径数对应的路径发送多个io请求。在一个实施例中,上述io请求包括多个io请求,上述s201,包括:通过多个路径接收多个io请求
76.在本实施例中,如图4所示,当客户端的业务处理量为客户端需要处理2条io请求时,则客户端可以确定该业务处理量对应的多个io请求的路径数为2,以使客户端通过与主服务器之间的任意的2条路径分别向主服务器发送io请求;如图5所示,当客户端的业务处理量为客户端需要处理3条io请求时,则客户端可以确定该业务处理量对应的多个io请求的路径数为3,以使客户端通过与主服务器之间的任意的3条路径分别向主服务器发送io请求。
77.进一步地,当客户端的业务处理量增加时,客户端可以增加相对应的发送io请求的路径,示例性地,当业务处理量对应的io请求增加的数量为3时,增加的io请求的路径数可以为1,当业务处理量对应的io请求增加的数量为6时,增加的io请求的路径数量可以为2,当业务处理量对应的io请求增加的数量为6时,增加的io请求的路径数量可以为3。
78.在本实施例中,主服务器可以通过与客户端之间的iscsi协议接收多个io请求。进一步地,当多个io请求的路径数量不为1时,每条路径对应一个服务器,可以将接收到io请求的多个服务器均确定为主服务器,如图4所示,可以将服务器1和服务器2确定为主服务器,进一步地,各主服务器可以同时对接收到的io请求进行拆分。
79.本实施例中,客户端可以同时向多个主服务器发送io请求,从而使得服务器集群中有多个主服务器对io请求进行拆分,提高了服务器集群的计算速度,提高了服务器集群对io请求的分发能力,提高了客户端对服务器集群的访问性能。
80.在对服务器集群的磁盘预先划分得到的聚合卷的场景中,可以先对服务器集群的磁盘进行划分得到多个标准卷,再对标准卷进行条带化得到上述聚合卷,在一个实施例中,如图6所示,上述方法还包括:
81.s401,将服务器集群的磁盘划分为多个标准卷。
82.在本实施例中,服务器集群中的主服务器通过自身的存储服务软件对服务器集群中各服务器的磁盘信息进行汇总,得到各服务器的磁盘分布情况,从而根据各服务器的磁盘分布情况对汇总的磁盘进行划分,得到多个划分后的磁盘,将划分后的磁盘按照预设的排列规则进行排列,得到多个标准卷,其中,各标准卷中包含的划分后的磁盘属于不同的服务器,可选的,可以将各标准卷映射到服务器集群中的多个服务器上进行管理,通常,一个
标准卷只能由一个服务器进行管理,一个服务器可以管理多个标准卷。
83.s402,将多个标准卷进行条带化,得到聚合卷。
84.其中,聚合卷的定义其实就是在标准卷之上提供了另一种逻辑意义上的另一种类型的卷,聚合卷可以由多个标准卷组成。可选的,在本实施例中,服务器集群中的主服务器通过自身的存储服务软件可以按照服务器集群的磁盘的排列顺序和预设的条带划分单元,将多个标准卷进行条带化,得到聚合卷。示例性地,在本实施例中,服务器集群中的主服务器将多个标准卷按照预设的条带划分单元进行划分,得到多个存储单元,其中,各存储单元的大小与条带划分单元相同,进一步地,将各存储单元按照磁盘的排列顺序进行排列,得到聚合卷,例如,如上述图3所示,可以将标准卷1划分为5个存储单元,分别为11、12、13、14、15,将标准卷2划分为5个存储单元,分别为21、22、23、24、25,将标准卷3划分为5个存储单元,分别为31、32、33、34、35,将各存储单元按照11、21、31、12、22、32...15、25、35的顺序进行排列,得到聚合卷。
85.可选的,聚合卷的数量可以为一个,也可以为多个,示例性地,若服务器集群中包含10个标准卷,可以对标准卷1-5进行划分,得到聚合卷1,对标准卷6-10进行划分,得到标准卷2。
86.本实施例中,根据服务器集群的磁盘得到多个标准卷,根据多个标准卷得到聚合卷,将多个服务器的磁盘信息汇总到一个服务器中,提高了服务器对io请求的处理速度。
87.下面结合一个具体的数据请求处理场景来介绍本公开的一个实施例,该方法包括如下步骤:
88.s1,将服务器集群的磁盘划分为多个标准卷,按照服务器集群的磁盘的排列顺序和预设的条带划分单元,将多个标准卷进行条带化,得到聚合卷。
89.s2,通过多个路径接收多个io请求。
90.s3,根据io请求的映射偏移地址,从多个子卷中确定io请求对应的多个目标子卷。
91.s4,根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行拆分,以将io请求拆分为与多个目标子卷一一对应的多个io子请求。
92.s5,将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各io子请求的服务器对各io子请求进行处理。
93.上述数据请求的数据请求处理方法,服务器集群接收到一个或多个io请求,在服务器集群提供的聚合卷中确定io请求对应的多个目标子卷,并将io请求拆分为与目标子卷一一对应的多个io子请求,在服务器集群中进行io请求的拆分,相比于在客户端中对io请求进行拆分,降低了客户端的计算量和复杂管理度,将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,由多个服务器随各io子请求进行处理,提高了服务器集群对io请求的处理速度。
94.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的
步骤或者阶段的至少一部分轮流或者交替地执行。
95.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据请求处理方法的数据请求处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据请求处理装置实施例中的具体限定可以参见上文中对于数据请求处理方法的限定,在此不再赘述。
96.在一个实施例中,如图7所示,提供了一种数据请求处理装置,包括:接收模块10、计算模块11和处理模块12,其中:
97.接收模块10,用于接收io请求;
98.计算模块11,用于从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,将io请求拆分为与多个目标子卷一一对应的多个io子请求;
99.处理模块12,用于将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各io子请求的服务器对各io子请求进行处理。
100.本实施例提供的数据请求处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
101.在一个实施例中,如图8所示,上述计算模块11,包括:拆分单元111,其中:
102.拆分单元111,用于根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行拆分,以将io请求拆分为与多个目标子卷一一对应的多个io子请求。
103.本实施例提供的数据请求处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
104.在一个实施例中,如图9所示,上述计算模块11,包括:第一确定单元112,其中:
105.第一确定单元112,用于根据io请求的映射偏移地址,从多个子卷中确定io请求对应的多个目标子卷。
106.本实施例提供的数据请求处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
107.在一个实施例中,如图10所示,上述接收模块10,包括:接收单元101,其中:
108.接收单元101,用于通过多个路径接收多个io请求。
109.本实施例提供的数据请求处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
110.在一个实施例中,如图11所示,上述装置还包括:第一划分模块13和第二划分模块14,其中:
111.第一划分模块13,用于将服务器集群的磁盘划分为多个标准卷。
112.第二划分模块14,用于将多个标准卷进行条带化,,得到聚合卷。
113.本实施例提供的数据请求处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
114.在一个实施例中,如图12所示,上述第二划分模块14,包括:划分单元141,其中:
115.划分单元141,用于按照服务器集群的磁盘的排列顺序和预设的条带划分单元,将多个标准卷进行条带化,得到聚合卷。
116.本实施例提供的数据请求处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
117.上述数据请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
118.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据请求处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据请求处理方法。
119.本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
120.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
121.接收io请求;
122.从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,将io请求拆分为与多个目标子卷一一对应的多个io子请求;
123.将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各io子请求的服务器对各io子请求进行处理。
124.本实施例提供的计算机设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
125.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
126.根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行拆分,以将io请求拆分为与多个目标子卷一一对应的多个io子请求。
127.本实施例提供的计算机设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
128.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
129.根据io请求的映射偏移地址,从多个子卷中确定io请求对应的多个目标子卷。
130.本实施例提供的计算机设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
131.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
132.通过多个路径接收多个io请求。
133.本实施例提供的计算机设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
134.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
135.将服务器集群的磁盘划分为多个标准卷;
136.将多个标准卷进行条带化,得到聚合卷。
137.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
138.按照服务器集群的磁盘的排列顺序和预设的条带划分单元,将多个标准卷进行条带化,得到聚合卷。
139.本实施例提供的计算机设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
140.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
141.接收io请求;
142.从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,将io请求拆分为与多个目标子卷一一对应的多个io子请求;
143.将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各io子请求的服务器对各io子请求进行处理。
144.本实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
145.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
146.根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行拆分,以将io请求拆分为与多个目标子卷一一对应的多个io子请求。
147.本实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
148.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
149.根据io请求的映射偏移地址,从多个子卷中确定io请求对应的多个目标子卷。
150.本实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
151.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
152.通过多个路径接收多个io请求。
153.本实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
154.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
155.将服务器集群的磁盘划分为多个标准卷;
156.将多个标准卷进行条带化,得到聚合卷。
157.本实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
158.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
159.按照服务器集群的磁盘的排列顺序和预设的条带划分单元,将多个标准卷进行条带化,得到聚合卷。
160.本实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
161.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
162.接收io请求;
163.从对服务器集群的磁盘预先划分得到的聚合卷中确定io请求对应的多个目标子卷,将io请求拆分为与多个目标子卷一一对应的多个io子请求;
164.将各io子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各io子请求的服务器对各io子请求进行处理。
165.本实施例提供的计算机程序产品,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
166.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
167.根据io请求的长度信息和聚合卷的条带划分单元,对io请求进行拆分,以将io请求拆分为与多个目标子卷一一对应的多个io子请求。
168.本实施例提供的计算机程序产品,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
169.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
170.根据io请求的映射偏移地址,从多个子卷中确定io请求对应的多个目标子卷。
171.本实施例提供的计算机程序产品,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
172.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
173.通过多个路径接收多个io请求。
174.本实施例提供的计算机程序产品,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
175.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
176.将服务器集群的磁盘划分为多个标准卷;
177.将多个标准卷进行条带化,得到聚合卷。
178.本实施例提供的计算机程序产品,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
179.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
180.按照服务器集群的磁盘的排列顺序和预设的条带划分单元,将多个标准卷进行条带化,得到聚合卷。
181.本实施例提供的计算机程序产品,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
182.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
183.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器
(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
184.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
185.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种数据请求处理方法,其特征在于,所述方法应用于服务器集群中的主服务器;所述方法包括:接收io请求;从对所述服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。2.根据权利要求1所述的方法,其特征在于,所述将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求,包括:根据所述io请求的长度信息和所述聚合卷的条带划分单元,对所述io请求进行拆分,以将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求。3.根据权利要求1或2所述的方法,其特征在于,所述从对所述服务器集群的磁盘预先划分得到的多个子卷中确定所述io请求对应的多个目标子卷,包括:根据所述io请求的映射偏移地址,从所述多个子卷中确定所述io请求对应的所述多个目标子卷。4.根据权利要求1所述的方法,其特征在于,所述io请求包括多个io请求;所述接收io请求,包括:通过多个路径接收所述多个io请求。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述服务器集群的磁盘划分为多个标准卷;将所述多个标准卷进行条带化,得到所述聚合卷。6.根据权利要求5所述的方法,其特征在于,所述将所述多个标准卷进行条带化,得到所述聚合卷,包括:按照所述服务器集群的磁盘的排列顺序和预设的条带划分单元,将所述多个标准卷进行条带化,得到所述聚合卷。7.一种数据请求处理装置,其特征在于,所述装置包括:接收模块,用于接收io请求;计算模块,用于从对服务器集群的磁盘预先划分得到的聚合卷中确定所述io请求对应的多个目标子卷,将所述io请求拆分为与多个所述目标子卷一一对应的多个io子请求;处理模块,用于将各所述io子请求发送给对应的所述目标子卷包含的磁盘所在的服务器,以使接收各所述io子请求的服务器对各所述io子请求进行处理。8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结
本申请涉及一种数据请求处理方法、装置、计算机设备和存储介质。所述方法包括:接收IO请求;从对服务器集群的磁盘预先划分得到的聚合卷中确定IO请求对应的多个目标子卷,将IO请求拆分为与多个目标子卷一一对应的多个IO子请求;将各IO子请求发送给对应的目标子卷包含的磁盘所在的服务器,以使接收各IO子请求的服务器对各IO子请求进行处理。采用本方法能够降低客户端的管理复杂度。低客户端的管理复杂度。低客户端的管理复杂度。
技术研发人员:苟领航 吴瑞强 宋贤广 刘屹萌 杨浩
受保护的技术使用者:天津中科曙光存储科技有限公司
技术研发日:2023.05.23
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/