CN105450687B - 一种标签转换方法、装置及sas存储器 - Google Patents
一种标签转换方法、装置及sas存储器 Download PDFInfo
- Publication number
- CN105450687B CN105450687B CN201410410609.6A CN201410410609A CN105450687B CN 105450687 B CN105450687 B CN 105450687B CN 201410410609 A CN201410410609 A CN 201410410609A CN 105450687 B CN105450687 B CN 105450687B
- Authority
- CN
- China
- Prior art keywords
- affairs
- label
- master controller
- label value
- storage medium
- 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.)
- Active
Links
Abstract
本发明实施例公开了一种标签转换方法、装置及SAS存储介质,所述方法包括:同时接收多个主控制器访问存储介质的多个事务;如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值;其中,所述同类事务的标签相同;将转换标签值后的所述每个事务分别发送给对应的所述存储介质。本发明实施例中,在同一时间内接收到的多个事务为同类事务时,将所述多个事务中的每个事务分别转换成对应所述标签值范围中唯一标签值的事务,并将转换后的多个事务分别发送给对应的存储介质。不但解决了多个主控制器同时访问存储介质可能带来的冲突问题,而且,还大大提高主控制器访问存储介质的效率。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种标签转换方法、装置及SAS存储器。
背景技术
随着序列式小型计算机系统接口(SAS,Serial Attached Small ComputerSystem Interface)存储架构逐渐向网络化存储方向演进,目前,SAS存储架构前端已实现到服务器模块与主控制器之间的分离的网络化,即通过交换机或其他网络设备将服务器和主控制器连接起来。
图1示意性地示出了目前存储后端模块网络化的SAS存储体系结构的结构示意图,如图所示,SAS体系结构可以简单分为存储后端模块1,网络模块2,计算模块3三个部分;其中,所述网络模块2和计算模块3属于存储前端,其中,
存储后端模块1包括主控制器、网络和SAS存储器,其中,主控制器又包括:第一主控制器111和第二主控制器112;网络包括:第一交换机121和第二交换机122;SAS存储器包括:第一SAS接口模块131和第二SAS接口模块132,以及n个存储介质,即第一存储介质141,第二存储介质142,……第n存储介质14n。其中,第一主控制器111和第二主控制器112均与第一交换机121和第二交换机122连接,第一主控制器111和第二主控制器112是SAS存储架构的核心部分,是联系存储前端和存储后端各个设备的桥梁,同时也控制存储后端模块1中各个设备的运行;第一交换机121和第二交换机122均与第一SAS接口模块131和第二SAS接口模块132连接,第一SAS接口模块131和第二SAS接口模块132均与n个存储介质连接,第一SAS接口模块131和第二SAS接口模块132遵从SAS协议,负责存储介质发现、主控制器命令解析及转发等。网络模块2包括第三交换机211和第四交换机212,也就是说,网络模块可以为SAS交换机等不同类型的网络交换设备。计算模块3包括n个服务器,即第一服务器311、第二服务器312至第n服务器31N,该n个服务器可以为视频服务器、邮件服务器、数据库服务器、文件服务器等不同类型的服务器,当然,也可以是同类型的服务器。
如图1所示,当存储后端模块实现网络化后,第一主控制器111访问第一存储介质141,第二存储介质142,......,第n存储介质14n事务的同时,第二主控制器112也可能执行同样的事务访问第一存储介质141,第二存储介质142,......,第n存储介质14n,此时,就会存在多主控制器同时访问同一存储介质的场景,在这种情况下,由于第一主控制器111和第二主控制器112之间没有协商访问存储介质事务,存在两主控制器同时发送具有相同标签(tag)值的同类事务访问存储介质,这样将因为存储介质无法处理此事务,从而导致存储介质挂死,即存储介质不对该事务进行处理。
发明内容
本发明实施例中提供了一种标签转发方法、装置及SAS存储介质,可以解决现有技术中,多主控制器同时使用具有相同标签值的同类事务来访问存储介质时,导致该存储介质不处理该事务的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种标签转换方法,所述方法包括:
同时接收多个主控制器访问存储介质的多个事务;其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;
如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值;其中,所述同类事务的标签相同;
将转换标签值后的所述每个事务分别发送给对应的所述存储介质。
在第一方面的第一种可能的实现方式中,还包括:
如果判定所述多个事务为非同类事务,则判断所述每个事务是否记录在标签表中;
如果判定所述每个事务记录在所述标签表中,则执行将所述多个事务中每个事务的标签值转换为不同的标签值;将转换标签值后的所述每个事务分别发送给对应的所述存储介质的步骤;
如果判定所述每个事务没有记录在所述标签表中,则将所述每个事务分别发送给对应的所述存储介质。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述多个事务的每个事务的标签值转换为不能的标签值,包括:
查找所述多个事务中每个事务的主控制器标识对应的标签值范围;
将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,还包括:
在判定所述多个事务为同类事务或所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;
将所述每个事务的标签项添加在所述标签表中。
结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述标签项包括:主控制器标识、存储介质标识、事务、原标签值或转换后的标签值。
结合第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,还包括:
同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;
将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;
将转换后的所述每个事务分别发送给对应的主控制器。
第二方面提供了一种标签转换方法,所述方法包括:
同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;
将所述响应主控制器的所述每个事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值,所述多个事务是对所述主控制器访问存储介质的事务的响应;
将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
在第二方面的第一种可能的实现方式中,所述查找所述每个事务在所述标签表中的标签项,包括:
按照所述每个事务的存储介质标识和每个事务分别查找所述每个事务在所述标签表中的标签项。
第三种方式提供了一种标签转换装置,包括:
第一接收单元,用于同时接收多个主控制器访问存储介质的多个事务;其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;
第一判断单元,用于判断所述多个事务是否为同类事务;所述同类事务的标签相同;
第一转换单元,用于在所述第一判断单元判断所述多个事务为同类事务时,将所述多个事务中每个事务的标签值转换为不同的标签值;
第一发送单元,用于将所述第一转换单元转换后的所述每个事务分别发送给对应的所述存储介质。
在第三方面的第一种可能的实现方式中,还包括:第二判断单元和第二发送单元,其中,
所述第二判断单元,用于在所述第一判断单元判定所述多个事务为非同类事务时,判断所述每个事务是否记录在标签表中;
所述第一转换单元,还用于在所述第二判断单元判断所述每个事务记录在所述标签表中时,将所述多个事务中每个事务的标签值转换为不同的标签值;
所述第二发送单元,用于在所述第二判断单元判断所述每个事务没有记录在所述标签表中时,将所述每个事务分别发送给对应的所述存储介质。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一转换单元包括:
第一查找单元,用于在所述第一判断单元判断所述多个事务为同类事务时或所述第二判断单元判断所述每个事务记录在所述标签表中时,查找所述多个事务中每个事务的主控制器标识对应的标签值范围;
第一标签值转换单元,用于将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,还包括:
创建单元,用于在所述第一判断单元判断所述多个事务为同类事务或所述第二判断单元判断所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;
添加单元,用于将所述每个事务的标签项添加在所述标签表中。
结合第三方面或第三方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述添加单元添加在所述标签表中的标签项包括:主控制器标识、存储介质标识、事务、原标签值和转换后的标签值。
结合第三方面或第三方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,还包括:
第二接收单元,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
第三判断单元,用于判定所述多个事务中每个事务是否记录在标签表中;
第二查找单元,用于在所述第三判断单元判断所述每个事务记录在所述标签表中时,查找所述每个事务在所述标签表中的标签项;
第二标签值转换单元,用于将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;
第三发送单元,用于将转换后的所述每个事务分别发送给对应的主控制器。
第四种方面提供了一种标签转换装置,包括:
接收单元,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
判断单元,用于判定所述多个事务是否记录在所述标签表中;
查找单元,用于在所述判断单元判断所述多个事务记录在所述标签表中时,查找所述多个事务中每个事务在所述标签表中的标签项;
转换单元,用于将响应主控制器的所述每个事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值;
发送单元,用于将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
在第四方面的第一种可能的实现方式中,所述查找单元,具体用于在所述判断单元判断所述每个事务存在所述标签表中时,按照所述每个事务的存储介质标识和每个事务查找所述每个事务在所述标签表中的标签项。
第五方面提供了一种SAS存储介质,包括:至少一个SAS接口模块,以及N个存储介质,所述N个存储介质均与所述至少一个SAS接口模块连接,其中,所述至少一个SAS接口模块中的每个SAS接口模块包括第一标签转换装置和第二标签装置,其中,
所述第一标签转换装置,用于同时接收多个主控制器访问存储介质的多个事务,其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值;其中,所述同类事务的标签相同;将转换标签值后的所述每个事务分别发送给对应的所述存储介质;以及
所述第二标签转换装置,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;将转换后的所述每个事务分别发送给对应的主控制器。
在第五方面的第一种可能的实现方式中,所述第一标签转换装置如上述的标签转换装置;
所述第二标签转换装置如上述的标签转换装置。
由上述技术方案可知,本发明实施例中,当同时接收到多个主控制器访问存储介质的多个同类事务时,对多个同类事务中的每个事务分别进行标签转换,并将转换后的多个事务发送对应的存储介质,解决了多主控制器同时访问存储介质而导致存储介质不处理的技术问题。采用本发明可实现多主控制器并发访问存储介质,大大提高主控制器访问存储介质效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中存储后端模块网络化的SAS存储架构的结构示意图;
图2为本发明实施例提供的一种标签转换方法的流程图;
图3为本发明实施例提供的一种标签转换方法的另一流程图;
图4为本发明实施例提供的一种标签转换方法的另一流程图;
图5为本发明实施例提供的一种标签转换装置的结构示意图;
图6为本发明实施例提供的一种标签转换装置的另一结构示意图;
图7为本发明实施例提供的一种标签转换装置的另一结构示意图;
图8为本发明实施例提供的一种标签转换装置的另一结构示意图;
图9为本发明实施例提供的一种标签转换装置的另一结构示意图;
图10为本发明实施例提供的一种SAS存储器的结构示意图;
图11为本发提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
请参阅图2,图2为本发明实施例提供的一种标签转换方法的流程图,该方法应用SAS存储架构中,多个主控制器访问存储介质时发送事务的处理过程,本实施例中,所述接口可以SAS接口模块为例,但并不限于此,也可以是SAS接口。下同。所述方法包括:
步骤201:SAS接口模块同时接收多个主制器访问存储介质的多个事务;其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务。
该步骤中,SAS接口模块可以同时接收到多个主控制器访问同一存储介质或不同存储介质的多个事务,该多个事务可能是同类事务,即多个事务的标签值相同。其中,所述事务,可以是主控制器访问存储介质的操作指令,比如,读数据或写数据等操作。所述事务可以包括:标签值、具体的操作内容和存储介质标识等,当然,还可以包括其他参数,本实施例不作限制。
需要说明的是,本实施例中的同时,在实际应用中,可以理解是同一时刻,或者同一时时间段内,且该时间段是比较短的时间段,比如,2秒中内,或3秒钟内,后5秒钟内等。比如,在接收到一个事务时,还没来得及处理,就接到了另一事务。也就是说,本实施例中的同时,并不是特别精确到某一时间点,相差几秒内接收到的事务,也可以理解为同时接收到的事务。比如,SAS接口模块在第1秒时接收到第一主控制访问第一存储介质的第一事务,还没来得及处理该第一事务,在第2秒中就接收到第二主控制访问第一或第二存储介质的第二事务。本实施例将理解为同时接收到的所述第一事务和第二事务。
本实施例中的存储介质,可以是磁盘,也可以是光盘,还可以是固态硬盘等。
需要说明的是,控制器可以包括主控制器和从控制器,主控制器可以直接访问存储介质,而从控制需要通过主控制器来访问存储介质。
步骤202:如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值;其中,所述同类事务的标签相同。
该步骤中,SAS接口模块先判断所述多个事务是否为同类事务,其中,可以根据每个事务的主控制器标识、存储介质标识和访问事务是否相同来判断同一时刻内接收到所有的事务是否为同类事务,如果主控制器标识、存储介质标识和访问事务均相同,则对应的事务为同类事务。其中,主控制器标识:用于唯一标识发送访问存储介质事务的主控制器,可以为MAC地址、SAS地址等;存储介质标识:用于唯一标识主控制器事务访问的存储介质,可以为存储介质ID或SAS地址等;事务:主控制器访问存储介质的操作或命令,如读数据、写数据等。
其中,同类事务也就是可能产生冲突的事务,又称为冲突事务。比如,SAS接口模块同时接收到第一主控制器和第二主控制器访问存储介质1的读数据;或者,SAS接口模块同时接收到第一主控制器访问存储介质1的读操作,第二主控制器访问存储介质2的读数据等。
其中,该步骤中,将所述多个事务中每个事务的标签值转换为不同的标签值,其转换的方式可以有多种方式,一种将相同的标签值转换为不同的标签值的过程包括:
1)查找所述多个事务中每个事务的主控制器标识对应的标签值范围。
该步骤中,预先按照主控器的数量进行标签值的范围划分,划分后每个主控制器对应的标签值的范围各不相同,各个主控制器对应的标签值的范围预先存储在与该主控制器对应的SAS接口模块中;假如,有两个主控制器(即第一主控制器和第二主控制器),按照主控制器数量(即2个)将标签值的取值范围划分为两个标签值范围,假设标签值的取值范围为[0,FFFF-1],划分后的两个标签值范围分别为[0,7FFF-1]和(7FFF,FFFF-1]。
该步骤中,主控制器标识可以根据主控制器的MAC地址来划分,当然,并不限于此。如果主控制器标识根据第一主控制器和第二主控制器的MAC地址来划分,且第一主控制器的MAC地址小于第二主控制器的MAC地址,则第一主控制器和第二主控制器访问存储介质的冲突事务(即同类事务)的标签值范围被划分为[0,7FFF]和(7FFF,FFFF-1,],当冲突事务的一个主控制器为第二主控制器时,其映射的标签值范围为(7FFF,FFFF-1],当冲突事务的另一个主控制器为第一主控制器时,其映射的标签值范围为[0,7FFF-1]。
也就是说,本实施例中,标签值的划分根据配置的主控制器个数m有关,其中,m值为2的指数幂次倍,比如,将16位的标签值范围划分为m份,每一份对应一个主控制器标识,其标签值范围分别为[0,FFFF/m-1],(FFFF/m-1,2*FFFF/m-1,],….,((m-1)*FFFF/m-1,FFFF-1]。标签值转换原则可以根据冲突的主控制器标识、存储介质标识和事务,查找到对应的标签值范围。然后采用递增方式或递减方式对标签值进行转换,使得同一时刻标签值唯一。本发明实施例中标签是平均划分为m份,在其他实施例中,也可以不平均划分。
2)将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
在该步骤中,SAS接口模块在查找所述每个事务的主控制器标识对应的标签值范围后,将所述每个事务中的原标签值分别转换为查找到的所述标签值范围中的标签值,其转后的标签值唯一。在该实施例中,可以从最小值递增转换标签值,比如第一次冲突被转换的标签值为0x7FFF,第二次有相同主控制器标识的相同事务时,转换后的标签值为0x8000,…;直到整个主控制器访问存储介质事务处理流程结束为止。当然,也可以采用递减的方式转换标签值,其转换方式与递增的方式相反,在此不再赘述。
步骤203:将转换后的所述每个事务分别发送给对应的所述存储介质。
该步骤中,SAS接口模块将转换标签值后的所述每个事务分别发送给对应的存储介质,比如,在步骤201中,如果主机1访问存储介质1的事务,主机2访问存储介质2的事务,则SAS接口模块将转换后的主机1访问存储介质1的事务发送给存储介质1,将转换后主机2访问存储介质2的事务发送给存储介质2。
本发明实施例中,在判定同时接收到的多个主控制器访问存储介质(可以同一存储介质或者不同存储介质)的多个事务为同类事务时,将所述多个事务中的每个事务的标签值转换为不同的标签值;并将转换后的多个事务分别发送给对应的存储介质。本发明实施例实现了多个主控制器能同时(即并行)访问存储介质,从而解决了现有技术中多个主控制器同时访问存储介质带来的冲突问题。同时,由于本实施例能同时处理多个主控制器并发访问存储介质的多个事务,大大提高主控制器访问存储介质的效率。
还请参阅图3,图3为本发明实施例提供的一种标签转换方法的另一流程图,该实施例与上实施例的不同之处在于,当判定所述多个事务为非同类事务时,需要继续判断每个事务是否记录在标签表以及后续的处理过程,其具体的实现步骤包括:
步骤301:同时接收多个主控制器访问存储介质的多个事务,其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务。
该步骤具体详见步骤201,在此不再赘述。
步骤302:判断所述多个事务是否为同类事务,如果是,即为同类事务,则执行步骤303;否则,即为非同类事务,执行步骤306。
该步骤中,SAS接口模块可以根据多个事务的主控制器标识、存储介质标识和访问事务是否相同,来判断同一时刻内接收到所有的事务是否为同类事务,也就是说,如果事务的主控制器标识、存储介质标识和访问事务均相同,则说明所述事务为同类事务。具体详见上述实施例中对应的描述,在此不再赘述。
步骤303:查找所述多个事务中每个事务的主控制器标识对应的标签值范围。
详见上述步骤202中的相应描述,在此不再赘述。
步骤304:将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
详见上述步骤202中的相应描述,在此不再赘述。
步骤305:将转换后的所述每个事务分别发送给对应的所述存储介质。
详见上述步骤203中的相应描述,在此不再赘述。
步骤306:判断所述每个事务是否记录在标签表中,如果记录在标签表中,执行步骤303;如果没有记录在标签表中,则执行步骤307。
其中,SAS接口模块判断所述每个事务是否与标签表中记录的事务相冲突,是根据主控制器标识、存储介质标识和访问事务是否存在标签表中,来判断访问事务是否产生冲突,即是否为同类事务。如果主控制器标识、存储介质标识和访问事务均相同,则为同类事务,即事务会产生冲突。
步骤307:将所述每个事务分别发送给对应的所述存储介质。
本发明实施例中,在判定同时接收到的多个主控制器访问存储介质的多个事务为非同类事务时,继续判断所述多个事务中的每个事务是否记录在标签表中,如果记录在标签表中,则需要查找每个事务的主控制器标签对应的标签值范围,然后将每个事务的标签值分别转换成所述标签值范围中唯一的标签值,然后将转换后的每个事务分别发送给对应的存储介质。本发明实施例实现了多个主控制器能同时(即并行)访问存储介质,并对同时访问存储介质的不同类事务进行进一步的判断,进一步降低主控制器同时访问存储介质可能带来的冲突;也提高了主控制器同时访问存储介质的效率。
可选的,在另一实施例中,该实施例在上述图2或图3所述的实施例的基础上,所述方法还可以包括:在判定所述多个事务为同类事务或所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;将所述每个事务的标签项添加在所述标签表中。其中,所述标签项包括:主控制器标识、存储介质标识、事务、原标签值和/或转换后的标签值,具体如表1所示,表1标签项的一种格式示意图,以包括主控制器标识、存储介质标识、事务、原标签值和转换后的标签值为例。如表1所示,
表1
由表1可知,标签项包含主控制器地址、存储介质标识、事务、原标签tag值和转换后的tag值。标签项中各个参数的定义如下所述:
主控制器标识:可以占用6字节,用于唯一标识发送访问存储介质事务的主控制器,可以为MAC地址、SAS地址等。
存储介质标识:可以占用6字节,用于唯一标识主控制器事务访问的存储介质,可以为存储介质ID或SAS地址等。
事务:可以占用2字节,主控制器访问存储介质的操作或命令,如读数据、写数据等操作。
原标签值:可以占用2字节,主控制器访问存储介质事务的标签值。
转换后的标签值:可以占用2字节,在后端转换模块内根据本发明转换规则转换后的标签值,在同一时刻同类事务具有唯一的标签值。
当然,在实际应用中,标签项的各个参数占用的字节数可以是应用调整,并不限于此,标签项中还可以适应性包括其他参数,本实施例不作限制。
需要说明的是,本实施例中的标签表是预先建立的并存储在SAS接口模块中,每个标签表包括多个标签项,每个标签项对应一个事务。
本发明实施例中,通过将所述每个事务的标签项添加在所述标签表中,已对后续接收到的事务进行维护,以更有效的解决了多个主控制器同时访问存储介质可能带来的冲突问题,进而大大提高主控制器访问存储介质的效率。
本发明实施例可应用到任何多服务器访问多客户端时遇到的事务冲突问题,只要遇到此类问题,均可使用本发明实施例中标签表维护方法进行解决。针对不同案例中的事务冲突问题,如果原有事务没有标签值,可在建立标签项时增加对应的标签值,以对不同事务进行区分,并将冲突事务记录到标签表中进行维护即可。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:
同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务。
其中,该步骤中,SAS接口模块可以在同一时刻接收到所有存储介质响应多个主控制器的多个事务,也可以在同一时刻接收到一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务等。
如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项。
其中,一种查找方式为:按照所述每个事务的存储介质标识和每个事务查找对应的所述每个事务在所述标签表中的标签项。
将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值。
将转换后的所述每个事务分别发送给对应的主控制器。
该实施例的具体过程可以详见下述图4的实现过程,在此不再赘述。
还请参阅图4,图4为本发明实施例提供的一种标签转换方法的另一流程图;该方法应用SAS存储架构中,存储介质响应主控制器事务的处理过程。所述方法包括:
步骤401:同时接收存储介质响应给主控制器的多个事务,其中,所述存储介质发送给主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务。
该步骤中,SAS接口模块可以在同一时刻接收到所有存储介质响应多个主控制器的多个事务,也可以在同一时刻接收到一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务等。
步骤402:判断所述多个事务中每个事务是否记录在所述标签表中,如果是,执行步骤403;否则,执行步骤406。
该步骤中,SAS接口模块判断所述多个事务中的每个事务是否记录在所述标签表中的判断的依据为:按照所述每个事务的存储介质标识和每个事务来判断每个事务是否记录在所述标签表中,如果均存在,则说明该事务记录在标签表中。
当然在该实施例中,多个事务也可以有部分事务在标签表中,部分事务没有在标签表中,本实施例只对记录在标签表的事务进行标签转换处理;而对于没有在标签表中的事务直接转发给对应的主控制器。
步骤403:查找所述每个事务在所述标签表中的标签项。
其中,SAS接口模块查找每个事务在所述标签表中的标签项的一种方式为:按照所述每个事务的存储介质标识和每个事务分别查找所述每个事务是否在所述标签表中,如果在,就能得到该事务的标签项。也就是说,通过每个事务的存储介质标识和每个事务是否存在标签表中,如果均存在,则说明该事务记录在标签表中,就能得到该事务的标签项。
步骤404:将响应主控制器的所述每个事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值。
SAS接口模块在查找每个事务对应的标签项后,将响应主控制器的每个事务的标签值分别转换为所述标签项中的原标签值。
步骤405:将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
步骤406:将接收到的所述存储介质发送给主控制器的多个事务转发给对应的主控制器。
本发明实施例中,SAS接口模块在接收到存储介质响应主控制器的多个事务时,如果多个事务中每个事务记录在所述标签表中,将每个事务响应主控制器事务的标签值分别转换为对应标签项中的原标签值,然后将转换标签后的每个事务发送给对应的主控制器。本发明实施例解决了多主控制器同时访问存储介质可能带来的冲突问题,采用本发明可实现多主控制器并发访问存储介质,大大提高主控制器访问存储介质效率。
可选的,在另一实施例中,该实施例在上述实施例的基础上,在将转换后包括所述原标签值的每个事务分别发送给对应的主控制器后,所述方法还可以包括:SAS接口模块删除所述每个事务在所述标签表中的标签项;其中,所述标签项包括:主控制器标识、存储介质标识、事务、原标签值和转换后的标签值。但是,标签项并不限于此上述参数,还可以是应用包括其他参数,本实施例不作限制。
本发明实施例中,SAS接口模块通过将存储介质响应主控制器事务发送给主控制器后,删除标签表中对应的标签项,已对后续接收到的事务进行维护,以更有效的解决了多个主控制器同时访问存储介质可能带来的冲突问题,进而大大提高主控制器访问存储介质的效率。
本发明实施例中的所有标签转换方法,可以由存储器中的接口模块执行,存储器由接口转换模块和存储介质组成。
基于上述方法的实现过程,本发明实施例还提供一种标签转换装置,其结构示意图如图5所示,所述标签转换装置包括:第一接收单元51,第一判断单元52,第一转换单元53和第一发送单元54,其中,
该第一接收单元51,用于同时接收多个主控制器访问存储介质的多个事务;其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务。
该第一判断单元52,用于判断所述多个事务是否为同类事务;所述同类事务的标签相同。
所述第一转换单元53,用于在所述第一判断单元判断所述多个事务为同类事务时,将所述多个事务中每个事务的标签值转换为不同的标签值。
所述第一发送单元54,用于将所述第一转换单元转换后的所述每个事务分别发送给对应的所述存储介质。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一转换单元包括:第一查找单元和第一标签值转换单元(图中未示),其中,
所述第一查找单元,用于在所述第一判断单元判断所述多个事务为同类事务时或所述第二判断单元判断所述每个事务记录在所述标签表中时,查找所述多个事务中每个事务的主控制器标识对应的标签值范围。
所述第一标签值转换单元,用于将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述标签转换装置还可以包括:第二判断单元61和第二发送单元62,其结构示意图如图6所示,其中,
所述第二判断单元61,用于在所述第一判断单元52判定所述多个事务为非同类事务时,判断所述每个事务是否记录在标签表中。
所述第一转换单元53,还用于在所述第二判断单元61判断所述每个事务记录在所述标签表中时,将所述多个事务中每个事务的标签值转换为不同的标签值。
所述第二发送单元62,用于在所述第二判断单元61判断所述每个事务没有记录在所述标签表中时,将所述每个事务分别发送给对应的所述存储介质。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述标签转换装置还可以包括:创建单元71和添加单元72,其结构示意图如图7所示,
所述创建单元71,用于在所述第一判断单元52判断所述多个事务为同类事务时或所述第二判断单元61判断所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;
所述添加单元72,用于将所述每个事务的标签项添加在所述标签表中。
其中,所述添加单元添加在所述标签表中的标签项包括:主控制器标识、存储介质标识、事务、原标签值和/或转换后的标签值。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述标签转换装置还包括:第二接收单元,第三判断单元,第二查找单元,第二标签值转换单元和第三发送单元,其中,
所述第二接收单元,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务。
所述第三判断单元,用于判定所述多个事务中每个事务是否记录在标签表中。
所述第二查找单元,用于在所述第三判断单元判断所述每个事务记录在所述标签表中时,查找所述每个事务在所述标签表中的标签项。
所述第二标签值转换单元,用于将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值。
所述第三发送单元,用于将转换后的所述每个事务分别发送给对应的主控制器。
可选的,所述标签转换装置可以集成在SAS存储架构的存储后端模块中的SAS接口模块中,也可以独步部署在SAS存储架构中,本实施例不作限制。其中,SAS存储架构如图1所示,在此不再赘述。
其中,所述标签转换装置中的各个单元的功能和作用的实现过程详见上述方法中对应步骤的实现过程,在此不再赘述。
还请参阅图8,图8为本发明实施例提供一种标签转换装置的另一结构示意图,所述标签转换装置包括:接收单元81,判断单元82,查找单元83,转换单元84和发送单元85,其中,
所述接收单元81,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
所述判断单元82,用于判定所述多个事务是否记录在所述标签表中;
所述查找单元83,用于在所述判断单元判断所述多个事务记录在所述标签表中时,查找所述多个事务中每个事务在所述标签表中的标签项;具体用于在所述判断单元判断所述每个事务存在所述标签表中时,按照所述每个事务的存储介质标识和每个事务查找对应的所述每个事务在所述标签表中的标签项。
所述转换单元84,用于将响应主控制器的所述每个事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值;
所述发送单元85,用于将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述标签转换装置还可以包括:删除单元91,其结构示意图如图9所示,所述删除单元91用于在所述发送单元85将转换后包括所述原标签值的每个事务分别发送给对应的主控制器后,删除所述每个事务在所述标签表中的标签项。以提高维护效率。
可选的,所述标签转换装置可以集成在SAS存储架构的存储后端模块中的SAS接口模块中,也可以独步部署在SAS存储架构中,本实施例不作限制。其中,SAS存储架构如图1所示,在此不再赘述。
其中,所述标签转换装置中的各个单元的功能和作用的实现过程详见上述方法中对应步骤的实现过程,在此不再赘述。
还请参阅图10,图10为本发明实施例提供的一种SAS存储器的结构示意图,所述SAS存储器10包括至少一个SAS接口模块(本实施例以第一SAS接口模块1001和第二SAS接口模块1002为例),以及n个存储介质(本实施例以第一存储介质1021、第二存储介质1022至第N存储介质102n为例),所述n个存储介质的每个存储介质分别与至少一个SAS接口模块连接,其中,所述每个SAS接口模块包括第一标签转换装置和第二标签装置,即第一SAS接口模块1001包括:第一标签转换装置10011和第二标签转换装置10012;第二SAS接口模块1002包括:第一标签转换装置10011和第二标签转换装置10012,其中,
所述第一标签转换装置10011,用于同时接收多个主控制器访问存储介质的多个事务,其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值;其中,所述同类事务的标签相同;将转换标签值后的所述每个事务分别发送给对应的所述存储介质。
所述第二标签转换装置10012,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;将转换后的所述每个事务分别发送给对应的主控制器。
本实施例中,第一标签转换装置10011具体详见上述图5、图6和图7所述的标签转换装置,具体详见上述,在此不再赘述;
第二标签转换装置10012具体详见上述图8和图9所述的标签转换装置,具体详见上述,在此不再赘述。
参见图11,为本发提供的一种电子设备的结构示意图,该电子设备500包括:处理器510、存储器520、收发器530和总线540;
处理器510、存储器520、收发器530通过总线540相互连接;总线540可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器520,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器520可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个存储介质存储器。该实施例具体用于存储多个主控制器的主控制器标识与标签值范围之间的对应关系,以及存储标签表,所述标签表中包括多个同类事务的标签项;
所述收发器530用于连接其他设备,并与其他设备进行通信。具体的所述收发器530可以用于:同时接收多个主控制器访问存储介质的多个事务;
所述处理器510执行存储器520中存储的所述程序代码,用于判断所述多个事务是否为同类事务,如果是,则查找所述多个事务中每个事务的主控制器标识对应的标签值范围;将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
所述收发器530还用于将转换后的所述每个事务分别发送给对应的所述存储介质。
可选的,所述处理器510还用于在判定所述多个事务为非同类事务时,判断所述每个事务是否与记录在标签表中,如果记录在所述标签表中,则执行所述将所述多个事务中每个事务的标签值转换为不同的标签值;将转换标签值后的所述每个事务分别发送给对应的所述存储介质的步骤;如果没有记录在所述标签表中,则通知所述收发器112将所述每个事务分别发送给对应的所述存储介质。
可选的,所述处理器530还用于在判定所述多个事务为同类事务或所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;并将所述每个事务的标签项添加在所述标签表中。
其中,所述标签项包括:主控制器标识、存储介质标识、事务、原标签值和/或转换后的标签值。
本发明实施例还提供一种电子设备,所述电子设备包括:处理器、存储器、收发器和总线;
处理器、存储器、收发器通过总线相互连接;总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,本实施例中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。该实施例具体用于存储多个主控制器的主控制器标签与标签值范围之间的对应关系,以及存储标签表,所述标签表中包括多个同类事务的标签项;
所述收发器用于连接其他设备,并与其他设备进行通信。具体用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务
所述处理器,用于判定所述多个事务中每个事务是否记录在所述标签表中,如果是,则查找所述每个事务在所述标签表中的标签项;将所述每个事务的响应主控制器事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值;
所述收发器,还用于将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
可选的,所述处理器查找所述每个事务在所述标签表中的标签项,包括:按照所述每个事务的存储介质标识和每个事务分别查找所述每个事务在所述标签表中的标签项。
可选的,所述处理器,还用于在将转换后包括所述原标签值的每个事务分别发送给对应的主控制器后,删除所述每个事务在所述标签表中的标签项。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明实施例中,当存储后端实现存储介质和主控制器分离时,对同一时间内接收到的主控制器访问存储介质的多个事务(或存储介质响应主控制器的多个事务),对多个事务中的每个事务分别进行标签转换,并将转换后的多个事务发送给对应的存储介质(或主控制器),解决多主控制器同时访问存储介质可能带来的冲突问题,采用本发明可实现多主控制器并发访问存储介质,大大提高主控制器访问存储介质效率。此外,本发明实施例对主控制器侧和存储介质侧均透明,采用本发明实施例中后无需对主控制器和存储介质做任何更改。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种标签转换方法,其特征在于,包括:
同时接收多个主控制器访问存储介质的多个事务;其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;
如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值,其中,属于所述同类事务的多个事务中每个事务的标签值都相同,转换后每个所述事务的标签值都不同;
将包括所述转换后的标签值的所述每个事务分别发送给对应的所述存储介质。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果判定所述多个事务为非同类事务,则判断所述每个事务是否记录在标签表中;
如果判定所述每个事务记录在所述标签表中,则查找所述多个事务中每个事务的主控制器标识对应的标签值范围,将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一;
如果判定所述每个事务没有记录在所述标签表中,则将所述每个事务分别发送给对应的所述存储介质。
3.根据权利要求2所述的方法,其特征在于,还包括:
在判定所述多个事务为同类事务或所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;
将所述每个事务的标签项添加在所述标签表中,其中,所述标签项中包括:主控制器标识、存储介质标识、事务、原标签值和转换后的标签值,所述原标签值为主控制器访问存储介质的事务的标签值,所述转换后的标签值为所述原标签值转换后的标签值。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;
将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;
将转换后的所述每个事务分别发送给对应的主控制器。
5.一种标签转换方法,其特征在于,包括:
同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;
将所述响应主控制器的所述每个事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值,所述多个事务是对所述主控制器访问存储介质的事务的响应,若所述多个事务属于同类事务,则转换前属于所述同类事务的多个事务中所述每个事务的标签值都不同,转换后属于所述同类事务的多个事务中所述每个事务的原标签值都相同;
将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
6.根据权利要求5所述的方法,其特征在于,所述查找所述每个事务在所述标签表中的标签项,包括:
按照所述每个事务的存储介质标识和每个事务分别查找所述每个事务在所述标签表中的标签项。
7.一种标签转换装置,其特征在于,包括:
第一接收单元,用于同时接收多个主控制器访问存储介质的多个事务;其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;
第一判断单元,用于判断所述多个事务是否为同类事务,其中属于所述同类事务的多个事务中每个事务的标签值都相同;
第一转换单元,用于在所述第一判断单元判断所述多个事务为同类事务时,将所述多个事务中每个事务的标签值转换为不同的标签值,其中,转换后每个所述事务的标签值都不同;
第一发送单元,用于将所述第一转换单元转换后的包括所述转换后的标签值的所述每个事务分别发送给对应的所述存储介质。
8.根据权利要求7所述的装置,其特征在于,还包括:第二判断单元和第二发送单元,其中,
所述第二判断单元,用于在所述第一判断单元判定所述多个事务为非同类事务时,判断所述每个事务是否记录在标签表中;
所述第一转换单元,还用于在所述第二判断单元判断所述每个事务记录在所述标签表中时,将所述多个事务中每个事务的标签值转换为不同的标签值;
所述第二发送单元,用于在所述第二判断单元判断所述每个事务没有记录在所述标签表中时,将所述每个事务分别发送给对应的所述存储介质;
其中,所述第一转换单元包括:
第一查找单元,用于在所述第一判断单元判断所述多个事务为同类事务时或所述第二判断单元判断所述每个事务记录在所述标签表中时,查找所述多个事务中每个事务的主控制器标识对应的标签值范围;
第一标签值转换单元,用于将所述每个事务的标签值转换为对应的所述标签值范围中的标签值,且转换后的标签值唯一。
9.根据权利要求8所述的装置,其特征在于,还包括:
创建单元,用于在所述第一判断单元判断所述多个事务为同类事务或所述第二判断单元判断所述每个事务记录在所述标签表中时,为所述多个事务中的每个事务分别创建标签项;
添加单元,用于将所述每个事务的标签项添加在所述标签表中,其中,所述标签项中包括:主控制器标识、存储介质标识、事务、原标签值和转换后的标签值,所述原标签值为主控制器访问存储介质的事务的标签值,所述转换后的标签值为所述原标签值转换后的标签值。
10.根据权利要求7至9任一项所述的装置,其特征在于,还包括:
第二接收单元,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
第三判断单元,用于判定所述多个事务中每个事务是否记录在标签表中;
第二查找单元,用于在所述第三判断单元判断所述每个事务记录在所述标签表中时,查找所述每个事务在所述标签表中的标签项;
第二标签值转换单元,用于将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;
第三发送单元,用于将转换后的所述每个事务分别发送给对应的主控制器。
11.一种标签转换装置,其特征在于,包括:
接收单元,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;
判断单元,用于判定所述多个事务是否记录在标签表中;
查找单元,用于在所述判断单元判断所述多个事务记录在所述标签表中时,查找所述多个事务中每个事务在所述标签表中的标签项;
转换单元,用于将响应主控制器的所述每个事务的标签值分别转换为所述标签项中的原标签值;所述原标签值为所述主控制器访问存储介质的事务的标签值,若所述多个事务属于同类事务,则转换前属于所述同类事务的多个事务中所述每个事务的标签值都不同,转换后属于所述同类事务的多个事务中所述每个事务的原标签值都相同;
发送单元,用于将转换后包括所述原标签值的每个事务分别发送给对应的主控制器。
12.根据权利要求11所述的装置,其特征在于,所述查找单元,具体用于在所述判断单元判断所述每个事务存在所述标签表中时,按照所述每个事务的存储介质标识和每个事务查找所述每个事务在所述标签表中的标签项。
13.一种序列式小型计算机系统接口SAS存储器,其特征在于,包括:至少一个SAS接口模块,以及N个存储介质,所述N个存储介质均与所述至少一个SAS接口模块连接,其中,所述至少一个SAS接口模块中的每个SAS接口模块包括第一标签转换装置和第二标签转换装置,其中,
所述第一标签转换装置,用于同时接收多个主控制器访问存储介质的多个事务,其中,所述多个主控制器访问存储介质的多个事务包括:所述多个主控制器访问同一存储介质的多个事务,或者所述多个主控制器访问不同存储介质的多个事务;如果判定所述多个事务为同类事务,则将所述多个事务中每个事务的标签值转换为不同的标签值;其中,属于所述同类事务的多个事务中每个事务的标签值都相同;将转换标签值后的所述每个事务分别发送给对应的所述存储介质;以及
所述第二标签转换装置,用于同时接收存储介质响应主控制器的多个事务,其中,所述存储介质响应主控制器的多个事务包括:一个存储介质响应多个主控制器的多个事务,或者多个存储介质响应一个主控制器的多个事务,或者多个存储介质响应多个主控制器的多个事务;如果判定所述多个事务中每个事务记录在标签表中,则查找所述每个事务在所述标签表中的标签项;将所述响应主控制器的每个事务的标签值分别转换为所述标签项中包括的所述主控制器访问所述存储介质的事务的标签值;将转换后包括所述主控制器访问所述存储介质的事务的标签值的每个事务分别发送给对应的主控制器;
其中,所述标签表中包括标签项,所述标签项中包括:主控制器标识、存储介质标识、事务、原标签值和转换后的标签值,所述原标签值为主控制器访问存储介质的事务的标签值,所述转换后的标签值为该原标签值转换后的标签值。
14.根据权利要求13所述的SAS存储器,其特征在于,
所述第一标签转换装置如权利要求7至10任一项所述的标签转换装置;
所述第二标签转换装置如权利要求11或12所述的标签转换装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410410609.6A CN105450687B (zh) | 2014-08-19 | 2014-08-19 | 一种标签转换方法、装置及sas存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410410609.6A CN105450687B (zh) | 2014-08-19 | 2014-08-19 | 一种标签转换方法、装置及sas存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450687A CN105450687A (zh) | 2016-03-30 |
CN105450687B true CN105450687B (zh) | 2019-06-07 |
Family
ID=55560461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410410609.6A Active CN105450687B (zh) | 2014-08-19 | 2014-08-19 | 一种标签转换方法、装置及sas存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450687B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688251B (zh) * | 2018-07-05 | 2021-12-31 | 华为技术有限公司 | 写数据方法及存储系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832489A (zh) * | 2006-04-19 | 2006-09-13 | 杭州华为三康技术有限公司 | 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统 |
CN103984662A (zh) * | 2014-05-29 | 2014-08-13 | 华为技术有限公司 | 一种读、写数据的方法及设备、存储系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454551B2 (en) * | 2004-05-26 | 2008-11-18 | Synopsys, Inc. | Reconstructing transaction order using clump tags |
US20060190655A1 (en) * | 2005-02-24 | 2006-08-24 | International Business Machines Corporation | Apparatus and method for transaction tag mapping between bus domains |
-
2014
- 2014-08-19 CN CN201410410609.6A patent/CN105450687B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832489A (zh) * | 2006-04-19 | 2006-09-13 | 杭州华为三康技术有限公司 | 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统 |
CN103984662A (zh) * | 2014-05-29 | 2014-08-13 | 华为技术有限公司 | 一种读、写数据的方法及设备、存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105450687A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khare et al. | Big data in IoT | |
CN109033387B (zh) | 一种融合多源数据的物联网搜索系统、方法及存储介质 | |
CN108255958A (zh) | 数据查询方法、装置和存储介质 | |
CN105095211B (zh) | 多媒体数据的获取方法和装置 | |
CN105989076A (zh) | 一种数据统计方法以及装置 | |
CN104091129B (zh) | 一种数据处理方法及装置 | |
CN105630847A (zh) | 数据存储方法、数据查询方法、装置及系统 | |
US20160188723A1 (en) | Cloud website recommendation method and system based on terminal access statistics, and related device | |
CN103678491A (zh) | 一种基于Hadoop中小文件优化和倒排索引的方法 | |
US10885085B2 (en) | System to organize search and display unstructured data | |
CN105930384A (zh) | 基于Hadoop体系的传感云数据存储系统及其实现方法 | |
CN108132868A (zh) | 一种数据监控方法、装置、计算设备及存储介质 | |
CN105573711B (zh) | 一种数据缓存方法及装置 | |
CN107704604A (zh) | 一种消息持久化方法、服务器和计算机可读存储介质 | |
CN102169491B (zh) | 一种多数据集中重复记录动态检测方法 | |
CN110969198A (zh) | 深度学习模型的分布式训练方法、装置、设备及存储介质 | |
CN109213758B (zh) | 数据存取方法、装置、设备及计算机可读存储介质 | |
CN110489574A (zh) | 一种多媒体信息推荐方法、装置和相关设备 | |
CN109947729A (zh) | 一种实时数据分析方法及装置 | |
CN109819002B (zh) | 数据推送方法和装置、存储介质及电子装置 | |
CN111126071B (zh) | 提问文本数据的确定方法、装置和客服群的数据处理方法 | |
CN105681199A (zh) | 一种车载总线中报文数据的处理方法及装置 | |
CN104408183B (zh) | 数据系统的数据导入方法和装置 | |
CN103326925A (zh) | 一种消息推送方法及装置 | |
CN105450687B (zh) | 一种标签转换方法、装置及sas存储器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |