CN115604218A - 一种数据处理系统、方法及交换机 - Google Patents
一种数据处理系统、方法及交换机 Download PDFInfo
- Publication number
- CN115604218A CN115604218A CN202110718059.4A CN202110718059A CN115604218A CN 115604218 A CN115604218 A CN 115604218A CN 202110718059 A CN202110718059 A CN 202110718059A CN 115604218 A CN115604218 A CN 115604218A
- Authority
- CN
- China
- Prior art keywords
- control node
- switch
- access request
- address
- storage system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 title claims description 23
- 238000003672 processing method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 23
- 230000003993 interaction Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 37
- 230000004044 response Effects 0.000 description 25
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2546—Arrangements for avoiding unnecessary translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种数据处理系统、方法及交换机,本申请中,交换机接收用于访问该存储系统的第一访问请求,将该第一访问请求转换为用于访问目标控制节点的第二访问请求。该目标控制节点为该多个控制节点中的一个控制节点。目标控制节点在接收到第二访问请求后,处理该第二访问请求。交换机能够将针对整个存储系统的第一访问请求,转换为具体访问目标控制节点的第二访问请求。用户侧部署的应用服务器只需知道整个存储系统的地址,就可以发起第一访问请求,进而访问存储系统,无需通过与DNS节点交互获取存储系统中某一个控制节点的IP地址,这有效简化整个访问过程,提高访问效率。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种数据处理系统、方法及交换机。
背景技术
在存储网络中,为了能够使得应用服务器访问到存储系统中的某一个节点。应用服务器中需要预先部署域名解析服务(domain name service,DNS)域名访问列表,其中,该DNS域名访问列表中记录了存储系统的域名与能够提供DNS的节点(为方便说明,将该节点称为DNS节点)的网际互连协议(internet protocol,IP)地址。应用服务器基于该IP地址向DNS节点发起域名解析请求。
在DNS节点中预先部署有与该存储系统的域名关联的IP地址列表,该IP地址列表中包括存储系统中一个或多个能够提供存储服务的节点的IP地址。DNS节点在接收到该域名解析服务请求后,从与存储系统的域名关联的IP地址列表中选择目标节点的IP地址反馈给应用服务器。应用服务器可以向目标节点发起访问请求,该访问请求的目标地址为目标节点的IP地址,该目标节点在接收到该访问请求后,可以处理该访问请求,以向该应用服务器提供存储服务。
在这种方式中,运维人员需要提前规划存储系统中各个节点的IP地址,还需要预先在应用服务器上部署DNS域名访问列表,部署DNS节点(也即需要在节点上部署DNS,配置该存储系统的域名关联的IP地址列表)。在访问过程中,应用服务器需要先发起域名解析请求,在获得能够提供存储服务的节点的IP地址之后,再发起访问请求,从而使访问过程较为复杂,且访问效率低。
发明内容
本申请提供一种数据处理系统、方法及交换机,用以简化对存储系统的访问方法,提高访问效率。
第一方面,本申请实施例提供了一种数据处理系统,系统包括交换机和存储系统,存储系统包括多个控制节点,交换机与该多个控制节点连接。
在该系统中,交换机可以接收用于访问该存储系统的第一访问请求,交换机在接收到该第一访问请求后,可以将该第一访问请求转换为用于访问目标控制节点的第二访问请求。该目标控制节点为该多个控制节点中的一个控制节点。
目标控制节点在接收到第二访问请求后,可以处理该第二访问请求,例如可以根据第二访问请求读取数据或写入数据。
通过上述系统,交换机能够将针对整个存储系统的第一访问请求,转换为具体访问目标控制节点的第二访问请求。也就是说,对于用户侧部署的应用服务器只需知道整个存储系统的地址,就可以发起第一访问请求,进而访问存储系统,无需通过与DNS节点交互获取存储系统中某一个控制节点的IP地址,这样可以不需要预先部署DNS节点,能够有效简化整个访问过程,提高访问效率。
在一种可能的实施方式中,交换机在根据第一访问请求生成第二访问请求时,为了能够生成能够访问目标控制节点的第二访问请求,该交换机可以对第一访问请求的目的地址进行更新,将第一访问请求中的存储系统的地址修改为目标控制节点的地址,以生成第二访问请求。
通过上述系统,交换机具备NAT功能,能够实现对接收到的访问请求中的目的地址进行更新,保证生成的第二访问请求能够发送到目标控制节点。
在一种可能的实施方式中,目标控制节点为存储系统中的多个控制节点中负载满足预设条件的控制节点。该预设条件可以为负载最小,或负载处于预设范围。
通过上述系统,目标控制节点为负载较小的控制节点,保证该目标控制。
在一种可能的实施方式中,交换机可以实现“主动”负载均衡,能够主动的根据多个控制节点的负载确定目标控制节点。
通过上述系统,交换机具备负载均衡功能,能够确定出当前适合处理第二访问请求的目标控制节点,保证所确定的目标控制节点负载较小,后续能够高效的处理该第二访问请求。
在一种可能的实施方式中,交换机在确定目标控制节点之前,能够从多个控制节点获取多个控制节点的负载。
通过上述系统,交换机实现“主动”负载均衡的功能,能够主动的获取各个控制节点的负载,以便后续能够确定出当前适合处理第二访问请求的目标控制节点。
在一种可能的实施方式中,交换机也可以实现“被动”负载均衡。例如,该目标控制节点的地址可以是由存储系统中的第一控制节点发送给交换机的。在这种场景下,有第一控制节点确定目标控制节点,并将该目标控制节点的地址发送给交换机。
例如,第一控制节点可以直接将该目标控制节点的地址发送给交换机。交换机可以直接利用所获取的该目标控制节点的地址更新第一访问请求的目的地址。
又例如,第一控制节点可以将该目标控制节点的地址发送给交换机。交换机可以利用所获取的该目标控制节点的地址更新本地保存的NAT规则,在接收到第一访问请求时,交换机可以根据更新后的NAT规则更新第一访问请求的目的地址。
又例如,第一控制节点可以将指示存储系统的地址与该目标控制节点的地址的NAT规则发送给交换机。交换机可以保存的该NAT规则,在接收到第一访问请求时,交换机可以根据该NAT规则更新第一访问请求的目的地址。
通过上述系统,交换机可以在第一控制节点的指示下确定目标控制节点的地址,无需交换机自行确定目标控制节点,能够减少对目标控制节点的资源占用,保证交换机对第一访问请求的处理效率。
在一种可能的实施方式中,第一控制节点在确定目标控制节点时,可以获取多个控制节点的负载,并根据多个控制节点的负载确定目标控制节点,并将目标控制节点的地址发送至交换机。
通过上述系统,在存储系统内部,控制节点之间的交互更加方便、高效。第一控制节点能够便捷的确定目标控制节点。
第二方面,本申请实施例提供了一种数据处理方法,有益效果可以参见第一方面的描述此处不再赘述。方法可以由交换机执行,该交换机与存储系统的多个控制节点连接,在该方法中,交换机可以接收第一访问请求,第一访问请求用于访问存储系统。之后可以根据第一访问请求生成第二访问请求,第二访问请求用于访问多个控制节点中的目标控制节点。交换机可以向该目标控制节点发送第二访问请求。目标控制节点在接收到该第二访问请求后,可以处理该第二访问请求。
在一种可能的实施方式中,交换机在根据第一访问请求生成第二访问请求时,可以更新该第一访问请求中的目的地址,将第一访问请求中的存储系统的地址修改为目标控制节点的地址,以生成第二访问请求。
在一种可能的实施方式中,目标控制节点为存储系统中的多个控制节点中负载满足预设条件的控制节点。
在一种可能的实施方式中,交换机还可以根据多个控制节点的负载确定目标控制节点。
在一种可能的实施方式中,交换机在根据多个控制节点的负载确定目标控制节点之前,可以从多个控制节点获取多个控制节点的负载。
在一种可能的实施方式中,也可以由存储系统中的第一控制节点向该交换机发送该目标控制节点的地址。
第三方面,本申请实施例还提供了一种交换机,该交换机具有实现上述第二方面的方法实例中行为的功能,有益效果可以参见第一方面的描述此处不再赘述。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括接收模块、生成模块以及发送模块,这些单元可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第四方面,本申请实施例还提供了一种交换机,该装置具有实现上述第二方面的方法实例中行为的功能,有益效果可以参见第二方面的描述此处不再赘述。所述交换机的结构中包括处理器和存储器,所述处理器被配置为支持所述管理设备执行上述第二方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。所述通信装置的结构中还包括通信接口,用于与其他设备进行通信,如接收第一访问请求、向目标控制节点发送第二访问请求。
第五方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。
第六方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。
第七方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。
附图说明
图1A~图1C为本申请提供的一种系统的架构示意图;
图2为本申请提供的一种数据处理方法示意图;
图3为本申请提供的一种实现“主动”负载均衡的示意图;
图4为本申请提供的一种实现“被动”负载均衡的示意图;
图5为本申请提供的一种交换机的结构示意图;
图6为本申请提供的一种交换机的结构示意图。
具体实施方式
如图1A所示为本申请实施例提供的一种系统架构,该系统中包括应用服务器200、交换机300、以及存储系统100。该存储系统100中包括多个控制节点,对于不同类型的存储系统,该控制节点可以为不同的设备。
用户可以通过应用程序来存取数据。运行这些应用程序的计算机被称为“应用服务器”。应用服务器200可以是物理机,也可以是虚拟机。物理应用服务器200包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。应用服务器200可以通过交换机300访问存储系统100以存取数据。
在本申请实施例中,存储系统100向外部能够呈现一个地址,如该地址可以为统一的网际互连协议(internet protocol,IP)地址。对存储系统100之外的节点来说,由于存储系统100呈现为一个地址,也就是说,该地址是指向该存储系统100的地址,对于该存储系统100之外的节点无需确定具体需要访问该存储系统100中哪一个节点,只要在确定访问该存储系统100时,发起携带有该存储系统100的地址的访问请求即可。该存储系统100地址可以是网络维护人员为该存储系统100配置的,用于唯一标识该存储系统。
在本申请实施例中,应用服务器200中可以保存该存储系统100的地址,当需要访问该存储系统100时,可以通过发起携带有该存储系统100的地址的第一访问请求,对存储系统100进行访问。
在本申请实施例中,以存储系统100对外呈现的地址为IP地址为例进行说明,为简化说明,该IP地址可以为虚拟IP地址。应用服务器200向该存储系统100所发起的第一访问请求的目的IP地址可以为该虚拟IP地址。在本申请实施例中,该虚拟IP地址配置在交换机300上,交换机300在收到目的IP地址为该虚拟IP地址的第一访问请求后,可以根据该虚拟IP地址就可以确定该第一访问请求是发往该存储系统100的。
应用服务器200所发起的第一访问请求,会先到达交换机300,交换机300可以对该第一访问请求进行处理,执行本申请实施例提供的数据处理方法。交换机300可以更新该第一访问请求,生成用于访问目标控制节点的第二访问请求。例如,交换机300可以将该访问请求中的目的IP地址更新为存储系统100中的目标控制节点的IP地址,生成第二访问请求。交换机300将第二访问请求发送给存储系统100中的目标控制节点。
不同于传统交换机300,在本申请实施例中,交换机300并非是简单的数据转发功能,而是能够对访问请求实现目的IP地址的转换。本申请实施例中交换机300具备网络地址转换(network address translation,NAT)功能,能够将存储系统100的虚拟IP地址转换为该存储系统100中某一个控制节点的IP地址。
需要说明的是,控制节点的IP地址可以是交换机300为存储系统100中的各个控制节点分配的,控制节点的IP地址是在该存储系统100中的有效的,也即存储系统100之外的设备(除了交换机300之外的设备)是不能感知或不能获取该控制节点的IP地址的。例如,交换机300可以配置有动态主机配置协议(dynamic host configuration protocol,DHCP)功能,能够自动的为存储系统100中的各个控制节点分配IP地址,并将为各个控制节点分配的IP地址通知给控制节点。
而在交换机300在决定将存储系统100的虚拟IP地址转换为该存储系统100中哪一个控制节点的IP地址时,交换机300还可以从该存储系统100中选择负载较轻的控制节点。也就是说,交换机300具备负载均衡功能,能够将来自应用服务器200的访问流量,较为平均的传输给存储系统100的各个控制节点。
交换机300的负载均衡功能有两种实现方式。
实现方式一、“主动”负载均衡。
在这种方式中,交换机300可以与该存储系统100中的各个控制节点进行交互,周期性或非周期性的获取各个控制节点的负载。
当交换机300接收到来自应用服务器200的第一访问请求后,可以根据当前存储系统100中各个控制节点的负载或最近一次获取的各个控制节点的负载选择一个控制节点作为目标控制节点,该目标控制节点的负载满足预设条件,该预设条件可以为负载最小,或负载处于预设范围。
实现方式二、“被动”负载均衡。
在这种方式中,交换机300可以“被动”的接收目标控制节点的IP地址。例如该目标控制节点的IP地址可以是存储系统100中的第一控制节点发送给交换机300的。
在存储系统100中第一控制节点可以根据存储系统100中各个控制节点的负载确定该目标控制节点的IP地址,将该目标控制节点的IP地址发送给交换机300。
在实现方式二中,存在多种将该目标控制节点的IP地址发送给交换机300的方式,下面列举其中几种。
第一种、第一控制节点可以直接向交换机300发送目标控制节点的IP地址,告知交换机300该目标控制节点为存储系统100负载满足预设条件的控制节点。
当交换机300接收到来自应用服务器200的第一访问请求后,可以利用从第一控制节点获取的目标控制节点的IP地址更新该第一访问请求中的目的IP地址,生成第二访问请求。
当然,在实际应用中,第一控制节点也可以向交换机300发送目标控制节点的标识,交换机300中记录了该存储系统100中各个控制节点的IP地址和各个控制节点的标识的对应关系,交换机300可以根据该目标控制节点的标识确定该目标控制节点的IP地址。
在第一种方式中,交换机300能够从第一控制节点获知负载满足预设条件的目标控制节点,能够直接利用获取的目标控制节点的IP地址更新第一访问请求的目的IP地址。除了该方式之外,交换机300中也可以保存有NAT规则。该NAT规则是交换机300为实现NAT功能所配置的规则,是在进行IP地址转换时需要遵循的规则。该NAT规则指示了存储系统100的虚拟IP地址与存储系统100中控制节点的IP地址的对应关系,基于该NAT规则,交换机300能够确定在更新第一访问请求时,第一访问请求的目的IP地址需要变为哪一个控制节点的IP地址。
在交换机300需要借助NAT规则实现NAT功能的场景中,第一控制节点可以直接发送NAT规则(如下述描述的第二种方式),也可以发送目标控制节点的IP地址,由交换机300自行更新本地保存的NAT规则(如下述描述的第三种方式)。
第二种、第一控制节点可以向交换机300发送NAT规则,该NAT规则指示了该虚拟IP地址与目标控制节点的IP地址的对应关系。交换机300在接收到该NAT规则之后,可以保存该NAT规则。
当交换机300接收到来自应用服务器200的第一访问请求后,可以利用该NAT规则,利用目标控制节点的IP地址更新该第一访问请求中的目的IP地址,生成第二访问请求。
第三种、第一控制节点可以直接向交换机300发送目标控制节点的IP地址,交换机300可以利用该目标控制节点的IP地址更新交换机300中已保存的NAT规则。交换机300已保存的NAT规则可以是预先配置该虚拟IP地址与存储系统100中的一个控制节点的IP地址的对应关系。交换机300可以将已保存的NAT规则中的控制节点的IP地址更新为该目标控制节点的IP地址。
当交换机300接收到来自应用服务器200的第一访问请求后,可以利用更新后的该NAT规则,利用目标控制节点的IP地址更新该第一访问请求中的目的IP地址,生成第二访问请求。
当然,在实际应用中,第一控制节点也可以向交换机300发送目标控制节点的标识,交换机300中记录了该存储系统100中各个控制节点的IP地址和各个控制节点的标识的对应关系,交换机300可以根据该目标控制节点的标识确定该目标控制节点的IP地址。
需要说明的是,本申请实施例并不限定交换机300的数量,该系统中可以包括一个交换机300,由这一个交换机300接收来自应用服务器200的第一访问请求。当然,该系统中也可以包括多个交换机300;在一种可能的应用场景中,该多个交换机300功能等同,也即均具备NAT功能以及负载均衡功能,应用服务器200发起的第一访问请求可以发送至该多个交换机300中的任一个。在另一种可能的场景中,该多个交换机300中存在主交换机300以及备交换机300。主交换机300作为接收第一访问请求的交换机300。当主交换机300故障时,备交换机300可以代替备交换机300接收来自应用服务器200的访问请求。
在前述说明中,是以应用服务器200中保存有存储系统100的地址为例进行说明的。在实际应用中,应用服务器200中可以保存有存储系统100的域名,应用服务器200可以向DNS节点发起域名解析请求,用于请求解析该存储系统100的域名。该DNS节点可以是存储系统100中的控制节点,也可以是存储系统100之外的节点。该DNS节点上配置有存储系统100的域名与该存储系统100的地址的对应关系,该DNS节点在接收到该域名解析请求后,可以根据已配置的对应关系,确定该存储系统100的地址,向该应用服务器200反馈该存储系统100的地址。之后应用服务器200可以发起携带有该存储系统100的地址的第一访问请求。交换机300处理该第一访问请求的方式与前述内容中描述的交换机300处理该第一访问请求的方式类似,具体可以参见前述说明。在这种方式中,应用服务器200中不需要再保存数据较为复杂的存储系统100的地址,而仅需配置较为简单的存储系统100的域名。对于用户而言,也只需记录数据较为简单、较容易记忆的该存储系统100的域名,用户可以通过在应用服务器200中键入该存储系统100的域名触发应用服务器200访问存储系统100(在这种场景下,触发应用服务器200访问存储系统100的过程包括向DNS节点发起域名解析请求、向存储系统100发起第一访问请求)。
如图1B所示为本申请实施例提供的一种系统架构,该系统中包括应用服务器200、交换机300、以及存储系统100。图1B所示的存储系统100是一个集中式存储系统100。
关于应用服务器200、交换机300的说明可以参见前述内容,此处不再赘述。
集中式存储系统100的特点是有统一的入口,所有从外部设备来的数据都要经过该入口,该入口为集中式存储系统100的引擎。引擎是集中式存储系统100中最为核心的部件,许多存储系统100的高级功能都在其中实现。本申请实施例中为例保证引擎的可靠性,可以部署多个引擎。在图1B所示的系统架构中,以存在两个引擎,分别为引擎110和引擎120为例。本申请实施例并不限定引擎的数量,可以是一个,也可以是多个。当存在多个引擎时,每个引擎的结构和功能相似,下面仅以引擎110为例,对引擎的结构进行说明。
如图1B所示,引擎110中有一个或多个控制器,图1B以引擎110包含两个控制器为例予以说明。控制器0与控制器1之间具有镜像通道,控制器0和控制器1互为备份,当控制器0发生故障时,控制器1可以接管控制器0的业务,当控制器1发生故障时,控制器0可以接管控制器1的业务,从而避免硬件故障导致整个存储系统100的不可用。当引擎110中部署有4个控制器时,任意两个控制器之间都具有镜像通道,因此任意两个控制器互为备份。集中式存储系统中,控制器与图1A中的控制节点等同。
对于引擎110中包括的多个控制器,其中一个控制器可以为主控制器,其余控制器为从控制器。主控制器能处理来自交换机的访问请求(如第二访问请求),当主控制器故障时,从控制器可以变为主控制器,代替原来的主控制器处理来自交换机的访问请求,在本申请实施例中以控制器0为主控制器为例。
控制器0能够从交换机300接收第二访问请求,处理该第二访问请求。例如,当第二访问请求为数据读取请求时,控制器0可以根据该第二访问请求从本地的内存或硬盘116中读取数据,并向交换机300反馈携带有读取的数据的第一数据访问响应。例如,当该第二访问请求为数据写入请求时,控制器0可以根据该数据写入请求在本地的内存或硬盘116中写入数据,并向交换机300反馈第一访问响应,以指示该数据已成功写入。
在本申请实施例的一种实现方式中,针对以上描述的“被动”负载均衡,控制器0除了能够处理交换机300转发的访问请求,还可以具备负载均衡功能,能够确定存储系统100中负载满足预设条件的控制器,向交换机300发送所确定的控制器的IP地址、或发送指示该存储系统的虚拟IP地址与所确定的控制器的IP地址对应关系的NAT规则。
具体的,控制器0可以与其他控制器(如控制器1)交互,获取其他控制器的负载,也可以确定自身的负载,对自身的负载以及其他控制器的负载进行分析,确定负载满足预设条件的控制器,将所确定的控制器或NAT规则发送给交换机。
存储系统100中各控制器的结构相同,下面以控制器0为例介绍控制器的结构,在硬件上,控制器0包括总线111、处理器112、内存113、前端接口114。处理器112、内存113、前端接口114通过总线111连接,前端接口114用于通过交换机300与应用服务器200通信,从而为应用服务器200提供存储服务。控制器0还包括后端接口116,后端接口115用于与硬盘通信,以扩充存储系统100的容量。通过后端接口115,引擎110可以连接更多的硬盘,从而形成一个非常大的存储资源池。
内存113中存储有软件程序,处理器120运行内存113中的软件程序可实现对硬盘的管理。例如将硬盘(以及内存113)抽象化为存储资源池,然后将存储资源池划分为LUN提供给应用服务器200使用等。这里的LUN其实就是在应用服务器200所能看到的存储空间。当然,一些集中式存储系统100本身也是文件服务器,可以为服务器提供共享文件服务。例如内存113既可以是随机存取存储器,也可以是只读存储器(read only memory,ROM)。举例来说,随机存取存储器是动态随机存取存储器(dynamic random access memory,DRAM),或者存储级存储器(storage class memory,SCM)。
控制器1(以及其他图1B中未示出的控制器)的硬件组件和软件结构与控制器0类似,这里不再赘述。
图1B所示的是一种盘控分离的集中式存储系统100。在该系统中,引擎110可以不具有硬盘槽位,硬盘需要放置在硬盘框中,后端接口115与硬盘框通信。后端接口115以适配卡的形态存在于引擎110中,一个引擎110上可以同时使用两个或两个以上后端接口115来连接多个硬盘框。或者,适配卡也可以集成在主板上,此时适配卡可通过快捷外围部件互连标准(peripheral component interconnect expres,PCIE)总线与处理器112通信。在该系统中,引擎110也可以具有硬盘槽位,硬盘直接插入到硬盘槽位中,后端接口115与各个硬盘通信。
在集中式存储系统100中,控制器0和控制器1所管理的硬盘可以相同,也可以不同。例如控制器0可以管理部分硬盘,控制器1管理剩余硬盘。
本申请实施例提供的访问请求转发方法除了适用于集中式存储系统100,也同样适用于分布式存储系统100。如图1C所示,为本申请实施例提供的另一种系统架构示意图,该系统中包括应用服务器200、交换机300、以及存储系统100。
关于应用服务器200、交换机300的功能说明可以参见图1C中的相关描述,此处不再赘述。区别在于,在图1C中交换机300是将第一访问请求的目的IP地址更新为存储系统100中一个计算节点130的IP地址。也即在负载均衡功能以及NAT功能也都是针对存储系统100中的计算节点130的。分布式存储系统中,计算节点130与图1A中的控制节点等同。
图1C的存储系统100为一种分布式存储系统,该存储系统100中包括计算节点集群和存储节点集群。计算节点集群包括一个或多个计算节点130(图1C中示出了两个计算节点130,但不限于两个计算节点130),各个计算节点130之间可以相互通信。计算节点130是一种计算设备,如服务器、台式计算机或者存储阵列的控制器等。
计算节点130可以从交换机300接收第二访问请求,处理该第二访问请求。例如,当该第二访问请求为数据读取请求时,计算节点130可以根据该数据读取请求从本地的内存或存储节点集群中的存储节点140中读取数据,并向交换机300反馈携带有读取的数据的第一数据访问响应。例如,当该第二访问请求为数据写入请求时,计算节点130可以根据该数据写入请求在本地的内存或存储节点集群中的存储节点140写入数据,并向交换机300反馈第一数据访问响应,以指示该数据已成功写入。
与图1A中的控制器类似,计算节点130除了能够处理交换机300转发的第二访问请求,在本申请实施例的一种实现方式中,针对以上描述的“被动”负载均衡的实现方式中,计算节点130还可以具备负载均衡功能,能够向交换机300发送负载满足预设条件的计算节点130的IP地址或指示该存储系统的虚拟IP地址与所确定的计算节点130的IP地址对应关系的NAT规则。
计算节点130可以与其他计算节点130(如计算节点130)交互,获取其他计算节点130的负载,也可以确定自身的负载,对自身的负载以及其他计算节点130的负载进行分析,确定负载满足预设条件的计算节点130,向交换机300发送负载满足预设条件的计算节点130的IP地址或指示该存储系统的虚拟IP地址与所确定的计算节点130的IP地址对应关系的NAT规则。
在硬件上,如图1C所示,计算节点130至少包括处理器116、内存117和网卡118。处理器116是一个中央处理器(central processing unit,CPU),用于处理第二访问请求,或者计算节点130内部生成的请求。示例性的,处理器116接收数据写入请求时,会将这些数据写入请求中的数据暂时保存在内存117中。当内存117中的数据总量达到一定阈值时,处理器116将内存117中存储的数据发送给存储节点集群中的存储节点140进行持久化存储。
内存117是指与处理器116直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。例如内存117既可以是随机存取存储器,也可以是只读存储器。
网卡118用于与存储节点140通信。例如,当内存117中的数据总量达到一定阈值时,计算节点130可通过网卡118向存储节点140发送请求以对所述数据进行持久化存储。
任意一个计算节点130可通过网络访问存储节点集群中的任意一个存储节点140。存储节点集群包括多个存储节点140(图1C中示出了三个存储节点140,但不限于三个存储节点140)。一个存储节点140中可以包括一个或多个硬盘,存储节点140主要用于存储数据,根据来自计算节点130发起的指令,在本地存储数据或从本地读取数据将数据反馈给计算节点。
上述提及的集中式存储系统以及分布式存储系统仅是举例,本申请实施例提供的数据处理方法也适用于其他集中式存储系统以及分布式存储系统。
下面结合图2对本申请实施例提供的数据处理方法进行说明,在该方法中所涉及的控制节点(如第一控制节点、或目标控制节点)可以为图1B中的任一控制器,也可以为图1B中的任一计算节点。该方法包括:
步骤201:应用服务器200向交换机300发送第一访问请求。第一访问请求用于访问该存储系统100。第一访问请求的源IP地址为应用服务器200的IP地址,该第一访问请求的目的IP地址为存储系统100的虚拟IP地址,该虚拟IP地址是预先为该存储系统100整体配置的IP地址。该虚拟IP地址是存储系统100向该存储系统100之外的设备呈现的地址。
当用户在应用服务器200上操作,需要从存储系统100读取数据或写入数据时,可以在应用服务器200中键入该虚拟IP地址,触发应用服务器200生成第一访问请求,该第一访问请求的目的IP地址为该虚拟IP地址。在生成了该第一访问请求后,应用服务器200可以将该第一访问请求发送至交换机300。
步骤202:交换机300在接收到该第一访问请求后,交换机300将第一访问请求的目的IP地址更新为目标控制节点的IP地址,生成第二访问请求。该目标控制节点为该存储系统100中负载满足预设条件的控制节点。
在实际应用中,交换机300可以连接多个存储系统100,还可以连接其他设备,在交换机300中记录有每个存储系统100的虚拟IP地址,以及其他设备的IP地址。
当交换机300接收到目的IP地址为其中一个存储系统100的虚拟IP地址的访问请求时,交换机300可以对该访问请求的目的IP地址进行更新,将该访问请求的目的IP地址更新为该存储系统100中一个控制节点的IP地址,该控制节点的负载满足预设条件。交换机300将更新后的访问请求发送给该控制节点。
当交换机300接收到目的IP地址为其他设备的IP地址的访问请求时,交换机300可以直接将该访问请求发送该目的IP地址所指示的设备。
在本申请实施例中,交换机300在接收到该第一访问请求后,能够解析该第一访问请求中的目的IP地址以及源IP地址,在解析到该第一访问请求中的目的IP地址为存储系统100的虚拟IP地址时,可以确定该第一访问请求是发往该存储系统100的访问请求。
为了能够将该第一访问请求发送给存储系统100,交换机300需要从存储系统100中选择能够处理该第一访问请求的目标控制节点。
基于交换机300的负载均衡功能的不同,交换机300选择目标控制节点的方式也不同,可存在如下两种方式:
方式一、交换机300根据存储系统100中各个控制节点的负载,从中选择目标控制节点。也即交换机300具备“主动”负载均衡功能。该目标控制节点可以是该多个控制节点中负载满足预设条件的控制节点,该预设条件为的负载最小,或者负载处于预设范围。
在这种方式中,交换机300具备“主动”负载均衡功能,也可以称为弹性负载均衡(elastic load balancing,ELB)。
交换机300能够主动的从存储系统100中的各个控制节点中获取控制节点的负载,控制节点的负载用于指示该控制节点的工作的繁忙程度,本申请实施例并不限定负载的具体表现形式,例如,负载可以用下列的部分或全部参数进行表征:
控制节点中处理器的占用率、控制节点已建立的通信链路(也可以称为网络连接)的数量、控制节点中网卡的占用率、控制节点单位时间内处理的访问请求的数量。
例如,交换机300可以获取各个控制节点上表征负载的一个参数,如交换机300在获取各个控制节点的处理器的占用率后,交换机300可以从该多个控制节点中选择处理器占用率最小的控制节点作为目标控制节点,也可以选择处理器占用率处于预设范围的一个控制节点作为目标控制节点。
又例如,交换机300可以获取各个控制节点上表征负载的多个参数,如交换机300在获取各个控制节点的处理器的占用率、各个控制节点已建立的通信链路的数量后,对于任一控制节点,交换机300可对该控制节点的处理器的占用率、已建立的通信链路的数量进行加权求和(这里仅是以加权求和为例进行说明,本申请实施例也不限定其他计算方式,如求均值、平方和等计算方式),利用加权求和后的值表征该控制节点的负载。交换机300可以从多个控制节点中选择加权求和后的值最小的控制节点作为目标控制节点,也可以选择加权求和后的值处于预设范围的一个控制节点作为目标控制节点。
需要说明的是,负载的表征方式有很多种,上述几种仅是举例。
交换机300能够周期性或非周期性的从存储系统100中的各个控制节点中获取控制节点的负载,分析存储系统100中各个控制节点的负载,如确定哪一个控制节点负载较大,哪一个控制节点负载较小。
交换机300在选择目标控制节点时,可以根据最近一次获取的或当前获取的各个控制节点的负载,选择其中负载最小的控制节点作为目标控制节点。也可以选择负载处于特定范围的控制节点作为目标控制节点。该特定范围可以为所指示的负载范围较小的范围。
本申请实施例并不限定该特定范围的配置方式,例如该特定范围可以是固定的。又例如,该特定范围也可以是交换机300综合该存储系统100中各个控制节点的负载确定的;举例来说,交换机300在接收到各个控制节点的负载,可以对该多个控制节点的负载求和,获得该存储系统100的负载,对该存储系统100的负载和控制节点的数量做除法,获取控制节点的平均负载,将低于平均负载的范围作为特定范围。这里交换机300根据该存储系统100中各个控制节点的负载确定特定范围的方式仅是举例。
交换机300除了能够从存储系统100中的各个控制节点中获取控制节点的负载,交换机300还可以监控存储系统100中的各个控制节点的状态,也即确认该控制节点在工作还是故障。在选择目标交换机300时,可以排除处于故障状态的交换机300,以保证目标控制节点能够正常处理访问请求。
交换机300监控存储系统100中的各个控制节点的状态的方式有很多种。例如,该存储系统100中的控制节点可以周期性的向交换机300发送工作响应,以指示该控制节点处于工作状态,无故障。当交换机300未接收到某一控制节点的工作响应,则可以确定该控制节点处于故障状态。又例如,该存储系统100中的控制节点和交换机300之间可以进行周期心跳通信;也就是说,控制节点可以每隔固定时间向交换机300发送一个结构固定的心跳信息A,交换机300在接收到该结构固定的心跳信息A之后,可以向控制节点反馈一个结构固定的心跳信息B。当交换机300未接收到某一控制节点的心跳信息A,则可以确定该控制节点处于故障状态。
下面对交换机300能够从存储系统100中的各个控制节点中获取控制节点的负载以及确定控制节点的状态的实现方式进行说明。
如图3所示,在交换机300中可以部署有主控组件,存储系统100中的各个控制节点上可以部署代理组件。这里并不限定主控组件和代理组件的具体实现方式,该主控组件和代理组件可以为软件模块,也可以为硬件模块,如中央处理器(central processing unit,CPU)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)、人工智能(artificial intelligence,AI)芯片、片上系统(system on chip,SoC)或复杂可编程逻辑器件(complex programmablelogic device,CPLD),图形处理器(graphics processing unit,GPU)等。
主控组件通过与代理组件交互能够获取该存储系统100中各个控制节点的实时负载。部署在各个控制节点上的代理组件能够向主控组件上报所在控制节点的实时负载。
主控组件与代理组件之间还可以保持周期心跳通信,以使得主控组件能够确定各个控制节点的状态。主控组件可以维护一个有效控制节点列表,该有效控制节点列表中记录正常工作的控制节点。当主控组件确定某一个控制节点的故障,可以从该有效控制节点列表中删除该故障的控制节点。
当交换机300在接收到第一访问请求,需要选择目标控制节点时,主控组件可以从该有效控制节点列表中选择负载较小的控制节点作为目标控制节点。
方式二、交换机300从存储系统100中的第一控制节点获取目标控制节点的IP地址。
在这种方式中,交换机300具备“被动”负载均衡功能,由第一控制节点来确定目标控制节点,第一控制节点可以将目标控制节点的IP地址直接发送给交换机300,通知交换机300该目标控制节点为负载满足预设条件的控制节点。第一控制节点也可以目标控制节点的IP地址直接发送给交换机300,由交换机300更新本地保存的NAT规则。第一控制节点也可以将指示了该虚拟IP地址与目标控制节点的IP地址的对应关系的NAT规则发送给交换机。
在本申请实施例中以确定目标控制节点的控制节点是第一控制节点为例,第一控制节点可以为存储系统100中的主控制器,如可以为控制器0。控制节点可以与存储系统100的剩余控制节点进行交互,获取从存储系统100中的各个控制节点中获取控制节点的负载,也可以获取自身的负载。
第一控制节点能够周期性或非周期性获取自身的负载及各个控制节点的负载,确定出存储系统100中每个控制节点的负载状态,也即能够分析出哪一个控制节点负载较大,哪一个控制节点负载较小。
第一控制节点确定目标控制节点时,可以根据最近一次获取的或当前获取的各个控制节点的负载,选择其中负载最小的控制节点作为目标控制节点。第一控制节点也可以选择负载处于特定范围的控制节点作为目标控制节点。之后,第一控制节点与交换机300可以通过如下三种方式交互。
第一种方式:
第一控制节点在选择了目标控制节点之后,第一控制节点可以直接将该目标控制节点的IP地址发送给交换机300,告知交换机300该目标控制节点为负载满足预设条件的控制节点。
对于交换机300,当接收到第一访问请求后,可以将该第一访问请求中的目的IP地址更新为从第一控制节点获取的目标控制节点的IP地址。
第二种方式:
第一控制节点在选择了目标控制节点之后,第一控制节点可以将指示该存储系统100的虚拟IP地址与该目标控制节点的IP地址的对应关系的NAT规则发送给交换机300,交换机300可以保存该NAT规则。
对于交换机300,当接收到第一访问请求后,可以根据该NAT规则,将该第一访问请求中的目的IP地址更新为从第一控制节点获取的目标控制节点的IP地址。
第三种方式:
第一控制节点在选择了目标控制节点之后,第一控制节点可以直接将该目标控制节点的IP地址发送给交换机300,交换机300可以利用该目标控制节点的IP地址更新本地保存的NAT规则。
对于交换机300,当接收到第一访问请求后,根据更新后的NAT规则可以将该第一访问请求中的目的IP地址更新为从第一控制节点获取的目标控制节点的IP地址。
值得注意的是,在“被动”负载均衡的实现方式下,本申请实施例并不限定第一控制节点所确定的目标控制节点的数量,可以为一个,也可以为多个。在第一控制节点确定了多个目标控制节点的情况下,交换机300可以记录该多个目标控制节点的IP地址,在更新第一访问请求的目的IP地址时,可以将目标IP地址更新为其中一个目标控制节点的IP地址(对应第一种方式)。交换机300也可以从第一控制节点中接收指示该虚拟IP地址与该多个目标控制节点的IP地址的对应关系的NAT规则,在更新第一访问请求的目的IP地址时,可以将目标IP地址更新为其中一个目标控制节点的IP地址(对应第二种方式)。在第一控制节点确定了多个目标控制节点的情况下,交换机300可以将该多个目标控制节点的IP地址更新到本地保存的NAT规则中,在更新第一访问请求的目的IP地址时,可以将目标IP地址更新为其中一个目标控制节点的IP地址(对应第三种方式)。
在这种“被动”负载均衡的实现方式中,相当于将弹性负载均衡功能部署在存储系统100内部,由存储系统100中的第一控制节点告知交换机300目标控制节点的IP地址。
下面对第一控制节点能够从存储系统100中的各个控制节点中获取控制节点的负载以及确定控制节点的状态的实现方式进行说明。
如图4所示,在第一控制节点中可以部署有主控组件,存储系统100中的剩余控制节点上可以部署代理组件。
主控组件通过与代理组件交互能够获取该存储系统100中剩余控制节点的实时负载。部署在各个控制节点上的代理组件能够向主控组件上报所在控制节点的实时负载。关于负载的表征方式可以参见前述内容中的相关说明,此处不再赘述。
主控组件与代理组件之间还可以保持周期心跳通信,以使得主控组件能够确定各个控制节点的状态。主控组件可以维护一个有效控制节点列表,该有效控制节点列表中记录正常工作的控制节点。当主控组件确定某一个控制节点的故障,可以从该有效控制节点列表中删除该故障的控制节点。
当第一控制节点在需要选择目标控制节点时,主控组件可以从该有效控制节点列表中选择负载较小的控制节点作为目标控制节点,可以将该目标控制节点的IP地址发送给交换机300,也可以生成NAT规则,将生成的NAT规则发送给交换机300。
需要说明的是,在本申请实施例中这里以NAT规则直接包括了目标控制节点的IP地址为例,在实际应用中,NAT规则也可以包括目标控制节点的标识,交换机300可以根据NAT规则确定目标控制节点,在根据本地保存的控制节点的标识与控制节点的IP地址的对应关系,利用目标控制节点的标识确定该目标控制节点的IP地址,之后再利用该目标控制节点的IP地址更新该第一访问请求的目的地址。
交换机300还可以更新该第一访问请求的源地址,将第一访问请求的源地址更新为交换机300的IP地址。为了方便说明,将更新了目的地址和源地址的第一访问请求称为第二访问请求。
步骤203:交换机300在生成第二访问请求后,向该目标控制节点发送第二访问请求。
步骤204:目标控制节点在接收到第二访问请求后,处理该第二访问请求。
当第二访问请求为数据读取请求(也即第一访问请求为数据读取请求),请求读取存储系统100中的数据时,目标控制节点可以从该存储系统100(如集中式存储系统100中的硬盘或分布式存储系统100中的存储节点)中获取需要读取的数据。
当第二访问请求为数据写入请求(也即第一访问请求为数据写入请求),请求在存储系统100中的写入数据时,目标控制节点可以在该存储系统100(如本地内存、集中式存储系统100中的硬盘或分布式存储系统100中的存储节点)中写入数据。
步骤205:目标控制节点向交换机300发送第一访问响应,用于指示对该第二访问请求的处理结果。该第一访问响应的目的IP地址为该交换机300的IP地址。
目标控制节点在处理了该第二访问请求之后,可以向交换机300发送第一访问响应。
当第二访问请求为数据读取请求,第一访问响应中携带有读取的数据(在控制节点成功读取数据的情况下)或指示数据读取失败(在控制节点未成功读取数据的情况下)。
当第二访问请求为数据写入请求,第一访问响应用于指示数据写入成功(在控制节点成功写入数据的情况下)或指示数据写入失败(在控制节点未成功写入数据的情况下)。
步骤206:交换机300在接收到第一访问响应后,更新该第一访问响应的目的IP地址,将第一访问响应的目的IP地址更新为应用服务器200的IP地址,生成第二访问响应。
交换机300在确定第一访问响应需要反馈至应用服务器200,交换机300可以更新第一访问响应的目的IP地址,将第一访问响应的目的IP地址更新为应用服务器200的IP地址。交换机300还可以更新第一访问响应的源IP地址,将第一访问响应的目的IP地址更新为虚拟IP地址。为了方便说明,将更新了目的IP地址(和源IP地址)的第一访问响应称为第二访问响应。
步骤207:交换机300在生成了该第二访问响应后,向应用服务器200发送第二访问响应。
应用服务器200在接收到该第二访问响应后,向用户展示所读取的数据或提示用户数据写入成功。
基于与方法实施例同一发明构思,本申请实施例还提供了一种交换机,该交换机用于执行上述如图2所示的方法实施例中所述交换机执行的方法,相关特征可参见上述方法实施例,此处不再赘述。如图5所示,交换机500包括接收模块501、生成模块502以及发送模块503。
接收模块501,用于接收第一访问请求,第一访问请求用于访问存储系统。接收模块501可以执行如图2所示的实施例中的步骤201。
生成模块502,用于根据第一访问请求生成第二访问请求,第二访问请求用于访问多个控制节点中的目标控制节点。生成模块502可以执行如图2所示的实施例中的步骤202。
发送模块503,用于发送第二访问请求至目标控制节点。发送模块503可以执行如图2所示的实施例中的步骤203。
在一种可能的实施方式中,生成模块502在生成第二访问请求时,可以将第一访问请求中的存储系统的地址修改为目标控制节点的地址,以生成第二访问请求。
在一种可能的实施方式中,目标控制节点为存储系统中的多个控制节点中负载满足预设条件的控制节点。该预设条件可以为负载最小,或负载处于预设范围。
在一种可能的实施方式中,交换机500可以具备“主动”负载均衡。在交换机内部,接收模块501可以从多个控制节点获取多个控制节点的负载。之后,生成模块502可以根据多个控制节点的负载确定目标控制节点。例如该接收模块501中可以包括如图3所示的,主控组件。
在一种可能的实施方式中,交换机500可以具备“被动”负载均衡。接收模块501可以从多个控制节点中的第一控制节点接收目标控制节点的地址。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
在一个简单的实施例中,本领域的技术人员可以想到如图2所示的实施例中交换机可采用图6所示的形式。
如图6所示的管理设备600,包括至少一个处理器601、存储器602,可选的,还可以包括通信接口603。
存储器602可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器602也可以是能够存储计算机程序指令的其他存储介质,但不限于此。存储器602也可以是上述存储器的组合。
本申请实施例中不限定上述处理器601以及存储器602之间的具体连接介质。
处理器601可以为中央处理器(central processing unit,CPU),该处理器601还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、人工智能芯片、片上芯片等。通用处理器可以是微处理器或者是任何常规的处理器等。
当所述交换机采用图6所示的形式时,图6中的处理器601可以通过调用存储器602中存储的计算机程序指令,使得所述交换机可以执行上述任一方法实施例中的所述交换机执行的方法。
具体的,图5的接收模块501、生成模块502以及发送模块503的功能/实现过程均可以通过图6中的处理器601调用存储器602中存储的计算机程序指令来实现。或者,图5中的生成模块502的功能/实现过程可以通过图6中的处理器601调用存储器602中存储的计算机程序指令来实现,图5的接收模块501以及发送模块503的功能/实现过程可以通过图6中的通信接口603来实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (20)
1.一种数据处理系统,其特征在于,所述系统包括交换机和存储系统,所述存储系统包括多个控制节点,所述交换机连接至所述多个控制节点;
所述交换机,用于接收第一访问请求,所述第一访问请求用于访问所述存储系统,根据所述第一访问请求生成第二访问请求,所述第二访问请求用于访问所述存储系统中的目标控制节点,并发送所述第二访问请求至所述目标控制节点;
所述目标控制节点,用于处理所述第二访问请求。
2.如权利要求1所述的系统,其特征在于,所述交换机在根据所述第一访问请求生成第二访问请求时,具体用于:
将所述第一访问请求中的所述存储系统的地址修改为所述目标控制节点的地址,以生成所述第二访问请求。
3.如权利要求1或2所述的系统,其特征在于,所述目标控制节点为所述存储系统中的多个控制节点中负载满足预设条件的控制节点。
4.如权利要求3所述的系统,其特征在于,所述交换机还用于根据所述多个控制节点的负载确定所述目标控制节点。
5.如权利要求4所述的系统,其特征在于,所述交换机还用于从所述多个控制节点获取所述多个控制节点的负载。
6.如权利要求1或2所述的系统,其特征在于,所述交换机还用于从所述多个控制节点中的第一控制节点接收所述目标控制节点的地址。
7.如权利要求6所述的系统,其特征在于,所述第一控制节点用于获取所述多个控制节点的负载,并根据所述多个控制节点的负载确定所述目标控制节点,并将所述目标控制节点的地址发送至所述交换机。
8.一种数据处理方法,其特征在于,所述方法应用于与存储系统连接的交换机,所述存储系统包括多个控制节点,所述方法包括:
接收第一访问请求,所述第一访问请求用于访问所述存储系统;
根据所述第一访问请求生成第二访问请求,所述第二访问请求用于访问所述多个控制节点中的目标控制节点;
发送所述第二访问请求至所述目标控制节点。
9.如权利要求8所述的方法,其特征在于,所述在根据所述第一访问请求生成第二访问请求时,包括:
将所述第一访问请求中的所述存储系统的地址修改为所述目标控制节点的地址,以生成所述第二访问请求。
10.如权利要求8或9所述的方法,其特征在于,所述目标控制节点为所述存储系统中的多个控制节点中负载满足预设条件的控制节点。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
根据所述多个控制节点的负载确定所述目标控制节点。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
从所述多个控制节点获取所述多个控制节点的负载。
13.如权利要求8或9所述的方法,其特征在于,所述方法还包括:
从所述多个控制节点中的第一控制节点接收所述目标控制节点的地址。
14.一种交换机,其特征在于,所述交换机与存储系统连接,所述存储系统包括多个控制节点,所述交换机包括接收模块、生成模块以及发送模块:
所述接收模块,用于接收第一访问请求,所述第一访问请求用于访问所述存储系统;
所述生成模块,用于根据所述第一访问请求生成第二访问请求,所述第二访问请求用于访问所述多个控制节点中的目标控制节点;
所述发送模块,用于发送所述第二访问请求至所述目标控制节点。
15.如权利要求14所述的交换机,其特征在于,所述生成模块,具体用于:
将所述第一访问请求中的所述存储系统的地址修改为所述目标控制节点的地址,以生成所述第二访问请求。
16.如权利要求14或15所述的交换机,其特征在于,所述目标控制节点为所述存储系统中的多个控制节点中负载满足预设条件的控制节点。
17.如权利要求16所述的交换机,其特征在于,所述生成模块,还用于:
根据所述多个控制节点的负载确定所述目标控制节点。
18.如权利要求17所述的交换机,其特征在于,所述接收模块,还用于:
从所述多个控制节点获取所述多个控制节点的负载。
19.如权利要求14或15所述的交换机,其特征在于,所述接收模块,还用于:
从所述多个控制节点中的第一控制节点接收所述目标控制节点的地址。
20.一种交换机,其特征在于,所述交换机包括存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求8~13任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110718059.4A CN115604218A (zh) | 2021-06-28 | 2021-06-28 | 一种数据处理系统、方法及交换机 |
PCT/CN2022/084917 WO2023273483A1 (zh) | 2021-06-28 | 2022-04-01 | 一种数据处理系统、方法及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110718059.4A CN115604218A (zh) | 2021-06-28 | 2021-06-28 | 一种数据处理系统、方法及交换机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115604218A true CN115604218A (zh) | 2023-01-13 |
Family
ID=84691178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110718059.4A Pending CN115604218A (zh) | 2021-06-28 | 2021-06-28 | 一种数据处理系统、方法及交换机 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115604218A (zh) |
WO (1) | WO2023273483A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5636853B2 (ja) * | 2010-10-04 | 2014-12-10 | 富士通株式会社 | ストレージシステムの仮想化制御装置及び制御プログラム |
CN108632305B (zh) * | 2017-03-16 | 2021-05-25 | 杭州海康威视数字技术股份有限公司 | 云存储系统、媒体数据存储方法及系统 |
CN108600281B (zh) * | 2017-03-16 | 2021-12-31 | 杭州海康威视数字技术股份有限公司 | 一种云存储系统、媒体数据存储方法及系统 |
CN106850877A (zh) * | 2017-03-30 | 2017-06-13 | 北京华云网际科技有限公司 | 分布式存储系统中的虚拟ip的设置方法和装置 |
CN110912953A (zh) * | 2018-09-17 | 2020-03-24 | 深圳市优必选科技有限公司 | 一种文件存储系统及方法 |
CN112202843B (zh) * | 2020-09-10 | 2022-07-29 | 江苏安超云软件有限公司 | 一种控制节点的高可用系统及超融合系统 |
-
2021
- 2021-06-28 CN CN202110718059.4A patent/CN115604218A/zh active Pending
-
2022
- 2022-04-01 WO PCT/CN2022/084917 patent/WO2023273483A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023273483A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535692B (zh) | 故障处理方法、装置、计算机设备、存储介质及存储系统 | |
US20050262238A1 (en) | Tolerating failure of traffic management systems | |
CN110096220B (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
US20130104129A1 (en) | Virtual-machine control system and virtual-machine moving method | |
US20090282283A1 (en) | Management server in information processing system and cluster management method | |
JP2014524056A (ja) | 大規模記憶システム | |
CN105357042B (zh) | 一种高可用集群系统及其主节点和从节点 | |
JP6272190B2 (ja) | 計算機システム、計算機、負荷分散方法及びそのプログラム | |
US11153173B1 (en) | Dynamically updating compute node location information in a distributed computing environment | |
CN111147274B (zh) | 为集群解决方案创建高度可用的仲裁集的系统和方法 | |
CN111343262B (zh) | 分布式集群登录方法、装置、设备和存储介质 | |
CN112637265B (zh) | 一种设备管理方法、装置及存储介质 | |
CN106452836A (zh) | 主节点设置方法及装置 | |
WO2020253407A1 (zh) | 一种执行写操作、读操作的方法及装置 | |
CN114553900B (zh) | 一种分布式块存储管理系统、方法及电子设备 | |
CN109733444B (zh) | 数据库系统和列车监控管理设备 | |
CN108200151B (zh) | 一种分布式存储系统中ISCSI Target负载均衡方法和装置 | |
CN104052799B (zh) | 一种利用资源环实现高可用存储的方法 | |
JP2016177324A (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
CN106790610B (zh) | 一种云系统消息分发方法,装置和系统 | |
US20230153170A1 (en) | Method for rapid service deployment in hybrid cloud environment | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN115604218A (zh) | 一种数据处理系统、方法及交换机 | |
KR20180052369A (ko) | 스토리지 어레이를 공유하는 다수의 서버 노드들을 포함하는 메모리 시스템 및 그 동작 방법 | |
CN103685359B (zh) | 数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |