一种对实体储存设备进行数据读写的系统及方法

文档序号:6612844阅读:186来源:国知局
专利名称:一种对实体储存设备进行数据读写的系统及方法
技术领域
本发明涉及一种对实体储存设备进行数据读写的系统及方法,尤其涉及一 种由在共享储存环境下的多个控制器对实体储存设备直接进行数据读、写操作 的系统及方法。
背景技术
目前,为了提高系统的可用性和并行处理能力,通常采用多个控制器共享 实际的实体储存设备的方式,客户端通过控制器对实体储存设备进行数据读写 的过程通常有两种实现方式
其一,如图1所示,对于实体储存设备60,在任一时刻有且只有一个控
制器可以对实体储存设备60进行数据读写操作,例如控制器20通过逻辑储 存设备40来对实体储存设备60进行读写操作时,对实体储存设备60而言, 最终的数据读写总是通过控制器20来进行,有些系统中在客户端10看来可以 通过控制器30对另一控制器20的实体储存设备60进行数据读写操作,其实 现的机制是控制器30与控制器20之间由内网连接,当通过控制器30读写控 制器20上的实体储存设备60时,所有的数据传输110在内网中进行,而最终 的实际读写操作还是在逻辑储存设备40所属的控制器20上完成。
其二,如图2所示,采用的是一种类似于负载均衡集群的架构,控制器 20与控制器30分别具有一相应的逻辑储存设备40及逻辑储存设备50,当客 户端10欲对实体储存设备60进行数据读写操作时需要由控制器20与控制器 30前端的一个均衡器70来决定通过哪一个控制器来执行数据传输110及读写 操作,但在任一指定时刻只能通过一个控制器上的逻辑储存设备对实体储存设 备60进行数据的读写操作。
上述现有技术的两种做法虽然可行,但仍然存有一定的缺陷,对于第一种 方式而言,实现这一功能的代价是当数据流量较大时内网上将可能会有巨大的 压力,如果系统的维护对内网依赖性很大(例如控制器20与控制器30之间通过内网传输心跳信号决定对方的状态),将可能导致出现读写操作异常;对于 第二种方式,很显然,需要一个专门负责均衡负载及调度控制器工作的前端均
衡器70,这在硬件和软件上都带来额外的幵销。

发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种对实 体储存设备进行数据读写的系统及方法,由在共享储存环境下的多个控制器以 实现客户端从远程对实体储存设备直接进行数据读、写操作。
本发明所提供的一种对实体储存设备进行数据读写的系统,包含数个控 制器及一实体储存设备,其中各控制器,分别具有一个逻辑储存设备,各控
制器之间通过内网连接(Interlink)进行管理数据及待写入实体储存设备的数 据的快取数据(Cache Data)的传输,并且各控制器通过外部网络与一客户端 相连,客户端在一指定时刻可从远程通过上述各控制器中一指定的控制器对实 体储存设备进行数据读取或写入操作;以及实体储存设备,与各控制器的逻辑 储存设备相连接,并通过逻辑储存设备从上述实体储存设备中读取数据或向实 体储存设备中写入数据。
其中上述管理数据包含执行读、写操作的指定控制器向其它控制器发出 的读、写操作类型信息,和所要读、写的数据块信息,以及其它控制器向其指 定控制器所反馈的其它控制器中是否存在所要读取的数据块的快取数据的信 息。
其中当其它控制器或指定控制器中存在指定控制器所要读取的数据块的 快取数据时,则指定控制器读取其它控制器或指定控制器中的数据块的快取数 据及实体储存设备中已存在的数据块的数据,并传送给客户端;当其它控制器 或指定控制器中存在指定控制器所要写入的数据块的快取数据时,则清除其它 控制器或指定控制器中的数据块的快取数据,并由指定控制器向上述实体储存 设备中写入上述数据块的新数据。
本发明所提供的一种对实体储存设备进行数据读写的方法,包含以下步

