CN116560900A - 读取数据的方法或写数据的方法及其相关系统 - Google Patents
读取数据的方法或写数据的方法及其相关系统 Download PDFInfo
- Publication number
- CN116560900A CN116560900A CN202210114363.2A CN202210114363A CN116560900A CN 116560900 A CN116560900 A CN 116560900A CN 202210114363 A CN202210114363 A CN 202210114363A CN 116560900 A CN116560900 A CN 116560900A
- Authority
- CN
- China
- Prior art keywords
- data
- host
- dpu
- storage system
- network card
- 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 91
- 238000012545 processing Methods 0.000 claims abstract description 122
- 230000015654 memory Effects 0.000 claims abstract description 30
- 230000010365 information processing Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 9
- 230000006837 decompression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 4
- 239000004744 fabric Substances 0.000 claims 3
- 238000004891 communication Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000533950 Leucojum Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
读取数据的方法或写数据的方法及其相关系统,应用于访问存储的应用领域中。读取数据的方法包括:主机包括DPU和网卡,主机分别通过DPU和网卡与存储系统通信,当DPU未发生故障时,主机通过DPU从存储系统获取预处理的数据或者未处理的数据,主机通过DPU对预处理的数据进行后续处理以得到完全处理后的数据,或,主机通过DPU对未处理的数据进行完全处理,以得到完全处理后的数据,完全处理包括预处理以及后续处理,当DPU发生故障时,主机通过网卡从存储系统获取经过存储系统进行完全处理后的数据。在本申请中,当DPU发生故障时,主机通过网卡与存储系统通信访问存储支撑DPU的可靠性,能减少解决DPU可靠性问题的成本,且能大范围应用,增加应用场景。
Description
技术领域
本发明涉及通信领域,尤其涉及读取数据的方法或写数据的方法及其相关系统。
背景技术
数据处理单元(data process unit,DPU)能为存储或网络提供算力,将存储相关的计算在独立的设备中完成,节省计算机设备通用算力例如中央处理器(centralprocessing unit,CPU)的资源,且计算机设备通过DPU直接访问共享存储更加简单、快捷。
为了解决采用DPU伴随的可靠性问题,通常采用多个DPU支撑访问存储的服务,其中,在主要作为数据通道访问存储的DPU出现故障时,切换成其他DPU继续提供服务,确保能正常的访问存储。但是,除主要使用的DPU外的其他DPU只作为备份使用以此保证正常访问存储,并没有其余的性能收益,由此采用多个DPU解决DPU的可靠性问题的成本过大,无法大范围应用。
发明内容
本申请提供读取数据的方法或写数据的方法及其相关系统,可应用于访问存储的应用领域。主机包括DPU和网卡,主机分别通过DPU和网卡与存储系统通信,在DPU故障的情况下,通过网卡访问存储系统,只需要通过网络资源支持主机与存储系统通信以此访问存储,能减少解决DPU可靠性问题的成本,且能大范围应用,增加应用场景。
本申请第一方面提供了一种读取数据的方法,主机包括DPU和网卡,主机分别通过DPU和网卡与存储系统通信,该方法包括:
当DPU未发生故障时,主机通过DPU从存储系统获取预处理的数据或者未处理的数据,预处理的数据由存储系统对未处理的数据经过预处理得到;
当获取的是预处理的数据时,主机通过DPU对预处理的数据进行后续处理以得到完全处理后的数据;
或,当获取的是未处理的数据时,主机通过DPU对未处理的数据进行完全处理,以得到完全处理后的数据,完全处理包括预处理以及后续处理;
当DPU发生故障时,主机通过网卡从存储系统获取经过存储系统进行完全处理后的数据。
在本申请的实施方式中,当DPU未发生故障时,主机通过DPU获取预处理的数据或未处理的数据,主机通过DPU对预处理的数据进行后续处理以得到完全处理后的数据,或者对未处理的数据进行完全处理以得到完全处理后的数据,当DPU发生故障时,主机通过网卡从存储系统获取经过存储系统进行完全处理后的数据。因此在DPU故障的情况下,可以通过网卡从存储系统读取数据,且只需要网络资源支持主机与存储系统通信,能够减少解决DPU可靠性问题的成本,且能大范围应用,增加应用场景。
在第一方面的一种可能的实现方式中,当DPU未发生故障时,主机通过DPU向存储系统发送第一数据读取请求,然后主机获取由存储系统基于第一数据读取请求发送的第一数据。其中第一数据为第一数据读取请求访问的地址的未处理的数据,或者第一数据读取请求访问的地址的未处理的数据经过存储系统预处理后的数据。
而当DPU发送故障时,主机通过网卡向存储系统发送第二数据读取请求,然后主机通过网卡获取由存储系统基于第二数据读取请求发送的第二数据。其中,第二数据由存储系统对第二数据读取请求访问的地址的未处理的数据进行完全处理得到。
在本申请的实施方式中,当DPU未发生故障时,主机通过DPU向存储系统发送第一数据读取请求获取预处理的数据或者未处理的数据,当DPU发生故障时,主机通过网卡向存储系统发送第二数据读取请求获取经过完全处理后的数据。提供了具体的实现方式,体现了方案的可靠性。
在第一方面的一种可能的实现方式中,第二数据读取请求用于对第一数据读取请求尚未访问完成的数据进行继续访问。
在本申请的实施方式中,第二数据读取请求用于对第一数据读取请求未完成访问的数据进行继续访问,增加了方案的可靠性以及应用场景。
在第一方面的一种可能的实现方式中,DPU与主机的接口协议为NVME协议,存储系统与主机的接口协议为使用NVMe通过网络结构支持连接存储(NVMe over fabric,NOF)协议。
在本申请的实施方式中,说明了DPU与主机的接口协议以及存储设备与主机的接口协议同源,体现了方案的可选择性以及灵活性。
在第一方面的一种可能的实现方式中,后续处理至少包括下述操作中的任一项:
确定读取数据的物理位置、卷管理、解压缩或缓存,其中卷管理用于确定读取数据对应的卷。
在本申请的实施方式中,说明了后续操作的具体内容,体现了方案的可靠性以及灵活性。
在第一方面的一种可能的实现方式中,DPU和网卡通过主板插槽安装于主机,或者是集成于主机的芯片。
本申请的实施方式中,说明了DPU和网卡与主机的连接关系,体现了多应用场景,扩大了适用范围,增加了方案的灵活性。
本申请第二方面提供了一种写数据的方法,主机包括DPU和网卡,主机分别通过DPU和网卡与存储系统通信,该方法包括:
当DPU未发生故障时,主机通过DPU对数据进行初步处理或者完全处理后,并向存储系统发送初步处理后的数据或者完全处理后的数据,以使得存储系统对接收到的初步处理后的数据进行后续处理以得到完全处理后的数据并存储,或存储系统对接收到的完全处理后的数据进行存储。其中数据为主机待写入存储系统的数据,后续处理用于将初步处理后的数据写入存储系统存储,完全处理包括初步处理以及后续处理。
当DPU发生故障时,主机通过网卡向存储系统发送待写入的数据,以使得存储系统将待写入的数据进行完全处理,并将完全处理后的数据存储。
在本申请的实施方式中,主机通过DPU以及网卡与存储系统通信,当DPU未发生故障时,主机通过DPU对数据进行初步处理或完全处理后,将初步处理后的数据或完全处理后的数据发送给存储系统,然后存储系统对初步处理后的数据进行后续处理后得到完全处理后的数据并存储,或者直接存储完全处理后的数据。当DPU发生故障时,主机通过网卡向存储系统发送待写入的数据,然后存储系统将待写入的数据进行完全处理,并将完全处理后的数据存储。体现了在DPU故障时,可以通过网卡往存储系统写数据,且只需要网络资源支持主机与存储系统通信,能够减少解决DPU可靠性问题的成本,且能大范围应用,增加应用场景。
在第二方面的一种可能的实现方式中,第二数据为第一数据中未写入存储系统的数据。
在本申请的实施方式中,第二数据为第一数据中未写入存储系统的数据,增加了方案的可靠性以及应用场景。
在第二方面的一种可能的实现方式中,DPU与主机的接口协议为NVME协议,存储系统与主机的接口协议为NOF协议。
在本申请的实施方式中,说明了DPU与主机的接口协议以及存储设备与主机的接口协议同源,体现了方案的可选择性以及灵活性。
在第二方面的一种可能的实现方式中,初步处理至少包括下述操作中的任一项:
确定写数据的物理位置、卷管理、压缩或重复数据删除,其中卷管理用于确定所述写数据对应的卷。
在本申请的实施方式中,说明了初步处理的具体内容,体现了方案的可靠性以及灵活性。
本申请第三方面提供了一种读取数据的系统,该系统具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请第三方面的读取数据的系统执行本申请第一方面或第一方面任意一种可能实现方式所描述的方法。
本申请第四方面提供了一种写数据的系统,该系统具有实现上述第二方面或第二方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请第四方面的写数据的系统执行本申请第二方面或第二方面任意一种可能实现方式所描述的方法。
本申请第五方面提供了一种信息处理装置,可以包括处理器,该处理器与存储器耦合,其中存储器用于存储指令,处理器用于执行存储器中的指令使得该交互系统执行本申请第一方面、第一方面任意一种可能实现方式、第二方面或第二方面任意一种可能实现方式所描述的方法。
本申请第六方面提供了另一种信息处理装置,包括处理器,用于执行存储器中存储的计算机程序(或计算机可执行指令),当计算机程序(或计算机可执行指令)被执行时,使得执行如第一方面及第一方面各个可能的实现方式中的方法。
在一种可能的实现中,处理器和存储器集成在一起;
在另一种可能的实现中,上述存储器位于该信息处理装置之外。
该信息处理装置还包括通信接口,该通信接口用于该信息处理装置与其他设备进行通信,例如数据和/或信号的发送或接收。示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
本申请第七方面提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本申请第一方面或第一方面任一种可能实现方式所描述的方法被执行,或本申请第二方面或第二方面任一种可能实现方式所描述的方法被执行。
本申请第八方面提供一种计算机程序产品,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本申请第一方面或第一方面任一种可能实现方式所描述的方法被执行,或本申请第二方面或第二方面任一种可能实现方式所描述的方法被执行。
本申请第九方面提供了一种芯片,该芯片包括至少一个处理器和至少一个接口电路,该接口电路和该处理器耦合,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,至少一个处理器用于运行计算机程序或指令,其具有实现如上述第一方面、第一方面任意一种可能实现方式、第二方面或第二方面任意一种可能实现方式的方法的功能,该功能可以通过硬件实现,也可以通过软件实现,还可以通过硬件和软件组合实现,该硬件或软件包括一个或多个与上述功能相对应的模块。
附图说明
图1为多个DPU访问存储的一个示意图;
图2为本申请实施例提供的读取数据或写数据的系统的一个架构示意图;
图3为本申请实施例提供的读取数据的方法的一个示意图;
图4为本申请实施例提供的设置身份标识的一个示意图;
图5为本申请实施例提供的存储访问路径的一个示意图;
图6为本申请实施例提供的应用场景的一个示意图;
图7为本申请实施例提供的应用场景的另一个示意图;
图8为本申请实施例提供的写数据的方法的一个示意图;
图9为本申请实施例提供的读取数据的系统或写数据的系统的一个结构示意图;
图10为本申请实施例提供的信息处理装置的一个结构示意图。
具体实施方式
本申请提供了读取数据的方法或写数据的方法及其相关系统,可应用于访问存储的应用领域。其中,主要是在DPU正常的情况下,主机通过DPU访问存储系统,在DPU发生故障的情况下,通过网卡访问存储系统,以此解决DPU可靠性的问题,由于只需要通过网卡支持主机与存储系统通信,因此能减少DPU可靠性问题的成本,且能大范围应用,增加应用场景。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
在介绍本申请实施例之前,先对目前解决可靠性问题的方案进行简单的介绍,以便于后续理解本申请实施例。
目前一种硬件有单点故障可靠性问题通常采用多个作为冗余使用,因此在主机上配置至少两个DPU,其中一个DPU作为数据通道访问存储系统,另一个DPU作为备份使用,在作为数据通道访问存储系统的DPU故障的情况下,切换到备份的DPU继续访问存储系统。示例性的,具体请参阅图1,图1为多个DPU访问存储的一个示意图,其中DPU1作为数据通道访问存储系统,该存储系统由多个存储节点组成,DPU2作为备份,DPU1以及DPU2的控制器均采用协议为非易失性内存主机控制器接口规范(Non-Volatile Memory express,NVMe),而主机通过多路径模块将两个DPU访问存储的路径进行聚合管理,以便于在DPU1故障的情况下,通过DPU2访问存储。该多路径模块通过DPU的设备类型、厂商、设备全球范围唯一名称(world wide name,WWN)等确定DPU1以及DPU2是同类型的设备,然后基于DPU1上报的身份标识N1以及DPU2上报的身份标识N2创建一个聚合后的逻辑块设备为dm-0,且建立逻辑块设备和N1以及N2之间的映射关系。基于此主机在访问存储时,先访问逻辑块设备dm-0,然后由多路径模块选择N1或N2访问存储,由此能提供DPU故障场景的可靠性。
但是,DPU的成本较高,除主要使用的DPU外的其他DPU只作为备份使用以此保证正常访问存储,并没有其他的性能收益,由此采用多个DPU解决DPU可靠性问题的成本过大,无法大范围应用。
为解决上述所述问题,本申请实施例首先提供了读取数据的方法或写数据的方法及其相关系统,应用于访问存储的应用领域中。主机包括DPU和网卡,主机分别通过DPU和网卡与存储系统通信,读取数据的方法包括:当DPU未发生故障时,主机通过DPU从存储系统获取预处理的数据或未处理的数据,然后主机通过DPU对预处理的数据进行后续处理,或对未处理的数据进行完全处理以得到完全处理后的数据;当DPU发生故障时,主机通过网卡从存储系统获取经过存储系统进行完全处理后的数据。写数据的方法包括:当DPU未发生故障时,主机通过DPU对第一数据进行初步处理或者完全处理处理后,并向存储系统发送初步处理后的数据或者完全处理后的数据,以使得存储系统对接收到的初步处理后的数据进行后续处理得到完全处理后的数据并存储,或对接收到的完全处理后的数据进行存储。在DPU发生故障的情况下,主机通过网卡访问存储系统,只需要通过网络资源支持主机与存储系统通信,因此能减少解决DPU可靠性问题的成本,且能大范围应用,增加应用场景。
本发明实施例中提及的网卡(network interface controller,NIC),指的是不具有强大数据计算能力的普通网卡,也就是传统意义上的网卡,其主要功能是对外提供物理接口。
本发明实施例中DPU又称为智能网卡,它既拥有普通网卡(对外提供物理接口)的功能又兼有强大的计算能力,因此,可以把CPU的一部分功能卸载给DPU处理。
DPU的物理位置是位于主机中。在一种实现方式中,DPU在由存储系统管理(例如,由存储系统为其分配计算任务),从而与存储系统共同完成原本由存储系统完成的计算。此处原本由存储系统完成的计算例如是:当DPU故障时,存储系统把数据提供给主机前所需要执行的计算。
存储系统例如是:硬盘组、硬盘框、存储服务器、存储集群或者私有云存储系统、公有云存储系统。
为了更好的理解本申请实施例,下面结合附图,首先对本申请实施例提供的读取数据的系统以及写数据的系统分别进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。具体请参阅图2,图2为本申请实施例提供的读取数据或写数据的系统的一个架构示意图,具体包括:
主机201以及存储系统202,其中主机201包括DPU2011和网卡2012。主机201分别通过DPU2011和网卡2012与存储系统202通信。
其中存储系统202包括多个存储节点,该存储节点用于存储数据,示例性的,存储节点可以是包括硬盘、磁盘或其他持久化层的设备,实际情况中,具体此处不做限定。
示例性的,图2所示为读取数据的系统,其中:
主机201用于当DPU2011未发生故障时,通过DPU2011从存储系统202获取预处理的数据或者未处理的数据,该预处理的数据由存储系统202对未处理的数据经过预处理得到。
主机201,还用于当获取的是预处理的数据时,通过DPU2011对预处理的数据进行后续处理以得到完全处理后的数据;或,主机201,还用于当获取的是未处理的数据时,通过DPU2011对未处理的数据进行完全处理,以得到完全处理后的数据。其中完全处理包括预处理以及后续处理。
主机201,还用于当DPU2011发生故障时,通过网卡2012从存储系统202获取经存储系统202进行完全处理后的数据。
示例性的,图2所示为写数据的系统,其中:
主机201,用于当DPU2011未发生故障时,通过DPU2011对第一数据进行初步处理或者完全处理后,并向存储系统202发送初步处理后的数据或者完全处理后的数据。其中,第一数据为主机201待写入存储系统202的数据。
存储系统202,用于对接收到的初步处理后的数据进行后续处理以得到完全处理后的数据并存储,或者,存储系统202,还用于对接收到的完全处理后的数据进行存储。其中,后续处理用于将初步处理后的数据写入存储系统202存储,且完全处理包括初步处理以及后续处理;
主机201,还用于当DPU2011发生故障时,通过网卡2012向存储系统202发送待写入的第二数据;
存储系统202,还用于将第二数据进行完全处理,并将完全处理后的数据存储。
本申请实施例中,主机包括DPU和网卡,主机通过DPU和网卡分别和存储系统通信,当DPU未发生故障时,主机通过DPU与存储系统通信写数据或读取数据,当DPU发生故障时,主机通过网卡与存储系统通信写数据或读取数据。其中,在DPU发生故障的情况下,主机通过网卡与存储系统通信,只需要网络资源支持通过主机访问存储系统即可,无需其他的资源,能降低成本,且能增加适用的范围以及应用场景。
需要说明的是,本申请实施例描述的读取数据或写数据的系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面结合附图,更直观的对本申请实施例的读取数据的方法进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。具体请参阅图3,图3为本申请实施例提供的读取数据的方法的一个示意图,具体包括:
主机包括DPU和网卡,该主机分别通过DPU和网卡与存储系统通信。
一种可能的实现方式中,DPU与主机的接口协议为NVME协议,存储系统与主机的接口协议为NOF协议。说明了DPU与主机的接口协议以及存储设备与主机的接口协议同源,体现了方案的可选择性以及灵活性。
一种可能的实现方式中,DPU和网卡通过主板插槽安装于主机,或者是集成于主机的芯片。可以理解的是,还可以是DPU和网卡其中一个安装与主机,另一个集成与主机的芯片,实际情况中可以根据具体情况确定,具体此处不做限定。
示例性的,存储系统包括多个存储节点,在主机从存储系统读取数据或写数据之前,主机接收到DPU的第一控制器的信息以及存储系统中存储节点的第二控制器的信息对DPU以及存储节点进行身份标识,具体请参阅图4,图4为本申请实施例提供的设置身份标识的一个示意图。其中,主机接收到DPU发送的第一控制器的信息以及存储节点发送的第二控制器的信息,可选的,该第一控制器的信息以及第二控制器的信息至少包括控制器的协议类型、厂商、产品或设备类型等任意一项,由此基于第一控制器的信息以及第二控制器到的信息确定第一控制器与主机的接口协议为NVMe协议,以及第二控制器与主机的接口协议为使用NVMe通过网络结构支持连接存储(NVMe over fabric,NOF)协议,即第一控制器与主机的接口协议以及第二控制器与主机的接口协议为同源协议。所以在DPU以及存储节点与主机的接口协议为同源协议的情况下,如图4所示,主机通过存储子系统将第一控制器以及第二控制器统一管理,然后存储子系统基于第一控制器的信息为第一控制器设置第一身份标识为1,基于第二控制器的信息为第二控制器设置第二身份标识为2。可以理解的是,此处以数字表示第一身份标识以及第二身份标识仅仅作为示例用于理解本申请实施例,实际情况中还可以用字母、字母组合、数字与字母组合、汉字、字母与汉字组合或汉字组合等形式表示,具体此处不做限定。
应该理解的是,第一控制器的信息以及第二控制器的信息除前述的以外,还能包括其他的控制信息,具体根据实际情况确定,具体此处不做限定。
且为了使DPU以及网卡可以访问存储系统,首先在存储子系统中添加主机信息,例如主机名称、主机的全球范围唯一标识(world wide ID,WWID)、DPU的ID即前述第一身份标识1等,可以理解的是,还能是其他的主机信息,具体此处不做限定。添加后,为主机映射卷,映射完成后存储子系统将卷ID发送给第一控制器以及第二控制器,由此DPU以及存储系统能基于相同的卷ID访问相同的存储。
可选的,DPU与网络设备可以属于不同类型的设备,例如DPU为存储卸载卡,存储系统中的存储节点为服务器。另外可以理解的是,DPU与存储节点也可以是相同类型的设备,具体此处不做限定。
可以理解的是,前述图4的实施例仅仅作为示例用以理解本申请实施例,不对本申请实施例产生实质性的限定,实际情况中,还可以基于其他能达到相同功能的软件模块或硬件模块实现为第一控制器以及第二控制器分别设置对应的身份标识,具体此处不做限定。
主机分别通过DPU以及网卡与存储系统通信的具体步骤如下:
S1、当DPU未发生故障时,获取预处理的数据或未处理的数据。
当DPU未发生故障时,主机通过DPU从存储系统获取预处理的数据或者未处理的数据。其中,预处理的数据由存储系统对未处理的数据经过预处理得到。
示例性的,下面以主机通过DPU从存储系统获取预处理的数据或未处理的数据为例进行说明,具体请参阅图5,图5为本申请实施例提供的存储访问路径的一个示意图。其中主机上的NVMe启动器以及NOF启动器分别识别到了映射的卷,在目录/sys/block下面生成对应的块设备信息,分别为nvme1n1以及nvme2n1,其中nvme1n1对应的是第一控制器,nvme2n1对应的是第二控制器,且由于第一控制器以及第二控制器的存储子系统名称,卷ID、WWN等信息都一致,且第一控制器优先级高于第二控制器优先级即nvme1n1的优先级高于nvme2n1的优先级,然后主机中的多路径模块将nvme1n1以及nvme2n1聚合为如图5所示的逻辑块设备dm-0。由此如图5所示主机通过访问dm-0访问存储,其中,先访问dm-0,当DPU未发生故障时,会如图5的虚线路径所示由多路径模块基于优先级确定优先通过DPU访问存储系统,通过DPU从存储系统获取预处理的数据或未处理的数据。
示例性的,如上述图5所述,多路径模块将nvme1n1以及nvme2n1聚合为dm-0,其中,多路径模块中可以添加白名单,该白名单包括了目标设备的厂商、产品和/或设备类型等信息,若第一控制器的信息以及第二控制器的信息与白名单中包含的一致,则多路径模块才将nvmen1以及nvme2n1聚合为dm-0,在DPU即nvme1n1发生故障的时候,通过网卡与nvme2n1通信。另外,若第一控制器的信息或第二控制器的信息不一致,则不一致的控制器不参与聚合,无法通过其访问存储。
一种可能的实现方式中,主机通过DPU向存储系统发送第一数据读取请求,然后主机通过DPU获取由存储系统基于第一数据读取请求发送的第一数据。其中,该第一数据为第一数据读取请求访问的地址的未处理的数据,或者第一数据读取请求访问的地址的未处理的数据经过存储系统预处理后的数据。示例性的,请参阅图6,图6为本申请实施例提供的应用场景的一个示意图,其中当DPU未发生故障时,主机通过DPU向存储系统发送第一数据,然后通过DPU获取由存储系统发送的第一数据。
在本申请的实施方式中,当DPU未故障时,先通过DPU向存储系统发送第一数据读取请求,然后存储系统通过DPU向主机发送第一数据,提供了具体的实现方式,体现了方案的可靠性。
S2、对预处理的数据进行后续处理,或对未处理的数据进行完全处理得到完全处理后的数据。
当获取的是预处理的数据时,主机通过DPU对预处理的数据进行后续处理以得到完全处理后的数据,或,当获取的是未处理的数据时,主机通过DPU对未处理的数据进行完全数量以得到完全处理后的数据。其中完全处理包括预处理以及后续处理。
示例性的,DPU能为存储或网络提供算力,在获取到的是经过存储系统将未处理的数据经过预处理后发送的预处理的数据,DPU对预处理的数据进行后续处理,然后得到完全处理后的数据。或者,主机通过DPU获取到的是存储系统发送的未处理的数据,例如访问的物理地址的数据,DPU对未处理的数据进行完全处理,该完全处理包括前述的预处理以及后续处理。可选的,后续处理至少包括确定读取数据的物理位置、卷管理、解压缩或缓存,其中卷管理用于确定读取数据对应的卷。
S3、当DPU发生故障时,获取完全处理后的数据。
当获取的是未处理的数据时,主机通过网卡从存储系统获取经过存储系统进行完全处理后的数据。
示例性的,主机会基于第一身份标识向DPU发送探测请求,该探测请求用于探测DPU的状态,在该探测请求的结果异常的情况下,确定DPU发生故障。可选的,探测请求的探测结果异常至少包括探测请求探测失败,或探测请求的结果返回超时等任意一种情况,可以理解的是,实际情况中还能是其他的方式表示探测结果异常,具体此处不做限定。可选的,探测请求可以定时发送,实时监控第一控制器的状态,及时确定第一控制器的异常。基于第一身份标识向第一控制器发送探测请求确定第一控制器访问存储异常,能提升方案的灵活性,以及可靠性。
然后,主机通过网卡从存储系统获取经存储系统完全处理后的数据,具体示例请参阅图7,图7为本申请实施例提供的应用场景的另一个示意图。主机中的多路径模块确定DPU即nvme1n1故障,主机的多路径模块选择通过网卡与nvme2n1通信读取数据,如图7所示的虚线路径访问存储系统。具体实现如,多路径模块确定DPU发生故障,然后将nvme1n1的状态设置为异常以表示不能通过DPU与存储系统通信,降低nvme1n1的优先级,此时nvme2n1的优先级就高于nvme1n1的优先级,或者将nvme1n1的优先级级别设置低于nvme2n1的优先级的级别,例如以数字、字母、汉字或数字、字母、汉字等任意组合表示不同的优先级,具体根据实际情况确定,具体此处不做限定。然后多路径模块基于nvme2n1的高优先级确定通过网卡与nvme2n1通信。
一种可能的实现方式中,主机通过网卡向存储系统发送第二数据读取请求,然后主机通过网卡获取由存储系统基于第二数据读取请求发送的第二数据。其中,第二数据由存储系统对第二数据读取请求访问的地址的未处理的数据进行完全处理得到。示例性的,如图6所示,当DPU发生故障时,主机先通过网卡向存储系统发送第二数据读取请求,然后存储系统从第二数据读取请求访问的物理地址获取未处理的数据,然后将未处理的数据进行完全处理后得到第二数据,并通过网卡向主机发送第二数据。本申请的实施方式提供了具体的实现方式,体现了方案的可靠性。
一种可能的实现方式中,第二数据读取请求用于对第一数据读取请求未访问完成的数据进行继续访问。可以理解的是,实际情况中,第二数据读取请求还可以用于区别与第一数据读取请求的其他数据,具体此处不做限定。在本申请的实施方式中,增加了方案的可靠性以及应用场景。
一种可能的实现方式中,DPU以及存储系统对卷加锁,然后分别基于第一锁ID以及第二锁ID修改卷中的数据,该第一锁ID以及第二锁ID为DPU以及存储系统基于相同方式分别生成的不同锁ID。
示例性的,以图5中的DPU即第一控制器以及第二控制器的存储节点为例进行说明,为了保证第一控制器以及第二控制器在同时对同一片区域进行读写的情况下,第一控制器的锁能互斥第二控制器的访问,第一锁ID以及第二锁ID由第一控制器以及第二控制器基于相同方式分别生成。例如采用雪花(snowflake)算法生成ID,该ID的大小为8字节,其中高位的四字节存放主机的WWID,低位的四字节存放控制器的身份标识,由于第一控制器为DPU的控制器,DPU使用NVMe访问存储不会携带主机的WWID,因此第一控制器生成第一锁ID时高位的四字节为0,而第二控制器使用NOF访问存储会携带主机的WWID,则第二控制器生成的第二锁ID时高位的四字节为主机的WWID,且第一控制器的第一身份标识为1,以及第二控制器的第二身份标识为2,确保了第一锁ID以及第二锁ID的低位的四字节不同,则保证了每个控制器对应的锁ID的唯一性,以此防止DPU以及存储系统同时对相同的卷进行修改。可以理解的是,前述以主机的WWID以及控制器的身份标识得到锁ID仅仅作为示例用于理解本申请实施例,实际情况中,还可以采用其他能达到相同目的的生成方式来得到锁ID,具体此处不做限定。
在本申请实施例中,主机包括DPU以及网卡,且主机分别通过DPU和网卡与存储系统通信。当DPU未发生故障时,主机通过DPU从存储系统获取预处理的数据或未处理的数据,并通过DPU对预处理的数据进行后续处理或对未处理的数据进行完全处理得到完全处理后的数据,当DPU发生故障时,主机通过网卡从存储系统获取完全处理后的数据。解决了DPU的可靠性问题,且只需要网卡支持主机与存储系统通信,减少了成本,且能增加了适用范围,能适用较多的应用场景。
下面结合附图对本申请实施例提供的写数据的方法进行描述,本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。具体请参阅图8,图8为本申请实施例提供的写数据的方法的一个示意图,具体包括:
主机包括DPU和网卡,该主机分别通过DPU和网卡与存储系统通信。
一种可能的实现方式中,DPU与主机的接口协议为NVME协议,存储系统与主机的接口协议为NOF协议。说明了DPU与主机的接口协议以及存储设备与主机的接口协议同源,体现了方案的可选择性以及灵活性。
一种可能的实现方式中,DPU和网卡通过主板插槽安装于主机,或者是集成于主机的芯片。可以理解的是,还可以是DPU和网卡其中一个安装与主机,另一个集成与主机的芯片,实际情况中可以根据具体情况确定,具体此处不做限定。
主机分别通过DPU以及网卡与存储系统通信的具体步骤如下:
A1、当DPU未发生故障时,对第一数据进行初步处理,或对未处理的数据进行完全处理。
当DPU未发生故障时,主机通过DPU对第一数据进行初步处理或者完全处理后,得到初步处理后的数据或完全处理后的数据。第一数据为主机待写入的数据。
一种可能的实现方式中,初步处理至少包括下述操作中的任一项:
确定写数据的物理位置、卷管理、压缩或重复数据删除,其中卷管理用于确定写数据对应的卷。在本申请的实施方式中,说明了初步处理的具体内容,体现了方案的可靠性以及灵活性。
A1的具体实现与前述步骤S2类似,具体此处不再赘述。
A2、发送初步处理后的数据或完全处理后的数据。
主机通过DPU向存储系统发送初步处理后的数据或者完全处理后的数据,使得存储系统对接收到的初步处理后的数据进行后续处理得到完全处理后并存储,或者存储系统对接收到的完全处理后的数据进行存储。其中后续处理用于将初步处理后的数据写入存储系统存储。
A3、当DPU发生故障时,获取完全处理后的数据。
当DPU发生故障时,主机通过网卡向存储系统发送待写入的第二数据,以使得存储系统将第二数据进行完全处理,然后存储系统将完全处理后的数据存储。
一种可能的实现方式中,第二数据为第一数据中未写入存储系统的数据。可以理解的是,第二数据还可以是区别于第一数据的待写入数据,实际情况中可以根据具体情况确定,具体此处不做限定。本申请实施方式增加了方案的可靠性以及应用场景。
需要说明的是,具体实现主机通过DPU以及网卡与存储系统通信的方式与前述读取数据的方法中描述的类似,具体此处不再赘述。
为了实现上述本申请实施例提供的方法中的各功能,读取数据的系统或写数据的系统均可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
如图9所示,本申请实施例还提供了一种读取数据的系统或写数据的系统,该读取数据的系统应用于主要应用存储访问领域中。具体请参阅图9,图9为本申请实施例提供的读取数据的系统或写数据的系统的一个结构示意图。一种可能的实现中,该系统可以包括执行上述方法实施例中的方法/操作/步骤/动作所一一对应的模块或单元,该单元可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。一种可能的实现中,该系统可以包括:主机901以及存储系统902,该主机901包括DPU9011以及网卡9012。主机901分别通过DPU9011以及网卡9012与存储系统902通信。主机901可以用于执行如上述读取数据的方法实施例中在DPU9011未发生故障时,通过DPU9011从存储系统902获取预处理的数据或未处理的数据,以及通过DPU9011对预处理的数据进行后续处理或对未处理的数据进行完全处理的步骤,以及DPU9011发生故障时,通过网卡从存储系统902获取完全处理后的数据的步骤。
在本申请实施例中,在DPU未发生故障时,主机901通过DPU9011从存储系统902获取预处理的数据或未处理的数据,并通过DPU9011对预处理的数据进行后续处理或对未处理的数据进行完全处理,在DPU9011发生故障时,主机901通过网卡9012从存储系统902获取完全处理后的数据。即能通过网卡支持主机与存储系统通信支撑DPU的可靠性,且仅需要网卡支持主机连接存储系统,减少了成本,增加了适用范围以及应用场景。
在其他可能的设计中,上述主机901、DPU9011、网卡9012以及存储系统902可以一一对应的执行上述方法实施例中对应的各种可能的实现方式中的方法/操作/步骤/动作。
在一种可能的设计中,上述主机901,具体用于获取由存储系统基于第一数据读取请求发送的第一数据,第一数据为第一数据读取请求访问的地址的未处理的数据,或者第一数据读取请求访问的地址的未处理的数据经过存储系统预处理后的数据;
具体用于通过网卡向存储系统发送第二数据读取请求;
具体用于通过网卡获取由存储系统基于第二数据读取请求发送的第二数据,第二数据由存储系统对第二数据读取请求访问的地址的未处理的数据进行完全处理得到。
在一种可能的设计中,第二数据读取请求用于对第一数据读取请求未访问完成的数据进行继续访问。
在一种可能的设计中,DPU9011与主机901的接口协议为NVME协议,存储系统902与主机901的接口协议为NOF协议。
在一种可能的设计中,后续处理至少包括下述操作中的任一项:
确定读取数据的物理位置、卷管理、解压缩或缓存,其中卷管理用于确定读取数据对应的卷。
在一种可能的设计中,DPU9011和网卡9012通过主板插槽安装于主机901,或者是集成于主机901的芯片。
另外,主机901还可以用于执行如上述写数据的方法实施例中在DPU9011未发生故障时,通过DPU9011对第一数据进行初步处理或完全处理后,并向存储系统902发送初步处理后的数据或完全处理后的数据的步骤,以及在DPU2011发送故障时,通过网卡9012向存储系统902发送第二数据的步骤。存储系统902用于对接收到的初步处理后的数据进行后续处理得到完全处理后的数据并存储,或者对接收到的完全处理后的数据进行存储的步骤,以及对第二数据进行完全处理,并将完全处理后的数据存储。
本申请上述的各种设计的数据处理系统的有益效果请参考上述读取数据的方法实施例或写数据的方法实施例中一一对应的各种实现方式的有益效果,具体此处不再赘述。
需要说明的是,图9对应实施例所述的各模块/单元之间的信息交互、执行过程等内容,与本申请中读取数据或写数据的方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,具体此处不再赘述。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块或单元集成在一个模块或单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
接下来介绍本申请实施例提供的一种信息处理装置,请参阅图10,图10为本申请实施例提供的信息处理装置的一个结构示意图,信息处理装置1000上可以为图9中对应实施例中对应主机或存储系统,用于实现图9中主机或存储系统的功能,具体的,信息处理装置1000由一个或多个服务器实现,信息处理装置1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1022(例如,一个或一个以上中央处理器)和存储器1032,一个或一个以上的存储介质1030(例如一个或一个以上存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置1000中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在信息处理装置1000上执行存储介质1030中的一系列指令操作。
信息处理装置1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,和/或,一个或一个以上输入输出接口1058。
本申请实施例中,中央处理器1022,用于执行图3或图8对应实施例中的方法。例如,中央处理器1022可以用于:当DPU未发生故障时,通过DPU从存储系统获取预处理的数据或未处理的数据,并通过DPU对预处理的数据进行后续处理,或对未处理的数据进行完全处理,得到完全处理后的数据。当DPU发生故障时,通过网卡从存储系统获取经存储系统完全处理后的数据。
或中央处理器1022可以用于:对未处理的数据进行预处理或完全处理。
或中央处理器1022可以用于:当DPU未发生故障时,通过DPU对第一数据进行初步处理或完全处理,并向存储系统发送初步处理后的数据或完全处理后的数据,当DPU发生故障时,通过网卡向DPU发送第二数据。
或中央处理器1022可以用于:对初步处理后的数据进行后续处理以得到完全处理后的数据并存储,或对第二数据进行完全处理,并将得到的完全处理后的数据存储。
需要说明的是,中央处理器1022还可以用于执行与本申请中图3或图8对应的方法实施例中任意一个步骤,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
本申请实施例还提供的一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
本申请还提供一种芯片或芯片系统,该芯片可包括处理器。该芯片还可包括存储器(或存储模块)和/或收发器(或通信模块),或者,该芯片与存储器(或存储模块)和/或收发器(或通信模块)耦合,其中,收发器(或通信模块)可用于支持该芯片进行有线和/或无线通信,存储器(或存储模块)可用于存储程序或一组指令,该处理器调用该程序或该组指令可用于实现上述方法实施例、方法实施例的任意一种可能的实现方式中由终端或者网络设备执行的操作。该芯片系统可包括以上芯片,也可以包含上述芯片和其他分立器件,如存储器(或存储模块)和/或收发器(或通信模块)。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid statedrive,SSD))等。
Claims (25)
1.一种读取数据的方法,其特征在于,主机包括数据处理单元DPU和网卡,所述主机分别通过所述DPU和所述网卡与存储系统通信,所述方法包括:
当所述DPU未发生故障时,所述主机通过所述DPU从所述存储系统获取预处理的数据或者未处理的数据,所述预处理的数据由所述存储系统对所述未处理的数据经过预处理得到;
当获取的是所述预处理的数据时,所述主机通过所述DPU对所述预处理的数据进行后续处理以得到完全处理后的数据;
或,当获取的是所述未处理的数据时,所述主机通过所述DPU对所述未处理的数据进行所述完全处理,以得到所述完全处理后的数据,所述完全处理包括所述预处理以及所述后续处理;
当所述DPU发生故障时,所述主机通过所述网卡从所述存储系统获取经过所述存储系统进行所述完全处理后的数据。
2.根据权利要求1所述的方法,其特征在于,所述主机通过所述DPU从所述存储系统获取预处理的数据或者未处理的数据,具体包括:
所述主机通过所述DPU向所述存储系统发送第一数据读取请求;
所述主机获取由所述存储系统基于所述第一数据读取请求发送的第一数据,所述第一数据为所述第一数据读取请求访问的地址的未处理的数据,或者所述第一数据读取请求访问的地址的未处理的数据经过所述存储系统预处理后的数据;
所述主机通过所述网卡从所述存储系统获取经过所述存储系统进行所述完全处理后的数据,具体包括:
所述主机通过所述网卡向所述存储系统发送第二数据读取请求;
所述主机通过所述网卡获取由所述存储系统基于所述第二数据读取请求发送的第二数据,所述第二数据由所述存储系统对所述第二数据读取请求访问的地址的未处理的数据进行所述完全处理得到。
3.根据权利要求2所述的方法,其特征在于,所述第二数据读取请求用于对所述第一数据读取请求未访问完成的数据进行继续访问。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述DPU与所述主机的接口协议为非易失性内存主机控制器接口规范NVME协议,所述存储系统与所述主机的接口协议为使用NVMe通过网络结构支持连接存储NOF协议。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述后续处理至少包括下述操作中的任一项:
确定读取数据的物理位置、卷管理、解压缩或缓存,所述卷管理用于确定读取数据对应的卷。
6.根据权利要求1-6中任一项所述的方法,其特征在于,所述DPU和所述网卡通过主板插槽安装于所述主机,或者是集成于所述主机的芯片。
7.一种写数据的方法,其特征在于,主机包括数据处理单元DPU和网卡,所述主机分别通过所述DPU和所述网卡与存储系统通信,所述方法包括:
当所述DPU未发生故障时,所述主机通过所述DPU对第一数据进行初步处理或者完全处理后,并向所述存储系统发送所述初步处理后的数据或者所述完全处理后的数据,以使得所述存储系统对接收到的所述初步处理后的数据进行后续处理以得到所述完全处理后的数据并存储,或所述存储系统对接收到的所述完全处理后的数据进行存储,所述第一数据为所述主机待写入所述存储系统的数据,所述后续处理用于将所述初步处理后的数据写入所述存储系统存储,所述完全处理包括所述初步处理以及所述后续处理;
当所述DPU发生故障时,所述主机通过所述网卡向所述存储系统发送待写入的第二数据,以使得所述存储系统将所述第二数据进行所述完全处理,并将所述完全处理后的数据存储。
8.根据权利要求7所述的方法,其特征在于,所述第二数据为所述第一数据中未写入所述存储系统的数据。
9.根据权利要求7或8所述的方法,其特征在于,所述DPU与所述主机的接口协议为非易失性内存主机控制器接口规范NVME协议,所述存储系统与所述主机的接口协议为使用NVMe通过网络结构支持连接存储NOF协议。
10.根据权利要求7-9中任一项所述的方法,其特征在于,所述初步处理至少包括下述操作中的任一项:
确定写数据的物理位置、卷管理、压缩或重复数据删除,所述卷管理用于确定写数据对应的卷。
11.根据权利要求7-10中任一项所述的方法,其特征在于,所述DPU和所述网卡通过主板插槽安装于所述主机,或者是集成于所述主机的芯片。
12.一种读取数据的系统,其特征在于,所述系统包括:
主机以及存储系统,其中,所述主机包括数据处理单元DPU和网卡,所述主机分别通过所述DPU和所述网卡与所述存储系统通信;
所述主机,用于当所述DPU未发生故障时,通过所述DPU从所述存储系统获取预处理的数据或者未处理的数据,所述预处理的数据由所述存储系统对所述未处理的数据经过预处理得到;
所述主机,还用于当获取的是所述预处理的数据时,通过所述DPU对所述预处理的数据进行后续处理以得到完全处理后的数据;
或,所述主机,还用于当获取的是所述未处理的数据时,通过所述DPU对所述未处理的数据进行所述完全处理,以得到所述完全处理后的数据,所述完全处理包括所述预处理以及所述后续处理;
所述主机,还用于当所述DPU发生故障时,通过所述网卡从所述存储系统获取经过所述存储系统进行所述完全处理后的数据。
13.根据权利要求12所述的系统,其特征在于,所述主机,具体用于通过所述DPU向所述存储系统发送第一数据读取请求;
所述主机,具体用于获取由所述存储系统基于所述第一数据读取请求发送的第一数据,所述第一数据为所述第一数据读取请求访问的地址的未处理的数据,或者所述第一数据读取请求访问的地址的未处理的数据经过所述存储系统预处理后的数据;
所述主机,具体用于通过所述网卡向所述存储系统发送第二数据读取请求;
所述主机,具体用于通过所述网卡获取由所述存储系统基于所述第二数据读取请求发送的第二数据,所述第二数据由所述存储系统对所述第二数据读取请求访问的地址的未处理的数据进行所述完全处理得到。
14.根据权利要求13所述的系统,其特征在于,所述第二数据读取请求用于对所述第一数据读取请求未访问完成的数据进行继续访问。
15.根据权利要求12-14中任一项所述的系统,其特征在于,所述DPU与所述主机的接口协议为非易失性内存主机控制器接口规范NVME协议,所述存储系统与所述主机的接口协议为使用NVMe通过网络结构支持连接存储NOF协议。
16.根据权利要求12-15中任一项所述的系统,其特征在于,所述后续处理至少包括下述操作中的任一项:
确定读取数据的物理位置、卷管理、解压缩或缓存,所述卷管理用于确定读取数据对应的卷。
17.根据权利要求12-16中任一项所述的系统,其特征在于,所述DPU和所述网卡通过主板插槽安装于所述主机,或者是集成于所述主机的芯片。
18.一种写数据的系统,其特征在于,所述系统包括:
主机以及存储系统,其中,所述主机包括数据处理单元DPU和网卡,所述主机分别通过所述DPU和所述网卡与所述存储系统通信;
所述主机,用于当所述DPU未发生故障时,通过所述DPU对第一数据进行初步处理或者完全处理后,并向所述存储系统发送所述初步处理后的数据或者所述完全处理后的数据,所述第一数据为所述主机待写入所述存储系统的数据;
所述存储系统,用于对接收到的所述初步处理后的数据进行后续处理以得到所述完全处理后的数据并存储;
或,所述存储系统,还用于对接收到的所述完全处理后的数据进行存储,所述后续处理用于将所述初步处理后的数据写入所述存储系统存储,所述完全处理包括所述初步处理以及所述后续处理;
所述主机,还用于当所述DPU发生故障时,通过所述网卡向所述存储系统发送待写入的第二数据;
所述存储系统,还用于将所述第二数据进行所述完全处理,并将所述完全处理后的数据存储。
19.根据权利要求18所述的系统,其特征在于,所述第二数据为所述第一数据中未写入所述存储系统的数据。
20.根据权利要求18或19所述的系统,其特征在于,所述DPU与所述主机的接口协议为非易失性内存主机控制器接口规范NVME协议,所述存储系统与所述主机的接口协议为使用NVMe通过网络结构支持连接存储NOF协议。
21.根据权利要求18-20中任一项所述的系统,其特征在于,
所述初步处理至少包括下述操作中的任一项:
确定写数据的物理位置、卷管理、压缩或重复数据删除,所述卷管理用于确定写数据对应的卷。
22.根据权利要求18-21中任一项所述的系统,其特征在于,所述DPU和所述网卡通过主板插槽安装于所述主机,或者是集成于所述主机的芯片。
23.一种信息处理装置,包括处理器和存储器,所述处理器与所述存储器耦合,其特征在于,所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述执行如权利要求1-11中任一项所述的方法。
24.一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
25.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114363.2A CN116560900A (zh) | 2022-01-30 | 2022-01-30 | 读取数据的方法或写数据的方法及其相关系统 |
PCT/CN2023/073890 WO2023143618A1 (zh) | 2022-01-30 | 2023-01-30 | 读取数据的方法或写数据的方法及其相关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114363.2A CN116560900A (zh) | 2022-01-30 | 2022-01-30 | 读取数据的方法或写数据的方法及其相关系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116560900A true CN116560900A (zh) | 2023-08-08 |
Family
ID=87470739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210114363.2A Pending CN116560900A (zh) | 2022-01-30 | 2022-01-30 | 读取数据的方法或写数据的方法及其相关系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116560900A (zh) |
WO (1) | WO2023143618A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245387A (zh) * | 2015-10-26 | 2016-01-13 | 华为技术有限公司 | 一种处理报文的方法及系统 |
CN111654519B (zh) * | 2017-09-06 | 2024-04-30 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
US11256644B2 (en) * | 2018-09-05 | 2022-02-22 | Fungible, Inc. | Dynamically changing configuration of data processing unit when connected to storage device or computing device |
CN112596960B (zh) * | 2020-11-25 | 2023-06-13 | 新华三云计算技术有限公司 | 一种分布式存储服务切换方法及装置 |
CN114201421B (zh) * | 2022-02-17 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 一种数据流处理方法、存储控制节点及可读存储介质 |
-
2022
- 2022-01-30 CN CN202210114363.2A patent/CN116560900A/zh active Pending
-
2023
- 2023-01-30 WO PCT/CN2023/073890 patent/WO2023143618A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023143618A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11050660B2 (en) | Host device with multi-path layer implementing path selection based at least in part on fabric identifiers | |
US10606496B1 (en) | Host device with multi-path layer implementing automatic standby setting for active-active configuration | |
US8838850B2 (en) | Cluster control protocol | |
US20020194407A1 (en) | Maintaining fabric device configuration through dynamic reconfiguration | |
CN111654519B (zh) | 用于传输数据处理请求的方法和装置 | |
US20220164139A1 (en) | Peer storage device messaging over control bus | |
CN115344197A (zh) | 一种数据访问方法、网卡及服务器 | |
US20180081558A1 (en) | Asynchronous Discovery of Initiators and Targets in a Storage Fabric | |
CA3129982A1 (en) | Method and system for accessing distributed block storage system in kernel mode | |
US20220342567A1 (en) | Data Storage Method, Data Reading Method, Data Storage Apparatus, Data Reading Apparatus, Storage Device in Storage System, and System | |
CN111352899B (zh) | 路径聚合方法、访问方法及通信设备、存储介质 | |
CN113992578B (zh) | 云桌面终端切换服务器的方法、装置、设备及存储介质 | |
US6356985B1 (en) | Computer in multi-cluster system | |
CN114880266B (zh) | 故障处理的方法、装置、计算机设备和存储介质 | |
CN116560900A (zh) | 读取数据的方法或写数据的方法及其相关系统 | |
CN111147615A (zh) | Ip地址的接管方法、系统、计算机可读存储介质及服务器 | |
US9256566B1 (en) | Managed reliability of data storage | |
CN115202803A (zh) | 一种故障处理方法及装置 | |
US11029882B2 (en) | Secure multiple server access to a non-volatile storage device | |
WO2023273483A1 (zh) | 一种数据处理系统、方法及交换机 | |
US11921605B2 (en) | Managing applications in a cluster | |
US11809268B1 (en) | Discovering host-switch link and ISL issues from the storage array | |
US11740951B2 (en) | Ensuring key event delivery to a host from a client during a high event rate | |
US11832196B2 (en) | Method and apparatus to support several models of a part or a plurality of parts under a single basic input and output system (BIOS) | |
CN116578621A (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 |