数据访问方法、路由装置和存储系统与流程

文档序号:14012004阅读:184来源:国知局
本发明实施例涉及通信技术,尤其涉及一种数据访问方法、路由装置和存储系统。
背景技术
:多活存储系统包括至少两个存储设备,各存储设备包括数量相同的逻辑单元,不同存储设备的同一逻辑单元所存储的数据相同,即各存储设备之间的所存储的数据具有强一致性。因此,上述多活存储系统中的各存储设备可以同时对外提供服务,使得多活存储系统中所存储的数据具有较高的高可用性。目前,多活存储系统被广泛应用于银行、通信等具有多应用服务器、高并发访问的应用场景中。现有技术中,为了确保多活存储系统中各存储设备之间的所存储的数据一致,多活存储系统中设置有仲裁服务器。任意应用服务器在向多活存储系统中的存储设备发送写请求之前,均需要先向仲裁服务器申请权限。只有获得权限的应用服务器才能向多活存储系统中的存储设备发送写请求。通过这种方式,可以避免出现多个应用服务器同时向多活存储系统中的不同存储设备发送针对同一逻辑单元的写请求,致使多活存储系统中的多个存储设备中所存储的数据不一致的情况。但是,多活存储系统在通过仲裁服务器确保各存储设备之间所存储的数据一致时,网络开销较大。技术实现要素:本发明实施例提供一种数据访问方法、路由装置和存储系统,用于解决现有技术中多活存储系统在通过仲裁服务器确保各存储设备之间所存储的数据一致时,网络开销较大的技术问题。第一方面,本发明实施例提供一种应用于存储系统的数据访问方法,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述第二存储设备用于备份所述第一存储设备的数据;其中,每个存储设备均包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,所述方法包括:所述至少一个路由装置中的第一路由装置根据预设规则将第一访问请求发送给所述第一存储设备,所述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作;其中,所述第一目标逻辑块标识指向的第一目标逻辑块为所述第一类逻辑块,所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作的访问请求发送给所述第二存储设备;所述第一路由装置接收所述第一存储设备根据所述第一访问请求发送的访问结果。通过第一方面提供的数据访问方法,在路由装置为应用服务器时,通过在每个应用服务器中设置预设规则,使得每个应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,会将针对同一目标逻辑块的访问请求发送给同一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,可以避免出现两个存储设备同时处理不同应用服务器发送的针对同一逻辑块执行写操作的访问请求,导致两个存储设备中相同的逻辑块中存储的数据不一致,进而导致两个存储设备存储的数据不一致的问题,降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率。可选的,在第一方面的一种可能的实施方式中,所述至少一个路由装置中的第一路由装置根据预设规则将第一访问请求发送给所述第一存储设备之前,还包括:所述第一路由装置接收所述第一存储设备和/或所述第二存储设备发送的所述预设规则。可选的,在第一方面的一种可能的实施方式中,所述至少一个路由装置中的第一路由装置根据预设规则将第一访问请求发送给所述第一存储设备之前,还包括:所述第一路由装置获取第一请求;所述第一请求包括:待访问逻辑块在所述第一逻辑单元中的偏移量和偏移长度;所述待访问逻辑块包括所述第一目标逻辑块;所述第一路由装置根据所述第一请求,以及,所述第一逻辑单元中的逻辑块的大小,确定所述第一目标逻辑块标识;所述第一路由装置根据所述第一目标逻辑块标识,生成所述第一访问请求。可选的,在第一方面的一种可能的实施方式中,所述预设规则还用于指示所述至少一个路由装置将对所述第一类逻辑块进行读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行读操作的访问请求发送给所述第二存储设备。通过该可能的实施方式提供的数据访问方法,在路由装置为应用服务器时,通过在每个应用服务器上设置上述预设规则,使得上述至少一个应用服务器中的任一应用服务器在发送针对目标逻辑块进行写操作的访问请求时,仍然会发送给第一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的第一存储设备发送针对目标逻辑块进行读操作的访问请求时,可以确保所读取的数据的准确性,在降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率的基础上,提高了存储系统处理访问请求的准确性。可选的,在第一方面的一种可能的实施方式中,所述方法还包括:所述第一路由装置接收所述第一存储设备在所述第二存储设备故障后发送的新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备。通过该可能的实施方式提供的数据访问方法,在路由装置为应用服务器时,至少一个应用服务器的任一应用服务器(包括第一应用服务器)在接收到第一存储设备在所述第二存储设备故障后发送的新的预设规则后,可以根据该新的预设规则向存储系统中的第一存储设备发送访问请求,提高了存储系统的访问请求的处理效率。第二方面,本发明实施例提供一种应用于存储系统的数据访问方法,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述第二存储设备用于备份所述第一存储设备的数据;其中,每个存储设备均包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,所述方法包括:所述第一存储设备接收所述至少一个路由装置中的第一路由装置根据预设规则发送的第一访问请求,所述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作,其中,所述第一目标逻辑块标识指向的第一目标逻辑块为所述第一类逻辑块,所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作的访问请求发送给所述第二存储设备;所述第一存储设备根据所述第一访问请求,对所述第一存储设备中的所述第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示所述第二存储设备对所述第二存储设备中的所述第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。可选的,在第二方面的一种可能的实施方式中,所述第一存储设备接收所述至少一个路由装置中的第一路由装置根据预设规则发送的第一访问请求之前,还包括:所述第一存储设备将所述预设规则广播给所述至少一个路由装置。可选的,在第二方面的一种可能的实施方式中,所述预设规则还用于指示所述至少一个路由装置将对所述第一类逻辑块进行读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行读操作的访问请求发送给所述第二存储设备。可选的,在第二方面的一种可能的实施方式中,所述方法还包括:所述第一存储设备确定所述第二存储设备故障;所述第一存储设备获取新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备;所述第一存储设备将所述新的预设规则广播给所述至少一个路由装置。上述第二方面以及第二方面的各可能的实施方式所提供的数据访问方法,与上述第一方面以及第一方面的各可能的实施方式所提供的数据访问方法基于同一发明构思,因此,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。第三方面,本发明实施例提供一种应用于存储系统的数据访问方法,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,其中,所述第一存储设备和所述第二存储设备互为备份关系,每个存储设备包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,所述方法包括:所述至少一个路由装置中的第一路由装置根据预设规则将第一访问请求发送给所述第一存储设备,将第二访问请求发送给所述第二存储设备;其中,所述第一访问请求携带第一目标逻辑块标识,所述第一目标逻辑块的标识指向的第一目标逻辑块为所述第一类逻辑块;所述第二访问请求携带第二目标逻辑块标识,所述第二目标逻辑块标识指向的第二目标逻辑块为所述第二类逻辑块;所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第二存储设备;所述第一存储设备根据所述第一访问请求对所述第一存储设备中的所述第一目标逻辑块的标识指向的第一目标逻辑块进行访问操作;所述第二存储设备根据所述第二访问请求对所述第二存储设备中的所述第二目标逻辑块的标识指向的第二目标逻辑块进行访问操作;其中,所述第一目标逻辑块的标识指向的第一目标逻辑块与所述第二目标逻辑块的标识指向的第二目标逻辑块属于同一个逻辑单元。可选的,在第三方面的一种可能的实施方式中,所述至少一个路由装置中的第一路由装置根据预设规则将第一访问请求发送给所述第一存储设备,将第二访问请求发送给所述第二存储设备之前,还包括:所述第一路由装置接收所述第一存储设备和/或所述第二存储设备发送的所述预设规则。可选的,在第三方面的一种可能的实施方式中,所述第一路由装置根据预设规则将第一访问请求发送给所述第一存储设备,将第二访问请求发送给所述第二存储设备之前,还包括:所述第一路由装置获取第一请求;所述第一请求包括:待访问逻辑块在所述第一逻辑单元中的偏移量和偏移长度;所述待访问逻辑块包括所述第一目标逻辑块和所述第二目标逻辑块;所述第一路由装置根据所述第一请求,以及,所述第一逻辑单元中的逻辑块的大小,确定所述第一目标逻辑块标识和所述第二目标逻辑块标识;所述第一路由装置根据所述第一目标逻辑块标识,生成所述第一访问请求,根据所述第二目标逻辑块标识,生成所述第二访问请求。可选的,在第三方面的一种可能的实施方式中,所述方法还包括:所述第一路由装置接收所述第一存储设备根据所述第一访问请求发送的访问结果,并接收所述第二存储设备根据所述第二访问请求发送的访问结果;所述第一路由装置根据所述第一访问请求对应的访问结果,以及,所述第二访问请求对应的访问结果,确定所述第一请求的访问结果。可选的,在第三方面的一种可能的实施方式中,所述方法还包括:所述第一路由装置接收所述第一存储设备在所述第二存储设备故障后发送的新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备。上述第三方面以及第三方面的各可能的实施方式所提供的数据访问方法,与上述第一方面以及第一方面的各可能的实施方式所提供的数据访问方法基于同一发明构思,因此,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。第四方面,本发明实施例提供一种应用于存储系统的路由装置,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述路由装置为所述至少一个路由装置中的第一路由装置,所述第二存储设备用于备份所述第一存储设备的数据;其中,每个存储设备均包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,所述第一路由装置包括:发送模块,用于根据预设规则将第一访问请求发送给所述第一存储设备,所述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作;其中,所述第一目标逻辑块标识指向的第一目标逻辑块为所述第一类逻辑块,所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作的访问请求发送给所述第二存储设备;接收模块,用于接收所述第一存储设备根据所述第一访问请求发送的访问结果。可选的,在第四方面的一种可能的实施方式中,所述接收模块,还用于在所述发送模块根据预设规则将第一访问请求发送给所述第一存储设备之前,接收所述第一存储设备和/或所述第二存储设备发送的所述预设规则。可选的,在第四方面的一种可能的实施方式中,还包括:处理模块,用于在所述发送模块根据预设规则将第一访问请求发送给所述第一存储设备之前,获取第一请求;根据所述第一请求,以及,所述第一逻辑单元中的逻辑块的大小,确定所述第一目标逻辑块标识;并根据所述第一目标逻辑块标识,生成所述第一访问请求;其中,所述第一请求包括:待访问逻辑块在所述第一逻辑单元中的偏移量和偏移长度;所述待访问逻辑块包括所述第一目标逻辑块。可选的,在第四方面的一种可能的实施方式中,所述预设规则还用于指示所述至少一个路由装置将对所述第一类逻辑块进行读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行读操作的访问请求发送给所述第二存储设备。可选的,在第四方面的一种可能的实施方式中,所述接收模块,还用于接收所述第一存储设备在所述第二存储设备故障后发送的新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备。基于同一发明构思,由于该路由装置解决问题的原理以及有益效果可以参见上述第一方面和第一方面的各可能的数据访问方法的实施方式以及所带来的有益效果,因此该路由装置的实施可以参见方法的实施,重复之处不再赘述。第五方面,本发明实施例提供一种应用于存储系统的存储设备,所述存储设备为第一存储设备,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述第二存储设备用于备份所述第一存储设备的数据;其中,每个存储设备均包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,所述第一存储设备包括:接收模块,用于接收所述至少一个路由装置中的第一路由装置根据预设规则发送的第一访问请求,所述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作,其中,所述第一目标逻辑块标识指向的第一目标逻辑块为所述第一类逻辑块,所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作的访问请求发送给所述第二存储设备;处理模块,用于根据所述第一访问请求,对所述第一存储设备中的所述第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示所述第二存储设备对所述第二存储设备中的所述第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。可选的,在第五方面的一种可能的实施方式中,还包括:发送模块,用于在所述接收模块接收所述至少一个路由装置中的第一路由装置根据预设规则发送的第一访问请求之前,将所述预设规则广播给所述至少一个路由装置。可选的,在第五方面的一种可能的实施方式中,所述预设规则还用于指示所述至少一个路由装置将对所述第一类逻辑块进行读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行读操作的访问请求发送给所述第二存储设备。可选的,在第五方面的一种可能的实施方式中,所述处理模块,还用于确定所述第二存储设备故障,并获取新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备;则所述发送模块,还用于将所述新的预设规则广播给所述至少一个路由装置。基于同一发明构思,由于该存储设备解决问题的原理以及有益效果可以参见上述第一方面和第一方面的各可能的数据访问方法的实施方式以及所带来的有益效果,因此该存储设备的实施可以参见方法的实施,重复之处不再赘述。第六方面,本发明实施例提供一种存储系统,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述至少一个路由装置包括第一路由装置;其中,所述第一存储设备和所述第二存储设备互为备份关系,每个存储设备包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块;所述第一路由装置,用于根据预设规则将第一访问请求发送给所述第一存储设备,将第二访问请求发送给所述第二存储设备;其中,所述第一访问请求携带第一目标逻辑块标识,所述第一目标逻辑块的标识指向的第一目标逻辑块为所述第一类逻辑块;所述第二访问请求携带第二目标逻辑块标识,所述第二目标逻辑块标识指向的第二目标逻辑块为所述第二类逻辑块;所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第二存储设备;所述第一存储设备,用于根据所述第一访问请求对所述第一存储设备中的所述第一目标逻辑块的标识指向的第一目标逻辑块进行访问操作;所述第二存储设备,用于根据所述第二访问请求对所述第二存储设备中的所述第二目标逻辑块的标识指向的第二目标逻辑块进行访问操作;其中,所述第一目标逻辑块的标识指向的第一目标逻辑块与所述第二目标逻辑块的标识指向的第二目标逻辑块属于同一个逻辑单元。可选的,在第六方面的一种可能的实施方式中,所述第一路由装置,还用于在根据预设规则将第一访问请求发送给所述第一存储设备,将第二访问请求发送给所述第二存储设备之前,接收所述第一存储设备和/或所述第二存储设备发送的所述预设规则。可选的,在第六方面的一种可能的实施方式中,所述第一路由装置,还用于在根据预设规则将第一访问请求发送给所述第一存储设备,将第二访问请求发送给所述第二存储设备之前,获取第一请求;根据所述第一请求,以及,所述第一逻辑单元中的逻辑块的大小,确定所述第一目标逻辑块标识和所述第二目标逻辑块标识;并根据所述第一目标逻辑块标识,生成所述第一访问请求,根据所述第二目标逻辑块标识,生成所述第二访问请求;其中,所述第一请求包括:待访问逻辑块在所述第一逻辑单元中的偏移量和偏移长度;所述待访问逻辑块包括所述第一目标逻辑块和所述第二目标逻辑块。可选的,在第六方面的一种可能的实施方式中,所述第一路由装置,还用于接收所述第一存储设备根据所述第一访问请求发送的访问结果,并接收所述第二存储设备根据所述第二访问请求发送的访问结果;根据所述第一访问请求对应的访问结果,以及,所述第二访问请求对应的访问结果,确定所述第一请求的访问结果。可选的,在第六方面的一种可能的实施方式中,所述第一路由装置,还用于接收所述第一存储设备在所述第二存储设备故障后发送的新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备。基于同一发明构思,由于该存储系统解决问题的原理以及有益效果可以参见上述第一方面和第一方面的各可能的数据访问方法的实施方式以及所带来的有益效果,因此该存储系统的实施可以参见方法的实施,重复之处不再赘述。本发明实施例提供一种数据访问方法、路由装置和存储系统,在路由装置为应用服务器时,通过在每个应用服务器中设置预设规则,使得每个应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,会将针对同一目标逻辑块的访问请求发送给同一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,可以避免出现两个存储设备同时处理不同应用服务器发送的针对同一逻辑块执行写操作的访问请求,导致两个存储设备中相同的逻辑块中存储的数据不一致,进而导致两个存储设备存储的数据不一致的问题,降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有存储系统的应用场景图;图2a为本发明实施例所提供的存储系统;图2b为本发明实施例提供的一种数据访问方法的信令流程图;图3为本发明实施例提供的另一种数据访问方法的流程示意图;图4为本发明实施例提供的又一种数据访问方法的流程示意图;图5为本发明是实施例提供的数据访问方法应用场景图;图6为本发明实施例提供的又一种数据访问方法的信令流程图;图7为本发明实施例提供的又一种数据访问方法的信令流程图;图8为本发明实施例提供的一种路由装置的结构示意图;图9为本发明实施例提供的一种存储设备的结构示意图;图10为本发明实施例提供的一种存储系统的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述存储设备,但这些存储设备不应限于这些术语。这些术语仅用来将存储设备彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一存储设备也可以被称为第二存储设备,类似地,第二存储设备也可以被称为第一存储设备。本发明实施例所提供的方法,适用于任一包括至少两个互为备份的存储设备的存储系统,例如:双活存储系统、多活存储系统等。其中,存储系统中的各存储设备可以同时向不同的应用服务器提供访问(读或写)服务,每个存储设备包括至少一个逻辑单元(logicalunit,简称:lu),每个lu对应一个逻辑单元号(logicalunitnumber,简称:lun),存储系统中各存储设备包括的lu个数相同,且各存储设备中相同lun所指的lu存储的数据相同。上述应用服务器可以为任一能够访问存储系统的服务器。为了便于对本发明实施例的理解,下述申请文件均以存储系统包括两个存储设备(即第一存储设备和第二存储设备)为例进行说明。图1为现有存储系统的应用场景图。如图1所示,现有的存储系统除了第一存储设备和第二存储设备之外,还包括用于向应用服务器授予权限的仲裁服务器。任意应用服务器在访问某一lun之前,均需要先向仲裁服务器申请访问权限。在获取到访问权限后,应用服务器可以向距离应用服务器最近的存储设备发送访问请求。以应用服务器1为例,假定应用服务器1发送访问请求为lun0的写请求,该访问流程具体可以如下:s101、应用服务器1向仲裁服务器发送lun0的访问请求。s102、仲裁服务器向应用服务器1发送应答消息,以指示应用服务器1获取到lun0的访问权限。s103、应用服务器1向存储系统中的第一存储设备发送lun0的访问请求。具体的,应用服务器1在接收到仲裁服务器发送的应答消息后,可以向存储系统中距离最近的存储设备(在本示例中,该存储设备为第一存储设备)发送lun0的访问请求,即lun0的写请求。s104、第一存储设备根据该访问请求向第一存储设备的lun0执行访问操作,并向第二存储设备转发该访问请求。具体的,第一存储设备在接收到应用服务器1发送的访问请求后,可以根据该访问请求,对第一存储设备的lun0所指的lu执行写操作。同时,为了确保存储系统中各存储设备之间所存储的数据一致,即第一存储设备和第二存储设备之间所存储的数据一致,第一存储设备还可以向第二存储设备转发该访问请求,以使得第二存储设备也根据该问请求,对第一存储设备的lun0所指的lu执行写操作,从而确保第一存储设备中的lun0所指的lu和第二存储设备中的lun0所指的lu中存储的数据一致。s105、第二存储设备根据该访问请求对第二存储设备中的lun0执行访问操作,并将访问结果返回给第一存储设备。具体的,第二存储设备根据该访问请求,对第二存储设备上的lun0所指的lu执行写操作之后,可以将该写操作对应的写结果(即访问结果)返回给第一存储设备,以使得第一存储设备根据该访问结果获知第二存储设备是否完成lun0所指的lu的写操作。s106、第一存储设备根据自身的访问结果,以及,第二存储设备发送的访问结果,向应用服务器1发送响应消息,并向仲裁服务器发送响应消息。具体的,第一存储设备在对第一存储设备上的lun0所指的lu执行完写操作之后,可以得到该写操作对应的写结果(即访问结果),以使得第一存储设备可以根据自身的访问结果,以及,第二存储设备发送的访问结果,确定第一存储设备与第二存储设备是否均完成了lun0所指的lu的写操作。若是,则向应用服务器1发送写操作成功的响应消息,若否,则向应用服务器1发送写操作失败的响应消息。同时,第一存储设备还可以仲裁服务器发送响应消息,以指示仲裁服务器可以向下一个发送lun0访问请求的存储设备授予权限。通过上述设置仲裁服务器的方式,在应用服务器1向第一存储设备发送lun0的访问请求时,可以避免其他应用服务器(例如:应用服务器2)向第二存储设备发送lun0写请求或读请求,导致第一存储设备和第二存储设备中lun0所指的lu中存储的数据不一致的情况。但是,在执行上述整个流程过程中,应用服务器1需要与仲裁服务器进行交互以获取访问权限,使得网络开销较大,无法满足实际使用时的需求。图2a为本发明实施例所提供的存储系统。如图2a所示,在本实施例中,存储系统包括互为备份关系的第一存储设备和第二存储设备,以及,包括第一路由装置的至少一个路由装置。每个存储设备均包括:至少一个lu。每个lu包括:多个逻辑块,该多个逻辑块大小可以相同,也可以不同,具体可以根据用户的需求设定。图2a中示出的是以每个存储设备包括3个lu,每个lu包括4个相同大小的逻辑块的存储系统。其中,该多个逻辑块中的每个逻辑块被划分为不同类的逻辑块,该不同类的逻辑块的类的数量具体与存储系统所包括的存储设备数量一一对应。对应于本实施例,该多个逻辑块中的每个逻辑块被划分为第一类逻辑块或第二类逻辑块,也就是说,每个lu包括:至少一个第一类逻辑块和至少一个第二类逻辑块。上述至少一个路由装置中的每个路由装置可以为单独的路由器,还可以为集成了路由模块的应用服务器(该路由模块例如可以实现在应用服务器的卷管理器中),图2a中示出的是以路由装置为集成了路由模块的应用服务器为例的存储系统。下述申请文件均以路由装置为应用服务器为例进行说明。其中,上述第一类逻辑块和第二类逻辑块的划分可以根据用户的需求设定,例如:上述第一类逻辑块和第二类逻辑块可以为根据所存储的数据类型划分的逻辑块,还可以为根据逻辑块编号划分的逻辑块。以上述第一类逻辑块和第二类逻辑块为根据逻辑块编号划分的逻辑块为例,上述第一类逻辑块可以为逻辑块编号为奇数的逻辑块,第二类逻辑块可以为逻辑块编号为偶数的逻辑块;或者,第一类逻辑块为逻辑块编号为偶数的逻辑块,第二类逻辑块为逻辑块编号为奇数的逻辑块;或者,第一类逻辑块为逻辑块编号小于某一预设编号的逻辑块,第二类逻辑块为逻辑块编号大于等于该预设编号的逻辑块;或者,第一类逻辑块为逻辑块编号大于等于某一预设编号的逻辑块,第二类逻辑块为逻辑块编号小于该预设编号的逻辑块。如图2a所示,在本实施例中,上述存储系统中不再设置有仲裁服务器,而是通过在上述至少一个应用服务器中的每个应用服务器中设置的预设规则,取代了仲裁服务器的作用。该预设规则可以为预先设置在每个应用服务器上的预设规则,还可以为应用服务器在初始化时,接收到的存储系统中的第一存储设备和/或第二存储设备广播的预设规则等。该预设规则用于指示所有的应用服务器将对第一类逻辑块进行写操作的访问请求发送给第一存储设备,将对第二类逻辑块进行写操作的访问请求发送给第二存储设备。通过该预设规则,可以使上述所有的应用服务器将第一类逻辑块的访问请求全部发送给第一存储设备,将第二类逻辑块的访问请求全部发送给第二存储设备。也就是说,上述每个应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,会将针对同一目标逻辑块的访问请求发送给同一存储设备,并由该存储设备负责同步该存储系统中其他存储设备的数据。由于同一存储设备在接收到多个应用服务器发送的针对同一逻辑块的访问请求时,该存储设备会以接收到的各访问请求的时间,顺序处理该多个针对同一逻辑块的访问请求。因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据上述预设规则向存储系统中的存储设备发送访问请求,可以避免出现两个存储设备同时处理不同应用服务器发送的针对同一逻辑块执行写操作的访问请求,导致两个存储设备中相同的逻辑块中存储的数据不一致,进而导致两个存储设备存储的数据不一致的问题,降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率。因此,本发明实施例所提供的数据访问方法,旨在解决多活存储系统在通过仲裁服务器确保各存储设备之间所存储的数据一致时,网络开销较大的技术问题。下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。图2b为本发明实施例提供的一种数据访问方法的信令流程图。本实施例涉及的是第一应用服务器根据预设规则向第一存储设备发送第一访问请求的具体过程。如图2b所示,该方法可以包括:s201、第一应用服务器根据预设规则将第一访问请求发送给第一存储设备。其中,第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作;第一目标逻辑块标识指向的第一目标逻辑块为第一类逻辑块。这里所说的第一目标逻辑块可以为一个逻辑块,还可以为同一逻辑单元中多个为第一类逻辑块的逻辑块。在本实施例中,上述第一访问请求可以携带有第一目标逻辑块标识,因此,当上述至少一个应用服务器中的第一应用服务器需要发送第一访问请求时,第一应用服务器可以根据第一访问请求所携带的第一目标逻辑块标识,确定该第一目标逻辑块标识指向的第一目标逻辑块为第一类逻辑块还是为第二类逻辑块。若确定该第一目标逻辑块标识指向的第一目标逻辑块为第一类逻辑块,则第一应用服务器可以根据上述预设规则,将第一访问请求发送给存储系统中的第一存储设备。若确定该第一目标逻辑块标识指向的第一目标逻辑块为第二类逻辑块,则第一应用服务器可以根据上述预设规则,将第一访问请求发送给存储系统中的第二存储设备。在本示例中,上述第一目标逻辑块标识指向的第一目标逻辑块为第一类逻辑块,因此,第一应用服务器可以将该第一访问请求发送给第一存储设备。其中,上述第一目标逻辑块标识可以为任一能够标识第一目标逻辑块的标识,例如:上述第一目标逻辑块标识可以为第一目标逻辑块编号,还可以为第一目标逻辑块在第一目标逻辑块所在的逻辑单元中的偏移量等。s202、第一存储设备接收该第一访问请求。s203、第一存储设备根据第一访问请求,对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示第二存储设备对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。具体的,在本实施例中,上述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作,即上述第一访问请求为写请求,因此,上述第一访问请求中除了携带有第一目标逻辑块标识之外,还可以携带有待写入数据。这样,当第一存储设备接收到第一应用服务器发送的第一访问请求之后,第一存储设备可以根据该第一访问请求携带的第一目标逻辑块标识和待写入数据,向第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块写入该待写入数据,即对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。相应地,为了确保第一存储设备与第二存储设备所存储的数据一致,上述第一存储设备还可以指示第二存储设备对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。具体实现时,上述第一存储设备可以在对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块写入待写入数据后,将第一目标逻辑块上存储的最终数据发送给第二存储设备,以指示第二存储设备使用该最终数据替换第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块中的数据,即对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,以达到第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块中的数据、与第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块中的数据相同的目的。可选的,上述第一存储设备还可以直接将第一存储设备所接收的第一访问请求发送给第二存储设备,以使得第二存储设备可以根据该第一访问请求,对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,以达到第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块中的数据、与第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块中的数据相同的目的。s204、第一存储设备将第一访问请求的访问结果发送给第一应用服务器。具体的,第一存储设备在根据第一访问请求,对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示第二存储设备对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作之后,第一存储设备可以获取到自身的写结果,以及,接收到第二存储设备发送的写结果。其中,第一存储设备自身的写结果用于指示第一存储设备是否完成了对第一目标逻辑块的写操作,第二存储设备发送的写结果用于指示第二存储设备是否完成了对第二存储设备中的第一目标逻辑块的写操作。若两个写结果均指示已完成了第一目标逻辑块的写操作,则第一存储设备向第一应用服务器发送用于表示访问成功的访问结果,以使得第一应用服务器根据该访问结果可以获知第一访问请求已成功处理。若两个写结果中有一个或两个指示未完成第一目标逻辑块的写操作,则第一存储设备向第一应用服务器发送用于表示访问失败的访问结果,以使得第一应用服务器根据该访问结果可以获知第一访问请求未成功处理,从而使得第一应用服务器可以决策是否要重新发起第一访问请求。s205、第一应用服务器接收该访问结果。至此,存储系统就完成了对第一应用服务器发送的第一访问请求的处理。本发明实施例提供的数据访问方法,通过在每个应用服务器中设置预设规则,使得每个应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,会将针对同一目标逻辑块的访问请求发送给同一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,可以避免出现两个存储设备同时处理不同应用服务器发送的针对同一逻辑块执行写操作的访问请求,导致两个存储设备中相同的逻辑块中存储的数据不一致,进而导致两个存储设备存储的数据不一致的问题,降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率。图3为本发明实施例提供的另一种数据访问方法的流程示意图。以上述第一类逻辑块和第二类逻辑块为根据逻辑块编号划分的逻辑块为例,本实施例涉及的是上述第一应用服务器如何生成第一访问请求的具体过程。进一步地,在上述实施例的基础上,如图3所示,在上述s201之前,该方法还可以包括:s301、第一应用服务器获取第一请求。具体的,现有技术中,上述第一应用服务器作为终端设备与存储系统之间的接口,用于将终端设备发送的访问请求转发给存储系统中的存储设备。因此,在本实施例中,当第一应用服务器需要发送上述第一访问请求之前,第一应用服务器可以根据第一应用服务器所接收的终端设备发送的针对待访问逻辑块的访问请求,生成第一请求。其中,上述终端设备所发送的访问请求和第一应用服务器所生成的第一请求中可以包括:待访问逻辑块在第一逻辑单元中的偏移量和偏移长度。该待访问逻辑块可以包括第一逻辑单元中的一个或多个相邻的逻辑块,该一个或多个相邻的逻辑块包括第一目标逻辑块。s302、第一应用服务器根据第一请求,以及,第一逻辑单元中的逻辑块的大小,确定第一目标逻辑块标识。具体的,上述第一目标逻辑块标识可以为任一能够唯一标识该第一目标逻辑块的标识,例如:第一目标逻辑块的编号等。以上述第一目标逻辑块标识为第一目标逻辑块的编号为例,上述第一应用服务器可以将第一请求中携带的待访问逻辑块在第一逻辑单元中的偏移量与预设的第一逻辑单元中的逻辑块的大小进行相除,以确定待访问逻辑块中的第一个逻辑块属于第一逻辑单元中的第几个逻辑块,进而将该数字作为待访问逻辑块中的第一个逻辑块的编号。同时,第一应用服务器将“待访问逻辑块在第一逻辑单元中的偏移量与偏移长度之和”与预设的第一逻辑单元中的逻辑块的大小进行相除,以确定待访问逻辑块的最后一个逻辑块属于第一逻辑单元中的第几个逻辑块,进而将该数字作为待访问逻辑块中的最后一个逻辑块的编号。由于上述待访问逻辑块中的各逻辑块为相邻的逻辑块,因此,第一应用服务器在获取到待访问逻辑块中的第一个逻辑块的编号和最后一个逻辑块的编号之后,可以根据该第一个逻辑块的编号和最后一个逻辑块的编号,获取到待访问逻辑块中的所有逻辑块的编号。这样,第一应用服务器就可以根据待访问逻辑块中的各逻辑块的编号,以及,第一类逻辑块和第二类逻辑块的划分方式,确定上述待访问逻辑块中哪些逻辑块编号对应的逻辑块为第一类逻辑块,并将这些逻辑块编号确定为第一目标逻辑块标识。需要说明的是,若上述待访问逻辑块中包括一个逻辑块,则上述第一应用服务器所获取到的待访问逻辑块中的第一个逻辑块的编号和最后一个逻辑块的编号相同。s303、第一应用服务器根据第一目标逻辑块标识,生成第一访问请求。具体的,第一应用服务器在确定第一目标逻辑块标识之后,就可以根据第一目标逻辑块标识,生成针对第一目标逻辑块标识所指向的第一目标逻辑块的第一访问请求,进而使得第一应用服务器可以根据该第一访问请求,以及,预设规则确定将第一访问请求发送给存储系统中的第一存储设备。可选的,上述第一访问请求中还可以携带有第一目标逻辑块在第一逻辑单元中的偏移量和偏移长度等。本发明实施例提供的数据访问方法,通过在每个应用服务器中设置预设规则,使得每个应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,会将针对同一目标逻辑块的访问请求发送给同一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,可以避免出现两个存储设备同时处理不同应用服务器发送的针对同一逻辑块执行写操作的访问请求,导致两个存储设备中相同的逻辑块中存储的数据不一致,进而导致两个存储设备存储的数据不一致的问题,降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率。如上述实施例所说,上述至少一个应用服务器中的每个应用服务器所设置的预设规则用于指示至少一个应用服务器将对第一类逻辑块进行写操作的访问请求发送给第一存储设备,将对第二类逻辑块进行写操作的访问请求发送给第二存储设备。则进一步地,为了避免上述第一存储设备在根据第一访问请求,对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作时,会出现其他应用服务器向存储系统中的第二存储设备发送对第一目标逻辑块进行读操作的访问请求,导致其他应用服务器所获取到的数据不准确的问题,上述预设规则还可以用于指示至少一个应用服务器将对第一类逻辑块进行读操作的访问请求发送给第一存储设备,将对第二类逻辑块进行读操作的访问请求发送给第二存储设备。通过上述方式,使得上述至少一个应用服务器中的任一应用服务器在发送针对目标逻辑块进行写操作的访问请求时,仍然会发送给第一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的第一存储设备发送针对目标逻辑块进行读操作的访问请求时,可以确保所读取的数据的准确性,在降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率的基础上,提高了存储系统处理访问请求的准确性。图4为本发明实施例提供的又一种数据访问方法的流程示意图。在本实施例中,预设规则用于指示至少一个路由装置将对第一类逻辑块进行写操作或读操作的访问请求发送给第一存储设备,将对第二类逻辑块进行写操作或读操作的访问请求发送给第二存储设备。本实施例涉及的是上述第一应用服务器如何发送针对同一逻辑单元的不同逻辑块的访问请求的具体过程。如图4所示,该方法可以包括:s401、第一应用服务器根据预设规则将第一访问请求发送给第一存储设备,将第二访问请求发送给第二存储设备。其中,第一访问请求携带第一目标逻辑块标识,第一目标逻辑块的标识指向的第一目标逻辑块为第一类逻辑块;第二访问请求携带第二目标逻辑块标识,第二目标逻辑块标识指向的第二目标逻辑块为第二类逻辑块。具体的,上述第一目标逻辑块和第二目标逻辑块属于同一逻辑单元中不同的逻辑块,即上述第一目标逻辑块和第二目标逻辑块位于同一逻辑单元的不同位置,也就是说,上述第一目标逻辑块和第二目标逻辑块在同一逻辑单元中的偏移量不同。其中,该第一目标逻辑块和第二目标逻辑块可以为同一逻辑单元中相邻的逻辑块,也可以为不相邻的逻辑块。在本实施例中,上述第一目标逻辑块与第二目标逻辑块为不同类的逻辑块,例如:第一目标逻辑块为第一类逻辑块,第二目标逻辑块为第二类逻辑块;或者,第一目标逻辑块为第二类逻辑块,第二目标逻辑块为第一类逻辑块。下述示例以上述第一目标逻辑块为第一类逻辑块,第二目标逻辑块为第二类逻辑块为例。因此,第一应用服务器上针对同一逻辑单元的不同类的逻辑块同时进行访问时,第一应用服务器可以根据预设规则,将针对上述第一目标逻辑块的第一访问请求发送给第一存储设备,将针对上述第二目标逻辑块的第二访问请求发送给第二存储设备,以使得第一存储设备和第二存储设备可以同时对同一逻辑单元的不同逻辑块进行访问操作。与现有技术中不同的存储设备不能同时对同一逻辑单元的不同位置进行访问操作相比,本发明实施例所提供的数据访问方法,提高了存储系统处理访问请求的效率。s402、第一存储设备根据第一访问请求对第一存储设备中的第一目标逻辑块的标识指向的第一目标逻辑块进行访问操作。其中,第一存储设备如何根据第一访问请求对第一存储设备中的第一目标逻辑块的标识指向的第一目标逻辑块进行访问操作,具体可以参见上述s104的描述,其实现原理和实现效果类似,对此不再赘述。s403、第二存储设备根据第一访问请求对第一存储设备中的第一目标逻辑块的标识指向的第一目标逻辑块进行访问操作。其中,第二存储设备如何根据第二访问请求对第二存储设备中的第二目标逻辑块的标识指向的第二目标逻辑块进行访问操作,具体可以参见上述s104的描述,其实现原理和实现效果类似,对此不再赘述。本发明实施例提供的数据访问方法,通过将存储设备中的每个逻辑单元划分成多个逻辑块的方式,使得第一应用服务器上在对同一逻辑单元的不同类的逻辑块同时进行访问时,第一应用服务器可以根据预设规则,将针对上述第一目标逻辑块的第一访问请求发送给第一存储设备,将针对上述第二目标逻辑块的第二访问请求发送给第二存储设备,以使得第一存储设备和第二存储设备可以同时对同一逻辑单元的不同逻辑块进行访问操作,提高了存储系统处理访问请求的效率。为了便于对本发明实施例的理解,下面结合几个具体的示例来对本发明实施例所提供的数据访问方法进行说明。图5为本发明是实施例提供的数据访问方法应用场景图,如图5所示,在本示例中,上述存储系统包括:互为备份关系的第一存储设备和第二存储设备,以及,至少一个应用服务器。每个存储设备包括:多个lu。每个lu包括:4个相同大小的逻辑块,分别为逻辑块0、逻辑块1、逻辑块2、逻辑块3。该4个逻辑块中偶数编号的逻辑块(即逻辑块0和逻辑块2)为第一类逻辑块,奇数编号的逻辑块(即逻辑块1和逻辑块3)为第二类逻辑块,即每个lu包括2个第一类逻辑块,2个第二类逻辑块。其中,图5示出的是以第一存储设备和第二存储设备中的lun0中所包括的4个逻辑块,至少一个应用服务器包括:第一应用服务器和第二应用服务器为例的存储系统。上述至少一个应用服务器中设置的预设规则可以由存储系统中的存储设备发送给各应用服务器。该预设规则用于指示至少一个应用服务器将对第一类逻辑块(即偶数编号的逻辑块)进行写操作或读操作的访问请求发送给第一存储设备,将对第二类逻辑块(即奇数编号的逻辑块)进行写操作或读操作的访问请求发送给第二存储设备。通过这种按照奇偶划分第一类逻辑块和第二类逻辑块的方式,可以应用服务器在根据划分规则向第一存储设备和第二存储设备发送访问请求时,第一存储设备接收访问请求和第二存储设备接收访问请求的概率相近,确保了第一存储设备和第二存储设备的负载均衡。示例1、针对一个目标逻辑块进行写操作的访问请求,以该目标逻辑块为lun0中的逻辑块0为例,即lun0中的逻辑块0为第一目标逻辑块,第一目标逻辑块标识为第一目标逻辑块编号。图6为本发明实施例提供的又一种数据访问方法的信令流程图。本实施例涉及的是上述至少一个应用服务器中的第一应用服务器将第一访问请求发送给第一存储设备的具体过程。如图6所示,该方法可以包括:s601、第一存储设备广播预设规则。其中,上述预设规则包括:第一存储设备的地址与逻辑块编号的映射关系,以及,第二存储设备的地址与逻辑块编号的映射关系。可选的,上述预设规则还可以包括:存储设备中逻辑单元的大小和逻辑单元中逻辑块的大小等。s602、第二存储设备广播预设规则。其中,第二存储设备所广播的预设规则具体可以参见上述s601。s603、第一应用服务器接收第一存储设备和/或第二存储设备发送的预设规则。具体的,第一应用服务器在开机初始化,接入网络后,就可以接收到第一存储设备和/或第二存储设备发送的预设规则。具体实现时,第一应用服务器具体接收哪个存储设备发送的预设规则,与第一应用服务器与存储系统中的存储设备之间的距离有关,对此不再赘述。可选的,第一应用服务器在接收到该预设规则后,可以将该预设规则以路由表的形式设置在第一应用服务器上。表1路由表chunk_id%4=0--->dc0(111.1.1.1)chunk_id%4=1--->dc1(111.2.1.1)chunk_id%4=2--->dc0(111.1.1.1)chunk_id%4=3--->dc1(111.2.1.1)其中,上述chunk_id表示目标逻辑块标识(即目标逻辑块编号)。在本示例中,上述第一应用服务器可以通过对目标逻辑块标识除4取余的方式,确定目标逻辑块为第一类逻辑块还是为第二类罗辑块。上述dc0表示第一存储设备,111.1.1.1为第一存储设备的地址,上述dc1表示第二存储设备,111.2.1.1为第二存储设备的地址。s604、第一应用服务器获取第一请求。其中,本步骤的描述具体可以参见上述s301,对此不再赘述。s605、第一应用服务器根据第一请求,以及,第一逻辑单元中的逻辑块的大小,确定第一目标逻辑块标识。具体的,在本示例中,上述第一应用服务器根据第一请求,以及,第一逻辑单元中的逻辑块的大小,确定第一请求中所携带的待访问逻辑块包括一个逻辑块(即lun0中的逻辑块0)、且该lun0中的逻辑块0为第一类逻辑块,因此,第一应用服务器可以直接将该lun0中的逻辑块0作为第一目标逻辑块标识。s606、第一应用服务器根据第一目标逻辑块标识,生成第一访问请求。其中,本步骤的描述具体可以参见上述s303,对此不再赘述。s607、第一应用服务器根据预设规则,将第一访问请求发送给第一存储设备。具体的,第一应用服务器在生成第一访问请求之后,就可以根据上述表1所示的方式,采用对第一访问请求所指示的第一目标逻辑块标识(即逻辑块0)除4取余的方式,得到0,进而通过该0确定第一目标逻辑块为第一类逻辑块。因此,上述第一应用服务器就可以根据该预设规则中0所对应的ip地址,将该第一访问请求发送给dc0,即第一存储设备。s608、第一存储设备接收该第一访问请求。s609、第一存储设备根据第一访问请求,对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示第二存储设备对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。s610、第一存储设备将第一访问请求的访问结果发送给第一应用服务器。s611、第一应用服务器接收该第一访问请求的访问结果。其中,上述s608-s611的描述具体可以参见上述s202-s205的描述,对此不再赘述。需要说明的是,鉴于第一应用服务器在发送对第一目标逻辑块进行读操作的访问请求和发送对第一目标逻辑块进行写操作的访问请求所执行的步骤相同,因此,本实施例不再单独描述针对第一应用服务器如何发送第一目标逻辑块进行读操作的访问请求。但是,本领域技术人员可以理解的是,对于第一应用服务器发送对第一目标逻辑块进行读操作的访问请求,仍然可以采用上述示例所提供的方法,其实现原理和技术效果类似。示例2、针对多个目标逻辑块进行写操作的访问请求,以该多个目标逻辑块为lun0中的逻辑块0和逻辑块1为例,即lun0中的逻辑块0为第一目标逻辑块,逻辑块1为第二目标逻辑块,第一目标逻辑块标识为第一目标逻辑块编号,第二目标逻辑块标识为第二目标逻辑块编号。图7为本发明实施例提供的又一种数据访问方法的信令流程图。本实施例涉及的是上述至少一个应用服务器中的第一应用服务器将第一访问请求发送给第一存储设备的具体过程。如图7所示,该方法可以包括:s701、第一存储设备广播预设规则。s702、第二存储设备广播预设规则。s703、第一应用服务器接收第一存储设备和/或第二存储设备发送的预设规则。s704、第一应用服务器获取第一请求。其中,上述s701-s704的描述,可以参见上述s601-s604的描述,对此不再赘述。s705、第一应用服务器根据第一请求,以及,第一逻辑单元中的逻辑块的大小,确定第一目标逻辑块标识。具体的,在本示例中,上述第一应用服务器根据第一请求,以及,第一逻辑单元中的逻辑块的大小,确定第一请求中所携带的待访问逻辑块包括两个逻辑块(即lun0中的逻辑块0和逻辑块1),且该lun0中的逻辑块0为第一类逻辑块、该lun0中的逻辑块1为第二类逻辑块,因此,第一应用服务器可以将该lun0中的逻辑块0作为第一目标逻辑块标识,将逻辑块1作为第二目标逻辑块标识。s706、第一应用服务器根据第一目标逻辑块标识,生成第一访问请求,根据第二目标逻辑块标识,生成第二访问请求。具体的,第一应用方服务器在确定第一目标逻辑块标识和第二目标逻辑块标识之后,就可以根据第一目标逻辑块标识和第二目标逻辑块标识,分别生成第一访问请求和第二访问请求,即将第一请求拆分成第一访问请求和第二访问请求,从而使得第一应用服务器可以将第一访问请求和第二访问请求发送给不同的存储设备执行,提高了存储系统执行访问请求的效率。其中,第一应用服务器如何根据第二目标逻辑块标识,生成第二访问请求具体可以参见第一应用服务器根据第一目标逻辑块标识,生成第一访问请求,即上述s606,对此不再赘述。s707、第一应用服务器根据预设规则,将第一访问请求发送给第一存储设备。具体的,第一应用服务器在生成第一访问请求之后,就可以根据上述表1所示的方式,采用对第一访问请求所指示的第一目标逻辑块标识(即逻辑块0)除4取余的方式,得到0,进而通过该0确定第一目标逻辑块为第一类逻辑块。因此,上述第一应用服务器就可以根据该预设规则中0所对应的ip地址,将该第一访问请求发送给dc0,即第一存储设备。s708、第一应用服务器根据预设规则,将第二访问请求发送给第二存储设备。具体的,第一应用服务器在生成第二访问请求之后,就可以根据上述表1所示的方式,采用对第二访问请求所指示的第二目标逻辑块标识(即逻辑块1)除4取余的方式,得到1,进而通过该1确定第二目标逻辑块为第二类逻辑块。因此,上述第一应用服务器就可以根据该预设规则中1所对应的ip地址,将该第二访问请求发送给dc1,即第二存储设备。s709、第一存储设备接收该第一访问请求。s710、第二存储设备接收该第二访问请求。s711、第一存储设备根据第一访问请求,对第一存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示第二存储设备对第二存储设备中的第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。s712、第二存储设备根据第二访问请求,对第二存储设备中的第二目标逻辑块标识指向的第二目标逻辑块进行访问操作,并指示第一存储设备对第一存储设备中的第二目标逻辑块标识指向的第二目标逻辑块进行访问操作。s713、第一存储设备将第一访问请求的访问结果发送给第一应用服务器。s714、第二存储设备将第二访问请求的访问结果发送给第一应用服务器。s715、第一应用服务器接收该第一访问请求的访问结果。s716、第一应用服务器接收该第二访问请求的访问结果。其中,鉴于第二存储设备在接收到访问请求后所执行的动作与第一存储设备在接收到访问请求后所执行的动作相同,因此,上述s709-s716的描述具体可以参见上述s202-s205的描述,对此不再赘述。可选的,第一应用服务器在接收第一访问请求的访问结果,以及,第二访问请求的访问结果之后,可以根据该第一访问请求的访问结果和第二访问请求的访问结果,确定第一请求的访问结果。若第一访问请求的访问结果,以及,第二访问请求的访问结果均为访问成功,则可以确定第一请求的访问结果为成功;若第一访问请求以及第二访问请求中的一个或两个访问请求的访问结果为访问失败,则可以确定第一请求的访问结果为失败。这样,第一应用服务器通过将该第一请求的访问结果发送给最开始请求访问的终端设备后,终端设备就可以根据该访问结果确定是否要重新发起针对第一目标逻辑块和第二目标逻辑块的访问,提高了用户体验。需要说明的是,鉴于第一应用服务器在发送对第一目标逻辑块进行读操作的访问请求和发送对第一目标逻辑块进行写操作的访问请求,以及,第一应用服务器在发送对第二目标逻辑块进行读操作的访问请求和发送对第二目标逻辑块进行写操作的访问请求所执行的步骤相同,因此,本实施例不再单独描述针对第一应用服务器如何发送对第一目标逻辑块进行读操作的访问请求,以及如何发送对第二目标逻辑块进行读操作的访问请求。但是,本领域技术人员可以理解的是,对于第一应用服务器发送对第一目标逻辑块进行读操作的访问请求,以及对第二目标逻辑块进行读操作的访问请求,仍然可以采用上述示例所提供的方法,其实现原理和技术效果类似。可选的,在上述示例的基础上,若上述第一存储设备确定第二存储设备故障,则第一存储设备获取新的预设规则,并将该新的预设规则广播给至少一个应用服务器中的每个应用服务器。其中,该新的预设规则可以用于指示至少一个应用服务器将对第一类逻辑块进行写操作或读操作的访问请求,以及,对第二类逻辑块进行写操作或读操作的访问请求发送给第一存储设备。这样,至少一个应用服务器的任一应用服务器(包括第一应用服务器)在接收到该新的预设规则后,可以根据该新的预设规则向存储系统中的第一存储设备发送访问请求,提高了存储系统的访问请求的处理效率。其中,本实施例不限定上述第一存储设备确定第二存储设备故障的具体实现方式。例如:上述第一存储设备可以在与第二存储设备断开连接时,确定第二存储设备故障,还可以在接收到预设数量的应用服务器发送的第二存储设备故障的信息,确定第二存储设备故障。其中,上述预设数量可以根据用户的需求设定。具体实现时,应用服务器可以通过是否与第二存储设备断开连接,确定第二存储设备是否故障。可选的,若存储系统除第一存储设备和第二存储设备之外还包括其他的存储设备,则第一存储设备还可以在确定第二存储设备故障时,通过与其他存储设备共同协商确定是否广播新的预设规则等。该新的预设规则可以包括:各类逻辑块与第一存储设备与其他存储设备的映射关系,但不包括各类逻辑块与第二存储设备的映射关系。其中,第一存储设备与其他存储设备在协商的过程中,可以暂停对各应用服务器提供访问服务。在协商完成之后,也就是说,在广播了新的预设规则之后,第一存储设备与其他存储设备可以向各应用服务器发送恢复工作的响应消息,以使得各应用服务器可以根据新的预设规则发送访问请求,确保了各访问请求可以被正确的处理,提高了存储系统处理访问请求的效率。本发明实施例提供的数据访问方法,通过在每个应用服务器中设置预设规则,使得每个应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,会将针对同一目标逻辑块的访问请求发送给同一存储设备。由于同一存储设备会串行处理针对同一目标逻辑块的多个访问请求,因此,在存储系统不设置仲裁服务器的情况下,应用服务器根据预设规则向存储系统中的存储设备发送访问请求时,可以避免出现两个存储设备同时处理不同应用服务器发送的针对同一逻辑块执行写操作的访问请求,导致两个存储设备中相同的逻辑块中存储的数据不一致,进而导致两个存储设备存储的数据不一致的问题,降低了存储系统与应用服务器之间的网络开销,提高了存储系统处理访问请求的效率。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。图8为本发明实施例提供的一种路由装置的结构示意图。所述路由装置可以应用于存储系统。该存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述路由装置为所述至少一个路由装置中的第一路由装置,所述第二存储设备用于备份所述第一存储设备的数据;其中,每个存储设备均包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,如图8所示,所述第一路由装置包括:发送模块11,用于根据预设规则将第一访问请求发送给所述第一存储设备,所述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作;其中,所述第一目标逻辑块标识指向的第一目标逻辑块为所述第一类逻辑块,所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作的访问请求发送给所述第二存储设备;接收模块12,用于接收所述第一存储设备根据所述第一访问请求发送的访问结果。具体实现时,上述路由装置可以通过软件、硬件或者两者的结合实现成为应用服务器或者路由器的部分或者全部。例如:上述发送模块11可以为发送器,上述接收模块12可以为接收器等。本发明实施例提供的路由装置,可以执行上述方法实施例中第一路由装置侧的方法,其实现原理和技术效果类似,在此不再赘述。可选的,在本发明的一种实现方式中,所述预设规则还用于指示所述至少一个路由装置将对所述第一类逻辑块进行读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行读操作的访问请求发送给所述第二存储设备。可选的,在本发明的一种实现方式中,上述接收模块12,还用于在所述发送模块11根据预设规则将第一访问请求发送给所述第一存储设备之前,接收所述第一存储设备和/或所述第二存储设备发送的所述预设规则。继续参照图8,如图8所示,在本发明的一种实现方式中,上述第一路由装置还可以包括:处理模块13,用于在所述发送模块11根据预设规则将第一访问请求发送给所述第一存储设备之前,获取第一请求;根据所述第一请求,以及,所述第一逻辑单元中的逻辑块的大小,确定所述第一目标逻辑块标识;并根据所述第一目标逻辑块标识,生成所述第一访问请求;其中,所述第一请求包括:待访问逻辑块在所述第一逻辑单元中的偏移量和偏移长度;所述待访问逻辑块包括所述第一目标逻辑块。具体实现时,上述处理模块13可以为处理组件,例如:处理器等。本发明实施例提供的路由装置,可以执行上述方法实施例中第一路由装置侧的方法,其实现原理和技术效果类似,在此不再赘述。可选的,在本发明的一种实现方式中,上述接收模块12,还用于接收所述第一存储设备在所述第二存储设备故障后发送的新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备。本发明实施例提供的路由装置,可以执行上述方法实施例中第一路由装置侧的方法,其实现原理和技术效果类似,在此不再赘述。图9为本发明实施例提供的一种存储设备的结构示意图。所述存储设备为第一存储设备,所述存储系统包括:第一存储设备、第二存储设备和至少一个路由装置,所述第二存储设备用于备份所述第一存储设备的数据;其中,每个存储设备均包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块,如图9所示,所述第一存储设备包括:接收模块21,用于接收所述至少一个路由装置中的第一路由装置根据预设规则发送的第一访问请求,所述第一访问请求用于指示对第一目标逻辑块标识指向的第一目标逻辑块进行写操作,其中,所述第一目标逻辑块标识指向的第一目标逻辑块为所述第一类逻辑块,所述预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行写操作的访问请求发送给所述第二存储设备;处理模块22,用于根据所述第一访问请求,对所述第一存储设备中的所述第一目标逻辑块标识指向的第一目标逻辑块进行访问操作,并指示所述第二存储设备对所述第二存储设备中的所述第一目标逻辑块标识指向的第一目标逻辑块进行访问操作。具体实现时,上述接收模块21可以为接收器,上述处理模块22可以为处理组件,例如:处理器等。本发明实施例提供的第一存储设备,可以执行上述方法实施例中第一存储设备侧的方法,其实现原理和技术效果类似,在此不再赘述。可选的,在本发明的一种实现方式中,所述预设规则还用于指示所述至少一个路由装置将对所述第一类逻辑块进行读操作的访问请求发送给所述第一存储设备,将对所述第二类逻辑块进行读操作的访问请求发送给所述第二存储设备。继续参照图9,可选的,在本发明的一种实现方式中,上述第一存储设备还包括:发送模块23,用于在所述接收模块21接收所述至少一个路由装置中的第一路由装置根据预设规则发送的第一访问请求之前,将所述预设规则广播给所述至少一个路由装置。具体实现时,上述发送模块23可以为发送器等。本发明实施例提供的第一存储设备,可以执行上述方法实施例中第一存储设备侧的方法,其实现原理和技术效果类似,在此不再赘述。可选的,在本发明的另一实现方式中,处理模块22,还用于确定所述第二存储设备故障,并获取新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备;则所述发送模块23,还用于将所述新的预设规则广播给所述至少一个路由装置。本发明实施例提供的第一存储设备,可以执行上述方法实施例中第一存储设备侧的方法,其实现原理和技术效果类似,在此不再赘述。图10为本发明实施例提供的一种存储系统的结构示意图。如图10所示,所述存储系统包括:第一存储设备31、第二存储设备32和至少一个路由装置33,所述至少一个路由装置包括第一路由装置34;其中,所述第一存储设备31和所述第二存储设备32互为备份关系,每个存储设备包括:至少一个逻辑单元,每个逻辑单元包括:至少一个第一类逻辑块和至少一个第二类逻辑块;所述第一路由装置34,用于根据预设规则将第一访问请求发送给所述第一存储设备31,将第二访问请求发送给所述第二存储设备32;其中,所述第一访问请求携带第一目标逻辑块标识,所述第一目标逻辑块的标识指向的第一目标逻辑块为所述第一类逻辑块;所述第二访问请求携带第二目标逻辑块标识,所述第二目标逻辑块标识指向的第二目标逻辑块为所述第二类逻辑块;所述预设规则用于指示所述至少一个路由装置33将对所述第一类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备31,将对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第二存储设备32;所述第一存储设备31,用于根据所述第一访问请求对所述第一存储设备31中的所述第一目标逻辑块的标识指向的第一目标逻辑块进行访问操作;所述第二存储设备32,用于根据所述第二访问请求对所述第二存储设备32中的所述第二目标逻辑块的标识指向的第二目标逻辑块进行访问操作;其中,所述第一目标逻辑块的标识指向的第一目标逻辑块与所述第二目标逻辑块的标识指向的第二目标逻辑块属于同一个逻辑单元。本发明实施例提供的存储系统,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。可选的,在本发明的一种实现方式中,上述第一路由装置34,还用于在根据预设规则将第一访问请求发送给所述第一存储设备31,将第二访问请求发送给所述第二存储设备32之前,接收所述第一存储设备31和/或所述第二存储设备32发送的所述预设规则。可选的,在本发明的一种实现方式中,上述第一路由装置34,还用于在根据预设规则将第一访问请求发送给所述第一存储设备31,将第二访问请求发送给所述第二存储设备32之前,获取第一请求;根据所述第一请求,以及,所述第一逻辑单元中的逻辑块的大小,确定所述第一目标逻辑块标识和所述第二目标逻辑块标识;并根据所述第一目标逻辑块标识,生成所述第一访问请求,根据所述第二目标逻辑块标识,生成所述第二访问请求;其中,所述第一请求包括:待访问逻辑块在所述第一逻辑单元中的偏移量和偏移长度;所述待访问逻辑块包括所述第一目标逻辑块和所述第二目标逻辑块。可选的,在本发明的一种实现方式中,所述第一路由装置34,还用于接收所述第一存储设备31根据所述第一访问请求发送的访问结果,并接收所述第二存储设备32根据所述第二访问请求发送的访问结果;根据所述第一访问请求对应的访问结果,以及,所述第二访问请求对应的访问结果,确定所述第一请求的访问结果。可选的,在本发明的一种实现方式中,所述第一路由装置34,还用于接收所述第一存储设备31在所述第二存储设备32故障后发送的新的预设规则,所述新的预设规则用于指示所述至少一个路由装置将对所述第一类逻辑块进行写操作或读操作的访问请求,以及,对所述第二类逻辑块进行写操作或读操作的访问请求发送给所述第一存储设备31。本发明实施例提供的存储系统,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1