客户端于一指定时刻从数个控制器中指定一个控制器作为执行数据读、写 操作的控制器;指定控制器在执行数据读、写操作前,向其它控制器发送包含读、写操作类型信息与所要读、写的数据块信息的管理数据;其它控制器接收 到上述管理数据后,如果其它控制器中存在所要读取的数据块的快取数据,则
向指定控制器反馈其它控制器中存在所要读取的数据块的快取数据的信息;当
其它控制器或指定控制器中存在指定控制器所要读取的数据块的快取数据时,
则指定控制器读取其它控制器或指定控制器中的数据块的快取数据及实体储
存设备中已存在的数据块的数据,并传送给客户端;以及当上述其它控制器或
指定控制器中存在指定控制器所要写入的数据块的快取数据时,则清除其它控
制器或指定控制器中的数据块的快取数据,并由指定控制器向上述实体储存设
备中写入上述数据块的新数据。
其中上述各控制器之间通过内网连接(Interlink)进行数据、信息的传输; 并且各控制器还通过外部网络与远程的客户端相连。
综上所述,本发明的优点在于-
本发明所提供的一种对实体储存设备进行数据读写的系统及方,去,由以内 网相连的多个控制器共享实体储存设备的方式,在控制器前端不必引入负载均 衡器的情况下,来实现多个控制器相互协调、配合对实体储存设备直接进行数 据读、写的操作,且由于各控制器之间通过内网连接所传输的仅为管理数据及 待写入实体储存设备的数据的快取数据,其传输的数据量较小,因而有效地降 低了上述现有技术中在控制器之间通过内网传输数据的压力,大大提高了现有 技术中客户端从远程通过控制器对实体储存设备进行数据读、写的工作效率及 可应用的范围。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1为现有技术的一种对实体储存设备进行数据读写的系统的系统方块
图2为现有技术的另一种对实体储存设备进行数据读写的系统的系统方 块图3为本发明的一种对实体储存设备进行数据读写的系统的系统方块以及图4为本发明的一种对实体储存设备进行数据读写的方法的方法流程图。
其中,附图标记
10 客户端
20 控制器
30 控制器
40、 50 逻辑储存设备
60 实体储存设备
70 均衡器
no数据传输
120管理数据的传输 130快取数据的传输
步骤100客户端在一指定时刻从数个控制器中指定一个控制器作为执 行一数据读、写操作的控制器
步骤101指定控制器在执行读、写操作前,发送包含读、写操作类型信 息与所要读、写的数据块信息的管理数据给其它控制器
步骤102其它控制器接收到上述管理数据后,如果其中存在所要读取的 数据块的快取数据,则向指定控制器反馈一信息
歩骤103判断其它控制器及指定控制器中是否存在所要读、写的数据块 的快取数据
步骤104直接从实体储存设备读取数据或向实体储存设备写入数据 步骤105判断所存在的快取数据是指定控制器所要读取还是写入的数 据块的快取数据
步骤106指定控制器读取其它控制器或指定控制器中数据块的快取数 据及实体储存设备中已存在的数据块的数据,并传送给客户端
步骤107清除其它控制器或指定控制器中的数据块的快取数据,并由指 定控制器向实体储存设备中写入数据块的新数据
具体实施例方式
以下,将结合附图部份对本发明的较佳实施方式作详细说明。
请参考图3,图中表示了本发明的一种对实体储存设备进行数据读写的系统的系统方块图,如图所示,此系统由在共享储存环境下的多个控制器于客户
端10与实体储存设备60之间执行数据传输110以及对实体储存设备60进行 数据读、写操作,其中,将以两个控制器控制器20与控制器30为例来具体 说明本实施方案。
如图所示,控制器20与控制器30分别具有一相应的逻辑储存设备40及 逻辑储存设备50,且控制器20与控制器30之间通过内网连接(Interlink)进 行管理数据的传输120及待写入实体储存设备60的数据的快取数据(Cache Data)的传输130,其中内网连接为以太网络(Ethernet)或串行连接串行计算 机系统接口 (Serial Attached SCSI,简称SAS)的连接方式,且上述管理数据 包含执行读、写操作的控制器20 (假设客户端10于一指定时刻指定控制器 20作为对实体储存设备60进行数据读取或数据写入操作的控制器)向控制器 30发出的读、写操作类型信息(即操作是"读取数据〃 还是〃 写入数据〃 ) 与所要读、写的数据块信息(即具体要对实体储存设备60中的哪一数据块进 行读、写操作)以及控制器30向控制器20所反馈的控制器30中是否存在所 要读取的数据块的快取数据的信息。并且控制器20与控制器30的相应的逻辑 储存设备40及逻辑储存设备50都连接于实体储存设备60,且控制器20可通 过逻辑储存设备40,而控制器30可通过逻辑储存设备50从实体储存设备60 中读取数据或向实体储存设备60中写入数据。
例如在某一时刻tl,客户端10想通过控制器20上的逻辑储存设备40 读取实体储存设备60上的某一段数据Sl,于是控制器20通过内网向控制器 30发送管理数据,此时控制器30中没有所要读取的数据S1的快取数据,所 以控制器30不向控制器20反馈信息,则控制器20在等待一段时间后确认没 有控制器上存在所要读取的数据Sl的快取数据,于是通过逻辑储存设备40 直接从实体储存设备60上读取数据Sl,而后通过外部网络(可为以太网络 (Ethernet)或光纤信道(Fiber Channel)等网络连接方式)传输给远程的客户 端IO。
在tl之后的某一时刻t2,客户端10想通过控制器20上的逻辑储存设备 40向实体储存设备60上写入一段数据S2,于是控制器20通过内网向控制器 30发送管理数据,此时控制器30中没有所要写入的数据S2的快取数据,所 以控制器30没有采取行动向控制器20反馈信息,则控制器20在等待一段时间后通过逻辑储存设备40开始向实体储存设备60写入数据S2。
在t2之后的某一时刻t3,客户端10想通过控制器30上的逻辑储存设备 50读取实体储存设备60上的某一段数据S2,于是控制器30通过内网向控制 器20发送管理数据,假如此时控制器20中还有未来得及写入实体储存设备 60的数据S2的快取数据(即数据S2的部分数据),那么控制器20将通过内 网将此快取数据传输给控制器30,控制器30将这部分数据传输给客户端10, 同时控制器30还将通过其逻辑储存设备50从实体储存设备60中读取控制器 20已经写入实体储存设备60中的数据S2的部分数据,并传输给客户端10。
在t2之后的某一时刻t4,客户端10想通过控制器30上的逻辑储存设备: 50向实体储存设备60中写入一段新的数据S2',这段数据S2'在实体储存设备 60上将覆盖数据S2的内容,于是控制器30'通^i内网向控制器20发送管理数 据,假如此时控制器20中仍还有未来得及写入实体储存设备60的数据S2的 快取数据,那么控制器20中的这部分数据S2的快取数据已经成为过期的旧数 据,则控制器20将会把此部分快取数据清除,而控制器30在等待一段时间后 将通过其逻辑储存设备50开始向实体储存设备60中写入新的数据S2'。
在t4之后的某一时刻t5,客户端10想通过控制器30上的逻辑储存设备 50从实体储存设备60中读取数据S2,,假如此时控制器30上还有未来得及写 入实体储存设备60中的数据S2'的快取数据,那么控制器30先会通过内网发 送管理数据以确定其它控制器上不存在此数据S2,的快取数据,然后控制器30 将通过其逻辑储存设备50读取实体储存设备60中已经存在的数据S2'的部分 数据,并且与控制器30自身的这部分数据S2'的快取数据一同传输给客户端 10。
在t4之后的某一时刻t6,客户端10想通过控制器30上的逻辑储存设备 50向实体储存设备60中写入数据S2",这段数据S2"在实体储存设备60上将 覆盖数据S2'的内容,假如此时控制器30上还有未来得及写入实体储存设备 60的数据S2,的快取数据,而这部分数据S2,的快取数据相对于要写入的新数 据S2"己经成为过期的旧数据,于是控制器30先通过内网向控制器20发送管 理数据以确定其它控制器上不存在相关的快取数据,并且控制器30会将其自 身的这部分数据S2'的快取数据清除,然后在等待一段时间之后通过逻辑储存 设备50向实体储存设备60中写入新的数据S2"。现在请参考图4,此图为本发明的一种对实体储存设备进行数据读写的方 法的方法流程图,如图所示,本发明的一种对实体储存设备进行数据读写的方 法包含以下歩骤
首先,客户端在一指定时刻从数个控制器中指定一个控制器作为执行一数 据读、写操作的控制器(步骤100);指定控制器在执行数据读、写操作前, 发送包含读、写操作类型信息与所要读、写的数据块信息的管理数据给其它控 制器(步骤101);其它控制器接收到上述管理数据后,如果其它控制器中存 在所要读取的数据块的快取数据,则向指定控制器反馈其存在所要读取的数据 块的快取数据的信息(步骤102),其中反馈的信息也可以视为一种管理数据; 判断其它控制器及指定控制器中是否存在所要读、写的数据块的快取数据(步 骤103)';如果不存在,则指定控制器直接从实体储存设备读取数据或向实体 储存设备写入数据(步骤104);如果存在,则判断所存在的快取数据是指定 控制器所要读取还是写入的数据块的快取数据(步骤105);当其它控制器或 指定控制器中存在指定控制器所要读取的数据块的快取数据时,则指定控制器 读取其它控制器或指定控制器中的数据块的快取数据及实体储存设备中已存
在的数据块的数据,并传送给客户端(步骤106);当其它控制器或指定控制
器中存在指定控制器所要写入的数据块的快取数据时,则清除其它控制器或指 定控制器中的数据块的快取数据,并由指定控制器向实体储存设备中写入数据
块的新数据(步骤107)。
其中,还需特别说明的是,本发明的一种对实体储存设备进行数据读写的
方法中,各控制器之间通过内网连接(Interlink)进行上述有关数据、信息的 传输,此内网连接为以太网络(Ethernet)或串行连接串行计算机系统接口 (Serial Attached SCSI,简称SAS)的连接方式。而客户端与各控制器通过外 部网络,例如以太网络(Ethernet)或光纤信道(FiberChannel)等网络连接 方式相连。此外,各控制器从实体储存设备中读取数据或者向实体储存设备中 写入数据通过各控制器中的逻辑储存设备完成。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种对实体储存设备进行数据读写的系统,在共享储存环境下的多个控制器实现客户端从远程对实体储存设备进行数据读、写操作,其特征在于,该系统包含数个控制器及一实体储存设备,其中所述各控制器,分别具有一逻辑储存设备,所述各控制器之间通过内网连接进行管理数据及待写入该实体储存设备的数据的快取数据的传输,并且所述各控制器通过外部网络与一客户端相连,可供客户端在一指定时刻通过所述各控制器中一指定的控制器对该实体储存设备进行数据读取或写入操作;以及该实体储存设备,与所述各控制器的逻辑储存设备相连接,并通过该逻辑储存设备从该实体储存设备中读取数据或向该实体储存设备中写入数据。
2、 根据权利要求1所述的对实体储存设备进行数据读写的系统,其特征 在于,该管理数据包含该执行读、写操作的指定控制器向其它控制器发出的 读、写操作类型信息与所要读、写的数据块信息以及其它控制器向该指定控制 器所反馈的所述其它控制器中是否存在所要读取的数据块的快取数据的信息。
3、 根据权利要求2所述的对实体储存设备进行数据读写的系统,其特征 在于,当所述其它控制器或该指定控制器中存在该指定控制器所要读取的数据 块的快取数据时,该指定控制器读取所述其它控制器或该指定控制器中该数据 块的快取数据及该实体储存设备中己存在的该数据块的数据,并传送给该客户 端。
4、 根据权利要求2所述的对实体储存设备进行数据读写的系统,其特征 在于,当所述其它控制器或该指定控制器中存在该指定控制器所要写入的数据 块的快取数据时,则清除所述其它控制器或该指定控制器中该数据块的快取数 据,并由该指定控制器向该实体储存设备中写入该数据块的新数据。
5、 根据权利要求1所述的对实体储存设备进行数据读写的系统,其特征 在于,该内网连接为以太网络或串行连接串行计算机系统接口的连接方式。
6、 根据权利要求1所述的对实体储存设备进行数据读写的系统,其特征 在于,所述各控制器与该客户端通过以太网络或光纤信道的外部网络连接方式 相连。
7、 一种对实体储存设备进行数据读写的方法,由在共享储存环境下的多个控制器实现客户端从远程对实体储存设备进行数据读、写操作,其特征在于, 该方法包含以下步骤客户端于一指定时刻从数个控制器中指定一控制器作为执行一数据读、写 操作的控制器;该指定控制器在执行该数据读、写操作前,向其它控制器发送包含读、写 操作类型信息与所要读、写的数据块信息的管理数据;所述其它控制器接收到该管理数据后,如果所述其它控制器中存在所要读 取的数据块的快取数据,则向该指定控制器反馈所述其它控制器中存在所要读取的数据块的快取数据的信息;当所述其它控制器或该指定控制器中存在该指定控制器所要读取的数据 块的快取数据时,该指定控制器读取所述其它控制器或该指定控制器中该数据 块的快取数据及该实体储存设备中已存在的该数据块的数据,并传送给该客户端;以及当所述其它控制器或该指定控制器中存在该指定控制器所要写入的数据 块的快取数据时,则清除所述其它控制器或该指定控制器中该数据块的快取数 据,并由该指定控制器向该实体储存设备中写入该数据块的新数据。
8、 根据权利要求7所述的对实体储存设备进行数据读写的方法,其特征 在于,所述各控制器之间通过内网连接进行数据、信息的传输。
9、 根据权利要求8所述的对实体储存设备进行数据读写的方法,其特征在于,该内网连接为以太网络或串行连接串行计算机系统接口的连接方式。
10、 根据权利要求7所述的对实体储存设备进行数据读写的方法,其特征在于,所述各控制器与该客户端通过以太网络或光纤信道的外部网络连接方式 相连。
全文摘要
一种对实体储存设备进行数据读写的系统及方法,由在共享储存环境下的多个控制器以实现客户端从远程对实体储存设备进行数据读、写操作。首先,客户端于一指定时刻从数个控制器中指定一控制器作为执行数据读、写操作的控制器,且各控制器之间通过内网连接(Interlink)进行管理数据及待写入实体储存设备的数据的快取数据(Cache Data)的传输;然后,由指定控制器通过其相应的逻辑储存设备从实体储存设备中读取数据或向实体储存设备中写入数据。
文档编号G06F12/08GK101408834SQ200710163158
公开日2009年4月15日 申请日期2007年10月10日 优先权日2007年10月10日
发明者刘文涵, 庄钦平, 萱 杜, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1